多级时空数据库联动增量更新方法
2019-06-05魏雪梅
魏雪梅
(1. 安徽省基础测绘信息中心, 安徽 合肥 230031; 2. 安徽省智慧城市与地理国情监测重点实验室, 安徽 合肥 230031)
随着地理信息数据资源的不断发展,面向公众、政务、企业等应用场景的地理信息公共平台建设日渐完善。面对涉密网、政务网、互联网等不同的网络环境及日益丰富的数据内容,单一时点单一尺度的空间数据库已经难以满足需要,由多个层次、多个库体组成的时空数据体系开始成为GIS数据管理发展方向[1-6]。
安徽省地理信息公共服务平台是安徽省统一的、权威的省级地理信息公共服务平台,也是国家地理信息公共服务平台的安徽省节点[7-8]。为整合利用全省地理信息资源,提高开发利用水平,提升公共服务能力,安徽省地理信息公共服务平台建立了以母库为核心的公共地理信息数据资源体系,采用多级结构的空间数据库组织形式,支撑不同网络环境和不同部门的应用需求。由于体系内数据来源众多,需要对各个层次的数据库建立联动更新机制,以保证数据一致性和现势性。本文面向该问题展开分析研究,建立通用性多级时空数据库联动增量更新模型,并在数据资源体系的更新中予以应用和验证。
1 时空数据库联动增量更新模型
时空数据库增量更新过程可以采用数据库语义进行定义和描述,以数学模型的形式建立时空数据库在不同节点和时点上的映射关系[9-11]。本文研究的联动增量模型面向由多个存在主从关系的时空数据库组成的数据管理体系,旨在通过对数据库建立语义分类,对增量更新中的各种行为建立模型,实现体系内任意节点增量变化驱动各数据库联动更新的技术流程。
1.1 空间对象增量提取
任一空间对象在t时点的空间信息可以描述为
对于t0→t1的变化增量ΔO
1.2 数据集增量提取
由n个空间对象构成的数据集在t时点可以描述为
对于t0→t1的变化增量ΔS
式中,ΔSn为原有n个对象变化增量;δSm为新增m个对象集合。进行增量更新后,在t1时点数据集可以表示为
1.3 联动增量更新
假设数据集T为数据集S的子集,T∈S。当更新由T中空间对象变化驱动,更新方向为T→S,此时S的变化量为
ΔS=ΔT
当更新由其他子集中空间对象变化驱动,并已联动完成父集S更新,此时子集T的变化量为
ΔT=ΔS-δ
式中,δ∈ΔS,δ∩ΔT=∅。
2 数据资源体系更新机制
2.1 数据资源体系结构
由于在涉密网和非涉密网环境中都需要部署应用平台,省级地理信息公共服务数据资源体系应由多个具有主从关系的数据库组成,便于在不同的应用环境建立数据映射[12-13]。安徽省地理信息公共服务数据资源体系是新型公共服务平台的数据支撑,重点在于改变现有涉密版平台和非涉密平台相互孤立的现状,在统一的体系内支持涉密版、政务版、公众版的多样化数据需求。母库是由基础地理信息数据库、国情普查数据库、遥感影像及各类专题数据库中提取的数据综合而成,是支撑测绘地理信息公共服务的数据基础。各个版本的产品库数据均从母库根据需求提取而来,但依据涉密环境的不同作了不同程度的保密处理。
从数据库结构(如图1所示)来看,母库S是整个数据资源体系的父层,涉密版产品库T1、政务版T2和公众版产品库T3为母库的3个不同子集。在数据结构上,将母库S作为时空数据库进行管理,管理覆盖全部时相与全部类别的最大数据集合;T1、T2、T3均为S在某一时点的子集,所管理的空间对象只有单一的时间状态,对象总数及对象的属性字段数量均小于S,空间位置按照保密相对于S进行了空间变换。
2.2 需求驱动的联动更新机制
在数据资源体系建立之前,地理信息公共平台更新多采用“底层驱动,定期更新”的数据维护模式[14-15],即按照更新计划每年开展1~2次更新,需要更新的要素和服务由基础地理信息数据库更新情况和遥感影像获取情况决定。这种更新模式全部在涉密环境中进行,存在周期长、覆盖率低、不同版本更新需要重复进行等特点,导致各版本各地区间存在现势性不一致的现象。
本文在时空数据库联动增量更新模型的基础上设计了“需求驱动,动态同步”的更新机制,即不仅可以通过底层驱动自母库发起更新,而且可以自产品库在应用端根据数据需求发起更新,反向推动全体系联动更新,如图2所示。这一机制的核心在于对数据资源体系内的每一个数据库节点都设置一个更新触发引擎,产品库采用需求报送进行触发,母库采用底层更新进行触发,单一节点的更新可以快速反馈至母库集中处理,进而触发对体系内各个数据库节点的同步联动更新。在更新过程中,引入全生命周期管理、属性提取与融合、空间变换等技术环节,实现对地理信息公共服务的数据需求全覆盖。这一模式把更新操作从涉密环境扩展至任一应用环境,可以大大缩短更新周期和需求响应时间,并可与传统的定期更新计划兼容,形成更加完善的数据更新维护机制。
2.3 联动更新技术流程
在需求驱动的联动更新机制下,联动更新技术流程从传统的底层顺序更新转变为数据增量同步,更新发起从传统的单一底层驱动转变为需求驱动,更新环境从单一的涉密内网转变为一网触发多网联动,更新目的从维护公共服务平台转变为多库联动,如图3所示。整个流程的研究重点有变化发现、逆向更新、顺向提取3个环节。
2.3.1 变化发现
变化发现是更新的发起点,在传统模式下,公共服务平台无需提供变化发现功能,更新是由测绘地理信息基础数据库发起,以定期更新的方式按一定周期进行的。在新模式下,变化发现概念得到了新的发展,可以分为需求驱动和底层驱动两个部分。需求驱动作用于公共服务平台,采用众包制图的思想,在各个应用终端都建立了在线绘图和申报模块,用户和更新人员可以实时将要素变化通过平台在线绘制,经过平台维护人员审核后即可实现对任一网段的产品库实时更新,并自动完成该网段各类平台服务的更新。底层驱动是传统的顺序更新模式的发展,将基础库的数据变化同样作为公共服务平台的发起点,从而启动后续的更新流程。无论采用哪一种模式,变化发现之后,都将触发体系内所有数据库及服务的动态联动。
2.3.2 逆向更新
逆向更新是指从公共服务平台应用端发起的,向母库进行增量更新的流程,在更新流程上与传统的顺序更新互为逆向。以政务版为例,当政务版用户提交一处更新后,维护人员实时完成对政务版产品库和服务的更新,进而启动了逆向更新流程。政务版产品库的更新会形成增量包,经由逆向保密处理为母库增量包,向母库进行增量更新。
假设从t0→t1时点,政务版产品库形成了变化增量,其中l个对象发生了空间或属性变化,新增了m个对象,删除了h个对象为
引入空间和属性变化,考虑政务版中空间位置为保密处理后的概略位置,该增量可以转换为
(Ot1Ot0)h},Ot1=∅
政务版进入母库需要进行空间变换、属性融合,空间变化即从非涉密环境加密为涉密数据,属性融合是指政务版属性项个数M小于母库属性项N,应对属性予以补全。经过变换后获得母库增量
因变化不影响母库要素个数,将发生变化的l维变量集合及变换为空值的h维变量集合向母库的n维进行归并,计为ΔSn,新增的m维变量集合计为δSm。则完成更新后,在t1时点母库S的状态可以描述为
2.3.3 顺向提取
顺向提取是指从公共服务平台母库提取增量包,并向应用端产品库进行更新的流程,这一阶段与传统的顺序更新方向一致。以政务版为例,在母库逆向更新完成后,母库可以提取涉密版的增量包和公众版增量包,涉密版增量包直接向涉密版产品库进行增量更新,公众版增量包经过顺向保密处理后对公众版产品库进行增量更新。产品库的增量更新完成后,会自动进行相关服务的更新,至此公共服务平台的跨网段多库联动更新完成,数据和服务实现了完全同步。
以政务版产品库T为例,假设从t0→t1时点,母库S形成了变化增量
ΔS=ΔSl+δSm+δ
因T为S子集,δ为ΔS中与T无关的对象应予排除,引入空间和属性变化可以转换为
通过从涉密环境进入非涉密环境的空间变换与属性提取后,获得产品库T的增量
因变化不影响产品库要素个数,将发生变化的l维变量集合库的n维进行归并,计为ΔTn,新增的m维变量集合计为δTm,删除的h变量集合计为δTh。则完成更新后,在t1时点产品库T的状态可以描述为
3 联动更新应用
基于本文的研究成果,利用原公共服务数据集,整合1∶1万基础地理信息数据、地理国情普查数据及其他专题数据,建立了完整的安徽省地理信息公共服务数据资源体系。为实现数据体系内的数据管理、数据更新与维护备份等工作,定制开发了母库管理系统,通过系统的相关功能模块,实现时空数据库的联动更新,如图4所示。
利用联动更新机制,本文对2017年全年度安徽省地理信息公共服务平台开展了数据更新工作,更新内容包括道路、水系、居民地、城市绿地、地名地址等。以地名地址数据为例,全年采用了底层驱动和需求驱动相结合的方式进行了地名地址数据更新,地名地址条目总数由83万条上升至113万条,其中有573 329条数据是通过底层驱动方式由母库发起更新,通过收集公众版用户上报信息获得674条数据从公众版产品发起需求驱动更新,整个数据体系进行了3次数据同步。地名地址数据的更新情况见表1。
表1 地名地址数据更新统计
实际作业经验表明,采用多级数据库的联动更新机制可以满足省级地理信息公共数据库的更新维护需要,在保障数据现势性的同时提升了对更新需求的快速响应能力。经过一年的更新,安徽省各版本的公共平台电子地图现势性大大提高,丰富了图面信息,提升了浏览体验,如图5所示。
4 结 语
本文围绕着多级结构的地理信息公共服务数据资源体系开展了联动增量更新机制和方法研究,对更新增量的提取和同步作了定量描述,提出了具体的实现方法。从更新效果来看,在现势性不足的情况下底层驱动的效率较高,可以快速提高整体的现势性。需求驱动更为贴近用户,适用于对热点地区的快速应急更新。两种方法共同作用在保证整体现势性逐年提高的同时,还可以满足局部区域快速更新需求。