掌桥专利:专业的专利平台
掌桥专利
首页

一种故障修复方法、装置、系统、设备和存储介质

文献发布时间:2023-06-19 18:58:26


一种故障修复方法、装置、系统、设备和存储介质

技术领域

本公开实施例涉及计算机技术,尤其涉及一种故障修复方法、装置、系统、设备和存储介质。

背景技术

随着计算机技术的快速发展,越来越多的服务平台被研发,比如FaaS(Functionsas a Service,函数即服务)平台。FaaS平台是将程序部署到平台上,无需部署到物理机、虚拟机或者容器中,当事件到来时触发执行函数任务。

在实际运行过程中,服务平台中的节点服务器由于种种原因可能会存在运行故障的情况,从而需要进行故障修复。目前,通常是修复人员直接对存在故障的节点服务器进行修复,从而会影响任务的正常运行,并且降低了故障修复效率。

发明内容

本公开提供一种故障修复方法、装置、设备和存储介质,以在不影响任务正常运行的提前下进行故障修复,并且实现修复流程的自动化流转,提高故障修复效率。

第一方面,本公开实施例提供了一种故障修复方法,应用于修复服务器,包括:

获取节点池中存在故障的目标节点服务器;

将所述目标节点服务器对应的节点维护指令发送至控制服务器,以使所述控制服务器基于所述节点维护指令,停止对所述目标节点服务器进行实例分配操作;

将所述目标节点服务器对应的实例下线指令发送至所述控制服务器,以使所述控制服务器基于所述实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;

若接收到所述控制服务器返回的允许修复指令,则对所述目标节点服务器进行故障修复,并在修复成功后向所述控制服务器发送所述目标节点服务器对应的维护解除指令,以使所述控制服务器基于所述维护解除指令继续对所述目标节点服务器进行实例分配操作。

第二方面,本公开实施例提供了一种故障修复方法,应用于控制服务器,包括:

若接收到修复服务器发送的目标节点服务器对应的节点维护指令,则停止对所述目标节点服务器进行实例分配操作;

基于所述修复服务器发送的所述目标节点服务器对应的实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;

若接收到所述修复服务器在修复成功后发送的所述目标节点服务器对应的维护解除指令,则继续对所述目标节点服务器进行实例分配操作。

第三方面,本公开实施例还提供了一种故障修复装置,集成于修复服务器,包括:

目标节点服务器获取模块,用于获取节点池中存在故障的目标节点服务器;

节点维护指令发送模块,用于将所述目标节点服务器对应的节点维护指令发送至控制服务器,以使所述控制服务器基于所述节点维护指令,停止对所述目标节点服务器进行实例分配操作;

实例下线指令发送模块,用于将所述目标节点服务器对应的实例下线指令发送至所述控制服务器,以使所述控制服务器基于所述实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;

故障修复模块,用于若接收到所述控制服务器返回的允许修复指令,则对所述目标节点服务器进行故障修复,并在修复成功后向所述控制服务器发送所述目标节点服务器对应的维护解除指令,以使所述控制服务器基于所述维护解除指令继续对所述目标节点服务器进行实例分配操作。

第四方面,本公开实施例还提供了一种故障修复装置,集成于控制服务器,包括:

实例分配停止模块,用于若接收到修复服务器发送的目标节点服务器对应的节点维护指令,则停止对所述目标节点服务器进行实例分配操作;

实例下线模块,用于基于所述修复服务器发送的所述目标节点服务器对应的实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;

实例分配继续模块,用于若接收到所述修复服务器在修复成功后发送的所述目标节点服务器对应的维护解除指令,则继续对所述目标节点服务器进行实例分配操作。

第五方面,本公开实施例还提供了一种故障修复系统,所述系统包括:节点池、控制服务器和修复服务器;其中,

所述节点池包括多个节点服务器;

所述修复服务器用于实现如第一方面实施例任一所述的故障修复方法。

所述控制服务器用于实现如第二方面实施例任一所述的故障修复方法。

第六方面,本公开实施例还提供了一种电子设备,所述电子设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例任一所述的故障修复方法。

第七方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例任一所述的故障修复方法。

本公开实施例,通过修复服务器获取节点池中存在故障的目标节点服务器,并将目标节点服务器对应的节点维护指令发送至控制服务器,控制服务器基于节点维护指令,停止对目标节点服务器进行实例分配操作。修复服务器将目标节点服务器对应的实例下线指令发送至控制服务器,控制服务器基于实例下线指令,对目标节点服务器中的同步实例进行解注册,并在检测到目标节点服务器中的已分配任务执行完毕时,对目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令。修复服务器若接收到控制服务器返回的允许修复指令,则对目标节点服务器进行故障修复,并在修复成功后向控制服务器发送目标节点服务器对应的维护解除指令,控制服务器基于维护解除指令继续对目标节点服务器进行实例分配操作。通过修复服务器与控制服务器之间的交互,可以对目标节点服务器进行节点维护以及实例下线,从而在不影响任务正常运行的前提下进行故障修复,并且实现了修复流程的自动化流转,无需人工参与,提高故障修复效率。

附图说明

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。

图1是本公开实施例所提供的一种故障修复方法流程示意图;

图2是本公开实施例所提供的一种故障修复方法流程示意图;

图3是本公开实施例所提供的一种故障修复方法流程示意图;

图4是本公开实施例所涉及的一种同步实例和异步实例调用过程的示意图;

图5是本公开实施例所提供的一种故障修复装置的结构示意图;

图6是本公开实施例所提供的一种故障修复装置的结构示意图;

图7是本公开实施例所提供的一种故障修复系统的结构示意图;

图8是本公开实施例所提供的一种电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

图1为本公开实施例所提供的一种故障修复方法的流程示意图,本公开实施例适用于对节点服务器进行故障修复的情况,尤其是可以应用于对FaaS平台中的节点服务器进行故障修复的情况。FaaS平台可以包括FaaS网关、FaaS控制服务器和存储有计算资源的节点池。其中,节点池包含多个节点服务器。用户或者事件驱动触发向FaaS网关提交函数任务,经过调度层调度后,FaaS控制服务器在节点池中的某个节点服务器中分配同步实例或者异步实例,并将函数任务分配至实例中执行该函数任务,从而实现同步调用或者异步调用。故障修复方法可以由集成于修复服务器的故障修复装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是修复服务器等。

如图1所示,故障修复方法具体包括以下步骤:

S110、获取节点池中存在故障的目标节点服务器。

其中,节点池可以是指集群中具有相同配置的一组节点服务器。节点池中可以包括多个节点服务器。目标节点服务器可以是指当前存在运行故障的节点服务器。运行故障可以包括CPU(central processing unit,中央处理器)处理器故障,内存条故障、硬盘故障、网卡故障以及电源模块故障等。例如,CPU负载过高、磁盘占用过高等运行故障情况。为了防止目标节点服务器对服务平台中的任务运行造成影响,从而需要及时对目标节点服务器进行故障修复。

具体地,节点池中的每个节点服务器可以采集运行指标信息,比如磁盘容量、CPU负载、CPU使用率或者网卡IO流量,并将采集到的运行指标信息发送至修复服务器,修复服务器可以实时检测每个节点服务器中的运行指标信息是否出现超过预设阈值,若超过,则可以确定该节点服务器出现故障,并将该节点服务器确定为存在故障的目标节点服务器,使得修复服务器可以自动检测出节点池中当前存在故障的目标节点服务器。或者,也可以在修复服务器中直接手动输入节点池中当前存在故障的目标节点服务器。

S120、将目标节点服务器对应的节点维护指令发送至控制服务器,以使控制服务器基于节点维护指令,停止对目标节点服务器进行实例分配操作。

其中,控制服务器可以是用于负责对节点服务器进行实例分配,并将接收的任务分配到特定的实例中进行任务处理的服务器。例如,控制服务器可以是指FaaS平台中的FaaS控制服务器。节点维护指令可以是用于对目标节点服务器进行维护的指令。

具体地,修复服务器获取目标节点服务器之后,可以生成包含有目标节点服务器对应的目标节点标识信息的节点维护指令,并将节点维护指令发送至控制服务器。控制服务器可以基于节点维护指令中的目标节点标识信息,停止对该目标节点标识信息对应的目标节点服务器进行实例分配操作,从而避免将新的实例分配到目标节点服务器。需要说明的是,控制服务器基于节点维护指令仅是停止在目标节点服务器中分配新的实例,但可以将新接收到的任务分配到目标节点服务器中已分配的实例上,利用已分配实例执行新任务,从而尽可能地不影响任务的正常分配。

S130、将目标节点服务器对应的实例下线指令发送至控制服务器,以使控制服务器基于实例下线指令,对目标节点服务器中的同步实例进行解注册,并在检测到目标节点服务器中的已分配任务执行完毕时,对目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令。

其中,实例下线指令是用于对目标节点服务器中的同步实例和异步实例进行下线的指令。同步实例可以是指同步调用任务时在目标节点服务器中分配创建的同步进程,利用该同步实例对分配任务进行同步处理。异步实例可以是指异步调用任务时在目标节点服务器中分配创建的异步进程,利用该异步实例对分配任务进行异步处理。目标节点服务器中可以存在一个或多个同步实例,和/或,一个或多个异步实例。允许修复指令可以是允许对目标节点服务器进行修复的指令。

具体地,在停止对目标节点服务器进行实例分配操作后,目标节点服务器中可能还存在已分配但还未执行的任务,从而不能直接进行故障修复,否则无法正常执行已分配任务,此时修复服务器在接收到控制服务器器返回的节点维护成功指令时,可以向控制服务器发送包含有目标节点服务器对应的目标节点标识信息的实例下线指令。控制服务器在接收到该实例下线指令后,可以先对目标节点服务器中的同步实例进行解注册,使得控制服务器无法再将新的同步任务分配到目标节点服务器中的同步实例中,从而停止了同步任务的分配操作。可以实时检测目标节点服务器中的已分配任务是否执行完毕,比如可以检测目标节点服务器的已分配任务队列中的当前剩余任务数量是否为零,若是,则确定所有已分配任务均执行完毕,若否,则等待执行,直到目标节点服务器中的已分配任务执行完毕为止。在目标节点服务器中的所有已分配任务均执行完毕时,可以将目标节点服务器中的同步实例和异步实例进行下线处理,从而销毁同步实例和异步实例,释放占用的资源,从而避免因故障修复而影响已分配任务的执行,尽可能减小修复带来的影响。在将目标节点服务器中的同步实例和异步实例均销毁后,控制服务器可以将允许修复指令发送至修复服务器,以提示修复服务器可以进行修复操作。

需要说明的是,在Fass平台中由于函数任务具有暂时性,通过等待任务全部执行结束后再进行后续的修复操作,可以保证在目标节点服务器中某些能够正常执行的任务可以顺利地执行完成,使得节点修复更加适宜,尽可能减少对已分配任务的影响。

S140、若接收到控制服务器返回的允许修复指令,则对目标节点服务器进行故障修复,并在修复成功后向控制服务器发送目标节点服务器对应的维护解除指令,以使控制服务器基于维护解除指令继续对目标节点服务器进行实例分配操作。

具体地,修复服务器在接收到允许修复指令时,可以利用与目标节点服务器相匹配的目标修复方式,对目标节点服务器进行故障修复,比如,对目标节点服务器进行重启操作、对目标节点服务器进行目录清理操作或者对目标节点服务器进行下线更换CPU处理器、更换磁盘、重装系统、更换网卡、更换内存条、电源模块维修等操作再上线。在对目标节点服务器进行故障修复后,可以检测修复后的目标节点服务器是否处于正常运行状态,比如运行指标信息是否小于或等于预设阈值,若是,则可以确定目标节点服务器修复成功。在修复成功后,可以将包含有目标节点标识信息的维护解除指令发送至控制服务器。控制服务器在接收到该维护解除指令后,可以继续对目标节点服务器进行实例分配操作,使得任务可以重新被调度到修复好的节点服务器中的实例上,进而保证任务的成功执行。通过利用修复服务器与控制服务器之间的交互,可以对整个修复过程进行自动管控,实现修复流程的自动化流转,无需人工参与,提高故障修复效率。

本公开实施例的技术方案,通过修复服务器获取节点池中存在故障的目标节点服务器,并将目标节点服务器对应的节点维护指令发送至控制服务器,控制服务器基于节点维护指令,停止对目标节点服务器进行实例分配操作。修复服务器将目标节点服务器对应的实例下线指令发送至控制服务器,控制服务器基于实例下线指令,对目标节点服务器中的同步实例进行解注册,并在检测到目标节点服务器中的已分配任务执行完毕时,对目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令。修复服务器若接收到控制服务器返回的允许修复指令,则对目标节点服务器进行故障修复,并在修复成功后向控制服务器发送目标节点服务器对应的维护解除指令,控制服务器基于维护解除指令继续对目标节点服务器进行实例分配操作。通过修复服务器与控制服务器之间的交互,可以对目标节点服务器进行节点维护以及实例下线,从而在不影响任务正常运行的前提下进行故障修复,并且实现了修复流程的自动化流转,无需人工参与,提高故障修复效率。

图2为本公开实施例所提供的一种异常处理方法的流程示意图,本公开实施例在上述公开实施例的基础上,对步骤“对目标节点服务器进行故障修复”进行了详细描述。其中与上述各公开实施例相同或相应的术语的解释在此不再赘述。

如图2所示,异常处理方法具体包括以下步骤:

S210、获取节点池中存在故障的目标节点服务器。

S220、将目标节点服务器对应的节点维护指令发送至控制服务器,以使控制服务器基于节点维护指令,停止对目标节点服务器进行实例分配操作。

S230、将目标节点服务器对应的实例下线指令发送至控制服务器,以使控制服务器基于实例下线指令,对目标节点服务器中的同步实例进行解注册,并在检测到目标节点服务器中的已分配任务执行完毕时,对目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令。

S240、若接收到控制服务器返回的允许修复指令,则获取目标节点服务器对应的目标修复方式。

其中,目标修复方式可以是指目标节点服务器的故障修复方案。目标修复方式可以基于目标节点服务器的异常运行指标进行确定。例如,若目标节点服务器的故障运行指标为内存故障指标,比如,CPU负载、CPU使用率和网卡IO流量,则确定目标修复方式为对目标节点服务器进行重启操作。若目标节点服务器的故障运行指标为响应故障指标,比如,磁盘容量,则确定目标修复方式为对目标节点服务器进行目录清理操作。若目标节点服务器的故障运行指标为除了响应故障指标和内存故障指标之外的其他故障指标,则确定目标修复方式为对目标节点服务器进行下线重装再上线的操作,比如更换CPU处理器、更换磁盘、重装系统等复杂的维修操作。修复服务器可以基于目标节点服务器的故障运行指标自动确定出目标修复方式,也可以在修复服务器中直接手动输入目标节点服务器对应的目标修复方式。

S250、基于修复方式与修复等级之间的对应关系和目标修复方式,确定目标节点服务器对应的目标修复等级。

其中,修复等级包括第一等级和第二等级。第一等级可以是指需要进行节点缩容后才允许修复的等级。第二等级可以是指不需要节点缩容便可允许修复的等级。可以基于每种修复方式是否需要节点缩容确定出每种修复方式对应的修复等级,建立修复方式与修复等级之间的对应关系。例如,修复方式为对目标节点服务器进行下线重装再上线的操作时,相应的修复等级确定为第一等级。修复方式为对目标节点服务器进行重启操作或者对目标节点服务器进行目录清理操作时,相应的修复等级确定为第二等级。

具体地,基于修复方式与修复等级之间的对应关系,确定出目标修复方式对应的目标修复等级,从而获得目标节点服务器对应的目标修复等级。

S260、基于目标修复等级,对目标节点服务器进行故障修复。

具体地,基于目标修复等级,利用目标修复方式对目标节点服务器进行故障修复,可以进一步提高修复成功率和修复效率。

示例性地,S260可以包括:若目标修复等级为第一等级,则将目标节点服务器对应的缩容指令发送至控制服务器,以使控制服务器基于缩容指令,对目标节点服务器进行缩容处理并返回缩容成功指令;基于返回的缩容成功指令,对目标节点服务器进行故障修复;若目标修复等级为第二等级,则直接对目标节点服务器进行故障修复。

具体地,在目标修复等级为第一等级时,将目标节点服务器对应的缩容指令发送至控制服务器。控制服务器基于缩容指令,对目标节点服务器进行缩容处理,也就是将目标节点服务器进行下线处理,使得节点池中不包含该目标节点服务器,在缩容成功后,控制服务器将目标节点服务器对应的缩容成功指令发送至修复服务器,以提示修复服务器可以进行修复。修复服务器在接收到缩容成功指令后,可以基于目标修复方式对目标节点服务器进行故障修复,从而进一步提高修复成功率。在目标修复等级为第二等级时,可以直接基于目标修复方式对目标节点服务器进行故障修复,从而可以避免执行不必要的节点缩容操作,进而在保证修复成功率的前提下减少了修复耗时,提高了故障修复效率。

S270、在修复成功后向控制服务器发送目标节点服务器对应的维护解除指令,以使控制服务器基于维护解除指令继续对目标节点服务器进行实例分配操作。

示例性地,在目标修复等级为第一等级时,在修复成功后向控制服务器发送维护解除指令,可以包括:在修复成功后将目标节点服务器对应的扩容指令发送至控制服务器,以使控制服务器基于扩容指令,对目标节点服务器进行扩容处理并返回扩容成功指令;基于返回的扩容成功指令,向控制服务器发送维护解除指令。

具体地,在目标修复等级为第一等级时,修复成功后还需要执行相应的扩容操作,将目标节点服务器进行上线,添加至节点池中,并在扩容成功后,控制服务器将扩容成功指令发送至修复服务器,以提示修复服务器可以进行维护解除。控制服务器在接收到扩容成功指令后,向控制服务器发送维护解除指令,使得控制服务器可以继续将新的任务分配至修复后的节点服务器中,从而保证任务的正常运行。

在目标修复等级为第二等级时,由于修复时未进行缩容操作,修复成功后也无需进行扩容操作,从而在修复成功后可以直接向控制服务器发送维护解除指令,使得控制服务器继续将新的任务分配至修复后的节点服务器中,进而避免执行不必要的扩容操作,大大减少了修复耗时,提高了故障修复效率。

本公开实施例的技术方案,通过基于修复方式与修复等级之间的对应关系和目标节点服务器对应的目标修复方式,确定目标节点服务器对应的目标修复等级,并基于目标修复等级,对目标节点服务器进行故障修复,从而可以按需执行缩容扩容操作,进一步提高修复成功率和修复效率。

图3为本公开实施例所提供的一种故障修复方法的流程示意图,本公开实施例适用于对节点服务器进行故障修复的情况,尤其是可以应用于对FaaS平台中的节点服务器进行故障修复的情况。故障修复方法可以由集成于控制服务器的故障修复装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是控制服务器等。

如图3所示,故障修复方法具体包括以下步骤:

S310、若接收到修复服务器发送的目标节点服务器对应的节点维护指令,则停止对目标节点服务器进行实例分配操作。

具体地,目标节点服务器可以获取节点池中当前存在故障的目标节点服务器,并将包含有目标节点服务器对应的目标节点标识信息的节点维护指令发送至控制服务器。控制服务器在接收到节点维护指令后,基于节点维护指令中的目标节点标识信息,停止对该目标节点标识信息对应的目标节点服务器进行实例分配操作,从而避免将新的实例分配到目标节点服务器。需要说明的是,控制服务器基于节点维护指令仅是停止在目标节点服务器中分配新的实例,但可以将新接收到的任务分配到目标节点服务器中已分配的实例上,利用已分配实例执行新任务,从而尽可能地不影响任务的正常分配。

S320、基于修复服务器发送的目标节点服务器对应的实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到目标节点服务器中的已分配任务执行完毕时,对目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令。

其中,图4给出了一种同步实例和异步实例调用过程的示意图。如图4中的实线箭头所示,异步调用任务的过程为:客户端将生成的任务请求发送至网关服务器,客户端发送后并不等待任务完成,网关服务器将接收到任务请求后发送至控制服务器进行资源分配,将待执行的任务分配至某个节点服务器中,并在该节点服务器中启动分配一个异步实例,利用异步实例运行该任务并在运行完成向客户端发送回调进行通知。异步实例可以在运行完成后销毁实例并释放资源。如图4中的虚线箭头所示,同步调用任务的过程为:客户端将生成的任务请求发送至网关服务器,网关服务器将接收到任务请求后发送至控制服务器进行资源分配,在分配的节点服务器中启动分配一个同步实例,并将同步实例地址注册到注册中心。网关服务器从注册中心获得到注册地址后,反向代理到对应的同步实例地址发送任务请求,等待任务完成后将执行结果发送至客户端。由于同步调用对任务返回延时要求比较高,所以执行完成后同步实例不会马上退出,后续有新的请求可以直接将请求发送到同步实例地址来避免冷启动开销。同步实例一次处理一个请求,每个同步实例内部都有一个任务队列,当多个同步调用任务请求过来时,如果此时还有任务在处理中,会将任务先放到任务队列,待上一个任务完成后,同步实例再从任务队列里按序取出任务执行。

具体地,在停止对目标节点服务器进行实例分配操作后,目标节点服务器中可能还存在已分配但还未执行的任务,从而不能直接进行故障修复,否则无法正常执行已分配任务,此时修复服务器在接收到控制服务器器返回的节点维护成功指令时,可以向控制服务器发送包含有目标节点服务器对应的目标节点标识信息的实例下线指令。控制服务器在接收到该实例下线指令后,可以先对目标节点服务器中的同步实例进行解注册,使得控制服务器无法再将新的同步任务分配到目标节点服务器中的同步实例中,从而停止了同步任务的分配操作。可以实时检测目标节点服务器中的已分配任务是否执行完毕,比如可以检测目标节点服务器的已分配任务队列中的当前剩余任务数量是否为零,若是,则确定所有已分配任务均执行完毕,若否,则等待执行,直到目标节点服务器中的已分配任务执行完毕为止。在目标节点服务器中的所有已分配任务均执行完毕时,可以将目标节点服务器中的同步实例和异步实例进行下线处理,从而销毁同步实例和异步实例,释放占用的资源,从而避免因故障修复而影响已分配任务的执行,尽可能减小修复带来的影响。在将目标节点服务器中的同步实例和异步实例均销毁后,控制服务器可以将允许修复指令发送至修复服务器,以提示修复服务器可以进行修复操作。

示例性地,S320中的“对所述目标节点服务器中的同步实例进行解注册”可以包括:向注册服务器发送目标节点服务器中的同步实例对应的同步实例地址,以使注册服务器将注册的同步实例地址进行删除。

其中,同步实例地址可以包括同步实例的IP地址和端口号port。具体地,通过将同步实例地址从注册中心中删除,可以避免从注册中心获得该同步实例地址,将新的任务反向代理到该同步实例的情况,从而避免了将新的任务分配到目标节点服务器中的同步实例上,进而可以将新的任务分配到其他正常的节点服务器中,保证了任务的正常运行,使得修复操作不会对任务运行造成影响。

示例性地,S320中的“在检测到目标节点服务器中的已分配任务执行完毕时,对目标节点服务器中的同步实例和异步实例进行下线”,可以包括:获取目标节点服务器中的同步实例对应的已分配同步任务和异步实例对应的已分配异步任务;在检测到已分配异步任务执行完毕时,退出异步实例的进程;在检测到已分配同步任务执行完毕时,退出同步实例的进程。

具体地,目标节点服务器中的每个异步实例在执行完所有的已分配异步任务后,退出异步实例的进程,从而将异步实例下线,释放计算资源。目标节点服务器中的每个同步实例在执行完所有的已分配同步任务后,退出同步实例的进程,从而将同步实例整体下线,释放计算资源,从而在不影响任务分配和执行的情况下实现同步实例和异步实例的下线,进而避免故障修复带来的影响。

S330、若接收到修复服务器在修复成功后发送的目标节点服务器对应的维护解除指令,则继续对目标节点服务器进行实例分配操作。

具体地,修复服务器在接收到允许修复指令时,可以利用与目标节点服务器相匹配的目标修复方式,对目标节点服务器进行故障修复,比如,对目标节点服务器进行重启操作、对目标节点服务器进行目录清理操作或者对目标节点服务器进行下线更换CPU处理器、更换磁盘、重装系统、更换网卡、更换内存条、电源模块维修等操作再上线。在对目标节点服务器进行故障修复后,可以检测修复后的目标节点服务器是否处于正常运行状态,比如运行指标信息是否小于或等于预设阈值,若是,则可以确定目标节点服务器修复成功。在修复成功后,可以将包含有目标节点标识信息的维护解除指令发送至控制服务器。控制服务器在接收到该维护解除指令后,可以继续对目标节点服务器进行实例分配操作,使得任务可以重新被调度到修复好的节点服务器中的实例上,进而保证任务的成功执行。通过利用修复服务器与控制服务器之间的交互,可以对整个修复过程进行自动管控,实现修复流程的自动化流转,无需人工参与,提高故障修复效率。

本公开实施例的技术方案,通过修复服务器获取节点池中存在故障的目标节点服务器,并将目标节点服务器对应的节点维护指令发送至控制服务器,控制服务器基于节点维护指令,停止对目标节点服务器进行实例分配操作。修复服务器将目标节点服务器对应的实例下线指令发送至控制服务器,控制服务器基于实例下线指令,对目标节点服务器中的同步实例进行解注册,并在检测到目标节点服务器中的已分配任务执行完毕时,对目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令。修复服务器若接收到控制服务器返回的允许修复指令,则对目标节点服务器进行故障修复,并在修复成功后向控制服务器发送目标节点服务器对应的维护解除指令,控制服务器基于维护解除指令继续对目标节点服务器进行实例分配操作。通过修复服务器与控制服务器之间的交互,可以对目标节点服务器进行节点维护以及实例下线,从而在不影响任务正常运行的前提下进行故障修复,并且实现了修复流程的自动化流转,无需人工参与,提高故障修复效率。

图5为本公开实施例所提供的一种故障修复装置的结构示意图,如图5所示,该装置集成于修复服务器,具体包括:目标节点服务器获取模块510、节点维护指令发送模块520、实例下线指令发送模块530和故障修复模块540。

其中,目标节点服务器获取模块510,用于获取节点池中存在故障的目标节点服务器;节点维护指令发送模块520,用于将所述目标节点服务器对应的节点维护指令发送至控制服务器,以使所述控制服务器基于所述节点维护指令,停止对所述目标节点服务器进行实例分配操作;实例下线指令发送模块530,用于将所述目标节点服务器对应的实例下线指令发送至所述控制服务器,以使所述控制服务器基于所述实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;故障修复模块540,用于若接收到所述控制服务器返回的允许修复指令,则对所述目标节点服务器进行故障修复,并在修复成功后向所述控制服务器发送所述目标节点服务器对应的维护解除指令,以使所述控制服务器基于所述维护解除指令继续对所述目标节点服务器进行实例分配操作。

本公开实施例所提供的技术方案,通过修复服务器获取节点池中存在故障的目标节点服务器,并将目标节点服务器对应的节点维护指令发送至控制服务器,控制服务器基于节点维护指令,停止对目标节点服务器进行实例分配操作。修复服务器将目标节点服务器对应的实例下线指令发送至控制服务器,控制服务器基于实例下线指令,对目标节点服务器中的同步实例进行解注册,并在检测到目标节点服务器中的已分配任务执行完毕时,对目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令。修复服务器若接收到控制服务器返回的允许修复指令,则对目标节点服务器进行故障修复,并在修复成功后向控制服务器发送目标节点服务器对应的维护解除指令,控制服务器基于维护解除指令继续对目标节点服务器进行实例分配操作。通过修复服务器与控制服务器之间的交互,可以对目标节点服务器进行节点维护以及实例下线,从而在不影响任务正常运行的前提下进行故障修复,并且实现了修复流程的自动化流转,无需人工参与,提高故障修复效率。

在上述技术方案的基础上,故障修复模块540,包括:

目标修复方式获取单元,用于获取所述目标节点服务器对应的目标修复方式;

目标修复等级确定单元,用于基于修复方式与修复等级之间的对应关系和所述目标修复方式,确定所述目标节点服务器对应的目标修复等级;

故障修复单元,用于基于所述目标修复等级,对所述目标节点服务器进行故障修复。

在上述各技术方案的基础上,故障修复单元,具体用于:

若所述目标修复等级为第一等级,则将所述目标节点服务器对应的缩容指令发送至控制服务器,以使所述控制服务器基于所述缩容指令,对所述目标节点服务器进行缩容处理并返回缩容成功指令;基于返回的缩容成功指令,对所述目标节点服务器进行故障修复;若所述目标修复等级为第二等级,则直接对所述目标节点服务器进行故障修复。

在上述各技术方案的基础上,故障修复模块540,还包括:

维护解除指令发送单元,具体用于在所述目标修复等级为第一等级时,在修复成功后将所述目标节点服务器对应的扩容指令发送至所述控制服务器,以使所述控制服务器基于所述扩容指令,对所述目标节点服务器进行扩容处理并返回扩容成功指令;基于返回的扩容成功指令,向所述控制服务器发送维护解除指令。

本公开实施例所提供的故障修复装置可执行本公开任意实施例所提供的应用于修复服务器的故障修复方法,具备执行故障修复方法相应的功能模块和有益效果。

值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。

图6为本公开实施例所提供的一种故障修复装置的结构示意图,如图6所示,该装置集成于控制服务器,具体包括:实例分配停止模块610、实例下线模块620和实例分配继续模块630。

其中,实例分配停止模块610,用于若接收到修复服务器发送的目标节点服务器对应的节点维护指令,则停止对所述目标节点服务器进行实例分配操作;实例下线模块620,用于基于所述修复服务器发送的所述目标节点服务器对应的实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;实例分配继续模块630,用于若接收到所述修复服务器在修复成功后发送的所述目标节点服务器对应的维护解除指令,则继续对所述目标节点服务器进行实例分配操作。

本公开实施例所提供的技术方案,通过修复服务器获取节点池中存在故障的目标节点服务器,并将目标节点服务器对应的节点维护指令发送至控制服务器,控制服务器基于节点维护指令,停止对目标节点服务器进行实例分配操作。修复服务器将目标节点服务器对应的实例下线指令发送至控制服务器,控制服务器基于实例下线指令,对目标节点服务器中的同步实例进行解注册,并在检测到目标节点服务器中的已分配任务执行完毕时,对目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令。修复服务器若接收到控制服务器返回的允许修复指令,则对目标节点服务器进行故障修复,并在修复成功后向控制服务器发送目标节点服务器对应的维护解除指令,控制服务器基于维护解除指令继续对目标节点服务器进行实例分配操作。通过修复服务器与控制服务器之间的交互,可以对目标节点服务器进行节点维护以及实例下线,从而在不影响任务正常运行的前提下进行故障修复,并且实现了修复流程的自动化流转,无需人工参与,提高故障修复效率。

在上述技术方案的基础上,实例下线模块620,具体用于:

向注册服务器发送所述目标节点服务器中的同步实例对应的同步实例地址,以使所述注册服务器将注册的所述同步实例地址进行删除。

在上述技术方案的基础上,实例下线模块620,还具体用于:获取所述目标节点服务器中的同步实例对应的已分配同步任务和异步实例对应的已分配异步任务;在检测到已分配异步任务执行完毕时,退出所述异步实例的进程;在检测到已分配同步任务执行完毕时,退出所述同步实例的进程。

本公开实施例所提供的故障修复装置可执行本公开任意实施例所提供的应用于控制服务器的故障修复方法,具备执行故障修复方法相应的功能模块和有益效果。

值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。

图7为本公开实施例提供的一种故障修复系统的结构示意图,本实施例可适用于对节点服务器进行故障修复的情况,尤其是可以应用于对FaaS平台中的节点服务器进行故障修复的情况。如图7所示,该系统具体包括:节点池710、控制服务器720和修复服务器730。

其中,所述节点池710包括多个节点服务器;所述修复服务器730用于实现如本公开实施例所提供的应用于修复服务器的故障修复方法。所述控制服务器720用于实现如本公开实施例所提供的应用于控制服务器的故障修复方法。

本公开实施例中的故障修复系统,通过修复服务器730获取节点池710中存在故障的目标节点服务器,并将目标节点服务器对应的节点维护指令发送至控制服务器720,控制服务器720基于节点维护指令,停止对目标节点服务器进行实例分配操作。修复服务器730将目标节点服务器对应的实例下线指令发送至控制服务器720,控制服务器720基于实例下线指令,对目标节点服务器中的同步实例进行解注册,并在检测到目标节点服务器中的已分配任务执行完毕时,对目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令。修复服务器730若接收到控制服务器720返回的允许修复指令,则对目标节点服务器进行故障修复,并在修复成功后向控制服务器720发送目标节点服务器对应的维护解除指令,控制服务器720基于维护解除指令继续对目标节点服务器进行实例分配操作。通过修复服务器730与控制服务器720之间的交互,可以对目标节点服务器进行节点维护以及实例下线,从而在不影响任务正常运行的前提下进行故障修复,并且实现了修复流程的自动化流转,无需人工参与,提高故障修复效率。

图8为本公开实施例所提供的一种电子设备的结构示意图。下面参考图8,其示出了适于用来实现本公开实施例的电子设备(例如图8中的终端设备或服务器)500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图8所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。编辑/输出(I/O)接口505也连接至总线504。

通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

本公开实施例提供的电子设备与上述实施例提供的故障修复方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。

本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的故障修复方法。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。

在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取节点池中存在故障的目标节点服务器;将所述目标节点服务器对应的节点维护指令发送至控制服务器,以使所述控制服务器基于所述节点维护指令,停止对所述目标节点服务器进行实例分配操作;将所述目标节点服务器对应的实例下线指令发送至所述控制服务器,以使所述控制服务器基于所述实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;若接收到所述控制服务器返回的允许修复指令,则对所述目标节点服务器进行故障修复,并在修复成功后向所述控制服务器发送所述目标节点服务器对应的维护解除指令,以使所述控制服务器基于所述维护解除指令继续对所述目标节点服务器进行实例分配操作。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:若接收到修复服务器发送的目标节点服务器对应的节点维护指令,则停止对所述目标节点服务器进行实例分配操作;基于所述修复服务器发送的所述目标节点服务器对应的实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;若接收到所述修复服务器在修复成功后发送的所述目标节点服务器对应的维护解除指令,则继续对所述目标节点服务器进行实例分配操作。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

根据本公开的一个或多个实施例,【示例一】提供了一种故障修复方法,应用于修复服务器,包括:

获取节点池中存在故障的目标节点服务器;

将所述目标节点服务器对应的节点维护指令发送至控制服务器,以使所述控制服务器基于所述节点维护指令,停止对所述目标节点服务器进行实例分配操作;

将所述目标节点服务器对应的实例下线指令发送至所述控制服务器,以使所述控制服务器基于所述实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;

若接收到所述控制服务器返回的允许修复指令,则对所述目标节点服务器进行故障修复,并在修复成功后向所述控制服务器发送所述目标节点服务器对应的维护解除指令,以使所述控制服务器基于所述维护解除指令继续对所述目标节点服务器进行实例分配操作。

根据本公开的一个或多个实施例,【示例二】提供了一种故障修复方法,还包括:

可选的,对所述目标节点服务器进行故障修复,包括:

获取所述目标节点服务器对应的目标修复方式;

基于修复方式与修复等级之间的对应关系和所述目标修复方式,确定所述目标节点服务器对应的目标修复等级;

基于所述目标修复等级,对所述目标节点服务器进行故障修复。

根据本公开的一个或多个实施例,【示例三】提供了一种故障修复方法,还包括:

可选的,基于所述目标修复等级,对所述目标节点服务器进行故障修复,包括:

若所述目标修复等级为第一等级,则将所述目标节点服务器对应的缩容指令发送至控制服务器,以使所述控制服务器基于所述缩容指令,对所述目标节点服务器进行缩容处理并返回缩容成功指令;基于返回的缩容成功指令,对所述目标节点服务器进行故障修复;

若所述目标修复等级为第二等级,则直接对所述目标节点服务器进行故障修复。

根据本公开的一个或多个实施例,【示例四】提供了一种故障修复方法,还包括:

可选的,在所述目标修复等级为第一等级时,在修复成功后向所述控制服务器发送维护解除指令,包括:

在修复成功后将所述目标节点服务器对应的扩容指令发送至所述控制服务器,以使所述控制服务器基于所述扩容指令,对所述目标节点服务器进行扩容处理并返回扩容成功指令;

基于返回的扩容成功指令,向所述控制服务器发送维护解除指令。

根据本公开的一个或多个实施例,【示例五】提供了一种故障修复方法,应用于控制服务器,包括:

若接收到修复服务器发送的目标节点服务器对应的节点维护指令,则停止对所述目标节点服务器进行实例分配操作;

基于所述修复服务器发送的所述目标节点服务器对应的实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;

若接收到所述修复服务器在修复成功后发送的所述目标节点服务器对应的维护解除指令,则继续对所述目标节点服务器进行实例分配操作。

根据本公开的一个或多个实施例,【示例六】提供了一种故障修复方法,还包括:

可选的,对所述目标节点服务器中的同步实例进行解注册,包括:

向注册服务器发送所述目标节点服务器中的同步实例对应的同步实例地址,以使所述注册服务器将注册的所述同步实例地址进行删除。

根据本公开的一个或多个实施例,【示例七】提供了一种故障修复方法,还包括:

可选的,在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,包括:

获取所述目标节点服务器中的同步实例对应的已分配同步任务和异步实例对应的已分配异步任务;

在检测到已分配异步任务执行完毕时,退出所述异步实例的进程;

在检测到已分配同步任务执行完毕时,退出所述同步实例的进程。

根据本公开的一个或多个实施例,【示例八】提供了一种故障修复装置,集成于修复服务器,包括:

目标节点服务器获取模块,用于获取节点池中存在故障的目标节点服务器;

节点维护指令发送模块,用于将所述目标节点服务器对应的节点维护指令发送至控制服务器,以使所述控制服务器基于所述节点维护指令,停止对所述目标节点服务器进行实例分配操作;

实例下线指令发送模块,用于将所述目标节点服务器对应的实例下线指令发送至所述控制服务器,以使所述控制服务器基于所述实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;

故障修复模块,用于若接收到所述控制服务器返回的允许修复指令,则对所述目标节点服务器进行故障修复,并在修复成功后向所述控制服务器发送所述目标节点服务器对应的维护解除指令,以使所述控制服务器基于所述维护解除指令继续对所述目标节点服务器进行实例分配操作。

根据本公开的一个或多个实施例,【示例九】提供了一种故障修复装置,集成于控制服务器,包括:

实例分配停止模块,用于若接收到修复服务器发送的目标节点服务器对应的节点维护指令,则停止对所述目标节点服务器进行实例分配操作;

实例下线模块,用于基于所述修复服务器发送的所述目标节点服务器对应的实例下线指令,对所述目标节点服务器中的同步实例进行解注册,并在检测到所述目标节点服务器中的已分配任务执行完毕时,对所述目标节点服务器中的同步实例和异步实例进行下线,并返回允许修复指令;

实例分配继续模块,用于若接收到所述修复服务器在修复成功后发送的所述目标节点服务器对应的维护解除指令,则继续对所述目标节点服务器进行实例分配操作。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

技术分类

06120115758796