[发明专利]由计算机执行规则处理的方法及装置在审
申请号: | 201910198097.4 | 申请日: | 2019-03-15 |
公开(公告)号: | CN109947401A | 公开(公告)日: | 2019-06-28 |
发明(设计)人: | 张鹏 | 申请(专利权)人: | 第四范式(北京)技术有限公司 |
主分类号: | G06F8/10 | 分类号: | G06F8/10;G06F8/41 |
代理公司: | 北京鼎佳达知识产权代理事务所(普通合伙) 11348 | 代理人: | 王伟锋;刘铁生 |
地址: | 100085 北京市海淀区上*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 规则语句 关系表达式 规则元素 计算机执行 规则处理 关系运算符 逻辑运算符 算术运算符 规则编译 连接关系 二叉树 有效地 风控 构建 金融 | ||
本发明公开了一种由计算机执行规则处理的方法及装置,包括:获取规则语句,其中,所述规则语句由至少一个关系表达式组成;从所述规则语句中提取组成和/或连接各个关系表达式的规则元素,其中,所述规则元素包括:关系表达式所涉及的变量、常数、算术运算符、关系运算符、括号和/或连接关系表达式的逻辑运算符;根据提取的规则元素,构建对应所述规则语句的规则二叉树。本发明用于在诸如金融风控等领域中有效地执行规则编译处理。
技术领域
本发明涉及计算机技术领域,尤其涉及一种由计算机执行规则处理的方法及装置。
背景技术
随着大数据时代的到来,常常需要针对海量的数据来应用特定的规则,以得到相应的判断结果,例如,使用承载着规则策略的规则引擎来完成上述过程。然而,随着规则变得越来越复杂,而编写规则的人员(往往是某个专门领域的业务专家,例如,金融专家)可能并不具备计算机技术背景,导致难以将现实中的业务规则与诸如规则引擎的软件工具结合起来,成为制约业务规则应用有效性的一个重要因素。
针对上述问题,通常采用下述两种方式来解决:一种是使用编程语言硬编码的方式,将规则编译成可执行代码,它的缺陷非常明显,规则制定者无法维护生效的规则,也难以校验生效的代码是否正确,每次增减规则也非常繁琐;另外一种是借助开源工具,比如drools,将规则编译成可执行代码,drools使用DSL语言,难以调试,DSL语言本质上也不利于无编程能力的人员理解,需要额外转化,增加了系统的复杂性。
无论上述哪种解决策略,都缺乏一种直接的、易于非编程人员理解的规则语法,同时做到无编程能力的人可以直接维护,又能直接编辑,又不需要借助第三方重新生成可执行代码,最后可以做到规则的热部署。
发明内容
鉴于上述问题,本发明提出了一种由计算机执行规则处理的方法及装置,主要目的在于解决在计算机系统中难以编写和维护规则的问题。
为达到上述目的,本发明主要提供如下技术方案:
第一方面,本发明提供一种由计算机执行规则处理的方法,具体包括:
获取规则语句,其中,所述规则语句由至少一个关系表达式组成;
从所述规则语句中提取组成和/或连接各个关系表达式的规则元素,其中,所述规则元素包括:关系表达式所涉及的变量、常数、算术运算符、关系运算符、括号和/或连接关系表达式的逻辑运算符;以及
根据提取的规则元素,构建对应所述规则语句的规则二叉树。
可选的,所述方法还包括:
获取各个变量的取值;以及
基于获取的各个变量的取值来执行所述规则二叉树。
可选的,所述获取规则语句包括:从规则数据库导入规则语句,或者,直接接收用户创建的规则语句。
可选的,所述根据提取的规则元素,构建对应所述规则语句的规则二叉树包括:
至少根据提取的算术运算符、关系运算符、括号和/或逻辑运算符,确定变量和/或常数之间的运算顺序;以及
按照确定的运算顺序,构建对应所述规则语句的规则二叉树。
可选的,所述按照确定的运算顺序,构建对应所述规则语句的规则二叉树包括:
按照确定的运算顺序,进一步考虑并行运算性来构建作为平衡二叉树的对应所述规则语句的规则二叉树。
可选的,规则二叉树被构建为子节点对应于变量和/或常数且父节点对应于算术运算符、关系运算符和/或逻辑运算符。
可选的,所述并行运算性包括关系表达式之间的并行运算。
可选的,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于第四范式(北京)技术有限公司,未经第四范式(北京)技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910198097.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:代码结构生成方法、装置、计算机装置及可读存储介质
- 下一篇:一种项目开发系统