[发明专利]一种规则引擎实现方法及装置在审
申请号: | 201810074331.8 | 申请日: | 2018-01-25 |
公开(公告)号: | CN108399066A | 公开(公告)日: | 2018-08-14 |
发明(设计)人: | 燕猛 | 申请(专利权)人: | 链家网(北京)科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 规则语法 自然语言 计算机语言 定义规则 规则引擎 语法 计算机基础知识 规则结果 接口规范 开发效率 业务逻辑 用户修改 预先定义 传入的 映射 开发 | ||
1.一种规则引擎实现方法,其特征在于,包括:
S1,根据Java ScriptEngine的接口规范,使用自然语言定义规则语法,并将所述规则语法映射到相应的计算机语言;
S2,根据用户修改后的所述规则语法,以及用户传入的参数,运行所述规则语法对应的计算机语言,获取规则结果。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1中将所述规则语法映射为计算机程序语言的步骤具体包括:
将所述规则语法中的条件判断词语映射到相应的条件判断符;
将所述规则语法中的运算词语映射到相应的运算符;
将所述规则语法中的操作词语映射到相应的操作符;
将所述规则语法中的方法语句映射到相应的操作对象。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤S2具体包括:
将所述参数与修改后的所述规则语法进行匹配;
若修改后的所述规则语法中存在所述参数,则将所述参数传入修改后的所述规则语法对应的计算机语言,并运行修改后的所述规则语法对应的计算机语言,获取规则结果。
4.根据权利要求2所述的方法,其特征在于,将所述规则语法中的条件判断词语映射到相应的条件判断符的步骤具体包括:
将所述规则语法中的“如果”映射为“if”;
将所述规则语法中的“否则”映射为“else”;
将所述规则语法中的“当”映射为“while”。
5.根据权利要求2所述的方法,其特征在于,将所述规则语法中的运算词语映射到相应的运算符的步骤具体包括:
将所述规则语法中的“大于”映射为“>”;
将所述规则语法中的“小于”映射为“<”;
将所述规则语法中的“等于”映射为“=”。
6.根据权利要求2所述的方法,其特征在于,将所述规则语法中的操作词语映射到相应的操作符的步骤具体包括:
将所述规则语法中的“打印”映射为“println”。
7.一种规则引擎实现装置,其特征在于,包括:
定义单元,用于根据Java ScriptEngine的接口规范,使用自然语言定义规则语法,并将所述规则语法映射到相应的计算机语言;
运行单元,用于根据用户修改后的所述规则语法,以及用户传入的参数,运行所述规则语法对应的计算机语言,获取规则结果。
8.根据权利要求7所述的装置,其特征在于,所述定义单元具体用于:
将所述规则语法中的条件判断词语映射到相应的条件判断符;
将所述规则语法中的运算词语映射到相应的运算符;
将所述规则语法中的操作词语映射到相应的操作符;
将所述规则语法中的方法语句映射到相应的操作对象。
9.一种规则引擎实现设备,其特征在于,包括:
至少一个处理器、至少一个存储器和总线;其中,
所述处理器和存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器运行的程序指令,所述处理器调用所述程序指令能够运行如权利要求1至6任一所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机语言,所述计算机语言使所述计算机运行如权利要求1至6任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于链家网(北京)科技有限公司,未经链家网(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810074331.8/1.html,转载请声明来源钻瓜专利网。