CN101686174B - 基于mpls的实现服务流的方法和系统 - Google Patents

基于mpls的实现服务流的方法和系统 Download PDF

Info

Publication number
CN101686174B
CN101686174B CN200810149812A CN200810149812A CN101686174B CN 101686174 B CN101686174 B CN 101686174B CN 200810149812 A CN200810149812 A CN 200810149812A CN 200810149812 A CN200810149812 A CN 200810149812A CN 101686174 B CN101686174 B CN 101686174B
Authority
CN
China
Prior art keywords
service flow
mpls
service
als
place
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.)
Expired - Fee Related
Application number
CN200810149812A
Other languages
English (en)
Other versions
CN101686174A (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.)
IBM China Co Ltd
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN200810149812A priority Critical patent/CN101686174B/zh
Publication of CN101686174A publication Critical patent/CN101686174A/zh
Application granted granted Critical
Publication of CN101686174B publication Critical patent/CN101686174B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

公开了一种基于MPLS的实现服务流的方法和系统,该方法包括:接收服务流的定义,该服务流的定义定义了以预定顺序调用多个个别服务,并在多个个别服务之间交换消息以便实现集成服务的业务逻辑的流程,其中多个个别服务被部署在通过一个或多个MPLS使能的路由器互连的一个或多个服务器上;根据服务流的定义在一个或多个MPLS使能的路由器以及一个或多个服务器处的一个或多个装置之间建立MPLS标签交换路径,并在一个或多个服务器处的一个或多个装置中建立该服务流与该MPLS标签交换路径之间的对应关系;以及根据该服务流与该MPLS标签交换路径之间的对应关系并通过MPLS标签交换路径在多个个别服务之间交换该服务流的消息,以便完成该服务流。

Description

基于MPLS的实现服务流的方法和系统
技术领域
本发明涉及数据处理领域,具体涉及应用服务的集成,更具体涉及一种基于MPLS(多协议标签交换)的实现服务流的方法。 
背景技术
在当今的企业或数据中心环境中,通常存在着成百甚至成千的服务。每一个服务向其他服务提供某种独特的服务。随着企业应用变得越来越复杂,企业需要将这些个别服务集成起来以向用户提供集成服务。这是一种十分常见的需求,并在近年来推动着IT基础设施的发展。 
为实现集成服务的业务逻辑,需要以预定顺序调用其每一个组件(个别服务),并在这些组件之间交换消息。这些调用和消息流通常称为“服务流”。 
起初,服务流是由个别服务本身实现的。服务流中的前一个服务需要确定、发现和调用服务流中的后一个服务。图1示出了这种即兴的服务流实现方法的示意图。这种即兴的(ad hoc)解决方案是直截了当的,但具有很多缺点。首先,这种解决方案缺乏灵活性。当服务流改变、删除或替换组件或添加新的组件时,所有涉及到的组件都需要改变。其次,很难为整个服务流提供负载均衡和QoS(服务质量)解决方案,因为该服务流的所有组件是以MxN方式连接在一起的。 
为解决这些问题,提出了用于服务流的新的解决方案。很多这些新的解决方案被称为企业服务总线(ESB),其用于实现应用层服务流。图2示出了这种使用总线的服务流实现方法的示意图。在这种解决方案的核心是“总线”的概念。通过引入作为总线的另一个软件层,所有服务将通过总线与其他服务通信。这种解决方案的主要优点是减少了流组件之间的连接的数量,这转而使得服务流的改变更容易了。此外,在总线中可以容易地针对服务流实现诸如负载均衡和QoS等附加的非功能性特征。 
然而,ESB解决方案也具有其缺点。首先,它需要一个额外的软件层,这意味着更多的管理工作。消息必须在总线和服务流中的每个组件之间交换,这意味着请求需要经过更多跳才能得到服务,以及额外的运行时开销和延迟。此外,在ESB解决方案中,消息的路由是在应用层进行的,这将带来很大的CPU处理开销。而且,需要对于同一个会话中的各消息重复进行路由,这也会造成资源和时间的浪费。 
显然,本领域中需要一种更有效的服务流实现方案,该方案应不仅具有足够的灵活性以及负载均衡和QoS等能力,而且具有较小的运行时开销和延迟。 
发明内容
根据本发明的一个方面,提供了一种基于MPLS的实现服务流的方法,包括:接收服务流的定义,所述服务流的定义定义了以预定顺序调用多个个别服务,并在所述多个个别服务之间交换消息以便实现集成服务的业务逻辑的流程,其中所述多个个别服务被部署在通过一个或多个MPLS使能的路由器互连的一个或多个服务器上;根据所述服务流的定义在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的一个或多个应用标签交换器ALS之间建立MPLS标签交换路径(LSP),并在所述一个或多个服务器处的一个或多个ALS中建立该服务流与该MPLS标签交换路径之间的对应关系;以及根据该服务流与该MPLS标签交换路径之间的对应关系并通过所述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成该服务流。 
根据本发明的另一个方面,提供了一种基于MPLS的实现服务流的系统,包括:应用标签交换路径引擎,其被配置为接收服务流的定义,所述服务流的定义定义了以预定顺序调用多个个别服务,并在所述多个个别服务之间交换消息以便实现集成服务的业务逻辑的流程,其中所述多个个别服务被部署在通过一个或多个MPLS使能的路由器互连的一个或多个服务器上;以及根据所述服务流的定义在所述一个或多个MPLS使能的路由器以及位于所述一个或多个服务器处的一个或多个应用标签交换器之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个应用标签交换器中建立该服务流与该MPLS标签交换路径之间的对应关系;以及位于所述一个或多个服务器处的一个或多个应用标签交换器,其被配置为根据该服务流与该MPLS标签交换路径之间的对应关系并通过所述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成该服务流。 
根据本发明上述技术方案,应用层服务流可以利用MPLS使能的网络基础设施在流组件之间转发消息,因此可利用MPLS的负载均衡和QoS能力满足负载均衡和QoS要求。同时,消息的路由是在网络层和数据链路层之间的MPLS层进行的,因而加速了服务流消息的路由过程,降低了计算开销和延迟。 
附图说明
所附权利要求中阐述了被认为是本发明的特点的创造性特征。但是,通过参照附图阅读下面对说明性实施例的详细说明可更好地理解发明本身以及其优选使用模式、目标、特征以及优点,在附图中: 
图1示出了现有技术中的即兴的服务流实现方法的示意图; 
图2示出了现有技术中的使用总线的服务流实现方法的示意图; 
图3示意性地示出了MPLS的基本概念; 
图4示出了根据本发明的实施例的基于MPLS的实现服务流的系统; 
图5示出了根据本发明的实施例的基于MPLS的实现服务流的方法; 
图6示出了根据本发明的实施例的图5中的步骤502中包括的具体步骤;以及 
图7示出了根据本发明的实施例的图5中的步骤503中包括的具体步 骤。 
具体实施方式
本发明提出了一种基于MPLS的实现服务流的方法。MPLS是由因特网工程任务组(IETF)的网络协议,其目标是使得网络服务提供者能够向其用户提供附加的服务,扩展其当前服务,并通过使用MPLS的流量工程能力对其不能增长的网络施加更多的控制。 
MPLS工作在OSI(开放式系统互联)模型的第二层(数据链路层)和第三层(网络层)之间的层上,并因此常常被称为2.5层协议。图3示意性地示出了MPLS的基本概念。位于MPLS网络的边缘的边缘标签交换路由器将进入MPLS网络的数据包进行分类,并根据该数据包所属的服务类向数据包附加MPLS标签,该标签指示了该数据包所属的服务类以及作为该数据包的目标的下一个标签交换路由器或边缘标签交换路由器。该数据包所经过的每一个标签交换路由器接收到该数据包后,使用该数据包的MPLS标签以及预先建立的标签查找表获得新的标签(这与IP路由器中使用IP路由表进行路由形成对比),使用新的标签替换原标签,并将该数据包发送给与新的标签相关联的下一个标签交换路由器或边缘标签交换路由器。当一边缘标签交换路由器接收到来自MPLS网络的附加了标签的数据包时,该边缘标签交换路由器去除该数据包的MPLS标签,并将该数据包提供给MPLS网络外部的设备。每个标签交换路由器和边缘标签交换路由器可通过诸如标签分配协议(LDP)等协议与其他标签交换路由器和边缘标签交换路由器交换各自的标签信息,以形成各自的标签查找表,从而在标签交换路由器和边缘标签交换路由器之间建立起针对特定服务类的标签交换路径。由于MPLS网络使用MPLS层的标签进行路由,避免了使用耗时的IP路由表查找,从而加快了数据包在网络中的传送速度;同时,通过在网络中形成不同的标签交换路径,可容易地实现流量控制功能,从而满足数据包处理的负载均衡和QoS要求。 
本发明的基本思想是通过MPLS技术将应用层服务流集成到MPLS 层,使得应用层服务流能够利用MPLS使能的网络基础设施在每个服务流组件之间转发消息。由于应用消息的路由是在MPLS层进行的,从而加速了消息的路由和处理过程,并且能够容易地实现负载均衡和QoS要求。 
本发明将企业应用划分为两个阶段:在控制阶段,为应用服务流建立适当的标签交换路径;在运行阶段,根据所建立的标签交换路径,将应用服务流的消息路由到适当的服务流组件进行处理,从而完成应用服务流。 
下面参照附图说明本发明的实施例。在下面的说明中,阐述了许多具体细节以便更全面地了解本发明。但是,对于本技术领域内的技术人员明显的是,本发明的实现可不具有这些具体细节中的一些。此外,应当理解的是,本发明并不限于所介绍的特定实施例。相反,可以考虑用下面的特征和要素的任何组合来实施本发明,而无论它们是否涉及不同的实施例。因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所附权利要求的要素或限定,除非权利要求中明确提出。 
图4示出了根据本发明的实施例的基于MPLS的实现服务流的系统及其运行环境。如图所示,该运行环境包括数据中心A、数据中心B和数据中心C。在这些数据中心中,分别部署有服务A1-A5、B1-B6、C1-C5;且在每个数据中心中,部署有一个或多个ESB网关,例如Datapower ESB网关,每个ESB网关用于该数据中心中的多个服务。各数据中心中的ESB网关通过MPLS使能的路由器S1-S5相互连接。当然,所图示的本发明的系统的运行环境仅为示例,而不是对本发明的系统的运行环境的限制。例如,本发明的系统的运行环境可包括任意多个数据中心,或者仅包括一个数据中心;各ESP网关可以通过MPLS使能的路由器以任何适当的方式互连,等等。 
如图所示,根据本发明的实施例的基于MPLS的实现服务流的系统包括应用标签交换路径(ALSP)引擎401和位于一个或多个服务器处的一个或多个应用标签交换器(ALS)402。 
其中,所述ALSP引擎401被配置为接收服务流的定义,所述服务流的定义定义了以预定顺序调用多个个别服务,并在所述多个个别服务之间 交换消息以便实现集成服务的业务逻辑的流程,其中所述多个个别服务被部署在通过一个或多个MPLS使能的路由器互连的一个或多个服务器上;所述ALSP引擎401还被配置为根据所述服务流的定义在所述一个或多个MPLS使能的路由器以及位于所述一个或多个服务器处的一个或多个ALS402之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个ALS402中建立该服务流与该MPLS标签交换路径之间的对应关系。 
所述ALSP引擎401可以位于任何计算设备上,该计算设备可以与所述一个或多个MPLS使能的路由器和ALS402通过网络连接,也可以不与所述一个或多个MPLS使能的路由器计算设备和ALS402通过网络连接。由于ALSP引擎401工作在控制阶段,因此只要该计算设备能够使得ALSP引擎401能够接收到服务流的定义,并根据服务流的该定义对所述MPLS使能的路由器和ALS402进行配置即可。 
所述ALSP引擎401可以从任何实体通过任何信息传递方式接收服务流的定义,例如从定义、创建或部署作为集成服务的企业应用的计算机处,或从企业应用的开发者或管理员处。 
所述MPLS使能的路由器可以是任何现有的或新开发的能够按照MPLS协议路由网络包的路由器、交换机或其他设备。所述服务器优选为应用服务器。所述MPLS使能的路由器与所述服务器之间的连接方式可以是任意的。可选地,每一个服务器通过一个ALS与一个MPLS使能的路由器相连。每一个ALS可以将一个或多个服务器与一个MPLS使能的路由器相连。ALS可以硬件实现,也可以软件实现,且其既可以位于与所述服务器相连的设备(例如ESB网关)上,也可以位于所述服务器中。每一个MPLS使能的路由器可以连接一个或多个其他MPLS使能的路由器,以及/或一个或多个ALS402。 
根据本发明的实施例,被配置为根据所述服务流的定义在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS402之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个ALS 中建立该服务流与该MPLS标签交换路径之间的对应关系的ALSP引擎401进一步被配置为:根据所述服务流的定义生成一组MPLS标签;以及将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS,以便在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个ALS中的每一个中建立该服务流与相应的MPLS标签之间的对应关系。 
ALSP引擎401可使用任何方法生成所述一组MPLS标签,且所述一组MPLS标签可以是符合MPLS协议的任何一组标签,只要该组标签能够将为该服务流建立的应用标签交换路径与根据其他组标签为其他服务流建立的其他标签交换路径相区别即可。ALSP引擎401可以为不同的服务流生成不同的一组标签,以便为不同的服务流建立不同的标签交换路径,所述不同的标签交换路径将包括不同组的MPLS使能的路由器401和ALS402。 
ALSP引擎401可使用任何传输方法、传输介质或通信协议将所生成的一组MPLS标签分别发送给相应的MPLS使能的路由器和ALS402。 
当MPLS使能的路由器或ALS402接收到来自ALSP引擎401的相应标签后,可以通过例如标签交换协议等与其他MPLS使能的路由器或ALS402交换各自的标签信息,根据各自的和所接收的标签信息维护一标签查找表,从而在MPLS使能的路由器和ALS之间建立起MPLS标签交换路径。MPLS使能的路由器或ALS响应于接收到相应的标签建立MPLS标签交换路径的方法是本领域中的公知的,因此在此不再赘述。 
通过在每一个ALS402中建立服务流与相应的MPLS标签之间的对应关系,ALS就能够向接收自应用服务器上的个别服务的服务流消息添加相应的MPLS标签,将添加了相应的MPLS标签的服务流的消息发送给与其相连的MPLS使能的路由器,从而通过已建立的MPLS标签交换路径将该消息发送给位于其他服务器上的个别服务来处理;并能够根据接收自MPLS标签交换路径的来自其他服务器上的个别服务的服务流消息中的 MPLS标签确定该服务流消息所属的服务流,以便去除该服务流消息的MPLS标签并将去除了MPLS标签的该服务流消息转发给相应的服务器上的个别服务去处理。仅作为示例,在ALS402中建立该服务流与相应的MPLS标签之间的对应关系,可以通过在ALS中的表中存储该ALS接收自所述ALSP引擎401的MPLS标签与该服务流的对应关系来实现。 
根据本发明的一个实施例,所述ALSP引擎401还被配置为在根据所述服务流的定义以及包含所述多个个别服务的网络地址和路径信息的服务注册表确定执行该服务流的网络路径,以及该网络路径包含的一个或多个MPLS使能的路由器以及一个或多个服务器处的ALS402的网络地址,以便将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS。 
所述服务注册表可以是包含个别服务的网络地址和路径信息的任何现有的或新开发的服务注册表。由于在所述服务注册表中包含了各个别服务的服务地址和路径信息,所述ALSP引擎401就有可能根据该服务注册表为同一个服务流确定出不同的网络路径,并可以根据每个网络路径的流量等情况,从中选择适当的网络路径,从而满足负载均衡或QoS的要求。 
在根据本发明一个实施例的基于MPLS的实现服务流的系统中,所述位于一个或多个服务器处的一个或多个ALS402被配置为根据该服务流与该MPLS标签交换路径之间的对应关系,并通过所述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成所述服务流。 
根据本发明的进一步的实施例,被配置为根据该服务流与该MPLS标签交换路径之间的对应关系并通过所述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成所述服务流的ALS包括: 
该服务流的起始个别服务所在的服务器处的ALS402,其被配置为响应于接收到来自该起始个别服务的该服务流的消息,根据在该服务器处的ALS402中建立的该服务流与相应的MPLS标签之间的对应关系,向该服务流的消息附加所述相应的MPLS标签,并且将该附加了所述相应的MPLS标签的该服务流的消息发送到该服务器处的该ALS402所连接的 MPLS使能的路由器,以便通过所述MPLS标签交换路径将附加了相应的MPLS标签的该服务流的消息转发给该服务流涉及的其他个别服务所在的服务器处的ALS402;以及 
所述其他个别服务所在的服务器处的ALS402,其中的每一个ALS被配置为:响应于接收到来自所述MPLS标签交换路径的附加了相应的MPLS标签的该服务流的消息,去除所述相应的MPLS标签,并将去除了所述相应的MPLS标签的该服务流的消息提供给相应的个别服务,以便由所述相应的个别服务进行处理;以及如果该服务流的执行没有完成,则响应于接收到经过所述相应的个别服务处理的该服务流的消息,将相应的MPLS标签附加到该服务流的消息,并将附加了所述相应的MPLS标签的该服务流的消息发送给该ALS所连接的MPLS使能的路由器。 
至于通过所述MPLS标签交换路径中转发附加了相应的MPLS标签的该服务流的消息的具体方式,即该MPLS标签交换路径所涉及的每一个MPLS使能的路由器以及ALS根据MPLS协议接收和转发该服务流的消息的具体方式,则是本技术领域中公知的,因此,在此不再赘述。 
根据本发明的一个实施例,所述一个或多个服务器处的一个或多个ALS中的每个,位于用于多个服务器的ESB网关中。所述ESP网关例如可以是Datapower ESB网关。 
根据本发明的实施例,所述一个或多个服务器处的一个或多个ALS为网络驱动程序。该网络驱动程序例如可位于所述ESB网关设备中。 
根据本发明的进一步的实施例,所述一个或多个服务器与所述ESB网关位于一个或多个刀片服务器机箱中。在这样的实施例中,通常每个刀片服务器机箱中包含多个刀片服务器和一个ESB网关,该ESB网关用作所述多个刀片服务器的ESB。 
根据本发明的实施例,所述服务流为应用层服务流。这就是说,所述多个个别服务是在应用层被集成为所述集成服务的。 
根据本发明的实施例的基于MPLS的实现服务流的系统中的所述多个个别服务可以位于不同的管理域中。例如,它们可以分别位于不同企业的 数据中心中;也可以位于相同的管理域中,例如位于同一个企业的一个或多个数据中心中。 
以上描述了根据本发明的实施例的基于MPLS的实现服务流的系统,应指出的是,以上描述仅为示例,而不是对本发明的限制。在本发明的其他实施例中,所述基于MPLS的实现服务流的系统可具有更多、更少或不同的模块,且各模块之间的关系可以与以上描述和图示的不同。例如,在本发明的一些实施例中,所述ALSP引擎也可与一个ALS一起位于某一个ESB网关中,等等。 
现在考虑本发明的基于MPLS的实现服务流的系统的一个示例性应用场景。在目前的数据中心环境中,Datapower ESB网关通常被用作ESB网关。在每个刀片服务器机箱中,有一个Datapower ESB网关,其用作应用层企业服务总线。通常,同一个机箱中的刀片之间的服务流消息交换是在Datapower ESB网关中进行的。为了支持不同机箱之间的服务流消息交换,传统上,一个专用的ESB网关被用作联合ESB主干。 
通过使用本发明的系统,不再需要该专用的ESB主干。在每一个Datapower ESB网关中,将存在一个ALS。这样,Datapower ESB中的应用消息将由该ALS分析。如果该应用消息的目标是其他Datapower ESB,则ALS将根据所存储的路由规则(即前文中所述的根据MPLS标签与服务流之间的对应关系)向该应用消息附加相应的MPLS标签,并将该应用消息作为网络包发送到网络中。ALS也可能根据网络协议的要求首先将应用消息切分为若干网络包(例如,IP包),然后向每一个网络包附加MPLS标签,并将每一个网络包发送到网络中。 
当所述网络包被发送到网络中后,网络中的路由器和交换机将理解MPLS标签。这是因为,MPLS是IETF标准,因此现代的网络设备都将理解MPLS。这样,网络包就被路由到相应的Datapower ESB的ALS。该ALS将去除所接收的网络包的MPLS标签,可能需要将网络包重新组合为应用消息,并将该应用消息发送给相同机箱中的某个刀片上的服务。 
下面参照附图描述根据本发明的实施例的基于MPLS的实现服务流的 方法。该方法可以由上述根据本发明的实施例的基于MPLS的实现服务流的系统来实现。为简明起见,在以下描述中省略了与上述内容重复的部分细节,因此可参照以上描述获得对本发明的基于MPLS的实现服务流的方法的更详细的理解。 
图5示出了根据本发明的实施例的一种基于MPLS的实现服务流的方法。如图所示,该方法包括: 
在步骤501,接收服务流的定义,所述服务流的定义定义了以预定顺序调用多个个别服务,并在所述多个个别服务之间交换消息以便实现集成服务的业务逻辑的流程,其中所述多个个别服务被部署在通过一个或多个MPLS使能的路由器互连的一个或多个服务器上。 
在步骤502,根据所述服务流的定义在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的一个或多个装置之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个装置中建立该服务流与该MPLS标签交换路径之间的对应关系。 
在步骤503,根据该服务流与该MPLS标签交换路径之间的对应关系并通过所述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成所述服务流。 
现参照图6,其示出了根据本发明的实施例的上述步骤502中包括的具体步骤。 
如图所示,在可选步骤601,根据所述服务流的定义以及包含所述多个个别服务的网络地址和路径信息的注册表确定执行该服务流的网络路径,以及该网络路径包含的一个或多个MPLS使能的路由器以及一个或多个服务器处的装置的网络地址,以便将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的装置。 
在步骤602,根据所述服务流的定义生成一组MPLS标签。 
在步骤603,将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的装置,从而在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的装置之间建立 MPLS标签交换路径。 
在步骤604,在所述一个或多个服务器处的一个或多个装置中的每一个中建立该服务流与相应的MPLS标签之间的对应关系。 
现参照图7,其示出了根据本发明的实施例的上述步骤503中包括的具体步骤。 
如图所示,在步骤701,由该服务流的起始个别服务所在的服务器处的装置响应于接收到来自该起始个别服务的该服务流的消息,根据在该服务器处的装置中建立的该服务流与相应的MPLS标签之间的对应关系,向该服务流的消息附加所述相应的MPLS标签,并且将该附加了所述相应的MPLS标签的该服务流的消息发送到该服务器处的装置所连接的MPLS使能的路由器。 
在步骤702,通过所述MPLS标签交换路径将附加了相应的MPLS标签的该服务流的消息转发给该服务流涉及的其他个别服务所在的服务器处的装置。 
在步骤703,由所述其他个别服务所在的服务器处的每一个装置响应于接收到来自所述MPLS标签交换路径的附加了相应的MPLS标签的该服务流的消息,去除所述相应的MPLS标签,并将去除了所述相应的MPLS标签的该服务流的消息提供给相应的个别服务,以便由所述相应的个别服务进行处理。 
在步骤704,如果该服务流的执行没有完成,则由所述其他个别服务所在的服务器处的每一个装置响应于接收到经过所述相应的个别服务处理的该服务流的消息,将相应的MPLS标签附加到该服务流的消息,并将附加了所述相应的MPLS标签的该服务流的消息发送给所述其他个别服务所在的服务器处的该装置所连接的MPLS使能的路由器。 
根据本发明的实施例,所述一个或多个服务器处的一个或多个装置中的每个装置位于用于一个或多个服务器的ESB网关中。 
根据本发明的实施例,所述一个或多个服务器处的一个或多个装置为网络驱动程序。
根据本发明的进一步的实施例,所述一个或多个服务器与所述ESB网关位于一个或多个刀片服务器机箱中。 
根据本发明的实施例,所述服务流为应用层服务流。 
以上描述了根据本发明的实施例的基于MPLS的实现服务流的方法,应指出的是,所描述的方法仅为示例,而不是对本发明的限制。在本发明的其他实施例中,本发明的方法可具有更多、更少或不同的步骤,且一些步骤之间的顺序可以与所描述和图示的不同,或者可以并行执行。 
本发明可以硬件、软件、或硬件与软件的结合的方式实现。适于执行本文中描述的方法的任何计算机系统或其它装置都是合适的。一种典型的硬件和软件的组合可以是带有计算机程序的通用计算机系统,当该计算机程序被加载和执行时,控制该计算机系统而使其执行本发明的方法,并构成本发明的装置。 
本发明也可体现在计算机程序产品中,该程序产品包含使能实现本文中描述的方法的所有特征,并且当其被加载到计算机系统中时,能够执行所述方法。 
尽管已参照优选实施例具体示出和说明了本发明,但是本领域内的那些技术人员应理解,可在形式和细节上对其进行各种改变而不会背离本发明的精神和范围。

Claims (15)

1.一种基于MPLS的实现服务流的方法,包括:
接收服务流的定义,所述服务流的定义定义了以预定顺序调用多个个别服务,并在所述多个个别服务之间交换消息以便实现集成服务的业务逻辑的流程,其中所述多个个别服务被部署在通过一个或多个MPLS使能的路由器互连的一个或多个服务器上;
根据所述服务流的定义在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的一个或多个应用标签交换器ALS之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个ALS中建立该服务流与该MPLS标签交换路径之间的对应关系;以及
根据该服务流与该MPLS标签交换路径之间的对应关系并通过所述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成该服务流。
2.根据权利要求1的方法,其中,根据所述服务流的定义在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个ALS中建立该服务流与该MPLS标签交换路径之间的对应关系包括:
根据所述服务流的定义生成一组MPLS标签;
将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS,从而在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS之间建立MPLS标签交换路径;以及
在所述一个或多个服务器处的一个或多个ALS中的每一个中建立该服务流与相应的MPLS标签之间的对应关系。
3.根据权利要求2的方法,还包括根据所述服务流的定义以及包含所述多个个别服务的网络地址和路径信息的注册表确定执行该服务流的网络路径,以及该网络路径包含的一个或多个MPLS使能的路由器以及一个或多个服务器处的ALS的网络地址,以便将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS。
4.根据权利要求2的方法,其中根据该服务流与该MPLS标签交换路径之间的对应关系并通过所述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成所述服务流包括:
由该服务流的起始个别服务所在的服务器处的ALS响应于接收到来自该起始个别服务的该服务流的消息,根据在该服务器处的ALS中建立的该服务流与相应的MPLS标签之间的对应关系,向该服务流的消息附加所述相应的MPLS标签,并且将该附加了所述相应的MPLS标签的该服务流的消息发送到该服务器处的该ALS所连接的MPLS使能的路由器;
通过所述MPLS标签交换路径将附加了相应的MPLS标签的该服务流的消息转发给该服务流涉及的其他个别服务所在的服务器处的ALS;
由所述其他个别服务所在的服务器处的每一个ALS响应于接收到来自所述MPLS标签交换路径的附加了相应的MPLS标签的该服务流的消息,去除所述相应的MPLS标签,并将去除了所述相应的MPLS标签的该服务流的消息提供给相应的个别服务,以便由所述相应的个别服务进行处理;以及
如果该服务流的执行没有完成,则由所述其他个别服务所在的服务器处的每一个ALS响应于接收到经过所述相应的个别服务处理的该服务流的消息,将相应的MPLS标签附加到该服务流的消息,并将附加了所述相应的MPLS标签的该服务流的消息发送给所述其他个别服务所在的服务器处的该ALS所连接的MPLS使能的路由器。
5.根据权利要求1的方法,其中,所述一个或多个服务器处的一个或多个ALS中的每个ALS位于用于一个或多个服务器的ESB网关中。
6.根据权利要求5的方法,其中,所述一个或多个服务器与所述ESB网关位于一个或多个刀片服务器机箱中。
7.根据权利要求1的方法,其中,所述服务流为应用层服务流。
8.一种基于MPLS的实现服务流的系统,包括:
应用标签交换路径ALSP引擎装置,其被配置为接收服务流的定义,所述服务流的定义定义了以预定顺序调用多个个别服务,并在所述多个个别服务之间交换消息以便实现集成服务的业务逻辑的流程,其中所述多个个别服务被部署在通过一个或多个MPLS使能的路由器互连的一个或多个服务器上;以及根据所述服务流的定义在所述一个或多个MPLS使能的路由器以及位于所述一个或多个服务器处的一个或多个应用标签交换器ALS之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个ALS中建立该服务流与该MPLS标签交换路径之间的对应关系;以及
位于所述一个或多个服务器处的一个或多个ALS,其被配置为根据该服务流与该MPLS标签交换路径之间的对应关系并通过所述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成该服务流。
9.根据权利要求8的系统,其中,所述根据所述服务流的定义在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个ALS中建立该服务流与该MPLS标签交换路径之间的对应关系的ALSP引擎装置进一步被配置为:
根据所述服务流的定义生成一组MPLS标签;以及
将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS,以便在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个ALS中的每一个中建立该服务流与相应的MPLS标签之间的对应关系。
10.根据权利要求9的系统,其中所述ALSP引擎装置还被配置为根据所述服务流的定义以及包含所述多个个别服务的网络地址和路径信息的注册表确定执行该服务流的网络路径,以及该网络路径包含的一个或多个MPLS使能的路由器以及一个或多个服务器处的ALS的网络地址,以便将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的ALS。
11.根据权利要求9的系统,其中被配置为根据该服务流与该MPLS标签交换路径之间的对应关系并通过所述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成所述服务流的ALS包括:
该服务流的起始个别服务所在的服务器处的ALS,其被配置为响应于接收到来自该起始个别服务的该服务流的消息,根据在该服务器处的ALS中建立的该服务流与相应的MPLS标签之间的对应关系,向该服务流的消息附加所述相应的MPLS标签,并且将该附加了所述相应的MPLS标签的该服务流的消息发送到该服务器处的该ALS所连接的MPLS使能的路由器,以便通过所述MPLS标签交换路径将附加了相应的MPLS标签的该服务流的消息转发给该服务流涉及的其他个别服务所在的服务器处的ALS;以及
所述其他个别服务所在的服务器处的ALS,其中的每一个ALS被配置为:响应于接收到来自所述MPLS标签交换路径的附加了相应的MPLS标签的该服务流的消息,去除所述相应的MPLS标签,并将去除了所述相应的MPLS标签的该服务流的消息提供给相应的个别服务,以便由所述相应的个别服务进行处理;以及如果该服务流的执行没有完成,则响应于接收到经过所述相应的个别服务处理的该服务流的消息,将相应的MPLS标签附加到该服务流的消息,并将附加了所述相应的MPLS标签的该服务流的消息发送给该ALS所连接的MPLS使能的路由器。
12.根据权利要求8的系统,其中,所述位于一个或多个服务器处的一个或多个ALS中的每个ALS位于用于一个或多个服务器的ESB网关中。
13.根据权利要求12的系统,其中,所述一个或多个服务器与所述ESB网关位于一个或多个刀片服务器机箱中。
14.根据权利要求8的系统,其中,所述服务流为应用层服务流。
15.根据权利要求8的系统,其中,所述一个或多个服务器为多个服务器且所位于不同的管理域中。
CN200810149812A 2008-09-27 2008-09-27 基于mpls的实现服务流的方法和系统 Expired - Fee Related CN101686174B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810149812A CN101686174B (zh) 2008-09-27 2008-09-27 基于mpls的实现服务流的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810149812A CN101686174B (zh) 2008-09-27 2008-09-27 基于mpls的实现服务流的方法和系统

Publications (2)

Publication Number Publication Date
CN101686174A CN101686174A (zh) 2010-03-31
CN101686174B true CN101686174B (zh) 2012-09-05

Family

ID=42049156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810149812A Expired - Fee Related CN101686174B (zh) 2008-09-27 2008-09-27 基于mpls的实现服务流的方法和系统

Country Status (1)

Country Link
CN (1) CN101686174B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9634936B2 (en) * 2014-06-30 2017-04-25 Juniper Networks, Inc. Service chaining across multiple networks
CN108259605B (zh) * 2018-01-17 2021-08-17 深圳市和讯华谷信息技术有限公司 一种基于多数据中心的数据调用系统及方法
US11881963B2 (en) 2020-02-28 2024-01-23 Juniper Networks, Inc. Service-based transport classes for mapping services to tunnels
EP3873042A1 (en) * 2020-02-28 2021-09-01 Juniper Networks, Inc. Service-based transport classes for mapping services to tunnels

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205488B1 (en) * 1998-11-13 2001-03-20 Nortel Networks Limited Internet protocol virtual private network realization using multi-protocol label switching tunnels
CN1863144A (zh) * 2005-09-01 2006-11-15 华为技术有限公司 提供差分服务的方法
CN101036357A (zh) * 2004-10-08 2007-09-12 法国电信公司 用于在多协议标记交换网络中控制对具有保证的服务质量的服务的接纳的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205488B1 (en) * 1998-11-13 2001-03-20 Nortel Networks Limited Internet protocol virtual private network realization using multi-protocol label switching tunnels
CN101036357A (zh) * 2004-10-08 2007-09-12 法国电信公司 用于在多协议标记交换网络中控制对具有保证的服务质量的服务的接纳的方法和装置
CN1863144A (zh) * 2005-09-01 2006-11-15 华为技术有限公司 提供差分服务的方法

Also Published As

Publication number Publication date
CN101686174A (zh) 2010-03-31

Similar Documents

Publication Publication Date Title
US10567288B1 (en) Automatic discovery, scaling, and load balancing of multiple cloud data centers in a software-defined network environment
CN101764752B (zh) 远程集中镜像管理的方法和系统
CN1898917B (zh) 移动分组流的控制
US7710901B2 (en) GMPLS control of ethernet
US7075933B2 (en) Method and apparatus for implementing hub-and-spoke topology virtual private networks
CA2578954C (en) Routing protocol support for half duplex virtual routing and forwarding instance
EP1816789B1 (en) A method and system for controlling the selection of the transmitting path for the media flow in the next generation network
CN102422602A (zh) 用于数据传输的跨越资源域的流量工程连接建立
CN107710693A (zh) 在多组标签交换路径和虚拟网络之间建立关系的方法
EP3697038B1 (en) Support for multiple virtual networks over an underlay network topology
US7936668B2 (en) Methods and apparatus for distributing label information
WO2022007503A1 (zh) 一种业务流量处理方法及装置
US8856274B2 (en) Method for distributing of routing information for redundant connections
CN101686174B (zh) 基于mpls的实现服务流的方法和系统
US20220239583A1 (en) Systems and methods for implementing multi-part virtual network functions
CN101917526A (zh) 一种sip电话网络中的号码配置方法和设备
WO2018077304A1 (zh) 业务信息处理方法、装置及系统
CN107294849B (zh) 业务路径的建立方法、装置及系统
CN113709033A (zh) 用于分段路由流量工程的分段跟踪路由
CN110601989A (zh) 一种网络流量均衡方法及装置
EP1434394B1 (en) Multiprotocol label switching label distribution method
CN101228745A (zh) 用于优化链路负荷和提高可用性的路由方法
CN110100416A (zh) 选择网关的方法、设备和系统
US8593949B2 (en) Method for managing an interconnection between telecommunication networks and device implementing this method
US8660112B2 (en) Adaptive router architecture using logical internal addressing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: IBM (CHINA) CO., LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150728

Address after: 201203 Shanghai city Pudong New Area Keyuan Road No. 399 Zhang Jiang Zhang Jiang high tech Park Innovation Park 10 Building 7 layer

Patentee after: International Business Machines (China) Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120905

Termination date: 20190927

CF01 Termination of patent right due to non-payment of annual fee