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

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

Info

Publication number
CN101821993A
CN101821993A CN200880111597A CN200880111597A CN101821993A CN 101821993 A CN101821993 A CN 101821993A CN 200880111597 A CN200880111597 A CN 200880111597A CN 200880111597 A CN200880111597 A CN 200880111597A CN 101821993 A CN101821993 A CN 101821993A
Authority
CN
China
Prior art keywords
message
server
subscription
fault recovery
queue
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.)
Granted
Application number
CN200880111597A
Other languages
English (en)
Other versions
CN101821993B (zh
Inventor
M·吉尔费克斯
V·莫尔
A·W·小韦罗贝尔
B·K-Y·陈
M·D·吉尔莫尔
O·塔尔-阿维维
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.)
International Business Machines Corp
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
Publication of CN101821993A publication Critical patent/CN101821993A/zh
Application granted granted Critical
Publication of CN101821993B publication Critical patent/CN101821993B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种用于对服务器集群中的故障恢复进行管理的系统。响应于检测到故障服务器,停止故障恢复服务器的订阅消息处理。打开故障服务器的订阅队列。向特定消息收发话题的所有订户发布标记消息。该标记消息包括对故障服务器的订阅队列进行管理的故障恢复服务器的标识。处理故障服务器的订阅队列中的消息。响应于确定故障服务器的订阅队列中的消息是标记消息,关闭故障服务器的订阅队列。继而,故障恢复服务器重新开始其原始订阅队列的处理,在处理来自该队列的未读消息的同时,查找标记消息。一旦在原始订阅队列中找到标记消息,便恢复正常操作。

Description

对使用会话亲缘性的分布式环境中的故障恢复进行处理的方法和系统
技术领域
本发明总体上涉及改进的数据处理系统。更具体地,本发明涉及用于对利用会话亲缘性(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提供发-订网络服务。该发-订网络支持向特定消息话题发布消息。话题代表多个订户感兴趣的主题。典型地,消息在发布过程期间被指派给话题,并继而由已经订阅了该特定话题的所有客户接收。零个或多个订户客户端可以登记针对就特定消息话题接收消息的兴趣。
订阅被配置,使得该订阅是持久不变的。订阅指示客户接收某个事件类别的兴趣。消息收发服务环境(诸如,例如,JavaTM消息收发服务(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和CD-ROM 230例如可以使用集成设备电子元件(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可以耦合到接口和I/O控制器hub 204。
操作系统在处理单元206上运行,其协调和提供对图2中数据处理系统200内各种组件的控制。操作系统可以是商业上可用的操作系统,诸如
Figure GPA00001096844000061
Windows VistaTM。Microsoft和Windows Vista是微软公司在美国、其他国家或者说在世界范围内的商标。面向对象的编程系统,诸如JavaTM编程系统,可以与操作系统一起运行,其根据在数据处理系统200上执行的JavaTM程序或应用而提供对操作系统的调用。JavaTM和所有基于JavaTM的商标是Sun微系统公司在美国、其他国家或者说在世界范围内的商标。
用于操作系统、面向对象的编程系统以及应用或程序的指令位于诸如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控制器耦合到系统。
网络适配器也可以耦合到系统,以便通过中间私有或公共网络,使数据处理系统耦合到其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅只是当前可用类型的网络适配器中的一些。
出于示例和描述的目的,已经给出了本发明实施的描述,而该描述并非是穷举性的也并非要将本发明限制到所公开的确切形式。对于本领域技术人员而言,很多修改和变体是显而易见的。选择和描述这些实施例是为了最好地说明本发明的原理及其实际应用,以使得本领域的其他技术人员能够理解用于具有适合于构思的特定用途的各种修改的各种实施方式的本发明。

Claims (28)

1.一种用于对服务器集群中的故障恢复进行管理的计算机实现的方法,所述计算机实现的方法包括:
响应于在分布式网络中的所述服务器集群中检测到故障服务器,停止故障恢复服务器的订阅消息处理;
打开所述故障服务器的订阅队列;
向特定消息收发话题的所有订户发布标记消息,其中所述标记消息包括现在正对所述故障服务器的订阅队列进行管理的所述故障恢复服务器的标识;
处理所述故障服务器的订阅队列中的消息;
确定所述故障服务器的订阅队列中的消息是否是所述标记消息;
响应于确定所述故障服务器的订阅队列中的消息是所述标记消息,关闭所述故障服务器的订阅队列;以及
重新开始所述故障恢复服务器的订阅消息处理。
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中任一所述的方法。
CN200880111597XA 2007-10-15 2008-10-15 故障恢复进行处理的方法和系统 Expired - Fee Related CN101821993B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/872,235 US7793140B2 (en) 2007-10-15 2007-10-15 Method and system for handling failover in a distributed environment that uses session affinity
US11/872,235 2007-10-15
PCT/EP2008/063850 WO2009050187A1 (en) 2007-10-15 2008-10-15 Method and system for handling failover in a distributed environment that uses session affinity

Publications (2)

Publication Number Publication Date
CN101821993A true CN101821993A (zh) 2010-09-01
CN101821993B CN101821993B (zh) 2013-01-16

Family

ID=40229881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880111597XA Expired - Fee Related CN101821993B (zh) 2007-10-15 2008-10-15 故障恢复进行处理的方法和系统

Country Status (8)

Country Link
US (1) US7793140B2 (zh)
EP (1) EP2215773B1 (zh)
JP (1) JP4900982B2 (zh)
KR (1) KR20100080786A (zh)
CN (1) CN101821993B (zh)
AT (1) ATE496454T1 (zh)
DE (1) DE602008004674D1 (zh)
WO (1) WO2009050187A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105593817A (zh) * 2013-05-20 2016-05-18 派克赛泽有限责任公司 本地或分布式计算机系统上的柔性节点组成的方法和系统
CN105677792A (zh) * 2015-12-31 2016-06-15 南京邮电大学 一种基于重用距离的数据亲缘性分析方法
CN110278109A (zh) * 2019-05-21 2019-09-24 阿里巴巴集团控股有限公司 一种容灾方法及系统
CN117370066A (zh) * 2023-12-08 2024-01-09 杭州沃趣科技股份有限公司 一种服务器集群的恢复方法、装置、设备及存储介质

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7847174B2 (en) * 2005-10-19 2010-12-07 Yamaha Corporation Tone generation system controlling the music system
US7631214B2 (en) * 2007-05-31 2009-12-08 International Business Machines Corporation Failover processing in multi-tier distributed data-handling systems
JP4549408B2 (ja) * 2008-06-24 2010-09-22 富士通株式会社 ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置
CN102035862B (zh) * 2009-09-30 2013-11-06 国际商业机器公司 Svc集群中配置节点的故障移交方法和系统
US8700698B2 (en) 2010-05-04 2014-04-15 Microsoft Corporation Scalable affinitized state management
US8589732B2 (en) * 2010-10-25 2013-11-19 Microsoft Corporation Consistent messaging with replication
WO2012106726A1 (en) 2011-02-04 2012-08-09 Nextplane Method and system for federation of proxy-based and proxy-free communications systems
US9203799B2 (en) 2011-03-31 2015-12-01 NextPlane, Inc. Method and system for advanced alias domain routing
US9716619B2 (en) 2011-03-31 2017-07-25 NextPlane, Inc. System and method of processing media traffic for a hub-based system federating disparate unified communications systems
US20140040404A1 (en) * 2011-03-31 2014-02-06 NextPlane, Inc. System and method for federating chat rooms across disparate unified communications systems
US8639965B1 (en) * 2011-07-20 2014-01-28 Cellco Partnership Client based high availability method for message delivery
US8849977B2 (en) 2012-03-09 2014-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and a control node in an overlay network
US9071631B2 (en) 2012-08-09 2015-06-30 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US9678801B2 (en) 2012-08-09 2017-06-13 International Business Machines Corporation Service management modes of operation in distributed node service management
US9705840B2 (en) 2013-06-03 2017-07-11 NextPlane, Inc. Automation platform for hub-based system federating disparate unified communications systems
US9819636B2 (en) 2013-06-10 2017-11-14 NextPlane, Inc. User directory system for a hub-based system federating disparate unified communications systems
US9519509B2 (en) 2014-10-21 2016-12-13 Oracle International Corporation System and method for supporting transaction affinity based request handling in a middleware environment
US10171288B2 (en) * 2015-12-18 2019-01-01 International Business Machines Corporation Diagnosing faults in stateless distributed computing platforms
CN108701096B (zh) * 2016-02-18 2021-06-08 日本电气株式会社 通信系统、边缘服务器、方法和存储介质
US10394670B2 (en) 2017-06-02 2019-08-27 Verizon Patent And Licensing Inc. High availability and disaster recovery system architecture
EP3830710A4 (en) * 2018-08-02 2022-04-20 Synadia Communications, Inc. SYSTEM AND METHOD FOR A DISTRIBUTED COMPUTING CLUSTER ARCHITECTURE
CN111147534B (zh) * 2018-11-05 2022-12-16 中兴通讯股份有限公司 一种微服务架构下的通信方法及系统
CN110247808B (zh) * 2019-06-27 2024-04-09 深圳前海微众银行股份有限公司 信息发送方法、装置、设备及可读存储介质
CN110401592B (zh) * 2019-07-30 2022-03-04 三体云智能科技有限公司 一种消息通道中数据流转的方法及设备
CN114422335A (zh) * 2021-12-31 2022-04-29 长园深瑞继保自动化有限公司 通信方法、装置、服务器及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6581088B1 (en) * 1998-11-05 2003-06-17 Beas Systems, Inc. Smart stub or enterprise javaTM bean in a distributed processing system
US6236999B1 (en) * 1998-11-05 2001-05-22 Bea Systems, Inc. Duplicated naming service in a distributed processing system
US6571274B1 (en) * 1998-11-05 2003-05-27 Beas Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
US6298455B1 (en) * 1998-12-29 2001-10-02 International Business Machines Corporation Publish and subscribe data processing with failover using cascaded sequence numbers
US6742136B2 (en) * 2000-12-05 2004-05-25 Fisher-Rosemount Systems Inc. Redundant devices in a process control system
US6886041B2 (en) * 2001-10-05 2005-04-26 Bea Systems, Inc. System for application server messaging with multiple dispatch pools
US7107497B2 (en) * 2002-09-30 2006-09-12 Sun Microsystems, Inc. Method and system for event publication and subscription with an event channel from user level and kernel level
US7308502B2 (en) 2002-12-20 2007-12-11 Hewlett-Packard Development Company, L.P. Method and architecture to provide client session failover
US7613822B2 (en) * 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US6996502B2 (en) * 2004-01-20 2006-02-07 International Business Machines Corporation Remote enterprise management of high availability systems
GB0405595D0 (en) * 2004-03-12 2004-04-21 Ibm Method and system for affinity management
JP3909062B2 (ja) * 2004-03-25 2007-04-25 株式会社日立製作所 Nasの制御装置及びバックアップ方法並びにプログラム
JP2005301442A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd ストレージ装置
US7886180B2 (en) * 2004-05-14 2011-02-08 International Business Machines Corporation Recovery in a distributed stateful publish-subscribe system
US9112831B2 (en) * 2004-07-28 2015-08-18 International Business Machines Corporation Scalable infrastructure for handling light weight message protocols
ZA200506983B (en) * 2004-10-01 2007-04-25 Microsoft Corp System and method for determining target tailback and target priority for a distributed file system
US7822801B2 (en) * 2004-10-14 2010-10-26 International Business Machines Corporation Subscription propagation in a high performance highly available content-based publish/subscribe system
US20060129684A1 (en) * 2004-11-10 2006-06-15 Chutney Technologies, Inc. Apparatus and method for distributing requests across a cluster of application servers
US8451713B2 (en) * 2005-04-12 2013-05-28 Fujitsu Limited Special marker message for link aggregation marker protocol
US7639614B2 (en) * 2005-04-12 2009-12-29 Fujitsu Limited Distribution-tuning mechanism for link aggregation group management
US7693050B2 (en) * 2005-04-14 2010-04-06 Microsoft Corporation Stateless, affinity-preserving load balancing
JP4856949B2 (ja) * 2005-12-28 2012-01-18 株式会社野村総合研究所 フェイルオーバ方法、フェイルオーバプログラム、および、クラスタシステム
GB0606226D0 (en) * 2006-03-29 2006-05-10 Ibm A method for resolving a unit of work
US9473316B2 (en) * 2006-10-17 2016-10-18 International Business Machines Corporation Resource consumption reduction via meeting affinity

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105593817A (zh) * 2013-05-20 2016-05-18 派克赛泽有限责任公司 本地或分布式计算机系统上的柔性节点组成的方法和系统
US10491687B2 (en) 2013-05-20 2019-11-26 Packsize Llc Method and system for flexible node composition on local or distributed computer systems
CN105677792A (zh) * 2015-12-31 2016-06-15 南京邮电大学 一种基于重用距离的数据亲缘性分析方法
CN105677792B (zh) * 2015-12-31 2019-04-19 南京邮电大学 一种基于重用距离的数据亲缘性分析方法
CN110278109A (zh) * 2019-05-21 2019-09-24 阿里巴巴集团控股有限公司 一种容灾方法及系统
CN110278109B (zh) * 2019-05-21 2022-02-01 创新先进技术有限公司 一种容灾方法及系统
CN117370066A (zh) * 2023-12-08 2024-01-09 杭州沃趣科技股份有限公司 一种服务器集群的恢复方法、装置、设备及存储介质
CN117370066B (zh) * 2023-12-08 2024-03-15 杭州沃趣科技股份有限公司 一种服务器集群的恢复方法、装置、设备及存储介质

Also Published As

Publication number Publication date
ATE496454T1 (de) 2011-02-15
DE602008004674D1 (de) 2011-03-03
CN101821993B (zh) 2013-01-16
EP2215773A1 (en) 2010-08-11
WO2009050187A1 (en) 2009-04-23
JP2011501254A (ja) 2011-01-06
EP2215773B1 (en) 2011-01-19
KR20100080786A (ko) 2010-07-12
US7793140B2 (en) 2010-09-07
JP4900982B2 (ja) 2012-03-21
US20090100289A1 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
CN101821993B (zh) 故障恢复进行处理的方法和系统
US9794365B2 (en) Re-establishing push notification channels via user identifiers
TWI337715B (en) Method and system for complex event processing
US8260913B2 (en) Reading a file from a cloud storage solution
US8301653B2 (en) System and method for capturing and reporting online sessions
JP5476316B2 (ja) ソフトウェア・コンポーネントの再開可能なプロビジョニングのためのシステムおよび方法
US9774582B2 (en) Private cloud connected device cluster architecture
US20060212518A1 (en) Copying chat data from a chat session already active
TW200809664A (en) Method an apparatus for middleware assisted system integration in a federated environment
CN101689169B (zh) 分布式操作系统中外部硬件装置的管理
CN1528079A (zh) 用于对等服务的方法和装备
KR102042230B1 (ko) 로컬 데이터와 원격 데이터의 동기화 기법
KR20110102881A (ko) 대체 메일박스들의 자동 검색
US8296367B2 (en) Synchronizing shared files during communication sessions
CN111427701A (zh) 一种工作流引擎系统和业务处理方法
US20070169012A1 (en) Asynchronous just-in-time compilation
US11811894B2 (en) Reduction of data transmissions based on end-user context
US7581227B1 (en) Systems and methods of synchronizing indexes
US7739592B2 (en) Delivery, organization, and management of data capture elements
US11687523B2 (en) System and method for efficiently transferring data for offline use
US8566280B2 (en) Grid based replication
CN116134428A (zh) 在分布式计算系统中的交互信号处理
CN111090485B (zh) 面向多集群的帮助数据处理方法及装置、介质和设备
Harrison Architecture patterns of web services applications
TWM467110U (zh) 私有雲端群組分享系統

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130116

Termination date: 20181015

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