CN110968445A - 一种基于流程引擎的节点跳转方法、装置及电子设备 - Google Patents
一种基于流程引擎的节点跳转方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110968445A CN110968445A CN201911109348.3A CN201911109348A CN110968445A CN 110968445 A CN110968445 A CN 110968445A CN 201911109348 A CN201911109348 A CN 201911109348A CN 110968445 A CN110968445 A CN 110968445A
- Authority
- CN
- China
- Prior art keywords
- node
- abnormal
- execution flow
- flow
- execution
- 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 180
- 230000008569 process Effects 0.000 title claims abstract description 139
- 230000002159 abnormal effect Effects 0.000 claims abstract description 172
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 15
- 230000009191 jumping Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 13
- 238000011156 evaluation Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种基于流程引擎的节点跳转方法、装置及电子设备,该方法包括:监测当前运行流程实例中是否存在异常节点;在监测到当前运行流程实例中存在异常节点时,从所述异常节点开始,遍历所述当前运行流程实例中的各个执行流,得到所述各个执行流中存在的待办任务;删除所述各个执行流中存在的待办任务;将所述异常节点跳转至所述目标节点,所述目标节点为异常节点的上级节点。可见,通过本发明实施例提供的技术方案,在当前运行流程实例的节点出现异常时,可以将异常节点跳转到上级节点,并通过删除各个执行流中存在的待办任务,可以实现将异常节点完全跳转至目标节点,防止跳转不完全的问题出现,从而使得当前运行流程实例能够正常运行。
Description
技术领域
本申请涉及计算机工作流程设计技术领域,特别是涉及一种基于流程引擎的节点跳转方法、装置及电子设备。
背景技术
流程引擎现已广泛应用于各种需要支持复杂业务流程的软件系统。流程引擎通过流程组件支撑业务流程驱动功能,能够自动驱动工作流程按照定义好的业务流程规则进行流转,通过流程引擎中运行时节点的状态反应各项任务的处理结果,以把控整个业务流程处理事项的整体进度和质量。
流程引擎在运行的过程中,如果多个处于不同分支的节点的任务处理结果出现异常,需要将这些任务处理结果出现异常的节点退回至上级节点,以使得业务流程从上级节点重新开始运行。相关技术中,无法将多个任务处理结果出现异常的节点自动跳转至上级节点,因此,需要提出一种方法,该方法可以将多个任务处理结果出现异常的节点跳转至上级节点。
发明内容
为解决上述技术问题,本发明示出了一种基于流程引擎的节点跳转方法、装置及电子设备。
第一方面,本发明实施例提供了一种基于流程引擎的节点跳转方法,所述方法包括:
监测当前运行流程实例中是否存在异常节点,所述当前运行流程实例为流程引擎当前正在运行的流程实例,所述异常节点为任务处理结果存在异常的节点,且所述异常节点为位于所述当前运行流程实例不同分支的多个节点;
在监测到当前运行流程实例中存在异常节点时,从所述异常节点开始,遍历所述当前运行流程实例中的各个执行流,得到所述各个执行流中存在的待办任务;
删除所述各个执行流中存在的待办任务;
将所述异常节点跳转至目标节点,所述目标节点为所述异常节点的上级节点。
可选的,所述从异常节点开始,遍历所述当前运行流程实例中的各个执行流,得到所述各个执行流中存在待办任务的任务节点,包括:
获取当前运行流程实例的目标流程实例标识;
通过所述目标流程实例标识,获取所述异常节点所在的执行流,作为当前执行流;
获取所述当前执行流的下一级执行流,得到更新后的当前执行流;
通过递归循环的方式,再次更新所述更新后的当前执行流,直至所述更新后的当前执行流的下一级执行流为空;
获取各个当前执行流中存在的待办任务。
可选的,所述将所述异常节点跳转至目标节点,包括:
获取目标节点标识;
将所述异常节点所在的执行流对应的节点调整为:具有所述目标节点标识的目标节点。
可选的,在所述将所述异常节点跳转至所述目标节点之后,所述方法还包括:
触发所述目标节点对应的执行流,并正常运行所述当前运行流程实例。
第二方面,本发明实施例提供了一种基于流程引擎的节点跳转装置,其特征在于,所述装置包括:
监测模块,用于监测当前运行流程实例中是否存在异常节点,所述当前运行流程实例为流程引擎当前正在运行的流程实例,所述异常节点为任务处理结果存在异常的节点,且所述异常节点为位于所述当前运行流程实例不同分支的多个节点;
遍历模块,用于在监测到当前运行流程实例中存在异常节点时,从所述异常节点开始,遍历所述当前运行流程实例中的各个执行流,得到所述各个执行流中存在的待办任务;
第一删除模块,用于删除所述各个执行流中存在的待办任务;
跳转模块,用于将所述异常节点跳转至目标节点,所述目标节点为所述异常节点的上级节点。
可选的,所述遍历模块,具体用于:
获取当前运行流程实例的目标流程实例标识;
通过所述目标流程实例标识,获取所述异常节点所在的执行流,作为当前执行流;
获取所述当前执行流的下一级执行流,得到更新后的当前执行流;
通过递归循环的方式,再次更新所述更新后的当前执行流,直至所述更新后的当前执行流的下一级执行流为空;
获取各个当前执行流中存在的待办任务。
可选的,所述跳转模块,具体用于:
获取目标节点标识;
将所述异常节点所在的执行流对应的节点调整为:具有所述目标节点标识的目标节点。
可选的,所述装置还包括:
触发模块,用于在所述将所述异常节点跳转至所述目标节点之后,触发所述目标节点对应的执行流,并正常运行所述当前运行流程实例。
可选的,所述删除模块,具体用于:
按照由下级执行流到上级执行流的顺序,依次删除所述各个执行流中存在的待办任务。
可选的,所述目标节点为:与所述异常节点相邻的上级节点,或者,与所述异常节点不相邻的上级节点。
可选的,所述触发模块,具体用于:
当所述当前运行流程实例运行到预定节点时,将所述预定节点所在的执行流对应的节点调整为:所述预定节点,其中,所述预定节点的节点标识为:节点跳转前的所述异常节点的节点标识。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的基于流程引擎的节点跳转方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的基于流程引擎的节点跳转方法的步骤。
本发明实施例提供的技术方案,监测当前运行流程实例中是否存在异常节点;在监测到当前运行流程实例中存在异常节点时,从异常节点开始,遍历当前运行流程实例中的各个执行流,得到各个执行流中存在的待办任务;删除各个执行流中存在的待办任务;将异常节点跳转至目标节点,目标节点为异常节点的上级节点。可见,通过本发明实施例提供的技术方案,在当前运行流程实例的节点出现异常时,可以将多个异常节点跳转到上级节点,并且,通过删除各个执行流中存在的待办任务,可以实现将多个异常节点完全跳转至目标节点,防止跳转不完全的问题出现,从而使得当前运行流程实例能够正常运行。
附图说明
图1是本发明实施例提供的一种基于流程引擎的节点跳转方法的步骤流程图;
图2是图1中S120的具体实施方式的步骤流程图;
图3是本发明实施例提供的另一种基于流程引擎的节点跳转方法的步骤流程图;
图4是本发明实施例提供的一种基于流程引擎的节点跳转的具体事例的示意图;
图5是本发明实施例提供的另一种基于流程引擎的节点跳转的具体事例的示意图;
图6是本发明实施例提供的一种基于流程引擎的节点跳转装置的结构框图;
图7是本发明实施例提供的一种电子设备的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
为了方案描述清楚,首先对本发明实施例涉及到的概念,以及各个概念之间的关系进行详细阐述。
流程实例:一个业务流程启动后,对应一个流程实例,流程引擎当前正在运行的流程实例为当前运行流程实例。
执行流:一个流程实例最外层对应一个主流程的执行流,该执行流可以称为一级执行流。一个流程实例的每个分支对应一个执行流,且每个多实例任务本身会有多个执行流。
其中,每个分支对应的一个分支执行流,以及每个多实例任务对应的多个分支执行流,依次可以称为二级执行流、三级执行流、四级执行流等。并且,每个执行流上通常有一个节点,但是,一个流程实例最外层对应的主流程的执行流可以没有节点,例如,通过开始操作来启动主流程的执行流时,主执行流上没有节点。
节点可以分为:单实例任务节点以及多实例任务节点。单实例任务节点对应单实例任务,多实例任务节点对应多实例任务。
单实例任务:每一个单实例任务属于一个分支执行流。
多实例任务:多实例任务整体会属于某个执行流,但是,多实例任务内部的每个实例任务又会拆分成多个分支执行流。
在介绍完本发明实施例所涉及的概念之后,下面将对本发明实施例提供的一种基于流程引擎的节点跳转方法、装置及电子设备进行详细描述。
参照图1,示出了本发明实施例所提供的一种基于流程引擎的节点跳转方法,该基于流程引擎的节点跳转方法,可以包括如下步骤:
S110,监测当前运行流程实例中是否存在异常节点,在监测到当前运行流程实例中存在异常节点时,执行步骤S120;否则结束。
其中,当前运行流程实例为流程引擎当前正在运行的流程实例,异常节点为任务处理结果存在异常的节点,且异常节点为位于当前运行流程实例不同分支的多个节点。
电子设备可以实时监控当前运行流程实例中是否存在异常节点,该异常节点为任务处理结果存在异常的节点。当监测到当前运行流程实例中存在异常节点时,即监测到当前运行流程实例中存在需要将异常节点跳转到目标节点的情况,此时,执行步骤S120。
可以理解的是,在实际应用中,异常节点可以是两个,还可以是多个,本发明实施例对异常节点的数量不做具体限定。
S120,从异常节点开始,遍历当前运行流程实例中的各个执行流,得到各个执行流中存在的待办任务。
为了使得异常节点停止处理任务,即停止输出任务处理结果,电子设备在监测到当前运行流程实例中存在异常节点跳转时,从异常节点开始,遍历当前运行流程实例中的各个执行流,得到各个执行流中存在的待办任务。
其中,异常节点可以为单实例任务节点,也可以是多实例任务节点。在异常节点为单实例任务节点时,遍历执行流所得到的待办任务为:异常节点所在的执行流中存在的待办任务。在异常节点为多实例任务节点时,遍历执行流所得到的待办任务可以包括:多实例任务节点内部的多个分支执行流中,存在的多个待办任务。例如,该多个待办任务可以包括:领导1审批,领导2审批,领导3审批等等。
在一种实施方式中,从异常节点开始,遍历当前运行流程实例中的各个执行流,得到各个执行流中存在待办任务的任务节点,可以包括如下步骤,如图2所示,分别为S121-S125:
S121,获取当前运行流程实例的目标流程实例标识。
其中,每个流程实例对应一个流程实例标识,因此,根据流程实例与流程实例标识的对应关系,电子设备可以获取到当前运行流程实例对应的目标流程实例标识。
S122,通过目标流程实例标识,获取异常节点所在的执行流,作为当前执行流。
在得到目标流程实例标识,可以得到当前运行流程实例包括的各个节点的节点标识,当前运行流程实例包括的执行流,以及当前运行流程实例包括的流程变量等信息。因此,可以获取到异常节点所在的执行流,并将异常节点所在的执行流作为当前执行流。
S123,获取当前执行流的下一级执行流,得到更新后的当前执行流。
S124,通过递归循环的方式,再次更新上述更新后的当前执行流,直至当前执行流的下一级执行流为空。
通过步骤S123和步骤S124,实现了遍历从异常节点起的各个执行流。
S125,获取各个执行流中存在的待办任务。
S130,删除各个执行流中存在的待办任务。
在获取到各个执行流中存在的待办任务后,为了使得异常节点停止处理任务,将各个执行流中存在的待办任务删除。
为了确保数据安全,在一种实施方式中,删除各个执行流中存在的待办任务,可以包括:
按照由下级执行流到上级执行流的顺序,依次删除各个执行流中存在的待办任务。
在该实施方式中,为了数据安全,可以先删除各个执行流中,下级执行流中存在的待办任务,再删除上级执行流中存在的待办任务。
S140,将异常节点跳转至目标节点。
其中,目标节点可以为异常节点的上级节点,且目标节点可以是与异常节点相邻的上级节点,也可以是与异常节点不相邻的上级节点。这样,可以实现将异常节点自由地跳转到异常节点的任意上一节点的目的。
可以理解的是,当前运行流程实例中,按照执行流的先后顺序,可以对节点进行分级,根节点可以为一级节点,依次地,可以有二级节点,三级节点,四级节点等。一级节点可以是二级节点、三级节点以及四级节点的上级节点;二级节点可以是三级节点和四级节点的上级节点;三级节点可以是四级节点的上级节点。
在一种实施方式中,将异常节点跳转至目标节点,可以包括如下两个步骤,分别为步骤a1和步骤a2:
步骤a1,获取目标节点标识;
步骤a2,将异常节点所在的执行流对应的节点调整为:具有目标节点标识的目标节点。
具体的,当前运行流程实例运行到异常节点时,异常节点会自动指向目标节点,从而可以达到异常节点跳转至目标节点的目的。
本发明实施例提供的技术方案,监测当前运行流程实例中是否存在异常节点;在监测到当前运行流程实例中存在异常节点时,从异常节点开始,遍历当前运行流程实例中的各个执行流,得到各个执行流中存在的待办任务;删除各个执行流中存在的待办任务;将异常节点跳转至目标节点,目标节点为异常节点的上级节点。可见,通过本发明实施例提供的技术方案,在当前运行流程实例的节点出现异常时,可以将多个异常节点跳转到上级节点,并且,通过删除各个执行流中存在的待办任务,可以实现将多个异常节点完全跳转至目标节点,防止跳转不完全的问题出现,从而使得当前运行流程实例能够正常运行。
如图3所示,本发明实施例还提供了一种基于流程引擎的节点跳转方法,包括:
S310,监测当前运行流程实例中是否存在异常节点,当前运行流程实例为流程引擎当前正在运行的流程实例,异常节点为任务处理结果存在异常的节点。
S320,在监测到当前运行流程实例中存在异常节点时,从异常节点开始,遍历当前运行流程实例中的各个执行流,得到各个执行流中存在待办任务的任务节点。
S330,删除各个执行流中存在的待办任务。
S340,将异常节点跳转至目标节点,其中,目标节点为异常节点的上级节点。
在一种实施方式中,将异常节点跳转至目标节点,可以包括:
获取目标节点标识;
将所述异常节点所在的执行流对应的节点调整为:具有所述目标节点标识的目标节点。
由于步骤S310至步骤S340,与步骤S110至S140相同,由于在图1中已经对步骤S110至S140进行了详细阐述,在此,不再对步骤S310至步骤S340进行详细阐述。
S350,触发目标节点对应的执行流,并正常运行当前运行流程实例。
为了使得将异常节点跳转至目标节点后,当前运行流程实例能够正常运行,也就是说,当前运行流程实例重新从目标节点开始运行,电子设备可以触发目标节点对应的执行流,并正常运行当前运行流程实例。
具体的,从目标节点所在的执行流开始运行,且每个节点所在的执行流对应的节点为该节点本身。
在一种实施方式中,正常运行当前运行流程实例,可以包括:
当前运行流程实例运行到预定节点时,将预定节点所在的执行流对应的节点调整为:预定节点,其中,预定节点的节点标识为:节点跳转前的异常节点的节点标识。
在该实施方式中,当前运行流程实例运行到:节点跳转前,任务处理结果存在异常的节点时,该节点所在的执行流对应的节点为该节点本身,而不是目标节点,从而实现了当前运行流程实例的正常运行。
本发明实施例提供的技术方案,监测当前运行流程实例中是否存在异常节点;在监测到当前运行流程实例中存在异常节点时,从异常节点开始,遍历当前运行流程实例中的各个执行流,得到各个执行流中存在的待办任务;删除各个执行流中存在的待办任务;将异常节点跳转至目标节点,目标节点为异常节点的上级节点。可见,通过本发明实施例提供的技术方案,在当前运行流程实例的节点出现异常时,可以将多个异常节点跳转到上级节点,并且,通过删除各个执行流中存在的待办任务,可以实现将多个异常节点完全跳转至目标节点,防止跳转不完全的问题出现,从而使得当前运行流程实例能够正常运行。
为了方案描述清楚,下面将结合具体实例对本发明实施例进行详细阐述,如图4所示。
由图4可知,当前运行流程实例中,包括5个节点,分别为单实例任务1节点,单实例任务2节点,单实例任务3节点,单实例任务4节点,以及多实例任务1节点。
单实例任务1节点对应一个执行流,为一级执行流。
单实例任务2节点对应一个执行流,多实例任务1节点整体对应一个执行流,且多实例任务1节点内部有多个子执行流。单实例任务2节点对应的执行流,以及多实例任务1节点整体对应的执行流属于二级执行流。
具体的,当前运行流程实例运行至单实例任务2节点时,单实例任务2节点会处理任务,此时,单实例任务2节点会对应一个二级执行流。当单实例任务2节点处理完任务时,单实例任务2节点对应的二级执行流会被删除。同样的,当前运行流程实例运行至多实例任务1节点时,多实例任务1节点会处理任务,此时,多实例任务1节点整体对应一个二级执行流。当多实例任务1节点处理完任务时,多实例任务1节点对应的二级执行流会被删除。
单实例任务3节点对应一个执行流,单实例任务4对应一个执行流。当前运行流程实例运行至单实例任务3节点时,单实例任务3节点会处理任务,单实例任务3节点对应的执行流为更新后的二级执行流。当前运行流程实例运行至单实例任务4节点时,单实例任务4节点会处理任务,单实例任务4节点对应的执行流也为更新后的二级执行流。而多实例任务1内部的多个子执行流均属于三级执行流。
假设单实例任务2节点和多实例任务1节点均为异常节点,需要将单实例任务2以及多实例任务1跳转至单实例任务1节点。也就是说,目标节点为单实例任务节点1,具体的过程可以分为如下步骤:
1、通过当前运行流程实例的目标流程实例标识,获取单实例任务2节点对应的执行流,以及多实例任务1对应的执行流,这两个执行流属于二级执行流。
2、开始做递归循环。遍历下级执行流,即获取二级执行流对应的下级执行流。由于当前运行流程实例还未运行至单实例任务3和单实例任务4这两个节点,所以单实例任务2对应的执行流不存在下一级执行流。因此,当前只需要遍历多实例任务1的每一个内部实例任务对应的执行流。
3、删除上述下级执行流中的待办任务,以及二级执行流中的待办任务。
4、在递归循环跳出之后,获取到单实例任务1节点的节点标识。
5、将单实例任务2节点所在的执行流对应的节点调整为单实例任务1节点;将多实例任务1节点所在的执行流对应的节点调整为单实例任务1节点。这样,当前运行流程实例跳转至单实例任务1节点。
6、将单实例任务2节点以及多实例任务1节点,跳转到单实例任务1节点之后,触发单实例任务1节点对应的执行流,即触发当前运行流程实例从单实例任务1节点开始正常运行。
进一步地,为了方案描述清楚,下面举排期工单的一个具体业务场景来进行说明,如图5所示。
在实际应用中,当创建了排期工单后,分配评估排期角色会同时开启开发评估、测试评估、运维评估及待排优先级任务。
若某几个评估完成之后发现评估情况有误,评估材料需要重做,并重新发起评估时,需要将整个流程全部归与起始处的“分配评估排期角色”任务处。
此时,通过调用本发明实施例提供的技术本案,便可使整个流程全部归与起始处的“分配评估排期角色”任务处。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本申请所必须的。
参照图6,示出了本申请的一种基于流程引擎的节点跳转装置的结构框图,该装置具体可以包括如下模块:
监测模块610,用于监测当前运行流程实例中是否存在异常节点,所述当前运行流程实例为流程引擎当前正在运行的流程实例,所述异常节点为任务处理结果存在异常的节点,且所述异常节点为位于所述当前运行流程实例不同分支的多个节点;
遍历模块620,用于在监测到当前运行流程实例中存在异常节点时,从所述异常节点开始,遍历所述当前运行流程实例中的各个执行流,得到所述各个执行流中存在的待办任务;
第一删除模块630,用于删除所述各个执行流中存在的待办任务;
跳转模块640,用于将所述异常节点跳转至目标节点,所述目标节点为所述异常节点的上级节点。
本发明实施例提供的技术方案,监测当前运行流程实例中是否存在异常节点;在监测到当前运行流程实例中存在异常节点时,从异常节点开始,遍历当前运行流程实例中的各个执行流,得到各个执行流中存在的待办任务;删除各个执行流中存在的待办任务;将异常节点跳转至目标节点,目标节点为异常节点的上级节点。可见,通过本发明实施例提供的技术方案,在当前运行流程实例的节点出现异常时,可以将多个异常节点跳转到上级节点,并且,通过删除各个执行流中存在的待办任务,可以实现将多个异常节点完全跳转至目标节点,防止跳转不完全的问题出现,从而使得当前运行流程实例能够正常运行。
可选的,所述遍历模块,具体用于:
获取当前运行流程实例的目标流程实例标识;
通过所述目标流程实例标识,获取所述异常节点所在的执行流,作为当前执行流;
获取所述当前执行流的下一级执行流,得到更新后的当前执行流;
通过递归循环的方式,再次更新所述更新后的当前执行流,直至所述更新后的当前执行流的下一级执行流为空;
获取各个当前执行流中存在的待办任务。
可选的,所述跳转模块,具体用于:
获取目标节点标识;
将所述异常节点所在的执行流对应的节点调整为:具有所述目标节点标识的目标节点。
可选的,所述装置还包括:
触发模块,用于在所述将所述异常节点跳转至所述目标节点之后,触发所述目标节点对应的执行流,并正常运行所述当前运行流程实例。
可选的,所述删除模块,具体用于:
按照由下级执行流到上级执行流的顺序,依次删除所述各个执行流中存在的待办任务。
可选的,所述目标节点为:与所述异常节点相邻的上级节点,或者,与所述异常节点不相邻的上级节点。
可选的,所述触发模块,具体用于:
当所述当前运行流程实例运行到预定节点时,将所述预定节点所在的执行流对应的节点调整为:所述预定节点,其中,所述预定节点的节点标识为:节点跳转前的所述异常节点的节点标识。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
第三方面,本发明实施例提供了一种电子设备,如图7所示,包括存储器710、处理器720及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的基于流程引擎的节点跳转方法的步骤。j
本发明实施例提供的技术方案,监测当前运行流程实例中是否存在异常节点;在监测到当前运行流程实例中存在异常节点时,从异常节点开始,遍历当前运行流程实例中的各个执行流,得到各个执行流中存在的待办任务;删除各个执行流中存在的待办任务;将异常节点跳转至目标节点,目标节点为异常节点的上级节点。可见,通过本发明实施例提供的技术方案,在当前运行流程实例的节点出现异常时,可以将多个异常节点跳转到上级节点,并且,通过删除各个执行流中存在的待办任务,可以实现将多个异常节点完全跳转至目标节点,防止跳转不完全的问题出现,从而使得当前运行流程实例能够正常运行。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的基于流程引擎的节点跳转方法的步骤。
本发明实施例提供的技术方案,监测当前运行流程实例中是否存在异常节点;在监测到当前运行流程实例中存在异常节点时,从异常节点开始,遍历当前运行流程实例中的各个执行流,得到各个执行流中存在的待办任务;删除各个执行流中存在的待办任务;将异常节点跳转至目标节点,目标节点为异常节点的上级节点。可见,通过本发明实施例提供的技术方案,在当前运行流程实例的节点出现异常时,可以将多个异常节点跳转到上级节点,并且,通过删除各个执行流中存在的待办任务,可以实现将多个异常节点完全跳转至目标节点,防止跳转不完全的问题出现,从而使得当前运行流程实例能够正常运行。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于流程引擎的节点跳转方法和一种基于流程引擎的节点跳转装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于流程引擎的节点跳转方法,其特征在于,所述方法包括:
监测当前运行流程实例中是否存在异常节点,所述当前运行流程实例为流程引擎当前正在运行的流程实例,所述异常节点为任务处理结果存在异常的节点,且所述异常节点为位于所述当前运行流程实例不同分支的多个节点;
在监测到当前运行流程实例中存在异常节点时,从所述异常节点开始,遍历所述当前运行流程实例中的各个执行流,得到所述各个执行流中存在的待办任务;
删除所述各个执行流中存在的待办任务;
将所述异常节点跳转至目标节点,所述目标节点为所述异常节点的上级节点。
2.根据权利要求1所述的方法,其特征在于,所述从异常节点开始,遍历所述当前运行流程实例中的各个执行流,得到所述各个执行流中存在待办任务的任务节点,包括:
获取当前运行流程实例的目标流程实例标识;
通过所述目标流程实例标识,获取所述异常节点所在的执行流,作为当前执行流;
获取所述当前执行流的下一级执行流,得到更新后的当前执行流;
通过递归循环的方式,再次更新所述更新后的当前执行流,直至所述更新后的当前执行流的下一级执行流为空;
获取各个当前执行流中存在的待办任务。
3.根据权利要求1所述的方法,其特征在于,所述将所述异常节点跳转至目标节点,包括:
获取目标节点标识;
将所述异常节点所在的执行流对应的节点调整为:具有所述目标节点标识的目标节点。
4.根据权利要求3所述的方法,其特征在于,在所述将所述异常节点跳转至所述目标节点之后,所述方法还包括:
触发所述目标节点对应的执行流,并正常运行所述当前运行流程实例。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述删除所述各个执行流中存在的待办任务,包括:
按照由下级执行流到上级执行流的顺序,依次删除所述各个执行流中存在的待办任务。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述目标节点为:与所述异常节点相邻的上级节点,或者,与所述异常节点不相邻的上级节点。
7.根据权利要求4所述的方法,其特征在于,所述正常运行所述当前运行流程实例,包括:
当所述当前运行流程实例运行到预定节点时,将所述预定节点所在的执行流对应的节点调整为:所述预定节点,其中,所述预定节点的节点标识为:节点跳转前的所述异常节点的节点标识。
8.一种基于流程引擎的节点跳转装置,其特征在于,所述装置包括:
监测模块,用于监测当前运行流程实例中是否存在异常节点,所述当前运行流程实例为流程引擎当前正在运行的流程实例,所述异常节点为任务处理结果存在异常的节点,且所述异常节点为位于所述当前运行流程实例不同分支的多个节点;
遍历模块,用于在监测到当前运行流程实例中存在异常节点时,从所述异常节点开始,遍历所述当前运行流程实例中的各个执行流,得到所述各个执行流中存在的待办任务;
删除模块,用于删除所述各个执行流中存在的待办任务;
跳转模块,用于将所述异常节点跳转至目标节点,所述目标节点为所述异常节点的上级节点。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的基于流程引擎的节点跳转方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于流程引擎的节点跳转方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911109348.3A CN110968445A (zh) | 2019-11-13 | 2019-11-13 | 一种基于流程引擎的节点跳转方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911109348.3A CN110968445A (zh) | 2019-11-13 | 2019-11-13 | 一种基于流程引擎的节点跳转方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110968445A true CN110968445A (zh) | 2020-04-07 |
Family
ID=70030590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911109348.3A Pending CN110968445A (zh) | 2019-11-13 | 2019-11-13 | 一种基于流程引擎的节点跳转方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968445A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112488649A (zh) * | 2020-11-26 | 2021-03-12 | 泰康保险集团股份有限公司 | 基于流程引擎的流程关闭方法和装置 |
CN112862456A (zh) * | 2021-03-02 | 2021-05-28 | 岭东核电有限公司 | 核电试验执行方法、装置、计算机设备和存储介质 |
CN113467919A (zh) * | 2021-07-19 | 2021-10-01 | 中国银行股份有限公司 | 基于区块链的流程管理方法、系统和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010622B1 (en) * | 2001-06-08 | 2006-03-07 | Emc Corporation | Scalable communication within a distributed system using dynamic communication trees |
CN101986272A (zh) * | 2010-11-05 | 2011-03-16 | 北京大学 | 一种云计算环境下的任务调度方法 |
CN102929709A (zh) * | 2011-08-08 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 任务流异常的处理方法及装置 |
CN103593236A (zh) * | 2013-11-14 | 2014-02-19 | 华为技术有限公司 | 一种业务流程调度的计算机设备、方法和装置 |
CN108631899A (zh) * | 2018-05-16 | 2018-10-09 | 常州海德克智能科技有限公司 | 基于时间触发以太网络中的数据包转发与容错方法及装置 |
CN109684057A (zh) * | 2018-12-11 | 2019-04-26 | 咪咕文化科技有限公司 | 任务处理方法、装置和存储介质 |
CN109981782A (zh) * | 2019-03-28 | 2019-07-05 | 山东浪潮云信息技术有限公司 | 用于集群脑裂的远端存储异常处理方法及系统 |
-
2019
- 2019-11-13 CN CN201911109348.3A patent/CN110968445A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010622B1 (en) * | 2001-06-08 | 2006-03-07 | Emc Corporation | Scalable communication within a distributed system using dynamic communication trees |
CN101986272A (zh) * | 2010-11-05 | 2011-03-16 | 北京大学 | 一种云计算环境下的任务调度方法 |
CN102929709A (zh) * | 2011-08-08 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 任务流异常的处理方法及装置 |
CN103593236A (zh) * | 2013-11-14 | 2014-02-19 | 华为技术有限公司 | 一种业务流程调度的计算机设备、方法和装置 |
CN108631899A (zh) * | 2018-05-16 | 2018-10-09 | 常州海德克智能科技有限公司 | 基于时间触发以太网络中的数据包转发与容错方法及装置 |
CN109684057A (zh) * | 2018-12-11 | 2019-04-26 | 咪咕文化科技有限公司 | 任务处理方法、装置和存储介质 |
CN109981782A (zh) * | 2019-03-28 | 2019-07-05 | 山东浪潮云信息技术有限公司 | 用于集群脑裂的远端存储异常处理方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112488649A (zh) * | 2020-11-26 | 2021-03-12 | 泰康保险集团股份有限公司 | 基于流程引擎的流程关闭方法和装置 |
CN112488649B (zh) * | 2020-11-26 | 2023-05-26 | 泰康保险集团股份有限公司 | 基于流程引擎的流程关闭方法和装置 |
CN112862456A (zh) * | 2021-03-02 | 2021-05-28 | 岭东核电有限公司 | 核电试验执行方法、装置、计算机设备和存储介质 |
CN113467919A (zh) * | 2021-07-19 | 2021-10-01 | 中国银行股份有限公司 | 基于区块链的流程管理方法、系统和存储介质 |
CN113467919B (zh) * | 2021-07-19 | 2024-02-02 | 中国银行股份有限公司 | 基于区块链的流程管理方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8893118B2 (en) | Migratable unit based application migration | |
CN110968445A (zh) | 一种基于流程引擎的节点跳转方法、装置及电子设备 | |
CN106874084B (zh) | 一种分布式工作流调度的方法、装置及计算机设备 | |
JP5609656B2 (ja) | 設定プログラム、ワークフロー作成方法およびワークフロー作成装置 | |
EP3798930A2 (en) | Machine learning training resource management | |
US20080270212A1 (en) | Method, apparatus or software for managing a data processing process | |
JP6922532B2 (ja) | テスト実行制御プログラム、テスト実行制御方法、およびテスト実行制御装置 | |
CN112114894B (zh) | 基于Activiti流程引擎的流程处理方法、装置及电子设备 | |
CN111258580A (zh) | 任务流程处理方法及装置、电子设备、存储介质 | |
CN110275992B (zh) | 应急处理方法、装置、服务器及计算机可读存储介质 | |
CN111324333A (zh) | 一种基于组件化的软件开发方法及装置 | |
CN113672353B (zh) | 一种基于容器的任务执行方法及装置 | |
CN112748993A (zh) | 任务执行方法、装置、存储介质及电子设备 | |
CN114968272A (zh) | 一种算法运行方法、装置、设备、存储介质 | |
CN110991983B (zh) | 一种任务处理方法、装置、介质和设备 | |
CN110968408B (zh) | 一种执行流移除方法、装置、电子设备及存储介质 | |
CN112580816A (zh) | 机器学习训练资源管理 | |
US20140310069A1 (en) | Coordinated business rules management and mixed integer programming | |
CN113342499B (zh) | 分布式任务调用方法、装置、设备、存储介质、程序产品 | |
CN114201284A (zh) | 定时任务管理方法及系统 | |
CN113434360A (zh) | 一种作业运行监控的方法及系统 | |
CN110011832B (zh) | 一种计划任务的配置下发方法及装置 | |
CN111382983B (zh) | 工作流控制方法、工作流节点和系统 | |
CN112905322A (zh) | 资源加锁的方法、计算设备及计算机存储介质 | |
CN116578380B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200407 |