计算业务网格的制作方法

文档序号:6409976阅读:186来源:国知局
专利名称:计算业务网格的制作方法
技术领域
本发明涉及一种计算业务网格(computing service grid)。
背景技术
Web业务已经成为分布计算的趋势,并被视为开发真正通用模型的基础,以支持快速开发通过万维网的基于组件的应用。本领域所熟知的Web业务包括一系列出现的标准,其描述了面向业务的、基于组件的应用结构。具体的,Web业务是松散耦合的、可重复使用的软件组件,其在语义上涵盖了离散功能,是分布式的,并通过标准因特网协议可编程地访问。
从概念上说,Web业务表示一个模型,其中电子商务处理中的离散任务遍布整个值网(value net)广泛地分布。特别的,许多工业专家认为面向业务的Web业务开始成为因特网的下一革命阶段。典型的,可以通过诸如Web业务定义语言(WSDL)的接口定义Web业务,并且可以根据该接口实施Web业务,但是这些实施细节并不重要,只要该实施符合Web业务接口。一旦已经根据相应的接口实施了Web业务,可以使用Web业务注册表,诸如本领域熟知的通用描述、开发和集成(UDDI)对该实施进行注册。注册之后,业务请求者通过使用任何支持的消息协议,例如包括简单对象访问协议(SOAP)就可以访问该Web业务。
电子工具(eUtilities)将Web业务的概念扩展超出了基本的WSDL、SOAP和UDDI的分布计算构架。eUtilities指的是通过分布计算构架提供对计算业务进行计数的(metered)、连续的、按需访问。与过去的计算业务不同,eUtilities可以与下层构架紧密的结合在一起,因为根据所达成的业务级协定(SLA)的条款和条件,eUtilities的不同用户可以从所选择的eUtilities接收不同级别的响应。特别的,eUtilities的SLA可以按照功能性、可用性、资源和可用性描述有保证的性能。于是,业务质量(QoS)仍然首要的关注eUtilities的利用和分发。
在支持Web业务和eUtilities的面向业务的应用环境中,已经证明想要查找可靠的业务并实时动态地集成这些可靠的业务以满足应用的目的是比较困难的。但是注册表、目录和发现协议提供了一种用于实现业务检测和业务到业务互连逻辑的基本结构,该结构忽略了在将任何一个查找到的业务与业务请求者捆绑起来者出现的QoS和SLA问题。特别的,通过开放网格业务构架(OGSA)的网格机制的机理既提供在发现中的协议,也提供通过分布系统捆绑Web业务和eUtilities的协议。
还有,已知的网格机制缺少能够支持自动、动态的协作和通过异类商务应用系统集成Web业务和eUtilities的技术。而且,如Ian Foster,C arl Kesselman,Jeffrey M.Nick和Steven Tuecke在The Physiologyof the Grid中所描述http//www.globus.org/research/papers/ogsa.pdf(2002年2月17日),最多可以将协作与集成Web业务和eUtilities视作为手动过程。
特别的,目前,在共享由不同的提供者和消费者分别提供和使用的同等的、虽然不一定相同的Web业务和eUtilities方面存在限制。而且,对于依靠Web业务性能的面向业务的应用而言,在不能够实时的控制和管理不可靠的Web业务或eUtilities的情况下,甚至在该性能已经按照SLA的条款被指定的情况下,其会遭受不想要的风险。

发明内容
根据第一方面,本发明提供一种计算业务网格,包括与多个业务实例耦合的业务台,所述业务实例符合共同的业务接口;和设置在所述业务网格中的路由组件,所述路由组件将各个业务请求路由到所述业务实例中的各业务实例。
优选的,该网格进一步包括业务实例监视组件;和故障转移(failover)逻辑,其被配置为在所述业务实例监视组件在所选择的业务实例中检测到故障转移条件的情况下,将业务请求从所述所选择的业务实例重新路由到所述业务实例中的其它业务实例。在优选的实施例中,所述故障转移条件包括错误条件和低于保证性能级别的性能不足条件其中之一。
在优选的实施例中,该网格进一步包括业务实例厂(serviceinstance factory),其被配置为响应于接收到业务请求,对所述业务实例中的各业务实例进行实例化(instantiate)。优选的,该网格进一步包括网格业务接口,所述业务台可通过所述网格业务接口定位和捆绑所述业务实例中的各业务实例,以使用选择业务响应业务请求。
根据第二方面,本发明在如上所述的网格中提供一种业务请求处理的方法,包括步骤接收业务请求和业务质量(QoS)特征的规范;选择能够以与QoS特征的所述规范一致的级别处理所述业务请求的几个同等业务实例中的一个特定业务实例;和捆绑所述选择的业务实例,以处理所述业务请求。
优选的,该方法进一步包括步骤监视所述捆绑业务的性能;检测所述性能中的故障转移条件;和在已检测到故障转移条件的情况下,选择能够以与QoS特征的所述规范一致的所述级别处理所述业务请求的所述几个同等业务实例中的一个替换业务实例,并捆绑所述替换业务实例,以处理所述业务请求。在优选的实施例中,所述检测步骤包括在所述选择的业务中检测异常的步骤。在另一优选的实施例中,所述检测步骤包括在所述选择的业务中检测低于QoS特征的所述规范的性能级别的步骤。
根据第三方面,本发明提供一种机器可读的存储器,其上面存储有用于在业务网格中处理业务请求的计算机程序,如上所述,所述计算机程序包括使得机器执行以下步骤的指令程序集接收业务请求和业务质量(QoS)特征的规范;选择能够以与QoS特征的所述规范一致的级别处理所述业务请求的几个同等业务实例中的一个特定业务实例;和捆绑所述选择的业务实例,以处理所述业务请求。
本发明为计算业务网格。本发明的计算业务网格可以自动地组织、路由、恢复和交换计算业务,诸如Web业务和eUtilities。该计算业务网格可以通过共同的业务进入点表示一组同等的计算业务实例。接着,响应于业务请求的接收,该计算业务网格可以选择计算业务实例中适当的业务实例来处理所接收到的业务请求。
特别的,该计算业务网格不仅可以根据可用性,而且可以根据所选择的计算业务实例的能力将业务请求路由到所选择的计算业务实例。另外,该计算业务网格可以监视所选择的计算业务实例的性能,并可以在需要时执行故障转移处理。于是,该计算业务网格可以动态地群集和处理异类计算业务,以提供迄今为止在常规Web业务捆绑的情况中无法实现的高级计算业务互操作性。
根据本发明的一方面,计算业务网格可以包括与一个或多个业务实例耦合的业务台(service desk)。每一计算业务实例可以符合对在计算业务网格中的所有计算业务实例都通用的业务接口。可以在该计算业务网格中设置路由组件。具体的,该路由组件可以将单个业务请求路由到各个计算业务实例。
该计算业务网格进一步可以包括业务实例监视组件。该监视组件可以监视负责处理单个业务请求的单个计算业务实例的性能。可以配置故障转移逻辑,在业务实例监视组件在所选择的业务实例中检测到故障转移条件时,将业务请求从所选择的业务实例重新路由到其它业务实例。关于这一点,故障转移条件可以包括错误条件和其中所选择的计算业务实例低于保证级别性能的性能不足条件。
在一个业务网格中,业务请求处理方法可以包括接收业务请求和QoS特征的规范。可以选择能够以与QoS特征的规范一致的级别处理业务请求的几个同等业务实例中的一个特定业务实例。接着,可以捆绑所选择的业务实例,以处理该业务请求。一旦捆绑之后,可以监视所选择的业务的性能。具体的,可以检测所选择业务的性能中的故障转移条件。在已经检测到故障时,可以选择能够以与QoS特征的规范一致的级别处理业务请求的几个同等业务实例中的一个替换业务实例。接着可以捆绑替换业务实例,以处理该业务请求。


现在将参照如下面的附图中所述的本发明的优选实施例,仅通过范例的形式对其进行描述,其中图1是业务网格的框图说明;图2的时序图描述了图1的业务网格中的业务实例捆绑过程;图3A的流程图描述了在图1的业务网格中用于查找与请求业务匹配的同等业务实例的过程;图3B的流程图描述了在图1的业务网格中执行业务实例故障的过程。
具体实施例方式
本发明是一种计算网格,一组同等的(comparable)计算业务、诸如Web业务和eUtilities通过该计算网格可以作为普通业务被访问。具体的,可以建立一组业务网格,以通过共同的业务进入点表示一组同等的计算业务。响应于接收到来自业务请求者的业务请求,该业务网格将单独表示的业务实例与业务请求匹配。可以使用在业务请求者与捆绑的业务实例之间用作代理的商务业务网格,调用匹配的业务实例,并将其与业务请求者捆绑。
根据本发明,该业务网格可以自动地组织、路由、恢复和交换同等的计算业务。具体的,本发明的业务网格可以用来对分布计算业务进行分组,诸如相同的或同等的抽象的Web业务和eUtilities,尽管每一业务根据实施形式、供应商、主机和网络域可能会有所不同。而且为了通过业务台在虚拟电子商务业务集合体(complex)中代理(broker)业务,该业务网格可以对计算业务进行分组。
重要的是,为了不仅能够根据在建立的SLA中规定的保证业务级别执行可靠性保证,而且对有故障的同等业务实例进行故障检测和自恢复,可以在该业务网格中包括故障转移逻辑。在这种情况下,对于已经捆绑的业务实例(其由于不可用性、不满意的性能或完全故障而不能再向业务请求者提供业务),该业务网格可以透明地用同等的业务实例将其替换。于是,如果出现异常,该业务网格可以对同等的业务实例执行故障软处理(fail-soft processing)。
图1的方框描述是已经根据本发明的优选方面配置的业务网格。业务网格可以包括业务台100。业务台100可以包括共同进入点(common entry point)110和一组操作120。具体的,该共同进入点110可以使用正式的定义语言、诸如Web业务定义语言(WSDL)定义集合自单个业务抽象的抽象业务。关于这一点,该共同业务进入点可以将统一资源标识符指定给该业务台100、一组可用的操作120、一个或多个有效信息格式和一个或多个可用传输捆绑。
该操作120可以包括维护类型的操作,诸如向一个或多个业务实例150添加列表或从其中删除列表的操作、参考查询、和对SLA的条款或整个SLA进行设置和修改的操作。该操作120进一步可以包括用于向业务实例150提交业务请求、用于从业务实例150检索对业务请求的响应、和用于检查业务实例150的状态的可选操作。最后,该操作120可以包括用于事件发布和用于设置恢复规则和异常句柄的操作。总之,该共同业务进入点110可以用作该业务网格的唯一外部参考组件。
该业务网格本身可选地可以根据OGSA实施,并可以包括使用从诸如专用UDDI的专用注册表得出的数据进行填充的一个或多个内部表130。对于包括在业务网格中的每一业务实例150,表130可以维护句柄、搜索密钥和指向参考信息的对应指针。该参考信息本身可以包括,例如诸如WSDL的描述标记、QoS矩阵、辅助QoS矩阵、以及描述符的状态和异常。在任何情况下,表130可以提供能够支持业务网格的操作的数据结构表。在操作中,通过选择添加列表操作,可以向业务网格添加业务实例150。相反的,通过选择删除列表操作,可以从业务网格中删除业务实例150。在向业务网格添加业务实例150之前,业务台100可以验证业务实例150的可靠性,并可以向内部表130添加辅助QoS矩阵。而且可以将分散的业务实例150封装在统一网格业务包装(wrapper)160中,以便于业务网格与网格和非网格业务实例150之间的相互操作。
一旦成为可操作的,仅通过修改业务实例150的状态描述符就可以修复和升级业务实例150。当在业务网格中接收到业务请求时,业务台100可以调用网格路由组件140,以标识内部表中所列合适的业务实例150。特别的,根据实时或预选的SLA级别规范,网格路由组件140可以按照相关SLA的条款所需要的响应和可靠性选择适当的业务实例150,以满足业务请求。特别的,一旦业务实例150已经捆绑到交易时,可以通过网格路由组件140监视该业务实例150的健康情况,并且必要时可以通过所包括的作为操作120的一部分的异常处理和恢复执行故障转移。
图2的时序图描述了在图1的业务网格中的业务实例捆绑过程。在步骤1,业务请求者可以向业务网格的共同业务进入点转发业务请求。例如,该业务请求可以被封装在包含业务调用消息的SOAP包络(envelope)中。在步骤2,该共同业务进入点可以通过到业务网格,诸如OSGA的接口调用适当的操作。具体的,该共同业务进入点可以调用初始化实际业务实例的操作。特别的,可以将所需要的QoS特征提供给网格业务接口,使得该网格业务接口可以调用业务,以选择能够响应业务请求的特定业务实例,并同时满足所需要的QoS水平。
在步骤3,网格业务接口发现业务可以通过内部表查找定位用于创建所请求的业务实例的厂业务。一旦找到之后,可以通过厂创建该业务实例,并可以将所创建业务实例的句柄返回给共同业务进入点。在步骤4,该共同业务进入点可以使用由网格业务接口向共同业务进入点提供的句柄,将业务请求转发给所创建的业务实例。一旦业务请求已经被所创建的业务实例接收到时,所创建的业务实例可以处理该业务请求,并可以将响应返回给共同业务进入点。最后在步骤5,共同业务进入点可以将响应转发给业务请求者。
显然,不同于常规的捆绑计算业务处理以响应业务请求,在本发明中,该业务网格可以根据特定业务实例的响应和可靠性,以及由与业务请求者相关联的SLA和QoS条款所需要的响应和可靠性级别,自动地捆绑特定的业务实例,以响应业务请求。关于这一点,图3A的流程图描述了在图1的业务网格中用于查找与请求业务匹配的同等业务实例的过程。从方框300开始,可以接收来自业务请求者的业务请求。在方框310,可以为该请求者标识SLA或SLA条款。该SLA或SLA条款可以指定保证给业务请求者的响应和可靠性的最小级别。
在方框320,根据所标识的SLA或SLA条款以及请求的业务,业务网格可以查询内部表,以从一组可以响应该业务请求的同等业务实例中选择业务实例。在判决方框300中,可以检查所选择业务实例的状态,以确定所选业务实例的可用性。如果所选业务实例不可用,那么在方框340中,可以选择能够满足SLA或SLA条款以及业务请求的下一个最佳业务实例,并可以重复该过程。否则,该过程可以继续到方框350。
在方框350,可以捆绑所选业务实例以响应该业务请求。接着在方框360,可以将该业务请求转发给所捆绑的业务实例。在方框370,可以确定是否已经接收到来自所捆绑业务实例的响应。如果没有,该过程可以等待所捆绑业务实例对该业务请求的响应。否则在方框380,可以将所接收到的响应转发给业务请求者。重要的是,可以通过本发明的业务网格的性能监视和故障转移组件,保证所捆绑业务实例的响应和可靠性。
关于这一点,图3B的流程图描述了在图1的业务网格中用于执行业务实例的故障软过程。从方框400开始,可以监视所捆绑业务实例与共同业务进入点之间的请求响应会话进程的性能和可用性。在判决方框410中,可以测试所捆绑业务实例是否有故障转移。具体的,极端情况下,可以确定所捆绑业务实例中是否出现使得所捆绑业务实例无法完成会话的错误。可替换的,可以将该会话的质量与QoS条款或SLA条款所保证的质量级别进行比较。
在确定该会话的质量足以满足保证级别的质量时,在判决方框420中可以确定该会话是否已经结束。如果是,在方框470可以结束该会话。否则在方框400,继续该会话,并可以接着监视该会话的质量。然而,如果在方框410中确定该会话的质量低于会话质量的保证级别,那么在方框430可以查询业务网格的内部表,以标识被配置为满足保证级别质量的下一个最佳业务实例。如果在判决方框440中所标识的业务实例不可用,该过程可以在方框430中重复。否则在方框450,可以捆绑该下一个最佳业务实例以满足该业务请求,并且在方框460,可以将该业务请求转发给该新捆绑的业务实例。
根据本发明,业务网格可以自动地组织、路由、恢复和交换计算业务,诸如Web业务和eUtilities。具体的,可以建立业务网格,以通过共同业务进入点表示一组同等的业务。接着,该业务网格可以自动地捆绑业务实例以处理单个到来的业务请求。而且在检测到异常或性能不足时,该业务网格可以对同等的替换业务实例执行故障转移处理。
动态电子商务要求能够实时共享和集成许多现成的、现购的、原子的、但是异类的计算业务,诸如Web业务和eUtilities。常规系统需要手动捆绑业务,并且仅提供业务请求到计算业务的基本路由。本发明为了确保QoS条款和现存的SLA条款所要求的最小级别的性能和可靠性,通过根据条件编程逻辑提供自动化的业务捆绑和路由,从而克服了常规系统的效率低下问题。
本发明可以在硬件、软件、或硬件和软件的组合中实施。本发明的方法和系统的实施方式可以以集中方式在一个计算机系统中实现,或者在跨几个互联计算机系统分布不同的元件的情况下以分布方式实现。适合于执行此处所描述的方法的任何种类的计算机系统、或其它设备都可以执行此处所描述的功能。
硬件和软件的典型组合可以是具有计算机程序的通用计算机系统,当装载和执行该计算机程序时,其控制计算机系统使其执行此处所描述的方法。本发明也可以内置于计算机程序产品中,其包括能够实施此处所描述的该方法的全部特征,并且当将其装载到计算机系统中时,可以执行这些方法。
在本文中计算机程序或应用指的是任何语言、编码或注释的一组指令的任何表达式,其可以使得具有信息处理能力的系统直接的、或在以下步骤其一或全部之后执行特定的功能a)转换成另一语言、编码或注释;b)以不同材料形式复制。特别的,不脱离本发明的基本属性,可以其它特定形式实施本发明,并且相应的,本发明的范围表示应该必须参照下面的权利要求书,而不是前述说明书。
权利要求
1.一种计算业务网格,包括与多个业务实例耦合的业务台,所述业务实例符合共同的业务接口;和设置在所述业务网格中的路由组件,所述路由组件将各个业务请求路由到所述业务实例中的各业务实例。
2.如权利要求1的计算业务网格,进一步包括业务实例监视组件;和故障转移逻辑,其被配置为在所述业务实例监视组件在所选择的业务实例中检测到故障转移条件的情况下,将业务请求从所述所选择的业务实例重新路由到所述业务实例中的其它业务实例。
3.如权利要求2的计算业务网格,其中所述故障转移条件包括错误条件和低于保证性能级别的性能不足条件其中之一。
4.如权利要求1或2的计算业务网格,进一步包括业务实例厂,其被配置为响应于接收到业务请求,对所述业务实例中的各业务实例进行实例化。
5.如前述任意权利要求的计算业务网格,进一步包括网格业务接口,所述业务台可通过所述网格业务接口定位和捆绑所述业务实例中的各业务实例,以使用选择业务响应业务请求。
6.一种在如前述任意权利要求所述的计算业务网格中的业务请求处理方法,包括步骤接收业务请求和业务质量(QoS)特征的规范;选择能够以与QoS特征的所述规范一致的级别处理所述业务请求的几个同等业务实例中的一个特定业务实例;和捆绑所述选择的业务实例,以处理所述业务请求。
7.如权利要求6的方法,进一步包括监视所述捆绑业务的性能;检测所述性能中的故障转移条件;和在已检测到故障转移条件的情况下,选择能够以与QoS特征的所述规范一致的所述级别处理所述业务请求的所述几个同等业务实例中的一个替换业务实例,并捆绑所述替换业务实例,以处理所述业务请求。
8.如权利要求7的方法,其中所述检测步骤包括在所述选择的业务中检测异常的步骤。
9.如权利要求7的方法,其中所述检测步骤包括在所述选择的业务中检测低于QoS特征的所述规范的性能级别的步骤。
10.一种机器可读的存储装置,其上存储有用于在如权利要求1至5中任一项所述的业务网格中处理业务请求的计算机程序,述计算机程序包括使得机器执行以下步骤的指令程序集接收业务请求和业务质量(QoS)特征的规范;选择能够以与QoS特征的所述规范一致的级别处理所述业务请求的几个同等业务实例中的一个特定业务实例;和捆绑所述选择的业务实例,以处理所述业务请求。
全文摘要
一种计算业务网格。该网格可以包括与一个或多个计算业务实例耦合的业务台。每一业务实例可以符合对在该网格中的所有计算业务实例都通用的接口。可以在该网格中设置路由组件。具体的,该路由组件可以将单个业务请求路由到各个业务实例。使用实例选择业务来满足与该业务的请求者相关联的QoS特征。该网格进一步可以包括业务实例监视组件。该监视组件可以监视负责处理单个业务请求的各个业务实例的性能。可以配置故障转移逻辑,在监视组件在所选择的业务实例中检测到故障转移条件时,将业务请求从所选择的业务实例重新路由到其它业务实例。关于这一点,故障转移条件可以包括错误条件和其中所选择的计算业务实例低于保证级别性能的性能不足条件。
文档编号G06F15/16GK1656776SQ03812381
公开日2005年8月17日 申请日期2003年6月9日 优先权日2002年6月12日
发明者戴维·林德奎斯特, 巴拉·拉加拉曼, 谭逸心, 布拉德·托普尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1