一种分布式的流程处理方法、装置及分布式业务流程引擎制造方法及图纸

技术编号:38687857 阅读:14 留言:0更新日期:2023-09-02 23:01
本发明专利技术公开了一种分布式的流程处理方法、装置及分布式业务流程引擎,涉及业务流程引擎技术领域,该方法包括:获取用户的业务请求,并按照预设映射规则,将业务请求映射到对应的流程,提取得到流程图;解析业务请求,对流程入口参数进行初始化;基于流程图中的分组信息以及服务侧的负载状态,调度服务侧处理执行组,得到服务侧返回的分组执行结果以及分组上下文,并根据分组上下文更新流程上下文及确定待调度的服务侧;整合各个执行组的分组执行结果,得到业务处理结果并向用户返回接口响应。本发明专利技术可以适用于复杂业务场景,能够提供针对联机交易、分布式微服务等复杂业务系统的全面支持。持。持。

【技术实现步骤摘要】
一种分布式的流程处理方法、装置及分布式业务流程引擎


[0001]本专利技术涉及业务流程引擎
,具体涉及一种分布式的流程处理方法、装置及分布式业务流程引擎。

技术介绍

[0002]将流程与业务进行绑定形成业务流程引擎能够便捷地实现相关领域的业务需求,又方便用户使用。
[0003]传统的业务流程引擎的原理及功能基本类似,在编辑流程时,流程组件无明确的出入参,而共用一个全局的上下文,导致流程编辑过程与代码完全脱离,对使用者要求较高,并且流程调度不灵活,组件(或任务)分布式调用及执行的策略不灵活。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供了一种分布式的流程处理方法、装置及分布式业务流程引擎。
[0005]根据第一方面,本专利技术实施例提供了一种分布式的流程处理方法,所述方法应用于调度侧,所述方法包括:获取用户的业务请求,并按照预设映射规则,将业务请求映射到对应的流程,提取得到流程图;流程图包括:至少一个的执行组以及分组信息,分组信息包括:执行组之间的执行顺序、执行重要度、执行条件、分组序号、当前组所包含的节点、当前组的分组数据、当前组的所有入口参数以及当前组的服务名;解析业务请求,对流程入口参数进行初始化;基于流程图中的分组信息以及服务侧的负载状态,调度服务侧处理执行组,得到服务侧返回的分组执行结果以及分组上下文,并根据分组上下文更新流程上下文及确定待调度的服务侧;整合各个执行组的分组执行结果,得到业务处理结果并向用户返回接口响应。
[0006]结合第一方面,在第一方面第一实施方式中,所述基于流程图中的分组信息以及服务侧的负载状态,调度服务侧处理执行组,得到服务侧返回的分组执行结果以及分组上下文,并根据分组上下文更新流程上下文及确定待调度的服务侧,具体包括:基于流程图中的分组信息以及服务侧的负载状态,确定首个待执行的执行组对应的服务侧,并将执行组、对应的分组信息、以及流程上下文发送至对应的服务侧;接收服务侧返回的分组执行结果以及分组上下文,并更新流程上下文,基于流程图中的分组信息以及服务侧的负载状态,确定下一个待执行的执行组对应的服务侧,并将执行组、对应的分组信息、流程上下文发送至对应的服务侧;确定接收到末个执行组对应的分组执行结果以及分组上下文,更新流程上下文并终止调度。
[0007]根据第二方面,本专利技术实施例还提供了一种分布式的流程处理方法,所述方法应
用于服务侧,所述方法包括:接收调度侧发送的分组执行请求;分组执行请求包括:执行组、执行组对应的分组信息以及流程上下文,分组信息则至少包括以下内容:执行组之间的执行顺序、执行重要度、执行条件、分组序号、当前组所包含的节点、当前组的分组数据、当前组的所有入口参数以及当前组的服务名;基于分组执行请求,准备节点对应的入口参数,并根据节点对应的节点类型,处理节点得到节点处理结果以及节点对应的出口参数;将节点对应的出口参数更新至分组上下文中;组装执行组内各个节点对应的节点处理结果,得到分组处理结果,并将分组执行结果以及更新后的分组上下文返回给调度侧。
[0008]结合第二方面,在第二方面第一实施方式中,所述基于分组执行请求,准备节点对应的入口参数,并根据节点对应的节点类型,处理节点得到节点处理结果以及节点对应的出口参数,具体包括:基于分组执行请求,根据节点配置的取值表达式,准备节点入口参数;获取节点对应的节点类型;确定节点类型为功能节点,执行相应的功能节点逻辑,得到节点处理结果以及节点对应的出口参数;确定节点类型为业务节点,从缓存中获取节点对应组件的方法,通过反射的方式调用业务组件,并获取方法的调用结果,得到节点处理结果以及节点对应的出口参数。
[0009]结合第二方面,在第二方面第二实施方式中,该方法还包括以下步骤:基于分组执行请求启动并扫描出被标记的组件,解析扫描出的组件对应的元数据,缓存并上报元数据;服务侧所需的组件会被标记。
[0010]根据第二方面,本专利技术实施例还提供了一种分布式的流程处理装置,所述装置应用于调度侧,所述装置包括:第一接收模块,用于获取用户的业务请求,并按照预设映射规则,将业务请求映射到对应的流程,提取得到流程图;流程图包括:至少一个的执行组以及分组信息,分组信息包括:执行组之间的执行顺序、执行重要度、执行条件、分组序号、当前组所包含的节点、当前组的分组数据、当前组的所有入口参数以及当前组的服务名;解析模块,用于解析业务请求,对流程入口参数进行初始化;调度模块,用于基于流程图中的分组信息以及服务侧的负载状态,调度服务侧处理执行组,得到服务侧返回的分组执行结果以及分组上下文,并根据分组上下文更新流程上下文及确定待调度的服务侧;整合模块,用于整合各个执行组的分组执行结果,得到业务处理结果并向用户返回接口响应。
[0011]根据第四方面,本专利技术实施例还提供了一种分布式的流程处理装置,所述装置应用于服务侧,所述装置包括:第二接收模块,用于接收调度侧发送的分组执行请求;分组执行请求包括:执行组、执行组对应的分组信息以及流程上下文,分组信息则至少包括以下内容:执行组之间的执行顺序、执行重要度、执行条件、分组序号、当前组所包含的节点、当前组的分组数据、当
前组的所有入口参数以及当前组的服务名;准备模块,用于基于分组执行请求,准备节点对应的入口参数,并根据节点对应的节点类型,处理节点得到节点处理结果以及节点对应的出口参数;更新模块,用于将节点对应的出口参数更新至分组上下文中;组装模块,用于组装执行组内各个节点对应的节点处理结果,得到分组处理结果,并将分组执行结果以及更新后的分组上下文返回给调度侧。
[0012]根据第五方面,本专利技术实施例还提供了一种分布式业务流程引擎,包括:编辑器、调度器和至少一个执行器,调度器、执行器均与编辑器连接,执行器与调度器连接,以根据所述组件列表,进行业务逻辑组合,形成符合业务的流程图;编辑器,用于将业务流程拆为至少一个组件,并获取执行器反馈的执行器组件列表;调度器,用于接收用户的业务请求,按照预设映射规则,将业务请求映射到对应的流程,提取得到流程图,解析业务请求,对流程入口参数进行初始化,基于流程图中的分组信息以及服务侧的负载状态,调度服务侧处理执行组,得到服务侧返回的分组执行结果以及分组上下文,并根据分组上下文更新流程上下文及确定待调度的执行器,并整合各个执行组的分组执行结果,得到业务处理结果并向用户反馈;流程图包括:至少一个的执行组以及分组信息,分组信息包括:执行组之间的执行顺序、执行重要度、执行条件、分组序号、当前组所包含的节点、当前组的分组数据、当前组的所有入口参数以及当前组的服务名;执行器,用于接收调度侧发送的分组执行请求,基于分组执行请求,准备节点对应的入口参数,根据节点对应的节点类型,处理节点得到节点处理结果以及节点对应的出口参数,将节点对应的出口参数更新至分组上下文中,组装执行组内各个节点对应的节点处理结果,得到分组处理结果,并将分组执行结果以及更新后的分组上下文返回给调度器;分组执行请求包括:执行组、执行组对应的分组信息以及流程上下文;执行器接收到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式的流程处理方法,其特征在于,所述方法应用于调度侧,所述方法包括:获取用户的业务请求,并按照预设映射规则,将业务请求映射到对应的流程,提取得到流程图;流程图包括:至少一个的执行组以及分组信息,分组信息包括:执行组之间的执行顺序、执行重要度、执行条件、分组序号、当前组所包含的节点、当前组的分组数据、当前组的所有入口参数以及当前组的服务名;解析业务请求,对流程入口参数进行初始化;基于流程图中的分组信息以及服务侧的负载状态,调度服务侧处理执行组,得到服务侧返回的分组执行结果以及分组上下文,并根据分组上下文更新流程上下文及确定待调度的服务侧;整合各个执行组的分组执行结果,得到业务处理结果并向用户返回接口响应。2.根据权利要求1所述的分布式的流程处理方法,其特征在于,所述基于流程图中的分组信息以及服务侧的负载状态,调度服务侧处理执行组,得到服务侧返回的分组执行结果以及分组上下文,并根据分组上下文更新流程上下文及确定待调度的服务侧,具体包括:基于流程图中的分组信息以及服务侧的负载状态,确定首个待执行的执行组对应的服务侧,并将执行组、对应的分组信息、以及流程上下文发送至对应的服务侧;接收服务侧返回的分组执行结果以及分组上下文,并更新流程上下文,基于流程图中的分组信息以及服务侧的负载状态,确定下一个待执行的执行组对应的服务侧,并将执行组、对应的分组信息、流程上下文发送至对应的服务侧;确定接收到末个执行组对应的分组执行结果以及分组上下文,更新流程上下文并终止调度。3.一种分布式的流程处理方法,其特征在于,所述方法应用于服务侧,所述方法包括:接收调度侧发送的分组执行请求;分组执行请求包括:执行组、执行组对应的分组信息以及流程上下文,分组信息则至少包括以下内容:执行组之间的执行顺序、执行重要度、执行条件、分组序号、当前组所包含的节点、当前组的分组数据、当前组的所有入口参数以及当前组的服务名;基于分组执行请求,准备节点对应的入口参数,并根据节点对应的节点类型,处理节点得到节点处理结果以及节点对应的出口参数;将节点对应的出口参数更新至分组上下文中;组装执行组内各个节点对应的节点处理结果,得到分组处理结果,并将分组执行结果以及更新后的分组上下文返回给调度侧。4.根据权利要求3所述的分布式的流程处理方法,其特征在于,所述基于分组执行请求,准备节点对应的入口参数,并根据节点对应的节点类型,处理节点得到节点处理结果以及节点对应的出口参数,具体包括:基于分组执行请求,根据节点配置的取值表达式,准备节点入口参数;获取节点对应的节点类型;确定节点类型为功能节点,执行相应的功能节点逻辑,得到节点处理结果以及节点对应的出口参数;确定节点类型为业务节点,从缓存中获取节点对应组件的方法,通过反射的方式调用业务组件,并获取方法的调用结果,得到节点处理结果以及节点对应的出口参数。
5.根据权利要求3所述的分布式的流程处理方法,其特征在于,该方法还包括以下步骤:基于分组执行请求启动并扫描出被标记的组件,解析扫描出的组件对应的元数据,缓存并上报元数据;服务侧所需的组件会被标记。6.一种分布式的流程处理装置,其特征在于,所述装置应用于调度侧,所述装置包括:第一接收模块,用于获取用户的业务请求,并按照预设映射规则,将业务请求映射到对应的流程,提取得到流程图;流程图包括:至少一个的执行组以及分组信...

【专利技术属性】
技术研发人员:李杰叶吕楸蔡锦堂田欢春
申请(专利权)人:浙江云融创新科技有限公司
类型:发明
国别省市:

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

1