一种状态机引擎编排方法、装置及计算机设备制造方法及图纸

技术编号:36803627 阅读:9 留言:0更新日期:2023-03-09 00:01
本发明专利技术实施例公开了一种状态机引擎编排方法、装置及计算机设备,该方法包括:获取待执行的事件信息,事件信息包括标识信息;根据标识信息从预设数据库中获取与标识信息对应的插件集;根据标识信息,从预配置的配置文件中获取插件集中每一个插件的上下文属性;根据上下文属性和插件集中每一个插件,构建与标识信息对应的事件模板。息对应的事件模板。息对应的事件模板。

【技术实现步骤摘要】
一种状态机引擎编排方法、装置及计算机设备


[0001]本专利技术涉及状态机编排领域,具体涉及一种状态机引擎编排方法、装置及计算机设备。

技术介绍

[0002]订单状态流转是交易系统最核心的工作,订单系统往往会存在状态多、链路长以及逻辑复杂的特点,还存在多场景、多类型、多业务维度等业务特性。在保证订单状态流转稳定性的前提下、可扩展性和可维护性是我们需要重点关注和解决的问题;传统做法采用硬编码的方式通过组合if else判断订单状态流转。
[0003]上述传统做法存在以下两个问题:1.可扩展性、可维护性差,当面对多状态+多类型+多场景+多维度复杂业务逻辑状态流转处理时硬编码方式写的逻辑复杂、可读性极差;2.代码耦合严重、开发效率低,不同链路之间需求开发需兼顾各方业务处理,涉及通用链路变更需要各方测试协同验证。

技术实现思路

[0004]因此,为解决现有技术的不足,本专利技术实施例提供了一种状态机引擎编排方法、装置及计算机设备。
[0005]根据第一方面,本专利技术实施例公开了状态机引擎编排方法,获取待执行的事件信息,事件信息包括标识信息;
[0006]根据标识信息从预设数据库中获取与标识信息对应的插件集;
[0007]根据标识信息,从预配置的配置文件中获取插件集中每一个插件的上下文属性;
[0008]根据上下文属性和插件集中每一个插件,构建与标识信息对应的事件模板。
[0009]可选地,事件信息还包括至少两个状态信息以及每一个状态信息之间的连接关系,当预设数据库中不存在与标识信息对应的插件集,方法还包括:
[0010]根据至少两个状态信息构建每一个状态信息对应的插件;
[0011]根据连接关系,确定状态信息对应的插件的上下文属性,以便状态机引擎根据每一个状态信息对应的插件和上下文属性构建事件模板。
[0012]可选地,方法还包括:事件模板存储于预设位置;当获取到与事件模板的标识信息相对应的事件信息时,从预设位置获取事件模板用于执行完成事件信息。
[0013]可选地,根据标识信息从预设数据库中获取与标识信息对应的插件集,具体包括:根据倒排索引从预设数据库中获取与标识信息对应的插件集。
[0014]可选地,方法包括:所有的插件通过Map集合存储于预设数据库。
[0015]可选地,当存在多个事件信息时,方法还包括:利用多个线程分别确定每一个事件信息对应的事件模板。
[0016]根据第二方面,本专利技术实施例公开了状态机引擎编排装置,事件获取模块,用于获取待执行的事件信息,事件信息包括标识信息;
[0017]插件获取模块,用于根据标识信息从预设数据库中获取与标识信息对应的插件集;
[0018]确定属性模块,用于根据标识信息,从预配置的配置文件中获取插件集中每一个插件的上下文属性;
[0019]构建模板模块,用于根据上下文属性和插件集中每一个插件,构建与标识信息对应的事件模板。
[0020]可选地,事件信息还包括至少两个状态信息以及每一个状态信息之间的连接关系,当预设数据库中不存在与标识信息对应的插件集,装置还包括:
[0021]构建插件模块,用于根据至少两个状态信息构建每一个状态信息对应的插件;
[0022]确定模块,用于根据连接关系,确定状态信息对应的插件的上下文属性,以便状态机引擎根据每一个状态信息对应的插件和上下文属性构建事件模板。
[0023]根据第三方面,本专利技术实施例还公开了一种计算机设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行如第一方面或第一方面任一可选实施方式的状态机引擎编排方法的步骤。
[0024]根据第四方面,本专利技术实施方式还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式的状态机引擎编排方法的步骤。
[0025]本专利技术技术方案,具有如下优点:
[0026]本专利技术提供的状态机引擎编排方法,该方法包括,获取待执行的事件信息,其中事件信息包括标识信息,根据标识信息从预设数据库中获取与标识信息对应的插件集,可以根据实际的需求获取与标识信息对应的插件集,不需要对已有的事件信息的事件模板进行修改,从而减少了由于修改事件模板而造成的系统不稳定的问题,进一步地,根据标识信息确定插件集,实现了系统在多维度多场景下的复杂业务逻辑状态的设定,在获取到插件集之后,需要根据标识信息从预配置的配置文件中的获取插件集中每一个插件之间的上下文属性,通过配置文件来规定插件之间的上下文属性,降低了代码之间的耦合性,从而提高了开发效率,最后根据上下文属性和插件集构建与标识信息对应的事件模板。
附图说明
[0027]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图1为本专利技术实施例中状态机引擎编排方法的一个具体示例的流程图;
[0029]图2为本专利技术实施例中状态机引擎编排方法的一个具体示例的流程图;
[0030]图3为本专利技术实施例中状态机引擎编排方法的一个具体示例的示意图;
[0031]图4为本专利技术实施例中状态机引擎编排装置的一个具体示例的原理框图;
[0032]图5为本专利技术实施例中计算机设备的一个具体示例图。
具体实施方式
[0033]下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0034]在本专利技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0035]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0036]此外,下面所描述的本专利技术不同实施方式中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种状态机引擎编排方法,其特征在于,所述方法包括:获取待执行的事件信息,所述事件信息包括标识信息;根据所述标识信息从预设数据库中获取与所述标识信息对应的插件集;根据所述标识信息,从预配置的配置文件中获取所述插件集中每一个插件的上下文属性;根据所述上下文属性和所述插件集中每一个插件,构建与所述标识信息对应的事件模板。2.根据权利要求1所述的方法,其特征在于,所述事件信息还包括至少两个状态信息以及每一个状态信息之间的连接关系,当所述预设数据库中不存在与所述标识信息对应的插件集,所述方法还包括:根据所述至少两个状态信息构建每一个状态信息对应的插件;根据所述连接关系,确定所述状态信息对应的插件的上下文属性,以便所述状态机引擎根据每一个所述状态信息对应的插件和所述上下文属性构建事件模板。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:所述事件模板存储于预设位置;当获取到与所述事件模板的标识信息相对应的事件信息时,从所述预设位置获取所述事件模板用于执行完成所述事件信息。4.根据权利要求1所述的方法,其特征在于,所述根据所述标识信息从预设数据库中获取与所述标识信息对应的插件集,具体包括:根据倒排索引从所述预设数据库中获取与标识信息对应的插件集。5.根据权利要求1所述的方法,其特征在于,所述方法包括:所有的所述插件通过Map集合存储于所述预设数据库。6.根据权利要求1所述的方法,其特征在于,当存在多个所述事件信息时,所述方法还包括:利用多个线程分别确定每一个事件信息对...

【专利技术属性】
技术研发人员:王令
申请(专利权)人:乾三北京科技有限公司
类型:发明
国别省市:

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

1