对使用会话亲缘性的分布式环境中的故障恢复进行处理的方法和系统的制作方法

文档序号:6478709阅读:144来源:国知局
专利名称:对使用会话亲缘性的分布式环境中的故障恢复进行处理的方法和系统的制作方法
技术领域
本发明总体上涉及改进的数据处理系统。更具体地,本发明涉及用于对利用会话 亲缘性(affinity)的分布式网络环境中的服务器故障恢复进行处理的计算机实现方法、 系统和计算机可用程序代码。
背景技术
当今,大部分计算机连接到某种类型的网络。网络允许计算机与其他计算机系统 共享信息。因特网是计算机网络的一个示例。因特网是借助于网关连结在一起的网络和计 算机的全球网络,其中网关对数据传送和将消息从发送网络的协议向接收网络使用的协议 转换进行处理。在因特网上,任何计算机都可以与任何其他计算机通信,其中信息通过各种 语言(也称为协议)在因特网上传播。典型地,因特网使用称为传输控制协议/网际协议 (TCP/IP)的协议集。大量新兴的因特网应用需要在不同的组织界限、异种平台以及发布者和订户的大 量动态人群之间分发信息。发布-订阅(发-订)网络服务是这样的通信基础架构,其支 持在潜在不受限数量的发布者和订户之间分发信息。发-订系统通常实现为在端到端覆盖 网络上部进行通信的空间上相异节点的集合。在这种环境中,发布者以事件形式发布信息,订户具有通过向发-订网络发送订 阅过滤器(filter)而表达其对事件或事件的模式感兴趣的能力。发-订网络使用基于内 容的路由机制来将每个发布与所有活动订阅进行匹配,并且当且仅当事件与订户登记的兴 趣匹配时,才向这些订户通知该事件。会聚服务是跨过多个网络协议和协议会话上的通信来提供较高层功能的应用。在 超文本传输协议(HTTP)和会话发起协议(SIP)的情况下,会聚服务将来自HTTP协议和SIP 协议的会话信息连结在一起,从而允许一个协议上的交互影响另一协议上的通信,并受到 该协议的约束。会聚服务可以跨过来自这些协议中每一个协议的多个协议会话。为了对代码和高可用性服务的构造进行简化,称为会话亲缘性的机制与会聚服务结合使用。会话亲缘性是集群环境中用于将会话中的请求与服务器集群中的特定服务器相 关联的机制。此关联是经由将会话向管理服务器映射的路由机制完成的。在使用会话亲缘 性和会聚服务时,会聚会话数据可以在会话的生命期中在单个应用服务器实例中存续,从 而不需要用于在处理与会聚会话有关的请求时执行集群间通信的应用代码。然而,很多会聚应用还需要访问和管理跨越多个会聚会话的公共资源或数据结 构。即使利用会话亲缘性,这些会聚会话也可能被指派到集群中的不同服务器实例。其结 果是,需要这样的方法,其向所有会聚会话通知与这些会话有关的公共信息,而不论感兴趣 的会话在集群中的位置如何。例如,考虑包括服务器A、B和C的三服务器集群环境。针对 与服务器A和服务器C上的应用资源有关的通知建立订阅。一个发布请求出现,并且其针 对服务器B。服务器B不知道集群中的哪个服务器包含感兴趣的订阅会话。服务器B必须能够可靠地广播该订阅数据。另外,当服务器B发生故障时,不知道服务器B管理的会话将在该集群中的何处被再激活。因此,有益的是具有改进的计算机实现方法、系统和计算机可用程序代码,其用于 对使用会话亲缘性的发_订分布式网络环境中的服务器故障恢复进行管理。

发明内容
示例性实施方式提供了一种计算机实现的方法、系统和计算机可用程序代码,用 于对服务器集群中的故障恢复进行管理。响应于在分布式网络中的服务器集群中检测到故 障服务器,停止故障恢复服务器的订阅消息处理。打开故障服务器的订阅队列。向针对特 定消息收发话题的所有订户发布标记消息。该标记消息包括现在对故障服务器的订阅队列 进行管理的故障恢复服务器的标识。处理该故障服务器的订阅队列中的消息。确定该故障 服务器的订阅队列中的消息是否是标记消息。响应于确定该故障服务器的订阅队列中的消 息是标记消息,关闭该故障服务器的订阅队列。继而,该故障恢复服务器重新开始其原始订 阅队列的处理。优选地,在处理来自原始订阅队列的未读消息的同时,查找标记消息。一旦在原始 订阅队列中找到标记消息,便优选地重新开始正常操作。


现在,仅通过示例的方式并参考附图来描述本发明的优选实施方式。图1是其中可以实现示范性实施方式的数据处理系统网络的图形表示;图2是其中可以实现示范性实施方式的数据处理系统的框图;图3是示出了根据示范性实施方式的、用于正常服务器操作的示例性过程的流程 图;图4是示出了根据示范性实施方式的、用于故障恢复服务器操作的示例性过程的 流程图。
具体实施例方式现在参考附图,特别是参考图1-图2,其提供了其中可以实现示范性实施方式的 数据处理环境的示例性图示。应当理解,图1-图2仅是示例性的,而不是用来声明或者暗示 针对其中可以实现不同实施方式的环境的任何限制。可以对所描绘的环境做出很多改变。图1描绘了其中可以实现示范性实施方式的数据处理系统的网络的图形表示。网 络数据处理系统100是其中可以实现示范性实施方式的计算机网络。网络数据处理系统 100包含网络102,其是用于在网络数据处理系统100内连接在一起的各种设备和计算机之 间提供通信链路的媒介。网络102可以包括连接,诸如有线、无线通信链路或者光纤电缆。在所描绘的示例中,服务器104和服务器106以及存储单元108 —起连接到网络 102。另外,客户端110、112和114还连接到网络102。然而,应当注意,网络数据处理系统 100可以包括未示出的附加服务器、客户端和其他设备。客户端110、112和114是针对服务 器104和/或服务器106的客户端。而且,客户端110、112和114例如可以是个人计算机 或网络计算机。
在所描绘的示例中,服务器104和服务器106是集群服务器。另外服务器104和服务器106向作为订户的客户端110、112和114提供发-订网络服务。该发-订网络支持 向特定消息话题发布消息。话题代表多个订户感兴趣的主题。典型地,消息在发布过程期 间被指派给话题,并继而由已经订阅了该特定话题的所有客户接收。零个或多个订户客户 端可以登记针对就特定消息话题接收消息的兴趣。订阅被配置,使得该订阅是持久不变的。订阅指示客户接收某个事件类别的兴趣。 消息收发服务环境(诸如,例如,Java 消息收发服务(JMS))内的订阅起到了以事件被发 布的顺序来接收针对话题的事件的“虚拟队列”的作用。持久的意思是在客户端停止读取 来自订阅的消息时,未读消息保留在订阅队列中该客户端退出的位置。此外,该网络数据处理系统100是利用会话亲缘性的分布式网络环境。会话亲缘 性利用负载平衡元件来向同一应用服务器实例路由作为同一会聚会话的部分的请求。为了 解决会聚会话,示范性实施方式利用可以用来路由请求的会话信息来对该请求进行编码。 此会话信息编码可以利用两种方式完成。一种方式是客户端应用从会聚应用获取会话参考 (诸如,例如,cookie)。继而,该客户端应用在其请求中复现该cookie。备选地,该客户端 应用对该请求的统一资源定位符(URI)进行编码,使得该请求指向适当的服务器。在所描绘的示例中,网络数据处理系统100是具有网络102的因特网,网络102代 表使用TCP/IP协议集来彼此通信的全球范围内的网络和网关集合。因特网的核心是主要 节点或主机计算机之间的高速数据通信线路的骨干网,其由成千上万的商业、政府、教育和 对数据和消息进行路由的其他计算机系统组成。当然,网络数据处理系统100还可以实现 为大量不同类型的网络,诸如,例如,内联网、局域网(LAN)或广域网(WAN)。图1意在作为一 个示例,而不是对不同示范性实施方式的结构性限制。现在参考图2,其示出了其中可以实 现示范性实施方式的数据处理系统的框图。数据处理系统200是诸如图1中的服务器104 或客户端110的计算机的示例,针对示范性实施方式实现处理的计算机可用代码或指令可 以位于其中。在所描绘示例中,数据处理系统200采用hub (集线器)架构,其包括接口和存储 器控制器hub(接口 /MCH)202以及接口和输入/输出(I/O)控制器hub(接口 /ICH)204。 处理单元206、主存储器208以及图形处理器210耦合到接口 /MCH 202。处理单元206可 以包含一个或多个处理器,其甚至可以使用一个或多个异构处理器系统来实现。图形处理 器210可以通过例如加速图形端口(AGP)耦合到接口 /MCH 202。在所描绘的示例中,局域网(LAN)适配器212耦合到接口 /ICH204,而音频适配器 216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM) 224、通用串行总线(USB)端 口和其他端口 232、以及PCI/PCIe设备234通过总线238耦合到接口 /ICH 204,并且硬盘驱 动(HDD) 226和CD-ROM 230通过总线240耦合到接口 /ICH 204。PCI/PCIe设备例如可以包 括用于笔记本计算机的以太网适配器、外接卡以及PC卡。PCI使用卡总线控制器,而PCIe 不使用。ROM 224例如可以是快闪二进制输入/输出系统(BIOS)。HDD 226和⑶-ROM 230 例如可以使用集成设备电子元件(IDE)或串行高级技术附件(SATA)接口。超级I/0(SI0) 设备236可以耦合到接口和1/0控制器hub 204。操作系统在处理单元206上运行,其协调和提供对图2中数据处理系统200内 各种组件的控制。操作系统可以是商业上可用的操作系统,诸如Mierosoft WindowsVista 。Microsoft和Windows Vista是微软公司在美国、其他国家或者说在世界范围内 的商标。面向对象的编程系统,诸如Java 编程系统,可以与操作系统一起运行,其根据在 数据处理系统200上执行的Java 程序或应用而提供对操作系统的调用。Java 和所有基 于Java 的商标是Sim微系统公司在美国、其他国家或者说在世界范围内的商标。用于操作系统、面向对象的编程系统以及应用或程序的指令位于诸如HDD 226的 存储设备中,并且可以加载到主存储器208中以由处理单元206执行。示范性实施方式的 过程可以由处理单元206使用计算机实现的指令来执行,这些指令可以位于存储器中,诸 如主存储器208、只读存储器224或位于一个或多个外围设备中。图1-图2中的硬件可以根据实现而变化。其他内部硬件或外设,诸如闪存、等效 的非易失性存储器或光盘驱动等等,可以附加于图1-图2中示出的硬件或作为其替换而使 用。同样,示范性实施方式的过程可以应用于多处理器数据处理系统。在某些示范性示例中,数据处理系统200可以是个人数字助理(PDA),其通常配置 有闪存以提供非易失性存储器,用于存储操作系统文件和/或用户生成的数据。总线系统 可以包括一条或多条总线,诸如系统总线、I/O总线和PCI总线。当然,总线系统可以使用 任何类型的通信结构或架构来实现,其提供附接至此结构或架构上的不同组件或设备之间 的数据传送。通信单元可以包括用于发送和接收数据的一个或多个设备,诸如调制解调器 或网络适配器。存储器例如可以是主存储器208或诸如在接口/MCH 202中找到的高速缓 存。处理单元可以包括一个或多个处理器或CPU。图1-图2中所描绘示例以及上述示例的 意图并不在于暗示架构的限制。例如,数据处理系统200也可以是平板型计算机、膝上型计 算机,或采用PDA形式之外的电话设备。示范性实施方式提供了一种计算机实现的方法、系统和计算机可用程序代码,用 于对分布式网络中服务器集群中的故障恢复进行管理。响应于在服务器集群中检测到故障 服务器,故障恢复服务器停止其订阅消息收发队列的订阅消息处理。继而,故障恢复服务器 打开该故障服务器的订阅队列,并向特定消息收发话题的所有订户发布标记消息。该标记 消息包括现在正对该故障服务器的订阅队列进行管理的故障恢复服务器的标识。另外,标 记消息被未参与该故障恢复的所有其他服务器忽略。另外,故障恢复服务器处理该故障服务器的订阅队列内的消息。在处理该故障服 务器的订阅队列中消息的同时,该故障恢复服务器确定订阅队列中的消息是否是标记消 息。响应于在故障服务器的订阅队列中找到标记消息,该故障恢复服务器关闭该故障服务 器的订阅队列,并重新开始其订阅队列中的订阅消息处理。示范性实施方式可以实现在分布式发-订网络环境中。每个应用服务器启动时生 成在会话生命期中存续的唯一订阅标识。每个订阅是持久不变的。无论何时在应用服务器 中创建会话,该应用服务器都将唯一订阅标识存储在会话属性中,使得该会话属性作为会 话状态复制的一部分被复制。在出现故障恢复时,该故障服务器的会话在另一服务器应用 上被激活。典型地,在应用服务器环境(诸如,例如,J2EE应用服务器)中,经由生命周期监 听器而将此激活信号通知给故障恢复服务器应用代码。然而,应当注意,除了经由生命周期 监听器之外,还可以由平台利用很多不同方式将此激活通知该应用代码。在激活事件上,故 障恢复服务器应用查找来自会话的故障恢复订阅。继而,故障恢复服务器立即向所有订阅发布标记消息,其以先进/先出(FIFO)顺序被递送,并且同样出现在故障服务器的订阅队 列中。故障恢复服务器继而停止处理其主要订阅,并前进到从故障恢复订阅进行恢复, 仅处理与故障服务器的会话相关联的消息。在恢复时,故障恢复服务器构建其已经处理的 消息的映射表。一旦在故障服务器的订阅队列中命中标记消息,则恢复的第一阶段完成。
故障恢复服务器应用继而重新开始处理主要队列,直到其发现标记消息。该标记 消息指示该队列现在被同步。在遍历主要队列时,故障恢复服务器略过位于该映射表中的 消息,从而其不处理用于已恢复会话的任何消息。一旦故障恢复服务器找到标记消息,该故 障恢复服务器便终止故障恢复订阅,并重新开始正常处理。然而,应当注意,如果故障服务 器在故障恢复服务器正在进行恢复时恢复过来,则故障恢复服务器不会受影响,因为故障 服务器生成新的唯一订阅标识,从而避免与故障恢复服务器的冲突。现在参考图3,示出了根据示范性实施方式的、用于正常服务器操作的示例性过程 的流程图。图3中示出的过程可以实现在服务器(诸如,例如,图1中的服务器104)中。该过程开始于服务器启动时(步骤302)。在启动后,服务器生成在会话的生命期 中存续的唯一订阅标识(步骤304)。服务器使用唯一订阅标识来连接到消息收发话题,其 用于向订户客户端发布针对订阅数据改变的通知。在于步骤304中生成唯一订阅标识之后,服务器使用唯一订阅标识连接至消息收 发话题(步骤306)。在于步骤306中连接至消息收发话题之后,服务器确定这是否是新的 会话(步骤308)。如果这是新的会话,即,在步骤308输出“是”,则服务器将唯一订阅标识 作为属性存储在会话对象中(步骤310)。此后,该过程前进到步骤312。如果这不是新的会话,即,在步骤308中输出“否”,则服务器服务于这些请求(步 骤312)。服务器通过执行请求处理来服务于请求(步骤314)。另外,服务器发布针对特 定订阅消息收发话题的改变(步骤316)。此外,服务器复制会话对象以用于会话状态复制 (步骤318)。此后,该过程返回步骤314,在此,服务器继续服务请求。现在参考图4,示出了根据示范性实施方式的、示出用于故障服务器操作的示例性 过程。图4中所示过程可以实现在服务器(诸如,例如,图1中的服务器106)中。该过程开始于服务器检测到服务器集群中另一服务器(诸如,例如,图1中的服务 器104)的故障(步骤402)。在于步骤402中检测到另一服务器的故障之后,服务器停止处 理自己的订阅消息(步骤404)。继而,服务器打开故障服务器的订阅队列(步骤406)。另 夕卜,服务器向所有订户发布标记消息,其包括用于现在正为故障服务器的会话提供服务的 服务器的唯一订阅标识(步骤408)。而且,该标记消息在故障恢复发生的时刻以FIFO顺序 出现在服务器的订阅队列和故障服务器的订阅队列中。该服务器使用此标记消息来同步两 个服务器的订阅队列,如下所述。此后,服务器从故障服务器的订阅队列获取消息(步骤410)。继而,服务器确定该 消息是否是标记消息(步骤412)。如果该消息不是标记消息,即,步骤412输出“否”,则服 务器将该消息记录为“已读”(步骤414)。如在步骤414中记录了该消息之后,服务器对有 关会话执行处理(步骤416)。此后,该处理返回步骤410,在该处,服务器从故障服务器的 订阅队列获取另一消息。现在返回步骤412,如果该消息是标记消息,即,在步骤412输出“是”,则服务器关闭故障服务器的订阅队列(步骤418)。此后,服务器重新开始处理自己的订阅队列(步骤420)。在重新开始处理其订阅队列之后,服务器从其订阅队列获取消息(步骤422)。继而, 服务器确定该消息是否是标记消息(步骤424)。如果该消息是标记消息,即,在步骤424输 出“是”,则服务器重新开始正常处理(步骤426)。该过程随后终止。如果该消息不是标记消息,即,步骤424输出“否”,则服务器确定该消息之前是否 已读(步骤428)。如果该消息已读,即,步骤428输出“是”,则该过程返回步骤422,在该 处,服务器从其订阅队列获取另一消息。如果该消息未读,即,步骤428输出“否”,则服务器 对有关会话执行处理(步骤430)。此后,该过程再次返回步骤422。由此,示范性实施方式提供了一种计算机实现的方法、系统和计算机可用程序代 码,用于对利用会话亲缘性的发布-订阅分布式网络环境中的服务器故障恢复进行处理。 本发明可以采用全硬件实施方式、全软件实施方式或者包含硬件元素和软件元素二者的实 施方式的形式。在一个优选实施方式中,本发明实现在软件中,其包括但不限于固件、驻留 软件、微代码等。另外,本发明可以采用可从如下计算机可用或者计算机可读介质获取的计算机程 序产品的形式,该计算机可用或者计算机可读介质提供用于由计算机或者任何指令执行系 统使用或者与计算机或者任何指令执行系统结合使用的程序代码。出于本说明书的目的, 计算机可用或者计算机可读介质可以是任何可以包含、存储、传送、传播或者传输用于由指 令执行系统、装置或者设备使用或者与指令执行系统、装置或者设备结合使用的程序的装 置。介质可以是电、磁、光、电磁、红外线或者半导体系统(或者装置或者设备)或者传 播介质。计算机可读介质的例子包括半导体或者固态存储器、磁带、可拆卸计算机磁盘和随 机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的目前例子包括光盘-只读 存储器(CD-ROM)、光盘-读/写(CD-R/W)和DVD。此外,计算机存储介质可以包含或存储计算机可读程序代码,使得当该计算机可 读程序代码在计算机上执行时,此计算机可读程序代码的执行使得计算机通过通信链路传 输另一计算机可读程序代码。此通信链路可以使用例如而非限制的是物理或无线的介质。适于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接 地耦合到存储器元件的至少一个处理器。存储器元件可以包括在程序代码的实际执行期间 使用到的本地存储器、块存储器,以及提供至少某些程序代码临时存储以减少在执行中必 须从大容量存储器取回代码的次数的高速缓冲存储器。输入/输出设备或称I/O设备(包括但不限于键盘、显示器、指点设备等)可以直 接或通过居间I/O控制器耦合到系统。网络适配器也可以耦合到系统,以便通过中间私有或公共网络,使数据处理系统 耦合到其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太 网卡仅只是当前可用类型的网络适配器中的一些。出于示例和描述的目的,已经给出了本发明实施的描述,而该描述并非是穷举性 的也并非要将本发明限制到所公开的确切形式。对于本领域技术人员而言,很多修改和变 体是显而易见的。选择和描述这些实施例是为了最好地说明本发明的原理及其实际应用, 以使得本领域的其他技术人员能够理解用于具有适合于构思的特定用途的各种修改的各种实施方式的本发明.
权利要求
一种用于对服务器集群中的故障恢复进行管理的计算机实现的方法,所述计算机实现的方法包括响应于在分布式网络中的所述服务器集群中检测到故障服务器,停止故障恢复服务器的订阅消息处理;打开所述故障服务器的订阅队列;向特定消息收发话题的所有订户发布标记消息,其中所述标记消息包括现在正对所述故障服务器的订阅队列进行管理的所述故障恢复服务器的标识;处理所述故障服务器的订阅队列中的消息;确定所述故障服务器的订阅队列中的消息是否是所述标记消息;响应于确定所述故障服务器的订阅队列中的消息是所述标记消息,关闭所述故障服务器的订阅队列;以及重新开始所述故障恢复服务器的订阅消息处理。
2.如权利要求1所述的计算机实现的方法,进一步包括响应于确定所述故障服务器的订阅队列中的消息不是所述标记消息,将所述消息记录 为已读;以及对用于所述故障服务器的有关订阅会话执行处理。
3.如权利要求1或2所述的计算机实现的方法,进一步包括确定所述故障恢复服务器的订阅队列中的消息是否是所述标记消息;以及 响应于确定所述故障恢复服务器的订阅队列中的消息是所述标记消息,重新开始正常 操作。
4.如权利要求1、2或3所述的计算机实现的方法,进一步包括响应于确定所述故障恢复服务器的订阅队列中的消息不是所述标记消息并且所述消 息未读,对用于所述故障恢复服务器的有关订阅会话执行处理。
5.如权利要求1、2、3或4所述的计算机实现的方法,进一步包括 响应于服务器启动,生成用于所述服务器的唯一订阅标识;以及响应于创建新会话,将所述唯一订阅标识存储在所述新会话中,其中所述唯一订阅标 识在所述新会话的生命期持续存在于所述新会话中。
6.如权利要求5所述的计算机实现的方法,其中所述唯一订阅标识用于与订阅消息收 发话题进行连接。
7.如前述任一权利要求所述的计算机实现的方法,其中所述分布式网络是利用会话亲 缘性的分布式发布_订阅网络。
8.如权利要求3所述的计算机实现的方法,其中所述标记消息同时出现在所述故障服 务器的订阅队列中和所述故障恢复服务器的订阅队列中。
9.如权利要求3或8所述的计算机实现的方法,其中所述标记消息用于在所述故障恢 复服务器重新开始所述正常操作之前,将所述故障服务器的订阅队列与所述故障恢复服务 器的订阅队列同步。
10.一种用于对服务器集群中的故障恢复进行管理的数据处理系统,包括 总线系统;存储设备,其连接至所述总线系统,其中所述存储设备包括指令集;以及处理单元,其连接至所述总线系统,其中所述处理单元执行所述指令集以响应于在分布式网络中的所述服务器集群中检测到故障服务器,停止故障恢复服务器 的订阅消息处理;打开所述故障服务器的订阅队列;向特定消息收发话题的所有订户发布 标记消息,其中所述标记消息包括现在正对所述故障服务器的订阅队列进行管理的所述故 障恢复服务器的标识;处理所述故障服务器的订阅队列中的消息;确定所述故障服务器的 订阅队列中的消息是否是所述标记消息;响应于确定所述故障服务器的订阅队列中的消息 是所述标记消息,关闭所述故障服务器的订阅队列;以及重新开始所述故障恢复服务器的 订阅消息处理。
11.如权利要求10所述的数据处理系统,其中所述处理单元执行另一指令集,以响应 于确定所述故障服务器的订阅队列中的消息不是所述标记消息,将所述消息记录为已读; 以及对用于所述故障服务器的有关订阅会话执行处理。
12.如权利要求10或11所述的数据处理系统,其中所述处理单元执行又一指令集,以 确定所述故障恢复服务器的订阅队列中的消息是否是所述标记消息;以及响应于确定所述 故障恢复服务器的订阅队列中的消息是所述标记消息,重新开始正常操作。
13.如权利要求10、11或12所述的数据处理系统,进一步包括用于响应于确定所述故障恢复服务器的订阅队列中的消息不是所述标记消息并且所 述消息未读,对用于所述故障恢复服务器的有关订阅会话执行处理的装置。
14.如权利要求10、11、12或13所述的数据处理系统,进一步包括用于响应于服务器启动,生成用于所述服务器的唯一订阅标识的装置;以及用于响应于创建新会话,将所述唯一订阅标识存储在所述新会话中的装置,其中所述 唯一订阅标识在所述新会话的生命期持续存在于所述新会话中。
15.如权利要求14所述的数据处理系统,其中所述唯一订阅标识用于与订阅消息收发 话题进行连接。
16.如权利要求10-15中任一所述的数据处理系统,其中所述分布式网络是利用会话 亲缘性的分布式发布_订阅网络。
17.如权利要求12所述的数据处理系统,其中所述标记消息同时出现在所述故障服务 器的订阅队列中和所述故障恢复服务器的订阅队列中。
18.如权利要求12或17所述的数据处理系统,其中所述标记消息用于在所述故障恢复 服务器重新开始所述正常操作之前,将所述故障服务器的订阅队列与所述故障恢复服务器 的订阅队列同步。
19.一种用于对服务器集群中的故障恢复进行管理的计算机程序产品,所述计算机程 序产品包括计算机可用介质,其中包含计算机可用程序代码,所述计算机可用介质包括配置用于响应于在分布式网络中的所述服务器集群中检测到故障服务器,停止故障恢 复服务器的订阅消息处理的计算机可用程序代码;配置用于打开所述故障服务器的订阅队列的计算机可用程序代码;配置用于向特定消息收发话题的所有订户发布标记消息的计算机可用程序代码,其中 所述标记消息包括现在正对所述故障服务器的订阅队列进行管理的所述故障恢复服务器 的标识;配置用于处理所述故障服务器的订阅队列中的消息的计算机可用程序代码;配置用于确定所述故障服务器的订阅队列中的消息是否是所述标记消息的计算机可 用程序代码;配置用于响应于确定所述故障服务器的订阅队列中的消息是所述标记消息,关闭所述 故障服务器的订阅队列的计算机可用程序代码;以及配置用于重新开始所述故障恢复服务器的订阅消息处理的计算机可用程序代码。
20.如权利要求19所述的计算机程序产品,进一步包括配置用于响应于确定所述故障服务器的订阅队列中的消息不是所述标记消息,将所述 消息记录为已读的计算机可用程序代码;以及配置用于对用于所述故障服务器的有关订阅会话执行处理的计算机可用程序代码。
21.如权利要求19或20所述的计算机程序产品,进一步包括配置用于确定所述故障恢复服务器的订阅队列中的消息是否是所述标记消息的计算 机可用程序代码;以及配置用于响应于确定所述故障恢复服务器的订阅队列中的消息是所述标记消息,重新 开始正常操作的计算机可用程序代码。
22.如权利要求19、20或21所述的计算机程序产品,进一步包括配置用于响应于确定所述故障恢复服务器的订阅队列中的消息不是所述标记消息并 且所述消息未读,对用于所述故障恢复服务器的有关订阅会话执行处理的计算机可用程序 代码。
23.如权利要求19、20、21或22所述的计算机程序产品,进一步包括配置用于响应于服务器启动,生成用于所述服务器的唯一订阅标识的计算机可用程序 代码;以及配置用于响应于创建新会话,将所述唯一订阅标识存储在所述新会话中的计算机可用 程序代码,其中所述唯一订阅标识在所述新会话的生命期持续存在于所述新会话中。
24.如权利要求23所述的计算机程序产品,其中所述唯一订阅标识用于与订阅消息收 发话题进行连接。
25.如权利要求19-24中任一所述的计算机程序产品,其中所述分布式网络是利用会 话亲缘性的分布式发布_订阅网络。
26.如权利要求21所述的计算机程序产品,其中所述标记消息同时出现在所述故障服 务器的订阅队列中和所述故障恢复服务器的订阅队列中。
27.如权利要求21或26所述的计算机程序产品,其中所述标记消息用于在所述故障恢 复服务器重新开始所述正常操作之前,将所述故障服务器的订阅队列与所述故障恢复服务 器的订阅队列同步。
28.一种计算机程序,其包括程序代码装置,当所述程序在计算机上运行时,其适用于 执行权利要求1-9中任一所述的方法。
全文摘要
一种用于对服务器集群中的故障恢复进行管理的系统。响应于检测到故障服务器,停止故障恢复服务器的订阅消息处理。打开故障服务器的订阅队列。向特定消息收发话题的所有订户发布标记消息。该标记消息包括对故障服务器的订阅队列进行管理的故障恢复服务器的标识。处理故障服务器的订阅队列中的消息。响应于确定故障服务器的订阅队列中的消息是标记消息,关闭故障服务器的订阅队列。继而,故障恢复服务器重新开始其原始订阅队列的处理,在处理来自该队列的未读消息的同时,查找标记消息。一旦在原始订阅队列中找到标记消息,便恢复正常操作。
文档编号G06F15/16GK101821993SQ200880111597
公开日2010年9月1日 申请日期2008年10月15日 优先权日2007年10月15日
发明者A·W·小韦罗贝尔, B·K-Y·陈, M·D·吉尔莫尔, M·吉尔费克斯, O·塔尔-阿维维, V·莫尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1