CN114443231A - 用于事务处理系统的资源管理器 - Google Patents

用于事务处理系统的资源管理器 Download PDF

Info

Publication number
CN114443231A
CN114443231A CN202111143906.5A CN202111143906A CN114443231A CN 114443231 A CN114443231 A CN 114443231A CN 202111143906 A CN202111143906 A CN 202111143906A CN 114443231 A CN114443231 A CN 114443231A
Authority
CN
China
Prior art keywords
tps
group
computer
transaction
members
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.)
Pending
Application number
CN202111143906.5A
Other languages
English (en)
Inventor
袁九秋
J·L·麦迪克斯
E·B·哈尔克罗姆比
李知方
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 CN114443231A publication Critical patent/CN114443231A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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
    • 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/2048Error 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 where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade

Abstract

资源管理器(RM)实例与事务处理系统(TPS)组的每个TPS成员相关联。每个RM实例监视相关联的TPS成员的性能。如果TPS成员由于任何原因变得不可用(发生故障的TPS),则相关联的RM实例将发生故障的TPS的状态广播给与该组的“继续存在的”成员相关联的RM。与继续存在的成员相关联的RM实例发起一系列动作,这些动作减少由继续存在的TPS成员使用的资源。因此,继续存在的TPS成员能够更好地处理由于发生故障的TPS的不可用性而施加在它们上的附加工作负荷。一旦使发生故障的TPS恢复在线并且再次可用(或者使替换TPS在线),则与继续存在的成员相关联的RM实例执行动作以撤销资源使用减少任务,并且TPS组返回到标称配置。

Description

用于事务处理系统的资源管理器
背景技术
本发明一般涉及事务处理领域,并且尤其涉及对受约束资源事件 的事务处理系统响应。
事务处理系统(TPS)接收事务请求并且近乎实时地处理这些请 求。事务可以涉及银行、信用卡/借记卡、数据库和/或票务销售事务, 这里仅举几个例子。TPS可以包括许多单独的系统,这些系统成组工 作以在响应时间规范内处理大量输入事务请求。TPS的特征包括持续 可用性、数据完整性,即使一些TPS组件发生故障,以及随着工作负 荷变化而扩展或收缩的能力。
发明内容
根据本发明的一个方面,存在一种方法、计算机程序产品和/或系 统,其执行以下操作(不一定按照以下顺序):(i)确定事务处理系 统(TPS)组的第一TPS成员的第一状态为“不可用”;(ii)响应 于确定第一TPS成员的第一状态,向TPS成员组中的第二TPS成员 广播第一消息,其中第一消息包括关于第一TPS成员的第一状态的信 息;以及(iii)响应于接收到第一消息,由第二TPS成员实现资源使 用减少动作。
附图说明
图1是根据本发明的至少一个实施例的系统的框图;
图2是示出了至少部分地根据本发明的至少一个实施例的执行的 方法的流程图;
图3是示出根据本发明的至少一个实施例的系统的机器逻辑(例 如,软件)部分的框图;
图4是根据本发明至少一个实施例的事务处理系统的框图;
图5A是示出了至少部分地根据本发明的至少一个实施例的执行 的方法的流程图;
图5B是示出了至少部分地根据本发明的至少一个实施例的执行 的方法的流程图;
图5C是示出了至少部分地根据本发明的至少一个实施例的执行 的方法的流程图;
图5D是示出了至少部分地根据本发明的至少一个实施例的执行 的方法的流程图;以及
图5E是示出了至少部分地根据本发明的至少一个实施例的执行 的方法的流程图。
具体实施方式
本发明的一些实施例向事务处理系统(TPS)添加资源管理器(RM) 组件。更具体地,RM的实例由TPS组的每个TPS成员来托管。每个 RM实例监视托管TPS的性能。如果TPS成员出现故障,或者变得不 可用于处理进入的事务,则由发生故障的TPS托管的RM实例向TPS组的其他(继续存在的)成员广播发生故障的TPS的状态。由TPS 组的继续存在的成员托管的RM实例发起一系列动作,这些动作减少 了由分别相对应的继续存在的成员使用的资源,使得继续存在的成员 能够更好地处理由于发生故障的TPS的不可用性而施加在它们上的附加工作负荷。一旦发生故障的TPS(或替换TPS)被恢复在线并且 再次可用,由TPS组的继续存在的成员托管的RM实例就执行动作以 撤销资源使用减少任务,并且TPS组返回到标称配置。
该具体实施方式部分被分成以下子部分:(i)硬件和软件环境; (ii)示例实施例;(iii)进一步的评论和/或实施例;以及(iv)定 义。
I.硬件和软件环境
本发明可以是任何可能的技术细节集成水平处的系统、方法和/ 或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程 序指令的计算机可读存储介质(或多个介质),该计算机可读程序指 令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使 用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子 存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设 备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非 穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、 只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、 静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、 数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔 卡或凹槽中的凸起结构的机械编码设备,以及上述的任何适当组合。 如本文使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如 无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的 电磁波(例如,通过光纤线缆的光脉冲),或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下 载到相应的计算/处理设备,或者经由网络,例如互联网、局域网、广 域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包 括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、 网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或 网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序 指令以用于在相应计算/处理设备内的计算机可读存储介质中存储。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、 指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件 指令、状态设置数据、用于集成电路的配置数据,或者以一种或多种 编程语言(包括面向对象的编程语言,诸如Smalltalk、C++,等等) 和过程编程语言(诸如“C”编程语言或类似的编程语言)的任意组 合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的 计算机上执行,部分地在用户的计算机上执行,作为独立的软件包执 行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者 完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可 以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或 广域网(WAN),或者可以连接到外部计算机(例如,使用互联网 服务提供商通过互联网)。在一些实施例中,为了执行本发明的各方 面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编 程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的 状态信息来执行计算机可读程序指令以使电子电路个性化。
本文参考根据本发明实施例的方法、装置(系统)和计算机程序 产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或 框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读 程序指令来实现。
这些计算机可读程序指令可以被提供给计算机或其他可编程数 据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据 处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个 或多个框中指定的功能/动作的部件。这些计算机可读程序指令还可以 存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理 装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可 读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个 框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处 理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备 上执行一系列操作性步骤,以产生计算机实现的过程,使得在计算机、 其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一 个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、 方法和计算机程序产品的可能实现的架构、功能和操作。在这点上, 流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用 于实现指定的(多个)逻辑功能的一个或多个可执行指令。在一些备 选实施方案中,框中所注明的功能可以不按图中所注明的次序发生。 例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基 本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以 相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程 图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行 指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于 硬件的系统来实现。
现在将参考附图详细描述根据本发明的软件和/或方法的可能的 硬件和软件环境的实施例。图1是示出了联网计算机系统100的各个 部分的功能框图,包括:存储子系统102;客户端计算机104,事务 处理系统(TPS)106;通信网络114;资源管理器(RM)服务器计算机200;通信单元202;处理器集204;输入/输出(I/O)接口集206; 存储器208;持久性存储器210;显示器212;外部设备214;随机存 取存储器(RAM)230;高速缓存232;以及资源管理器(RM)300。
存储子系统102在许多方面代表本发明中的各种计算机子系统。 因此,现在将在以下段落中讨论存储子系统102的若干部分。
存储子系统102可以是膝上型计算机、平板计算机、上网本计算 机、个人计算机(PC)、台式计算机、个人数字助理(PDA)、智能 电话,或能够经由通信网络114与客户端子系统通信的任何可编程电 子设备。RM 300是用于创建、管理和控制某些软件功能的机器可读指令和/或数据的集合,这些软件功能将在以下该具体实施方式部分的 示例性实施例子部分中详细讨论。
存储子系统102能够通过通信网络114与其它计算机子系统通信。 例如,通信网络114可以是局域网(LAN),诸如互联网的广域网 (WAN),或两者的组合,并且可包括有线、无线、或光纤连接。 通常,通信网络114可以是支持服务器和客户端子系统之间的通信的 连接和协议的任意组合。
存储子系统102被示出为具有许多双箭头的框图。这些双箭头(没 有单独的附图标记)表示通信结构,其提供存储子系统102的各种组 件之间的通信。该通信结构可以用被设计用于在处理器(诸如微处理 器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何 其它硬件组件之间传递数据和/或控制信息的任何架构来实现。例如, 通信结构可以至少部分地利用一个或多个总线来实现。
存储器208和持久性存储装置210是计算机可读存储介质。通常, 存储器208可以包括任何合适的易失性或非易失性计算机可读存储介 质。还应注意,现在和/或不久的将来:(i)外部设备214能够针对 存储子系统102供给一些或全部存储器;和/或(ii)存储子系统102 外部的设备能够针对存储子系统102提供存储器。
RM 300被存储在持久性存储装置210中,以用于由一个或多个 相应的计算机处理器集204的、通常通过存储器208的一个或多个存 储器来访问和/或执行。持久性存储装置210:(i)至少比传输中的 信号更持久;(ii)将程序(包括其软逻辑和/或数据)存储在有形介 质(诸如,磁或光域)上;以及(iii)比持久性存储装置的持久性基 本上低。备选地,数据存储装置可以比持久性存储装置210提供的存 储装置类型更持久和/或永久。
RM 300可以包括机器可读且可执行的指令和/或实质数据(即, 存储在数据库中的数据的类型)。在该特定实施例中,持久性存储装 置210包括磁硬盘驱动器。举一些可能的变化,持久性存储装置210 可以包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、 可擦除可编程只读存储器(EPROM)、闪存或能够存储程序指令或 数字信息的任何其它计算机可读存储介质。
持久性存储装置210所使用的介质也可以是可移除的。例如,可 移除硬盘驱动器可以用于持久性存储装置210。其它示例包括光盘和 磁盘、拇指驱动器和智能卡,它们被插入到驱动器中用于传递到也是 持久性存储装置210的一部分的另一计算机可读存储介质上。
在这些示例中,通信单元202提供与其它数据处理系统或存储子 系统102外部的设备的通信。在这些示例中,通信单元202包括一个 或多个网络接口卡。通信单元202可以通过使用物理和无线通信链路 中的一种或两者来提供通信。本文所讨论的任何软件模块可以通过通 信单元(诸如,通信单元202)下载到持久性存储设备(诸如,持久 存储设备210)。
I/O接口集206允许与其他设备的数据的输入和输出,这些设备 可以与服务器计算机200在数据通信中本地连接。例如,I/O接口集 206提供到外部设备214的连接。外部设备214可以包括诸如键盘、 小键盘、触摸屏和/或一些其它合适的输入设备的设备。外部设备214 还可以包括便携式计算机可读存储介质,诸如拇指驱动器、便携式光 盘或磁盘、以及存储卡。用于实现本发明实施例的软件和数据,例如 RM 300,可以存储在这种便携式计算机可读存储介质上。在这些实施 例中,相关软件可以(或者可以不)经由I/O接口集206全部或部分 地加载到持久性存储装置210上。I/O接口集206还利用数据通信与 显示设备212连接。
显示设备212提供向用户显示数据的机制,并且可以是例如计算 机监视器或智能电话显示屏。
本文描述的程序是基于在本发明的特定实施例中实现它们的应 用而被标识的。然而,应当理解,这里的任何特定程序术语仅是为了 方便而使用,因此,本发明不应当限于仅在由这样的术语标识和/或暗 示的任何特定应用中使用。
已经出于说明的目的给出了本发明的各种实施例的描述,但是其 不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的 范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将 是明显的。选择本文所使用的术语以最好地解释实施例的原理、实际 应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能 够理解本文所公开的实施例。
II.示例实施例
图2示出了描述根据本发明的方法的流程图250。图3示出了用 于执行流程图250的方法操作中的至少一些方法操作的资源管理器(RM)300。现在将在以下段落的过程中,并且广泛参考图2(用于 方法操作块)和图3(用于软件块)来讨论该方法和相关联的软件。
处理开始于操作S255,其中资源管理器(RM 300)的守护模块 302确定与RM 300相关联的第一事务处理系统(第一TPS)成员的 状态为“不可用”。第一TPS是协同工作以处置输入事务请求的TPS 成员组中的成员。在一些实施例中,RM 300由第一TPS托管,并且 该组的每个TPS成员托管RM 300的单独实例。备选地,在一些实施 例中,RM 300的一个或多个实例驻留在相关联的TPS成员之外(例 如,在单独的计算机硬件上),使得如果TPS成员发生故障,则RM 300将能够继续操作,并且不受TPS故障的影响。
RM 300针对影响第一TPS成员处理事务请求的可用性的条件来 监视第一TPS成员,所述事务请求包括传入请求和已经在进行中的那 些请求。RM 300通过观察与第一TPS成员的性能和/或可用性相关联 的一个或多个特性来监视第一TPS成员。示例特性包括:进入事务的 速率,其中速率的突然和/或意外下降可以指示网络故障;处理事务的 时间,其中例如处理事务的异常长的时间可以指示中央处理单元CPU 由于温度问题而节流;CPU时钟频率;错误发生的频率、数目和/或 速率;CPU利用率;存储器读取和/或写入时延,或与存储器访问相 关联的任何其他度量;存储装置读取和/或写入时延,或与存储装置存 取相关联的任何其它度量;和/或网络通信状态等,这里仅举几个特性。
可以影响TPS成员可用性的条件的示例包括(但不限于):网络 故障或中断;硬件故障(诸如处理器、存储装置或存储器设备,或电 源中断等);软件故障(诸如操作系统、虚拟机或应用崩溃);和/ 或由于计算、存储器和/或存储资源的耗尽等而导致TPS故障的过多工作负荷。
守护模块302还监控由第一TPS或RM 300接收的通知消息,其 中该通知指示该组的其他TPS成员的状态(可用、不可用,等等)。
处理在操作S260处继续,其中响应于确定第一TPS已经变得不 可用,RM 300的广播模块304向TPS组的所有其他成员(包括第二TPS成员)发送通知。该通知包括关于第一TPS成员的故障的信息。
备选地,在一些实施例中,手动或自动生成的命令引导广播模块 304向TPS组的成员发送通知,引导成员进入“约束”模式。虽然不 响应于TPS成员故障,但是可以发布这样的命令,以便更好地使得 TPS组能够处置特别重的工作负荷,诸如可以在某些“繁忙”时间周期性地发生。这种资源消耗减少动作可以使得TPS系统能够处置繁忙 时间,而不需要带来更多的TPS处理资源。
处理在操作265处继续,其中响应于接收该通知,与第二TPS成 员相关联的RM 300的约束模块306实现减少由第二TPS成员的资源 使用的动作(和/或使得第二TPS成员实现动作)。换句话说,约束 模块306使第二TPS成员重新配置为“约束模式”,并且从而消耗更少的资源。
一旦处于“约束模式”,第二TPS成员就通过采取至少以下动作 来减少资源消耗:使事务实例块(TIB)更轻,以使用更少的存储器; 实现延迟因子以帮助控制事务流;禁用诊断跟踪;禁用TPS转储(至 少对于非终止问题);以及以更高的频率取消空闲事务。
处理在操作270处继续,其中RM 300的守护模块302确定第一 TPS状态已经返回到“可用”。
备选地,在一些实施例中,RM 300的守护模块302确定新的TPS 成员已经被添加到TPS组,并且新的TPS成员的状态是“可用”, 从而替换第一TPS成员。
处理在操作S272处继续,其中响应于确定第一TPS状态已经返 回到“可用”(或者新的TPS成员在TPS组中变得可用),RM 300 的广播模块304向TPS组的所有其他成员(包括第二TPS成员)发 送通知。该通知包括关于第一TPS成员返回到可用性(或替换)的信 息。
处理在操作280处继续,其中响应于接收该通知,与第二TPS成 员相关联的RM 300的约束模块306倒转(撤销)在以上操作S265 中实现的动作,并且从而使第二TPS成员返回到标准处理配置。
III.进一步的评论和实施例
一种事务处理系统(TPS)包括多个作为一组的工作的物理系统, 以实时地处理输入的事务工作负荷。可以将单独的事务放到事务的一 个或多个队列中,以促进在TPS组成员之间共享事务工作负荷。每个 事务可以由物理系统中的任何一个处理以满足所需的响应时间标准。
由TPS处理的每个事务消耗处理该事务的组成员内的系统资源。 用于通常处理的事务的基础设施跨TPS成员被复制。然而,出于效率 或其它原因,事务的子集(优先事务)可以被指向到某些TPS成员用 于处理。TPS所使用的物理系统资源包括处理公共事务(由任何TPS 成员处理)所需的资源,以及用于处理优先事务所需的附加资源。
当TPS组成员遭受灾难性故障时(意味着该成员不能够处理事 务),必须在继续存在的TPS组成员之间分配共同的事务工作负荷, 这给与继续存在的成员相关联的物理系统资源带来了附加负担。此外, 每个TPS组成员创建用于处理先前仅在发生故障的TPS组成员上优 先处理的事务的基础设施。产生的附加优先处理事务基础设施要求在 剩余TPS组成员中使用更大级别的物理系统资源。
如果TPS组成员发生故障,TPS组进入“临界时间段”,该“临 界时间段”在TPS成员发生故障时开始,并且在发生故障的TPS成 员恢复和重新启动时结束,或者被由添加到该组的新成员替换。在该 临界时间段期间,落在继续存在的TPS组成员上的所需物理资源的突 然增加可以使继续存在的TPS组成员由于达到其物理系统的资源限 制而以级联效应遭遇其自身的灾难性故障。
本发明的一些实施例包括用于创建资源管理器(RM)的方法和 系统。RM允许TPS的成员一起工作以处置大的web相关的银行业务 工作负荷,并且幸免于TPS组的一个或多个成员的灾难性故障。
资源管理器是TPS组的每个成员的新组件。在灾难性故障的情况 下,RM使剩余TPS组成员上的系统资源利用流线化,以防止那些成 员的系统资源耗尽和随后的灾难性故障。
RM组件被设计为四种模式:(i)就绪模式;(ii)广播模式;(iii)约束模式;以及(iv)返回到就绪模式。现在将模式描述如下:
就绪模式——RM被初始化并且等待通知:(i)来自安装在其上 的TPS系统的灾难性故障;以及(ii)在广播模式中从TPS组成员发 送的不可用状态消息。在一些实施例中,在TPS系统上托管的RM实 例包括守护进程,其在由主TPS系统或者由来自RM的另一实例的通知消息触发时执行一个或多个响应动作。
广播模式——RM进入广播模式以向继续存在的TPS组成员发送 TPS成员“不可用”和“可用”状态消息。
响应于TPS成员遇到故障,发生故障的TPS成员调用由发生故 障的TPS成员托管的RM实例,并且命令RM进入“广播模式”以向 继续存在的TPS组成员发送“不可用状态”消息。在一些实施例中, 所述RM实例响应于检测到系统终止过程,或关于所述RM实例被安 装在其上的TPS的故障的其他指示而进入“广播模式”。
响应于针对发生故障的TPS成员的系统重启过程的完成,RM广 播模式向继续存在的TPS组成员发送“可用状态”消息。“可用状态” 消息用信号通知以前发生故障的TPS成员的可用性,以恢复处理TPS 组内的事务工作负荷。
一旦RM完成了“可用状态”消息的发送,RM就重新进入“就 绪模式”。
约束模式——响应于接收到对应于发生故障的TPS组成员的“不 可用状态”消息,继续存在的TPS组成员进入约束模式。在约束模式 中,RM控制并且减少由继续存在的TPS组成员使用的系统资源。限 制模式使继续存在的TPS系统能够吸收路由到这些系统的增加的事 务工作负荷,这些事务工作负荷通常已经被路由到发生故障的TPS 组成员并且由其处理。
TPS组成员在临界时间段期间保持在约束模式,该临界时间段是 从发生故障的TPS组成员发生故障时开始并且以随后恢复和重新启 动以前发生故障的TPS组成员结束的时间段。更准确地说,当一个继 续存在的TPS组成员接收到“不可用状态”消息时,临界时间段(相 对于每个继续存在的TPS组成员)开始,并且当幸存的TPS组成员 接收到“可用状态”消息时结束。在一些实施例中,继续存在的TPS 组成员从新的TPS成员接收“可用状态”消息,该消息被添加到(可 以是)被指定为发生故障成员的替换的组。
在本发明的一些实施例中,约束模式包括以下任务,用于通过继 续存在的TPS组成员在“临界时间”(在TPS组成员不可用的同时) 期间减少系统资源的使用。
1.使得事务实例块更轻。
2.激活具有加权因子的洪水监视器。
3.利用延迟时间因子激活事务流控制。
4.禁用TPS诊断跟踪。
5.禁用TPS转储用于非终止问题。
6.开始以更高的频率取消空闲事务。
在一些实施例中,RM提供选项(经由命令接口或经由自动化) 以在任何选择的时间段内动态地激活和去激活“约束模式”,以减少 该时间段期间的系统资源使用。RM用户还可以选择在持久性全时的 基础上激活“约束模式”,以减少日常系统资源使用。
下面将关于图4和图5A-图5E的流程图,更详细地描述上面关 于约束模式概述的任务。
返回到就绪模式——一旦继续存在的TPS组成员已经接收到所 有“可用状态”消息,RM就进入“返回到就绪模式”以撤销在“约 束模式”期间执行的任务。一旦RM完成了“返回到就绪模式”过程, RM(并且因此相关联的TPM)重新进入“就绪模式”。
图4是描述根据本发明至少一个实施例的高可用性系统400的框 图。高可用性系统400包括:任何数目的移动和/或固定用户设备405; 系统复合体(sysplex)分配器410;任意数目的传输控制协议/互联网 协议(TCP/IP)网关,包括第一网关411、第二网关412和第M网关 413;事务处理系统(TPS)组425,包括任何数目的TPS成员,包括 第一TPS 421、第二TPS 422和第N TPS 423;以及事务队列415。注 意:在一些实施例中,TCP/IP网关的数目(M)可以等于或不等于 TPS成员的数目(N)。
用户通过用户设备405(移动和/或固定的,诸如智能电话、平板 电脑、膝上型和台式计算机、智能手表、电视等)生成事务,可以存 在任何数目的同时操作的这样的系统,尤其是在诸如在线支付系统或 媒体流服务等的大型企业级系统中。
在一些实施例中,事务到达系统复合体分配器410。系统复合体 分配器410将事务路由到任何可用的TCP/IP网关。TCP/IP网关随后 将事务路由到TPS组425的任何可用的事务处理系统(TPS)成员。 (注意:术语“Sysplex”可以服从全世界各种管辖范围的商标权,并且在此仅参考由标记适当命名的产品或服务来使用,其程度使得可以 存在这种商标权)。
为了保持高度的可用性,TPS组425的成员一起工作以避免具有 单点故障。每个TPS成员可以具有输入事务类型的(一个或多个)优 选集合,针对该输入事务类型,成员被优化以高效地处理。TCP/IP 网关将给定类型的输入事务路由到针对给定事务类型优化的TPS成 员。
任何TPS成员可以在事务队列415上使事务可用于该组的任何 TPS成员以进行处理。任何TPS成员可以创建事务实例块(TIB), 以表示输入事务,或者处理来自该组的另一TPS成员的事务。每个 TIB消耗系统资源。
现在考虑这样的场景,其中由于系统故障、网络故障或任何其他 阻止第一TPS421处理分配给它的事务的原因,第一TPS 421变为不 可用。这种故障在本文有时被称为“紧急情况”。响应于该故障,系 统将已经被定向到第一TPS 421(见图4,粗线424)的事务工作负荷 重定向到一个或多个继续存在的TPS成员,例如重定向到第二TPS 422和第N TPS423。第一TPS 421还可以通过将工作负荷放置在事 务队列415上来将工作负荷重新分配给TPS组425的其他TPS成员。
重定向事务对接收到重定向事务的继续存在的TPS成员施加更 大的工作负荷。接收增加的工作负荷的一些继续存在的TPS成员可以 潜在地用完系统资源(至少部分地由于增加的工作负荷),使它们崩 溃。每个继续存在的TPS成员(其接收重定向的工作负荷)分配与重 定向的工作负载相关联的TIB,该TIB与来自第一TPS 421的放置在 事务队列415上的事务相关联。在处理大量事务的实施例中,与重定 向的工作负荷相关联的相应的大量(可能数千或更多)新TIB会压倒 继续存在的TPS成员。
在一些实施例中,诸如大型事务处理系统,重启不可用或发生故 障的TPS成员可以需要五到十分钟。在该临界时间窗期间,继续存在 的TPS成员可能受到足够的影响,从而导致单个TPS系统故障,甚 至导致TPS组425的级联故障。
继续存在的TPS成员用完系统资源可以使创建与重定向到继续 存在的成员的工作负荷相对应的大量新TIB。如果一个TPS成员出现 故障,则可以开始级联故障序列,其中工作负荷堆积在继续存在的 TPS成员上,使更多的成员依次故障,将逐渐加重的工作负荷重定向 到数目递减的继续存在者上。在这种类型的情况下,整个TPS系统可 以以下降多米诺骨牌的方式快速下降,所有这些都是由一个TPS元件 的故障最初触发的。
本发明的一些实施例针对TPS组425的每个成员安装“资源管理 器”(RM 601)的实例。RM 601帮助TPS组425在一个或多个TPS 成员变得不可用时继续存在。
在一些实施例中,RM 601包括安装在每个相应TPS组成员中的 软件组件,以便在紧急情况期间流线化处理事务所需的系统资源的使 用,并且避免如上所述的级联中断。
RM 601具有四种处理模式:(i)广播;(ii)约束;(iii)返回 到准备就绪;和(iv)准备就绪。下面描述四种模式的功能:
(i)广播模式——响应于进入初始转储格式化阶段,TPS组的发 生故障的TPS成员调用RM 601的相对应的实例,该初始转储格式化 阶段与发生故障的TPS成员的停机相关联。RM 601向该组的一些或 所有TPS成员广播通知消息。广播通知指示关于发生故障的TPS成 员的“不可用”状态。此外,一旦TPS成员完成重启并且再次变为可 用,RM 601就向该组广播通知消息,该通知消息指示关于以前发生 故障的TPS以及现在恢复的TPS的“可用”状态。
在一些实施例中,RM 601向具有与发生故障的TPS相同的偏好 的TPS成员广播“不可用”通知。也就是说,如果发生故障的TPS 具有处理信用卡支付事务的偏好(被优化),则RM 601向也具有处 理信用卡支付事务的偏好的继续存在的TPS成员广播“不可用”通知。同时,通过其接收事务并且将事务分发给TPS组成员的网关将信用卡 支付事务重定向到与发生故障的TPS成员具有相同偏好的TPS成员。 这使得在没有发生故障的TPS成员的情况下对处理信用卡支付事务 的不利影响最小化。在一些实施例中,如果继续存在的TPS成员有变 得被附加工作负荷压倒的危险,或者确实变得被附加工作负荷压倒 (例如,如果处理输入事务的平均时间增加到预定阈值以上),则可 以将一些附加工作负荷重定向到其他TPS成员,而不管偏好如何,在 这种情况下,RM 601向其他TPS成员广播“不可用”通知。
(ii)约束模式——响应于接收到关于发生故障的TPS成员的广 播通知,继续存在的TPS成员进入约束模式。当在约束模式下操作时, TPS成员以管理增加的工作负荷并且防止在临界窗口期间系统故障 (在发生故障的TPS成员不可用的同时)的方式控制系统资源。
(iii)返回到就绪模式——一旦(以前)发生故障的TPS成员再 次变为可用,(或者将替换TPS成员引入到组中,继续存在的TPS 成员进入“返回到就绪模式”以撤销在约束模式中执行的特殊任务。
(iv)就绪模式——在“就绪模式”中,除了准备就绪以响应组 的TPS成员的故障或即将发生的故障之外,不需要来自RM 601的动 作。RM 601部分地基于与TPS组成员可用的最大资源使用相比较的 实际资源使用,来检测TPS组成员的即将发生的故障。如果实际资源 使用正以增加的方向改变并且在预定时间跨度内保持高于“动作”阈 值,则RM 601确定即将发生的故障。
在本发明的一些实施例中,RM 601在处于约束模式(参见上述 项(ii))时执行“特殊”任务,包括:(a)使事务实例块更轻;(b) 激活具有加权因子的洪水监视器;以及(c)激活具有延迟时间因子 的事务流控制:
(a)使得事务实例块更轻。
每个TIB包括基础部件和按需部件。事务处理总是需要基础部分。 按需部件用于特定操作,诸如接收事务输入和递送事务输出。
在约束模式中,TPS仅用基本部分创建TIB,以消耗较少的系统 资源。TIB的其它部分是按需(即当需要操作时)构建或创建的。此 外,RM扫描在TPS进入约束模式之前已经创建的现有TIB。如果现 有TIB的任何按需部分未被使用,则TPS释放与现有TIB相关联的 存储。
此外,RM标记针对新工作负荷创建的TIB(新TIB,其最初以 发生故障/不可用的TPS为目标),以便一旦RM退出约束模式,即 一旦RM进入“返回到就绪”模式或“就绪”模式,处理TPS首先释 放新TIB(在其他TIB之前)。
(b)激活具有加权因子的洪水监视器。
由于当TPS处于约束模式时使用光TIB,所以当针对所分配的所 有TIB的数目计算是否已经达到洪水限制时,RM考虑较小的TIB大 小。
例如,考虑光TIB,缺少按需部件(例如,输入和输出部件), 其比常规TIB小20%。所产生的20%存储缩减因子,被称为“加权因 子”,用于计算调整后的TIB洪水限制X以用于洪水控制。
在一些实施例中,使用以下公式来确定经调整的TIB洪水限制X:
X=A+(0.2B)+(0.5C)+(0.7D)
其中
A是实际尺寸TIB的数目
B是仅具有基础部件的TIB的数目(光TIB)
C是具有基础部件和用于输入的按需字段的TIB的数目
D是具有基础部件和用于输出的按需字段的TIB的数目
0.2、0.5和0.7(分别等于20%、50%和70%)是分别应用于B、 C和D数目的示例加权因子。这些示例性加权因子可以从一个实施例 到另一实施例而变化。
(c)激活具有延迟时间因子的事务流控制。
RM通过响应于TPS达到预定义洪水阈值的高使用百分比而将延 迟时间添加到输入事务,来激活用于输入事务的延迟时间因子功能。 延迟时间因子有助于减小由于从例如移动设备接收增加的输入事务 而导致的对资源约束的影响。这允许TPS延迟一些TIB的创建,因 此消耗较少的系统资源。
例如,如果TPS达到预定义洪水阈值的60%,则TPS在接受输 入事务之前向新的输入事务分配5毫秒的延迟时间。如果TPS达到洪 水阈值的70%,则TPS分配10毫秒的延迟时间。换句话说,TPS随 着洪水情况分别恶化或改善而动态地增加或减少延迟时间。注意:这里给出的值(60%、70%、5毫秒和10毫秒)仅是示例。一些实施例 定义不同的洪水阈值百分比集合和对应的延迟时间。一些实施例定义 了达到的洪水阈值的分数(fraction)(TPS负荷)与响应延迟时间之 间的线性或非线性函数关系。此外,一些实施例在加载/延迟时间关系 中建立一定程度的滞后,使得当加载在与减小方向相反的增加方向上 改变时,不同的延迟时间在不同的加载断点处突入。
除了上述“特殊”任务(a)、(b)和(c),处于约束模式的 RM执行以下任务:(iv)禁用TPS诊断跟踪以节省存储空间;(v) 针对非终止问题禁用TPS转储;以及(vi)取消具有增加的频率的空 闲事务以节省存储空间。
图5A、5B、5C、5D和5E的流程图500A、500B、500C、500D 和500E分别共同描述了根据本发明实施例的方法,用于确定:(i) 与事务处理系统(TPS)故障有关通知消息的源;以及(ii)响应于 TPS故障相关通知,由资源管理器(RM 601;参见图4)在约束模式 下执行的动作。对应于流程图中描述的方法的TPS实施例包括TPS 组425,其包括至少第一和第二TPS成员(分别为第一TPS 421和第 二TPS 422;参见图4)。
处理开始于操作501,其中与第一TPS 421相对应的RM的实例 (下文中被称为RM601)接收与紧急情况相关联的、涉及TPS组425 的成员的通知(与TPS故障有关通知)。该通知可能已经从第一TPS 421发起,或者从TPS组425的任何其他TPS成员发起。为了简单起见,故障TPS将被称为第二TPS 422(参见图4)。
处理在决策503处继续,其中RM 601确定通知的源以及与通知 有关的环境。如果RM 601确定通知来自第二TPS 422,并且第二TPS 422状态已经从可用变为不可用(决策503,“左”分支),则处理 在流程图500B的入口点A处继续(图5B)。
如果RM 601确定通知来自第二TPS 422,并且第二TPS 422状 态已经从不可用变为可用(决策503,“右”分支),则处理在流程 图500C的入口点B处继续(图5C)。
如果RM 601确定通知的源是第一TPS 421(决策503,“中心” 分支),则处理进行到选择操作505。
如果RM 601确定第一TPS 421状态从“可用”变为“不可用”(选 择操作505,“1”分支),则处理在图5D的流程图500D的入口点C 处继续。
如果RM 601确定第一TPS 421状态从“不可用”变为“可用” (选择操作505,“2”分支),则处理在图5E的流程图500E的入 口点D处继续。
如果RM 601确定第一TPS 421进入严重的系统资源短缺的状态, 但是仍然保持“可用”(选择操作505,“3”分支),则处理在图 5B的流程图500B的入口点A处继续。
如果RM 601确定第一TPS 421从严重的系统资源短缺的状态中 恢复(该短缺已经缓解)(选择操作505,“4”分支),则处理在图 5C的流程图500C的入口点B处继续。
现在转向图5B的流程图500B(入口点A,从图5A的流程图500A 继续),处理在决策520处继续,其中RM 601确定第一TPS 421是 否处于约束模式。
如果RM 601确定第一TPS 421处于约束模式(决策520,“是” 分支),则处理进行到决策521,其中RM 601确定是否从第二TPS 422 发送了通知。如果RM 601确定该通知是从第二TPS 422发送的(决 策521,“是”分支),则RM 601忽略该通知。
如果通知不是从第二TPS 422发送的(决策521,“否”分支), RM 601为进入的(新的)事务和现有的事务(已经由第一TPS 421 接收并且在队列中待处理)启动最大延迟时间因子。
如果RM 601确定第一TPS 421不处于约束模式(决策520,“否” 分支),则处理进行到操作523,其中RM 601进入约束模式。
处理在操作524处继续,其中RM 601执行以下任务,不一定按 以下顺序:(i)使现有事务实例块(TIB)更轻;(ii)仅用基本部 件创建新的TIB;(iii)用TIB加权因子激活洪水监测;(iv)利用 延迟时间因子激活事务流控制;(v)禁用TPS诊断跟踪和TPS转储; 以及(vi)更频繁地开始终止空闲事务。
现在转向图5C的流程图500C(入口点B,从图5A的流程图500A 继续),处理在决策530处继续,其中RM 601确定第一TPS 421是 否处于“返回到就绪”模式。
如果RM 601确定第一TPS 421不处于“返回就绪”模式(决策 530,“否”分支),则处理进行到决策531,其中RM 601确定第一 TPS 421是否处于“约束”模式。
如果RM 601确定第一TPS 421处于“约束”模式(决策531, “是”分支),则处理进行到决策532,其中RM 601确定是否从第 二TPS 422发送了通知。
如果RM 601确定该通知是从第二TPS 422发送的(决策532, “是”分支),则处理进行到决策533,其中RM 601确定第二TPS 422 是否是TPS组425中唯一不可用的TPS。
如果RM 601确定第二TPS 422不是TPS组425中唯一保持不可 用的TPS(决策533,“否”分支),换句话说,TPS组425的至少 一个其他成员是不可用的,处理结束。
返回到决策530,如果RM 601确定第一TPS 421处于“返回就 绪”模式(决策530,“是”分支),则RM 601忽略该通知。
返回到决策531,如果RM 601确定第一TPS 421不处于“约束” 模式(决策决定531,“否”分支),则RM 601忽略该通知。
返回到决策532,如果RM 601确定通知不是从第二TPS 422发 送的(决策532,“否”分支),则处理在操作535处继续。
返回到决策533,如果RM 601确定第二TPS 422是TPS组425 中唯一保持不可用的TPS(决策533,“是”分支),换句话说,不 存在TPS组425的其他成员不可用,则处理在操作535处继续。
在操作535,RM 601执行以下任务,不一定按以下顺序:(i) 去激活轻量TIB功能;取消用于使现有TIB更轻的任务(消耗更少的 系统资源);(ii)利用TIB加权因子取消洪水监测;(iii)利用延 迟时间因子禁用事务洪水控制;(iv)激活TPS诊断跟踪和TPS转储; 以及(v)恢复以正常频率终止空闲事务。
现在转向图5D的流程图500D(入口点C,从图5A的流程图500A 继续),处理在决策540处继续,其中RM 601确定第一TPS 421(发 起故障通知的事务处理系统)是否是TPS组(例如,TPS组425;参 见图4)的一部分。
如果RM 601确定第一TPS 421是TPS组的一部分(决策540, “是”分支),则RM 601向TPS组425的继续存在的TPS成员发送 关于第一TPS 421的“不可用”通知。
现在转向图5E的流程图500E(入口点D,从图5A的流程图500A 继续),处理在决策550继续,其中RM 601确定第一TPS 421(发 起故障通知的事务处理系统)是否是TPS组(例如,TPS组425;参 见图4)的一部分。
如果RM 601确定第一TPS 421是TPS组的一部分(决策550, “是”分支),则RM 601向TPS组425的继续存在的TPS成员发送 关于第一TPS 421的“可用”通知。
以下段落给出各种用例示例:(i)TPS组的一个或多个成员的灾 难性系统故障;(ii)充满事务的单个TPS系统;(iii)比标准系统 资源使用更重的TPS组;以及(iv)具有单个TPS或TPS组的大型 事务处理系统,希望通过减少系统资源使用来节省操作成本。
(i)TPS组的一个或多个成员的灾难性系统故障。
对于安装有多个事务处理系统(TPS)的大型银行客户,一个或 多个TPS可能由于包括事务洪水、事务路由问题、长时间I/O等待或 内部锁存问题的原因而停止。在发生故障的TPS完成系统重启之前, 由于来自发生故障的TPS的重新路由的事务工作负荷,组中的继续存 在的TPS可能很快地用完系统资源。在安装了TPS资源管理器(RM) 的情况下,RM检测到灾难性系统故障。RM对继续存在的TPS组成 员执行内部动作,以便切换进入和离开各种RM处理模式,包括“约 束模式”,以节省系统资源,从而避免剩余TPS组成员的进一步灾难性停机。因此,安装了RM的TPS组可以避免一系列灾难性的停机。
(ii)充满事务的单个TPS系统
对于安装了单个TPS的小银行客户,可以在短时间内将来自移动 设备的数百万事务提交给TPS。然后,TPS可能处于严重的洪水状况, 并且当TPS用完系统资源时,TPS会崩溃。在本发明的一些实施例中, 系统自动化响应于达到定义的洪水阈值而动态地激活RM“约束模式”, 以减少系统资源。RM主动地起作用以防止TPS组的任何成员的灾难 性故障。在一些实施例中,一旦事务洪水平息,系统自动化动态地去 激活RM“约束模式”。在一些实施例中,RM提供了用于人为干预 以激活和/或去激活RM或其特定组件的手段。
(iii)具有比标准系统资源使用更重的TPS组
在本发明的一些实施例中,例如,在具有作为TPS组操作的多个 TPS的大银行客户处,一个优先TPS组成员从各种网关接收主要的事 务工作负荷。如果系统资源在优先TPS组成员上运行得较低(例如, 资源使用水平超过动作阈值水平),则系统自动化动态地激活关于一 些或所有TPS组成员的RM“约束模式”,以减少系统资源使用。如 果系统资源使用水平降到动作阈值以下(例如,返回到标准水平), 则RM自动地去激活“约束模式”。通过该功能,RM防止TPS组的 成员意外地发生灾难性系统故障。
(iv)具有单个TPS的大型事务处理系统,或者希望通过减少系统资源使用来节省 操作成本的TPS组
大型工业TPS(例如,主要集中于客户分析的TPS)可以使用RM 来全时运行在“约束模式”中,以减少总的系统资源开销。以这种方 式运行RM可以导致与TPS相关联的较低的操作成本。在一些实施例 中,在系统初始化或重启期间自动激活RM。一些实施例提供了用于手动激活RM的装置。
以下权利要求中的所有部件或步骤加功能元件的对应结构、材料、 动作和等同物旨在包括用于与如具体要求保护的其它要求保护的元 件组合执行功能的任何结构、材料或动作。已经出于说明和描述的目 的呈现了本公开的描述,但是其不旨在是穷尽的或限于所公开的形式 的公开。在不背离本公开的范围和精神的情况下,许多修改和变化对 于本领域普通技术人员将是明显的。选择和描述实施例是为了最好地 解释本公开的原理和实际应用,并且使本领域的其他普通技术人员能 够理解具有适合于所设想的特定用途的各种修改的各种实施例的公 开。
IV.定义
本发明:不应被认为是绝对的指示,即术语“本发明”所描述的 主题被提交的权利要求所覆盖,或者被在专利申请之后可能最终发布 的权利要求所覆盖;虽然术语“本发明”用于帮助读者获得一般感觉, 对于该感觉,本文的公开被认为是潜在地新的,但是如通过使用术语 “本发明”所指示的,该理解是试验性的和临时的,并且随着相关信 息的发展和权利要求被潜在地修改,该理解在专利审查的过程中会发 生改变。
实施例:参见“本发明”的定义——类似的警告适用于术语“实 施例”。
和/或:包括性的或;例如,A、B和/或C表示A或B或C中的 至少一个是真实的和可应用的。
包括(Including)/包括(include)/包括(includes):除非另有 明确说明,否则表示“包括但不一定限于”。
用户/订户:包括但不必限于以下:(i)单个单独的人;(ii)具 有足够智能以充当用户或订户的人工智能实体;和/或(iii)一组相关 的用户或订户。
数据通信:现在已知的或将来开发的任何种类的数据通信方案, 包括无线通信、有线通信和具有无线和有线部分的通信路由;数据通 信不必限于:(i)直接数据通信;(ii)间接数据通信;和/或(iii) 数据通信,其中格式、分组化状态、介质、加密状态和/或协议在数据 通信的整个过程中保持恒定。
接收/提供/发送/输入/输出/报告:除非另外明确地指定,否则这 些词语不应被认为暗示:(i)关于其对象和主题之间的关系的任何特 定直接程度;和/或(ii)不存在介于其对象和受试者之间的中间组件、 动作和/或事物。
没有实质性的人为干预:在很少或没有人类输入的情况下自动发 生(通常通过机器逻辑的操作,诸如软件)的过程;涉及“没有实质 上的人为干预”的一些示例包括:(i)计算机正在进行复杂的处理, 并且由于电网电力的断电,人将计算机切换到替代电源,使得处理继 续不间断;(ii)计算机将执行资源密集型处理,并且人工确认确实 应当进行资源密集型处理(在这种情况下,孤立考虑的确认过程是具 有实质上的人工干预的,但是资源密集型处理不包括任何实质上的人 工干预,尽管需要由人进行简单的是-否风格的确认);以及(iii)使 用机器逻辑,计算机已经做出了加权决策(例如,在预期恶劣天气时 将所有飞机着陆的决策),但是在实施加权决策之前,计算机必须从 人类源获取简单的是-否风格确认。
自动地:不需要任何人为干预。
模块/子模块:操作性地工作以执行某种功能的任何硬件、固件和 /或软件集合,而不考虑模块是否:(i)在单个局部邻近度中;(ii) 分布在广阔的区域上;(iii)在较大的软件代码片段内的单个邻近度 中;(iv)位于单个软件代码片段内;(v)位于单个存储设备、存储 器或介质中;(vi)机械连接;(vii)电连接;和/或(viii)以数据 通信方式连接。
计算机:具有重要数据处理和/或机器可读指令读取能力的任何设 备,包括但不限于:台式计算机、大型计算机、膝上型计算机、基于 现场可编程门阵列(FPGA)的设备、智能电话、个人数字助理(PDA)、 体装式或嵌入式计算机、嵌入式设备类型的计算机和/或基于专用集成 电路(ASIC)的设备。

Claims (9)

1.一种计算机实现的方法,包括:
确定针对事务处理系统(TPS)成员组中的第一TPS成员的不可用的第一状态;
响应于确定所述第一TPS成员的所述第一状态,向所述TPS成员组中的第二TPS成员广播第一消息,其中所述第一消息包括关于所述第一TPS成员的所述第一状态的信息;以及
响应于接收到所述第一消息,由所述第二TPS成员实现资源使用减少动作。
2.根据权利要求1所述的方法,还包括:
确定针对所述第一TPS成员的可用的第二状态;
响应于确定所述第一TPS成员的所述第二状态,向所述第二TPS成员广播第二消息,其中所述第二消息包括关于所述第一TPS成员的所述第二状态的信息;以及
响应于接收到所述第二消息,由所述第二TPS成员撤销所述资源使用减少动作。
3.根据权利要求1所述的方法,其中所述资源使用减少动作是从由以下各项组成的所述组中选择的:制作排除按需部分的第一事务实例块(TIB);将洪水监控器建立在分别排除对应的按需部分的TIB的数目上;基于延迟时间因子延迟第二TIB的创建;禁止第一诊断跟踪的创建;禁止第一系统转储;以及增加取消第一多个空闲事务的频率。
4.根据权利要求2所述的方法,其中撤销所述资源使用减少动作是从由以下各项组成的所述组中选择的:制作包括按需部分的第三TIB;基于对应的事务请求创建第四TIB;启用对第二诊断跟踪的创建;启用第二系统转储;以及降低取消第二多个空闲事务的所述频率。
5.根据权利要求1所述的方法,还包括:
安装资源管理器的多个实例,包括第一实例和第二实例,其中所述资源管理器的每个实例与所述TPS成员组的分别相对应的TPS成员相关联。
6.根据权利要求1所述的方法,其中确定所述第一TPS成员的所述第一状态还包括:
监视所述第一TPS成员的性能特性。
7.根据权利要求6所述的方法,其中性能特性从由以下各项组成的所述组中选择:进入事务的比率;处理事务的时间;中央处理单元(CPU)的时钟频率;错误发生的频率;错误发生的数目;错误发生的比率;CPU利用度量;存储器访问度量;存储装置访问度量;以及网络通信参数。
8.一种计算机程序产品,包括:
一个或多个计算机可读存储介质,以及共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括被编程为执行根据权利要求1至7中任一项所述的方法的指令。
9.一种计算机系统,包括:
处理器集;以及
一个或多个计算机可读存储介质;
其中:
所述处理器集被构造、定位、连接和/或编程为运行存储在所述一个或多个计算机可读存储介质上的程序指令;以及
所述程序指令包括被编程为执行根据权利要求1至7中任一项所述的方法的指令:
确定针对事务处理系统(TPS)成员组中的第一TPS成员的不可用的第一状态;
响应于确定所述第一TPS成员的所述第一状态,向所述TPS成员组中的第二TPS成员广播第一消息,其中所述第一消息包括关于所述第一TPS成员的所述第一状态的信息;以及
响应于接收到所述第一消息,由所述第二TPS成员实现资源使用减少动作。
CN202111143906.5A 2020-11-05 2021-09-28 用于事务处理系统的资源管理器 Pending CN114443231A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/089,784 US11645130B2 (en) 2020-11-05 2020-11-05 Resource manager for transaction processing systems
US17/089,784 2020-11-05

Publications (1)

Publication Number Publication Date
CN114443231A true CN114443231A (zh) 2022-05-06

Family

ID=78718499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111143906.5A Pending CN114443231A (zh) 2020-11-05 2021-09-28 用于事务处理系统的资源管理器

Country Status (5)

Country Link
US (1) US11645130B2 (zh)
JP (1) JP2022075548A (zh)
CN (1) CN114443231A (zh)
DE (1) DE102021127171A1 (zh)
GB (1) GB2604686B (zh)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2921458B2 (ja) 1995-11-15 1999-07-19 日本電気株式会社 トランザクション処理の負荷分散方式
US6430562B1 (en) 1999-03-01 2002-08-06 Electronic Data Systems Corporation Integrated resource management system and method
US6970425B1 (en) * 2000-04-27 2005-11-29 At&T Corp. Method and apparatus for throttling and distributing data transmissions across a network
US20070011682A1 (en) 2003-01-02 2007-01-11 Loboz Charles Z Affinization of transaction types
US7818745B2 (en) 2003-09-29 2010-10-19 International Business Machines Corporation Dynamic transaction control within a host transaction processing system
US8818988B1 (en) 2003-12-08 2014-08-26 Teradata Us, Inc. Database system having a regulator to provide feedback statistics to an optimizer
US8225129B2 (en) * 2007-04-10 2012-07-17 International Business Machines Corporation Methods and apparatus for effective on-line backup selection for failure recovery in distributed stream processing systems
JP2011123724A (ja) * 2009-12-11 2011-06-23 Mitsubishi Electric Corp 情報処理装置及び処理情報縮退方法
US9195528B1 (en) * 2010-02-24 2015-11-24 Symantec Corporation Systems and methods for managing failover clusters
US20110270910A1 (en) 2010-04-30 2011-11-03 Southern Company Services Dynamic Work Queue For Applications
US8296783B1 (en) 2010-05-28 2012-10-23 Adobe Systems Incorporated Media player instance managed resource reduction
US8477610B2 (en) * 2010-05-31 2013-07-02 Microsoft Corporation Applying policies to schedule network bandwidth among virtual machines
US10324778B2 (en) 2017-02-27 2019-06-18 International Business Machines Corporation Utilizing an error prediction and avoidance component for a transaction processing system
US10970269B2 (en) * 2018-05-07 2021-04-06 Microsoft Technology Licensing, Llc Intermediate consistency levels for database configuration
US11263037B2 (en) * 2019-08-15 2022-03-01 International Business Machines Corporation Virtual machine deployment

Also Published As

Publication number Publication date
JP2022075548A (ja) 2022-05-18
GB2604686B (en) 2024-01-17
US20220138037A1 (en) 2022-05-05
US11645130B2 (en) 2023-05-09
GB202114898D0 (en) 2021-12-01
GB2604686A (en) 2022-09-14
DE102021127171A1 (de) 2022-05-05

Similar Documents

Publication Publication Date Title
US10496499B2 (en) System and method for datacenter recovery
US10860441B2 (en) Method and system for data backup and restoration in cluster system
US10491560B2 (en) Message delivery in messaging networks
WO2019152122A1 (en) Systems and methods for performing computing cluster node switchover
US20190235979A1 (en) Systems and methods for performing computing cluster node switchover
EP3400528B1 (en) Deferred server recovery in computing systems
US20080126857A1 (en) Preemptive Data Protection for Copy Services in Storage Systems and Applications
US11921745B2 (en) Preventing data loss in event driven continuous availability systems
US10936375B2 (en) Hyper-converged infrastructure (HCI) distributed monitoring system
US20180365116A1 (en) Scaling out a hybrid cloud storage service
US20170220624A1 (en) Transaction processor
US10657122B2 (en) Optimizing standby database memory for post failover operation
US20060095903A1 (en) Upgrading a software component
US20050044193A1 (en) Method, system, and program for dual agent processes and dual active server processes
US9836342B1 (en) Application alerting system and method for a computing infrastructure
JP5033455B2 (ja) 情報処理システム及び情報処理システムをバージョンアップするためのプログラム
CN114443231A (zh) 用于事务处理系统的资源管理器
US11645164B2 (en) Adjusting data backups based on system details
US20230125503A1 (en) Coordinated microservices
US20230130125A1 (en) Coordinated microservices worker throughput control
Dhall Designing Graceful Degradation in Software Systems.
JP2016224490A (ja) 冗長化システム
Tandon et al. Fault Tolerant and Reliable Resource Optimization Model for Cloud
Liu et al. Feedback fault tolerance of real-time embedded systems: issues and possible solutions
US8473548B2 (en) Intelligent network system and method and computer-readable medium controlling the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination