鄧世軍 周澤兵 熊鑫 李平虎
摘 ?要:該文針對(duì)企業(yè)信息服務(wù)平臺(tái)數(shù)據(jù)特點(diǎn),分析建設(shè)多源異構(gòu)地理信息檢索的應(yīng)用需求,設(shè)計(jì)開(kāi)發(fā)一種通用的多源異構(gòu)多維地理空間搜索引擎,研究了存儲(chǔ)結(jié)構(gòu)與存儲(chǔ)方式,開(kāi)發(fā)插件式的索引引擎,實(shí)現(xiàn)可擴(kuò)展、可定制的多應(yīng)用查詢引擎。研究成果已應(yīng)用于天津市勘察院數(shù)據(jù)資源平臺(tái),滿足企業(yè)的數(shù)據(jù)資源檢索應(yīng)用。
關(guān)鍵詞:多源異構(gòu) ?地理信息檢索 ?數(shù)據(jù)資源
中圖分類號(hào):TP3 ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? 文章編號(hào):1672-3791(2019)07(a)-0016-03
智慧城市、大數(shù)據(jù)、物聯(lián)網(wǎng)等技術(shù)的迅猛發(fā)展,對(duì)社會(huì)方方面面帶來(lái)了巨大的影響和變革。數(shù)據(jù)正以一種前所未有的速度產(chǎn)生與積累。為提高管理水平,促進(jìn)信息的充分利用,政府、企業(yè)都在積極構(gòu)建面向應(yīng)用的數(shù)據(jù)服務(wù)平臺(tái)。這些數(shù)據(jù)服務(wù)平臺(tái)中所管理的數(shù)據(jù)有企業(yè)、政府自身積累的,也有來(lái)源于其他單位、部門(mén)的數(shù)據(jù),還有來(lái)源于互聯(lián)網(wǎng)的數(shù)據(jù)。這些數(shù)據(jù)具有來(lái)源復(fù)雜、坐標(biāo)系統(tǒng)不統(tǒng)一、存儲(chǔ)方式格式不易轉(zhuǎn)換統(tǒng)一存儲(chǔ)、業(yè)務(wù)類別不同、數(shù)據(jù)量大、動(dòng)態(tài)變化的特征。為提高數(shù)據(jù)的價(jià)值,這些數(shù)據(jù)往往與地理空間位置進(jìn)行了綁定。在這些海量、復(fù)雜且基于地理空間位置的數(shù)據(jù)中,如何快速定位、查找感興趣、所需的內(nèi)容,是企業(yè)級(jí)數(shù)據(jù)服務(wù)應(yīng)用平臺(tái)需要解決的關(guān)鍵問(wèn)題。
1 ?信息檢索引擎應(yīng)用需求分析
實(shí)現(xiàn)多源信息快速定位,精準(zhǔn)查詢,核心要對(duì)海量數(shù)據(jù)進(jìn)行有效的梳理,形成核心信息提取,就是信息的索引。對(duì)一個(gè)數(shù)據(jù)集做“索引”,是為了提高對(duì)這個(gè)數(shù)據(jù)集檢索的效率。書(shū)的“目錄”就是這本書(shū)內(nèi)容的“索引”,當(dāng)我們拿到一本新書(shū),想查看感興趣內(nèi)容的時(shí)候,我們會(huì)先查看目錄,確定感興趣的內(nèi)容會(huì)在哪些頁(yè)里,直接翻到那些頁(yè)。單純的空間數(shù)據(jù)現(xiàn)在在各大數(shù)據(jù)庫(kù)有較成熟的空間索引機(jī)制,單純的文字、屬性信息也可采用分詞進(jìn)行索引,但缺少同時(shí)對(duì)數(shù)據(jù)資源進(jìn)行空間、屬性和附屬資源的關(guān)聯(lián)索引,造成信息檢索出太多干擾內(nèi)容,需要大量人力進(jìn)行不斷篩選才能找到有用信息。
現(xiàn)有數(shù)據(jù)庫(kù)系統(tǒng)、空間搜索引擎、文本搜索引擎無(wú)法滿足應(yīng)用需求:數(shù)據(jù)資源共享時(shí),用戶檢索快速精準(zhǔn)查詢需求;綜合分析利用平臺(tái)的構(gòu)建時(shí),如出具編制咨詢報(bào)告時(shí),需要利用各種數(shù)據(jù)資源,對(duì)信息高效組織申請(qǐng)的需求。
2 ?多源異構(gòu)可擴(kuò)展、插件式地理空間搜索引擎設(shè)計(jì)
構(gòu)建一種通用的可擴(kuò)展、插件式地理空間搜索引擎,開(kāi)發(fā)滿足不同數(shù)據(jù)來(lái)源、數(shù)據(jù)格式與數(shù)據(jù)存儲(chǔ)方式的數(shù)據(jù)解析引擎插件庫(kù),建立空間位置與文本、時(shí)間等多維信息的統(tǒng)一索引結(jié)構(gòu),構(gòu)建多維、地理空間信息統(tǒng)一查詢服務(wù)接口,實(shí)現(xiàn)基于地理空間位置的復(fù)雜多源數(shù)據(jù)的統(tǒng)一搜索與查詢,為企業(yè)級(jí)數(shù)據(jù)服務(wù)應(yīng)用平臺(tái)提供標(biāo)準(zhǔn)化、統(tǒng)一化的服務(wù)。
2.1 總體結(jié)構(gòu)圖設(shè)計(jì)
該研究設(shè)計(jì)了一種通用的多源異構(gòu)多維地理空間搜索引擎(邏輯結(jié)構(gòu)圖見(jiàn)圖1),可以對(duì)來(lái)源多樣(如Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)、ArcGIS SDE空間數(shù)據(jù)、ShapeFile數(shù)據(jù)、Word文檔數(shù)據(jù)、PDF文檔數(shù)據(jù)等)的結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行索引,并對(duì)帶有地理位置信息的數(shù)據(jù)基于WGS-84地理坐標(biāo)系統(tǒng)存儲(chǔ)了經(jīng)緯度信息,實(shí)現(xiàn)了基于地理空間位置的復(fù)雜多源數(shù)據(jù)的統(tǒng)一搜索與查詢,通過(guò)WebAPI提供統(tǒng)一的Web接口服務(wù)??啥ㄖ频牟樵兡0褰涌冢喊从脩纛悇e,按應(yīng)用需求類別,按數(shù)據(jù)類別;統(tǒng)一查詢接口,實(shí)現(xiàn)各種跨資源跨數(shù)據(jù)庫(kù)統(tǒng)一檢索的同時(shí),可以實(shí)現(xiàn)各種按需求的定制,滿足不同用戶的需求。
2.2 索引結(jié)構(gòu)基于R-tree的混合索引模型
全文檢索信息包括地名、項(xiàng)目、報(bào)告成果、圖件、點(diǎn)位、文檔,不同的應(yīng)用場(chǎng)景,單一的文檔目錄結(jié)構(gòu)模型無(wú)法滿足應(yīng)用的需求。
(1)建立R-tree多級(jí)混合索引:索引庫(kù)相當(dāng)于所有數(shù)據(jù)的一個(gè)字典表,將多源異構(gòu)數(shù)據(jù)中的部分信息提取出來(lái)進(jìn)行重新組織,使其變得具有一定的結(jié)構(gòu),然后對(duì)這些有一定結(jié)構(gòu)的數(shù)據(jù)進(jìn)行搜索,達(dá)到快速搜索的目的。根據(jù)檢索需求,將數(shù)據(jù)名稱、唯一標(biāo)識(shí)、空間位置信息、索引內(nèi)容這4個(gè)字段作為索引庫(kù)的必要結(jié)構(gòu)字段。建立R-tree包含報(bào)告、圖件、地圖多級(jí)結(jié)構(gòu)模型,提升索引的效率、精確度。滿足不同的應(yīng)用需求。
(2)空間坐標(biāo)統(tǒng)一處理:在進(jìn)行空間范圍查詢時(shí),由于實(shí)際使用中各類空間數(shù)據(jù)采用的坐標(biāo)系統(tǒng)不一致,有地方坐標(biāo)、WGS-84、局部坐標(biāo)系等,為滿足跨坐標(biāo)系的空間范圍數(shù)據(jù)查詢,對(duì)于空間位置信息的索引存儲(chǔ),采用WGS-84地理坐標(biāo)系統(tǒng)作為全球化的空間索引坐標(biāo)系統(tǒng),自動(dòng)映射,為方便手機(jī)等終端定位的應(yīng)用要求。
2.3 動(dòng)態(tài)掃描數(shù)據(jù)更新機(jī)制:生產(chǎn)軟件平臺(tái)、互聯(lián)網(wǎng)動(dòng)態(tài)更新機(jī)制
由于源數(shù)據(jù)內(nèi)容會(huì)發(fā)生變化,為保證數(shù)據(jù)的及時(shí)有效性,索引引擎還需實(shí)現(xiàn)對(duì)已有索引庫(kù)的更新操作。通過(guò)定期掃描源數(shù)據(jù),對(duì)發(fā)生變化的數(shù)據(jù)項(xiàng)進(jìn)行索引更新,對(duì)已經(jīng)刪除的數(shù)據(jù)進(jìn)行索引刪除,對(duì)新增的數(shù)據(jù)重新加到索引庫(kù)。
2.4 插件式的索引引擎
索引引擎的功能是從多源異構(gòu)源數(shù)據(jù)中,提取數(shù)據(jù)唯一標(biāo)識(shí)、數(shù)據(jù)名稱、關(guān)鍵詞、空間位置、摘要等信息,根據(jù)一定的相關(guān)度算法進(jìn)行大量復(fù)雜計(jì)算,得到每項(xiàng)數(shù)據(jù)中每一個(gè)關(guān)鍵詞的相關(guān)度,然后根據(jù)這些相關(guān)信息建立索引數(shù)據(jù)庫(kù)。內(nèi)置支持采用可擴(kuò)展的索引引擎結(jié)構(gòu)接口方式設(shè)計(jì),采用XML配置,動(dòng)態(tài)加載反射,擴(kuò)展點(diǎn)包括數(shù)據(jù)驅(qū)動(dòng)類型、數(shù)據(jù)結(jié)構(gòu)類型、數(shù)據(jù)。
(1)由于源數(shù)據(jù)是多源異構(gòu)的,需要設(shè)計(jì)統(tǒng)一的接口標(biāo)準(zhǔn),用于從不同的數(shù)據(jù)中提取有用信息,通過(guò)反射機(jī)制構(gòu)建插件式的索引引擎,實(shí)現(xiàn)索引庫(kù)的構(gòu)建。該研究中將內(nèi)置包括Oracle數(shù)據(jù)、ArcSDE數(shù)據(jù)、Shapefile數(shù)據(jù)、Word數(shù)據(jù)、文件系統(tǒng)數(shù)據(jù)在內(nèi)的索引引擎。
(2)對(duì)于包含空間范圍的源數(shù)據(jù),其空間位置信息按照WGS84坐標(biāo)的經(jīng)緯度信息進(jìn)行存儲(chǔ),對(duì)于數(shù)據(jù)量少的查詢,可以采用簡(jiǎn)單的數(shù)字范圍存儲(chǔ)即可,但是對(duì)于達(dá)到100萬(wàn)級(jí)別的數(shù)據(jù)應(yīng)該建立空間索引金字塔,使得空間查詢效率得到提升。
2.5 分布式索引
由于數(shù)據(jù)保密管理需要,不能進(jìn)行集中存儲(chǔ)的訪問(wèn),對(duì)于多個(gè)主機(jī)的數(shù)據(jù)采用主從結(jié)構(gòu)的模式進(jìn)行。
3 ?實(shí)現(xiàn)可擴(kuò)展、可定制的多應(yīng)用查詢引擎
應(yīng)用查詢引擎的功能是針對(duì)用戶的查詢請(qǐng)求在索引庫(kù)中快速檢出數(shù)據(jù),采用一定的信息檢索模型進(jìn)行數(shù)據(jù)與查詢關(guān)鍵字的相關(guān)度分析,對(duì)將要輸出的結(jié)果進(jìn)行排序。信息檢索模型有以下幾種:布爾邏輯模型、模糊邏輯模型及混合模型等。
查詢引擎的工作過(guò)程如下:
(1)對(duì)用戶接口提出的查詢請(qǐng)求進(jìn)行遞歸分析,接口語(yǔ)法采用Json字符串進(jìn)行傳遞,json串中包含contains、shoulds、exclusive、sort這4個(gè)數(shù)組進(jìn)行查詢請(qǐng)求。
(2)查詢引擎將傳遞的查詢請(qǐng)求解析成邏輯操作符AND、OR、NOT,使用“+、-”連接號(hào)和通配符,使用逗號(hào)、括號(hào)或引號(hào)進(jìn)行詞組查找。
(3)對(duì)于每個(gè)索引項(xiàng),匹配索引文件,并對(duì)所有查找出的文檔進(jìn)行集合運(yùn)算,將結(jié)果集按照基于內(nèi)容和基于鏈接分析的方法進(jìn)行相關(guān)度評(píng)價(jià)并排序,最大限度地保證檢索出的結(jié)果與用戶查詢串有很高的相關(guān)性,將最終形成的有序的文檔結(jié)果集合返回給用戶。
4 ?成果應(yīng)用
該研究成果已經(jīng)應(yīng)用于天津市勘察院數(shù)據(jù)資源平臺(tái)中,平臺(tái)數(shù)據(jù)包括天津市電子地圖、勘察院歷年工程項(xiàng)目、天津市工程地質(zhì)、天津市潛水觀測(cè)、天津市地形圖、天津市影像圖、天津市基礎(chǔ)地質(zhì)圖件等內(nèi)容,并為全院職工提供在線的數(shù)據(jù)資源檢索、瀏覽服務(wù),大大方便了技術(shù)人員查詢各類技術(shù)成果、文檔的速度,提升了工作效率(見(jiàn)圖2)。
5 ?性能分析
該系統(tǒng)采用C#,Windows Server 2012,在2臺(tái)配置的服務(wù)器上進(jìn)行部署,數(shù)據(jù)內(nèi)容包括工程項(xiàng)目信息,以及建設(shè)用地?cái)?shù)據(jù)、地名地址數(shù)據(jù)、圖件等各類數(shù)據(jù)資源,要素級(jí)對(duì)象達(dá)千萬(wàn)條,經(jīng)測(cè)試,結(jié)果如圖3所示。
6 ?結(jié)語(yǔ)
該文以構(gòu)建企業(yè)數(shù)據(jù)共享與服務(wù)平臺(tái)為應(yīng)用目標(biāo),研究了地理信息為核心的多源異構(gòu)統(tǒng)一框架、可擴(kuò)展、可定制檢索引擎的設(shè)計(jì)與開(kāi)發(fā),很好地解決了各種異構(gòu)數(shù)據(jù)的統(tǒng)一共享服務(wù)的問(wèn)題,能夠滿足大型企業(yè)數(shù)據(jù)生產(chǎn)管理的需要,具有很好的推廣應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 何榮杰.基于Lucene的全文搜索引擎的研究與實(shí)現(xiàn)[D].江蘇科技大學(xué),2015.
[2] 張曉勇.基于多源異構(gòu)數(shù)據(jù)融合的概念層次體系構(gòu)建及其應(yīng)用研究[D].南京理工大學(xué),2016.
[3] 張書(shū)瑜,張定祥,王榮彬,等.多源異構(gòu)土地基礎(chǔ)數(shù)據(jù)一體化管理檢索方法研究[J].浙江大學(xué)學(xué)報(bào):理學(xué)版,2018(5):11.
[4] 王志寶,夏昊,王成波.地理信息檢索關(guān)鍵技術(shù)研究綜述[J].計(jì)算機(jī)工程與科學(xué),2018(3):533-543.