发明名称 一种整合规则引擎的企业服务总线
摘要 一种整合规则引擎的企业服务总线,包括服务总线模块,服务总线模块包括:服务接入单元,消息容器单元,服务接出单元,服务调解单元,消息路由单元,数据转换单元;企业服务总线还包括:平台管理模块,与所述服务总线模块相连,用于对企业服务总线的相关配置进行管理;企业服务总线还包括:规则服务模块,与所述服务总线模块相连,用于对企业服务总线进行业务规则和业务流程能力扩展;规则服务模块包括:业务规则单元,策略规则单元和规则引擎单元;本发明进行了基于ESB技术规范的功能研发和扩展,已是完整概念上的企业服务总线。有助于打破其它大型企业的市场垄断。
申请公布号 CN103532808B 申请公布日期 2017.02.08
申请号 CN201310525905.6 申请日期 2013.10.30
申请人 江苏万全科技有限公司 发明人 陶湧
分类号 H04L12/40(2006.01)I;H04L12/24(2006.01)I 主分类号 H04L12/40(2006.01)I
代理机构 南京瑞弘专利商标事务所(普通合伙) 32249 代理人 陈建和
主权项 一种整合规则引擎的企业服务总线,其特征是包括服务总线模块,服务总线模块包括:服务接入单元,服务接入单元基于OSGI组件技术实现的组态设计,把各种不同的接入格式以及各种不同的通信协议、包括TCP/IP、UDP、HTTP、Web Service、SOAP、JMS封装成组态化组件,提供多种接入格式和协议适配;消息容器单元,用于进行消息路由、服务组合、提供二进制转object、二进制数组转json、json转xml、xml转json多种不同格式消息的数据映射和数据转换;服务接出单元,用于向其它应用系统发送消息以及对消息格式和协议进行适配,关键技术和实现与服务接入单元相同;服务调解单元,用于隐藏消息格式和协议,将业务逻辑从消息中独立出来,并可以实现本地独立的服务调用;消息路由单元,用于对消息进行路由、过滤、合并和重新排序;数据转换单元,用于对不同格式和传输协议的数据进行转换数据;企业服务总线还包括:平台管理模块,与所述服务总线模块相连,用于对企业服务总线的相关配置进行管理;企业服务总线还包括:规则服务模块,与所述服务总线模块相连,用于对企业服务总线进行业务规则和业务流程能力扩展;规则服务模块包括:业务规则单元,存放一组准确凝练的规则语句,用于描述、约束及控制业务的结构、运作,是应用程序中的一段业务逻辑;这是一组封装好的根据不同业务需求预先用XML的&lt;Conditons&gt;、&lt;Consequence&gt;节点写好的If‑‑Then句式,而里面嵌入java代码作为一种业务逻辑判断语句和执行语句;策略规则单元,存放一组业务决策和战略,是一段具体的业务执行指令;这是预先设定好的控制指令对象,包括各种符合服务总线模块(100)的格式化消息指令,包括报警信息指令、短信信息指令、发布信息指令、设备控制信息指令;规则引擎单元,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策;接收数据输入,解释业务规则,并根据业务规则做出业务决策;以下述三个步骤通过规则服务模块对传统企业服务总线即服务总线模块进行扩展:(1)使用决策表提取规则,即业务规则单元中的提取规则语句:明确服务总线模块中有哪些规则以及对应的业务判定:商业事务中条件元素的集合构成规则,规则决定判定和反馈,在散乱的企业业务中初步提取规则和对应的判定能使用决策表的方法;表1<img file="FDA0001042105190000021.GIF" wi="1550" he="1007" />“表1”给出的是决策表的一般格式;其中条件将成为系统中的数据域,条件值则是对应的数据,是支持服务管理和维护的对象,同时是应用程序/数据获得系统捕获和提交的对象;若干条件及其值的集合构成规则,是业务服务管理和维护的对象,也是规则引擎处理的根据;判定是业务服务通过规则引擎处理给出的反馈,最后由应用程序/数据获得系统接收;表2<img file="FDA0001042105190000022.GIF" wi="1673" he="727" />表2中的“achieveTarget”表示条件“完成销售指标”;“saleVolume”表示条件“销售额”;“amortization”表示判定“提成”;“warn”表示判定“提出警告”;“preMonth”表示数据“上月销售额”;在“表2”中,列A描述了应用中所涉及的条件和系统处理后的判定,与各个条件或者判定同行的单元格中的值组合构成列B至列G,列B至列G中的每一列都是通过决策表得以分离的规则,规则通过条件值集合和判定反馈值的形式得以描述;(2)分析和解决规则冲突、即规则引擎单元分析和解决业务规则冲突:在分离和提取出规则之后,必须考虑规则之间的冲突,这里提到的冲突主要是指由于规则之间同一条件的值域相交而引起的判定歧义;如果规则之间存在冲突而没有得到解决将造成判定结果的不确定,使规则引擎的处理不能正确进行;能通过使用决策网格来侦测规则之间的冲突;具体的做法是将各条规则依次置于网格的行首和列首,网格中的每一个单元表示对应规则的交叉点,用以记录相交的规则或者规则集合为真时,反馈值是否发生歧义;判断规则是否冲突的依据是相交规则所包含条件值域的交集以及各个判定的反馈值;在明确了规则之间的冲突关系之后;采用三种解决规则冲突的方案:1)优先级模式;2)队列模式;3)常用模式;优先级模式:设定规则的优先级顺序,在规则发生冲突时采纳较高优先级规则的判定反馈;有利于保持业务处理结果的长期稳定性,适用于业务处理规则比较明确的企业应用;队列模式:先进先出原则,即先使用原则;在一个时间段内集中批处理业务时,若发生规则冲突,则采纳先使用规则的判定反馈、即前一次或第一次处理已使用;有利于保证统一批次业务处理结果的一致性,适用于有业务高峰的企业应用;常用模式:记录和参考业务处理中规则的使用频率、规则为真的频率,在发生规则冲突时采纳使用频率较高或较低的规则反馈;有利于根据业务开展情况灵活适用规则,适用于业务开展情况多变的企业应用;在一个企业应用服务中,以上规则冲突解决方案单一使用或结合使用,以构成企业应用的规则冲突解决机制;在没有采取规则冲突解决方案的情况下,规则引擎会采用LIFO last in,first out原则解决规则冲突;(3)形式化描述规则即策略规则形式化描述业务规则采用Rete算法,首先建立一个根结点root node作为数据对象进入辨别网络的入口,根据形式化描述规则所包含的条件建立测试结点构成辨别网络,在网络的最底层构建若干终结点terminal node描述相应的规则;数据对象进入辨别网络之后经过途径结点,最终到达某个终结点,激活这个终结点所描述的规则;根据Rete算法的特性,要求将规则分割为LHS即left hand side和RHS即right hand side,LHS由规则的条件部分组成,决定辨别网络中测试结点的生成,RHS由规则的判定部分组成,决定辨别网络中终结点的生成。
地址 210008 江苏省南京市鼓楼区广东路38号