论文部分内容阅读
商业规则越来越复杂且灵活多变,尤其在银行、保险行业中,将规则嵌入程序的传统业务规则开发方式已无法满足易维护、高效率的系统要求。此时基于产生式专家系统应运而生,它有效提高了系统的运行效率,实现了管理流程的自动化并适应了多变且复杂的业务需求。本文就是针对保险行业中的车险理赔系统,研究并应用产生式专家系统Drools实现业务规则和程序的分离。Drools规则引擎是Redhat公司JBoss业务逻辑智能模块。基于Rete神经网络算法的推理引擎结合七种冲突解决策略成为Drools的核心。此外,Drools使用规则库和工作空间分别完成规则的构建和事实对象的处理,从而可以作为一个独立的组件实现与J2EE架构完美的结合。本文分析了传统业务规则开发方式的缺陷和弊端,研究了专家系统即规则引擎产生的必要性。然后研究规则引擎的结构和编制运行原理,分析对比了正向链接和反向链接两种推理运行方式。研究了ILOG商业规则引擎、开源Java规则引擎和.NET规则引擎的特点,使用基于正向链接的Drools作为本系统中处理业务规则的独立组件。本文深入研究Drools的Rete算法的核心和冲突解决策略后,根据系统需求对Rete算法进行了改进。即提出了Alpha节点优先的连接策略和距离最近优先的冲突解决策略。其中Alpha节点优先的连接策略是根据事实数量与模式的数量成反比,通过分析进入Alpha节点的事实数量来决定Alpha节点和Beta节点连接的优先权,提高了匹配的效率。距离最近优先的冲突解决策略则是通过比较条件值与目标值的距离大小来作为冲突解决策略,有效解决了规则冲突问题。论文还基于Struts、Spring与Hibernate的轻量级框架,实现了Drools规则引擎与系统SSH框架的整合。并结合定损、核损、报价模块复杂业务规则的流程和具体需求,设计了基于事实对象的业务模型,使用规则流、决策表、DRL对业务逻辑规则进行了设计,成功实现了基于Drools规则引擎的规则库的构建。本文完成了系统SSH框架和Drools规则引擎的整合,以及事实模型和业务逻辑规则的设计。以定核报模块为例,Drools规则引擎为核心成功实现了保险行业中Drools规则引擎的应用。经过测试和验证,本系统应用于某保险公司的理赔系统,效果良好。