[发明专利]轻量级的规则引擎处理方法及装置在审
申请号: | 202110625383.1 | 申请日: | 2021-06-04 |
公开(公告)号: | CN113312392A | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 苑桐;聂砂;王欢;梁慧 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/22 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 贾磊;李辉 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 轻量级 规则 引擎 处理 方法 装置 | ||
本发明公开了一种轻量级的规则引擎处理方法及装置,涉及大数据技术领域,其中该方法包括:在接收到规则引擎触发请求时,进行全局规则前处理校验;若得到全局规则校验成功的结果时,根据请求包括的输入条件,查询得到满足条件的规则列表;解析规则列表对应的规则树,按照先根遍历算法对规则树进行遍历,并对遍历的每一个规则树节点进行验证;若规则树验证成功,根据本地缓存的规则树定义及每个节点的校验规则、规则组数据结构与规则间的映射关系信息,对输入的数据进行规则校验,返回满足请求的规则信息。本发明提供了一种高效便捷地处理业务规则的规则引擎。
技术领域
本发明涉及大数据技术领域,尤其涉及一种轻量级的规则引擎处理方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
规则引擎主要目的是为了独立持久有效地处理业务规则,但是它缺乏一种有效处理业务规则资源的高效便捷的方法。
在面向业务人员使用这个角度的设计来说,现有规则引擎主要满足于业务逻辑的图型化、类自然语言形式的展示,以及几种通用的业务规则类型设计,整体规则引擎实现起来非常的重,业务人员调用规则引擎首先需要理解规则引擎,首先面对这么重的建模和工具,就让人望而生畏,项目组的真正的需求是一个轻量级的规则引擎的实现。
其次,一般规则引擎会提供规则引擎语言,针对于技术人员使用。从这个角度的设计来说,从原则上来说,规则引擎也没有细分业务人员和技术人员之间明确的界限。因为面向业务的相关设计的缺憾,难以真正使业务人员参与到实际开发以及维护当中,业务人员无法理解规则引擎语言,所以技术人员不得不担起业务人员的责任,从技术角度来说,这是不利于最大程度发挥技术人员能力的,是降低开发效率的行为,而且相关业务规则的检索维护也比较繁琐笨重。总而言之,就是存在工具不适宜使用者使用,开发资源浪费的问题,让人感到沮丧。
综上所述,目前规则引擎繁重,因此,无法实现高效便捷地处理业务规则。
发明内容
本发明实施例提供一种轻量级的规则引擎处理方法,用以高效便捷地处理业务规则,该方法包括:
在接收到规则引擎触发请求时,进行全局规则前处理校验;
若得到全局规则校验成功的结果时,根据请求包括的输入条件,查询得到满足条件的规则列表;
解析规则列表对应的规则树,按照先根遍历算法对规则树进行遍历,并对遍历的每一个规则树节点进行验证;
若规则树验证成功,根据本地缓存的规则树定义及每个节点的校验规则、规则组数据结构与规则间的映射关系信息,对输入的数据进行规则校验,返回满足请求的规则信息。
在一个实施例中,解析规则列表对应的规则树,按照先根遍历算法对规则树进行遍历,并对遍历的每一个规则树节点进行验证,包括:解析规则列表对应的规则树,按照先根遍历算法遍历规则树的节点,对于规则树中的每一个节点,执行下列操作:
从输入的请求数据中获取比较数据,从规则树节点中获取对应节点的校验器,将比较数据、待比较数据、数据位置一并提交给校验器进行校验;
若得到校验成功的结果时,按照先根遍历算法开始遍历当前节点的孩子节点,如果没有孩子节点,表明已经找到满足条件的规则路径,规则树验证成功。
在一个实施例中,上述轻量级的规则引擎处理方法还包括若得到验证失败的结果时,校验当前节点的兄弟节点,如果没有其它兄弟节点,返回验证失败的信息。
在一个实施例中,上述轻量级的规则引擎处理方法还包括若得到全局规则校验失败的结果时,返回验证失败的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110625383.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种棉签消毒装置
- 下一篇:一种能够自锁紧的电力防震锤