[发明专利]一种基于规则引擎的业务处理方法和装置有效
申请号: | 201810763933.4 | 申请日: | 2018-07-12 |
公开(公告)号: | CN108920222B | 公开(公告)日: | 2021-12-03 |
发明(设计)人: | 于思禹;邓崇鑫 | 申请(专利权)人: | 北京京东金融科技控股有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;张效荣 |
地址: | 101111 北京市北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 规则 引擎 业务 处理 方法 装置 | ||
本发明公开了一种基于规则引擎的业务处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:将具有业务输入对象、业务输出对象和业务处理代理对象的对象实体实例发送至规则引擎;根据对象实体实例,从规则引擎的规则文件集中匹配出相应的规则文件;其中,规则文件中包括业务处理代理类的执行函数;调用规则文件的执行函数得到业务处理对象,以通过业务处理对象对业务输入对象进行相应的业务逻辑处理,将业务逻辑处理结果封装到业务输出对象中。该方法在规则文件中声明业务处理代理类的执行函数,将部分业务处理逻辑从规则文件中转移到业务处理对象中执行,降低了规则文件的编写数量,增加了规则文件的可读性、可维护性。
技术领域
本发明涉及计算机领域,尤其涉及一种基于规则引擎的业务处理方法和装置。
背景技术
软件开发过程中,业务逻辑经常会不断地发生变化,为了适应业务逻辑的变化,将规则引擎技术引入到了业务需求中。规则引擎技术的实现原理为:将业务逻辑抽象为对象实体和规则文件,利用规则引擎进行模式匹配,以为对象实体筛选出合适的规则文件,之后利用筛选出的规则文件对对象实体进行业务逻辑处理,输出业务逻辑处理结果。
上述实现过程中,规则文件需要用特定的规则表达式语言来编写,例如,一些规则引擎使用可扩展标记语言(Extensible Markup Language,XML)实现,还有一些规则引擎使用领域专用语言(Domain Specified Language,DSL)实现,开发人员需要新学习一套规则表达式语言。规则引擎中的对象实体需要事先声明为实例,才可以通过规则文件在内存中操作。规则文件和业务逻辑是紧密相关的,每次有新的业务需求都需要新建一个规则文件。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
(1)规则引擎的规则表达式语言繁琐,开发人员难以快速上手;规则表达式语言只是将业务逻辑抽象到规则文件,并不能减轻业务逻辑的复杂度,在一些循环业务逻辑中,开发规则文件甚至比使用原生开发语言的难度更大。
(2)面对相对复杂的业务逻辑,使用规则引擎时需要大量编写、组合规则得到规则文件,造成整体项目可维护性较低,易用性较低。
(3)不同的业务需求既存在差异化也存在通用性,由于规则文件之间无法关联,对于重复的业务逻辑,开发人员需重复编写规则文件。
发明内容
有鉴于此,本发明实施例提供一种基于规则引擎的业务处理方法和装置,通过将对象实体实例输入至规则引擎,以匹配出包括业务处理代理类的执行函数的规则文件,调用规则文件的执行函数得到业务处理对象,进而对业务输入对象进行业务逻辑处理。本实施例中规则文件中只保留业务处理代理类的执行函数,将部分业务处理逻辑从规则文件中解耦到业务处理对象中,降低了规则文件的编写数量,增加了规则文件的可读性、可维护性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种基于规则引擎的业务处理方法。
本发明实施例的一种基于规则引擎的业务处理方法,包括:将具有业务输入对象、业务输出对象和业务处理代理对象的对象实体实例发送至所述规则引擎;根据所述对象实体实例,从所述规则引擎的规则文件集中匹配出相应的规则文件;其中,所述规则文件中包括业务处理代理类的执行函数;调用所述规则文件的执行函数得到业务处理对象,以通过所述业务处理对象对所述业务输入对象进行相应的业务逻辑处理,将业务逻辑处理结果封装到所述业务输出对象中。
可选地,所述方法还包括:定义所述业务处理代理类、业务处理封装类和业务处理类;其中,所述业务处理代理类的执行函数的第一个参数为所述业务处理类的类名,其余参数包括所述业务输入对象和所述业务输出对象;所述业务处理封装类的执行函数的参数与所述业务处理代理类的第二个参数对齐;所述业务处理类是所述业务处理封装类的实现子类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东金融科技控股有限公司,未经北京京东金融科技控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810763933.4/2.html,转载请声明来源钻瓜专利网。