[发明专利]一种提高规则引擎响应速度的方法在审
申请号: | 201410602360.9 | 申请日: | 2014-10-31 |
公开(公告)号: | CN105635328A | 公开(公告)日: | 2016-06-01 |
发明(设计)人: | 田瑞琴;唐鼎;杨兴华;杨国立;赵志军;慈松;谭红艳 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | H04L29/12 | 分类号: | H04L29/12 |
代理公司: | 北京方安思达知识产权代理有限公司 11472 | 代理人: | 王宇杨;杨青 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 规则 引擎 响应 速度 方法 | ||
技术领域
本发明涉及人工智能领域中的规则引擎技术,特别是涉及一种提高规则引擎响 应速度的方法。
背景技术
规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业 务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。由于 规则引擎是软件组件,所以只有开发人员才能通过程序接口的方式来使用和控制它, 通常情况下,开发人员在程序中使用规则引擎的五个步骤为:
1)创建规则引擎对象;
2)向引擎中加载规则集或更换规则集;
3)向引擎提交需被规则集处理的事实集;
4)命令引擎执行;
5)导出引擎执行结果,从引擎中撤出处理过的数据。
规则引擎常应用于业务规则经常发生变化的系统。规则引擎可以将用户的业务 规则和应用系统的开发相分离,使业务规则的变更不会影响到应用系统的开发,而 且用户可以基于规则引擎灵活定制自己的业务规则。
规则引擎的推理步骤如下:
1)将事实集输入至工作内存;
2)将规则集中的规则和事实集中的事实比较;
3)如果执行规则存在冲突,即同时激活了多个规则,将冲突的规则放入冲突集 合;
4)解决冲突,将激活的规则按顺序放入;
5)执行规则,重复,直至执行完所有的规则。
在对实时性要求比较高的规则引擎应用系统中,在其它条件等同的情况下,提 高规则引擎的响应速度尤为重要。
目前已有很多方法用于提高规则引擎的响应速度。1999年,美国范德堡大学John Heusinkveld等人提出了用html来定义规则的方法;2008年,韩国信息与通信大学 ChangbaiChoi等人提出了在移动设备上通过限制Rete算法匹配过程中的规则集和事 实集的大小的方法来提高规则引擎的执行效率;2009年,武汉大学ZhangRuijun等 人提出了将用xml文件表示的规则集转化为and/ortree,再转换为0-1matrix的方法, 进一步提高规则引擎的执行效率;2010年,北京邮电大学的重点智能通信软件实验 室DingXiao等人提出了通过优化rete算法来提高规则引擎的的执行效率的方法; 2010年,天津大学计算机系GangZhang等人提出了预先编译规则文件、详述规则文 件内容、子功能包划分三种提高规则引擎执行效率的方法;2012年,美国托雷多大 学SomaShekaraSreenadhReddyDepuru等人提出了数据分类的思想:不同类型的用 户所进行匹配的规则不一样,由此减少规则集的数量,提高系统响应速度。
上述这些研究方法在不同程度上提高了规则引擎的响应速度,但是这些研究方 法大多适用于运行在PC机或服务器上的规则引擎,而对于轻量化设备上规则引擎不 适用,主要原因是轻量化设备的计算能力和存储能力有限,直接应用上述这些研究 方法会有一定的局限性。
由于传统的规则引擎是将规则集和事实集完全匹配之后,再去执行匹配成功的 所有规则对应的动作,这样的执行顺序会让较先匹配成功的规则不能及时得到执行, 而越先匹配成功的规则,等待执行的时间越长,这样的串行执行顺序会影响应用系 统的实时性。
发明内容
本发明的目的在于克服目前规则引擎中规则匹配过程和规则执行过程串行工作 方法存在的缺陷,提出了边匹配边执行的并行工作方法,并在匹配过程中,优先匹 配优先级高的规则,从而提高了规则引擎的响应速度。
为达到上述目的,本发明提供了一种提高规则引擎响应速度的方法,所述方法 包括:
建立事实集;所述事实集是若干个事实的集合;
建立规则集;所述规则集是若干个规则的集合,所述规则包括条件部分和动作 部分;对所述规则集中的每条规则增加优先级属性;
基于匹配算法将事实集的事实与规则集的规则按照规则的优先级顺序进行匹 配,只要有匹配成功的规则,就执行规则的动作部分,执行完毕后,继续进行匹配, 重复上述过程直至事实集中的所有的事实与规则集中的规则匹配完毕。
上述技术方案中,所述规则的优先级属性包含两个属性值:优先级级数和规则 的创建时间;其中,所述优先级级数为用户自定义的属性值。
上述技术方案中,所述匹配算法为古典Leaps算法或Rete算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410602360.9/2.html,转载请声明来源钻瓜专利网。