林淵鐘,張 豐,劉仁義,劉 南
(1.浙江大學省資源與環境重點實驗室,浙江杭州310028;2.浙江大學地理信息科學研究所,浙江杭州310027)
基于分布式GIS的工程移民管理系統設計與實現
林淵鐘1,2,張 豐1,2,劉仁義2,劉 南1
(1.浙江大學省資源與環境重點實驗室,浙江杭州310028;2.浙江大學地理信息科學研究所,浙江杭州310027)
針對工程移民管理信息化建設的現狀,提出以基于GIS的分布式處理技術為指導,采用.Net分層架構技術構建工程移民管理系統。闡述基于抽象工廠的分層架構體系,以解決數據庫變更導致系統不兼容的問題;設計多級樹模型,以解決移民實物指標動態管理的問題;重點探討采用分布式空間數據庫技術實現海量時空數據的高效存儲管理,從而便于完成復雜的地理計算,解決移民工作中的規劃決策問題。該系統具有通用、友好、靈活和方便擴展等特點,已經在浙江省華東勘測設計院成功投入使用。
移民管理;地理計算;分布式處理;GIS
由重大工程建設征地引發的移民稱為非自愿移民,它直接影響工程建設的進度、周期和成本,是工程建設的關鍵因素。在國外,移民問題的關注與研究主要始于20世紀80年代后期,形成了世界銀行非自愿移民理論框架指導移民工作[1],而對于移民管理系統鮮有研究。我國的移民信息化建設也剛剛起步,現有的移民管理系統大多只能實現一般的數據錄入、查詢、統計等功能,缺乏集中管理功能,未能徹底改變移民工作傳統的手工管理方式,無法實現移民海量時空數據的高效管理和空間分析,更無法為移民工作提供完善的輔助決策功能。
移民實質上就是對各種資源在特定的地理空間上重新配置,它需要收集、存儲、匯總和分析大量的空間和非空間數據。隨著GIS技術的不斷發展和日臻成熟,GIS展現了巨大的潛力,它能管理海量的地理時空數據并進行有效的空間分析和深層次的信息挖掘,為移民工作提供高效的決策支持和幫助。因此如何結合先進數據庫、網絡以及GIS等技術開發功能完善的移民信息系統,是一個值得研究的問題[2-3]。本研究通過現狀分析得出,當前移民管理系統在設計開發中需要解決3大問題,即如何靈活管理不同地區的實物指標庫,兼容并集成不同數據庫的海量數據,以及如何更好地為移民工作提供輔助決策支持。為此,本文參照最新的移民條例及規范,在充分調研移民工作需求的基礎上,采用空間數據庫分布式處理、組件GIS和.NET分層架構等技術,設計并實現了基于C/S和B/S復合結構的工程移民管理系統。
1.地理計算
地理計算是對地理學時間與空間問題所進行的基于計算機的定量分析,神經網絡、遺傳算法、細胞自動機模型、模糊邏輯、灰色系統等新的理論和模型不斷被引入地理計算并成為核心[4]。在移民工作中,通過利用GIS技術和地理計算,許多決策規劃問題都得到了較好的解決,如正常蓄水位方案選擇、安置區選址規劃和工程環境影響評價等[5-7]。
然而隨著移民數據的逐漸增多,需要對海量時空數據進行高效的分析處理,從而挖掘出更多有價值的信息。如何實現高性能的計算是其中的關鍵性問題,目前主流IT行業提出的云計算模型,它是用戶外部的數據中心為用戶提供各種服務的新型計算模式,擁有海量處理能力和存儲能力,但它存在的服務可用性、數據丟失、數據安全性以及數據傳輸瓶頸等諸多問題尚未解決[8],為此筆者采用了發展更為成熟的分布式處理技術。
2.空間數據庫分布式處理
分布式技術是將不同地點、具有不同功能或擁有不同數據的多臺設備用通信網絡連接起來,在控制系統的統一管理監控下,協調地完成信息處理的一種技術。空間數據庫分布式存儲是指這些空間數據庫在物理上分散于不同地點或不同計算機上,而對它們的訪問則是物理位置透明,它具有分布性和邏輯整體性的特點。空間信息的獲取由不同的組織所完成,很難集中復制到同一個節點上,采用分布式體系符合空間數據庫的特點[9]。空間數據分布在若干物理節點上,部分節點出現故障并不影響其他節點的繼續操作,極大提高了系統可靠性和可用性;在運行速度、處理效率上較傳統的集中式存儲方式也都有極大提高。應用程序可以同時訪問和修改分布式空間數據庫中的所有數據,而不必關心數據存儲的位置,使應用程序對外表現為僅有一個完整的大型空間數據庫。
1.系統結構
以空間數據庫分布式處理技術為指導,本系統采用了C/S和B/S相結合的復合模式,安全、高效地實現數據的存儲、分析和共享,分布式系統結構如圖1所示。

圖1 分布式系統結構
1)移民專業各部門的業務主要針對本地數據庫,有很大程度的自治性,很少訪問其他部門的數據庫,采用分布式的方式就近存儲本地空間數據,需要時再訪問遠端空間數據,從而實現海量地理空間數據的高效管理。數據庫按業務分割,分布式存儲在不同的主機上,移民專業各部門均對應有專門的數據服務,它們對各自的空間數據庫有相應的自治權,通過對每個數據服務的及時更新,實現整個系統數據更新與共享。采用進程遷移機制[9],簡化任務調度過程,從而解決分布式空間數據庫的負載均衡問題,能更大程度地提高系統的運行效率。
2)移民管理系統采用“內網用戶—應用服務器—GIS服務器—Web服務器—防火墻—外網用戶”的網絡結構,C/S結構(內網用戶—應用服務器—GIS服務器)一般面向相對固定的內網用戶群,通過Intranet組織信息數據的分析與處理,此方式可以充分利用網絡帶寬,解決GIS空間圖形大數據量的傳輸、處理和維護,實現高效率的數據操作、空間建模分析和共享,同時容易實現系統安全。B/S結構(Web服務器—防火墻—外網用戶)提供了綜合信息發布平臺,通過Internet組織信息數據的共享,主要面向具有瀏覽、維護權限的各級外網用戶,實現移民政策法規、調查成果等信息發布,供用戶查詢監督管理等。
2..NET分層設計
本系統采用了.NET經典三層架構模式(表示層、業務邏輯層、數據層),并將數據層再細化為資源訪問層和存儲層,系統的開發架構如圖2所示。在開發過程中,運用隔離驅動方式,即分層并行開發,使得當改變兩個在物理上不相鄰的層時不會直接對其他層產生影響或發生沖突。

圖2 系統體系架構
表示層對應通用的GUI界面應用,是系統提供給操作用戶的接口。它能依據用戶的角色權限,調用相應的業務組件,通常以業務實體對象提交給業務邏輯層處理。業務邏輯層作為整個應用系統信息和邏輯處理中心,實現按既定的業務邏輯處理用戶提交的請求,調用業務組件從數據庫獲取數據進行分析處理。資源訪問層為業務邏輯層與業務數據之間的接口提供基礎數據信息,對業務邏輯層的數據訪問進行統一的調度和管理。該層使用抽象工廠模式,運用設計模式、條件外置及反射,提供一個創建一系列訪問操作不同數據庫的對象的接口,而無需指定它們具體的類,運用面向對象中多態的思想,結合反射、緩存機制等方式,實現對象接口動態創建與調用,這樣當業務需求改變或數據庫發生變化時,只需擴展其中一層和配置XML文件,不影響整個程序之間的變化,采取此方式有利于保證代碼靈活性,極大地提高程序開發的一致性和系統擴展性[10]。存儲層主要作用是把資源訪問層的數據處理功能轉換為具體的數據庫或文件操作,移民管理系統存儲了地理空間和非空間兩類數據,通過空間數據庫引擎實現對海量空間數據的存儲和管理。
3.主要功能設計
工程移民管理系統主要由5個功能相對獨立的模塊組成,每個模塊按照“高內聚,低耦合”思想又可再分為若干子模塊,模塊設計如圖3所示。

圖3 模塊設計圖
(1)移民實物指標動態管理
由于政策、地域等差異,不同工程涉及的實物指標往往不一致,若采用傳統的設計方式,每個工程均設計一套相適應的實物指標表結構庫,這樣極大地限制了系統通用性。為此筆者設計了多級樹模型實現了靈活的實物指標編碼,通過采用隨機生成算法由系統自動生成GUID(全球唯一標識符)來編碼節點,能唯一定位實物指標實體記錄。將實物指標體系抽象成樹狀結構,通過節點的GUID編碼、父編碼和兄弟節點順序便能構建出整棵樹,如圖4所示,用戶僅需根據具體工程的實物指標樹簡單進行樹結構定制就能完成實物指標體系的構建。當在移民調查過程中工程的實物指標項發生變化時用戶僅需修改相應的樹節點,而不必重新進行數據庫設計和代碼編寫,這樣保證了系統能同時管理多個工程項目,極大地增強了系統的靈活性和通用性。實物指標及其他概算項目內容都可以定制,相應的補償標準同樣可由用戶自定義及修改,這樣使系統能靈活適應不同地區、不同工程賠償項目和賠償標準不一致的情況。

圖4 樹形編碼結構
(2)版本化管理
通過采用版本化控制,實現海量空間及屬性數據的管理版本化、軟件開發的版本化。版本化技術是指通過記錄并管理數據庫在變更、演化過程中各個階段的狀態信息,它并不復制數據庫,而是一個階段的邏輯快照,反映了數據庫在那一階段的全貌。每個對象在數據庫中都對應一個唯一標識符,通過事件表(如表1所示)及其他關聯表記錄對象變更信息,而對于未操作的對象不進行處理,當進行對象歷史回溯時通過對象唯一標識符和變更時間等信息可以得到其完整的變更歷史。版本化模型不僅滿足了移民工作的三榜公示的業務需求,同時,數據增量式更新使得數據庫的更新實時、快速且冗余數據量最少,高效地管理和控制了歷史狀態記錄;再者,對項目需求變更的跟蹤與監測采用應用邏輯與過程邏輯分離的方式,使得系統的可維護性與可擴展性良好。從項目的發展角度看,系統記錄了工程移民建設的整個發展演變過程,對回溯歷史、科學評價意義重大。

表1 變更事件表
(3)異構數據一致性檢查與同步處理
針對移民特殊的工作模式,需要考慮移民調查區域可能沒有網絡的情況,這樣系統需同時兼容多種數據庫平臺(如Oracle、Microsoft SQL Server等)才能有效完成移民調查工作。如何解決數據庫異構的問題,本系統通過采用基于抽象工廠模式的三層架構,能支持異構數據庫環境,當數據庫發生變化時,系統也能完成該類型數據庫的信息處理,同時系統設計了相應的數據一致性檢查和遷移工具來完成無網絡環境下調查的各專業數據與其他數據庫之間的后續集成處理。數據遷移采用識別對象唯一標識符以及主觀控制相結合的方式,實現各專業數據庫中部分異源異構、尺度不同、時態不一的空間與非空間歷史數據格式的無縫轉換,將數據整合到統一的基礎地理框架下,實現數據的關聯與集成,便于各個數據庫之間數據訪問和同步。
本系統已在浙江省華東勘測設計院成功投入運行,圖5是正常蓄水位方案選擇中的區域構建;圖6為實物指標調查子模塊中的土地調查。本系統的引入為該院的各項移民工作提供了一個全面的應用支持平臺,能有效地組織、管理移民工作中的各種數據資料,提供高效的查詢分析統計功能,輔助移民工程的規劃管理決策,提高移民工作的效率、科學性和準確性。

圖5 區域構建

圖6 土地調查
針對目前移民管理信息化程度較低的現狀,本文提出了結合.NET分層架構技術和分布式GIS技術構建C/S和B/S復合模式的移民管理系統,并得出如下結論:①采用基于抽象工廠三層架構設計的移民管理系統,很好地避免了因數據庫變更而導致系統重新進行設計及代碼大修改,可以很方便地進行橫向擴展子模塊、縱向擴展子功能;② 系統在功能設計上充分考慮了移民業務需求的動態變化,設計了樹形結構的定制模型及其他多種模型及方法并預留接口,在保證系統實用性的基礎上,使系統具有更強的靈活性和通用性,解決了移民管理系統實物指標及其他動態內容管理的根本問題,為系統的推廣提供了關鍵支撐;③本系統采用組件式GIS開發,結合分布式空間數據庫技術,便于完成多時空尺度多維海量地理數據的高性能計算,從而為移民海量數據的深層次信息挖掘提供了可能,提高了移民規劃決策的科學性和有效性。系統經試運行,取得了良好成效,并已在浙江省華東勘測設計院成功投入使用,為移民工作提供了全方位的信息技術支持及決策輔助,從真正意義上實現了高效率、高技術的移民理念,為移民管理的標準化、網絡化、空間化提供了有效的工具。
[1] 魏珊.非自愿性移民的研究及進展探析[C]∥第二屆中國人口學家前沿論壇論文集.北京:[s.n.],2006: 225-228.
[2] 周競亮,姚英平.龍旸,等.水電工程移民實物指標管理系統的設計與實現[J].水力發電,2009,35(6): 5-7.
[3] 王家耀,姚松齡.基于GIS的工程移民DSS研究[J].測繪學院學報,2000,17(1):37-41.
[4] 劉賢趙,張安定,李嘉竹.地理學數學方法[M].北京:科學出版社,2009:3-5.
[5] 謝秋菊,錢自立.應用灰色模糊綜合評價方法優選水庫正常蓄水位方案[J].水利水運工程學報,2006(1): 59-64.
[6] 李少達,楊武年,陳雪冬,等.GIS空間建模技術在水庫移民安置選址中的應用研究[J].成都理工大學學報:自然科學版,2008,35(5):547-552.
[7] 付鵬,陳凱麒,謝悅波,等.考慮社會影響的水利水電開發環境影響評價方法[J].水利學報,2009,40(8): 1012-1018.
[8] ARMBRUST M,FOX A,GRIFFITH R,et al.Above the Clouds:A Berkeley View of Cloud Computing[EB/ OL].2009-2-10[2010-4-18].http:∥www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html.
[9] 孟令奎,張文.分布式空間數據庫的動態負載平衡算法[J].計算機工程,2008,34(11):96-98.
[10] GAMMA E,HELM R,JOHNSON R,et al.Design Patterns:Elements of Reusable Object-oriented Software[M].Beijing:China Machine Press,2002:57-63.
Design and Implementation of Resettlement Management System Based on GIS and Distributed Processing Technology
LIN Yuanzhong,ZHANG Feng,LIU Renyi,LIU Nan
0494-0911(2011)08-0076-05
P208
B
2010-07-09
國家863基金資助項目(2007AA12Z182,2009AA12Z222);浙江省重點攻關基金資助項目(2009C33011);浙江省自然科學基金(Y5090130);教育部博士點基金(200803350017)
林淵鐘(1986—),女,江西萍鄉人,碩士生,主要從事時空數據模型及GIS應用方面的研究。