一种硬件故障修复方法、装置及设备与流程

文档序号:16467575发布日期:2019-01-02 22:52阅读:116来源:国知局

本发明涉及计算机技术领域,特别涉及一种硬件故障修复方法、装置及设备。



背景技术:

现有技术中,能够利用mce(machinecheckexception)架构来检测和报告主机硬件的错误机制,如系统总线错误、ecc错误、奇偶校验错误、缓存错误、tlb错误等。但这种机制都是将故障信息上报,没有对故障做修复处理,需要技术人员定期查看日志来处理故障问题。当技术人员没有及时对故障进行处理时,故障问题过多,积累到一定程度,容易产生宕机,从而导致业务中断和关键数据丢失。



技术实现要素:

有鉴于此,本发明的目的在于提供一种硬件故障修复方法、装置及设备,能够对故障进行处理,降低由于故障积累造成的宕机风险。其具体方案如下:

第一方面,本发明公开了一种硬件故障修复方法,包括:

获取目标硬件的待处理故障信息;

检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息;其中,所述预设故障数据库为通过预先收集历史故障信息得到的数据库;

如果是,则检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法;其中,所述预设规则数据库为包含预先收集到的历史故障信息中已有处理方法的故障信息及对应的故障处理方法的数据库;

如果是,则利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复。

可选的,在所述检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息之后,还包括:

如果否,则将所述待处理故障信息添加至所述预设故障数据库。

可选的,在所述检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法之后,还包括:

如果否,则发出告警提示信息,以提示用户进行人工修复操作。

可选的,还包括:

将与所述人工修复操作对应的所述待处理故障信息及相应的故障处理方法添加至所述预设规则数据库中。

可选的,在所述利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复之前,还包括:

判断与所述待处理故障信息匹配的故障处理方法是否为一条或多条。

可选的,所述利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复,包括:

若所述故障处理方法为一条,则直接利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复;

若所述故障处理方法为多条,则按照预设规则将与所述待处理故障信息匹配的故障处理方法进行优先级排序,并按照排序结果依次对硬件故障进行修复。

可选的,还包括:

收集服务器中的历史故障信息;

利用所述历史故障信息创建所述预设故障数据库;

收集所述历史故障信息对应的故障处理方法;

利用所述历史故障信息中已有处理方法的故障信息及对应的硬件处理方法创建预设规则数据库。

可选的,所述利用所述历史故障信息创建所述预设故障数据库,包括:

将所有所述历史故障信息按照出现频率从大到小的顺序进行排序,创建得到所述预设故障数据库;

相应的,所述检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息,包括:

按照所述预设故障数据库中的信息排列顺序,依次检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息。

可选的,还包括:

将所述预设故障数据库和所述预设规则数据库中的信息进行汇总整理,并将所述信息进行可视化展示。

第二方面,本发明公开了一种硬件故障修复装置,包括:

故障获取模块,用于获取目标硬件的待处理故障信息;

故障检测模块,用于检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息;其中,所述预设故障数据库为通过预先收集历史故障信息得到的数据库;

方法检测模块,用于当预设故障数据库中包含与所述待处理故障信息对应的历史故障信息,则检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法;其中,所述预设规则数据库为包含预先收集到的历史故障信息中已有处理方法的故障信息及对应的故障处理方法的数据库;

故障修复模块,用于预设规则数据库中是否与所述待处理故障信息匹配的故障处理方法,则利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复。

第三方面,本发明公开了一种硬件故障修复设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现前述公开的硬件故障修复方法的步骤。

可见,本发明通过获取目标硬件的待处理故障信息,检测通过预先收集历史故障信息得到的预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息;如果是,则检测包含预先收集到的历史故障信息中已有处理方法的故障信息及对应的故障处理方法的预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法;如果是,则利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复。由上可知,本发明利用预设规则数据库中预存的与所述待处理故障信息匹配的故障处理方法,可以实现对硬件故障的修复,避免了现有技术中不断收集积累硬件故障但不进行处理时造成的宕机,进一步避免了业务中断,降低由于业务中断导致关键数据丢失的风险,从而保证了数据的安全。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明所提供的硬件故障修复方法的一种具体实施方式的流程图;

图2为本发明所提供的硬件故障修复方法的一种具体实施方式的流程图;

图3为本发明所提供的硬件故障修复方法的一种具体实施方式中创建预设故障数据库和预设规则数据库对应的流程图;

图4为本发明所提供的硬件故障修复方法的一种具体实施方式中的硬件故障管理结构图;

图5为本发明所提供的硬件故障修复装置的结构框图;

图6为本发明所提供的硬件故障修复设备的硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有技术中,往往将硬件故障信息上报,但没有对故障做修复处理,需要技术人员定期查看日志来处理故障问题。当技术人员没有及时对故障进行处理时,故障问题过多,积累到一定程度,容易产生宕机,从而导致业务中断和关键数据丢失。鉴于此,本发明通过预设规则数据库中预存的与待处理故障信息匹配的故障处理方法实现对硬件故障的修复,降低了宕机风险,进一步避免了业务中断,保证了数据的安全。

本发明实施例公开了一种硬件故障修复方法,参见图1所示,该方法包括:

步骤s11:获取目标硬件的待处理故障信息;

本实施例中,所述获取目标硬件的待处理故障信息,具体为:检测预设故障管理区域,获取目标硬件的待处理故障信息。其中,所述待处理故障信息包括但不限于cpu故障信息、内存故障信息、磁盘故障信息、网卡故障信息。本实施例可以利用预设检测周期定期检测预设故障管理区域,所述预设检测周期可以预先由人工设定的方式或系统设定的方式进行设置,为保证不积累过多的所述待处理故障信息,所述预设检测周期不宜过大。例如,可将所述预设检测周期设为3天,则每隔3天对预设故障管理区域进行检测,获取待处理故障信息。

步骤s12:检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息;其中,所述预设故障数据库为通过预先收集历史故障信息得到的数据库;

需要说明的是,本实施例预先通过收集服务器中的历史故障信息得到预设故障数据库,获取到目标软件的待处理故障信息之后,将所述待处理故障信息和所述预设故障数据库进行对比,检测是否包含与所述待处理故障信息对应的历史故障信息。

步骤s13:如果是,则检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法;其中,所述预设规则数据库为包含预先收集到的历史故障信息中已有处理方法的故障信息及对应的故障处理方法的数据库;

需要说明的是,本实施例通过预先收集到的历史故障信息中已有处理方法的故障信息及对应的故障处理方法得到预设规则数据库。具体地,如果所述预设故障数据库中包含与所述待处理故障信息对应的历史故障信息,则进一步检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法。

另外,如果所述预设故障数据库中不包含与所述待处理故障信息对应的历史故障信息,则将所述待处理故障信息添加至所述预设故障数据库,以对所述预设故障数据库进行更新。

步骤s14:如果是,则利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复。

具体地,如果所述预设规则数据库中包含与所述待处理故障信息匹配的故障处理方法,则利用所述故障处理方法对硬件故障进行修复,实现对故障的自动修复。如果所述预设规则数据库中不包含与所述待处理故障信息匹配的故障处理方法,则发出告警提示信息,以提示用户进行人工修复操作,所述告警提示信息可以具体采用屏幕显示的方式进行提醒,例如,显示“当前硬件故障无法自动修复,建议进行人工修复操作”的告警提示信息。

进一步的,在上述利用预设规则数据库中预存的故障处理方法无法自动修复待处理故障,通过人工干预操作进行修复之后,将与所述人工修复操作对应的所述待处理故障信息及相应的故障处理方法添加至预设规则数据库中,实现对预设规则数据库的更新和扩充。

可见,本发明通过获取目标硬件的待处理故障信息,检测通过预先收集历史故障信息得到的预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息;如果是,则检测包含预先收集到的历史故障信息中已有处理方法的故障信息及对应的故障处理方法的预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法;如果是,则利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复。由上可知,本发明利用预设规则数据库中预存的与所述待处理故障信息匹配的故障处理方法,可以实现对硬件故障的修复,避免了现有技术中不断收集硬件故障但不进行处理时造成的宕机,进一步避免了业务中断,降低由于业务中断导致关键数据丢失的风险,从而保证了数据的安全。

本发明实施例公开了一种具体的硬件故障修复方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的,如图2所示,该过程包括:

步骤s21:获取目标硬件的待处理故障信息;

步骤s22:检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息;其中,所述预设故障数据库为通过预先收集历史故障信息得到的数据库;

步骤s23:如果是,则检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法;其中,所述预设规则数据库为包含预先收集到的历史故障信息中已有处理方法的故障信息及对应的故障处理方法的数据库;

关于上述步骤s21至s23的具体内容可以参考前述实施例,在此不再进行赘述。

步骤s24:如果是,则判断与所述待处理故障信息匹配的故障处理方法是否为一条或多条;

本实施例中,如果检测到预设规则数据库中包含与所述待处理故障信息匹配的故障处理方法,则对所述故障处理方法进行判断,判断所述故障处理方法是否为一条或多条。

步骤s25:若所述故障处理方法为一条,则直接利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复;

具体地,若所述预设规则数据库中包含与所述待处理故障信息直接对应的故障处理方法,则通过检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法,可以获取到与所述待处理故障信息直接对应的一条故障处理方法;若所述预设规则数据库中不包含与所述待处理故障信息直接对应的故障处理方法,则通过检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法,可以获取到所有与所述待处理故障信息相关的、部分匹配的多条所述故障处理方法。

步骤s26:若所述故障处理方法为多条,则按照预设规则将与所述待处理故障信息匹配的故障处理方法进行优先级排序,并按照排序结果依次对硬件故障进行修复。

可以理解的是,若获取到一条与所述待处理故障信息匹配的故障处理方法,则直接利用所述故障处理方法,即可完成对硬件故障的修复;若获取到多条与所述待处理故障信息匹配的故障处理方法,则可以通过预设规则对多条故障处理方法进行排序,例如,可以通过获取所有所述故障处理方法对应的历史故障信息的出现频率,按照频率由大到小的顺序进行排序;或,可以通过获取所有所述故障处理方法对应的历史故障信息与所述待处理故障信息的相关程度,按照相关程度由大到小的顺序进行排序。进一步的,按照排序结果依次对硬件故障进行修复,若第一条故障处理方法执行后完成对硬件故障的修复,则低优先级的故障处理方法不必再执行。相反,若执行后不能完成对硬件故障的修复,则继续执行低优先级的故障处理方法。

相应的,在利用上述多条故障处理方法完成对硬件故障的修复之后,将上述修复操作对应的所述待处理故障信息及相应的故障处理方法添加至所述预设规则数据库,进一步完善所述预设规则数据库。

在本发明所提供的硬件故障修复方法的一种具体实施方式中,针对所述预设故障数据库和所述预设规则数据库的创建过程进行进一步阐述,如图3所示,该过程具体包括:

步骤s31:收集服务器中的历史故障信息;

步骤s32:利用所述历史故障信息创建所述预设故障数据库;

本实施例中,预先收集服务器中的历史故障信息,将所述历史故障信息存放至数据库,创建形成所述预设故障数据库。另外,可以按照所述历史故障信息的出现频率进行排序,以使获取到新的待处理故障信息时自上而下依次检测所述预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息。

步骤s33:收集所述历史故障信息对应的故障处理方法;

步骤s34:利用所述历史故障信息中已有处理方法的故障信息及对应的硬件处理方法创建预设规则数据库。

本实施例中,通过将预先收集的历史故障信息中已有处理方法的故障信息及对应的硬件处理方法存放至数据库,创建形成所述预设规则数据库。另外,可以将预设规则数据库中的信息进行排序,例如,可以按照故障的紧急程度将所述预设规则数据库中的故障信息及对应的硬件处理方法进行排序,以使按照信息排列顺序依次检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法时,能够较快的使急需处理的硬件故障得到处理,提升效率。

进一步的,可以将所述预设故障数据库和所述预设规则数据库中的信息进行汇总整理,将所述信息进行可视化显示。

图4为本发明实施例提供的硬件故障修复方法的一种具体实施方式中的硬件故障管理结构图,参见图4,本发明实施例利用内核态的故障收集与处理模块,定期检查内核的故障管理区域,收集待处理故障信息并进行汇总,待处理故障信息可以包括但不限于:cpu故障信息、内存故障信息、磁盘故障信息、网卡故障信息。当有故障产生时,则将所述待处理故障信息提交至用户态的fmd(故障诊断引擎)模块,该模块提取到所述待处理故障信息之后,检测故障数据库中是否包含所述待处理故障信息,如果否,则将该故障信息存放至故障数据库中,完成数据储备;如果是,则进一步检测规则数据库,根据规则数据库匹配待处理故障的故障处理方法,若存在匹配的故障处理方法,则利用fmd模块将获取到的所述故障处理方法传递到内核中的故障容错模块去处理。例如,内存控制器报告了内存故障,汇总故障信息模块收集到该故障信息后,提交到fmd模块中,利用fmd模块对该故障进行诊断,比如判断该故障为内存损坏,并检测故障数据库中的故障信息中是否包含内存损坏信息,如果否,将该故障信息存放至故障数据库;如果是,则检测规则数据库,如果规则数据库中有该故障对应的故障处理方法,则将所述故障处理方法传递到故障容错处理模块,并将内存做物理隔离,利用所述故障处理方法对硬件故障进行修复。隔离过程不影响其他业务的运行。另外,将故障数据库和规则数据库中的信息进行汇总,并通过web管理模块进行可视化显示,供用户查看。

下面对本发明实施例提供的硬件故障修复装置进行介绍,下文描述的硬件故障修复装置与上文描述的硬件故障修复方法可相互对应参照。

图5为本发明实施例所提供的硬件故障修复装置的结构框图,参照图5所示,硬件故障修复装置可以包括:

故障获取模块100,用于获取目标硬件的待处理故障信息;

故障检测模块200,用于检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息;其中,所述预设故障数据库为通过预先收集历史故障信息得到的数据库;

方法检测模块300,用于当预设故障数据库中包含与所述待处理故障信息对应的历史故障信息,则检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法;其中,所述预设规则数据库为包含预先收集到的历史故障信息中已有处理方法的故障信息及对应的故障处理方法的数据库;

故障修复模块400,用于预设规则数据库中是否与所述待处理故障信息匹配的故障处理方法,则利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复。

本实施例的硬件故障修复装置用于实现前述的硬件故障修复方法,因此硬件故障修复装置中的具体实施方式可见前文中的硬件故障修复方法的实施例部分,在此不再进行赘述。

进一步地,本发明实施例还公开了一种硬件故障修复设备,该硬件故障修复设备包括存储器11和处理器12,其中,所述处理器12执行所述存储器11中保存的计算机程序时实现以下步骤:

获取目标硬件的待处理故障信息;检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息;其中,所述预设故障数据库为通过预先收集历史故障信息得到的数据库;如果是,则检测预设规则数据库中是否包含与所述待处理故障信息匹配的故障处理方法;其中,所述预设规则数据库为包含预先收集到的历史故障信息中已有处理方法的故障信息及对应的故障处理方法的数据库;如果是,则利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复。

本实施例中,所述处理器12执行所述存储器11中保存的计算机子程序时,可以具体实现以下步骤:如果预设故障数据库中不包含与所述待处理故障信息对应的历史故障信息,则将所述待处理故障信息添加至所述预设故障数据库。

本实施例中,所述处理器12执行所述存储器11中保存的计算机子程序时,可以具体实现以下步骤:如果预设规则数据库中不包含与所述待处理故障信息匹配的故障处理方法,则发出告警提示信息,以提示用户进行人工修复操作。

本实施例中,所述处理器12执行所述存储器11中保存的计算机子程序时,可以具体实现以下步骤:将与所述人工修复操作对应的所述待处理故障信息及相应的故障处理方法添加至所述预设规则数据库中。

本实施例中,所述处理器12执行所述存储器11中保存的计算机子程序时,可以具体实现以下步骤:判断与所述待处理故障信息匹配的故障处理方法是否为一条或多条。

本实施例中,所述处理器12执行所述存储器11中保存的计算机子程序时,可以具体实现以下步骤:若所述故障处理方法为一条,则直接利用与所述待处理故障信息匹配的故障处理方法对硬件故障进行修复;若所述故障处理方法为多条,则按照预设规则将与所述待处理故障信息匹配的故障处理方法进行优先级排序,并按照排序结果依次对硬件故障进行修复。

本实施例中,所述处理器12执行所述存储器11中保存的计算机子程序时,可以具体实现以下步骤:收集服务器中的历史故障信息;利用所述历史故障信息创建所述预设故障数据库;收集所述历史故障信息对应的故障处理方法;利用所述历史故障信息中已有处理方法的故障信息及对应的硬件处理方法创建预设规则数据库。

本实施例中,所述处理器12执行所述存储器11中保存的计算机子程序时,可以具体实现以下步骤:将所有所述历史故障信息按照出现频率从大到小的顺序进行排序,创建得到所述预设故障数据库;相应的,所述检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息,包括:按照所述预设故障数据库中的信息排列顺序,依次检测预设故障数据库中是否包含与所述待处理故障信息对应的历史故障信息。

本实施例中,所述处理器12执行所述存储器11中保存的计算机子程序时,可以具体实现以下步骤:

将所述预设故障数据库和所述预设规则数据库中的信息进行汇总整理,并将所述信息进行可视化展示。

进一步地,参见图6所示,本实施例中的硬件故障修复设备,还可以包括:

输入接口13,用于获取外界导入的计算机程序,并将获取到的计算机程序保存至所述存储器12中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器11中,以便处理器11利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口13具体可以包括但不限于usb接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。

输出接口14,用于将处理器11产生的各种数据输出至与其相连的终端设备,以便于与输出接口14相连的其他终端设备能够获取到处理器11产生的各种数据。本实施例中,所述输出接口14具体可以包括但不限于usb接口、串行接口等。

显示单元15,用于对处理器11发送过来的数据进行显示。

通信单元16,用于和外部服务器之间建立远程通信连接,获取外界终端发送的数据,然后发送至处理器11进行处理分析,另外,处理器11还可以将处理后得到的各种结果通过通信单元16发送至预设的各种数据接收端。本实施例中,上述通信单元16所采用的通信技术可以是有线通信技术或无线通信技术,如通用串行总线(usb)、无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术(ble)等。另外,通信单元16具体可以根据宽带码分多址(w-cdma)、长期演进(lte)和类似标准操作的蜂窝无线收发器。

进一步的,本发明实施例还公开了一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的硬件故障修复方法,关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本发明利用预设规则数据库中预存的与所述待处理故障信息匹配的故障处理方法,可以实现对硬件故障的修复,避免了现有技术中不断收集硬件故障但不进行处理时造成的宕机,进一步避免了业务中断,降低由于业务中断导致关键数据丢失的风险,从而保证了数据的安全。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的硬件故障修复方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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