CN113687882A - 基于activiti的流程回退方法、装置和存储介质 - Google Patents
基于activiti的流程回退方法、装置和存储介质 Download PDFInfo
- Publication number
- CN113687882A CN113687882A CN202110973535.7A CN202110973535A CN113687882A CN 113687882 A CN113687882 A CN 113687882A CN 202110973535 A CN202110973535 A CN 202110973535A CN 113687882 A CN113687882 A CN 113687882A
- Authority
- CN
- China
- Prior art keywords
- current node
- process instance
- instance
- task
- sub
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 178
- 230000000694 effects Effects 0.000 title claims abstract description 37
- 230000009191 jumping Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
-
- 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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
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
本发明公开了一种基于activiti的流程回退方法、装置和存储介质。一种基于activiti的流程回退方法包括:获取activiti工作流中需要进行任务跳转的当前节点;根据当前节点调用对应的子流程实例;获取子流程实例对应的根流程实例;删除当前节点的任务信息以及与当前节点对应的各流程实例及其他附加信息;在根流程实例上添加目标节点并在目标节点上建立目标任务信息。本发明公开了的基于activiti的流程回退方法、装置和存储介质,无需在节点间通过连线连接实现回退,具有灵活性,且可实现调用子流程到父流程的回退。
Description
技术领域
本发明实施例涉及信息处理技术,尤其涉及一种基于activiti的流程回退方法、装置和存储介质。
背景技术
Activiti是一个业务流程管理(Business Process Management,BPM)平台,适用于开发人员和***管理员。它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。
在应用activiti时,经常需要进行流程之间的跳转,跳转包括从子流程到父流程的回退。但目前activiti引擎技术框架只支持在子流程或父流程内部通过特定两个节点连接的方式实现流程回退,流程回退机制不够灵活。
发明内容
本发明提供一种基于activiti的流程回退方法、装置和存储介质,能够实现子流程实例节点到父流程实例节点的回退。
第一方面,本发明实施例提供了一种基于activiti的流程回退方法,包括:
获取activiti工作流中需要进行任务跳转的当前节点;
根据当前节点调用对应的子流程实例;
获取子流程实例对应的根流程实例;
删除当前节点的任务信息以及与当前节点对应的各流程实例及其他附加信息;
在根流程实例上添加目标节点并在目标节点上建立目标任务信息
第二方面,本发明实施例还提供了一种基于activiti的流程回退装置,包括:
节点获取模块,用于获取activiti工作流中需要进行任务跳转的当前节点;
流程实例调用模块,用于根据当前节点调用对应的子流程实例;获取子流程实例对应的根流程实例;
信息删除模块,用于删除当前节点的任务信息以及与当前节点对应的各流程实例及其他附加信息;
任务建立模块,用于在根流程实例上添加目标节点并在目标节点上建立目标任务信息。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如第一方面的基于activiti的流程回退方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面的基于activiti的流程回退方法。
本发明实施例提供的基于activiti的流程回退方法、装置和存储介质,首先获取activiti工作流中需要进行任务跳转的当前节点;然后根据当前节点调用对应的子流程实例,并获取子流程实例对应的根流程实例,接着删除当前节点的任务信息以及与当前节点对应的各流程实例及其他附加信息最后在根流程实例上添加目标节点并在目标节点上建立目标任务信息,无需在节点间通过连线连接实现回退,具有灵活性,且可实现调用子流程到父流程的回退
附图说明
图1为本发明实施例提供的一种基于activiti的流程回退方法的流程图;
图2为本发明实施例提供的另一种基于activiti的流程回退方法的流程图;
图3为本发明实施例提供的一种基于activiti的流程回退装置的结构示意图;
图4为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的一种基于activiti的流程回退方法的流程图,如图1所示,本实施例提供的基于activiti的流程回退方法包括:
步骤S110,获取activiti工作流中需要进行任务跳转的当前节点。
本实施例提供的基于activiti的流程回退方法应用于基于activiti的流程管理平台。基于activiti引擎技术框架,只能在子流程或父流程内部通过特定两个节点建立连接的方式才能实现回退,灵活性不高。为了解决该问题,在本实施例中,根据需要进行任务跳转的当前节点对应的子流程实例,查找到对应的根流程实例,然后删除当前节点的任务信息和各流程实例,并在根流程实例上添加目标节点并建立目标任务信息,从而实现了从当前节点到目标节点的流程回退,无需再节点之间建立连线即可实现流程回退。在本实施例中,先获取activiti工作流中需要进行任务跳转的当前节点。
步骤S120,根据当前节点调用对应的子流程实例。
在获取到需要进行任务跳转的当前节点后,根据当前节点调用对应的子流程实例。具体地,可以根据当前节点中需要进行任务跳转的任务标识调用对应的子流程实例。
步骤S130,获取子流程实例对应的根流程实例。
在获取到当前节点调用对应的子流程实例后,可以根据子流程实例与其父流程实例的对应关系、其父流程实例与根流程实例的对应关系,获取该子流程实例对应的根流程实例。其中,根流程实例、父流程实例、子流程实例是树形结构。在获取子流程实例对应的根流程实例的过程中,可以首先获取子流程实例对应的父流程实例;然后获取该父流程实例对应的根流程实例。
步骤S140,删除当前节点的任务信息以及与当前节点对应的各流程实例及其他附加信息。
在确定了需要进行任务跳转的当前节点以及对应的各流程实例后,首先删除当前节点的任务信息以及与当前节点对应的各流程实例及其他附加信息。此时将需要进行任务跳转的当前节点的所有相关信息均进行了删除。
步骤S150,在根流程实例上添加目标节点并在目标节点上建立目标任务信息。
最后,在获取的根流程实例上,添加目标节点并在目标节点上建立目标任务信息。建立的目标任务信息即为删除的当前节点的任务信息。也就是在根流程实例上建立了新的目标任务信息,而新的任务目标信息是建立在根流程实例上的,也就是父流程实例,那么就是从原当前节点对应的子流程实例回退到了父流程实例,从而完成了流程回退。
本实施例提供的基于activiti的流程回退方法,首先获取activiti工作流中需要进行任务跳转的当前节点;然后根据当前节点调用对应的子流程实例,并获取子流程实例对应的根流程实例,接着删除当前节点的任务信息以及与当前节点对应的各流程实例及其他附加信息最后在根流程实例上添加目标节点并在目标节点上建立目标任务信息,无需在节点间通过连线连接实现回退,具有灵活性,且可实现调用子流程到父流程的回退。
下面以一具体实施例对本发明实施例提供的基于activiti的流程回退方法进行进一步详细说明。
图2为本发明实施例提供的另一种基于activiti的流程回退方法的流程图,如图2所示,本实施例提供的基于activiti的流程回退方法包括:
步骤S210,通过当前任务(currentTask)当前的任务标识(TaskId)找到所属的子流程实例(execution)。
步骤S220,通过execution查找其父流程实例(parentExecution)。
步骤S230,通过parentExecution查找其Super流程实例(rootExecution)。Super流程实例即根流程实例。
步骤S240,删除currentTask记录,并且清除与其相关的流程实例exetution,parentExecution,rootExecution及其他附加信息。
步骤S250,在rootExecution上,添加目标节点目标任务(targetTask)信息,将流程节点回退至目标节点。
图3为本发明实施例提供的一种基于activiti的流程回退装置的结构示意图,如图3所示,本实施例提供的基于activiti的流程回退装置包括:
节点获取模块31,用于获取activiti工作流中需要进行任务跳转的当前节点。
流程实例调用模块32,用于根据当前节点调用对应的子流程实例;获取子流程实例对应的根流程实例。
信息删除模块33,用于删除当前节点的任务信息以及与当前节点对应的各流程实例及其他附加信息。
任务建立模块34,用于在根流程实例上添加目标节点并在目标节点上建立目标任务信息。
本发明实施例所提供的基于activiti的流程回退装置可执行本发明任意实施例所提供的基于activiti的流程回退方法,具备执行方法相应的功能模块和有益效果。
进一步地,在图3所示实施例的基础上,流程实例调用模块32,具体用于获取子流程实例对应的父流程实例;获取父流程实例对应的根流程实例。
进一步地,在图3所示实施例的基础上,信息删除模块33,具体用于删除当前节点的任务信息以及与当前节点对应的子流程实例、父流程实例及其他附加信息。
进一步地,在图3所示实施例的基础上,流程实例调用模块32,具体用于根据当前节点中需要进行任务跳转的任务标识调用对应的子流程实例。
图4为本发明实施例提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括处理器41、存储器42、输入装置43和输出装置44;计算机设备中处理器41的数量可以是一个或多个,图4中以一个处理器41为例;计算机设备中的处理器41、存储器42、输入装置43和输出装置44可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器42作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于activiti的流程回退方法对应的程序指令/模块(例如,基于activiti的流程回退装置中的节点获取模块31,流程实例调用模块32,信息删除模块33,任务建立模块34)。处理器41通过运行存储在存储器42中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的基于activiti的流程回退方法。
存储器42可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置43可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置44可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种基于activiti的流程回退方法,该方法包括:
获取activiti工作流中需要进行任务跳转的当前节点;
根据当前节点调用对应的子流程实例;
获取子流程实例对应的根流程实例;
删除当前节点的任务信息以及与当前节点对应的各流程实例及其他附加信息;
在根流程实例上添加目标节点并在目标节点上建立目标任务信息。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于activiti的流程回退方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述基于activiti的流程回退装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种基于activiti的流程回退方法,其特征在于,包括:
获取activiti工作流中需要进行任务跳转的当前节点;
根据当前节点调用对应的子流程实例;
获取所述子流程实例对应的根流程实例;
删除所述当前节点的任务信息以及与所述当前节点对应的各流程实例及其他附加信息;
在所述根流程实例上添加目标节点并在所述目标节点上建立目标任务信息。
2.根据权利要求1所述的方法,其特征在于,所述获取所述子流程实例对应的根流程实例,包括:
获取所述子流程实例对应的父流程实例;
获取所述父流程实例对应的根流程实例。
3.根据权利要求2所述的方法,其特征在于,所述删除所述当前节点的任务信息以及与所述当前节点对应的各流程实例及其他附加信息,包括:
删除所述当前节点的任务信息以及与所述当前节点对应的子流程实例、父流程实例及其他附加信息。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述根据当前节点调用对应的子流程实例,包括:
根据所述当前节点中所述需要进行任务跳转的任务标识调用对应的子流程实例。
5.一种基于activiti的流程回退装置,其特征在于,包括:
节点获取模块,用于获取activiti工作流中需要进行任务跳转的当前节点;
流程实例调用模块,用于根据当前节点调用对应的子流程实例;获取所述子流程实例对应的根流程实例;
信息删除模块,用于删除所述当前节点的任务信息以及与所述当前节点对应的各流程实例及其他附加信息;
任务建立模块,用于在所述根流程实例上添加目标节点并在所述目标节点上建立目标任务信息。
6.根据权利要求5所述的装置,其特征在于,所述流程实例调用模块,具体用于获取所述子流程实例对应的父流程实例;获取所述父流程实例对应的根流程实例。
7.根据权利要求6所述的装置,其特征在于,所述信息删除模块,具体用于删除所述当前节点的任务信息以及与所述当前节点对应的子流程实例、父流程实例及其他附加信息。
8.根据权利要求5~7任一项所述的装置,其特征在于,所述流程实例调用模块,具体用于根据所述当前节点中所述需要进行任务跳转的任务标识调用对应的子流程实例。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~4中任一所述的基于activiti的流程回退方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~4中任一所述的基于activiti的流程回退方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110973535.7A CN113687882B (zh) | 2021-08-24 | 2021-08-24 | 基于activiti的流程回退方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110973535.7A CN113687882B (zh) | 2021-08-24 | 2021-08-24 | 基于activiti的流程回退方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113687882A true CN113687882A (zh) | 2021-11-23 |
CN113687882B CN113687882B (zh) | 2024-04-19 |
Family
ID=78581776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110973535.7A Active CN113687882B (zh) | 2021-08-24 | 2021-08-24 | 基于activiti的流程回退方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113687882B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100122251A1 (en) * | 2008-11-13 | 2010-05-13 | International Business Machines Corporation | Realizing jumps in an executing process instance |
CN109670664A (zh) * | 2018-09-11 | 2019-04-23 | 深圳平安财富宝投资咨询有限公司 | 基于工作流的流程实施方法、用户设备、存储介质及装置 |
CN110517018A (zh) * | 2019-08-26 | 2019-11-29 | 深圳前海环融联易信息科技服务有限公司 | 一种基于activiti工作流的节点任意跳转方法及装置 |
CN110619473A (zh) * | 2019-09-19 | 2019-12-27 | 福建博思软件股份有限公司 | 基于Activiti工作流实现逆向流转的方法 |
-
2021
- 2021-08-24 CN CN202110973535.7A patent/CN113687882B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100122251A1 (en) * | 2008-11-13 | 2010-05-13 | International Business Machines Corporation | Realizing jumps in an executing process instance |
CN109670664A (zh) * | 2018-09-11 | 2019-04-23 | 深圳平安财富宝投资咨询有限公司 | 基于工作流的流程实施方法、用户设备、存储介质及装置 |
CN110517018A (zh) * | 2019-08-26 | 2019-11-29 | 深圳前海环融联易信息科技服务有限公司 | 一种基于activiti工作流的节点任意跳转方法及装置 |
CN110619473A (zh) * | 2019-09-19 | 2019-12-27 | 福建博思软件股份有限公司 | 基于Activiti工作流实现逆向流转的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113687882B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684057B (zh) | 任务处理方法、装置和存储介质 | |
CN111277639B (zh) | 一种保持数据一致性的方法和装置 | |
CN111258565B (zh) | 小程序的生成方法、***、服务器及存储介质 | |
CN111090423B (zh) | 一种webhook框架***和实现主动调用、实现事件触发的方法 | |
CN108509523A (zh) | 区块链数据的结构化处理方法、设备及可读存储介质 | |
CN110764894A (zh) | 一种定时任务管理方法、装置、设备及存储介质 | |
CN110517018A (zh) | 一种基于activiti工作流的节点任意跳转方法及装置 | |
CN115794202A (zh) | 一种数据配置方法及引擎、档案***、计算机存储介质 | |
CN112579319A (zh) | 一种基于LRU Cache优化的服务调用方法及装置 | |
US8224933B2 (en) | Method and apparatus for case-based service composition | |
CN113098854B (zh) | 任务编排方法、***、存储介质和电子设备 | |
CN108536447B (zh) | 运维管理方法 | |
CN114020840A (zh) | 一种数据处理方法、装置、服务器、存储介质及产品 | |
CN112395339A (zh) | ***间数据准入校验方法、装置、计算机设备和存储介质 | |
CN117376092A (zh) | 故障根因定位方法、装置、设备及存储介质 | |
CN113687882B (zh) | 基于activiti的流程回退方法、装置和存储介质 | |
CN113409153A (zh) | 业务流程管理***与业务流程处理方法、设备及存储介质 | |
CN111080250B (zh) | 流程回退补偿方法、装置、存储介质及电子设备 | |
CN112418796B (zh) | 子流程任务节点激活方法、装置、电子设备及存储介质 | |
CN111124386B (zh) | 基于Unity的动画事件处理方法、装置、设备和存储介质 | |
CN114139079A (zh) | 一种api请求的处理方法、装置、设备及存储介质 | |
CN114237824A (zh) | 故障定位方法、装置、计算机可读介质及电子设备 | |
CN108874625B (zh) | 信息处理方法及装置、电子设备、存储介质 | |
CN114564286A (zh) | 一种规则引擎告警方法及规则引擎告警*** | |
CN111400060A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |