一种检测服务器故障硬件设备的方法及装置与流程

文档序号:13767463阅读:136来源:国知局

本发明涉及计算机技术领域,特别涉及一种检测服务器故障硬件设备的方法及装置。



背景技术:

随着计算机技术的不断发展与进步,服务器被广泛应用于各行各业,为用户提供快速、高效、安全的计算服务。为了提高服务器的性能,服务器中一般包括多个同一类的硬件设备,比如包括多跟内存条。在服务器测试或正常使用过程中,会出现由于服务器硬件设备发生故障而导致服务器无法正常开机的情况。比如,当服务器内其中一根内存条发生故障时,该服务器在启动自检过程中发生宕机,无法正常开机。

目前,当服务器无法正常开机时,需要对服务器进行拆解,检测发生故障的硬件设备,具体的检测方法主要是根据发生故障的硬件类型,依次检测该类型硬件设备中的每一个硬件设备,最终确定出影响服务器正常开机的硬件设备,例如,当服务器由于内存条故障而无法正常开机时,将服务器拆解后,通过依次插拔不同位置的内存条,查看服务器是否可以正常开机,来确定导致服务器无法开机的故障内存条。

针对于现有技术检测服务器故障硬件设备的方法,由于只可以确定出导致服务器无法正常开机的硬件设备类型,但无法确定具体是哪一个硬件设备发生了故障,所以需要对该硬件设备类型包括的各个硬件设备进行检测,最终确定出导致服务器无法正常开机的硬件设备,因而服务器故障硬件设备的检测效率较低。



技术实现要素:

本发明实施例提供了一种检测服务器故障硬件设备的方法及装置,能够提高服务器故障硬件设备检测的效率。

本发明实施例提供了一种检测服务器故障硬件设备的方法,包括:

对所述服务器的各个硬件设备进行开机检测,获取出现故障的第一硬件设备的故障信息;

阻止所述服务器的启动程序执行宕机代码,利用与所述第一硬件设备同类型的第二硬件设备使服务器启动;

在所述服务器启动后对所述故障信息进行解析,获取所述第一硬件设备的ID;

将所述第一硬件设备的ID发送至所述服务器的输出设备进行展示。

优选地,

该方法进一步包括:

在所述服务器启动后对所述故障信息进行解析,获取所述第一硬件设备的故障类型;

将所述第一硬件设备的故障类型发送至所述服务器的输出设备进行展示。

优选地,

所述获取出现故障的第一硬件设备的故障信息包括:

根据所述服务器的启动程序的执行顺序,在所述宕机代码之前加入收集故障硬件设备的ID及故障类型的收集代码,使所述启动程序在执行所述宕机代码之前执行所述收集代码,获取出现故障的第一硬件设备的故障信息,其中,所述故障信息中携带有所述第一硬件设备的ID及故障类型。

优选地,

当所述输出设备为显示器时,在所述显示器点亮后,将所述第一硬件设备的ID及故障类型发送给所述显示器,在所述显示器上显示出现故障的第一硬件设备的ID及故障类型。

优选地,

所述阻止所述服务器的启动程序执行宕机代码包括:

根据所述服务器的启动程序的执行顺序,在所述宕机代码之前加入跳转指令,使所述启动程序在执行所述宕机代码之前执行所述跳转指令,所述启动程序执行所述跳转指令后跳过所述宕机代码,根据所述执行顺序执行后续代码。

优选地,

所述硬件设备包括:内存条、显卡、CPU中的任意一个或多个。

本发明实施例还提供了一种检测服务器故障硬件设备的装置,包括:收集单元、跳转单元、解析单元及展示单元;

所述收集单元,用于对所述服务器的各个硬件设备进行开机检测,获取出现故障的第一硬件设备的故障信息;

所述跳转单元,用于阻止所述服务器的启动程序执行宕机代码,利用与所述第一硬件设备同类型的第二硬件设备使服务器启动;

所述解析单元,用于在所述服务器启动后对所述收集单元获取到的故障信息进行解析,获取所述第一硬件设备的ID;

所述展示单元,用于将所述解析单元获取的第一硬件设备的ID发送至所述服务器的输出设备进行展示。

优选地,

所述解析单元,进一步用于在所述服务器启动后对所述故障信息进行解析,获取所述第一硬件设备的故障类型;

所述展示单元,进一步用于将所述解析单元获取的第一硬件设备的故障类型发送至所述服务器的输出设备进行展示。

优选地,

所述收集单元,用于根据所述服务器的启动程序的执行顺序,在所述宕机代码之前加入收集故障硬件设备的ID及故障类型的收集代码,使所述启动程序在执行所述宕机代码之前执行所述收集代码,获取出现故障的第一硬件设备的故障信息,其中,所述故障信息中携带有所述第一硬件设备的ID及故障类型。

优选地,

所述展示单元,用于当所述输出设备为显示器时,在所述显示器点亮后,将所述解析单元获取的第一硬件设备的ID及故障类型发送给所述显示器,在所述显示器上显示出现故障的第一硬件设备的ID及故障类型。

优选地,

所述跳转单元,用于根据所述服务器的启动程序的执行顺序,在所述宕机代码之前加入跳转指令,使所述启动程序在执行所述宕机代码之前执行所述跳转指令,所述启动程序执行所述跳转指令后跳过所述宕机代码,根据所述执行顺序执行后续代码。

本发明实施例提供了一种检测服务器故障硬件设备的方法及装置,在服务器开机时对服务器的各个硬件设备进行检测,获取出现故障的第一硬件设备的故障信息,阻止服务器的启程程序执行宕机代码,利用与出现故障的第一硬件设备同类型的第二硬件设备使服务器启动,服务器启动后对故障信息进行解析,获取到第一硬件设备的ID,并将第一硬件设备的ID发送至服务器的输出设备进行展示。这样,当服务器的硬件设备出现故障时,首先获取出现故障的硬件设备的故障信息,然后阻止服务器由于硬件设备出现故障而宕机,利用与故障硬件设备同类型的其他硬件设备使服务器启动,然后从获取到的故障信息中获取到出现故障的硬件设备的ID,通过服务器的输出设备向用户展示出现故障的硬件设备的ID,用户可以直接从输出设备获取到服务器出现故障的硬件设备的ID,而不必对服务器中可能出现故障的各个硬件设备进行逐个检测,从而提高了服务器故障硬件设备检测的效率。

附图说明

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

图1是本发明一个实施例提供的一种检测服务器故障硬件设备的方法流程图;

图2是本发明另一个实施例提供的一种检测服务器故障硬件设备的方法流程图;

图3是本发明一个实施例提供的一种检测服务器故障硬件设备的装置示意图。

具体实施方式

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

如图1所示,本发明实施例提供了一种检测服务器故障硬件设备的方法,该方法可以包括以下步骤:

步骤101:对所述服务器的各个硬件设备进行开机检测,获取出现故障的第一硬件设备的故障信息;

步骤102:自助所述服务器的启动程序执行宕机代码,利用与所述第一硬件设备同类型的第二硬件设备使服务器启动;

步骤103:在所述服务器启动后对所述故障信息进行解析,获取所述第一硬件设备的ID;

步骤104:将所述第一硬件设备的ID发送至所述服务器的输出设备进行展示。

本发明实施例提供了一种检测服务器故障硬件设备的方法,在服务器开机时对服务器的各个硬件设备进行检测,获取出现故障的第一硬件设备的故障信息,阻止服务器的启程程序执行宕机代码,利用与出现故障的第一硬件设备同类型的第二硬件设备使服务器启动,服务器启动后对故障信息进行解析,获取到第一硬件设备的ID,并将第一硬件设备的ID发送至服务器的输出设备进行展示。这样,当服务器的硬件设备出现故障时,首先获取出现故障的硬件设备的故障信息,然后阻止服务器由于硬件设备出现故障而宕机,利用与故障硬件设备同类型的其他硬件设备使服务器启动,然后从获取到的故障信息中获取到出现故障的硬件设备的ID,通过服务器的输出设备向用户展示出现故障的硬件设备的ID,用户可以直接从输出设备获取到服务器出现故障的硬件设备的ID,而不必对服务器中可能出现故障的各个硬件设备进行逐个检测,从而提高了服务器故障硬件设备检测的效率。

在本发明一个实施例中,出现故障的第一硬件设备的故障信息中除了包括第一硬件设备的ID外,还包括有第一硬件设备出现故障的故障类型,通过对故障信息进行解析,可以获取出现故障的第一硬件设备的ID和故障类型,待服务器启动后将出现故障的第一硬件设备的ID和故障类型发送至输出设备进行展示。这样,用户通过服务器的输出设备不但可以确定发生故障的硬件设备的ID,还能确定该硬件设备的故障类型,提高了该检测服务器故障硬件设备的方法的适用性。

在本发明一个实施例中,根据服务器的启动程序在服务器出现硬件故障时的执行顺序,在宕机代码之前加入收集代码,服务器的启动程序在执行宕机代码之前执行收集代码,通过启动程序执行收集代码,获取包括故障硬件设备的ID及故障类型的故障信息,为后续向用户展示故障硬件设备的ID及故障类型提供信息源。

在本发明一个实施例中,服务器的输出设备可以为显示器,当服务器中硬件出现故障时,服务器通过没有故障的其他同类型硬件设备启动后,将故障硬件设备的ID及故障类型发送给显示器,显示器向用户显示发生故障的硬件设备的ID及故障类型,用户通过服务器的显示器显示的信息可以直接确定服务器发生故障的硬件设备的ID及故障类型,提高了该检测服务器故障硬件设备的方法的易用性。

在本发明一个实施例中,根据服务器的启动程序在硬件设备出现故障时的执行顺序,在宕机代码之前加入跳转指令,启动程序在执行宕机代码之前首先执行跳转指令,启动程序执行跳转指令后跳过宕机代码,继续执行其他启动代码。这样,可以避免服务器在出现硬件设备故障时,进入开机便宕机的死循环,使出现硬件设备故障的服务器利用其他没有故障的硬件设备正常启动,从而将发生故障的硬件设备的ID和故障类型在输出设备上展示,使用户能够快速的确定服务器中发生故障的硬件设备及故障类型。

在本发明一个实施例中,硬件设备可以包括内存条、显卡及CPU中的任意一个或多个,从而通过该检测服务器故障硬件设备的方法可以对服务器中不同类型的硬件设备出现的故障进行检测,进一步提高了该检测服务器故障硬件设备的方法的使用性。

为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。

如图2所示,本发明实施例提供了一种检测服务器故障硬件设备的方法,该方法可以包括以下步骤:

步骤201:对服务器中各个硬件设备进行开机检测,判断各个硬件设备是否均正常,如果是,执行步骤207,否则执行步骤202。

在本发明一个实施例中,服务器开机上电后,对服务器中的各个硬件设备进行开机检测,根据各个硬件设备对应的检测信息判断每一个硬件设备是否正常,如果各个硬件设备均正常,则执行步骤207,如果根据检测结果存储出现故障的硬件设备,则相应地执行步骤202。例如,服务器A中配置有2根内存条,分别为内存条1和内存条2,在服务器A开机检测过程中,检测出内存条1出现故障,则针对于服务器A相应的执行步骤202。

步骤202:获取出现故障的硬件设备的故障信息,并进行存储。

在本发明一个实施例中,根据服务器的安全策略,当服务器开机检测中检测出存在发生故障的硬件设备时,服务器的启程程序执行宕机代码,使服务器宕机以进行保护,本实施例在宕机代码之前加入收集代码,当步骤201中判断存在出现故障的硬件设备后,服务器的启动程序执行收集代码,收集出现故障的硬件设备的故障信息,其中故障信息中携带有故障硬件设备的ID及故障类型,将收集到的故障信息存储到预设的存储空间中。例如,在服务器A的启动程序执行宕机代码之前,执行预先添加到宕机代码之前的收集代码,启动程序通过执行收集代码收集服务器A中出现了故障的硬件设备,从而收集到内存条1的故障信息,内存条1的故障信息中包括内存条1的ID及故障类型,并将收集到的故障信息存储到预先定义的存储空间中,该存储控制可以位于内存条2上。

步骤203:跳过宕机代码使服务器启动。

在本发明一个实施例中,根据服务器硬件设备出现故障的启动流程,在宕机代码之前加入跳转指令,当服务器的启动程序执行到跳转指令后,启动程序会跳过宕机代码,不执行宕机代码而执行后续的正常启动程序,利用与出现故障的硬件设备同类型的其他硬件设备使服务器的系统启动。例如,预先在收集代码之后且在宕机代码之前添加跳转指令,当服务器A的启动程序执行完收集代码获取到内存条A的故障信息之后,服务器A的启动程序执行跳转指令,启动程序执行跳转指令后将跳过宕机代码,跳过宕机代码后执行服务器A正常启动的其他代码,利用内存条2是服务器A的系统正常启动。

步骤204:对故障信息进行解析,获得故障硬件设备的ID及故障类型。

在本发明一个实施例中,服务器的启动程序跳过宕机代码使服务器启动后,读取步骤204中获取并存储的故障信息,根据预先设定的算法对读取到的故障信息进行解析,从故障信息中获取到服务器中发生故障的硬件设备的ID及故障类型。例如,服务器A的启动程序跳过宕机代码,利用内存条2启动后,从内存条2中预设的存储空间内读取故障信息,根据预先设定的解析算法,对读取到的故障信息进行解析,从中获取到服务器A中出现故障的硬件设备为内存条1,内存条1的故障类型为接触不良。

步骤205:将故障硬件设备的ID及故障类型发送至输出设备进行展示。

在本发明一个实施例中,服务器启动后,服务器的输出设备相应开始运行,将获取到服务器中发生故障的硬件设备的ID和故障类型发送给服务器的输出设备,通过输出设备向用户展示故障硬件设备的ID及故障类型。例如,服务器A启动后,通过VGA接口与服务器A相连的显示器被点亮,将内存条1的ID代码及内存条1的故障类型代码发送至显示器,在显示器的BIOSPOST界面上对应的故障项目位置显示内存条1的ID代码及内存条1的故障类型。

步骤206:通过输出设备上展示的故障硬件设备的ID确定服务器出现故障的硬件设备。

在本发明一个实施例中,用户通过服务器输出设备上展示的故障硬件设备的ID,可以准确的确定服务器中出现故障的硬件设备,通过故障类型可以准确的确定发生故障的硬件设备的具体故障类型。例如,用户通过服务器A的显示器上显示的故障硬件设备的ID代码和故障类型代码,确定出服务器A中发生故障的硬件设备为内存条1,内存条1发生的故障类型为接触不良。

步骤207:正常启动服务器。

在本发明一个是实施例中,当判断服务器为中各个硬件设备都没有故障时,按照服务器的启动程序的正常启动流程,启动服务器。

需要说明的是,本发明实施例中的服务器输出设备可以为显示器、打印机或者指示灯,可以更具实际需求进行灵活选择。

如图3所示,本发明实施例提供了一种检测服务器故障硬件设备的装置,该装置可以通过软件实现,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。具体地,该装置包括:收集单元301、跳转单元302、解析单元303及展示单元304;

所述收集单元301,用于对所述服务器的各个硬件设备进行开机检测,获取出现故障的第一硬件设备的故障信息;

所述跳转单元302,用于阻止所述服务器的启动程序执行宕机代码,利用与所述第一硬件设备同类型的第二硬件设备使服务器启动;

所述解析单元303,用于对所述收集单元301获取到的故障信息进行解析,获取所述第一硬件设备的ID;

所述展示单元304,用于将所述解析单元303获取的第一硬件设备的ID发送至所述服务器的输出设备进行展示。

在本发明一个实施例中,所述解析单元303进一步用于在所述服务器启动后对所述故障信息进行解析,获取所述第一硬件设备的故障类型,相应地,所述展示单元304进一步用于将所述解析单元303获取的第一硬件设备的故障类型发送至所述服务器的输出设备进行展示。

在本发明一个实施例中,所述收集单元301用于根据所述服务器的启动程序的执行顺序,在所述宕机代码之前加入收集故障硬件设备的ID及故障类型的收集代码,使所述启动程序在执行所述宕机代码之前执行所述收集代码,获取出现故障的第一硬件设备的故障信息,其中,所述故障信息中携带有所述第一硬件设备的ID及故障类型。

在本发明一个实施例中,所述展示单元304用于当所述输出设备为显示器时,在所述显示器点亮后,将所述解析单元303获取的第一硬件设备的ID及故障类型发送给所述显示器,在所述显示器上显示出现故障的第一硬件设备的ID及故障类型。

在本发明一个实施例中,所述跳转单元302用于根据所述服务器的启动程序的执行顺序,在所述宕机代码之前加入跳转指令,使所述启动程序在执行所述宕机代码之前执行所述跳转指令,所述启动程序执行所述跳转指令后跳过所述宕机代码,根据所述执行顺序执行后续代码。

需要说明的是,上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例提供了一种检测服务器故障硬件设备的方法及装置,至少具有如下有益效果:

1、本发明实施例中,在服务器开机时对服务器的各个硬件设备进行检测,获取出现故障的第一硬件设备的故障信息,阻止服务器的启程程序执行宕机代码,利用与出现故障的第一硬件设备同类型的第二硬件设备使服务器启动,服务器启动后对故障信息进行解析,获取到第一硬件设备的ID,并将第一硬件设备的ID发送至服务器的输出设备进行展示。这样,当服务器的硬件设备出现故障时,首先获取出现故障的硬件设备的故障信息,然后阻止服务器由于硬件设备出现故障而宕机,利用与故障硬件设备同类型的其他硬件设备使服务器启动,然后从获取到的故障信息中获取到出现故障的硬件设备的ID,通过服务器的输出设备向用户展示出现故障的硬件设备的ID,用户可以直接从输出设备获取到服务器出现故障的硬件设备的ID,而不必对服务器中可能出现故障的各个硬件设备进行逐个检测,从而提高了服务器故障硬件设备检测的效率。

2、本发明实施例中,在获取服务器出现故障的硬件设备的故障信息时,不仅获取出现故障的硬件设备的ID,还获取出现故障的硬件设备的故障类型,当服务器启动后将出现故障的硬件设备的ID和故障类型通过服务器的输出设备向用户展示,这样用户通过服务器的输出设备不仅可以确定出现故障的硬件设备,还能确定出现故障的硬件设备的故障类型,无需对出现故障的硬件设备进行进一步的检测,从而进一步提高了服务器故障硬件设备检测的效率。

3、本发明实施例中,在宕机代码之前加入跳转指令,避免服务器的启程程序执行宕机代码使服务器宕机,从而可以在服务器启动后将出现故障的硬件设备的ID和故障类型通过服务器的输出设备展示给用户,减少服务器的宕机率。

4、本发明实施例中,可以将获取到的故障硬件设备的ID和故障类型发送给服务器的显示器,由服务器的显示器显示出现故障的硬件设备的ID和故障类型,这样用户通过显示器上显示的代码便可以直接确定出现故障的硬件设备及故障类型,提高了检测服务器故障硬件设备的方法及装置的易用性。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃〃〃〃〃〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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