规则引擎的执行方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:35133390 阅读:22 留言:0更新日期:2022-10-05 10:07
本发明专利技术公开了一种规则引擎的执行方法、装置、设备及计算机可读存储介质。本发明专利技术根据预设的规则参数类组装规则实例对象结构值,获取目标条件对象实例,根据目标条件对象实例和固定查询条件数组构建哈希关键值;并根据目标条件对象实例、动态查询条件数组和分类组合条件数组构建组合关键值;根据哈希关键值和组合关键值从规则引擎中获取规则结果,本发明专利技术基于规则引擎来处理规则条件,将业务逻辑与代码分离开来,从而简化了业务代码的开发。从而简化了业务代码的开发。从而简化了业务代码的开发。

【技术实现步骤摘要】
规则引擎的执行方法、装置、设备及计算机可读存储介质


[0001]本专利技术涉及规则引擎
,尤其涉及一种规则引擎的执行方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]随着业务需求不断增长,不同客户群体对需求的个性化要求也越来越高,涉及的规则条件也越来越多,目前,通常使用传统的条件代码处理业务规则,而传统的编码方式代码较为复杂,且在增加或修改条件时需要重新修改代码,从而使得执行业务规则的业务代码开发效率较低。
[0003]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0004]本专利技术的主要目的在于提供一种规则引擎的执行方法、装置、设备及计算机可读存储介质,旨在解决执行业务规则的业务代码开发效率较低的技术问题。
[0005]为实现上述目的,本专利技术提供一种规则引擎的执行方法,所述规则引擎的执行方法包括:
[0006]根据预设的规则参数类组装规则实例对象结构值;所述规则参数类包括固定条件框架、动态条件框架和分类组合条件框架,所述规则实例对象结构值包括固定查询条件数组、动态查询条件数组和分类组合条件数组;
[0007]获取目标条件对象实例,根据所述目标条件对象实例和所述固定查询条件数组构建哈希关键值;
[0008]并根据所述目标条件对象实例、所述动态查询条件数组和所述分类组合条件数组构建组合关键值;
[0009]根据所述哈希关键值和所述组合关键值从规则引擎中获取规则结果。
[0010]可选地,所述根据所述目标条件对象实例和所述固定查询条件数组构建哈希关键值的步骤包括:
[0011]获取所述目标条件对象实例的主键值;
[0012]将所述固定查询条件数组与所述目标条件对象实例的主键值进行拼接,得到哈希关键值。
[0013]可选地,所述根据所述目标条件对象实例、所述动态查询条件数组和所述分类组合条件数组构建组合关键值的步骤包括:
[0014]获取所述目标条件对象实例的主键值;
[0015]将所述动态查询条件数组、所述分类组合条件数组、以及所述目标条件对象实例的主键值进行拼接,得到所有的组合关键值。
[0016]可选地,所述将所述动态查询条件数组、所述分类组合条件数组、以及所述目标条
件对象实例的主键值进行拼接,得到所有的组合关键值的步骤包括:
[0017]通过预设的递归算法,将所述动态查询条件数组与所述目标条件对象实例的主键值进行拼接,得到组合条件;
[0018]将所述组合条件与分类组合条件数组进行组合处理,得到所有的组合关键值。
[0019]可选地,所述将所述动态查询条件数组与所述目标条件对象实例的主键值进行拼接,得到组合条件的步骤包括:
[0020]若存在多个所述动态查询条件,则确定各所述动态查询条件中不为空的目标动态查询条件;
[0021]按照预设业务规则的先后顺序将所述目标动态查询条件和目标条件对象实例的主键值进行拼接,得到组合条件。
[0022]可选地,所述根据所述哈希关键值和所述组合关键值从规则引擎中获取规则结果的步骤之前,还包括:
[0023]获取新增的新增条件对象实例,并检测规则引擎中是否存在与所述新增条件对象实例对应的历史条件对象实例;
[0024]若存在与所述新增条件对象实例对应的历史条件对象实例,则获取所述新增条件对象实例的新增主键值;
[0025]根据所述新增主键值与所述规则实例对象结构值构建新增关键值;
[0026]将所述新增关键值以及所述新增主键值存储至所述规则引擎中。
[0027]可选地,所述若存在与所述新增条件对象实例对应的历史条件对象实例的步骤之后,还包括:
[0028]检测所述历史条件对象实例是否为空;
[0029]若所述历史条件对象实例不为空,则将所述历史条件对象实例应的历史关键值删除。
[0030]此外,为实现上述目的,本专利技术还提供一种规则引擎的执行装置,所述规则引擎的执行装置包括:
[0031]条件获取模块,用于根据预设的规则参数类组装规则实例对象结构值;其中,所述规则参数类包括固定条件框架、动态条件框架和分类组合条件框架,所述规则实例对象结构值包括固定查询条件数组、动态查询条件数组和分类组合条件数组;
[0032]关键值构建模块,用于获取目标条件对象实例,根据所述目标条件对象实例和所述固定查询条件数组构建哈希关键值;
[0033]所述关键值构建模块,还用于根据所述目标条件对象实例、所述动态查询条件数组和所述分类组合条件数组构建组合关键值;
[0034]结果获取模块,用于根据所述哈希关键值和所述组合关键值从规则引擎中获取规则结果。
[0035]此外,为实现上述目的,本专利技术还提供一种规则引擎的执行设备,所述规则引擎的执行设备包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的规则引擎执行程序,所述规则引擎执行程序被处理器执行时实现如上述的规则引擎的执行方法的步骤。
[0036]此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读
存储介质上存储有规则引擎执行程序,所述规则引擎执行程序被处理器执行时实现如上述的规则引擎的执行方法的步骤。
[0037]本专利技术提供一种规则引擎的执行方法、装置、设备及计算机可读存储介质,根据预设的规则参数类组装规则实例对象结构值,规则参数类包括固定条件框架、动态条件框架和分类组合条件框架,规则实例对象结构值包括固定查询条件数组、动态查询条件数组和分类组合条件数组;获取目标条件对象实例,根据目标条件对象实例和固定查询条件数组构建哈希关键值;并根据目标条件对象实例、动态查询条件数组和分类组合条件数组构建组合关键值;根据哈希关键值和组合关键值从规则引擎中获取规则结果,本专利技术基于规则引擎来处理规则条件,将业务逻辑与代码分离开来,从而简化了业务代码的开发,且本专利技术基于哈希值的关键字规则引擎的处理逻辑,通过对核心规则实例对象进行封装处理,在新增或者更改规则条件时,只需要基于规则实例对象结构值进行修改,即可实现规则结果的获取,从而简化了对规则库的编制,提高了业务规则处理开发的效率。
附图说明
[0038]图1是本专利技术实施例方案涉及的硬件运行环境的设备的结构示意图;
[0039]图2为本专利技术规则引擎的执行方法第一实施例的流程示意图;
[0040]图3为本专利技术规则引擎的执行装置的装置结构示意图;
[0041]图4为本专利技术规则引擎的执行方法一实施例涉及的规则存储流程示意图;
[0042]图5为本专利技术规则引擎的执行方法一实施例涉及的业务规则应用流程图示意图。
[0043]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0044]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种规则引擎的执行方法,其特征在于,所述规则引擎的执行方法包括步骤:根据预设的规则参数类组装规则实例对象结构值;所述规则参数类包括固定条件框架、动态条件框架和分类组合条件框架,所述规则实例对象结构值包括固定查询条件数组、动态查询条件数组和分类组合条件数组;获取目标条件对象实例,根据所述目标条件对象实例和所述固定查询条件数组构建哈希关键值;并根据所述目标条件对象实例、所述动态查询条件数组和所述分类组合条件数组构建组合关键值;根据所述哈希关键值和所述组合关键值从规则引擎中获取规则结果。2.如权利要求1所述的规则引擎的执行方法,其特征在于,所述根据所述目标条件对象实例和所述固定查询条件数组构建哈希关键值的步骤包括:获取所述目标条件对象实例的主键值;将所述固定查询条件数组与所述目标条件对象实例的主键值进行拼接,得到哈希关键值。3.如权利要求1所述的规则引擎的执行方法,其特征在于,所述根据所述目标条件对象实例、所述动态查询条件数组和所述分类组合条件数组构建组合关键值的步骤包括:获取所述目标条件对象实例的主键值;将所述动态查询条件数组、所述分类组合条件数组、以及所述目标条件对象实例的主键值进行拼接,得到所有的组合关键值。4.如权利要求3所述的规则引擎的执行方法,其特征在于,所述将所述动态查询条件数组、所述分类组合条件数组、以及所述目标条件对象实例的主键值进行拼接,得到所有的组合关键值的步骤包括:通过预设的递归算法,将所述动态查询条件数组与所述目标条件对象实例的主键值进行拼接,得到组合条件;将所述组合条件与分类组合条件数组进行组合处理,得到所有的组合关键值。5.如权利要求4所述的规则引擎的执行方法,其特征在于,所述将所述动态查询条件数组与所述目标条件对象实例的主键值进行拼接,得到组合条件的步骤包括:若存在多个所述动态查询条件数组,则确定各所述动态查询条件数组中不为空的目标动态查询条件数组;按照预设业务规则的先后顺序将所述目标动态查询条件数组和目标条件对象实例的主键值进行拼接,得到组...

【专利技术属性】
技术研发人员:刘家婉
申请(专利权)人:深圳市云恋科技有限公司
类型:发明
国别省市:

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

1