一种企业服务总线智能路由方法

文档序号:6575841阅读:280来源:国知局
专利名称:一种企业服务总线智能路由方法
技术领域
本发明涉及一种企业服务总线中动态地发现服务、灵活地组装服务的智能 路由控制方法。
背景技术
企业服务总线作为应用系统的连接中枢,是构筑S0A (Service Oriented Architecture,面向服务架构)为基础的企业信息系统的必要元素。企业服务总 线的定义可以简单的理解为由中间件技术实现并支持SOA的一组基础架构, 支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别 和可管理性。通过企业服务总线实现应用系统的快速接入,并通过更高级的事 件、流程处理能力,能够很好的将企业信息系统与实际业务协调起来,在保证
原有投资的条件下,实现更加灵活和敏捷的企业信息系统改造。
当前SOA急需解决的两个难题是服务的重用和服务的异构,目前企业服务总
线的消息路由主要还是通过指定的固定地址进行消息路由。在企业服务总线中, 对于消费者组件来说,并不知道服务提供者的具体地址。因为服务提供者是会 变化的,服务的地址信息也是会变化的。所以, 一般的服务路由是无法解决服 务的重用和异构问题。
所以需要一种灵活地组装服务,使之有效地应对业务的变化的企业服务总 线以解决服务的重用和异构问题。

发明内容
为克服现有技术的上述缺陷,本发明一种企业服务总线智能路由方法为企业服务总线提供一种智能的、灵活的路由机制,伴随服务的选择,并能够进行 业务流程的组合,从而解决服务企业服务总线中的重用和异构的问题。
为实现上述技术目的,本发明采用的技术方案如下
一种企业服务总线智能路由方法,该企业服务总线中具有服务信息的描述 和注册装置及增加在服务选择装置中的路由引擎,路由引擎中设有服务匹配装
置;该方法的步骤如下1)向路由引擎部署路由流程文件;2)部署成功后, 消费者组件向路由引擎发送消息,要求调用符合其请求的服务,而这些服务是 由服务提供者提供的;3)路由引擎接收到服务消费者的请求后,更新路由虚表, 并将解析后的服务请求发给服务匹配装置,要求匹配服务;4)服务匹配装置接 收到路由引擎的匹配请求,启用映射和选择机制去服务注册库匹配服务;服务 注册库将匹配后的服务或服务列地址返回给服务匹配装置,服务匹配装置将选 择的服务或服务列地址返回给路由引擎,路由引擎接收到服务匹配装置的服务 返回信息后,更新路由虚表转化为实路由表,同时更新路由描述文件;5)路由 引擎将消费者组件的调用请求发送给相应的服务提供者组件,根据实路由表来 进行路由;6)服务提供者组件返回消息,通知路由引擎可以调用服务;7)路 由引擎发送消息给服务消费者,说明已经找到服务并把服务提供者信息发给服 务消费者。
本发明一种企业服务总线智能路由方法与现有技术相比,具有如下有益效 果l)动态地发现服务,灵活地组装服务;2)可配置路由,用户通过动态的 配置文件寻求资源;3)当服务发生变化时,不需要改变原有的系统和平台。


图l为本发明智能路由机制的流程图;图2为本发明路由引擎处理的流程图。
具体实施例方式
下面结合实施例和附图,对本发明作进一步详细描述。
一种企业服务总线智能路由方法,该企业服务总线中具有服务信息的描述 和注册装置及增加在服务选择装置中的路由引擎,路由引擎中设有服务匹配装 置;该方法的步骤如下1)向路由引擎部署路由流程文件;2)部署成功后, 消费者组件向路由引擎发送消息,要求调用符合其请求的服务,而这些服务是 由服务提供者提供的;3)路由引擎接收到服务消费者的请求后,更新路由虚表, 并将解析后的服务请求发给服务匹配装置,要求匹配服务;4)服务匹配装置接 收到路由引擎的匹配请求,启用映射和选择机制去服务注册库匹配服务;服务 注册库将匹配后的服务或服务列地址返回给服务匹配装置,服务匹配装置将选 择的服务或服务列地址返回给路由引擎,路由引擎接收到服务匹配装置的服务 返回信息后,更新路由虚表转化为实路由表,同时更新;洛由描述文件;5)路由 引擎将消费者组件的调用请求发送给相应的服务提供者组件,根据实路由表来 进行路由;6)服务提供者组件返回消息,通知路由引擎可以调用服务;7)路 由引擎发送消息给服务消费者,说明已经找到服务并把服务提供者信息发给服 务消费者。
服务注册库设置在该服务信息的描述和注册装置中,该服务注册库包含服 务的地址信息和服务的WSDL描述文件,并且两者是——对应的,可以根据 Endpoint得到相应服务的WSDL描述。
路由流程文件是以XML为文件格式的,将以服务单元的形式部署到路由引
擎上,并由路由引擎解析。路由流程文件当中的路由元素定义如下
元素l:服务流程(SF),表示企业应用的一个流程
参数有服务流程ID和服务流的类型。 元素2: 虚拟路由表(VRT)
虛拟路由表由虚拟路由路径组成。 元素3: 虚拟路由路径(VRP)
参数有所属的服务流程、虚拟路由路径ID和路径对应的服务。 元素4: 服务,定义了服务所对应的接口,以及服务所对应的约束性条件
参数有服务所实现的接口和描述服务的具体细节(比如端口类型,操作类
型,消息等)。
智能路由引擎处理的顺序,流程如下
1) 向路由引擎部署服务集合,服务集合中包含路由流程描述文件。然后路 由引擎中的路由策略解析器来解析路由流程文件。
2) 当部署完成后,服务消费者通过企业服务总线发送消息给路由引擎。路 由引擎解析接收到的消息,把要求查找的服务请求和路由虚表发给服务 匹配装置去处理。
3) 服务匹配装置把路由引擎发来的服务请求的具体信息与之前部署的流程 描述文件解析出来的具体信息进行匹配(具体匹配就需要下面的服务匹 配算法),并选择出服务后返回路由实表。路由引擎更新路由虚表,得到 路由实表。根据路由实表调用相应的目标服务提供者組件。4)最后,目标服务提供者组件将调用后的结果以标准画R消息经路由引擎
返回给消费者组件。 服务匹配是在路由引擎的服务匹配装置里进行的,也是企业服务总线能够 智能路由的关键步骤。而服务匹配分三个步骤
1) 、关键字匹配。根据服务消费者组件部署在路由引擎上的路由流程文件 所需求的服务,用类型论构造Web服务的描述,把服务流程文件里的参数都提取 出来,保存到数据结构里,以便之后的数据调用。首先对服务注册库中服务进 行粗粒度的筛选(按照服务名作为关键字匹配)。这样通过关键字匹配算法就可 以得到与特定服务名相关的一组服务。接下来就要对这一组服务进行更加细致 的匹配。
2) 、接口匹配。由于企业服务总线中服务提供者的地址可能发生变化,所 以即使名字相类似也不能判断这些服务提供者就是服务消费者所要找的,那就 要通过对路由流程文件定义的接口进行判断才能找到所要的服务。具体是要对 1)当中符合要求的那组服务中符合接口定义的服务同样进行形式化的定义,把 接口定义的服务输入和输出以及相关的数据类型进行相似度计算,就是把l)那 组服务当中每个服务的接口类型与路由流程定义中的接口类型进行比较,得到 更加匹配的一组服务。
3) 、约束匹配。为了使得匹配的结果更加精确,最后加入了对于服务的约 束匹配,进行服务细节上的匹配。具体是将路由流程文件中定义的服务所对应 的操作名称、消息名称、消息元素作为服务约束,然后在从2)得到的那组服务 里的每个服务中去查找对应的服务约束,最后将两者的服务约束进行匹配。如 果匹配上单个或者多个服务,那么就是服务的消费者最后要找的单个或者多个服务。最后将找到的单个或者多个服务的具体信息返回给服务消费者。
当服务提供者发生变化后,服务消费者不需要向一般企业服务总线那样寻
找固址,而是通过服务匹配算法就可以找到服务提供者提供的所需要的服务,
从而进行智能路由。
权利要求
1、一种企业服务总线智能路由方法,其特征在于企业服务总线中具有服务信息的描述和注册装置及增加在服务选择装置中的路由引擎,路由引擎中设有服务匹配装置;该方法的步骤如下1)向路由引擎部署路由流程文件;2)部署成功后,消费者组件向路由引擎发送消息,要求调用符合其请求的服务,而这些服务是由服务提供者提供的;3)路由引擎接收到服务消费者的请求后,更新路由虚表,并将解析后的服务请求发给服务匹配装置,要求匹配服务;4)服务匹配装置接收到路由引擎的匹配请求,启用映射和选择机制去服务注册库匹配服务;服务注册库将匹配后的服务或服务列地址返回给服务匹配装置,服务匹配装置将选择的服务或服务列地址返回给路由引擎,路由引擎接收到服务匹配装置的服务返回信息后,更新路由虚表转化为实路由表,同时更新路由描述文件;5)路由引擎将消费者组件的调用请求发送给相应的服务提供者组件,根据实路由表来进行路由;6)服务提供者组件返回消息,通知路由引擎可以调用服务;7)路由引擎发送消息给服务消费者,说明已经找到服务并把服务提供者信息发给服务消费者。
2、 如权利要求l所述一种企业服务总线智能路由方法,其特征在于服务 注册库设置在该服务信息的描述和注册装置中,该服务注册库包含服务的地址 信息和服务的WSDL描述文件,并且两者是一一对应的,可以才艮据Endpoint得 到相应服务的WSDL描述。
3、 如权利要求2所述的一种企业服务总线智能路由方法,其特征在于路 由流程文件是以XML为文件格式的,将以服务单元的形式部署到路由引擎上, 并由路由引擎解析。
4、 如权利要求3所述的一种企业服务总线智能路由方法,其特征在于服务 匹配是在路由弓1擎的服务匹配装置进行的,服务匹配分三个步骤1) 、关键字匹配;根据服务消费者组件部署在路由引擎上的路由流程文件所 需求的服务,用类型论构造Web服务的描述,把服务流程文件里的参数都 提取出来,保存到数据结构里,以便之后的数据调用;首先对服务注册库 中服务进行粗粒度的筛选,这样通过关键字匹配算法就可以得到与特定服 务名相关的一组服务;2) 、接口匹配;具体是对l)当中符合要求的那组服务中符合接口定义的服 务同样进行形式化的定义,把接口定义的服务输入和输出以及相关的数据 类型进行相似度计算,把l)那组服务当中每个服务的接口类型与路由流 程定义中的接口类型进行比较,得到更加匹配的一组服务;3)、约束匹配;具体是将路由流程文件中定义的服务所对应的操作名称、 消息名称、消息元素作为服务约束,然后再从2)得到的那组服务里的每个 服务中去查找对应的服务约束,最后将两者的服务约束进行匹配,如果匹 配上单个或者多个服务,那么就是服务的消费者最后要找的单个或者多个 服务,最后将找到的单个或者多个服务的具体信息返回给服务消费者。
5、如权利要求4所述的一种企业服务总线智能路由方法,其特征在于路 由流程文件当中的路由元素定义如下元素l:服务流程(SF),表示企业应用的一个流程参数有服务流程ID和服务流的类型; 元素2: 虚拟路由表(VRT)虚拟路由表由虚拟路由3各径组成; 元素3: 虚拟路由路径(VRP)参数有所属的服务流程、虚拟路由路径ID和路径对应的服务;元素4: 服务,定义了服务所对应的接口,以及31务所对应的约束性条件参数有服务所实现的接口和描述服务的具体细节。
全文摘要
本发明一种企业服务总线智能路由方法,该方法步骤如下1)向路由引擎部署路由流程文件;2)部署成功后,消费者组件向路由引擎发送消息,调用符合其请求的服务;3)路由引擎接收到请求后,更新路由虚表,并将解析后的服务请求发给服务匹配装置;4)服务匹配装置接收到匹配请求,启用映射和选择机制去匹配服务;其将匹配后的服务或服务列地址返回给服务匹配装置,其将选择的服务或服务列地址返回给路由引擎,路由引擎接收到服务返回信息后,将路由虚表更新为实路由表,同时更新路由描述文件;5)路由引擎将调用请求发送给服务提供者组件,根据实路由表来进行路由;6)服务提供者组件返回消息,通知路由引擎调用服务;7)路由引擎发送消息给服务消费者。
文档编号G06F17/30GK101610288SQ20091009990
公开日2009年12月23日 申请日期2009年6月16日 优先权日2009年6月16日
发明者斌 叶, 健 吴, 吴朝晖, 尹建伟, 莹 李, 邓水光, 陈韩伟 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1