前言:想要寫出一篇引人入勝的文章?我們特意為您整理了分布式地理數(shù)據(jù)庫在核心要素的應(yīng)用范文,希望能給你帶來靈感和參考,敬請閱讀。
1核心要素?cái)?shù)據(jù)更新現(xiàn)狀分析
“天地圖•福建”核心要素?cái)?shù)據(jù)每年開展一次更新,一般按更新計(jì)劃選擇一部分地市城區(qū)或縣域作為更新區(qū)域,交通作為最重要的要素,需要每年對全省的鐵路和縣道以上的等級道路進(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é)的范圍對全省的核心要素?cái)?shù)據(jù)進(jìn)行裁切(或空間相交),裁切結(jié)果以文件的形式分發(fā)給作業(yè)員,作業(yè)員參考遙感影像、專題數(shù)據(jù)等資料對核心要素?cái)?shù)據(jù)進(jìn)行更新。所有的作業(yè)員完成更新之后,需要再將數(shù)據(jù)進(jìn)行拼接和接邊,項(xiàng)目負(fù)責(zé)人將更新成果發(fā)送給制圖員,制圖員再利用更新成果進(jìn)行電子地圖的配圖和切片。在整個(gè)核心要素?cái)?shù)據(jù)更新的過程中,數(shù)據(jù)以文件的形式流轉(zhuǎn),裁切、拼接和入庫等操作都影響更新效率。更新過程中數(shù)據(jù)保存在作業(yè)員的工作站上,數(shù)據(jù)安全性不能保證,會出現(xiàn)硬盤損壞導(dǎo)致更新過程數(shù)據(jù)丟失的情況。數(shù)據(jù)更新完成后還需要導(dǎo)入應(yīng)用服務(wù)器的數(shù)據(jù)庫中,用于電子地圖配圖和服務(wù)。陳為民等[7]研究了ArcGIS分布式地理數(shù)據(jù)庫技術(shù),設(shè)計(jì)分布式地理數(shù)據(jù)庫同步更新系統(tǒng),實(shí)現(xiàn)市級為主庫和區(qū)級為副庫的分布式數(shù)據(jù)庫同步更新機(jī)制。李永勝等[8]將Geodatabase復(fù)制技術(shù)應(yīng)用于土地利用數(shù)據(jù)庫的管理,實(shí)現(xiàn)了同一數(shù)據(jù)庫平臺下多個(gè)地理數(shù)據(jù)庫間的數(shù)據(jù)雙向同步。核心要素數(shù)據(jù)更新項(xiàng)目負(fù)責(zé)人曾嘗試采用ArcGIS版本化(Versioning)的方法進(jìn)行更新,數(shù)據(jù)庫部署在部門服務(wù)器,10多個(gè)作業(yè)員并發(fā)對數(shù)據(jù)進(jìn)行編輯,但由于硬件資源的限制,會出現(xiàn)無法保存編輯的問題?;诜植际降乩頂?shù)據(jù)庫的更新技術(shù)流程,作業(yè)員編輯數(shù)據(jù)時(shí)不需要訪問服務(wù)器數(shù)據(jù)庫中的數(shù)據(jù),降低了服務(wù)器的負(fù)擔(dān)。
2分布式地理數(shù)據(jù)庫
分布式地理數(shù)據(jù)庫就是將主庫中的全部或部分?jǐn)?shù)據(jù)拷貝到一個(gè)或多個(gè)副庫中,形成數(shù)據(jù)分散存儲的組織方式,地理數(shù)據(jù)庫復(fù)制(GeodatabaseReplication)是實(shí)現(xiàn)數(shù)據(jù)分布的方法。分布式地理數(shù)據(jù)庫允許企業(yè)根據(jù)需要將數(shù)據(jù)從中央服務(wù)器(centralservers)分發(fā)到處于在線或離線的環(huán)境中,作業(yè)員可以在不同位置編輯同一份數(shù)據(jù)。復(fù)本更新后,通過同步(Synchronization)將數(shù)據(jù)變化從一個(gè)復(fù)本發(fā)送到另一個(gè)復(fù)本。通過數(shù)據(jù)分布可以緩解服務(wù)器爭用以及對中央服務(wù)器的網(wǎng)絡(luò)訪問速度慢的情況,從而提高數(shù)據(jù)可用性與性能。這有助于企業(yè)在執(zhí)行編輯的用戶與訪問服務(wù)器以進(jìn)行讀取操作的用戶之間實(shí)現(xiàn)地理數(shù)據(jù)庫負(fù)載均衡。地理數(shù)據(jù)庫復(fù)制的類型有3種:①檢入/檢出復(fù)制;②單向復(fù)制;③雙向復(fù)制。雙向復(fù)制可多次將數(shù)據(jù)變化從父復(fù)本同步到子復(fù)本,或子復(fù)本同步到父復(fù)本,適用于父復(fù)本和子復(fù)本都需要編輯或僅子復(fù)本需要編輯的情景,因此,在核心要素?cái)?shù)據(jù)更新過程中主要使用雙向復(fù)制。創(chuàng)建雙向復(fù)制的父復(fù)本和子復(fù)本必須是在ArcSDE地理數(shù)據(jù)庫中。
3更新流程設(shè)計(jì)
根據(jù)ArcGIS的版本化和分布式地理數(shù)據(jù)庫的功能,通過設(shè)計(jì)合理的技術(shù)流程,將分布式地理數(shù)據(jù)庫用于“天地圖•福建”核心要素?cái)?shù)據(jù)的更新作業(yè)。
3.1更新技術(shù)流程
參與核心要素更新的人員分為4類:①數(shù)據(jù)庫管理員(負(fù)責(zé)數(shù)據(jù)庫的運(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ù)的一級檢查和二級檢查)。1)安裝配置數(shù)據(jù)庫。服務(wù)器端和工作站均采用ArcSDE+PostgreSQL地理數(shù)據(jù)庫,由數(shù)據(jù)庫管理員負(fù)責(zé)安裝。選擇PostgreSQL主要是因?yàn)槠涔δ茏阋灾吻f級數(shù)據(jù)量的管理,支持ArcSDE的完整功能,而且安裝文件很小,安裝、配置和管理非常方便。數(shù)據(jù)庫管理員負(fù)責(zé)在PostgreSQL中為更新創(chuàng)建forSDE數(shù)據(jù)庫。2)數(shù)據(jù)入庫及注冊。項(xiàng)目負(fù)責(zé)人在forSDE中創(chuàng)建要素?cái)?shù)據(jù)集,將核心要素?cái)?shù)據(jù)導(dǎo)入該要素?cái)?shù)據(jù)集中。分布式地理數(shù)據(jù)庫需要依賴GlobalID字段,因此,數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫之后必須添加GlobalID字段并賦值。項(xiàng)目負(fù)責(zé)人對服務(wù)器端的要素?cái)?shù)據(jù)集執(zhí)行注冊版本(RegisterAsVersion),注冊時(shí)不能勾選將編輯內(nèi)容移動到基表的功能,將DEFAULT版本設(shè)置為受保護(hù)(Protected),然后從DEFAULT版本創(chuàng)建forEdit版本,并將forEdit版本設(shè)置為受保護(hù)(Protected)。3)創(chuàng)建用戶及復(fù)本。項(xiàng)目負(fù)責(zé)人使用創(chuàng)建數(shù)據(jù)庫用戶(CreateDatabaseUser)工具為每一個(gè)作業(yè)員創(chuàng)建一個(gè)數(shù)據(jù)庫用戶,并使用更改權(quán)限(ChangePrivileges)使工具授權(quán)作業(yè)員可以訪問forSDE中的要素?cái)?shù)據(jù)集。此時(shí)每個(gè)作業(yè)員可以連接訪問2個(gè)數(shù)據(jù)庫:服務(wù)器數(shù)據(jù)庫和本地?cái)?shù)據(jù)庫。作業(yè)員連接服務(wù)器端數(shù)據(jù)庫,在地理數(shù)據(jù)庫管理中從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ù)本將無法同步,因?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ù)參考資料對本地?cái)?shù)據(jù)庫的數(shù)據(jù)進(jìn)行更新。在更新過程中,本地?cái)?shù)據(jù)庫完全可以與服務(wù)器斷開,不需要與服務(wù)數(shù)據(jù)庫進(jìn)行同步。2)質(zhì)量檢查。質(zhì)檢員、項(xiàng)目負(fù)責(zé)人可以在作業(yè)員更新過程中對數(shù)據(jù)進(jìn)行檢查,提前發(fā)現(xiàn)問題,通知作業(yè)員進(jìn)行修改,將質(zhì)量問題消除在生產(chǎn)環(huán)節(jié),保證數(shù)據(jù)更新的質(zhì)量。質(zhì)檢員和項(xiàng)目負(fù)責(zé)人直接連接每個(gè)作業(yè)員的本地?cái)?shù)據(jù)庫進(jìn)行質(zhì)量檢查,不需要拷貝數(shù)據(jù)。3)同步和協(xié)調(diào)。作業(yè)員通過同步數(shù)據(jù)變化(SynchronizeChanges)工具將本地?cái)?shù)據(jù)庫中的更新數(shù)據(jù)同步到服務(wù)器端私有版本,同步的方向是從子復(fù)本向父復(fù)本,此時(shí),更新的數(shù)據(jù)已經(jīng)同步到服務(wù)器端作業(yè)員的私有版本。作業(yè)員在更新過程中,也可以根據(jù)需要定期將數(shù)據(jù)變化同步到服務(wù)器,避免本地?cái)?shù)據(jù)出現(xiàn)問題,造成更新過程數(shù)據(jù)丟失。作業(yè)員的私有版本提交到forEdit版本時(shí),必須進(jìn)行沖突檢測和協(xié)調(diào)。沖突發(fā)生在以下情況:①當(dāng)前編輯的版本和目標(biāo)版本中對同一要素進(jìn)行更新;②某個(gè)版本中更新了一個(gè)要素,而另一版本中刪除了此要素;③當(dāng)前編輯的版本和目標(biāo)版本中修改與要素或關(guān)系類關(guān)聯(lián)的拓?fù)?。開始更新時(shí)每個(gè)作業(yè)員創(chuàng)建了一個(gè)私有版本,更新時(shí)作業(yè)員之間相互獨(dú)立,跨相鄰2個(gè)作業(yè)區(qū)域的要素會存在沖突,特別是交通和水系要素。使用版本管理工具條的協(xié)調(diào)進(jìn)行沖突檢測,檢測到?jīng)_突時(shí)會激活沖突窗口。在同步和協(xié)調(diào)過程中,增量表會不斷增大,狀態(tài)越來越多,數(shù)據(jù)庫性能會慢慢下降。為了提高數(shù)據(jù)庫性能,必須定期對數(shù)據(jù)庫進(jìn)行壓縮(Compress)。
3.2耗時(shí)分析
服務(wù)器端是一臺部門用于電子地圖切片的服務(wù)器,操作系統(tǒng)采用WindowsServer2008R2,處理器XeonE5-2650V2@2.6GHz×2,內(nèi)存32GB。服務(wù)器和工作站均安裝ArcGIS10.2+PostgreSQL9.1.3,福建省核心要素?cái)?shù)據(jù)約714萬個(gè)。核心要素?cái)?shù)據(jù)導(dǎo)入服務(wù)器數(shù)據(jù)庫耗時(shí)34min38s,添加GlobalID字段并賦值耗時(shí)18min58s,注冊版本耗時(shí)12s。在一臺工作站的數(shù)據(jù)庫中創(chuàng)建尤溪縣的復(fù)本耗時(shí)3min9s,該縣的總要素個(gè)數(shù)為約13萬。從數(shù)據(jù)入庫到創(chuàng)建尤溪縣的復(fù)本,整個(gè)過程耗時(shí)56min57s。因?yàn)閯?chuàng)建要素?cái)?shù)據(jù)集、創(chuàng)建版本、創(chuàng)建數(shù)據(jù)庫用戶和授權(quán)等操作耗時(shí)非常短,因此,不進(jìn)行耗時(shí)統(tǒng)計(jì)。在基于分布式地理數(shù)據(jù)庫的更新方法中,數(shù)據(jù)入庫和添加GlobalID字段僅需操作一次,核心要素?cái)?shù)據(jù)將一直存儲在數(shù)據(jù)庫中。作業(yè)員的數(shù)據(jù)庫用戶也僅創(chuàng)建一次。每次需要開展更新任務(wù)時(shí),項(xiàng)目負(fù)責(zé)人僅需將作業(yè)員的更新范圍分發(fā)下去,作業(yè)員自行在服務(wù)器forEdit版本上創(chuàng)建私有版本,然后創(chuàng)建復(fù)本。創(chuàng)建復(fù)本耗時(shí)與要素的個(gè)數(shù)正相關(guān),一般來說,作業(yè)員僅需10min左右就可以完成一個(gè)縣的原始數(shù)據(jù)的準(zhǔn)備?;诜植际降乩頂?shù)據(jù)庫的更新成果存儲在服務(wù)器的數(shù)據(jù)庫中,可直接用于服務(wù)和電子地圖配圖等。核心要素?cái)?shù)據(jù)需要每年進(jìn)行全面更新,鐵路、等級公路等重點(diǎn)要素需要實(shí)時(shí)更新,基于分布式地理數(shù)據(jù)庫的更新方法具有明顯優(yōu)勢。在對重點(diǎn)要素進(jìn)行實(shí)時(shí)更新時(shí),每次更新可能僅有幾個(gè)要素,但為了保證本地?cái)?shù)據(jù)與服務(wù)器數(shù)據(jù)庫中的數(shù)據(jù)一致,每次更新完都需要進(jìn)行一次入庫,非常耗時(shí)。
3.3復(fù)雜性分析
采用分布式地理數(shù)據(jù)庫的更新方法比傳統(tǒng)的更新方法復(fù)雜一些,對項(xiàng)目負(fù)責(zé)人和作業(yè)員有一定要求。項(xiàng)目負(fù)責(zé)人需要掌握數(shù)據(jù)入庫、創(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é)語
省市天地圖的建成對促進(jìn)地理信息資源共享,提高測繪地理信息公共服務(wù)水平起到了關(guān)鍵作用,各省每年都要開展天地圖數(shù)據(jù)更新工作?;诎姹竞头植际降乩頂?shù)據(jù)庫的更新技術(shù)流程具有很強(qiáng)的可操作性,對軟硬件資源要求不高,能顯著提高效率,對提高天地圖數(shù)據(jù)的現(xiàn)勢性有很好的作用。如果數(shù)據(jù)庫服務(wù)器與應(yīng)用服務(wù)器之間建立復(fù)本,數(shù)據(jù)成果可以直接從數(shù)據(jù)庫服務(wù)器同步到應(yīng)用服務(wù)器。核心要素?cái)?shù)據(jù)更新僅是分布式地理數(shù)據(jù)庫的一種應(yīng)用場景,版本和分布式地理數(shù)據(jù)庫靈活結(jié)合的數(shù)據(jù)存儲結(jié)構(gòu)支持多種業(yè)務(wù)邏輯。可用于縱向的數(shù)據(jù)存儲及聯(lián)動更新,如省、市、縣分級管理的數(shù)據(jù);也可以用于橫向的數(shù)據(jù)共享及聯(lián)動更新,如不同的行業(yè)部門之間的數(shù)據(jù)共享。
參考文獻(xiàn)
[1]王建麗.地理空間框架數(shù)據(jù)的聯(lián)動更新技術(shù)研究與實(shí)現(xiàn)[J].地理空間信息,2015,13(6):167-168
[2]張小波,李新雙,張俊,等.多源數(shù)據(jù)更新空間框架地理信息技術(shù)[J].城市勘測,2016(12):57-59
[3]付榮祥,吳彬卓,葉哲璐.地理空間數(shù)據(jù)庫聯(lián)動更新技術(shù)[J].測繪通報(bào),2017(5):136-138
[4]張應(yīng)裕,周博,彭雨滕.數(shù)字城市基礎(chǔ)地理數(shù)據(jù)更新升級技術(shù)探討[J].測繪與空間地理信息,2017,40(8):103-105
作者:張壽選 單位:福建省基礎(chǔ)地理信息中心