论文部分内容阅读
由于目前的各种交互式系统在实现上都是静态绑定的,即一旦部署上线,就不允许动态修改,而必须以修改源代码并重新部署的方式来提供系统的升级功能,这种系统实现模式正逐渐面临着质疑和挑战,因此下一代交互式系统开始出现,并展现出它的优势,这种系统是运用人工智能的方法,将逻辑与具体实现相分离,当需要某种逻辑处理时再编写生成,并动态的注入到系统运行环境中,而不影响当前的系统运行状态,这种系统实现方式在一些特性的需求下显得非常实用,例如需求频繁变更的系统。下一代交互式系统有很多实现方式,通过对系统需求以及技术的分析,本课题将运用规则引擎技术来实现一套下一代交互式系统,规则引擎是一种人工智能,本课题通过将需求中的约束、校验、分支流等归纳到业务规则中,然后对业务规则进行描述,即可实现规则的灵活配置,本论文的主要内容就是通过研究和对比目前比较成熟的各种规则引擎产品,从中选择出合适的规则引擎,并结合其他组件和模块的设计实现,开发出一套完整的规则引擎平台,该平台运行于银行业务系统中,是业务处理的核心模块之一,该平台主要由图形化规则编辑器、规则执行环境、消息传输组件、数据库及周边功能组件构成,通过该平台,银行的业务分析人员可以根据业务的需要在规则编辑器中编写相应的业务逻辑,当编写完成后新的规则能够被实时的加载到规则执行环境中,当有新的业务逻辑需要处理时,会按照这些最新的规则来处理,即实现了业务分析的灵活可配置性。在本系统中,使用的是Drools规则引擎,Drools是一个开源的业务规则引擎,具有容易调整、管理和访问企业策略的特点,速度快、效率高,能够符合业内标准,可适应大型业务分析系统需要,同时,系统中还运用RabbitMQ来开发消息传输组件,RabbitMQ是一个实现AMQP协议的开源消息传输组件,性能好、易于使用,被广泛应用于各种系统中。在数据的存储上本项目使用MongoDB,它是一个基于分布式文件存储的非关系型数据库,同时,本课题使用Jquery来实现图形化编辑器,通过这些功能的共同协作,实现了一个完善的规则引擎平台,能够很好的为银行的业务分析提供支持。