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

技术编号:39272731 阅读:13 留言:0更新日期:2023-11-07 10:51
本发明专利技术涉及流程业务技术领域,公开了一种流程业务数据处理方法、装置、计算机设备及存储介质。其中,方法,基于预备执行队列、正在执行队列、挂起执行队列和已执行完队列的缓存规则,缓存协程中的流程实例数据和流程业务数据;基于正在执行队列缓存后的协程中的流程实例数据和流程业务数据,通过协程处理业务请求指令对应的流程业务。本发明专利技术可以利用协程和不同队列进行流程数据优化,避免了短时间内重复加载创建状态机,起到了一个缓存快速响应的作用。并且相对与采用多线程的方式来说,协程减少了线程切换的开销,并且协程更加轻量,在节省内存的同时还提高了CPU的利用率。省内存的同时还提高了CPU的利用率。省内存的同时还提高了CPU的利用率。

【技术实现步骤摘要】
流程业务数据处理方法、装置、计算机设备及存储介质


[0001]本专利技术涉及流程业务
,具体涉及一种流程业务数据处理方法、装置、计算机设备及存储介质。

技术介绍

[0002]流程业务引擎系统通过对流程数据进行处理,以广泛应用于各行各业中。相关技术中,在流程数据处理过程中,实时将各类不同流程数据同时运行在内存中,导致流程业务引擎系统在数据处理中的运行内存占用空间增大,影响系统运行速率。

技术实现思路

[0003]有鉴于此,本专利技术提供了一种一种流程业务数据处理方法、装置、计算机设备及存储介质,以解决流程业务引擎系统在处理过程中的运行内存占用空间增大及系统运行速率大的问题。
[0004]根据第一方面,本专利技术实施例提供一种流程业务数据处理方法,方法包括:
[0005]获取用户提交的业务请求指令;
[0006]基于业务请求指令,获取与流程业务对应的流程实例数据和流程业务数据,流程实例数据基于流程名称、流程类型、流程状态、当前节点、参与人、节点数据、业务标识生成,流程业务数据基于业务请求人信息、业务请求原因、业务请求时间和业务关联数据生成;流程业务数据与流程实例数据基于业务标识绑定;
[0007]将流程实例数据和流程业务数据转入协程,并创建用于缓存协程中的流程实例数据和流程业务数据的预备执行队列、正在执行队列、挂起执行队列和已执行完队列;
[0008]基于预备执行队列、正在执行队列、挂起执行队列和已执行完队列的缓存规则,缓存协程中的流程实例数据和流程业务数据;
[0009]基于正在执行队列缓存后的协程中的流程实例数据和流程业务数据,通过协程处理业务请求指令对应的流程业务。
[0010]通过执行上述实施方式,利用了Lua协程和不同队列进行流程数据优化,避免了短时间内重复加载创建状态机,起到了一个缓存快速响应的作用。并且相对与采用多线程的方式来说,协程减少了线程切换的开销,并且协程更加轻量,在节省内存的同时还提高了CPU的利用率。
[0011]在一种可选的实施方式中,基于预备执行队列、正在执行队列、挂起执行队列和已执行完队列的缓存规则,缓存协程中的流程实例数据和流程业务数据,包括:
[0012]在已执行完队列中检索是否存在业务请求指令对应的流程实例数据和流程业务数据;
[0013]若在已执行完队列中检索到存在业务请求指令对应的流程实例数据和流程业务数据,从已执行完队列中获取业务请求对应的协程中的流程实例数据和流程业务数据;
[0014]将协程中的流程实例数据和流程业务数据转入预备执行队列缓存;
[0015]将协程中的流程实例数据和流程业务数据转入正在执行队列中缓存;
[0016]判断正在执行队列中缓存的流程实例数据和流程业务数据是否发生阻塞;
[0017]若正在执行队列中缓存的流程实例数据和流程业务数据发生阻塞,则协程中的流程实例数据和流程业务数据转入挂起执行队列直到阻塞消除转入预备执行队列缓存;
[0018]若正在执行队列中缓存的流程实例数据和流程业务数据没有发生阻塞,则转入所述正在执行队列缓存所述协程中的所述流程实例数据和所述流程业务数据,等待所述协程处理所述业务请求指令对应的流程业务。
[0019]通过执行上述实施方式,基于预备执行队列、正在执行队列、挂起执行队列和已执行完队列的缓存规则,缓存协程中的流程实例数据和流程业务数据,可以缓存快速响应的作用,无需在内存中同时加载各类不同数据,进而达到节省内存的同时还提高了CPU的利用率效果。
[0020]在一种可选的实施方式中,本实施例中的方法,还包括:
[0021]若在已执行完队列中未检索到业务请求对应的流程实例数据和流程业务数据,则从状态机模型获取业务请求对应的流程实例数据和流程业务数据;
[0022]跳入将协程中的流程实例数据和流程业务数据转入预备执行队列缓存在已执行完队列中检索是否存在业务请求对应的流程实例数据和流程业务数据的步骤继续执行。
[0023]通过执行上述实施方式,即使优先在已执行完队列中无法检索到业务请求对应的流程实例数据和流程业务数据,也可以仅在执行时加载状态机模型,无需实时重复加载状态机模型,进而达到减少了内存占用,极大提高了可创建流程数量的目的。
[0024]在一种可选的实施方式中,在通过协程处理业务请求指令对应的流程业务的步骤之后还包括:
[0025]转入已执行完队列,并基于预设时间存储协程中的流程实例数据和流程业务数据;
[0026]当超出预设时间,删除协程和协程中的流程实例数据和流程业务数据。
[0027]通过执行上述实施方式,基于预设时间持久化存储协程中的流程实例数据和流程业务数据,有利于充分利用系统资源,并且基于预设时间自动将不打算使用的协程数据销毁,减少资源的浪费并且加快了流程的执行速度。
[0028]在一种可选的实施方式中,所述从状态机模型加载所述业务请求指令对应的所述流程实例数据和所述流程业务数据,包括:
[0029]基于加载所述状态机模型中的所述流程状态节点获取所述流程实例数据和所述流程业务数据。
[0030]通过执行上述实施方式,仅在执行时加载状态机模型,无需实时重复加载状态机模型,进而达到减少了内存占用,极大提高了可创建流程数量的目的。
[0031]根据第二方面,本专利技术实施例提供一种流程业务数据处理装置,装置包括:
[0032]业务请求获取模块,用于获取用户提交的业务请求指令;
[0033]流程数据获取模块,用于基于所述业务请求指令,获取与所述流程业务对应的所述流程实例数据和流程业务数据,所述流程实例数据基于流程名称、流程类型、流程状态、当前节点、参与人、节点数据、业务标识生成,所述流程业务数据基于业务请求人信息、业务请求原因、业务请求时间和业务关联数据生成;所述流程业务数据与所述流程实例数据基
于所述业务标识绑定;
[0034]执行队列创建模块,用于将所述流程实例数据和所述流程业务数据转入协程,并创建用于缓存所述协程中的所述流程实例数据和所述流程业务数据的预备执行队列、正在执行队列、挂起执行队列和已执行完队列;
[0035]流程数据缓存模块,用于基于所述预备执行队列、所述正在执行队列、所述挂起执行队列和所述已执行完队列的缓存规则,缓存所述协程中的所述流程实例数据和所述流程业务数据;
[0036]流程数据处理模块,用于基于所述正在执行队列缓存后的所述协程中的所述流程实例数据和所述流程业务数据,通过所述协程处理所述业务请求指令对应的流程业务。
[0037]在一种可选的实施方式中,所述流程数据缓存模块,包括:
[0038]业务数据检索子模块,用于在已执行完队列中检索是否存在所述业务请求对应的所述流程实例数据和所述流程业务数据;
[0039]第一数据获取子模块,用于若在所述已执行完队列中检索到存在所述业务请求对应的所述流程实例数据和所述流程业务数据,从所述已执行完队本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流程业务数据处理方法,其特征在于,所述方法包括:获取用户提交的业务请求指令;基于所述业务请求指令,获取与所述流程业务对应的所述流程实例数据和流程业务数据,所述流程实例数据基于流程名称、流程类型、流程状态、当前节点、参与人、节点数据、业务标识生成,所述流程业务数据基于业务请求人信息、业务请求原因、业务请求时间和业务关联数据生成;所述流程业务数据与所述流程实例数据基于所述业务标识绑定;将所述流程实例数据和所述流程业务数据转入协程,并创建用于缓存所述协程中的所述流程实例数据和所述流程业务数据的预备执行队列、正在执行队列、挂起执行队列和已执行完队列;基于所述预备执行队列、所述正在执行队列、所述挂起执行队列和所述已执行完队列的缓存规则,缓存所述协程中的所述流程实例数据和所述流程业务数据;基于所述正在执行队列缓存后的所述协程中的所述流程实例数据和所述流程业务数据,通过所述协程处理所述业务请求指令对应的流程业务。2.根据权利要求1所述的方法,其特征在于,基于所述预备执行队列、所述正在执行队列、所述挂起执行队列和所述已执行完队列的缓存规则,缓存所述协程中的所述流程实例数据和所述流程业务数据,包括:在已执行完队列中检索是否存在所述业务请求指令对应的所述流程实例数据和所述流程业务数据;若在所述已执行完队列中检索到存在所述业务请求指令对应的所述流程实例数据和所述流程业务数据,从所述已执行完队列中获取所述业务请求对应的所述协程中的流程实例数据和所述流程业务数据;将所述协程中的所述流程实例数据和所述流程业务数据转入所述预备执行队列缓存;将所述协程中的流程实例数据和所述流程业务数据转入所述正在执行队列中缓存;判断所述正在执行队列中缓存的所述流程实例数据和所述流程业务数据是否发生阻塞;若所述正在执行队列中缓存的所述流程实例数据和所述流程业务数据发生阻塞,则所述协程中的所述流程实例数据和所述流程业务数据转入挂起执行队列直到阻塞消除转入所述预备执行队列缓存;若所述正在执行队列中缓存的所述流程实例数据和所述流程业务数据没有发生阻塞,则转入所述正在执行队列缓存所述协程中的所述流程实例数据和所述流程业务数据,等待所述协程处理所述业务请求指令对应的流程业务。3.根据权利要求2所述的方法,其特征在于,还包括:若在所述已执行完队列中未检索到所述业务请求对应的所述流程实例数据和所述流程业务数据,则从状态机模型获取所述业务请求对应的所述流程实例数据和所述流程业务数据;跳入将所述协程中的流程实例数据和所述流程业务数据转入所述预备执行队列缓存在已执行完队列中检索是否存在所述业务请求对应的所述流程实例数据和所述流程业务数据的步骤继续执行。4.根据权利要求1所述的方法,其特征在于,在所述通过所述协程处理所述业务请求指
令对应的流程业务的步骤之后还包括:转入所述已执行完队列,并基于预设时间存储所述协程中的所述流程实例数据和所述流程业务数据;当超出所述预设时间,删除所述协程和所述协程中的所述流程实例数据和所述流程业务数据。5.根据权利要求3所述的方法,其特征在于,所述从状态机模型加载所述业务请求指令对应的所述流程实例数据和所述流程业务数据,包括:基于加载所述状态机模型中的所述流程状态节点获取所述流程实例数据和所述流程业务数据。6.一种流程业务数据处理装置,...

【专利技术属性】
技术研发人员:沈洪波赵春生范晓群
申请(专利权)人:杭州行至云起科技有限公司
类型:发明
国别省市:

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

1