CN111352797A - 用于监视软件应用程序进程的系统和方法 - Google Patents

用于监视软件应用程序进程的系统和方法 Download PDF

Info

Publication number
CN111352797A
CN111352797A CN201911204915.3A CN201911204915A CN111352797A CN 111352797 A CN111352797 A CN 111352797A CN 201911204915 A CN201911204915 A CN 201911204915A CN 111352797 A CN111352797 A CN 111352797A
Authority
CN
China
Prior art keywords
computing node
determining
monitor
software application
instance
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
CN201911204915.3A
Other languages
English (en)
Other versions
CN111352797B (zh
Inventor
詹姆斯·J·特洛伊
布鲁斯·马文·克雷格
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.)
Boeing Co
Original Assignee
Boeing Co
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 Boeing Co filed Critical Boeing Co
Publication of CN111352797A publication Critical patent/CN111352797A/zh
Application granted granted Critical
Publication of CN111352797B publication Critical patent/CN111352797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • 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/3433Recording 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 for load management
    • 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
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

公开了用于监视软件应用程序进程的系统和方法。一种用于监视进程的系统包括第一计算节点(102)和第二计算节点(104)。第一计算节点包括进程监视器(140)、状态数据分析器(146)、进程监视器检查器(142)以及对等方监视器(150)。进程监视器被配置为生成软件应用程序(122)的第一实例(160)的进程状态数据。状态数据分析器被配置为基于确定软件应用程序的第一实例的预期进程已经停止运行,选择性地重启软件应用程序的第一实例。进程监视器检查器被配置为响应于确定进程监视器已经停止运行,重启进程监视器。对等方监视器被配置为响应于确定软件应用程序的第二实例在第二计算节点失败,基于与软件应用程序的第二实例关联的未完成任务,执行动作。

Description

用于监视软件应用程序进程的系统和方法
技术领域
本公开总体上涉及监视软件应用程序的进程。
背景技术
计算服务器可以运行软件应用程序以提供服务。软件应用程序可能由于各种原因而停止,比如堆栈溢出、网络或电力中断或其他意外中断。在软件应用程序停止与系统管理员确定软件应用程序已经停止之间可能存在延迟。在系统管理员检测到软件应用程序已经停止与系统管理员重新启动软件应用程序之间也可能存在延迟。重新启动软件应用程序的延迟增加了服务不可用的停用时间。由系统管理员对软件应用程序进行连续监视则会不方便且昂贵。
发明内容
在具体实现方式中,一种用于监视进程的系统包括:多个计算节点中的第一计算节点,多个计算节点被配置为运行软件应用程序的多个实例。该系统还包括多个计算节点中的第二计算节点。第一计算节点包括进程监视器、状态数据分析器、进程监视器检查器以及对等方监视器。进程监视器被配置为为在第一计算节点运行的软件应用程序的第一实例生成进程状态数据。状态数据分析器被配置为基于进程状态数据,确定软件应用程序的第一实例的预期进程是否已经在第一计算节点停止运行。状态数据分析器还被配置为基于确定预期进程已经在第一计算节点停止运行,选择性地重启软件应用程序的第一实例。进程监视器检查器被配置为确定进程监视器是否正在第一计算节点运行。进程监视器检查器还被配置为响应于确定进程监视器已经在第一计算节点停止运行,重启进程监视器。对等方监视器被配置为确定软件应用程序的第二实例是否在多个计算节点中的第二计算节点失败。对等方监视器还被配置为响应于确定第二实例在第二计算节点失败,基于与软件应用程序的第二实例关联的未完成任务,执行动作。
在另一个具体实现方式中,一种用于监视进程的方法包括:在被配置为运行软件应用程序的多个实例的多个计算节点中的第一计算节点,生成在第一计算节点运行的软件应用程序的第一实例的进程状态数据。该方法还包括基于进程状态数据,确定软件应用程序的第一实例的预期进程是否已经在第一计算节点停止运行。该方法还包括基于确定预期进程已经在第一计算节点停止运行,选择性地在第一计算节点重启软件应用程序的第一实例。该方法还包括确定软件应用程序的第二实例是否在多个计算节点中的第二计算节点失败。该方法还包括响应于确定第二实例在第二计算节点失败,基于与软件应用程序的第二实例关联的未完成任务,执行动作。
在另一个具体实现方式中,一种计算机可读存储设备存储有指令,指令在被处理器执行时使处理器执行包括以下的操作:在被配置为运行软件应用程序的多个实例的多个计算节点中的第一计算节点,生成在第一计算节点运行的软件应用程序的第一实例的进程状态数据。操作还包括基于进程状态数据,确定软件应用程序的第一实例的预期进程是否已经在第一计算节点停止运行。操作还包括基于确定预期进程已经在第一计算节点停止运行,选择性地在第一计算节点重启软件应用程序的第一实例。操作还包括确定软件应用程序的第二实例是否在多个计算节点中的第二计算节点失败。操作还包括响应于确定第二实例在第二计算节点失败,基于与软件应用程序的第二实例关联的未完成任务,执行动作。
本文所描述的特征、功能和优点可以在各种实现方式中独立地实现或者可以在其他实现方式中组合,其进一步细节可参考以下描述和附图找到。
附图说明
图1是示出可操作以对软件应用程序的进程进行监视的系统的框图;
图2是示出用于监视软件应用程序的进程的方法的示例的流程图;
图3是示出用于监视软件应用程序的进程的方法的示例的流程图;
图4是示出用于监视软件应用程序的进程的方法的示例的流程图;
图5A是示出图1的系统的状态数据分析器和存储器的示例的示图;
图5B是示出由图1的系统的状态数据分析器执行的方法的示例的流程图;
图6是示出用于监视软件应用程序的进程的方法的示例的流程图;
图7是示出用于监视软件应用程序的进程的方法的示例的流程图;以及
图8是描绘包括计算设备的计算环境的框图,计算设备被配置为支持根据本公开的计算机实现的方法和计算机可执行程序指令(或代码)的各方面。
具体实施方式
本文描述的实现方式涉及监视软件应用程序的进程。例如,系统包括被配置为运行软件应用程序的多个实例的多个计算节点。例如,第一计算节点被配置为运行软件应用程序的第一实例,第二计算节点被配置为运行软件应用程序的第二实例。多个计算节点中的每一个包括服务组,服务组被配置为监视软件应用程序是否如预期地在该节点运行。例如,第一计算节点的服务组包括进程监视器、进程监视器检查器或两者。进程监视器生成进程状态数据,进程状态数据指示正在第一计算节点运行的软件应用程序的进程。进程监视器向第一计算节点的状态数据分析器提供进程状态数据。响应于确定进程监视器已经在第一计算节点停止运行,进程监视器检查器重启进程监视器。
服务组的一个或多个组件被配置为监视服务组的一个或多个其他组件。在具体示例中,进程监视器和进程监视器检查器被配置为彼此监视。为了说明,响应于确定进程监视器检查器在第一计算节点未运行(例如已经停止运行),进程监视器重启进程监视器检查器,并且响应于确定进程监视器在第一计算节点未运行(例如已经停止运行),进程监视器检查器重启进程监视器。在该示例中,进程监视器或进程监视器检查器中未运行(例如已经停止运行)的任一个,可由进程监视器或进程监视器检查器中的另一个重启。因此,服务组提供多级检查以实现对第一计算节点的进程的鲁棒监视。
状态数据分析器被配置为基于分析进程状态数据,执行一个或多个动作,比如生成通知、重启软件应用程序、重启软件应用程序的进程、禁止重启软件应用程序、关闭服务组、更新日志数据、清理临时文件或它们的组合。状态数据分析器可以访问要监视的进程列表。为了说明,当软件应用程序正常工作时,被监视的进程预期为正在运行。响应于确定进程状态数据指示预期进程已经停止运行,状态数据分析器执行一个或多个动作。在一些示例中,状态数据分析器针对不同类型的预期进程执行不同的动作。在具体示例中,响应于确定第一进程类型的第一预期进程未运行(例如已经停止运行),状态数据分析器重启软件应用程序的第一实例。作为另一个示例,响应于确定第二进程类型的第二预期进程未运行(例如已经停止运行),状态数据分析器启动(或重启)第二预期进程。因此,状态数据分析器减少了与软件应用程序的第一实例关联的停机时间。
多个计算节点中的一些计算节点还包括对等方警报服务组,对等方警报服务组被配置为监视软件应用程序是否如预期地在其他节点运行。对等方警报服务组包括对等方监视器、对等方监视器检查器或两者。对等方监视器访问集群进程数据,集群进程数据指示正在多个计算节点运行的该软件应用程序的进程。在一个示例中,第一计算节点包括对等方警报服务组,并且对等方监视器向第一计算节点的状态数据分析器提供集群进程数据。响应于确定对等方监视器在第一计算节点未运行(例如已经停止运行),对等方监视器检查器重启对等方监视器。
对等方警报服务组的一个或多个组件被配置为监视对等方警报服务组的一个或多个其他组件。在具体示例中,对等方监视器和对等方监视器检查器被配置为彼此监视。为了说明,响应于确定对等方监视器检查器在第一计算节点未运行(例如已经停止运行),对等方监视器重启对等方监视器检查器,并且响应于确定对等方监视器在第一计算节点未运行(例如已经停止运行),对等方监视器检查器重启对等方监视器。在该示例中,对等方监视器或对等方监视器检查器中未运行(例如已经停止运行)的任一个可由对等方监视器或对等方监视器检查器中的另一个重启。因此,对等方警报服务组提供多级检查以实现对多个计算节点的进程的鲁棒监视。
对等方监视器被配置为基于分析集群进程数据,通知集群管理设备、一个或多个其他计算节点或它们的组合。例如,响应于确定集群进程数据指示软件应用程序的第二实例已经在第二计算节点失败,对等方监视器通知集群管理设备、一个或多个其他计算节点或它们的组合。对等方监视器(或集群管理设备)指定计算节点来处理与软件应用程序的第二实例关联的任何未完成任务。例如,基于集群进程数据,对等方监视器(或集群管理设备)识别出在具有该软件应用程序的活动(例如未失败)实例的多个计算节点中,第一计算节点运行的进程数量最少。响应于识别出第一计算节点运行的进程数量最少,对等方监视器(或集群管理设备)指定第一计算节点处理与软件应用程序的第二实例关联的任何未完成任务。
响应于确定第一计算节点被指定,对等方监视器访问与第二节点关联的日志数据。例如,该系统包括保持多个计算节点的日志数据的存储设备(例如网络存储设备或其他共享存储装置)。对等方监视器基于日志数据识别一个或多个未完成任务。对等方监视器执行与未完成任务关联的动作。例如,对等方监视器恢复未完成任务(例如回退(roll back)未完成的数据库更新)或完成未完成任务(例如提交(commit,执行)数据库更新)。因此,对等方监视器使得计算节点能够达到软件应用程序的有效状态。
图1是可操作以监视软件应用程序的进程的系统100的框图。系统100包括多个计算节点。例如,系统100包括计算节点102,计算节点102经由网络190耦接到计算节点104、计算节点106、存储设备108、集群管理设备110、设备112或它们的组合。在具体方面中,集群管理设备110包含物理设备、虚拟设备、在计算节点102运行的进程、在计算节点104运行的进程、在计算节点106运行的进程或它们的组合。在具体方面中,计算节点102、计算节点104或计算节点106包括集群管理设备110。例如,计算节点102、计算节点104或计算节点106中的一个被指定为集群管理设备110。
应当理解,包括三个计算节点的系统100被描述为说明性示例。在其他示例中,系统100可以包括少于三个计算节点或多于三个计算节点。在具体方面中,随着各种计算节点进入或离开网络190的覆盖区域,系统100的计算节点的计数动态地变化。计算节点102、计算节点104、计算节点106和设备112中的一个或多个包括例如用户设备、移动设备、固定位置设备、通信设备、计算设备、服务器、台式机、网络节点、虚拟设备或它们的组合。在具体方面中,设备112包括自动化设备、移动机器人、移动机器人平台或它们的组合。
网络190包括有线网络、无线网络或两者。存储设备108包括例如网络存储设备、共享存储设备、分布式存储系统、数据服务器或它们的组合。集群管理设备110包括例如服务器、移动设备、固定位置设备、通信设备、计算设备、台式机、网络节点、虚拟设备或它们的组合。集群管理设备110被配置为运行集群管理应用程序。集群管理应用程序被配置为生成集群进程数据143,集群进程数据143指示在计算节点102、计算节点104和计算节点106中的一个或多个运行的进程的状态。
计算节点102包括耦接到处理器134的存储器132。处理器134包括单核处理器或多核处理器。在具体方面中,处理器134包括多个处理器。在具体方面中,处理器134被配置为实施多线程程序执行。例如,单核处理器被配置为通过交织执行多个线程的指令以表现为实施多线程程序执行。多核处理器被配置为并发地执行多个线程。在具体方面中,处理器134包括被配置为运行软件应用程序122的第一实例160的应用程序服务器。
计算节点102包括服务组,该服务组包括进程监视器140、进程监视器检查器142或它们的组合。进程监视器140包括进程监视器检查器验证器144。进程监视器140被配置为产生(例如通过执行进程状态(ps)命令)进程状态数据105,进程状态数据105指示在处理器134运行的进程124。在具体方面中,进程状态数据105指示在处理器134运行的进程124的与软件应用程序122的第一实例160关联的子集的状态。进程监视器检查器142被配置为确定进程监视器140是否正在计算节点102运行。进程监视器检查器142被配置为响应于确定进程监视器140在计算节点102未运行,启动(例如重启)进程监视器140。在具体方面中,进程监视器检查器142被配置为确定进程监视器140是否已经在计算节点102停止运行。例如,进程监视器检查器142被配置为确定进程监视器140是否先前在计算节点102运行并且不再在计算节点102运行。在该方面中,进程监视器检查器142被配置为响应于确定进程监视器140已经在计算节点102停止运行,重启进程监视器140。
进程监视器检查器验证器144被配置为确定进程监视器检查器142是否正在计算节点102运行。进程监视器检查器验证器144被配置为响应于确定进程监视器检查器142在计算节点102未运行,启动(例如重启)进程监视器检查器142。在具体方面中,进程监视器检查器验证器144被配置为确定进程监视器检查器142是否已经在计算节点102停止运行。例如,进程监视器检查器验证器144被配置为确定进程监视器检查器142是否先前在计算节点102运行并且不再在计算节点102运行。在该方面中,进程监视器检查器验证器144被配置为响应于确定进程监视器检查器142已经在计算节点102停止运行,重启进程监视器检查器142。因此,进程监视器检查器142和进程监视器140被配置为彼此监视。
应当理解,包括两级检查(例如进程监视器140和进程监视器检查器142)的服务组被描述为说明性示例。在其他示例中,服务组包括多于两级的检查,其中服务组的一个或多个组件监视服务组的一个或多个其他组件。
计算节点102包括状态数据分析器146。状态数据分析器146被配置为基于分析进程状态数据105,执行一个或多个动作,比如生成通知、重启软件应用程序122的第一实例160、启动软件应用程序122的进程、禁止重启软件应用程序122的第一实例160、关闭服务组(例如进程监视器140、进程监视器检查器142或两者)、更新日志数据131或它们的组合。
在具体实现方式中,计算节点102包括对等方警报服务组。对等方警报服务组包括对等方监视器150、对等方监视器检查器152或两者。对等方监视器150包括对等方监视器检查器验证器154。对等方监视器150被配置为从集群管理设备110接收集群进程数据143。对等方监视器检查器152被配置为响应于确定对等方监视器150在计算节点102未运行,启动(例如重启)对等方监视器150。对等方监视器检查器验证器154被配置为响应于确定对等方监视器检查器152在计算节点102未运行,启动(例如重启)对等方监视器检查器152。在具体方面中,对等方监视器检查器152被配置为响应于确定对等方监视器150已经在计算节点102停止运行,重启对等方监视器150。对等方监视器检查器验证器154被配置为响应于确定对等方监视器检查器152已经在计算节点102停止运行,重启对等方监视器检查器152。因此,对等方监视器检查器152和对等方监视器150被配置为彼此监视。
应当理解,包括两级检查(例如对等方监视器150和对等方监视器检查器152)的对等方警报服务组被描述为说明性示例。在其他示例中,对等方警报服务组包括多于两级的检查,其中对等方警报服务组的一个或多个组件监视对等方警报服务组的一个或多个其他组件。
对等方监视器150被配置为基于分析集群进程数据143,确定软件应用程序122的第二实例162是否在计算节点104失败。对等方监视器150被配置为响应于确定软件应用程序122的第二实例162在计算节点104失败,通知集群管理设备110、一个或多个其他计算节点或它们的组合。在具体方面中,对等方监视器150被配置为响应于确定计算节点104对应于(例如包括)集群管理设备110,将计算节点102或计算节点106指定为集群管理设备110。例如,对等方监视器150在计算节点102启动集群管理应用程序的实例,或者向计算节点106发送请求以启动集群管理应用程序的实例。对等方监视器150被配置为响应于确定计算节点102被指定为处理第二实例的任何未完成任务,访问与计算节点104关联的日志数据141。对等方监视器150被配置为响应于确定日志数据141指示与软件应用程序122的第二实例162关联的一个或多个未完成任务109,执行与未完成任务109关联的动作128。
在活动-不活动配置中,一个计算节点被保持在空闲(例如不活动)状态作为备份计算节点,以防运行软件应用程序122的实例的另一个计算节点失败。当检测到软件应用程序122失败时,在备份计算节点启动软件应用程序122的实例,以接管失败的计算节点的操作。在活动-活动配置中,通过在所有可用计算节点运行软件应用程序122的实例来更有效地使用资源。在图1中,集群管理设备110、计算节点102、计算节点104、计算节点106或它们的组合被设置以支持活动-活动配置。例如,集群管理设备110被配置为在计算节点102、计算节点104和计算节点106(例如系统100的所有可用计算节点)启动软件应用程序122的实例。计算节点102被配置为响应于检测到软件应用程序122在计算节点104失败,处理与计算节点104关联的未完成任务109。集群管理设备110被配置为响应于检测到软件应用程序122在计算节点104失败,选择其他计算节点中的一个(例如已经活动的计算节点)并更新负载平衡器,以将针对计算节点104的未来业务重定向到所选择的计算节点(例如计算节点106)。活动-活动配置通过使所有可用计算节点都是活动的来提高效率,并且通过处理未完成任务109而使得能够恢复到有效状态。
计算节点102包括显示器接口126、网络接口130或两者。在图1中,显示器接口126耦接到显示器114。网络接口130耦接到网络190。在具体方面中,网络接口130可以包括网络接口控制器、网络接口设备、网络卡槽、网络接口卡、串行网络接口、无线接口或它们的组合。
存储器132被配置为存储预期进程数据,预期进程数据指示与软件应用程序122关联的预期进程。例如,数据指示预期进程107、预期进程113或两者。存储器132还被配置为存储应用程序重启标准111。在具体方面中,预期进程数据、应用程序重启标准111或两者基于用户输入、默认数据、配置设定或它们的组合。存储器132被配置为存储指令125。指令125被处理器134执行时执行本文所述的一个或多个操作。
应当注意,在以下描述中,由图1的系统100执行的各种功能被描述为由某些组件或模块执行。然而,组件和模块的这种划分仅用于说明。在替代方面中,在本文中描述为由特定组件或模块执行的功能在多个组件或模块之间划分。此外,在替代方面中,图1的两个或两个以上组件或模块集成为单个组件或模块。图1中所示出的每一个组件或模块可以使用硬件(例如现场可编程门阵列(FPGA)设备、专用集成电路(ASIC)、数字信号处理器(DSP)、控制器等)、软件(例如可由处理器执行的指令)或它们任何组合来实现。
在操作期间,集群管理设备110在系统100的一个或多个节点激活软件应用程序122的实例和服务组。例如,响应于来自系统管理员的用户输入,集群管理设备110激活软件应用程序122的实例和服务组。为了说明,集群管理设备110向计算节点102发送第一请求。第一请求指示将要在计算节点102激活软件应用程序122的实例和相应的服务组。响应于接收到第一请求,状态数据分析器146在计算节点102激活(例如启动)软件应用程序122的第一实例160。响应于接收到第一请求,状态数据分析器146还在计算节点102激活(例如启动)服务组(例如进程监视器140、进程监视器检查器142或两者)。应当理解,服务组的两个组件作为说明性示例提供。在其他示例中,服务组包括少于两个组件或多于两个组件。在一些示例中,服务组的两个或两个以上组件被组合成单个组件。在一些示例中,在本文中描述为由服务组的特定组件执行的功能由服务组的多个组件执行。
在具体方面中,集群管理设备110选择至少一个计算节点监视其他计算节点。例如,集群管理设备110基于集群进程数据143选择计算节点102。在具体实现方式中,集群管理设备110从计算节点102接收进程状态数据105、从计算节点104接收第二进程状态数据、从计算节点106接收进程状态数据165或它们的组合。例如,响应于向计算节点102发送第一请求、向计算节点104发送第二请求以及向计算节点106发送请求163,集群管理设备110接收进程状态数据105、第二进程状态数据和进程状态数据165。集群管理设备110基于进程状态数据105、第二进程状态数据、进程状态数据165或它们的组合,生成集群进程数据143。集群进程数据143指示在计算节点102运行的进程124的与软件应用程序122关联的子集的第一计数。响应于确定进程124的子集的第一计数小于或等于在计算节点104运行的进程的第二计数、在计算节点106运行的进程的第三计数或两者,集群管理设备110选择计算节点102。在具体实现方式中,集群管理设备110选择计算节点102而不取决于集群进程数据143。例如,集群管理设备110基于循环选择、用户输入、默认数据、配置设定或它们的组合选择计算节点102。
集群管理设备110向计算节点102(例如所选择的计算节点)发送第二请求。响应于接收到第二请求,状态数据分析器146在计算节点102激活(例如启动)对等方警报服务组(例如对等方监视器150、对等方监视器检查器152或两者)。
在具体示例中,处理器134的第一线程、第二线程、第三线程、第四线程和第五线程分别对应于软件应用程序122的第一实例160、进程监视器140、进程监视器检查器142、对等方监视器150、对等方监视器检查器152。应当理解,服务组的两个组件作为说明性示例提供。在其他示例中,服务组包括少于两个组件或多于两个组件。在一些示例中,服务组的两个或两个以上组件被组合成单个组件。在一些示例中,在本文中描述为由服务组的特定组件执行的功能由服务组的多个组件执行。
进程监视器检查器验证器144确定进程监视器检查器142是否正在计算节点102运行。例如,进程监视器检查器验证器144执行第一命令(例如ps命令)以生成第一进程数据,第一进程数据至少指示进程124的与进程监视器检查器142关联的子集。在具体方面中,第一命令指示进程监视器检查器142。在具体示例中,进程监视器检查器142的标识符被提供作为第一命令(例如ps命令)的自变量(argument)。响应于确定第一进程数据未指示与进程监视器检查器142关联的任何进程或未指示与进程监视器检查器142关联的特定预期进程,进程监视器检查器验证器144确定进程监视器检查器142在计算节点102未运行(例如未运行在有效状态下)。响应于确定进程监视器检查器142在计算节点102未运行,进程监视器检查器验证器144启动(例如重启)进程监视器检查器142。
在具体方面中,进程监视器检查器验证器144被配置为确定进程监视器检查器142是否已经在计算节点102停止运行。例如,响应于确定进程监视器检查器142在计算节点102未运行,进程监视器检查器验证器144确定第一进程数据的先前版本是否指示进程监视器检查器142先前在计算节点102运行。为了说明,进程监视器检查器验证器144通过在第一特定时间执行第一命令而生成第一进程数据的第一版本,并通过在第二特定时间执行第一命令而生成第一进程数据的第二版本。响应于确定第一进程数据的第一版本指示进程监视器检查器142在第一特定时间运行并且第一进程数据的第二版本指示进程监视器检查器142在第二特定时间未运行,进程监视器检查器验证器144确定进程监视器检查器142已经在计算节点102停止运行。进程监视器检查器验证器144将第一进程数据的第二版本存储在存储器132中。响应于确定进程监视器检查器142已经在计算节点102停止运行,进程监视器检查器验证器144重启进程监视器检查器142。在具体方面中,响应于检测到定时器结束(例如每5分钟)、接收到用户输入、接收到来自状态数据分析器146的请求或它们的组合,进程监视器检查器验证器144执行第一命令。
进程监视器检查器142确定进程监视器140是否正在计算节点102运行。例如,进程监视器检查器142执行第二命令(例如ps命令)以生成第二进程数据,第二进程数据至少指示进程124的与进程监视器140关联的子集。响应于确定第二进程数据未指示与进程监视器140关联的任何进程或未指示与进程监视器140关联的特定预期进程,进程监视器检查器142确定进程监视器140在计算节点102未运行(例如未运行在有效状态下)。响应于确定进程监视器140在计算节点102未运行,进程监视器检查器142启动(例如重启)进程监视器140。
在具体方面中,进程监视器检查器142确定进程监视器140是否已经在计算节点102停止运行。例如,响应于确定进程监视器140在计算节点102未运行,进程监视器检查器142确定第二进程数据的先前版本是否指示进程监视器140先前在计算节点102运行。为了说明,进程监视器检查器142通过在第一特定时间执行第二命令来生成第二进程数据的第一版本,并且通过在第二特定时间执行第二命令来生成第二进程数据的第二版本。响应于确定第二进程数据的第一版本指示进程监视器140在第一特定时间运行并且第二进程数据的第二版本指示进程监视器140在第二特定时间未运行,进程监视器检查器142确定进程监视器140已经在计算节点102停止运行。进程监视器检查器142将第二进程数据的第二版本存储在存储器132中。响应于确定进程监视器140已经在计算节点102停止运行,进程监视器检查器142重启进程监视器140。在具体方面中,响应于检测到定时器结束(例如每5分钟)、接收到用户输入、接收到来自状态数据分析器146的请求或它们的组合,进程监视器检查器142执行第二命令。
进程监视器140为软件应用程序122的第一实例160生成进程状态数据105。例如,进程监视器140执行第三命令(例如ps命令)以生成进程状态数据105,进程状态数据105至少指示进程124的与软件应用程序122关联的子集。在具体方面中,第三命令指示软件应用程序122。在具体示例中,软件应用程序122的标识符被提供作为第三命令(例如ps命令)的自变量。进程监视器140将进程状态数据105存储在存储器132中、将进程状态数据105提供给状态数据分析器146或两者。在具体方面中,响应于检测到定时器结束(例如每5分钟)、接收到用户输入、接收到来自状态数据分析器146的请求或它们的组合,进程监视器140执行第三命令。
状态数据分析器146分析进程状态数据105以检查与软件应用程序122关联的预期进程的状态。在具体方面中,响应于检测到定时器结束(例如每5分钟)、接收到用户输入、接收到来自进程监视器140的进程状态数据105、确定进程状态数据105已经在存储器132中更新或它们的组合,状态数据分析器146分析进程状态数据105。
状态数据分析器146基于进程状态数据105确定(例如在进程状态数据105的第一分析阶段期间)进程计数127。进程计数127指示进程124的包括特定进程类型的进程(例如1级进程、2级进程、3级进程或它们的组合)的子集的计数。例如,预期进程数据指示与软件应用程序122关联的每个预期进程的相应进程类型。状态数据分析器146基于进程状态数据105和预期进程数据确定进程计数127。例如,进程计数127指示进程124的由进程状态数据105指示的子集的计数。该子集包括由预期进程数据指示为具有特定进程类型的进程(例如3级进程)。
状态数据分析器146确定进程计数127是否满足进程计数阈值119。例如,响应于确定进程计数127大于或等于第一阈值(例如10)并且小于或等于第二阈值(例如20),状态数据分析器146确定进程计数127不满足进程计数阈值119。作为另一示例,响应于确定进程计数127大于或等于第二阈值(例如20),状态数据分析器确定进程计数127不满足进程计数阈值119。在具体方面中,进程计数阈值119指示第一阈值、第二阈值或两者。
响应于确定进程计数127不满足进程计数阈值119,状态数据分析器146执行一个或多个动作。例如,一个或多个动作包括生成通知151、通知153、更新155、通知157、通知159或它们的组合。通知151、通知153、更新155、通知157或通知159中的一个或多个指示特定进程类型(例如3级进程)的进程计数127不满足进程计数阈值。例如,通知151、通知153、更新155、通知157或通知159中的一个或多个指示特定进程类型(例如3级进程)的进程计数127大于或等于第一阈值(例如10)并且小于或等于第二阈值(例如20)。作为另一示例,通知151、通知153,更新155、通知157或通知159中的一个或多个指示特定进程类型(例如3级进程)的进程计数127大于第二阈值(例如20)。
状态数据分析器146经由网络接口130向集群管理设备110发送通知151、向设备112发送通知153、向存储设备108发送更新155、向计算节点106发送通知157、向计算节点104发送通知159或它们的组合。在具体方面中,响应于接收到通知151,集群管理设备110更新仪表板数据121以指示计算节点102的特定进程类型(例如3级进程)的进程计数127不满足进程计数阈值119。集群管理设备110向显示器、计算节点102、计算节点104、计算节点106、设备112或它们的组合提供仪表板数据121。在具体方面中,计算节点102基于仪表板数据121生成输出123并向显示器114提供输出123。例如,用户可以通过查看输出123来监视系统100的操作。在具体方面中,仪表板数据121与仪表板(例如可视化信息显示和管理接口)关联。
在具体方面中,响应于接收到通知153,设备112在设备112显示消息(例如电子邮件消息或警报)。在具体方面中,响应于接收到通知153,设备112向仪表板(例如可视化信息显示和管理接口)发送消息、更新状态日志文件或两者。该消息指示计算节点102的特定进程类型(例如3级进程)的进程计数127不满足进程计数阈值119。在具体方面中,响应于接收到更新155,存储设备108更新日志数据131以指示计算节点102的特定进程类型(例如3级进程)的进程计数127不满足进程计数阈值119。日志数据131与计算节点102、软件应用程序122、软件应用程序122的第一实例160或它们的组合关联。在具体方面中,响应于接收到通知157(或通知159),计算节点106(或计算节点104)更新仪表板数据以指示计算节点102的特定进程类型(例如3级进程)的进程计数127不满足进程计数阈值119。
状态数据分析器146确定(例如在进程状态数据105的第二分析阶段中)由预期进程数据指示的预期进程中的一个或多个是否正在计算节点102运行。例如,状态数据分析器146基于进程状态数据105确定软件应用程序122的第一实例160的预期进程107是否正在第一计算节点102运行。为了说明,响应于确定进程状态数据105指示预期进程107停止或者进程状态数据105指示的进程124不包括预期进程107,状态数据分析器146确定预期进程107在计算节点102未运行。
在具体方面中,状态数据分析器146确定预期进程107是否已经在计算节点102停止运行。例如,响应于确定预期进程107在计算节点102未运行,状态数据分析器146确定进程状态数据105的先前版本是否指示预期进程107先前在计算节点102运行。为了说明,状态数据分析器146在第一特定时间生成(例如通过执行ps命令)进程状态数据105的第一版本,并且在第二特定时间生成(例如通过执行ps命令)进程状态数据105的第二版本。响应于确定进程状态数据105的第一版本指示预期进程107在第一特定时间运行并且进程状态数据105的第二版本指示预期进程107在第二特定时间未运行,状态数据分析器146确定预期进程107已经在计算节点102停止运行。状态数据分析器146将进程状态数据105的第二版本存储在存储器132中。
响应于确定预期进程107在计算节点102未运行(或已经停止运行),状态数据分析器146执行一个或多个动作。一个或多个动作包括启动(或重启)预期进程107、启动(或重启)软件应用程序122的第一实例160、生成通知151、生成通知153、生成更新155、生成通知157、生成通知159、关闭(例如停止)服务组(例如进程监视器140、进程监视器检查器142或两者)、关闭对等方警报服务组(例如对等方监视器150、对等方监视器检查器152或两者)、关闭软件应用程序122的第一实例160或它们的组合。例如,状态数据分析器146确定预期进程数据指示预期进程107具有进程类型117,并基于进程类型117选择一个或多个动作。
在具体方面中,响应于确定进程类型117匹配第一进程类型(例如1级进程),状态数据分析器146确定是否满足应用程序重启标准111,如参考图5B进一步描述的。响应于确定满足应用程序重启标准111,状态数据分析器146在第一计算节点102重启软件应用程序122的第一实例160。状态数据分析器146生成通知151、通知153、更新155、通知157、通知159或它们的组合,指示检测到进程类型117的预期进程107失败并且软件应用程序122的第一实例160在计算节点102重启。
可替代地,响应于确定不满足应用程序重启标准111,状态数据分析器146禁止重启软件应用程序122的第一实例160。例如,状态数据分析器146在计算节点102关闭(例如停止)软件应用程序122的第一实例160、进程监视器140、进程监视器检查器142、对等方监视器150、对等方监视器检查器152或它们的组合。状态数据分析器146生成通知151、通知153、更新155、通知157、通知159或它们的组合,指示检测到进程类型117的预期进程107失败并且软件应用程序122的第一实例160在计算节点102关闭。集群管理设备110基于通知151更新仪表板数据121,设备112基于通知153显示消息,存储设备108基于更新155更新日志数据131,计算节点106基于通知157更新仪表板数据,计算节点104基于通知159更新仪表板数据或它们的组合,以指示检测到进程类型117的预期进程107失败并且软件应用程序122在计算节点102重启(或关闭)。
在具体方面中,响应于确定进程类型117匹配第二进程类型(例如2级进程),状态数据分析器146启动(例如重启)预期进程107。状态数据分析器146生成通知151、通知153、更新155、通知157、通知159或它们的组合,指示检测到进程类型117的预期进程107失败并且预期进程107在计算节点102启动(例如重启)。集群管理设备110基于通知151更新仪表板数据121,设备112基于通知153显示消息,存储设备108基于更新155更新日志数据131,计算节点106基于通知157更新仪表板数据,计算节点104基于通知159更新仪表板数据或它们的组合,以指示检测到进程类型117的预期进程107失败并且预期进程107在计算节点102启动(例如重启)。因此,状态数据分析器146和服务组(例如进程监视器140、进程监视器检查器142或两者)通过选择性地重启第一实例160、启动对应于软件应用程序122的有效状态的预期进程107(例如2级进程)或两者,来减少软件应用程序122的第一实例160的停机时间。
对等方监视器检查器验证器154确定对等方监视器检查器152是否正在计算节点102运行。例如,对等方监视器检查器验证器154执行第一命令(例如ps命令)以生成第一进程数据,第一进程数据至少指示进程124的与对等方监视器检查器152关联的子集。在具体方面中,第一命令指示对等方监视器检查器152(例如使用第一命令提供对等方监视器检查器152的标识符)。响应于确定第一进程数据未指示与对等方监视器检查器152关联的任何进程或未指示与对等方监视器检查器152关联的特定预期进程,对等方监视器检查器验证器154确定对等方监视器检查器152在计算节点102未运行(例如未运行在有效状态下)。例如,响应于确定对等方监视器检查器152在计算节点102未运行,对等方监视器检查器验证器154启动(例如重启)对等方监视器检查器152。
在具体方面中,对等方监视器检查器验证器154被配置为确定对等方监视器检查器152是否已经在计算节点102停止运行。例如,响应于确定对等方监视器检查器152在计算节点102未运行,对等方监视器检查器验证器154确定第一进程数据的先前版本是否指示对等方监视器检查器152先前在计算节点102运行。为了说明,对等方监视器检查器验证器154在第一特定时间生成第一进程数据的第一版本,并在第二特定时间生成第一进程数据的第二版本。响应于确定第一进程数据的第一版本指示对等方监视器检查器152在第一特定时间运行并且第一进程数据的第二版本指示对等方监视器检查器152在第二特定时间未运行,对等方监视器检查器验证器154确定对等方监视器检查器152已经在计算节点102停止运行。对等方监视器检查器验证器154将第一进程数据的第二版本存储在存储器132中。响应于确定对等方监视器检查器152已经在计算节点102停止运行,对等方监视器检查器验证器154重启对等方监视器检查器152。在具体方面中,响应于检测到定时器结束(例如每5分钟)、接收到用户输入、接收到来自状态数据分析器146的请求或它们的组合,对等方监视器检查器验证器154执行第一命令。
对等方监视器检查器152确定对等方监视器150是否正在计算节点102运行。例如,对等方监视器检查器152执行第二命令(例如ps命令)以生成第二进程数据,第二进程数据至少指示进程124的与对等方监视器150关联的子集。响应于确定第二进程数据未指示与对等方监视器150关联的任何进程或未指示与对等方监视器150关联的特定预期进程,对等方监视器检查器152确定对等方监视器150在计算节点102未运行(或未运行在有效状态下)。响应于确定对等方监视器150在计算节点102未运行,对等方监视器检查器152启动(或重启)对等方监视器150。
在具体方面中,对等方监视器检查器152被配置为确定对等方监视器150是否已经在计算节点102停止运行。例如,响应于确定对等方监视器150在计算节点102未运行,对等方监视器检查器152确定第二进程数据的先前版本是否指示对等方监视器150先前在计算节点102运行。为了说明,对等方监视器检查器152在第一特定时间生成第二进程数据的第一版本,并在第二特定时间生成第二进程数据的第二版本。响应于确定第二进程数据的第一版本指示对等方监视器150在第一特定时间运行并且第二进程数据的第二版本指示对等方监视器150在第二特定时间未运行,对等方监视器检查器152确定对等方监视器150已经在计算节点102停止运行。对等方监视器检查器152将第二进程数据的第二版本存储在存储器132中。响应于确定对等方监视器150已经在计算节点102停止运行,对等方监视器检查器152重启对等方监视器150。在具体方面中,响应于检测到定时器结束(例如每5分钟)、接收到用户输入、接收到来自状态数据分析器146的请求或它们的组合,对等方监视器检查器152执行第二命令。
对等方监视器150收集指示与软件应用程序122关联的预期进程在其他计算节点的状态的数据。在具体实现方式中,对等方监视器150从集群管理设备110接收集群进程数据143。在具体方面中,对等方监视器150向集群管理设备110发送请求并接收响应该请求的集群进程数据143。在替代方面中,集群管理设备110向对等方监视器150发送集群进程数据143而不取决于接收到该请求。例如,响应于检测到定时器结束、接收到用户输入或两者,集群管理设备110向对等方监视器150发送集群进程数据143。对等方监视器150将集群进程数据143存储在存储器132中、向状态数据分析器146提供集群进程数据143或两者。
在具体实现方式中,对等方监视器150从存储设备108接收日志数据141。在具体方面中,对等方监视器150向存储设备108发送日志请求161并接收响应日志请求161的日志数据141。在替代方面中,存储设备108向对等方监视器150发送日志数据141而不取决于接收到日志请求161。例如,响应于检测到定时器结束、接收到用户输入或两者,存储设备108向对等方监视器150发送日志数据141。对等方监视器150将日志数据141存储在存储器132中、向状态数据分析器146提供日志数据141或两者。
对等方监视器150检查与软件应用程序122关联的预期进程在计算节点104的状态。例如,对等方监视器150确定软件应用程序122的第二实例162是否在计算节点104失败。在具体实现方式中,对等方监视器150基于集群进程数据143、日志数据141或两者确定第二实例162是否在计算节点104失败。例如,对等方监视器150确定集群进程数据143(或日志数据141)指示一个或多个第二进程正在计算节点104运行、一个或多个第三进程在计算节点104停止或两者。响应于确定第二进程不包括预期进程113、第三进程包括预期进程113或两者,对等方监视器150确定第二实例162未运行在有效状态下。在具体方面中,响应于确定第二实例162未运行在有效状态下,对等方监视器150确定软件应用程序122的第二实例162在计算节点104失败。
在具体方面中,对等方监视器150确定第二实例162是否已经停止在有效状态下运行。例如,响应于确定第二实例162未运行在有效状态下,对等方监视器150确定集群进程数据143的先前版本(或日志数据141的先前版本)是否指示第二实例162先前在计算节点104运行在有效状态下。为了说明,对等方监视器150确定在第一特定时间生成(或接收)集群进程数据143的第一版本(或日志数据141的第一版本),并且在第二特定时间生成(或接收)集群进程数据143的第二版本(或日志数据141的第二版本)。响应于确定集群进程数据143的第一版本(或日志数据141的第一版本)指示第二实例162在第一特定时间运行在有效状态下并且集群进程数据143的第二版本(或日志数据141的第二版本)指示第二实例162在第二特定时间未运行在有效状态下,对等方监视器150确定第二实例162在计算节点104已经停止运行在有效状态下。响应于确定第二实例162在计算节点104已经停止运行在有效状态下,对等方监视器150确定第二实例162已经在计算节点104失败。对等方监视器150将集群进程数据143的第二版本(或日志数据141的第二版本)存储在存储器132中。
在具体方面中,响应于确定集群进程数据143(或日志数据141)指示软件应用程序122在计算节点104关闭,对等方监视器150确定软件应用程序122的第二实例162在计算节点104失败。在具体方面中,响应于检测到定时器结束(例如每5分钟)、接收到用户输入、从对等方监视器150接收到集群进程数据143、确定集群进程数据143已经在存储器132中更新、从存储设备108接收到日志数据141、确定日志数据141已经在存储器132中更新或它们的组合,对等方监视器150分析集群进程数据143、日志数据141或两者。
响应于确定软件应用程序122的第二实例162在第二计算节点104失败,对等方监视器150执行一个或多个动作。一个或多个动作包括生成通知151、通知153、更新155、通知157、通知159、指定集群管理设备110或它们的组合,以指示检测到软件应用程序122的第二实例162在计算节点104失败。例如,响应于确定计算节点104对应于(例如包括)集群管理设备110,对等方监视器150将计算节点102或计算节点106指定为集群管理设备110。为了说明,对等方监视器150在计算节点102启动集群管理应用程序的实例,或者向计算节点106发送请求以启动集群管理应用程序的实例。在具体方面中,响应于确定软件应用程序122的第二实例162在第二计算节点104失败,对等方监视器150生成进程状态数据105、将进程状态数据105发送到集群管理设备110或两者。
在具体方面中,响应于接收到通知151并且确定通知151指示第二实例162在计算节点104失败,集群管理设备110更新负载平衡器,以将针对计算节点104的未来请求重定向到另一计算节点。在具体方面中,响应于接收到通知151并且确定通知151指示第二实例162在计算节点104失败,集群管理设备110生成(或更新)集群进程数据143、选择计算节点以执行与第二实例162关联的任何未完成任务或两者。例如,响应于接收到通知151,集群管理设备110向计算节点106发送请求163。响应于接收到请求163,计算节点106向集群管理设备110发送进程状态数据165。集群管理设备110基于进程状态数据105、进程状态数据165或两者生成(或更新)集群进程数据143。
集群管理设备110确定进程状态数据105指示在计算节点102运行的进程124的与软件应用程序122关联的子集的第一计数。响应于确定第一计数小于或等于在计算节点106运行的进程的第二计数,集群管理设备110基于集群进程数据143选择计算节点102。例如,第二计数指示在计算节点106运行的进程的与软件应用程序122关联的子集。集群管理设备110向计算节点102(例如所选择的计算节点)发送分配(assignment,分派)145以指示计算节点102将要执行与第二实例162关联的任何未完成任务。
对等方监视器150识别与软件应用程序122的第二实例162关联的未完成任务109。在具体实现方式中,响应于确定软件应用程序122的第二实例162在计算节点104失败、从集群管理设备110接收到分配145或两者,对等方监视器150向存储设备108发送日志请求161。对等方监视器150确定日志数据141是否指示与软件应用程序122的第二实例162关联的未完成任务109。
对等方监视器150执行与未完成任务109关联的一个或多个动作。例如,对等方监视器150执行与未完成任务115关联的动作128。在具体方面中,对等方监视器150执行动作128以恢复未完成任务115。例如,响应于确定未完成任务115包括数据库更新,对等方监视器150执行动作128以回退数据库更新。在替代方面中,对等方监视器150执行动作128以完成未完成任务115。例如,响应于确定未完成任务115包括数据库更新,对等方监视器150执行动作128以提交数据库更新。
因此,系统100通过选择性地重启第一实例160、启动对应于软件应用程序122的有效状态的预期进程107(例如2级进程)或两者来减少软件应用程序122在计算节点102的停机时间。系统100还能够通过使计算节点102处理与计算节点104的软件应用程序122的失败实例关联的未完成任务109来恢复到有效状态。
图2示出了用于监视软件应用程序的进程的方法200的示例。在具体方面中,方法200由图1的集群管理设备110、计算节点102、计算节点104、计算节点106、系统100或它们的组合执行。
方法200包括在202,启动节点的软件应用程序实例。例如,图1的集群管理设备110向计算节点102、计算节点104、计算节点106或它们的组合发送第一请求。响应于从集群管理设备110接收到第一请求,计算节点102启动软件应用程序122的第一实例160,如参考图1所描述的。在具体方面中,响应于接收到第一请求,系统100的其他计算节点也启动软件应用程序122的实例。例如,计算节点104启动软件应用程序122的第二实例162。
方法200还包括在204,启动节点的服务组。例如,图1的集群管理设备110向计算节点102、计算节点104、计算节点106或它们的组合发送第二请求。响应于从集群管理设备110接收到第二请求,计算节点102启动与软件应用程序122关联的服务组(例如进程监视器140、进程监视器检查器142或两者),如参考图1所描述的。在具体方面中,响应于接收到第二请求,系统100的其他计算节点也启动服务组的实例。在具体方面中,响应于接收到第一请求,计算节点102启动第一实例160,并且响应于接收到不同于第一请求的第二请求,计算节点102启动服务组。在替代方面中,响应于接收到单个请求,计算节点102启动第一实例160和服务组(例如进程监视器140、进程监视器检查器142或两者)。
方法200还包括在206,启动对等方警报服务组。例如,图1的集群管理设备110选择至少一个计算节点来监视其他计算节点,并向所选择的计算节点发送第三请求。为了说明,集群管理设备110选择计算节点104,如参考图1所描述的。集群管理设备110向计算节点104(例如所选择的计算节点)发送第三请求。响应于从集群管理设备110接收到第三请求,计算节点102启动对等方警报服务组(例如对等方监视器150、对等方监视器检查器152或两者),如参考图1所描述的。
因此,方法200使得集群管理设备110能够在多个计算节点启动软件应用程序122的实例和相应服务组。方法200还使得集群管理设备110能够选择至少一个计算节点并且在所选择的计算节点启动对等方警报服务组以监视其他计算节点。
图3示出了用于监视软件应用程序的进程的方法300的示例。在具体方面中,方法300由图1的状态数据分析器146、进程监视器140、进程监视器检查器142、进程监视器检查器验证器144、计算节点102、计算节点104、计算节点106、集群管理设备110、系统100或它们的组合执行。
在具体方面中,方法300从图2的204继续。例如,集群管理设备110向计算节点102、计算节点104、计算节点106或它们的组合发送第二请求以启动对应于软件应用程序122的实例的服务组。响应于在计算节点102、计算节点104、计算节点106或它们的组合接收到第二请求,执行方法300。
方法300包括在302,启动进程监视器检查器和进程监视器。例如,图1的状态数据分析器146启动进程监视器检查器142、进程监视器140或两者,如参考图1所描述的。在具体方面中,状态数据分析器146启动在图1的处理器134执行的分别对应于进程监视器检查器142和进程监视器140的第一线程和第二线程。
方法300还包括在310,检查进程监视器的状态。例如,图1的进程监视器检查器142生成第一进程状态数据,第一进程状态数据指示进程124的对应于进程监视器140的子集(如果有),如参考图1所描述的。
方法300还包括在312,确定进程监视器是否已经停止运行。例如,图1的进程监视器检查器142基于第一进程状态数据确定进程监视器140是否已经停止运行,如参考图1所描述的。
方法300包括,响应于在312确定进程监视器并未停止运行,返回至310。例如,响应于在第一时间确定进程监视器140正在运行或进程监视器140先前未运行,图1的进程监视器检查器142在第二时间生成第一进程状态数据的更新版本。为了说明,响应于检测到定时器结束,进程监视器检查器142生成第一进程状态数据。
方法300包括在314,响应于在312确定进程监视器已经停止运行,重启进程监视器。例如,响应于基于第一进程状态数据确定进程监视器140已经停止运行,图1的进程监视器检查器142重启进程监视器140。方法300继续到310。
方法300还包括在316,检查预期进程的状态。例如,图1的进程监视器140生成进程状态数据105,进程状态数据105指示在计算节点102运行的进程124,如参考图1所描述的,。
方法300还包括在318,确定进程计数是否大于阈值。例如,图1的状态数据分析器146基于进程状态数据105生成进程计数127,如参考图1所描述的。状态数据分析器146确定进程计数127是否大于进程计数阈值119。
方法300包括在320,响应于确定进程计数大于阈值,执行进程计数通知、更新日志数据并且更新仪表板数据。例如,响应于确定进程计数127大于进程计数阈值119,图1的状态数据分析器146生成通知151、通知153、更新155、通知157、通知159或它们的组合,以指示进程计数127不满足进程计数阈值119,如参考图1所描述的。在具体示例中,响应于确定进程计数127大于进程计数阈值119,状态数据分析器146更新仪表板数据121以指示进程计数127不满足进程计数阈值119。
方法300包括在322,确定任何预期进程是否已经停止运行。例如,图1的状态数据分析器146基于进程状态数据105确定与软件应用程序122关联的任何预期进程是否已经在计算节点102停止运行。方法300包括响应于在322确定没有预期进程已经停止运行,继续到326。
方法300包括在324,响应于在322确定至少一个预期进程已经停止运行,执行对已经停止运行的预期进程的分析。例如,图1的状态数据分析器146执行对已经停止运行的预期进程的分析,如参考图4进一步描述的。
方法300还包括在326,检查进程监视器检查器的状态。例如,图1的进程监视器检查器验证器144生成第二进程状态数据,第二进程状态数据指示对应于图1的进程监视器检查器142的进程124的子集(如果有),如参考图1所描述的。
方法300还包括在328,确定进程监视器检查器是否已经停止运行。例如,图1的进程监视器检查器验证器144基于第二进程状态数据确定进程监视器检查器142是否已经停止运行,如参考图1所描述的。
方法300包括:响应于在328确定进程监视器检查器已经停止运行,返回316。例如,图1的进程监视器140在第一时间生成进程状态数据105的第一版本。图1的状态数据分析器146基于进程状态数据105的第一版本,确定与软件应用程序122关联的任何预期进程是否已经停止运行,并对已经停止运行的任何预期进程执行分析。进程监视器检查器验证器144在第一时间之后的第二时间生成第二进程状态数据。进程监视器检查器验证器144基于第二进程状态数据确定进程监视器检查器142是否已经停止运行,并且如果进程监视器检查器142已经停止运行,则重启进程监视器检查器142。在具体方面中,进程监视器140在第二时间之后的第三时间生成进程状态数据105的第二版本。在具体方面中,状态数据分析器146向进程监视器140发送请求以提供进程状态数据105的更新版本。为了说明,响应于检测到定时器结束,状态数据分析器146发送该请求。
方法300包括在330,响应于在328确定进程监视器检查器已经停止运行,重启进程监视器检查器。例如,响应于确定第二进程数据指示进程监视器检查器142已经停止运行,图1的进程监视器检查器验证器144重启进程监视器检查器142。方法300返回316。
因此,方法300通过提供多级检查来实现对与软件应用程序122关联的预期进程的鲁棒监视。图3示出了由进程监视器检查器142和进程监视器140提供的两级检查。
图4示出了用于监视软件应用程序的进程的方法的示例。该方法对应于图3的324。在具体方面中,方法324由图1的状态数据分析器146、计算节点102、计算节点104、计算节点106、系统100或它们的组合执行。
方法324包括在402,确定已经停止运行的预期进程的进程类型。例如,图1的状态数据分析器146基于预期进程数据确定预期进程107是否具有进程类型117,如参考图1所描述的。
方法324还包括在404,响应于在402确定进程类型匹配进程类型401,确定是否满足应用程序重启标准。例如,响应于确定进程类型117匹配进程类型401(例如1级进程),图1的状态数据分析器146确定是否满足应用程序重启标准111,如参考图5B进一步描述的。
方法324包括在406,响应于在404确定满足应用程序重启标准,增加失败计数器的值。例如,响应于确定满足应用程序重启标准111,图1的状态数据分析器146增加图5B的失败计数器517的值(例如加1)。
方法324还包括在408,重启软件应用程序。例如,图1的状态数据分析器146重启软件应用程序122的第一实例160。
方法324还包括在410,执行进程失败重启通知、更新日志数据并且更新仪表板数据。例如,图1的状态数据分析器146生成通知151、通知153、更新155、通知157、通知159或它们的组合,以指示软件应用程序122在计算节点102重启,如参考图1所描述的。在具体方面中,状态数据分析器146更新图1的仪表板数据121以指示软件应用程序在计算节点102重启。方法324返回至326。
方法324包括在412,响应于在404确定不满足应用程序重启标准,关闭软件应用程序。例如,响应于确定不满足应用程序重启标准111,状态数据分析器146关闭(例如停止)软件应用程序122的第一实例160。
方法324还包括在414,在计算节点停止服务组。例如,图1的状态数据分析器146在计算节点102停止服务组(例如进程监视器140、进程监视器检查器142或两者)。
方法324还包括在416,执行停止进程通知、更新日志数据并且更新仪表板数据。例如,图1的状态数据分析器146生成通知151、通知153、更新155、通知157、通知159或它们的组合,以指示软件应用程序122在计算节点102关闭。在具体方面中,状态数据分析器146更新仪表板数据121以指示软件应用程序122在计算节点102关闭。
方法324包括在418,响应于在402确定进程类型匹配进程类型403,重启预期进程。例如,响应于确定进程类型117匹配进程类型403(例如2级进程),图1的状态数据分析器146重启预期进程107。
方法324包括在420,确定是否要分析另一预期进程。例如,图1的状态数据分析器146基于进程状态数据105确定是否还有其他预期进程在计算节点102未运行。
方法324包括:响应于在420确定要分析另一预期进程,返回至402。例如,响应于基于进程状态数据105确定第二预期进程已经停止运行并且还没有执行与第二预期进程相关的分析,图1的状态数据分析器146执行与第二预期进程相关的分析。方法324包括:响应于确定没有其他预期进程要分析,返回至326。例如,响应于确定已经分析了所有已经停止运行的预期进程,图1的状态数据分析器146向进程监视器140发送请求以检查图1的进程监视器检查器142的状态。
因此,方法324使得状态数据分析器146能够分析图1的进程状态数据105,并且基于已经在计算节点102停止运行的预期进程的类型来执行各种操作。例如,状态数据分析器146针对具有进程类型401的预期进程107选择性地重启软件应用程序122的第一实例160。作为另一示例,状态数据分析器146重启具有进程类型403的预期进程107。
参考图5A,示出了总体指定为500的示图。示图500示出了状态数据分析器146和存储器132。存储器132被配置为存储进程状态数据105、启动时间511、停止时间513、失败计数阈值519、时间阈值515、应用程序重启标准111、失败计数器517或它们的组合。在具体方面中,失败计数阈值519、时间阈值515或两者基于用户输入、默认数据、配置设定或它们的组合。
启动时间511指示预期进程107先前在图1的计算节点104启动的时间。停止时间513指示检测到预期进程107在计算节点104未运行的时间。例如,停止时间513指示确定预期进程107在计算节点104未运行的时间(或生成指示预期进程107在计算节点104未运行的数据的时间)。在具体方面中,停止时间513对应于进程状态数据105的时间戳(例如指示创建时间)。
参考图5B,示出了对应于图4的404的方法的示例。在具体方面中,方法404由图1的状态数据分析器146、计算节点102、计算节点104、计算节点106、系统100或它们的组合执行。
方法404包括在502,确定停止时间和启动时间之间的差是否大于或等于时间阈值。例如,状态数据分析器146确定启动时间511和停止时间513之间的差。状态数据分析器146确定启动时间511和停止时间513之间的差是否满足(例如大于或等于)时间阈值515。
方法404包括在504,响应于在502确定停止时间和启动时间之间的差大于或等于时间阈值,重置失败计数器。例如,响应于确定停止时间513和启动时间511之间的差满足(例如大于或等于)时间阈值515,状态数据分析器146重置失败计数器517(例如为0)。在具体方面中,失败计数器517指示在启动预期进程之后相对较快发生的预期进程的连续失败的计数。
方法404还包括在506,确定失败计数器的当前值是否小于失败计数阈值。例如,图1的状态数据分析器146确定失败计数器517的值是否满足(例如小于)失败计数阈值519。
方法404包括在508,响应于在506确定失败计数器的值小于失败计数阈值,确定满足应用程序重启标准。例如,响应于确定失败计数器517的值满足(例如小于)失败计数阈值519,状态数据分析器146确定满足应用程序重启标准111。
方法404包括在510,响应于在506确定失败计数器的值大于或等于失败计数阈值,确定不满足应用程序重启标准。例如,响应于确定失败计数器517的值不满足(例如大于或等于)失败计数阈值519,状态数据分析器146确定不满足应用程序重启标准111。为了说明,如果在启动预期进程之后相对较快发生的预期进程的连续失败的计数大于或等于失败计数阈值519,则状态数据分析器146禁止在计算节点102重启软件应用程序122。
因此,状态数据分析器146使得能够基于启动预期进程和检测到预期进程停止之间的时间来确定是否满足应用程序重启标准111。例如,响应于检测到预期进程在启动之后相对较快停止并且已经检测到超过阈值数量的失败,状态数据分析器146关闭计算节点102的软件应用程序122。
图6示出了用于监视软件应用程序的进程的方法600的示例。在具体方面中,方法600由图1的对等方监视器150、对等方监视器检查器152、对等方监视器检查器验证器154、计算节点102、计算节点104、计算节点106、系统100或它们的组合执行。
在具体方面中,方法600从图2的206继续。例如,集群管理设备110向计算节点102(例如所选择的计算节点)发送请求以启动对等方警报服务组。响应于接收到该请求,在计算节点102执行方法600。
方法600包括在602,启动对等方监视器检查器和对等方监视器。例如,图1的状态数据分析器146启动对等方监视器检查器152、对等方监视器150或两者,如参考图1所描述的。在具体方面中,状态数据分析器146启动在图1的处理器134执行的分别对应于对等方监视器检查器152和对等方监视器150的第一线程和第二线程。
方法600还包括在610,检查对等方监视器的状态。例如,图1的对等方监视器检查器152生成第一进程数据,第一进程数据指示进程124的对应于对等方监视器150的子集。
方法600还包括在612,确定对等方监视器是否已经停止运行。例如,图1的对等方监视器检查器152基于第一进程数据确定对等方监视器150是否已经在计算节点102停止运行,如参考图1所描述的。
方法600还包括,响应于在612确定对等方监视器已经停止运行,返回至610。例如,响应于在第一时间确定对等方监视器150正在计算节点102运行或对等方监视器150先前在计算节点102未运行,图1的对等方监视器检查器152在第二时间生成第一进程数据的更新版本。
方法600还包括在614,响应于确定对等方监视器已经停止运行,重启对等方监视器。例如,响应于确定对等方监视器150已经在计算节点102停止运行,对等方监视器检查器152重启对等方监视器150。
方法600包括在616,检查其他节点的服务组的状态。例如,图1的对等方监视器150收集指示其他计算节点的服务组的状态的数据。为了说明,如参考图1所描述的,对等方监视器150从集群管理设备110接收集群进程数据143、从存储设备108接收对应于计算节点104的日志数据141、从存储设备108接收对应于计算节点106的第三日志数据或它们的组合。
方法600包括在618,确定任何服务组是否已经停止运行。例如,对等方监视器150确定在其他计算节点的任何服务组是否已经停止运行。为了说明,对等方监视器150确定集群进程数据143(或日志数据141)是否指示第二服务组(例如第二进程监视器、第二进程监视器检查器或两者)已经在计算节点104停止运行。在具体方面中,对等方监视器150确定集群进程数据143(或第三日志数据)是否指示第三服务组(例如第三进程监视器、第三进程监视器检查器或两者)已经在计算节点106停止运行。方法600包括:响应于在618确定没有服务组已经停止运行,继续到622。
方法600包括在620,响应于在618确定至少一个服务组已经停止运行,执行停止节点通知并更新仪表板数据。例如,响应于确定第二进程监视器或第二进程监视器检查器中的至少一个已经在计算节点104停止运行,对等方监视器150确定第二服务组已经停止运行。响应于确定第二服务组已经停止运行,对等方监视器150生成通知151、通知153、通知157、通知159或它们的组合以指示在计算节点104检测到软件应用程序122失败(或关闭)。在具体方面中,对等方监视器150更新仪表板数据121以指示在计算节点104检测到软件应用程序122失败(或关闭)。
方法600还包括在622,检查对等方监视器检查器的状态。例如,图1的对等方监视器检查器验证器154生成第二进程数据,第二进程数据指示进程124的对应于对等方监视器检查器152的子集。
方法600还包括在624,确定对等方监视器检查器是否已经停止运行。例如,图1的对等方监视器检查器验证器154基于第二进程状态数据确定对等方监视器检查器152是否已经停止运行,如参考图1所描述的。
方法600包括,响应于在624确定对等方监视器检查器已经停止运行,返回至616。例如,图1的对等方监视器150在第一时间生成集群进程数据143的第一版本、日志数据的第一版本(例如日志数据141、第三日志数据或两者)或它们的组合。对等方监视器150基于集群进程数据143的第一版本、日志数据的第一版本或两者,来确定其他计算节点的服务组是否已经停止运行,并针对已经停止运行的任何服务组执行停止节点通知。对等方监视器检查器验证器154在第一时间之后的第二时间生成第二进程数据。对等方监视器检查器验证器154基于第二进程数据确定对等方监视器检查器152是否已经停止运行,并且如果对等方监视器检查器152已经停止运行,则重启对等方监视器检查器152。对等方监视器150在第三时间生成集群进程数据143的第二版本、日志数据的第二版本(例如日志数据141、第三日志数据或两者)或它们的组合。在具体方面中,第三时间在第二时间之后。在具体方面中,对等方监视器150向集群管理设备110发送对集群进程数据143的更新版本的第一请求、向存储设备108发送对日志数据(例如日志数据141、第三日志数据或两者)的更新版本的第二请求或它们的组合。
方法600包括在626,响应于在624确定对等方监视器检查器已经停止运行,重启对等方监视器检查器。例如,响应于确定第二进程数据指示对等方监视器检查器152已经停止运行,图1的对等方监视器检查器验证器154重启对等方监视器检查器152。方法600返回至616。
因此,方法600使得能够使用多级检查对其他计算节点的进程进行鲁棒监视。图6示出了由对等方监视器检查器152和对等方监视器150提供的两级检查。
图7示出了用于监视软件应用程序的进程的方法700的流程图。方法700可以由图1的状态数据分析器146、进程监视器140、对等方监视器150、计算节点102、计算节点104、计算节点106、系统100或它们的组合执行。
方法700包括在702,在被配置为运行软件应用程序的多个实例的多个计算节点中的第一计算节点,为在第一计算节点运行的软件应用程序的第一实例生成进程状态数据。例如,图1的进程监视器140为在计算节点102运行的软件应用程序122的第一实例160生成进程状态数据105。在具体方面中,计算节点102、计算节点104和计算节点106被配置为分别运行软件应用程序122的第一实例160、第二实例162和第三实例。
方法700还包括在704,基于进程状态数据,确定软件应用程序的第一实例的预期进程是否已经在第一计算节点停止运行。例如,图1的状态数据分析器146基于进程状态数据105确定软件应用程序122的第一实例160的预期进程107是否已经在计算节点102停止运行,如参考图1所描述的。
方法700还包括在706,基于确定预期进程已经在第一计算节点停止运行,选择性地在第一计算节点重启软件应用程序的第一实例。例如,基于确定预期进程107已经在计算节点102停止运行,图1的状态数据分析器146选择性地在计算节点102重启软件应用程序122的第一实例160,如参考图1所描述的。
方法700还包括在708,确定软件应用程序的第二实例是否在多个计算节点中的第二计算节点失败。例如,图1的对等方监视器150确定软件应用程序122的第二实例162是否在计算节点104失败,如参考图1所描述的。
方法700还包括在710,响应于确定第二实例在第二计算节点失败,基于与软件应用程序的第二实例关联的未完成任务,执行动作。例如,响应于确定软件应用程序122的第二实例162在计算节点104失败,图1的对等方监视器150基于与软件应用程序122的第二实例162关联的未完成任务109,执行动作128,如参考图1所描述的。
因此,方法700通过选择性地重启第一实例160来减少软件应用程序122在计算节点102的停机时间。方法700还能够通过使计算节点102处理与计算节点104的软件应用程序122的失败实例关联的未完成任务109来恢复到有效状态。
图8示出了包括计算设备810的计算环境800的框图,计算设备810被配置为支持根据本公开的计算机实现的方法和计算机可执行程序指令(或代码)的各方面。例如,计算设备810或其部分被配置为执行指令以发起、执行或控制参考图1至图7描述的一个或多个操作。在具体方面中,计算设备810对应于计算节点102、计算节点104、计算节点106、集群管理设备110或它们的组合。
计算设备810包括收发器822。计算设备810包括处理器820。在具体方面中,处理器820对应于图1的处理器134。在具体方面中,处理器820包括进程监视器140、进程监视器检查器142、状态数据分析器146、对等方监视器150、对等方监视器检查器152或它们的组合。处理器820被配置为与系统存储器830、一个或多个存储设备840、一个或多个输入/输出接口850、一个或多个通信接口860或它们的组合通信。系统存储器830包括易失性存储器设备(例如随机存取存储器(RAM)设备)、非易失性存储器设备(例如只读存储器(ROM)设备、可编程只读存储器和快闪存储器)或两者。系统存储器830存储操作系统832,操作系统832可以包括用于引导计算设备810的基本输入/输出系统以及使计算设备810能够与用户、其他程序以及其他设备交互的完整操作系统。系统存储器830存储系统(程序)数据836。在具体方面中,图1的存储器132包括系统存储器830、一个或多个存储设备840或它们的组合。
系统存储器830包括可由处理器820执行的一个或多个应用程序834。作为一个示例,一个或多个应用程序834包括图1的指令125,指令125可由处理器820执行以发起、控制或执行参考图1至图7描述的一个或多个操作。为了说明,一个或多个应用程序834包含图1的指令125,指令125可由处理器820执行以发起、控制或执行参考进程监视器140、进程监视器检查器142、状态数据分析器146、对等方监视器150、对等方监视器检查器152或它们的组合描述的一个或多个操作。
处理器820被配置为与一个或多个存储设备840通信。例如,一个或多个存储设备840包括非易失性存储设备,比如磁盘、光盘或闪存设备。在具体示例中,存储设备840包括可移除存储器设备和不可移除存储器设备两者。存储设备840被配置为存储操作系统、操作系统的映像、应用程序以及程序数据。在具体方面中,系统存储器830、存储设备840或两者包括有形计算机可读介质。在具体方面中,存储设备840中的一个或多个在计算设备810外部。
处理器820被配置为与一个或多个输入/输出接口850通信,使得计算设备810能够与一个或多个输入/输出设备870通信以便于用户交互。处理器820被配置为基于通过输入/输出接口850接收的用户输入来检测交互事件。在具体方面中,输入/输出设备870包括图1的显示器114。处理器820被配置为通过输入/输出接口850向图1的显示器114发送显示。在具体方面中,输入/输出设备850包括图1的显示器接口126。处理器820被配置为通过一个或多个通信接口860与设备或控制器880通信。例如,一个或多个通信接口860包括图1的网络接口130,并且设备或控制器880包括集群管理设备110、存储设备108、计算节点104、计算节点106、网络190或它们的组合。在说明性示例中,非暂时性计算机可读存储介质(例如系统存储器830)包括被处理器(例如处理器820)执行时使处理器发起、执行或控制操作的指令。这些操作包括参考图1至图7描述的一个或多个操作。
此外,本公开包括根据以下项的实施方式:
项1.一种用于监视进程的系统(100),该系统包括:
多个计算节点(102、104、106)中的第一计算节点(102),多个计算节点(102、104、106)被配置为运行软件应用程序(122)的多个实例(160、162),第一计算节点(102)包括:
进程监视器(140),其被配置用于为在第一计算节点(102)运行的软件应用程序(122)的第一实例(160)生成进程状态数据(105);
状态数据分析器(146),其被配置为:
基于进程状态数据(105),确定软件应用程序(122)的第一实例(160)的预期进程(107)是否已经在第一计算节点(102)停止运行;以及
基于确定预期进程(107)已经在第一计算节点(102)停止运行,选择性地重启软件应用程序(122)的第一实例(160);进程监视器检查器(142),其被配置为:
确定进程监视器(140)是否已经在第一计算节点(102)停止运行;以及
响应于确定进程监视器(140)已经在第一计算节点(102)停止运行,重启进程监视器(140);以及
对等方监视器(150),其被配置为:
确定软件应用程序(122)的第二实例(162)是否在多个计算节点(102、104、106)中的第二计算节点(104)失败;
以及
响应于确定第二实例(162)在第二计算节点(104)失败,基于与软件应用程序(122)的第二实例(162)关联的未完成任务(109),执行动作(128);以及
第二计算节点(104)。
项2.如项1所述的系统(100),其中,进程监视器(140)还包括进程监视器检查器验证器(144),其被配置为:
确定进程监视器检查器(142)是否已经在第一计算节点(102)停止运行;以及
响应于确定进程监视器检查器(142)已经在第一计算节点(102)停止运行,重启进程监视器检查器(142)。
项3.如项1或2所述的系统(100),其中,第一计算节点(102)还包括对等方监视器检查器(152),其被配置为:
确定对等方监视器(150)是否已经在第一计算节点(102)停止运行;以及
响应于确定对等方监视器(150)已经在第一计算节点(102)停止运行,重启对等方监视器(150)。
项4.如项2-3中任一项所述的系统(100),其中,对等方监视器(150)还包括对等方监视器检查器验证器(154),其被配置为:
确定对等方监视器检查器(152)是否已经在第一计算节点(102)停止运行;以及
响应于确定对等方监视器检查器(152)已经在第一计算节点(102)停止运行,重启对等方监视器检查器(152)。
项5.如项1-4中任一项所述的系统(100),其中,状态数据分析器(146)被配置为响应于确定预期进程(107)已经在第一计算节点(102)停止运行:
确定是否满足应用程序重启标准(111);以及
响应于确定满足应用程序重启标准(111),在第一计算节点(102)重启软件应用程序(122)的第一实例(160)。
项6.如项1-5中任一项所述的系统(100),其中,状态数据分析器(146)被配置为:
基于进程状态数据(105),确定在第一时间(513)检测到预期进程(107)在第一计算节点(102)未运行;
确定第一时间(513)与启动时间(511)之间的差是否大于或等于时间阈值(515),其中,启动时间(511)指示预期进程(107)先前在第一计算节点(102)启动的时间;
响应于确定差大于或等于时间阈值(515),重置失败计数器(517);以及
基于失败计数器(517),确定是否满足应用程序重启标准(111)。
项7.如项1-6中任一项所述的系统(100),其中,状态数据分析器(146)被配置为在确定软件应用程序(122)的第一实例(160)的预期进程(107)已经在第一计算节点(102)停止运行之后:
确定失败计数器(517)是否大于或等于失败计数阈值(519);以及
响应于确定失败计数器(517)小于失败计数阈值(519),确定满足应用程序重启标准(111)。
项8.如项1-7中任一项所述的系统(100),其中,状态数据分析器(146)被配置为响应于确定失败计数器(517)大于或等于失败计数阈值(519),确定不满足应用程序重启标准(111)。
项9.如项1-8中任一项所述的系统(100),其中,状态数据分析器(146)被配置为响应于确定不满足应用程序重启标准(111),禁止在第一计算节点(102)重启软件应用程序(122)的第一实例(160)。
项10.如项1-9中任一项所述的系统(100),还包括:集群管理设备(110)和存储设备(108),其中,状态数据分析器(146)被配置为响应于确定不满足应用程序重启标准(111),向用户设备(112)发送第一通知(153)、向集群管理设备(110)发送第二通知(151)、向多个计算节点(102、104、106)中的第三计算节点(106)发送第三通知(157)、更新存储设备(108)中的日志数据(131)以指示软件应用程序(122)在第一计算节点(102)关闭,或它们的组合。
项11.如项1-10中任一项所述的系统(100),其中,状态数据分析器(146)被配置为响应于确定不满足应用程序重启标准(111),停止进程监视器(140)、进程监视器检查器(142)和对等方监视器(150)在第一计算节点(102)运行。
项12.一种方法,包括:
在被配置为运行软件应用程序(122)的多个实例(160、162)的多个计算节点(102、104、106)中的第一计算节点(102),为在第一计算节点(102)运行的软件应用程序(122)的第一实例(160)生成进程状态数据(105);
基于进程状态数据(105),确定软件应用程序(122)的第一实例(160)的预期进程(107)是否已经在第一计算节点(102)停止运行;
基于确定预期进程(107)已经在第一计算节点(102)停止运行,选择性地在第一计算节点(102)重启软件应用程序(122)的第一实例(160);
确定软件应用程序(122)的第二实例(162)是否在多个计算节点(102、104、106)中的第二计算节点(104)失败;以及
响应于确定第二实例(162)在第二计算节点(104)失败,基于与软件应用程序(122)的第二实例(162)关联的未完成任务(109),执行动作(128)。
项13.如项12所述的方法,还包括:
在第一计算节点(102)从存储设备(108)接收与第二计算节点(104)关联的日志数据(141);以及
基于日志数据(141),识别未完成任务(109)。
项14.如项12或13所述的方法,其中,执行动作(128)包括恢复未完成任务(115)或完成未完成任务(115)。
项15.如项12-14中任一项所述的方法,其中,未完成任务(109)包括数据库更新(115),其中,动作(128)包括执行数据库更新(115)的回退或提交数据库更新(115)。
项16.如项12-15中任一项所述的方法,还包括:
从集群管理设备(110)接收集群进程数据(143);以及
基于集群进程数据(143),确定软件应用程序(122)的第二实例(162)在第二计算节点(104)失败。
项17.如项12-16中任一项所述的方法,还包括:响应于确定集群进程数据(143)指示软件应用程序(122)的第二实例(162)的第二预期进程(113)已经在第二计算节点(104)停止运行,确定软件应用程序(122)的第二实例(162)在第二计算节点(104)失败。
项18.如项12-18中任一项所述的方法,还包括:
在第一计算节点(102)从存储设备(108)接收与第二计算节点(104)关联的日志数据(141);以及
响应于确定日志数据(141)指示软件应用程序(122)在第二计算节点(104)关闭,确定软件应用程序(122)的第二实例(162)在第二计算节点(104)失败。
项19.一种计算机可读存储设备(132),计算机可读存储设备(132)存储指令,指令被处理器执行时使处理器执行操作,操作包括:
在被配置为运行软件应用程序(122)的多个实例(160、162)的多个计算节点(102、104、106)中的第一计算节点(102),为在第一计算节点(102)运行的软件应用程序(122)的第一实例(160)生成进程状态数据(105);
基于进程状态数据(105),确定软件应用程序(122)的第一实例(160)的预期进程(107)是否已经在第一计算节点(102)停止运行;
基于确定预期进程(107)已经在第一计算节点(102)停止运行,选择性地在第一计算节点(102)重启软件应用程序(122)的第一实例(160);
确定软件应用程序(122)的第二实例(162)是否在多个计算节点(102、104、106)中的第二计算节点(104)失败;以及
响应于确定第二实例(162)在第二计算节点(104)失败,基于与软件应用程序(122)的第二实例(162)关联的未完成任务(109),执行动作(128)。
项20.如项19所述的计算机可读存储设备(132),其中,操作还包括,响应于确定第二实例(162)在第二计算节点(104)失败:
从第一计算节点(102)向集群管理设备(110)发送通知(151),通知(151)指示第二实例(162)在第二计算节点(104)失败;以及
在第一计算节点(102)从集群管理设备(110)接收未完成任务(109)的分配(145),其中,响应于接收到分配(145),执行动作(128)。
项21.如项19或20所述的计算机可读存储设备(132),其中,操作还包括:
响应于从集群管理设备(110)接收到分配(145),向存储设备(108)发送对与第二计算节点(104)关联的日志数据(141)的请求(161);以及
基于日志数据(141),识别未完成任务(109)。
项22.如项19-21中任一项所述的计算机可读存储设备(132),其中,操作还包括:响应于确定第二实例(162)在第二计算节点(104)失败,向集群管理设备(110)发送第一计算节点(102)的进程状态数据(105),向集群管理设备(110)发送通知(151)以发起从集群管理设备(110)向多个计算节点(102、104、106)中的第三计算节点(106)发送对第二进程数据(165)的请求(163),其中,分配(145)基于进程状态数据(105)和第二进程状态数据(165)。
尽管图1至图8中的一张或多张图示出了根据本公开的教导的系统、装置和/或方法,但是本公开不限于这些示出的系统、装置和/或方法。如本文所说明或描述的图1至图8中任一个中的一个或多个功能或组件可与图1至图8中另一个中的一个或多个其他部分组合。例如,可结合本文所描述的其他操作来执行图7的方法700的一个或一个以上元素。因此,不应将本文中所描述的单个实现方式解释为限制性的,且可在不脱离本发明的教导的情况下适当地组合本发明的实施方案。作为示例,参考图1至图8描述的一个或多个操作可以是可选的、可以至少部分地同时执行和/或可以以不同于所示出或描述的顺序执行。
上述示例是说明性的,并不限制本公开。应当理解,根据本公开的原理,许多修改和变化是可能的。
本文描述的示例的说明旨在提供对各种实现方式的结构的一般理解。这些说明并非旨在用作完整描述利用本文所述的结构或方法的装置和系统的所有元件和特征。在审阅本公开之后,许多其他实现方式对于本领域技术人员来说是显而易见的。可利用并从本发明导出其他实现方式,使得可在不脱离本发明的范围的情况下作出结构和逻辑替代及改变。例如,可以以不同于图中所示的顺序执行方法操作,或者可以省略一个或多个方法操作。因此,本公开和附图被认为是说明性的而不是限制性的。
此外,尽管本文已经示出并描述了具体示例,但是应当理解,设计成实现相同或相似结果的任何后续布置都可以代替所示出的具体实现。本公开旨在覆盖各种实现方式的任何和所有后续适配或变化。通过阅读本说明书,上述实现方式的组合以及本文未具体描述的其他实现方式对于本领域技术人员来说是显而易见的。
提交本公开的摘要应理解为其不用于解释或限制权利要求的范围或含义。此外,在前面的具体实施方式中,出于简化本公开的目的,各种特征可能组合在一起或在单个实现方式中描述。上述示例说明但不限制本公开。还应当理解,根据本公开的原理,许多修改和变化是可能的。如以下权利要求所反映的,所要求保护的主题可以涉及少于任何所公开的示例的所有特征。因此,本发明的范围由所附权利要求书及其等效物来界定。

Claims (15)

1.一种用于监视进程的系统(100),所述系统包括:
多个计算节点(102、104、106)中的第一计算节点(102),所述多个计算节点(102、104、106)被配置为运行软件应用程序(122)的多个实例(160、162),所述第一计算节点(102)包括:
进程监视器(140),被配置为生成在所述第一计算节点(102)运行的所述软件应用程序(122)的第一实例(160)的进程状态数据(105);
状态数据分析器(146),被配置为:
基于所述进程状态数据(105),确定所述软件应用程序(122)的所述第一实例(160)的预期进程(107)是否已经在所述第一计算节点(102)停止运行;以及
基于确定所述预期进程(107)已经在所述第一计算节点(102)停止运行,选择性地重启所述软件应用程序(122)的所述第一实例(160);
进程监视器检查器(142),被配置为:
确定所述进程监视器(140)是否已经在所述第一计算节点(102)停止运行;以及
响应于确定所述进程监视器(140)已经在所述第一计算节点(102)停止运行,重启所述进程监视器(140);以及
对等方监视器(150),被配置为:
确定所述软件应用程序(122)的第二实例(162)是否在所述多个计算节点(102、104、106)中的第二计算节点(104)失败;以及
响应于确定所述第二实例(162)在所述第二计算节点(104)失败,基于与所述软件应用程序(122)的所述第二实例(162)关联的未完成任务(109),执行动作(128);以及
所述第二计算节点(104)。
2.如权利要求1所述的系统(100),其中,所述进程监视器(140)还包括进程监视器检查器验证器(144),被配置为:
确定所述进程监视器检查器(142)是否已经在所述第一计算节点(102)停止运行;以及
响应于确定所述进程监视器检查器(142)已经在所述第一计算节点(102)停止运行,重启所述进程监视器检查器(142)。
3.如权利要求1或2所述的系统(100),其中,所述第一计算节点(102)还包括对等方监视器检查器(152),被配置为:
确定所述对等方监视器(150)是否已经在所述第一计算节点(102)停止运行;以及
响应于确定所述对等方监视器(150)已经在所述第一计算节点(102)停止运行,重启所述对等方监视器(150),
其中,所述对等方监视器(150)包括对等方监视器检查器验证器(154),被配置为:
确定所述对等方监视器检查器(152)是否已经在所述第一计算节点(102)停止运行;以及
响应于确定所述对等方监视器检查器(152)已经在所述第一计算节点(102)停止运行,重启所述对等方监视器检查器(152)。
4.如权利要求1或2所述的系统(100),其中,响应于确定所述预期进程(107)已经在所述第一计算节点(102)停止运行,所述状态数据分析器(146)被配置为:
确定是否满足应用程序重启标准(111);以及
响应于确定满足所述应用程序重启标准(111),在所述第一计算节点(102)重启所述软件应用程序(122)的所述第一实例(160);并且其中,所述状态数据分析器(146)被配置为:
基于所述进程状态数据(105),确定在第一时间(513)检测到所述预期进程(107)在所述第一计算节点(102)未运行;
确定所述第一时间(513)与启动时间(511)之间的差是否大于或等于时间阈值(515),其中,所述启动时间(511)指示所述预期进程(107)先前在所述第一计算节点(102)启动的时间;
响应于确定所述差大于或等于所述时间阈值(515),重置失败计数器(517);
基于所述失败计数器(517),确定是否满足所述应用程序重启标准(111);
确定所述失败计数器(517)是否大于或等于失败计数阈值(519);以及
响应于确定所述失败计数器(517)小于所述失败计数阈值(519),确定满足所述应用程序重启标准(111)。
5.如权利要求4所述的系统(100),其中,所述状态数据分析器(146)被配置为响应于确定所述失败计数器(517)大于或等于所述失败计数阈值(519),确定不满足所述应用程序重启标准(111)。
6.如权利要求4所述的系统(100),其中,所述状态数据分析器(146)被配置为响应于确定不满足所述应用程序重启标准(111),进行以下中的至少一个:禁止在所述第一计算节点(102)重启所述软件应用程序(122)的所述第一实例(160)以及停止所述进程监视器(140)、所述进程监视器检查器(142)和所述对等方监视器(150)在所述第一计算节点(102)运行。
7.如权利要求4所述的系统(100),还包括:集群管理设备(110)和存储设备(108),其中,所述状态数据分析器(146)被配置为响应于确定不满足所述应用程序重启标准(111),向用户设备(112)发送第一通知(153)、向所述集群管理设备(110)发送第二通知(151)、向所述多个计算节点(102、104、106)中的第三计算节点(106)发送第三通知(157)、更新所述存储设备(108)中的日志数据(131)以指示所述软件应用程序(122)在所述第一计算节点(102)关闭、或它们的组合。
8.一种用于监视进程的方法,包括:
在被配置为运行软件应用程序(122)的多个实例(160、162)的多个计算节点(102、104、106)中的第一计算节点(102),生成在所述第一计算节点(102)运行的所述软件应用程序(122)的第一实例(160)的进程状态数据(105);
基于所述进程状态数据(105),确定所述软件应用程序(122)的所述第一实例(160)的预期进程(107)是否已经在所述第一计算节点(102)停止运行;
基于确定所述预期进程(107)已经在所述第一计算节点(102)停止运行,选择性地在所述第一计算节点(102)重启所述软件应用程序(122)的所述第一实例(160);
确定所述软件应用程序(122)的第二实例(162)是否在所述多个计算节点(102、104、106)中的第二计算节点(104)失败;以及
响应于确定所述第二实例(162)在所述第二计算节点(104)失败,基于与所述软件应用程序(122)的所述第二实例(162)关联的未完成任务(109),执行动作(128)。
9.如权利要求8所述的方法,还包括:
在所述第一计算节点(102)从存储设备(108)接收与所述第二计算节点(104)关联的日志数据(141);以及
基于所述日志数据(141),识别所述未完成任务(109)。
10.如权利要求8或9所述的方法,其中,执行所述动作(128)包括恢复未完成任务(115)或完成所述未完成任务(115),并且其中,所述未完成任务(109)包括数据库更新(115),并且所述动作(128)包括执行所述数据库更新(115)的回退或执行所述数据库更新(115)。
11.如权利要求8或9所述的方法,还包括:
从集群管理设备(110)接收集群进程数据(143);
基于所述集群进程数据(143),确定所述软件应用程序(122)的所述第二实例(162)在所述第二计算节点(104)失败,以及
所述方法还包括:响应于确定所述集群进程数据(143)指示所述软件应用程序(122)的所述第二实例(162)的第二预期进程(113)已经在所述第二计算节点(104)停止运行,确定所述软件应用程序(122)的所述第二实例(162)在所述第二计算节点(104)失败。
12.如权利要求8或9所述的方法,还包括:
在所述第一计算节点(102)从存储设备(108)接收与所述第二计算节点(104)关联的日志数据(141);以及
响应于确定所述日志数据(141)指示所述软件应用程序(122)在所述第二计算节点(104)关闭,确定所述软件应用程序(122)的所述第二实例(162)在所述第二计算节点(104)失败。
13.一种计算机可读存储设备(132),所述计算机可读存储设备(132)存储指令,所述指令被处理器执行时使所述处理器执行包括以下的操作:
在被配置为运行软件应用程序(122)的多个实例(160、162)的多个计算节点(102、104、106)中的第一计算节点(102),生成在所述第一计算节点(102)运行的所述软件应用程序(122)的第一实例(160)的进程状态数据(105);
基于所述进程状态数据(105),确定所述软件应用程序(122)的第一实例(160)的预期进程(107)是否已经在所述第一计算节点(102)停止运行;
基于确定所述预期进程(107)已经在所述第一计算节点(102)停止运行,选择性地在所述第一计算节点(102)重启所述软件应用程序(122)的所述第一实例(160);
确定所述软件应用程序(122)的第二实例(162)是否在所述多个计算节点(102、104、106)中的第二计算节点(104)失败;以及
响应于确定所述第二实例(162)在所述第二计算节点(104)失败,基于与所述软件应用程序(122)的所述第二实例(162)关联的未完成任务(109),执行动作(128)。
14.如权利要求13所述的计算机可读存储设备(132),其中,响应于确定所述第二实例(162)在所述第二计算节点(104)失败,所述操作还包括:
从所述第一计算节点(102)向集群管理设备(110)发送通知(151),所述通知(151)指示所述第二实例(162)在所述第二计算节点(104)失败;以及
在所述第一计算节点(102)从所述集群管理设备(110)接收所述未完成任务(109)的分配(145),其中,响应于接收到所述分配(145),执行所述动作(128),并且其中,所述操作还包括:
响应于从所述集群管理设备(110)接收到所述分配(145),向所述存储设备(108)发送对与所述第二计算节点(104)关联的日志数据(141)的请求(161);以及
基于所述日志数据(141),识别所述未完成任务(109)。
15.如权利要求13或14所述的计算机可读存储设备(132),其中,响应于确定所述第二实例(162)在所述第二计算节点(104)失败,所述操作还包括:向集群管理设备(110)发送所述第一计算节点(102)的所述进程状态数据(105),向所述集群管理设备(110)发送所述通知(151)以发起从所述集群管理设备(110)向所述多个计算节点(102、104、106)中的第三计算节点(106)发送对第二进程状态数据(165)的请求(163),其中,所述分配(145)基于所述进程状态数据(105)和所述第二进程状态数据(165)。
CN201911204915.3A 2018-12-20 2019-11-29 用于监视软件应用程序进程的系统和方法 Active CN111352797B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/227,991 US10924538B2 (en) 2018-12-20 2018-12-20 Systems and methods of monitoring software application processes
US16/227,991 2018-12-20

Publications (2)

Publication Number Publication Date
CN111352797A true CN111352797A (zh) 2020-06-30
CN111352797B CN111352797B (zh) 2024-09-24

Family

ID=68654350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911204915.3A Active CN111352797B (zh) 2018-12-20 2019-11-29 用于监视软件应用程序进程的系统和方法

Country Status (5)

Country Link
US (1) US10924538B2 (zh)
EP (1) EP3671461A1 (zh)
JP (1) JP2020115330A (zh)
KR (1) KR20200078328A (zh)
CN (1) CN111352797B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114722050A (zh) * 2022-06-10 2022-07-08 辰星(天津)自动化设备有限公司 机器人系统的数据同步方法、及机器人系统
CN115202712A (zh) * 2022-06-30 2022-10-18 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
CN115328529A (zh) * 2022-06-30 2022-11-11 北京亚控科技发展有限公司 应用管理方法及相关设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210326353A1 (en) * 2020-04-17 2021-10-21 Unisys Corporation Incremental change and deploy
US11245752B2 (en) * 2020-04-30 2022-02-08 Juniper Networks, Inc. Load balancing in a high-availability cluster
WO2023030757A1 (de) * 2021-08-30 2023-03-09 Siemens Mobility GmbH Überwachungsverfahren
US11729057B1 (en) * 2022-02-07 2023-08-15 The Bank Of New York Mellon Application architecture drift detection system
US20240168842A1 (en) * 2022-11-18 2024-05-23 Nxp Usa, Inc. METHOD TO RETRIEVE TRANSACTION ADDRESS RESULTING IN AN UNCORRECTABLE PCIe ERROR

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718486B1 (en) * 2000-01-26 2004-04-06 David E. Lovejoy Fault monitor for restarting failed instances of the fault monitor
US20040177099A1 (en) * 1996-03-19 2004-09-09 Oracle International Corporation Parallel transaction recovery
CN103189847A (zh) * 2010-11-05 2013-07-03 国际商业机器公司 集群式数据处理系统中的存储装置管理
US20140359353A1 (en) * 2013-05-31 2014-12-04 International Business Machines Corporation Increasing resiliency of a distributed computing system through lifeboat monitoring
CN105051692A (zh) * 2013-01-09 2015-11-11 微软技术许可有限责任公司 通过隔离的自动化故障处理

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140925A (ja) * 2001-11-05 2003-05-16 Mitsubishi Materials Corp タスク監視システム及び方法
US7613749B2 (en) * 2006-04-12 2009-11-03 International Business Machines Corporation System and method for application fault tolerance and recovery using topologically remotely located computing devices
US7802128B2 (en) * 2007-03-26 2010-09-21 Oracle International Corporation Method to avoid continuous application failovers in a cluster
US8239709B2 (en) * 2009-08-12 2012-08-07 Apple Inc. Managing extrinsic processes
JP2015138512A (ja) * 2014-01-24 2015-07-30 富士通株式会社 状態監視装置、状態監視方法、及び状態監視プログラム
JP6398858B2 (ja) * 2015-04-28 2018-10-03 京セラドキュメントソリューションズ株式会社 電子機器およびリブートプログラム
CN107526659B (zh) * 2016-06-21 2021-02-12 伊姆西Ip控股有限责任公司 用于失效备援的方法和设备
US10764142B2 (en) * 2017-11-16 2020-09-01 International Business Machines Corporation Clustered application management with a blockchain
US11663094B2 (en) * 2017-11-30 2023-05-30 Hewlett Packard Enterprise Development Lp Reducing recovery time of an application
US11150930B2 (en) * 2018-06-28 2021-10-19 Vmware, Inc. Autonomic management of multi-site cloud infrastructure

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177099A1 (en) * 1996-03-19 2004-09-09 Oracle International Corporation Parallel transaction recovery
US6718486B1 (en) * 2000-01-26 2004-04-06 David E. Lovejoy Fault monitor for restarting failed instances of the fault monitor
CN103189847A (zh) * 2010-11-05 2013-07-03 国际商业机器公司 集群式数据处理系统中的存储装置管理
CN105051692A (zh) * 2013-01-09 2015-11-11 微软技术许可有限责任公司 通过隔离的自动化故障处理
US20140359353A1 (en) * 2013-05-31 2014-12-04 International Business Machines Corporation Increasing resiliency of a distributed computing system through lifeboat monitoring

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114722050A (zh) * 2022-06-10 2022-07-08 辰星(天津)自动化设备有限公司 机器人系统的数据同步方法、及机器人系统
CN114722050B (zh) * 2022-06-10 2022-09-30 辰星(天津)自动化设备有限公司 机器人系统的数据同步方法、及机器人系统
CN115202712A (zh) * 2022-06-30 2022-10-18 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
CN115328529A (zh) * 2022-06-30 2022-11-11 北京亚控科技发展有限公司 应用管理方法及相关设备
CN115328529B (zh) * 2022-06-30 2023-08-18 北京亚控科技发展有限公司 应用管理方法及相关设备
CN115202712B (zh) * 2022-06-30 2023-12-29 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备

Also Published As

Publication number Publication date
KR20200078328A (ko) 2020-07-01
CN111352797B (zh) 2024-09-24
US20200204620A1 (en) 2020-06-25
EP3671461A1 (en) 2020-06-24
JP2020115330A (ja) 2020-07-30
US10924538B2 (en) 2021-02-16

Similar Documents

Publication Publication Date Title
CN111352797B (zh) 用于监视软件应用程序进程的系统和方法
US10509680B2 (en) Methods, systems and apparatus to perform a workflow in a software defined data center
CN110825544B (zh) 计算节点及其失效检测方法与云端数据处理系统
US9483314B2 (en) Systems and methods for fault tolerant batch processing in a virtual environment
US9753713B2 (en) Coordinated upgrades in distributed systems
US8413144B1 (en) Providing application-aware high availability of virtual machines
US9652332B2 (en) Information processing apparatus and virtual machine migration method
US9342426B2 (en) Distributed system, server computer, distributed management server, and failure prevention method
EP2518627B1 (en) Partial fault processing method in computer system
CN113391944A (zh) 计算系统中延期的服务器恢复方法和设备
US9529656B2 (en) Computer recovery method, computer system, and storage medium
US9329953B2 (en) Reducing application downtime during failover
CN111538585A (zh) 一种基于node.js的服务器进程调度方法、系统和装置
US10789129B1 (en) Rolling restoration of enterprise business services following service disruption
US10193744B1 (en) Mass restoration of enterprise business services following service disruption
CN117573306A (zh) 批量任务调度系统、方法、装置、计算机设备和存储介质
Dinu et al. Hadoop’s overload tolerant design exacerbates failure detection and recovery
Villamayor et al. Raas: Resilience as a service
US11461131B2 (en) Hosting virtual machines on a secondary storage system
WO2022009438A1 (ja) サーバメンテナンス制御装置、システム、制御方法及びプログラム
CN106547583B (zh) 一种操作系统安装方法以及装置
US20160380855A1 (en) Efficient replacement of clients running large scale applications
JP7000797B2 (ja) 起動管理装置、起動管理システム、起動管理方法、および、起動管理プログラム
Mondal et al. Defects per million (dpm) evaluation for a cloud dealing with vm failures using checkpointing
CN114281636A (zh) 一种处理用户空间文件系统故障的方法和装置

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
GR01 Patent grant
GR01 Patent grant