Geodatabase版本控制原理剖析

          Posted on 2008-09-01 14:55 黎民 閱讀(1191) 評論(0)  編輯  收藏 所屬分類: GIS原理
          來源:國土資源部信息中心 作者:任娟

          空間數據管理一直是GIS研究的重點,隨著人們對地理空間認知程度的加深以及計算機技術的飛速發展,目前空間數據管理方式已經脫離了傳統的文件系統,直接由數據庫系統統一管理。由于空間數據庫規模擴大和用戶激增,GIS的數據處理工作流和數據共享機制需要長事務支持,以完成多用戶同時對空間數據的編輯修改和歷史數據的回溯管理。本文詳細分析了ESRI面向對象地理模型(Geodatabase)版本控制的基本原理,為有效控制多用戶并發操作沖突、維護空間數據的完整性和一致性、提高歷史數據的管理水平提供參考。

          一、 Geodatabase簡介

          地理數據模型是地理實體及其關系的形式化抽象和數學描述。隨著數據庫、面向對象等技術的發展,面向對象的地理數據模型成為大型空間數據庫的首選方案,它克服了傳統地理數據模型的局限性,將具有復雜結構的一個邏輯整體視為一個對象,提供了概念模型到邏輯數據模型以至物理模型的一致描述,從而大大提高了管理效率,同時也為版本管理、動態模式修改等功能的實現創造了條件。

          Geodatabase是ESRI公司在其ArcGIS產品中引入的全新面向對象空間數據模型,是建立在標準關系型DBMS之上的統一的、智能化的空間數據庫。它在同一模型框架下對GIS通常所處理和表達的地理空間要素,如:矢量、柵格、三維要素、網絡及要素間的關系和拓撲規則等,進行統一的描述。圖1描述了Geodatabase中的元素及其組織。


          Geodatabase是圖形數據和屬性數據的容器,它們全部存儲在關系數據庫(RDBMS)中,而且針對不同的關系數據庫提供了Geodatabase的兩個不同版本:Personal Geodatabase(個人版)和Multiuser Geodatabase(多用戶版)。Personal Geodatabase基于微軟公司的Access數據庫實現,方便高效,一個Geodatabase為一個mdb文件,由于受Access數據庫本身限制,Personal Geodatabase許多功能也受到限制;針對Oracle、SQLServer一類的大型數據庫,ESRI提供了Multiuser Geodatabase,并通過ArcSDE(空間數據引擎)完成對其的訪問操作。相對于Personal Geodatabase,Multiuser Geodatabase沒有存儲容量的限制,而且還支持多用戶在線編輯、工作流、版本管理等高級特性。總之,相比其它空間數據模型,Geodatabase具有如下的特點:
          (1)       在同一數據庫中統一管理各種類型的空間數據;
          (2)       通過合法性規則檢查,空間數據的錄入和編輯更加準確;
          (3)       空間數據更面向實際的應用領域;
          (4)       可以表達空間數據之間的相互關系;
          (5)       可管理連續的空間數據,無需分幅、分塊;
          (6)       支持空間數據的版本控制和多用戶并發操作;
          正是由于Geodatabase的上述特點,使其廣泛應用于國土、規劃等各個領域。
          二、版本控制原理隨著空間數據庫應用擴大和用戶激增,對空間數據的處理和應用不再局限于單機模式,而是在一個相互連接的網絡環境中進行,這大大提高了空間數據的共享程度,擴展了GIS的應用范圍,但由此而來的就是對于需要長時間、多步驟才能完成的海量空間數據的處理,如何才能保證其完整、一致;如何才能保證網絡中多個用戶對同一目標編輯修改的正確性;如何再現現勢數據多次變更的歷史過程,對于這一系列的問題,Geodatabase通過版本控制提供了完備的解決方案,提供了對GIS的數據處理工作流和長事務的支持,通過數據緩沖和提交時的取舍判斷有效協調(Reconcile)多用戶同時對空間數據編輯修改的并發操作,還可實現空間歷史數據的回溯管理。本文將以 Geodatabase為例,講述空間數據庫版本管理的基本原理。
          所謂版本控制,就是記錄并管理數據庫在變更、演化過程中各個階段的狀態信息,一個版本就是數據庫在一個階段的邏輯快照,它并不復制數據庫,但卻反映數據庫在那一階段的全貌。對于建立在關系數據庫基礎之上的面向對象地理數據模型,其版本管理的實質是在關系數據庫管理系統(RDBMS)中利用一組特定模式的關系表格,實現空間數據庫狀態信息的管理維護。

          2.1.數據庫狀態



          數據庫狀態是記錄數據庫變化的一個容器,當修改某一特定數據庫時,其變更即被標示為一個狀態。由于數據庫的變更總是從其前一狀態開始,因此記錄數據庫變更的一系列狀態就形成了一棵狀態樹。
          對樹中的每個狀態結點,都具有打開和關閉兩種狀態,對數據庫的任何增、刪、修改都只能在打開狀態下進行。

          2.2.空間數據庫版本
          空間數據庫版本是指向某一特定數據庫狀態的數據庫記錄,創建空間數據庫的一個版本實際是生成并選擇了空間數據庫的某一狀態,從而產生了整個空間數據庫的邏輯快照,DBMS通過維護各個版本的狀態信息使用戶在各版本中進行獨立的事務處理而互不影響。
          當不同用戶編輯不同版本空間數據庫時,所有中間結果都緩存在各自的數據庫狀態之中,當對數據庫編輯完畢并提交數據成果時,空間數據庫管理系統通過對比各版本所指向的數據庫狀態,檢查各狀態下空間數據庫的修改內容,并以交互方式或事先設定好的取舍方案保留不同版本中的變更要素,這種協調機制解決了不同狀態中因對同一記錄的修改而引起的版本沖突,保證空間數據庫的完整一致性,實現多用戶對空間數據的并發操作、長事務處理,通過追蹤不同版本的數據庫狀態還可以實現歷史數據回溯等多項功能。
          2.3.版本管理關系模式
          對于通過記錄數據庫狀態維護空間數據庫版本的邏輯思想,在關系型數據庫中可以通過一組特定模式的關系表格在整個空間數據庫和要素層兩個層次上來控制實現。
          對于Geodatabase空間數據庫,在數據庫層次上,系統利用VERSIONS,STATES,STATE_LINEAGES三個表分別記錄空間數據庫每個版本的名稱、創建者、創建時間、所指向的數據庫狀態以及數據庫狀態間的線索聯系等信息,同時還提供了利用一個名為MVTABLES_MODIFIED的表記錄那些被修改過的空間數據庫中的表以加速數據提交時的沖突判斷,提高數據提交效率。這四個表為整個系統所共享。
          在要素層層次上,則利用BASE,ADDITIONS,DELETIONS三張表格和它們的版本化視圖,其中BASE表記錄原始狀態的數據,ADDITIONS和DELETIONS分別記錄對BASE表的增加和刪除等修改信息,版本化視圖則提供以上三個表格重構的特定數據庫版本的內容。
          圖3給出了用于實現Geodatabase版本控制的數據庫模式的關系結構圖,該圖雖然是Geodatabase版本管理的實現模式,但它同樣表示了建立在關系數據庫基礎上的面向對象地理數據模型版本管理實現的一般方法。

          2.4.控制過程示例
          在對版本控制基本理論介紹之后,本節作者給出一個Geodatabase版本控制的過程示例,說明了版本控制如何應用于多用戶同時對空間數據庫的操作以及歷史數據回溯管理。
          設有A、B兩用戶共同操作一個Geodatabase的V0版本:首先用戶A創建新版本,向其中增加1、2兩個要素,并提交數據;接著B用戶生成新版本,增加3號要素、修改2號要素;與此同時,A再次生成新版本,刪除2號要素、修改1號要素并提交;最后B提交數據成果。對上述的各步操作,圖4給出了數據庫狀態樹圖示,表1給出Geodatabase的版本、內容以及相應數據庫狀態變化的全過程。
          上述的實例中,當用戶B最終提交數據成果時,其版本中的1、2號元素和V0版本中的產生沖突,用戶可選擇自己的協調方案,取舍用戶的修改結果,表1給出了用戶B接受V0版本中1號元素,使用V2中2號元素這一方案下的結果。


          該示例描述了多用戶對空間數據庫的并發操作,以及版本沖突時確保數據完整一致的協調解決方法,用戶可通過追蹤上表中空間數據庫的各個狀態,獲取任一狀態的數據庫變更情況,從而實現歷史數據的回溯與管理。

          三、應用實例


          廣州市國土信息數據庫管理系統是廣州市國土資源和房屋管理局信息化建設的重要組成部分,為廣州市國土資源數據提供了標準化的集中管理,并且建立起了國土數據生產、入庫、更新、分發和應用的完整機制,為全局的業務辦理提供了最大程度的自動化和數據服務。系統主要具有如下特征:
          ①     數據量大:系統存儲并管理了整個廣州市1:500到1:10000等不同比例尺的地形地籍、土地利用現狀、土地利用規劃、房地產測繪以及用地紅線等各類圖形及其屬性數據;
          ②     變更頻繁:由于廣州市城市建設發展日新月異,土地的利用類型、權屬和面積等也都將頻繁發生變化,系統需要保持各類數據的現勢性,同時還要記錄相應的歷史情況;
          ③     多用戶操作及長事務處理:由于系統為整個廣州市國土資源和房屋管理局的各個處室提供空間數據服務,且各部門對數據的操作通常需要較長時間的多個連續步驟才能完成,保證多用戶同時操作空間數據庫并保持空間數據的完整一致性是系統的基本要求;
          針對廣州市國土信息數據庫管理系統的功能特征,在系統的開發建設中就充分利用了空間數據庫的版本管理技術,有效的解決了上述問題。
          系統開發的軟件環境為:應用服務器操作系統Windows 2003 Server,數據服務器操作系統SOLARIS,開發語言為VB.NET,支撐平臺ArcGIS Engine,ArcSDE,Oracle9i。硬件環境為:應用服務器內存512M、CPU P4 2.8G,數據服務器為內存1G的SUN880小型機。
          系統將海量的空間數據存儲在小型機的Oracle數據庫中,并在管理系統中通過 ArcSDE接口訪問操作空間數據庫,圖3為該系統運行的主界面,在這個管理系統中,用戶可完成數據的檢查、入庫、編輯與更新,還可對空間歷史數據進行回溯管理,用戶可以瀏覽不同時期的數據版本,還可以根據需要選擇對比不同版本的數據情況或者將一段時間的版本整理合并,圖4中就顯示了兩個不同版本空間數據對比顯示的情況,紅色線框所圍的兩個地塊是先前的版本,在另一個版本中它們被合并成了一個地塊;除了具備管理功能,系統還提供了一組空間數據訪問接口,為局內各處室建立業務應用系統訪問操作空間數據提供了通道,在這些接口的實現中,也充分利用了ArcGIS的版本管理功能,確保了整個空間數據庫為全局所有用戶提供穩定的并發處理,并且較好解決了多用戶操作的版本沖突,維護了空間數據的完整性、一致性。


          四、結論

          Geodatabase版本管理充分利用了DBMS特性,是大型空間數據庫管理的一項基本技術,能有效的控制多用戶并發操作的沖突,簡化沖突的解決機制,實現歷史數據的回溯管理,同時還維護了空間數據的完整性和一致性,可廣泛應用于大型空間數據庫的建設。

          參考文獻[1]王家耀.空間信息系統原理[M].北京:科學出版社2001.
          [2]馮建華等.數據庫系統設計與原理[M].北京:清華大學出版社2004.
          [3]徐立臻、徐宏炳.面向對象數據庫系統中的版本管理[J].東南大學學報,1999,29(3):34-38
          [4]徐保民,徐愛琴.協同編輯器中版本管理的設計與實現[J].計算機工程與應用,2002(5):134-136
          [5] M.E. Easterfield, R.G. Newell. Version Management in GIS Applications and Techniques[A]. Harts.EGIS'90 Conference Proceedings[C]. Amsterdam:EGIS Foundation,1990.288-297.
          [6] ESRI中國(北京)有限公司.ESRI ArcGIS國土信息系統解決方案[EB/OL]. http://www.esrichina-bj.cn/library/index.htm

          Principles of Geodatabase Version Control


          Ren Juan 1   Yang Ping 2

          1. Land and Resource Information Center of Guangdong Province, Guangzhou 510075

          2. Real estate Surveying and Mapping Office of Guangzhou, Guangzhou 510030


          Abstract: Along with the development of GIS, Multi-user concurrent operation, long transactions and historical data backtracking management have become basic requirements of the large spatial database. Through Geodatabase version control, ESRI can provide effective resolution to meet above requirements. The basic principle of Geodatabase version control is analyzed in this paper, providing references for the construction and management of large spatial database and the development of a new object-oriented spatial database management system.Keywords: GIS; Spatial Database; Geodatabase; Version control


          posts - 57, comments - 3, trackbacks - 0, articles - 1

          Copyright © 黎民

          主站蜘蛛池模板: 汽车| 启东市| 金华市| 普陀区| 玛纳斯县| 庆云县| 察隅县| 中江县| 正阳县| 浙江省| 广西| 襄城县| 鄂托克旗| 马关县| 望江县| 双流县| 喀喇沁旗| 镇远县| 启东市| 当阳市| 策勒县| 巴林左旗| 兴安县| 塔城市| 耿马| 霍州市| 呼伦贝尔市| 广元市| 东城区| 萝北县| 永春县| 四川省| 昌宁县| 蒲江县| 莱西市| 德化县| 环江| 墨玉县| 甘泉县| 青川县| 奉化市|