CN102387075A - 面向企业服务总线的动态服务路由方法及装置 - Google Patents

面向企业服务总线的动态服务路由方法及装置 Download PDF

Info

Publication number
CN102387075A
CN102387075A CN2011103169272A CN201110316927A CN102387075A CN 102387075 A CN102387075 A CN 102387075A CN 2011103169272 A CN2011103169272 A CN 2011103169272A CN 201110316927 A CN201110316927 A CN 201110316927A CN 102387075 A CN102387075 A CN 102387075A
Authority
CN
China
Prior art keywords
service
dynamic
services
unit
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011103169272A
Other languages
English (en)
Other versions
CN102387075B (zh
Inventor
唐雪飞
陈科
汪海良
李应洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
UESTC COMSYS INFORMATION CO Ltd
Original Assignee
UESTC COMSYS INFORMATION CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by UESTC COMSYS INFORMATION CO Ltd filed Critical UESTC COMSYS INFORMATION CO Ltd
Priority to CN201110316927.2A priority Critical patent/CN102387075B/zh
Publication of CN102387075A publication Critical patent/CN102387075A/zh
Application granted granted Critical
Publication of CN102387075B publication Critical patent/CN102387075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本发明提供了一种面向企业服务总线的动态服务路由器,通过服务单元对物理服务的虚拟化,实现了服务请求者和服务提供者的松藕合;通过综合利用动态消息聚合器,动态消息分离器等多种类型的消息路由组件,完成了基于动态服务替换和服务容错的可靠路由方法,在实现服务间多策略的消息传递的同时,对服务进行容错处理,提高服务的可靠性。本发明可应用在面向服务架构(SOA)的平台及***中,可大大提高SOA中企业服务总线(ESB)的工作效率。

Description

面向企业服务总线的动态服务路由方法及装置
技术领域
本发明涉及面向服务架构技术领域,尤其涉及基于企业服务总线的具有可靠动态消息传递能力的路由技术。
背景技术
近年来,企业中业务流程的变更日益频繁,新的业务的增加、旧有业务的变更等诸多因素对企业中的遗留***提出了更高的要求,包括新旧应用***之间的整合,各部门间的信息通讯和数据共享,成为企业集成企业资源,建立核心竞争力的首要任务,企业应用集成成为必然。在企业应用集成相关技术思想逐步发展过程中,面向服务的体系架构(Service-Oriented Architecture,SOA)为企业应用集成指明了发展方向。而企业服务总线(Enterprise Service Bus,ESB)提供了一套利用中间件技术在面向服务架构中使能服务的基础功能,是实现面向服务架构的核心基础,是集成各服务的中心纽带,使基于总线实现面向服务的应用集成成为一种更灵活的企业应用集成模式。
其中,服务路由是企业服务总线的核心功能,是基于总线的服务架构实现服务集成的前提,负责实现服务间的消息传递,支持服务集成和协同。基于企业服务总线的支持,服务调用实现了服务请求者和提供者的松藕合。服务请求者不再关注对服务的直接访问,而是发送服务请求消息给企业服务总线,企业服务总线接收服务请求,并交由服务路由***处理该请求,绑定服务提供者。服务路由***负责服务绑定,数据格式转化,负载平衡等一系列相关工作,为用户定位服务提供者,实现透明的服务访问;通过服务总线对服务的管理,服务请求者不需要再关注每个服务的具体执行,仅需与服务总线交互即可完成服务访问,屏蔽了服务访问的异构性;借助动态服务路由,服务平台能够灵活的控制服务间消息的传递同时,对服务提供者执行状态进行监测,在服务发生异常时,实现服务重定向以及服务随规模扩展后的重新路由等,最大限度地保证服务平台能够对用户提供连续的服务质量,提高了服务的可靠性。同时,利用服务状态监测和记录,服务平台还能够统计各服务的运行数据,作为服务选择等服务互操作的决策依据。
但是目前大多数企业服务总线缺乏对动态路由的支持,目前的服务路由也不能承载服务的动态选择、服务容错等服务集成要求。针对服务路由的研究还比较少,点对点的紧藕合传输、配置型静态路由仍旧是各总线消息传递的主要工作方式,而且由于路由过程需要用户手动干预。随着企业业务流程频繁的变化,手动组织业务流程变成一个繁杂的任务,在很大程度上限制了服务的动态绑定和集成。
因此,迫切需要ESB具有动态组织业务流程的能力。同时对于同一个服务可能会有若干个实现,如何从这些实现中找到一个最优的实现也是通过ESB来完成的,这需要ESB具有动态绑定的功能。所以具有松藕合结构,能够动态绑定服务,具有动态路由的能力,支持鲁棒的服务容错,适应分布式异构网络环境的动态服务路由技术是迫在眉睫。
发明内容
本发明为了解决上述问题,提供了一种面向企业服务总线的动态服务路由方法及装置,具有松藕合结构,能够动态绑定服务,具有动态路由的能力,支持鲁棒的服务容错,适应分布式异构网络环境,大大提高企业服务总线的工作效率。
为实现上述技术目的,本发明采用的技术方案是:
一种面向企业服务总线的动态服务路由方法,包括以下步骤:
服务虚拟化步骤:将现实服务资源进行统一管理形成拥有基于Web服务定义语言(Web Service Description Language,WSDL)的标准接口描述的物理服务,并通过接口描述和映射规则实现将物理服务虚拟化表示为服务单元,服务单元经服务注册进入服务组件库,服务单元实现对物理服务与企业服务总线的绑定;
业务流程逻辑化步骤:企业用户根据业务流程需求,通过业务流程建模,定义实现业务的逻辑服务内容,形成业务流程对应的逻辑服务,由逻辑服务发起业务流程的服务请求;
动态服务路由选择步骤:从服务请求者接收服务请求,针对逻辑服务中对服务节点的描述,根据业务活动的内容和性能要求,启用动态路由选择机制从服务组件库中选取合适的服务单元,作为对服务节点的服务执行者。
进一步的,所述方法在动态服务路由步骤之后,还包括服务执行步骤:被选中的服务单元负责绑定物理服务,完成对业务流程中业务活动的执行,以实现逻辑服务的功能。
优选的,服务虚拟化步骤中,物理服务能独立完成一定的业务功能,是服务交互过程中真正的服务提供者。
优选的,所述逻辑服务由包括LB、LN和LF的三元组构成,其中LB表示逻辑服务LS的基本信息,LN描述逻辑服务的功能,描述逻辑服务功能内容,LF表示逻辑服务的非功能属性集合。
优选的,在动态服务路由选择步骤中,通过服务容错机制实现服务单元选择;在服务提供步骤中,如果服务节点的执行发生异常,则服务容错机制利用服务替换或双冗余服务访问,保证服务单元执行的有效性。
本发明的另一个目的是,提供一种面向企业服务总线的动态服务路由装置,包括:
服务虚拟化模块,用于将现实服务资源进行统一管理形成拥有基于WSDL的标准接口描述的物理服务,并通过接口描述和映射规则实现将物理服务虚拟化表示为服务单元,服务单元经服务注册进入服务组件库,服务单元实现对物理服务与企业服务总线的绑定;
业务流程逻辑化模块,用于供企业用户根据业务流程需求,通过业务流程建模,定义实现业务应用的逻辑服务内容,形成业务流程对应的逻辑服务,并用于逻辑服务发起业务流程的服务请求;
动态服务路由选择模块,用于接收逻辑服务的服务请求,针对逻辑服务中对服务节点的描述,根据业务活动的内容和性能要求,启用动态路由选择机制从服务组件库中选取合适的服务单元,作为对服务节点的服务执行者;
服务执行模块:用于被选中的服务单元根据绑定物理服务,完成对业务流程中业务活动的执行,以实现逻辑服务的功能。
进一步的,所述动态服务路由选择模块,包括:
消息增容器,用于接收服务请求消息,并根据***的运行时序,产生唯一的任务标识码,然后将原始服务请求内容和任务标识码发送给服务选择器;
服务选择器,用于接收消息增容器的服务消息,按照其中的服务描述,从服务组件库中寻找合适的服务单元,生成多个服务单元的备选服务列表,并将服务请求信息及其任务标识码存储在数据库中;然后,将发送任务标识码和备选服务列表,以及原始服务请求消息给动态过滤器;
动态过滤器,用于接收服务选择器传递来的信息,从备选服务列表中选择第一个服务单元作为访问对象,然后,根据任务标识码暂存备选服务列表,声明服务状态监测器的位置,启用服务状态监测器监测服务单元的工作状态。最后,发送任务标识码、服务单元信息、原始服务请求信息给动态路由选择器;
动态路由选择器,用于接收动态过滤器的服务消息,如果其中无有效服务单元信息,就通知服务状态监测器中止服务调用;反之,就发送服务请求信息给该服务单元,并通知服务状态监测器监测该服务单元的执行状态;
服务状态监测器,用于接收动态过滤器或动态路由选择器的服务消息,用于对选择的服务单元的执行状态进行监测,并监听该服务单元的消息输出通道的服务响应消息。
具体的,所述服务状态检测器还用于分析需要监测的服务单元的信息和任务标识码,如果在该服务单元执行过程中发现服务访问异常的情况,则利用动态路由组件的协同,通过动态变更服务访问对象,继续服务调用。
优选的,所述服务状态检测器,还用于判断在允许的***时间内是否成功返回响应消息,如是则将该消息发送给服务交互接口,结束服务调用和监测过程;否则,修改该服务单元在服务组件库中的工作状态记录,通知动态过滤器根据任务标识码从备选列表中选取第二个服务单元,启动对其的访问,进行新一轮服务监测,直至接收到服务响应消息或被选服务列表中所有服务单元全部调用完;如果备选服务列表中的所有服务单元都被访问,仍无响应结果则通知服务选择器,在原有的服务请求和任务标识码的参照下,启动第二轮服务选择。
具体的,所述动态服务路由选择模块还包括服务结果比较器,用于收集具有相同的接口描述和服务功能的两个服务的响应结果,以判断两个响应结果是否存在不同;如果发现两个服务响应结果不同,则证明服务中至少有一个服务发生了异常,服务结果比较器就结合循环冗余容错算法和校验筛选服务容错算法,对服务响应结果的输出进行处理。
本发明的有益效果包括:本发明提出的面向企业服务总线的动态服务路由方法和装置,关注服务路由的动态性和可靠性。通过服务单元对物理服务的虚拟化,实现了服务请求者和服务提供者的松藕合;通过综合利用如动态消息聚合器,动态消息分离器,动态Wire Tap等多种类型的消息路由组件,完成了基于动态服务替换和服务容错(Fault Tolerance ofService)的可靠路由方法,在实现服务间多策略的消息传递的同时,对服务进行容错处理,提高服务的可靠性。
附图说明
图1是本发明提供的面向企业服务总线的动态服务路由方法流程图;
图2是本发明实施例提供的面向企业服务总线的动态服务路由装置的结构框图;
图3是本发明实施例提供的动态服务路由选择模块的结构框图;
图4是为本发明实施例提供的动态服务路由选择模块基于服务替换和服务容错的动态服务路由工作流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
参见图1,为本发明提供的面向企业服务总线的动态服务路由方法流程图。本发明的面向企业服务总线的动态服务路由方法,包括以下三个步骤:
步骤101,服务虚拟化步骤:将现实服务资源进行统一管理形成拥有基于Web服务定义语言WSDL的标准接口描述的物理服务,并通过接口描述和映射规则实现将物理服务虚拟化表示为服务单元,服务单元经服务注册进入服务组件库,服务单元实现对物理服务与企业服务总线的绑定。服务虚拟化是服务集成领域的一项重要技术,其目的在于保留服务原功能不变的前提下,通过抽象手段,使之成为虚拟的服务,实现服务请求者和服务提供者的松耦合。具体包括如下4个步骤:
1)资源服务化封装,企业现实服务资源具有分布式,多模式和多样性等特点,对其的服务化封装是服务平台需要首先解决的问题。现实服务资源经过服务使能技术的封装,成为可被发现、被调用的物理服务。物理服务拥有基于WSDL(Web Service DescriptionLanguage)的标准接口描述,本质上是一种软件组件,是服务交互过程中真正的服务提供者。现实服务资源经过服务使能技术的封装,成为可被发现、被调用的物理服务。物理服务拥有基于WSDL的标准接口描述,能独立完成一定的业务功能,是服务交互过程中真正的服务提供者。服务和封装结束后,物理服务通过服务注册进入服务组件库,供服务请求者查询和访问。物理服务是一种仃层面的服务定义。本质上,物理服务是一种软件组件,是对某种客观存在的计算资源的服务化表现,是业务逻辑的真正提供者。
2)构建服务单元,通过接口描述和映射规则实现物理服务的虚拟化表示为服务单元,组成结构主要包括服务端点(Service Endpoint),服务接口,服务绑定等。
3)服务注册,服务单元经服务注册进入服务组件库,供服务请求者查询和调用。服务组件负责存储物理服务和服务单元,服务组件库的实现采用服务提供者的形式。
4)服务绑定,服务单元实现对物理服务与企业服务总线的绑定,同时可以对物理服务的调用添加辅助功能,是传递服务消息的前提,支持不同的通讯协议。服务绑定,是指物理服务与企业服务总线的绑定,它是基于服务总线访问服务,传递服务消息的前提条件。服务总线中的服务绑定,实现了多种支持不同通讯协议的服务绑定组件,这些服务绑定组件能够实现物理服务与服务总线的绑定,既从总线内部传递服务消息到物理服务,同时也返回物理服务的响应结果到服务总线。服务绑定支持不同的通讯协议,相同通讯协议的物理服务,可以使用相同的服务绑定组件;新的通讯协议通过服务绑定组件的插件式增加得到支持。
服务虚拟化解决了底层物理服务到标准化的服务单元的封装转换过程。服务单元是虚拟的服务,是服务虚拟化的目标,是经过服务化封装、功能聚类、转换等服务虚拟化操作后实现的对物理服务的虚拟映射。服务单元本身并不具有实际的业务处理能力,仅通过接口描述和映射规则实现物理服务的虚拟化表示。通过绑定匹配的物理服务,服务单元可以实现具体的业务处理。服务单元可以作为物理服务的代理接收服务调用,参加服务协同等服务活动。通过控制服务单元,服务总线可以控制物理服务;通过控制服务单元的协同,企业服务总线可以控制不同物理服务之间的信息流传递,进而完成服务协同。服务单元最终注册进入服务组件库,如普通服务一样接受查询和调用。
步骤102,业务流程逻辑化步骤:企业用户根据业务流程需求,通过业务流程建模,定义实现业务的逻辑服务内容,形成业务流程对应的逻辑服务,由逻辑服务发起业务流程的服务请求。本步骤中,企业用户根据现实业务的流程需求,进行业务流程建模,定义实现业务的逻辑服务内容,包括业务活动之间的顺序以及交互方式,得到业务流程。通过对存在的物理服务使用聚类、抽象等虚拟化操作,抽象出的业务功能的逻辑表示。
所述服务节点相当于服务的物理视图,是实际服务组件。而逻辑服务相当于逻辑视图,是对具体某些个服务的排列组合以及封装调用。用户看到的是逻辑视图,而实际是由***排列组装了若干个服务节点给用户调用。一个业务流程对应一个逻辑视图。
所以逻辑服务是对具体应用的抽象描述,动态服务路由模型中担任服务请求者的角色。逻辑服务本身并不具备实际的业务处理能力,需要依靠物理服务的绑定才能够完成自身的业务功能。逻辑服务LS由一个三元组构成,即LS=(LB,LF,LN),其中LB表示逻辑服务LS的基本信息、,LN描述逻辑服务的功能,描述逻辑服务功能内容,LF(Logical form,这里用逻辑程序的缩写指代LNLF)表示逻辑服务的非功能属性集合,如性能,可靠性,可用性等。
步骤103,动态服务路由选择步骤:从服务请求者接收服务请求,针对逻辑服务中对服务节点的描述,根据业务活动的内容和性能要求,启用动态路由选择机制从服务组件库中选取合适的服务单元,作为对服务节点的服务执行者。本步骤具体包括如下5个步骤:
1)消息增容器接收服务请求消息,并根据***的运行时序,产生唯一的任务标识码((Task-ID)。然后,将其包含的原始服务请求内容和任务标识码发送给服务选择器。
2)服务选择器首先接收服务消息,按照其中的服务描述,从服务组件库中寻找合适的服务单元,生成多个服务单元的备选服务列表,并将服务请求信息及其任务标识码存储在数据库中。然后,将发送任务标识码和备选服务列表,以及原始服务请求消息给动态过滤器。
3)动态过滤选择器接收传递来的信息,选择备选服务列表中的第一个服务单元作为访问对象。然后,根据任务标识码暂存备选服务列表,声明服务状态监测器的位置,启用服务状态监测器监测服务单元的工作状态。最后,发送任务标识码、服务单元信息、原始服务请求信息给动态路由选择器。
4)动态路由选择器接收服务消息,如果其中无有效服务单元信息,就通知服务状态监测器(InListener)中止服务调用;反之,就发送服务请求信息给该服务单元,并通知服务状态监测器监测该服务单元的执行状态。
5)服务状态监测器接收服务消息,分析需要监测的服务单元的信息和任务标识码,并监听该服务单元的消息输出通道的服务响应消息。
本步骤中,首先从服务请求者接收服务请求,经过多策略,多模式的路由,传递服务请求消息给服务提供者,依靠多种不同功能的路由组件,实现服务的动态访问和消息传递。通常,不同服务路由组件具有不同的消息传递能力,通过综合运用各路由组件参与路由,动态服务路由***可以实现多种功能,主要包括:基于服务替换的可靠路由,基于服务容错的可靠路由。
参见图2,是本发明实施例提供的面向企业服务总线的动态服务路由装置的结构框图,包括:
服务虚拟化模块201,用于将现实服务资源进行统一管理形成拥有Web服务定义语言WSDL的标准接口描述的物理服务,并通过接口描述和映射规则实现将物理服务虚拟化表示为服务单元,服务单元经服务注册进入服务组件库,服务单元实现对物理服务与企业服务总线的绑定;还用于被选中的服务单元根据绑定物理服务,完成对业务流程中业务活动的执行,以实现逻辑服务的功能.
业务流程逻辑化模块202,用于供企业用户根据业务流程需求,通过业务流程建模,定义实现业务应用的逻辑服务内容,形成业务流程对应的逻辑服务,并用于逻辑服务发起业务流程的服务请求;本模块首先从服务请求者接收服务请求,经过多策略,多模式的路由,传递服务请求消息给服务提供者,通过综合利用如动态消息聚合器,动态消息分离器,动态Wire Tap等多种类型的消息路由组件,完成了基于动态服务替换和服务容错(FaultTolerance of Service)的可靠路由方法。
动态服务路由选择模块203,用于接收逻辑服务的服务请求,针对逻辑服务中对服务节点的描述,根据业务活动的内容和性能要求,启用动态路由选择机制从服务组件库中选取合适的服务单元,作为对服务节点的服务执行者。
参见图3,为本发明实施例提供的动态服务路由选择模块的结构框图,包括:
消息增容器301,用于接收服务请求消息,并根据***的运行时序,产生唯一的任务标识码,然后将原始服务请求内容和任务标识码发送给服务选择器;
服务选择器302,用于接收消息增容器的服务消息,按照其中的服务描述,从服务组件库中寻找合适的服务单元,生成多个服务单元的备选服务列表,并将服务请求信息及其任务标识码存储在数据库中;然后,将发送任务标识码和备选服务列表,以及原始服务请求消息给动态过滤器;
动态过滤器303,用于接收服务选择器传递来的信息,从备选服务列表中选择第一个服务单元作为访问对象,然后,根据任务标识码暂存备选服务列表,声明服务状态监测器的位置,启用服务状态监测器监测服务单元的工作状态。最后,发送任务标识码、服务单元信息、原始服务请求信息给动态路由选择器;
动态路由选择器304,用于接收动态过滤器的服务消息,如果其中无有效服务单元信息,就通知服务状态监测器中止服务调用;反之,就发送服务请求信息给该服务单元,并通知服务状态监测器监测该服务单元的执行状态;
服务状态监测器305,用于接收动态过滤器或动态路由选择器的服务消息,用于对选择的服务单元的执行状态进行监测,并监听该服务单元的消息输出通道的服务响应消息。
参见图4,为本发明实施例提供的动态服务路由选择模块基于服务替换和服务容错的动态服务路由工作流程图。
基于服务替换的可靠路由,旨在利用服务替换的方法处理消息路由路径上服务节点的异常。动态服务路由可以灵活控制服务间消息的传递,而服务消息的传递,又是服务调用和互操作的基础。因此,通过控制消息传递,可以控制服务的交互和协同。利用服务选择器,动态选择服务执行者,实现服务的动态绑定。然后,利用服务状态检测器对选择的服务提供者的执行状态进行监测。如果在该服务执行过程中发现服务访问异常的情况,则利用动态路由组件的协同,实现对异常服务的替换,使得服务***即使是在服务错误发生的情况下,仍然可以通过动态变更服务访问对象,继续服务调用,进而完成服务协同,实现了基于服务替换的可靠路由,提高了服务访问的有效率。具体服务动态替换过程如下:
a)由服务状态监测器承载和执行。若在允许的***时间内成功返回响应消息,则将该消息发送给服务交互接口,结束服务调用和监测过程;反之,修改该服务单元在服务组件库中的工作状态记录,通知动态过滤器根据任务标识码从备选列表中选取第二个服务单元,启动对其的访问,进行新一轮服务监测,直至接收到服务响应消息或被选服务列表中所有服务单元全部调用完。
b)如果备选服务列表中的所有服务单元都被访问,仍无响应结果则通知服务选择器,在原有的服务请求和任务标识码的参照下,启动第二轮服务选择。这样的调用、监测重复执行,直至得到需要的响应结果或无法在服务组件库中搜索到可用的服务单元为止。通过对服务组件库中服务工作状态的记录,***管理员可以查询失效的服务,对其进行修正。
可靠路由的性能分析:假设面向服务***中服务的总数量为n。其中,有效状态的服务数量占服务总数量的比例为P,无效服务占服务总数量的比例为1一P;即有效服务数量为:n*P;无效服务的数量为n*(1一P)。设置一个参数
Figure BDA0000099885220000081
如果则是服务选择器的第一次服务选择;如果服务选择需要进行,第一轮的三个备选服务全部失效。假设P1为普通路由模式中服务调用成功的概率,设P2为可靠路由***中服务调用成功的概率,则:
P 1 = C np 1 / C n - ∂ 1 , ∂ = 0,1,2 . . .
P 2 = 1 - C ( n ( 1 - p ) - 3 ∂ ) 3 / C n - 3 ∂ 3 , ∂ = 0,1,2 . . .
可以看出随着服务查询轮次的增加,即
Figure BDA0000099885220000093
的增大,可靠动态服务路由***的服务调用有效性,比普通路由***具有更明显的优势。
服务容错技术是指动态服务路由***利用多种动态消息路由组件,实现服务的双冗余访问。确定服务访问的对象:目标服务及其副本服务。两个服务具有相同的接口描述,服务功能,仅在运行空间上有所不同,通过动态消息路由器实现对它们的同步访问。然后,利用服务结果比较器收集两个服务的响应结果,以判断两个响应结果是否存在不同。如果发现两个服务响应结果不同,则证明服务中至少有一个服务发生了异常,服务结果比较器就结合循环冗余容错算法和校验筛选服务容错算法,对服务响应结果的输出进行处理,从而保证路由路径中服务节点的可靠性和路由路径的完整性,实现可靠的服务路由。
双冗余服务容错:针对每个服务单元的描述,动态路由***对其提供双冗余的服务容错功能。需要两个服务的参与,即两个服务副本:Service A(服务提供者)与Service B(代表Service A的副本)。服务A的输入参数的集合用In(A)来表示,输出数据的集合用out(A)表示。In(A)可以为空,而一般out(A)不为空。输出的数据Out(A)可以被看作是服务A的结果。Out(A)与Out(B)由比较器Comparator比较:a)Out(A)=Out(B),容错***结束监测退出;b)Out(A)≠Out(B),A和B就被重新运算直到out(A)和out(B)相等或***时间溢出为止;并将最终响应结果输出给服务交互接口。
双冗余容错性能分析:误报率是指实际上没有出现任何错误,但是双冗余服务容错***却仍然报告发现错误的概率。漏报率是指出现了错误,但是双冗余服务容错***却报告没有发现错误的概率。在双冗余服务容错***中,错误检测的误报率是0,而漏报率小于一个小概率事件的概率,即:
Figure BDA0000099885220000095
其中事件X:Out(A)≠Out(B),事件Y:Out(A)有错误,事件Z:Out(B)有错误;表示在Out(A)和Out(B)都存在错误的条件下,两者的错误也完全一样的概率;P(Y)=b,P(Z)=c。
同时,如果双冗余服务容错***最终正常退出,它的容错能力为
1 - b - c + bc 1 - b - c + ( 1 + ∂ ) bc
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (10)

1.面向企业服务总线的动态服务路由方法,其特征在于,包括以下步骤:
服务虚拟化步骤:将现实服务资源进行统一管理形成拥有基于Web服务定义语言WSDL的标准接口描述的物理服务,并通过接口描述和映射规则实现将物理服务虚拟化表示为服务单元,服务单元经服务注册进入服务组件库,服务单元实现对物理服务与企业服务总线的绑定;
业务流程逻辑化步骤:企业用户根据业务流程需求,通过业务流程建模,定义实现业务的逻辑服务内容,形成业务流程对应的逻辑服务,由逻辑服务发起业务流程的服务请求;
动态服务路由选择步骤:从服务请求者接收服务请求,针对逻辑服务中对服务节点的描述,根据业务活动的内容和性能要求,启用动态路由选择机制从服务组件库中选取合适的服务单元,作为对服务节点的服务执行者。
2.根据权利要求1所述的方法,其特征在于,在动态服务路由步骤之后,还包括服务执行步骤:被选中的服务单元负责绑定物理服务,完成对业务流程中业务活动的执行,以实现逻辑服务的功能。
3.根据权利要求1所述的方法,其特征在于,所述服务虚拟化步骤中,物理服务能独立完成一定的业务功能,是服务交互过程中真正的服务提供者。
4.根据权利要求1所述的方法,其特征在于,所述逻辑服务由包括LB、LN和LF的三元组构成,其中LB表示逻辑服务LS的基本信息,LN描述逻辑服务的功能,描述逻辑服务功能内容,LF表示逻辑服务的非功能属性集合。
5.根据权利要求1所述的方法,其特征在于,在动态服务路由选择步骤中,通过服务容错机制实现服务单元选择;在服务提供步骤中,如果服务节点的执行发生异常,则服务容错机制利用服务替换或双冗余服务访问,保证服务单元执行的有效性。
6.面向企业服务总线的动态服务路由装置,其特征在于,包括:
服务虚拟化模块,用于将现实服务资源进行统一管理形成拥有Web服务定义语言WSDL的标准接口描述的物理服务,并通过接口描述和映射规则实现将物理服务虚拟化表示为服务单元,服务单元经服务注册进入服务组件库,服务单元实现对物理服务与企业服务总线的绑定;还用于被选中的服务单元根据绑定物理服务,完成对业务流程中业务活动的执行,以实现逻辑服务的功能;
业务流程逻辑化模块,用于供企业用户根据业务流程需求,通过业务流程建模,定义实现业务应用的逻辑服务内容,形成业务流程对应的逻辑服务,并用于逻辑服务发起业务流程的服务请求;
动态服务路由选择模块,用于接收逻辑服务的服务请求,针对逻辑服务中对服务节点的描述,根据业务活动的内容和性能要求,启用动态路由选择机制从服务组件库中选取合适的服务单元,作为对服务节点的服务执行者。
7.根据权利要求6所述的装置,其特征在于,所述动态服务路由选择模块,包括:
消息增容器,用于接收服务请求消息,并根据***的运行时序,产生唯一的任务标识码,然后将原始服务请求内容和任务标识码发送给服务选择器;
服务选择器,用于接收消息增容器的服务消息,按照其中的服务描述,从服务组件库中寻找合适的服务单元,生成多个服务单元的备选服务列表,并将服务请求信息及其任务标识码存储在数据库中;然后,将发送任务标识码和备选服务列表,以及原始服务请求消息给动态过滤器;
动态过滤器,用于接收服务选择器传递来的信息,从备选服务列表中选择第一个服务单元作为访问对象,然后,根据任务标识码暂存备选服务列表,声明服务状态监测器的位置,启用服务状态监测器监测服务单元的工作状态。最后,发送任务标识码、服务单元信息、原始服务请求信息给动态路由选择(此处的“动态路由选择器”针对“动态服务路由选择模块”所提出,这里引用“动态路由选择器”的意义在于让文档的评阅人更直观地联想“动态服务路由选择模块”所提供的功能);
动态路由选择器,用于接收动态过滤器的服务消息,如果其中无有效服务单元信息,就通知服务状态监测器中止服务调用;反之,就发送服务请求信息给该服务单元,并通知服务状态监测器监测该服务单元的执行状态;
服务状态监测器,用于接收动态过滤器或动态路由选择器的服务消息,用于对选择的服务单元的执行状态进行监测,并监听该服务单元的消息输出通道的服务响应消息。
8.根据权利要求7述的装置,其特征在于,所述服务状态检测器还用于分析需要监测的服务单元的信息和任务标识码,如果在该服务单元执行过程中发现服务访问异常的情况,则利用动态路由组件的协同,通过动态变更服务访问对象,继续服务调用。
9.根据要求8所述的装置,其特征在于,所述服务状态检测器,还用于判断在允许的***时间内是否成功返回响应消息,如是则将该消息发送给服务交互接口,结束服务调用和监测过程;否则,修改该服务单元在服务组件库中的工作状态记录,通知动态过滤器根据任务标识码从备选列表中选取第二个服务单元,启动对其的访问,进行新一轮服务监测,直至接收到服务响应消息或被选服务列表中所有服务单元全部调用完;如果备选服务列表中的所有服务单元都被访问,仍无响应结果则通知服务选择器,在原有的服务请求和任务标识码的参照下,启动第二轮服务选择。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述动态服务路由选择模块还包括服务结果比较器,用于收集具有相同的接口描述和服务功能的两个服务的响应结果,以判断两个响应结果是否存在不同;如果发现两个服务响应结果不同,则证明服务中至少有一个服务发生了异常,服务结果比较器就结合循环冗余容错算法和校验筛选服务容错算法,对服务响应结果的输出进行处理。
CN201110316927.2A 2011-10-18 2011-10-18 面向企业服务总线的动态服务路由装置 Active CN102387075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110316927.2A CN102387075B (zh) 2011-10-18 2011-10-18 面向企业服务总线的动态服务路由装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110316927.2A CN102387075B (zh) 2011-10-18 2011-10-18 面向企业服务总线的动态服务路由装置

Publications (2)

Publication Number Publication Date
CN102387075A true CN102387075A (zh) 2012-03-21
CN102387075B CN102387075B (zh) 2014-07-09

Family

ID=45826071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110316927.2A Active CN102387075B (zh) 2011-10-18 2011-10-18 面向企业服务总线的动态服务路由装置

Country Status (1)

Country Link
CN (1) CN102387075B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868608A (zh) * 2012-09-04 2013-01-09 江苏大学 一种基于消息机制的企业服务总线***
CN103580951A (zh) * 2012-07-27 2014-02-12 株式会社日立制作所 多个信息***的输出比较方法
CN104360943A (zh) * 2014-11-11 2015-02-18 浪潮电子信息产业股份有限公司 一种面向服务架构的资源保障模型
CN105095052A (zh) * 2014-05-22 2015-11-25 阿里巴巴集团控股有限公司 Soa环境下的故障检测方法及装置
CN106656706A (zh) * 2017-02-25 2017-05-10 华南理工大学 基于软件总线的面向服务的机器人开放式控制***及方法
CN106685950A (zh) * 2016-12-26 2017-05-17 成都康赛信息技术有限公司 流程业务数据处理方法
CN108134828A (zh) * 2017-12-20 2018-06-08 金蝶软件(中国)有限公司 服务请求的路由方法、装置、计算机设备和存储介质
CN109450795A (zh) * 2018-11-09 2019-03-08 浙江大学 一种面向服务网络的服务路由器及服务网络***
CN109450820A (zh) * 2018-11-09 2019-03-08 浙江大学 一种面向服务网络的服务交换机及服务网络***
CN109783257A (zh) * 2019-01-29 2019-05-21 清华大学 面向批量Web服务被动容错的选择置换方法及***
WO2019109957A1 (zh) * 2017-12-08 2019-06-13 深圳壹账通智能科技有限公司 基于esb的服务提供方法、装置、设备及可读存储介质
CN110855491A (zh) * 2019-11-15 2020-02-28 无锡识凌科技有限公司 一种基于企业服务总线的路由级联方法及路由级联结构
CN111178837A (zh) * 2019-12-26 2020-05-19 武汉华工赛百数据***有限公司 一种基于微服务架构的智能制造信息***
CN114430428A (zh) * 2022-04-02 2022-05-03 中国光大银行股份有限公司 客户端接口统一方法、服务***、存储介质和电子设备
CN114650252A (zh) * 2022-03-25 2022-06-21 华润数字科技(深圳)有限公司 基于企业服务总线的路由方法、装置及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610288A (zh) * 2009-06-16 2009-12-23 浙江大学 一种企业服务总线智能路由方法
CN101794409A (zh) * 2009-11-18 2010-08-04 山东浪潮齐鲁软件产业股份有限公司 一种跨平台应用***实时数据交换模型
CN102158548A (zh) * 2011-03-02 2011-08-17 山东中创软件工程股份有限公司 一种企业服务总线接入外部服务的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610288A (zh) * 2009-06-16 2009-12-23 浙江大学 一种企业服务总线智能路由方法
CN101794409A (zh) * 2009-11-18 2010-08-04 山东浪潮齐鲁软件产业股份有限公司 一种跨平台应用***实时数据交换模型
CN102158548A (zh) * 2011-03-02 2011-08-17 山东中创软件工程股份有限公司 一种企业服务总线接入外部服务的方法

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103580951A (zh) * 2012-07-27 2014-02-12 株式会社日立制作所 多个信息***的输出比较方法
CN102868608A (zh) * 2012-09-04 2013-01-09 江苏大学 一种基于消息机制的企业服务总线***
CN105095052A (zh) * 2014-05-22 2015-11-25 阿里巴巴集团控股有限公司 Soa环境下的故障检测方法及装置
CN105095052B (zh) * 2014-05-22 2018-08-31 阿里巴巴集团控股有限公司 Soa环境下的故障检测方法及装置
CN104360943A (zh) * 2014-11-11 2015-02-18 浪潮电子信息产业股份有限公司 一种面向服务架构的资源保障模型
CN106685950A (zh) * 2016-12-26 2017-05-17 成都康赛信息技术有限公司 流程业务数据处理方法
CN106656706A (zh) * 2017-02-25 2017-05-10 华南理工大学 基于软件总线的面向服务的机器人开放式控制***及方法
CN106656706B (zh) * 2017-02-25 2020-06-19 华南理工大学 基于软件总线的面向服务的机器人开放式控制***及方法
WO2019109957A1 (zh) * 2017-12-08 2019-06-13 深圳壹账通智能科技有限公司 基于esb的服务提供方法、装置、设备及可读存储介质
CN108134828A (zh) * 2017-12-20 2018-06-08 金蝶软件(中国)有限公司 服务请求的路由方法、装置、计算机设备和存储介质
CN109450820B (zh) * 2018-11-09 2020-07-07 浙江大学 一种面向服务网络的服务交换机及服务网络***
CN109450820A (zh) * 2018-11-09 2019-03-08 浙江大学 一种面向服务网络的服务交换机及服务网络***
CN109450795A (zh) * 2018-11-09 2019-03-08 浙江大学 一种面向服务网络的服务路由器及服务网络***
CN109450795B (zh) * 2018-11-09 2020-08-11 浙江大学 一种面向服务网络的服务路由器及服务网络***
CN109783257A (zh) * 2019-01-29 2019-05-21 清华大学 面向批量Web服务被动容错的选择置换方法及***
CN109783257B (zh) * 2019-01-29 2020-11-03 清华大学 面向批量Web服务被动容错的选择置换方法及***
CN110855491A (zh) * 2019-11-15 2020-02-28 无锡识凌科技有限公司 一种基于企业服务总线的路由级联方法及路由级联结构
CN110855491B (zh) * 2019-11-15 2023-03-07 无锡识凌科技有限公司 一种基于企业服务总线的路由级联方法及路由级联结构
CN111178837A (zh) * 2019-12-26 2020-05-19 武汉华工赛百数据***有限公司 一种基于微服务架构的智能制造信息***
CN111178837B (zh) * 2019-12-26 2023-09-22 武汉华工赛百数据***有限公司 一种基于微服务架构的智能制造信息***
CN114650252A (zh) * 2022-03-25 2022-06-21 华润数字科技(深圳)有限公司 基于企业服务总线的路由方法、装置及计算机设备
CN114650252B (zh) * 2022-03-25 2023-11-21 华润数字科技(深圳)有限公司 基于企业服务总线的路由方法、装置及计算机设备
CN114430428A (zh) * 2022-04-02 2022-05-03 中国光大银行股份有限公司 客户端接口统一方法、服务***、存储介质和电子设备

Also Published As

Publication number Publication date
CN102387075B (zh) 2014-07-09

Similar Documents

Publication Publication Date Title
CN102387075B (zh) 面向企业服务总线的动态服务路由装置
KR101863398B1 (ko) 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법
CN100574221C (zh) 一种多***错误码管理方法、装置及***
CN103944924A (zh) 一种基于RESTful的泛在网发布订阅中间件模型
CN114024826B (zh) 基于服务网格技术实现分布式esb场景下的应用多活***
US9722890B2 (en) Integrated incident management for hybrid landscapes
US9268737B2 (en) Managing virtual computing services
KR20140063512A (ko) 다중-서버 예약 시스템 상에서 집중화된 예약 컨텍스트 관리를 위한 방법 및 시스템
CN102325196A (zh) 分布式集群存储***
CN110519185A (zh) 一种新型跨网络数据交换的方法
CN111724046B (zh) 一种购电管理***
CN114651269A (zh) 基于MaaS平台上的运行故障的交易流管理
CN102916830B (zh) 一种资源服务优化配置容错管理实现***
CN102508773A (zh) 基于ie内核的web业务***仿真监控方法及装置
CN103270520A (zh) 基于重要性类的数据管理
CN113127499B (zh) 一种基于区块链的微服务方法、设备及介质
CN116828035A (zh) 一种基于云计算的数据集成***
CN103064688A (zh) 工作流通用服务的方法和***
CN115242794A (zh) 调控云服务链路径规划及故障多活方法及***
CN101795237A (zh) 基于数据交换的工作流整合方法和装置
KR20130134012A (ko) 웹 운영환경 기반의 대내 채널과 대외 채널 간 연동 시스템
CN113191901A (zh) 一种交易业务处理方法、装置、设备和存储介质
Elgedawy CRESCENT: a reliable framework for durable composite web services management
JP6502783B2 (ja) 一括管理システム、一括管理方法およびプログラム
CN111181789B (zh) 基于分区的应用容灾***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 610054 information industry building, 159 East Ring Road, Chengdu, Chenghua District, Sichuan

Applicant after: Chengdu Comsys Information Technology Co., Ltd.

Address before: 610054 information industry building, 159 East Ring Road, Chengdu, Chenghua District, Sichuan

Applicant before: Uestc Comsys Information Co., Ltd.

CB03 Change of inventor or designer information

Inventor after: Tang Xuefei

Inventor after: Tang Xuefeng

Inventor after: Chen Ke

Inventor after: Wang Hailiang

Inventor before: Tang Xuefei

Inventor before: Chen Ke

Inventor before: Wang Hailiang

Inventor before: Li Yinghong

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU KANGSAI INFORMATION TECHNOLOGY CO., LTD. OF UESTC TO: CHENGDU COMSYS INFORMATION TECHNOLOGY CO., LTD.

Free format text: CORRECT: INVENTOR; FROM: TANG XUEFEI CHEN KE WANG HAILIANG LI YINGHONG TO: TANG XUEFEI TANG XUEFENGCHEN KE WANG HAILIANG

C14 Grant of patent or utility model
GR01 Patent grant