CN116455897A - 实现节点间协同作业的方法、协同服务引擎及协同系统 - Google Patents
实现节点间协同作业的方法、协同服务引擎及协同系统 Download PDFInfo
- Publication number
- CN116455897A CN116455897A CN202310329924.5A CN202310329924A CN116455897A CN 116455897 A CN116455897 A CN 116455897A CN 202310329924 A CN202310329924 A CN 202310329924A CN 116455897 A CN116455897 A CN 116455897A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- packet
- collaborative
- cooperative
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000001360 synchronised effect Effects 0.000 claims abstract description 27
- 238000001514 detection method Methods 0.000 claims abstract description 26
- 230000003068 static effect Effects 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 20
- 230000002452 interceptive effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 7
- 239000000306 component Substances 0.000 description 6
- 238000004886 process control Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000013474 audit trail Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/1396—Protocols specially adapted for monitoring users' activity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开实现节点间协同作业的方法、协同服务引擎及协同系统。该方法包括:第一节点与第二节点同步分组信息数据;在同步后的分组信息数据记录所述第一节点与所述第二节点属于同一协同作业分组时,所述第一节点与所述第二节点同步分组业务数据;所述第一节点将同步后的所述分组业务数据展示给用户操作的客户端。该协同服务引擎包括:分组业务数据同步接口;分组信息数据同步接口;管理接口;查询接口;心跳检测接口。如此,实现了节点间协同作业,满足多用户针对多种应用的协同作业需求。
Description
技术领域
本发明涉及协同作业技术领域,尤其涉及实现节点间协同作业的方法、协同服务引擎及协同系统。
背景技术
目前设置在各分支机构和总部的协同作业办公系统,大多具有视频连线、点对点通信、视频监控等功能,而尚未可靠高效地实现协同浏览、协同编辑、文件共享、电子白板等协同作业功能。
这是因为协同浏览、协同编辑、文件共享、电子白板等协同作业将会产生大规模用户并发接入,需要应对实时且可靠地传输文件、音视频等多媒体数据的压力,也对带宽资源提出了更高的要求。
为此,需要提供具有应用协同支撑能力,并且可以提供协同过程控制和协同数据管理的协同作业技术方案。
发明内容
针对以上问题,本发明提供实现节点间协同作业的方法、协同服务引擎及协同系统,用于实现节点间协同作业,满足多用户针对多种应用的协同作业需求。
第一方面,本发明提供一种实现节点间协同作业的方法,包括:
第一节点与第二节点同步分组信息数据;
在同步后的分组信息数据记录所述第一节点与所述第二节点属于同一协同作业分组时,所述第一节点与所述第二节点同步分组业务数据;
所述第一节点将同步后的所述分组业务数据展示给用户操作的客户端。
进一步地,所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:
所述第一节点向所述第二节点发送分组信息数据版本或分组业务数据版本;
当所述第一节点接收到第二节点发送的响应消息时,向所述第二节点发送分组信息数据或分组业务数据,以使所述第二节点更新其存储的分组信息数据或分组业务数据;其中,所述响应消息是所述第二节点判断所述分组信息数据版本或分组业务数据版本高于第二节点所存储的版本时所发送的消息。
进一步地,所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:
所述第一节点从所述第二节点获取分组信息数据版本或分组业务数据版本;
当所述第一节点判断所述分组信息版本或分组业务数据版本高于第一节点所存储的版本时,从所述第二节点获取分组信息数据或分组业务数据;
所述第一节点根据所述获取的分组信息数据或分组业务数据更新其存储的分组信息数据或分组业务数据。
进一步地,所述分组信息数据或分组业务数据包括存储的静态数据或缓存的实时数据;
所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:
所述第一节点与第二节点执行所述存储的静态数据的同步;
所述第一节点与第二节点执行所述缓存的实时数据的同步。
进一步地,所述第一节点与第二节点执行所述缓存的实时数据的同步,包括:
所述缓存的实时数据划分为至少两部分,所述至少两部分包括第一部分数据与第二部分数据;
所述执行所述缓存的实时数据的同步,包括以下之一:
对第一节点的所述第一部分数据进行操作时,且未记录锁定第一部分数据时,缓存所述第一部分数据;
对第一节点的所述第一部分数据进行操作时,且所述第二部分数据被第二节点锁定时,缓存所述第一部分数据,并从第二节点同步所述第二部分数据到第一节点,其中所述第二部分数据被第二节点锁定表示第二节点上的第二部分数据被操作;
对第一节点的所述第一部分数据进行操作时,且所述第一部分数据被锁定时,从第二节点同步所述第一部分数据到第一节点,响应所述操作处理所述第一部分数据并缓存,所述第一部分数据被锁定表示第二节点上的第一部分数据被操作。
进一步地,所述第一节点与第二节点同步分组信息数据或分组业务数据之前,还包括:
所述第一节点通过心跳信息检测所述第二节点的在线状态。
第二方面,本发明提供一种实现节点间协同作业的协同服务引擎,包括:
分组业务数据同步接口,用于在节点间执行协同作业时同步分组业务数据;
分组信息数据同步接口,用于在节点间执行协同作业时同步分组信息数据;
管理接口,用于响应用户通过客户端的管理操作,更新存储的节点间协同作业时处理的分组信息数据、业务优先级数据、和/或各所述节点的在线状态;
查询接口,用于响应用户通过客户端的查询操作,向所述客户端返回被查询的节点间协同作业时处理的分组业务数据或分组信息数据;
心跳检测接口,用于通过心跳信息检测目标节点的在线状态。
第三方面,本发明提供一种实现节点间协同作业的协同系统,包括:
至少一个协同服务引擎,所述至少一个协同服务引擎属于至少同一个协同作业分组,用于执行节点间协同作业;
至少两个用户的客户端,包括第一用户的客户端、第二用户的客户端;所述第一用户的客户端对应于一协同服务引擎且运行至少一个协同应用,所述第二用户的客户端对应于一协同服务引擎且运行至少一个协同应用;
每个所述协同服务引擎,包括:
分组业务数据同步接口,用于在节点间执行协同作业时同步分组业务数据;
分组信息数据同步接口,用于在节点间执行协同作业时同步分组信息数据;
管理接口,用于响应所述第一用户或所述第二用户通过客户端的管理操作,更新存储的节点间协同作业时处理的分组信息数据、业务优先级数据、和/或各所述节点的在线状态;
查询接口,用于响应所述第一用户或所述第二用户通过客户端的查询操作,向所述客户端返回被查询的节点间协同作业时处理的分组业务数据或分组信息数据;
心跳检测接口,用于通过心跳信息检测目标节点的在线状态;
所述第一用户的客户端或所述第二用户的客户端设置用于协同作业的交互界面,以显示节点间协同作业时处理的分组信息数据或所述分组业务数据,以及以通过所述交互界面接收用户针对任一协同应用的操作,并响应所述操作访问对应的协同服务引擎处理分组信息数据或分组业务数据。
第四方面,本发明提供一种计算设备,包括:处理器,以及存储器,所述存储器上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行如第一方面说明的实现节点间协同作业的方法、或被配置为如第二方面所述的实现节点间协同作业的协同服务引擎。
第五方面,本发明提供一种存储介质,所述存储介质存储有程序指令,所述程序指令当被处理器执行时使得所述处理器执行如第一方面说明的实现节点间协同作业的方法、或被配置为如第二方面所述的实现节点间协同作业的协同服务引擎。
本发明的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例的实现节点间协同作业的方法的流程示意图;
图2为本申请实施例的实现节点间协同作业的方法的实现分组信息静态同步的流程示意图;
图3为本申请实施例的实现节点间协同作业的方法的实现分组数据静态同步的流程示意图;
图4为本申请实施例的实现节点间协同作业的方法的实现分组信息实时同步的流程示意图;
图5为本申请实施例的实现节点间协同作业的方法的实现分组数据实时同步的流程示意图;
图6为本申请实施例的实现节点间协同作业的方法在跨域协同时实现实时数据同步的流程示意图;
图7为本申请实施例的实现节点间协同作业的方法进行心跳信息检测的流程示意图;
图8为本申请实施例的实现节点间协同作业的协同服务引擎的组成示意图;
图9为本申请实施例的实现节点间协同作业的节点的组成示意图;
图10为本申请实施例的实现节点间协同作业的方法跨域协同时的应用示意图;
图11为本申请实施例的实现节点间协同作业的方法域内协同时的应用示意图;
图12为本申请实施例的计算设备的组成示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,本申请提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,这种结合不受步骤先后次序和/或结构组成模式的约束,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本申请,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义。
引擎(Engine)是指开发的程序或软件系统中的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能,或利用其辅助应用程序的运转。一般而言,引擎是一个程序或一套系统的支持部分,如存储引擎、搜索引擎、游戏引擎等。
协同浏览(Collaborative Browsing)是指与一个或多个其他人同时访问和控制网页的行为。不同于简单地支持多个用户同时做不同的事情而不互相影响,而是允许一组人进行同步的活动,如,一个人针对自己屏幕上展示的网页的操作或行为会在其他参与者的屏幕上上展示的相同访问地址的网页看到。
电子白板,通常指交互式电子白板软件。如装载在智能交互一体机上的电子白板。通常智能交互一体机具有较大的屏幕,除外作为显示工具使用,还可以对显示的对象进行进一步操作,如编辑字处理文件(如ppt、word、pdf、txt等)、编辑图片、播放音视频文件等。
以下结合附图,对本申请的技术方案进行详细介绍。
实施例一
如图1所示,本申请实施例的实现节点间协同作业的方法,包括以下步骤:
S10:第一节点与第二节点同步分组信息数据;
S20:在同步后的分组信息数据记录所述第一节点与所述第二节点属于同一协同作业分组时,所述第一节点与所述第二节点同步分组业务数据;
S30:所述第一节点将同步后的所述分组业务数据展示给用户操作的客户端。
如此,第一节点与第二节点首先同步分组信息数据,以确定在同步后的分组信息数据是否记录所述第一节点与所述第二节点属于同一协同作业分组,在所述第一节点与所述第二节点属于同一协同作业分组时,所述第一节点与所述第二节点同步分组业务数据,以使得所述第一节点将同步后的所述分组业务数据展示给用户操作的客户端,进而实现节点间协同作业。
在一些实施例中,以上步骤S10中,可以包括:第一节点查询第二节点是否在指定协同作业分组内;若所述第二节点在所述指定协同作业分组内,所述第一节点更新所述指定协同作业分组对应的分组信息数据;若所述第二节点不在所述指定协同作业分组内,所述第一节点将所述第二节点添加到所述指定协同作业分组内,更新所述指定协同作业分组对应的分组信息数据。
如此,第一节点主动通过分组管理,使得其与第二节点属于同一协同作业分组,以便在后续与第二节点之间进行域内协同作业或跨域协同作业。如此,实现了协同过程控制和协同数据管理功能。
如图2所示,该实施例中,所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:
所述第一节点向所述第二节点发送分组信息数据版本或分组业务数据版本;
当所述第一节点接收到第二节点发送的响应消息时,向所述第二节点发送分组信息数据或分组业务数据,以使所述第二节点更新其存储的分组信息数据或分组业务数据;其中,所述响应消息是所述第二节点判断所述分组信息数据版本或分组业务数据版本高于第二节点所存储的版本时所发送的消息。
如此,在所述第一节点与第二节点同步分组信息数据或分组业务数据时,可以是所述第一节点(如A节点)向所述第二节点(如B节点)发送分组信息数据版本或分组业务数据版本;当所述第一节点接收到第二节点发送的响应消息时,向所述第二节点发送分组信息数据或分组业务数据,以使所述第二节点更新其存储的分组信息数据或分组业务数据;其中,所述响应消息是所述第二节点判断所述分组信息数据版本或分组业务数据版本高于第二节点所存储的版本时所发送的消息。
如此,实现了将所述第一节点存储的版本更高的所述分组信息数据或分组业务数据同步到与其属于同一协同作业分组的第二节点,使得第一节点与第二节点分别存储的分组信息数据或分组业务数据保持一致,实现节点间协同作业。
在同一协同作业分组内的第一节点主动地向所述第二节点同步其存储的分组信息数据或分组业务数据的场景时,所述第一节点向所述第二节点发送分组信息数据版本或分组业务数据版本;
当所述第一节点接收到第二节点发送的响应消息时,向所述第二节点发送分组信息数据或分组业务数据,以使所述第二节点更新其存储的分组信息数据或分组业务数据;其中,所述响应消息是所述第二节点判断所述分组信息数据版本或分组业务数据版本高于第二节点所存储的版本时所发送的消息。
具体地,用于存储协同作业数据的数据库每保存一次数据,就更新一次数据版本号。如,将当前的系统时间精确到秒级并作为版本号,如202211051603。相应地,一个版本高于另一个版本,可以是指版本对应的系统时间更靠后。又或者将修改数据的用户标识与时间戳组合后,作为数据版本号,不再赘述。
也即,所述第一节点向所述第二节点发送分组信息数据版本或分组业务数据版本,而所述第二节点则判断所述分组信息数据版本或分组业务数据版本是否高于所述第二节点所存储的版本,在高于其自身保存的版本是,则向第一节点发送响应消息,以请求所述第一节点发送分组信息数据或分组业务数据,并接收第一节点发送的分组信息数据或分组业务数据后,并更新自身存储的分组信息数据或分组业务数据。如此,通过第一节点主动地向所述第二节点同步其存储的分组信息数据或分组业务数据,实现了第一节点与第二节点之间的数据一致性。
以上,通过响应消息机制及版本对比,实现了第一节点主动地向所述第二节点同步其存储的分组信息数据或分组业务数据。如此,可以在同一协同作业分组的各节点之间的数据一致性和数据同步的低延迟之间取得较好的平衡。
如图3所示,该实施例中,所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:
所述第一节点从所述第二节点获取分组信息数据版本或分组业务数据版本;
当所述第一节点判断所述分组信息版本或分组业务数据版本高于第一节点所存储的版本时,从所述第二节点获取分组信息数据或分组业务数据;
所述第一节点根据所述获取的分组信息数据或分组业务数据更新其存储的分组信息数据或分组业务数据。
如此,在所述第一节点与第二节点同步分组信息数据或分组业务数据时,还可以是所述第一节点(如图中A节点)从所述第二节点(如图中B节点)获取分组信息数据版本或分组业务数据版本;当所述第一节点判断所述分组信息版本或分组业务数据版本高于第一节点所存储的版本时,从所述第二节点获取分组信息数据或分组业务数据;所述第一节点根据所述获取的分组信息数据或分组业务数据更新其存储的分组信息数据或分组业务数据。
如此,实现了将所述第二节点存储的版本更高的所述分组信息数据或分组业务数据同步到与其属于同一协同作业分组的第一节点,使得第一节点与第二节点分别存储的分组信息数据或分组业务数据保持一致,实现节点间协同作业。
在同一协同作业分组内的第一节点主动地向第二节点请求同步其存储的分组信息数据或分组业务数据的场景或第二节点主动地向第一节点同步其存储的分组信息数据或分组业务数据的场景中,所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:
所述第一节点从所述第二节点获取分组信息数据版本或分组业务数据版本;
当所述第一节点判断所述分组信息版本或分组业务数据版本高于第一节点所存储的版本时,从所述第二节点获取分组信息数据或分组业务数据;
所述第一节点根据所述获取的分组信息数据或分组业务数据更新其存储的分组信息数据或分组业务数据。
也即,所述第一节点从所述第二节点获取分组信息数据版本或分组业务数据版本;当所述第一节点判断所述分组信息版本或分组业务数据版本高于第一节点所存储的版本时,从所述第二节点获取分组信息数据或分组业务数据;所述第一节点根据所述获取的分组信息数据或分组业务数据更新其存储的分组信息数据或分组业务数据。
以上,实现了同一协同作业分组内的第一节点主动地请求与所述第二节点同步其存储的分组信息数据或分组业务数据。如此,可以在同一协同作业分组内的各节点之间的数据一致性和数据同步的低延迟之间取得了较好的平衡。
如图2、图3、图4及图5所示,该实施例中,所述分组信息数据或分组业务数据包括存储的静态数据或缓存的实时数据;
所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:
如图2或图3所示,所述第一节点与第二节点执行所述存储的静态数据的同步;
如图4或图5所示,所述第一节点与第二节点执行所述缓存的实时数据的同步。
以上,根据节点间同步数据时,数据的生成时间距离当前时间的跨度大小,所述分组信息数据或分组业务数据可以分为已经存储在数据库的静态数据或当前尚缓存在节点本地的实时数据;其中,在静态数据同步场景下,数据的生成时间距离当前时间的跨度大,所述分组信息数据或分组业务数据为已经存储在数据库的静态数据;在实时数据同步场景下,数据的生成时间距离当前时间的跨度小,所述分组信息数据或分组业务数据为当前尚缓存在节点本地的实时数据。
相应地,所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:所述第一节点与第二节点执行所述存储的静态数据的同步;所述第一节点与第二节点执行所述缓存的实时数据的同步。
具体地,针对所述数据库内存储的静态数据,同一协同作业分组内的所述第一节点与第二节点根据所述版本执行所述数据库的所述静态数据的同步;针对所述数据库内缓存的实时数据,同一协同作业分组内的所述第一节点与第二节点执行所述缓存的实时数据的同步。如此,针对同步数据的不同要求,可以在同一协同作业分组内的各节点之间的数据一致性和节点间数据同步的延迟时间之间取得较好的平衡。
如此,在静态数据同步场景与实时数据同步场景时,为了使得节点间分别存储的分组信息数据或分组业务数据保持一致,针对数据存储的位置不同,采用不同的数据同步方法,可以更高效地实现节点间协同作业,有利于改善用户的使用体验。
具体地,图2中,A节点协同服务引擎用于向第一节点提供协同服务,B节点协同服务引擎用于向第二节点提供协同服务。跨域的A节点协同服务引擎与B节点协同服务引擎之间进行分组信息静态同步时,A节点协同服务引擎启动时判断B节点是否是其关联的节点;若是其关联的节点,则定时向B节点协同服务引擎发送心跳检测消息,直到接收到B节点协同服务引擎发送的心跳有效消息;更新关联的节点在线状态;B节点协同服务引擎向A节点回复心跳检测成功的消息,向A节点查询分组信息版本,在查询到A节点与B节点相关联的分组信息版本后发送给B节点协同服务引擎;B节点协同服务引擎接收到分组信息版本,对比是否比本节点版本高,若判断为是,则向A节点协同服务引擎请求对应的分组信息数据;A节点协同服务引擎返回对应的分组信息数据;B节点协同服务引擎则保存分组信息数据以及分组信息数据版本,至此,分组信息数据静态协同结束。后续在协同应用启动时,由对应的节点协同服务引擎向所述协同应用推送所述分组信息数据。
如此,第一节点与所述第二节点属于同一协同作业分组时,静态同步对应的分组信息数据,可以实现在同一协同作业分组内的各节点之间的数据一致性。
具体地,图3中,A节点协同服务引擎用于向第一节点提供协同服务,B节点协同服务引擎用于向第二节点提供协同服务。跨域的A节点协同服务引擎与B节点协同服务引擎之间进行分组信息实时同步时,A节点对应的用户操作的客户端启动时,调用管理接口,如增删改(如创建、删除、修改)分组信息;A节点协同服务引擎接收到针对增删改分组信息的消息,将增删改消息保存至本地,及将增删改消息发送到关联的B节点协同服务引擎;B节点协同服务引擎接收到A节点分组信息变动消息,判断A节点分组信息数据版本号是否连续;在不连续的情况下,与A节点进行一次分组信息数据静态同步(参考前述图2),在A节点与B节点分组信息数据完成静态同步之后,更新分组信息的缓存信息,及将分组信息数据发送给B节点协同应用;B节点协同应用则接收A节点与B节点分组信息数据同步之后的来自A节点协同应用的分组信息数据,至此,分组信息数据实时同步结束。
如此,第一节点与所述第二节点属于同一协同作业分组时,实时同步对应的分组信息数据,可以实现在同一协同作业分组内的各节点之间的数据一致性、缩短节点间数据同步的延迟时间。
具体地,图4中,A节点协同服务引擎用于向第一节点提供协同服务,B节点协同服务引擎用于向第二节点提供协同服务。跨域的A节点协同服务引擎与B节点协同服务引擎之间进行分组数据静态同步时,A节点协同服务引擎启动时判断B节点是否是其关联的节点,若是其关联的节点,则定时向B节点发送心跳检测消息,判断心跳检测是否成功,若心跳检测不成功则更新关联的节点在线状态(如B节点不可达,如ISOFF),等待下一次心跳检测;检测成功则更新关联的节点在线状态(如B节点可达,如ISON)。A节点协同服务引擎向B节点协同服务引擎查询分组数据版本信息,B节点接收到A节点查询消息,返回B节点上包含A节点上用户的所有分组业务数据版本信息,A节点协同服务引擎接收到B节点协同服务引擎返回的版本信息,将A节点的版本信息与从B节点查询到的版本信息进行对比;在判断B节点返回的版本信息高于A节点上的版本信息时,向B节点发送下载指定的分组业务数据的消息;B节点接收A节点的下载消息,将指定的分组业务数据返回给A节点;A节点接收下载的分组业务数据,根据收到的分组数据,更新数据库内的该分组业务数据及更新分组数据缓存,并更新分组业务数据版本。至此分组业务数据静态协同结束。以上,同步后的业务数据保存在数据库及各节点协同服务引擎。后续在协同应用启动时,由对应的节点协同服务引擎向所述协同应用推送所述分组业务数据。
如此,第一节点与所述第二节点属于同一协同作业分组时,静态同步对应的分组业务数据,可以实现在同一协同作业分组内的各节点之间的数据一致性。
具体地,图5中,A节点协同服务引擎用于向第一节点提供协同服务,B节点协同服务引擎用于向第二节点提供协同服务。跨域的A节点协同服务引擎与B节点协同服务引擎之间进行分组业务数据实时同步时,A节点协同应用启动后,操作协同应用,生成业务数据,并通知A节点协同作业引擎在同一协同作业分组内同步业务数据;A节点协同服务引擎接收到分组内的业务数据后,将分组业务数据保存本地,并将业务数据发送至关联的节点;如执行心跳检测后,将业务数据发送至同一协同作业分组内关联的B节点协同服务引擎。B节点协同服务引擎接收到来自A节点的分组业务数据,判断A节点分组业务数据版本号是否连续;在版本号不连续的情况下,B节点协同服务引擎先与A节点协同服务引擎进行一次分组业务数据静态同步(如图3所示),然后再更新分组数据的缓存,并将业务数据通知给B节点协同应用;B节点协同应用接收A节点与B节点分组数据同步之后的来自A节点协同应用的分组业务数据,至此分组业务数据实时同步结束。
如此,第一节点与所述第二节点实时同步属于同一协同作业分组时对应的分组业务数据,可以实现在同一协同作业分组内的各节点之间的数据一致性、缩短节点间数据同步的延迟时间。
如图6所示,该实施例中,所述第一节点与第二节点执行所述缓存的实时数据的同步,包括:
所述缓存的实时数据划分为至少两部分,所述至少两部分包括第一部分数据与第二部分数据;
所述执行所述缓存的实时数据的同步,包括以下之一:
对第一节点的所述第一部分数据进行操作时,且未记录锁定第一部分数据时,缓存所述第一部分数据;
对第一节点的所述第一部分数据进行操作时,且所述第二部分数据被第二节点锁定时,缓存所述第一部分数据,并从第二节点同步所述第二部分数据到第一节点,其中所述第二部分数据被第二节点锁定表示第二节点上的第二部分数据被操作;
对第一节点的所述第一部分数据进行操作时,且所述第一部分数据被锁定时,从第二节点同步所述第一部分数据到第一节点,响应所述操作处理所述第一部分数据并缓存,所述第一部分数据被锁定表示第二节点上的第一部分数据被操作。
以上,实时数据同步场景时,针对第一节点操作待操作的数据是否正在被第二节点操作,提供了节点间协同作业过程中发生数据冲突时的处理方法。如此,一方面使得节点间分别存储的分组信息数据或分组业务数据保持一致,另一方面,提升了协同作业的效率,有利于改善用户的使用体验。
具体地,为满足多用户针对多种应用在域内或跨域的协同作业需求,在任一协同作业网络内,相对的2个对端节点进行协同作业时产生大量的协同数据交换,涉及到的节点间协同作业的分组业务数据可以划分为至少两部分,所述至少两部分包括第一部分数据与第二部分数据;
参考前述说明,响应于用户在客户端的操作而进行协同作业时,针对节点间实时数据同步场景,大致可以包括以下的三种场景。
第一种场景包括第一节点对应的用户通过用户操作的客户端,操作任一协同应用时,同一协同作业分组内的其他节点对应的用户没有通过用户操作的客户端对相同的协同应用发起操作,如在电子白板协同应用时,针对电子白板上的同一个作业区域内,只有第一节点在进行操作(产生第一部分数据),其他节点为在线状态,但并没有发生任何操作。这时,执行所述缓存的实时数据的同步,包括:在对第一节点的所述第一部分数据进行操作时,且未记录锁定第一部分数据时,缓存所述第一部分数据。这时,同一协同作业分组内的其他节点没有对第一部分数据发起操作,只有第一节点对第一部分数据发起操作,因此,所述数据库缓存所述第一部分数据,并将所述第一部分数据实时同步到同一协同作业分组内的其他节点。
第二种场景包括第一节点对应的用户通过用户操作的客户端,操作任一协同应用时,同一协同作业分组内的第二节点也在针对相同的协同应用发起操作,如在电子白板协同应用时,第一节点针对电子白板上的第一个作业区域进行操作(产生第一部分数据),第二节点针对电子白板上的第二个作业区域进行操作(产生第二部分数据),也即,同一协同作业分组内有多个在线的节点在针对同一个协同应用进行不同的操作(如通过Web访问同一个访问地址)。这时,执行所述缓存的实时数据的同步,包括:对第一节点的所述第一部分数据进行操作时,且所述第二部分数据被第二节点锁定时,缓存所述第一部分数据,并从第二节点同步所述第二部分数据到第一节点,其中所述第二部分数据被第二节点锁定表示第二节点上的第二部分数据被操作。这时,同一协同作业分组内有多个节点在针对同一个协同应用进行不同的操作,所述数据库缓存所述第一部分数据,并从第二节点实时同步所述第二部分数据到第一节点,以及,相应地,从第一节点实时同步所述第一部分数据到第二节点,以及,并将所述第一部分数据、所述第二部分数据实时同步到同一协同作业分组内的其他在线的节点。以及,并将所述第一部分数据、所述第二部分数据静态同步到同一协同作业分组内的其他不在线的节点。
第三种场景包括第一节点对应的用户通过用户操作的客户端,操作任一协同应用时,同一协同作业分组内的第二节点对应的用户通过其用户操作的客户端也在针对相同的协同应用发起操作,如在电子白板协同应用时,第一节点针对电子白板上的第一个作业区域进行操作(产生第一部分数据),第二节点也在针对电子白板上的第一个作业区域进行操作(产生第一部分数据),也即,同一协同作业分组内有多个节点在针对同一个协同应用进行针对相同数据的操作(如通过Web访问同一个访问地址)。这时,对第一节点的所述第一部分数据进行操作时,且所述第一部分数据被锁定时,从第二节点同步所述第一部分数据到第一节点,响应所述操作处理所述第一部分数据并缓存,所述第一部分数据被锁定表示第二节点上的第一部分数据被操作。相应地,从第一节点实时同步所述第一部分数据到第二节点,以及,将所述第一节点操作的第一部分数据、将所述第二节点操作的第一部分数据分别实时同步到同一协同作业分组内的其他在线的节点。以及,将所述第一节点操作的第一部分数据、将所述第二节点操作的第一部分数据静态同步到同一协同作业分组内的其他不在线的节点。
如此,分别针对在同一协同作业分组内不同的节点针对同一个协同应用进行操作时可能的冲突场景提供了数据同步的方法,在各节点之间的数据一致性和数据同步的低延迟之间取得了较好的平衡。
以上的三种场景以节点之间实时同步分组业务数据时的场景为例进行说明。节点之间实时同步信息业务数据时的方法也可以相似地得到,不再赘述。
如图7所示,该实施例中,所述第一节点与第二节点同步分组信息数据或分组业务数据之前,还包括:
所述第一节点通过心跳信息检测所述第二节点的在线状态。
如此,在所述第一节点通过心跳信息检测到所述第二节点的在线状态为在线时,所述第一节点与第二节点开始同步分组信息数据或分组业务数据,避免了在所述第二节点不在线时,与第二节点同步分组信息数据或分组业务数据时消耗的带宽和计算资源,提升了协同作业的效率,有利于改善用户的使用体验。
具体地,图7中,A节点协同服务引擎用于向第一节点提供协同服务,B节点协同服务引擎用于向第二节点提供协同服务。第一节点通过心跳信息检测所述第二节点的在线状态时,通过A节点协同服务引擎向B节点协同服务引擎发起心跳检测,包括:开始后,A节点协同服务引擎先判断B节点协同服务引擎是否是其关联的节点,也即,所述第一节点与所述第二节点是否位于同一协同作业分组。若是关联的节点,则定时向B节点协同服务引擎发送心跳检测消息(如字符串ISON),直到接收到的心跳消息为止;B节点协同服务引擎接收到A节点协同服务引擎发送来的心跳检测消息后,生成心跳有效消息(如字符串ISON)并发送至A节点协同服务引擎;在心跳有效消息指示心跳信息监测通过时,A节点协同服务引擎根据接收到的心跳消息,更新关联的节点在线状态(如维护一个关联的节点在线状态表,表中记载B节点协同服务引擎在线ISON或不在线ISOFF),A节点协同服务引擎发起的心跳检测流程结束。如此,通过心跳检测获取关联的节点的心跳反馈信息,以提供协同过程控制。
实施例二
如图8及图9示,本申请实施例的实现节点间协同作业的协同服务引擎,包括:
分组业务数据同步接口,用于在节点间执行协同作业时同步分组业务数据;
分组信息数据同步接口,用于在节点间执行协同作业时同步分组信息数据;
管理接口,用于响应用户通过客户端的管理操作,更新存储的节点间协同作业时处理的分组信息数据、业务优先级数据、和/或各所述节点的在线状态;
查询接口,用于响应用户通过客户端的查询操作,向所述客户端返回被查询的节点间协同作业时处理的分组业务数据或分组信息数据;
心跳检测接口,用于通过心跳信息检测目标节点的在线状态。
如此,该协同服务引擎响应用户通过客户端发起的多种操作,利用前述说明的实现节点间协同作业的方法,向所述用户的客户端提供多种协同作业服务。
实施例三
如图6、图8、图9及图10所示,本申请实施例的实现节点间协同作业的协同系统,包括:
至少一个协同服务引擎,所述至少一个协同服务引擎属于至少同一个协同作业分组,用于执行节点间协同作业;
至少两个用户的客户端,包括第一用户的客户端、第二用户的客户端;所述第一用户的客户端对应于一协同服务引擎且运行至少一个协同应用,所述第二用户的客户端对应于一协同服务引擎且运行至少一个协同应用;
每个所述协同服务引擎,包括:
分组业务数据同步接口,用于在节点间执行协同作业时同步分组业务数据;
分组信息数据同步接口,用于在节点间执行协同作业时同步分组信息数据;
管理接口,用于响应所述第一用户或所述第二用户通过客户端的管理操作,更新存储的节点间协同作业时处理的分组信息数据、业务优先级数据、和/或各所述节点的在线状态;
查询接口,用于响应所述第一用户或所述第二用户通过客户端的查询操作,向所述客户端返回被查询的节点间协同作业时处理的分组业务数据或分组信息数据;
心跳检测接口,用于通过心跳信息检测目标节点的在线状态;
所述第一用户的客户端或所述第二用户的客户端设置用于协同作业的交互界面,以显示节点间协同作业时处理的分组信息数据或所述分组业务数据,以及以通过所述交互界面接收用户针对任一协同应用的操作,并响应所述操作访问对应的协同服务引擎处理分组信息数据或分组业务数据。
如此,该实现节点间协同作业的协同系统,响应用户通过客户端向协同服务引擎发起的多种操作,利用前述说明的实现节点间协同作业的方法,向所述用户的客户端提供多种协同作业服务。
实施例四
如图9所示,本申请实施例的用于实现协同作业的节点,设置有前述的实现节点间协同作业的协同系统,包括资源层、服务层和应用层:
所述资源层包括数据库,所述数据库用于存储本节点与其他节点进行协同作业的分组业务数据;其中,所述本节点与其他节点属于同一协同作业分组;
所述服务层包括前述的协同服务引擎,其可以访问至少一个协同服务器,所述协同服务引擎用于实现所述应用层与所述资源层之间传输节点间协同作业的分组业务数据;
所述应用层包括用户操作的客户端,该客户端可以访问至少一个应用服务器,所述用户操作的客户端用于向用户提供用于协同作业的交互界面以显示节点间协同作业的分组业务数据,以及通过所述交互界面接收用户的操作,并响应所述操作处理节点间协同作业的分组业务数据。
以上,用于实现协同作业的节点自底而上地设资源层、服务层和应用层,各层之间松耦合,资源层向在上的服务层提供数据服务,服务层向在上的应用层提供协同服务,整体上实现了协同数据交换、协同作业分组管理和协同过程控制功能。如此,借助该协同作业架构,可以满足多用户针对多种应用的协同作业需求。
为简化协同作业流程,提高交互感受,所述客户端的交互界面包括以下至少之一:协同浏览功能的界面、文件共享功能的界面、电子白板功能的界面、协同编辑功能的界面、应用共享功能的界面、管理界面。
以上,展示在客户端的多个交互界面功能彼此独立,因此业务逻辑合理,业务内容清晰,操作直观,用户感受更友好。
如此,通过在各节点设置协同作业引擎,实现了网络环境下多种业务间的协同作业。
以上,用户操作的客户端向用户提供用于协同作业的交互界面,显示节点间协同作业的分组业务数据,以及接收用户的协同作业操作,服务层处理节点间协同作业的分组业务数据,并访问资源层设置的数据库实现协同数据交换。
如此,该用于实现协同作业的节点具有更优化的架构,更灵活的带宽资源适配能力、更可靠的数据传输能力。
以上,借助前述的资源层、服务层和应用层这一自底向上的协同作业架构,可以满足多用户针对多种应用在域内或跨域的协同作业需求。
具体地,如图11所示,在同一个固定办公场所内的各节点组成一个域内的协同作业网络,在该协同作业网络中,各节点是对等的,任一节点可以属于多个协同作业分组。在同一协同作业分组内,各节点互为对端节点。在这种域内模式时,域内的各节点可以分别独立地设置资源层、服务层和应用层,也可以各节点分别设置独立的应用层,而共用同一个服务层和应用层。进行域内协同作业时,在通过节点(如系统用户01)的应用层访问任一协同应用(如Web访问应用服务器10)时,需要通过节点的应用层访问服务层设置的协同服务接口(如Web访问协同服务器20),进而访问所述资源层存储的分组业务数据,完成域内协同作业。,又或者,还需要通过节点(如系统用户02)的应用层访问对应的协同应用(如Web访问应用服务器10)进而访问所述资源层存储的分组业务数据,完成域内协同作业。
具体地,如图6所示,在同一个固定办公场所内的各节点组成一个域内的协同作业网络;在多个固定办公场所内的各节点可以分别组成多个域内的协同作业网络,以及在多个固定办公场所内的各节点可以分别组成多个跨域的协同作业网络。在域内或跨域的协同作业网络中,各节点是对等的,任一节点可以属于多个协同作业分组。在同一协同作业分组内,各节点互为对端节点,如域内的同一协同作业分组内的各节点互为对端节点;跨域的同一协同作业分组内的各节点互为对端节点。在跨域模式时,通常域内的各节点分别设置独立的应用层,而共用同一个服务层和应用层。而多个域内的协同服务器则采用分布式部署架构。相应地,跨域协同作业可以是处于不同协同作业网络、但属于同一协同作业分组内的多个节点或用户间的信息交互。
进行跨域协同作业时,在通过节点(如系统用户01)的应用层访问任一协同应用(如Web访问第一域1000内的应用服务器11)时,需要访问本域内的服务层设置的协同服务接口(如Web访问第一域内协同服务器21)、访问其他域内的服务层设置的协同服务接口(如Web访问第二域内协同服务器22)及通过节点(如系统用户02)的应用层访问其他域内对应的协同应用(如Web访问第二域2000内应用服务器12),进而访问第一域内的资源层存储的分组业务数据或第二域内的资源层存储的分组业务数据,完成跨域协同作业。
为满足多用户针对多种应用在域内或跨域的协同作业需求,所述数据库还存储以下至少之一的数据:各所述节点的在线状态,用于记录各所述节点是否在线的状态;各所述节点的分组信息数据,用于记录各所述节点所属的协同作业分组;业务优先级数据,用于标记进行协同作业的分组业务数据的优先级;各节点路由数据,用于实现各节点的资源层之间进行节点间协同作业的分组业务数据同步时的数据传输。
如此,数据库作为基础支撑资源,全面地用于协同数据交换、协同作业分组管理和协同过程控制。
具体地,所述数据库可以采用达梦新一代分布式数据库,支持100以上的分布式节点,并且采取多种安全加固措施,包括链路和数据加密、身份识别、访问控制、数字签名、入侵检测、系统加固、审计跟踪等,有利于提高系统安全性,保护用户信息。
如图8及图9所示,为满足多用户针对多种应用在域内或跨域的协同作业需求,所述分组业务数据同步接口包括分组业务数据实时同步接口、分组业务数据静态同步接口,分别用于实时同步分组业务数据和静态同步分组业务数据。所述管理接口包括分组信息管理接口、业务优先级管理接口,用于更新所述数据库存储的各所述节点的分组信息数据和/或业务优先级数据。所述查询接口包括分组信息数据查询接口,分组业务数据查询接口,其中,分组信息数据查询接口向所述客户端返回被查询的分组信息数据,分组信息数据查询接口向所述客户端返回被查询的分组业务数据。
为了更好地提供网络环境中可控的跨域协同工作支撑能力,支持多用户针对多种应用在域内或跨域的协同作业需求,如图8所示,所述协同服务引擎还设置有日志监控模块、资源管理模块及系统配置模块,用于监控协同服务引擎的使用情况,以及协同服务引擎所需要的相关参数。其中,所述日志监控模块,用于监控协同服务引擎的使用情况,同时用于查看协同服务引擎的日志;所述资源管理模块,用于监控数据库中存储的分组业务数据以及分组信息数据以及在各协同服务引擎缓存的分组业务数据以及分组信息数据;所述系统配置模块,用于配置协同服务引擎的基本信息,包括设置协同服务引擎心跳检测时间定时周期,以及静态数据定时同步周期。如,心跳检测每1小时一次,静态数据每4小时一次。
具体地,该协同服务引擎向各节点提供的接口清单如表1所列。
表1设置在服务层的协同服务引擎的接口清单
该协同服务引擎,可以包括以下功能:
1)关联节点状态管理功能:通过心跳检测,管理关联节点的在线状态;
2)分组数据静态同步功能:通过关联节点之间静态同步分组数据,保证分组数据的全网一致性;
3)分组数据实时同步功能:通过实时同步关联节点生成的分组业务数据,将分组内的业务数据发送至在线的关联节点;
4)分组信息静态同步功能:通过关联节点静态同步分组信息数据,保证分组信息在关联节点之间的一致性;
5)分组信息实时同步功能:通过实时同步分组信息数据,将对分组增、删、改数据实时同步给关联的节点;
6)带宽检测功能:实时检测关联的节点(以下称关联节点)之间的带宽情况,在低带宽下优先发送优先级高的业务数据;
7)业务优先级管理功能:提供设置业务优先级的接口,在低带宽情况下优先同步业务优先级高的数据。
如此,该协同服务引擎设置在协同服务器后,作为协同节点及协同系统的基础支撑,可以提供单个固定办公场所场景下、多个相距较远的固定办公场所场景下的媒体数据分发和共享的能力,进而实现协同办公所需的协同浏览、协同编辑、文件共享、电子白板等功能。
由此构建的协同节点及协同系统,支持固定办公场所和多个固定办公场所网络环境下大规模用户并发接入,采用协同服务引擎承载协同服务对于文件、音视频等多媒体数据的处理压力,提供协同过程控制和协同数据管理功能,有利于节约协同服务所需要的带宽资源。
如图11所示,协同系统的管理员操作管理接口,向应用服务器或协同服务器发起管理请求或配置请求,通过分组信息管理接口更新所述数据库存储的各所述节点的分组信息数据,通过业务优先级管理接口更新所述数据库存储的业务优先级数据。如,通过设置某个业务的优先级,使得在低带宽情况下优先传输业务优先级高的分组业务数据。
用户操作系统工具签,发起管理请求,如向应用服务器或协同服务器发起管理请求,通过分组信息管理接口更新所述数据库存储的各所述节点的分组信息数据;如通过业务优先级管理接口更新所述数据库存储的业务优先级数据。如,通过设置某个业务的优先级,使得在低带宽情况下优先传输业务优先级高的分组业务数据。
用户操作系统工具签,发起协同作业请求。如图6或图10所示,至少一个域内的协同服务器响应该协同作业请求,获取各节点路由数据,将该用户对应的节点就近接入到一个域内协同服务器及应用服务器。该域内协同服务器及应用服务器响应该协同作业请求,与其他节点对应的域外协同服务器及应用服务器进行节点间协同作业的分组业务数据同步。
以上,各协同节点采用Web服务模式实现前述的资源层、服务层和应用层。如,基于Web服务模式开发前述的协同服务引擎,部署B/S模式的协同服务器,用户利用浏览器通过Web访问协同服务器,通过前述的协同服务引擎访问资源层设置的数据库。以及,通过在固定办公场所或多个固定办公场所采用分布式架构的协同服务器,可以部署跨域协同作业的多个协同节点。
具体地,前述的达梦数据库运行在飞腾处理器或龙芯处理器及银河麒麟提供的Linux操作系统,或者运行在飞腾处理器或龙芯处理器及中标麒麟提供的Linux操作系统。作为硬件资源的通信模块(如移动通信或固定通信或卫星通信)通过北斗导航模块独有的短报文通信技术将数据库中的各类数据根据节点路由数据同步至关联的节点。
如图12所示,本申请实施例的计算设备900包括:处理器910、存储器920,还可以包括通信接口930。应理解,该图12中所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信。其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended IndustryStandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(CentralProcessing Unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门矩阵(Field Programmable GateArray,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
在计算设备900运行时,处理器910执行存储器920中的计算机执行指令执行前述的实现节点间协同作业的方法的操作步骤或被配置为前述的实现节点间协同作业的协同服务引擎。
应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
以上各装置的功能可以通过由处理器执行程序(软件)来实现,另外,也可以通过LSI(Large Scale Integration,大规模集成电路)和ASIC(Application SpecificIntegrated Circuit,专用集成电路)等硬件来实现,或者还可以通过软件和硬件的结合来实现。
在本申请全文中使用的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解的是,在允许的情况下可以互换特定的顺序或先后次序。
在本申请全文中,所涉及的表示步骤的标号,如S10、S20……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
在本申请的全文中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的结构要素或步骤。因此,其应当诠释为指定所提到的所述技术特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它技术特征、整体、步骤或部件及其组群。
可以理解,本领域技术人员可以将本申请全文中提到的一个或多个实施例中提到的特征,以任何适当的方式与其他实施例中的特征进行组合来实施本申请。
注意,前述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请的技术构思的情况下,还可以包括更多其他等效实施例,均属于本申请的保护范畴。
Claims (10)
1.一种实现节点间协同作业的方法,其特征在于,包括:
第一节点与第二节点同步分组信息数据;
在同步后的分组信息数据记录所述第一节点与所述第二节点属于同一协同作业分组时,所述第一节点与所述第二节点同步分组业务数据;
所述第一节点将同步后的所述分组业务数据展示给用户操作的客户端。
2.根据权利要求1所述的方法,其特征在于,所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:
所述第一节点向所述第二节点发送分组信息数据版本或分组业务数据版本;
当所述第一节点接收到第二节点发送的响应消息时,向所述第二节点发送分组信息数据或分组业务数据,以使所述第二节点更新其存储的分组信息数据或分组业务数据;其中,所述响应消息是所述第二节点判断所述分组信息数据版本或分组业务数据版本高于第二节点所存储的版本时所发送的消息。
3.根据权利要求1所述的方法,其特征在于,所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:
所述第一节点从所述第二节点获取分组信息数据版本或分组业务数据版本;
当所述第一节点判断所述分组信息版本或分组业务数据版本高于第一节点所存储的版本时,从所述第二节点获取分组信息数据或分组业务数据;
所述第一节点根据所述获取的分组信息数据或分组业务数据更新其存储的分组信息数据或分组业务数据。
4.根据权利要求2或3所述的方法,其特征在于,所述分组信息数据或分组业务数据包括存储的静态数据或缓存的实时数据;
所述第一节点与第二节点同步分组信息数据或分组业务数据,包括:
所述第一节点与第二节点执行所述存储的静态数据的同步;
所述第一节点与第二节点执行所述缓存的实时数据的同步。
5.根据权利要求4所述的方法,其特征在于,所述第一节点与第二节点执行所述缓存的实时数据的同步,包括:
所述缓存的实时数据划分为至少两部分,所述至少两部分包括第一部分数据与第二部分数据;
所述执行所述缓存的实时数据的同步,包括以下之一:
对第一节点的所述第一部分数据进行操作时,且未记录锁定第一部分数据时,缓存所述第一部分数据;
对第一节点的所述第一部分数据进行操作时,且所述第二部分数据被第二节点锁定时,缓存所述第一部分数据,并从第二节点同步所述第二部分数据到第一节点,其中所述第二部分数据被第二节点锁定表示第二节点上的第二部分数据被操作;
对第一节点的所述第一部分数据进行操作时,且所述第一部分数据被锁定时,从第二节点同步所述第一部分数据到第一节点,响应所述操作处理所述第一部分数据并缓存,所述第一部分数据被锁定表示第二节点上的第一部分数据被操作。
6.根据权利要求2所述的方法,其特征在于,所述第一节点与第二节点同步分组信息数据或分组业务数据之前,还包括:
所述第一节点通过心跳信息检测所述第二节点的在线状态。
7.一种实现节点间协同作业的协同服务引擎,其特征在于,包括:
分组业务数据同步接口,用于在节点间执行协同作业时同步分组业务数据;
分组信息数据同步接口,用于在节点间执行协同作业时同步分组信息数据;
管理接口,用于响应用户通过客户端的管理操作,更新存储的节点间协同作业时处理的分组信息数据、业务优先级数据、和/或各所述节点的在线状态;
查询接口,用于响应用户通过客户端的查询操作,向所述客户端返回被查询的节点间协同作业时处理的分组业务数据或分组信息数据;
心跳检测接口,用于通过心跳信息检测目标节点的在线状态。
8.一种实现节点间协同作业的协同系统,其特征在于,包括:
至少一个协同服务引擎,所述至少一个协同服务引擎属于至少同一个协同作业分组,用于执行节点间协同作业;
至少两个用户的客户端,包括第一用户的客户端、第二用户的客户端;所述第一用户的客户端对应于一协同服务引擎且运行至少一个协同应用,所述第二用户的客户端对应于一协同服务引擎且运行至少一个协同应用;
每个所述协同服务引擎,包括:
分组业务数据同步接口,用于在节点间执行协同作业时同步分组业务数据;
分组信息数据同步接口,用于在节点间执行协同作业时同步分组信息数据;
管理接口,用于响应所述第一用户或所述第二用户通过客户端的管理操作,更新存储的节点间协同作业时处理的分组信息数据、业务优先级数据、和/或各所述节点的在线状态;
查询接口,用于响应所述第一用户或所述第二用户通过客户端的查询操作,向所述客户端返回被查询的节点间协同作业时处理的分组业务数据或分组信息数据;
心跳检测接口,用于通过心跳信息检测目标节点的在线状态;
所述第一用户的客户端或所述第二用户的客户端设置用于协同作业的交互界面,以显示节点间协同作业时处理的分组信息数据或所述分组业务数据,以及以通过所述交互界面接收用户针对任一协同应用的操作,并响应所述操作访问对应的协同服务引擎处理分组信息数据或分组业务数据。
9.一种计算设备,其特征在于,包括:处理器,以及存储器,所述存储器上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行如权利要求1至6任一项所述的实现节点间协同作业的方法。
10.一种存储介质,其特征在于,所述存储介质存储有程序指令,所述程序指令当被处理器执行时使得所述处理器执行如权利要求1至6任一项所述的实现节点间协同作业的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310329924.5A CN116455897A (zh) | 2023-03-30 | 2023-03-30 | 实现节点间协同作业的方法、协同服务引擎及协同系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310329924.5A CN116455897A (zh) | 2023-03-30 | 2023-03-30 | 实现节点间协同作业的方法、协同服务引擎及协同系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116455897A true CN116455897A (zh) | 2023-07-18 |
Family
ID=87126441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310329924.5A Pending CN116455897A (zh) | 2023-03-30 | 2023-03-30 | 实现节点间协同作业的方法、协同服务引擎及协同系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116455897A (zh) |
-
2023
- 2023-03-30 CN CN202310329924.5A patent/CN116455897A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102333029B (zh) | 一种服务器集群系统中的路由方法 | |
WO2009098909A1 (ja) | 仮想アプライアンス配備システム | |
JP5931934B2 (ja) | マルチサーバー予約システムにおける集中型予約コンテキスト管理のための方法及びシステム | |
US11038959B2 (en) | State management and object storage in a distributed cloud computing network | |
CN113572831B (zh) | Kubernetes集群间的通信方法、计算机设备及介质 | |
CN109547512A (zh) | 一种基于NoSQL的分布式Session管理的方法及装置 | |
CN110196843B (zh) | 一种基于容器集群的文件分发方法及容器集群 | |
US10069941B2 (en) | Scalable event-based notifications | |
CN111385325B (zh) | 基于p2p的文件分发系统和方法 | |
CN111966482B (zh) | 边缘计算系统 | |
CN112995273B (zh) | 网络打通方案生成方法、装置、计算机设备和存储介质 | |
CN111404628B (zh) | 一种时间同步方法和装置 | |
CN112087390A (zh) | 一种网络路由方法及装置 | |
CN115190103A (zh) | 基于服务网格的服务域名解析方法、装置及设备 | |
CN115242882A (zh) | 一种基于传输层路由访问k8s容器环境的方法及装置 | |
CN113079098B (zh) | 路由更新的方法、装置、设备和计算机可读介质 | |
CN115580614A (zh) | 一种数据下载方法、装置、设备及计算机可读存储介质 | |
JPH11249943A (ja) | 分散型データベースの同期管理システムおよび同期管理方法 | |
CN116455897A (zh) | 实现节点间协同作业的方法、协同服务引擎及协同系统 | |
CN115189931A (zh) | 一种分布式密钥管理方法、装置、设备、存储介质 | |
CN114116889A (zh) | 物料数据的同步方法、装置、计算机设备和存储介质 | |
CN113296968A (zh) | 地址列表更新方法、装置、介质及电子设备 | |
CN111600958A (zh) | 服务发现系统、服务数据管理方法、服务器及存储介质 | |
JP2006338624A (ja) | サーバアクセス制御システム、サーバアクセス制御方法およびサーバアクセス制御プログラム | |
CN116340431B (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 |