[发明专利]一种基于业务规则配置执行业务请求命令的方法和系统在审
申请号: | 202111091925.8 | 申请日: | 2021-09-17 |
公开(公告)号: | CN113703740A | 公开(公告)日: | 2021-11-26 |
发明(设计)人: | 俞晨煌;刘金地;黄耀晖;王剑冰;黄炜耀;蔡国城;周顺翔;李振裕;温扬睿;刘智勇;连铮坤 | 申请(专利权)人: | 厦门中盾安信科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/34;G06F8/41;G06F9/455 |
代理公司: | 厦门市宽信知识产权代理有限公司 35246 | 代理人: | 巫丽青 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 业务 规则 配置 执行 请求 命令 方法 系统 | ||
本发明提供了一种基于业务规则配置执行业务请求命令的方法和系统,所述方法包括:接收业务规则配置信息并解析,将所述业务规则配置信息编译为相应的字节码文件并保存至规则库中;接收业务请求命令,从所述规则库中调取所述业务请求命令对应的字节码文件并执行,并所述业务请求命令的发起方发回执行结果。通过本发明的方案,用户无需掌握专业的编程知识,只需配置业务规则配置信息就可以完成相应代码的生成,且生成的代码是以字节码的形式存储在规则库中,当被调取执行时省去了编译过程的语法语义分析等环节,运行速度快,效率高。
技术领域
本发明涉及业务规则配置领域,具体为一种基于业务规则配置执行业务请求命令的方法和系统。
背景技术
规则引擎是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,其使用预定义的语义模块编写业务决策逻辑。规则引擎通过接受数据输入并根据输入的数据匹配业务规则,从而能够实现根据业务规则做出业务决策。
在当前业务系统的需求中,规则类需求是非常大的一部分,这部分需求的特征是变化速度较快,开发团队对于“规则开发”容易感到疲惫,且对于规则的少量改动就需要走全流程(开发、测试、部署),迭代成本高。
以现有的Drools引擎为例,如图1所示,其使用流程如下:首先业务人员整理需求,编写需求文档;而后开发工程师根据需求文档理解相关需求,并使用专用的DSL语言编写相关规则代码;而后将编写完成后的规则代码存储在规则库中;而后客户端使用Drools引擎读取规则库的内容,并进行规则的匹配,通过解释器解释相关规则并执行。
不难看出,现有的规则引擎用户无法独立完成规则配置,由于规则主体是DSL编程语言,因此仍然需要开发工程师来进行维护。DSL语言是通过解释器进行解释执行的,每次执行规则都需调用一次解释器,性能较低。规则规模变大以后也会变得不好维护,相对硬编码的优势便不复存在。且现有规则的语法仅适合扁平的规则,对于嵌套条件语义(then里嵌套when…then子句)的规则只能将条件进行笛卡尔积组合以后进行配置,不利于维护。
发明内容
为此,需要提供一种规则业务逻辑与系统代码分离的方案,用以简化规则的开发与维护。
为实现上述目的,在第一方面,本发明提供了一种基于业务规则配置执行业务请求命令的方法,所述方法包括:
接收业务规则配置信息并解析,将所述业务规则配置信息编译为相应的字节码文件并保存至规则库中;
接收业务请求命令,从所述规则库中调取所述业务请求命令对应的字节码文件并执行,并所述业务请求命令的发起方发回执行结果。
作为一种可选的实施例,所述业务规则配置信息包括规则名称、规则执行条件、条件参数范围、条件运算式、规则调用顺序中的任一项或多项。
作为一种可选的实施例,接收业务规则配置信息包括:通过可视化界面接收用户输入的业务规则配置信息。
作为一种可选的实施例,将所述业务规则配置信息编译为相应的字节码文件包括:
根据所述业务规则配置信息生成第一格式规则代码;
对所述第一格式规则代码进行编译,得到可执行的字节码文件。
作为一种可选的实施例,根据所述业务规则配置信息生成第一格式规则代码包括:
设置生成规则代码对应的依赖库;
根据所述业务规则配置信息确定规则类主体各项参数;
基于所述依赖库和所述定规则类主体各项参数生成规则代码块;
基于所述规则代码块得到第一格式规则代码。
作为一种可选的实施例,基于所述依赖库和所述定规则类主体各项参数生成规则代码块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门中盾安信科技有限公司,未经厦门中盾安信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111091925.8/2.html,转载请声明来源钻瓜专利网。