业务流程运行方法、装置、计算机设备及存储介质与流程

文档序号:35927659发布日期:2023-11-04 20:56阅读:23来源:国知局
业务流程运行方法、装置、计算机设备及存储介质与流程

本技术实施例涉及流程协同,特别涉及一种业务流程运行方法、装置、计算机设备及存储介质。


背景技术:

1、流程协同是指两个或多个流程之间的流程或节点的执行先后顺序的控制。也就是说,流程a的开始或结束需要依赖于流程b的执行,或者,流程a的某一环节的开始或结束依赖于流程b的某一环节的执行。

2、在相关技术中,在具有跨流程多实例协同需求时,通常需要针对需求进行特殊的代码处理,该过程处理繁琐且缺乏可配置性,且在需求发生变化时需要对代码进行修改,改造量较大。


技术实现思路

1、本技术实施例提供了一种业务流程运行方法、装置、设备及存储介质,可以实现协同和业务的解耦,提高流程协同的可配置性,提高流程协同配置的灵活性。该技术方案如下:

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、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1