[发明专利]一种Rete网络的建立方法及系统有效
申请号: | 201110277653.0 | 申请日: | 2011-09-19 |
公开(公告)号: | CN102999324B | 公开(公告)日: | 2018-05-18 |
发明(设计)人: | 郑叔亮 | 申请(专利权)人: | 北京四达时代软件技术股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京信远达知识产权代理事务所(普通合伙) 11304 | 代理人: | 王学强 |
地址: | 100085 北京市海淀区上*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 rete 网络 建立 方法 系统 | ||
本发明公开了一种Rete网络建立方法及系统,该方法包括:构建当前规则的表达式树,确定该表达式树的根节点;将所述根节点作为当前节点,判断当前节点的两个孩子节点的属性状态;按照判断得到的属性状态对应构建当前节点所对应的Rete局部网络;创建Rete网络的最终节点,将最终节点作为当前节点所对应的Rete节点的孩子节点。该方法及系统能够基于本发明实施例新提出的规则语言进行Rete网络的建立。
技术领域
本发明涉及规则引擎技术,尤其涉及一种Rete网络的建立方法及系统。
背景技术
规则引擎技术已经具备了相当完备的理论基础,并发展出很多成熟的产品。众多领域都以规则引擎作为实现关键业务的支撑技术,如电信、银行、保险,等等。规则引擎技术所普遍采用的IF-THEN产生式规则语言是描述知识的一种最为简洁和直观的方法。而规则引擎技术则将这种知识的表示转换为系统可解释和执行的逻辑,从而实现数据、信息和知识的结合与统一。
一般的,在规则引擎中,将规则存储于预设的规则库中,将要匹配的事实对象存储于工作内存中,由模式匹配器调用规则库中指定规则集中的所有规则,将每个规则的产生式模式提取出来建立Rete网络,将需要匹配的事实对象传入该Rete网络中进行规则匹配,得到事实对象对应的规则。
上述规则是通过规则语言来进行描述的。虽然目前主流的规则引擎产品在人性化规则表示方面取得了不错的效果,但其内核都没有进行简化和改造。也就是说呈现给业务人员的规则语言都需要映射成底层的更加复杂的规则语言才能被执行。虽然从表面上看降低了开发和维护的复杂度,但增加了模式匹配器处理所述规则的复杂度,并且没有降低规则存储和管理的复杂度。而且根据实际的经验,业务人员很难一次性写出正确的规则,往往需要软件工程师对底层规则代码进行调试。
为了尽量提升规则的易编写性和易用性,规则引擎产品都提供了针对业务人员的规则编辑界面。这些界面可以在一定程度上引导用户编写出正确的规则,但仍然呈现出了一种自然语言和规则语言混杂的现象,使业务人员产生困惑。造成这种局面的根本原因就是没有从根本上对规则语言进行语法和语义层面的改造,且,规则引擎本身也没有对特定的语言结构进行专门的优化,所以执行性能并没有提升;进一步地,现有的Rete网络建立方法也是针对已有的规则语言建立对应的Rete网络。
发明内容
有鉴于此,本发明要解决的技术问题是,提供一种Rete网络建立方法及系统,基于一种新提出的规则语言进行Rete网络的建立。
为此,本发明实施例采用如下技术方案:
本发明实施例提供一种Rete网络建立方法,包括:
构建当前规则的表达式树,确定该表达式树的根节点;
将所述根节点作为当前节点,判断当前节点的两个孩子节点的属性状态;
如果两个孩子节点中至少有一个孩子节点既不是因素表达式节点也不是已处理节点,则以所述既不是因素表达式节点也不是已处理节点的孩子节点作为当前节点,返回所述判断步骤;
如果两个孩子节点都是因素表达式节点,则根据两个因素表达式节点构建当前节点所对应的Rete局部网络;如果两个孩子节点都是已处理节点,则根据两个已处理节点构建当前节点所对应的Rete局部网络;如果两个孩子节点一个是因素表达式节点,一个是已处理节点,则根据因素表达式节点以及已处理节点构建当前节点所对应的Rete局部网络;
创建Rete网络的最终节点,将最终节点作为当前节点所对应的Rete节点的孩子节点。
所述根据两个因素表达式节点构建当前节点所对应的Rete局部网络包括:
确定两个孩子节点的条件因素所关联的模型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京四达时代软件技术股份有限公司,未经北京四达时代软件技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110277653.0/2.html,转载请声明来源钻瓜专利网。