專利名稱:面向地理信息應用的空間數(shù)據(jù)服務化獲取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息領(lǐng)域中的地理信息技術(shù),尤其涉及面向地理信息應用的空間數(shù)據(jù)服務化查詢與獲取的方法。
背景技術(shù):
網(wǎng)絡服務環(huán)境下地理信息數(shù)據(jù)的獲取,在傳統(tǒng)客戶端與地理空間數(shù)據(jù)庫直連進行數(shù)據(jù)查詢的模式下進行技術(shù)創(chuàng)新,以數(shù)據(jù)服務化的方式由專門負責查詢處理的中間件對空間數(shù)據(jù)資源進行訪問與查詢檢索,通過數(shù)據(jù)服務整合來實現(xiàn)地理空間數(shù)據(jù)資源的共享與互操作。面向地理信息應用的空間數(shù)據(jù)服務化獲取方法通過對數(shù)據(jù)資源的服務化發(fā)布,為空間數(shù)據(jù)的訪問與查詢提供接口,在屏蔽后端復雜異構(gòu)數(shù)據(jù)源接口的同時,通過改進后的對象查詢語句處理用戶的數(shù)據(jù)訪問與處理請求,實現(xiàn)后端數(shù)據(jù)庫中各類地理信息矢量柵格數(shù)據(jù)資源的共享與互操作。在傳統(tǒng)的地理信息空間數(shù)據(jù)訪問與查詢方法中,沒有為面向異構(gòu)數(shù)據(jù)源的存儲和查詢提供有效支持。而以網(wǎng)絡服務方式發(fā)布的空間數(shù)據(jù)資源,為地理信息數(shù)據(jù)的獲取、數(shù)據(jù)加工處理,信息檢索服務發(fā)布和使用帶來了多方面的便利。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種面向地理信息應用的空間數(shù)據(jù)服務化獲取方法,通過對現(xiàn)有技術(shù)進行改進,在適應傳統(tǒng)方式處理單一數(shù)據(jù)存儲的基礎(chǔ)下進行提升,能夠順利應對持續(xù)更新異構(gòu)的大規(guī)模數(shù)據(jù)資源訪問查詢,以對象查詢形式封裝的查詢語句,增強地理信息數(shù)據(jù)的查詢檢索效率。其主要借助網(wǎng)絡服務實現(xiàn)空間數(shù)據(jù)庫的查詢操作,并在查詢的過程中嵌入空間分析操作函數(shù),由網(wǎng)絡服務返回空間數(shù)據(jù)查詢以及分析之后的結(jié)果,獲取查詢分析之后的操作結(jié)果。為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的
一種面向地理信息應用的空間數(shù)據(jù)服務化獲取方法,該方法包括
A、空間數(shù)據(jù)服務化的查詢步驟;
B、對空間處理對象查詢語言的解析規(guī)則定義后,借助ANTLR編譯器構(gòu)造程序?qū)崿F(xiàn)針對特定語法的識別器、編譯器和轉(zhuǎn)換器;查詢語句經(jīng)過詞法分析過程對標識符和查詢關(guān)鍵詞進行正確性檢查并得到輸出的Token字符流,字符流作為語法分析過程的輸入元素,根據(jù)自定義規(guī)則進行上下文無關(guān)語法內(nèi)容的分析,檢驗語義的邏輯規(guī)范符合性;空間對象查詢語句借助編譯器構(gòu)造程序?qū)崿F(xiàn)語法解析器,使用遞歸下降的語法分析方法,具備更為廣泛的語法解析規(guī)則表達范圍;在查詢語法解析過程中生成抽象語法樹AST,經(jīng)查詢檢查和優(yōu)化環(huán)節(jié),得到查詢執(zhí)行計劃;
C、空間處理對象查詢語言在對象查詢中嵌套符合結(jié)構(gòu)化查詢語言多媒體擴展框架SQL/MM規(guī)范的空間查詢函數(shù),查詢語句經(jīng)分布式查詢執(zhí)行引擎解析后,空間查詢函數(shù)傳遞到后端具備空間拓展的關(guān)系數(shù)據(jù)庫執(zhí)行,查詢語句通過數(shù)據(jù)服務對數(shù)據(jù)庫提交查詢檢索,并將分布式查詢結(jié)果聚合后返回給數(shù)據(jù)服務請求者。其中,所述步驟A具體包括詞法分析,抽象語法樹生成,語法類型檢查,查詢邏輯優(yōu)化和物理優(yōu)化,查詢計劃生成的環(huán)節(jié)。本發(fā)明所提供的面向地理信息應用的空間數(shù)據(jù)服務化獲取方法,具有以下優(yōu)點 空間數(shù)據(jù)服務化的訪問與獲取方法以數(shù)據(jù)服務的方式為分布式存儲的空間數(shù)據(jù)提供
訪問途徑,給出空間數(shù)據(jù)服務發(fā)布以及空間數(shù)據(jù)服務整合的訪問方法??臻g數(shù)據(jù)服務化的訪問與獲取方法在空間數(shù)據(jù)服務的基礎(chǔ)上進行拓展,通過增加空間函數(shù)和空間算子,支持空間服務化數(shù)據(jù)獲取過程中的空間分析與查詢操作??臻g數(shù)據(jù)服務化的訪問與獲取方法有利于將分布式的空間數(shù)據(jù)資源進行整合,并在數(shù)據(jù)資源整合的基礎(chǔ)上,定制進一步的空間數(shù)據(jù)處理操作的分析流程,供上層的空間分析處理服務所使用。
圖1為空間數(shù)據(jù)訪問與獲取的層次模型示意 圖2為本發(fā)明基于SQL/MM查詢的空間數(shù)據(jù)訪問與集成模型示意 圖3為本發(fā)明空間數(shù)據(jù)服務化獲取方法流程示意圖。
具體實施例方式下面結(jié)合附圖及本發(fā)明的實施例對本發(fā)明的方法作進一步詳細的說明。圖1為空間數(shù)據(jù)訪問與獲取的層次模型示意圖;如圖1所示,面向網(wǎng)格計算環(huán)境搭建定制的以服務為中心的模型架構(gòu),利用多協(xié)議綁定、本地與遠端的通用性等服務特性,將不同層次上的計算與存儲資源虛擬化,以跨越多個分布式節(jié)點進行資源的整合與協(xié)作??臻g數(shù)據(jù)訪問與獲取中間件將分布式的異構(gòu)數(shù)據(jù)文件資源和關(guān)系數(shù)據(jù)庫集成到網(wǎng)格環(huán)境中,遵循網(wǎng)絡服務的標準消息格式,在服務端與客戶端建立數(shù)據(jù)請求與響應的交互通道。在數(shù)據(jù)存取和更新功能之外,中間件支持通過自定義執(zhí)行活動文檔進行拓展,從而向數(shù)據(jù)服務中添加更多自定義活動來拓展面向服務的數(shù)據(jù)查詢和更新操作。底層數(shù)據(jù)源及訪問與集成中間件和上層數(shù)據(jù)服務的層次模型體現(xiàn)在圖中。底層數(shù)據(jù)資源支持通用數(shù)據(jù)存儲介質(zhì),包括關(guān)系型數(shù)據(jù)庫、XML數(shù)據(jù)庫和通用數(shù)據(jù)文件。建立在數(shù)據(jù)訪問與集成中間件基礎(chǔ)上的數(shù)據(jù)服務向上層提供數(shù)據(jù)資源獲取接口,并通過WSRF或WSI形式的數(shù)據(jù)服務描述與客戶端交互,響應客戶端數(shù)據(jù)查詢與訪問請求。數(shù)據(jù)訪問與集成中間件針對關(guān)系型數(shù)據(jù)庫、文件等結(jié)構(gòu)化數(shù)據(jù)資源提供可拓展編程框架,并在數(shù)據(jù)網(wǎng)格環(huán)境下為結(jié)構(gòu)化資源實現(xiàn)對外服務訪問接口,通過服務模式提供面向數(shù)據(jù)處理的工作流引擎,實現(xiàn)服務化的數(shù)據(jù)訪問、更新、轉(zhuǎn)換操作。圖2為本發(fā)明基于SQL/MM查詢的空間數(shù)據(jù)訪問與集成模型示意圖;空間數(shù)據(jù)訪問與獲取中間件執(zhí)行過程中的關(guān)鍵組件包含注冊數(shù)據(jù)請求服務的數(shù)據(jù)服務注冊器、負責數(shù)據(jù)服務生成的網(wǎng)格數(shù)據(jù)服務工廠以及對應數(shù)據(jù)資源的數(shù)據(jù)服務實例。在數(shù)據(jù)服務生成、注冊與消費過程中,網(wǎng)格數(shù)據(jù)服務工廠(GDSF)是運行在服務容器中的持久性服務,根據(jù)接收到的請求來創(chuàng)建網(wǎng)格數(shù)據(jù)服務實例(GDS),并與特定數(shù)據(jù)源建立鏈接。數(shù)據(jù)訪問與集成服務注冊器(⑶SR)用于注冊和查找用戶所需的網(wǎng)格數(shù)據(jù)服務,同樣可查找創(chuàng)建網(wǎng)格數(shù)據(jù)服務的GDSF。數(shù)據(jù)處理執(zhí)行文檔定義用戶獲取的查詢結(jié)果返回格式。響應文檔通過GDS文檔執(zhí)行操作,為客戶返回數(shù)據(jù)資源查詢處理結(jié)果。網(wǎng)格數(shù)據(jù)服務GDS則與后端關(guān)系數(shù)據(jù)庫、XML數(shù)據(jù)庫、數(shù)據(jù)文件等數(shù)據(jù)資源實體建立鏈接并進行查詢交互。在空間數(shù)據(jù)服務訪問過程中,后端數(shù)據(jù)源被視為邏輯上的單一資源,數(shù)據(jù)訪問與集成中間件屏蔽了分布式空間數(shù)據(jù)資源與服務交互的數(shù)據(jù)庫驅(qū)動、數(shù)據(jù)格式和傳輸機制等細節(jié)。數(shù)據(jù)訪問與集成中間件在針對通用數(shù)據(jù)源執(zhí)行查詢操作,實現(xiàn)網(wǎng)格環(huán)境下分布式異構(gòu)地理空間數(shù)據(jù)的服務化發(fā)布。面向空間數(shù)據(jù)服務的訪問查詢,需要在數(shù)據(jù)訪問與集成中間件中配置空間數(shù)據(jù)源鏈接和相應的空間數(shù)據(jù)訪問行為規(guī)則,以支持符合SQL/MM規(guī)范的空間數(shù)據(jù)對象查詢操作以及查詢過程中的空間分析處理函數(shù)調(diào)用。在空間數(shù)據(jù)訪問與集成處理過程中,Activity (行為)是服務中間件的基本工作模塊,每類行為負責完成一項特定的數(shù)據(jù)查詢、轉(zhuǎn)換、傳輸或相關(guān)處理任務。其中空間數(shù)據(jù)接口行為用于獲取后端空間數(shù)據(jù)源的訪問接口 ;空間數(shù)據(jù)訪問和組織行為用來訪問注冊資源中的空間數(shù)據(jù)對象;空間數(shù)據(jù)寫入行為負責向集成的數(shù)據(jù)源寫入數(shù)據(jù);空間數(shù)據(jù)轉(zhuǎn)換行為負責數(shù)據(jù)傳輸格式之間的轉(zhuǎn)換;輸出數(shù)據(jù)傳輸行為負責將數(shù)據(jù)發(fā)送到遠程數(shù)據(jù)接收裝置;此外訪問與集成中間件還具備管理控制行為。在空間數(shù)據(jù)訪問與集成中間件內(nèi),數(shù)據(jù)服務通過符合SQL/MM規(guī)范的空間查詢與后端數(shù)據(jù)庫進行交互操作。部署在服務容器下的數(shù)據(jù)訪問與集成中間件,將異構(gòu)空間數(shù)據(jù)源相對應的存取行為以數(shù)據(jù)服務形式在數(shù)據(jù)網(wǎng)格服務容器中發(fā)布。當接收到客戶端的空間數(shù)據(jù)服務查詢請求后,在數(shù)據(jù)服務注冊器中將數(shù)據(jù)請求服務注冊,并調(diào)用網(wǎng)格數(shù)據(jù)服務工廠GDSF創(chuàng)建新的數(shù)據(jù)服務GDS實例,SQL/MM空間查詢經(jīng)數(shù)據(jù)服務解析后,轉(zhuǎn)遞給后端具備空間拓展的數(shù)據(jù)庫執(zhí)行查詢操作,并通過數(shù)據(jù)服務接口將空間數(shù)據(jù)檢索結(jié)果返回給查詢請求客戶端。在訪問與集成中間件協(xié)助下,后端空間數(shù)據(jù)源的數(shù)據(jù)組織形式和查詢行為執(zhí)行過程對服務調(diào)用客戶端透明,數(shù)據(jù)源索引信息存放在訪問與集成中間件哈希映射表中,中間件通過檢索數(shù)據(jù)資源注冊表獲得資源使用信息,并根據(jù)客戶端調(diào)用請求返回特定相應數(shù)據(jù)服務。圖3為本發(fā)明空間數(shù)據(jù)服務化獲取方法的流程示意圖,如圖3所示,該方法包括如下步驟
步驟1:空間數(shù)據(jù)服務化的查詢過程包含詞法分析,抽象語法樹生成,語法類型檢查,查詢邏輯優(yōu)化和物理優(yōu)化,查詢計劃生成等環(huán)節(jié)。在對空間數(shù)據(jù)服務化查詢語句的解析中,根據(jù)查詢語句語法的設(shè)計,為語法解析定義解析規(guī)則和查詢處理腳本,解析器按照既定義的語法解析規(guī)則,記錄拆分后查詢語句所包含的標記、操作符和查詢關(guān)鍵詞。在查詢語句語法解析規(guī)則描述上,參照擴展巴科斯范式(EBNF)的上下文無關(guān)文法的元語法符號表示方法,語法規(guī)則通過一組包含字符集、核心規(guī)則、序列分組方法、動作參數(shù)、取值范圍、操作符優(yōu)先級等約束內(nèi)容的符號集序列進行描述。步驟2 :空間處理對象查詢語言的解析規(guī)則定義后,借助ANTLR編譯器構(gòu)造程序?qū)崿F(xiàn)針對特定語法的識別器(Recognizers)、編譯器(Compiler)和轉(zhuǎn)換器(Translators)。查詢語句經(jīng)過詞法分析過程對標識符和查詢關(guān)鍵詞進行正確性檢查并得到輸出的Token字符流,字符流作為語法分析過程的輸入元素,根據(jù)自定義規(guī)則進行上下文無關(guān)語法內(nèi)容的分析,檢驗語義的邏輯規(guī)范符合性。空間對象查詢語句借助編譯器構(gòu)造程序?qū)崿F(xiàn)語法解析器,使用遞歸下降的語法分析方法,具備更為廣泛的語法解析規(guī)則表達范圍。在查詢語法解析過程中生成抽象語法樹(AST),經(jīng)查詢檢查和優(yōu)化環(huán)節(jié),得到查詢執(zhí)行計劃。步驟3 :空間處理對象查詢語言在對象查詢中嵌套符合結(jié)構(gòu)化查詢語言多媒體擴展框架(SQL/MM)規(guī)范的空間查詢函數(shù),查詢語句經(jīng)分布式查詢執(zhí)行弓I擎解析后,空間查詢函數(shù)傳遞到后端具備空間拓展的關(guān)系數(shù)據(jù)庫執(zhí)行,查詢語句通過數(shù)據(jù)服務對數(shù)據(jù)庫提交查詢檢索,并將分布式查詢結(jié)果聚合后返回給數(shù)據(jù)服務請求者??臻g數(shù)據(jù)服務化的訪問與獲取方法以數(shù)據(jù)服務的方式,為空間數(shù)據(jù)分布式查詢提供訪問途徑,此方法便于為包含空間數(shù)據(jù)的遺留系統(tǒng)的多數(shù)據(jù)庫集成訪問提供途徑。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1.一種面向地理信息應用的空間數(shù)據(jù)服務化獲取方法,其特征在于,該方法包括 A、空間數(shù)據(jù)服務化的查詢步驟; B、對空間處理對象查詢語言的解析規(guī)則定義后,借助ANTLR編譯器構(gòu)造程序?qū)崿F(xiàn)針對特定語法的識別器、編譯器和轉(zhuǎn)換器;查詢語句經(jīng)過詞法分析過程對標識符和查詢關(guān)鍵詞進行正確性檢查并得到輸出的Token字符流,字符流作為語法分析過程的輸入元素,根據(jù)自定義規(guī)則進行上下文無關(guān)語法內(nèi)容的分析,檢驗語義的邏輯規(guī)范符合性;空間對象查詢語句借助編譯器構(gòu)造程序?qū)崿F(xiàn)語法解析器,使用遞歸下降的語法分析方法,具備更為廣泛的語法解析規(guī)則表達范圍;在查詢語法解析過程中生成抽象語法樹AST,經(jīng)查詢檢查和優(yōu)化環(huán)節(jié),得到查詢執(zhí)行計劃; C、空間處理對象查詢語言在對象查詢中嵌套符合結(jié)構(gòu)化查詢語言多媒體擴展框架SQL/MM規(guī)范的空間查詢函數(shù),查詢語句經(jīng)分布式查詢執(zhí)行引擎解析后,空間查詢函數(shù)傳遞到后端具備空間拓展的關(guān)系數(shù)據(jù)庫執(zhí)行,查詢語句通過數(shù)據(jù)服務對數(shù)據(jù)庫提交查詢檢索,并將分布式查詢結(jié)果聚合后返回給數(shù)據(jù)服務請求者。
2.根據(jù)權(quán)利要求1所述的面向地理信息應用的空間數(shù)據(jù)服務化獲取方法,其特征在于,所述步驟A具體包括詞法分析,抽象語法樹生成,語法類型檢查,查詢邏輯優(yōu)化和物理優(yōu)化,查詢計劃生成的環(huán)節(jié)。
全文摘要
本發(fā)明公開了一種面向地理信息應用的空間數(shù)據(jù)服務化獲取方法,包括空間數(shù)據(jù)服務化的查詢步驟;得到查詢執(zhí)行計劃的步驟;以及空間處理對象查詢語言在對象查詢中嵌套符合結(jié)構(gòu)化查詢語言多媒體擴展框架(SQL/MM)規(guī)范的空間查詢函數(shù),查詢語句經(jīng)分布式查詢執(zhí)行引擎解析后,空間查詢函數(shù)傳遞到后端具備空間拓展的關(guān)系數(shù)據(jù)庫執(zhí)行,查詢語句通過數(shù)據(jù)服務對數(shù)據(jù)庫提交查詢檢索,并將分布式查詢結(jié)果聚合后返回給數(shù)據(jù)服務請求者。應用本發(fā)明,能夠順利應對持續(xù)更新異構(gòu)的大規(guī)模數(shù)據(jù)資源訪問查詢,以對象查詢形式封裝的查詢語句,增強地理信息數(shù)據(jù)的查詢檢索效率。
文檔編號G06F17/30GK103064876SQ201210423550
公開日2013年4月24日 申請日期2012年10月30日 優(yōu)先權(quán)日2012年10月30日
發(fā)明者高昂 申請人:中國標準化研究院