论文部分内容阅读
现有的生产企业原材料过磅结算领域中存在着结算规则种类多种多样且经常发生变化,交易活动频繁、结算方案管理困难等问题,大量的人力和物力的投入给企业的经济效益带来不良影响。在传统的系统管理中主要采用的方式是硬编码,它将复杂的业务逻辑和处理流程两者耦合在代码之中,这使得系统的扩展性、维护性变差,当结算方案改变时会带来一些不利影响,如当系统修改时产生困难、容易出错;我们还需要对系统进行重新部署,使得软件的维护、升级产生了大量的费用。基于企业面临的上述问题,本文提出了一种基于规则引擎的适用于金额结算的方案。自规则引擎出现以来,一直担任着非常重要的任务。它从基于规则的专家系统发展而来,本质上是一种推理引擎。它的优势在于能让复杂的业务逻辑不再通过硬编码的方式写进程序代码中,而是采用嵌入式的思想,单独提取出来,交予规则引擎管理,即使业务逻辑再次改变时,业务人员也可以很方便的去处理,更新规则,因而不需要技术人员去修改程序代码。满足了企业需求的系统软件随业务需求变化而随之低成本、快速的改变。本文依据云南省九天集团的煤干焦原料过磅结算业务,重点研究了 drools在该场景领域中的应用,设计和实现了基于drools的过磅结算管理与决策系统的解决方案,通过将业务逻辑交给规则引擎来处理,自动的生成业务规则、动态的生成结算公式,使得该企业在传统的过磅结算管理系统中存在的问题得以解决,从而实现了对过磅金额的智能结算。本文首先对规则引擎做了深入的研究和阐述,包括其运行机制、核心算法的模式匹配过程以及规则的基本要素等;接着对当今企业在煤干焦交易领域过磅结算管理中面临的问题进行剖析,并对该领域中关于结算规则进行分析,剖析其需求关系,对其进行归纳分类,建立规则对象模型;在此基础上,设计了规则管理子系统,使得复杂的业务逻辑能够动态的生成结算公式,并通过对规则库中规则的预处理,优化了 drools的核心模式匹配算法—rete算法,尽可能的增加rete网络中共享节点的个数,从而节省系统空间、提高效率,在基于drools的过磅结算子系统中用户可方便灵活的管理业务规则;在论文的最后给出了系统的具体实现,将设计好的规则引擎子系统模块整合到整个企业管理系统中去,并实验说明系统运行流程,包括程序部分关键代码和算法。通过人性化的交互界面,即使不懂规则编码的业务人员也可以很方便的去编写规则、管理规则。经过测试,使用规则引擎实现方式方便了企业的管理,满足用户需求。