[发明专利]一种分布式规则引擎系统及其构建方法在审
申请号: | 201611124410.2 | 申请日: | 2016-12-08 |
公开(公告)号: | CN106777029A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 李京;杨金星;张金斗 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 安徽省合肥新安专利代理有限责任公司34101 | 代理人: | 汪祥虬 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 规则 引擎 系统 及其 构建 方法 | ||
技术领域
本发明属于计算机软件开发技术领域,具体涉及分布式规则引擎系统及其构建方法。
背景技术
目前,已有通过规则引擎实现将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策,接受数据输入,解释业务规则,并根据业务规则做出业务决策。但随着业务的发展,数据规模的爆炸性增加以及业务规则规模的不断增加,传统的单机规则引擎由于内存、CPU处理能力以及磁盘读写能力等资源的限制将无法处理大规模的推理任务,分布式规则引擎则可以将推理任务分发到不同的处理机上进行并行处理解决问题。
已有的分布式规则引擎技术,如维也纳分布式规则引擎(ViDRE)和由浙江大学曹斌等人发表在第二届电气电子工程师学会云计算会议(2nd IEEE International Conference on Cloud Computing Technology and Science)的论文解决了单机规则引擎的运行瓶颈,考虑点都只从规则出发,但其仍存在冗余规则和事实冗余分配,且随着业务数据的增加,会明显出现大规模数据集处理能力不佳,以及迭代计算能力差的问题。
发明内容
本发明的目的在于提供一种分布式规则引擎系统及其构建方法,以解决现有方法中规则与事实冗余分配、大规模(数据规模在TB级别)数据集处理能力不佳以及迭代计算不佳的问题,达到有效地提高规则引擎的执行效率。
本发明的分布式规则引擎系统,其特征在于,包括:将业务数据通过多种格式的数据源存放分布式存储系统中的事实数据集模块S1;设计规则编写标准,提供规则编译方法,将业务决策逻辑转化成规则,存放在分布式存储系统中的规则集模块S2;基于通用并行框架(Spark)集群,加载事实数据集模块S1处理的数据集和规则集模块S2处理的规则集,构成事实数据对象集合和规则对象,构建规则推理流程,进行规则推理及点火执行的规则推理模块S3;其中:
所述事实数据集模块S1:是业务数据的集合,其由计算机文件格式的Parquet文件、JSON文件、CSV文件、HBase文件,或支持JDBC接口的数据库构成,并存放在分布式文件系统中;
所述规则集模块S2:提供一套自定义规则编写标准和编译方式,编写格式为IF condition THEN action,每个业务规则包括触发条件和执行动作,用户依据编写标准编写一系列业务规则,并存放在分布式存储系统中;
所述规则推理模块S3,在通用并行框架(Spark)分布式集群当中执行,其包含有:事实对象集合构造S4、规则对象构造S5、执行策略S6、模式匹配S7和点火执行S8;
对于事实对象集合构造S4:通过把用户提供的数据路径进行一定策略的划分,构成对象名和数据源加载路径,在按照数据源路径加载数据源文件内容过程中,根据数据结构格式(Schema信息),动态构成事实对象集合,即为分布式数据集(DataFrame),分配到工作节点中,并缓存到内存或磁盘中;
对于规则对象构造S5:通过用户提供规则路径,将用户提供的业务规则编译并封装成规则对象,规则的触发条件和执行动作以对象成员函数的形式来体现,其中将触发条件的逻辑抽象成结构化查询语言(SQL);
对于执行策略S6:规则匹配执行的次序通过规则执行策略进行重新排序后依次执行;
对于模式匹配S7:对规则对象进行遍历,通过分布式数据集(DataFrame)中事实对象的当前状态来判断是否满足规则的触发条件;
对于点火执行S8:执行规则右部操作--规则触发时执行的一系列行为。
本发明的分布式规则引擎的构建方法,其特征在于包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611124410.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于即时通讯软件的信息筛选方法及装置
- 下一篇:信息推送方法及装置