两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種xml文檔索引結(jié)構(gòu)的制作方法

文檔序號:6604406閱讀:201來源:國知局
專利名稱:一種xml文檔索引結(jié)構(gòu)的制作方法
技術(shù)領域
本發(fā)明涉及一種XML文檔二級索引結(jié)構(gòu),屬于數(shù)據(jù)檢索領域。
背景技術(shù)
自1998年誕生以來,XML文檔現(xiàn)廣泛應用于互聯(lián)網(wǎng),數(shù)據(jù)庫等領域,已經(jīng)成為互聯(lián) 網(wǎng)上數(shù)據(jù)交換和集成的語言標準。隨著XML文檔的大量涌現(xiàn),如何快速的從大規(guī)模XML文 檔中尋找出滿足用戶需求的信息成為信息檢索以及數(shù)據(jù)庫領域的一個研究熱點。XML信息檢索可分為兩大類關鍵詞檢索和“關鍵詞+結(jié)構(gòu)”檢索。由W3C頒布的 XML檢索標準XPath和XQuery是“關鍵詞+結(jié)構(gòu)”檢索的代表,“關鍵詞+結(jié)構(gòu)”檢索在為 用戶準確表達其查詢需求方面提供了有效的描述手段,從而能獲得高質(zhì)量的查詢結(jié)果。但 是“關鍵詞+結(jié)構(gòu)”檢索要求用戶掌握相關的查詢語言,并且對XML文檔的結(jié)構(gòu)信息有所了 解,從而限制了這種檢索方式在實際中的應用范圍。為了提供對XML數(shù)據(jù)庫的查詢支持,面 向XML數(shù)據(jù)庫的查詢語言XQL也被應用在許多XML數(shù)據(jù)庫中。無論是XPath和XQuery,還 是XQL,都要求用戶知道文檔的內(nèi)部結(jié)構(gòu)并且需要熟悉這些查詢語言的基本語法,這對于普 通用戶來說是不能接受的也是沒有必要的。關鍵詞檢索一種經(jīng)過實踐證明且取得巨大成功的檢索方式,是在傳統(tǒng)搜索引擎中 被廣泛采用的檢索手段。在傳統(tǒng)搜索引擎的影響下,普通互聯(lián)網(wǎng)用戶現(xiàn)在已經(jīng)習慣于關鍵 詞檢索方式,因為關鍵詞檢索簡單易用,能迅速被普通用戶所掌握。因此,XML關鍵詞檢索 比“關鍵詞+結(jié)構(gòu)”檢索更具有現(xiàn)實應用意義。XML關鍵詞檢索也因此成為了 XML信息檢索 領域的研究重點。XML關鍵詞檢索即用戶以關鍵詞作為表達查詢的手段對XML文檔(集)進行檢索 的模式。由于XML文檔是包含層次結(jié)構(gòu)信息的,而關鍵詞檢索只能模糊的表達用戶的查詢 語義,如何通過關鍵詞檢索,充分利用XML文檔內(nèi)部的結(jié)構(gòu)信息,來為用戶提供精確的檢索 服務就是一件非常有現(xiàn)實意義且具有極大挑戰(zhàn)性的事情。目前,在XML關鍵詞檢索中一個比較的核心的問題是,如何有效保存XML文檔中 的層次結(jié)構(gòu)信息到索引系統(tǒng)中,使索引系統(tǒng)具有較高的空間效率并且能支持高效的檢索算 法。一種常見的方法是對XML文檔中的XML元素進行編碼,并且建立從關鍵詞到元素的倒 排索引,Dewey編碼是目前最流行且較為高效的一種XML元素編碼方法,Dewey編碼把XML 文檔看成一顆有序樹,杜威編碼的定義如下T為一個XML文檔對應的有序樹,且R為樹T的根,對于樹中任意節(jié)點N,其兒子節(jié) 點分別為N1, N2. . . Nn,那么對T中節(jié)點進行杜威編碼的方法為(I)R的杜威編碼為0。(2)對于節(jié)點N的子節(jié)點從左至右依次為N1, N2. . . Nn,若其父節(jié)點的杜威編碼為M, 則這η個子節(jié)點的杜威編碼分別為Μ. 0,Μ. 1,Μ. 2. . . Μ. η。(Μ. i,“. ”是一個編碼分隔符)。(3)按照規(guī)則(1) (2)對T中節(jié)點遞歸編碼,直至把所有節(jié)點編碼完畢。附圖2是對附圖1中的XML文檔中元素進行編碼后對應的有序樹,在附圖2中,〈Proceedings〉是樹中的根節(jié)點,因此其Dewey編碼為‘O’,<paper>節(jié)點是〈Proceedings〉 的子節(jié)點,根據(jù)Dewey編碼定義中的規(guī)則(2),左邊〈paper〉節(jié)點的編號為‘0. 0’,右邊 〈paper〉節(jié)點的編號則為‘0. 1’。根據(jù)類似的規(guī)則,〈institution〉節(jié)點為〈paper〉(0. 0)節(jié) 點的第二個子節(jié)點,因此其編碼為‘0. 0. 1,,〈authors〉節(jié)點為〈paper〉(0. 1)節(jié)點的第二個 子節(jié)點,因此其編碼為‘0.1.1’。
Dewey編碼是一種能有效保存XML文檔內(nèi)部結(jié)構(gòu)的編碼方法。它采取了局部編碼 策略,通過重復保存父節(jié)點的編碼信息從而達到保存樹的層次結(jié)構(gòu)信息的目的。通過這種 重復保存父節(jié)點編碼的方式來保存XML文檔的層次結(jié)構(gòu)信息給Dewey編碼帶來了兩個潛在 的不足。首先,Dewey編碼可能導致索引空間的冗余。由于Dewey編碼通過重復保存父 節(jié)點的編碼來實現(xiàn)對XML文檔層次結(jié)構(gòu)的保存,這種重復保存直接導致的一個事實是 節(jié)點Dewey編碼的長度與節(jié)點在對應有序樹中的深度成正比。例如,在附圖2中,節(jié)點 〈institution〉的深度為3,其Dewey編碼‘0. 0. 1,的長度也為3,而“Yu Xu”所在節(jié)點的深 度為6,其Dewey編碼‘0.0. 11.0.0’的長度也為6。這也說明了 Dewey編碼的空間效率會 隨著XML文檔內(nèi)元素平均深度的增加而下降。如果一個XML文檔有N個元素(節(jié)點),節(jié)點 的平均深度為L,那么Dewey編碼的空間效率為0 (NL)。其次,Dewey編碼可能導致關鍵詞檢索算法的效率低下。比較兩個Dewey編碼的 大小操作的時間復雜度為O(N),N為Dewey編碼的長度。而比較操作是很多XML關鍵詞檢 索算法的原子操作(比如棧算法,Scan Eager等),對于大規(guī)模的XML文檔集,這種O(N)級 別的原子操作將嚴重影響檢索算法的性能?;贒ewey編碼的倒排索引技術(shù)是目前XML檢索中應用比較成熟,也是應用最廣 泛的一種索引技術(shù)。Dewey倒排索引是以杜威編碼為基礎的一種倒排索引技術(shù),其主要數(shù) 據(jù)結(jié)構(gòu)為有序詞典和杜威倒排表,有序詞典用于存儲XML文檔出現(xiàn)的關鍵詞,而對每一個 關鍵詞,都對應一個Dewey倒排表,用于存儲該關鍵詞所在元素的基本信息,比如元素的 Dewey編碼,元素的長度等。附圖3是Dewey倒排表的一個例子,圖中左側(cè)的列表為關鍵詞詞典,一共包括η 個關鍵詞,右側(cè)為每個關鍵詞對應的倒排表,倒排表中存儲的信息包括關鍵詞所在元素的 Dewey編碼,XML文檔的URL地址,以及該元素的長度?;贒ewey編碼的倒排索引雖然是一種比較高效的索引結(jié)構(gòu),但是它容易帶來的 一個問題就是索引空間冗余。由于它是建立在XML元素的粒度上,在一篇文檔中,包含某個 關鍵詞的元素有很多。對于一個關鍵詞K,假定在文檔D中有N個不同元素包含K,假定關 鍵詞對應的普通文本屬性長為L1,關鍵詞對應的半結(jié)構(gòu)文本屬性長為L2,那么存儲關鍵詞K 的索引所需空間為(LJL2)^N15事實上,關鍵詞對應的普通文本屬性,在這N條索引記錄中 都是一樣的,因為這N個元素都屬于同一個XML文檔,也就是說,對于關鍵詞的普通文本屬 性,重復存儲了 N-I次,使索引空間增加了 L1MN-I)的空間代價。Dewey倒排索引還容易導致的一個問題是使檢索算法處理無效的元素。XML關鍵 詞檢索的一個基本條件是,關鍵詞所得結(jié)果包含用戶所有的關鍵詞,由于XML元素返回的 是XML元素,也就是以XML元素為根的子樹應該包含所有的關鍵詞。在XML文檔集中,當用 戶提交一個查詢時,有很定文檔只包含這個查詢中的部分關鍵詞,那么,這些文檔里面的元素肯定也不會包含所有關鍵詞,由于Dewey倒排索引建立在元素的粒度上,這些文檔中的 元素也都會被檢索算法進行處理,而對這些元素的處理是沒有意義的,因此Dewey倒排編 碼可能導致檢索算法處理很多的無效元素。

發(fā)明內(nèi)容
為解決基于Dewey編碼索引空間效率不高以及可能導致檢索算法時間效率 低下的問題,本發(fā)明提出一種新的XML元素編碼方式LAF(Layer order And Father numbering)編碼,LAF編碼的長度與元素在XML樹中的深度無關。在LAF編碼的基礎上, 本發(fā)明提出了一種新的索引結(jié)構(gòu),即基于LAF編碼的二級索引,二級索引充分考慮XML文檔 的二重屬性(指XML文檔既具備普通文本文檔的屬性,同時也具備半結(jié)構(gòu)化文檔的結(jié)構(gòu)特 性。普通文本屬性指一股文檔共有的屬性,比如文本的地址,文本的長度,文本的類型等。 半結(jié)構(gòu)文檔屬性指半結(jié)構(gòu)文檔特有的屬性,比如元素的Dewey編碼,LAF編碼,元素的長度 等),將XML文檔兩種不同屬性分別存儲在不同級別的索引中,通過指針將這兩級索引關聯(lián) 起來。LAF 編碼是 Level order And Father numbering 的縮寫。與 Dewey 編碼不同的 是,LAF編碼基于一種全局的編碼策略,即樹的層次遍歷(即寬度優(yōu)先遍歷)。層次遍歷使 XML樹中每一個節(jié)點都有唯一的層次遍歷序號。
LAF編碼定義對于一顆XML樹中的節(jié)點,其LAF編碼由三部分組成節(jié)點的層次 遍歷序號;其父節(jié)點的層次遍歷序號;該節(jié)點所在的深度。由于根節(jié)點無父節(jié)點,其父節(jié)點的層次遍歷序號設為-1。與Dewey編碼類似,LAF編碼可以采用長為3的向量來存儲,分別表示LAF編碼的 3個部分。為了方便閱讀,將LAF編碼表示成如下形式,LAF編碼的3個部分用‘.,分隔開節(jié)點層次遍歷序號.父節(jié)點層次遍歷序號.節(jié)點的深度本發(fā)明提出基于LAF編碼的二級索引結(jié)構(gòu),這是一種新型的XML索引結(jié)構(gòu),如圖5 所示,在該索引結(jié)構(gòu)中,XML文檔的普通文本屬性被存儲在第一級索引中,而半結(jié)構(gòu)屬性被 存儲在第二級中,兩級索引間通過指針關聯(lián)起來。二級索引除了關鍵詞詞典外,倒排索引由兩部分組成,即存儲普通文本屬性的第 一級索引和存儲半結(jié)構(gòu)屬性的第二級索引。第一級索引存儲的信息包括文檔號,文檔URL 地址,XML元素的層次遍歷序號列表等。第二級索引存儲每個XML文檔對應的LAF表。LAF表指的是,一篇XML文檔中所有的LAF編碼按照層次遍歷序號從小到大組成的 有序編碼集合。每一篇XML文檔對應唯一的LAF編碼表。本發(fā)明提出的基于LAF編碼的XML文檔二級索引技術(shù),不僅能避免傳統(tǒng)索引方法 可能帶來的冗余問題,同時也能支持較為高效的檢索算法,減少檢索算法對無效元素的處理。


圖1是XML文檔示例;圖2是Dewey編碼示例;圖3是Dewey倒排索引;
圖4是樹的層次遍歷示例;圖5是基于LAF編碼二層索引結(jié)構(gòu);圖6是一個LAF編碼示例;圖7是一個LAF表示例;圖8是一個二級索引示例;
具體實施例方式下面通過實例對本發(fā)明做進一步的說明,但是需要注意的是,公布實施例的目的 在于幫助進一步理解本發(fā)明,但是本領域的技術(shù)人員可以理解在不脫離本發(fā)明及所附的 權(quán)利要求的精神和范圍內(nèi),各種替換和修改都是可 能的。因此,本發(fā)明不應局限于實施例所 公開的內(nèi)容,本發(fā)明要求保護的范圍以權(quán)利要求書界定的范圍為準。圖4給出了一個層次遍歷樹的例子,其層次遍歷結(jié)果為A,B, C,D,E,F(xiàn),G,H,I,J, 他們對應的層次遍歷序號依次為0,1,2,3,4,5,6,7,8,9。圖1中XML文檔使用LAF編碼的結(jié)果如附圖6所示。對于根節(jié)點〈Proceedings〉,其 層次遍歷序號為0,其父節(jié)點的層次遍歷序號為-1,其深度為1,因此其LAF編碼為0. -1. 1, 而〈institution〉節(jié)點的層次遍歷序號為4,其父節(jié)點〈paper〉的層次遍歷序號為1,它的 深度為3,因此,其LAF編碼為4. 1. 3。同理可知其他各節(jié)點的LAF編碼。對于附圖4中的XML樹,其對應的LAF表如附圖7所示。在該樹中,一共有10個 不同的節(jié)點,對應XML文檔中10個不同的元素,每一個XML元素對應一個LAF編碼,因此, 在該LAF表中一共有10個不同的LAF編碼。每一個LAF編碼被存儲成一個長度為3的一 維向量。附圖8是二層索引的一個簡單示例。假定附圖1中XML文檔的編號為1000,地址 為http //xxx,從附圖5可以得知,包含關鍵詞Yu的不同元素的層次遍歷序號為16,19和 21,而包含關鍵詞Yarmis的元素的不同元素的層次遍歷序號為12,20和22。因此,Yu對 應的一層索引的層序編碼列表為16,19和21,而Yarmis對應的層序編碼列表為12,20和 22。層序編碼列表中的層次遍歷序號分別唯一對于應二層索引LAF表中的LAF編碼。比如 12對應的LAF編碼為12. 5. 3,而21對應的LAF編碼為21. 17. 5。
權(quán)利要求
一種XML元素的編碼方式,該編碼取名為LAF編碼,其特征在于,所述的LAF編碼由三部分組成1)節(jié)點的層次遍歷序號2)節(jié)點的父節(jié)點的層次遍歷序號3)節(jié)點在XML文檔樹中的深度。
2.如權(quán)利要求1所述的編碼方式,其特征在于,用長度為3的向量存儲XML元素的LAF 編碼,格式為節(jié)點層次遍歷序號.父節(jié)點層次遍歷序號.節(jié)點的深度。
3.—種XML文檔的索引結(jié)構(gòu),該索引結(jié)構(gòu)由關鍵詞詞典和倒排索引組成,其特征在于, 所述倒排索引由兩部分組成第一級索引存儲XML文檔的普通文本屬性,第二級索引存儲 每個XML文檔對應的LAF表;所述的LAF表指的是一篇XML文檔中所有的LAF編碼按照層 次遍歷序號從小到大組成的有序編碼集合。
4.如權(quán)利要求3所述的索引結(jié)構(gòu),其特征在于,所述的第一級索引和第二級索引通過 指針關聯(lián)。
5.如權(quán)利要求3所述的索引結(jié)構(gòu),其特征在于,第一級索引存儲XML文檔的普通文本屬 性包括文檔號、文檔的URL地址、XML元素的層次遍歷序號列表。
全文摘要
本發(fā)明公布了一種新的XML文檔的索引結(jié)構(gòu),屬于數(shù)據(jù)檢索領域。對于XML文檔中的節(jié)點,定義其LAF編碼由三部分組成節(jié)點的層次遍歷序號、其父節(jié)點的層次遍歷序號、該節(jié)點所在的深度。進而提出基于LAF編碼的二級索引結(jié)構(gòu),在該索引結(jié)構(gòu)中,XML文檔的普通文本屬性被存儲在第一級索引中,而半結(jié)構(gòu)屬性被存儲在第二級中,兩級索引間通過指針關聯(lián)起來。本發(fā)明提出這種二級索引技術(shù),不僅能避免傳統(tǒng)索引方法可能帶來的冗余問題,同時也能支持較為高效的檢索算法,減少檢索算法對無效元素的處理。
文檔編號G06F17/30GK101833588SQ201010204388
公開日2010年9月15日 申請日期2010年6月21日 優(yōu)先權(quán)日2010年6月21日
發(fā)明者向永清, 鄧志鴻 申請人:北京大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
德兴市| 清苑县| 淮南市| 凌海市| 平乐县| 荣成市| 榆林市| 乾安县| 贺兰县| 宜城市| 金山区| 茶陵县| 凌源市| 古蔺县| 满城县| 分宜县| 达孜县| 平邑县| 浮山县| 五大连池市| 呈贡县| 富民县| 宁国市| 会泽县| 兴化市| 巨鹿县| 观塘区| 富裕县| 河西区| 凤台县| 张掖市| 栖霞市| 四平市| 磴口县| 平凉市| 渝中区| 吐鲁番市| 维西| 萨嘎县| 广平县| 化隆|