CN102508886B - 一种基于xml的空间数据增量同步更新方法 - Google Patents
一种基于xml的空间数据增量同步更新方法 Download PDFInfo
- Publication number
- CN102508886B CN102508886B CN 201110318256 CN201110318256A CN102508886B CN 102508886 B CN102508886 B CN 102508886B CN 201110318256 CN201110318256 CN 201110318256 CN 201110318256 A CN201110318256 A CN 201110318256A CN 102508886 B CN102508886 B CN 102508886B
- Authority
- CN
- China
- Prior art keywords
- data
- change
- xml
- conflict
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000001360 synchronised effect Effects 0.000 claims abstract description 27
- 230000008520 organization Effects 0.000 claims abstract description 20
- 238000012544 monitoring process Methods 0.000 claims abstract description 6
- 238000012423 maintenance Methods 0.000 claims abstract description 5
- 230000008859 change Effects 0.000 claims description 90
- 230000009471 action Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 8
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 230000008030 elimination Effects 0.000 claims description 4
- 238000003379 elimination reaction Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 238000012856 packing Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000006835 compression Effects 0.000 claims 1
- 238000007906 compression Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 9
- 230000007246 mechanism Effects 0.000 abstract description 5
- 230000002457 bidirectional effect Effects 0.000 abstract 1
- 230000003993 interaction Effects 0.000 abstract 1
- 230000002195 synergetic effect Effects 0.000 abstract 1
- 238000011160 research Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000001983 electron spin resonance imaging Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于XML的空间数据增量同步更新方法。用于建立空间数据双向同步机制,实现多副本数据近似一致性维护,解决普通的数据同步方法不支持离线环境,不支持异构数据库以及同步对象粒度、同步过程不可自由控制等问题。利用.NET、XML等技术作为实现空间数据同步更新方法的基础,包括变更记录收集模块、变更数据组织模块、变更数据冲突仲裁模块、变更数据同步模块,四大功能模块协同作用实现空间变更数据的监控、组织和同步,达到空间数据的增量同步更新。本发明技术实现方法简单,对空间数据进行了有效地管理,计算机自动处理,人机交互少,节约了时间,提高了工作效率,在数据一致性维护领域中应用前景非常广泛。
Description
技术领域
本发明属于空间数据管理技术领域。尤其涉及一种基于XML的空间数据增量同步更新方法。
背景技术
随着空间数据库的发展及普及,我国各类空间数据库的建设取得了很大的成就,尤其是多节点空间数据库模式在政府、企事业单位等部门的基础地理信息平台系统中得到了广泛的应用。在多节点空间数据库系统中,如何保证各个节点空间数据的一致性始终是基础地理信息平台中的关键问题。
目前,美国著名的GIS软件厂商ESRI公司提供了基于Geodatabase 复制技术的商业化解决方案,它能够在两个或者多个Geodatabase之间实现数据的复制与同步。Geodatabase复制技术(Geodatabase Replication)是建立在版本化数据的基础上,支持拓扑与网络等完全的数据模型,并且能够在不同类型的数据库之间实现数据的复制与同步;但Geodatabase Replication技术也存在如资源消耗过大,需要连通网络环境,且同步数据库对象粒度不可自由控制等缺陷。
另外,国内一些学者也对数据同步这个难题进行了相关的研究,见[1]陈珉.分布式空间数据库主动数据更新研究[D].博士学位论文,武汉大学,2004;[2] 周春莲.基于时间戳的数据同步技术实现研究[D].硕士学位论文,南昌大学,2009;[3] 张坤,刘士彬,彭海龙.空间数据库双向按需同步方案的研究与实现[J].遥感信息,2010(001):99-102;这些学者采用触发器机制、时间戳、消息等机制研究了数据同步技术,这些方法在网络连通的环境下可以正常工作,但在一些网络条件较差的环境中,如外业环境、移动环境等,就无法正常工作了。随着3G网络的建设,未来的网络条件将会得到改善,由于空间数据量较大,仍然无法满足实际中的应用。由于多用户终端用户无法经常连接网络和在离线环境下仍然需要对数据进行操作,这就导致了终端用户与服务器中数据不一致,因此需要有空间数据冲突仲裁机制的同步策略来维持数据的一致性。
传统的空间数据同步方案一般都是在网络连通的环境下进行数据同步更新,不支持离线环境,且存在同步空间数据对象粒度、同步过程均不可自由控制等缺陷,另外在同步过程中也不具备有效的冲突仲裁机制来维护空间数据的一致性,不仅应用领域有限,而且又费时费力且易出错。
发明内容
本发明的目的是克服现有技术的不足,提出一种基于XML的空间数据增量同步更新方法。
基于XML的空间数据增量同步更新方法包括如下步骤:
1)从服务器上的变更记录收集功能模块监控从服务器上空间数据的所有变化,并将变化的信息记录到辅助空间信息变化表中;
2)从服务器上的变更数据组织功能模块根据用户配置,结合数据库变更摘要辅助表中的记录信息,附加上同步动作和表名信息,将变更数据组织为待交换的XML数据文件,并将它发送给主服务器;
3)在主服务器收到步骤2)中的XML数据文件后,则直接调用变更数据冲突仲裁功能模块,对变更的数据进行冲突检测,并根据设定的冲突消除规则进行自动消除,对于不符合规则的冲突标记为人工处理,最终实现冲突数据的消除;
4)主服务器在完成步骤3)中的冲突仲裁后,则进入变更数据同步功能模块,根据变更数据的变化类型,分别执行不同的同步操作,最终达到主从服务器上的空间数据一致性。
所述的变更记录收集功能模块为:从服务器监控空间副本数据的所有变化,并将变化的信息记录到辅助空间信息变化表中,需要记录的数据包括变更的图层,变更要素的全球唯一标识码,要素的类型即点状、线状、面状,要素变更的动作,记录产生的时间。
所述的变更数据组织功能模块为:当完成变更记录收集任务时,从服务器上的变更数据组织模块根据用户配置,结合数据库变更摘要辅助表中的数据信息,附加上同步动作和表名信息,将变更数据组织成 XML文件,最后,将该XML文件、元数据文件及与空间要素关联的其他数据按规则过滤打包压缩、并增加 MD5 验证串处理,并发送给主服务器。
所述的变更数据冲突仲裁功能模块为:主服务器在接收到XML同步数据文件后,会对文件中的数据进行冲突检测,空间数据冲突的类型包括数据增加冲突、数据更新冲突和数据删除冲突,识别每一种冲突,并设定相应冲突的自动维护的规则,对于符合规则的冲突设置自动处理,否则设置为人工处理,报告该冲突,交由执行数据合并操作的用户做人工处理。
所述的变更数据同步功能模块为:在处理冲突数据之后,从服务器会根据变更数据的变化类型,分别执行不同的同步操作,最终达到主从服务器上的空间数据一致性。
本发明与现有技术相比具有的有益效果:
1)实现了多副本空间数据的一致性同步,该方法具有支持离线和在线双重环境,支持异构数据库优点,是一个透明的、可扩展的、可控制的、细粒度的数据同步技术。
2)在空间数据同步过程中进行了数据冲突仲裁,避免了数据合并的错误,保证了数据的正确性和一致性。
3)本发明技术实现方法简单,数据增量同步更新,执行效率高。
附图说明
图1 为本发明中变更摘要辅助表结构示意图;
图2为本发明中空间数据同步的模型图;
图3为本发明中空间数据冲突检测流程图。
具体实施方式
基于XML的空间数据增量同步更新方法包括如下步骤:
1)从服务器上的变更记录收集功能模块监控从服务器上空间数据的所有变化,并将变化的信息记录到辅助空间信息变化表中;
2)从服务器上的变更数据组织功能模块根据用户配置,结合数据库变更摘要辅助表中的记录信息,附加上同步动作和表名信息,将变更数据组织为待交换的XML数据文件,并将它发送给主服务器;
3)在主服务器收到步骤2)中的XML数据文件后,则直接调用变更数据冲突仲裁功能模块,对变更的数据进行冲突检测,并根据设定的冲突消除规则进行自动消除,对于不符合规则的冲突标记为人工处理,最终实现冲突数据的消除;
4)主服务器在完成步骤3)中的冲突仲裁后,则进入变更数据同步功能模块,根据变更数据的变化类型,分别执行不同的同步操作,最终达到主从服务器上的空间数据一致性。
所述的变更记录收集功能模块为:从服务器监控空间副本数据的所有变化,并将变化的信息记录到辅助空间信息变化表中,需要记录的数据包括变更的图层,变更要素的全球唯一标识码,要素的类型即点状、线状、面状,要素变更的动作,记录产生的时间。
所述的变更数据组织功能模块为:当完成变更记录收集任务时,从服务器上的变更数据组织模块根据用户配置,结合数据库变更摘要辅助表中的数据信息,附加上同步动作和表名信息,将变更数据组织成 XML文件,最后,将该XML文件、元数据文件及与空间要素关联的其他数据按规则过滤打包压缩、并增加 MD5 验证串处理,并发送给主服务器。
所述的变更数据冲突仲裁功能模块为:主服务器在接收到XML同步数据文件后,会对文件中的数据进行冲突检测,空间数据冲突的类型包括数据增加冲突、数据更新冲突和数据删除冲突,识别每一种冲突,并设定相应冲突的自动维护的规则,对于符合规则的冲突设置自动处理,否则设置为人工处理,报告该冲突,交由执行数据合并操作的用户做人工处理。
所述的变更数据同步功能模块为:在处理冲突数据之后,从服务器会根据变更数据的变化类型,分别执行不同的同步操作(具体内容如下表所示),最终达到主从服务器上的空间数据一致性。
本发明的整个运行过程可以总结如下:
基于XML的空间数据增量更新方法的运行过程是在从服务器修改空间副本数据,并且由从服务器监控空间数据的所有变化,将其记录到辅助空间信息变化表中;在完成变更记录收集任务后,从服务器上的变更数据组织模块根据用户配置,结合数据库变更摘要辅助表中的数据信息,附加上同步动作和表名等信息,将变更数据组织为待交换的XML同步数据文件,并将该同步包发送给主服务器;主服务器收到空间数据同步包后,需要调用变更数据冲突仲裁功能模块,对变更的数据进行冲突检测,并根据设定好的冲突消除规则进行自动消除,对于不符合规则的冲突标记为人工处理,最终实现冲突数据的消除;服务器在完成数据冲突仲裁后,则进入数据同步功能模块,根据变更数据的变化类型,分别执行不同的同步操作,最终达到主从服务器上的空间数据一致性。这样,通过基于XML的空间数据增量同步更新方法就可以完成可扩展的、可控制的、细粒度的数据同步任务。
实施例
空间数据增量同步更新方法应用在空间数据库中,其整个运行过程是用一个C#类Services来控制的,四大功能模块分别是用四个C#类DataCollectionServices、DataOrganizationServices、ConflictIntercedeServices、DataSynchronizationServices来实现的,在应用程序中分别调用各个功能模块类来实现相应的功能,完成整个运行过程。具体步骤为:
1)变更数据收集功能模块DataCollectionServices监控从服务器的空间数据变化,并将变化的信息记录到辅助空间信息变化表中;
2)变更数据组织功能模块DataOrganizationServices根据变更摘要辅助表中的记录信息,附加上同步动作和表名等信息,将变更数据组织为待交换的XML数据文件;
3)变更数据冲突仲裁功能模块ConflictIntercedeServices分别检测数据增加冲突、数据更新冲突和数据删除冲突,识别每一种冲突,并处理各种冲突;
4)数据同步功能模块DataSynchronizationServices根据变更数据的变化类型,分别执行不同的同步操作,最终达到主从服务器上的空间数据一致性。
空间数据交换XML文件示例格式描述如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--Prototype xml document for Data Synchronization. -->
<SynDataList>
<SynData>
<TFBH>28980576</TFBH>
<Operator>张三</Operator>
<DataType>Polygon</DataType>
<ChangeType>Add</ChangeType>
<FeatureInfo>
<gml:boundedBy >
<gml:Envelope srsName="_TM_" >
<gml:coordinates >
576203.992015,2897999.999995 576210.221305,2898011.103014
</gml:coordinates>
</gml:Envelope>
</gml:boundedBy>
<gml:featureMember >
<SGC:ENT_POLYGON >
<SGC:GUID >8a9115eb-2ab7-4714-a488-989989d03119</SGC:GUID>
<SGC:CASS_CODE >310000</SGC:CASS_CODE>
<SGC:CODE >912017</SGC:CODE>
<SGC:DLDM >112</SGC:DLDM>
<SGC:代表高程 >851.23</SGC:代表高程>
<SGC:断面区间 >J4</SGC:断面区间>
<gml:Polygon srsName="_TM_" >
<gml:outerBoundaryIs >
<gml:LinearRing >
<gml:coordinates >
576210.221305,2897999.999995 576205.525065,2897999.999995 576203.992015,2898007.798029 576207.395975,2898011.103014 576208.932029,2898002.356987 576210.221305,2897999.999995
</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</SGC:ENT_POLYGON>
</gml:featureMember>
</FeatureInfo>
</SynData>
</SynDataList>。
Claims (5)
1.一种基于XML的空间数据增量同步更新方法,其特征在于它的步骤如下:
1)从服务器上的变更记录收集功能模块监控从服务器上空间数据的所有变化,并将变化的信息记录到辅助空间信息变化表中;
2)从服务器上的变更数据组织功能模块根据用户配置,结合数据库变更摘要辅助表中的记录信息,附加上同步动作和表名信息,将变更数据组织为待交换的XML数据文件,并将它发送给主服务器;
3)在主服务器收到步骤2)中的XML数据文件后,则直接调用变更数据冲突仲裁功能模块,对变更的数据进行冲突检测,并根据设定的冲突消除规则进行自动消除,对于不符合规则的冲突标记为人工处理,最终实现冲突数据的消除;
4)主服务器在完成步骤3)中的冲突仲裁后,从服务器则进入变更数据同步功能模块,根据变更数据的变化类型,分别执行不同的同步操作,最终达到主从服务器上的空间数据一致性。
2.根据权利要求1所述的一种基于XML的空间数据增量同步更新方法,其特征在于所述的变更记录收集功能模块为:从服务器监控空间副本数据的所有变化,并将变化的信息记录到辅助空间信息变化表中,需要记录的数据包括变更的图层,变更要素的全球唯一标识码,要素的类型即点状、线状、面状,要素变更的动作,记录产生的时间。
3.根据权利要求1所述的一种基于XML的空间数据增量同步更新方法,其特征在于所述的变更数据组织功能模块为:当完成变更记录收集任务时,从服务器上的变更数据组织功能模块根据用户配置,结合数据库变更摘要辅助表中的数据信息,附加上同步动作和表名信息,将变更数据组织成 XML文件,最后,将该XML文件、元数据文件及与空间要素关联的其他数据按规则过滤打包压缩、并增加 MD5 验证串处理,并发送给主服务器。
4.根据权利要求1所述的一种基于XML的空间数据增量同步更新方法,其特征在于所述的变更数据冲突仲裁功能模块为:主服务器在接收到XML同步数据文件后,会对文件中的数据进行冲突检测,空间数据冲突的类型包括数据增加冲突、数据更新冲突和数据删除冲突,识别每一种冲突,并设定相应冲突的自动维护的规则,对于符合规则的冲突设置自动处理,否则设置为人工处理,报告该冲突,交由执行数据合并操作的用户做人工处理。
5.根据权利要求1所述的一种基于XML的空间数据增量同步更新方法,其特征在于所述的变更数据同步功能模块为:在处理冲突数据之后,从服务器会根据变更数据的变化类型,分别执行不同的同步操作,最终达到主从服务器上的空间数据一致性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110318256 CN102508886B (zh) | 2011-10-19 | 2011-10-19 | 一种基于xml的空间数据增量同步更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110318256 CN102508886B (zh) | 2011-10-19 | 2011-10-19 | 一种基于xml的空间数据增量同步更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102508886A CN102508886A (zh) | 2012-06-20 |
CN102508886B true CN102508886B (zh) | 2013-06-12 |
Family
ID=46220972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110318256 Active CN102508886B (zh) | 2011-10-19 | 2011-10-19 | 一种基于xml的空间数据增量同步更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102508886B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516989A (zh) * | 2015-01-26 | 2015-04-15 | 北京京东尚科信息技术有限公司 | 增量数据推送系统和方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530300A (zh) * | 2012-07-06 | 2014-01-22 | 北京四维图新科技股份有限公司 | 电子地图编辑的冲突检测方法和装置 |
CN103051729A (zh) * | 2013-01-14 | 2013-04-17 | 南京轨道交通系统工程有限公司 | 一种异构数据同步实现方法 |
CN103973723A (zh) * | 2013-01-25 | 2014-08-06 | 中国科学院寒区旱区环境与工程研究所 | 一种集中式科学数据同步的方法和系统 |
CN103198100B (zh) * | 2013-03-13 | 2016-05-18 | 中国科学院计算技术研究所 | 一种多设备间文件同步的重命名处理方法及系统 |
CN103793500A (zh) * | 2014-01-23 | 2014-05-14 | 浪潮集团山东通用软件有限公司 | 基于增量的主数据同步方法 |
CN105512332A (zh) * | 2015-12-25 | 2016-04-20 | 北京奇虎科技有限公司 | 数据库之间的数据联动调整方法、装置及系统 |
CN108234554B (zh) * | 2016-12-15 | 2021-05-25 | 北京金山云网络技术有限公司 | 一种云文件编辑方法及装置 |
CN112162992A (zh) * | 2020-10-12 | 2021-01-01 | 浪潮软件集团有限公司 | 一种高效的数据库更新系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2056217A1 (en) * | 2007-10-23 | 2009-05-06 | Software AG | Geographic XML database management system |
CN101464879B (zh) * | 2008-11-28 | 2011-05-11 | 中国地质大学(武汉) | 基于规则的动态目录实现方法及系统 |
-
2011
- 2011-10-19 CN CN 201110318256 patent/CN102508886B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516989A (zh) * | 2015-01-26 | 2015-04-15 | 北京京东尚科信息技术有限公司 | 增量数据推送系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102508886A (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102508886B (zh) | 一种基于xml的空间数据增量同步更新方法 | |
CN108536761B (zh) | 报表数据查询方法及服务器 | |
CN107544984B (zh) | 一种数据处理的方法和装置 | |
CN105205766B (zh) | 基于云平台的移动互联网医院就诊系统 | |
US11042503B1 (en) | Continuous data protection and restoration | |
CN103312791B (zh) | 物联网异构数据存储方法及系统 | |
CN103116661B (zh) | 一种数据库的数据处理方法 | |
US11860741B2 (en) | Continuous data protection | |
US20170139956A1 (en) | Dynamic data-ingestion pipeline | |
CN102508908A (zh) | 一种下级财政业务数据的采集方法和系统 | |
CN104516989B (zh) | 增量数据推送系统和方法 | |
CN104111996A (zh) | 基于hadoop平台的医保门诊大数据抽取系统及方法 | |
CN105701181A (zh) | 一种动态异构元数据获取方法及系统 | |
US10726042B2 (en) | Replication control using eventually consistent meta-data | |
CN102981933A (zh) | 物联网感知层的数据增量备份方法及系统 | |
CN103516802A (zh) | 一种实现跨异构虚拟交换机无缝迁移的方法和装置 | |
CN101706795A (zh) | 主备服务器上数据库数据同步方法 | |
CN103699638A (zh) | 一种基于配置参数实现跨数据库类型同步数据的方法 | |
CN104657497A (zh) | 一种基于分布式计算的海量用电信息并行计算系统及方法 | |
CN108228755A (zh) | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 | |
CN206249316U (zh) | 一种基于云端的医院数据中心平台系统 | |
CN104679841A (zh) | 一种消费端数据流复制方法及系统 | |
CN103841180B (zh) | 一种基于操作指令的网络数据同步方法、装置、终端设备和服务器 | |
CN104834700A (zh) | 一种基于轨迹变更的移动数据增量捕获方法 | |
CN108228756A (zh) | 基于日志解析技术的PG数据库到Hadoop平台的数据同步复制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |