[发明专利]规则引擎的实现方法及装置有效
申请号: | 201710448421.4 | 申请日: | 2017-06-14 |
公开(公告)号: | CN107220098B | 公开(公告)日: | 2020-06-19 |
发明(设计)人: | 柴海鹏;李顺龙;樊京鑫;张木召 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F9/448 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 规则 引擎 实现 方法 装置 | ||
本发明提供了一种规则引擎的实现方法及装置,其中的方法包括:接收输入数据;将所述输入数据在所述规则引擎的规则集中匹配,其中,所述规则集包括多条规则,且所述规则是基于JSON格式配置的规则;对于所述规则,如果所述输入数据中包括规则对应的关键属性,则根据所述关键属性对所述输入数据进行规则校验,并根据所述规则对所述输入数据进行更新操作,如果所述输入数据中不包括所述关键属性,则从所述输入数据中提取出对象,利用Java反射机制,获取到所述对象对应的属性值,并根据所述对象及属性值对所述输入数据进行规则校验,并根据规则对所述输入数据进行更新操作。本发明可简化规则引擎的开发过程、提高效率。
技术领域
本发明涉及计算机及互联网技术领域,特别是涉及一种规则引擎的实现方法及装置。
背景技术
规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。规则引擎的工作流程可以理解为:首先接受数据输入,然后解释业务规则,最后根据业务规则做出业务决策。
对于业务系统而言,复杂及多变的业务规则,如果没有规则引擎的支撑,很难做到业务代码的解耦,无法及时响应业务的变化。现有的规则引擎,如开源的Drools(JBossRules,一种易于访问企业策略、易于调整以及易于管理的开源业务规则引擎),配置是基于Xml(Extensible Markup Language,可扩展标记语言)和特有的Drl文件(扩展名为drl.的文件)实现,Drools规则配置的可视化编辑程度不高,主要靠后台开发人员维护,所以可视化开发及维护成本较高。
发明内容
为了简化规则引擎的开发,本发明实施例提供一种规则引擎的实现方法及装置。
根据本发明的一个方面,提供一种规则引擎的实现方法,包括:接收输入数据;将所述输入数据在所述规则引擎的规则集中匹配,其中,所述规则集包括多条规则,且所述规则是基于JSON格式配置的规则;对于所述规则,如果所述输入数据中包括规则对应的关键属性,则根据所述关键属性对所述输入数据进行规则校验,并根据所述规则对所述输入数据进行更新操作,如果所述输入数据中不包括所述关键属性,则从所述输入数据中提取出对象,利用Java反射机制,获取到所述对象对应的属性值,并根据所述对象及属性值对所述输入数据进行规则校验,并根据规则对所述输入数据进行更新操作。
可选的,所述规则包括条件对象和执行对象,所述方法还包括:基于JSON格式,配置所述条件对象和执行对象;其中,所述条件对象包括字段项参数、操作项目参数和取值项参数组成的JSON数组,所述执行对象包括字段项参数和设置值项参数组成的JSON数组。
可选的,所述根据所述关键属性对所述输入数据进行规则校验包括:按照规则优先级获取到优先级最高的规则;针对当前获取的规则,根据所述规则中条件对象包括的各项参数,确定由一个参数或多个参数组成的关键属性格式;解析所述输入数据,提取出所述关键属性格式对应的关键属性;如果输入数据的关键属性对应的取值与所述条件对象中的关键属性取值一致,则确定为规则校验通过。
可选的,所述根据所述规则对所述输入数据进行更新操作包括:根据所述规则中执行对象包括的各项参数,确定由一个参数或多个参数组成的关键属性格式;解析所述输入数据,提取出所述关键属性格式对应的关键属性;根据所述条件对象中的关键属性取值更新所述输入数据的关键属性的取值。
可选的,如果所述输入数据中不包括所述关键属性,所述从所述输入数据中提取出对象、利用Java反射机制获取到所述对象对应的属性值包括:解析所述字段项参数为对象/属性的格式,并从所述输入数据中获取到对象;利用Java反射机制,从所述输入数据中提取出所述对象,并利用该对象的Get/Set方法得到该对象的属性值。
可选的,所述规则是以分布式结构缓存的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710448421.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种能够储物的新型淋浴房
- 下一篇:公交站台的顶棚固定结构