[发明专利]基于Java的动态配置规则的方法、装置、系统和可读介质有效
申请号: | 202010638517.9 | 申请日: | 2020-07-06 |
公开(公告)号: | CN111522558B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 杨涛;刘丁源 | 申请(专利权)人: | 嘉兴太美医疗科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/71;G06F8/30;G06F9/445 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 骆希聪 |
地址: | 314001 浙江省嘉兴市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 java 动态 配置 规则 方法 装置 系统 可读 介质 | ||
本申请提供了一种基于Java的动态配置规则的方法、装置、系统和计算机可读介质。该方法包括以下步骤:接收终端传入的RESTful调用请求,其中RESTful调用请求中包含规则表达式的字符串;基于预设知识库对字符串进行解析;将解析后的字符串拆解为相应的令牌并构建相应的抽象语法树;根据抽象语法树生成相应的字节码文件;以及将字节码文件加载进Java虚拟机并执行。该方法能够根据由终端传入的包含规则表达式的调用请求,生成相应的字节码文件并执行,从而实现了由终端业务人员进行规则的动态配置并即时实施规则,无需开发人员预先进行规则配置。
技术领域
本申请主要涉及数据处理技术领域,尤其涉及一种基于Java的动态配置规则的方法、装置、系统和计算机可读介质。
背景技术
规则引擎是为了应对大量快速变化的商业业务逻辑应运而生的技术方案,能够根据既定事实和知识库按照一定的算法执行推理逻辑得到正确的结果。规则引擎主要由三部分组成:知识库(Knowledge Base)、既定事实库(Fact Base)和推理机。
现有技术中的硬编码方式、编程组件化OSGI、静态脚本(例如TypeScript使得逻辑部分修改实时生效)以及面向开发者的规则引擎(例如Urule、Drools、Easy-Rule)都是面向开发者的,需要开发人员预先进行规则配置,业务人员不能动态地配置或变更规则。
因此,如何让业务人员能够动态地配置规则并即时实施规则是本领域技术人员亟需解决的问题。
发明内容
本申请要解决的技术问题是提供一种基于Java的动态配置规则的方法、装置、系统和计算机可读介质,能够让终端用户动态地配置规则并即时实施规则。
为解决上述技术问题,本申请提供了一种基于Java的动态配置规则的方法,包括:接收终端传入的RESTful调用请求,其中所述RESTful调用请求中包含规则表达式的字符串;基于预设知识库对所述字符串进行解析;将解析后的所述字符串拆解为相应的令牌并构建相应的抽象语法树;根据所述抽象语法树生成相应的字节码文件;以及将所述字节码文件加载进Java虚拟机并执行。
可选地,所述预设知识库的数量为一个或多个,其中每个预设知识库中包括一个或多个预设知识点。
可选地,所述基于预设知识库对所述字符串进行解析包括:基于所述预设知识点对所述字符串进行匹配和转化;以及根据转化结果对所述字符串中的每个令牌进行类型标记,并得到解析后的所述字符串。
可选地,所述将所述解析后的字符串拆解为相应的令牌并构建相应的抽象语法树是基于上下文无关文法、符号优先级和符号关联性进行拆解。
可选地,所述根据所述抽象语法树生成相应的字节码文件是使用Javaparser语法解析器进行。
可选地,所述规则表达式的字符串为基于函数调用和/或自然语言格式。
可选地,当所述预设知识库的数量为多个时,根据以下的一项或多项对所述多个预设知识库进行定义:租户、项目、以及业务场景。
为解决上述技术问题,本申请还提供了一种基于Java的动态配置规则装置,包括:接收模块,用于接收终端传入的RESTful调用请求,其中所述RESTful调用请求中包含规则表达式的字符串;解析模块,用于基于预设知识库对所述字符串进行解析;语法树模块,用于将解析后的所述字符串拆解为相应的令牌并构建相应的抽象语法树;字节码文件模块,用于根据所述抽象语法树生成相应的字节码文件;以及加载模块,用于将所述字节码文件加载进Java虚拟机并执行。
为解决上述技术问题,本申请还提供了一种基于Java的动态配置规则系统,包括:存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如上所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于嘉兴太美医疗科技有限公司,未经嘉兴太美医疗科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010638517.9/2.html,转载请声明来源钻瓜专利网。