System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体涉及一种动态配置流程的方法、装置及设备。
技术介绍
1、随着社会不断地发展和进步,各个行业领域的业务流程的复杂程度不断增加,工作流技术也在不断迭代新的版本以适应业务流程的变化。
2、目前流程只能预先定义到流程图中,流程发布部署后无法动态修改。然而,由于一些特殊业务场景的复杂性和不可预见性,在流程运行时可能会由于颁布新规定或人事调动等原因,导致流程不能按照原步骤继续进行。当流程已经启动,但是又发生了需要修改流程图的特殊事件时,往往需要绘制另一个流程图重新进行发布、部署,而原流程图下正在运行的流程实例也需要流程发起人重新执行。显然,这增加了流程管理人员的操作成本和流程发起、流程审批人员的时间成本,降低了工作流引擎的工作效率。
技术实现思路
1、有鉴于此,本申请实施例提供一种动态配置流程的方法、装置及设备,以实现流程的动态修改,提高工作流引擎的工作效率。
2、为解决上述问题,本申请实施例提供的技术方案如下:
3、一种动态配置流程的方法,所述方法包括:
4、接收流程更新请求;
5、当所述流程更新请求为流程修改请求,根据所述原始流程定义中的流程实例的状态,确定待迁移流程实例;
6、将所述待迁移流程实例中处于运行状态的流程实例挂起;
7、获取修改后的流程定义;
8、将所述待迁移流程实例迁移到所述修改后的流程定义中;
9、将挂起的流程实例恢复到运行状态;
11、在一种可能的实现方式中,所述当所述流程更新请求为流程修改请求,根据所述原始流程定义中的流程实例的状态,确定待迁移流程实例,包括:
12、当所述流程更新请求为流程修改请求,确定流程节点修改位置;
13、根据所述流程节点修改位置确定所述原始流程定义中受修改影响的目标流程实例;
14、根据所述目标流程实例的状态,确定待迁移流程实例。
15、在一种可能的实现方式中,所述根据所述目标流程实例的状态,确定待迁移流程实例,包括:
16、获取所述目标流程实例的状态,所述状态包括运行状态、取消状态、暂停状态、异常状态以及结束状态;
17、将处于运行状态、暂停状态或异常状态的目标流程实例确定为待迁移流程实例。
18、在一种可能的实现方式中,所述获取修改后的流程定义之后,所述方法还包括:
19、通过流程语法规则集,对所述修改后的流程定义进行合规性检测;
20、如果通过所述合规性检测,保存所述修改后的流程定义。
21、在一种可能的实现方式中,所述方法还包括:
22、如果未通过所述合规性检测,将挂起的流程实例恢复到运行状态。
23、在一种可能的实现方式中,将所述待迁移流程实例迁移到所述修改后的流程定义中,包括:
24、将所述待迁移流程实例按照状态的优先级顺序迁移到所述修改后的流程定义中,所述状态的优先级顺序为所述运行状态优先于所述暂停状态、所述暂停状态优先于所述异常状态。
25、在一种可能的实现方式中,所述将挂起的流程实例恢复到运行状态,包括:
26、将挂起的流程实例的流程实例编号添加到挂起实例队列中;
27、从所述挂起实例队列中读取所述流程实例编号,将对应的流程实例恢复到运行状态。
28、一种动态配置流程的装置,所述装置包括:
29、请求接收器,用于接收流程更新请求;
30、流程状态识别器,用于当所述流程更新请求为流程修改请求,根据所述原始流程定义中的流程实例的状态,确定待迁移流程实例;
31、流程实例中断器,用于将所述待迁移流程实例中处于运行状态的流程实例挂起;
32、流程定义配置单元,用于获取修改后的流程定义;
33、流程实例重载器,用于将所述待迁移流程实例迁移到所述修改后的流程定义中;
34、流程实例重载器,还用于将挂起的流程实例恢复到运行状态;
35、补偿事件控制单元,用于当所述流程更新请求为流程回退请求,生成需要回退的流程节点的补偿事件,执行所述补偿事件。
36、一种动态配置流程的设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的动态配置流程的方法。
37、一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述的动态配置流程的方法。
38、由此可见,本申请实施例具有如下有益效果:
39、本申请实施例在流程更新请求为流程修改请求时,可以确定需要迁移的流程实例,并将其中处于运行状态的流程实例挂起。在获取修改后的流程定义之后,需要迁移的流程实例迁移到修改后的流程定义中,并将挂起的流程实例恢复到运行状态,完成流程定义的修改。在流程更新请求为流程回退请求时,生成需要回退的流程节点的补偿事件并执行,完成流程的回退。从而实现流程的动态修改或回退,提高了工作流引擎的工作效率。
本文档来自技高网...【技术保护点】
1.一种动态配置流程的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述当所述流程更新请求为流程修改请求,根据所述原始流程定义中的流程实例的状态,确定待迁移流程实例,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标流程实例的状态,确定待迁移流程实例,包括:
4.根据权利要求1所述的方法,其特征在于,所述获取修改后的流程定义之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,将所述待迁移流程实例迁移到所述修改后的流程定义中,包括:
7.根据权利要求1所述的方法,其特征在于,所述将挂起的流程实例恢复到运行状态,包括:
8.一种动态配置流程的装置,其特征在于,所述装置包括:
9.一种动态配置流程的设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的动态配置流程的方法
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-7任一项所述的动态配置流程的方法。
...【技术特征摘要】
1.一种动态配置流程的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述当所述流程更新请求为流程修改请求,根据所述原始流程定义中的流程实例的状态,确定待迁移流程实例,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标流程实例的状态,确定待迁移流程实例,包括:
4.根据权利要求1所述的方法,其特征在于,所述获取修改后的流程定义之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,将所述待迁移流程实例迁移到所述修改后...
【专利技术属性】
技术研发人员:冯一飞,张奥帆,李尚宇,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。