公務(wù)員期刊網(wǎng) 論文中心 正文

分布式地理數(shù)據(jù)庫(kù)在核心要素的應(yīng)用

前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了分布式地理數(shù)據(jù)庫(kù)在核心要素的應(yīng)用范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

分布式地理數(shù)據(jù)庫(kù)在核心要素的應(yīng)用

1核心要素?cái)?shù)據(jù)更新現(xiàn)狀分析

“天地圖•福建”核心要素?cái)?shù)據(jù)每年開(kāi)展一次更新,一般按更新計(jì)劃選擇一部分地市城區(qū)或縣域作為更新區(qū)域,交通作為最重要的要素,需要每年對(duì)全省的鐵路和縣道以上的等級(jí)道路進(jìn)行更新。核心要素?cái)?shù)據(jù)更新的項(xiàng)目負(fù)責(zé)人根據(jù)更新計(jì)劃,將任務(wù)分配給更新作業(yè)員,每個(gè)作業(yè)員負(fù)責(zé)一個(gè)區(qū)域的更新。在分配任務(wù)時(shí),需要按照作業(yè)員負(fù)責(zé)的范圍對(duì)全省的核心要素?cái)?shù)據(jù)進(jìn)行裁切(或空間相交),裁切結(jié)果以文件的形式分發(fā)給作業(yè)員,作業(yè)員參考遙感影像、專題數(shù)據(jù)等資料對(duì)核心要素?cái)?shù)據(jù)進(jìn)行更新。所有的作業(yè)員完成更新之后,需要再將數(shù)據(jù)進(jìn)行拼接和接邊,項(xiàng)目負(fù)責(zé)人將更新成果發(fā)送給制圖員,制圖員再利用更新成果進(jìn)行電子地圖的配圖和切片。在整個(gè)核心要素?cái)?shù)據(jù)更新的過(guò)程中,數(shù)據(jù)以文件的形式流轉(zhuǎn),裁切、拼接和入庫(kù)等操作都影響更新效率。更新過(guò)程中數(shù)據(jù)保存在作業(yè)員的工作站上,數(shù)據(jù)安全性不能保證,會(huì)出現(xiàn)硬盤損壞導(dǎo)致更新過(guò)程數(shù)據(jù)丟失的情況。數(shù)據(jù)更新完成后還需要導(dǎo)入應(yīng)用服務(wù)器的數(shù)據(jù)庫(kù)中,用于電子地圖配圖和服務(wù)。陳為民等[7]研究了ArcGIS分布式地理數(shù)據(jù)庫(kù)技術(shù),設(shè)計(jì)分布式地理數(shù)據(jù)庫(kù)同步更新系統(tǒng),實(shí)現(xiàn)市級(jí)為主庫(kù)和區(qū)級(jí)為副庫(kù)的分布式數(shù)據(jù)庫(kù)同步更新機(jī)制。李永勝等[8]將Geodatabase復(fù)制技術(shù)應(yīng)用于土地利用數(shù)據(jù)庫(kù)的管理,實(shí)現(xiàn)了同一數(shù)據(jù)庫(kù)平臺(tái)下多個(gè)地理數(shù)據(jù)庫(kù)間的數(shù)據(jù)雙向同步。核心要素數(shù)據(jù)更新項(xiàng)目負(fù)責(zé)人曾嘗試采用ArcGIS版本化(Versioning)的方法進(jìn)行更新,數(shù)據(jù)庫(kù)部署在部門服務(wù)器,10多個(gè)作業(yè)員并發(fā)對(duì)數(shù)據(jù)進(jìn)行編輯,但由于硬件資源的限制,會(huì)出現(xiàn)無(wú)法保存編輯的問(wèn)題?;诜植际降乩頂?shù)據(jù)庫(kù)的更新技術(shù)流程,作業(yè)員編輯數(shù)據(jù)時(shí)不需要訪問(wèn)服務(wù)器數(shù)據(jù)庫(kù)中的數(shù)據(jù),降低了服務(wù)器的負(fù)擔(dān)。

2分布式地理數(shù)據(jù)庫(kù)

分布式地理數(shù)據(jù)庫(kù)就是將主庫(kù)中的全部或部分?jǐn)?shù)據(jù)拷貝到一個(gè)或多個(gè)副庫(kù)中,形成數(shù)據(jù)分散存儲(chǔ)的組織方式,地理數(shù)據(jù)庫(kù)復(fù)制(GeodatabaseReplication)是實(shí)現(xiàn)數(shù)據(jù)分布的方法。分布式地理數(shù)據(jù)庫(kù)允許企業(yè)根據(jù)需要將數(shù)據(jù)從中央服務(wù)器(centralservers)分發(fā)到處于在線或離線的環(huán)境中,作業(yè)員可以在不同位置編輯同一份數(shù)據(jù)。復(fù)本更新后,通過(guò)同步(Synchronization)將數(shù)據(jù)變化從一個(gè)復(fù)本發(fā)送到另一個(gè)復(fù)本。通過(guò)數(shù)據(jù)分布可以緩解服務(wù)器爭(zhēng)用以及對(duì)中央服務(wù)器的網(wǎng)絡(luò)訪問(wèn)速度慢的情況,從而提高數(shù)據(jù)可用性與性能。這有助于企業(yè)在執(zhí)行編輯的用戶與訪問(wèn)服務(wù)器以進(jìn)行讀取操作的用戶之間實(shí)現(xiàn)地理數(shù)據(jù)庫(kù)負(fù)載均衡。地理數(shù)據(jù)庫(kù)復(fù)制的類型有3種:①檢入/檢出復(fù)制;②單向復(fù)制;③雙向復(fù)制。雙向復(fù)制可多次將數(shù)據(jù)變化從父復(fù)本同步到子復(fù)本,或子復(fù)本同步到父復(fù)本,適用于父復(fù)本和子復(fù)本都需要編輯或僅子復(fù)本需要編輯的情景,因此,在核心要素?cái)?shù)據(jù)更新過(guò)程中主要使用雙向復(fù)制。創(chuàng)建雙向復(fù)制的父復(fù)本和子復(fù)本必須是在ArcSDE地理數(shù)據(jù)庫(kù)中。

3更新流程設(shè)計(jì)

根據(jù)ArcGIS的版本化和分布式地理數(shù)據(jù)庫(kù)的功能,通過(guò)設(shè)計(jì)合理的技術(shù)流程,將分布式地理數(shù)據(jù)庫(kù)用于“天地圖•福建”核心要素?cái)?shù)據(jù)的更新作業(yè)。

3.1更新技術(shù)流程

參與核心要素更新的人員分為4類:①數(shù)據(jù)庫(kù)管理員(負(fù)責(zé)數(shù)據(jù)庫(kù)的運(yùn)行管理);②項(xiàng)目負(fù)責(zé)人(負(fù)責(zé)任務(wù)分配和數(shù)據(jù)沖突協(xié)調(diào));③作業(yè)員(負(fù)責(zé)數(shù)據(jù)的更新作業(yè));④質(zhì)檢員(負(fù)責(zé)數(shù)據(jù)的一級(jí)檢查和二級(jí)檢查)。1)安裝配置數(shù)據(jù)庫(kù)。服務(wù)器端和工作站均采用ArcSDE+PostgreSQL地理數(shù)據(jù)庫(kù),由數(shù)據(jù)庫(kù)管理員負(fù)責(zé)安裝。選擇PostgreSQL主要是因?yàn)槠涔δ茏阋灾吻f(wàn)級(jí)數(shù)據(jù)量的管理,支持ArcSDE的完整功能,而且安裝文件很小,安裝、配置和管理非常方便。數(shù)據(jù)庫(kù)管理員負(fù)責(zé)在PostgreSQL中為更新創(chuàng)建forSDE數(shù)據(jù)庫(kù)。2)數(shù)據(jù)入庫(kù)及注冊(cè)。項(xiàng)目負(fù)責(zé)人在forSDE中創(chuàng)建要素?cái)?shù)據(jù)集,將核心要素?cái)?shù)據(jù)導(dǎo)入該要素?cái)?shù)據(jù)集中。分布式地理數(shù)據(jù)庫(kù)需要依賴GlobalID字段,因此,數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)之后必須添加GlobalID字段并賦值。項(xiàng)目負(fù)責(zé)人對(duì)服務(wù)器端的要素?cái)?shù)據(jù)集執(zhí)行注冊(cè)版本(RegisterAsVersion),注冊(cè)時(shí)不能勾選將編輯內(nèi)容移動(dòng)到基表的功能,將DEFAULT版本設(shè)置為受保護(hù)(Protected),然后從DEFAULT版本創(chuàng)建forEdit版本,并將forEdit版本設(shè)置為受保護(hù)(Protected)。3)創(chuàng)建用戶及復(fù)本。項(xiàng)目負(fù)責(zé)人使用創(chuàng)建數(shù)據(jù)庫(kù)用戶(CreateDatabaseUser)工具為每一個(gè)作業(yè)員創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用戶,并使用更改權(quán)限(ChangePrivileges)使工具授權(quán)作業(yè)員可以訪問(wèn)forSDE中的要素?cái)?shù)據(jù)集。此時(shí)每個(gè)作業(yè)員可以連接訪問(wèn)2個(gè)數(shù)據(jù)庫(kù):服務(wù)器數(shù)據(jù)庫(kù)和本地?cái)?shù)據(jù)庫(kù)。作業(yè)員連接服務(wù)器端數(shù)據(jù)庫(kù),在地理數(shù)據(jù)庫(kù)管理中從forEdit版本創(chuàng)建與作業(yè)員用戶名相同的私有(Private)版本。每個(gè)作業(yè)員創(chuàng)建完私有版本之后,項(xiàng)目負(fù)責(zé)人需要檢查版本的組織情況,每個(gè)作業(yè)員的私有版本必須按組織,不允許作業(yè)員從DEFAULT創(chuàng)建私有版本。要求每個(gè)作業(yè)員必須都創(chuàng)建一個(gè)私有版本,是為了數(shù)據(jù)更新之后,數(shù)據(jù)變化將同步到作業(yè)員的私有版本中。作業(yè)員連接服務(wù)器端的私有版本,從DEFAULT和forEdit版本創(chuàng)建的復(fù)本將無(wú)法同步,因?yàn)榉?wù)器端DEFAULT和forEdit版本已設(shè)置為受保護(hù)。作業(yè)員執(zhí)行創(chuàng)建復(fù)本(CreateReplica)工具將服務(wù)器端的數(shù)據(jù)復(fù)制到本地ArcSDE中,創(chuàng)建復(fù)本時(shí)復(fù)本類型設(shè)置為雙向復(fù)制,同時(shí)將復(fù)本幾何要素(ReplicaGeometryFeatures)設(shè)置為每個(gè)作業(yè)員負(fù)責(zé)更新的范圍,子復(fù)本就僅包含與作業(yè)范圍相交的數(shù)據(jù)。每個(gè)子復(fù)本是雙向復(fù)制,所以本地子復(fù)本與服務(wù)器的父復(fù)本之間可以相互同步數(shù)據(jù)。數(shù)據(jù)更新作業(yè)。作業(yè)員根據(jù)參考資料對(duì)本地?cái)?shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行更新。在更新過(guò)程中,本地?cái)?shù)據(jù)庫(kù)完全可以與服務(wù)器斷開(kāi),不需要與服務(wù)數(shù)據(jù)庫(kù)進(jìn)行同步。2)質(zhì)量檢查。質(zhì)檢員、項(xiàng)目負(fù)責(zé)人可以在作業(yè)員更新過(guò)程中對(duì)數(shù)據(jù)進(jìn)行檢查,提前發(fā)現(xiàn)問(wèn)題,通知作業(yè)員進(jìn)行修改,將質(zhì)量問(wèn)題消除在生產(chǎn)環(huán)節(jié),保證數(shù)據(jù)更新的質(zhì)量。質(zhì)檢員和項(xiàng)目負(fù)責(zé)人直接連接每個(gè)作業(yè)員的本地?cái)?shù)據(jù)庫(kù)進(jìn)行質(zhì)量檢查,不需要拷貝數(shù)據(jù)。3)同步和協(xié)調(diào)。作業(yè)員通過(guò)同步數(shù)據(jù)變化(SynchronizeChanges)工具將本地?cái)?shù)據(jù)庫(kù)中的更新數(shù)據(jù)同步到服務(wù)器端私有版本,同步的方向是從子復(fù)本向父復(fù)本,此時(shí),更新的數(shù)據(jù)已經(jīng)同步到服務(wù)器端作業(yè)員的私有版本。作業(yè)員在更新過(guò)程中,也可以根據(jù)需要定期將數(shù)據(jù)變化同步到服務(wù)器,避免本地?cái)?shù)據(jù)出現(xiàn)問(wèn)題,造成更新過(guò)程數(shù)據(jù)丟失。作業(yè)員的私有版本提交到forEdit版本時(shí),必須進(jìn)行沖突檢測(cè)和協(xié)調(diào)。沖突發(fā)生在以下情況:①當(dāng)前編輯的版本和目標(biāo)版本中對(duì)同一要素進(jìn)行更新;②某個(gè)版本中更新了一個(gè)要素,而另一版本中刪除了此要素;③當(dāng)前編輯的版本和目標(biāo)版本中修改與要素或關(guān)系類關(guān)聯(lián)的拓?fù)?。開(kāi)始更新時(shí)每個(gè)作業(yè)員創(chuàng)建了一個(gè)私有版本,更新時(shí)作業(yè)員之間相互獨(dú)立,跨相鄰2個(gè)作業(yè)區(qū)域的要素會(huì)存在沖突,特別是交通和水系要素。使用版本管理工具條的協(xié)調(diào)進(jìn)行沖突檢測(cè),檢測(cè)到?jīng)_突時(shí)會(huì)激活沖突窗口。在同步和協(xié)調(diào)過(guò)程中,增量表會(huì)不斷增大,狀態(tài)越來(lái)越多,數(shù)據(jù)庫(kù)性能會(huì)慢慢下降。為了提高數(shù)據(jù)庫(kù)性能,必須定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行壓縮(Compress)。

3.2耗時(shí)分析

服務(wù)器端是一臺(tái)部門用于電子地圖切片的服務(wù)器,操作系統(tǒng)采用WindowsServer2008R2,處理器XeonE5-2650V2@2.6GHz×2,內(nèi)存32GB。服務(wù)器和工作站均安裝ArcGIS10.2+PostgreSQL9.1.3,福建省核心要素?cái)?shù)據(jù)約714萬(wàn)個(gè)。核心要素?cái)?shù)據(jù)導(dǎo)入服務(wù)器數(shù)據(jù)庫(kù)耗時(shí)34min38s,添加GlobalID字段并賦值耗時(shí)18min58s,注冊(cè)版本耗時(shí)12s。在一臺(tái)工作站的數(shù)據(jù)庫(kù)中創(chuàng)建尤溪縣的復(fù)本耗時(shí)3min9s,該縣的總要素個(gè)數(shù)為約13萬(wàn)。從數(shù)據(jù)入庫(kù)到創(chuàng)建尤溪縣的復(fù)本,整個(gè)過(guò)程耗時(shí)56min57s。因?yàn)閯?chuàng)建要素?cái)?shù)據(jù)集、創(chuàng)建版本、創(chuàng)建數(shù)據(jù)庫(kù)用戶和授權(quán)等操作耗時(shí)非常短,因此,不進(jìn)行耗時(shí)統(tǒng)計(jì)。在基于分布式地理數(shù)據(jù)庫(kù)的更新方法中,數(shù)據(jù)入庫(kù)和添加GlobalID字段僅需操作一次,核心要素?cái)?shù)據(jù)將一直存儲(chǔ)在數(shù)據(jù)庫(kù)中。作業(yè)員的數(shù)據(jù)庫(kù)用戶也僅創(chuàng)建一次。每次需要開(kāi)展更新任務(wù)時(shí),項(xiàng)目負(fù)責(zé)人僅需將作業(yè)員的更新范圍分發(fā)下去,作業(yè)員自行在服務(wù)器forEdit版本上創(chuàng)建私有版本,然后創(chuàng)建復(fù)本。創(chuàng)建復(fù)本耗時(shí)與要素的個(gè)數(shù)正相關(guān),一般來(lái)說(shuō),作業(yè)員僅需10min左右就可以完成一個(gè)縣的原始數(shù)據(jù)的準(zhǔn)備?;诜植际降乩頂?shù)據(jù)庫(kù)的更新成果存儲(chǔ)在服務(wù)器的數(shù)據(jù)庫(kù)中,可直接用于服務(wù)和電子地圖配圖等。核心要素?cái)?shù)據(jù)需要每年進(jìn)行全面更新,鐵路、等級(jí)公路等重點(diǎn)要素需要實(shí)時(shí)更新,基于分布式地理數(shù)據(jù)庫(kù)的更新方法具有明顯優(yōu)勢(shì)。在對(duì)重點(diǎn)要素進(jìn)行實(shí)時(shí)更新時(shí),每次更新可能僅有幾個(gè)要素,但為了保證本地?cái)?shù)據(jù)與服務(wù)器數(shù)據(jù)庫(kù)中的數(shù)據(jù)一致,每次更新完都需要進(jìn)行一次入庫(kù),非常耗時(shí)。

3.3復(fù)雜性分析

采用分布式地理數(shù)據(jù)庫(kù)的更新方法比傳統(tǒng)的更新方法復(fù)雜一些,對(duì)項(xiàng)目負(fù)責(zé)人和作業(yè)員有一定要求。項(xiàng)目負(fù)責(zé)人需要掌握數(shù)據(jù)入庫(kù)、創(chuàng)建用戶、創(chuàng)建版本、沖突協(xié)調(diào)、數(shù)據(jù)壓縮等操作,但ArcGIS中都提供了相應(yīng)的工具,不需要掌握與PostgreSQL相關(guān)的操作。作業(yè)員僅需要掌握創(chuàng)建私有版本、創(chuàng)建作業(yè)區(qū)復(fù)本和同步數(shù)據(jù)變化等操作,這些操作也都有相應(yīng)的工具,作業(yè)員僅需要了解每個(gè)工具的參數(shù)設(shè)置即可。

4結(jié)語(yǔ)

省市天地圖的建成對(duì)促進(jìn)地理信息資源共享,提高測(cè)繪地理信息公共服務(wù)水平起到了關(guān)鍵作用,各省每年都要開(kāi)展天地圖數(shù)據(jù)更新工作?;诎姹竞头植际降乩頂?shù)據(jù)庫(kù)的更新技術(shù)流程具有很強(qiáng)的可操作性,對(duì)軟硬件資源要求不高,能顯著提高效率,對(duì)提高天地圖數(shù)據(jù)的現(xiàn)勢(shì)性有很好的作用。如果數(shù)據(jù)庫(kù)服務(wù)器與應(yīng)用服務(wù)器之間建立復(fù)本,數(shù)據(jù)成果可以直接從數(shù)據(jù)庫(kù)服務(wù)器同步到應(yīng)用服務(wù)器。核心要素?cái)?shù)據(jù)更新僅是分布式地理數(shù)據(jù)庫(kù)的一種應(yīng)用場(chǎng)景,版本和分布式地理數(shù)據(jù)庫(kù)靈活結(jié)合的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)支持多種業(yè)務(wù)邏輯??捎糜诳v向的數(shù)據(jù)存儲(chǔ)及聯(lián)動(dòng)更新,如省、市、縣分級(jí)管理的數(shù)據(jù);也可以用于橫向的數(shù)據(jù)共享及聯(lián)動(dòng)更新,如不同的行業(yè)部門之間的數(shù)據(jù)共享。

參考文獻(xiàn)

[1]王建麗.地理空間框架數(shù)據(jù)的聯(lián)動(dòng)更新技術(shù)研究與實(shí)現(xiàn)[J].地理空間信息,2015,13(6):167-168

[2]張小波,李新雙,張俊,等.多源數(shù)據(jù)更新空間框架地理信息技術(shù)[J].城市勘測(cè),2016(12):57-59

[3]付榮祥,吳彬卓,葉哲璐.地理空間數(shù)據(jù)庫(kù)聯(lián)動(dòng)更新技術(shù)[J].測(cè)繪通報(bào),2017(5):136-138

[4]張應(yīng)裕,周博,彭雨滕.數(shù)字城市基礎(chǔ)地理數(shù)據(jù)更新升級(jí)技術(shù)探討[J].測(cè)繪與空間地理信息,2017,40(8):103-105

作者:張壽選 單位:福建省基礎(chǔ)地理信息中心