基于GIS协同的测绘协作生产系统研究

2022-03-25 08:17曾微波毛玉环刘文镇
黑龙江工程学院学报 2022年1期
关键词:协同工作优先权协作

陈 顺,曾微波,毛玉环,刘文镇

(滁州学院 地理信息与旅游学院,安徽 滁州 239000)

近年来,随着现代测绘技术的快速发展和地理信息需求的迅速增长,传统测绘技术由于人力物力消耗量太大已经不能满足当前的测绘需求,如何开展高效率新型测绘研究已成为有关人员关注的重点问题[1]。GIS协同的出现为以上测绘问题带来了契机。目前,已有很多学者在GIS协同的特征、概率、模型等方面进行了研究,并开发出不同类型的GIS协同系统,对推动GIS协同的发展起到很大作用。赵建[2]设计基于三维GIS平台的协同标绘系统,利用Skyline平台和开发工具协同三维GIS实现对边海防部队及省军区等日常协同业务的标绘空白填补。蔡维纬等[3]研究一种高效率实时协同编辑中的意图保持OT算法,合并不必要的计算及无效操作,使得在实时协同编辑过程中提高远程操作的响应时间,保持结果更接近用户的实际意愿。在测绘产品生产研究方面,王茂胜等[4]通过在服务端集成各种服务器,同时配合一致性与并发性控制、Java Applet等技术来实现计算机支持协同工作(CSCW),解决了传统测绘生产过程中数据资源不共享、数据交流不充分等问题。从目前研究阶段的效果来看,大多数测绘产品研究已经可以实现内外业过程一体化,但实时在线的协作仍未较好地完成,且随着测绘地理信息行业的发展,现代测绘需要从集中式向分布式发展,大规模的在线协同作业模式要求从人机交互模式转化为人人交互模式[5]。由此可见,基于GIS协同的测绘协作生产将成为今后新型测绘模式的研究重点,其成果对于提高测绘效率及精度、减少人力物力损耗具有很高的实用价值。

文中基于计算机支持协同工作技术,通过划分合理的GIS操作粒度,结合XML可拓展性、开放性的特点,设计实现了GIS操作语义信息的结构化封装体。在此基础上开发出优先权分配与并发控制算法,解决协同操作过程中可能产生的冲突问题,有效地维护了协作者操作意愿与数据的一致性,实现大规模内外业协同测绘作业,有效地提升测绘作业效率与成果质量。

1 语义共享

语义[6]可以简单地看作是现实世界中事物所代表概念的意义与数据相对应,以及这些概念之间的关系,如对特定领域中数据的解释和逻辑表示。而空间地理数据的语义是指空间对象的属性信息、空间信息以及时间信息等。测绘协同作业中,为了解决因表达上的差异而造成语义不匹配的数据之间的相互作用问题,同时维护作业者操作意愿的一致性,操作语义的提取以及传输就成为协同作业的关键。XML[7]是一组用于规范计算机之间文档传输和交换的可拓展标记语言。由于XML具有数据的自描述性、内容的独立性、显示的多样性、可拓展性以及开放性等特点,非常适合于进行GIS操作的封装和语义信息的传输,并维护参与协作的作业者操作意愿的一致性。

1.1 操作粒度与语义划分

对于不同用户对同样的GIS操作类型的不同理解而产生的语义冲突问题,可以通过分析不同的GIS操作类型并提取出其语义信息,划分合适的操作粒度,再利用XML技术对该语义信息进行封装处理,以减少语义冲突的产生。在进行封装操作之前,首先要确定GIS操作粒度的划分标准,过高或者过低的粒度划分都不利于进行协同工作,进而影响协同的效率。

文中以GIS原子操作[8]为基础,通过对测绘生产内外业协同作业过程中可能的GIS操作[9]进行分析,将GIS操作粒度划分标准列于表1所示。

表1 GIS操作粒度划分

地图浏览、查询及空间分析这3种操作类型都属于非编辑的GIS操作,无需对GIS操作语义进行划分,仅对需要编辑的GIS操作进行语义划分。要对某一要素进行具体的编辑,首先要明确操作对象,然后再对某一具体对象进行相应的编辑操作。空间要素的操作对象主要分为3种,分别是点要素、线要素及面要素。针对这3种操作对象,设计了新增、编辑、删除3种操作类型,并就不同的要素操作[10]设计对应的编辑流程。

1.1.1 要素新增

要素新增主要是通过追踪点、多段线以及多边形的方式提取几何形状,同时对其赋予属性,具体流程如图1所示。

图1 新增要素操作流程

1.1.2 要素编辑

要素编辑可分为要素几何编辑以及要素属性编辑两种。开始编辑之前首先要选择所要编辑的图层,在确定编辑要素的同时提取出对应的要素图层,设置编辑任务,然后进入编辑模式,开始编辑操作。编辑操作具体流程如图2所示。

图2 编辑操作流程

1.1.3 要素删除

删除要素就是将要素从要素集中选出,然后删除即可,具体流程如图3所示。

图3 删除操作流程

1.2 语义封装与消息通信

对于一个工程项目,可以划分出不同的协作区域,每个协作区域由若干个不同的图层构成,图层则是由不同的几何体构成,而几何体则可以由点串表示出来,设计GIS操作语义封装的XML消息体如下:

Operation="">

当执行GIS操作时,本地客户端通过监听用户的GIS操作,生成基于该GIS操作的消息体并通过数据包的形式将该命令消息传递到服务器中,服务器通过解析客户端发来的命令消息,将其传递到并发控制模型中进行冲突的检测与消解处理[11],直到确认操作无误后,服务器才会将该GIS操作消息广播到其他协作客户端,协作客户端对收到的GIS操作命令消息进行解译,提取其中相应的GIS操作并反演到本地客户端,从而实现实时GIS协作的目的,消息传递过程如图4所示。

图4 消息传递机制下系统构成

2 并发控制算法设计

2.1 优先权分配

在GIS协同工作过程中,不可避免地会出现多客户端对同一对象的GIS操作处理,如何处理操作请求成为研究的难点。文中运用优先权分配方式来决定不同操作请求的处理结果。

假设定义一个二元组,其中,Object表示处理的对象,Operation表示定义在Object上的能够改变Object状态的所有GIS操作的集合。显然,不同的协作者在同一时间段对于同一个对象的操作很可能是不同的。当不同协作者向并发控制管理模块发出不同的操作请求时,首先要确定对象(简写O)以及GIS操作(简写Op)的有效性,然后分析其优先权大小,优先权越高,该操作就越先执行。

假设R=表示二元组的一次运行操作,其中,S表示所有参与此次操作的协作端集合,可以表示为S={s1,s2,…,sn}(n为参与此次操作所有协作端的协作者总数),L表示对象操作流,即参与此次对象操作的所有协作端的操作集合。假设在消息传递过程中没有任何损失,服务器接收到所有协作者的命令消息,那么每一个协作端si都会有一个自己对应的操作Oi,操作对象优先权可以表示为

(1)

由于操作的类型、操作的最后期限、操作对象周期、网络站点等因素都会直接影响到优先权分配,因此,操作类型的优先权表达式为

(2)

操作最后期限越短,则优先权越大,操作最后期限可以表达为

(3)

操作对象周期越短,则优先权越大,操作对象周期可以表达为

(4)

网络站点优先权受该站点人员的个人能力、操作经验以及网络速度等因素的限制,其表达式为

(5)

由上述因素组成的影响优先权的矩阵可表示为

(6)

操作(Op)的优先权表达式为

(7)

2.2 并发控制算法

由于在协同工作的过程中,同一个对象在不同的端口都会存在多个副本,如果每个副本都仅由一个进程访问,则必须确保副本与不同操作结果之间的逻辑一致性。每当修改一个对象时,只对更改的部分进行复制,通过优先权计算分配优先级执行策略,保证操作过程中数据的一致性[12]。根据操作对象和类型的不同,将在并发处理过程中可能出现的情况划分为以下4种:

1)对于同一对象不同的操作类型。这种情况下,操作类型的优先权限越高操作越先执行。

L(Ty1(p),Ty2(p)):(O1,O2)

ReturnO1

Else

ReturnO2

2)对于同一对象相同的操作类型。这种情况下,以网络站点的优先权为准。

L(ISD1(p),ISD2(p)):(Op1,Op2)

IfISD1(p)=ISD1(p)/>ISD2(p)=ISD2(p)/

Return Op1

Else

Return Op2

3)对于不同对象相同的操作类型。此种情况,对象的优先权决定操作顺序。

L (O1(P), O2(P)): (Op1,Op2)

If O1(P)>O2(P)

Return Op1

Else

Return Op2

图5 实时并发控制算法

操作冲突处理:假设Ui,Uj表示第i,j更新操作;Di,Dj表示第i,j删除操作;Opi表示Opi所操作对象的集合;Opj表示Opj所操作对象的集合,Result表示操作结果,则操作冲突处理过程如图6所示。

图6 操作冲突处理

当完成初始化操作后,每获得一个新的操作请求,需要根据不同对象和操作赋予不同的优先权,并优先执行优先权高的操作。对于复杂情况的优先权判断而言,当一个修改(U)类型的操作与操作可执行序列(WRQ)中具有更高优先级的修改操作发生冲突时,撤销该种冲突操作,同时将其从操作请求集中删除。

3 系统实现

根据上述技术与规划,设计了多平台协作的测绘生产系统,实现了多客户端协同制图,并最终集成至服务端实时监控,为测绘生产作业提高了质量与效率。系统基于ArcGIS Engine平台二次开发,实现了地图漫游、要素选择、矢量要素更新、要素属性编辑、提交作业等功能。

系统实现协同编辑如图7所示,客户端A和客户端B对于协作区域进行相应的GIS操作后,能够实时地显示在监控端,并对相关GIS操作进行反演,有效地保证了协作者操作意愿的一致性,确保协同工作的准确进行。

图7 系统功能实现

4 结束语

文中通过对GIS操作语义的具体分析,结合GIS原子操作的概念,为GIS操作粒度设定划分标准,并对其中需要进行编辑的要素编辑操作的语义进行划分,就其不同的要素操作设计了对应的编辑流程。以此为基础,对GIS操作语义以XML的形式进行结构化封装,将不同GIS操作类型同步到协作客户端,从而实现基于GIS协同的测绘生产协同作业。对于协同操作过程中可能产生的并发问题等,文中分析了对象和操作类型之间可能存在的4种关系,结合优先权分配算法和并发控制算法,设计出并发控制模型对并发冲突操作进行处理,能够有效地解决协作设计过程中的并发冲突操作问题,从而维护协作者操作意愿的一致性,保证协同工作的顺利进行。

但是文中的研究对象主要是对单一对象的GIS操作,对于批量对象的操作处理尚且没有较好的解决方式。在未来的工作中,需要重点研究海量数据的批量处理在协同工作过程中的传输解译问题。

猜你喜欢
协同工作优先权协作
民法典中优先权制度构建研究
团结协作成功易
监督桥 沟通桥 协作桥
狼|团结协作的草原之王
协作
进入欧洲专利区域阶段的优先权文件要求
基于BIM体系的造价管理优化研究
地理信息系统与勘探开发协同工作平台建设方案
具有止步和中途退出的M/M/c/2N-c优先权排队系统
第二届“BIM技术在设计、施工及房地产企业协同工作中的应用”国际技术交流会在北京成功举办