System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 流程处理方法、装置、计算机设备及存储介质制造方法及图纸_技高网

流程处理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:41126205 阅读:6 留言:0更新日期:2024-04-30 17:53
本申请实施例公开了一种流程处理方法、装置、计算机设备及存储介质。方法包括:获取消息队列发送的目标流程实例;判断与第一流程节点对应的第一节点信息中是否包含中断标志,第一流程节点为多个流程节点中当前执行的流程节点;若包含中断标志,则将目标流程实例的第一节点执行状态信息以及目标流程实例存储至数据库中;当数据库中的目标流程实例符合第二节点信息中的唤醒条件时,将目标流程实例发送至消息队列;当通过消息队列重新获取目标流程实例时,根据数据库中的第一节点执行状态信息执行目标流程实例;若不包含中断标志,则执行第二流程节点。通过实施本申请实施例的方法可节省存储资源以及提高流程引擎的执行速度。

【技术实现步骤摘要】

本申请涉及互联网,尤其涉及一种流程处理方法、装置、计算机设备及存储介质


技术介绍

1、流程引擎是一种软件工具,用于管理和执行复杂的业务流程。它可以帮助组织自动化业务流程,优化工作流程和加强执行效率。流程引擎使用者可以通过定义、管理和执行流程,实现任务的自动分配、流程控制、任务调度等功能。其具备灵活性、可视化、自动化、已经高度的扩展性的优点,主要用于审批流程,订单处理,工作流程管理,项目管理等场景。

2、目前业界开源的流程引擎包括activiti,camunda,floable,jbpm4等,这些流程引擎都强依赖持久化技术对流程状态进行记录。

3、然而,面对大量数据的营销场景,这些流程引擎在每个流程节点的执行时,都将执行状态记录到数据库中,那么数据库需要存储的数据量非常大,并且每执行一个节点都需要对数据库进行读取操作,影响流程引擎的执行速度,现亟需一种方法,可以节省存储资源以及提高流程引擎的执行速度。


技术实现思路

1、本申请实施例提供了一种流程处理方法、装置、计算机设备及存储介质,可以节省存储资源以及提高流程引擎的执行速度。

2、第一方面,本申请实施例提供了一种流程处理方法,其包括:

3、获取消息队列发送的目标流程实例,所述目标流程实例包括多个流程节点以及各所述流程节点分别对应的节点信息;

4、判断与第一流程节点对应的第一节点信息中是否包含中断标志,所述第一流程节点为多个所述流程节点中当前执行的流程节点;

5、若所述第一节点信息中包含所述中断标志,则将所述目标流程实例的第一节点执行状态信息以及所述目标流程实例存储至数据库中,所述第一节点执行状态信息指示所述目标流程实例当前执行到所述第一流程节点;

6、当第二节点信息中的唤醒条件被满足时,将所述数据库中的所述目标流程实例发送至所述消息队列,所述第二节点信息为第二流程节点对应的节点信息,所述第二流程节点为所述第一流程节点的下一个节点;

7、当通过所述消息队列重新获取所述目标流程实例时,根据所述数据库中的所述第一节点执行状态信息执行所述目标流程实例;

8、若所述第一节点信息中不包含所述中断标志,则执行所述第二流程节点。

9、第二方面,本申请实施例还提供了一种流程处理装置,其包括:

10、收发单元,用于获取消息队列发送的目标流程实例,所述目标流程实例包括多个流程节点以及各所述流程节点分别对应的节点信息;

11、处理单元,用于判断与第一流程节点对应的第一节点信息中是否包含中断标志,所述第一流程节点为多个所述流程节点中当前执行的流程节点;若所述第一节点信息中包含所述中断标志,则将所述目标流程实例的第一节点执行状态信息以及所述目标流程实例存储至数据库中,所述第一节点执行状态信息指示所述目标流程实例当前执行到所述第一流程节点;当所述数据库中的所述目标流程实例符合第二节点信息中的唤醒条件时,则通过所述收发单元将所述目标流程实例发送至所述消息队列,所述第二节点信息为第二流程节点对应的节点信息,所述第二流程节点为所述第一流程节点的下一个节点;当通过所述消息队列重新获取所述目标流程实例时,根据所述数据库中的所述第一节点执行状态信息执行所述目标流程实例;若所述第一节点信息中不包含所述中断标志,则执行所述第二流程节点。

12、第三方面,本申请实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。

13、第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述方法。

14、本申请实施例提供了一种流程处理方法、装置、计算机设备及存储介质。一方面,本申请实施例中的流程引擎在执行流程实例中的节点时,会判断当前执行节点的节点信息中是否包括中断标志,若包括中断标志,则说明执行完当前节点后要中断执行,将目标流程实例以及当前的节点执行状态(即第一节点执行状态)保存至数据库中以便后续恢复执行对应的流程实例;若不包括中断标志,则直接将流程扭转至下一个流程节点,不需要访问数据库以及存储信息至数据库中,从而节省了数据库的存储资源以及提高了流程引擎的执行速度;另一方面,本申请实施例中,当目标流程实例被唤醒再次进入流程时,将该目标流程实例发送给消息队列,复用该消息队列进入流程引擎,不需要额外为重新唤醒的流程实例创建流程引擎的入口,提高消息队列的使用率。

本文档来自技高网...

【技术保护点】

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

2.根据权利要求1所述的方法,其特征在于,所述唤醒条件为所述目标流程实例在所述数据库中的存储大于预设时长阈值;所述当第二节点信息中的唤醒条件被满足时,将所述数据库中的所述目标流程实例发送至所述消息队列,包括:

3.根据权利要求1所述的方法,其特征在于,所述唤醒条件为接收到携带有预设标识的唤醒消息;所述当第二节点信息中的唤醒条件被满足时,将所述数据库中的所述目标流程实例发送至所述消息队列,包括:

4.根据权利要求1所述的方法,其特征在于,所述当通过所述消息队列重新获取所述目标流程实例时,根据所述数据库中的所述第一节点执行状态信息执行所述目标流程实例,包括:

5.根据权利要求1所述的方法,其特征在于,所述获取消息队列发送的目标流程实例之前,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述从预设的多个流程实例模板中确定与所述目标流程实例标识对应的目标流程实例模板之后,且所述根据所述目标流程实例模板以及所述节点应用参数创建所述目标流程实例之前,所述方法还包括:p>

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述获取消息队列发送的目标流程实例之后,且所述判断与第一流程节点对应的第一节点信息中是否包含中断标志之前,所述方法还包括:

8.一种流程处理装置,其特征在于,包括:

9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的流程处理方法。

10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的流程处理方法。

...

【技术特征摘要】

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

2.根据权利要求1所述的方法,其特征在于,所述唤醒条件为所述目标流程实例在所述数据库中的存储大于预设时长阈值;所述当第二节点信息中的唤醒条件被满足时,将所述数据库中的所述目标流程实例发送至所述消息队列,包括:

3.根据权利要求1所述的方法,其特征在于,所述唤醒条件为接收到携带有预设标识的唤醒消息;所述当第二节点信息中的唤醒条件被满足时,将所述数据库中的所述目标流程实例发送至所述消息队列,包括:

4.根据权利要求1所述的方法,其特征在于,所述当通过所述消息队列重新获取所述目标流程实例时,根据所述数据库中的所述第一节点执行状态信息执行所述目标流程实例,包括:

5.根据权利要求1所述的方法,其特征在于,所述获取消息队列发送的目标流程实例之前,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于...

【专利技术属性】
技术研发人员:陈栋蔡荣耀林启明
申请(专利权)人:深圳乐信软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1