异常检测方法、装置、计算机设备及存储介质与流程

未命名 09-22 阅读:50 评论:0


1.本技术主要涉及计算机技术领域,更具体地说是涉及一种异常检测方法、装置、计算机设备及存储介质。


背景技术:

2.统一可扩展固件接口(unified extensible firmware interface,uefi)作为bios(basic input output system,基本输入输出系统)的替代方案,可以负责计算机设备的上电自检post、联系操作系统以及提供连接操作系统与硬件的接口。
3.其中,在计算机设备的post过程中,由于计算机主板上配置有众多如pci(peripheral component interconnection,周边元件扩展接口)设备、usb设备等设备,uefi启动过程中执行设备驱动时,很容易会因各种问题导致uefi hang机(即计算机设备挂机或死机)问题,即uefi某模块驱动未响应,无法继续执行。
4.针对上述问题,客户或pe系统很难直观地确定什么地方出现问题,往往需要花费大量时间和精力对uefi启动过程中记录的日志文件进行分析,才能够定位问题,非常麻烦。


技术实现要素:

5.为了解决上述问题,本技术提供了以下技术方案:
6.一方面,本技术还提出了一种异常检测方法,所述方法包括:
7.在计算机设备的启动阶段,获得启动日志文件;所述启动日志文件记录所述计算机设备的系统引导处理器在所述启动阶段执行的系统启动过程;
8.确定所述系统启动过程异常,依据特定关键词,对相应的所述启动日志文件进行异常检测,获得导致所述系统启动过程异常的异常来源;
9.控制所述计算机设备重启,以在所述计算机设备重启阶段,由所述系统引导处理器输出上一次系统启动过程异常的异常指示信息;所述异常指示信息包括导致所述上一次系统启动过程异常的所述异常来源。
10.可选的,所述确定所述系统启动过程异常,包括:
11.获得所述系统引导处理器执行的所述系统启动过程的启动进度信息;
12.若所述启动进度信息满足启动异常条件,确定所述系统启动过程异常。
13.可选的,所述确定所述系统启动过程异常,包括:
14.确定所述系统引导处理器开始执行系统启动过程时,触发针对所述系统引导处理器的看门狗进行计时,获得系统启动时长;
15.若所述系统启动时长达到预设时长,未接收到所述系统引导处理器反馈的针对所述看门狗的停止计时信号,确定所述系统启动过程异常。
16.可选的,所述依据特定关键词,对相应的所述启动日志文件进行异常检测,获得导致所述系统启动过程异常的异常来源,包括:
17.按照预设的异常记录格式,检测所述启动日志文件的首部位置信息;
18.若所述首部位置信息表示所述系统启动过程异常,读取所述启动日志文件的尾部位置信息;
19.依据所述尾部位置信息,确定导致所述系统启动过程异常的异常来源;所述异常来源为所述系统启动过程中所要加载执行的任一设备驱动。
20.可选的,其中:
21.在所述确定所述系统启动过程异常的情况下,生成系统复位信号;
22.控制所述计算机设备中断执行所述系统复位信号,获取所述系统启动过程异常对应的所述启动日志文件,以执行所述依据特定关键词,对相应的所述启动日志文件进行异常检测步骤;
23.所述控制所述计算机设备重启,包括:
24.控制所述计算机设备继续执行所述系统复位信号,触发所述计算机设备重启。
25.可选的,所述方法还包括:
26.获得包含所述异常来源的异常日志文件;
27.在所述计算机设备重启阶段,接收所述系统引导处理器发送的针对上一次系统启动过程的异常检测指令;
28.响应所述异常检测指令,将针对所述上一次系统启动过程的异常日志文件发送至所述系统引导处理器,以使所述系统引导处理器依据所述异常日志文件,生成所述异常指示信息。
29.可选的,所述方法还包括:
30.读取所述启动日志文件中首部位置信息包含的所述系统启动过程异常的系统异常类型以及异常记录标识;
31.所述获得包含所述异常来源的异常日志文件,包括:
32.利用所述系统异常类型、所述异常记录标识以及所述异常来源,获得针对所述系统启动过程的异常日志文件。
33.又一方面,本技术还提出了一种异常检测装置,所述装置包括:
34.启动日志文件获得模块,用于在计算机设备的启动阶段,获得启动日志文件;所述启动日志文件记录所述计算机设备的系统引导处理器在所述启动阶段执行的系统启动过程;
35.异常来源获得模块,用于确定所述系统启动过程异常,依据特定关键词,对相应的所述启动日志文件进行异常检测,获得导致所述系统启动过程异常的异常来源;
36.重启控制模块,用于控制所述计算机设备重启,以在所述计算机设备重启阶段,由所述系统引导处理器输出上一次系统启动过程异常的异常指示信息;所述异常指示信息包括导致所述上一次系统启动过程异常的所述异常来源。
37.又一方面,本技术还提出了一种计算机设备,所述计算机设备包括:
38.主板,所述主板部署有系统引导处理器和管理控制器;
39.所述系统引导处理器能够在所述计算机设备启动时,执行系统启动过程,引导所述计算机设备的操作系统启动运行;
40.所述管理控制器,用于实现如上述的异常检测方法。
41.又一方面,本技术还提出了一种计算机可读存储介质,其上存储有至少一组计算
指令集,所述计算机指令集被处理器加载执行,实现如上述的异常检测方法。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.图1为适用于本技术提出的异常检测方法的计算机设备的一可选示例的硬件结构示意图;
44.图2为本技术提出的异常检测方法的可选实施例一的流程示意图;
45.图3为本技术提出的异常检测方法的可选实施例二的流程示意图;
46.图4为本技术提出的异常检测方法的可选实施例三的流程示意图;
47.图5为本技术提出的异常检测装置的一可选示例的结构示意图;
48.图6为本技术提出的异常检测装置的另一可选示例的结构示意图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.参照图1,为适用于本技术提出的异常检测方法的计算机设备的一可选示例的硬件结构示意图,该计算机设备可以是服务器或能够访问服务器的终端设备,如笔记本电脑、台式电脑、机器人或其他智能设备,如图1所示,该计算机设备可以包括主板11,部署在该主板11上的系统引导处理器12和管理控制器13,其中:
51.主板11又称主机板或系统板等,是计算机设备最基本且最重要的部件之一,通常是固定形状的电路板,其上可以部署组成计算机设备的主要电路系统,如上述系统引导处理器12、管理控制器13、i/o控制芯片,以及其他输入/输出组件等,可以依据计算机设备的产品类型及其功能配置确定,本技术对主板11的制造及其上部署的电路系统不做限制。
52.系统引导处理器12能够在计算机设备启动时,执行自动启动过程,引导计算机设备的操作系统启动运行,如uefi(unified extensible firmware interface,统一的可扩展固件接口)等,通常情况下,在计算机设备上电开机过程中,通常会由该系统引导处理器12执行开机自检流程,检测合格后,在引导计算机设备的操作系统运行,本技术对计算机设备的上电自检过程不做详述。
53.管理控制器13可以是基板管理控制器(baseboard management controller,bmc),可以与上述系统引导处理器12进行通信连接,也可以与计算机设备的其他组件进行通信,本技术对该通信连接方式不做限制,可视情况而定。本技术实施例中,bmc可以获取计算机设备上电启动过程中产生的启动日志文件,据此确定系统启动过程异常,可以控制该计算机设备重启,以触发该系统引导处理器12在上电启动过程中,可以输出上一次系统启动过程异常的异常指示信息,指示操作人员可以据此消除导致上一次系统启动过程异常的
异常来源,保证计算机设备成功启动。
54.其中,关于对管理控制器13的操作或配置,操作人员可以通过网页web方式登录服务器bmc平台,输出bmc管理界面,以在该bmc管理界面展示所获得的计算机设备的启动日志文件,直观了解计算机设备的系统启动过程。可选的,对于异常检测结果,也可以通过该bmc管理界面进行展示等,实现过程本技术不做详述。
55.应该理解的是,图1所示的计算机设备的结构并不构成对本技术实施例中计算机设备的限定,为了便于描述,附图1中仅示出了与有关发明相关的部分,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。因此,在实际应用中,计算机设备可以包括比图1所示的更多的部件,或者组合某些部件,如各种检测器、通信模组、存储器等,本技术在此不做一一列举。
56.结合上文描述的计算机设备,下面将从管理控制器(以bmc为例进行说明)侧描述本技术提出的异常检测方法但并不局限于下文描述的方法步骤,且各方法步骤并不一定按照如下实施例描述的步骤顺序精确执行,根据实际需要可以按照倒序或同时处理各步骤,也可以将其他操作添加到这些过程中,或从这些过程中移除某一步骤或多个步骤,本技术不做一一举例详述。
57.基于此,参照图2,为本技术提出的异常检测方法的可选实施例一的流程示意图,该实施例可以适用于上述管理控制器,如bmc,如图2所示,该方法可以包括:
58.步骤s21,在计算机设备的启动阶段,获得启动日志文件;该启动日志文件记录计算机设备的系统引导处理器在启动阶段执行的系统启动过程;
59.如上述分析,在计算机设备上电开机过程中,可能会因系统引导处理器引导启动的某驱动未响应,出现系统引导处理器hang机等异常情况,导致计算机设备无法正常开机,为了能够精准确定导致该异常情况的异常来源,本技术将在计算机设备开机过程中,系统引导处理器执行系统启动流程的同时,可以记录该系统启动过程,如uefi顺次引导系统调用哪个驱动,实现什么功能等执行过程,其可以采用日志方式进行记录,得到对应的启动日志文件。
60.步骤s22,确定系统启动过程异常,依据特定关键词,对相应的启动日志文件进行异常检测,获得导致系统启动过程异常的异常来源;
61.继上述分析,在系统引导处理器引导系统启动过程中,出现无响应或死机等异常情况,无法继续执行后续的系统启动流程,管理控制器检测到计算机设备启动阶段出现异常情况,在触发计算机设备重启,以恢复系统之前,可以先按照预设的异常检测规则,确定导致本次的系统启动过程异常的异常来源,对此,本技术可以依据特定关键词,对该计算机设备本次启动过程产生的启动日志文件进行异常检测,如确定该启动日志文件中是否存在该特定关键词,即确定启动日志文件是否记录相应的异常日志内容,若存在,可以依据包含该特定关键词的日志内容,确定导致本次系统过程异常的异常来源,但并不局限于这种异常检测实现方式。
62.可选的,上述特定关键词可以依据启动日志文件的日志格式确定,如日志启动文件的头部标识和尾部标识,以通过对相应日志内容进行语义分析,确定异常来源。在又一些实施例中,也可以依据计算机设备的设备配置类型,获取历史异常信息,如计算机设备曾出现各种异常情况的异常内容,从而依据该历史异常信息,确定至少一个特定关键词,以使该
特定关键词表征相应的异常情况,这样,可以将该特定关键词与启动日志文件内容进行对比,从而依据该启动日志文件包含的特点关键词,确定导致本次系统启动过程异常的异常来源等,本技术对步骤s22的实现方法不做限制。
63.步骤s23,控制计算机设备重启,以在计算机设备重启阶段,由系统引导处理器输出上一次系统启动过程异常的异常指示信息;该异常指示信息包括导致上一次系统启动过程异常的异常来源。
64.在计算机设备的本次启动过程异常,管理控制器按照上述检测方式,确定导致本次系统启动过程异常的异常来源后,可以再控制计算机设备重启,以reset恢复系统,计算机设备将重新上电启动,在这一次启动阶段,系统引导处理器可以先确定计算机设备上一次系统启动过程是否异常,若确定上一次系统启动过程异常,为了得知其异常来源,可以获取管理控制器按照步骤s22的方式确定的异常来源,输出能够指示导致上一次系统启动过程异常的异常来源的异常指示信息。
65.需要说明,本技术对上述异常指示信息的内容及其输出方式不做限制。如可以按照预设指示格式,获得指示对应异常来源的异常指示信息,通过计算机设备的显示屏显示该异常指示信息,这样,操作人员可以阅读显示的异常指示信息,确定导致计算机设备系统启动过程异常的异常来源,依据该异常来源在计算机设备中的配置方式,消除该异常来源,如卸载属于异常来源的某设备等,从而保证计算机设备后续可以正常启动。
66.综上,在本技术实施例中,在计算机设备的上电启动post阶段,管理控制器可以通过启动日志文件,来同步记录系统引导处理器执行的系统启动过程,这样,在确定计算机设备本次的系统启动过程异常,能够及时依据特定关键词,对该启动日志文件进行异常检测,精准确定导致本次系统启动过程异常的异常来源,之后,再控制计算机设备重启,从而在该重启阶段,系统引导处理器可以直接输出包含该异常来源的异常指示信息,指引操作人员准确定位系统引导处理器的故障,能够及时且准确消除故障,满足对计算机设备的正常使用需求。
67.而且,相对于在计算机设备无法正常启动的情况下启动急救系统pe,花费大量时间交叉分析ffdc(first failure data capture,首次故障数据捕获),定位异常来源,本技术上述异常检测方法,通过较小运算量,就可以快速且准确确定导致计算机设备系统启动过程异常的异常来源,还可以在重启过程中直接输出,以使操作人员能够快速且精准解决异常问题,提高了异常检测及解决效率和准确性。
68.参照图3,为本技术提出的异常检测方法的可选实施例二的流程示意图,本实施例可以对上文提出的异常检测方法的一可选细化实现方式进行描述,如图3所示,该方法可以包括:
69.步骤s31,在计算机设备的启动阶段,获得启动日志文件;该启动日志文件记录计算机设备的系统引导处理器在启动阶段执行的系统启动过程;
70.关于步骤s31的实现过程,可以参照上文实施例对应部分的描述,如步骤s21对应部分的描述内容,本实施例在此不做详述。
71.步骤s32,获得系统引导处理器执行的系统启动过程的启动进度信息;
72.步骤s33,若该启动进度信息满足启动异常条件,确定系统启动过程异常;
73.在实际应用中,计算机设备的开机启动过程所消耗的时间往往在一定范围内,若
超过该时间范围,计算机设备通常是出现启动异常,无法正常启动运行,因此,本技术可以监测系统引导处理器所执行的系统启动过程的启动进度信息,如监测系统启动流程所产生的系统启动时长,确定其满足启动异常条件,如系统启动时长大于预设时长,可以确定系统启动过程异常。
74.需要说明,上述启动进度信息可以表征系统启动流程的执行进度,其可以是上述系统启动时长,也可以是已执行的系统启动过程与整个系统启动流程之间的比例关系,或者是未执行系统启动过程与整个系统启动流程之的比例关系等,本技术对上述启动进度信息的内容不做限制,应该理解的是,对于不同内容的启动进度信息,其获取方式往往不同,本技术在此不做一一详述。
75.步骤s34,生成系统复位信号;
76.步骤s35,控制计算机设备中断执行该系统复位信号,获取系统启动过程异常对应的启动日志文件;
77.继上述分析,确定本次计算机设备的系统启动过程异常,可以通过reset系统,来尝试解决该异常,为了能够在系统复位reset后,可以精准定位异常来源,在计算机设备获得系统复位信号后,可以先控制该计算机设备中断执行系统复位信号,即在重启计算机设备之前,先获取记录计算机设备的本次系统启动过程的启动日志文件。
78.其中,对于计算机设备的每次系统启动生成的启动日志文件,可以记录在计算机设备的存储器中,这样,在重启计算机设备之前,管理控制器可以从该存储器中读取本次系统启动过程同步生成的启动日志文件。
79.步骤s36,依据特定关键词,对相应的启动日志文件进行异常检测,获得导致系统启动过程异常的异常来源;
80.关于步骤s36的实现方法,可以参照上下文相应部分的描述,本实施例在此不做详述。
81.在又一些实施例中,本技术也可以直接对启动日志文件进行语义分析,依据语义分析结果,确定其是否包含异常记录,依据所确定的异常记录内容,确定导致计算机设备本次系统启动过程异常的异常来源,但并不局限于这种异常检测实现方法。
82.可选的,对于上述异常检测结果,管理控制器可以生成一条记录该异常来源的sel(systemevent log,系统事件日志),以便在计算机设备重启后,系统引导处理器可以据此直接得知该异常来源,无需对启动日志文件分析,提高异常处理效率。
83.示例性的,在计算机设备中新增了一个a设备后的首次上电启动时,按照上下文相应部分描述的方式,确定计算机设备本次开机出现uefi hang机问题,按照上下文描述的异常检测方法,确定是因新增a设备导致本次系统启动异常,可以得到如“last post hang at devicea.rom driver”这一内容的异常日志文件,后续也可以直接将其确定为异常指示信息输出。
84.步骤s37,控制计算机设备继续执行系统复位信号,触发计算机设备重启,以在计算机设备重启阶段,由系统引导处理器输出上一次系统启动过程异常的异常指示信息。
85.按照上述方法,管理控制器在reset系统之前,对记录本次系统启动过程异常情况的启动日志文件进行异常检测,确定导致该系统启动过程异常的异常来源后,再控制计算机设备执行系统复位信号,以使计算机设备响应该系统复位信号,进行reset系统,即计算
机设备重新上电启动,在该上电启动post阶段,系统引导处理器可以通过ipmi(intelligent platform management interface,智能管理平台接口)命令,检测计算机设备上一次系统启动过程异常的异常来源,如上一次系统启动死机在哪个驱动上,据此输出对应的异常指示信息,从而使操作人员可以据此快速解决该异常来源,保证计算机设备可以正常启动运行。
86.参照图4,为本技术提出的异常检测方法的可选实施例三的流程示意图,本实施例可以对上文提出的异常检测方法的另一可选细化实现方式进行描述,如图4所示,该方法可以包括:
87.步骤s41,在计算机设备的启动阶段,获得启动日志文件;该启动日志文件记录计算机设备的系统引导处理器在启动阶段执行的系统启动过程;
88.关于步骤s41的实现过程,可以参照上文实施例对应部分的描述,如步骤s21对应部分的描述内容,本实施例在此不做详述。
89.步骤s42,确定系统引导处理器开始执行系统启动过程时,触发针对系统引导处理器的看门狗进行计时,获得系统启动时长;
90.步骤s43,确定系统启动时长达到预设时长内时,未接收到系统引导处理器反馈的针对看门狗的停止计时信号,确定系统启动过程异常;
91.其中,看门狗(watchdog)是一个定时器电路,通常具有一个输入和一个输出,该输入可以称为喂狗,输出可以连接另一个组件的复位端,可以连接到计算机设备的控制器,如管理控制器。在实际应用中,看门狗可以定期查看芯片内部的情况,一旦发生错误可以向芯片发送重启信号。
92.基于此,在计算机设备上电启动,运行系统引导处理器开始执行系统启动流程时,管理控制器可以触发看门狗开始计时,得到对应的系统启动时长,随着系统启动流程的执行,计时得到的系统启动时长同步增加,在系统引导处理器执行完系统启动流程时,可以触发管理控制器停止计时,这样,管理控制器即可得知计算机设备本次系统正常启动。
93.然而,在系统启动流程过程中,因某一组件的驱动未响应等异常情况,导致无法进入该系统启动流程中的下一启动步骤,使得该系统启动流程始终无法完成,看门狗将会持续进行计时,这样,在所得到的系统启动时长达到启动上限时长即预设时长,管理控制器仍未接收到系统引导处理器发送的已完成系统启动流程的通知信号,即针对看门狗的停止计时信号,可以确定系统引导处理器执行的系统启动过程异常。
94.应该理解的是,在通过看门狗对系统启动过程进行计时,若所得到的系统启动时长未达到预设时长,就接收到系统引导处理器反馈的针对看门狗的停止计时信号,可以确定计算机设备的本次系统启动过程正常,系统引导处理器会正常引导操作系统运行,计算机设备正常开机。其中,在完成一次系统启动过程的计时后,无论计算机设备是否正常开机,都可以控制看门狗复位清零,准备对下一次系统启动过程进行计时。
95.步骤s44,按照预设的异常记录格式,检测启动日志文件的首部位置信息;
96.步骤s45,若该首部位置信息表示系统启动过程异常,读取启动日志文件的尾部位置信息;
97.步骤s46,依据该尾部位置信息,确定导致系统启动过程异常的异常来源;该异常来源为系统启动过程中所要加载执行的任一设备驱动;
98.本技术实施例中,可以按照上文描述的方法,依据特定关键词,对相应的启动日志文件进行异常检测,获得导致系统启动过程异常的异常来源。在一些实施例中,若系统启动过程中的异常情况,按照固定记录格式(其可以称为异常记录格式)记录在启动日志文件(如uefilog)中,在reset系统之前,管理控制器可以获取启动日志文件,按照异常记录格式,查询启动日志文件中与系统启动异常相关的关键词(如上述特定关键词或其衍生出的相似或同义关键词等)对应的日志内容,由此确定导致该系统启动过程异常的异常来源。
99.可选的,对于上述异常记录格式,可以在启动日志文件的首部位置记录系统启动过程中是否异常,尾部位置可以记录异常来源,这样,在对启动日志文件进行异常检测过程中,可以先检测其中的首部位置信息,由此确定本次系统启动过程是否异常,若系统启动过程异常,再进一步读取启动日志文件中尾部位置信息,据此确定异常来源,但并不局限于本实施例描述的启动日志文件的异常检测实现方法。
100.示例性的,以metronome这一设备驱动driver未响应,导致计算机设备的x64系统异常为例进行说明,对此所获取的启动日志文件可以包括:
101.!!!!x64exceptiontype-02(nmiinterrupt)cpuapicid-00000000!!!!
102.rip-00000000931b4bfe,cs-0000000000000038,rflags-0000000000000246
103.rax-0000000000681929,rcx-0000000000000508,rdx-0000000000000508
104.……
105.gdtr-000000009324b1c00000000000000047,ldtr-0000000000000000idtr-000000008b60b0180000000000000fff,tr-0000000000000000fxsave_state-00000000ab19d010
106.!!!!findimage
107.e:\tempinventec\build\purley\release_vs2015\x64\mdemodulepkg\universal\metronome\metronome\debug\metronome.pdb
108.(imagebase=00000000931b4000,entrypoint=00000000931b43b4)!!!!
109.在上述举例的启动日志文件中,通过检测首部位置信息“!!!!x64exception”,得知cpu异常是x64异常,读取尾部位置信息,即“!!!!findimage”及其后面的日志内容,可以得知在查询图像服务中,节拍器metronome这个driver未响应,导致x64异常。对于启动日志文件中首部与尾部之间的日志内容,可以是在x64加载运行的各种寄存器内容,包括但并不局限于上文列举的各寄存器,可视情况而定。
110.另外,需要说明,关于启动日志文件的异常记录格式,包括但并不局限于上文描述的,在日志的首部位置记录是否出现异常,尾部位置可以记录计算机设备系统死机在哪个设备驱动,也可以设置其他特定关键词,来表征导致计算机设备本次系统启动过程异常的异常来源,本技术对异常记录格式的内容不做限制。
111.步骤s47,获得包含该异常来源的异常日志文件;
112.继上述分析,按照上述异常检测分析,确定导致系统启动过程异常的异常来源后,为了方便后续查阅,可以生成一条异常日志文件sel,用以记录导致本次系统启动异常的异常来源,根据需要还可以记录更加详细的异常情况,本技术对该异常日志文件的内容不做限制,可视情况而定。
113.基于此,在一些实施例中,在读取到的首部位置信息包含系统启动过程异常的系
统异常类型及其异常记录标识,如上述示例中x64异常以及寄存器类型,各寄存器对应标识符等,本技术可以利用该系统异常类型、异常记录标识以及异常来源,获得针对系统启动过程的异常日志文件,即获得记录系统启动异常详情的异常日志文件,但并不局限于这种异常日志文件生成方法。
114.步骤s48,控制计算机设备重启,在该计算机设备重启阶段,接收系统引导处理器发送的针对上一次系统启动过程的异常检测指令;
115.步骤s49,响应该异常检测指令,将针对上一次系统启动过程的异常日志文件发送至系统引导处理器,以使系统引导处理器在该计算机设备重启阶段,依据该异常日志文件,输出对应的异常指示信息。
116.按照上述方法确定计算机设备本次系统启动异常的异常来源,并获取记录该异常来源的异常日志文件后,再控制计算机设备重启,从而使系统引导处理器能够在计算机设备的本次重启阶段,可以通过查询该异常日志文件内容,输出能够指示该异常来源的异常指示信息,这样,操作人员可以据此准确消除该异常来源,保证计算机设备可以正常开机,运行操作系统。
117.可选的,结合上文对计算机设备重启控制实现方式,可以在确定计算机设备的本次系统启动异常,可以生成系统复位信号,但并不会直接执行该系统复位信号,而是先中断执行,在此期间可以按照上文描述的方法,对相应的启动日志文件进行异常检测,获得记录导致本次系统启动异常的异常来源的异常日志文件,再继续执行该系统复位信号,控制计算机设备重启。
118.也就是说,在计算机设备因本次系统启动异常而执行reset系统的场景下,本技术将在执行reset系统之前,bmc可以先检查lateset uefi日志,即记录该系统启动异常过程的启动日志文件,搜索“##cpu exception##”模式,即cpu异常检测模式,从而依据特定关键词,对该启动日志文件进行异常检测,bmc记录哪个设备驱动挂起,生成包含对应异常来源的sel文件。
119.在计算机设备重新上电启动过程(即重启阶段)中,系统引导服务器可以向管理控制器发送异常检测指令,如ipmi指令或redfish(其是一种基于https服务的管理标准,利用restful接口实现设备管理)命令,以查询管理管控制是否记录有对应的异常日志文件,这样,管理控制器接收到该异常检测指令后,通过响应该异常检测指令,将查询到的该异常日志文件反馈至系统引导处理器,从而使系统引导处理器可以在该重启期间,确定导致计算机设备上一次系统启动异常的异常来源,如因哪个设备驱动无响应导致uefi hang。
120.需要说明,本技术对计算机设备重启过程中,即本次post期间,uefi如何检查计算机设备上一次post是否挂(即死机)在某个设备驱动上的实现过程不做限制,包括但并不局限于上文描述的实现方式。应该理解的是,在重启期间,若uefi未检查到上一次post未挂在某个设备驱动上,即上一次post正常,本次可以正常执行系统启动流程,正常开机。在uefi在本次post期间生成异常指示信息后,可以通过显示屏输出该异常指示信息,如“last posthangs at devicea.rom”,操作人员可以关闭系统电源,拆除/卸载设备a,再上电启动,保证计算机设备能够正常开机。
121.参照图5,为本技术提出的异常检测装置的一可选示例的结构示意图,该装置可以适用于计算机设备,如图5所示,该装置可以包括:
122.启动日志文件获得模块51,用于在计算机设备的启动阶段,获得启动日志文件;所述启动日志文件记录所述计算机设备的系统引导处理器在所述启动阶段执行的系统启动过程;
123.异常来源获得模块52,用于确定所述系统启动过程异常,依据特定关键词,对相应的所述启动日志文件进行异常检测,获得导致所述系统启动过程异常的异常来源;
124.重启控制模块53,用于控制所述计算机设备重启,以在所述计算机设备重启阶段,由所述系统引导处理器输出上一次系统启动过程异常的异常指示信息;所述异常指示信息包括导致所述上一次系统启动过程异常的所述异常来源。
125.在一些实施例中,上述异常来源获得模块52可以包括:
126.启动进度信息获得单元,用于获得所述系统引导处理器执行的所述系统启动过程的启动进度信息;
127.异常确定单元,用于若所述启动进度信息满足启动异常条件,确定所述系统启动过程异常。
128.在又一些实施例中,如图6所示,上述异常来源获得模块52也可以包括:
129.系统启动时长获得单元521,用于确定所述系统引导处理器开始执行系统启动过程时,触发针对所述系统引导处理器的看门狗进行计时,获得系统启动时长;
130.第一确定单元522,用于若所述系统启动时长达到预设时长,未接收到所述系统引导处理器反馈的针对所述看门狗的停止计时信号,确定所述系统启动过程异常。
131.基于上述分析,如图6所示,上述异常来源获得模块52还可以包括:
132.首部位置信息监测单元523,用于按照预设的异常记录格式,检测所述启动日志文件的首部位置信息;
133.尾部位置信息读取单元524,用于若所述首部位置信息表示所述系统启动过程异常,读取所述启动日志文件的尾部位置信息;
134.异常来源确定单元525,用于依据所述尾部位置信息,确定导致所述系统启动过程异常的异常来源;所述异常来源为所述系统启动过程中所要加载执行的任一设备驱动。
135.结合上述各实施例的描述,上述装置还可以包括:
136.系统复位信号生成模块,用于在所述确定所述系统启动过程异常的情况下,生成系统复位信号;
137.启动日志文件获取单元,用于控制所述计算机设备中断执行所述系统复位信号,获取所述系统启动过程异常对应的所述启动日志文件,以触发异常来源获得模块52所述依据特定关键词,对相应的所述启动日志文件进行异常检测;
138.基于此,上述重启控制模块53可以包括:
139.重启控制单元,用于控制所述计算机设备继续执行所述系统复位信号,触发所述计算机设备重启。
140.在又一些实施例中,如图6所示,上述装置还可以包括:
141.异常日志文件获得模块54,用于获得包含所述异常来源的异常日志文件;
142.异常检测指令接收模块55,用于在所述计算机设备重启阶段,接收所述系统引导处理器发送的针对上一次系统启动过程的异常检测指令;
143.异常日志文件发送模块56,用于响应所述异常检测指令,将针对所述上一次系统
启动过程的异常日志文件发送至所述系统引导处理器,以使所述系统引导处理器依据所述异常日志文件,生成所述异常指示信息。
144.可选的,上述装置还可以包括:
145.数据读取模块,用于读取所述启动日志文件中首部位置信息包含的所述系统启动过程异常的系统异常类型以及异常记录标识;
146.基于此,上述异常日志文件获得模块可以包括:
147.异常日志文件获得单元,用于利用所述系统异常类型、所述异常记录标识以及所述异常来源,获得针对所述系统启动过程的异常日志文件。
148.需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。
149.本技术还提供了一种计算机可读存储介质,其上可以存储计算机程序,该计算机程序可以被管理控制器(如bmc)调用并加载,以实现上述实施例描述的异常检测方法的各个步骤,实现过程可以参照上文实施例对应部分的描述。
150.最后,需要说明的是,关于上述各实施例中,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、产品或者设备中还存在另外的相同要素。
151.其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
152.本技术涉及到的术语诸如“第一”、“第二”等仅用于描述目的,用来将一个操作、单元或模块与另一个操作、单元或模块区分开来,而不一定要求或者暗示这些单元、操作或模块之间存在任何这种实际的关系或者顺序。且不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
153.另外,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、计算机设备而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
154.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种异常检测方法,所述方法包括:在计算机设备的启动阶段,获得启动日志文件;所述启动日志文件记录所述计算机设备的系统引导处理器在所述启动阶段执行的系统启动过程;确定所述系统启动过程异常,依据特定关键词,对相应的所述启动日志文件进行异常检测,获得导致所述系统启动过程异常的异常来源;控制所述计算机设备重启,以在所述计算机设备重启阶段,由所述系统引导处理器输出上一次系统启动过程异常的异常指示信息;所述异常指示信息包括导致所述上一次系统启动过程异常的所述异常来源。2.根据权利要求1所述的方法,所述确定所述系统启动过程异常,包括:获得所述系统引导处理器执行的所述系统启动过程的启动进度信息;若所述启动进度信息满足启动异常条件,确定所述系统启动过程异常。3.根据权利要求1所述的方法,所述确定所述系统启动过程异常,包括:确定所述系统引导处理器开始执行系统启动过程时,触发针对所述系统引导处理器的看门狗进行计时,获得系统启动时长;若所述系统启动时长达到预设时长,未接收到所述系统引导处理器反馈的针对所述看门狗的停止计时信号,确定所述系统启动过程异常。4.根据权利要求1-3任一项所述的方法,所述依据特定关键词,对相应的所述启动日志文件进行异常检测,获得导致所述系统启动过程异常的异常来源,包括:按照预设的异常记录格式,检测所述启动日志文件的首部位置信息;若所述首部位置信息表示所述系统启动过程异常,读取所述启动日志文件的尾部位置信息;依据所述尾部位置信息,确定导致所述系统启动过程异常的异常来源;所述异常来源为所述系统启动过程中所要加载执行的任一设备驱动。5.根据权利要求1-3任一项所述的方法,其中:在所述确定所述系统启动过程异常的情况下,生成系统复位信号;控制所述计算机设备中断执行所述系统复位信号,获取所述系统启动过程异常对应的所述启动日志文件,以执行所述依据特定关键词,对相应的所述启动日志文件进行异常检测步骤;所述控制所述计算机设备重启,包括:控制所述计算机设备继续执行所述系统复位信号,触发所述计算机设备重启。6.根据权利要求1-3任一项所述的方法,所述方法还包括:获得包含所述异常来源的异常日志文件;在所述计算机设备重启阶段,接收所述系统引导处理器发送的针对上一次系统启动过程的异常检测指令;响应所述异常检测指令,将针对所述上一次系统启动过程的异常日志文件发送至所述系统引导处理器,以使所述系统引导处理器依据所述异常日志文件,生成所述异常指示信息。7.根据权利要求6所述的方法,所述方法还包括:读取所述启动日志文件中首部位置信息包含的所述系统启动过程异常的系统异常类
型以及异常记录标识;所述获得包含所述异常来源的异常日志文件,包括:利用所述系统异常类型、所述异常记录标识以及所述异常来源,获得针对所述系统启动过程的异常日志文件。8.一种异常检测装置,所述装置包括:启动日志文件获得模块,用于在计算机设备的启动阶段,获得启动日志文件;所述启动日志文件记录所述计算机设备的系统引导处理器在所述启动阶段执行的系统启动过程;异常来源获得模块,用于确定所述系统启动过程异常,依据特定关键词,对相应的所述启动日志文件进行异常检测,获得导致所述系统启动过程异常的异常来源;重启控制模块,用于控制所述计算机设备重启,以在所述计算机设备重启阶段,由所述系统引导处理器输出上一次系统启动过程异常的异常指示信息;所述异常指示信息包括导致所述上一次系统启动过程异常的所述异常来源。9.一种计算机设备,所述计算机设备包括:主板,所述主板部署有系统引导处理器和管理控制器;所述系统引导处理器能够在所述计算机设备启动时,执行系统启动过程,引导所述计算机设备的操作系统启动运行;所述管理控制器,用于实现如权利要求1-7任一项所述的异常检测方法。10.一种计算机可读存储介质,其上存储有至少一组计算指令集,所述计算机指令集被处理器加载执行,实现如权利要求1-7任一项所述的异常检测方法。

技术总结
本申请提出了一种异常检测方法、装置、计算机设备及存储介质,在计算机设备的启动阶段,管理控制器可以获得记录计算机设备的系统引导处理器在启动阶段执行的系统启动过程的启动日志文件,在确定系统启动过程异常,将先依据特定关键词,对相应的启动日志文件进行异常检测,获得导致系统启动过程异常的异常来源,再控制计算机设备重启,以在计算机设备重启阶段,由系统引导处理器输出上一次系统启动过程异常的异常指示信息;该异常指示信息包括导致上一次系统启动过程异常的异常来源,指引操作人员快速且准确解决异常来源,保证计算机设备正常启动。设备正常启动。设备正常启动。


技术研发人员:丘佩伦
受保护的技术使用者:联想(北京)有限公司
技术研发日:2023.07.07
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐