公务员期刊网 论文中心 正文

分布式地理数据库在核心要素的应用

分布式地理数据库在核心要素的应用

1核心要素数据更新现状分析

“天地图•福建”核心要素数据每年开展一次更新,一般按更新计划选择一部分地市城区或县域作为更新区域,交通作为最重要的要素,需要每年对全省的铁路和县道以上的等级道路进行更新。核心要素数据更新的项目负责人根据更新计划,将任务分配给更新作业员,每个作业员负责一个区域的更新。在分配任务时,需要按照作业员负责的范围对全省的核心要素数据进行裁切(或空间相交),裁切结果以文件的形式分发给作业员,作业员参考遥感影像、专题数据等资料对核心要素数据进行更新。所有的作业员完成更新之后,需要再将数据进行拼接和接边,项目负责人将更新成果发送给制图员,制图员再利用更新成果进行电子地图的配图和切片。在整个核心要素数据更新的过程中,数据以文件的形式流转,裁切、拼接和入库等操作都影响更新效率。更新过程中数据保存在作业员的工作站上,数据安全性不能保证,会出现硬盘损坏导致更新过程数据丢失的情况。数据更新完成后还需要导入应用服务器的数据库中,用于电子地图配图和服务。陈为民等[7]研究了ArcGIS分布式地理数据库技术,设计分布式地理数据库同步更新系统,实现市级为主库和区级为副库的分布式数据库同步更新机制。李永胜等[8]将Geodatabase复制技术应用于土地利用数据库的管理,实现了同一数据库平台下多个地理数据库间的数据双向同步。核心要素数据更新项目负责人曾尝试采用ArcGIS版本化(Versioning)的方法进行更新,数据库部署在部门服务器,10多个作业员并发对数据进行编辑,但由于硬件资源的限制,会出现无法保存编辑的问题。基于分布式地理数据库的更新技术流程,作业员编辑数据时不需要访问服务器数据库中的数据,降低了服务器的负担。

2分布式地理数据库

分布式地理数据库就是将主库中的全部或部分数据拷贝到一个或多个副库中,形成数据分散存储的组织方式,地理数据库复制(GeodatabaseReplication)是实现数据分布的方法。分布式地理数据库允许企业根据需要将数据从中央服务器(centralservers)分发到处于在线或离线的环境中,作业员可以在不同位置编辑同一份数据。复本更新后,通过同步(Synchronization)将数据变化从一个复本发送到另一个复本。通过数据分布可以缓解服务器争用以及对中央服务器的网络访问速度慢的情况,从而提高数据可用性与性能。这有助于企业在执行编辑的用户与访问服务器以进行读取操作的用户之间实现地理数据库负载均衡。地理数据库复制的类型有3种:①检入/检出复制;②单向复制;③双向复制。双向复制可多次将数据变化从父复本同步到子复本,或子复本同步到父复本,适用于父复本和子复本都需要编辑或仅子复本需要编辑的情景,因此,在核心要素数据更新过程中主要使用双向复制。创建双向复制的父复本和子复本必须是在ArcSDE地理数据库中。

3更新流程设计

根据ArcGIS的版本化和分布式地理数据库的功能,通过设计合理的技术流程,将分布式地理数据库用于“天地图•福建”核心要素数据的更新作业。

3.1更新技术流程

参与核心要素更新的人员分为4类:①数据库管理员(负责数据库的运行管理);②项目负责人(负责任务分配和数据冲突协调);③作业员(负责数据的更新作业);④质检员(负责数据的一级检查和二级检查)。1)安装配置数据库。服务器端和工作站均采用ArcSDE+PostgreSQL地理数据库,由数据库管理员负责安装。选择PostgreSQL主要是因为其功能足以支撑千万级数据量的管理,支持ArcSDE的完整功能,而且安装文件很小,安装、配置和管理非常方便。数据库管理员负责在PostgreSQL中为更新创建forSDE数据库。2)数据入库及注册。项目负责人在forSDE中创建要素数据集,将核心要素数据导入该要素数据集中。分布式地理数据库需要依赖GlobalID字段,因此,数据导入数据库之后必须添加GlobalID字段并赋值。项目负责人对服务器端的要素数据集执行注册版本(RegisterAsVersion),注册时不能勾选将编辑内容移动到基表的功能,将DEFAULT版本设置为受保护(Protected),然后从DEFAULT版本创建forEdit版本,并将forEdit版本设置为受保护(Protected)。3)创建用户及复本。项目负责人使用创建数据库用户(CreateDatabaseUser)工具为每一个作业员创建一个数据库用户,并使用更改权限(ChangePrivileges)使工具授权作业员可以访问forSDE中的要素数据集。此时每个作业员可以连接访问2个数据库:服务器数据库和本地数据库。作业员连接服务器端数据库,在地理数据库管理中从forEdit版本创建与作业员用户名相同的私有(Private)版本。每个作业员创建完私有版本之后,项目负责人需要检查版本的组织情况,每个作业员的私有版本必须按组织,不允许作业员从DEFAULT创建私有版本。要求每个作业员必须都创建一个私有版本,是为了数据更新之后,数据变化将同步到作业员的私有版本中。作业员连接服务器端的私有版本,从DEFAULT和forEdit版本创建的复本将无法同步,因为服务器端DEFAULT和forEdit版本已设置为受保护。作业员执行创建复本(CreateReplica)工具将服务器端的数据复制到本地ArcSDE中,创建复本时复本类型设置为双向复制,同时将复本几何要素(ReplicaGeometryFeatures)设置为每个作业员负责更新的范围,子复本就仅包含与作业范围相交的数据。每个子复本是双向复制,所以本地子复本与服务器的父复本之间可以相互同步数据。数据更新作业。作业员根据参考资料对本地数据库的数据进行更新。在更新过程中,本地数据库完全可以与服务器断开,不需要与服务数据库进行同步。2)质量检查。质检员、项目负责人可以在作业员更新过程中对数据进行检查,提前发现问题,通知作业员进行修改,将质量问题消除在生产环节,保证数据更新的质量。质检员和项目负责人直接连接每个作业员的本地数据库进行质量检查,不需要拷贝数据。3)同步和协调。作业员通过同步数据变化(SynchronizeChanges)工具将本地数据库中的更新数据同步到服务器端私有版本,同步的方向是从子复本向父复本,此时,更新的数据已经同步到服务器端作业员的私有版本。作业员在更新过程中,也可以根据需要定期将数据变化同步到服务器,避免本地数据出现问题,造成更新过程数据丢失。作业员的私有版本提交到forEdit版本时,必须进行冲突检测和协调。冲突发生在以下情况:①当前编辑的版本和目标版本中对同一要素进行更新;②某个版本中更新了一个要素,而另一版本中删除了此要素;③当前编辑的版本和目标版本中修改与要素或关系类关联的拓扑。开始更新时每个作业员创建了一个私有版本,更新时作业员之间相互独立,跨相邻2个作业区域的要素会存在冲突,特别是交通和水系要素。使用版本管理工具条的协调进行冲突检测,检测到冲突时会激活冲突窗口。在同步和协调过程中,增量表会不断增大,状态越来越多,数据库性能会慢慢下降。为了提高数据库性能,必须定期对数据库进行压缩(Compress)。

3.2耗时分析

服务器端是一台部门用于电子地图切片的服务器,操作系统采用WindowsServer2008R2,处理器XeonE5-2650V2@2.6GHz×2,内存32GB。服务器和工作站均安装ArcGIS10.2+PostgreSQL9.1.3,福建省核心要素数据约714万个。核心要素数据导入服务器数据库耗时34min38s,添加GlobalID字段并赋值耗时18min58s,注册版本耗时12s。在一台工作站的数据库中创建尤溪县的复本耗时3min9s,该县的总要素个数为约13万。从数据入库到创建尤溪县的复本,整个过程耗时56min57s。因为创建要素数据集、创建版本、创建数据库用户和授权等操作耗时非常短,因此,不进行耗时统计。在基于分布式地理数据库的更新方法中,数据入库和添加GlobalID字段仅需操作一次,核心要素数据将一直存储在数据库中。作业员的数据库用户也仅创建一次。每次需要开展更新任务时,项目负责人仅需将作业员的更新范围分发下去,作业员自行在服务器forEdit版本上创建私有版本,然后创建复本。创建复本耗时与要素的个数正相关,一般来说,作业员仅需10min左右就可以完成一个县的原始数据的准备。基于分布式地理数据库的更新成果存储在服务器的数据库中,可直接用于服务和电子地图配图等。核心要素数据需要每年进行全面更新,铁路、等级公路等重点要素需要实时更新,基于分布式地理数据库的更新方法具有明显优势。在对重点要素进行实时更新时,每次更新可能仅有几个要素,但为了保证本地数据与服务器数据库中的数据一致,每次更新完都需要进行一次入库,非常耗时。

3.3复杂性分析

采用分布式地理数据库的更新方法比传统的更新方法复杂一些,对项目负责人和作业员有一定要求。项目负责人需要掌握数据入库、创建用户、创建版本、冲突协调、数据压缩等操作,但ArcGIS中都提供了相应的工具,不需要掌握与PostgreSQL相关的操作。作业员仅需要掌握创建私有版本、创建作业区复本和同步数据变化等操作,这些操作也都有相应的工具,作业员仅需要了解每个工具的参数设置即可。

4结语

省市天地图的建成对促进地理信息资源共享,提高测绘地理信息公共服务水平起到了关键作用,各省每年都要开展天地图数据更新工作。基于版本和分布式地理数据库的更新技术流程具有很强的可操作性,对软硬件资源要求不高,能显著提高效率,对提高天地图数据的现势性有很好的作用。如果数据库服务器与应用服务器之间建立复本,数据成果可以直接从数据库服务器同步到应用服务器。核心要素数据更新仅是分布式地理数据库的一种应用场景,版本和分布式地理数据库灵活结合的数据存储结构支持多种业务逻辑。可用于纵向的数据存储及联动更新,如省、市、县分级管理的数据;也可以用于横向的数据共享及联动更新,如不同的行业部门之间的数据共享。

参考文献

[1]王建丽.地理空间框架数据的联动更新技术研究与实现[J].地理空间信息,2015,13(6):167-168

[2]张小波,李新双,张俊,等.多源数据更新空间框架地理信息技术[J].城市勘测,2016(12):57-59

[3]付荣祥,吴彬卓,叶哲璐.地理空间数据库联动更新技术[J].测绘通报,2017(5):136-138

[4]张应裕,周博,彭雨滕.数字城市基础地理数据更新升级技术探讨[J].测绘与空间地理信息,2017,40(8):103-105

作者:张寿选 单位:福建省基础地理信息中心