国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

GML空間數(shù)據(jù)原生模式存儲研究

2012-08-06 12:51:32王衛(wèi)紅陳建華
關(guān)鍵詞:存儲管理數(shù)據(jù)庫系統(tǒng)空間數(shù)據(jù)

王衛(wèi)紅 陳建華

1 成都理工大學(xué)地球科學(xué)學(xué)院 四川 610059

2 成都理工大學(xué)地球物理學(xué)院 四川 610059

0 引言

從國內(nèi)外研究進展來看,原生數(shù)據(jù)庫環(huán)境下GML空間數(shù)據(jù)管理機制的研究還處于非系統(tǒng)化、非全面化、非應(yīng)用化的部分內(nèi)容研究、初始研究階段。對原生模式GML空間數(shù)據(jù)管理機制系統(tǒng)、全面的研究還需深入、具體的開展。本文借鑒XML數(shù)據(jù)管理機制思想,提出了一種基于原生XML數(shù)據(jù)庫的原生GML空間數(shù)據(jù)存儲模型;提出了一種原生GML空間數(shù)據(jù)庫系統(tǒng)架構(gòu)體系,為原生GML空間數(shù)據(jù)庫存儲機制提供了一種方法。

1 GML空間數(shù)據(jù)存儲模型

原生XML數(shù)據(jù)庫的基本(邏輯)存儲單元是XML文檔,正如同關(guān)系數(shù)據(jù)庫中的基本(邏輯)存儲單元是二維關(guān)系表中的一條記錄一樣(也即,原生XML數(shù)據(jù)庫中數(shù)據(jù)的存儲是文檔進、文檔出,而關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的存儲是記錄進、記錄出)。一般,原生XML數(shù)據(jù)庫都有集合(Collection)的概念,一個集合是若干XML文檔(甚至包括其它嵌套集合)的群集,其功能和特征與關(guān)系數(shù)據(jù)庫中的二維表、文件系統(tǒng)中的文件目錄類似。集合的設(shè)計,確保對XML文檔的操作(存儲、索引、查詢、更新、刪除等)可以在一個文檔群集中進行。與二維關(guān)系表都有一個模式與其對應(yīng)不同,原生XML數(shù)據(jù)庫中的集合可以沒有與其對應(yīng)的模式,也即,它是模式獨立的(Schema-independent)。集合的模式獨立性使得原生XML數(shù)據(jù)庫擁有了很多靈活性,并且為應(yīng)用開發(fā)提供了很多便利;如,XML文檔的存入、讀取無需對應(yīng)的XML文檔模式的支持即可實現(xiàn)。

原生模式GML空間數(shù)據(jù)存儲時,其理想存儲模型也應(yīng)為GML文檔。并支持文檔集合以及集合的嵌套,如此對GML文檔的存儲、查詢、更新、刪除等都可以在一個文檔群集中進行。并且集合支持模式獨立性,以便于GML實例文檔的靈活存入與讀取。

在存儲粒度上,一般XML數(shù)據(jù)庫的存儲粒度分為:(1)粗粒度存儲;即XML數(shù)據(jù)的存儲以整個文檔為存儲粒度,此存儲粒度不利于XML文檔的查詢和粒狀更新。(2)中粒度存儲;即XML數(shù)據(jù)的存儲以XML文檔樹中的子樹(元素集合)為粒度,此存儲粒度可方便實現(xiàn)XML文檔的查詢和粒狀更新,但效果視具體應(yīng)用而定。(3)細粒度存儲;即XML數(shù)據(jù)的存儲以XML文檔中的元素為粒度,此存儲粒度可最大限度的靈活實現(xiàn)XML文檔的查詢和粒狀更新;不過,由于以元素為粒度,處理時具有一定的開銷。

對于GML文檔的存儲,本文在充分考慮GML索引構(gòu)建、GML空間/非空間數(shù)據(jù)查詢所采用的機制、算法、策略等情況下,并結(jié)合一些原生XML數(shù)據(jù)庫系統(tǒng)(如eXist)的存儲特性,確定其存儲粒度為細粒度,以便于原生GML空間數(shù)據(jù)庫系統(tǒng)的設(shè)計、實現(xiàn)和應(yīng)用。

2 原生GML空間數(shù)據(jù)庫系統(tǒng)架構(gòu)體系

在對XML、GML、經(jīng)典關(guān)系型數(shù)據(jù)庫系統(tǒng)、傳統(tǒng)空間數(shù)據(jù)庫系統(tǒng)、原生XML數(shù)據(jù)庫系統(tǒng)等分析的基礎(chǔ)上,本文提出了一種原生GML空間數(shù)據(jù)庫系統(tǒng)架構(gòu)體系(見圖1),其涵蓋內(nèi)容如下。

圖1 原生GML空間數(shù)據(jù)庫系統(tǒng)架構(gòu)體系

2.1 原生GML空間數(shù)據(jù)庫系統(tǒng)定義

原生GML空間數(shù)據(jù)庫系統(tǒng)是以GML文檔為存儲模型,對GML文檔進行數(shù)據(jù)組織、索引構(gòu)建、存儲分配、查詢處理的數(shù)據(jù)庫系統(tǒng)。系統(tǒng)對GML文檔的讀、寫采用文檔進、文檔出模式;系統(tǒng)查詢語言采用支持空間數(shù)據(jù)的擴展XQuery語言,可進行GML空間與非空間數(shù)據(jù)的一體化查詢與更新處理;系統(tǒng)支持多種GML數(shù)據(jù)訪問的API;同時,系統(tǒng)也具備傳統(tǒng)數(shù)據(jù)庫系統(tǒng)所具有的多用戶多任務(wù)并發(fā)、事務(wù)、回滾、訪問控制、備份等機制,以支持在包括分布式網(wǎng)絡(luò)在內(nèi)的各種環(huán)境下的應(yīng)用。

2.2 GML數(shù)據(jù)管理

原生GML空間數(shù)據(jù)庫系統(tǒng)中存儲的數(shù)據(jù)主要是GML實例文檔,而GML實例文檔一般都有對應(yīng)的GML應(yīng)用模式文檔,以約束、控制和校驗GML實例文檔的結(jié)構(gòu)與內(nèi)容。因此,GML數(shù)據(jù)管理模塊涉及GML模式文檔管理和GML實例文檔管理。

GML模式文檔管理負責(zé):(1)采用GML解析器對GML模式文檔進行解析,提取出與GML實例文檔中元素對應(yīng)的各種元素類型信息,并提交GML實例文檔管理子模塊,由其負責(zé)依據(jù)元素類型信息采用GML解析器對GML實例文檔進行解析。(2)采用GML解析器對GML模式文檔進行解析并構(gòu)建節(jié)點樹再提交GML存儲管理模塊進行存儲。(3)建立、維護GML模式文檔存儲檢索表,以備GML查詢處理模塊對GML模式文檔進行全文查詢。(4)響應(yīng)GML查詢處理模塊對GML模式文檔的查詢請求,并返回目標(biāo)模式文檔。

GML實例文檔管理負責(zé):(1)采用GML解析器對GML實例文檔進行解析、構(gòu)建節(jié)點樹,并提交GML索引管理模塊以構(gòu)建GML非空間數(shù)據(jù)索引。(2)接收GML模式文檔管理子模塊發(fā)送的GML實例文檔元素類型信息,據(jù)此采用GML解析器對GML實例文檔進行解析,以提取GML要素、幾何、拓撲等對象,并提交GML索引管理模塊實現(xiàn)對GML空間數(shù)據(jù)的索引構(gòu)建。(3)原生GML空間數(shù)據(jù)庫系統(tǒng)支持集合(以及集合的嵌套),因此,在將GML實例文檔相關(guān)信息提交GML索引管理模塊時,也提交關(guān)聯(lián)集合的信息,以便于構(gòu)建索引。(4)當(dāng)不對GML實例文檔構(gòu)建索引時,采用GML解析器對GML實例文檔進行解析并構(gòu)建節(jié)點樹再提交GML存儲管理模塊進行存儲。(5)建立、維護GML實例文檔存儲檢索表,以備GML查詢處理模塊對GML實例文檔進行全文查詢。(6)響應(yīng)GML查詢處理模塊對GML實例文檔或集合的查詢請求,并返回目標(biāo)實例文檔或集合信息列表。

GML實例文檔入庫時分兩種情況:有GML模式文檔相伴和無GML模式文檔相伴。當(dāng)無GML模式文檔相伴時,將無法有效的建立GML空間數(shù)據(jù)索引。

2.3 GML索引管理

索引管理是一個數(shù)據(jù)庫系統(tǒng)重要的功能模塊。

GML文檔向原生GML空間數(shù)據(jù)庫存儲時需對文檔中的GML空間和非空間數(shù)據(jù)建立索引,以便高效進行GML空間數(shù)據(jù)的查詢。與GML空間數(shù)據(jù)文檔存儲入庫時不構(gòu)建索引相比,存儲時建立索引將耗費更多的時間;但是從數(shù)據(jù)庫的整體操作、使用而言,一般遵從“操作局部性”(類似于計算機科學(xué)中的時間局部性原理和空間局部性原理),表現(xiàn)為通常對數(shù)據(jù)庫中數(shù)據(jù)的增加、刪除、修改、查詢等操作,一般情況下局部化為查詢操作。鑒于此,GML空間數(shù)據(jù)存儲入庫時因建立數(shù)據(jù)索引而額外耗費的時間,對于數(shù)據(jù)的后續(xù)操作和使用管理是非常有價值的。

GML索引管理包括:GML非空間數(shù)據(jù)索引管理和GML空間數(shù)據(jù)索引管理兩個子模塊。

GML非空間數(shù)據(jù)索引管理負責(zé):(1)接收GML數(shù)據(jù)管理模塊發(fā)送的GML實例文檔解析、構(gòu)建的節(jié)點樹,并采用XML文檔編碼方案(如論文提出的Ex-Dewey前綴編碼方案)對GML實例文檔構(gòu)建GML非空間數(shù)據(jù)索引。(2)接收GML數(shù)據(jù)管理模塊發(fā)送的與GML實例文檔關(guān)聯(lián)的集合信息,以共同對GML實例文檔構(gòu)建GML非空間數(shù)據(jù)索引。(3)將構(gòu)建的GML實例文檔非空間數(shù)據(jù)索引信息數(shù)據(jù)提交GML存儲管理模塊進行存儲,并同時提交GML實例文檔節(jié)點樹數(shù)據(jù),對GML實例文檔數(shù)據(jù)進行存儲。(4)協(xié)調(diào)GML空間數(shù)據(jù)索引管理子模塊對GML實例文檔構(gòu)建空間索引。(5)響應(yīng)GML查詢處理模塊對GML非空間數(shù)據(jù)的查詢請求,并返回相關(guān)索引信息數(shù)據(jù)。

GML空間數(shù)據(jù)索引管理負責(zé):(1)接收GML數(shù)據(jù)管理模塊發(fā)送的對GML實例文檔解析后提取的GML要素、幾何、拓撲等對象數(shù)據(jù),并采用R樹、R+樹等經(jīng)典空間數(shù)據(jù)索引算法實現(xiàn)對GML空間數(shù)據(jù)的索引構(gòu)建。(2)接收GML數(shù)據(jù)管理模塊發(fā)送的與GML實例文檔關(guān)聯(lián)的集合信息,以共同對GML實例文檔構(gòu)建GML空間數(shù)據(jù)索引。(3)將構(gòu)建的GML實例文檔空間數(shù)據(jù)索引信息數(shù)據(jù)提交GML存儲管理模塊進行存儲。(4)與GML非空間數(shù)據(jù)索引管理子模塊交互,完成對GML實例文檔空間索引的構(gòu)建。(5)響應(yīng)GML查詢處理模塊對GML空間數(shù)據(jù)的查詢請求,并返回相關(guān)索引信息數(shù)據(jù)。

由于GML實例文檔索引的構(gòu)建比較耗時,可采用后臺服務(wù)進程/線程自動構(gòu)建索引的方式,從而保證GML實例文檔可以迅速存入GML空間數(shù)據(jù)庫中。當(dāng)GML實例文檔索引后臺自動構(gòu)建還未完成時出現(xiàn)查詢請求,可采取的策略是直接對GML實例文檔進行檢索。根據(jù)局部性原理,通常GML實例文檔入庫后不會很快出現(xiàn)大量、頻繁的查詢請求,此時直接檢索GML實例文檔是可行的,當(dāng)索引構(gòu)建完成后則可先查詢索引,然后快速定位GML目標(biāo)數(shù)據(jù)。

2.4 GML存儲管理

GML存儲管理負責(zé):(1)GML模式文檔、GML實例文檔、GML集合信息、GML實例文檔非空間數(shù)據(jù)索引信息、GML實例文檔空間數(shù)據(jù)索引信息的物理存儲。(2)GML模式文檔、GML實例文檔、GML集合信息、GML實例文檔非空間數(shù)據(jù)索引信息、GML實例文檔空間數(shù)據(jù)索引信息的提取。(3)響應(yīng)GML查詢處理模塊對GML空間、非空間數(shù)據(jù)的查詢請求,并返回實際數(shù)據(jù)。

GML存儲管理采用原生XML數(shù)據(jù)庫系統(tǒng)(如eXist)已有的存儲管理模塊,實現(xiàn)對上述功能的支持。

2.5 GML查詢處理

GML查詢處理既要實現(xiàn)一般XML數(shù)據(jù)的查詢功能,又要實現(xiàn)GML所特有的空間數(shù)據(jù)查詢功能。它包括:GML查詢解析、GML查詢執(zhí)行、GML查詢結(jié)果構(gòu)造等子模塊。

GML查詢解析負責(zé)對GML查詢語句(由XQuery查詢語言增加空間擴展支持實現(xiàn))進行解析,對查詢語句結(jié)構(gòu)、合法性等進行分析,如果語句不合法則返回錯誤信息,否則對查詢語句進行分類(包括:GML模式文檔全文查詢、GML實例文檔全文查詢、GML集合信息查詢、GML非空間數(shù)據(jù)查詢、GML空間數(shù)據(jù)查詢、GML 空間、非空間數(shù)據(jù)混合查詢等),并將分類信息提交GML查詢執(zhí)行子模塊進行查詢執(zhí)行。

GML查詢執(zhí)行負責(zé)根據(jù)查詢語句分類信息進行數(shù)據(jù)的查詢執(zhí)行,并將查詢結(jié)果提交GML查詢結(jié)果構(gòu)造子模塊。之中:(1)對于GML模式文檔全文查詢、GML實例文檔全文查詢、GML集合信息查詢直接訪問GML數(shù)據(jù)管理模塊,由其執(zhí)行并返回結(jié)果。(2)對于GML非空間數(shù)據(jù)查詢則先訪問GML索引管理模塊,由其返回與查詢相關(guān)的索引信息數(shù)據(jù),然后采用結(jié)構(gòu)連接算法(如論文提出的ED-XQ-SJ算法)確定符合查詢條件的節(jié)點信息,并進而依據(jù)索引信息中節(jié)點編碼值所對應(yīng)的節(jié)點物理存儲地址,通過GML存儲管理模塊讀取節(jié)點實際數(shù)據(jù)。(3)對于GML空間數(shù)據(jù)查詢則先訪問GML索引管理模塊,由其返回與查詢相關(guān)的索引信息數(shù)據(jù),然后利用空間索引構(gòu)建采用的算法(如R樹算法)確定符合查詢條件的GML要素信息,并進而依據(jù)索引信息中GML要素所對應(yīng)的物理存儲地址,通過GML存儲管理模塊讀取GML要素的實際數(shù)據(jù)。(4)對于GML 空間、非空間數(shù)據(jù)混合查詢,則先執(zhí)行GML非空間數(shù)據(jù)查詢,在其結(jié)果集上結(jié)合對應(yīng)的空間索引信息以及非空間索引信息,進一步執(zhí)行空間數(shù)據(jù)查詢,并最終通過GML存儲管理模塊獲取實際的GML數(shù)據(jù)。

GML查詢結(jié)果構(gòu)造負責(zé)將查詢獲取的目標(biāo)原始數(shù)據(jù),依據(jù)數(shù)據(jù)關(guān)系(如節(jié)點編碼值等)進行GML格式的數(shù)據(jù)構(gòu)造,并返回(對于GML模式文檔全文查詢、GML實例文檔全文查詢、GML集合信息查詢則直接返回)。

2.6 GML數(shù)據(jù)訪問API

為方便原生GML空間數(shù)據(jù)庫的使用,需要構(gòu)建各種GML數(shù)據(jù)訪問的API,如:類似XML-RPC、XML:DB API的訪問接口,能夠通過SOAP、HTTP進行GML數(shù)據(jù)訪問的接口等。GML數(shù)據(jù)訪問API將可直接訪問GML數(shù)據(jù)管理模塊和GML查詢處理模塊。

2.7 其它支撐

一般數(shù)據(jù)庫系統(tǒng)都具有多用戶多任務(wù)并發(fā)、事務(wù)、回滾、訪問控制、備份等機制,原生GML空間數(shù)據(jù)庫系統(tǒng)也需具備上述特征,以便于在包括分布式網(wǎng)絡(luò)在內(nèi)的各種環(huán)境下使用。GML空間數(shù)據(jù)庫將采用原生XML數(shù)據(jù)庫系統(tǒng)(如eXist)已具備的上述機制實現(xiàn)對上述功能的支持。

將原生GML空間數(shù)據(jù)庫構(gòu)建于原生XML數(shù)據(jù)庫系統(tǒng)之上,不僅可以充分利用XML數(shù)據(jù)庫系統(tǒng)已有的成熟功能與機制,而且可以將XML文檔、GML文檔共儲于同一數(shù)據(jù)庫系統(tǒng)中,實現(xiàn)GML地理空間數(shù)據(jù)、XML普通事務(wù)數(shù)據(jù)的一體化存儲;正如當(dāng)前基于關(guān)系型數(shù)據(jù)庫的地理空間數(shù)據(jù)庫系統(tǒng)一樣(如:Oracle Spatial)。

3 結(jié)語

與XML數(shù)據(jù)存儲類似,GML空間數(shù)據(jù)的存儲方式也包括:文件存儲管理方式、關(guān)系數(shù)據(jù)庫存儲管理方式和原生數(shù)據(jù)庫存儲管理方式。原生GML空間數(shù)據(jù)的存儲構(gòu)建于原生XML數(shù)據(jù)庫之上是一種理想的選擇。基于開源原生XML數(shù)據(jù)庫(如:eXist)并充分考慮GML索引構(gòu)建、GML空間、非空間數(shù)據(jù)查詢所采用的機制、算法、策略等情況,原生GML空間數(shù)據(jù)的存儲模型以細粒度(即,存儲以GML文檔中元素為粒度)為宜。本文進一步重點研究、設(shè)計了原生GML空間數(shù)據(jù)庫系統(tǒng)架構(gòu)體系,給出了系統(tǒng)定義、系統(tǒng)架構(gòu)與系統(tǒng)模塊的交互原理與技術(shù)方法;系統(tǒng)模塊包括:GML數(shù)據(jù)管理、GML索引管理、GML存儲管理、GML查詢處理、GML數(shù)據(jù)訪問API,以及多用戶并發(fā)、事務(wù)、回滾等其它支撐模塊。

[1] OGC. OpenGIS Geography Markup Language (GML) Encoding Standard (Version 3.2.1)[EB/OL]. http://www. opengeospatial.org/standards/gml.2007.

[2] W3C. eXtensible Markup Language (XML) 1.0 (Fourth Edition)[EB/OL]. http://www. w3.org/TR/2006/REC-xml- 20060816.2006.

[3] 蘭小機,張書亮,劉德兒等.GML空間數(shù)據(jù)庫系統(tǒng)研究[J].測繪科學(xué).2005.

[4] 蘭小機,閭國年,劉德兒.GML空間數(shù)據(jù)查詢與索引機制研究[J].遙感學(xué)報.2006.

[5] 蘭小機,劉德兒,閭國年.GML空間數(shù)據(jù)索引機制研究[J].計算機工程.2007.

[6] 蘭小機,肖輝輝,段艷明,基于擴展NXD的GML空間數(shù)據(jù)庫數(shù)據(jù)查詢系統(tǒng)[J].大地測量與地球動力學(xué).2008.

[7] 陳建華,王華軍,苗放,等.XML/GML非空間數(shù)據(jù)查詢的結(jié)構(gòu)連接算法[J].計算機工程.2010.

[8] 陳建華,王衛(wèi)紅,苗放.基于Ex-Dewey前綴編碼與R樹的GML空間數(shù)據(jù)索引機制[J].地球信息科學(xué)學(xué)報.2010.

猜你喜歡
存儲管理數(shù)據(jù)庫系統(tǒng)空間數(shù)據(jù)
數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
電子測試(2018年14期)2018-09-26 06:04:24
一種衛(wèi)星數(shù)據(jù)廣播系統(tǒng)端站存儲管理方案設(shè)計
電子制作(2017年13期)2017-12-15 09:00:32
微細銑削工藝數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā)
文檔存儲管理系統(tǒng)的設(shè)計
實時數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)安全采集方案
元數(shù)據(jù)驅(qū)動的多中心空間數(shù)據(jù)同步方法研究
核反應(yīng)堆材料數(shù)據(jù)庫系統(tǒng)及其應(yīng)用
省級氣象數(shù)據(jù)文件共享存儲管理系統(tǒng)研究
基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲與組織研究
客戶端空間數(shù)據(jù)緩存策略
军事| 门头沟区| 凤冈县| 娱乐| 咸丰县| 蓬溪县| 南阳市| 壶关县| 高要市| 乌鲁木齐县| 离岛区| 汪清县| 昭通市| 侯马市| 南雄市| 洛浦县| 祁阳县| 台北县| 枣庄市| 梧州市| 涟源市| 醴陵市| 上高县| 垣曲县| 吉木乃县| 金平| 绿春县| 石阡县| 襄樊市| 北票市| 班戈县| 梁山县| 女性| 广丰县| 汽车| 万盛区| 内丘县| 界首市| 孝昌县| 微山县| 玉环县|