CN112596873A - 工作流依赖管理方法、装置、计算机设备及存储介质 - Google Patents
工作流依赖管理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112596873A CN112596873A CN202011483709.3A CN202011483709A CN112596873A CN 112596873 A CN112596873 A CN 112596873A CN 202011483709 A CN202011483709 A CN 202011483709A CN 112596873 A CN112596873 A CN 112596873A
- Authority
- CN
- China
- Prior art keywords
- workflow
- executed
- attribute
- dependency
- message
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 42
- 230000001419 dependent effect Effects 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种工作流依赖管理方法、装置、计算机设备及存储介质,涉及区块链领域。方法包括:判断待执行工作流是否包含预配置的依赖属性;若待执行工作流包含依赖属性,在预设的消息集群中订阅待执行工作流依赖的工作流的执行完成消息;判断是否接收到消息集群发送的待执行工作流依赖的工作流的执行完成消息;若接收到消息集群发送的待执行工作流依赖的工作流的执行完成消息,执行待执行工作流。通过在消息集群中订阅待执行工作流依赖的工作流的执行完成消息,实现实时监控待执行工作流依赖的工作流的执行情况,整个过程无需调度服务器介入,各工作流能够自动准确、高效有序的运行,减少了计算成本,还能有效降低出错率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种工作流依赖管理方法、装置、计算机设备及存储介质。
背景技术
一套完整的大数据服务平台内部的应用,通常都是由大量任务单元组成的。例如,shell脚本,java程序,mapreduce程序、hive脚本以及spark程序等,各任务单元之间存在时间先后及前后依赖关系,为了很好地组织起这样的复杂执行计划,需要一个工作流调度***来调度执行。
Azkaban是由Linkedin公司推出的一个开源分布式批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。现有技术中,需要单独设置调度服务器,由调度服务器统一调度各在工作流之间的执行顺序,各执行服务器只需等待调度服务器的处理指令。随着***的复杂度提高,工作流变得越来越多,工作流之间的依赖关系及其复杂,调度服务器的计算量极其巨大,并且调度规则,需要人为配置,极易出错。
发明内容
本发明实施例提供了一种工作流依赖管理方法、装置、计算机设备及存储介质,旨在解决现有工作流调度方式计算量大且极易调度出错的问题。
第一方面,本发明实施例提供了一种工作流依赖管理方法,其包括:
判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称;
若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息;
判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息;
若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流。
第二方面,本发明实施例还提供了一种工作流依赖管理装置,其包括:
第一判断单元,用于判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称;
订阅单元,用于若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息;
第二判断单元,用于判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息;
第一执行单元,用于若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提供了一种工作流依赖管理方法、装置、计算机设备及存储介质。其中,所述方法包括:判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称;若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息;判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息;若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流。通过在消息集群中订阅待执行工作流依赖的工作流的执行完成消息,实现实时监控待执行工作流依赖的工作流的执行情况,整个过程无需调度服务器介入,各工作流能够自动准确、高效有序的运行,减少了计算成本,还能有效降低出错率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种工作流依赖管理方法的流程示意图;
图2为本发明实施例提供的一种工作流依赖管理方法的子流程示意图;
图3为本发明实施例提供的一种工作流依赖管理方法的子流程示意图;
图4为本发明另一实施例提供的一种工作流依赖管理方法的流程示意图;
图5为本发明实施例提供的一种工作流依赖管理方法的子流程示意图;
图6为本发明实施例提供的一种工作流依赖管理方法的子流程示意图;
图7为本发明实施例提供的一种工作流依赖管理装置的示意性框图;
图8为本发明另一实施例提供的一种工作流依赖管理装置的示意性框图;
图9为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1,图1是本发明实施例提供的一种工作流依赖管理方法的流程示意图。本发明可应用于智慧政务/智慧城管/智慧社区/智慧安防/智慧物流/智慧医疗/智慧教育/智慧环保/智慧交通场景中,从而推动智慧城市的建设。如图所示,该方法包括以下步骤S1-S4。
S1,判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称。
具体实施中,工作流的执行之间存在先后的顺序。一些工作流的执行需依赖于其他工作流,即这些工作流需要等待其依赖的工作流执行完毕后才能执行。
在本发明实施例中,若工作流被其它工作流依赖,则为该工作流配置被依赖属性(flow.event属性),被依赖属性的内容为该工作流的流程名;
若工作流需要依赖其他工作流,则为该工作流配置依赖属性(flow.depend.on属性),依赖属性的内容为该工作流依赖的工作流的流程名。
可以理解的,同一个工作流可以配置被依赖属性以及依赖属性。即,该工作流既需要依赖一些工作流,也被一些工作流依赖。
同时上述工作流的被依赖属性以及依赖属性由本领域技术人员根据实际情况配置。
本发明的方法应用于服务器中,服务器被工作流任务调度器分配工作流。待执行工作流是指服务器还未执行的工作流。
服务器首先判断待执行工作流是否包含依赖属性。若待执行工作流包含依赖属性,则该执行工作流需要等待其依赖属性中的工作流全部执行完毕后,才能执行。
若待执行工作流不包含依赖属性,则说明该待执行工作流无需依赖于其它工作流。
参见图2,在一实施例中,以上步骤S1具体包括如下步骤:
S11,获取所述待执行工作流的属性配置文件。
具体实施中,每个工作流对应有属性配置文件。属性配置文件用于记录工作流的属性。可以理解地,工作流的属性配置文件由用户预先配置。工作流的属性可具体包括依赖属性以及被依赖属性。
可以理解地,将所述属性配置文件储存到区块链中,以确保所述属性配置文件无法被篡改,从而提高可靠性以及安全性。
S12,判断所述待执行工作流的属性配置文件中是否包含所述依赖属性。
S13,若所述待执行工作流的属性配置文件中包含所述依赖属性,判定所述待执行工作流包含预配置的依赖属性。
S14,若所述待执行工作流的属性配置文件中不包含所述依赖属性,判定所述待执行工作流不包含预配置的依赖属性。
S2,若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息。
具体实施中,如果所述待执行工作流包含依赖属性,则通过查看所述待执行工作流的依赖属性确定所述待执行工作流依赖的工作流。并判断所述待执行工作流依赖的工作流是否全部执行完毕。只有在所述待执行工作流依赖的工作流全部执行完毕后,才能够执行所述待执行工作流。
在本发明的技术方案中,若工作流为被依赖的工作流,则在该工作流执行完毕后,向预设的消息集群中发布该工作流的执行完成消息。
因此,如果在消息集群中接收到待执行工作流依赖的工作流的执行完成消息,则说明待执行工作流依赖的工作流已经执行完成了。
在本发明的技术方案中,为了能够及时的接收到待执行工作流依赖的工作流的执行完成消息,在消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息。由此,在消息集群接收到所述待执行工作流依赖的工作流的执行完成消息时,将会立即将该执行完成消息该推送给服务器。
需要说明的是,消息集群可具体为Apache kafka消息集群、ActiveMQ集群消息或者其他类型的消息集群,本发明对此不做具体限定。
参见图3,在一实施例中,以上步骤S2具体包括如下步骤:
S21,获取所述待执行工作流的依赖属性包含的工作流的名称。
具体实施中,从待执行工作流的属性配置文件中查看待执行工作流的依赖属性,并提取依赖属性待执行工作流的依赖属性包含的工作流的名称。
S22,将所述待执行工作流的依赖属性包含的工作流的名称添加到预设的订阅请求模板中以得到订阅请求。
具体实施中,订阅请求具有固定的格式,不同订阅请求的不同之处在于所要订阅的消息不同(即订阅请求包含的工作流的名称的不同)。因此,预先构建订阅请求模板,订阅请求模板中包含工作流名称填充位。将工作流的名称填入到订阅请求模板的工作流名称填充位中即可得到订阅请求,从而提高了订阅请求的构建效率。
S23,将所述订阅请求发送给所述消息集群。
具体实施中,消息集群在接收到订阅请求包含的工作流的执行完成消息后,将该执行完成消息发送给订阅了该执行完成消息的服务器。
S3,判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息。
具体实施中,如果所述待执行工作流依赖的工作流只有一个,则判断是否接收到该工作流的执行完成消息。
如果所述待执行工作流依赖的工作流有多个,则判断是否接收到该多个工作流的执行完成消息。
S4,若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流。
具体实施中,如果接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,则表明所述待执行工作流依赖的工作流已经全部执行完毕,因此可执行所述待执行工作流。
通过应用本发明的技术方案,判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称;若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息;判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息;若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流。通过在消息集群中订阅待执行工作流依赖的工作流的执行完成消息,实现实时监控待执行工作流依赖的工作流的执行情况,整个过程无需调度服务器介入,各工作流能够自动准确、高效有序的运行,减少了计算成本,还能有效降低出错率。
图4是本发明另一实施例提供的一种工作流依赖管理方法的流程示意图。如图4所示,本实施例的工作流依赖管理方法包括步骤S41-S47。
S41,判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称。
具体实施中,工作流的执行之间存在先后的顺序。一些工作流的执行需依赖于其他工作流,即这些工作流需要等待其依赖的工作流执行完毕后才能执行。
在本发明实施例中,若工作流被其它工作流依赖,则为该工作流配置被依赖属性(flow.event属性),被依赖属性的内容为该工作流的流程名;
若工作流需要依赖其他工作流,则为该工作流配置依赖属性(flow.depend.on属性),依赖属性的内容为该工作流依赖的工作流的流程名。
可以理解的,同一个工作流可以配置被依赖属性以及依赖属性。即,该工作流既需要依赖一些工作流,也被一些工作流依赖。
同时上述工作流的被依赖属性以及依赖属性由本领域技术人员根据实际情况配置。
本发明的方法应用于服务器中,服务器被工作流任务调度器分配工作流。待执行工作流是指服务器还未执行的工作流。
服务器首先判断待执行工作流是否包含依赖属性。若待执行工作流包含依赖属性,则该执行工作流需要等待其依赖属性中的工作流全部执行完毕后,才能执行。
若待执行工作流不包含依赖属性,则说明该待执行工作流无需依赖于其它工作流。
S42,若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息。
具体实施中,如果所述待执行工作流包含依赖属性,则通过查看所述待执行工作流的依赖属性确定所述待执行工作流依赖的工作流。并判断所述待执行工作流依赖的工作流是否全部执行完毕。只有在所述待执行工作流依赖的工作流全部执行完毕后,才能够执行所述待执行工作流。
在本发明的技术方案中,若工作流为被依赖的工作流,则在该工作流执行完毕后,向预设的消息集群中发布该工作流的执行完成消息。
因此,如果在消息集群中接收到待执行工作流依赖的工作流的执行完成消息,则说明待执行工作流依赖的工作流已经执行完成了。
在本发明的技术方案中,为了能够及时的接收到待执行工作流依赖的工作流的执行完成消息,在消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息。由此,在消息集群接收到所述待执行工作流依赖的工作流的执行完成消息时,将会立即将该执行完成消息该推送给服务器。
需要说明的是,消息集群可具体为Apache kafka消息集群、ActiveMQ集群消息或者其他类型的消息集群,本发明对此不做具体限定。
S43,判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息。
具体实施中,如果所述待执行工作流依赖的工作流只有一个,则判断是否接收到该工作流的执行完成消息。
如果所述待执行工作流依赖的工作流有多个,则判断是否接收到该多个工作流的执行完成消息。
S44,若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流。
具体实施中,如果接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,则表明所述待执行工作流依赖的工作流已经全部执行完毕,因此可执行所述待执行工作流。
S45、若所述待执行工作流不包含依赖属性,执行所述待执行工作流。
具体实施中,如果所述待执行工作流不包含依赖属性,则无需等待其它任何工作流的执行结果,直接执行所述待执行工作流。
S46、若所述待执行工作流执行结束,判断所述待执行工作流是否包含预配置的被依赖属性。
具体实施中,如果待执行工作流包含被依赖属性,则说明待执行工作流是被依赖的工作流,其被其它工作流依赖。
如果待执行工作流不包含被依赖属性,则说明待执行工作流不是被依赖的工作流。
参见图5,在一实施例中,以上步骤S46具体包括如下步骤:
S461,获取所述待执行工作流的属性配置文件。
具体实施中,每个工作流对应有属性配置文件。属性配置文件用于记录工作流的属性。可以理解地,工作流的属性配置文件由用户预先配置。工作流的属性可具体包括依赖属性以及被依赖属性。
可以理解地,将所述属性配置文件储存到区块链中,以确保所述属性配置文件无法被篡改,从而提高可靠性以及安全性。
S462,判断所述待执行工作流的属性配置文件中是否包含所述被依赖属性。
S463,若所述待执行工作流的属性配置文件中包含所述被依赖属性,判定所述待执行工作流包含预配置的被依赖属性。
S464,若所述待执行工作流的属性配置文件中不包含所述被依赖属性,判定所述待执行工作流不包含预配置的被依赖属性。
S47、若所述待执行工作流包含被依赖属性,向所述消息集群中发送所述待执行工作流的执行完成消息。
具体实施中,如果所述待执行工作流包含被依赖属性,则说明待执行工作流被其它工作流依赖。因此,向所述消息集群中发送所述待执行工作流的执行完成消息,以公告待执行工作已经执行完成的消息,使得依赖待执行工作流的工作流能够接收到所述待执行工作流的执行完成消息。
进一步地,如果所述待执行工作流不包含被依赖属性,则无需向所述消息集群中发送所述待执行工作流的执行完成消息。
参见图6,在一实施例中以上步骤S47包括:
S471,将所述待执行工作流的名称添加到预设的执行完成消息模板中以得到执行完成消息。
具体实施中,执行完成消息具有固定的格式,不同执行完成消息的不同之处在于其包含的工作流的名称的不同。因此,预先构建执行完成消息模板,执行完成消息模板中包含工作流名称填充位。将工作流的名称填入到执行完成消息模板的工作流名称填充位中即可得到执行完成消息,从而提高了执行完成消息的构建效率。
S472,将所述待执行工作流的执行完成消息发送给所述消息集群。
具体实施中,消息集群在接收到所述待执行工作流的执行完成消息,将该执行完成消息发送给订阅了该执行完成消息的服务器。
参见图7,图7是本发明实施例提供的一种工作流依赖管理装置70的示意性框图。对应于以上工作流依赖管理方法,本发明还提供一种工作流依赖管理装置70。该工作流依赖管理装置70包括用于执行上述工作流依赖管理方法的单元,该工作流依赖管理装置70可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,该工作流依赖管理装置70包括第一判断单元、订阅单元、第二判断单元以及第一执行单元。
第一判断单元,用于判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称;
订阅单元,用于若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息;
第二判断单元,用于判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息;
第一执行单元,用于若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流。
在一实施例中,所述在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息,包括:
获取所述待执行工作流的依赖属性包含的工作流的名称;
将所述待执行工作流的依赖属性包含的工作流的名称添加到预设的订阅请求模板中以得到订阅请求;
将所述订阅请求发送给所述消息集群。
在一实施例中,所述判断待执行工作流是否包含预配置的依赖属性,包括:
获取所述待执行工作流的属性配置文件;
判断所述待执行工作流的属性配置文件中是否包含所述依赖属性;
若所述待执行工作流的属性配置文件中包含所述依赖属性,判定所述待执行工作流包含预配置的依赖属性;
若所述待执行工作流的属性配置文件中不包含所述依赖属性,判定所述待执行工作流不包含预配置的依赖属性。
图8是本发明另一实施例提供的一种工作流依赖管理装置70的示意性框图。如图8所示,本实施例的工作流依赖管理装置70是上述实施例的基础上增加了第三判断单元、发送单元以及第二执行单元。
第三判断单元,用于若所述待执行工作流执行结束,判断所述待执行工作流是否包含预配置的被依赖属性。
发送单元,用于若所述待执行工作流包含被依赖属性,向所述消息集群中发送所述待执行工作流的执行完成消息。
第二执行单元,用于若所述待执行工作流不包含依赖属性,执行所述待执行工作流。
在一实施例中,所述被依赖属性包含所述待执行工作流的名称,所述向所述消息集群中发送所述待执行工作流的执行完成消息,包括:
将所述待执行工作流的名称添加到预设的执行完成消息模板中以得到所述待执行工作流的执行完成消息;
将所述待执行工作流的执行完成消息发送给所述消息集群。
在一实施例中,所述判断所述待执行工作流是否包含预配置的被依赖属性,包括:
获取所述待执行工作流的属性配置文件;
判断所述待执行工作流的属性配置文件中是否包含所述被依赖属性;
若所述待执行工作流的属性配置文件中包含所述被依赖属性,判定所述待执行工作流包含预配置的被依赖属性;
若所述待执行工作流的属性配置文件中不包含所述被依赖属性,判定所述待执行工作流不包含预配置的被依赖属性。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述工作流依赖管理装置70和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述工作流依赖管理装置70可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
该计算机设备500包括通过***总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作***5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行一种工作流依赖管理方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种工作流依赖管理方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,上述结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称;
若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息;
判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息;
若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流。
在一实施例中,处理器502还实现如下步骤:
若所述待执行工作流执行结束,判断所述待执行工作流是否包含预配置的被依赖属性;
若所述待执行工作流包含被依赖属性,向所述消息集群中发送所述待执行工作流的执行完成消息。
在一实施例中,处理器502还实现如下步骤:
若所述待执行工作流不包含依赖属性,执行所述待执行工作流。
在一实施例中,所述在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息,包括:
获取所述待执行工作流的依赖属性包含的工作流的名称;
将所述待执行工作流的依赖属性包含的工作流的名称添加到预设的订阅请求模板中以得到订阅请求;
将所述订阅请求发送给所述消息集群。
在一实施例中,所述被依赖属性包含所述待执行工作流的名称,所述向所述消息集群中发送所述待执行工作流的执行完成消息,包括:
将所述待执行工作流的名称添加到预设的执行完成消息模板中以得到所述待执行工作流的执行完成消息;
将所述待执行工作流的执行完成消息发送给所述消息集群。
在一实施例中,所述判断待执行工作流是否包含预配置的依赖属性,包括:
获取所述待执行工作流的属性配置文件;
判断所述待执行工作流的属性配置文件中是否包含所述依赖属性;
若所述待执行工作流的属性配置文件中包含所述依赖属性,判定所述待执行工作流包含预配置的依赖属性;
若所述待执行工作流的属性配置文件中不包含所述依赖属性,判定所述待执行工作流不包含预配置的依赖属性。
在一实施例中,所述判断所述待执行工作流是否包含预配置的被依赖属性,包括:
获取所述待执行工作流的属性配置文件;
判断所述待执行工作流的属性配置文件中是否包含所述被依赖属性;
若所述待执行工作流的属性配置文件中包含所述被依赖属性,判定所述待执行工作流包含预配置的被依赖属性;
若所述待执行工作流的属性配置文件中不包含所述被依赖属性,判定所述待执行工作流不包含预配置的被依赖属性。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机***中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行如下步骤:
判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称;
若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息;
判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息;
若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
若所述待执行工作流执行结束,判断所述待执行工作流是否包含预配置的被依赖属性;
若所述待执行工作流包含被依赖属性,向所述消息集群中发送所述待执行工作流的执行完成消息。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
若所述待执行工作流不包含依赖属性,执行所述待执行工作流。
在一实施例中,所述在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息,包括:
获取所述待执行工作流的依赖属性包含的工作流的名称;
将所述待执行工作流的依赖属性包含的工作流的名称添加到预设的订阅请求模板中以得到订阅请求;
将所述订阅请求发送给所述消息集群。
在一实施例中,所述被依赖属性包含所述待执行工作流的名称,所述向所述消息集群中发送所述待执行工作流的执行完成消息,包括:
将所述待执行工作流的名称添加到预设的执行完成消息模板中以得到所述待执行工作流的执行完成消息;
将所述待执行工作流的执行完成消息发送给所述消息集群。
在一实施例中,所述判断待执行工作流是否包含预配置的依赖属性,包括:
获取所述待执行工作流的属性配置文件;
判断所述待执行工作流的属性配置文件中是否包含所述依赖属性;
若所述待执行工作流的属性配置文件中包含所述依赖属性,判定所述待执行工作流包含预配置的依赖属性;
若所述待执行工作流的属性配置文件中不包含所述依赖属性,判定所述待执行工作流不包含预配置的依赖属性。
在一实施例中,所述判断所述待执行工作流是否包含预配置的被依赖属性,包括:
获取所述待执行工作流的属性配置文件;
判断所述待执行工作流的属性配置文件中是否包含所述被依赖属性;
若所述待执行工作流的属性配置文件中包含所述被依赖属性,判定所述待执行工作流包含预配置的被依赖属性;
若所述待执行工作流的属性配置文件中不包含所述被依赖属性,判定所述待执行工作流不包含预配置的被依赖属性。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。所述计算机可读存储介质可以是非易失性,也可以是易失性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种工作流依赖管理方法,其特征在于,包括:
判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称;
若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息;
判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息;
若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流。
2.根据权利要求1所述的工作流依赖管理方法,其特征在于,所述方法还包括:
若所述待执行工作流执行结束,判断所述待执行工作流是否包含预配置的被依赖属性;
若所述待执行工作流包含被依赖属性,向所述消息集群中发送所述待执行工作流的执行完成消息。
3.根据权利要求1所述的工作流依赖管理方法,其特征在于,所述方法还包括:
若所述待执行工作流不包含依赖属性,执行所述待执行工作流。
4.根据权利要求1所述的工作流依赖管理方法,其特征在于,所述在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息,包括:
获取所述待执行工作流的依赖属性包含的工作流的名称;
将所述待执行工作流的依赖属性包含的工作流的名称添加到预设的订阅请求模板中以得到订阅请求;
将所述订阅请求发送给所述消息集群。
5.根据权利要求2所述的工作流依赖管理方法,其特征在于,所述被依赖属性包含所述待执行工作流的名称,所述向所述消息集群中发送所述待执行工作流的执行完成消息,包括:
将所述待执行工作流的名称添加到预设的执行完成消息模板中以得到所述待执行工作流的执行完成消息;
将所述待执行工作流的执行完成消息发送给所述消息集群。
6.根据权利要求1所述的工作流依赖管理方法,其特征在于,所述判断待执行工作流是否包含预配置的依赖属性,包括:
获取所述待执行工作流的属性配置文件;
判断所述待执行工作流的属性配置文件中是否包含所述依赖属性;
若所述待执行工作流的属性配置文件中包含所述依赖属性,判定所述待执行工作流包含预配置的依赖属性;
若所述待执行工作流的属性配置文件中不包含所述依赖属性,判定所述待执行工作流不包含预配置的依赖属性。
7.根据权利要求2所述的工作流依赖管理方法,其特征在于,所述判断所述待执行工作流是否包含预配置的被依赖属性,包括:
获取所述待执行工作流的属性配置文件;
判断所述待执行工作流的属性配置文件中是否包含所述被依赖属性;
若所述待执行工作流的属性配置文件中包含所述被依赖属性,判定所述待执行工作流包含预配置的被依赖属性;
若所述待执行工作流的属性配置文件中不包含所述被依赖属性,判定所述待执行工作流不包含预配置的被依赖属性。
8.一种工作流依赖管理装置,其特征在于,包括:
第一判断单元,用于判断待执行工作流是否包含预配置的依赖属性,所述依赖属性包含待执行工作流依赖的工作流的名称;
订阅单元,用于若所述待执行工作流包含依赖属性,在预设的消息集群中订阅所述待执行工作流依赖的工作流的执行完成消息;
第二判断单元,用于判断是否接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息;
第一执行单元,用于若接收到所述消息集群发送的所述待执行工作流依赖的工作流的执行完成消息,执行所述待执行工作流。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011483709.3A CN112596873A (zh) | 2020-12-16 | 2020-12-16 | 工作流依赖管理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011483709.3A CN112596873A (zh) | 2020-12-16 | 2020-12-16 | 工作流依赖管理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112596873A true CN112596873A (zh) | 2021-04-02 |
Family
ID=75196211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011483709.3A Pending CN112596873A (zh) | 2020-12-16 | 2020-12-16 | 工作流依赖管理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112596873A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630588A (zh) * | 2014-11-06 | 2016-06-01 | 卓望数码技术(深圳)有限公司 | 一种分布式作业调度方法和*** |
CN110427252A (zh) * | 2019-06-18 | 2019-11-08 | 平安银行股份有限公司 | 基于任务依赖关系的任务调度方法、装置及存储介质 |
CN111553545A (zh) * | 2020-07-13 | 2020-08-18 | 四川新网银行股份有限公司 | 一种优化批量任务调度依赖的方法 |
-
2020
- 2020-12-16 CN CN202011483709.3A patent/CN112596873A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630588A (zh) * | 2014-11-06 | 2016-06-01 | 卓望数码技术(深圳)有限公司 | 一种分布式作业调度方法和*** |
CN110427252A (zh) * | 2019-06-18 | 2019-11-08 | 平安银行股份有限公司 | 基于任务依赖关系的任务调度方法、装置及存储介质 |
CN111553545A (zh) * | 2020-07-13 | 2020-08-18 | 四川新网银行股份有限公司 | 一种优化批量任务调度依赖的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108462760B (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
CN107896162B (zh) | 监控***的部署方法、装置、计算机设备及存储介质 | |
JP4880376B2 (ja) | 支援装置、プログラム、情報処理システム及び支援方法 | |
CN110162344B (zh) | 一种隔离限流的方法、装置、计算机设备及可读存储介质 | |
US10055393B2 (en) | Distributed version control of orchestration templates | |
CN110427258B (zh) | 基于云平台的资源调度控制方法及装置 | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
WO2019109519A1 (zh) | 业务规则管理方法、装置、设备及计算机可读存储介质 | |
US20180060542A1 (en) | Image obfuscation | |
CN113110963A (zh) | 业务处理方法、业务处理装置、电子设备及可读存储介质 | |
CN113448728B (zh) | 一种云资源调度方法、装置、设备及存储介质 | |
CN110609755A (zh) | 跨区块链节点的消息处理方法及装置、设备、介质 | |
CN115033352A (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
CN108616668B (zh) | 监控拨打任务的方法、电子装置及计算机可读存储介质 | |
CN107347093B (zh) | 用于分布式服务器***的配置方法和装置 | |
US20150095875A1 (en) | Computer-assisted release planning | |
CN113191889A (zh) | 风控配置方法、配置***、电子设备及可读存储介质 | |
US20150156132A1 (en) | Determining Available User Interface Functionality Based on Backend Server Load | |
CN110908644B (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
CN107045452B (zh) | 虚拟机调度方法和装置 | |
US20170149716A1 (en) | Prioritizing delivery of messages in communication systems | |
CN111176987A (zh) | 前端日志统一输出的方法、装置、计算机设备及存储介质 | |
CN112596873A (zh) | 工作流依赖管理方法、装置、计算机设备及存储介质 | |
CN115373822A (zh) | 任务调度方法、任务处理方法、装置、电子设备和介质 | |
CN114675954A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210402 |