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

一種基于路徑結(jié)構(gòu)的xml數(shù)據(jù)存儲(chǔ)方法

文檔序號(hào):6371355閱讀:237來源:國知局
專利名稱:一種基于路徑結(jié)構(gòu)的xml數(shù)據(jù)存儲(chǔ)方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,特別涉及一種基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法。
背景技術(shù)
隨著現(xiàn)代信息產(chǎn)業(yè)的不斷深入發(fā)展,對于信息的集成和共享的需求也變得日益迫切。XML(全稱Extensible Markup Language), 一種專門為internet而設(shè)計(jì)的一種標(biāo)記語言。XML的重點(diǎn)不在于數(shù)據(jù)的形式本身,而在于管理數(shù)據(jù)信息,因此,XML使得不同數(shù)據(jù)庫模式的統(tǒng)一成為可能,為異構(gòu)數(shù)據(jù)庫的集成問題提供了途徑。因此,XML在近幾年得到了發(fā)展和廣泛的應(yīng)用。XML數(shù)據(jù)庫管理系統(tǒng)(XMLDBMS)也是近年來發(fā)展迅速的一種新型的數(shù)據(jù)庫管理系統(tǒng),它以存儲(chǔ)和檢索符合W3C標(biāo)準(zhǔn)的XML文檔數(shù)據(jù)為目標(biāo)的數(shù)據(jù)庫管理系統(tǒng),并且可以更新 XML文檔。由于它存儲(chǔ)的對象是XML文檔庫,因此XMLDBMS本質(zhì)上就是一種XML文檔庫。同時(shí),XML文檔被用作表達(dá)敘述性文檔(比如電子書,用戶手冊等)本身的內(nèi)容和外觀的格式規(guī)范,比如微軟Office軟件的· docx, . xlsx, . pptx文檔格式以及OpenOffice系統(tǒng)的文檔格式都是基于XML來存儲(chǔ)文檔數(shù)據(jù)和格式的;還有使用標(biāo)準(zhǔn)的XML來表達(dá)網(wǎng)頁內(nèi)容的xhtml。此外很多文檔處理工具也使用XML來作為其統(tǒng)一的數(shù)據(jù)源,比如docbook和doxygen等工具使用符合其內(nèi)部定義的XML文檔標(biāo)準(zhǔn)(由XML Schema定義)的XML文檔作為統(tǒng)一的數(shù)據(jù)源來產(chǎn)生和輸出各種表示方法下的文檔,比如使用同一個(gè)xml文檔數(shù)據(jù)源產(chǎn)生和輸出html,pdf,chm等多種最終文檔格式。如上所述,XML文檔標(biāo)準(zhǔn)的描述方式是XMLSchema 或者 DTD。還有一大類XML文檔是簡單隨意的XML文檔,它們并不遵循任何文檔標(biāo)準(zhǔn),僅僅是符合XML語言標(biāo)準(zhǔn)的。它們存儲(chǔ)的可以是以面向閱讀的文字內(nèi)容為主的文檔內(nèi)容,也可能是以數(shù)值類型為主的數(shù)據(jù)。總之,XML文檔被用作存儲(chǔ)數(shù)據(jù)或者存儲(chǔ)文檔內(nèi)容,它們可以遵循XML Schema/DTD定義的標(biāo)準(zhǔn)規(guī)范,也可能不遵循任何模式和標(biāo)準(zhǔn)的任意的Well Formed XML文檔。并且這些文檔都可能需要被更新。當(dāng)然,相比于查詢的訪問量,更新數(shù)據(jù)這種訪問所占的比重較小,文檔還是以只讀訪問為主的,甚至有些用戶愿意使用只讀的數(shù)據(jù)源,如果這樣可以得到更高的性能的話。在當(dāng)前現(xiàn)實(shí)應(yīng)用中,用戶需要管理的XML文檔數(shù)量巨大,并且大量用戶會(huì)有頻繁地并發(fā)讀寫的需求;另外有的XML文檔非常巨大,單個(gè)文檔可以達(dá)到若干個(gè)GB字節(jié)。這就需要XML數(shù)據(jù)庫管理系統(tǒng)(XMLDBMS)來存儲(chǔ)和檢索以及更新XML文檔,實(shí)現(xiàn)XML數(shù)據(jù)的聞效的,聞并發(fā)的,并且遵循事務(wù)ACID語義的讀與訪問,并且提供聞可用性和聞可擴(kuò)展性。

發(fā)明內(nèi)容
本發(fā)明解決的是現(xiàn)有技術(shù)中XML數(shù)據(jù)庫管理系統(tǒng)查詢和更新數(shù)據(jù)效率低下的問題。為解決上述問題,本發(fā)明技術(shù)方案提供一種基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法包括步驟SI :解析所述XML文檔,以獲取包括所述XML文檔的元素節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的信息;步驟S2 :獲取所述元素節(jié)點(diǎn)的路徑;步驟S3 :將獲取的所述元素節(jié)點(diǎn)的所述路徑插入路徑表中,并在所述路徑表中賦予所述每一條路徑一個(gè)唯一的編號(hào)作為路徑ID ;步驟S4 :將所述路徑ID存儲(chǔ)至所述元素節(jié)點(diǎn)的節(jié)點(diǎn)對象中,并將所述節(jié)點(diǎn)對象存儲(chǔ)至節(jié)點(diǎn)數(shù)據(jù)行中;步驟S5 :在路徑索引表中插入一個(gè)指向所述節(jié)點(diǎn)數(shù)據(jù)行的索引行??蛇x地,所述的步驟SI具體為將所述XML文檔送至XML文檔解析器,以獲取包括 所述XML文檔的元素節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的信息??蛇x地,所述的包括所述XML文檔的元素節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的信息進(jìn)一步包括所述XML文檔的各個(gè)元素節(jié)點(diǎn)及其附屬的子節(jié)點(diǎn)的數(shù)據(jù),以及當(dāng)前元素節(jié)點(diǎn)的名稱和類型在內(nèi)的信息。可選地,所述的元素節(jié)點(diǎn)附屬的子節(jié)點(diǎn)包括屬性節(jié)點(diǎn)、名字空間節(jié)點(diǎn)、文本節(jié)點(diǎn)、注釋節(jié)點(diǎn)和處理指令節(jié)點(diǎn)。可選地,所述的XML文檔解析器采用SAX方式解析所述XML文檔。可選地,所述的步驟S2具體為將所述元素節(jié)點(diǎn)的名稱依次出棧,獲取所述元素節(jié)點(diǎn)的完整路徑,而后再將所述元素節(jié)點(diǎn)的名稱依次入棧??蛇x地,步驟S3進(jìn)一步包括若所述XML文檔具有類型信息,則將所述類型信息與路徑ID —并存儲(chǔ)至節(jié)點(diǎn)數(shù)據(jù)行中。可選地,所述的步驟S4具體為將包括路徑ID、所述元素節(jié)點(diǎn)的附屬子節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的所述元素節(jié)點(diǎn)的所有數(shù)據(jù)序列化為節(jié)點(diǎn)數(shù)據(jù)行,并插入所述節(jié)點(diǎn)數(shù)據(jù)表中??蛇x地,在所述的步驟S5中,所述路徑索引表以所述路徑ID為鍵值,指向所述路徑下的元素節(jié)點(diǎn)。可選地,所述的路徑為字符串,其為由多個(gè)PathSection組成的序列,所述的每個(gè)PathSection包括名字空間字符串ID和本地名稱字符串。本發(fā)明還提供了一種基于權(quán)項(xiàng)I的XML數(shù)據(jù)查詢方法,包括使用所述路徑表的索引找到路徑數(shù)據(jù)行;以路徑ID作為鍵值查找所述路徑表;獲取所述路徑ID下所有元素節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)行;對所述元素節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)行執(zhí)行節(jié)點(diǎn)過濾操作,得到符合查詢條件的最終結(jié)果,并返回給用戶。本發(fā)明還提供了一種基于權(quán)項(xiàng)I的XML數(shù)據(jù)更新方法,包括若一元素節(jié)點(diǎn)改變名稱,則獲取所述元素節(jié)點(diǎn)的新路徑;將獲取的所述元素節(jié)點(diǎn)的所述路徑插入路徑表中,并在所述路徑表中更新路徑ID0如果插入節(jié)點(diǎn)或者替換元素節(jié)點(diǎn)或者屬性節(jié)點(diǎn),那么獲取新節(jié)點(diǎn)的路徑,如果所述新節(jié)點(diǎn)的路徑在路徑表中不存在,則插入所述路徑表中并且得到所述新節(jié)點(diǎn)的路徑ID,并將所述路徑ID設(shè)置到插入節(jié)點(diǎn)對象中,以在存儲(chǔ)節(jié)點(diǎn)數(shù)據(jù)時(shí)將所述路徑ID存儲(chǔ)至節(jié)點(diǎn)數(shù)據(jù)行中。與現(xiàn)有技術(shù)相比,上述技術(shù)方案具有下優(yōu)點(diǎn)由于在現(xiàn)有技術(shù)的基礎(chǔ)上,本發(fā)明的一種基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法和裝置,利用路徑信息實(shí)現(xiàn)獨(dú)特的節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)方案,可以實(shí)現(xiàn)高效的數(shù)據(jù)查詢和更新操作,更加的高效、可靠,可用性和可擴(kuò)展性顯著提高。本發(fā)明的技術(shù)方案的應(yīng)用,不涉及XML數(shù)據(jù)的查詢和更新路徑的長短以及XML文檔自身的復(fù)雜性,在任何情況下,路徑查詢的代價(jià)恒定,因此,對于結(jié)構(gòu)復(fù)雜的XML文檔和具有較長路徑的XQuery查詢可以顯著提高查詢性能。同時(shí),由于將XML文檔的元數(shù)據(jù)獨(dú)立地進(jìn)行存儲(chǔ),避免了節(jié)點(diǎn)名稱上的重復(fù),在數(shù)據(jù)量非常巨大的數(shù)據(jù)庫管理應(yīng)用例中,可以顯 著地提高數(shù)據(jù)查詢和更新性能。


圖I是本發(fā)明實(shí)施方式的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法的流程圖;圖2是本發(fā)明實(shí)施方式的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法所涉及的數(shù)據(jù)表和期間關(guān)系不意圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖對本發(fā)明的具體實(shí)施方式
做詳細(xì)的說明。在以下描述中闡述了具體細(xì)節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以多種不同于在此描述的其它方式來實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣。因此本發(fā)明不受下面公開的具體實(shí)施方式
的限制。為解決現(xiàn)有技術(shù)中的問題,本發(fā)明的發(fā)明人經(jīng)過研究,提出了一種基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法。參閱圖I和圖2,圖I是本發(fā)明實(shí)施方式的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法的流程圖。圖2是根據(jù)本發(fā)明的存儲(chǔ)方法所涉及的數(shù)據(jù)表和期間關(guān)系示意圖。所述基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法包括步驟SI :解析所述XML文檔,以獲取包括所述XML文檔的元素節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的所
有信息;步驟S2 :獲取所述元素節(jié)點(diǎn)的路徑;步驟S3 :將獲取的所述元素節(jié)點(diǎn)的所述路徑插入路徑表中,并在所述路徑表中賦予所述路徑一個(gè)唯一的編號(hào)作為路徑ID ;步驟S4 :將所述路徑ID存儲(chǔ)至所述元素節(jié)點(diǎn)的節(jié)點(diǎn)對象中,并將所述節(jié)點(diǎn)對象存儲(chǔ)至節(jié)點(diǎn)數(shù)據(jù)行中;步驟S5 :在路徑索引表中插入一個(gè)指向所述節(jié)點(diǎn)數(shù)據(jù)行的索引行。我們知道,XML數(shù)據(jù)庫管理系統(tǒng)(XMLDBMS)中存儲(chǔ)的對象是XML文檔,其中的用于存儲(chǔ)XML文檔的實(shí)體稱為容器,各個(gè)容器中可存儲(chǔ)任意數(shù)量的XML文檔的數(shù)據(jù),而每個(gè)容器則由若干數(shù)據(jù)表組成,這些數(shù)據(jù)表分別用于存儲(chǔ)XML文檔的各方面的數(shù)據(jù)和結(jié)構(gòu)信息,包括但不限于節(jié)點(diǎn)數(shù)據(jù),節(jié)點(diǎn)間關(guān)系,路徑數(shù)據(jù),各種索引,各種統(tǒng)計(jì)信息。而數(shù)據(jù)表則是由若干數(shù)據(jù)行組成,數(shù)據(jù)行則是實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的基本單位。通常情況下,數(shù)據(jù)行都會(huì)對應(yīng)有索弓I,通過這些索引可以實(shí)現(xiàn)快速查找特定數(shù)據(jù)行的目標(biāo)。XML文檔內(nèi)容被作為節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)在一個(gè)節(jié)點(diǎn)表中,在XDM的7種節(jié)點(diǎn)中,把屬性節(jié)點(diǎn),名字空間節(jié)點(diǎn),文本節(jié)點(diǎn),注釋節(jié)點(diǎn)和處理指令節(jié)點(diǎn)都存放在它們的父親節(jié)點(diǎn)(必然是元素節(jié)點(diǎn))中,因此節(jié)點(diǎn)表中只存儲(chǔ)元素節(jié)點(diǎn)和文檔節(jié)點(diǎn)。文檔節(jié)點(diǎn)存儲(chǔ)一個(gè)XML文檔的元數(shù)據(jù)信息,而文檔的內(nèi)容則存儲(chǔ)在這個(gè)文檔的所有的元素節(jié)點(diǎn)中。XML文檔中元素節(jié)點(diǎn)構(gòu)成一個(gè)節(jié)點(diǎn)樹,所以節(jié)點(diǎn)之間的父子關(guān)系,兄弟關(guān)系這些結(jié)構(gòu)信息也需要以某種方式存儲(chǔ)起來,本方案在一個(gè)元素節(jié)點(diǎn)數(shù)據(jù)行中存儲(chǔ)其父節(jié)點(diǎn)ID,第一個(gè)子節(jié)點(diǎn)ID,前一個(gè)和后一個(gè)兄弟節(jié)點(diǎn)ID,這樣就可以把整個(gè)節(jié)點(diǎn)樹的結(jié)構(gòu)信息存儲(chǔ)起來。一個(gè)元素節(jié)點(diǎn)的路徑就是從一個(gè)XML文檔的根元素節(jié)點(diǎn)出發(fā)依次經(jīng)歷若干級節(jié)點(diǎn)而到達(dá)這個(gè)元素節(jié)點(diǎn)所經(jīng)過的元素節(jié)點(diǎn)名稱的序列。XML數(shù)據(jù)存儲(chǔ)方案要支持高效的數(shù)據(jù)查詢和更新操作,這是存儲(chǔ)方案設(shè)計(jì)的目標(biāo)。為了能夠很好地支持XQuery的路徑查詢,維護(hù)XML文檔的元素節(jié)點(diǎn)的路徑信息。 下面以下述的簡單的XML文檔為例詳細(xì)說明本發(fā)明實(shí)施方式的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法。XML 文檔為<a><b attr=” value” ><c>ccc 1</c><c>ccc2〈/c></b></a>。本發(fā)明的具體實(shí)施方式
的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,采用以下的方式存儲(chǔ)上述的XML文檔數(shù)據(jù)步驟SI :解析所述XML文檔,以獲取包括所述XML文檔的元素節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的所
有信息;其中,優(yōu)選地,在本發(fā)明的一個(gè)優(yōu)選的實(shí)施方式中,為了得到解析XML文檔,首先,將XML文檔送入XML文檔解析器中,XML文檔解析器采用SAX方式解析XML文檔,通過XML文檔解析器的事件通知機(jī)制,可以得到XML文檔的各個(gè)元素節(jié)點(diǎn)及其附屬的五種子節(jié)點(diǎn)(包括屬性節(jié)點(diǎn),名字空間節(jié)點(diǎn),文本節(jié)點(diǎn),注釋節(jié)點(diǎn),處理指令節(jié)點(diǎn))的數(shù)據(jù),以及當(dāng)前元素節(jié)點(diǎn)的名稱和類型等信息。步驟S2 :獲取所述元素節(jié)點(diǎn)的路徑;其中,優(yōu)選地,在本發(fā)明的一個(gè)優(yōu)選的實(shí)施方式中,采用以下的方式來獲取元素節(jié)點(diǎn)的路徑,即首先將堆棧中的元素節(jié)點(diǎn)名稱依次出棧,即可得到當(dāng)前的元素節(jié)點(diǎn)的路徑字符串,然后再將元素節(jié)點(diǎn)的名稱依次入棧。由于XML元素節(jié)點(diǎn)的樹型組織方式,在元素節(jié)點(diǎn)的所有子節(jié)點(diǎn)被處理完之前,不會(huì)得到該元素節(jié)點(diǎn)結(jié)束的事件通知。因此,可以采用上述的方式獲取XML文檔中的各個(gè)元素節(jié)點(diǎn)完整的路徑字符串。以上述的XML文檔為例,文檔中的名稱為“c”的兩個(gè)元素節(jié)點(diǎn),通過上述的操作,可以得到他們的完整的路徑字符串為“/a/b/c”。
步驟S3 :將獲取的所述元素節(jié)點(diǎn)的所述路徑插入路徑表中,并在所述路徑表中賦予所述路徑一個(gè)唯一的編號(hào)作為路徑ID ;同時(shí),若XML文檔同時(shí)具有類型信息的話,那么應(yīng)當(dāng)將所述類型信息與路徑ID —起存儲(chǔ)至節(jié)點(diǎn)數(shù)據(jù)行中。以上述的XML文檔為例,可以得到下述表I所示的路徑表表I
權(quán)利要求
1.一種基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括 步驟SI :解析所述XML文檔,以獲取包括所述XML文檔的元素節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的信息; 步驟S2 :獲取所述元素節(jié)點(diǎn)的路徑; 步驟S3 :將獲取的所述元素節(jié)點(diǎn)的所述路徑插入路徑表中,并在所述路徑表中賦予所述每一條路徑一個(gè)唯一的編號(hào)作為路徑ID ; 步驟S4 :將所述路徑ID存儲(chǔ)至所述元素節(jié)點(diǎn)的節(jié)點(diǎn)對象中,并將所述節(jié)點(diǎn)對象存儲(chǔ)至節(jié)點(diǎn)數(shù)據(jù)行中; 步驟S5 :在路徑索引表中插入一個(gè)指向所述節(jié)點(diǎn)數(shù)據(jù)行的索引行。
2.如權(quán)利要求I所述的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述的步驟SI具體為將所述XML文檔送至XML文檔解析器,以獲取包括所述XML文檔的元素節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的信息。
3.如權(quán)利要求2所述的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述的包括所述XML文檔的元素節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的信息進(jìn)一步包括所述XML文檔的各個(gè)元素節(jié)點(diǎn)及其附屬的子節(jié)點(diǎn)的數(shù)據(jù),以及當(dāng)前元素節(jié)點(diǎn)的名稱和類型在內(nèi)的信息。
4.如權(quán)利要求3所述的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述的元素節(jié)點(diǎn)附屬的子節(jié)點(diǎn)包括屬性節(jié)點(diǎn)、名字空間節(jié)點(diǎn)、文本節(jié)點(diǎn)、注釋節(jié)點(diǎn)和處理指令節(jié)點(diǎn)。
5.如權(quán)利要求2所述的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述的XML文檔解析器采用SAX方式解析所述XML文檔。
6.如權(quán)利要求I所述的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述的步驟S2具體為將所述元素節(jié)點(diǎn)的名稱依次出棧,獲取所述元素節(jié)點(diǎn)的完整路徑,而后再將所述元素節(jié)點(diǎn)的名稱依次入棧。
7.如權(quán)利要求I所述的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,其特征在于,步驟S3進(jìn)一步包括若所述XML文檔具有類型信息,則將所述類型信息與路徑ID —并存儲(chǔ)至節(jié)點(diǎn)數(shù)據(jù)行中。
8.如權(quán)利要求3所述的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述的步驟S4具體為將包括路徑ID、所述元素節(jié)點(diǎn)的附屬子節(jié)點(diǎn)數(shù)據(jù)在內(nèi)的所述元素節(jié)點(diǎn)的所有數(shù)據(jù)序列化為節(jié)點(diǎn)數(shù)據(jù)行,并插入所述節(jié)點(diǎn)數(shù)據(jù)表中。
9.如權(quán)利要求I所述的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,其特征在于,在所述的步驟S5中,所述路徑索引表以所述路徑ID為鍵值,指向所述路徑下的元素節(jié)點(diǎn)。
10.如權(quán)利要求I或6所述的基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述的路徑為字符串,其為由多個(gè)PathSection組成的序列,所述的每個(gè)PathSection包括名字空間字符串ID和本地名稱字符串。
11.一種基于權(quán)項(xiàng)I的XML數(shù)據(jù)查詢方法,其特征在于,包括 使用所述路徑表的索引找到路徑數(shù)據(jù)行; 以路徑ID作為鍵值查找所述路徑表; 獲取所述路徑ID下所有元素節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)行; 對所述元素節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)行執(zhí)行節(jié)點(diǎn)過濾操作,得到符合查詢條件的最終結(jié)果,并返回給用戶。
12.一種基于權(quán)項(xiàng)I的XML數(shù)據(jù)更新方法,其特征在于,包括若一元素節(jié)點(diǎn)改變名稱,則獲取所述 元素節(jié)點(diǎn)的新路徑;將獲取的所述元素節(jié)點(diǎn)的所述路徑插入路徑表中,并在所述路徑表中更新路徑ID ;如果插入節(jié)點(diǎn)或者替換元素節(jié)點(diǎn)或者屬性節(jié)點(diǎn),那么獲取新節(jié)點(diǎn)的路徑,如果所述新節(jié)點(diǎn)的路徑在路徑表中不存在,則插入所述路徑表中并且得到所述新節(jié)點(diǎn)的路徑ID,并將所述路徑ID設(shè)置到插入節(jié)點(diǎn)對象中,以在存儲(chǔ)節(jié)點(diǎn)數(shù)據(jù)時(shí)將所述路徑ID存儲(chǔ)至節(jié)點(diǎn)數(shù)據(jù)行中。
全文摘要
本發(fā)明提供了一種基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法,與現(xiàn)有技術(shù)相比,上述技術(shù)方案具有下優(yōu)點(diǎn)由于在現(xiàn)有技術(shù)的基礎(chǔ)上,本發(fā)明的一種基于路徑結(jié)構(gòu)的XML數(shù)據(jù)存儲(chǔ)方法和裝置,利用路徑信息實(shí)現(xiàn)獨(dú)特的節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)方案,可以實(shí)現(xiàn)高效的數(shù)據(jù)查詢和更新操作,更加的高效、可靠,可用性和可擴(kuò)展性顯著提高。本發(fā)明的技術(shù)方案的應(yīng)用,不涉及XML數(shù)據(jù)的查詢和更新路徑的長短以及XML文檔自身的復(fù)雜性,在任何情況下,路徑查詢的代價(jià)恒定,因此,對于結(jié)構(gòu)復(fù)雜的XML文檔和具有較長路徑的XQuery查詢可以顯著提高查詢性能。同時(shí),由于將XML文檔的元數(shù)據(jù)獨(dú)立地進(jìn)行存儲(chǔ),避免了節(jié)點(diǎn)名稱上的重復(fù),在數(shù)據(jù)量非常巨大的數(shù)據(jù)庫管理應(yīng)用例中,可以顯著地提高數(shù)據(jù)查詢和更新性能。
文檔編號(hào)G06F17/30GK102768674SQ201210193948
公開日2012年11月7日 申請日期2012年6月12日 優(yōu)先權(quán)日2012年6月12日
發(fā)明者孫偉豐, 李書淦, 李泉, 李 浩, 程仁波, 羅正海, 趙偉, 鄭程光 申請人:上海方正數(shù)字出版技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
贡嘎县| 怀来县| 卓资县| 莱芜市| 宜都市| 金阳县| 安泽县| 翁源县| 宜宾县| 南宫市| 奉节县| 嵩明县| 光山县| 于都县| 昌平区| 江西省| 紫阳县| 类乌齐县| 米脂县| 北流市| 彭山县| 随州市| 柳河县| 开封市| 玉龙| 甘孜| 寻乌县| 凤庆县| 丰镇市| 阜南县| 渭南市| 延安市| 遵义市| 华安县| 清远市| 化德县| 莆田市| 太康县| 千阳县| 建湖县| 武清区|