林渊钟,张 丰,刘仁义,刘 南
(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应用方面的研究。