基于mpls的实现服务流的方法和系统的制作方法

文档序号:7919184阅读:163来源:国知局
专利名称:基于mpls的实现服务流的方法和系统的制作方法
技术领域
本发明涉及数据处理领域,具体涉及应用服务的集成,更具体涉及一 种基于MPLS (多协议标签交换)的实现服务流的方法。
背景技术
在当今的企业或数据中心环境中,通常存在着成百甚至成千的服务。 每一个服务向其他服务提供某种独特的服务。随着企业应用变得越来越复 杂,企业需要将这些个别服务集成起来以向用户提供集成服务。这是一种 十分常见的需求,并在近年来推动着IT !^出设施的^A。
为实现集成服务的业务逻辑,需要以预定顺序调用其每一个组件(个 别服务),并在这些组件之间交换消息。这些调用和消息流通常称为"服 务流"。
起初,服务流是由个别服务本身实现的。服务流中的前一个服务需要 确定、发现和调用服务流中的后一个服务。图1示出了这种即兴的服务流
实现方法的示意图。这种即兴的(ad hoc)解决方案是直截了当的,但具 有很多缺点。首先,这种解决方案缺乏灵活性。当服务流改变、删除或替 换组件或添加新的组件时,所有涉及到的组件都需要改变。其次,很难为 整个服务流提供负载均衡和QoS (服务质量)解决方案,因为该服务流的 所有组件是以MxN方式连接在一起的。
为解决这些问题,提出了用于服务流的新的解决方案。很多这些新的 解决方案净皮称为企业服务总线(ESB),其用于实现应用层服务流。图2 示出了这种使用总线的服务流实现方法的示意图。在这种解决方案的核心 是"总线"的概念。通过引入作为总线的另一个软件层,所有服务将通过总线与其他服务通信。这种解决方案的主要优点是减少了流组件之间的连 接的数量,这转而使得服务流的改变更容易了。此外,在总线中可以容易
地针对服务流实现诸如负载均衡和QoS等附加的非功能性特征。
然而,ESB解决方案也具有其缺点。首先,它需要一个额外的软件层, 这意味着更多的管理工作。消息必须在总线和服务流中的每个组件之间交 换,这意味着请求需要经过更多跳才能得到服务,以及额外的运行时开销 和延迟。此外,在ESB解决方案中,消息的路由是在应用层进行的,这将 带来;f艮大的CPU处理开销。而且,需要对于同一个会话中的各消息重复进 行路由,这也会造成资源和时间的浪费。
显然,本领域中需要一种更有效的服务流实现方案,该方案应不仅具 有足够的灵活性以及负栽均衡和QoS等能力,而且具有较小的运行时开销 和延迟。

发明内容
根据本发明的 一个方面,提供了 一种基于MPLS的实现服务流的方法, 包括接收服务流的定义,所述服务流的定义定义了以预定顺序调用多个 个别服务,并在所述多个个别服务之间交换消息以便实现集成服务的业务 逻辑的流程,其中所述多个个别服务被部署在通过一个或多个MPLS使能 的路由器互连的一个或多个服务器上;根据所^艮务流的定义在所述一个 或多个MPLS使能的路由器以及所述一个或多个服务器处的一个或多个装 置之间建立MPLS标签交换路径(LSP),并在所述一个或多个服务器处 的 一个或多个装置中建立该服务流与该MPLS标签交换路径之间的对应关 系;以及根据该服务流与该MPLS标签交换路径之间的对应关系并通过所 述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以 便完成该服务流。
根据本发明的另 一个方面,提供了 一种基于MPLS的实现服务流的系 统,包括应用标签交换路径引擎,其被配置为接收服务流的定义,所述 服务流的定义定义了以预定顺序调用多个个别服务,并在所述多个个别服务之间交换消息以便实现集成服务的业务逻辑的流程,其中所述多个个别
服务被部署在通过一个或多个mpls使能的路由器互连的一个或多个服务 器上;以及根据所述服务流的定义在所述一个或多个mpls使能的路由器 以及位于所述一个或多个服务器处的一个或多个应用标签交换器之间建立 MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个应用标 签交换器中建立该服务流与该mpls标签交换路径之间的对应关系;以及 位于所述一个或多个服务器处的一个或多个应用标签交换器,其被配置为 根据该服务流与该mpls标签交换路径之间的对应关系并通过所述mpls 标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成该 服务流。
根据本发明上述技术方案,应用层服务流可以利用mpls使能的网络 j^出设施在流组件之间转发消息,因此可利用mpls的负载均衡和QoS 能力满足负载均衡和QoS要求。同时,消息的路由是在网络层和数据链路 层之间的mpls层进行的,因而加速了服务流消息的路由过程,降低了计 算开销和延迟。


所附权利要求中阐述了被认为是本发明的特点的创造性特征。但是, 通过参照附图阅读下面对说明性实施例的详细说明可更好地理解发明本身 以及其优选使用才莫式、目标、特征以及优点,在附图中
图1示出了现有技术中的即兴的服务流实现方法的示意图2示出了现有技术中的使用总线的服务流实现方法的示意图3示意性地示出了 mpls的基; M^念;
图4示出了才艮据本发明的实施例的基于mpls的实现服务流的系统; 图5示出了才艮据本发明的实施例的基于mpls的实现服务流的方法; 图6示出了才艮据本发明的实施例的图5中的步骤502中包括的具体步 骤;以及
图7示出了才艮据本发明的实施例的图5中的步骤503中包括的具体步骤。
具体实施例方式
本发明提出了一种基于MPLS的实现服务流的方法。MPLS是由因特 网工程任务组(IETF)的网络协议,其目标是使得网络服务提供者能够向 其用户提供附加的服务,扩展其当前服务,并通过使用MPLS的流量工程 能力对其不能增长的网络施加更多的控制。
MPLS工作在OSI (开放式系统互联)模型的第二层(数据链路层)和 笫三层(网络层)之间的层上,并因此常常被称为2.5层协议。图3示意性地 示出了 MPLS的基4*念。位于MPLS网络的边缘的边缘标签交换路由器 将进入MPLS网络的数据包进行分类,并根据该数据包所属的服务类向数 据包附加MPLS标签,该标签指示了该数据包所属的服务类以及作为该数 据包的目标的下一个标签交换路由器或边缘标签交换路由器。该数据包所 经过的每一个标签交换路由器接收到该数据包后,使用该数据包的MPLS 标签以及预先建立的标签查找表获得新的标签(这与IP路由器中使用IP 路由表进行路由形成对比),使用新的标签替换原标签,并将该数据包发 送给与新的标签相关联的下一个标签交换路由器或边缘标签交换路由器。 当一边缘标签交换路由器接收到来自MPLS网络的附加了标签的数据包 时,该边缘标签交换路由器去除该数据包的MPLS标签,并将该数据包提 供给MPLS网络外部的设备。每个标签交换路由器和边缘标签交换路由器 可通过诸如标签分配协议(LDP)等协议与其他标签交换路由器和边缘标签 交换路由器交换各自的标签信息,以形成各自的标签查找表,从而在标签 交换路由器和边缘标签交换路由器之间建立起针对特定服务类的标签交换 路径。由于MPLS网络使用MPLS层的标签进行路由,避免了使用耗时的 IP路由表查找,从而加快了数据包在网络中的传iHJ4度;同时,通过在网 络中形成不同的标签交换路径,可容易地实现流量控制功能,从而满足数 据包处理的负栽均衡和QoS要求。
本发明的基本思想是通过MPLS技术将应用层服务流集成到MPLS层,使得应用层服务流能够利用MPLS使能的网络1^出设施在每个服务流 组件之间转发消息。由于应用消息的路由是在MPLS层进行的,从而加速 了消息的路由和处理过程,并且能够容易地实现负载均衡和QoS要求。
本发明将企业应用划分为两个阶段在控制阶段,为应用服务流建立 适当的标签交换路径;在运行阶段,根据所建立的标签交换路径,将应用 服务流的消息路由到适当的服务流组件进行处理,从而完成应用服务流。
下面参照

本发明的实施例。在下面的说明中,阐述了许多具
体细节以便更全面地了解本发明。但是,对于本技术领域内的技术人员明
显的是,本发明的实现可不具有这些具体细节中的一些。此外,应当理解
的是,本发明并不限于所介绍的特定实施例。相反,可以考虑用下面的特 征和要素的任何组合来实施本发明,而无论它们是否涉及不同的实施例。
因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所 附权利要求的要素或限定,除非权利要求中明确提出。
图4示出了根据本发明的实施例的基于MPLS的实现服务流的系统及 其运行环境。如图所示,该运行环境包括数据中心A、数据中心B和数据 中心C。在这些数据中心中,分别部署有服务A1-A5、 Bl-B6、 Cl-C5;且 在每个数据中心中,部署有一个或多个ESB网关,例如Datapower ESB 网关,每个ESB网关用于该数据中心中的多个服务。各数据中心中的ESB 网关通过MPLS使能的路由器S1-S5相互连接。当然,所图示的本发明的 系统的运行环境仅为示例,而不是对本发明的系统的运行环境的限制。例 如,本发明的系统的运行环境可包括任意多个数据中心,或者仅包括一个 数据中心;各ESP网关可以通过MPLS使能的路由器以任何适当的方式 互连,等等。
如图所示,根据本发明的实施例的基于MPLS的实现服务流的系统 包括应用标签交换路径(ALSP)引擎401和位于一个或多个服务器处的一 个或多个应用标签交换器(ALS) 402。
其中,所述ALSP引擎401被配置为接收服务流的定义,所述服务流 的定义定义了以预定顺序调用多个个别服务,并在所述多个个别服务之间交换消息以便实现集成服务的业务逻辑的流程,其中所述多个个别服务被
部署在通过一个或多个MPLS使能的路由器互连的一个或多个服务器上; 所述ALSP引擎401还被配置为根据所述服务流的定义在所述一个或多个 MPLS使能的路由器以及位于所述一个或多个服务器处的一个或多个ALS 402之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个 或多个ALS 402中建立该服务流与该MPLS标签交换路径之间的对应关 系。
所述ALSP引擎401可以位于任何计算设备上,该计算设备可以与所 述一个或多个MPLS使能的路由器和ALS 402通过网络连接,也可以不与 所述一个或多个MPLS使能的路由器计算设备和ALS 402通过网络连接。 由于ALSP引擎401工作在控制阶段,因此只要该计算设备能够使得ALSP 引擎401能够接收到服务流的定义,并根据服务流的该定义对所述MPLS 4吏能的路由器和ALS 402进行配置即可。
所述ALSP引擎401可以从任何实体通过任何信息传递方式接收服务 流的定义,例如从定义、创建或部署作为集成服务的企业应用的计算机处, 或从企业应用的开发者或管理员处。
所述MPLS使能的路由器可以是任何现有的或新开发的能够按照 MPLS协议路由网络包的路由器、交换机或其他设备。所述服务器优选为 应用服务器。所述MPLS使能的路由器与所述服务器之间的连接方式可以 是任意的。可选地,每一个服务器通过一个ALS与一个MPLS使能的路 由器相连。每一个ALS可以将一个或多个服务器与一个MPLS使能的路 由器相连。ALS可以石更件实现,也可以软件实现,且其既可以位于与所述 服务器相连的设备(例如ESB网关)上,也可以位于所述服务器中。每一 个MPLS使能的路由器可以连接一个或多个其他MPLS使能的路由器,以 ^V或一个或多个ALS 402。
根据本发明的实施例,被配置为才艮据所迷服务流的定义在所述一个或 多个MPLS使能的路由器以及所述一个或多个服务器处的ALS 402之间建 立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个ALS
12中建立该服务流与该MPLS标签交换路径之间的对应关系的ALSP引擎 401进一步被配置为根据所述服务流的定义生成一組MPLS标签;以及 将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器以 及所述一个或多个服务器处的ALS,以便在所述一个或多个MPLS使能的 路由器以及所述一个或多个服务器处的ALS之间建立MPLS标签交换路 径,并在所述一个或多个服务器处的一个或多个ALS中的每一个中建立该 服务流与相应的MPLS标签之间的对应关系。
ALSP引擎401可使用任何方法生成所述一组MPLS标签,且所述一 组MPLS标签可以是符合MPLS协议的任何一组标签,只要该组标签能够 将为该服务流建立的应用标签交换路径与根据其他组标签为其他服务流建 立的其他标签交换路径相区别即可。ALSP引擎401可以为不同的服务流 生成不同的一组标签,以便为不同的服务流建立不同的标签交换路径,所 述不同的标签交换路径将包括不同组的MPLS使能的路由器401和ALS 402。
ALSP引擎401可使用任何传输方法、传输介质或通信协议将所生成 的一组MPLS标签分别发送给相应的MPLS 4吏能的路由器和ALS 402。
当MPLS使能的路由器或ALS 402接收到来自ALSP引擎401的相应 标签后,可以通过例如标签交换协议等与其他MPLS使能的路由器或ALS 402交换各自的标签信息,根据各自的和所接收的标签信息维护一标签查 找表,从而在MPLS使能的路由器和ALS之间建立起MPLS标签交换路 径。MPLS使能的路由器或ALS响应于接收到相应的标签建立MPLS标 签交换路径的方法是本领域中的公知的,因此在此不再赘述。
通过在每一个ALS 402中建立服务流与相应的MPLS标签之间的对应 关系,ALS就能够向接收自应用服务器上的个别服务的服务流消息添加相 应的MPLS标签,将添加了相应的MPLS标签的服务流的消息发送给与其 相连的MPLS使能的路由器,从而通过已建立的MPLS标签交换路径将该 消息发送给位于其他服务器上的个别服务来处理;并能够根据接收自 MPLS标签交换路径的来自其他服务器上的个别服务的服务流消息中的MPLS标签确定该服务流消息所属的服务流,以便去除该服务流消息的 MPLS标签并将去除了 MPLS标签的该服务流消息转发给相应的服务器上 的个别服务去处理。仅作为示例,在ALS 402中建立该月良务流与相应的 MPLS标签之间的对应关系,可以通过在ALS中的表中存储该ALS接收 自所述ALSP引擎401的MPLS标签与该服务流的对应关系来实现。
根据本发明的一个实施例,所述ALSP引擎401还被配置为在根据所 述服务流的定义以及包含所述多个个别服务的网络地址和路径信息的服务 注册表确定执行该服务流的网络路径,以及该网络路径包含的一个或多个 MPLS使能的路由器以及一个或多个服务器处的ALS402的网络地址,以 便将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器 以及所述一个或多个服务器处的ALS。
所述服务注册表可以是包含个别服务的网络地址和路径信息的任何现 有的或新开发的服务注册表。由于在所述服务注册表中包含了各个别服务 的服务地址和路径信息,所述ALSP引擎401就有可能根据该服务注册表 为同 一个服务流确定出不同的网络路径,并可以根据每个网络路径的流量 等情况,从中选择适当的网络路径,从而满足负载均衡或QoS的要求。
在根据本发明一个实施例的基于MPLS的实现服务流的系统中,所述 位于一个或多个^^务器处的一个或多个ALS 402 ^L配置为才艮据该服务流与 该MPLS标签交换路径之间的对应关系,并通过所述MPLS标签交换路径 在所述多个个别服务之间交换该服务流的消息,以便完成所述服务流。
根据本发明的进一步的实施例,被配置为根据该服务流与该MPLS标 签交换路径之间的对应关系并通过所述MPLS标签交换路径在所述多个个 别服务之间交换该服务流的消息,以便完成所述服务流的ALS包括
该服务流的起始个别服务所在的服务器处的ALS 402,其被配置为响 应于接收到来自该起始个别服务的该服务流的消息,根据在该服务器处的 ALS 402中建立的该服务流与相应的MPLS标签之间的对应关系,向该服 务流的消息附加所述相应的MPLS标签,并且将该附加了所述相应的 MPLS标签的该服务流的消息发送到该服务器处的该ALS 402所连接的MPLS使能的路由器,以便通过所述MPLS标签交换路径将附加了相应的 MPLS标签的该服务流的消息转发给该服务流涉及的其他个别服务所在的 服务器处的ALS402;以及
所述其他个别服务所在的服务器处的ALS 402,其中的每一个ALS被 配置为响应于接收到来自所述MPLS标签交换路径的附加了相应的 MPLS标签的该服务流的消息,去除所^目应的MPLS标签,并将去除了 所述相应的MPLS标签的该服务流的消息提供给相应的个别服务,以便由 所述相应的个别服务进行处理;以及如果该服务流的执行没有完成,则响 应于接收到经过所述相应的个别服务处理的该服务流的消息,将相应的 MPLS标签附加到该服务流的消息,并将附加了所述相应的MPLS标签的 该服务流的消息发送给该ALS所连接的MPLS使能的路由器。
至于通过所述MPLS标签交换路径中转发附加了相应的MPLS标签的 该服务流的消息的具体方式,即该MPLS标签交换路径所涉及的每一个 MPLS使能的路由器以及ALS根据MPLS协议接收和转发该服务流的消 息的具体方式,则是本技术领域中公知的,因此,在此不再赘述。
根据本发明的一个实施例,所述一个或多个服务器处的一个或多个 ALS中的每个,位于用于多个服务器的ESB网关中。所迷ESP网关例如 可以是Datapower ESB网关。
根据本发明的实施例,所述一个或多个服务器处的一个或多个ALS为 网络驱动程序。该网络驱动程序例如可位于所述ESB网关i殳备中。
根据本发明的进一步的实施例,所述一个或多个服务器与所述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的实现服务流的方法, 应指出的是,所描述的方法仅为示例,而不是对本发明的限制。在本发明 的其他实施例中,本发明的方法可具有更多、更少或不同的步骤,且一些 步骤之间的顺序可以与所描述和图示的不同,或者可以并行执行。
本发明可以硬件、软件、或硬件与软件的结合的方式实现。适于执行 本文中描述的方法的任何计算机系统或其它装置都是合适的。 一种典型的 硬件和软件的组合可以是带有计算;tMi序的通用计算机系统,当该计算机
程序被加载和执行时,控制该计算机系统而使其执行本发明的方法,并构 成本发明的装置。
本发明也可体现在计算机程序产品中,该程序产品包含使能实现本文 中描述的方法的所有特征,并且当其被加载到计算机系统中时,能够执行
所述方法。
尽管已参照优选实施例具体示出和说明了本发明,但是本领域内的那 些技术人员应理解,可在形式和细节上对其进行各种改变而不会背离本发 明的精神和范围。
19
权利要求
1.一种基于MPLS的实现服务流的方法,包括接收服务流的定义,所述服务流的定义定义了以预定顺序调用多个个别服务,并在所述多个个别服务之间交换消息以便实现集成服务的业务逻辑的流程,其中所述多个个别服务被部署在通过一个或多个MPLS使能的路由器互连的一个或多个服务器上;根据所述服务流的定义在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的一个或多个装置之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个装置中建立该服务流与该MPLS标签交换路径之间的对应关系;以及根据该服务流与该MPLS标签交换路径之间的对应关系并通过所述MPLS标签交换路径在所述多个个别服务之间交换该服务流的消息,以便完成该服务流。
2. 根据权利要求l的方法,其中,根据所述服务流的定义在 所迷一个或多个MPLS使能的路由器以及所述一个或多个服务器 处的装置之间建立MPLS标签交换路径,并在所述一个或多个服 务器处的一个或多个装置中建立该服务流与该MPLS标签交换路 径之间的对应关系包括根据所述服务流的定义生成一组MPLS标签;将所述一组MPLS标签分别发送给所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的装置,从而在所述一个或多个MPLS使能的路由器以及所述一个或多个服务器处的装置之间建立MPLS标签交换路径;以及在所述一个或多个服务器处的一个或多个装置中的每一个中建立该服务流与相应的MPLS标签之间的对应关系。
3. 根据权利要求2的方法,还包括根据所述服务流的定义以及包含所述多个个别服务的网络地址和路径信息的注册表确定执行该服务流的网络路径,以及该网络路径包含的 一个或多个MPLS 使能的路由器以及一个或多个服务器处的装置的网络地址,以便 将所述一组MPLS标签分別发送给所述一个或多个MPLS使能的 路由器以及所述一个或多个服务器处的装置。
4.根据权利要求2的方法,其中根据该服务流与该MPLS 标签交换路径之间的对应关系并通过所述MPLS标签交换路径在 所述多个个别服务之间交换该服务流的消息,以便完成所述服务 流包括由该服务流的起始个别服务所在的服务器处的装置响应于接 收到来自该起始个别服务的该服务流的消息,根据在该服务器处 的装置中建立的该服务流与相应的MPLS标签之间的对应关系, 向该力良务流的消息附加所述相应的MPLS标签,并且将该附加了 所述相应的MPLS标签的该服务流的消息发送到该服务器处的该 装置所连接的MPLS使能的路由器;通过所述MPLS标签交换路径将附加了相应的MPLS标签的 该服务流的消息转发给该服务流涉及的其他个别服务所在的服务 器处的装置;由所迷其他个别服务所在的服务器处的每一个装置响应于接 收到来自所述MPLS标签交换路径的附加了相应的MPLS标签的 该服务流的消息,去除所述相应的MPLS标签,并将去除了所述 相应的MPLS标签的该服务流的消息提供给相应的个别服务,以 便由所述相应的个别服务进行处理;以及如果该服务流的执行没有完成,则由所述其他个别服务所在的服务器处的每一个装置响应于接收到经过所述相应的个别服务 处理的该服务流的消息,将相应的MPLS标签附加到该服务流的 消息,并将附加了所述相应的MPLS标签的该服务流的消息发送 给所述其他个别服务所在的服务器处的该装置所连接的MPLS使能的路由器。
5. 根据权利要求1的方法,其中,所述一个或多个服务器处 的一个或多个装置中的每个装置位于用于一个或多个服务器的 ESB网关中。
6. 根据权利要求1的方法,其中,所述一个或多个服务器处 的一个或多个装置为网络驱动程序。
7. 根据权利要求5的方法,其中,所述一个或多个服务器与 所述ESB网关位于一个或多个刀片服务器机箱中。
8. 根据权利要求l的方法,其中,所述服务流为应用层服务流。
9. 一种基于MPLS的实现服务流的系统,包括 应用标签交换路径ALSP引擎,其被配置为接收服务流的定义,所述服务流的定义定义了以预定顺序调用多个个别服务,并 在所述多个个别服务之间交换消息以便实现集成服务的业务逻辑 的流程,其中所述多个个别服务被部署在通过一个或多个MPLS 使能的路由器互连的一个或多个服务器上;以及根据所述服务流 的定义在所述一个或多个MPLS使能的路由器以及位于所述一个 或多个服务器处的一个或多个应用标签交换器ALS之间建立 MPLS标签交换路径,并在所述一个或多个服务器处的一个或多 个ALS中建立该服务流与该MPLS标签交换路径之间的对应关 系;以及位于所述一个或多个服务器处的一个或多个ALS,其被配置 为根据该服务流与该MPLS标签交换路径之间的对应关系并通过 所述MPLS标签交换路径在所述多个个别服务之间交换该服务流 的消息,以便完成该服务流。
10. 根据权利要求9的系统,其中,所述被配置为根据所述服 务流的定义在所述一个或多个MPLS使能的路由器以及所述一个 或多个服务器处的ALS之间建立MPLS标签交换路径,并在所述一个或多个服务器处的一个或多个ALS中建立该服务流与该 MPLS标签交换路径之间的对应关系的ALSP引擎进一步被配置 为根据所述服务流的定义生成一组MPLS标签;以及 将所述一组MPLS标签分别发送给所述一个或多个MPLS使 能的路由器以及所述一个或多个服务器处的ALS,以便在所述一 个或多个MPLS使能的路由器以及所述一个或多个服务器处的 ALS之间建立MPLS标签交换路径,并在所述一个或多个服务器 处的一个或多个ALS中的每一个中建立该服务流与相应的MPLS 标签之间的对应关系。
11. 根据权利要求10的系统,其中所述ALSP引擎还被配置 为根据所述服务流的定义以及包含所述多个个别服务的网络地址 和路径信息的注册表确定执行该服务流的网络路径,以及该网络 路径包含的一个或多个MPLS使能的路由器以及一个或多个服务 器处的装置的网络地址,以便将所述一组MPLS标签分别发送给 所述一个或多个MPLS使能的路由器以及所述一个或多个服务器 处的ALS。
12. 根据权利要求10的系统,其中被配置为根据该服务流与 该MPLS标签交换路径之间的对应关系并通过所述MPLS标签交 换路径在所述多个个别服务之间交换该服务流的消息,以便完成 所述服务流的ALS包括该服务流的起始个别服务所在的服务器处的ALS,其被配置 为响应于接收到来自该起始个别服务的该服务流的消息,根据在 该服务器处的ALS中建立的该服务流与相应的MPLS标签之间的 对应关系,向该服务流的消息附加所述相应的MPLS标签,并且 将该附加了所述相应的MPLS标签的该服务流的消息发送到该服 务器处的该ALS所连接的MPLS使能的路由器,以便通过所述 MPLS标签交换路径将附加了相应的MPLS标签的该服务流的消息转发给该服务流涉及的其他个别服务所在的服务器处的ALS; 以及所述其他个别服务所在的服务器处的ALS,其中的每一个 ALS被配置为响应于接收到来自所述MPLS标签交换路径的附 加了相应的MPLS标签的该力艮务流的消息,去除所述相应的MPLS 标签,并将去除了所述相应的MPLS标签的该服务流的消息提供 给相应的个别服务,以便由所述相应的个别服务进行处理;以及 如果该服务流的执行没有完成,则响应于接收到经过所述相应的 个别服务处理的该服务流的消息,将相应的MPLS标签附加到该 服务流的消息,并将附加了所述相应的MPLS标签的该服务流的 消息发送给该ALS所连接的MPLS使能的路由器。
13. 根据权利要求9的系统,其中,所述位于一个或多个服务 器处的一个或多个ALS中的每个ALS位于用于一个或多个服务器 的ESB网关中。
14. 根据权利要求9的系统,其中,所述位于一个或多个服务 器处的一个或多个ALS为网络驱动程序。
15. 根据权利要求13的系统,其中,所述一个或多个服务器 与所述ESB网关位于一个或多个刀片服务器机箱中。
16. 根据权利要求9的系统,其中,所述服务流为应用层服务流。
17. 根据权利要求9的系统,其中,所述一个或多个服务器为 多个服务器且所位于不同的管理域中。
全文摘要
公开了一种基于MPLS的实现服务流的方法和系统,该方法包括接收服务流的定义,该服务流的定义定义了以预定顺序调用多个个别服务,并在多个个别服务之间交换消息以便实现集成服务的业务逻辑的流程,其中多个个别服务被部署在通过一个或多个MPLS使能的路由器互连的一个或多个服务器上;根据服务流的定义在一个或多个MPLS使能的路由器以及一个或多个服务器处的一个或多个装置之间建立MPLS标签交换路径,并在一个或多个服务器处的一个或多个装置中建立该服务流与该MPLS标签交换路径之间的对应关系;以及根据该服务流与该MPLS标签交换路径之间的对应关系并通过MPLS标签交换路径在多个个别服务之间交换该服务流的消息,以便完成该服务流。
文档编号H04L29/06GK101686174SQ20081014981
公开日2010年3月31日 申请日期2008年9月27日 优先权日2008年9月27日
发明者哲 向, 夏寅贲, 博 杨, 伟 薛 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1