计算机系统故障告警方法、装置及系统转让专利

申请号 : CN201510603034.4

文献号 : CN106547668B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 简方军褚越杰曾园燕

申请人 : 龙芯中科技术有限公司

摘要 :

本发明提供一种计算机系统故障告警方法、装置及系统,其中,在BIOS中嵌入系统故障标识代码后,该方法包括:根据该系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态,当该运行状态与系统故障标识代码对应的故障状态一致时,确定该运行状态为系统故障标识代码对应的故障状态,进而确定计算机系统的告警状态;将该告警状态对应的电平信号通过GPIO接口发送给告警设备;其中,告警设备为发光设备或者发声设备。本发明的技术方案,避免了利用显示器或串口设备显示故障状态时,存在的打印函数打印输出滞后的情况,解决了显示器或串口设备显示的故障状态与实际故障状态不能精确匹配的问题。

权利要求 :

1.一种计算机系统故障告警方法,其特征在于,在基本输入输出系统BIOS中嵌入系统故障标识代码后,该方法包括:根据所述系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态;

当所述运行状态与所述系统故障标识代码对应的故障状态一致时,确定所述运行状态为所述系统故障标识代码对应的故障状态;

根据所述故障状态与告警状态之间的对应关系,确定计算机系统的告警状态;

将所述告警状态对应的电平信号通过通用输入输出GPIO接口发送给告警设备;其中,所述告警设备为发光设备或者发声设备;

所述方法,还包括:

配置有所述系统故障标识代码与所述故障状态之间在CPU或BIOS从启动过程开始的对应关系,以及配置有所述故障状态与所述告警状态之间的对应关系;

其中,在所述系统故障标识代码未被运行之前,所述方法还包括:根据预先配置的开机故障状态与告警状态之间的对应关系,利用所述告警设备呈现出开机故障状态对应的告警状态;

在所述确定所述运行状态为所述系统故障标识代码对应的故障状态之前,所述方法还包括:封装所述系统故障标识代码,所述系统故障标识代码与故障状态一一对应;

所述将所述告警状态对应的电平信号通过通用输入输出GPIO接口发送给告警设备,包括:将所述故障状态对应的告警状态输出到所述GPIO接口,将所述告警状态对应的并行数据串行化后写入到所述GPIO接口中,通过所述GPIO接口输出所述告警状态对应的电平信号,以使所述告警设备呈现出所述告警状态。

2.根据权利要求1所述的计算机系统故障告警方法,其特征在于,在所述根据所述系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态之前,还包括:在所述CPU或所述BIOS执行序列中的至少一个指定位置处分别设置插桩点;

所述当所述运行状态与所述系统故障标识代码对应的故障状态一致时,确定所述运行状态为所述系统故障标识代码对应的故障状态,具体包括:当所述CPU或所述BIOS运行到所述插桩点所在指定位置处时的运行状态与所述系统故障标识代码对应的故障状态一致时,确定所述插桩点所在指定位置处时的运行状态为所述系统故障标识代码对应的故障状态;

所述插桩点的数量与所述系统故障标识代码对应的故障状态的数量一致。

3.根据权利要求1所述的计算机系统故障告警方法,其特征在于,在所述将所述告警状态对应的电平信号通过通用输入输出GPIO接口发送给告警设备之后,还包括:采集所述告警状态,识别所述计算机系统存在的故障类型和故障位置。

4.根据权利要求1~3任一项所述的计算机系统故障告警方法,其特征在于,还包括:对所述故障状态进行分析,得出所述故障状态对应的解决方案。

5.一种计算机系统故障告警装置,其特征在于,包括:

检测模块,用于根据在基本输入输出系统BIOS中嵌入的系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态;

第一确定模块,用于当所述运行状态与所述系统故障标识代码对应的故障状态一致时,确定所述运行状态为所述系统故障标识代码对应的故障状态;

第二确定模块,用于根据所述故障状态与告警状态之间的对应关系,确定计算机系统的告警状态;

发送模块,用于将所述告警状态对应的电平信号通过通用输入输出GPIO接口发送给告警设备;其中,所述告警设备为发光设备或者发声设备;

所述装置,还包括:

配置有所述系统故障标识代码与所述故障状态之间在CPU或BIOS从启动过程开始的对应关系,以及配置有所述故障状态与所述告警状态之间的对应关系;

所述第二确定模块,还用于在所述系统故障标识代码未被运行之前,根据预先配置的开机故障状态与告警状态之间的对应关系,利用所述告警设备呈现出开机故障状态对应的告警状态;

所述检测模块,还用于在所述第一确定模块确定所述运行状态为所述系统故障标识代码对应的故障状态之前,封装所述系统故障标识代码,所述系统故障标识代码与故障状态一一对应;

所述第一确定模块,具体用于将所述故障状态对应的告警状态输出到所述GPIO接口,将所述告警状态对应的并行数据串行化后写入到所述GPIO接口中,通过所述GPIO接口输出所述告警状态对应的电平信号,以使所述告警设备呈现出所述告警状态。

6.根据权利要求5所述的计算机系统故障告警装置,其特征在于,还包括:插桩模块;

所述插桩模块,用于在所述CPU或所述BIOS执行序列中的至少一个指定位置处分别设置插桩点;

所述第一确定模块,具体用于当所述CPU或所述BIOS运行到所述插桩点所在指定位置处时的运行状态与所述系统故障标识代码对应的故障状态一致时,确定所述插桩点所在指定位置处时的运行状态为所述系统故障标识代码对应的故障状态;

所述插桩点的数量与所述系统故障标识代码对应的故障状态的数量一致。

7.根据权利要求5或6所述的计算机系统故障告警装置,其特征在于,还包括:识别模块和分析模块;

所述识别模块,用于采集所述告警状态,识别所述计算机系统存在的故障类型和故障位置;

所述分析模块,用于对所述故障状态进行分析,得出所述故障状态对应的解决方案。

8.一种计算机系统故障告警系统,其特征在于,包括:计算机系统故障告警装置、存储器和告警设备;所述计算机系统故障告警装置分别与所述存储器、所述告警设备连接;

所述计算机系统故障告警装置为权利要求5-7任一项所述的计算机系统故障告警装置;

所述存储器,用于存储所述计算机系统故障告警装置确定的故障状态;

所述告警设备,用于呈现告警状态;所述告警设备为发光设备或发声设备。

说明书 :

计算机系统故障告警方法、装置及系统

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种计算机系统故障告警方法、装置及系统。

背景技术

[0002] 计算机系统可能发生各种故障(例如,正常使用故障,人为引起的故障,硬件故障,软件故障,环境影响引起的故障等),这些故障在计算机系统的启动过程中,可能导致计算机系统启动失败,在计算机系统的正常使用过程中,可能造成计算机系统的服务中断,进而给使用该计算机系统的用户带来不可估算的损失。因此,在使用计算机系统时,需要检测计算机系统是否存在故障,并当存在故障时,将故障状态显示出来。
[0003] 目前,主要基于显示器或串口设备来实现计算机系统故障状态的显示,具体的,计算机系统外部连接一显示器或串口设备,故障状态通过明文显示输出,也即,借助于计算机系统封装好的打印函数,将故障状态输出到显示器或串口终端设备进行显示。
[0004] 然而,上述基于显示器或串口设备显示计算机系统故障状态的方法,利用打印函数输出故障状态时,存在打印函数调用时刻以及故障状态打印输出滞后的问题,导致显示器或串口设备显示的故障状态与计算机系统实际的故障状态不能精确匹配。

发明内容

[0005] 本发明提供一种计算机系统故障告警方法、装置及系统,以解决显示器或串口设备显示的故障状态与实际故障状态不能精确匹配的问题。
[0006] 本发明提供的一种计算机系统故障告警方法,在BIOS中嵌入系统故障标识代码后,该方法包括:
[0007] 根据所述系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态;
[0008] 当所述运行状态与所述系统故障标识代码对应的故障状态一致时,确定所述运行状态为所述系统故障标识代码对应的故障状态;
[0009] 根据所述故障状态与告警状态之间的对应关系,确定计算机系统的告警状态;
[0010] 将所述告警状态对应的电平信号通过GPIO接口发送给告警设备;其中,所述告警设备为发光设备或者发声设备。
[0011] 本发明还提供一种计算机系统故障告警装置,包括:
[0012] 检测模块,用于根据在BIOS中嵌入的系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态;
[0013] 第一确定模块,用于当所述运行状态与所述系统故障标识代码对应的故障状态一致时,确定所述运行状态为所述系统故障标识代码对应的故障状态;
[0014] 第二确定模块,用于根据所述故障状态与告警状态之间的对应关系,确定计算机系统的告警状态;
[0015] 发送模块,用于将所述告警状态对应的电平信号通过GPIO接口发送给告警设备;其中,所述告警设备为发光设备或者发声设备。
[0016] 本发明还提供一种计算机系统故障告警系统,包括:计算机系统故障告警装置、存储器和告警设备;所述计算机系统故障告警装置分别与所述存储器、所述告警设备连接;
[0017] 所述计算机系统故障告警装置为本发明提供的计算机系统故障告警装置;
[0018] 所述存储器,用于存储所述计算机系统故障告警装置确定的故障状态;
[0019] 所述告警设备,用于呈现所述告警状态;所述告警设备为发光设备或发声设备。
[0020] 本发明提供的计算机系统故障告警方法、装置及系统,根据在BIOS中嵌入的系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态,当运行状态与系统故障标识代码对应的故障状态一致时,即可确定计算机系统存在故障,并根据故障状态与告警状态之间的对应关系,确定出计算机系统的告警状态,将故障状态对应的电平信号通过GPIO接口发送给告警设备后,由告警设备便可呈现出该告警状态,无需显示器或串口设备,避免了打印函数打印输出滞后的情况,解决了显示器或串口设备显示的故障状态与实际故障状态不能精确匹配的问题。

附图说明

[0021] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022] 图1为本发明计算机系统故障告警方法实施例一的流程示意图;
[0023] 图2为本发明计算机系统故障告警方法实施例二的流程示意图;
[0024] 图3为本发明计算机系统故障告警装置实施例一的结构示意图;
[0025] 图4为本发明计算机系统故障告警装置实施例二的结构示意图;
[0026] 图5为本发明计算机系统故障告警系统实施例的结构示意图。

具体实施方式

[0027] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0028] 计算机系统的状态包括系统启动过程状态和系统运行过程状态两个方面,由于计算机系统在启动和运行的过程中都有可能发生各种故障,这些故障在计算机系统启动过程中,可能会导致计算机系统启动失败,在计算机系统正常使用过程中,可能造成计算机系统的服务中断,进而给使用该计算机系统的用户带来不可估算的损失。因此,在使用计算机系统时,需要检测计算机系统是否存在故障,并当存在故障时,将故障状态显示出来。
[0029] 其中,计算机系统可能发生的故障,主要包括以下几种:
[0030] (1)正常使用时出现的故障,主要是由于机械的正常磨损、使用寿命已到、老化引起的;
[0031] (2)人为引起的故障,主要是由于使用者不遵守操作规程,例如,硬件系统的带电插拔,拆卸板卡时使用暴力等,从而造成的元器件损坏;
[0032] (3)硬件故障,例如,计算机系统在制造的过程中,出现以下情况:制造工艺或材料质量不过关,计算机系统的板卡或插件间的接触不良,板卡的焊点虚焊、脱焊或者连接导线断线等。这些情况随着外界环境(例如,受潮、灰尘、发霉、振动等)影响,就会引发计算机系统出现故障。
[0033] (4)软件故障,软件故障又分为两种:第一是系统故障,主要是由于设置不当,硬件设备不能被计算机系统识别和使用,设备资源之间出现冲突等原因造成的系统不能正常运行甚至死机,进而产生的故障;第二为应用程序故障,一般是由计算机系统和应用软件本身的缺陷造成的,主要体现在系统和软件不能完全兼容等方面。
[0034] (5)使用环境影响引起的故障,主要包括电源、温度、灰尘、电磁辐射等因素影响而造成的计算机系统故障。
[0035] 对于计算机系统可能出现的故障,现阶段,主要基于显示器或串口设备来实现对其检测和显示,具体的,在计算机系统外部连接一显示器或串口设备,将计算机系统出现的故障状态通过计算机系统封装好的打印函数输出到显示器或串口终端设备进行显示。这种方法,由于需要将故障状态利用打印函数输出,存在打印函数调用时刻以及故障状态打印输出滞后的问题,导致显示器或串口设备显示的故障状态与计算机系统实际的故障状态不能精确匹配。
[0036] 针对显示器或串口设备显示的故障状态与计算机系统实际的故障状态不能精确匹配的问题,本发明提供了一种计算机系统故障告警方法、装置及系统,首先,根据在BIOS中嵌入的系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态,根据系统故障标识代码与故障状态之间的对应关系确定出系统故障标识代码对应的故障状态,其次,根据故障状态与告警状态之间的对应关系确定出计算机系统的告警状态,最后,通过GPIO接口将告警状态对应的电平信号发送给告警设备,并呈现出该告警状态,避免了打印函数的调用时刻以及故障状态打印输出滞后的情况,解决了显示器或串口设备显示的故障状态与实际故障状态不能精确匹配的问题。
[0037] 图1为本发明计算机系统故障告警方法实施例一的流程示意图。如图1所示,本发明实施例一提供的计算机系统故障告警方法,在BIOS中嵌入系统故障标识代码后,该方法包括:
[0038] 步骤101:根据系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态;
[0039] 计算机系统能够正常工作,CPU开机过程正常是前提。CPU开机正常后,由于在BIOS中嵌入了系统故障标识代码,当CPU或BIOS在启动过程或正常运行过程中出现故障时,BIOS就会调用该系统故障标识代码,此时CPU或BIOS的运行状态则会与该系统故障标识代码对应的故障状态一致。
[0040] 步骤102:当上述运行状态与系统故障标识代码对应的故障状态一致时,确定该运行状态为系统故障标识代码对应的故障状态;
[0041] 如前所述,计算机系统状态,包括:系统启动过程状态和系统运行过程状态两个方面,当计算机系统正常开机以后,还需要对系统启动过程状态和系统运行过程状态进行实时监测。
[0042] 具体的,BIOS初始化过程中和BIOS初始化完成后,检测CPU或BIOS从启动过程开始的运行状态时,CPU均参与到BIOS顺序检测的过程中,具体的检测方法为:
[0043] (1)封装系统故障标识代码(#BIOS_CHECK_POINT),该系统故障标识代码与故障状态一一对应;
[0044] 具体的,将封装好的系统故障标识代码嵌入到BIOS中,当CPU或BIOS出现故障时,系统故障标识代码对应的状态则是故障状态,将故障状态对应的告警状态输出到GPIO接口,将告警状态对应的并行数据串行化后写入到GPIO接口中,通过GPIO接口输出告警状态对应的电平信号,再通过告警设备呈现出该告警状态。
[0045] (2)BIOS执行序列插桩,也即,在BIOS中设置检查点,在BIOS指定检查点处插入系统故障标识代码。BIOS初始化过程中,若BIOS启动过程正常,则运行到指定检查点后输出“某检查项目通过”,若BIOS启动过程异常,则运行到指定检查点时,会调用封装好的系统故障标识代码,输出“某检查项目不通过”。这一过程实际上包括两个步骤,一方面是系统故障标识代码插入检查点后编译;另一方面是系统故障标识代码在BIOS初始化过程中执行检查。
[0046] 在BIOS初始化完成后,继续检测计算机系统的运行状态,这一过程类似于BIOS执行序列插桩,通过在计算机系统的BIOS指定检查点处插入系统故障标识代码进行编译,并将检查结果对应的运行状态通过GPIO接口输出,当运行状态与系统故障标识代码对应的故障状态一致时,确定该运行状态即为该系统故障标识代码对应的故障状态。
[0047] (3)BIOS初始化完成以后继续对CPU或BIOS的运行状态进行检测,也即,对计算机系统内设备的运行状态进行扫描,当CPU或BIOS的运行状态与系统故障标识代码对应的故障状态一致时,则确定该运行状态为系统故障标识代码对应的故障状态,进而利用故障状态与告警状态之间的关系确定出告警状态,通过GPIO接口输出告警状态对应的电平信号,该电平信号即可利用告警设备呈现出来。
[0048] 具体的,主要是对以下系统设备进行描述状态:
[0049]系统设备 状态描述
CPU CPU类型、CPU核数目1、2、4、8,CPU主频
内存 内存条数、容量、读写存在故障
网络模块 网络接口数目、通断、IP是否配置
串口通讯模块 串口数目、配置是否正确
显卡 显卡标识
声卡 声卡标识
USB USB设备连接状态
SATA SATA设备连接状态
[0050] 步骤103:根据上述故障状态与告警状态之间的对应关系,确定计算机系统的告警状态;
[0051] 由上述分析可知,通过上述步骤可确定CPU或BIOS从启动过程开始出现故障时的故障状态,那么根据已设定好的故障状态与告警状态之间的对应关系,可确定出该故障状态对应的告警状态。
[0052] 步骤104:将该告警状态对应的电平信号通过GPIO接口发送给告警设备;其中,该告警设备为发光设备或者发声设备。
[0053] CPU或BIOS在不同位置出现故障时,系统故障标识代码对应的故障状态不同,且表现出来的告警状态也不相同。不同告警状态对应的电平信号通过GPIO或类似的接口发送给告警设备以后,便可通过告警设备呈现出来。本发明借助于计算机系统提供的GPIO接口即可输出告警状态对应的电平信号,连接方式简单,易于实现。
[0054] 具体的,若该告警设备为发光设备时,对于LED灯这类发光设备,可通过控制光的颜色、光的频率、光的强度、光的亮度以及光的明暗等参数变化来表示不同的告警状态,并且,告警状态的状态多种多样,比如,可通过使发光设备发红光、发蓝光或发紫光等不同颜色的光来表示,也可通过发红光的闪烁频率或发红光时亮度强弱等来表示,具体的,可根据实际需要设置告警状态的不同组合。例如,若BIOS在启动过程中的某个位置出现故障,对应的告警状态可以是发光设备呈现红光,若BIOS在启动完成后,CPU的某个位置出现故障,对应的告警状态可以是发光设备呈现的紫光每间隔1秒闪烁一下等等。
[0055] 若该告警设备为发声设备时,对于喇叭这类发声设备,可通过控制声音的频率、声音的强度以及声音的时长等参数变化来表示不同的告警状态,这些告警状态借助于喇叭,根据乐音或者语音的不同表现形式表示出计算机系统存在的故障状态。对于蜂鸣器这类发声设备,可通过蜂鸣器声音的通断时长和通断次数来表示不同的告警状态,这些告警状态再通过蜂鸣器呈现出来,进而表示不同的故障状态。例如,若BIOS在启动过程中的某个位置出现故障,对应的告警状态可以是发声设备发出不同的音乐,若BIOS在启动完成后,CPU的某个位置出现故障,对应的告警状态可以是发声设备发出的声音每间隔1秒响一下等等。
[0056] 告警状态的告警形式多种多样,但是其与故障状态一一对应,本发明并不对告警状态的具体告警表现形式进行限定。
[0057] 本发明实施例一提供的计算机系统故障告警方法,该方法适合部署在计算机系统上,在BIOS中嵌入系统故障标识代码后,根据该系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态,当运行状态与系统故障标识代码对应的故障状态一致时,即可确定出计算机系统存在故障,利用故障状态与告警状态之间的对应关系,可确定出计算机系统的告警状态,利用GPIO接口可将告警状态对应的电平信号发送给告警设备,进而利用告警设备呈现出来。本发明的技术方案,根据告警设备呈现的告警状态可直接识别出计算机系统存在的故障状态,实时性比较强,避免了利用显示器或串口设备显示故障状态时,存在的打印函数打印输出滞后的情况,解决了显示器或串口设备显示的故障状态与实际故障状态不能精确匹配的问题。
[0058] 进一步的,本发明上述实施例提供的计算机系统故障告警方法,还包括:
[0059] 配置有系统故障标识代码与故障状态之间在CPU或BIOS从启动过程开始的对应关系,以及配置有故障状态与告警状态之间的对应关系。
[0060] 具体的,若计算机系统中配置有系统故障标识代码与故障状态之间在CPU或BIOS从启动过程开始的对应关系,当检测到CPU或BIOS的运行状态与系统故障标识代码对应的故障状态一致时,则可以直接确定此时计算机系统出现了故障,并且该运行状态为系统故障标识代码对应的故障状态;进一步的,若计算机系统中还配置有故障状态与告警状态之间的对应关系,则可直接确定出该故障状态对应的告警状态,进而为后续告警设备呈现告警状态奠定了基础。
[0061] 可选的,在实际应用中,计算机系统在开机过程中也可能出现CPU无法开机等严重错误,导致计算机系统在上述101步骤中的启动过程无法开始。例如,CPU工作异常、无法正常读取和执行BIOS指令等,由于此时系统故障标识代码还没有被运行,但计算机系统内预先配置好了开机故障状态(上述故障状态的一种)与告警状态之间的对应关系,因此,利用告警设备则可呈现出开机故障状态对应的告警状态。
[0062] 具体的,若告警设备为发光设备(LED灯),则可以配置发光设备长亮与系统开机故障状态相对应,利用发光设备长亮的告警方式表示CPU开机出现故障。详细而言,若CPU开机故障,那么计算机系统给发光设备供电后,发光设备将长亮,直到CPU开机故障解除后再改变发光设备的告警状态。若告警设备为发声设备(蜂鸣器),则可配置发声设备长鸣与系统开机故障状态相对应,利用发声设备长鸣的告警方式表示CPU开机出现故障。详细而言,若CPU开机故障,那么计算机系统给发声设备供电后,发声设备将长鸣,直到CPU开机故障解除后再改变发声设备的告警状态。
[0063] 计算机系统出现开机故障的原因可能是:(1)CPU损坏或CPU芯片连接故障;(2)BIOS芯片损坏或BIOS芯片连接故障;(3)计算机系统的板卡级别异常等。
[0064] 图2为本发明计算机系统故障告警方法实施例二的流程示意图。本发明实施例二是在上述实施例一技术方案的基础上,对图1所示计算机系统故障告警方法的进一步说明。如图2所示,本发明实施例二提供的计算机系统故障告警方法,包括:
[0065] 步骤201:在CPU或BIOS执行序列中的至少一个指定位置处分别设置插桩点;
[0066] 具体的,以某公司处理器的开发板为例,在CPU或BIOS执行序列中的指定位置设置检查点(插桩点),具体包括:
[0067] (a)上电,插桩(利用封装好的系统故障标识代码,设置检查点0x00);
[0068] (b)初始化本处理器核的内部状态寄存器,插桩(设置检查点0x01);
[0069] (c)通过核间中断等待0号核对处理器初始化完成,插桩(设置检查点0x02);
[0070] (d)初始化本处理器核的内部TLB,插桩(设置检查点0x03);
[0071] (e)初始化本处理器核的内部一级Cache,插桩(设置检查点0x04);
[0072] (f)跳转到一级Cache地址继续执行PMON代码,插桩(设置检查点0x05);
[0073] (g)通过核间中断寄存器的值等待0号核唤醒,插桩(设置检查点0x06);
[0074] (h)初始化串口,插桩(设置检查点0x07);
[0075] (i)打印处理器倍频控制寄存器的值,插桩(设置检查点0x08);
[0076] (g)执行fixup.S文件,插桩(设置检查点0x09);
[0077] (k)内存控制器初始化,插桩(设置检查点0x010);
[0078] (l)二级Cache初始化,插桩(设置检查点0x011);
[0079] (m)跳转至二级Cache地址继续执行,插桩(设置检查点0x012);
[0080] (n)进行HT控制器的初始化,插桩(设置检查点0x013);
[0081] (o)将FLASH中的代码复制到内存的特定地址,插桩(设置检查点0x014);
[0082] (p)解压缩并跳转执行,插桩(设置检查点0x015);
[0083] (q)频率检测,插桩(设置检查点0x016);
[0084] (r)设备初始化:显示、键盘、PCI总线、网络等初始化,插桩(设置检查点0x017);
[0085] (s)文件系统驱动初始化,插桩(设置检查点0x018);
[0086] (t)Shell初始化,PMON启动完成,插桩(设置检查点0x019)。
[0087] 值得说明的是,插桩点的数量可根据实际需要进行确定,若CPU或BIOS中运行的程序长而复杂,那么为了更准确的检测出CPU或BIOS存在的故障,可适当的增加设置的插桩点,若CPU或BIOS中运行的程序短而简单,为了节省时间和减低能量消耗,可适当的减少设置的插桩点。因此,本发明并不对设置的插桩点数量进行限定。
[0088] 步骤202:根据系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态;
[0089] 步骤203:当CPU或BIOS运行到上述插桩点所在指定位置处时的运行状态与系统故障标识代码对应的故障状态一致时,确定上述插桩点所在指定位置处时的运行状态为该系统故障标识代码对应的故障状态;
[0090] 其中,插桩点的数量与系统故障标识代码对应的故障状态的数量一致。
[0091] 具体的,若CPU或BIOS运行到插桩点处出现故障时,每个插桩点处的系统故障标识代码都对应一个故障状态,所以,插桩点的数量必须与系统故障标识代码对应的故障状态的数量相同,这样根据系统故障标识代码对应的故障状态便能确定出计算机系统存在的故障类型和故障位置。
[0092] 步骤204:根据上述故障状态与告警状态之间的对应关系,确定计算机系统的告警状态;
[0093] 步骤205:将该告警状态对应的电平信号通过GPIO接口发送给告警设备。
[0094] 对于步骤202、步骤204和步骤205的详细操作与图1所示实施例一的实现流程一样,此处不再赘述。
[0095] 进一步的,如图2所示,本发明实施例二提供的计算机故障告警方法,在将告警状态对应的电平信号通过GPIO接口发送给告警设备之后,也即,在步骤205之后,还包括:
[0096] 步骤206:采集该告警状态,识别该计算机系统存在的故障类型和故障位置。
[0097] 将告警状态发送给告警设备之后,还可采集该告警状态,根据系统故障标识代码、故障状态以及告警状态之间的对应关系,识别出该计算机系统存在的故障类型和故障位置。
[0098] 具体的,识别计算机系统故障的方式可以有两种,一种是人工识别,经过专业训练的技术人员根据告警设备呈现的告警状态直接识别出计算机系统存在的故障类型和故障位置;另外一种是自动识别软件识别,自动识别软件中携带有与告警状态相对应的故障状态,因此,利用已经设定好的对应关系可以自动识别出故障类型和故障位置。
[0099] 值得说明的是,自动识别软件可以是移动设备定制的APP软件,告警设备为发光设备时,利用移动设备(手机或pad)的视频或光输入功能,接收发光设备的故障告警信号,进而检测和识别出故障的类型和故障位置;告警设备为发声设备时,利用移动设备(手机或pad)的音频输入功能,接收发声设备的故障报告信号。利用移动设备的显示和输出接口,呈现故障类型,或给出故障排除策略,或提供求助方式,也可以将故障显示数据进行本次保存、通过移动设备的数据传输功能将故障报告内容传输到预设或客户自定义的地方,譬如存储器内。
[0100] 更进一步地,如图2所示,本发明实施例二提供的计算机系统故障告警方法,还包括:
[0101] 步骤207:对上述故障状态进行分析,得出该故障状态对应的解决方案。
[0102] 具体的,可利用移动设备(手机或pad)接收告警设备的告警状态,通过自动识别软件检测和识别该告警状态,进而利用移动设备的显示和输出接口,呈现出计算机系统的故障类型和故障位置,进而给出该故障状态对应的解决方案,例如,故障排除策略或提供求助方式等。另外,该自动识别软件还可以将故障状态对应的故障数据进行本次保存、通过移动设备的数据传输功能将故障报告内容传输到预设或客户自定义的地方,譬如存储器内。
[0103] 本发明实施例二提供的计算机系统故障告警方法,通过在CPU或BIOS执行序列中的至少一个指定位置处分别设置插桩点,当CPU或BIOS运行到插桩点所在指定位置处时的运行状态与系统故障标识代码对应的故障状态一致时,即可确定插桩点所在指定位置处时的运行状态为系统故障标识代码对应的故障状态。进一步的,还可采集故障状态对应的告警状态,并且对该告警状态进行识别和分析,尤其是利用自动识别软件识别告警状态的方式,无须经过专业训练即可掌握识别故障类型和故障位置的方法,识别效率高,且附加了故障分析机制,方便用户处理计算机系统存在的故障。
[0104] 图3为本发明计算机系统故障告警装置实施例一的结构示意图。如图3所示,本发明实施例一提供的计算机系统故障告警装置,包括:
[0105] 检测模块301,用于根据在BIOS中嵌入的系统故障标识代码检测CPU或BIOS从启动过程开始的运行状态;
[0106] 第一确定模块302,用于当上述运行状态与系统故障标识代码对应的故障状态一致时,确定该运行状态为系统故障标识代码对应的故障状态;
[0107] 第二确定模块303,用于根据上述故障状态与告警状态之间的对应关系,确定计算机系统的告警状态;
[0108] 发送模块304,用于将上述告警状态对应的电平信号通过GPIO接口发送给告警设备;其中,所述告警设备为发光设备或者发声设备。
[0109] 本发明实施例一提供的计算机系统故障告警装置,可用于执行如图1所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
[0110] 本发明实施例一提供的计算机系统故障告警装置,检测模块根据在BIOS中嵌入的系统故障标识代码实时监测CPU或BIOS从启动过程开始的运行状态,并根据系统故障标识代码、故障状态以及告警状态之间的对应关系确定出计算机系统存在的故障状态以及故障状态对应的告警状态,进而将告警状态对应的电平信号通过GPIO接口发送给告警设备,呈现出该告警状态。本发明的技术方案,根据告警设备呈现的告警状态可以直接识别出计算机系统存在的故障状态,实时性比较强,避免了利用显示器或串口设备显示故障状态时,存在的打印函数打印输出滞后的情况,解决了显示器或串口设备显示的故障状态与实际故障状态不能精确匹配的问题。
[0111] 进一步的,本发明实施例一提供的计算机系统故障告警装置,还包括:
[0112] 配置有系统故障标识代码与故障状态之间在CPU或BIOS从启动过程开始的对应关系,配置有故障状态与告警状态之间的对应关系。
[0113] 图4为本发明计算机系统故障告警装置实施例二的结构示意图。本发明实施例二是在上述实施例一技术方案的基础上,对图3所示计算机系统故障告警装置的进一步说明。如图4所示,在检测模块301之前,还包括:插桩模块401;
[0114] 插桩模块401,用于在CPU或BIOS执行序列中的至少一个指定位置处分别设置插桩点。
[0115] 那么,上述第一确定模块302,具体用于当CPU或BIOS运行到插桩点所在指定位置处时的运行状态与系统故障标识代码对应的故障状态一致时,确定插桩点所在指定位置处时的运行状态为系统故障标识代码对应的故障状态。
[0116] 其中,插桩点的数量与系统故障标识代码对应的故障状态的数量一致。
[0117] 可选的,如图4所示,本发明上述实施例提供的计算机系统故障告警装置,还包括:识别模块402和分析模块403;
[0118] 识别模块402,用于采集上述告警状态,识别计算机系统存在的故障类型和故障位置;
[0119] 分析模块403,用于对故障状态进行分析,得出该故障状态对应的解决方案。
[0120] 本发明实施例二提供的计算机系统故障告警装置,可用于执行如图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0121] 图5为本发明计算机系统故障告警系统实施例的结构示意图。如图5所示,本发明实施例提供的计算机系统故障告警系统,包括:计算机系统故障告警装置501、存储器502和告警设备503;其中,计算机系统故障告警装置501分别与存储器502、告警设备503连接。
[0122] 其中,计算机系统故障告警装置501为图3和图4所示实施例所述的计算机系统故障告警装置;有关计算机系统故障告警装置501的组成结构、实现原理,参见图3和图4所示实施例的介绍,此处不再赘述。
[0123] 值得说明的是,计算机系统故障告警装置501具体实施时,既可以是计算机系统的中央处理器CPU,也可以是独立于CPU而单独设置的一个芯片,只要是能够实现检测计算机系统故障、确定故障对应告警状态等功能的装置或芯片都可以被采用,本发明实施例并不对此进行限定。
[0124] 存储器502,用于存储计算机系统故障告警装置确定的故障状态。将计算机系统存在的故障状态保存到存储器中,待后续使用时,可以直接从存储器中读取,为后续的处理操作提供了便利。
[0125] 告警设备503,用于呈现上述告警状态。该告警设备503可为发光设备或发声设备。
[0126] 具体的,利用告警设备503可以直接将计算机系统故障状态对应的告警状态呈现出来,无需显示器或串口类设备,故障呈现方式简单,易于控制。进一步的,当告警设备为发光设备时,可直接通过发光设备的光色、光亮、光频等参数表示不同的故障状态,方便识别不同故障状态对应的故障类型和故障位置。当告警设备为发声设备时,可直接通过发声设备的声频、声强或声长等参数表示不同的故障状态,同样很方便识别出不同故障状态对应的故障类型和故障位置。
[0127] 本发明实施例提供的计算机系统故障告警方法、装置及系统,通过根据在BIOS中嵌入的系统故障标识代码对CPU或BIOS从启动过程开始的运行状态进行检测,当运行状态与系统故障标识代码对应的故障状态一致时,即可确定计算机系统存在故障,根据故障状态与告警状态之间的对应关系,可确定出计算机系统故障状态对应的告警状态,进而将告警状态对应的电平信号通过GPIO接口发送给告警设备,呈现出该告警状态。本发明的技术方案,无需显示器或串口设备,避免了打印函数打印输出滞后的情况,解决了显示器或串口设备显示的故障状态与实际故障状态不能精确匹配的问题。
[0128] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。