一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向地理信息数据生产更新的多人协同作业方法与流程

2021-10-30 02:52:00 来源:中国专利 TAG:地理信息 作业 数据 更新 生产


1.本发明涉及地理信息行业,主要针对大范围、大数据量、需要多人同时作业的地理信息数据生产更新技术领域,具体涉及一种面向地理信息数据生产更新的多人协同作业方法。


背景技术:

2.现有的传统基础测绘更新技术需对跨图幅要素作物理上的裁切,增加了生产更新后繁琐的数据图幅接边工作,效率较低;arcgis的在线协同更新技术受数据体量、并发用户数量、版本编辑时长等众多条件的约束,面对海量数据的管理、并发用户的增加(3人以上)、版本编辑时间增长等情况,会导致响应速度变慢、刷新等待、甚至卡死,严重影响作业效率。
3.传统的分幅作业技术方案需根据标准分幅对数据进行物理裁切,大量完整的地理要素对象被分割成多个部件分发在不同的作业人员手中处理,作业人员在生产过程中只能关注局部信息,且待分幅数据生产更新完成后又要进行复杂的接边工作,涉及几何精度、图形咬合、属性纠正等内容,导致作业效率较低,且存在质量隐患;基于arcsde版本控制策略的空间数据在线协同更新技术可实现多人同时编辑同一数据,无需分幅和接边工作,一定程度上提高了数据生产的效率,但该技术方案高度依赖中央服务器性能和局域网环境,同时需要在服务端进行版本注册、角色以及用户权限配置,在面对海量数据、多用户并发等情况时,容易造成服务器响应缓慢,甚至卡死现象,每增加一人作业或者一定数据量,瓶颈现象非常明显,无法满足实际生产中规模化作业要求。


技术实现要素:

4.本发明的目的就在于为了解决上述问题而提供一种面向地理信息数据生产更新的多人协同作业方法。
5.本发明通过以下技术方案来实现上述目的:本发明包括以下步骤:步骤1,在服务器上创建企业级地理数据库,将大版的作业数据库导入到该服务器数据库中;步骤2,对服务器数据库进行初始化,包括添加协同状态表、为所有要素增加协同字段,并进行初始化赋值;步骤3,作业员从服务器数据库中将指定作业范围内的要素完整的下载到本地数据库;步骤4,作业员对本地数据库中的要素进行编辑,编辑过程中维护被更新要素的协同字段属性;步骤5,根据本地数据库和服务器数据库的协同状态信息进行数据的冲突检测,并将该范围内服务器数据库中的更新要素下载到本地数据库,作为服务器协调数据供作业员参考;
步骤6,开启冲突处理状态,若存在冲突要素,需进行冲突要素的处理,以协调数据为参考,处理本地数据库中的所有冲突要素;步骤7,当所有的冲突被处理完成后,将本地数据库中需提交的更新要素插入到服务器数据库中,并同步更新本地数据库的状态;步骤8,根据作业需要,从服务器数据库中导出指定版本的全要素数据库或增量数据包。
6.本发明的有益效果在于:本发明是一种面向地理信息数据生产更新的多人协同作业方法,与现有技术相比,本发明提出的离线式协同作业方法,采用海量数据在服务器中进行集中管理、在客户端中多人离线协同作业编辑的基本思路,通过版本管理、更新过程数据冗余存储、冲突检测及冲突处理等技术方法,实现了面向海量地理信息数据的多人离线协同作业,具体的进步可概括为以下几点:

海量数据的离线式协同编辑;采用了离线编辑的协同方法,使编辑效率与服务器数据体量、协同作业人员数量无关,提升了作业效率。
7.②
版本回溯;通过版本管理和更新过程数据的冗余存储方法,可实现指定要素的编辑过程回溯,也可实现任意指定版本数据库的导出,增强了数据作业过程的容错性。
8.③
增量提取:通过版本管理和更新过程数据的冗余存储方法,可实现任意两个指定版本间的增量数据导出。
9.④
作业分区按需变化:服务器中存储的是大版数据,作业人员通过分区文件下载指定范围的要素(跨范围的要素不进行打断操作),根据项目具体任务的作业要求或人员变化情况等灵活的改变子任务分区范围而无需进行额外操作(如接边等)。
10.基于本专利提出的方法,研发的地理信息数据更新协同作业系统已在数字中国时空信息数据库建设与更新项目、省级多尺度数据库建设等项目中投入使用,应用效果良好,能满足面向海量数据的多人协同作业需求,可灵活根据项目需求,以较低成本加大作业人员投入,保障项目的顺利按期完成。
附图说明
11.图1是本发明的方法流程图。
具体实施方式
12.下面结合附图对本发明作进一步说明:本专利旨在提供一种基础地理数据更新的离线式协同作业方法,以解决传统分幅作业技术中面临的分幅、拼接等繁琐工序及在线协同作业技术中面对海量数据的管理、多用户并发瓶颈问题,满足海量地理信息数据更新的多人协同作业需求。
13.为解决上述问题,本专利提供了一套面向海量地理信息更新的离线式协同作业技术方案,该方案将大版数据存储在服务器数据库中并进行初始化,通过子任务分区文件,作业员下载各自作业分区数据(要素不打断)到本地数据库,对本地数据库进行离线编辑作业,同时维护协同属性字段,作业完成后通过冲突检测和冲突处理模块处理本地数据与服务器数据的冲突,冲突处理完成后再将本地更新数据提交到服务器中(更新数据在服务器
中采用冗余存储)。该方法主要包括服务器数据库创建、服务器数据库初始化、数据下载、本地数据离线编辑、冲突检测、冲突处理、提交更新、数据导出等主要步骤,方法流程如图1所示。
14.本发明包括以下步骤:步骤1,在服务器上创建企业级地理数据库(服务器数据库),将大版的作业数据库导入到该服务器数据库中;步骤2,对服务器数据库进行初始化,包括添加协同状态表、为所有要素增加协同字段等,具体包含如下子步骤:步骤2.1,通过输入用户名、密码、数据库等信息,连接服务器数据库;步骤2.2,向服务器数据库中添加协同状态表,主要包括smgiserverstate(服务器状态表),该表用于存储每次数据提交时的相关信息,如本次提交的版本号、时间、说明信息、作业员等;smgicollabinfo(服务器协同信息表),该表用于存储服务器数据库初始化输入的基本信息,如共享文件名等;步骤2.3,遍历服务器数据库所有要素类,为要素类添加协同字段,主要包括smgiguid(要素的唯一编码)、smgiver(要素的版本号)、smgidel(要素的删除状态)、smgiuser(作业员);步骤2.4,遍历服务器数据库中的所有要素,对要素的协同字段进行初始化赋值,其中smgiver属性值为空的要素初始赋值为0;步骤2.5,将当前服务器数据库的版本号(所有要素类的最大版本号)、初始化时间、说明等信息写入到服务器状态表中;步骤2.6,将共享文件等协同信息写入到服务器协同信息表。
15.步骤3,作业员从服务器数据库中将指定作业范围内的要素完整的下载到本地数据库,具体包含如下子步骤:步骤3.1,输入服务器信息、数据库用户名、密码等信息,连接服务器数据库;步骤3.2,根据作业员输入的范围文件,将服务器数据库中指定范围内要素的现势版本(同一要素在服务器数据库中采用的冗余存储,可同时存在多个版本,其中的最大版本号对应要素被视为现势要素)完整的(不进行打断,即要素可能跨多个子任务作业范围)下载到本地数据库,其中,服务器数据库要素的现势版本为删除状态(smgidel==

是’)的要素不进行下载;步骤3.3,向本地数据库中添加smgilocalstate(本地状态表)等本地协同状态表。其中,本地状态表用于存储数据下载时服务器的相关信息,如服务器的ip、服务器数据库名、用户名、密码、数据库基版本号(下载时服务器数据库的版本号)、分区范围等;步骤3.4,获取下载时服务器数据库的最大版本号,并将服务器相关信息写入到本地数据库中的本地状态表中。
16.步骤4,作业员对本地数据库中的要素进行编辑(不需要连接服务器数据库),编辑过程中维护被更新要素的协同字段属性,具体包含如下子步骤:步骤4.1,开启编辑,并对目标要素进行编辑;步骤4.2,针对跨子任务作业范围的目标要素,在要素编辑前,可选择通过数据检测,检查目标要素在服务器中是否已经被更新(通过本地数据库的基版本号与该要素在服
务器中的最大版本号进行比较,若服务器要素的最大版本号大于基版本号,则该要素已被其它用户更新),若存在更新,将服务器中已更新的目标服务器要素协调到本地数据库中;步骤4.3,对本地目标要素进行编辑操作,编辑操作分为新增、修改、删除三大类型,根据编辑类型,分类别进行协同属性的维护:

若为要素的新增操作且不处于冲突处理状态,则将要素的smgiguid赋值一个唯一标识码、smgiver赋值为

1、smgiuser赋值为作业员登录的用户名;

若为要素的修改操作且不处于冲突处理状态,则将要素的smgiver赋值为

2、smgiuser赋值为作业员登录的用户名;

若为要素的删除操作且不处于冲突处理状态,根据删除要素的原版本号分为两种情况进行处理:若原始版本号为

1(即该要素为本地数据库新增要素),则直接删除,不保留要素副本,否则,增加被删除要素的副本,将副本要素的smgiver赋值为

2147483648、smgiuser赋值为作业员登录的用户名;步骤4.4,保存编辑。
17.步骤5,根据本地数据库和服务器数据库的协同状态信息进行数据的冲突检测,并将该范围内服务器数据库中的更新要素下载到本地数据库,作为服务器协调数据供作业员参考,具体包含如下子步骤:步骤5.1,从本地数据库的本地状态表中获取本地数据库的基版本号、范围多边形几何、服务器数据库相关信息等;步骤5.2,删除上一次从服务器数据库下载下来的协调要素(版本号大于本地数据库的基版本号);步骤5.3,判断服务器数据库的锁定状态,若未被其它用户锁定,则锁定服务器数据库,防止期间被其它用户提交数据,直到数据提交完成或软件关闭;步骤5.4,根据作业范围几何及本地数据库的基版本号,从服务器数据库中获取该范围内所有已更新要素的最新版本(服务器已更新要素的版本号大于本地数据库的基版本号),作为协调数据插入到本地数据库中;步骤5.5,从本地数据库中提取被编辑过的更新要素(smgiver<0);步骤5.6,基于协调数据和本地更新要素集合,提取并标识具有冲突的要素集合,被标识为冲突的要素应同时具备如下两个条件:

该要素(smgiguid)在本地数据库中是被编辑过的要素;

该要素在服务器数据库中已被其它用户更新。
18.步骤6,开启冲突处理状态,若存在冲突要素,需进行冲突要素的处理,以协调数据为参考,处理本地数据库中的所有冲突要素,具体分如下几种情况:

本地要素为修改状态且服务器协调要素为非删除状态,通常情况下,位于子任务作业范围内的要素几何部分依本地要素,位于范围外的要素几何部分依协调要素,两者进行融合,属性需结合相关参考资料或与相关作业人员协商解决冲突;

本地要素为修改状态且服务器协调要素为删除状态,需根据实际情况选择保留本地要素状态或服务器要素状态:若选择保留本地要素状态,则后期直接将该本地要素进行提交;若选择保留服务器要素状态,则标识该本地要素不进行后期提交;

本地要素为删除状态且服务器要素为非删除状态,需根据实际情况选择保留本地要素状态或服务器要素状态:若选择保留本地要素状态,则后期直接将该本地要素进行提交;若选择保留服务器要素状态,则标识该本地要素不进行后期提交;

本地要素为删除状态且服务器要素为删除状态,则标识该本地要素不进行后期
提交;步骤7,当所有的冲突被处理完成后,将本地数据库中需提交的更新要素(待提交要素)插入到服务器数据库中,并同步更新本地数据库的状态,具体包含如下子步骤:步骤7.1,从本地数据库中提取所有待提交要素;步骤7.2,检查待提交要素的合法性,主要包括要素的smgiguid属性值是否赋值且唯一、要素的几何拓扑是否正确等;步驟7.3,连接服务器数据库,获取服务器数据库当前的版本号serverdbvesion;步骤7.4,将待提交要素逐条插入到服务器数据库中对应的要素类中,根据待提交要素的属性分以下几种情况处理:

若待提交要素为非删除状态(smgiver<0 且 smgiver<>

2147483648),则将该要素插入到服务器数据库中,同时将插入要素的smgiver属性值赋值为serverdbvesion 1;

若待提交要素为删除状态(smgiver==

2147483648),则将该要素插入到服务器数据库中,同时将插入要素的smgiver属性值赋值为serverdbvesion 1、smgidel属性值赋值为

是’;步骤7.5,向服务器状态表添加一条提交记录,该记录主要信息主要包括:提交的版本号(serverdbvesion 1)、提交时间、更新说明信息、提交的作业员等;步骤7.6,同步本地数据库状态,删除冗余的协调数据和删除状态的数据、更新本地数据库的基版本号、更新新增或修改要素的版本号为基版本号等;步骤7.7,解锁服务器数据库,解除本地数据库的冲突处理状态。
19.步骤8,由于服务器数据库采用的是冗余存储,每个要素存在多个版本要素,可根据作业需要,从服务器数据库中导出指定版本的全要素数据库或增量数据包。
20.①
导出指定版本的全要素数据库:根据用户指定的版本ver,遍历服务器数据库中的要素,排除所有版本号大于ver的版本要素,然后在剩余要素中提取各要素的现势版本(最大版本号),即为指定版本ver所对应的版本数据库。
21.②
导出基于指定版本的增量数据包:根据用户指定的起版本号startver、止版本号endver(大于startver),分别获取两个版本对应的版本数据库,分别为db1(startver)、db2(endver)。若db2中某一要素(smgiguid)为非删除状态,而db1中不存在该要素或为删除状态,则从db2中提取该要素,并标记为新增状态;若db2中某一要素为非删除状态,而db1中存在且该要素在db2中的版本号大于db1中的版本号,则从db2中提取该要素,并标记为修改状态;若db2中某一要素为删除状态,而db1中存在该要素且为非删除状态,则从db2库中提取该要素,并标记为删除状态。将所有标记为新增、修改、删除状态的要素导出即为增量数据包。
22.本专利提出的离线式协同作业方法,采用海量数据在服务器中进行集中管理、在客户端中多人离线协同作业编辑的基本思路,通过版本管理、更新过程数据冗余存储、冲突检测及冲突处理等技术方法,实现了面向海量地理信息数据的多人离线协同作业,具体的进步可概括为以下几点:

海量数据的离线式协同编辑;采用了离线编辑的协同方法,使编辑效率与服务器数据体量、协同作业人员数量无关,提升了作业效率。
23.②
版本回溯;通过版本管理和更新过程数据的冗余存储方法,可实现指定要素的
编辑过程回溯,也可实现任意指定版本数据库的导出,增强了数据作业过程的容错性。
24.③
增量提取:通过版本管理和更新过程数据的冗余存储方法,可实现任意两个指定版本间的增量数据导出。
25.④
作业分区按需变化:服务器中存储的是大版数据,作业人员通过分区文件下载指定范围的要素(跨范围的要素不进行打断操作),根据项目具体任务的作业要求或人员变化情况等灵活的改变子任务分区范围而无需进行额外操作(如接边等)。
26.基于本专利提出的方法,研发的地理信息数据更新协同作业系统已在数字中国时空信息数据库建设与更新项目、省级多尺度数据库建设等项目中投入使用,应用效果良好,能满足面向海量数据的多人协同作业需求,可灵活根据项目需求,以较低成本加大作业人员投入,保障项目的顺利按期完成。
27.以上显示和描述了本发明的基本原理和主要特征及本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜