论文部分内容阅读
规则引擎是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义编写业务决策。接收数据输入,解释业务规则,并根据规则做出业务决策。但是,为了使得业务规则管理能够灵活地根据实际情况的更改,适应企业业务经营过程的变化,响应市场敏捷性的要求,迫切需要提高业务管理系统的柔性以及其响应速度。
本文设计并实现了一种适用于电力系统中设备监控领域的规则引擎,该规则引擎可用于电力设备数据采集监控平台,实现了数据分析业务规则的灵活应用与管理。在业务规则引擎的驱动下,对数据进行全面整体实时的监控,即时告知用户设备的运行状态;同时对于已保存的数据提出了基于规则引擎的数据查询方式,采用产生式规则替代SQL编码来提取有用数据,并对提取的数据采用规则引擎的方式进行分析,作出对应的业务决策。本文在阐述规则引擎内部原理和一般实现方法的基础上,对规则引擎组件的设计与实现进行了详细叙述。该规则引擎从两个方面进行优化,一优化规则引擎的模式匹配算法,以Drools为容器实现了Leaps算法,并引入了Lazy条件评估,即仅仅在必要的时候才创建元组,也就是仅仅存在eval、not、exist和复杂查询条件条件时才创建元组,缓存匹配的中间结果,当规则引擎操作工作内存中的事实对象时,维护并传播这些元组,并对堆栈中暗对象操作的进行优化和基于参数引用关系的优先级划分,从而提高Drools规则引擎的模式匹配算法的效率,解决了底层技术问题:二拓展了规则引擎的相关技术,设计了规则引擎的外围数据库接口和逻辑操作部件。
本文的主要完成工作是设计和实现了业务规则引擎Drools,并对规则引擎的核心算法进行优化和外围接口的扩展,并将该系统集成到电力设备监控软件平台中。对项目中的典型案例——数据监控和设备故障分析模拟测试结果表明,改进后的Drools规则引擎具备良好的稳定性和较好的性能,并且符合系统对业务变更的柔性需求,达到了研究设计与项目设计的目标。