面向服务的架构中的智能调解系统的制作方法

文档序号:7718917阅读:212来源:国知局
专利名称:面向服务的架构中的智能调解系统的制作方法
技术领域
本书面说明书涉及在面向服务的架构(S0A)中提供服务的领域。具体而言,本说 明书涉及监视和恢复原子服务的不可用性。
背景技术
许多类型的计算系统已经获得全球广泛使用。这些计算系统包括个人计算机、服 务器、主机和广泛的各种独立和嵌入式计算设备。 一般而言,所有这些系统具有处理器和对 处理器和在处理器外围的部件的操作进行控制的操作系统。可执行应用程序存储于计算机 的硬驱动器中。计算机的处理器使应用程序响应于用户输入来运行。 存在多种蔓延(sprawling)客户端-服务器系统,其中应用和信息散布于许多PC 网络、主机和微计算机中。在网络连接的分布式系统中,用户可以访问许多应用程序、数据 库、网络系统、操作系统和主机应用。计算机为个人和商务提供包括文字处理、电子表格和 记账在内的诸多软件应用的宿主。另外,网络通过电子邮件、网站、即时消息传递和网络会 议来实现处于不同位置的人们之间的高速通信。 因此,在现代系统中,多个计算机——包括服务器——通过网络连接在一起。各计 算机可以运行用于执行某些功能的应用程序。这些应用程序可以包括字处理、电子邮件、图 形、文档查看和标记、电子表格、数据库、音乐播放器、因特网浏览器、Photoshop、游戏、抗病 毒以及不计其数的诸多其它应用程序的宿主。 另外,在服务器的网站可以向连接到网络的计算机的用户提供服务。例如,旅行社 可以在服务器提供使用户能够安排和购买航空航班、宾馆预约和租赁汽车的网站。这些原 子服务虽然在单个网站作为单个复合服务呈现给用户,但是可能实际上位于处于不同位置 的服务器上。因此,用于来自第一航空公司的航班的航班时间数据库将处于一个位置的服 务器上。用于第二航空公司的航班时间数据库将将处于另一服务器上。在又一位置的另一 服务器将提供用于汽车租赁等的数据库,等等。但是从用户的观点来看,原子服务看起来是 从单个源呈现的。 因此,复合服务是如下服务,该服务的实施调用其它服务。对照而言,原子服务是 如下服务,该服务是自包含的(self-contained)并且没有调动来自不同源的另一服务。因 此,例如旅行社网站可以是一种复合服务,该服务呈现信息并且使用户能够安排和购买所 供给的一项、一些或者所有原子服务;也即,航空航班、宾馆房间和租赁汽车。具体而言,一 项原子服务可以由一家航空公司提供,而另一原子服务可以由另一航空公司提供。复合服 务呈现来自各航空公司的数据,从而用户可以在服务之间选择。 有时,作为原子服务复合的一员的原子服务将由于某一原因而不可用。当用户访 问复合服务站点时,他或者她并不知道服务之一不可用。用户可能经历相当长的做出选择 和输入数据的过程,却只能发现由于服务不可用而造成用户不能进行其正在申请的预约, 从而导致相当令人不满。

发明内容
—个实施例是一种用于提供包括多个原子服务的复合服务的系统。该系统包括用 于存储如下数据的数据库的存储器,该数据标识与多个原子服务中的各原子服务关联的恢 复模式并且在数据库中存储多个原子服务中的各原子服务的更新的可用性状态。该系统还 包括处理器,该处理器用于从数据库确定原子服务是否是不可用的并且用于从数据库确定 与不可用的服务关联的一个或者多个恢复模式。该处理器还选择一个或者多个确定的恢复 模式中的一个恢复模式并且执行所选择的恢复模式。 另一实施例是一种用于通过供给各原子服务的复合服务来提供原子服务的由计 算机实施的方法。该方法包括由连接到网络的服务器为各原子服务确定恢复模式并且在数 据库中存储标识恢复模式的数据。该方法还包括由服务器定期确定各原子服务的可用性并 且在数据库中存储用于各原子服务的更新的可用性信息。该方法包括从连接到网络的用户 计算机接收对使用复合服务的请求。该方法也包括从数据库确定原子服务目前是否不可 用、从数据库中存储的一个或者多个恢复模式中为不可用原子服务选择恢复模式、并且执 行为不可用服务而标识的恢复模式。 另一实施例提供一种包含指令的计算机程序产品,所述指令在数据处理系统中执 行时生效以使该系统执行用于提供从不可用的服务状况恢复出来的一连串操作。操作包括 存储如下数据的数据库,该数据标识与多个原子服务中的各原子服务关联的恢复模式,恢 复模式包括在服务不可用时遵循的过程。操作包括在数据库中存储多个原子服务中的各原 子服务的可用性状态。操作还包括从数据库确定原子服务是否不可用。操作还包括从数据 库确定与不可用的服务关联的一个或者多个恢复模式。操作也包括选择一个或者多个确定 的恢复模式中的一个恢复模式并且执行所选择的恢复模式。 另一实施例是一种用于在原子服务不可用时选择和执行恢复模式的服务调解器。 一个实施例包括用于为多个原子服务中的各原子服务确定至少一个恢复模式的服务接口 模块。服务可用性监视器监视多个原子服务中的各原子服务的可用性。数据库存储与可用 于各原子服务的恢复模式有关的信息并且存储各原子服务的更新的可用性信息。恢复计划 选择器为不可用的服务选择恢复模式并执行该恢复模式。


在阅读以下具体描述并且参照其中相似标号可以表示相似元件的附图,优势将变 得明显 图1描绘了根据本发明一个实施例的用于执行服务调解器软件的服务器。
图2描绘了根据本发明一个实施例的包括具有服务调解器的服务器的网络。
图3描绘了根据本发明一个实施例的用于确定服务何时不可用以及用于确定和 执行恢复模式的流程图。
具体实施例方式
下文是对附图中描绘的示例实施例的具体描述。详细描述示例子实施例。然而, 提供的大量细节并非旨在限制实施例的预想变化;但是恰好相反,旨在覆盖落入所附权利 要求的精神和范围内的所有修改、等价方案和替代方案。设计以下具体描述以呈现对于本领域普通技术人员显而易见的各种实施例。 在一个实施例中,在服务器处的服务调解器提供作为原子服务复合的服务并且在服务不可用的情况下执行恢复模式。例如,服务器主控的网站可以提供旅行服务的复合,从而使用户能够向多家航空中的任一航空预约航班、预订宾馆房间或者预约租赁汽车。复合服务是如下服务,该服务的实施调用其它服务。对照而言,原子服务是如下服务,该服务是自包含的并且没有调动来自不同源的另一服务。因此在一些实施例中,复合服务可以调用来自其它源的原子服务和/或复合服务的服务。旅行社网站可以是复合服务,该服务呈现信息并且使用户能够安排和购买所供给的一项、一些或者所有原子服务;也即,航空航班、宾馆房间和租赁汽车。 从与复合服务的服务器链接的计算机的用户的观点来看,复合服务可以表现为同质(homogenous)。也就是说,在一个实施例中,向用户呈现的复合服务没有表现为来自处于不同位置的数个源的服务,而是表现为来自单个源的服务。但是从复合服务的观点来看,每个原子服务被视为在另一源位置进行提供。因此,复合服务既充当复合服务的服务提供者又充当它的子服务的服务消费者。复合服务充当子服务协调器。 在初始操作阶段中,服务调解器为复合服务中供给的各原子服务确定一个或者多个恢复模式,并且在数据库中存储每个这种用于各原子服务的恢复模式的标识。在后续操作中,服务调解器监视各原子服务的可用性并且在数据库中存储更新的可用性信息。当用户查询复合服务时,服务调解器从数据库确定它的任何原子服务是否当前不可用。如果原子服务不可用,则服务调解器选择恢复模式并且执行它。或者在一个替代实施例中,用户可以选择多个恢复模式之一。 恢复模式是在服务不可用时遵循的过程。可以在原子服务不可用时作为替代方案来执行恢复模式。例如, 一种恢复模式是为了发现冗余服务端点以获得原子服务。端点是可以从其获得服务和关于服务的信息的站点。原子服务的提供者可以提供多于一个的端点,这多个端点中的各端点访问与服务关联的信息数据库并且实现对服务的使用。取而代之,服务可以仅具有一个端点。如果没有冗余服务端点可用,则一种替代恢复模式可以当前从用户取得至少一些数据并且随后在服务变得可用时处理该数据。恢复模式还可以包括向用户通知由用户供应的数据的后续处理结果。 例如,可以向用户通知汽车租赁预约服务的不可用性并且可以邀请用户现在输入关于用户的有关信息。然后,当汽车租赁预约服务再次可用时,原子服务处理用户的先前输入的数据并且进行汽车租赁预约。然后,例如通过电子邮件向用户通知已经进行预约。又一替代恢复模式是向用户通知原子服务之一目前不可用、但是其余原子服务可用,并且提供目前可用的服务、继而向用户通知不可用的服务何时变得可用。虽然这里详细描述用于提供原子旅行服务的复合的旅行网站的例子,但是实施例可以用于其它复合服务,例如汇集买卖股票、共有基金投资、债券、货币等的投资网站。 多于一个的恢复模式可以与原子服务关联。当原子服务具有多个恢复模式时,可以按照偏好的顺序对它们进行排序。例如,发现用于不可用的服务的冗余端点将是最优选的。如果冗余服务端点不可用,则次优选方案可以现在从用户取得数据并且以后处理它。如果这不可行,则可以向用户简单地通知服务目前不可用并且允许用户现在获得剩余服务,从而以后在服务变得可用时通知用户。因此, 一些原子服务供给可以由服务调解器智能选
6择的多个恢复模式。可以实施本领域中已知的或者有待将来开发的其它恢复模式。
图1示出了服务器116(这里有时称为机器)。服务器116包括至少一个处理器100,该处理器100可以根据BI0S(基本输入/输出系统)代码104和操作系统(OS)代码106来操作。BIOS和OS代码存储于存储器108中。BIOS代码通常存储于只读存储器(ROM)上,而OS代码通常存储于服务器116的硬驱动器上。数字系统116包括物理上位于接近处理器100处的层2(L2)高速缓存102。存储器108也存储用于由处理器100执行的其它程序并且存储数据109。 在服务器116的一个实施例中,存储器108存储用于调解从相同服务器或者其它服务器可用的不同原子服务的服务调解代码107。存储器109包括如下数据结构或者数据库,该数据结构或者数据库包括关于如下恢复模式的信息,这些恢复模式可用于形成复合服务的多个原子服务中的各原子服务。存储器109也存储用于各原子服务的更新的可用性信息。服务调解代码使处理器IOO执行用于在服务不可用时确定和遵循恢复模式的功能。因此,服务调节器代码将使处理器100为各原子服务初始确定恢复模式并且将这些恢复模式存储到存储器109中。服务调解代码107还使处理器100监视服务可用性并且在服务变得不可用时选择和执行恢复模式。因此,可以通过使用存储器中存储的并且由处理器执行的服务调解计算机代码107来实施一些实施例。 处理器100包括片上层1 (LI)高速缓存190、指令取读器130、控制电路160和执行单元150。层1高速缓存190接收和存储接近执行时间的指令。指令取读器130从存储器取读指令。执行单元150执行由指令调用的操作。在一个实施例中,这些指令包括用于确定和存储原子服务恢复模式信息的指令、用于监视和存储服务可用性信息的指令、以及用于执行针对不可用的服务的恢复模式的指令。执行单元150可以包括加载/存储单元、整数算术/逻辑单元、浮点算术/逻辑单元和图形逻辑单元。各执行单元包括用于在执行由指令取读器130取读的指令时执行步骤的多个级。在一种超级标量(superscalar)架构中,不同执行单元并行操作。因此,执行单元150包括为了执行用于从原子服务不可用性恢复出来的指令而并行操作的不同类型的单元集合。 控制电路160控制指令取读器130和执行单元150。控制电路160也从执行单元150接收与控制决策相关的信息。例如,在执行流水线中的数据高速缓存未命中的情况下,通知控制电路160进行停滞。 服务器116也通常包括未示出的其它部件和子系统,比如受信任平台模块、存储器控制器、随机存取存储器(RAM)、外围驱动器、系统监视器、键盘、彩色视频监视器、一个或者多个软盘驱动器、一个或者多个可移动非易失性介质驱动器(比如固定盘硬驱动器、CD和DVD驱动器)、指示设备(比如鼠标)和网络接口适配器等。处理器100也可以借助输入/输出设备110来与网络112通信。网络将服务器116与物理存储器存储设备114的存储区域网络连接。这些设备可以包括带驱动储存器或者硬盘阵列或者其它类型的存储器。
因此,在服务器116的一种操作模式中,L2高速缓存从存储器108接收预计在处理器100的处理器流水线中处理的数据和指令。L2高速缓存102是为了实现更大速度而在物理上位于接近处理器100处的快速存储器。L2高速缓存从存储器108接收用于多个指令线程的指令。这样的指令可以包括加载和存储指令、分支指令、算术逻辑指令、浮点指令等。Ll高速缓存190位于处理器中并且包含优选从L2高速缓存102接收的数据和指令。理想地,随着时间迫近将执行的程序指令,该指令与它的数据(如果有的话)首先传递到L2高速缓存、然后随着执行时间的来临传递到Ll高速缓存。 执行单元150执行从Ll高速缓存190接收的指令。执行单元150中的各单元可以适合于执行具体指令集。指令可以提交到不同执行单元以便并行执行。执行单元150处理的数据可存储于整数寄存器文件和浮点寄存器文件(未示出)中并且可从这些文件获取该数据。这些寄存器文件中存储的数据也可以来自或者传送到板载L1高速缓存190或者外部高速缓存或者存储器。处理器可以通过执行加载指令将数据从存储器(如L1高速缓存)加载到处理器的寄存器。处理器可以通过执行存储指令将数据从寄存器存储到存储器中。 服务器的存储器通常包括只读存储器(ROM)、在DRAM和SRAM中实施的高速缓存存储器、硬盘驱动器、CD驱动器和DVD驱动器。服务器也可以控制对其它存储器(比如带驱动器和硬盘阵列)的访问。各服务器可以存储和执行它自己的应用程序。因此,一些应用程序如数据库可以驻留于服务器中,并且这些程序对于网络中的计算机是可用的。
因此,一个实施例是一种用于提供包括原子服务的复合服务的系统。该系统包括用于存储如下数据的数据库的存储器,该数据标识与多个原子服务中的各原子服务关联的一个或者多个恢复模式。该系统监视原子服务的可用性并且在数据库中存储多个原子服务中的各原子服务的可用性状态。该系统还包括用于执行用于从数据库确定原子服务是否不可用的计算机指令的处理器。如果原子服务不可用,则处理器执行用于从数据库确定与不可用的服务关联的一个或者多个恢复模式的计算机指令。处理器还选择一个或者多个确定的恢复模式中的一个恢复模式并且执行所选择的恢复模式。 图2示出了用于向网络226中连接的多个计算机214、216和218提供服务的系统200。该网络也链接包括服务器202以及原子服务220、222和224的多个服务器。服务220、222和224可以例如是日服务时间、航空航班数据库、预约和购票、宾馆房间和根据位置而定的费率的数据库、自动租赁服务、银行业服务、货币汇率等。这些服务通过网络提供给服务器202并且也可以直接提供给计算机214、216和218。 服务器202包括服务调解器204,该服务调解器用于提供用于访问个别原子服务或者复合服务的接口 、监视服务的可用性、如果服务失败则实施恢复过程、以及存储涉及服务可用性和恢复的数据库。具体而言,服务调解器204的服务接口模块206从一个或者多个服务220、222和224接收数据并且按逻辑有序格式存储这一数据。数据可以由服务接口模块206发送到计算机214,其中它可以显示于用户计算机214的屏幕上。例如,来自不同航空服务的航空数据可以由服务调解器收集从而使计算机214的用户能够通过仅在一行选择框中点击针对所希望的航班的选择框来选择航班。因此,服务接口模块206向用户计算机呈现它从一个或者多个服务接收的数据并且通过键盘和/或鼠标来接收用户的响应和选择。 服务调解器204包括用于监视原子服务的可用性并且用于用最新可用性信息定
期更新数据库的服务可用性监视器208。在一个实施例中,服务可用性监视器208可以定期
轮询服务以确定它是否可用。或者在另一实施例中,仅在失败之后才开始轮询。或者在另
一实施例中,各服务向服务可用性监视器208通知服务可用性的改变。 服务调解器204包括恢复模式选择器210。恢复模式选择器210从这里描述的原子服务接收与关联于服务的恢复模式有关的信息,从而如果服务失败,则选择器210可以智能地选择恢复模式。例如,一种恢复模式可以涉及到选择冗余服务端点。如果工作冗余服务端点不可用,则选择器210可以选择异步地提供服务。因此,所选模式可以邀请用户输入以后待处理的数据,稍后将处理的结果(例如,是否进行预约)向用户通知。或者例如,服务调解器204可以在服务再次变得可用时通过电子邮件通知用户。 服务调解器204包括数据库212。数据库212包括与各种原子服务的可用性有关的信息和与可用于各原子服务的恢复模式有关的信息。因此,当用户登录到服务提供者的网站并且试图使用复合服务或者原子服务时,服务接口模块206检查数据库212以确定为了完成复合服务的功能性而需要的所有原子服务(或者在用户仅请求特定原子服务的情况下仅为该原子服务)在网站处是否可用。如果在网站处可用,则用户可以继续浏览站点并且输入选择和数据。如果服务不可用,则服务接口模块206可以检查数据库212以确定什么恢复模式可用。原子服务可以提供一个或者多个恢复模式。这些恢复模式包括现在已知的恢复模式和有待将来开发的恢复模式。服务调解器204的服务接口模块206可以从恢复模式的排序中选择。例如,对恢复模式的第一选择可以使用可用的冗余服务端点。服务端点是提供原子服务中的服务的位置。 一个网站可以具有通向多个端点的链接。对恢复模式的第二选择可以是异步响应,其中现在可以收集服务所需数据(比如对项目的用户选择)而以后递送响应。 例如在一些情况下,服务可能不可用于接受对宾馆房间的预约、但是仍然可以提供关于房间可用性的数据。在这样的情况下,服务接口模块206可以从用户收集数据,比如从列表中选择的宾馆和用户偏好的一类套房之一,其中该类可以是吸烟类或无烟类或者是指具体大小或者具有具体舒适设施的房间。服务接口模块206接受来自用户的数据并且存储它直至用于实际进行预约的服务222可用。在那时或者在后续时间,服务222从服务接口模块206接收用户供应的数据并且处理预约。处理预约可以包括确定所需房间是否将在请求的日期可用并且将房间实际分配给用户而且预约请求的日期。因此,在一些情况下,现在可以收集用于处理的数据,以后在服务变得可用时进行后续处理和确认。在这样的情况下,恢复模式选择器210可以选择的恢复模式是为了现在收集某些信息、以后在服务再次变得可用时处理信息、然后在以后的时间向用户发送关于处理结果的信息。
因此,一些实施例包括用于在原子服务不可用时选择和执行恢复模式的服务调解器。服务调解器包括为多个原子服务中的各原子服务确定至少一个恢复模式的服务接口模块。服务可用性监视器监视多个原子服务中的各原子服务的可用性。这可以定期完成。数据库存储与可用于各原子服务的恢复模式有关的信息并且存储各原子服务的更新的可用性信息。恢复计划选择器选择和执行用于不可用的服务的恢复模式。在一些实施例中,服务接口模块显示用于多个原子服务中的各原子服务的可用性信息。在一些实施例中,服务接口模块使用户能够选择与原子服务关联的多个恢复模式中的一个恢复模式。也在一些实施例中,恢复模式选择器对用于原子服务的恢复模式区分优先顺序。 图3示出了用于向用户提供服务并且在服务失败时执行恢复模式的流程图300。在初始操作阶段中,服务调解器为在网站提供的服务复合中的各服务确定可用恢复模式(单元302)。随着操作继续,服务可用性监视器监视服务可用性并且定期更新涉及服务可用性的数据库(单元304)。当用户请求服务时(单元306),服务调解器在数据库中查找以确定组成服务复合的每个个别服务的可用性(单元308)。如果所有服务目前都可用(单元310),则服务调解器提供服务(单元316)。 如果服务不可用(单元310),则恢复模式选择器将在数据库中查找以确定什么恢复模式可用(单元312)。可以有与各恢复模式关联的用以确定它的优先级(如果有)的排序。当具有最高优先级的恢复模式不可用时,比如当冗余服务端点不可用时,所选恢复模式将是具有次高优先级的恢复模式。这一恢复模式可以例如从用户取得数据并且以后处理它。 一旦标识恢复模式,服务调解器执行它(单元314)并且提供可以提供的服务(单元316)。 例如,考虑使用户能够安排航班、预订宾馆房间并且预约租赁汽车的旅行社网站。在初始操作阶段中,网站的服务调解器确定向用户呈现那些服务的复合所需的每个原子服务的恢复模式。例如,一个或者多个航空服务可以具有冗余服务端点。又如,如果一个航空服务失败,则服务调解器可以决定为少于所有航空服务的航空服务提供该服务,从而排除与失败的航空服务有关的信息。因此,用于原子服务中的失败服务的一种恢复模式是提供除了失败服务之外的所有服务。可以向用户通知失败的服务。以后可以在服务变得可用时向用户发送电子邮件。用于当存在不可用的服务时进行恢复的另一恢复模式是当冗余服务端点可用时进行与该冗余服务端点的连接。用于在有不可用的服务时进行恢复的另一恢复模式是当至少部分地完成提供服务的处理时所需要从用户收集的此类信息,以便当服务接着变得可用时完成该处理并且向用户通知完成的处理结果。 因此,一个实施例是一种用于通过供给各原子服务的复合服务来提供原子服务的由计算机实施的方法。在主控复合服务的服务器提供的方法为各原子服务确定恢复模式并且在数据库中存储标识恢复模式的数据。该方法还包括定期确定包括复合服务的各原子服务的可用性并且在数据库中存储用于各原子服务的更新可用性信息。该方法包括从连接到服务器所在网络的用户计算机接收对使用复合服务的请求。当接收请求时,该方法包括从数据库确定原子服务是否目前不可用。如果不可用,则该方法包括为不可用原子服务从数据库中存储的一个或者多个恢复模式选择恢复模式。该方法然后执行所标识的用于不可用的服务的恢复模式。 在该方法中选择的恢复模式可以包括发现冗余服务端点。另一恢复模式可以包括从用户取得数据并且在服务变得可用时的后续时间处理数据。另一恢复模式可以包括向用户通知数据的处理结果。另一恢复模式可以包括在不可用的服务现在已经变得可用时通过电子邮件通知用户。在一些实施例中,该方法包括对用于原子服务的多个恢复模式进行排序。 一些实施例包括使用户能够选择用于原子服务的多个恢复模式中的恢复模式。因此,一些实施例可以向用户通知原子服务的不可用性,从而允许用户决定是现在还是以后提交该服务所需的数据。 —些实施例可以采用全硬件实施例、全软件实施例或者包含硬件和软件单元二者的实施例的形式。因此一些实施例在软件中实现,该软件包括但不限于固件、常驻软件、微代码等。另外,实施例可以采用可从机器可访问可读取介质获取的计算机程序产品的形式,该介质提供用于由如图1中所示的这种服务器或者任何指令执行系统使用的程序代码,或者与如图1中所示的这种服务器或者任何指令执行系统结合使用的程序代码。出于本说明书的目的,机器可访问或者计算机可用或者计算机可读介质可以是任何如下装置,该装置可以包含、存储、传达、传播或者传送用于由指令执行系统、装置或者设备使用或者与该指令执行系统、装置或者设备结合使用的程序。介质可以是电子、磁、光学、电磁、红外线或者半导体系统(或者装置或者设备)或者传播介质。机器可访问介质的例子包括半导体或者固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(R0M)、硬磁盘和光盘。光盘的目前例子包括致密盘_只读存储器(CD-ROM)、致密盘_读/写(CD-R/W)和DVD。 适合于存储和/或执行程序代码的数据处理系统将包括直接或者通过系统总线
间接耦合到存储器元件的至少一个处理器。存储器元件可以包括在程序代码的实际执行期
间采用的本地存储器108、大容量储存器和高速缓存存储器102、190,这些高速缓存存储器
提供对至少一些程序代码的暂时存储以便减少在执行期间必须从大容量储存器取回代码
的次数。输入/输出或者1/0设备(包括但不限于键盘、显示器、指示设备等)可以直接或
者通过居间1/0控制器耦合到系统。网络适配器也可以耦合到系统以使数据处理系统变成
通过居间专用或者公共网络耦合到其它数据处理系统或者远程打印机或者存储设备。调制
解调器、有线调制解调器和以太网卡是网络适配器的目前可用类型中的若干类型。 因此,另一实施例提供一种包含指令的计算机程序产品,这些指令在数据处理系
统中执行时生效,以使系统完成用于当服务不可用时进行恢复的一连串操作。该操作包括
存储如下数据的数据库,该数据标识与复合服务提供的多个原子服务中的各原子服务关联
的恢复模式。恢复模式是在服务不可用时遵循的过程。操作包括在数据库中存储多个原子
服务中的各原子服务的可用性。操作也包括从数据库确定原子服务在用户寻求使用复合服
务时是否不可用。操作还包括从数据库确定与不可用的服务关联的一个或者多个恢复模
式。操作也包括选择一个或者多个确定的恢复模式中的一个恢复模式并且执行所选择的恢
复模式。 虽然已经详细描述一些实施例,但是应当理解这里可以进行各种改变、替换和更改而不脱离所附权利要求的精神和范围。虽然一个实施例可以实现多个目的,但是并非落入所附权利要求内的每个实施例都将实现每个目的。另外,本申请的范围并非限于说明中描述的处理、机器、制造产品、物质组成、装置、方法和步骤的特定实施例。如本领域普通技术人员将从公开内容中容易理解的那样,可以利用完成与这里描述的对应实施例基本上相同功能或者实现基本上相同结果的当前存在或者以后有待开发的处理、机器、制造产品、物质组成、装置、方法和步骤。因而,所附权利要求旨在于在它们的范围内包括这样的处理、机器、制造产品、物质组成、装置、方法和步骤。
权利要求
一种用于通过供给各原子服务的复合服务来提供原子服务的由计算机实施的方法,包括连接到网络的服务器为各原子服务确定恢复模式,并且在数据库中存储标识所述恢复模式的数据,而且将所述恢复模式标识数据与相应的原子服务关联;所述服务器定期确定各原子服务的可用性并且在所述数据库中存储用于各原子服务的更新的可用性信息;所述服务器从连接到所述网络的用户计算机接收对使用所述复合服务的请求;从所述数据库确定原子服务目前是否不可用;从所述数据库中存储的一个或者多个恢复模式中为不可用原子服务选择恢复模式;以及执行为不可用服务而标识的恢复模式。
2. 根据权利要求1所述的方法,其中第一恢复模式包括发现冗余服务端点。
3. 根据权利要求2所述的方法,其中在没有发现冗余服务端点的情况下执行的第二恢 复模式包括从用户取得数据并且在所述服务变得可用时的后续时间处理所述数据。
4. 根据权利要求1所述的方法,其中恢复模式包括从用户取得数据并且在所述服务变 得可用时的后续时间处理所述数据。
5. 根据权利要求4所述的方法,其中所述恢复模式还包括向用户通知所述数据的处理 结果。
6. 根据权利要求1所述的方法,其中恢复模式包括在不可用的服务现在已经变得可用 时通过电子邮件通知用户。
7. 根据权利要求1所述的方法,还包括对用于原子服务的多个恢复模式进行排序。
8. 根据权利要求1所述的方法,还包括使用户能够选择用于原子服务的多个恢复模式 中的一个恢复模式。
9. 一种用于提供包括多个原子服务的复合服务的计算机系统,所述系统包括 存储器,用于存储数据的数据库,所述数据标识与所述多个原子服务中的各原子服务关联的恢复模式并且用于在所述数据库中存储所述多个原子服务中的各原子服务的可用 性状态;以及处理器,用于从所述数据库确定原子服务是否是不可用的; 从所述数据库确定与不可用服务关联的一个或者多个恢复模式; 选择所述一个或者多个确定的恢复模式中的一个恢复模式;以及 执行所选择的恢复模式。
10. 根据权利要求9所述的系统,其中第一恢复模式包括发现冗余服务端点。
11. 根据权利要求io所述的系统,其中在没有发现冗余服务端点的情况下执行的第二恢复模式包括从用户取得数据并且在所述服务变得可用时的后续时间处理所述数据。
12. 根据权利要求9所述的系统,其中恢复模式包括从用户取得数据并且在所述服务 变得可用时的后续时间处理所述数据。
13. 根据权利要求12所述的系统,其中所述恢复模式还包括向用户通知所述数据的处理结果。
14. 根据权利要求9所述的系统,其中恢复模式包括在不可用的服务现在已经变得可 用时通过电子邮件通知用户。
15. 根据权利要求9所述的系统,还包括对用于原子服务的多个恢复模式进行排序。
16. —种包括计算机可读存储介质的计算机程序产品,所述计算机可读存储介质具有 用于实施根据权利要求1-8所述的任何方法的计算机可读程序。
17. —种用于在原子服务不可用时选择和执行恢复模式的服务调解器,包括 服务接口模块,用于为多个原子服务中的各原子服务确定至少一个恢复模式,恢复模式包括在服务不可用时遵循的过程;服务可用性监视器,用于监视多个原子服务中的各原子服务的可用性; 数据库,用于存储与可用于各原子服务的恢复模式有关的信息并且用于存储各原子服务的更新的可用性信息;以及恢复计划选择器,用于为不可用服务选择恢复模式并执行该恢复模式。
18. 根据权利要求17所述的服务调解器,其中恢复模式包括发现冗余服务端点。
19. 根据权利要求17所述的服务调解器,其中所述服务接口模块显示用于多个原子服 务中的各原子服务的可用性信息。
20. 根据权利要求17所述的服务调解器,其中所述服务接口模块使用户能够选择与原 子服务关联的多个恢复模式中的一个恢复模式。
21. 根据权利要求17所述的服务调解器,其中所述恢复模式选择器对用于原子服务的 恢复模式区分优先顺序。
全文摘要
本发明提供一种面向服务的架构中的智能调解系统。在一个实施例中,服务调解器提供作为原子服务的复合的服务并且在服务不可用的情况下执行恢复模式。具体而言,在初始操作阶段中,服务调解器为复合服务中供给的各原子服务确定一个或者多个恢复模式并且在数据库中存储这样用于各原子服务的每个这种恢复模式的标识。在后续操作中,服务调解器监视各原子服务的可用性。当用户查询复合服务时,服务调解器确定它的任何原子服务是否是不可用的。如果原子服务是不可用的,则服务调解器选择恢复模式并且执行该恢复模式。
文档编号H04L29/06GK101763591SQ200910224398
公开日2010年6月30日 申请日期2009年12月2日 优先权日2008年12月22日
发明者R·S·阿伦阿查拉姆 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1