一种Rete网络的建立方法及系统的制作方法

文档序号:6433438阅读:211来源:国知局
专利名称:一种Rete网络的建立方法及系统的制作方法
技术领域
本发明涉及规则引擎技术,尤其涉及一种Rete网络的建立方法及系统。
背景技术
规则引擎技术已经具备了相当完备的理论基础,并发展出很多成熟的产品。众多 领域都以规则引擎作为实现关键业务的支撑技术,如电信、银行、保险,等等。规则引擎技术 所普遍采用的IF-THEN产生式规则语言是描述知识的一种最为简洁和直观的方法。而规则 引擎技术则将这种知识的表示转换为系统可解释和执行的逻辑,从而实现数据、信息和知 识的结合与统一。
一般的,在规则引擎中,将规则存储于预设的规则库中,将要匹配的事实对象存储 于工作内存中,由模式匹配器调用规则库中指定规则集中的所有规则,将每个规则的产生 式模式提取出来建立Rete网络,将需要匹配的事实对象传入该Rete网络中进行规则匹配, 得到事实对象对应的规则。
上述规则是通过规则语言来进行描述的。虽然目前主流的规则引擎产品在人性化 规则表示方面取得了不错的效果,但其内核都没有进行简化和改造。也就是说呈现给业务 人员的规则语言都需要映射成底层的更加复杂的规则语言才能被执行。虽然从表面上看降 低了开发和维护的复杂度,但增加了模式匹配器处理所述规则的复杂度,并且没有降低规 则存储和管理的复杂度。而且根据实际的经验,业务人员很难一次性写出正确的规则,往往 需要软件工程师对底层规则代码进行调试。
为了尽量提升规则的易编写性和易用性,规则引擎产品都提供了针对业务人员的 规则编辑界面。这些界面可以在一定程度上引导用户编写出正确的规则,但仍然呈现出了 一种自然语言和规则语言混杂的现象,使业务人员产生困惑。造成这种局面的根本原因就 是没有从根本上对规则语言进行语法和语义层面的改造,且,规则引擎本身也没有对特定 的语言结构进行专门的优化,所以执行性能并没有提升;进一步地,现有的Rete网络建立 方法也是针对已有的规则语言建立对应的Rete网络。发明内容
有鉴于此,本发明要解决的技术问题是,提供一种Rete网络建立方法及系统,基 于一种新提出的规则语言进行Rete网络的建立。
为此,本发明实施例采用如下技术方案
本发明实施例提供一种Rete网络建立方法,包括
构建当前规则的表达式树,确定该表达式树的根节点;
将所述根节点作为当前节点,判断当前节点的两个孩子节点的属性状态;
如果两个孩子节点中至少有一个孩子节点既不是因素表达式节点也不是已处理 节点,则以所述既不是因素表达式节点也不是已处理节点的孩子节点作为当前节点,返回 所述判断步骤;
如果两个孩子节点都是因素表达式节点,则根据两个因素表达式节点构建当前节 点所对应的Rete局部网络;如果两个孩子节点都是已处理节点,则根据两个已处理节点构 建当前节点所对应的Rete局部网络;如果两个孩子节点一个是因素表达式节点,一个是已 处理节点,则根据因素表示式节点以及已处理节点构建当前节点所对应的Rete局部网络;
创建Rete网络的最终节点,将最终节点作为当前节点所对应的Rete节点的孩子 节点。
所述根据两个因素表达式节点构建当前节点所对应的Rete局部网络包括
确定两个孩子节点的条件因素所关联的模型;
判断两个孩子节点的条件因素均分别关联一个相同的模型,且当前节点的运算类 型为AND运算时,以该相同的模型对应的模型节点作为入口节点构建I型局部网络,I型局 部网络中的两个Alpha节点分别为两个孩子节点所对应的Rete节点;记录两个孩子节点与 Rete节点之间的对应关系,将当前节点标记为已处理;
判断两个孩子节点的条件因素分别关联一个不同的模型,且当前节点的运算类型 为AND运算时,以两个模型所对应的模型节点作为入口节点构建2型AND局部网络,2型 AND局部网络中的模型节点所对应的父节点为该模型节点关联的孩子节点所对应的Rete 节点,汇集节点为当前节点对应的Rete节点;记录当前节点以及两个孩子节点与Rete节点 之间的对应关系,将当前节点标记为已处理;
判断两个孩子节点的条件因素均分别关联一个模型,且当前节点的运算类型为OR 运算时,以两个模型所对应的模型节点作为入口节点构建2型OR局部网络,2型OR局部网 络中的模型节点所对应的父节点为该模型节点关联的孩子节点所对应的Rete节点,汇集 节点为当前节点对应的Rete节点;记录当前节点以及两个孩子节点与Rete节点之间的对 应关系,将当前节点标记为已处理;
判断两个孩子节点中一个孩子节点的条件因素关联一个模型,另一个孩子节点的 条件因素关联两个模型时,以所述两个模型所对应的模型节点为入口节点构建2型SF局部 网络,2型SF局部网络的汇集节点为关联两个模型的孩子节点所对应的Rete节点;根据当 前节点的运算类型构建相应的2型AND局部网络或2型OR局部网络,其中的一个父节点为 所述2型SF局部网络的汇集节点,另一个父节点为关联一个模型的孩子节点所对应的Rete 节点;记录当前节点以及两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已 处理;
判断两个孩子节点的条件因素都关联两个模型时,分别以两个模型所对应的模型 节点作为入口节点构建2型SF局部网络,构建的2型SF局部网络的汇集节点为相应孩子 节点所对应的Rete节点;根据当前节点的运算类型构建相应的2型AND局部网络或2型OR 局部网络,所述2型AND局部网络或2型OR局部网络的两个父节点分别为两个2型SF局 部网络的汇集节点;记录当前节点以及两个孩子节点与Rete节点之间的对应关系,将当前 节点标记为已处理。
根据已处理节点构建当前节点所对应的Rete局部网络包括
判断当前节点的运算类型为AND运算时,以当前节点的两个孩子节点所对应的 Rete节点作为父节点,构建2型AND局部网络,2型AND局部网络的汇集节点为当前节点所 对应的Rete节点;记录当前节点与Rete节点之间的对应关系;
判断当前节点的运算类型为OR运算时,以当前节点的两个孩子节点所对应的 Rete节点作为父节点,构建2型OR局部网络,2型AND局部网络的汇集节点为当前节点所 对应的Rete节点;记录当前节点与Rete节点之间的对应关系。
根据因素表示式节点以及已处理节点构建当前节点所对应的Rete局部网络包 括
判断当前节点的运算类型为AND运算时,确定当前节点的两个孩子节点所关联的 模型;
如果两个孩子节点所关联的模型相同,构建I型局部网络,I型局部网络中的一个 Alpha节点为孩子节点中已处理节点所对应的Rete节点,另一 Alpha节点为孩子节点中的 因素表达式节点所对应的Rete节点;记录孩子节点中的因素表达式节点与Rete节点之间 的对应关系,将当前节点标记为已处理;
如果两个孩子节点所关联的模型不同,构建2型AND局部网络,2型AND局部网络 中的一个父节点为孩子节点中的已处理节点所对应的Rete节点,另一个父节点为孩子节 点中的所对应的Rete节点,汇集节点为当前节点所对应的Rete节点;记录当前节点以及属 性为因素表达式节点的孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理;
判断当前节点表示OR运算时,构建2型OR局部网络,2型OR局部网络中的一个父 节点为孩子节点中的已处理节点所对应的Rete节点,另一个父节点为孩子节点中的因素 表达式节点所对应的Rete节点,汇集节点为当前节点所对应的Rete节点;记录当前节点以 及属性为因素表达式节点的孩子节点与Rete节点之间的对应关系,将当前节点标记为已 处理。
本发明实施例还提供一种Rete网络建立系统,包括
构建单元,用于构建当前规则的表达式树,确定该表达式树的根节点;
判断单元,用于将所述根节点作为当前节点,判断当前节点的两个孩子节点的属 性状态;
第一处理单元,用于如果两个孩子节点中至少有一个孩子节点既不是因素表达式 节点也不是已处理节点,则以所述既不是因素表达式节点也不是已处理节点的孩子节点作 为当前节点,返回判断单元继续进行所述判断;
第二处理单元,用于如果两个孩子节点都是因素表达式节点,则根据两个因素表 达式节点构建当前节点所对应的Rete局部网络;
第三处理单元,用于如果两个孩子节点都是已处理节点,则根据两个已处理节点 构建当前节点所对应的Rete局部网络;
第四处理单元,用于如果两个孩子节点一个是因素表达式节点,一个是已处理节 点,则根据因素表示式节点以及已处理节点构建当前节点所对应的Rete局部网络;
创建单元,用于创建Rete网络的最终节点,将最终节点作为当前节点所对应的 Rete节点的孩子节点。
第二处理单元包括
第一确定子单元,用于确定两个孩子节点的条件因素所关联的模型;
第一处理子单元,用于判断两个孩子节点的条件因素均分别关联一个相同的模 型,且当前节点的运算类型为AND运算时,以该相同的模型对应的模型节点作为入口节点构建I型局部网络,I型局部网络中的两个Alpha节点分别为两个孩子节点所对应的Rete 节点;记录两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理;
第二处理子单元,用于判断两个孩子节点的条件因素分别关联一个不同的模型, 且当前节点的运算类型为AND运算时,以两个模型所对应的模型节点作为入口节点构建2 型AND局部网络,2型AND局部网络中的模型节点所对应的父节点为该模型节点关联的孩子 节点所对应的Rete节点,汇集节点为当前节点对应的Rete节点;记录当前节点以及两个孩 子节点与Rete节点之间的对应关系,将当前节点标记为已处理;
第三处理子单元,用于判断两个孩子节点的条件因素均分别关联一个模型,且当 前节点的运算类型为OR运算时,以两个模型所对应的模型节点作为入口节点构建2型OR 局部网络,2型OR局部网络中的模型节点所对应的父节点为该模型节点关联的孩子节点所 对应的Rete节点,汇集节点为当前节点对应的Rete节点;记录当前节点以及两个孩子节点 与Rete节点之间的对应关系,将当前节点标记为已处理;
第四处理子单元,用于判断两个孩子节点中一个孩子节点的条件因素关联一个模 型,另一个孩子节点的条件因素关联两个模型时,以所述两个模型所对应的模型节点为入 口节点构建2型SF局部网络,2型SF局部网络的汇集节点为关联两个模型的孩子节点所对 应的Rete节点;根据当前节点的运算类型构建相应的2型AND局部网络或2型OR局部网 络,其中的一个父节点为所述2型SF局部网络的汇集节点,另一个父节点为关联一个模型 的孩子节点所对应的Rete节点;记录当前节点以及两个孩子节点与Rete节点之间的对应 关系,将当前节点标记为已处理;
第五处理子单元,用于判断两个孩子节点的条件因素都关联两个模型时,分别以 两个模型所对应的模型节点作为入口节点构建2型SF局部网络,构建的2型SF局部网络 的汇集节点为相应孩子节点所对应的Rete节点;根据当前节点的运算类型构建相应的2型 AND局部网络或2型OR局部网络,所述2型AND局部网络或2型OR局部网络的两个父节点 分别为两个2型SF局部网络的汇集节点;记录当前节点以及两个孩子节点与Rete节点之 间的对应关系,将当前节点标记为已处理。
第三处理单元包括
第六处理子单元,用于判断当前节点的运算类型为AND运算时,以当前节点的两 个孩子节点所对应的Rete节点作为父节点,构建2型AND局部网络,2型AND局部网络的汇 集节点为当前节点所对应的Rete节点;记录当前节点与Rete节点之间的对应关系;
第七处理子单元,用于判断当前节点的运算类型为OR运算时,以当前节点的两个 孩子节点所对应的Rete节点作为父节点,构建2型OR局部网络,2型AND局部网络的汇集 节点为当前节点所对应的Rete节点;记录当前节点与Rete节点之间的对应关系。
第四处理单元包括
第二确定子单元,用于判断当前节点的运算类型为AND运算时,确定当前节点的 两个孩子节点所关联的模型;
第八处理子单元,用于如果第二确定子单元中确定的两个孩子节点所关联的模型 相同,构建I型局部网络,I型局部网络中的一个Alpha节点为孩子节点中已处理节点所对 应的Rete节点,另一 Alpha节点为孩子节点中的因素表达式节点所对应的Rete节点;记录 孩子节点中的因素表达式节点与Rete节点之间的对应关系,将当前节点标记为已处理;
第九处理子单元,用于如果第二确定子单元中确定的两个孩子节点所关联的模型 不同,构建2型AND局部网络,2型AND局部网络中的一个父节点为孩子节点中的已处理节 点所对应的Rete节点,另一个父节点为孩子节点中的所对应的Rete节点,汇集节点为当前 节点所对应的Rete节点;记录当前节点以及属性为因素表达式节点的孩子节点与Rete节 点之间的对应关系,将当前节点标记为已处理;
第十处理子单元,用于判断当前节点表示OR运算时,构建2型OR局部网络,2型OR 局部网络中的一个父节点为孩子节点中的已处理节点所对应的Rete节点,另一个父节点 为孩子节点中的因素表达式节点所对应的Rete节点,汇集节点为当前节点所对应的Rete 节点;记录当前节点以及属性为因素表达式节点的孩子节点与Rete节点之间的对应关系, 将当前节点标记为已处理。
对于上述技术方案的技术效果分析如下
构建当前规则的表达式树,确定该表达式树的根节点;将所述根节点作为当前节 点,判断当前节点的两个孩子节点的属性状态;如果两个孩子节点中至少有一个孩子节点 既不是因素表达式节点也不是已处理节点,则以所述既不是因素表达式节点也不是已处理 节点的孩子节点作为当前节点,返回所述判断步骤;如果两个孩子节点都是因素表达式节 点,则根据两个因素表达式节点构建当前节点所对应的Rete局部网络;如果两个孩子节点 都是已处理节点,则根据两个已处理节点构建当前节点所对应的Rete局部网络;执行创 建Rete网络的最终节点的步骤;如果两个孩子节点一个是因素表达式节点,一个是已处理 节点,则根据因素表示式节点以及已处理节点构建当前节点所对应的Rete局部网络;创建 Rete网络的最终节点,将最终节点作为当前节点所对应的Rete节点的孩子节点。通过以 上步骤的处理,实现了表达式树所对应的Rete网络的建立,也即实现了规则所对应的Rete 网络的建立,进而实现了基于本发明实施例所提供的规则语言建立每一条规则对应的Rete 网络。


图1为本发明实施例Rete局部网络结构示意图2为本发明实施例一种Rete网络建立方法流程示意图3为本发明实施例另一种Rete网络建立方法流程示意图3a为本发明实施例一种规则表达式树结构举例;
图4a 图4d为本发明实施例不同因素表达式树所构建的Rete局部网络结构举 例;
图5为本发明实施例Rete网络建立系统结构示意图。
具体实施方式
为了便于理解本发明实施例的Rete网络建立方法和系统,首先对本发明实施例 Rete网络建立方法和系统所基于的规则的语言语法进行介绍。
一、关于所述规则语言
1、语法规范
首先,说明本发明实际所基于的规则语言的语法结构定义。以下为用BNF范式表述的一种上下文无关文法来描述规则语言的语法规范的举
权利要求
1.一种Rete网络建立方法,其特征在于,包括 构建当前规则的表达式树,确定该表达式树的根节点; 将所述根节点作为当前节点,判断当前节点的两个孩子节点的属性状态; 如果两个孩子节点中至少有一个孩子节点既不是因素表达式节点也不是已处理节点,则以所述既不是因素表达式节点也不是已处理节点的孩子节点作为当前节点,返回所述判断步骤; 如果两个孩子节点都是因素表达式节点,则根据两个因素表达式节点构建当前节点所对应的Rete局部网络;如果两个孩子节点都是已处理节点,则根据两个已处理节点构建当前节点所对应的Rete局部网络;如果两个孩子节点一个是因素表达式节点,一个是已处理节点,则根据因素表示式节点以及已处理节点构建当前节点所对应的Rete局部网络; 创建Rete网络的最终节点,将最终节点作为当前节点所对应的Rete节点的孩子节点。
2.根据权利要求1所述的方法,其特征在于,所述根据两个因素表达式节点构建当前节点所对应的Rete局部网络包括 确定两个孩子节点的条件因素所关联的模型; 判断两个孩子节点的条件因素均分别关联一个相同的模型,且当前节点的运算类型为AND运算时,以该相同的模型对应的模型节点作为入口节点构建I型局部网络,I型局部网络中的两个Alpha节点分别为两个孩子节点所对应的Rete节点;记录两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理; 判断两个孩子节点的条件因素分别关联一个不同的模型,且当前节点的运算类型为AND运算时,以两个模型所对应的模型节点作为入口节点构建2型AND局部网络,2型AND局部网络中的模型节点所对应的父节点为该模型节点关联的孩子节点所对应的Rete节点,汇集节点为当前节点对应的Rete节点;记录当前节点以及两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理; 判断两个孩子节点的条件因素均分别关联一个模型,且当前节点的运算类型为OR运算时,以两个模型所对应的模型节点作为入口节点构建2型OR局部网络,2型OR局部网络中的模型节点所对应的父节点为该模型节点关联的孩子节点所对应的Rete节点,汇集节点为当前节点对应的Rete节点;记录当前节点以及两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理; 判断两个孩子节点中一个孩子节点的条件因素关联一个模型,另一个孩子节点的条件因素关联两个模型时,以所述两个模型所对应的模型节点为入口节点构建2型SF局部网络,2型SF局部网络的汇集节点为关联两个模型的孩子节点所对应的Rete节点;根据当前节点的运算类型构建相应的2型AND局部网络或2型OR局部网络,其中的一个父节点为所述2型SF局部网络的汇集节点,另一个父节点为关联一个模型的孩子节点所对应的Rete节点;记录当前节点以及两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理; 判断两个孩子节点的条件因素都关联两个模型时,分别以两个模型所对应的模型节点作为入口节点构建2型SF局部网络,构建的2型SF局部网络的汇集节点为相应孩子节点所对应的Rete节点;根据当前节点的运算类型构建相应的2型AND局部网络或2型OR局部网络,所述2型AND局部网络或2型OR局部网络的两个父节点分别为两个2型SF局部网络的汇集节点;记录当前节点以及两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理。
3.根据权利要求1或2所述的方法,其特征在于,根据已处理节点构建当前节点所对应的Rete局部网络包括 判断当前节点的运算类型为AND运算时,以当前节点的两个孩子节点所对应的Rete节点作为父节点,构建2型AND局部网络,2型AND局部网络的汇集节点为当前节点所对应的Rete节点;记录当前节点与Rete节点之间的对应关系; 判断当前节点的运算类型为OR运算时,以当前节点的两个孩子节点所对应的Rete节点作为父节点,构建2型OR局部网络,2型AND局部网络的汇集节点为当前节点所对应的Rete节点;记录当前节点与Rete节点之间的对应关系。
4.根据权利要求3所述的方法,其特征在于,根据因素表示式节点以及已处理节点构建当前节点所对应的Rete局部网络包括 判断当前节点的运算类型为AND运算时,确定当前节点的两个孩子节点所关联的模型; 如果两个孩子节点所关联的模型相同,构建I型局部网络,I型局部网络中的一个Alpha节点为孩子节点中已处理节点所对应的Rete节点,另一 Alpha节点为孩子节点中的因素表达式节点所对应的Rete节点;记录孩子节点中的因素表达式节点与Rete节点之间的对应关系,将当前节点标记为已处理; 如果两个孩子节点所关联的模型不同,构建2型AND局部网络,2型AND局部网络中的一个父节点为孩子节点中的已处理节点所对应的Rete节点,另一个父节点为孩子节点中的所对应的Rete节点,汇集节点为当前节点所对应的Rete节点;记录当前节点以及属性为因素表达式节点的孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理; 判断当前节点表示OR运算时,构建2型OR局部网络,2型OR局部网络中的一个父节点为孩子节点中的已处理节点所对应的Rete节点,另一个父节点为孩子节点中的因素表达式节点所对应的Rete节点,汇集节点为当前节点所对应的Rete节点;记录当前节点以及属性为因素表达式节点的孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理。
5.一种Rete网络建立系统,其特征在于,包括 构建单元,用于构建当前规则的表达式树,确定该表达式树的根节点; 判断单元,用于将所述根节点作为当前节点,判断当前节点的两个孩子节点的属性状态; 第一处理单元,用于如果两个孩子节点中至少有一个孩子节点既不是因素表达式节点也不是已处理节点,则以所述既不是因素表达式节点也不是已处理节点的孩子节点作为当前节点,返回判断单元继续进行所述判断; 第二处理单元,用于如果两个孩子节点都是因素表达式节点,则根据两个因素表达式节点构建当前节点所对应的Rete局部网络; 第三处理单元,用于如果两个孩子节点都是已处理节点,则根据两个已处理节点构建当前节点所对应的Rete局部网络; 第四处理单元,用于如果两个孩子节点一个是因素表达式节点,一个是已处理节点,则根据因素表示式节点以及已处理节点构建当前节点所对应的Rete局部网络;创建单元,用于创建Rete网络的最终节点,将最终节点作为当前节点所对应的Rete节点的孩子节点。
6.根据权利要求5所述的系统,其特征在于,第二处理单元包括 第一确定子单元,用于确定两个孩子节点的条件因素所关联的模型; 第一处理子单元,用于判断两个孩子节点的条件因素均分别关联一个相同的模型,且当前节点的运算类型为AND运算时,以该相同的模型对应的模型节点作为入口节点构建I型局部网络,I型局部网络中的两个Alpha节点分别为两个孩子节点所对应的Rete节点;记录两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理; 第二处理子单元,用于判断两个孩子节点的条件因素分别关联一个不同的模型,且当前节点的运算类型为AND运算时,以两个模型所对应的模型节点作为入口节点构建2型AND局部网络,2型AND局部网络中的模型节点所对应的父节点为该模型节点关联的孩子节点所对应的Rete节点,汇集节点为当前节点对应的Rete节点;记录当前节点以及两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理; 第三处理子单元,用于判断两个孩子节点的条件因素均分别关联一个模型,且当前节点的运算类型为OR运算时,以两个模型所对应的模型节点作为入口节点构建2型OR局部网络,2型OR局部网络中的模型节点所对应的父节点为该模型节点关联的孩子节点所对应的Rete节点,汇集节点为当前节点对应的Rete节点;记录当前节点以及两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理; 第四处理子单元,用于判断两个孩子节点中一个孩子节点的条件因素关联一个模型,另一个孩子节点的条件因素关联两个模型时,以所述两个模型所对应的模型节点为入口节点构建2型SF局部网络,2型SF局部网络的汇集节点为关联两个模型的孩子节点所对应的Rete节点;根据当前节点的运算类型构建相应的2型AND局部网络或2型OR局部网络,其中的一个父节点为所述2型SF局部网络的汇集节点,另一个父节点为关联一个模型的孩子节点所对应的Rete节点;记录当前节点以及两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理; 第五处理子单元,用于判断两个孩子节点的条件因素都关联两个模型时,分别以两个模型所对应的模型节点作为入口节点构建2型SF局部网络,构建的2型SF局部网络的汇集节点为相应孩子节点所对应的Rete节点;根据当前节点的运算类型构建相应的2型AND局部网络或2型OR局部网络,所述2型AND局部网络或2型OR局部网络的两个父节点分别为两个2型SF局部网络的汇集节点;记录当前节点以及两个孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理。
7.根据权利要求5或6所述的系统,其特征在于,第三处理单元包括 第六处理子单元,用于判断当前节点的运算类型为AND运算时,以当前节点的两个孩子节点所对应的Rete节点作为父节点,构建2型AND局部网络,2型AND局部网络的汇集节点为当前节点所对应的Rete节点;记录当前节点与Rete节点之间的对应关系; 第七处理子单元,用于判断当前节点的运算类型为OR运算时,以当前节点的两个孩子节点所对应的Rete节点作为父节点,构建2型OR局部网络,2型AND局部网络的汇集节点为当前节点所对应的Rete节点;记录当前节点与Rete节点之间的对应关系。
8.根据权利要求7所述的系统,其特征在于,第四处理单元包括第二确定子单元,用于判断当前节点的运算类型为AND运算时,确定当前节点的两个孩子节点所关联的模型; 第八处理子单元,用于如果第二确定子单元中确定的两个孩子节点所关联的模型相同,构建I型局部网络,I型局部网络中的一个Alpha节点为孩子节点中已处理节点所对应的Rete节点,另一 Alpha节点为孩子节点中的因素表达式节点所对应的Rete节点;记录孩子节点中的因素表达式节点与Rete节点之间的对应关系,将当前节点标记为已处理; 第九处理子单元,用于如果第二确定子单元中确定的两个孩子节点所关联的模型不同,构建2型AND局部网络,2型AND局部网络中的一个父节点为孩子节点中的已处理节点所对应的Rete节点,另一个父节点为孩子节点中的所对应的Rete节点,汇集节点为当前节点所对应的Rete节点;记录当前节点以及属性为因素表达式节点的孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理; 第十处理子单元,用于判断当前节点表示OR运算时,构建2型OR局部网络,2型OR局部网络中的一个父节点为孩子节点中的已处理节点所对应的Rete节点,另一个父节点为孩子节点中的因素表达式节点所对应的Rete节点,汇集节点为当前节点所对应的Rete节 点;记录当前节点以及属性为因素表达式节点的孩子节点与Rete节点之间的对应关系,将当前节点标记为已处理。
全文摘要
本发明公开了一种Rete网络建立方法及系统,该方法包括构建当前规则的表达式树,确定该表达式树的根节点;将所述根节点作为当前节点,判断当前节点的两个孩子节点的属性状态;按照判断得到的属性状态对应构建当前节点所对应的Rete局部网络;创建Rete网络的最终节点,将最终节点作为当前节点所对应的Rete节点的孩子节点。该方法及系统能够基于本发明实施例新提出的规则语言进行Rete网络的建立。
文档编号G06F9/44GK102999324SQ20111027765
公开日2013年3月27日 申请日期2011年9月19日 优先权日2011年9月19日
发明者郑叔亮 申请人:北京四达时代软件技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1