CN107122254B - 一种计算机修复控制方法及系统、修复方法及系统 - Google Patents

一种计算机修复控制方法及系统、修复方法及系统 Download PDF

Info

Publication number
CN107122254B
CN107122254B CN201610104443.4A CN201610104443A CN107122254B CN 107122254 B CN107122254 B CN 107122254B CN 201610104443 A CN201610104443 A CN 201610104443A CN 107122254 B CN107122254 B CN 107122254B
Authority
CN
China
Prior art keywords
repair
repair operation
computer
level
historical
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.)
Active
Application number
CN201610104443.4A
Other languages
English (en)
Other versions
CN107122254A (zh
Inventor
黄江伟
李毅
唐柯
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610104443.4A priority Critical patent/CN107122254B/zh
Publication of CN107122254A publication Critical patent/CN107122254A/zh
Application granted granted Critical
Publication of CN107122254B publication Critical patent/CN107122254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供一种计算机修复控制方法及系统、修复方法及系统;所述修复控制方法包括:当判断第一计算机需要修复时,获取所述第一计算机的历史修复操作记录;根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作;指示对所述第一计算机进行所述待使用的修复操作,将所述待使用的修复操作记录到所述第一计算机的历史修复操作记录中。本申请能够解决无法根据实际情况调整修复操作、过分依赖单机monitor准确性的问题。

Description

一种计算机修复控制方法及系统、修复方法及系统
技术领域
本发明涉及云计算领域,尤其涉及一种计算机修复控制方法及系统、修复方法及系统。
背景技术
云计算的主要目的是采用网络连接大量普通廉价的计算机,通过软件的方式虚拟成一台“超级计算机”,对外提供计算处理服务。相比于超级计算机或者企业级计算机,普通廉价的计算机存在着稳定性低,寿命短,故障率高的问题。一个云计算中心包括成千上万台计算机,每天都会有大量的计算机出现故障。
现有的自动化修复方案中,每个计算机根据本机中monitor(监控软件)的汇报结果判断并执行修复,存在以下缺陷:
(1)修复方式单一,无法根据实际情况调整修复操作,缺乏修复失败或多次修复仍不能解决问题时的自动化应对机制;而且过于依赖单机monitor的准确性,如果monitor不够精准,将可能导致误判。
(2)自动化修复方案往往集中在单机上进行,缺少全局意识,没有对云计算等协同处理所涉及的大量计算机的修复问题统一进行考虑,缺乏节奏控制,如果在同一时间段中,进行修复的计算机过多,可能造成其余计算机处理量增大,导致其余计算机也陆续崩溃,即引起雪崩。
(3)没有分别考虑不同集合的计算机(比如不同集群、不同应用)对修复的容忍度。
发明内容
本申请提供一种计算机修复控制方法及系统、修复方法及系统,能够解决无法根据实际情况调整修复操作、过分依赖单机monitor准确性的问题。
本申请采用如下技术方案。
一种计算机修复控制方法,包括:
当判断第一计算机需要修复时,获取所述第一计算机的历史修复操作记录;根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作;
指示对所述第一计算机进行所述待使用的修复操作,将所述待使用的修复操作记录到所述第一计算机的历史修复操作记录中。
可选地,所述修复策略包括:
除了最高级别的修复操作以外,每个级别的修复操作对应的升级条件;
所述根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作包括:
S201、以最低级别的修复操作作为当前修复操作;
S202、根据所述历史修复操作记录判断是否满足当前修复操作对应的升级条件,如果满足则将高一级别的修复操作作为当前修复操作,返回S202;如果不满足或者当前修复操作为最高级别的修复操作,则将当前修复操作作为所述待使用的修复操作。
可选地,第i级修复操作对应的升级条件为:所述第一计算机在当前时间点之前的第i预定时间长度内,进行第i级修复操作的次数达到第i预定次数阈值;i为大于或等于1、小于N的每个整数,N为级别的总数;其中,第i+1级高于第i级;
所述将待使用的修复操作记录到所述第一计算机的历史修复操作记录中的步骤中还包括:记录所述待使用的修复操作的时间信息。
可选地,所述指示对所述第一计算机进行所述待使用的修复操作前还包括:
在所述第一计算机所属的第一计算机集合的所有计算机的历史修复操作记录中,获取所述待使用的修复操作的数据,根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作;如果允许则指示对所述第一计算机进行所述待使用的修复操作。
可选地,不同计算机集合所对应的所述全局策略不同;和/或,不同计算机集合中的计算机所对应的所述修复策略不同。
可选地,所述全局策略包括:
一个计算机集合中的计算机进行不同的修复操作对应的频率上限。
可选地,所述频率上限包括最小执行周期及次数上限;其中,级别越高的修复操作对应的最小执行周期越长;
所述获取所述待使用的修复操作的数据包括:
获取所述待使用的修复操作所对应的最小执行周期中,所述第一计算机集合的计算机进行所述待使用的修复操作的次数;
根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作包括:
如果获取的次数等于所述次数上限,则不允许对所述第一计算机进行所述待使用的修复操作;如果获取的次数小于所述次数上限,则允许对所述第一计算机进行所述待使用的修复操作。
可选地,所述多个级别的修复操作按照级别从低到高依次为:停止指令输入、重启、重装、远程操作。
一种计算机修复控制系统,包括:
操作管理模块,用于当判断第一计算机需要修复时,获取所述第一计算机的历史修复操作记录;根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作;
修复服务模块,用于指示对所述第一计算机进行所述待使用的修复操作,将所述待使用的修复操作记录到所述第一计算机的历史修复操作记录中。
可选地,所述修复策略包括:
除了最高级别的修复操作以外,每个级别的修复操作对应的升级条件;
所述操作管理模块根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作包括:
所述操作管理模块以最低级别的修复操作作为当前修复操作;根据所述历史修复操作记录判断是否满足当前修复操作对应的升级条件,如果满足则将高一级别的修复操作作为当前修复操作,再次根据所述历史修复操作记录判断是否满足当前修复操作对应的升级条件;如果不满足或者当前修复操作为最高级别的修复操作,则将当前修复操作作为所述待使用的修复操作。
可选地,第i级修复操作对应的升级条件为:所述第一计算机在当前时间点之前的第i预定时间长度内,进行第i级修复操作的次数达到第i预定次数阈值;i为大于或等于1、小于N的每个整数,N为级别的总数;其中,第i+1级高于第i级;
所述修复服务模块还用于在将待使用的修复操作记录到所述第一计算机的历史修复操作记录中时,记录所述待使用的修复操作的时间信息。
可选地,所述的系统还包括:
配额管理模块,用于在所述修复服务模块指示对所述第一计算机进行所述待使用的修复操作前,在所述第一计算机所属的第一计算机集合的所有计算机的历史修复操作记录中,获取所述待使用的修复操作的数据,根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作;
所述修复服务模块当所述配额管理模块判断允许对所述第一计算机进行所述待使用的修复操作时,执行所述指示对所述第一计算机进行所述待使用的修复操作。
可选地,不同计算机集合所对应的所述全局策略不同;和/或,不同计算机集合中的计算机所对应的所述修复策略不同。
可选地,所述全局策略包括:
一个计算机集合中的计算机进行不同的修复操作对应的频率上限。
可选地,所述频率上限包括最小执行周期及次数上限;其中,级别越高的修复操作对应的最小执行周期越长;
所述配额管理模块获取所述待使用的修复操作的数据包括:
所述配额管理模块获取所述待使用的修复操作所对应的最小执行周期中,所述第一计算机集合的计算机进行所述待使用的修复操作的次数;
所述配额管理模块根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作包括:
所述配额管理模块当获取的次数等于所述次数上限时,不允许对所述第一计算机进行所述待使用的修复操作;当获取的次数小于所述次数上限时,允许对所述第一计算机进行所述待使用的修复操作。
可选地,所述多个级别的修复操作按照级别从低到高依次为:停止指令输入、重启、重装、远程操作。
一种修复方法,包括:
执行上述的计算机修复控制方法;
当指示对所述第一计算机进行所述待使用的修复操作时,通过与所述第一计算机之间的接口,执行所述待使用的修复操作。
一种修复系统,包括:
上述的计算机修复控制系统;
执行模块,用于当所述修复服务模块指示对所述第一计算机进行所述待使用的修复操作时,通过与所述第一计算机之间的接口,执行所述待使用的修复操作。
本申请包括以下优点:
本申请的至少一个备选方案根据历史修复记录及修复策略在预定的多个级别的修复操作中决定所采用的修复操作,这样在历史修复记录满足修复策略中的相应条件时,可以自动选择高级别的修复操作,不需要人工干预;虽然在决定修复时仍需要利用monitor的数据,但是具体如何修复将根据历史修复操作记录进行抉择,因此修复过程不单纯依赖单机monitor的数据,对monitor的准确性要求不高。
本申请的一个备选方案中,修复策略包括除了最高级别的修复操作以外,不同级别的修复操作的升级条件;这样修复失败或多次修复仍不能解决问题时可以自动升级到更高级别的修复操作。
本申请的一个备选方案中,多台计算机的修复统一由中心节点根据全局策略进行控制,能够从全局角度考虑多台计算机的运行情况和最近的故障情况;通过全局统一决策的方式,控制修复节奏,防止发生雪崩。
本申请的一个备选方案中,可以对不同的计算机集合进行个性化设置,比如针对不同的集群、不同的应用设置不同的修复策略,和/或,全局策略。
本申请的一个备选方案中,采用计算机之外的设备对计算机进行修复,从而使计算机无法自行完成的修复操作也可以使用在修复中。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有优点。
附图说明
图1是实施例一的计算机修复控制方法的流程示意图;
图2是实施例二的计算机修复控制系统的示意图;
图3是实施例三的修复方法的流程示意图;
图4是实施例四的计算机修复控制系统的示意图;
图5是实施示例中的系统示意图;
图6是实施示例中的流程示意图。
具体实施方式
下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一个典型的配置中,客户端或认证系统的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块N(N为大于2的整数)。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
实施例一、一种计算机修复控制方法,如图1所示,包括步骤S110~S120。
S110、当判断第一计算机需要修复时,获取所述第一计算机的历史修复操作记录;根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作;
S120、指示对所述第一计算机进行所述待使用的修复操作,将所述待使用的修复操作记录到所述第一计算机的历史修复操作记录中。
本实施例,所述第一计算机可以指任意一台计算机;当本实施例的方法应用于云计算中心或其它需要对多台计算机的修复进行控制的场景时,任意一台需要修复的计算机都可以作为所述第一计算机。
本实施例中,上述控制方法可以但不限于由独立于第一计算机以外的一个或多个设备进行;所述历史修复操作数据可以保存在独立于第一计算机以外的一个或多个设备上。进行上述步骤和保存历史修复操作数据的设备可以相同、部分相同或不同。所述历史修复操作记录可以定期进行整理,比如设置一个期限,定期删除该期限之前的数据,以防止历史修复操作过于庞大。
本实施例中,可以由第一计算机本身、或者其它设备对第一计算机进行所述待使用的修复操作;可以根据修复操作决定是第一计算机本身进行修复,还是由其它设备进行修复,比如所述待进行的修复操作为最低级别的修复操作时自己进行修复,如果为其它级别的修复操作则等待其它设备进行修复。
本实施例中,所述修复操作是指对计算机进行修复的操作;所述多个级别的修复操作可以但不限于包括:停止指令输入(比如但不限于noop)、重启、重装(比如但不限于重克隆reclone)、远程控制。上述修复操作的排列顺序是从低级别到高级别。所述多个级别的修复操作具体为何操作可以自行设置,不限于上例。多个修复操作的级别可以但不限于按照以下原则中的任一个或任意组合进行设置:
对用户影响越大的修复操作级别越高;
需要时间越长的修复操作级别越高;
修复力度越大的修复操作级别越高;比如对于操作系统的修复级别高于对于软件系统的修复;对于软件系统的修复级别高于简单修复(比如noop)。
本实施例中,所述历史修复记录可以但不限于通过提供审计服务的实体进行记录;审计服务可以包括:写对应计算机的历史修复操作记录和读计算机的历史修复操作记录。
本实施例中,可以在第一计算机中的monitor上报问题后,根据所述第一计算机的meta data(元数据)判断所述第一计算机是否需要修复;具体判断的细节可以参考现有技术进行。所述元数据可以保存在独立于第一计算机以外的一个或多个设备上,和进行上述方法以及保存历史修复操作数据的设备可以相同、部分相同或不同。
本实施例的一种备选方案中,多台计算机的元数据和历史修复操作数据保存在提供审计服务的主节点上;提供修复服务的中心节点从主节点获取元数据及历史修复操作数据,以及进行本实施例方法中的步骤S110和S120。所述主节点和中心节点均可以分布在多台物理设备上。
本实施例的一种备选方案中,所述修复策略可以包括:
除了最高级别的修复操作以外,每个级别的修复操作对应的升级条件;
所述根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作包括:
S201、以最低级别的修复操作作为当前修复操作;
S202、根据所述历史修复操作记录判断是否满足当前修复操作对应的升级条件,如果满足则将高一级别的修复操作作为当前修复操作,返回S202;如果不满足或者当前修复操作为最高级别的修复操作(即当前修复操作没有对应的升级条件),则将当前修复操作作为所述待使用的修复操作。
本备选方案能够自动升级修复操作;比如修复时先将noop为当前修复操作;如果noop修复失败或者没能解决问题,升级为重启,重启变为当前修复操作;如果重启修复失败或者没能解决问题升级为重装,重装变为当前修复操作;如果重启修复失败或者没能解决问题升级为远程控制,远程控制变为当前修复操作,没有升级条件。所述多个级别的修复操作按照级别依次排序,就可以构成一个修复操作链,比如:noop→重启→重装→远程控制,这四个修复操作就是一个修复操作链,表示了不同级别修复操作的升级顺序。
其中,修复操作失败可以是指修复操作没有完成,修复操作不能解决问题可以是指修复之后未达到预期目标(比如计算机恢复稳定等);修复操作失败或不能解决问题都会导致修复之后很快又需要修复。
其中,第i级的修复操作对应的升级条件可以但不限于为所述第一计算机在当前时间点之前的第i预定时间长度内,进行第i级修复操作(无论成功或失败)的次数达到第i预定次数阈值;i为大于或等于1、小于N的每个整数,N为级别的总数;其中,第i+1级高于第i级;
所述将待使用的修复操作记录到所述第一计算机的历史修复操作记录中的步骤中还可以包括:记录所述待使用的修复操作的时间信息;所述时间信息可以为决定对所述第一计算机进行所述待使用的修复操作的时刻,也可以为对所述第一计算机开始进行或结束进行所述待使用的修复操作的时刻。
其中,不同级别修复操作对应的的预定时间长度和预定次数阈值都可以根据经验、试验或需要自行设置。
本备选方案的一个例子如下:
四个级别的修复操作按照级别从低到高排列依次为:noop、restart(重启)、reclone、rma(Remote Monitoring Agent,远程监控代理)。
修复策略如表1所示。
表1、修复策略
Figure BDA0000929434690000101
本备选方案中,所述根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作的操作还可以用另一种实施方式进行:
以所述第一计算机最后一次(即距离当前时间点最近的一次)使用的修复操作所属的级别作为当前级别,判断所述历史修复操作记录是否满足按级别的升级条件,如果不满足则选择级别高于当前级别的修复操作作为所述待使用的修复操作。
该实施方式中所述修复策略还可以包括降级策略,比如在当前时间点之前,预定的降级时间长度内未进行过任何修复操作,或者最后一次进行的修复操作为最高级别的修复操作;当历史修复操作记录满足降级策略时则选择最低级别的修复操作。比如进行了rma修复后,下一次修复时恢复成使用noop修复;或者最近20天内没有进行过任何修复操作,则恢复成使用noop修复;比如restart后修复成功,计算机运行稳定,一直到20天后才再次出现故障,此时恢复成使用noop修复。
其它备选方案中,所述修复策略可以根据需要自行设置,比如可以包括每个级别的使用条件;如果同时满足两个或两个以上级别的使用条件,则优先选择其中较高级别的修复操作作为待使用的修复操作。再比如升级条件可以不考虑时间信息,只要进行一个级别的修复操作的次数达到预定标准,就升级修复操作。
本实施例的一种备选方案中,所述步骤S120前还可以包括:
在所述第一计算机所属的第一计算机集合的所有计算机(包括所述第一计算机)的历史修复操作记录中,获取所述待使用的修复操作的数据,根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作;如果允许则进行所述步骤S120。
本备选方案中,所述计算机集合可以为以下任一种:一个集群中的计算机、一个云计算中心中的计算机、一个cluster(簇)中的计算机、协同处理同一个业务(比如某个应用)的计算机。哪些计算机作为一个计算机集合可以根据实际情况自行设置。
本备选方案可以从全局的角度掌控一个集合中计算机的修复节奏,避免发生雪崩。在一个计算机集合对应于一个集群或协同处理一个业务的计算机等情况中,可以根据集群或应用的需求来设置全局策略,以满足集群或业务对处理性能、速度等参数的要求。
本备选方案中,可以先获取第一计算机集合的所有计算机的历史修复操作记录,然后再从中筛选出待使用的修复操作的数据;也可以在获取时就只获取待使用的修复操作的数据。本备选方案中,所述全局策略可以包括:
本集合的计算机进行不同的修复操作对应的频率上限。
不同的修复操作对应的频率上限可以相同也可以不同,可以根据经验、试验或需要设置频率上限;最低级别的修复操作可以不设置频率上限。
本备选方案的一种实施方式中,所述频率上限可以包括最小执行周期及次数上限;其中,级别越高的修复操作对应的最小执行周期越长。
所述获取所述待使用的修复操作的数据包括:
获取所述待使用的修复操作所对应的最小执行周期中,所述第一计算机集合的计算机进行所述待使用的修复操作的次数;
根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作包括:
如果获取的次数等于所述次数上限,则不允许对所述第一计算机进行所述待使用的修复操作;如果获取的次数小于所述次数上限,则允许对所述第一计算机进行所述待使用的修复操作。
所述全局策略相当于:在一个修复操作对应的最小执行周期内,本集合中的所有计算机只允许执行一次(或预定次数)该修复操作;比如restart对应的最小执行周期为10分钟,次数上限为1,当集合中的计算机A执行restart,开始计时,之后该集合中的某个计算机(包括计算机A)需要修复,且所确定的待使用的修复操作为restart,如果计时时间未满10分钟则不允许进行restart,达到或超过10分钟则允许进行restart。
本备选方案的另一种实施方式中,所述频率上限也可以直接为频率阈值,在进行根据全局策略的判断时,根据所述第一计算机所属的第一计算机集合的所有计算机的历史修复操作记录,获取第一计算机集合中的计算机进行所述待使用的修复操作的频率,并和所述频率阈值进行比较,已达到该频率阈值则不允许进行所述待使用的修复操作;未达到该频率阈值则允许。
下面用本备选方案的一个例子说明全局策略的内容:
本例子中,四个级别的修复操作按照级别从低到高排列依次为:noop、restart、reclone、rma,restart、reclone、rma的次数上限全部为1次,对noop的频率上限不进行规定。以一个集群作为一个所述计算机集合。
全局策略如表2所示。
表2、全局策略
Figure BDA0000929434690000121
Figure BDA0000929434690000131
本备选方案中,所述全局策略可以根据需要设置为其它形式,比如本集合在同一时间段中进行某个级别的修复操作的计算机个数上限。
本备选方案中,不同集合的全局策略可以相同或不同;不同集合的修复策略也可以相同或不同;同一个集合中不同计算机的修复策略也可以相同或不同。
实施例二、一种计算机修复控制系统,如图2所示,包括:
操作管理模块21,用于当判断第一计算机需要修复时,获取所述第一计算机的历史修复操作记录;根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作;
修复服务模块22,用于指示对所述第一计算机进行所述待使用的修复操作,将所述待使用的修复操作记录到所述第一计算机的历史修复操作记录中。
所述操作管理模块21是以上所述系统中负责确定待使用的修复操作的部分,可以是软件、硬件或两者的结合。
所述修复服务模块22是以上所述系统中负责对外交互的部分,可以是软件、硬件或两者的结合。
本实施例中,所述修复服务模块22还可以用于在所述第一计算机中的monitor上报问题后,根据所述第一计算机的meta data(元数据)判断所述第一计算机是否需要修复;具体判断的细节可以参考现有技术进行。
本实施例的一种备选方案中,所述修复策略可以包括:
除了最高级别的修复操作以外,每个级别的修复操作对应的升级条件;
所述操作管理模块根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作包括:
所述操作管理模块以最低级别的修复操作作为当前修复操作;根据所述历史修复操作记录判断是否满足当前修复操作对应的升级条件,如果满足则将高一级别的修复操作作为当前修复操作,再次根据所述历史修复操作记录判断是否满足当前修复操作对应的升级条件;如果不满足或者当前修复操作为最高级别的修复操作,则将当前修复操作作为所述待使用的修复操作。
本备选方案中,第i级修复操作对应的升级条件可以但不限于为:所述第一计算机在当前时间点之前的第i预定时间长度内,进行第i级修复操作的次数达到第i预定次数阈值;i为大于或等于1、小于N的每个整数,N为级别的总数;其中,第i+1级高于第i级;
所述修复服务模块相应还可以用于在将待使用的修复操作记录到所述第一计算机的历史修复操作记录中时,记录所述待使用的修复操作的时间信息。
本实施例的一种备选方案中,所述装置还可以包括:
配额管理模块,用于在所述修复服务模块指示对所述第一计算机进行所述待使用的修复操作前,在所述第一计算机所属的第一计算机集合的所有计算机的历史修复操作记录中,获取所述待使用的修复操作的数据,根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作;
所述修复服务模块当所述配额管理模块判断允许对所述第一计算机进行所述待使用的修复操作时,执行所述指示对所述第一计算机进行所述待使用的修复操作。
所述配额管理模块是以上所述系统中负责进行全局修复控制的部分,可以是软件、硬件或两者的结合。
本备选方案中,不同计算机集合所对应的所述全局策略可以相同或不同;不同计算机集合中的计算机所对应的所述修复策略可以相同或不同;同一个计算机集合中的计算机所对应的所述修复策略可以相同或不同。
本备选方案中,所述全局策略可以但不限于包括:
一个计算机集合中的计算机进行不同的修复操作对应的频率上限。
本备选方案中,所述频率上限可以包括最小执行周期及次数上限;其中,级别越高的修复操作对应的最小执行周期越长;
所述配额管理模块获取所述待使用的修复操作的数据可以包括:
所述配额管理模块获取所述待使用的修复操作所对应的最小执行周期中,所述第一计算机集合的计算机进行所述待使用的修复操作的次数;
所述配额管理模块根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作可以包括:
所述配额管理模块当获取的次数等于所述次数上限时,不允许对所述第一计算机进行所述待使用的修复操作;当获取的次数小于所述次数上限时,允许对所述第一计算机进行所述待使用的修复操作。
本备选方案中,所述频率上限也可以直接为频率阈值,所述配额管理模块根据所述第一计算机所属的第一计算机集合的所有计算机的历史修复操作记录,获取第一计算机集合中的计算机进行所述待使用的修复操作的频率,并和所述频率阈值进行比较,已达到该频率阈值则不允许进行所述待使用的修复操作;未达到该频率阈值则允许。
本实施例的一种备选方案中,所述多个级别的修复操作按照级别从低到高依次可以为:停止指令输入、重启、重装、远程操作。
其它实施细节可参见实施例一。
实施例三、一种修复方法,如图3所示,包括步骤S310~S330。
S310、当判断第一计算机需要修复时,获取所述第一计算机的历史修复操作记录;根据所述历史修复操作记录以及预定的修复策略,从多个级别的修复操作中确定待使用的修复操作;
S320、指示对所述第一计算机进行所述待使用的修复操作,将所述待使用的修复操作记录到所述第一计算机的历史修复操作记录中;
S330、当指示对所述第一计算机进行所述待使用的修复操作时,通过与所述第一计算机之间的接口,执行所述待使用的修复操作。
其中,步骤S310同实施例一的S110,S310的实施细节可参见实施例一中对S110实施细节的描述。步骤S320同实施例一的S120,S320的实施细节可参见实施例一中对S120实施细节的描述。步骤S310、S320相当于执行实施例一所述的计算机修复控制方法。
实施例四、一种修复系统,如图4所示,包括:
操作管理模块41,用于当判断第一计算机需要修复时,获取所述第一计算机的历史修复操作记录;根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作;
修复服务模块42,用于指示对所述第一计算机进行所述待使用的修复操作,将所述待使用的修复操作记录到所述第一计算机的历史修复操作记录中。
执行模块43,用于当所述修复服务模块指示对所述第一计算机进行所述待使用的修复操作时,通过与所述第一计算机之间的接口,执行所述待使用的修复操作。
所述执行模块43是以上所述系统中负责执行修复的部分,可以是软件、硬件或两者的结合。
其中,操作管理模块41同实施例二的操作管理模块21,操作管理模块41的实施细节可参见实施例二中对操作管理模块21实施细节的描述。修复服务模块42同实施例二的修复服务模块22,修复服务模块52的实施细节可参见实施例二中对修复服务模块22实施细节的描述。操作管理模块41、修复服务模块42相当于实施例二所述的计算机修复控制系统。
本实施例的一种备选方案中,所述系统还可以包括存储模块,用于保存所述历史修复操作记录,以及管理对所述历史修复操作记录的读写操作。
本实施例的一种备选方案中,所述执行模块和所述修复操作一一对应,或者执行模块组和所述修复操作一一对应;一个执行模块组中包括一个或多个执行模块。本备选方案中,每个或每组执行模块只进行某一种修复操作。
下面用一个实施示例对上述实施例进行说明。
本实施示例中,如图5所示,计算机的元数据和历史修复操作记录保存在主节点,由主节点中的审计服务实体AuditService管理所述历史修复操作记录。中心节点进行修复的控制,包括修复服务实体HealingService(相当于前文的修复服务模块)、操作管理实体ActionManager(相当于前文的操作管理模块)和配额管理实体QuotaManager(相当于前文的配额管理模块)。每个计算机中运行monitor。由工作组LaborWorks中的设备(设置有前文所述的执行模块)执行修复操作,一个设备对应于一种修复操作。修复策略和全局策略分别如前文的表1、表2所示。
假设属于cluster C的计算机为一个计算机集合,其中的计算机Machine0出现问题,本实施示例的执行过程如图6所示,包括步骤601~609。
601、计算机Machine0上的monitor发现计算机Machine0出现内存错误,上报给主节点。
602、HealingService周期性从主节点获取问题计算机列表,发现Machine0发生内存错误;
603、HealingService根据Machine0的元数据决定要进行修复;ActionManager通过AuditService获取Machine0的历史修复操作记录;以最低级别的noop作为当前修复操作;
604、ActionManager根据历史修复操作记录和修复策略确定待使用的修复操作:
A)如果当前修复操作为最高级别的修复操作,或者如果在当前修复操作对应的预定时间长度内,进行当前修复操作的次数小于当前修复操作对应的预定次数阈值,则返回当前修复操作作为待使用的修复操作;
B)如果大于或等于当前修复操作对应的预定次数阈值,则升级到高一级别的修复操作,将高一级别的修复操作作为当前修复操作并跳回604。
605、HealingService根据ActionManager返回的待使用的修复操作,向Quotamanager申请所述待使用的修复操作。
606、QuotaManager根据全局策略判断是否允许本次申请:
QuotaManager通过AuditService获取待使用的修复操作对应的最小执行周期内,cluster C中的计算机进行所述待使用的修复操作的情况:
A)如果在待使用的修复操作对应的最小执行周期内,cluster C中已经有计算机进行过所述待使用的修复操作,则拒绝本次申请,申请失败;
B)如果在待使用的修复操作对应的最小执行周期内,cluster C中还没有计算机进行过所述待使用的修复操作,则允许本次申请,申请成功;
607、申请成功时HealingService将待使用的修复操作反馈回主节点,并通过AuditService记录在计算机Machine0对应的历史修复操作记录中。主节点可以将待使用的修复操作的名称和相应的计算机的ID记录在一个修复列表中,也可以将所述待使用的修复操作的名称直接记录在问题计算机列表中,与计算机Machine0对应。
608、LaborWorks中的设备根据主节点上记录的修复操作的名称,决定是否需要工作;比如待使用的修复操作为noop,则对应于noop的设备通过修复列表得知需要对计算机Machine0进行noop,则该设备通过计算机Machine0的接口,停止输入新的指令给计算机Machine0;计算机Machine0上的monitor将继续进行监视,如果发现出错则返回601。
上述步骤606中,如果申请失败,则HealingService不再进行操作,直到再收到ActionManager返回的待使用的修复操作,或下一次从主节点读取问题计算机列表。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。

Claims (18)

1.一种计算机修复控制方法,包括:
当判断第一计算机需要修复时,获取所述第一计算机的历史修复操作记录;根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作;
指示对所述第一计算机进行所述待使用的修复操作,将所述待使用的修复操作记录到所述第一计算机的历史修复操作记录中。
2.如权利要求1所述的方法,其特征在于,所述修复策略包括:
除了最高级别的修复操作以外,每个级别的修复操作对应的升级条件;
所述根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作包括:
S201、以最低级别的修复操作作为当前修复操作;
S202、根据所述历史修复操作记录判断是否满足当前修复操作对应的升级条件,如果满足则将高一级别的修复操作作为当前修复操作,返回S202;如果不满足或者当前修复操作为最高级别的修复操作,则将当前修复操作作为所述待使用的修复操作。
3.如权利要求2所述的方法,其特征在于:
第i级修复操作对应的升级条件为:所述第一计算机在当前时间点之前的第i预定时间长度内,进行第i级修复操作的次数达到第i预定次数阈值;i为大于或等于1、小于N的每个整数,N为级别的总数;其中,第i+1级高于第i级;
所述将待使用的修复操作记录到所述第一计算机的历史修复操作记录中的步骤中还包括:记录所述待使用的修复操作的时间信息。
4.如权利要求1所述的方法,其特征在于,所述指示对所述第一计算机进行所述待使用的修复操作前还包括:
在所述第一计算机所属的第一计算机集合的所有计算机的历史修复操作记录中,获取所述待使用的修复操作的数据,根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作;如果允许则指示对所述第一计算机进行所述待使用的修复操作。
5.如权利要求4所述的方法,其特征在于:
不同计算机集合所对应的所述全局策略不同;和/或,不同计算机集合中的计算机所对应的所述修复策略不同。
6.如权利要求4所述的方法,其特征在于,所述全局策略包括:
一个计算机集合中的计算机进行不同的修复操作对应的频率上限。
7.如权利要求6所述的方法,其特征在于:
所述频率上限包括最小执行周期及次数上限;其中,级别越高的修复操作对应的最小执行周期越长;
所述获取所述待使用的修复操作的数据包括:
获取所述待使用的修复操作所对应的最小执行周期中,所述第一计算机集合的计算机进行所述待使用的修复操作的次数;
根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作包括:
如果获取的次数等于所述次数上限,则不允许对所述第一计算机进行所述待使用的修复操作;如果获取的次数小于所述次数上限,则允许对所述第一计算机进行所述待使用的修复操作。
8.如权利要求1~7任一项所述的方法,其特征在于,所述多个级别的修复操作按照级别从低到高依次为:停止指令输入、重启、重装、远程操作。
9.一种计算机修复控制系统,其特征在于,包括:
操作管理模块,用于当判断第一计算机需要修复时,获取所述第一计算机的历史修复操作记录;根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作;
修复服务模块,用于指示对所述第一计算机进行所述待使用的修复操作,将所述待使用的修复操作记录到所述第一计算机的历史修复操作记录中。
10.如权利要求9所述的系统,其特征在于,所述修复策略包括:
除了最高级别的修复操作以外,每个级别的修复操作对应的升级条件;
所述操作管理模块根据所述历史修复操作记录以及预定的修复策略,从预定的多个级别的修复操作中确定待使用的修复操作包括:
所述操作管理模块以最低级别的修复操作作为当前修复操作;根据所述历史修复操作记录判断是否满足当前修复操作对应的升级条件,如果满足则将高一级别的修复操作作为当前修复操作,再次根据所述历史修复操作记录判断是否满足当前修复操作对应的升级条件;如果不满足或者当前修复操作为最高级别的修复操作,则将当前修复操作作为所述待使用的修复操作。
11.如权利要求10所述的系统,其特征在于:
第i级修复操作对应的升级条件为:所述第一计算机在当前时间点之前的第i预定时间长度内,进行第i级修复操作的次数达到第i预定次数阈值;i为大于或等于1、小于N的每个整数,N为级别的总数;其中,第i+1级高于第i级;
所述修复服务模块还用于在将待使用的修复操作记录到所述第一计算机的历史修复操作记录中时,记录所述待使用的修复操作的时间信息。
12.如权利要求9所述的系统,其特征在于,还包括:
配额管理模块,用于在所述修复服务模块指示对所述第一计算机进行所述待使用的修复操作前,在所述第一计算机所属的第一计算机集合的所有计算机的历史修复操作记录中,获取所述待使用的修复操作的数据,根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作;
所述修复服务模块当所述配额管理模块判断允许对所述第一计算机进行所述待使用的修复操作时,执行所述指示对所述第一计算机进行所述待使用的修复操作。
13.如权利要求12所述的系统,其特征在于:
不同计算机集合所对应的所述全局策略不同;和/或,不同计算机集合中的计算机所对应的所述修复策略不同。
14.如权利要求12所述的系统,其特征在于,所述全局策略包括:
一个计算机集合中的计算机进行不同的修复操作对应的频率上限。
15.如权利要求14所述的系统,其特征在于:
所述频率上限包括最小执行周期及次数上限;其中,级别越高的修复操作对应的最小执行周期越长;
所述配额管理模块获取所述待使用的修复操作的数据包括:
所述配额管理模块获取所述待使用的修复操作所对应的最小执行周期中,所述第一计算机集合的计算机进行所述待使用的修复操作的次数;
所述配额管理模块根据所获取的数据及全局策略判断是否允许对所述第一计算机进行所述待使用的修复操作包括:
所述配额管理模块当获取的次数等于所述次数上限时,不允许对所述第一计算机进行所述待使用的修复操作;当获取的次数小于所述次数上限时,允许对所述第一计算机进行所述待使用的修复操作。
16.如权利要求9~15任一项所述的系统,其特征在于,所述多个级别的修复操作按照级别从低到高依次为:停止指令输入、重启、重装、远程操作。
17.一种修复方法,包括:
执行如权利要求1~8任一项所述的计算机修复控制方法;
当指示对所述第一计算机进行所述待使用的修复操作时,通过与所述第一计算机之间的接口,执行所述待使用的修复操作。
18.一种修复系统,其特征在于,包括:
如权利要求9~16任一项所述的计算机修复控制系统;
执行模块,用于当所述修复服务模块指示对所述第一计算机进行所述待使用的修复操作时,通过与所述第一计算机之间的接口,执行所述待使用的修复操作。
CN201610104443.4A 2016-02-25 2016-02-25 一种计算机修复控制方法及系统、修复方法及系统 Active CN107122254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610104443.4A CN107122254B (zh) 2016-02-25 2016-02-25 一种计算机修复控制方法及系统、修复方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610104443.4A CN107122254B (zh) 2016-02-25 2016-02-25 一种计算机修复控制方法及系统、修复方法及系统

Publications (2)

Publication Number Publication Date
CN107122254A CN107122254A (zh) 2017-09-01
CN107122254B true CN107122254B (zh) 2020-08-21

Family

ID=59717699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610104443.4A Active CN107122254B (zh) 2016-02-25 2016-02-25 一种计算机修复控制方法及系统、修复方法及系统

Country Status (1)

Country Link
CN (1) CN107122254B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647450B (zh) * 2019-08-15 2023-02-07 平安普惠企业管理有限公司 业务流程断点修复方法、装置、计算机设备和存储介质
CN111447086B (zh) * 2020-03-20 2023-03-24 支付宝(杭州)信息技术有限公司 业务处理方法、装置及电子设备
CN112286712B (zh) * 2020-12-25 2021-04-02 成都数联铭品科技有限公司 基于唯一id的容错修复方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094771A (ja) * 2002-09-03 2004-03-25 Hitachi Kokusai Electric Inc 故障診断方法および故障診断システム
CN103166778A (zh) * 2011-12-13 2013-06-19 成都勤智数码科技有限公司 一种故障自动化智能处理方法及其装置
CN103473143A (zh) * 2012-06-07 2013-12-25 中兴通讯股份有限公司 故障修复的处理、故障的修复方法及装置
CN104361531A (zh) * 2014-11-14 2015-02-18 广东电网有限责任公司电力调度控制中心 变电站自动化系统的高风险故障设备的识别方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120278094A1 (en) * 2010-10-12 2012-11-01 Rabit Solutions, LLC Methods and systems for health care record, workflow, and billing management using mobile devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094771A (ja) * 2002-09-03 2004-03-25 Hitachi Kokusai Electric Inc 故障診断方法および故障診断システム
CN103166778A (zh) * 2011-12-13 2013-06-19 成都勤智数码科技有限公司 一种故障自动化智能处理方法及其装置
CN103473143A (zh) * 2012-06-07 2013-12-25 中兴通讯股份有限公司 故障修复的处理、故障的修复方法及装置
CN104361531A (zh) * 2014-11-14 2015-02-18 广东电网有限责任公司电力调度控制中心 变电站自动化系统的高风险故障设备的识别方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《具有多优先级徐通道的ATM网络综合自愈策略》;宫钦,姚宝福,孙金伦;《南京邮电学院学报》;19990331;第19卷(第1期);第26-30页 *
《基于云服务管理平台电气设备重点故障自愈的研究》;郭庆涛;《电气安全》;20151130;第34卷(第22期);第48-50页 *

Also Published As

Publication number Publication date
CN107122254A (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
US10248671B2 (en) Dynamic migration script management
US20200110550A1 (en) Multi-node removal
US20090100108A1 (en) Replica Placement and Repair Strategies in Multinode Storage Systems
CN102650938B (zh) 日志系统管理方法及日志系统
CN107122254B (zh) 一种计算机修复控制方法及系统、修复方法及系统
CN104735107A (zh) 分布式存储系统中数据副本恢复方法及装置
CN109669631B (zh) 一种存储池规划方法、装置、设备及计算机可读存储介质
CN114746843A (zh) 针对已分化数据恢复配置的存储器健康跟踪
CN110737717B (zh) 一种数据库迁移方法及装置
CN112596762A (zh) 一种滚动升级方法及装置
CN106372160A (zh) 一种分布式数据库及管理方法
CN118152401A (zh) 数据存储方法、装置、设备、存储介质及程序产品
US9268608B2 (en) Automatic administration of UNIX commands
US8756575B2 (en) Installing and testing an application on a highly utilized computer platform
CN107154960B (zh) 用于确定分布式存储系统的服务可用性信息的方法与设备
CN106648550B (zh) 用于并发执行任务的方法与设备
CN106484312A (zh) 一种虚拟机磁盘数据迁移方法及装置
CN116185706A (zh) 数据备份方法、装置、计算及存储介质及电子设备
CN115080309A (zh) 数据备份系统、方法、存储介质以及电子设备
CN103714183A (zh) 一种元数据租约期限的动态获取方法和系统
US7743244B2 (en) Computer system model generation with tracking of actual computer system configuration
CN113760340B (zh) 一种应用于Linux系统的热补丁方法和装置
CN113703685B (zh) 一种数据存储方法、装置、设备及介质
CN117762743A (zh) 一种自增列监控方法、装置、设备及介质
CN115080536A (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