[发明专利]一种决策引擎中规则运行文件的处理方法和装置在审
申请号: | 202210657556.2 | 申请日: | 2022-06-10 |
公开(公告)号: | CN114942770A | 公开(公告)日: | 2022-08-26 |
发明(设计)人: | 徐凤阳;王瑞;谷浩伟 | 申请(专利权)人: | 北京宇信科技集团股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/445;G06F9/455 |
代理公司: | 北京卓岚智财知识产权代理事务所(特殊普通合伙) 11624 | 代理人: | 沈煜华 |
地址: | 100044 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 决策 引擎 规则 运行 文件 处理 方法 装置 | ||
1.一种决策引擎中规则运行文件的处理方法,其特征在于,包括:
步骤S1:将同一个规则集以不同的版本号多次发布部署后生成多个规则运行文件;
步骤S2:读取多个所述规则运行文件,并且解析、编译以及类加载多个所述规则运行文件,生成多个规则集Class类;
步骤S3:获取多个所述规则集Class类,执行所述规则集Class类中的规则方法,并获取所述规则方法的输出值;
步骤S4:将所述规则方法的输出值赋值给用户自定义的输出参数变量,获得所述输出参数变量的值。
2.根据权利要求1所述的处理方法,其特征在于,所述步骤S1包括:
步骤S11:在决策引擎定义端的配置文件中为同一个规则集配置不同的版本号;
步骤S12:对同一个规则集以不同的版本号多次发布部署后,生成多个规则运行文件,每个所述规则运行文件的文件名称包括规则集id和版本号。
3.根据权利要求2所述的处理方法,其特征在于,所述步骤S2包括:
步骤S21:读取多个所述规则运行文件;
步骤S22:对每个所述规则运行文件的规则内容进行语法解析,获得所述规则内容的伪代码,并将所述伪代码转化为规则集Java语言代码;
步骤S23:将每个所述规则运行文件的文件名作为规则集Java类名,编译所述规则集Java语言代码,生成多个Class二进制文件;
步骤S24:将所述多个Class二进制文件加载到JVM内存中,生成多个以所述规则运行文件的文件名命名的规则集Class类。
4.根据权利要求3所述的处理方法,其特征在于,所述步骤S3包括:
步骤S31:获取每个所述规则集Class类,并利用Java反射机制分别将每个所述规则集Class类生成规则集Class类对象;
步骤S32:按照所述规则集Class类对象执行所述规则集Class类中的规则方法,获得规则方法的输出值。
5.一种决策引擎中规则运行文件的处理方法,其特征在于,包括:
步骤S1’:在决策引擎定义端的可视化界面设置规则集的规则优先级字段值之后,通过发布部署生成规则运行文件,所述规则优先级字段值存储在所述规则运行文件中;
步骤S2’:读取所述规则运行文件,并且解析、编译以及类加载所述规则运行文件,生成规则集Class类;
步骤S3’:获取所述规则集Class类,并按照所述规则优先级字段值依次执行所述规则集Class类中的规则方法,依次获得多个所述规则方法的输出值;
步骤S4’:将所述多个所述规则方法的输出值赋值给用户自定义的输出参数变量数组,获得所述输出参数变量数组的值。
6.根据权利要求5所述的处理方法,其特征在于,所述步骤S2’包括:
步骤S21’:读取所述规则运行文件;
步骤S22’:对所述规则运行文件的规则内容进行语法解析,获得所述规则内容的伪代码,并把所述伪代码转化为规则集Java语言代码;
步骤S23’:将所述规则集Java语言代码编译成Class二进制文件;
步骤S24’:将所述Class二进制文件加载到JVM内存中生成规则集Class类。
7.根据权利要求6所述的处理方法,其特征在于,所述步骤S3’包括:
步骤S31’:获取所述规则集Class类,并利用Java反射机制将所述规则集Class类生成规则集Class类对象;
步骤S32’:按照所述规则集Class对象的规则优先级字段值的升序排序的方式依次执行所述规则集Class类中的规则方法,获得规则方法的输出值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京宇信科技集团股份有限公司,未经北京宇信科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210657556.2/1.html,转载请声明来源钻瓜专利网。