一种工作流分布式调度管理系统和方法

文档序号:26747589发布日期:2021-09-25 01:15阅读:134来源:国知局
一种工作流分布式调度管理系统和方法

1.本发明涉及计算机技术领域,具体涉及一种工作流分布式调度管理系统和方法。


背景技术:

2.目前,工作流管理和调度由单一的集中式工作流管理引擎来执行。该引擎负责制定任务执行、监控工作流状态和保证任务相关性。然而,在具有跨企业组织工作流业务中,集中式的工作流管理系统是不理想的。在集中式的管理控制下,该流程的执行涉及到不同企业组织间的跨域安全问题。由此可以看出,针对跨企业业务应用程序的工作流服务而言,该服务本质上是分布式,异构和自治的,并不适合集中式的控制。其次,集中式的工作流管理系统往往在处理大规模并发工作流及多实例的情况下会导致性能瓶颈。另外,传统的工作流管理系统传统工作流模型只能在设计阶段进行编辑和修改,一旦工作流部署运行后无法对其进行调整。由于实际应用中环境和用户需求的不确定性以及多变性,设计人员往往无法保证在设计阶段能够考虑所有的业务,导致许多业务逻辑难以预先定义完备,需要即时构建或动态调整,因此支持工作流的动态调整同样成为工作流分布式执行调度过程中的技术挑战。现有技术中公开了一些工作流分布式调度管理系统,如公开号为cn112581080a的专利文献《一种轻量级的分布式工作流引擎构建系统》、公开号为cn111950988a的专利文献《分布式工作流调度方法、装置,存储介质及电子设备》、公开号为cn112070452a的专利文献《一种分布式工作流管理系统》等。分析上述文献中的技术细节可知,其对工作流的分布式调度管理,工作流模型的动态调整及服务计算节点的管理设计等方面并不完善,主要体现在以下几个方面:
3.第一,现有技术对工作流模型的动态调整支持不足。现有的技术在对于工作流服务的构建上只允许提前构建完整的工作流服务,并不允许工作流的中继执行,无法满足应用环境多变情况下的工作流模型动态调整的需求。
4.第二,现有技术对去服务节点去中心化的实现支持不足。现有的开源框架dophinscheduler实现了master节点的去中心化和worker节点去中心化,但是却无法真正实现两种节点的无差别化,在轻量级的工作流任务并发下,无法充分的利用集群的计算资源。


技术实现要素:

5.本发明提供一种工作流分布式调度管理系统和方法,能够解决上述技术问题。
6.本发明解决上述技术问题的技术方案如下:
7.第一方面,本发明实施例提供了一种工作流分布式调度管理系统,包括:流程构建模块、流程解析分割模块、流程重构模块、流程调度模块和服务代理模块,其中:
8.流程构建模块用于在网络页面上实现服务方案流程的构建和信息配置;所述网络页面包括:活动选择页面,任务配置页面和流程构建页面;
9.流程解析分割模块用于对服务方案流程解析和分割,生成最优化的切割结果,将
切割结果发送至流程重构模块;
10.流程重构模块用于流程的重新装配,包括生成实现工作流分布式流程的元流程及子流程的监听插入。
11.流程调度模块用于生成工作流程分布式调度的相关调度信息及元流程的流程变量的插入和元流程的下发;
12.服务代理模块嵌入于计算节点中,用于接收和执行元流程的相关调度任务,实现服务方案流程的分布式执行。
13.在一些实施例中,上述工作流分布式调度管理系统还包括:流程监控模块,流程监控模块用于服务方案流程的实时状态监控和计算节点的实时地理位置监控。
14.在一些实施例中,上述工作流分布式调度管理系统节点管理模块,节点管理模块用于计算节点的管理,至少包括:查看计算节点位置、修改状态、增加、删除计算节点。
15.在一些实施例中,上述工作流分布式调度管理系统服务管理模块,服务管理模块用于提供与用户对服务方案流程的管理和查看。
16.在一些实施例中,上述工作流分布式调度管理系统服务计算集群,服务计算集群为上层应用提供基础运行环境;接收下发的元流程信息执行。
17.第二方面,本发明实施例提供了一种工作流分布式调度管理方法,包括:
18.接收解析用户服务构建的工作流模型,
19.基于多条件约束,以服务质量高、时间延迟低进行建模得到多目标优化问题,根据智能优化算法生成最优化分割方案,其中,所述多条件约束至少包括:服务位置约束、执行环境约束,并行网关;
20.根据最优化分割方案,对用户服务的原始流程进行自动化分割,得到多个子流程,存储多个子流程;
21.接收并解析多个子流程,添加服务监听任务在每个子流程后;
22.根据最优化分割方案的分割逻辑和结果,构造出元流程;
23.根据随机调度算法生成相应的调度信息;
24.将所有的分布式调度信息存储在元流程的流程变量中,同时下发元流程至计算节点执行。
25.在一些实施例中,上述工作流分布式调度管理方法还包括:
26.计算节点中的服务代理在接收元流程的执行信息后会自动执行元流程,同时从流程变量中获取相应的子流程信息进行下发。
27.在一些实施例中,上述工作流分布式调度管理方法还包括:
28.子流程在下发至计算节点执行后自动执行响应监听任务,子流程与元流程之间实时通信和交互。
29.在一些实施例中,上述工作流分布式调度管理方法还包括:
30.监控元流程的执行信息,显示元流程的执行信息。
31.在一些实施例中,上述工作流分布式调度管理方法还包括:
32.元流程自动完成工作流的分布式调度信息;调度信息包括:调度节点信息和子流程信息。
33.本发明的有益效果是:本发明实施例提供了一种工作流分布式调度管理系统和方
法,该系统包括:流程构建模块用于在网络页面上实现服务方案流程的构建和信息配置;流程解析分割模块用于对服务方案流程解析和分割,生成最优化的切割结果,将切割结果发送至流程重构模块;流程重构模块用于流程的重新装配,包括生成实现工作流分布式流程的元流程及子流程的监听插入。流程调度模块用于生成工作流程分布式调度的相关调度信息及元流程的流程变量的插入和元流程的下发;服务代理模块嵌入于计算节点中,用于接收和执行元流程的相关调度任务,实现服务方案流程的分布式执行。本技术中能够通过流程解析分割模块和流程重构模块进行流程分割和重构,可以便捷的实现工作流的去中心分布式调度,同时满足工作流模型的动态调整需求。
附图说明
34.图1为本发明实施例提供的一种工作流分布式调度管理系统示意图一;
35.图2为本发明实施例提供的一种工作流分布式调度管理系统示意图二;
36.图3为本发明实施例提供的一种工作流分布式调度管理方法示意图。
具体实施方式
37.以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
38.为了能够更清楚地理解本技术的上述目的、特征和优点,下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用于解释本公开,而非对本技术的限定。基于所描述的本技术的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。
39.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
40.本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。
41.下文首先介绍本技术涉及到的专业术语。
42.活动选择页面和任务配置页面。
43.活动选择页面提供选择多种不同的工作流程任务,根据不同的功能可分为服务任务,监听任务,用户任务等。用户可选择自身需求的任务拖拽进行服务流程的连接和构建。服务任务可视为自动化任务,只需提前进行服务任务定义,在流程执行到相应任务计算节点时会自动执行。用户任务则视为等待任务,即在流程的执行过程中会进行阻塞等待,当用指定用户的人工活动完成后方可继续执行流程。监听任务则视为触发器任务,即需要在服务流程的指定位置添加监听,在当前流程任务结束后会自动出发监听器任务。
44.任务配置页面提供各种活动流程任务的信息配置。任务配置包括:任务id,任务名称,任务执行方式(异步,同步),是否配置执行监听器,指定类路径等配置信息。用户任务的信息配置包括:任务描述信息,任务执行方式(同步或异步),是否配置执行监听器,分配用
户,表单引用等。
45.图1为本发明实施例提供的一种工作流分布式调度管理系统示意图一。
46.第一方面,本发明实施例提供了一种工作流分布式调度管理系统,包括:流程构建模块101、流程解析分割模块102、流程重构模块103、流程调度模块104和服务代理模块105,其中:
47.流程构建模块101用于在网络页面上实现服务方案流程的构建和信息配置;所述网络页面包括:活动选择页面,任务配置页面和流程构建页面;
48.具体的,本技术实施例中的流程构建页面提供活动任务的连接,删除,调整等功能。流程构建模块实现服务方案流程的完整构建,在服务方案流程构建完成后,可获取到服务方案流程流程对应的符合bpmn2.0的流程文件。流程文件为某个服务流程构建后的自动解析生成的流程文件。其中startevent元素视为流程开始,servicetask则视为服务任务,sequenceflow表示连接线,其中包括连线的前驱和后继。
49.流程解析分割模块102用于对服务方案流程解析和分割,生成最优化的切割结果,将切割结果发送至流程重构模块;
50.具体的,本技术实施例中流程解析分割模块102用于对服务方案流程的解析与分割。该模块首先会读取相应服务方案流程的xml文件信息,依次通过查找其中sequenceflow等元素获取相应的连线信息,最终将服务方案流程转化为数据流逻辑图,用于解析流程逻辑结构。本技术的分割约束规则基于网关约束等规则,通过智能切割算法对流程dag进行智能分割,最终生成最优优化的切割结果,切割结果以连接点为单元进行存储。最终根据分割方案将服务方案流程切分为若干个子流程。
51.流程重构模块103用于流程的重新装配,包括生成实现工作流分布式流程的元流程及子流程的监听插入。
52.具体的,本技术实施例中的流程重构模块103用于生成实现工作流分布式流程的元流程及子流程的监听插入。流程重构模块103首先会接收流程解析分割模块分割服务方案的子流程信息,依次遍历子流程的结构,同时在子流程的结束标志前添加服务监听任务,该监听任务在后续子流程的分布式执行过程结束阶段与主流程进行主动响应式交互通信。流程重构模块在接收流程解析分割模块的分割逻辑方案和结果后,会根据分割逻辑方案生成结构类似的元流程。
53.流程调度模块104用于生成工作流程分布式调度的相关调度信息及元流程的流程变量的插入和元流程的下发;
54.具体的,本技术实施例中的流程调度模块实现分布式调度信息的生成与元流程的调度下发。调度信息一共分为两部分,其中一部分是计算节点的调度信息,即子流程下发的计算节点信息如ip地址及引擎端口port等。另一部分则是流程调度信息,其中包括:子流程信息,元流程的部署信息,用户分配信息等。流程调度模块在生成所有的分布式调度信息后,随机选取经计算节点下发元流程,同时将所有的调度信息以流程变量的形式插入元流程中。计算节点中的服务代理在收到元流程的下发信息后自动化执行,元流程的任务会从流程变量获取相应子流程相关调度信息进行子流程的分布式下发,然后进入用户任务等待。子流程在执行结束会执行监听任务,与元流程进行交互响应,完成用户分配,此时元流程继续执行后续流程,自动化实现工作流的分布式调度。
55.服务代理模块105嵌入于计算节点中,用于接收和执行元流程的相关调度任务,实现服务方案流程的分布式执行。
56.具体的,本技术实施例中的服务代理模块105主要应用于服务计算引擎中,用于执行元流程的相关调度工作。服务代理会从元流程的流程变量中获得相应的子流程信息,调度计算节点信息和后续等待的用户任务信息。其次,进行调度信息的有效性判别,同时检查该下发计算节点是否正常,如该计算节点已离线则会从计算节点集合中选取正常计算节点进行下发。之后,对元流程的流程变量进行更新,其中包括当前运行计算节点,后置下发子流程,子流程运行进度等变量更新,最后携带更新后的变量信息及为该子流程分配的用户任务信息进行子流程的下发执行,最终返回流程状态。
57.图2为本发明实施例提供的一种工作流分布式调度管理系统示意图二;
58.在一些实施例中,上述工作流分布式调度管理系统还包括:流程监控模块201,流程监控模块用于服务方案流程的实时状态监控和计算节点的实时地理位置监控。
59.具体的,本技术实施例中流程监控模块201完成服务方案流程的状态实时监控。由于在流程解析分割模块对原始服务方案流程进行了切分,因此在工作流的分布式执行过程中无法实现对分散执行的若干子流程进行监控,因此流程监控模块通过对元流程状态的监控从而达到对原始服务方案流程的状态监控。在流程重构模块中对子流程进行了服务监听的插入,即在子流程结束阶段自动响应服务监听任务,该任务会获取到该流程对应元流程的信息,并向元流程进行响应交互。同时流程监控模块通过监控元流程的进行状态来实现流程的实时监控。
60.在一些实施例中,上述工作流分布式调度管理系统还包括:节点管理模块202,节点管理模块用于计算集群节点的管理,至少包括:查看计算节点位置、修改状态、增加、删除计算节点。
61.节点管理模块202:该模块主要实现计算节点的配置管理。包括对计算节点的地理位置的查看监控,端口及ip地址等信息的配置修改等功能。
62.在一些实施例中,上述工作流分布式调度管理系统还包括:服务管理模块203,服务管理模块用于提供与用户对服务方案流程的管理和查看。
63.服务管理模块203用于提供与用户对服务方案的管理和查看。其中服务管理模块包括服务方案的上传,搜索,查看,删除,下载等操作。可以是一网络页面展示了服务方案管理模块的相应功能。服务方案的上传需要对服务方案名称及服务方案描述信息进行编写,同时选择流程构建模块产出的符合bpmn2.0规范的流程文件进行上传。服务方案的搜索需要在搜索框输入文件名的关键字点击搜素即可查看相应搜索结果。服务方案查看功能则会读取相应服务方案的信息,即读取流程xml文件。通过流程解析引擎依次遍历sequenceflow获取其连线信息,同时将其转化为dag图,根据相应的图显示规则进行服务方案流程的显示。
64.在一些实施例中,上述工作流分布式调度管理系统服务计算集群,服务计算集群为上层应用提供基础运行环境;接收下发的元流程信息执行。
65.具体的,本技术实施例中的服务计算集群的底层引擎为flowable6.5.0工作流计算引擎,同时使用kubernetes进行容器的编排和监控。
66.本发明基于flowable工作流计算引擎,提出的工作流分布式调度管理方法,以此
实现了去中心化工作流分布式调度管理系统。系统通过对服务流程的分割和重构,通过自身构造的元流程实现工作流的分布式调度执行和流程的实时状态监控。上述系统实现了去中心化控制,同时可通过暂停挂起元流程的方式进行工作流模型的动态调整。
67.图3为本发明实施例提供的一种工作流分布式调度管理方法示意图。
68.第二方面,本发明实施例提供了一种工作流分布式调度管理方法,包括:
69.s301:接收解析用户服务构建的工作流模型,
70.s302:基于多条件约束,以服务质量高、时间延迟低进行建模得到多目标优化问题,根据智能优化算法生成最优化分割方案;
71.其中,所述多条件约束至少包括:服务位置约束、执行环境约束,并行网关;
72.s303:根据最优化分割方案,对用户服务的原始流程进行自动化分割,得到多个子流程,存储多个子流程;
73.接收并解析多个子流程,添加服务监听任务在每个子流程后;
74.s304:根据最优化分割方案的分割逻辑和结果,构造出元流程;
75.s305:根据随机调度算法生成相应的调度信息;
76.s306:将所有的分布式调度信息存储在元流程的流程变量中,同时下发元流程至计算节点执行。
77.在一些实施例中,上述工作流分布式调度管理方法还包括:
78.计算节点中的服务代理在接收元流程的执行信息后会自动执行元流程,同时从流程变量中获取相应的子流程信息进行下发。
79.在一些实施例中,上述工作流分布式调度管理方法还包括:
80.子流程在下发至计算节点执行后自动执行响应监听任务,子流程与元流程之间实时通信和交互。
81.在一些实施例中,上述工作流分布式调度管理方法还包括:
82.监控元流程的执行信息,显示元流程的执行信息。
83.在一些实施例中,上述工作流分布式调度管理方法还包括:
84.元流程自动完成工作流的分布式调度信息;调度信息包括:调度计算节点信息和子流程信息。
85.本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
86.虽然结合附图描述了本技术的实施方式,但是本领域技术人员可以在不脱离本技术的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
87.以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1