CN116090718A - 基于bpmn的流程处理方法及装置 - Google Patents
基于bpmn的流程处理方法及装置 Download PDFInfo
- Publication number
- CN116090718A CN116090718A CN202111288962.8A CN202111288962A CN116090718A CN 116090718 A CN116090718 A CN 116090718A CN 202111288962 A CN202111288962 A CN 202111288962A CN 116090718 A CN116090718 A CN 116090718A
- Authority
- CN
- China
- Prior art keywords
- instance
- split
- bpmn
- merging
- rollback
- 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 113
- 238000005111 flow chemistry technique Methods 0.000 title claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 82
- 230000008569 process Effects 0.000 claims abstract description 58
- 230000003247 decreasing effect Effects 0.000 claims abstract description 19
- 230000001788 irregular Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 230000002829 reductive effect Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004321 preservation Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000003672 processing method Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于BPMN的流程处理方法及装置,涉及业务流程处理技术领域。所述方法包括:对业务流程建模标记BPMN的元素和规则进行扩展,根据拓展后的BPMN对流程创建实例;根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理;所述非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。本发明提供的基于BPMN的流程处理方法及装置,通过对现有BPMN的元素和规则进行扩展,突破了原有网关的配对规则,实现跨级的流转处理。与此同时,根据上下文信息记录流程在拆分合并中所产生的过程信息,从而可以根据上下文信息实现多种非常规拆分合并场景中实例的处理。
Description
技术领域
本发明涉及业务流程处理技术领域,具体涉及一种基于BPMN的流程处理方法及装置。
背景技术
现有的基于BPMN(Business Process Modeling Notation,业务流程建模标记)规范所实现的流程引擎产品,通常采用多实例的方式实现对流程的处理。即在流程拆分时根据后续环节类型(任务或子流程)创建不同的实例,然后将其与拆分前的主流程实例建立连接,同时主流程实例在合并节点进入监听状态,直至所有拆分实例处理完毕后,主流程实例再从合并节点向下继续流转。
现有技术方案,在应对动态增减拆分实例、拆分实例跨级回退、合并后回退至拆分以及多重合并等场景时,由于实现机制中仅能保持单级实例的活动状态而在拆分时上级实例处于挂起状态,所以在业务场景中涉及跨级实例处理时,无法完成相应逻辑。
因此,如何提出一种方法,能够保持多级实例同时处于活动状态,实现跨级流转的处理方法,从而实现多种非常规拆分合并场景中实例的处理,具有十分重要的意义。
发明内容
本发明提供一种基于BPMN的流程处理方法及装置,用以解决现有技术中无法实现跨级流转的处理方法,以及实现多种非常规拆分合并场景中实例处理的技术问题。
第一方面,本发明提供一种基于BPMN的流程处理方法,包括:
对业务流程建模标记BPMN的元素和规则进行扩展,根据拓展后的BPMN对流程创建实例;
根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理;
所述非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。
在一个实施例中,所述对BPMN的元素和规则进行扩展,包括:
将拆分网关和合并网关之间一一对应的逻辑改为拆分网关与合并网关之间可以多对一的逻辑;
引入拆分实例运行的同时能够再次执行拆分网关的逻辑;
引入能够对已有的实例进行删除或者停止操作的逻辑;
引入对拆分网关与合并网关之间内部环节与外部环节能够交互操作的逻辑。
在一个实施例中,所述实例的上下文信息,包括:
实例的上级流程和下级流程中各组成部分的连接信息、实例的各组成部分的从属关系、实例的运行状态以及实例的运行信息。
在一个实施例中,在所述非常规拆分合并场景为动态增减拆分实例场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
查询实例的上下文信息,获取拆分节点,触发所述拆分节点的再次运行;
通过对所述拆分节点传入新的入参以创建新的拆分实例,或者通过传入所述拆分节点中需要减少的实例编号以停止对应编号的实例;
更新所述实例的上下文信息。
在一个实施例中,在所述非常规拆分合并场景为拆分实例回退场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
读取回退目标环节定义,生成回退任务实例;
根据所述回退任务实例的上下文信息,触发所述回退任务实例的执行;
更新所述回退任务实例的上下文信息。
在一个实施例中,在所述非常规拆分合并场景为合并实例回退至拆分场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
保存上级拆分节点的运行信息;
根据实例的上下文信息获取所述上级拆分节点所生成的所有实例,确定所述生成的所有实例中需要回退的拆分实例编号以及回退目标环节编号,触发对应实例回退操作;
在回退操作完成后执行对应实例的流程定义或者根据读取所述上级拆分节点的运行信息恢复对应实例的运行状态;
更新所述实例的上下文信息。
在一个实施例中,在所述非常规拆分合并场景为多重合并场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
根据实例的上下文信息,获取所述实例的所有同级实例;
在确定所有同级实例均流转结束的情况下,触发所述所有同级实例的合并。
第二方面,本发明还提供一种基于BPMN的流程处理装置,包括:
实例创建模块,用于对业务流程建模标记BPMN的元素和规则进行扩展,根据拓展后的BPMN对流程创建实例;
实例处理模块,用于根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理;
所述非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。
第三方面,本发明还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一种的基于BPMN的流程处理方法的步骤。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一种的基于BPMN的流程处理方法的步骤。
本发明提供的基于BPMN的流程处理方法、装置、电子设备及存储介质,通过对现有BPMN的元素和规则进行扩展,突破了原有的网关形式上的配对规则,使得扩展后BPMN可以保持多级实例同时处于活动状态,并且可以实现跨级的流转处理。与此同时,引入上下文信息,根据上下文信息记录流程在拆分合并中所产生的过程信息,从而可以根据上下文信息实现对动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景等非常规拆分合并场景中实例的处理。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的BPMN的常规流程处理示意图;
图2为本发明提供的基于BPMN的流程处理方法的流程示意图;
图3为本发明提供的多重合并的流程示意图;
图4为本发明提供的基于BPMN的流程处理装置的结构示意图;
图5为本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在实现本发明的过程中,发明人考虑了如下方案。在常规的基于BPMN的流程处理方式中,拆分与合并通常成对出现。在BPMN的规范中,以网关(Gateway)元素来实现此类逻辑。包含唯一网关(Exclusive Gateway)、并行网关(Parallel Gateway)、包含网关(Inclusive Gateway)、复杂网关(Complex Gateway),以及上述网关在事件驱动模式下的变种。其中,唯一网关为网关拆分出多个分支,只有一个可以被执行(即使多个满足条件);并行网关为网关拆分出多个分支,所有都被执行(不考虑条件满足与否);包含网关为网关拆分的多个分支,根据条件是否满足来决定是否被执行;复杂网关通常应用于特殊合并逻辑的处理,如会签模式下的一票否决。
如图1中本发明提供的BPMN的常规流程处理示意图所示:常规的拆分合并场景是以拆分节点为起点,经过合并节点,再回到拆分节点,画一个圆。可与把这个圆称为一个环,由于拆分是可以分层级的,即大环内可以套小环。
常规的拆分合并(无论是静态还是动态),事实上在执行拆分逻辑时就明确了所形成“环”的范围和数量。每个环在处理自身逻辑时都是完全封闭的,因此流程引擎产品在实现此类规则时也会处理的比较简单,实现步骤如下:
步骤1:上级实例在拆分时根据后续环节类型(任务或子流程)创建不同的拆分实例,自身在合并节点记录拆分数量,并进入监听状态。
步骤2:拆分实例各自独立运行,结束后向上级流程合并节点发送事件,合并节点对“未完成拆分实例”数量做减一操作。
步骤3:上级流程合并节点发现“未完成拆分实例”数量为0时,判断全部拆分实例流转完成,则上级流程继续向下流转。(部分产品会引入定时检查机制,以避免计数错误)。
整个处理逻辑实质上可以分为环内处理和环上处理两部分。对于环内而言,是以自身流转的独立性为前提,无论其包含节点的多少,均将其作为独立的子流程来处理;对于环上而言,关注拆分与合并的顺序性和匹配性,要求两者一一相对,不可逆的顺序执行。所以在面对场景下时,常规的基于BPMN的流程处理逻辑在应对动态增减拆分实例、拆分实例跨级回退以及合并后回退至拆分等场景时无法完成相应逻辑。
下面结合附图,通过具体的实施例及其应用场景对本发明实施例提供的交易提案的处理方法、装置、电子设备和可读存储介质进行详细地说明。
图2为本发明提供的基于BPMN的流程处理方法的流程示意图。参照图2,本发明提供的基于BPMN的流程处理方法可以包括:
S210、对业务流程建模标记BPMN的元素和规则进行扩展,根据拓展后的BPMN对流程创建实例;
S220、根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理;
所述非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。
本发明提供的基于BPMN的流程处理方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本发明不作具体限定。
下面以计算机执行本发明提供的基于BPMN的流程处理方法为例,详细说明本发明的技术方案。
需要说明的是,动态增减拆分实例是指当拆分生成的各子实例在流转时,需要动态增减子实例数量。如领导在同时选择财务部、采购部、工程部对于某一事项进行内部两级审批后,需要额外增加规划部、法律部参与相同事项的审批,同时不再需要法律部参与事项审批。
拆分实例跨级回退是指拆分实例在自身流转过程中,某一实例需要回退到上级实例中的某个环节,甚至需要跨越多级实例的回退,但不影响其他实例的正常流转。如领导在同时选择财务部、采购部、工程部对于某一事项进行内部两级审批后,采购部在审批过程中发现事项中采购相关条款存在不合理之处,需要退回拟稿人进行修改,但不影响其他部门的审批流转。
合并后回退至拆分是指当拆分实例全部结束自身流转,形成合并再继续流转时,需要回退至某一拆分实例。如多部门完成各自审批后流转到法律审核环节,法律专员认为某部门所提交材料不完整,需退回补充。
在步骤S210中,由于常规的BPMN元素和规则仅能保持单级实例的活动状态,即当出现拆分时,其上级实例需处于挂起状态。因此,当业务场景中涉及上级实例的跨级实例处理流程时,无法完成相应逻辑。所以需要对常规BPMN中的元素和规则进行扩展,使得扩展后的元素和规则可以保持多级实例同时处于活动状态,并且可以实现跨级的流转处理,从而支持多类非常规拆分合并场景。
在完成对BPMN的元素和规则进行扩展后,根据流程处理的需要,通过扩展后的BPMN对流程创建多个实例。
在步骤S220中,根据步骤S210中扩展的BPMN创建流程的实例后,对实例进行处理。针对具体的实例,若确定所述实例属于非常规拆分合并场景中的实例,则根据当前实例的上下文信息对当前实例进行处理。比如在动态增减拆分实例场景中,根据上级流程的拆分信息和上级拆分节点信息等触发上级拆分节点的再次运行,通过对动态拆分实例传入新的入参以创建新的拆分实例。
具体地,上下文信息是在流程定义的解释机制中,引入的新的概念。所述上下文信息,用于记录流程实例的整个运行周期中各组成部分以及之间的关系。在对当前实例进行处理的时候,根据上下文信息,可以实现非常规拆分合并场景中实例的处理。
其中,非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。
本发明提供的基于BPMN的流程处理方法,通过对现有BPMN的元素和规则进行扩展,突破了原有的网关形式上的配对规则,使得扩展后BPMN可以保持多级实例同时处于活动状态,并且可以实现跨级的流转处理。与此同时,引入上下文信息,根据上下文信息记录流程在拆分合并中所产生的过程信息,从而可以根据上下文信息实现对动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景等非常规拆分合并场景中实例的处理。
在一个实施例中,对BPMN的元素和规则进行扩展,包括:将拆分网关和合并网关之间一一对应的逻辑改为拆分网关与合并网关之间可以多对一的逻辑;引入拆分实例运行的同时能够再次执行拆分网关的逻辑;引入能够对已有的实例进行删除或者停止操作的逻辑;引入对拆分网关与合并网关之间内部环节与外部环节能够交互操作的逻辑。
可以理解的是,常规BPMN中流程实现机制中仅能保存单级实例的活动状态。即当出现拆分时,其上级实例需处于挂起状态。因此当业务场景中涉及上级实例的跨级实例处理时,无法完成相应的逻辑。所以,需要对常规的BPMN中的元素和规则进行扩展,使得能够支持非常规的拆分合并场景,并且能够完成流转逻辑。
具体地,通过改变网关成对出现的约束,将原先的拆分网关和合并网关之间一一对应的关系,改成拆分网关与合并网关可以出现多对一的关系。即多个拆分网关可以对应一个合并网关。
改变拆分网关的执行与拆分实例的运行之间的互斥关系,引入拆分实例运行的同时可以再次执行拆分网关的逻辑。即在拆分网关拆分后产生的多个实例,多个实例在运行的同时,还可以对多个实例中的具体实例,执行拆分。
丰富拆分网关的内置逻辑,除了根据条件的真伪判断来决定生成拆分实例的数量外,还可以对已有实例进行删除或者停止,对已经分配任务进行停止。
支持对拆分合并网关间环节与外部环节交互操作的逻辑,即在扩展后能够支持环节间规则线的显式连接和隐式调用。其中,显式连接指的是流程中正常的处理步骤;隐式调用指的是流程中在拆分后仍可以执行退回到拆分前上级节点的处理步骤。
本发明提供的基于BPMN的流程处理方法,通过对现有BPMN的元素和规则进行扩展,突破了原有的网关形式上的配对规则,使得扩展后BPMN可以保持多级实例同时处于活动状态,并且可以实现跨级的流转处理。
在一个实施例中,所述实例的上下文信息,包括:实例的上级流程和下级流程中各组成部分的连接信息、实例的各组成部分的从属关系、实例的运行状态以及实例的运行信息。
具体地,在流程定义的解释机制中,引入上下文(Context)的概念。用于记录流程实例的整个运行周期中各组成部分以及之间的关系。所述实例的上下文信息具体包括:
实例的上级流程和下级流程中各组成部分的连接信息,即上级流程拆分发生节点和下级流程的启动节点各组成部分的连接信息;
实例的各组成部分的从属关系,即上级流程包含哪些下级流程;
实例的运行状态,主要是拆分发生的次数和时间、合并的状态和时间、拆分实例的状态变更(包括创建、结束以及停止);
实例的运行信息,记录当前实例的运行信息,用于流程发生非常规流转时的恢复操作。
可以理解的是,引入上下文信息后,可以在针对各类非常规场景时,查询保存的上下文信息,根据扩展后的BPMN实现对具体流程的处理。
本发明提供的基于BPMN的流程处理方法,通过引入上下文信息,根据上下文信息记录流程在拆分合并中所产生的过程信息并进行保存。从而在执行具体流程时查询上下文信息实现对动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景等非常规拆分合并场景中实例的处理。
在一个实施例中,在非常规拆分合并场景为动态增减拆分实例场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:查询实例的上下文信息,获取拆分节点,触发所述拆分节点的再次运行;通过对所述拆分节点传入新的入参以创建新的拆分实例,或者通过传入所述拆分节点中需要减少的实例编号以停止对应编号的实例;更新所述实例的上下文信息。
具体地,动态增减拆分实例场景中实例可以由动态增加拆分实例和动态减少拆分实例组成。在所述动态增减拆分实例场景中实例为动态增加拆分实例时,具体处理流程包括:
查询上下文信息,获取当前实例的拆分节点ID,即拆分网关所在环节的唯一性编号;触发改拆分节点的再次运行,通过传入新的入参以创建新的拆分实例;完成处理后,更新上下文信息,记录新增下级流程的连接和从属信息。
在所述动态增减拆分实例场景中实例为动态减少拆分实例时,具体处理流程包括:
查询上下文信息,获取当前实例的拆分节点ID以及拆分实例列表;触发拆分节点的再次运行,通过传入需要减少的拆分实例编号以停止该实例,即关闭该实例产生的任务;完成处理后,更新上下文信息,将减少的流程实例状态变为“停止”。
本发明提供的基于BPMN的流程处理方法,通过对现有BPMN的元素和规则进行扩展,并引入上下文信息,根据上下文信息记录流程在拆分合并中所产生的过程信息,从而可以根据上下文信息实现对动态增减拆分实例场景中实例的处理。
在一个实施例中,在非常规拆分合并场景为拆分实例回退场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:读取回退目标环节定义,生成回退任务实例;根据回退任务实例的上下文信息,触发所述回退任务实例的执行;更新所述回退任务实例的上下文信息。
具体地,拆分实例回退场景中的实例可以由独立型拆分实例跨级回退和不变型拆分实例跨级回退组成。其中,独立型拆分实例跨级回退是指回退操作完成后不再跳回原环节,形成逻辑上的独立分支;不变型拆分实例跨级回退是指回退操作完成后仍然跳回原环节,不影响原有拆分合并逻辑。
在所述拆分实例回退场景中实例为独立型拆分实例跨级回退时,具体处理流程包括:
在确定需要执行回退任务的目标环节后,读取回退目标环节定义,生成相应回退任务实例,为该任务实例打上“独立”标记。该环节可能从属于主流程,也可能从属于某级拆分后的子流程。根据该环节在定义时所属位置,以及上下文信息中各级流程之间的从属关系,建立该任务实例与流程实例间的关联关系。更新上下文信息中的拆分计数,进行减一操作。在回退任务完成后,读取流程定义中该环节的后续环节,依次流转。
在所述拆分实例回退场景中实例为不变型拆分实例跨级回退时,具体处理流程包括:
可以通过“保存点”的方式记录当前实例的运行信息,其中的保存点记录了当前所在节点、处理人等信息;读取回退目标环节定义,生成相应任务实例,并在上下文信息中记录相应关系;回退任务处理完毕后,读取“保存点”信息,直接恢复实例的运行状态,即变更原任务状态,使其可被处理。
可以理解的是,上述拆分实例回退场景仅限于一级回退,即如果存在多级拆分的情况,则只能回退到最近一级拆分所形成的实例相关任务。如果需要跨级回退,则只能逐级跨级回退。该场景亦可分为独立型(回退后沿原定义继续执行)以及不变型(回退处理后跳回原节点)。
本发明提供的基于BPMN的流程处理方法,通过对现有BPMN的元素和规则进行扩展,并引入上下文信息,根据上下文信息记录流程在拆分合并中所产生的过程信息,从而可以根据上下文信息实现对拆分实例回退场景中实例的处理。
在一个实施例中,在非常规拆分合并场景为合并实例回退至拆分场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:保存上级拆分节点的运行信息;根据实例的上下文信息获取所述上级拆分节点所生成的所有实例,确定所述生成的所有实例中需要回退的拆分实例编号以及回退目标环节编号,触发对应实例回退操作;在回退操作完成后执行对应实例的流程定义或者根据读取所述上级拆分节点的运行信息恢复对应实例的运行状态;更新所述实例的上下文信息。
具体地,合并实例回退至拆分场景中的实例可以由独立型合并后回退至拆分实例和不变型合并后回退至拆分实例组成。其中独立型表示合并实例回退至拆分场景后形成逻辑上的独立分支,从而独立执行;不变型表示合并实例回退至拆分场景后仍按原先的逻辑向下执行。在所述合并实例回退至拆分场景中实例为独立型合并后回退至拆分实例时,具体处理流程包括:
可以通过“保存点”的方式记录上级拆分节点的运行信息,其中的保存点记录了当前所在节点、处理人等信息;从上下文信息中读取上级拆分所生成的所有实例;根据业务需求,选择需要回退的拆分实例编号以及回退目标环节编号;触发回退操作,根据目标环节定义生成任务,并建立与拆分实例间的关系;更新上下文信息中流程当前状态;回退任务处理完毕后,根据所处拆分实例的流程定义,依次流转。
在所述合并实例回退至拆分场景中实例为不变型合并后回退至拆分实例时,具体处理流程包括:
可以通过“保存点”的方式记录上级拆分节点的运行信息,其中的保存点记录了当前所在节点、处理人等信息;从上下文信息中读取上级拆分所生成的所有实例;根据业务需求,选择需要回退的拆分实例编号以及回退目标环节编号;触发回退操作,根据目标环节定义生成任务,并建立与拆分实例间的关系;更新上下文中流程当前状态;回退任务处理完毕后,读取“保存点”信息,直接恢复实例运行状态即变更原任务状态,使其可被处理。
本发明提供的基于BPMN的流程处理方法,通过对现有BPMN的元素和规则进行扩展,并引入上下文信息,根据上下文信息记录流程在拆分合并中所产生的过程信息,从而可以根据上下文信息实现对合并实例回退至拆分场景中实例的处理。
在一个实施例中,在所述非常规拆分合并场景为多重合并场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:根据实例的上下文信息,获取所述实例的所有同级实例;在确定所有同级实例均流转结束的情况下,触发所述所有同级实例的合并。
具体地,多重合并场景指经过多级拆分后所形成不同分支的流程实例,在业务上可以归并到相同的后续处理环节。如果采用传统的拆分合并配对模式,则会形成如图1所示的本发明提供的BPMN的常规流程处理示意图中的多级合并节点,由多级合并点逐级向下合并。
在对原有的BPMN的元素和规则进行扩展后,可以使用一个多重合并的环节,以更为简洁的逻辑表述方式,实现多级拆分的合并场景中的拆分合并。如图3本发明提供的多重合并的流程示意图所示,对多级节点拆分后,通过审批后,使用一个多重合并环节实现对多级拆分节点的合并。
具体地,当实例结束所有定义环节的处理后,触发合并判断;依据上下文信息所保存的多级拆分信息,逐级回溯,获取该实例所有同级实例清单;逐一判断同级实例是否流转结束,如是则触发合并,如不是则结束合并判断。
可选地,通过“保存点”的方式记录实例的运行信息的方法,是指记录当前所有已拆分的节点的关系,每一个已拆分的节点称为“保存点”,并以处理指针指向当前处理的节点,通过变换指针指向实现在任意节点间转换的功能;
所述“保存点”通过母指针指向它的上级“保存点”,通过子数量记录它的下级“保存点”的个数,当处理指针指向一个“保存点”时,如果在此时新拆分一个节点,所述处理指针会复制并保存到新节点的母指针中,同时处理指针指向的“保存点”的子数量加1,当一个“保存点”被合并时,其母指针对应的“保存点”的子数量减1;
只有当一个“保存点”的子数量为0时,才能对该“保存点”进行合并操作;
通过对当前“保存点”的母指针向上溯源,直至找到一个无母指针的“保存点”向上溯源的次数即为该“保存点”所在的级数;
所述处理指针具有若干个,当所述处理指针指向的“保存点”的母指针均相同,且“保存点”的子数量均为0时,所述处理指针指向的“保存点”可以进行多重合并。
本发明提供的基于BPMN的流程处理方法,通过对现有BPMN的元素和规则进行扩展,并引入上下文信息,根据上下文信息记录流程在拆分合并中所产生的过程信息,从而可以根据上下文信息实现对多重合并场景中实例的处理。
本发明还提供一种基于BPMN的流程处理装置,该装置与上文描述的基于BPMN的流程处理方法可相互对应参照。
图4为本发明提供的基于BPMN的流程处理装置的结构示意图,如图4所示,该装置包括:
实例创建模块410,用于对业务流程建模标记BPMN的元素和规则进行扩展,根据拓展后的BPMN对流程创建实例;
实例处理模块420,用于根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理;
所述非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。
本发明提供的基于BPMN的流程处理装置,通过对现有BPMN的元素和规则进行扩展,突破了原有的网关形式上的配对规则,使得扩展后BPMN可以保持多级实例同时处于活动状态,并且可以实现跨级的流转处理。与此同时,引入上下文信息,根据上下文信息记录流程在拆分合并中所产生的过程信息,从而可以根据上下文信息实现对动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景等非常规拆分合并场景中实例的处理。
在一个实施例中,实例创建模块410具体用于:
对BPMN的元素和规则进行扩展,包括:
将拆分网关和合并网关之间一一对应的逻辑改为拆分网关与合并网关之间可以多对一的逻辑;
引入拆分实例运行的同时能够再次执行拆分网关的逻辑;
引入能够对已有的实例进行删除或者停止操作的逻辑;
引入对拆分网关与合并网关之间内部环节与外部环节能够交互操作的逻辑。
在一个实施例中,实例创建模块410还具体用于:
确定实例的上下文信息,包括:
实例的上级流程和下级流程中各组成部分的连接信息、实例的各组成部分的从属关系、实例的运行状态以及实例的运行信息。
在一个实施例中,实例处理模块420具体用于:
在所述非常规拆分合并场景为动态增减拆分实例场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
查询实例的上下文信息,获取拆分节点,触发所述拆分节点的再次运行;
通过对所述拆分节点传入新的入参以创建新的拆分实例,或者通过传入所述拆分节点中需要减少的实例编号以停止对应编号的实例;
更新所述实例的上下文信息。
在一个实施例中,实例处理模块420还具体用于:
在所述非常规拆分合并场景为拆分实例回退场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
读取回退目标环节定义,生成回退任务实例;
根据所述回退任务实例的上下文信息,触发所述回退任务实例的执行;
更新所述回退任务实例的上下文信息。
在一个实施例中,实例处理模块420还具体用于:
在所述非常规拆分合并场景为合并实例回退至拆分场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
保存上级拆分节点的运行信息;
根据实例的上下文信息获取所述上级拆分节点所生成的所有实例,确定所述生成的所有实例中需要回退的拆分实例编号以及回退目标环节编号,触发对应实例回退操作;
在回退操作完成后执行对应实例的流程定义或者根据读取所述上级拆分节点的运行信息恢复对应实例的运行状态;
更新所述实例的上下文信息。
在一个实施例中,实例处理模块420还具体用于:
在所述非常规拆分合并场景为多重合并场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
根据实例的上下文信息,获取所述实例的所有同级实例;
在确定所有同级实例均流转结束的情况下,触发所述所有同级实例的合并。
本发明还提供一种电子设备,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communication Interface)520、存储器(memory)530和通信总线(bus)540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行基于BPMN的流程处理方法的步骤,例如包括:
对业务流程建模标记BPMN的元素和规则进行扩展,根据拓展后的BPMN对流程创建实例;
根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理;
所述非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的基于BPMN的流程处理方法的步骤,例如包括:
对业务流程建模标记BPMN的元素和规则进行扩展,根据拓展后的BPMN对流程创建实例;
根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理;
所述非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例提供的基于BPMN的流程处理方法的步骤,例如包括:
对业务流程建模标记BPMN的元素和规则进行扩展,根据拓展后的BPMN对流程创建实例;
根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理;
所述非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于BPMN的流程处理方法,其特征在于,包括:
对业务流程建模标记BPMN的元素和规则进行扩展,根据拓展后的BPMN对流程创建实例;
根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理;
所述非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。
2.根据权利要求1所述的基于BPMN的流程处理方法,其特征在于,所述对BPMN的元素和规则进行扩展,包括:
将拆分网关和合并网关之间一一对应的逻辑改为拆分网关与合并网关之间可以多对一的逻辑;
引入拆分实例运行的同时能够再次执行拆分网关的逻辑;
引入能够对已有的实例进行删除或者停止操作的逻辑;
引入对拆分网关与合并网关之间内部环节与外部环节能够交互操作的逻辑。
3.根据权利要求1所述的基于BPMN的流程处理方法,其特征在于,所述实例的上下文信息,包括:
实例的上级流程和下级流程中各组成部分的连接信息、实例的各组成部分的从属关系、实例的运行状态以及实例的运行信息。
4.根据权利要求1所述的基于BPMN的流程处理方法,其特征在于,在所述非常规拆分合并场景为动态增减拆分实例场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
查询实例的上下文信息,获取拆分节点,触发所述拆分节点的再次运行;
通过对所述拆分节点传入新的入参以创建新的拆分实例,或者通过传入所述拆分节点中需要减少的实例编号以停止对应编号的实例;
更新所述实例的上下文信息。
5.根据权利要求1所述的基于BPMN的流程处理方法,其特征在于,在所述非常规拆分合并场景为拆分实例回退场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
读取回退目标环节定义,生成回退任务实例;
根据所述回退任务实例的上下文信息,触发所述回退任务实例的执行;
更新所述回退任务实例的上下文信息。
6.根据权利要求1所述的基于BPMN的流程处理方法,其特征在于,在所述非常规拆分合并场景为合并实例回退至拆分场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
保存上级拆分节点的运行信息;
根据实例的上下文信息获取所述上级拆分节点所生成的所有实例,确定所述生成的所有实例中需要回退的拆分实例编号以及回退目标环节编号,触发对应实例回退操作;
在回退操作完成后执行对应实例的流程定义或者根据读取所述上级拆分节点的运行信息恢复对应实例的运行状态;
更新所述实例的上下文信息。
7.根据权利要求1所述的基于BPMN的流程处理方法,其特征在于,在所述非常规拆分合并场景为多重合并场景时,所述根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理,包括:
根据实例的上下文信息,获取所述实例的所有同级实例;
在确定所有同级实例均流转结束的情况下,触发所述所有同级实例的合并。
8.一种基于BPMN的流程处理装置,其特征在于,包括:
实例创建模块,用于对业务流程建模标记BPMN的元素和规则进行扩展,根据拓展后的BPMN对流程创建实例;
实例处理模块,用于根据实例的上下文信息,对非常规拆分合并场景中的实例进行处理;
所述非常规拆分合并场景包括以下至少一项:动态增减拆分实例场景、拆分实例回退场景、合并实例回退至拆分场景以及多重合并场景。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于BPMN的流程处理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于BPMN的流程处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111288962.8A CN116090718A (zh) | 2021-11-02 | 2021-11-02 | 基于bpmn的流程处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111288962.8A CN116090718A (zh) | 2021-11-02 | 2021-11-02 | 基于bpmn的流程处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116090718A true CN116090718A (zh) | 2023-05-09 |
Family
ID=86197778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111288962.8A Pending CN116090718A (zh) | 2021-11-02 | 2021-11-02 | 基于bpmn的流程处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116090718A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117078212A (zh) * | 2023-10-07 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 业务流程处理方法及装置、电子设备、存储介质 |
-
2021
- 2021-11-02 CN CN202111288962.8A patent/CN116090718A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117078212A (zh) * | 2023-10-07 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 业务流程处理方法及装置、电子设备、存储介质 |
CN117078212B (zh) * | 2023-10-07 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 业务流程处理方法及装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190394101A1 (en) | Automatic microservice problem detection in enterprise applications | |
US20150142501A1 (en) | System and method for executing business services and enhancing business performance through a business process modeling notation | |
US10721791B1 (en) | Recommending the refactoring of microservices | |
CN101201918A (zh) | 用于自动配置信息系统的方法和系统 | |
CN110851207A (zh) | 状态转换管理方法、装置、电子设备和计算机可读存储介质 | |
CN116090718A (zh) | 基于bpmn的流程处理方法及装置 | |
CN110838041B (zh) | 虚拟资源活动处理方法、装置、计算机设备和存储介质 | |
US20170068915A1 (en) | Computer implemented system and method for dynamically optimizing business processes | |
CN109614263B (zh) | 一种容灾数据处理方法、装置及系统 | |
WO2021129005A1 (zh) | 一种区块链状态变更交易追溯的方法及装置 | |
CN108733536B (zh) | 监控管理系统及方法 | |
CN110908644B (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
US9754319B2 (en) | Source document framework for accounting systems | |
CN111767337B (zh) | 区块的验证方法、装置及设备 | |
CN103838575A (zh) | 一种基于extjs框架的插件式页面定制实现方法 | |
CN108241671B (zh) | 业务处理方法和系统及存储介质 | |
CN110689418A (zh) | 账单生成方法及装置 | |
CN107135191B (zh) | 检查分布式业务处理完整度的方法及装置 | |
CN112288586A (zh) | 基于HBase的保险行业数据整合方法及相关设备 | |
CN107492031B (zh) | 一种基于函数契约旁路分析的准实时金融系统对账方法 | |
CN111538491A (zh) | 数据事件处理方法、装置、设备和存储介质 | |
CN116301758B (zh) | 基于事件时机点的规则编辑方法、装置、设备及介质 | |
CN117539451B (zh) | 流程执行方法、装置、电子设备及存储介质 | |
CN106844242A (zh) | 一种数据交换方法和系统 | |
CN111814007B (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Zhang Miao Inventor after: Zheng Zhongqiang Inventor before: Zheng Zhongqiang Inventor before: Zhang Miao |
|
CB03 | Change of inventor or designer information |