故障的修复方法、装置及系统与流程

文档序号:13934215阅读:223来源:国知局
故障的修复方法、装置及系统与流程

本发明涉及计算机技术领域,尤其涉及一种故障的修复方法、装置及系统。



背景技术:

saltstack(简称salt)是一个以服务器为基础架构的集中化管理平台,可以实现配置管理、远程执行、监控等功能。通常,每个服务器中会安装一个salt-minion软件来实时接收salt-master端发出的任务并执行,然后向salt-master端返回执行结果。

目前,现有的salt在长时间运行或计算复杂任务时,会出现假死状态,即是指在进程和pid都存在的情况下,服务器无法响应的情况。而且,由于salt-minion不带有自检动能,只有在salt-master向salt-minion进行通信出现异常时,才可以确定salt-minion出现故障,修复故障需要通过程序人员手动进行修复。但是,由于服务器处于假死状态,常规salt-minion修复操作无法正常运行,需要手动关闭相关进程,再进行修复操作,这会影响其他任务的进度,并且,手动修复较为繁杂,导致故障的修复效率较低。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种故障的修复方法、装置及系统,主要目的是解决当salt-minion出现故障时,需要手动修复的问题。

借由上述技术方案,本发明提供的一种故障的修复方法,包括:

在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略;

根据所述测试指令进行测试,生成测试结果,所述测试结果包括测试结果及与所述测试结果对应的salt-minion服务器标识信息;

向所述salt-master服务器发送所述测试结果;

当前salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单;

根据所述故障清单中的salt-minion服务器标识信息进行故障修复。

借由上述技术方案,本发明提供的另一种故障的修复方法,包括:

当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略;

当前salt-master服务器接收所述salt-minion服务器返回的测试结果,所述测试结果包括测试结果及与测试结果对应的salt-minion服务器标识信息;

判断所述测试结果中是否存在符合预置异常条件的测试结果;

若是,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单。

借由上述技术方案,本发明提供的一种salt-minion服务器,包括:

接收单元,用于在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的接收测试指令,所述测试指令包括预置测试策略;

生成单元,用于根据所述测试指令进行测试,生成测试结果;

发送单元,用于向所述salt-master服务器发送所述测试结果;

读取单元,用于当前salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单;

修复单元,用于根据所述故障清单中的salt-minion服务器标识信息进行故障修复。

借由上述技术方案,本发明提供的一种salt-master服务器,包括:

发送单元,用于当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略;

接收单元,用于当前salt-master服务器接收所述salt-minion服务器返回的测试结果,所述测试结果包括测试结果及与测试结果对应的salt-minion服务器标识信息;

判断单元,用于判断所述测试结果中是否存在符合预置异常条件的测试结果;

生成单元,用于若判断单元判断所述测试结果中存在符合预置异常条件的测试结果,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单。

借由上述技术方案,本发明提供的一种故障的修复系统,包括:

salt-master服务器,用于当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略;

salt-minion服务器,用于在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略;

所述salt-minion服务器,还用于根据所述测试指令进行测试,生成测试结果,所述测试结果包括测试结果及与所述测试结果对应的salt-minion服务器标识信息;

所述salt-minion服务器,还用于向所述salt-master服务器发送所述测试结果;

所述salt-master服务器,还用于当前salt-master服务器接收所述salt-minion服务器返回的测试结果,所述测试结果包括测试结果及与测试结果对应的salt-minion服务器标识信息;

所述salt-master服务器,还用于判断所述测试结果中是否存在符合预置异常条件的测试结果;

所述salt-master服务器,还用于若是,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单;

所述salt-minion服务器,还用于当前salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单;

所述salt-minion服务器,还用于根据所述故障清单中的salt-minion服务器标识信息进行故障修复。

借由上述技术方案,本发明提供的一种故障的修复方法、装置及系统,首先salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略;salt-minion服务器在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略;根据所述测试指令进行测试,生成测试结果,所述测试结果包括测试结果及与所述测试结果对应的salt-minion服务器标识信息;向所述salt-master服务器发送所述测试结果;salt-master服务器接收所述salt-minion服务器返回的测试结果,所述测试结果包括测试结果及与测试结果对应的salt-minion服务器标识信息;判断所述测试结果中是否存在符合预置异常条件的测试结果;若是,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单;salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单;根据所述故障清单中的salt-minion服务器标识信息进行故障修复。与目前常规salt-minion修复需要手动关闭相关进程,再进行修复操作相比,本发明实施例通过服务器发送的预置测试策略判断出salt-minion端是否出现故障,再根据生成的故障清单中出现的salt-minion端进行修复,实现了salt-minion端故障修复的自动进行,简化故障修复过程,从而提高故障的修复效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了发明实施例提供的一种故障的修复方法的流程图;

图2示出了发明实施例提供的另一种故障的修复方法的流程图;

图3示出了发明实施例提供的又一种故障的修复方法的流程图;

图4示出了发明实施例提供的再一种故障的修复方法的流程图;

图5示出了发明实施例提供的一种salt-minion服务器的方框图;

图6示出了发明实施例提供的另一种salt-minion服务器的方框图;

图7示出了发明实施例提供的一种salt-master服务器的方框图;

图8示出了发明实施例提供的另一种salt-master服务器的方框图;

图9示出了发明实施例提供的一种故障的修复系统结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供一种故障的修复方法,如图1所示,所述方法包括:

101、在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令。

其中,所述测试指令包括预置测试策略,所述预置测试策略用于与当前的salt-minion服务器进行故障测试,可以包括测试连接,还可以为能测试出salt-minion服务器故障的其他方法,本发明实施例不做具体限定。

需要说明的是,测试指令由salt-master服务器进行发出,且接收测试指令的salt-minion服务器可以为一个,也可以为多个,本发明实施例不做具体限定。当预置测试策略为测试连接时,测试连接为发出测试指令的salt-master服务器与接收测试指令的salt-minion服务器进行连接,包括一个服务器与一个salt-minion服务器进行连接,还可以包括一个服务器与多个salt-minion服务器进行连接,程序开发人员可以根据服务器与salt-minion服务器的类型、型号、功能等相关数据编译预置测试策略的程序,本发明实施例不做具体限定。

例如,当前salt-minion服务器minion-1接收测试指示,其中包括测试连接。

102、根据所述测试指令进行测试,生成测试结果。

其中,所述测试结果包括测试结果及与所述测试结果对应的salt-minion服务器标识信息,所述测试结果包括测试成功与测试故障,所述测试结果包括测试成功与测试故障,所述测试结果包括测试结果及与所述测试结果对应的salt-minion服务器标识信息,所述salt-minion服务器标识信息为salt-minion服务器的唯一标识。例如,当预置测试策略为测试连接时,当salt-minion服务器与服务器连接成功时,生成“minionreturn”,当salt-minion服务器与服务器连接故障,生成“miniondidnotreturn[notconnected]”。再如,当minion-1、minion-2、minion-3进行测试后,生成结果为minion-1故障、minion-2成功、minion-3故障。

103、向所述salt-master服务器发送所述测试结果。

其中,所述发送为当前salt-minion服务器向salt-master服务器发送预置测试策略的结果。

例如,minion-1发送测试结果为minion-1故障,minion-2发送测试结果为minion-2成功。

104、当前salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单。

其中,所述故障清单为保存有测试结果为故障的数据库,所述故障修复可以包括调用预设函数重新启动salt-minion服务器,还可以包括与salt-minion服务器故障对应的修复方法,本发明实施例不做具体限定,所述第一预设时间间隔优选为1分钟,其他时间间隔可以根据具体测试环境和应用场景进行设置,本年发明实施例不做具体限定,所述预置存储位置为可以为本地内存或缓存中,本发明实施例不做具体限定。

需要说明的是,预置存储位置为一个内网公用的es数据库,以便故障清单发布一个http的应用接口api,由es自身提供,从而同时被salt-master和salt-minion进行读写操作。

例如,每隔1分钟salt-minion读取es数据库中的故障清单。通过按照第一预设时间间隔读取预置存储位置中的故障清单,实现了自动读取故障清单,以便从故障清单中获取出现故障的salt-minion服务器,从而提高故障的修复效率。

105、根据所述故障清单中的salt-minion服务器标识信息进行故障修复。

其中,存储故障清单中的salt-minion服务器标识信息均为出现故障的salt-minion服务器的标识信息,通过根据所述故障清单中的salt-minion服务器标识信息进行故障修复,简化故障修复的过程,缩短检测出现故障的salt-minion服务器的检测步骤,从而提高故障修复的效率。

对于本发明实施例,具体的应用场景可以如下所示,但不限于此,包括:minion-1接收到测试指令,指令中包含测试策略为测试连接,将salt-minion服务器与salt-master服务器进行连接,生成测试结果为“miniondidnotreturn[notconnected]”,则将测试结果发送给salt-master服务器,每隔1分钟salt-minion读取es数据库中的故障清单的内容为测试故障,则minion-1启动修复进程。

借由上述技术方案,本发明提供的一种故障的修复方法,首先在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略,然后根据所述测试指令进行测试,生成测试结果,再向所述salt-master服务器发送所述测试结果,最后当前salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单,根据所述故障清单中的salt-minion服务器标识信息进行故障修复。与目前常规salt-minion修复需要手动关闭相关进程,再进行修复操作相比,本发明实施例通过服务器发送的预置测试策略判断出salt-minion端是否出现故障,再根据生成的故障清单中出现的salt-minion端进行修复,实现了salt-minion端故障修复的自动进行,简化故障修复过程,从而提高故障的修复效率。

本发明实施例提供另一种故障的修复方法,如图2所示,所述方法包括:

201、在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令。

本步骤与图1所述步骤101所述的方法相同,这里不再赘述。

202、根据所述测试指令进行测试,生成测试结果。

本步骤与图1所述步骤102所述的方法相同,这里不再赘述。

203、向所述salt-master服务器发送所述测试结果。

本步骤与图1所述步骤103所述的方法相同,这里不再赘述。

204、按照第一预设时间间隔读取预置存储位置中的故障清单。

本步骤与图1所述步骤104所述的方法相同,这里不再赘述。

205、根据所述故障清单中的salt-minion服务器标识信息进行故障修复。

本步骤与图1所述步骤105所述的方法相同,这里不再赘述。

206、判断当前salt-minion服务器对应的salt-minion服务器标识信息是否出现在所述故障清单中。

其中,所述判断过程为每个salt-minion服务器读取故障清单后进行,且每个salt-minion服务器分别进行判断。

例如,minion-1读取故障清单后,判断故障清单中是否存在minion-1的标识信息minion-1,或者,minion-2读取故障清单后,判断故障清单中是否存在minion-2的标识信息minion-2。通过判断当前salt-minion服务器对应的salt-minion服务器标识信息是否出现在所述故障清单中,以便每个salt-minion服务器可以根据故障清单对当前salt-minion服务器进行故障修复。

207a、若判断当前salt-minion服务器对应的salt-minion服务器标识信息出现在所述故障清单中,则根据当前salt-minion服务器的预置计数器统计所述salt-minion服务器标识信息出现在所述故障清单中次数。

其中,所述预置计数器为加1计数器,用于每当判断出故障清单中出现一次当前salt-minion服务器对应的salt-minion服务器标识信息,则计数器加1,所述统计出现在故障清单中的次数为计数器加1后的总数。

需要说明的是,每个salt-minion服务器均会配置一个计数器,以便统计每个salt-minion服务器出现故障的次数。例如,当minion-2判断出故障清单中出现标识信息minion-2,则minion-2中的计数器加1,统计出现在故障清单中的次数为2次。通过根据当前salt-minion服务器的预置计数器统计所述salt-minion服务器标识信息出现在所述故障清单中次数,以便salt-minion服务器根据统计的次数进行修复,或者调整修复策略,实现修复故障的灵活性,从而提高故障修复的效率。

208a、根据所述统计的次数调整故障修复。

其中,所述调整故障修复可以包括暂停故障修复及继续故障修复,还可以包括重新制定新的故障修复策略,本发明实施例不做具体限定。

对于本发明实施例,步骤208a具体可以包括:判断所述统计次数是否等于预设阈值;若是,则输出告警信息,并退出故障修复;若否,则继续执行故障修复。其中,优选地,所述预设阈值为3,还可以根据具体测试策略及修复方法设置预设阈值,本发明实施例不做具体限定,所述告警信息可以为声音信息或者文字信息,其中包含有统计次数等于3的salt-minion服务器标识信息,以便程序开发人员根据告警采取措施。例如,当minion-2统计的次数为3,等于预设阈值,则输出告警信息“minion-2出现3次故障了”。通过判断所述统计次数是否等于预设阈值,若是,则输出告警信息,并退出故障修复,若否,则继续执行故障修复,实现故障次数过多后自动报警,再进行人工修复,避免每次故障都需要人工修复,从而提高故障的修复的效率。

进一步地,与步骤207a并列的步骤207b、若当前salt-minion服务器对应的salt-minion服务器标识信息没有出现在所述故障清单中,则将当前salt-minion服务器的预置计数器的次数配置为零。其中,所述预置计数器的次数配置为从下次读取故障清单后重新计数,而且,当前salt-minion服务器对应的salt-minion服务器标识信息没有出现在故障清单中代表当前salt-minion服务器的故障已经被修复。通过若当前salt-minion服务器对应的salt-minion服务器标识信息没有出现在所述故障清单中,则将当前salt-minion服务器的预置计数器的次数配置为零,实现salt-minion服务器的故障修复后,计数器重新开始计数,从而提高故障的修复效率。

对于本发明实施例,具体的应用场景可以如下所示,但不限于此,包括:minion-1、minion-2、minion-3、minion-4接收测试指令,进行测试连接,分别发送minion-1、minion-2、minion-3、minion-4的测试结果miniondidnotreturn[notconnected]、miniondidnotreturn[notconnected]、minionreturn、minionreturn,每隔1分钟读取异常存储在内网公用es数据库中的故障清单,根据故障清单中的minion-1、minion-2、minion-4进行故障修复。minion-1、minion-2、minion-4判断出故障清单中出现minion-1、minion-2、minion-4,则minion-1、minion-2、minion-4分别利用计数器统计当前次数为2次、3次、1次,minion-2的次数等于预置阈值3,则输出告警信息“minion-2出现3次故障了”,并退出故障修复,minion-1和minion-4的次数不等于3,则清空minion-1和minion-4的计数器,并继续当前的修复系统。

借由上述技术方案,本发明提供的另一种故障的修复方法,首先在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略,然后根据所述测试指令进行测试,生成测试结果,再向所述salt-master服务器发送所述测试结果,最后当前salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单,根据所述故障清单中的salt-minion服务器标识信息进行故障修复。与目前常规salt-minion修复需要手动关闭相关进程,再进行修复操作相比,本发明实施例通过服务器发送的预置测试策略判断出salt-minion端是否出现故障,再根据生成的故障清单中出现的salt-minion端进行修复,实现了salt-minion端故障修复的自动进行,简化故障修复过程,从而提高故障的修复效率。

本发明实施例提供又一种故障的修复方法,如图3所示,所述方法包括:

301、当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令。

其中,所述测试指令中包括预置测试策略,所述预置测试策略用于与当前的salt-minion服务器进行故障测试,可以包括测试连接,还可以为能测试出salt-minion服务器故障的其他方法,本发明实施例不做具体限定,优选地,所述第二预设时间间隔可以为1分钟,本发明实施例不做具体限定。

需要说明的是,当前服务器发送的测试指令可以发送个一个salt-minion服务器,也可以发送给多个salt-minion服务器,本发明实施例不做具体限定。当预置测试策略为测试连接时,测试连接为发出测试指令的salt-master服务器与接收测试指令的salt-minion服务器进行连接,包括一个salt-minion服务器与一个salt-minion服务器进行连接,还可以包括一个salt-minion服务器与多个salt-minion服务器进行连接,程序开发人员可以根据服务器与salt-minion服务器的类型、型号、功能等相关数据编译预置测试策略的程序,本发明实施例不做具体限定。

302、当前salt-master服务器接收所述salt-minion服务器返回的测试结果。

其中,所述测试结果包括测试结果及与测试结果对应的salt-minion服务器标识信息,所述返回的测试结果为salt-minion服务器生成的测试结果,例如,当salt-minion服务器测试成功时,接收返回的测试结果为“minionreturn”,当salt-minion服务器测试故障时,接收返回的测试结果为“miniondidnotreturn[notconnected]”。

303、判断所述测试结果中是否存在符合预置异常条件的测试结果。

其中,所述符合预置异常条件为测试故障,例如,返回的所有测试结果为minion-1故障、minion-2成功、minion-3故障,判断测试结果中是否存在符合故障条件的测试结果。通过判断所述测试结果中是否存在符合预置异常条件的测试结果,以便服务器根据预置异常条件将测试结果写入故障清单中。

需要说明的是,salt-minion服务器若没有故障则可以不写入故障清单中,并且,故障清单中包含多个salt-minion服务器的测试结果。

304、若判断所述测试结果中存在符合预置异常条件的测试结果,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单。

其中,所述故障清单可以存储在一个内网公用的ea数据库中,以便故障清单发布一个http的应用接口api,由es自身提供,从而同时被salt-master和salt-minion进行读写操作。

需要说明的是,符合预置异常条件的测试结果对应的salt-minion服务器标识信息可以保存在缓存中,然后等待一次性写入故障清单中,在生成故障清单时,对故障清单进行更新,将本次测试结果中不符合预置异常条件的测试结果对应的salt-minion服务器标识信息进行删除,以便确保故障清单中的salt-minion服务器标识信息对应的测试结果均符合预置异常条件。

例如,判断出minion-1故障和minion-3故障,则将故障的salt-minion服务器标识信息minion-1和minion-3写入故障清单中,并删除其他数据。通过判断所述测试结果中存在符合预置异常条件的测试结果,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单,以便salt-minion服务器根据故障清单中的salt-minion服务器标识信息进行修复,实现故障修复的自动化,从而提高故障的修复效率。

借由上述技术方案,本发明提供的又一种故障的修复方法,首先当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略,然后当前salt-master服务器接收所述salt-minion服务器返回的测试结果,再判断所述测试结果中是否存在符合预置异常条件的测试结果;若是,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单。与目前salt-master通信时才能发现故障相比,本发明实施例通过发送预置测试策略,根据测试结果生成故障清单,实现了自动检测故障,简化故障修复过程,从而提高故障的修复效率。

本发明实施例提供再一种故障的修复方法,如图4所示,所述方法包括:

401、当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令。

本步骤与图3所述步骤301所述的方法相同,这里不再赘述。

402、当前salt-master服务器接收所述salt-minion服务器返回的测试结果。

本步骤与图3所述步骤302所述的方法相同,这里不再赘述。

403、判断所述测试结果中是否存在符合预置异常条件的测试结果。

本步骤与图3所述步骤303所述的方法相同,这里不再赘述。

404、若判断所述测试结果中存在符合预置异常条件的测试结果,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单。

本步骤与图3所述步骤304所述的方法相同,这里不再赘述。

405、将所述故障清单存储至预置存储位置中。

对于本发明实施例,以便当前设备与salt-minion服务器进行读写操作,所述预置存储位置为可以为本地内存或缓存中,本发明实施例不做具体限定,所述预置存储位置具体可以为一个内网公用的es数据库,以便故障清单发布一个http的应用接口api,由es自身提供,从而同时被salt-master服务器和salt-minion服务器进行读写操作,所述数据库通过api接口实时对外发布了故障清单。通过将所述故障清单存储至预置存储位置中,实现salt-minion服务器与salt-master服务器可以同时对故障清单进行读写操作。

对于本发明实施例,具体的应用场景可以如下所示,但不限于此,包括:按照每分钟的时间间隔发送测试指令,指令中包括测试连接,接收返回的测试结果为minion-1“miniondidnotreturn[notconnected]”、minion-2“miniondidnotreturn[notconnected]”、minion-3“minionreturn”、minion-4“miniondidnotreturn[notconnected]”,判断出minion-1、minion-2、minion-4符合预置异常条件故障,则将minion-1、minion-2、minion-4写入故障清单中,并将故障清单存储至内网公用的es数据库中。

借由上述技术方案,本发明提供的再一种故障的修复方法,首先当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略,然后当前salt-master服务器接收所述salt-minion服务器返回的测试结果,再判断所述测试结果中是否存在符合预置异常条件的测试结果;若是,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单。与目前salt-master通信时才能发现故障相比,本发明实施例通过发送预置测试策略,根据测试结果生成故障清单,实现了自动检测故障,简化故障修复过程,从而提高故障的修复效率。

该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

进一步地,作为图1所示方法的具体实现,本发明实施例提供一种salt-minion服务器,如图5所示,所述装置可以包括:接收单元51、生成单元52、发送单元53、读取单元54、修复单元55。

接收单元51,用于在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略;

生成单元52,用于根据所述测试指令进行测试,生成测试结果;

发送单元53,用于向所述salt-master服务器发送所述测试结果;

读取单元54,用于当前salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单;

修复单元55,用于根据所述故障清单中的salt-minion服务器标识信息进行故障修复。

借由上述技术方案,本发明提供的一种salt-minion服务器,首先在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略,然后根据所述测试指令进行测试,生成测试结果,再向所述salt-master服务器发送所述测试结果,最后当前salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单,根据所述故障清单中的salt-minion服务器标识信息进行故障修复。与目前常规salt-minion修复需要手动关闭相关进程,再进行修复操作相比,本发明实施例通过服务器发送的预置测试策略判断出salt-minion端是否出现故障,再根据生成的故障清单中出现的salt-minion端进行修复,实现了salt-minion端故障修复的自动进行,简化故障修复过程,从而提高故障的修复效率。

该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

进一步地,作为图2所示方法的具体实现,本发明实施例提供另一种salt-minion服务器,如图6所示,所述装置可以包括:接收单元61、生成单元62、发送单元63、读取模块64、修复单元65、判断单元66、统计单元67、调整单元68、配置单元69。

接收单元61,用于在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略;

生成单元62,用于根据所述测试指令进行测试,生成测试结果;

发送单元63,用于向所述salt-master服务器发送所述测试结果;

读取模块64,用于按照第一预设时间间隔读取预置存储位置中的故障清单;

修复模块65,用于根据所述故障清单中的salt-minion服务器标识信息进行故障修复。

进一步地,所述装置还包括:

判断单元66,用于判断当前salt-minion服务器对应的salt-minion服务器标识信息是否出现在所述故障清单中;

统计单元67,用于若判断单元66判断出当前salt-minion服务器对应的salt-minion服务器标识信息出现在所述故障清单中,则根据当前salt-minion服务器的预置计数器统计所述salt-minion服务器标识信息出现在所述故障清单中次数;

调整单元68,用于根据所述统计的次数调整故障修复。

进一步地,所述调整单元68包括:

判断模块6801,用于判断所述统计次数是否等于预设阈值;

输出模块6802,用于若判断模块6801判断所述统计次数等于预设阈值,则输出告警信息,并退出故障修复;

执行模块6803,用于若判断模块6801判断所述统计次数不等于预设阈值,则继续执行故障修复。

进一步地,所述装置还包括:

配置单元69,用于若判断单元66判断当前salt-minion服务器对应的salt-minion服务器标识信息没有出现在所述故障清单中,则将当前salt-minion服务器的预置计数器的次数配置为零。

借由上述技术方案,本发明提供的另一种故障的修复装置,首先在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略,然后根据所述测试指令进行测试,生成测试结果,再向所述salt-master服务器发送所述测试结果,最后当前salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单,根据所述故障清单中的salt-minion服务器标识信息进行故障修复。与目前常规salt-minion修复需要手动关闭相关进程,再进行修复操作相比,本发明实施例通过服务器发送的预置测试策略判断出salt-minion端是否出现故障,再根据生成的故障清单中出现的salt-minion端进行修复,实现了salt-minion端故障修复的自动进行,简化故障修复过程,从而提高故障的修复效率。

该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

进一步地,作为图3所示方法的具体实现,本发明实施例提供一种salt-master服务器,如图7所示,所述装置可以包括:发送单元71、接收单元72、判断单元73、生成单元74。

发送单元71,用于当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略;

接收单元72,用于当前salt-master服务器接收所述salt-minion服务器返回的测试结果,所述测试结果包括测试结果及与测试结果对应的salt-minion服务器标识信息;

判断单元73,用于判断所述测试结果中是否存在符合预置异常条件的测试结果;

生成单元74,用于若判断单元判断所述测试结果中存在符合预置异常条件的测试结果,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单。

借由上述技术方案,本发明提供的一种salt-master服务器,首先当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略,然后当前salt-master服务器接收所述salt-minion服务器返回的测试结果,再判断所述测试结果中是否存在符合预置异常条件的测试结果;若是,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单。与目前salt-master通信时才能发现故障相比,本发明实施例通过发送预置测试策略,根据测试结果生成故障清单,实现了自动检测故障,简化故障修复过程,从而提高故障的修复效率。

该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

进一步地,作为图4所示方法的具体实现,本发明实施例提供另一种salt-master服务器,如图8所示,所述装置可以包括:发送单元81、接收单元82、判断单元83、生成单元84、存储单元85。

发送单元81,用于当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略;

接收单元82,用于当前salt-master服务器接收所述salt-minion服务器返回的测试结果;

判断单元83,用于判断所述测试结果中是否存在符合预置异常条件的测试结果;

生成单元84,用于若判断单元判断所述测试结果中存在符合预置异常条件的测试结果,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单。

进一步地,所述装置还包括:

存储单元85,用于将所述故障清单存储至预置存储位置中,以便当前salt-master服务器与salt-minion服务器进行读写操作。

借由上述技术方案,本发明提供的另一种salt-master服务器,首先当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略,然后当前salt-master服务器接收所述salt-minion服务器返回的测试结果,再判断所述测试结果中是否存在符合预置异常条件的测试结果;若是,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单。与目前salt-master通信时才能发现故障相比,本发明实施例通过发送预置测试策略,根据测试结果生成故障清单,实现了自动检测故障,简化故障修复过程,从而提高故障的修复效率。

进一步地,本发明实施例提供了一种故障的修复系统,如图9所示,所述系统包括:至少一个salt-minion服务器91、至少一个salt-master服务器92。

salt-master服务器92,用于当前salt-master服务器92按照第二预设时间间隔向salt-minion服务器91发送测试指令,所述测试指令中包括预置测试策略;

salt-minion服务器91,用于在当前salt-minion服务器91执行salt-master服务器92发出的任务时,接收所述salt-master服务器92发出的测试指令,所述测试指令包括预置测试策略;

所述salt-minion服务器91,还用于根据所述测试指令进行测试,生成测试结果,所述测试结果包括测试结果及与所述测试结果对应的salt-minion服务器91标识信息;

所述salt-minion服务器91,还用于向所述salt-master服务器92发送所述测试结果;

所述salt-master服务器92,还用于当前salt-master服务器92接收所述salt-minion服务器91返回的测试结果,所述测试结果包括测试结果及与测试结果对应的salt-minion服务器91标识信息;

所述salt-master服务器92,还用于判断所述测试结果中是否存在符合预置异常条件的测试结果;

所述salt-master服务器92,还用于若是,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器91标识信息生成故障清单;

所述salt-minion服务器91,还用于当前salt-minion服务器91按照第一预设时间间隔读取预置存储位置中的故障清单;

所述salt-minion服务器91,还用于根据所述故障清单中的salt-minion服务器91标识信息进行故障修复。

借由上述技术方案,本发明提供的一种故障的修复系统,首先salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略;salt-minion服务器在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略;根据所述测试指令进行测试,生成测试结果,所述测试结果包括测试结果及与所述测试结果对应的salt-minion服务器标识信息;向所述salt-master服务器发送所述测试结果;salt-master服务器接收所述salt-minion服务器返回的测试结果,所述测试结果包括测试结果及与测试结果对应的salt-minion服务器标识信息;判断所述测试结果中是否存在符合预置异常条件的测试结果;若是,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单;salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单;根据所述故障清单中的salt-minion服务器标识信息进行故障修复。与目前常规salt-minion修复需要手动关闭相关进程,再进行修复操作相比,本发明实施例通过服务器发送的预置测试策略判断出salt-minion端是否出现故障,再根据生成的故障清单中出现的salt-minion端进行修复,实现了salt-minion端故障修复的自动进行,简化故障修复过程,从而提高故障的修复效率。

所述故障的修复装置包括处理器和存储器,上述接收单元、生成单元、发送单元和修复单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决当salt-minion出现故障时,需要手动修复的问题。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:salt-master服务器,用于当前salt-master服务器按照第二预设时间间隔向salt-minion服务器发送测试指令,所述测试指令中包括预置测试策略;salt-minion服务器,用于在当前salt-minion服务器执行salt-master服务器发出的任务时,接收所述salt-master服务器发出的测试指令,所述测试指令包括预置测试策略;所述salt-minion服务器,还用于根据所述测试指令进行测试,生成测试结果,所述测试结果包括测试结果及与所述测试结果对应的salt-minion服务器标识信息;所述salt-minion服务器,还用于向所述salt-master服务器发送所述测试结果;所述salt-master服务器,还用于当前salt-master服务器接收所述salt-minion服务器返回的测试结果,所述测试结果包括测试结果及与测试结果对应的salt-minion服务器标识信息;所述salt-master服务器,还用于判断所述测试结果中是否存在符合预置异常条件的测试结果;所述salt-master服务器,还用于若是,则根据所述符合预置异常条件的测试结果对应的salt-minion服务器标识信息生成故障清单;所述salt-minion服务器,还用于当前salt-minion服务器按照第一预设时间间隔读取预置存储位置中的故障清单;所述salt-minion服务器,还用于根据所述故障清单中的salt-minion服务器标识信息进行故障修复。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1