蘭志武
(福州市勘測院,福建福州 350003)
城市空間資源數據庫同步技術研究
蘭志武?
(福州市勘測院,福建福州 350003)
城市空間資源數據庫實時同步問題,是當前城市空間信息資源開發與應用亟待解決的問題,它對于提高地理空間信息現勢性與應用水平具有重要的理論和實踐意義。通過分析空間信息資源同步技術需求和現有技術的不足,提出了基于空間匹配分類更新模式的同步技術方案,重點探討了“空間要素快速匹配技術”、“基于WCF信息快速傳輸技術”、“ArcSDE版本管理”、“原子鐘授時同步控制技術”等關鍵技術的開發與應用。技術方案在ArcEngine10.1+ VS.NET 2010平臺上實現,并經過福州市勘測院生產實踐的檢驗,證明其可行性實用性。
空間信息同步;要素匹配;信息傳輸
目前,反映地理空間環境的城市空間資源數據庫處于不斷變化之中,單一空間資源數據庫系統難以同時滿足生產與應用雙重要求,給日常應用帶來很大壓力。為此大多數城市勘測院采用空間信息“生產庫”與空間信息“應用庫”相互分離的模式[1]。此外、目前政府部門大多也是采用“應用庫”(即生產庫副本)模式共享空間信息資源。
如何將“生產庫”中的變化信息及時反映到“應用庫”中,即所謂空間資源數據庫同步問題。由于技術上的原因,目前解決同步問題主要依靠簡單替代法,也就是用“生產庫”中某區域的數據直接替換“應用庫”中同區域的數據。這種方法雖然簡單實用,但需要人工操作完成,不僅影響“應用庫”的更新效率,造成“應用庫”現勢性的嚴重滯后,而且嚴重損害空間信息變化的真實性,應用上造成非空間信息失去空間關聯。
可見,在空間信息快速獲取能力足以保障空間數據生產實時響應地理環境變化的情況下,如何為“應用空間數據庫”實時分發變化信息,解決“生產庫”與“應用庫”之間同步問題,是當前城市空間資源數據庫維護更新亟待解決的問題。
1.1 城市空間資源數據庫同步技術需求分析
通過對福州市空間資源數據庫實例的深入分析,可概括為如下三類同步問題:
(1)適應城市空間環境的快速變化
福州市勘測院在2009年建立覆蓋全市800 km2的基礎空間數據庫生產系統之后,利用竣工測量、規劃修測任務、航空遙感等對1∶500數據進行不間斷的修測,這些任務雖然范圍不大,但數目眾多,幾乎每天有數十件,基本上只能采用離線作業方式(因外業特點或所用技術的關系)。而離線作業產生的變化信息需要及時合并到生產數據庫中,才能保證前臺售圖業務(帶有政府職能性質)滿足用戶要求。
(2)適應城市空間信息更新區域化
隨著福州市勘測院業務的拓展,先后組建了平潭、福清、長樂、閩侯、永泰等分院,以滿足空間生產更新區域化需要。這些區域子庫的變化信息需要盡快同步到總院中心數據庫。
(3)解決應用庫現勢性滯后的問題
目前福州市規劃局、國土局等單位采用“應用庫”形式共享福州市空間資源數據庫的信息,勘測院采用定期(通常一個月)區域簡單替代方法對各應用庫進行更新,這種方法雖然簡單易行,但人工管理工作量大,更新周期長,而且嚴重損害了空間數據庫變化的真實性,應用上造成非空間信息失去空間關聯。客觀上迫切需要解決這類問題的新技術新方法。
1.2 現有空間數據庫同步技術分析
為解決數據維護更新的同步問題,GIS業界做出了許多嘗試,總體來說,可歸納為兩類更新模式:“區域整體更新”模式、“區域增量更新”模式[1],增量更新模式可細分為:基于全球GloblID模式、基于時間軸模式、空間匹配分類三類。下面就其優缺點分別進行分析:
(1)區域整體更新模式分析
區域整體更新就是將空間數據庫中某區域的數據全部替換,這種方法簡單實用,對于更新周期為2年~3年甚至更長的情況是合適的,它是大多數空間數據庫常用方法。主要問題是:
①必須有清晰的區域邊界;
②沒有顧及空間信息數據庫變化的真實性;
③非空間信息將全部失去空間關聯。
(2)基于GloblID增量更新模式分析:
ArcGIS 9.2版本后,提供了基于【GloblID】同步復制功能,包括三種方式[2]:
簽入簽出方式:數據check out為gdb格式,離線編輯完成后,再check in,實質上是使用ArcSDE版本管理功能。
One Way:兩個SDE數據庫之間建立單向同步復制關系。
Two Way:兩個SDE數據庫之間建立雙向同步復制關系。
ArcGIS三種方式局限性在于:
①每一個數據集必須支持【GloblID】字段,以標識每條記錄在該gdb內或gdb之間的唯一性。數據編輯處理強烈依賴ArcGIS軟件,否則將造成GloblID混亂。但目前大多單位都采用國產地理信息編輯處理軟件。
②只適合同構SDE數據庫,對于異構空間數據庫更新則不適用。
③每種方式對操作人員的要求很高。
(3)基于時間軸的增量更新模式分析
清華三維EPS 2008軟件推出了基于時間軸的數據庫離線更新方式,支持【修改時間】字段等表述要素更新時間的信息,以此判斷哪些信息被修改,哪些信息被刪除等等。該技術主要局限在于:
①數據生產軟件必須嚴格支持時間特性,即對任何要素的修改變化,添加,刪除等都能夠準確記錄發生的時間。除EPS軟件外,尚未發現其他軟件支持這種時間特性。
②此外、如果計算機的時鐘收到某種干擾,時間發生紊亂,數據變化信息將出現嚴重混亂。EPS軟件為解決此問題加密狗配備了專用授時的原子鐘。
(4)空間匹配分類更新模式分析
上述模式還存在相同缺陷:它們僅從“數據編輯”的角度考察空間信息的變化,信息變化真實性依賴操作員的作業習慣。例如,一個空間目標幾何形態發生少許變化,如果采取刪除原來、創建新目標的方式,則事物變化的真實性被破壞。
武漢大學遙感信息工程學院,吳建華,傅仲良在《數據更新中要素變化檢測與匹配方法》一文中,提出在要素類之間缺乏同名實體關聯關系的情況下,基于權重的空間要素相似性計算模型,并基于該模型對復雜空間關系下的要素進行了匹配[3],取得一定效果,尚處于理論研究階段,實用性不強。
2.1 技術目標與要求
(1)準實時、可定制
考慮到將來應用庫越來越多,應用庫現勢性要求各不相同,可考慮5個等級同步周期,最快每天同步一次,同步時間安排在晚上12點,基本上不影響信息的使用。

應用庫同步更新周期表 表1
(2)無人值守,全自動控制;
(3)支持多對一同步更新模式,即多個區域“生產庫”更新一個“中心庫”;一對多分發模式,一個“生產庫”服務多個“應用庫”;
(4)采用空間匹配分類更新模式,不依賴任何特定軟件,避免非空間信息關聯失效;
(5)安全、可靠、快速。
2.2 系統結構與工作原理
(1)系統結構
系統采用“3+1”系統結構(如圖1所示),由3個子系統(“信息提取子系統”、“數據更新子系統”、“信息傳輸子系統”),和一個“管理網站”4個部分組成。

圖1 系統結構示意圖
(2)系統工作原理
系統采用“推拉式”工作方式協同工作,即:“信息提取子系統”定時提取生產庫中變化信息,并上傳至“Web服務器”,稱為“推”;“數據更新子系統”定時查看Web服務器是否存在最新更新信息,如果存在,則下載更新信息并更新應用數據庫,稱為“拉”。
以上過程由原子鐘觸發(同時支持人工觸發,以解決特殊需要),觸發時間根據更新周期要求在管理網站中配置;“信息傳輸子系統”提供信息傳輸的通道,“管理網站”提供配置管理和信息發布功能。
2.3 子系統設計
(1)信息提取子系統
部署在生產服務器端,包括以下3個模塊,采用Oracle 10g+ArcEngine 10.1+Visual Studio 2010開發。
①數據提取模塊;
②數據打包模塊;
③調度控制模塊(原子鐘同步控制,信息上傳,過程監視)。
(2)數據更新子系統
部署在應用服務器端,包括以下5個模塊,采用Oracle 10g+ArcEngine 10.1+Visual Studio 2010開發。
①調度控制模塊(原子鐘同步控制,信息下載接口,過程監視);
②信息校驗模塊(完成解密、一致性檢查);
③信息匹配模塊(圖形匹配、屬性匹配);
④信息更新模塊(版本管理、信息更新);
⑤異常處理模塊(異常捕獲、異常記錄、異常處理操作)。
(3)信息傳輸子系統與管理網站
部署在Web服務器端,提供信息中轉服務(接收信息提取子系統上傳信息,響應信息更新子系統的下載請求)。“信息傳輸子系統”采用寄宿方式(在IIS中)與“管理網站”相互集成,共包括以下4個模塊:
①信息傳輸模塊:采用WCF+Visual Studio 2010開發;
②信息中轉服務模塊:采用SQL Server 2008+Visual Studio 2010開發;
③權限管理模塊:采用Website+Visual Studio 2010開發;
④信息管理模塊(信息查詢,統計等):采用Website+Visual Studio 2010開發。
系統涉及的主要關鍵技術有:
①空間目標快速匹配技術;
②基于WCF信息快速傳輸技術;
③原子鐘授時同步控制技術;
④ArcSDE版本管理技術。
3.1 空間目標快速匹配技術
地理要素匹配其本質是通過分析兩個數據集(新舊版本)中空間目標的差異與相似性,識別出不同數據集中表達現實世界同一地理要素的空間目標,目的是使計算機具備確定同名地物是否發生變化的人機智能[1]。
(1)現有匹配技術的不足
就明確定義的點、線、面要素而言,國內外學者進行了深入的探討與研究,提出了許多方法(Hausdorff, Fourier,夾角鏈碼法等)[4,5],主要涉及形狀相似度。不足之處在于:
①形狀相似度匹配可能與事實相背離,在空間數據庫更新過程中,不相似的地物未必不匹配。例如:一些人工地物的修改后(例如:建筑物的改建擴建,道路延伸,土地地塊用途的改變等)和原來的形狀可能完全不相似。
②屬性變化作用被忽視。在空間數據庫更新過程中關鍵屬性的變化可能起到決定性作用,一些很相似的地物未必匹配,例如:在原址上建筑物重建(平房變為高樓),新舊地物空間相似度可能很高,但和原來的地物已經沒有關系。
③計算效率太低失去實用性。有些算法理論上嚴密,但計算太復雜,例如Walter&Fritsch概率統計的匹配法[6]。
(2)漸進式匹配模型
針對空間數據庫更新的特點,系統采用兼顧匹配準確率和匹配效率的漸進式匹配模型,如圖2所示:

圖2 漸進式匹配流程示意圖
①先采用以重疊度計算為依據的簡化識別模型[7],新舊要素重疊度大于85%識別為同名要素,新舊要素重疊度小于50%識別為不同名要素,在50%~85%之間為待定。實驗表明:簡化模型可解決80%以上識別問題。
②對剩余15%待定空間目標進行第二次匹配。采用兩種策略,對于自然變遷要素數據層采用Fourier描述子進行相似匹配,分別將新舊地物輪廓線進行Fourier數值積分變換,利用Fourier變換能量集中的性質,將前20階系數進行比對,得出形狀相似度。
對于人工地物數據層,采用“最大基因組比對法”(GeneCompare)進行相似匹配,將新舊地物輪廓線分解為一系列等長線段,看作生物基因鏈,通過平移旋轉操作使新舊地物盡量對齊,然后根據對齊后相互重疊的最大基因組數,計算形狀相似度。
③在空間匹配計算不能判定之后進行“語義相似度”計算,作為最后決策的參考。計算未變化字段與總屬性字段的數量比例,剔除大于85%(標記為匹配)和小于50%(標記為不匹配)情況。對剩余情形,先采用基于分詞的中文文本相似度計算法(對文本型字段),或采用差異距離法(對數值型字段)計算單個字段相似度,再將所有字段相似度進行綜合求得整體語義相似度。
3.2 基于WCF信息傳輸技術
由于空間要素信息大,往往達到幾百兆甚至很多(幾個G);要求信息傳輸可支撐大數據量的訪問負荷,傳輸速度要求快,傳輸安全級別高,穩定性要求高。
(1)高壓縮比壓縮算法
壓縮技術是有效減少網絡信息傳輸量的關鍵技術,系統采用LZMA算法將ArcSDE導出的gdb數據進行壓縮,然后再送入傳輸通道。經試驗研究表明:比Zip壓縮的數據量小30%~70%,極大減少信息傳輸流量。
(2)WCF信息傳輸通道
WCF(Windows Communication Foundation)是Microsoft為構建面向服務的應用程序而提供的統一信息傳輸編程模型[8]。WCF采用最基本的SOAP通信機制保證了信息傳輸的高效率,在一般網絡條件下可達到20-100兆/秒,與其他技術相比傳輸速度更快。同時具有CIA特性(機密性、完整性、可驗證性),極大地強化了安全控制。
WCF以契約(Contract)來定義雙方通信的協議,契約必須以接口的方式來體現,本文采用C#面向對象語言實現。契約通過綁定機制(Binding)連接到具體通信地址(Address),可以采用編程方式和配置方式,本系統采用配置方式實現,以提供更好靈活性。
由于WCF集合了幾乎由.NET Framework所提供的通信方法,因此駕馭曲線非常陡峭。為獲得安全快速的傳輸效果,本系統最終決定采用技術先進但開發難度很大的WCF技術。
3.3 ArcSDE版本管理技術
ArSDE版本管理技術使得一個GeoDatabase能夠有很多Version,用戶可以創建一個臨時GeoDatabase版本進行編輯操作。本系統為確保應用數據更新安全,更新時先利用ArcSDE版本管理建立“緩沖版本”進行更新操作,不直接修改數據庫;待更新過程成功后再提交給最終版本[9]。
(1)建立緩沖版本(長事務);
(2)根據更新信息,采用匹配算法提取變化信息;
(3)編輯修改緩沖版本中的要素;
(4)版本提交(更新數據庫)。
3.4 同步控制技術
(1)時間同步器
受到不明原因的干擾致使計算機時間錯亂的現象常有發生。因此,為避免計算機自帶時鐘穩定性問題可能導致的更新信息和操作順序的紊亂,在各服務器端部署基于“外部時間源”的時間同步器接管服務器時鐘控制器:“外部時間源”采用不受軟件干擾的原子鐘。主要作用是:為服務器提供高精度、高穩定性的時間計數,提供時間參數配置、時間校準等。
(2)調度控制器
調度控制器設計為連續運行的Windows Service程序,部署在生產服務器(調度提取子系統)或應用服務器(控制更新子系統),如圖3所示:其工作過程如下:

圖3 調度控制器工作原理示意圖
①定期激活更新任務(提取上傳或下載更新);
②將“更新任務”按先后順序放入“任務隊列”排隊等候執行;
③執行應用程序;
④監控應用程序;
⑤異常處理。
本文技術方案采用ArcGIS Engine 10.1+Visual C#開發實現,系統完成后在福州市勘測院1∶500資源空間數據庫進行更新試驗,試驗結果表明:本文提出設計開發的同步技術,針對性強,運算速度快,目前已成為福州市空間資源數據庫重要組成部分。
主要結論可歸納如下:
(1)同步技術的使用,極大提高空間信息自動化和智能化水平,省去了許多麻煩的人工操作工作量并保證工作質量。
(2)系統采用空間匹配分類模型,做到不管數據生產方式如何,作業員的作業習慣如何,都可準確判別要素的變化類型,對于維護空間信息數據庫變化的真實性(最大限度保障非空間信息不失去關聯)提供了技術保障。
(3)研究成果應用于“應用空間數據庫”的實時分發,有利于提高“數字城市”空間數據框架現勢性,契合當代智慧城市發展的迫切需要,研究成果可為同類型城市空間數據庫更新維護、應用分發等借鑒和參考。
[1] 白立舜.空數據庫更新模式、技術與方法[J].城市勘測, 2012(6).
[2] 吳建華,傅仲良.數據更新中要素變化檢測與匹配方法[J].計算機應用,2008(6).
[3] 肖建平,程琦.基于ArcGIS的數據庫分發機制的數據庫同步及更新[J].2011.
[4] 王濤,劉文印,孫家廣等.傅立葉描述子識別物體的形狀[J].計算機研究與發展,2002,13(12):1715~1718.
[5] 趙宇,陳雁秋.曲線描述的一種方法:夾角鏈碼[J].軟件學報,2004(2).
[6] Kieler B,Sester M,Wang H,etal.Semantic Data Integration: Data ofSimilarandDifferentScales.Photogrammetrie Femerkundung Geoinformation[J].2007(6):447~457.
[7] 陳杰.矢量地圖信息定量度量方法研究[D].中南大學, 2009.
[8] 嚴商.基于WCF的分布式程序的研究與實現[D].武漢理工大學,2008.
[9] 李進強.基于時態的城市空間數據庫多用戶并發更新系統的研究與實現[J].福建建筑,2008(3).
Research on Synchronization Technology of Urban Spatial Resource Database
Lan Zhiwu
(Fuzhou Investigation and Surveying Institute,Fuzhou 350003,China)
Urban spatial resource database real-time synchronization problems,is the current development and application of urban spatial information resource problems,it has important theoretical and practical significance to improve the currency of geospatial information and application level.This paper analyzes the spatial information resources deeply synchronization technology needs and the deficiency of existing technology.puts forward a synchronization scheme based on spatial matching classification update mode,focusing on the“spatial feature fast matching technology”,“fast information transmission technology based on WCF”,“ArcSDE version management”,“atomic clock timing synchronous control technology”and soon on key technology development and application.Technical proposal on“ArcEngine10.1+2010 VS.NET”platform implementation,by the production test of Fuzhou Survey&Mapping Institute has proved it’feasibility& Practicability.Research results can provide reference for the same type urban to spatial database update maintenance.
spatial Information synchronous;feature matching;information transmission
1672-8262(2014)06-40-05
P208.1
A
2014—06—22
蘭志武(1967—),男,高級工程師,主要從事測繪生產與技術管理工作。