分布式规则引擎系统、构造方法和执行规则处理的方法_4

文档序号:8361483阅读:来源:国知局
露,但是,应该理解,本领域的技术人员可在所附权利要求的精神和范围内设计对本发明的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本发明的保护范围内。
[0110]本发明还可以以下面的实施例实现:
[0111]1.一种分布式规则引擎系统,包括:
[0112]至少一个规则引擎,所述规则引擎中部署有Rete网络,所述Rete网络与一个或多个规则集相关联;
[0113]其中,包括在相同规则集中的规则的条件侧所包括的模式彼此相似。
[0114]2.根据实施例1的分布式规则引擎系统,包括:
[0115]第一级alpha网络,其构造在单独的规则引擎之外,用于将事实布置到适当的规则引擎;以及
[0116]第二级alpha网络,其构造在单独的规则引擎之内,用于将事实布置到适当的alpha节点。
[0117]3.根据实施例2的分布式规则引擎系统,其中,第一级和/或第二级alpha网络使用哈希方法来布置事实。
[0118]4.根据实施例2或3的分布式规则引擎系统,其中,第一级和/或第二级alpha网络根据事实的属性名称来布置事实。
[0119]5.根据实施例4的分布式规则引擎系统,其中,第一级和/或第二级alpha网络根据事实的属性的值来布置事实。
[0120]6.根据实施例1至3中任一个的分布式规则引擎系统,还包括:
[0121]第一级agenda,其构造在单独的规则引擎之内,用于解决每一规则引擎内的冲突;以及
[0122]第二级agenda,其构造在单独的规则弓I擎之外,用于解决各规则弓I擎之间的冲突。
[0123]7.根据实施例6的分布式规则引擎系统,其中,第二级agenda利用归并排序来解决冲突。
[0124]8.一种分布式规则引擎系统的构造方法,包括:
[0125]将条件侧所包括的模式彼此相似的规则划分到相同的规则集;
[0126]将通过划分得到的每一个规则集关联到所述系统的规则引擎之一;以及
[0127]将与相同规则引擎关联的所有规则集中的规则编译成Rete网络并在所述规则引擎中进行部署。
[0128]9.根据实施例8的分布式规则引擎构造方法,其中,划分包括:
[0129]从规则的条件侧提取各模式;以及
[0130]根据提取的模式得到规则对应的二进制串,并根据二进制串进行划分;
[0131]其中,二进制串的每一位对应一个模式,I表示相应模式存在于规则中,O表示相应模式不存在于规则中;并且,
[0132]其中,二进制串的长度等于待划分的所有规则中包含的所有模式的数量。
[0133]10.根据实施例9的分布式规则引擎构造方法,其中,
[0134]假设规则的数量为N,规则引擎的数量为K,其中N大于K ;
[0135]划分还包括:
[0136]a操作:对所有规则对应的二进制串两两进行按位“异或”操作,找出使得“异或”操作结果中含I的个数最多的两条二进制串对应的规则作为两个初始的集合中心;
[0137]b操作:依据对所有不是集合中心的规则对应的二进制串与已经得到的所有集合中心对应的二进制串进行按位“异或”操作的结果,找出使得“异或”操作结果中含I的个数最多的二进制串对应的非集合中心的规则作为新的集合中心;
[0138]c操作:重复b操作,直至集合中心的个数等于K ;
[0139]d操作:对每个不在任意集合中的规则,将其对应的二进制串与每个集合中心对应的二进制串进行按位“与”操作,找出使得“与”操作结果中含I的个数最多的集合中心,将该规则加入到该集合中,然后,对该集合中包含的所有规则对应的二进制串进行按位“或”操作,将“或”操作得到的二进制串作为该集合中心新的对应的二进制串;以及
[0140]e操作:重复d操作,直到所有规则都在集合中。
[0141]11.根据实施例10的分布式规则引擎构造方法,其中,在b操作中,通过查询所保存的a操作的计算结果来获得“异或”操作的结果。
[0142]12.一种利用分布式规则引擎系统执行规则处理的方法,
[0143]所述分布式规则引擎系统包括至少一个这样的规则引擎:所述规则引擎部署有Rete网络,所述Rete网络与一个或多个规则集相关联;其中,包括在相同规则集中的规则的条件侧所包括的模式彼此相似;
[0144]所述执行规则处理的方法包括:
[0145]经由构造于单个规则引擎之外的alpha网络,将事实布置到适当的规则引擎。
[0146]13.根据实施例12的执行规则处理的方法,还包括:
[0147]利用构造于单个规则引擎之外的agenda解决各规则引擎之间的冲突。
【主权项】
1.一种分布式规则引擎系统,包括: 至少一个规则引擎,所述规则引擎中部署有Rete网络,所述Rete网络与一个或多个规则集相关联; 其中,包括在相同规则集中的规则的条件侧所包括的模式彼此相似。
2.根据权利要求1所述的分布式规则引擎系统,包括: 第一级alpha网络,其构造在单独的规则引擎之外,用于将事实布置到适当的规则引擎;以及 第二级alpha网络,其构造在单独的规则引擎之内,用于将事实布置到适当的alpha节点。
3.根据权利要求2所述的分布式规则引擎系统,其中,所述第一级和/或第二级alpha网络使用哈希方法来布置事实。
4.根据权利要求1至3中任一个所述的分布式规则引擎系统,还包括: 第一级agenda,其构造在单独的规则引擎之内,用于解决每一规则引擎内的冲突;以及 第二级agenda,其构造在单独的规则引擎之外,用于解决各规则引擎之间的冲突。
5.根据权利要求4所述的分布式规则引擎系统,其中,所述第二级agenda利用归并排序来解决冲突。
6.—种分布式规则引擎系统的构造方法,包括: 将条件侧所包括的模式彼此相似的规则划分到相同的规则集; 将通过划分得到的每一个规则集关联到所述系统的规则引擎之一;以及将与相同规则引擎关联的所有规则集中的规则编译成Rete网络并在所述规则引擎中进行部署。
7.根据权利要求6所述的分布式规则引擎构造方法,其中,所述划分包括: 从规则的条件侧提取各模式;以及 根据提取的模式得到所述规则对应的二进制串,并根据所述二进制串进行划分; 其中,所述二进制串的每一位对应一个模式,I表不相应模式存在于所述规则中,O表示相应模式不存在于所述规则中;并且, 其中,所述二进制串的长度等于待划分的所有规则中包含的所有模式的数量。
8.根据权利要求7所述的分布式规则引擎构造方法,其中, 假设所述规则的数量为N,规则引擎的数量为K,其中N大于K ; 所述划分还包括: a操作:对所有规则对应的二进制串两两进行按位“异或”操作,找出使得“异或”操作结果中含I的个数最多的两条二进制串对应的规则作为两个初始的集合中心; b操作:依据对所有不是集合中心的规则对应的二进制串与已经得到的所有集合中心对应的二进制串进行按位“异或”操作的结果,找出使得“异或”操作结果中含I的个数最多的二进制串对应的非集合中心的规则作为新的集合中心;c操作:重复b操作,直至集合中心的个数等于K ; d操作:对每个不在任意集合中的规则,将其对应的二进制串与每个集合中心对应的二进制串进行按位“与”操作,找出使得所述“与”操作结果中含I的个数最多的集合中心,将该规则加入到该集合中,然后,对该集合中包含的所有规则对应的二进制串进行按位“或”操作,将所述“或”操作得到的二进制串作为该集合中心新的对应的二进制串;以及e操作:重复d操作,直到所有规则都在集合中。
9.一种利用分布式规则引擎系统执行规则处理的方法, 所述分布式规则引擎系统包括至少一个这样的规则引擎:所述规则引擎部署有Rete网络,所述Rete网络与一个或多个规则集相关联;其中,包括在相同规则集中的规则的条件侧所包括的模式彼此相似; 所述执行规则处理的方法包括: 经由构造于单个规则引擎之外的alpha网络,将事实布置到适当的规则引擎。
10.根据权利要求9所述的执行规则处理的方法,还包括: 利用构造于单个规则引擎之外的agenda解决各规则引擎之间的冲突。
【专利摘要】提供一种分布式规则引擎系统、分布式规则引擎构造方法和执行规则处理的方法。该分布式规则引擎系统包括至少一个这样的规则引擎:该规则引擎中部署有Rete网络,所述Rete网络与一个或多个规则集相关联。其中,包括在相同规则集中的规则的条件侧所包括的模式彼此相似。该系统实现了单个规则引擎内部最大程度地共享部分匹配结果,从而提高了执行效率。
【IPC分类】G06F17-30
【公开号】CN104679790
【申请号】CN201310641753
【发明人】钟朝亮, 张军, 邹纲, 皮冰锋, 黄琦珍, 上原忠弘
【申请人】富士通株式会社
【公开日】2015年6月3日
【申请日】2013年12月3日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1