论文部分内容阅读
基于产生式规则发展而来的业务规则和产生式系统产品化的成果——规则引擎,正被越来越多的企业用来描述和维护业务知识、构建企业级系统。规则引擎技术能够实现企业级系统业务逻辑和业务规则的分离,从而将业务规则的频繁变更与信息系统解耦,增强了专家系统、企业级信息系统等应用系统的智能性、健壮性和适应性。随着所要解决的领域问题范围和复杂度的扩大,专家系统知识库和企业应用系统规则库中的知识规模急剧增长、结构日趋复杂,亟待具有更高效处理能力的产生式系统,即规则引擎来应对这种挑战。为了应对这种海量知识所对应海量规则的处理挑战,要求产生式系统能够提供更快速更精确的匹配和处理能力。采用分布式计算、并行计算的思想来构建更有效的产生式系统架构,并结合更高效的算法来加快模式匹配,是实现对海量规则高效处理的一种必然趋势。本文通过对现有产生式系统中海量规则处理方法的研究分析,提出了基于MapReduce编程模型和改进Rete算法的海量规则分布式匹配方法,实现了基于干扰分析的多重规则触发方法,并开发了面向海量规则的产生式系统原型。本文的主要工作包括以下几个方面的内容:1.提出了Alpha网络二重哈希过滤方法,并结合Beta节点索引技术来改进Rete算法,以加快集群环境中每个计算节点的模式匹配过程。该方法将FactType节点引入Rete网络,在Root节点构建“事实类型-FactType节点”的映射,在FactType节点建立“属性约束-Alpha节点”的映射,利用这样的二重哈希过滤机制来加快事实集在Alpha网络中的过滤。同时,还在Beta节点的输入内存中以加入的事实对象为参数计算得到的索引来建立哈希表,以避免Beta节点连接操作中不必要的迭代。2.提出了基于MapReduce的分布式规则匹配方法,以应对海量规则的匹配需求。本文在分析产生式规则的结构和面向集群的规则分解原则基础上,基于规则条件部分的模式元素将规则分解为子规则;在考虑Worker机负载的情况下,将子规则集分配给集群中的Worker机,并采用改进的Rete算法来构建Map Worker的Rete网络;将工作内存的改变封装为Token,并基于规则分解信息将这些Token集进行有效分发;然后在Map过程中进行Token集与子规则集的匹配,并在Reduce过程中归并和汇总子规则的匹配情况。3.提出了基于干扰分析的多重规则触发方法,以解决传统冲突解决策略所造成产生式推理归结阶段的性能瓶颈。针对这种多重规则触发方法引发的工作内存不一致问题,本文首先在详细分析规则间依赖关系的基础上,给出了规则间干扰关系的形式化定义;接着基于访问请求控制的方法,通过访问请求入列和兼容规则触发的过程,选择出更大容量的兼容规则集。在保证并行规则集能够串行化的基础上,该方法提升了产生式系统归结阶段并行性。4.在上述关键技术研究的基础上,构建了面向海量规则的产生式系统总体架构,并开发了相应的原型系统。本文还对该系统进行性能测试实验,实验结果表明并行匹配和多重触发的方法能够提高产生式系统的规则处理能力,能够在一定程度上应对海量规则的处理需求。