CN107911294B - 一种基于地表区块的协同标绘消息路由转发及处理方法 - Google Patents
一种基于地表区块的协同标绘消息路由转发及处理方法 Download PDFInfo
- Publication number
- CN107911294B CN107911294B CN201711170228.5A CN201711170228A CN107911294B CN 107911294 B CN107911294 B CN 107911294B CN 201711170228 A CN201711170228 A CN 201711170228A CN 107911294 B CN107911294 B CN 107911294B
- Authority
- CN
- China
- Prior art keywords
- message
- client
- task
- cooperative
- plotting
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及信息技术领域,是为了解决当前涉及地表相关信息获取的标绘系统为实现协同标绘的作业方式所面临的用户数限制、跨网段、实时性等问题,提出的一种基于地表区块的协同标绘消息路由转发及处理方法。本发明采用任务的地表区域范围来构建协作区块及消息转发路由表,同时提出基于此路由转发的协作消息的处理方法,包括消息的统一转发与分布式解析、对同一操作对象的编辑冲突消解、重登录数据环境恢复、大数据量消息内容的异步传输、消息路由自动更新等,能够在广域网中实时转发有效消息,在提高网络资源利用率的同时,提供了解决多用户协同标绘操作数据一致性问题的完备方案,以达到互联网、多用户、高并发环境下进行实时协同标绘的目标。
Description
技术领域
本发明涉及信息技术领域,具体是一种基于地表区块的协同标绘消息路由转发及处理方法。
背景技术
当前涉及地表相关信息获取的标绘系统,如各类测绘采编绘图类软件系统、遥感信息判绘系统、地理信息系统等,其协同标绘(即多用户多客户端协作)的作业方式的实现方法,基本可归为以下两类:
1、各标绘信息获取客户端获取的信息在中心服务器以数据库记录的形式进行统一存取,其工作方式为:某信息获取客户端将采集到的标绘数据存入中心服务器的数据库,其他进行协同工作时需要此信息的客户端从数据库中读取此信息后显示并进行处理,处理后结果写回数据库。
2、各信息获取客户端获取的信息内容及操作动作以消息形式进行广播,其他客户端收到广播消息后分别进行处理,每个客户端在接受其他客户端广播消息的同时也将自己的处理信息进行广播以达到协同工作的目标。
然而,这些设计存在以下问题和缺点:
第一类方法,其中心数据库存储的数据,需要客户端主动发起请求才能获取,因此,其协同工作系统交互操作只能是准实时的,其同步数据的实时程度,取决于设定客户端访问数据库的频率,当同时在线的协同工作客户端数量很大的时候,访问效率会明显下降;另一个问题是,由于数据库保存的是标绘数据采集的结果记录,在协同交互过程中,当多用户对于同一数据进行编辑时,会产生时序冲突。因此这种方式只适合协同标绘任务内容各自独立的情况,即要求每个客户端只编辑自己采集的内容。
第二类方法,由于采用广播模式,消息跨网关会带来技术问题,因此只适合局域网环境,不适合布设在互联网环境中。在广播方式下,网络中所有用户都能接收到该信息,不需要这些信息的用户也会受到影响,网络资源利用率将非常低,带宽浪费严重,消息量随用户数量增多呈几何指数增长,容易引起广播风暴,不能适用于用户较多的情况。同时,由于网络延时的存在,每个客户端收到消息的顺序可能与各客户端真实操作的时间顺序不一致,在多个用户对于同一数据进行编辑时,同样会产生时序冲突。
发明内容
为了解决上述问题,本发明提供了一种基于地表区块的协同标绘消息路由转发及处理方法。发明的目的在于,提供一种按照协同标绘协作任务地表范围来构建协作消息转发路由的方法,使应用该方法的系统能够在广域网中按照此路由实时转发有效消息,以提高协作效率以及网络资源利用率;同时提出协同标绘过程中的消息流转途径及处理方法,包括消息的统一转发与分布式解析、对同一操作对象的编辑冲突消解、重登录数据环境恢复、大数据量消息内容的异步传输、消息路由自动更新等的处理方法,提供了解决多用户协同标绘操作数据一致性问题的完备方案,以达到互联网、多用户、高并发环境下的进行实时协同标绘的目标。
为实现上述目的,本发明提供的一种基于地表区块的协同标绘消息路由转发及处理方法是这样实现的:
如“图一:系统原理图”所示,在统一用户系统的支撑下,协同标绘消息处理体系的业务处理模块主要由任务中心、消息中心、服务端业务处理模块、客户端业务处理模块四部分构成,其协作消息转发路由构建及消息处理的工作原理如下:
首先任务中心服务程序根据地表标绘任务区域范围进行协作网格区块分块;
然后在分配到标绘任务的协同操作客户端与分块之间建立对应关系,通过协作网格区块之间的拓扑关系来确定各参与协作的客户端之间消息流转的路由关系;
执行各协同标绘任务的客户端将操作动作标记了所属协作区块信息后,形成协作消息发送给消息中心服务程序;
消息中心会将收到的所有消息按时序汇总后形成统一消息队列发送给标绘业务程序服务端处理中心,同时依次根据客户端协作路由关系向相关客户端进行消息转发;
客户端接受消息中心转发的消息后进行本地解析及相应处理;
业务程序服务端处理中心会将收到的所有消息进行解析,在服务器端形成数据成果。
整个过程通过消息中心服务提供的对消息队列的统一存储及转发时序来保障整个协作过程中的冲突消解。
其主要内容详细描述如下:
1.地表信息协同标绘任务范围协作网格区块划分方法
按照地表信息协同标绘任务的范围进行协作网格区块的划分并进行编号,其分块方式主要有如下两种方式:
(1)、如“图2”所示,按地理坐标规则方式划分格网,如按照一定的经纬度间隔来划分格网或在标绘任务指定的投影坐标系内规定X、Y方向的间距来进行分块。使用这种分块方式,协作区块ID编号采用地理坐标进行编码。
(2)、如“图3”所示,按任务的操作范围来进行分块,每个协作任务,根据其操作可见的最大范围作为其协作区块的划分依据。该划分方式得出的协作分块与协作任务一一对应,其ID编号可根据协作任务ID进行对应编排。
2.地表信息协同标绘任务范围《协作网格分块表》构建方法
协作区块划分计算完成后,计算与每个协作区块有操作范围交集的协作任务有哪些,并将此对应关系(协作区块ID——与之有交集的任务ID)逐条记录,形成《协作网格分块表》。
3.《协作消息转发路由表》构建方法
当某协同标绘任务被某用户(或某几个用户)领取,则将这些用户ID,根据所认领的任务ID,通过《协作网格分块表》对应到相应的协作区块。当该用户登录系统后,通过系统统一用户服务得到该用户本次登录的协作客户端IP地址,将此对应关系(协作区块ID——协作相关客户端IP地址)记录,形成《协作消息转发路由表》。
4.协作过程中的消息处理及路由流转机制
整个协同标绘任务的协作作业过程中,协作消息处理涉及模块包括中心服务器的任务中心、消息中心、业务处理中心以及参与协作任务的各客户端,这些模块之间采用全IP互联的方式进行通讯。其中协作消息流如“图1”中虚线箭头所示,其消息流的逻辑顺序如下:
作业人员在操作协同标绘任务业务客户端程序进行标绘作业操作时,客户端程序会判断该操作动作的对象处于哪些协作区块,然后将操作动作内容与其对应的相关协作区块ID一起形成协作消息发送给消息中心。
消息中心的消息接收服务负责将各协作客户端发来的消息按照收到的时间先后存入消息队列;消息转发服务负责按照每条消息内的协作区块ID对照《协作消息转发路由表》查找到对应的协作相关客户端IP地址列表,将该条消息转发到这些客户端。
协作客户端接收消息中心发来的消息并按收到顺序依次进行本地处理,如进行显示、锁定等相应操作。
简单来说,对于单个客户端而言,只要某个协作区块与该客户端的任务操作范围有交集,它就将收到包括自己在内的所有参与协作客户端在该区块上操作的消息,这样就达到了协同标绘的目的。
5.服务端消息队列统一处理机制
消息中心将收到的各协作客户端发来的消息按照时间先后存入唯一消息队列,该消息队列将提供给服务端业务程序进行统一处理。也就是说,系统服务端业务程序处理的是该协作任务的所有协作客户端的操作,最终在服务端生成唯一的协作标绘成果数据。
在协作任务进行过程中,各客户端持续进行操作,不断会有新消息追加进消息队列,消息队列处于实时变化中。因此,服务端生成协作标绘成果的操作为定时更新机制,每次进行成果生成操作时,会将当时处理的消息队列的最后一个消息编号记录下来作为时间标记。
6.客户端重新登录后的消息消恢复机制
协作客户端只是作业员的操作端,协同标绘任务的成果在服务端统一存储。由于任务是多用户协作,当某客户端不在线时,其他客户端仍在操作,统一数据成果是在不断更新中的,因此,每次客户端重新登录时,需要从服务端恢复当前的数据环境。
协同标绘任务作业人员登录业务客户端后,启动该协同标绘任务的业务处理程序,首先需要从服务端生成唯一的协作标绘成果数据中获取到本客户端所分配的协作任务操作范围内的所有数据。
由于服务端生成协作标绘成果的操作会有时间滞后,此时的成果数据并不是实时的协作数据结果。因此,在从服务端协作标绘成果数据中获取数据时,客户端程序将同时获得该成果数据所对应的消息队列时间标记。
成果数据恢复后,客户端程序会将所使用成果数据的时间标记发送到消息中心,消息中心会将消息队列中该时间标记后的所有与该客户端有关的消息发送给该客户端。
客户端按照收到消息的顺序依次进行本地处理,完成本客户端与当前整个协作数据环境的同步。
7.协作过程中多客户端对同一对象操作的编辑冲突消解机制
在协同标绘业务的操作过程中,协作消息内容的操作动作可大致分为以下两类:创建(新增)标绘对象和编辑已存在标绘对象。
创建标绘对象的操作可能出现的冲突,主要是处于协作操作的公共区域内的标绘物,在几乎相同的时段内(消息生成、转发、接收、显示时间,毫秒级)被多人进行了重复标绘。在标绘任务划分时明确任务对应的范围或标绘对象的类型不产生重复的情况下,这种冲突发生概率较低,而且即使发生也不会产生程序逻辑冲突,不需要特殊的程序级机制进行防范。
多人同时编辑协作操作的公共区域内的同一个已存在的标绘对象时,冲突消解机制如下:
(1)、规定客户端对标绘对象进行编辑操作的步骤是:“选中编辑对象——进行编辑——取消选中”。
(2)、当某客户端执行“选中编辑对象”操作时,该操作被作为协作消息内容发送至消息中心,消息中心将该消息转发给包括该动作发起客户端在内的所有协作相关客户端,同时将该类(选中)消息中被选中的标绘对象ID记录到标绘对象锁定列表中。
(3)、该选中动作发起客户端收到消息后在本地客户端显示该标绘对象选中成功;其他协作相关客户端收到消息后,在本地客户端显示该标绘对象被他人锁定。
(4)、选中标绘对象成功的客户端可以进行对该标绘对象的编辑操作,编辑完成后可取消对该绘对象的选中状态。
(5)、消息中心收到取消对该绘对象的选中状态的消息后转发该消息,同时将该类(取消选中)消息中的标绘对象ID从标绘对象锁定列表中删除。
(6)、被他人锁定的标绘对象将不能再被本地客户端操作。因此正常情况下消息中心将只收到一条对该标绘对象的选中消息。
(7)、由于网络延迟等原因,有可能在在还未收到标绘对象被他人选中的消息时,多个客户端同时发出对同一标绘对象的选中操作消息。此时消息中心会收到多条对同一标绘对象的选中消息,消息中心按照收到消息的顺序进行处理,第一个收到的选中消息会被转发并记录锁定,后续收到的选中消息由于标绘对象ID已被记录为锁定,因此将不进行转发,直接返回选中失败的消息。
8.协作过程中大数据量消息内容的异步传输处理机制
由于本发明的消息转发处理使用服务端消息队列统一处理机制,当某条消息内容的数据量很大的时候,会因为网络传输等原因导致转发处理时间变长,从而阻塞其后的消息,造成延迟影响协作。这种情况在实际标绘业务处理时经常会遇到,例如创建单个标绘成果对象或编辑操作的对象为数据量很大的图像信息或复杂模型时。
针对上述情况,本发明提出对于这种大数据量消息内容的异步传输处理机制,其原理为将大数据量标绘编辑对象单独使用另外的数据通道进行传输,客户端进行异步处理,不影响协作消息队列同步转发,具体实现方法如下:
(1)、为保证消息转发效率,根据网络环境规定消息内容的数据量标准,小于此标准的消息内容客户端可直接发送。
(2)、当某客户端需要发送的协作消息内容数据量大于规定标准时,客户端将此协作消息的处理对象数据单独打包,通过另外的数据通道上传至消息中心的数据区,在同时发送的协作消息内仅标明所需处理的数据包的编号即可。
(3)、消息中心将收到的该协作消息实时转发至各协作相关客户端,不需要等待数据包接收完成。
(4)、该消息的发起客户端收到此消息后直接使用本机数据进行本地化处理。此时数据包发送可能还未完成,这个传输过程由系统后台自动进行,不会影响该客户端进行后续的任何操作。
(5)、其他相关协作客户端收到该条消息后,需要等待对应的数据包上传完成后将此数据包下载到本地再进行处理。由于数据传输造成的延迟,其他相关协作客户端接收到数据并进行本地处理的时间对比发起客户端会有滞后。
(6)、当该消息为新增标绘对象类的操作时,现象为协作客户端显示该对象比发起客户端滞后;当该消息为编辑标绘对象类的操作时,现象为协作客户端显示该对象更新及解锁时间延后。上述两种情况均对协作客户端本地的操作无影响。
9.协作过程中发生任务协作关系变更时的消息路由更新机制
整个协同标绘工程进行的过程中,所有协作任务并不一定是最开始就一次性规划设定好的,经常会出现任务的协作关系变更,一般有变更任务的操作用户、增加新任务、变更现有任务范围三类情况(其他影响标绘业务数据的任务参数变更会直接导致正在进行的协作任务无效而只能全体用户退出任务更新后重来,这种情况不属于任务的协作关系变更):
(1)、当某协作任务的操作用户发生了变更,此时《协作网格分块表》并未发生变化,《协作消息转发路由表》会根据用户的变化情况实时更新每个协作区块ID对应的协作相关客户端IP地址。由于《协作消息转发路由表》只有在消息中心进行消息转发时用到,因此正在进行的协作任务无影响,已登录客户端不需要进行任何更新同步操作。
(2)、当服务端任务中心新增协作任务时,根据协作方案选择的对应协作网格区块的两种划分方法也有对应的不同的处理方案。
情况一:协作格网区块采用地理坐标规则划分,这时新增协作任务不会引起《协作网格分块表》的变化,《协作消息转发路由表》会追加新任务对应的用户变化情况,实时更新每个协作区块ID对应的协作相关客户端IP地址。不影响原各个正在进行协作的任务。
情况二:协作格网区块采用任务操作范围划分,这时新增协作任务会影响《协作网格分块表》,由于每个协作任务客户端在给消息中心发送消息时需要带上协作区块的ID信息,因此在任务中心完成对《协作网格分块表》的修改后,会通知各客户端对协作网格分块信息进行更新同步,更新在客户端系统后台在线进行,对前端用户操作无影响。
(1)、当现有协作任务范围发生了变化的时候,可视同为原任务取消,范围变化后形成了新的任务。此时执行原任务的客户端需要进行任务更新,其更新任务的操作相当于用户下线后重新登录领取新任务,更新过程中用户无法进行业务操作。正在进行与此任务有协作区域相交的其他协作任务客户端,情况与新增协作任务时相同。
由于本发明采用分布式业务处理C/S架构、消息中心星型架构、模块全IP互联、消息路由方式转发、唯一消息队列、大数据量消息内容的异步传输、编辑冲突消解等技术,配合统一的用户服务与任务调度服务,从而可以得到以下有益效果:
1.协作消息处理效率高
本发明采用消息路由转发与消息处理分离,使用全工程唯一消息队列的方式保持数据一致性。与传统的中心数据库存储查询协作数据的方式相比,本发明在消息的转发处理过程中,并不对消息内容本身做解析和进行存储查询等数据库操作,由于其实现路径极简,收到消息后即刻转发,因此效率极高。例如,使用RabbitMQ作为消息中间件的消息转发效率实测可达10000条/秒。
2.可支持互联网全球协作
本发明中消息处理的各个模块使用全IP互联,各客户端只需能够访问消息中心服务器的地址即可实现协作消息互通,例如消息系统前端通讯选用netty框架,登录后客户端与netty服务器保持socket长连接即可。因此,与现有的协作消息广播技术相比,本发明提出的基于地表区域的协同标绘消息转发路由构建及消息处理方法突破了网关限制,非常适合于互联网环境作业,可支持全球范围的异地协作作业模式。
3.支持海量用户同时在线
本发明提出的协作网格区块按照地表范围进行划分的方法以及据此构建的协作路由转发方法,使得协作消息的转发仅在有协作关系的客户端之间进行,相比现有的全网广播方式,有效降低了消息总量。例如,按最常见的矩形协同标绘任务范围来划分,协作任务重合最多的协作公共区域出现在四个任务的交会角处,按照每个任务内2人进行协作,消息转发量最大为此区域内的操作,需同时转发给8个相关协作客户端。以RabbitMQ作为消息中间件的单连接转发效率10000条/秒为参照,按照每人每秒钟完成一次操作计算,本发明的协作路由方法可满足1250人同时在线协作消息的实时转发。而且,这是指在一个协作项目中进行协作任务在线人数,当多个项目同时启动时,可以启动多个消息队列转发服务,系统的同时在线人数还可横向扩展。由此可见,本发明提出的消息处理方法所能支持的同时在线用户数量远远大于当前任何一套协同标绘系统。
4.全实时协作
本发明提出的消息路由实时转发机制以及大数据量消息内容的异步传输处理机制,使各客户端的业务操作逻辑变为客户端收发消息并对消息内容各自进行本地化处理。因此,与传统单机版标绘系统相比,单步操作处理时仅增加小数据量的消息转发及网络传输时间,经实测耗时均在毫秒级,所有参与协作的作业人员的协作过程为所见即所得,无数据同步等待过程,实现真正的全实时协作。
5.支持多用户分区协作、分类协作及其混合协作模式
协同标绘工程中的协作工作方式,主要有按操作区域划分和按操作对象分类两种。对比使用传统单机标绘系统,按操作区域划分的协作主要实现了多人在线接边,解决了为保证各区域成果数据边缘的数据一致性而带来的数据频繁拷贝问题,但这种方式仍需要每个区域的作业人员独立完成该区域内的所有标绘工作,对人员要求高;按操作对象分类的协作方式,使得作业人员可以进行分工,每人可专注于某一类标绘对象的表达,操作更专业高效,而且可大幅度降低人员的培训成本,但由于各类标绘对象之间存在相互关系,这种协作方式对于协作过程的实时性要求非常高,目前利用现有技术实现的协同标绘系统,如共享数据统一存取类,由于其实时性差,无法满足分类协作的要求。
本发明提出的基于地表区块的协同标绘消息路由转发及处理方法,能够完成实时消息转发处理,可以很好的支持多用户分区协作、分类协作及其混合协作模式,实现真正意义上的协作。
6.标绘业务兼容性好
本发明提出的基于地表区块的协同标绘消息路由转发及处理方法,是一个可以兼容各类标绘业务的标准协作消息处理方案。无论标绘对象是照片、图像还是地表模型,所标绘的成果是符号、标注、属性还是图片,只要是基于地表范围进行的协作任务,均适用于本发明所提出的处理方法。本发明所提出的方法兼容各类协作任务,为通用型协作平台的开发首选。
7.支持其他使用方式扩展
由于本发明提出的消息转发及处理方法为通用通讯框架,因此,在应用本发明提出方法的协同标绘系统中,非标绘业务类信息也可以通过本发明提出方法实现通讯。例如:协作人员之间的聊天功能(将聊天内容作为协作数据发送给相关协作人员),实时任务进度监控功能(分配所需监控范围的新任务给监控人员),在线实时质检(分配任务范围的质检任务给质检人员,系统可实时看到检查消息)等。
这些应用均可使用本发明提出的统一的消息转发方法实现,与标绘业务本身无缝融合,可以很好的解决协同工作过程中的实时沟通、管理、质量保障等相关问题。
附图说明
以下结合附图对本发明/实用新型做进一步详细描述。
图1是本发明的系统原理图
图2是本发明中协同标绘任务范围协作网格的地理坐标规则分块方法原理图;
图3是本发明中协同标绘任务范围协作网格的任务操作范围分块方法原理图;
图4是本发明中协同标绘任务的标绘物与协作任务范围、操作范围、协作区块关系示意图;
具体实施方式
如“图2”所示,本发明的优选实施方式是将协同标绘任务范围协作网格按照地理坐标规则进行分块来构建协作路由。
该方法的特点是划分的区块与具体任务范围无关。仅需要格网划分规则和编码规范参数,配合领取的任务信息,各协作客户端即可得到全球唯一的协作网格分块表,无需因为后续任务新增等情况再进行同步更新。
使用这种划分方式,格网越小,分块越多,转发消息越精准,网络消息量越小,但客户端程序的判定操作涉及区块的计算量也会越大;相反的,格网变大会使某任务范围涉及的分块变少,客户端程序的判定计算量变小,但超出任务范围无效消息量会增多。因此,原则上格网大小这个分块参数应根据该地表信息协同标绘任务具体所描绘对象的地理信息尺度来综合决定。
此种分块方式下,如“图4”所示3人协作的例子中,任务A由作业员1领取,任务B由作业员2、3两人领取,其协作标绘操作对象与任务范围、操作范围以及协作区块的关系就会有以下四种情况,分别为:
情况(1),标绘物处于作业员1的任务范围且属于其独立作业区域,只属于单个协作区块3-3;
情况(2),标绘物处于作业员1的任务范围且属于其独立作业区域,属于多个协作区块3-3、3-4,其中协作区块3-3对应作业员1,协作区块3-4同时对应作业员1、2、3;
情况(3),标绘物处于作业员1的任务范围,跨作业员1独立工作区域以及作业员1、2、3的协作区域,属于多个协作区块3-3、3-4,其中协作区块3-3对应作业员1,协作区块3-4同时对应作业员1、2、3;
情况(4),标绘物分别处于作业员1、2、3三人的任务范围,跨作业员1的独立工作区域以及作业员1、2、3的协作区域,属于多个协作区块3-3、3-4,其中协作区块3-3对应作业员1,协作区块3-4同时对应作业员1、2、3;
操作过程中的消息处理,针对上述四种情况,分别为:
情况(1),该标绘物对应操作消息由作业员1所在客户端发送,消息中心转发给3-3区块的对应客户端,仍由作业员1收到该消息,进行本地显示等处理;
情况(2),该标绘物对应操作消息由作业员1所在客户端发送,消息中心转发给3-3、3-4区块的对应客户端,作业员1收到消息后进行本地显示及处理,作业员2和3收到该消息后,由于不在其工作范围内,客户端不做显示等处理。
情况(3),该标绘物属于作业员1的任务范围,对应操作消息由作业员1所在客户端发送,消息中心转发给3-3、3-4区块的对应客户端,作业员1、2、3所在客户端分别收到消息后进行本地显示及处理,对于作业员2和3而言,虽然此标绘物处于其工作范围,但由于不在自己的任务范围内,一般仅做为接边协作参考而不进行操作。
情况(4),该标绘物分别处于作业员1、2、3的任务范围内,需要三人协作完成对此标绘物的操作。创建此标绘物的对应操作,在任务A的范围内由作业员1负责,在任务B的范围内由作业员2和3负责,消息中心接收到各客户端发来的消息后,转发到3-3、3-4区块对应客户端分别进行本地显示及处理。作业员1、2、3三人均可实时看到此标绘物的创建过程。当标绘物创建完成后,需要对此标绘物进行编辑时,消息中心按照对同一对象操作的编辑冲突消解机制进行处理。例如作业员2所在客户端发出选中该标绘物的协作消息,则作业员1、3所在客户端收到消息中心转发的该消息后进行本地处理,显示为地物被他人锁定,无法被选中;作业员2进行编辑操作,发送编辑消息,作业员1、3所在客户端收到消息中心转发的该消息后在本地实时显示编辑的结果;作业员2编辑操作完成后,取消了对该标绘物的选中状态,此时作业员1、3所在客户端收到消息中心转发的该消息后在本地显示解锁,该标绘物处于可被选中状态。
整个协作过程中,作业员1、2、3三人发出的所有操作消息在服务端形成消息队列并提供给服务端业务程序进行统一处理,最终在服务端生成唯一的协作标绘成果数据。
如“图3”所示,本发明的另一优选实施方式是将协同标绘任务范围协作网格按照任务的操作范围来进行分块来构建协作路由.
使用这种分块方式时,每个协作任务,根据其操作可见的最大范围作为其协作区块的划分依据。该划分方式的优势在于协作分块与协作任务一一对应,客户端程序不需对操作对象所在块的信息做复杂判断,而且一般来说协作区块的数量也会小于使用地理规则的分块方式,《协作消息转发路由表》的条目变少,相应减少了转发系统查表的时间。但其劣势在于,每个任务客户端会收到消息系统将与该协作任务操作范围有交集的所有相邻任务的操作消息,无效信息转发量较大。
除了协作分块的算法不同外,这种实施方式的应用过程中,与第一种实施方式的区别还在于:由于协作格网区块采用任务的操作范围来划分,当新增协作任务时,《协作网格分块表》会发生变化,因此在任务中心完成对《协作网格分块表》的修改后,需要各客户端对协作网格分块信息进行更新同步。
在执行协同标绘任务的多客户端协作过程中,消息路由转发及处理方法与第一种实施方式完全相同。
Claims (1)
1.一种基于地表区块的协同标绘消息路由转发及处理方法,其特征在于:采用分布式业务处理客户端/服务端架构,消息中心星型架构,统一的用户服务与任务调度服务,系统模块全IP互联,支持多用户、互联网、全实时协同标绘业务操作,具体包括以下步骤:
(1)在统一用户系统的支撑下,协同标绘消息处理体系的业务处理模块包括部署于服务端的任务中心、消息中心、服务端业务处理模块和部署于客户端的客户端业务处理模块四部分构成;
(2)任务中心根据地表标绘任务区域范围进行协作网格的区块分块,分块方法采用地理坐标规则或任务操作范围两种划分方式;
(3)协作区块划分计算完成后,任务中心计算与每个协作区块有操作范围交集的协作任务有哪些,并将协作区块ID和与之有交集的任务ID的对应关系逐条记录,形成协作网格分块表;
(4)当某协同标绘任务被某用户或某几个用户领取,任务中心将这些用户ID,根据所认领的任务ID,通过协作网格分块表对应到相应的协作区块;
(5)当用户登录系统后,任务中心通过系统统一用户服务得到该用户本次登录的协作客户端IP地址,将协作区块ID与协作相关客户端IP地址的对应关系记录,形成协作消息转发路由表;
(6)当某协作任务的操作用户发生了变更,此时协作网格分块表并未发生变化,任务中心会根据用户的变化情况实时更新协作消息转发路由表每个协作区块ID对应的协作相关客户端IP地址;
(7)当服务端任务中心新增协作任务时:如协作格网区块采用地理坐标规则划分,这时新增协作任务不会引起协作网格分块表的变化,任务中心会对协作消息转发路由表追加新任务对应的用户变化情况,实时更新每个协作区块ID对应的协作相关客户端IP地址;如协作格网区块采用任务操作范围划分,这时新增协作任务会影响协作网格分块表,任务中心在完成对协作网格分块表的修改后通知各客户端进行更新同步,并根据新协作网格分块信息和新任务的用户变化情况对协作消息转发路由表进行实时更新;
(8)作业人员在使用客户端业务处理模块进行标绘作业操作时,客户端业务处理模块会判断该操作动作的对象处于哪些协作区块,然后将操作动作内容与其对应的相关协作区块ID一起形成协作消息发送给消息中心;
(9)消息中心的消息接收服务负责将各协作客户端发来的消息按照收到的时间先后存入消息队列,该消息队列将提供给服务端业务处理模块进行统一处理,最终在服务端生成唯一的协作标绘成果数据;
(10)服务端业务处理模块生成协作标绘成果的操作为定时更新机制,每次进行成果生成操作时,会将当时处理的消息队列的最后一个消息编号记录下来作为时间标记;
(11)消息中心的消息转发服务负责按照每条消息内的协作区块ID对照协作消息转发路由表查找到对应的协作相关客户端IP地址列表,然后将该条消息转发到这些客户端,客户端业务处理模块接收消息中心发来的消息并按收到顺序依次进行本地处理;
(12)协同标绘任务的成果在服务端统一存储,每次客户端重新登录时,需要从服务端恢复当前的数据环境,首先服务端业务处理模块从服务端生成唯一的协作标绘成果数据中获取到该客户端所分配的协作任务操作范围内的所有数据,同时获得该成果数据所对应的消息队列时间标记,并将其传输至客户端业务处理模块,当客户端成果数据恢复后,客户端业务处理模块会将所使用成果数据的时间标记发送到消息中心,消息中心会将消息队列中该时间标记后的所有与该客户端有关的消息发送给该客户端业务处理模块,客户端业务处理模块按照收到消息的顺序依次进行本地处理,完成本客户端与当前整个协作数据环境的同步;
(13)为保证消息转发效率,根据网络环境规定消息内容的数据量标准,小于此标准的消息内容客户端直接发送;当某客户端需要发送的协作消息内容数据量大于规定标准时,客户端业务处理模块将此协作消息的处理对象数据单独打包,通过另外的数据通道上传至消息中心的数据区;消息中心将收到的该协作消息实时转发至各协作相关客户端,不需要等待数据包接收完成;该消息的发起客户端业务处理模块收到此消息后直接使用本机数据进行本地化处理,其他相关协作客户端收到该条消息后,需要等待对应的数据包上传完成后将此数据包下载到本地再进行处理;
(14)规定客户端业务处理模块对标绘对象进行编辑操作的步骤是:a.选中编辑对象,b.进行编辑,c.取消选中;当某客户端业务处理模块执行选中编辑对象操作时,该操作被作为协作消息内容发送至消息中心,消息中心将该消息转发给包括该动作发起客户端在内的所有协作相关客户端,同时将该选中类消息中被选中的标绘对象ID记录到标绘对象锁定列表中;该选中动作的发起客户端业务处理模块收到消息后在本地显示该标绘对象选中成功;其他协作相关客户端业务处理模块收到消息后,在本地显示该标绘对象被他人锁定;选中标绘对象成功的客户端业务处理模块进行对该标绘对象的编辑操作,编辑完成后取消对该绘对象的选中状态;消息中心收到取消对该绘对象的选中状态的消息后转发该消息,同时将该取消选中消息中的标绘对象ID从标绘对象锁定列表中删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711170228.5A CN107911294B (zh) | 2017-11-22 | 2017-11-22 | 一种基于地表区块的协同标绘消息路由转发及处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711170228.5A CN107911294B (zh) | 2017-11-22 | 2017-11-22 | 一种基于地表区块的协同标绘消息路由转发及处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107911294A CN107911294A (zh) | 2018-04-13 |
CN107911294B true CN107911294B (zh) | 2020-09-29 |
Family
ID=61846942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711170228.5A Active CN107911294B (zh) | 2017-11-22 | 2017-11-22 | 一种基于地表区块的协同标绘消息路由转发及处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107911294B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718336A (zh) * | 2018-05-21 | 2018-10-30 | 武汉兆格信息技术有限公司 | 一种基于网络协作的空间作业开发平台 |
CN110163510A (zh) * | 2019-05-23 | 2019-08-23 | 武汉兆格信息技术有限公司 | 一种空间数据生产任务动态规划及关联数据生成控制方法 |
CN112070861B (zh) * | 2020-08-06 | 2023-02-24 | 新疆维吾尔自治区第二测绘院 | 顾及地理特征的多用户实时同步协同地图编辑方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741696A (zh) * | 2008-11-07 | 2010-06-16 | 中国测绘科学研究院 | 一种分布式地理信息环境中的多用户实时协作系统 |
CN102930047A (zh) * | 2012-11-15 | 2013-02-13 | 中国科学院深圳先进技术研究院 | 虚拟地球用户化身节点检索方法及系统 |
CN104240001A (zh) * | 2014-03-24 | 2014-12-24 | 国家基础地理信息中心 | 大区域下在线协同式地理信息数据野外快速采集方法 |
CN105530316A (zh) * | 2016-01-13 | 2016-04-27 | 桂林理工大学 | 一种基于云计算技术的异构空间信息协同标绘空间系统 |
CN105591691A (zh) * | 2016-02-29 | 2016-05-18 | 国网河南省电力公司南阳供电公司 | 基于gis的通信光缆在线监测系统及其故障点定位方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527679B (zh) * | 2009-03-12 | 2010-12-29 | 上海交通大学 | 基于适应性随机延迟的tcp/ip网络隐蔽时间信道干扰方法 |
CN101616177A (zh) * | 2009-07-21 | 2009-12-30 | 武汉大学 | 基于p2p的网络地形系统的数据传输共享方法 |
CN103167287B (zh) * | 2013-03-01 | 2015-03-18 | 北京大学 | 基于空间位置的遥感影像数据广播分发的选择性接收方法 |
US9998368B2 (en) * | 2015-06-11 | 2018-06-12 | Futurewei Technologies, Inc. | Zone routing system |
CN105718308A (zh) * | 2016-01-13 | 2016-06-29 | 桂林理工大学 | 一种基于Multi-Agent的协同标绘模型系统 |
CN106973017B (zh) * | 2017-03-29 | 2019-09-13 | 常熟理工学院 | 一种快速的网络数据通信方法 |
-
2017
- 2017-11-22 CN CN201711170228.5A patent/CN107911294B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741696A (zh) * | 2008-11-07 | 2010-06-16 | 中国测绘科学研究院 | 一种分布式地理信息环境中的多用户实时协作系统 |
CN102930047A (zh) * | 2012-11-15 | 2013-02-13 | 中国科学院深圳先进技术研究院 | 虚拟地球用户化身节点检索方法及系统 |
CN104240001A (zh) * | 2014-03-24 | 2014-12-24 | 国家基础地理信息中心 | 大区域下在线协同式地理信息数据野外快速采集方法 |
CN105530316A (zh) * | 2016-01-13 | 2016-04-27 | 桂林理工大学 | 一种基于云计算技术的异构空间信息协同标绘空间系统 |
CN105591691A (zh) * | 2016-02-29 | 2016-05-18 | 国网河南省电力公司南阳供电公司 | 基于gis的通信光缆在线监测系统及其故障点定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107911294A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911294B (zh) | 一种基于地表区块的协同标绘消息路由转发及处理方法 | |
CN104461281B (zh) | 移动终端桌面图标的管理方法、管理服务器及移动终端 | |
CN104468327B (zh) | 一种群组加入方法、装置及系统 | |
CN102724138A (zh) | 即时通信中的信息共享方法及装置 | |
CN110995844B (zh) | 多人协同设计的方法、装置、设备及计算机可读存储介质 | |
CN111569426B (zh) | 游戏场景的编辑方法、装置、存储介质和电子装置 | |
CN102264029A (zh) | 终端信息共享的方法及其设备 | |
CN104601363A (zh) | 一种分轨分域的双层卫星网络系统及管理方法 | |
CN111541786B (zh) | 一种面向p2p网络的地理空间态势系统及构建方法 | |
CN114553709B (zh) | 拓扑关系展示方法及相关设备 | |
US20070281707A1 (en) | Management of Distributed Location Servers | |
CN111628818B (zh) | 空地无人系统分布式实时通信方法、装置及多无人系统 | |
CN114399406A (zh) | 基于gis和bim的水利工程多用户协同管理系统和方法 | |
CN104537459A (zh) | 基于bim的微现场系统和方法 | |
CN109243290B (zh) | 一种基于线下活动的足迹展示生成方法与系统 | |
CN110601891A (zh) | 一种报警处理的方法以及相关装置 | |
CN112632124B (zh) | 多媒体信息获取方法、装置、系统、存储介质及电子装置 | |
US20210084229A1 (en) | System, method and apparatus for networking independent synchronized generation of a series of images | |
CN110839006A (zh) | 网络调度方法、装置以及电子设备 | |
CN104427575A (zh) | 一种提供基于位置的服务信息的接入系统和接入方法 | |
CN103188714A (zh) | 实时数据采集方法、系统和采集网元 | |
CN106375795B (zh) | 信息发送方法、装置及系统 | |
CN102045154B (zh) | 动力设备数据同步方法、系统及动力资源管理服务器 | |
KR101851843B1 (ko) | 3d 편집 협업 시스템, 방법 및 기록매체 | |
CN112330216A (zh) | 一种基于模拟设备的通信网络训练系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |