一种服务器中的自动纠错控制方法、装置、设备及介质
技术领域
本申请涉及BIOS技术领域,特别涉及一种服务器中的自动纠错控制方法、装置、电子设备及计算机可读存储介质。
背景技术
服务器在长时间使用的过程中,内存或者PCIE等设备极易发生故障。目前在服务器领域,CPU和内存有部分自动纠错功能,比如CPU的主动巡检功能,内存的ECC(ErrorChecking and Correcting,错误检查和纠正)功能等,均具有单比特的纠错能力。因此,当相关硬件器件发生了可纠正错误(Correctable error,CE)之后,会将错误信息上报以便启动CPU或者内存等的自动纠错功能。但是,当大量错误信息连续不断地上报时,会导致服务器在操作系统(Operating System,OS)下卡顿或者宕机,影响服务器的稳定运行。
鉴于此,提供一种解决上述技术问题的方案,已经是本领域技术人员所亟需关注的。
发明内容
本申请的目的在于提供一种服务器中的自动纠错控制方法、装置、电子设备及计算机可读存储介质,以便有效解决因大量硬件错误信息上报而导致操作系统下的卡顿和宕机现象。
为解决上述技术问题,第一方面,本申请公开了一种服务器中的自动纠错控制方法,包括:
接收来自硬件的可纠正错误的报错消息;
基于BIOS程序判断连续接收到的报错消息是否达到预设数量个;其中,相邻两个报错消息的时间间隔小于预设间隔时长被视为连续接收;
若是,则关闭针对可纠正错误的上报功能。
可选地,在所述关闭针对可纠正错误的上报功能之后,还包括:
经过预设等待时长后,重启针对可纠正错误的上报功能,并继续执行所述接收来自硬件的可纠正错误的报错消息及其后续步骤。
可选地,在所述关闭针对可纠正错误的上报功能之后,还包括:
针对上报功能的关闭次数进行计数,以便在所述关闭次数达到预设上限后,锁定所述上报功能的关闭状态。
可选地,所述关闭针对可纠正错误的上报功能,包括:
通过修改上报寄存器的数值来关闭针对可纠正错误的上报功能。
第二方面,本申请还公开了一种服务器中的自动纠错控制装置,包括:
接收模块,用于接收来自硬件的可纠正错误的报错消息;
处理模块,用于基于BIOS程序判断连续接收到的报错消息是否达到预设数量个;其中,相邻两个报错消息的时间间隔小于预设间隔时长被视为连续接收;若是,则关闭针对可纠正错误的上报功能。
可选地,所述处理模块还用于:
在关闭针对可纠正错误的上报功能之后,经过预设等待时长后,重启针对可纠正错误的上报功能,继续接收来自硬件的可纠正错误的报错消息。
可选地,所述处理模块还用于:
在关闭针对可纠正错误的上报功能之后,针对上报功能的关闭次数进行计数,以便在所述关闭次数达到预设上限后,锁定所述上报功能的关闭状态。
可选地,所述处理模块具体用于:
通过修改上报寄存器的数值来关闭针对可纠正错误的上报功能。
第三方面,本申请还公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上所述的任一种服务器中的自动纠错控制方法的步骤。
第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种服务器中的自动纠错控制方法的步骤。
本申请所提供的服务器中的自动纠错控制方法包括:接收来自硬件的可纠正错误的报错消息;基于BIOS程序判断连续接收到的报错消息是否达到预设数量个;其中,相邻两个报错消息的时间间隔小于预设间隔时长被视为连续接收;若是,则关闭针对可纠正错误的上报功能。
本申请所提供的服务器中的自动纠错控制方法、装置、电子设备及计算机可读存储介质所具有的有益效果是:本申请基于BIOS技术,在识别到大量的可纠正错误上报的情况后,便关闭可纠正错误的上报开关,以便停止错误上报,进而减少操作系统下的卡顿和宕机现象,有效保障了系统运行的稳定性。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请实施例公开的一种服务器中的自动纠错控制方法的流程图;
图2为本申请实施例公开的一种服务器中的自动纠错控制装置的结构框图;
图3为本申请实施例公开的一种电子设备的结构框图。
具体实施方式
本申请的核心在于提供一种服务器中的自动纠错控制方法、装置、电子设备及计算机可读存储介质,以便有效解决因大量硬件错误信息上报而导致操作系统下的卡顿和宕机现象。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
服务器在长时间使用的过程中,内存或者PCIE等设备极易发生故障。目前在服务器领域,CPU和内存有部分自动纠错功能,比如CPU的主动巡检功能,内存的ECC(ErrorChecking and Correcting,错误检查和纠正)功能等,均具有单比特的纠错能力。
因此,当相关硬件器件发生了可纠正错误(Correctable error,CE)之后,会将错误信息上报以便启动CPU或者内存等的自动纠错功能。但是,当大量错误信息连续不断地上报时,会导致服务器在操作系统(Operating System,OS)下卡顿或者宕机,影响服务器的稳定运行。鉴于此,本申请提供了一种服务器中的自动纠错控制方案,可有效解决上述问题。
参见图1所示,本申请实施例公开了一种服务器中的自动纠错控制方法,主要包括:
S101:接收来自硬件的可纠正错误的报错消息。
具体地,本申请所提供的服务器中的自动纠错控制方法可具体应用于服务器主板上的CPU。在服务器开机完成启动即进入到操作系统之后,服务器中的一些硬件部件如内存或者PCIE设备若发生故障,便会将错误信息上报给运行着操作系统的CPU。
其中,操作系统是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
S102:基于BIOS程序判断连续接收到的报错消息是否达到预设数量个;若是,则进入S103。
其中,相邻两个报错消息的时间间隔小于预设间隔时长被视为连续接收。
具体地,在正常情况下,CPU或者内存可以根据报错信息进行自动纠错处理;但是,CPU和内存的自动纠错能力非常有限,当短时间内上报了大量错误信息后,服务器中这些自带的自动纠错功能便无能为力,反而大量的报错会导致操作系统的卡顿和宕机。
由此,针对短时间内上报大量错误信息的情况,本申请进行了识别判断,并进而在该情况发生时关闭了可纠正错误的上报开关,暂时停止了可纠正错误的上报,从而有限减少操作系统下的卡顿和宕机现象。
需要说明的是,本申请具体是利用BIOS(Basic Input Output System,基本输入输出系统)技术来实现的。BIOS是一组固化到服务器内主板上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序等,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
本申请预先为BIOS程序增加了识别大量报错情况和关闭上报开关的功能程序段。每当CPU接收到一次报错,便可以通过BIOS程序进行报错计数。若识别到预设数量个报错信息连续上报时,即可判定出现了大量报错的情况,由此可进一步通过BIOS程序将上报功能关闭,以便停止对可纠正错误的上报,从而减少操作系统下的卡顿和宕机现象。
其中,所谓的连续上报,指相邻两个报错消息的时间间隔小于预设间隔时长。在一个具体实施例中,该预设间隔时长可具体设为1min,该预设数量可具体设为10个。
S103:关闭针对可纠正错误的上报功能。
本申请实施例所提供的服务器中的自动纠错控制方法包括:接收来自硬件的可纠正错误的报错消息;基于BIOS程序判断连续接收到的报错消息是否达到预设数量个;其中,相邻两个报错消息的时间间隔小于预设间隔时长被视为连续接收;若是,则关闭针对可纠正错误的上报功能。
可见,本申请所提供的服务器中的自动纠错控制方法,基于BIOS技术,当识别到大量的可纠正错误上报的情况后,便关闭可纠正错误的上报开关,以便停止错误上报,进而减少操作系统下的卡顿和宕机现象,有效保障了系统运行的稳定性。
作为一种具体实施例,本申请实施例所提供的服务器中的自动纠错控制方法在上述内容的基础上,在关闭针对可纠正错误的上报功能之后,还包括:
经过预设等待时长后,重启针对可纠正错误的上报功能,并继续执行接收来自硬件的可纠正错误的报错消息及其后续步骤。
具体地,在第一次关闭了可纠正错误的上报功能开关后,可在等待了一定时间后再重新尝试打开可纠正错误的上报功能,并继续监测可纠正错误的上报数量情况,以便在再次出现大量报错的情况下及时关闭上报功能的开关。
其中,在一个具体实施例中,预设等待时长可具体设为10min。
作为一种具体实施例,本申请实施例所提供的服务器中的自动纠错控制方法在上述内容的基础上,在关闭针对可纠正错误的上报功能之后,还包括:
针对上报功能的关闭次数进行计数,以便在关闭次数达到预设上限后,锁定上报功能的关闭状态。
具体地,当多次重复出现大量错误上报的情况后,可将上报功能的开关锁定为关闭状态。如此,后续的错误将无法再上报,除非将服务器重启或者下电后再上电。
其中,在一个具体实施例中,关闭次数的预设上限可设置为三次。
作为一种具体实施例,本申请实施例所提供的服务器中的自动纠错控制方法在上述内容的基础上,关闭针对可纠正错误的上报功能,包括:
通过修改上报寄存器的数值来关闭针对可纠正错误的上报功能。
具体地,服务器中针对可纠正错误的上报功能的开关,可具体由上报寄存器中的数值来控制。如此,CPU可通过改写该专用的上报寄存器的值,来关闭或者开启对可纠正错误的上报。
参见图2所示,本申请实施例公开了一种服务器中的自动纠错控制装置,主要包括:
接收模块201,用于接收来自硬件的可纠正错误的报错消息;
处理模块202,用于基于BIOS程序判断连续接收到的报错消息是否达到预设数量个;其中,相邻两个报错消息的时间间隔小于预设间隔时长被视为连续接收;若是,则关闭针对可纠正错误的上报功能。
可见,本申请实施例所公开的服务器中的自动纠错控制装置,基于BIOS技术,当识别到大量的可纠正错误上报的情况后,便关闭可纠正错误的上报开关,以便停止错误上报,进而减少操作系统下的卡顿和宕机现象,有效保障了系统运行的稳定性。
关于上述服务器中的自动纠错控制装置的具体内容,可参考前述关于服务器中的自动纠错控制方法的详细介绍,这里就不再赘述。
作为一种具体实施例,本申请实施例所公开的服务器中的自动纠错控制装置在上述内容的基础上,处理模块202还用于:
在关闭针对可纠正错误的上报功能之后,经过预设等待时长后,重启针对可纠正错误的上报功能,继续接收来自硬件的可纠正错误的报错消息。
作为一种具体实施例,本申请实施例所公开的服务器中的自动纠错控制装置在上述内容的基础上,处理模块202还用于:
在关闭针对可纠正错误的上报功能之后,针对上报功能的关闭次数进行计数,以便在关闭次数达到预设上限后,锁定上报功能的关闭状态。
作为一种具体实施例,本申请实施例所公开的服务器中的自动纠错控制装置在上述内容的基础上,处理模块202具体用于:
通过修改上报寄存器的数值来关闭针对可纠正错误的上报功能。
参见图3所示,本申请实施例公开了一种电子设备,包括:
存储器301,用于存储计算机程序;
处理器302,用于执行所述计算机程序以实现如上所述的任一种服务器中的自动纠错控制方法的步骤。
进一步地,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种服务器中的自动纠错控制方法的步骤。
关于上述电子设备和计算机可读存储介质的具体内容,可参考前述关于服务器中的自动纠错控制方法的详细介绍,这里就不再赘述。
本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。