CN117707762A - 一种任务编排方法及任务编排装置 - Google Patents
一种任务编排方法及任务编排装置 Download PDFInfo
- Publication number
- CN117707762A CN117707762A CN202311649154.9A CN202311649154A CN117707762A CN 117707762 A CN117707762 A CN 117707762A CN 202311649154 A CN202311649154 A CN 202311649154A CN 117707762 A CN117707762 A CN 117707762A
- Authority
- CN
- China
- Prior art keywords
- task
- operation event
- orchestration
- task orchestration
- event stream
- 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 58
- 238000012163 sequencing technique Methods 0.000 claims abstract description 58
- 230000001960 triggered effect Effects 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 239000000306 component Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000008358 core component Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供了一种任务编排方法及任务编排装置,当应用于服务器时,包括:接收每个目标客户端通过各自的任务编排界面提交的任务编排操作事件流;按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序;按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端,以使每个目标客户端根据接收到的每个任务编排操作事件同步刷新所述任务编排界面中的任务链。这样,服务器接收各个客户端发送的任务编排操作事件,排序后依次同步给各个客户端,能够实现分布式任务编排协同,实现多用户通过多客户端共同编排一个任务链的目标。
Description
技术领域
本申请涉及分布式技术领域,尤其是涉及一种任务编排方法及任务编排装置。
背景技术
目前的任务编排方式仅支持用户单人进行任务编排。因此在分布式任务编排过程中服务部署的多人协同任务等方面存在诸多问题,不能满足当前复杂应用场景下多人协作进行任务编排的需求。
发明内容
有鉴于此,本申请的目的在于提供一种任务编排方法及任务编排装置,服务器接收各个客户端发送的任务编排操作事件,排序后依次同步给各个客户端,能够实现分布式任务编排协同,实现多用户通过多客户端共同编排一个任务链的目标。
本申请实施例提供了一种任务编排方法,应用于服务器;所述方法包括:
接收每个目标客户端通过各自的任务编排界面提交的任务编排操作事件流;其中,每个任务编排操作事件流包括至少一个任务编排操作事件;每个目标客户端是指在所述任务编排界面中当前操作的任务链相同的每个客户端;
按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序;
按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端,以使每个目标客户端根据接收到的每个任务编排操作事件同步刷新所述任务编排界面中的任务链。
进一步的,所述服务器中包括:数据库、数据一致性组件和页面后台程序;所述按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端,以使每个目标客户端根据接收到的每个任务编排操作事件同步刷新所述任务编排界面中的任务链,包括:
按照所述排序结果依次将每个任务编排操作事件存入所述数据库;
使用所述数据一致性组件依次将每个任务编排操作事件同步给每个客户端对应的页面后台程序;
由每个客户端对应的页面后台程序通过websocket协议依次将每个任务编排操作事件分发给每个目标客户端。
进一步的,所述服务器中包括MQ消息中间件;所述按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序,包括:
由所述MQ消息中间件按照每个任务编排操作事件流的提交时间从前到后的顺序,对每个任务编排操作事件流进行排序;
根据每个任务编排操作事件流包括的任务编排操作事件之间的相对顺序,以及每个任务编排操作事件流的排序结果,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序;其中,所述相对顺序为每个任务编排操作事件对应的任务编排操作在相应目标客户端的触发时间从前到后的顺序。
进一步的,所述根据每个任务编排操作事件流包括的任务编排操作事件之间的相对顺序,以及每个任务编排操作事件流的排序结果,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序,包括:
确定每个任务编排操作事件流包括的每个任务编排操作事件中是否存在具有等级标识的任务编排操作事件;
若存在,则将具有等级标识的任务编排操作事件定义为优先任务编排操作事件,并按照所述等级标识所指示的等级从高到低的顺序排列所述优先任务编排操作事件;
对于所述优先任务编排操作事件之外的其它任务编排操作事件,在等级最低的优先任务编排操作事件之后,按照任务编排操作事件之间的相对顺序以及每个任务编排操作事件流的排序结果进行排序。
进一步的,由所述MQ消息中间件按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流进行排序,包括:
若存在至少两个任务编排操作事件流的提交时间相同,则所述MQ消息中间件基于锁机制,将抢占到资源锁的时间在前的任务编排操作事件流确定为排序在先的任务编排操作事件流。
本申请实施例还提供了一种任务编排方法,应用于任意一个客户端;所述方法包括:
响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流;其中,所述第一任务编排操作事件流包括至少一个第一任务编排操作事件;
将所述第一任务编排操作事件流提交给服务器,以使所述服务器对所述第一任务编排操作事件流包括的每个第一任务编排操作事件以及其他各目标客户端发送的各第二任务编排操作事件流包括的每个第二任务编排操作事件进行排序;其中,所述目标客户端是指与该客户端在所述任务编排界面中操作的任务链相同的客户端;
接收所述服务器按照排序结果发送的任务编排操作事件;
根据接收到的每个任务编排操作事件刷新所述任务编排界面中的任务链。
进一步的,所述响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流,包括:
响应于用户在任务编排界面触发的保存操作,确定与上一次保存操作之间所述任务编排界面中新产生的任务链的更新数据;
基于所述任务链的更新数据,分解得到至少一个第一任务编排操作事件,以组成所述第一任务编排操作事件流。
进一步的,所述任务编排操作事件包括建立任务组、建立任务、建立任务组关系以及建立任务关系。
本申请实施例还提供了一种任务编排方法,应用于任务编排系统;所述任务编排系统包括服务器和多个客户端;所述方法包括:
每个客户端响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流;其中,所述第一任务编排操作事件流包括至少一个第一任务编排操作事件;
每个客户端将所述第一任务编排操作事件流提交给所述服务器;
针对在所述任务编排界面中操作的任务链相同的每组目标客户端所提交的每个第一任务编排操作事件流,所述服务器按照每个第一任务编排操作事件流的提交时间,对每个第一任务编排操作事件流包括的每个任务编排操作事件进行排序;
所述服务器按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端;
每个目标客户端根据接收到的每个任务编排操作事件刷新所述任务编排界面。
本申请实施例还提供了一种任务编排装置,应用于服务器;所述装置包括:
第一接收模块,用于接收每个目标客户端通过各自的任务编排界面提交的任务编排操作事件流;其中,每个任务编排操作事件流包括至少一个任务编排操作事件;每个目标客户端是指在所述任务编排界面中当前操作的任务链相同的每个客户端;
排序模块,用于按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序;
发送模块,用于按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端,以使每个目标客户端根据接收到的每个任务编排操作事件同步刷新所述任务编排界面中的任务链。
本申请实施例还提供了一种任务编排装置,应用于任意一个客户端;所述装置包括:
生成模块,用于响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流;其中,所述第一任务编排操作事件流包括至少一个第一任务编排操作事件;
提交模块,用于将所述第一任务编排操作事件流提交给服务器,以使所述服务器对所述第一任务编排操作事件流包括的每个第一任务编排操作事件以及其他各目标客户端发送的各第二任务编排操作事件流包括的每个第二任务编排操作事件进行排序;其中,所述目标客户端是指与该客户端在所述任务编排界面中操作的任务链相同的客户端;
第二接收模块,用于接收所述服务器按照排序结果发送的任务编排操作事件;
刷新模块,用于根据接收到的每个任务编排操作事件刷新所述任务编排界面中的任务链。
本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的一种任务编排方法的步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的一种任务编排方法的步骤。
本申请实施例提供的一种任务编排方法及任务编排装置,使用服务器接收各个客户端发送的任务编排操作事件,排序后依次同步给各个客户端,能够实现分布式任务编排协同,实现多用户通过多客户端共同编排一个任务链的目标。
在按照排序结果将任务编排操作事件同步给每个客户端时,服务器通过数据一致性组件和websocket协议,能够保证每个客户端接收到的各任务编排操作事件一致,实现操作流程的实时同步,避免任务协同编排时不同客户端的任务链显示出现差异。
其中,本申请实施例中服务器在对任务编排操作事件进行排序时,通过综合任务编排操作事件流的提交时间从前到后的顺序以及任务编排操作事件之间的相对顺序(即对应任务编排操作的触发时间从前到后的顺序),使得到的任务编排操作事件的排序结果可以更好地还原各客户端在任务协同编排时的操作先后顺序,避免后续各客户端的任务链刷新出现混乱。
进一步的,本申请实施例中服务器还可以根据具有等级标识的优先任务编排操作事件的等级顺序以及其他普通任务编排操作事件的时间先后顺序进行排序,从而综合时间顺序和重要性程度,使得重要性程度更高的任务编排操作事件可以更早地同步给各个客户端,进而使得其他客户端显示的任务链可以更及时地进行重要任务编排操作事件所带来的更新,便于协同任务编排中操作其他客户端的用户更好地应对变化。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种任务编排方法的流程图之一;
图2示出了本申请实施例所提供的一种任务编排方法的流程图之二;
图3示出了本申请实施例所提供的一种任务编排方法的流程图之三;
图4示出了本申请实施例所提供的一种任务编排方法的示意图;
图5示出了本申请实施例所提供的一种任务编排装置的结构示意图之一;
图6示出了本申请实施例所提供的一种任务编排装置的结构示意图之二;
图7示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
经研究发现,目前的任务编排方式仅支持用户单人进行任务编排。因此在分布式任务编排过程中服务部署的多人协同任务等方面存在诸多问题,不能满足当前复杂应用场景下多人协作进行任务编排的需求。
基于此,本申请实施例提供了一种任务编排方法及任务编排装置,服务器接收各个客户端发送的任务编排操作事件,排序后依次同步给各个客户端,能够实现分布式任务编排协同,实现多用户通过多客户端共同编排一个任务链的目标。
请参阅图1,图1为本申请实施例所提供的一种任务编排方法的流程图之一。所述方法应用于服务器,如图1中所示,本申请实施例提供的任务编排方法,包括:
S101、接收每个目标客户端通过各自的任务编排界面提交的任务编排操作事件流。
这里,进行协同任务编排的客户端会显示有任务编排界面以供用户操作;用户可通过操作任务编排界面的画布对任务进行编排以生成任务链,如拖拽任务组件,连接任务组件设置关系等。响应于用户的任务编排操作,客户端的任务编排界面不断更新任务链;之后,响应于用户在任务编排界面触发的保存操作,可以基于任务链的更新数据生成任务编排操作事件流,并将任务编排操作事件流提交至服务器。其中,每个任务编排操作事件流包括至少一个任务编排操作事件。
需要说明的是,各个客户端在进行协同任务编排时可同时操作不同的任务链,也可以同时操作相同的任务链;而每个目标客户端是指在所述任务编排界面中当前操作的任务链相同的每个客户端,即服务器需要在后续步骤中汇总各个目标客户端发送的针对同一任务链的任务编排操作事件流,以对各个目标客户端任务编排界面中显示的任务链进行同步更新,从而达到实现分布式任务编排协同,实现多用户通过多客户端共同编排同一个任务链的目标。
S102、按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序。
该步骤中,目标客户端在提交任务编排操作事件流时,任务编排操作事件流中可以时间戳等方式记录提交时间;而服务器在接收到任意一个任务编排操作事件流之后,可以解析出对应的提交时间,进而按照提交时间对每个任务编排操作事件流包括的每个任务编排操作事件进行排序。这里,使用提交时间而非接收时间进行排序,是考虑到在任务编排操作事件流的传输过程中可能因网络延迟等原因出现客户端提交在先但服务器接收在后的情况,因此按照提交时间进行排序可以更好地还原各客户端在协同编排时的操作顺序。
在一种可能的实施方式中,所述服务器中包括:MQ消息中间件;步骤S102可包括:
S1021、由所述MQ消息中间件按照每个任务编排操作事件流的提交时间从前到后的顺序,对每个任务编排操作事件流进行排序。
该步骤中,MQ消息中间件比较每个任务编排操作事件流的提交时间,按照提交时间从前到后的顺序,将提交时间在前的任务编排操作事件流的排列顺序确定为在前,将提交时间在后的任务编排操作事件流的排列顺序确定为在后。而若存在至少两个任务编排操作事件流的提交时间相同,则MQ消息中间件可基于锁机制确定所述至少两个任务编排操作事件流之间的相对顺序。具体的,将抢占到资源锁的时间在前的任务编排操作事件流确定为排序在先的任务编排操作事件流,即将每次最先抢占到资源锁的任务编排操作事件流的顺序确定为在先。
S1022、根据每个任务编排操作事件流包括的任务编排操作事件之间的相对顺序,以及每个任务编排操作事件流的排序结果,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序。
这里,每个任务编排操作事件流包括的任务编排操作事件之间存在的相对顺序,是根据用户在客户端进行的任务编排操作的时间先后顺序确定的。具体的,相对顺序为每个任务编排操作事件对应的任务编排操作在相应目标客户端的触发时间从前到后的顺序。示例性的,假设用户在目标客户端触发了多个任务编排操作,以对任务链进行多次改动;在用户根据多个任务编排操作产生的任务链的更新数据来生成任务编排操作事件流时,若某一任务编排操作在目标客户端的触发时间的顺序为首个,则其对应的任务编排操作事件在任务编排操作事件流的顺序也为首个。因此任务编排操作事件之间的相对顺序,即为对应的任务编排操作在相应目标客户端的触发时间从前到后的顺序。
在一个例子中,任务编排操作事件流A包括任务编排操作事件a1和a2(a1和a2按照对应任务编排操作的触发时间先后顺序标号排列),任务编排操作事件流B包括任务编排操作事件b1、b2和b3(b1、b2和b3按照对应任务编排操作的触发时间先后顺序标号排列)。则按照提交时间从前到后的顺序,任务编排操作事件流的排序结果为:1、任务编排操作事件流A;2、任务编排操作事件流B。再根据每个任务编排操作事件流包括的任务编排操作事件之间的相对顺序,以及每个任务编排操作事件流的排序结果,排序得到每个任务编排操作事件的排序结果为:1、任务编排操作事件a1;2、任务编排操作事件a2;3、任务编排操作事件b1;4、任务编排操作事件b2;5、任务编排操作事件b3。
这样,服务器根据任务编排操作事件流的提交时间以及每个任务编排操作事件对应的任务编排操作的触发时间的时间先后进行排序,确定全部任务编排操作事件流中包括的全部任务编排操作事件之间的先后顺序,以便按照基于时间的排序结果进行任务编排操作事件的同步,可以准确地还原各客户端在任务协同编排时的操作顺序,避免协同编排过程中各客户端的任务链刷新出现混乱。
进一步的,在根据时间先后顺序来对任务编排操作事件进行排序的基础上,本申请另一实施例在排序时还引入了任务编排操作事件的等级标识,通过等级标识表征不同任务编排操作事件的重要性程度,以综合时间先后顺序和重要性程度来对任务编排操作事件进行排序。在另一种可能的实施方式中,S1022还可包括:
步骤1、确定每个任务编排操作事件流包括的每个任务编排操作事件中是否存在具有等级标识的任务编排操作事件。
示例性的,可通过在任务编排界面中添加等级的属性标识的方式,使得用户在任务编排界面的画布执行任务编排操作时,生成的任务链的更新数据中可携带有等级标识,进而由任务链的更新数据分解出的任务编排操作事件也可携带有等级标识。例如,对于作业链中多个作业组共有的核心组件或基础组件,对这样的核心组件或基础组件的编排操作,如改变组件的根本属性,这会导致作业链中多处的连锁变更和组件之间的相互影响,因此可对这类组件预先定义表征不同重要性程度的等级标识。
这样客户端在任务编排界面的画布对这类组件执行任务编排操作时,生成的任务编排操作事件中就携带有等级标识。之后,服务器在接收到任务编排操作事件流,可解析确定是否存在具有等级标识的任务编排操作事件。
步骤2、若存在,则将具有等级标识的任务编排操作事件定义为优先任务编排操作事件,并按照所述等级标识所指示的等级从高到低的顺序排列所述优先任务编排操作事件。
该步骤中,若服务器确定存在具有等级标识的任务编排操作事件,则将这类任务编排操作事件定义为优先任务编排操作事件。因为优先任务编排操作事件的重要性程度也存在不同,则可按照等级标识所指示的等级从高到低的顺序,即重要性程度由高到低的顺序排列优先任务编排操作事件。
步骤3、对于所述优先任务编排操作事件之外的其它任务编排操作事件,在等级最低的优先任务编排操作事件之后,按照任务编排操作事件之间的相对顺序以及每个任务编排操作事件流的排序结果进行排序。
该步骤中,对于任务编排操作事件流中除了优先任务编排操作事件之外的其它普通的任务编排操作事件,其中属于同一任务编排操作事件流的,仍按照任务编排操作事件之间的相对顺序进行排列;而不同任务编排操作事件流之间,在等级最低的优先任务编排操作事件之后,仍按照提交时间,即S1021中的排序结果进行排序。
因为用户在客户端的任务编排操作一般是随机发生的。要求用户了解不同任务编排操作事件对于任务链编排的重要性顺序,并严格按照这种重要性顺序进行编排操作的学习成本很高,且很难实现。
而本申请实施例中的服务器可以通过定义等级标识表征不同任务编排操作事件的重要性程度,以综合时间先后顺序和重要性程度来对任务编排操作事件进行重新排序。这样,重新排序之后,重要性程度更高的任务编排操作事件可以更早地同步给各个客户端,使得其他客户端显示的任务链可以更及时地进行重要任务编排操作事件所带来的更新,便于协同任务编排中操作其他客户端的用户更好地应对变化,有利于后续的任务编排。同时保证各客户端的普通任务编排操作事件对应的任务编排操作先后顺序能够正确还原。
S103、按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端,以使每个目标客户端根据接收到的每个任务编排操作事件同步刷新所述任务编排界面中的任务链。
在一种可能的实施方式中,所述服务器包括:数据库、数据一致性组件和页面后台程序;步骤S103可包括:
按照所述排序结果依次将每个任务编排操作事件存入所述数据库;使用所述数据一致性组件依次将每个任务编排操作事件同步给每个客户端对应的页面后台程序;由每个客户端对应的页面后台程序通过websocket协议依次将每个任务编排操作事件分发给每个目标客户端。
这里,按照排序结果表征的先后顺序将每个任务编排操作事件存入数据库,记录更新以最后一次操作为准;数据入库完成之后由数据强一致性组件分发给每个客户端对应的页面后台程序;再由websocket协议依次将每个任务编排操作事件分发给每个目标客户端,以保证各个目标客户端都能及时进行同步。其中,数据强一致性组件能够实现每个客户端对应的页面后台程序之间的数据一致,即一致地接收到各任务编排操作事件;websocket协议提供了一种全双工的通信机制,使得服务端可以主动向客户端推送数据。
请参阅图2,图2为本申请实施例所提供的一种任务编排方法的流程图之二。所述方法应用于任意一个客户端,如图2中所示,本申请实施例提供的任务编排方法,包括:
S201、响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流。
这里,进行协同任务编排的客户端会显示有任务编排界面以供用户操作;用户可通过操作任务编排界面的画布对任务进行编排以生成任务链,如拖拽任务组件,连接任务组件设置关系等。响应于用户的编排操作,客户端不断更新任务链。而响应于用户在任务编排界面触发的保存操作,客户端可以确定所述任务编排界面中尚未保存的(如当前保存操作到上一次保存操作之间,或首次保存操作之前的)任务链的更新数据;基于任务链的更新数据生成第一任务编排操作事件流,其中,所述第一任务编排操作事件流包括至少一个第一任务编排操作事件。
在一种可能的实施方式中,步骤S201可包括:
响应于用户在任务编排界面触发的保存操作,确定与上一次保存操作之间所述任务编排界面中新产生的任务链的更新数据;基于所述任务链的更新数据,分解得到至少一个第一任务编排操作事件,以组成所述第一任务编排操作事件流。
其中,所述任务编排操作事件包括建立任务组、建立任务、建立任务组关系以及建立任务关系。一个任务链中可以包括任务组,任务组中可包括至少一个任务;任务组关系以及任务关系可以包括并行和串行(串行是指存在先后顺序)。
S202、将所述第一任务编排操作事件流提交给服务器,以使所述服务器对所述第一任务编排操作事件流包括的每个第一任务编排操作事件以及其他各目标客户端发送的各第二任务编排操作事件流包括的每个第二任务编排操作事件进行排序。
其中,所述目标客户端是指与该客户端在所述任务编排界面中操作的任务链相同的客户端。服务器在对每个第一任务编排操作事件以及每个第二任务编排操作事件进行排序之后,会按照排序结果将任务编排操作事件(包括第一任务编排操作事件以及第二任务编排操作事件)发送给该客户端以及各目标客户端。
S203、接收所述服务器按照排序结果发送的任务编排操作事件。
S204、根据接收到的每个任务编排操作事件刷新所述任务编排界面中的任务链。
通过这种方式,使用服务器接收各个客户端发送的任务编排操作事件,排序后依次同步给各个客户端,能够实现分布式任务编排协同,实现多用户通过多客户端共同编排一个任务链的目标。
基于同一发明构思,本申请实施例还提供了一种任务编排方法。请参阅图3,图3为本申请实施例所提供的一种任务编排方法的流程图之三。本申请实施例提供的任务编排方法可应用于任务编排系统,所述任务编排系统包括服务器和多个客户端;如图3中所示,所述方法包括:
S301、每个客户端响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流;其中,所述第一任务编排操作事件流包括至少一个第一任务编排操作事件。
S302、每个客户端将所述第一任务编排操作事件流提交给所述服务器。
S303、针对在所述任务编排界面中操作的任务链相同的每组目标客户端所提交的每个第一任务编排操作事件流,所述服务器按照每个第一任务编排操作事件流的提交时间,对每个第一任务编排操作事件流包括的每个任务编排操作事件进行排序。
S304、所述服务器按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端。
S305、每个目标客户端根据接收到的每个任务编排操作事件刷新所述任务编排界面。
请参阅图4,图4为本申请实施例所提供的一种任务编排方法的示意图。如图4所示,用户A通过客户端A,用户B通过客户端B同时操作xxxx任务链。用户A和用户B分别在各自的任务编排界面,即窗口1和2中进行画布操作来进行编排任务;之后,用户通过保存操作,可以将生成的任务编排操作事件流提交给服务器;服务器按照提交时间对任务编排操作事件进行排序,并按照顺序存入数据库;入库之后由数据强一致性组件将每个任务编排操作事件同步给每个客户端对应的Web页面后台程序;Web页面后台程序再通过websocket协议局部刷新到页面,显示在相应窗口中。这样,用户可以在窗口中实时看到协作的其他用户对当前任务链的编排操作,实现分布式任务编排协同,实现多用户通过多客户端共同编排一个任务链的目标。
请参阅图5,图5为本申请实施例所提供的一种任务编排装置的结构示意图之一。所述装置500应用于服务器;如图5中所示,所述装置500包括:
第一接收模块510,用于接收每个目标客户端通过各自的任务编排界面提交的任务编排操作事件流;其中,每个任务编排操作事件流包括至少一个任务编排操作事件;每个目标客户端是指在所述任务编排界面中当前操作的任务链相同的每个客户端;
排序模块520,用于按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序;
发送模块530,用于按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端,以使每个目标客户端根据接收到的每个任务编排操作事件同步刷新所述任务编排界面中的任务链。
进一步的,所述服务器中包括:数据库、数据一致性组件和页面后台程序;所述发送模块530在用于按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端,以使每个目标客户端根据接收到的每个任务编排操作事件同步刷新所述任务编排界面中的任务链时,所述发送模块530用于:
按照所述排序结果依次将每个任务编排操作事件存入所述数据库;
使用所述数据一致性组件依次将每个任务编排操作事件同步给每个客户端对应的页面后台程序;
由每个客户端对应的页面后台程序通过websocket协议依次将每个任务编排操作事件分发给每个目标客户端。
进一步的,所述服务器中包括MQ消息中间件;所述排序模块520在用于按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序时,所述排序模块520用于:
控制所述MQ消息中间件按照每个任务编排操作事件流的提交时间从前到后的顺序,对每个任务编排操作事件流进行排序;
根据每个任务编排操作事件流包括的任务编排操作事件之间的相对顺序,以及每个任务编排操作事件流的排序结果,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序;其中,所述相对顺序为每个任务编排操作事件对应的任务编排操作在相应目标客户端的触发时间从前到后的顺序。
进一步的,所述排序模块520在用于根据每个任务编排操作事件流包括的任务编排操作事件之间的相对顺序,以及每个任务编排操作事件流的排序结果,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序时,所述排序模块520用于:
确定每个任务编排操作事件流包括的每个任务编排操作事件中是否存在具有等级标识的任务编排操作事件;
若存在,则将具有等级标识的任务编排操作事件定义为优先任务编排操作事件,并按照所述等级标识所指示的等级从高到低的顺序排列所述优先任务编排操作事件;
对于所述优先任务编排操作事件之外的其它任务编排操作事件,在等级最低的优先任务编排操作事件之后,按照任务编排操作事件之间的相对顺序以及每个任务编排操作事件流的排序结果进行排序。
进一步的,所述排序模块520在用于控制所述MQ消息中间件按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流进行排序时,所述排序模块520用于;
若存在至少两个任务编排操作事件流的提交时间相同,则控制所述MQ消息中间件基于锁机制,将抢占到资源锁的时间在前的任务编排操作事件流确定为排序在先的任务编排操作事件流。
请参阅图6,图6为本申请实施例所提供的一种任务编排装置的结构示意图之二。所述装置600应用于任意一个客户端;如图6中所示,所述装置600包括:
生成模块610,用于响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流;其中,所述第一任务编排操作事件流包括至少一个第一任务编排操作事件;
提交模块620,用于将所述第一任务编排操作事件流提交给服务器,以使所述服务器对所述第一任务编排操作事件流包括的每个第一任务编排操作事件以及其他各目标客户端发送的各第二任务编排操作事件流包括的每个第二任务编排操作事件进行排序;其中,所述目标客户端是指与该客户端在所述任务编排界面中操作的任务链相同的客户端;
第二接收模块630,用于接收所述服务器按照排序结果发送的任务编排操作事件;
刷新模块640,用于根据接收到的每个任务编排操作事件刷新所述任务编排界面中的任务链。
进一步的,所述生成模块610在用于响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流时,所述生成模块用于:
响应于用户在任务编排界面触发的保存操作,确定与上一次保存操作之间所述任务编排界面中新产生的任务链的更新数据;
基于所述任务链的更新数据,分解得到至少一个第一任务编排操作事件,以组成所述第一任务编排操作事件流。
进一步的,所述任务编排操作事件包括建立任务组、建立任务、建立任务组关系以及建立任务关系。
请参阅图7,图7为本申请实施例所提供的一种电子设备的结构示意图。如图7中所示,所述电子设备700包括处理器710、存储器720和总线730。
所述存储器720存储有所述处理器710可执行的机器可读指令,当电子设备700运行时,所述处理器710与所述存储器720之间通过总线730通信,所述机器可读指令被所述处理器710执行时,可以执行如上述图1至图4所示方法实施例中的一种任务编排方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1至图4所示方法实施例中的一种任务编排方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种任务编排方法,其特征在于,应用于服务器;所述方法包括:
接收每个目标客户端通过各自的任务编排界面提交的任务编排操作事件流;其中,每个任务编排操作事件流包括至少一个任务编排操作事件;每个目标客户端是指在所述任务编排界面中当前操作的任务链相同的每个客户端;
按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序;
按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端,以使每个目标客户端根据接收到的每个任务编排操作事件同步刷新所述任务编排界面中的任务链。
2.根据权利要求1所述的方法,其特征在于,所述服务器中包括:数据库、数据一致性组件和页面后台程序;所述按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端,以使每个目标客户端根据接收到的每个任务编排操作事件同步刷新所述任务编排界面中的任务链,包括:
按照所述排序结果依次将每个任务编排操作事件存入所述数据库;
使用所述数据一致性组件依次将每个任务编排操作事件同步给每个客户端对应的页面后台程序;
由每个客户端对应的页面后台程序通过websocket协议依次将每个任务编排操作事件分发给每个目标客户端。
3.根据权利要求1所述的方法,其特征在于,所述服务器中包括MQ消息中间件;所述按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序,包括:
由所述MQ消息中间件按照每个任务编排操作事件流的提交时间从前到后的顺序,对每个任务编排操作事件流进行排序;
根据每个任务编排操作事件流包括的任务编排操作事件之间的相对顺序,以及每个任务编排操作事件流的排序结果,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序;其中,所述相对顺序为每个任务编排操作事件对应的任务编排操作在相应目标客户端的触发时间从前到后的顺序。
4.根据权利要求3所述的方法,其特征在于,所述根据每个任务编排操作事件流包括的任务编排操作事件之间的相对顺序,以及每个任务编排操作事件流的排序结果,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序,包括:
确定每个任务编排操作事件流包括的每个任务编排操作事件中是否存在具有等级标识的任务编排操作事件;
若存在,则将具有等级标识的任务编排操作事件定义为优先任务编排操作事件,并按照所述等级标识所指示的等级从高到低的顺序排列所述优先任务编排操作事件;
对于所述优先任务编排操作事件之外的其它任务编排操作事件,在等级最低的优先任务编排操作事件之后,按照任务编排操作事件之间的相对顺序以及每个任务编排操作事件流的排序结果进行排序。
5.根据权利要求3所述的方法,其特征在于,由所述MQ消息中间件按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流进行排序,包括:
若存在至少两个任务编排操作事件流的提交时间相同,则所述MQ消息中间件基于锁机制,将抢占到资源锁的时间在前的任务编排操作事件流确定为排序在先的任务编排操作事件流。
6.一种任务编排方法,其特征在于,应用于任意一个客户端;所述方法包括:
响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流;其中,所述第一任务编排操作事件流包括至少一个第一任务编排操作事件;
将所述第一任务编排操作事件流提交给服务器,以使所述服务器对所述第一任务编排操作事件流包括的每个第一任务编排操作事件以及其他各目标客户端发送的各第二任务编排操作事件流包括的每个第二任务编排操作事件进行排序;其中,所述目标客户端是指与该客户端在所述任务编排界面中操作的任务链相同的客户端;
接收所述服务器按照排序结果发送的任务编排操作事件;
根据接收到的每个任务编排操作事件刷新所述任务编排界面中的任务链。
7.根据权利要求6所述的方法,其特征在于,所述响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流,包括:
响应于用户在任务编排界面触发的保存操作,确定与上一次保存操作之间所述任务编排界面中新产生的任务链的更新数据;
基于所述任务链的更新数据,分解得到至少一个第一任务编排操作事件,以组成所述第一任务编排操作事件流。
8.根据权利要求6或7所述的方法,其特征在于,所述任务编排操作事件包括建立任务组、建立任务、建立任务组关系以及建立任务关系。
9.一种任务编排方法,其特征在于,应用于任务编排系统;所述任务编排系统包括服务器和多个客户端;所述方法包括:
每个客户端响应于用户在任务编排界面触发的保存操作,基于所述任务编排界面中任务链的更新数据生成第一任务编排操作事件流;其中,所述第一任务编排操作事件流包括至少一个第一任务编排操作事件;
每个客户端将所述第一任务编排操作事件流提交给所述服务器;
针对在所述任务编排界面中操作的任务链相同的每组目标客户端所提交的每个第一任务编排操作事件流,所述服务器按照每个第一任务编排操作事件流的提交时间,对每个第一任务编排操作事件流包括的每个任务编排操作事件进行排序;
所述服务器按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端;
每个目标客户端根据接收到的每个任务编排操作事件刷新所述任务编排界面。
10.一种任务编排装置,其特征在于,应用于服务器;所述装置包括:
第一接收模块,用于接收每个目标客户端通过各自的任务编排界面提交的任务编排操作事件流;其中,每个任务编排操作事件流包括至少一个任务编排操作事件;每个目标客户端是指在所述任务编排界面中当前操作的任务链相同的每个客户端;
排序模块,用于按照每个任务编排操作事件流的提交时间,对每个任务编排操作事件流包括的每个任务编排操作事件进行排序;
发送模块,用于按照排序结果依次将每个任务编排操作事件分发给对应的每个目标客户端,以使每个目标客户端根据接收到的每个任务编排操作事件同步刷新所述任务编排界面中的任务链。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311649154.9A CN117707762A (zh) | 2023-12-04 | 2023-12-04 | 一种任务编排方法及任务编排装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311649154.9A CN117707762A (zh) | 2023-12-04 | 2023-12-04 | 一种任务编排方法及任务编排装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707762A true CN117707762A (zh) | 2024-03-15 |
Family
ID=90145387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311649154.9A Pending CN117707762A (zh) | 2023-12-04 | 2023-12-04 | 一种任务编排方法及任务编排装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707762A (zh) |
-
2023
- 2023-12-04 CN CN202311649154.9A patent/CN117707762A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111290854B (zh) | 任务管理方法、装置、系统、计算机存储介质及电子设备 | |
CN108304255A (zh) | 分布式任务调度方法及装置、电子设备及可读存储介质 | |
US8020044B2 (en) | Distributed batch runner | |
CN101815013B (zh) | 一种基于Ajax和Web服务技术的卫星应用系统运行监控方法 | |
CN105162875B (zh) | 大数据群体任务分配方法及装置 | |
CN101999110A (zh) | 用于由同步指示器实现的共享的方法和系统 | |
CN111641470B (zh) | 一种分布式仿真的时间一致性同步方法 | |
CN108390933A (zh) | 消息分发方法、装置、服务器及存储介质 | |
US9934307B2 (en) | Apparatus and method for managing job flows in an information processing system | |
CN111475315B (zh) | 服务器及订阅通知推送控制、执行方法 | |
CN117707762A (zh) | 一种任务编排方法及任务编排装置 | |
CN110839061B (zh) | 数据分发方法、装置及存储介质 | |
US20110125709A1 (en) | Bookkeeping of download timestamps | |
CN109412940B (zh) | 路由器管理方法及路由器管理系统 | |
CN115361382A (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
US20180063242A1 (en) | Method and apparatus for operating infrastructure layer in cloud computing architecture | |
CN101897147A (zh) | 一种数据指纹保存方法、装置和多设备数据同步方法 | |
EP3780561A1 (en) | Domain name configuration and deployment management method and device | |
CN113230661A (zh) | 数据同步方法、装置、计算机可读介质及电子设备 | |
CN110046199A (zh) | 交易数据的同步方法、装置及电子设备 | |
CN112463312A (zh) | 一种定时任务的动态维护系统和方法、介质、计算设备 | |
CN112825525A (zh) | 用于处理事务的方法和装置 | |
CN115185410B (zh) | 一种提升视频会议效率的管理方法及系统 | |
US11277473B1 (en) | Coordinating breaking changes in automatic data exchange | |
CN104734923B (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 |