流程审批方法、装置及设备与流程

摘要: 本申请涉及流程审批服务,尤其涉及一种流程审批方法、装置及设备。背景技术:1、相关技术中,流程审批服务主要依赖activiti、flowable、camunda等...
流程审批方法、装置及设备与流程

本申请涉及流程审批服务,尤其涉及一种流程审批方法、装置及设备。

背景技术:

1、相关技术中,流程审批服务主要依赖activiti、flowable、camunda等主流开源工作流引擎实现,但是主流开源引擎遵循bpmn规范,功能全面而臃肿,降低了资源利用率。

技术实现思路

1、本申请的主要目的在于提供一种流程审批方法、装置及设备,旨在解决主流开源引擎遵循bpmn规范,功能全面而臃肿,降低了资源利用率的技术问题。

2、为实现上述目的,本申请提出一种流程审批方法,所述流程审批方法包括:

3、响应于流程创建操作,获取流程模版,所述流程模板包括节点信息,所述节点信息中的节点按层次分组,且同层节点顺序相连;

4、基于所述流程模板创建当前的待审批节点对应的审批任务,将所述审批任务路由至所述待审批节点,并接收所述待审批节点的操作信息;

5、基于所述操作信息更新引擎核心表,直至流程审批完成。

6、在一实施例中,所述引擎核心表至少包括待办任务表、流程消息表和已办任务表,所述操作信息包括操作类型,所述基于所述操作信息更新引擎核心表的步骤包括以下任意一项:

7、若所述操作类型为发起流程,则将所述审批任务插入所述待办任务表,并将审批任务创建消息和流程创建消息保存至所述流程消息表;

8、若所述操作类型为撤销流程,则将所述待办任务表中的所述审批任务迁移至所述已办任务表,并将流程结束消息和任务撤销消息保存至所述流程消息表;

9、若所述操作类型为审批流程,则将所述待办任务表中的所述审批任务迁移至所述已办任务表。

10、在一实施例中,所述基于所述操作信息更新引擎核心表,直至流程审批完成的步骤包括:

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、本申请提出的一个或多个技术方案,至少具有以下技术效果:

40、与相关技术中,流程审批服务主要依赖activiti、flowable、camunda等主流开源工作流引擎实现,但是主流开源引擎遵循bpmn规范,功能全面而臃肿,降低了资源利用率相比,本申请响应于流程创建操作,获取流程模版,所述流程模板包括节点信息,所述节点信息中的节点按层次分组,且同层节点顺序相连;基于所述流程模板创建当前的待审批节点对应的审批任务,将所述审批任务路由至所述待审批节点,并接收所述待审批节点的操作信息;基于所述操作信息更新引擎核心表,直至流程审批完成。本申请响应于流程创建操作之后,会获取包括节点信息的流程模版,由于节点信息中的节点按层次分组,且同层节点顺序相连,层次分明有助于编写和检查,进而根据流程模板创建当前的待审批节点对应的审批任务,将审批任务路由至待审批节点,并仅根据路由节点返回的操作信息更新引擎核心表,而不需要数量庞多的表进行数据记载,可以有效轻量化审批流程。

1.一种流程审批方法,其特征在于,所述流程审批方法包括:

2.如权利要求1所述的流程审批方法,其特征在于,所述引擎核心表至少包括待办任务表、流程消息表和已办任务表,所述操作信息包括操作类型,所述基于所述操作信息更新引擎核心表的步骤包括以下任意一项:

3.如权利要求2所述的流程审批方法,其特征在于,所述基于所述操作信息更新引擎核心表,直至流程审批完成的步骤包括:

4.如权利要求3所述的流程审批方法,其特征在于,所述引擎核心表至少包括执行流记录表,所述节点类型包括并行网关入口、并行网关出口和剩余类型,所述子任务至少包括第一子任务、第二子任务和第三子任务,所述基于所述待审批节点次节点的节点类型,创建对应的子任务的步骤包括:

5.如权利要求4所述的流程审批方法,其特征在于,在所述次节点的接地那类型为所述并行网关出口的情况下,所述将所述子任务路由至所述次节点的步骤包括:

6.如权利要求3所述的流程审批方法,其特征在于,所述引擎核心表至少包括流程实施例表,所述响应于流程创建操作,获取流程模版的步骤包括:

7.如权利要求6所述的流程审批方法,其特征在于,所述响应于流程创建操作,创建流程实例,以及获取流程模版的步骤包括:

8.如权利要求7所述的流程审批方法,其特征在于,所述将所述审批任务路由至所述待审批节点,并接收所述待审批节点的操作信息的步骤之后包括:

9.一种流程审批装置,其特征在于,所述装置包括:

10.一种流程审批设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至8中任一项所述的流程审批方法的步骤。