CN109726058A - 检测方法、装置及计算机设备 - Google Patents
检测方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN109726058A CN109726058A CN201811644595.9A CN201811644595A CN109726058A CN 109726058 A CN109726058 A CN 109726058A CN 201811644595 A CN201811644595 A CN 201811644595A CN 109726058 A CN109726058 A CN 109726058A
- Authority
- CN
- China
- Prior art keywords
- computer equipment
- starting duration
- self
- predetermined condition
- starting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种检测方法、装置及计算机设备,在计算机设备上电启动自检过程中,利用至少基于计算机设备的历史启动时长生成的预定条件,对计算机设备的启动时长进行校验,以便根据校验结果,及时且准确判断计算机设备启动过程中的自检对象是否存在潜在异常,解决了现有技术在计算机设备启动后,由工作人员根据显示的启动时长,才能分析得知计算机设备是否存在潜在异常的方案的滞后性问题,实现对潜在异常的及时发现,以便及时对潜在异常的自检对象进行处理,提高计算机设备的可靠性。
Description
技术领域
本申请主要涉及通信技术领域,更具体地说是涉及一种检测方法、装置及计算机设备。
背景技术
目前,计算机设备上电开机后,通常会进行BIOS(Basic Input Output System,基本输入输出***)自检,如对计算机设备的CPU、***主板、内存或其他器件进行测试,可见,BIOS自检过程直接关系到计算机设备的启动时长。
然而,现有的计算机设备使用过程中,通常是在计算机设备启动后,才能够基于该计算机设备的启动时长,得知该计算机设备启动过程中是否存在潜在异常,之后,需要人工调取计算机设备的日志信息,并对其进行分析,来查找存在潜在异常的对象,过程比较复杂,存在严重的滞后性问题。
发明内容
有鉴于此,本申请提供了一种检测方法、装置及计算机设备,能够在计算机设备启动过程中,检测出计算机设备中是否存在潜在异常。
为了实现上述目的,本申请提供了以下技术方案:
本申请提供了一种检测方法,所述方法包括:
计算机设备上电启动,获取所述计算机设备的启动时长;
校验所述启动时长是否符合预定条件,所述预定条件至少基于计算机设备的历史启动时长生成;
基于校验结果,判断所述计算机设备启动过程中的自检对象是否存在潜在异常。
可选的,基于计算机设备的历史启动时长,生成预定条件的过程包括:
获取计算机设备的历史启动时长;
对所述历史启动时长进行分类处理,得到启动时长阈值;
基于所述启动时长阈值,生成所述预定条件。
可选的,所述基于校验结果,判断所述计算机设备启动过程中的自检对象是否存在潜在异常,包括:
如果所述启动时长符合预定条件,确定所述计算机设备启动过程中的自检对象未存在潜在异常,利用所述启动时长更新所述预定条件;
如果所述启动时长不符合预定条件,确定所述计算机设备启动过程中的自检对象存在潜在异常,记录所述计算机设备的当前日志信息。
可选的,如果所述启动时长不符合预定条件,确定所述计算机设备启动过程中的自检对象存在潜在异常,包括:
如果所述计算机设备的总启动时长不符合预定条件,确定所述计算机设备启动过程中的至少一个自检对象存在潜在异常;
和/或,
如果所述计算机设备启动过程中的任一自检阶段的阶段启动时长不符合预定条件,确定不符合预定条件的阶段启动时长所属自检阶段对应的至少一个存在潜在异常的自检对象;
和/或,
如果所述计算机设备启动过程中的任一自检对象的对象启动时长不符合预定条件,确定不符合预定条件的对象启动时长对应的自检对象存在潜在异常。
可选的,如果所述启动时长不符合预定条件,所述方法还包括:
输出自检异常提示信息;
获取所述计算机设备异常自检阶段对应记录的日志信息,并对所述日志信息进行分析,确定所述计算机设备中存在潜在异常的自检对象。
可选的,所述对所述历史启动时长进行分类处理,得到启动时长阈值,包括:
对所述历史启动时长进行分类处理,得到正常启动时长与异常启动时长之间的临界时长;
获取计算机设备的启动时长的允许偏差值;
基于得到的所述临界时长及所述允许偏差值,得到计算机设备的启动时长阈值。
本申请还提供了一种检测装置,所述装置包括:
启动时长获取模块,用于计算机设备上电启动,获取所述计算机设备的启动时长;
校验模块,用于校验所述启动时长是否符合预定条件,所述预定条件至少基于计算机设备的历史启动时长生成;
异常判断模块,用于基于校验结果,判断所述计算机设备启动过程中的自检对象是否存在潜在异常。
可选的,所述装置还包括:
历史启动时长获取模块,用于获取计算机设备的历史启动时长;
启动时长阈值获得模块,用于对所述历史启动时长进行分类处理,得到启动时长阈值;
预定条件生成模块,基于所述启动时长阈值,生成所述预定条件。
可选的,所述异常判断模块包括:
第一确定单元,用于在所述计算机设备的总启动时长不符合预定条件的情况下,确定所述计算机设备启动过程中的至少一个自检对象存在潜在异常;
第二确定单元,用于在所述计算机设备启动过程中的任一自检阶段的阶段启动时长不符合预定条件的情况下,确定不符合预定条件的阶段启动时长所属自检阶段对应的至少一个存在潜在异常的自检对象;
第三确定单元,用于在所述计算机设备启动过程中的任一自检对象的对象启动时长不符合预定条件的情况下,确定不符合预定条件的对象启动时长对应的自检对象存在潜在异常。
本申请还提供了一种计算机设备,所述计算机设备包括:
存储器,用于存储实现如上所述的检测方法的程序;
处理器,用于加载并执行所述存储器存储的程序,所述程序用于:
计算机设备上电启动,获取所述计算机设备的启动时长;
校验所述启动时长是否符合预定条件,所述预定条件至少基于计算机设备的历史启动时长生成;
基于校验结果,判断所述计算机设备启动过程中的自检对象是否存在潜在异常。
由此可见,与现有技术相比,本申请提供了一种检测方法、装置及计算机设备,在计算机设备上电启动自检过程中,利用至少基于计算机设备的历史启动时长生成的预定条件,对计算机设备的启动时长进行校验,以便根据校验结果,及时且准确判断计算机设备启动过程中的自检对象是否存在潜在异常,解决了现有技术在计算机设备启动后,由工作人员根据显示的启动时长,才能分析得知计算机设备是否存在潜在异常的方案的滞后性问题,实现对潜在异常的及时发现,以便及时对潜在异常的自检对象进行处理,提高计算机设备的可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为计算机设备历史启动时长的数据示意图;
图2为本申请实施例提供的一种检测方法的流程示意图;
图3为本申请实施例提供的一种检测方法中,预定条件的生成过程示意图;
图4为本申请实施例提供的另一种检测方法的流程示意图;
图5为本申请实施例提供的又一种检测方法的流程示意图;
图6为本申请实施例提供的一种检测装置的结构示意图;
图7为本申请实施例提供的另一种检测装置的结构示意图;
图8为本申请实施例提供的又一种检测装置的结构示意图;
图9为本申请实施例提供的一种计算机设备的硬件结构示意图。
具体实施方式
本申请的发明人注意到:目前,通常是在计算机设备启动后,才能基于得到的该计算机设备的启动时长,来分析计算机设备***可靠性,具有滞后性问题。
为了改善上述问题,发明人提出预先设定启动时长阈值,以使得计算机设备在上电自检过程中,将获得的启动时长与该启动时长阈值进行比较,判断该计算机设备是否存在潜在异常。
但是在实际应用中,参照图1所示的某计算机设备的启动时长示意图,在使用预设固定的启动时长阈值对计算机设备进行可靠性检测的应用中,可以得到图1左侧的启动时长数据,并由此生成图1右侧的图表示意图。发明人注意到,随着计算机设备使用年限变长,器件老化,出现连续误报错启动时长过大的情况时不可避免的,降低了计算机设备可靠性检测的准确性。
为了进一步提高计算机设备的可靠性检测的准确性,本申请的发明人提出在利用计算机设备的历史启动时长,动态训练得到启动时长阈值,这样,即便对此使用时间较长的计算机设备,因此历史启动时长也会随着计算机设备使用的推进而动态改变,进而由此得到的启动时长阈值能够更加符合计算机设备的校验要求。
基于此,发明人提出至少基于计算机设备的历史启动时长,生成预定条件,在计算机设备上电自检过程中,利用该预定条件对计算机设备的启动时长进行校验,进而基于校验结果,判断该计算机设备的自检对象是否存在潜在异常,无需计算机设备启动后进行分析判断,可见,本申请能够在计算机设备上电自检过程中,及时发现潜在异常,还能够确定潜在异常的自检对象,以便后续对其进行处理。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图2,为本申请实施例提供的一种检测方法的流程示意图,该方法可以应用于计算机设备,能够实现对计算机设备的***可靠性检测,本申请对该计算机设备的产品类型不做限定,如服务器、电脑等,如图2所示,该方法可以包括但并不局限于以下步骤:
步骤S11,计算机设备上电启动,获取计算机设备的启动时长;
在实际应用中,计算机设备上电启动过程中,会进行BIOS(Basic Input OutputSystem,基本输入输出***)自检,即上电自检,本申请对计算机设备的自检过程不做详述。
其中,计算机设备的BIOS自检过程可以分为四个阶段:SEC(Security,安全)、PEI(pre-efiinitialization、预EFI初始化)、DXE(driver execution environment、驱动程序执行环境)、BDS(boot device select,引导设备选择)。在不同阶段的自检对象通常是不同的。
为了实现异常定位,在计算机设备启动过程中,本实施例可以对整个启动过程进行计时,得到计算机启动的总启动时长;也可以对启动过程中的每个BIOS自检阶段进行计时,来得到各个自检阶段对应的阶段启动时长;还可以进一步对每个自检对象进行计时,得到对象启动时长等。其中,自检对象可以是计算机设备进行BIOS自检过程中的检测对象,如CPU、ROM、***时钟、DMA(Direct Memory Access,直接内存存取)、RAM、显卡、I/O口、驱动器、内存及其他模组等等,可以根据计算机设备的结构组成确定,本申请不再一一列举。
由此可见,步骤S11获得的启动时长可以包括总启动时长、阶段启动时长、对象启动时长中的至少一类启动时长,可以根据实际要求确定,关于各类启动时长在计算机设备可靠性检测中的作用,可以参照下文相应实施例的描述。
步骤S12,校验该启动时长是否符合预定条件;
本实施例中,该预定条件至少可以基于计算机设备的历史启动时长生成,如利用计算机设备的历史启动时长,经过机器学习算法处理,得到启动时长阈值,进而再由该启动时长阈值,生成该预定条件。
其中,上述计算机设备的历史启动时长可以包括:与当前检测的计算机设备的配置相同的计算机设备的启动时长,如获取同系列的各计算机设备的历史启动时长。
结合上述对启动时长的分析,本申请可以针对不同类型的启动时长,生成对应的启动时长阈值,进而生成对应的预定条件,也就是说,步骤S12的预定条件可以包括针对至少一类的启动时长的条件,具体内容可以参照下文相应实施例的描述。
步骤S13,基于校验结果,判断计算机设备启动过程中的自检对象是否存在潜在异常。
本实施例中,获得的计算机设备的启动时长包含的内容不同,经过上述步骤S12的校验,得到的校验结果也会有所差异,通常情况下,该校验结果可以包括上述总启动时长、阶段启动时长、对象启动时长中的至少一类启动时长的是否符合预定条件的校验结果。
对于不同内容的校验结果,在判定计算机设备是否存在潜在异常中所启动的作用可能会有所差异。如总启动时长表征的是完成对计算机设备包含的各自检对象的自检,直至计算机设备启动时刻所花费的时间,所以,若总启动时长不符合预定条件,通常能判断出该计算机设备中存在具有潜在异常的自检对象,但无法实现异常定位。
同理,对于阶段启动时长的校验结果,也可以判断出计算机设备是否存在潜在异常,还可以定位计算机设备中存在潜在异常的大概范围;对于对象启动时长的校验结果,可以准确定位出计算机设备中是哪个自检对象(如上述列举的模组,但并不局限本文列举的这些模组)存在潜在异常。
综上所述,本申请能够在待检测的计算机设备上电启动过程中,利用计算机设备的历史启动时长生成的预定条件,来校验该待检测的计算机设备的启动时长是否符合预定条件,并基于校验结果,在计算机设备启动之前,自动且准确地判断出该计算机设备中的***或模组是否存在潜在异常,解决了现有技术在启动计算机设备之后,由工作人员对得到的计算机设备的启动时长进行人工分析,确定计算机设备的***是否存在潜在异常这一方案检测滞后性问题,且提高了检测效率和准确性。
另外,根据需要,本实施例提供的这种检测方式,还能够直接定位计算机设备中存在潜在异常的自检对象,供后台查错使用,不需要工作人员在计算机设备启动后,人工排查异常对象,减少了工作量,且本申请这种自动定位异常对象的方式,提供了异常定位准确性和效率。
结合上文对预定条件的过程的构思,参照图3,本申请对该预定条件的生成过程进行了描述,如图3所示的流程示意图,本申请基于计算机设备的历史启动时长,生成预定条件的过程可以包括但并不局限于以下步骤:
步骤S21,获取计算机设备的历史启动时长;
其中,该历史启动时长可以包括计算机设备的历史总启动时长、历史阶段启动时长及历史对象启动时长这三类,每一类历史启动时长可以包括与待检测计算机设备的配置相同的至少一个计算机设备对应的启动时长,通常情况下,每一类历史启动时长的数量可以为多个。
可选的,本实施例可以在计算机设备的BMC(Baseboard Management Controller,基板管理控制器)或BIOS Rom内部设置脚本文件,用来记录获取的各种启动时长,具体的,可以针对不同类型的启动时长,可以设置独立的脚本文件进行记录,具体记录方式不做限定。
步骤S22,对历史启动时长进行分类处理,得到启动时长阈值;
可选的,本申请可以利用聚类算法等机器学习算法对历史启动时长进行训练,得到正常启动时长和异常启动时长两类,具体实现过程本实施例不做详述。
如上文描述,计算机设备的启动时长可以记录到对应的脚本文件,因此,本实施例可以读取同一配置的计算机设备的脚本文件中的启动时长,即历史启动时长,作为样本数据,利用聚类算法对其进行训练,得到所需的启动时长阈值,但并不局限于这种实现方式。
可选的,由于历史启动时长是一维数据,且相关性比较多,通常会出现聚类现象,所以,本申请可以采用K-means算法(K-均值算法),对获取的历史启动时长进行分类处理,此时,可以将聚类个数K值定位为2,即将历史启动时长(此处可以为历史总启动时长,或某一自检阶段的历史阶段启动时长,或某一自检对象的历史对象启动时长)分为两类,一类为正常启动时长,另一类为异常启动时长。
需要说明,本申请对实现步骤S22所采用的机器学习算法类型不做限定,并不局限于上述K-means算法。
其中,K-means算法是输入聚类个数K,以及包含n个数据对象的数据库,输出符合方差最小标准K个聚类的一种算法,也就是说,该k-means算法接受输入量K(如K=2),然后将n个数据对象(如本实施例的历史启动时长)划分为K个聚类,以使得所获得的聚类符合:同一聚类中的对象相似度较高,而不同聚类中的对象相似度较小这一条件。
在本申请一可选实施例中,可以将正常启动时长与异常启动时长的临界时长,作为计算机设备的启动时长阈值,也可以在该临界时长的基础上,添加该计算机设备的允许偏差值,以得到该计算机设备的启动时长阈值等。其中,对于不同配置的计算机设备,其允许偏差值的大小可以不同。
如,某度生产的计算机设备,通常得到的启动时长阈值可以是55s,设定的允许偏差值可以是3s,因此,该类计算机设备的启动时长在51s~54s之间可以认为正常;Ali系列的计算机设备,通常得到的启动时长阈值可以是40s,设定的允许偏差值可以是2s,因此,该类计算机设备的启动时长在38s~42s之间可以认为正常;对于腾x生产的计算机设备,通常得到的启动时长阈值可以是60s,设定的允许偏差值可以是5s,因此,该类计算机设备的启动时长在55s~65s之间可以认为正常等等,本申请不再一一列举。
因此,上述步骤S22的具体实现过程可以包括:
对历史启动时长进行分类处理,得到正常启动时长与异常启动时长之间的临界时长;
获取计算机设备的启动时长的允许偏差值;
基于得到的临界时长及允许偏差值,得到计算机设备的启动时长阈值。
鉴于上述分析,本实施例得到的启动时长阈值可以包括总启动时长阈值、不同阶段分别对应的阶段启动时长阈值,不同自检对象分别对应的对象启动时长阈值,关于这几种启动时长阈值的应用可以参照下文相应实施例的描述。
步骤S23,基于启动时长阈值,生成上述预定条件。
在得到不同类型的启动时长对应的启动时长阈值之后,可以设定计算机设备的启动时长小于启动时长阈值,或者启动时长大于启动时长阈值为预定条件,具体可以根据检测策略确定。
如果预定条件为计算机设备的启动时长小于启动时长阈值,那么在上述实施例对获取的计算机设备的启动时长的校验过程中,若该启动时长不符合预定条件,可以认为计算机设备存在潜在异常;反之,认为计算机设备不存在潜在异常。
如果预定条件为计算机设备的启动时长大于启动时长阈值,在上述实施例对获取的计算机设备的启动时长的校验过程中,若该启动时长不符合预定条件,可以认为计算机设备不存在潜在异常;反之,认为计算机设备存在潜在异常。
可见,生成的预定条件的内容不同,据此对计算机设备的启动时长进行校验,校验结果所表征的计算机设备是否存在潜在异常的结果可能不同。需要说明,该预定条件的内容并不局限于上文列举的内容。
可选的,本申请可以设定计算机设备完成BIOS自检的基础上,所需要的最小启动时长及最大启动时长,将这两个启动时长作为判断计算机设备的启动时长是否属于正常启动时长的启动时长阈值,记为第一启动时长阈值和第二启动时长阈值,且第一启动时长阈值大于第二启动时长阈值,上述举例中的启动时长阈值可以是第一启动时长阈值,且默认计算机设备进行了BIOS自检。
基于该可选实施例对启动时长阈值的设定方式,所得到的预定条件可以包括:计算机设备的启动时长小于第一启动时长阈值,且大于第二启动时长阈值,如何获取的计算机设备的启动时长符合该预定条件,可以认为计算机设备不存在潜在异常;反之,存在潜在异常的至少一个自检对象,之后,可以进一步分析不符合预定条件的启动时长,实现对存在潜在异常的自检对象的定位,具体实现过程可以参照下文实施例相应部分的描述。
综上,本申请得到的预定条件是基于计算机设备的历史启动时长得到,随着时间的推进,计算机设备的配置和性能可能会发生改变,这种情况下,获得的同配置的各计算机设备的历史启动时长也会相应改变,进而由此生成的预定条件的内容会相应改变,具体可以是对计算机设备的启动时长进行比较的启动时长阈值会动态调整,使得预定条件能够符合不同发展阶段的计算机设备的启动时长的校验要求。相对于采用固定不变的预设启动时长阈值,对计算机设备的启动时长进行校验的方式,本申请这种动态调整预定条件内容,实现对计算机设备的启动时长的校验方案,校验结果更加准确,进而对计算机设备的可靠性的预测也更加准确。
参照图4,为本申请实施例提供的另一种检测方法的流程示意图,本实施例是对上述实施例的检测方法细化后的一种具体实现方式,但并不局限于本实施例描述的这种实现方式,如图4所示,该方法可以包括:
步骤S31,计算机设备上电启动,获取该计算机设备的启动时长;
步骤S32,校验该启动时长是否符合预定条件,如果是,进入步骤S33;如果否,执行步骤S34;
其中,预定条件至少可以基于计算机设备的历史启动时长生成,具体生成过程可以参照上文相应实施例的描述。
步骤S33,利用该启动时长更新预定条件;
在实际应用中,若启动时长过长或过短,都可以认为计算机设备可能存在异常,因此,本实施例可以设置两个启动时长阈值,即第一启动时长阈值和第二启动时长阈值,且第一启动时长阈值大于第二启动时长阈值,并认为启动时长位于这两个启动时长阈值之间,该启动时长属于正常启动时长,计算机设备不存在潜在异常,反之,可以计算机设备的启动时长过长或过短,可以认为计算机设备存在潜在异常。
这种情况下,预定条件为启动时长小于第一启动时长阈值,且启动时长大于第二启动时长阈值,因此,若启动时长符合预定条件,可以确定计算机设备启动过程中的自检对象不存在潜在异常。
可选的,若计算机设备正常完成了自检过长中,可以利用确定的一个启动时长阈值,来生成预定条件,通常会确定第一启动时长阈值,这种情况下,预定条件可以是启动时长小于第一启动时长阈值,如果计算机设备的启动时长符合预定条件,可以认为计算机设备不存在潜在异常。
应该理解,若预定条件的内容与上述列举的内容相反,即启动时长大于第一启动时长阈值或小于第二启动时长阈值,在计算机设备的启动时长符合预定条件,可以认为计算机设备存在潜在异常。这种情况下的内容与本实施例具有上述描述内容的预定条件,在计算机设备的检测过程中所起到的作用相同,因此,本申请仅对一种情况下预定条件内容进行描述,另一种情况,可以通过调整两个校验结果即可,其他检测步骤类似,本申请不再单独详述。
本申请确定计算机设备不存在潜在异常的情况下,可以将本次得到的启动时长,作为生产预定条件的历史启动时长,也就是将本次得到的启动时长作为训练启动时长阈值的样本数据,实现对启动时长阈值的重新训练,更新由启动时长阈值生成的预定条件,具体更新过程不作详述。
步骤S34,记录计算设备的当前日志信息,输出自检异常提示信息;
在计算机设备的自检过程中,关于上述得到的启动时长阈值可以采用BMC日志的形式进行记录,且在自检过程中,每对一个自检对象完成检测,可以生成相应的日志信息,来记录该自检对象的对象启动时长,及其是否符合预定条件的检测结果;对于每一个自检阶段,也可以通过生成对应的日志信息,来记录该阶段的检测对象及其检测结果。
本实施例在计算机设备的自检过程中,可以采用日志形式,来记录整个自检过程中,每个自检阶段、自检对象的检测情况,如“After compared,time of enumerate PCIdevice exceed threshold”,即“经过细化,PCI设备枚举阶段时间超过阈值”,可以在DXE自检阶段的检测过程中,PCI设备的启动时长超过启动时长阈值,即PCI设备的启动时长不符合预定条件,可以生成如上所述的日志信息,这样,后台查错***可以通过对该日志信息进行分析,准确确定出存在潜在异常的自检对象。仍以本段实例为例,通过对这条日志信息进行分析,确定计算机设备中PCI相关设备可能存在潜在异常,可以进一步获取该PCI相关设备对应的日志信息,通过分析定位出存在潜在异常的PCI设备。
若检测结果为启动时长不符合预定条件,也可以生成一条用于告警的日志信息,如“启动时长超过启动时长阈值”这样的警告log,通过对日志信息进行分析,可以准确得知计算机设备是否存在潜在异常,但并不局限于这种日志形式。
可选的,在确定计算机设备的启动时长不符合预定条件的情况下,还可以采用其他方式输出自检异常提示信息,如采用语音方式、指示灯闪烁方式等等,以使工作人员能够直观得知计算机设备的自检结果是否正常。
步骤S35,对计算机设备异常自检阶段对应记录的日志信息进行分析,确定计算机设备中存在潜在异常的自检对象。
继上文描述,在计算机设备自检过程中,会生成相应的日志信息,来记录自检对象/自检阶段的自检情况,因此,在确定计算机设备中存在潜在异常的情况下,可以通过对自检异常时对应生成的日志信息进行分析,来确定出计算机设备中存在潜在异常的自检对象,如上述“After compared,time of enumerate PCI device exceed threshold”这一条日志信息,可以通过分析确定PCI设备存在潜在异常,还可以进一步对PCI设备的日志信息进行分析,定位存在潜在异常的是哪个PCI设备等等。
综上,本申请在计算机设备的启动自检过程中,能够直接校验计算机设备的启动时长是否符合预定条件,并生成相应的日志信息来记录校验过程及校验结果,以便通过对日志信息进行分析,准确定位计算机设备中存在潜在异常的自检对象,同时,在检测异常的情况下,输出自检异常提示信息,以使得工作人员直接得知该计算机设备是否存在潜在异常,不需要再在计算机设备启动后,对其启动时长进行人工分析,能够在计算机设备启动之前判断出其可靠性,且提高了计算机设备可靠性检测的效率和准确性。
在上述实施例的基础上,下面将主要对在启动时长不符合预定条件的情况下,确定计算机设备启动过程中的自检对象存在潜在异常的实现过程进行详细说明,但并不局限于本文描述的这种实施例,如图5所示的本实施例提供的检测方法的流程示意图,该方法可以包括:
步骤S41,计算机设备上电启动,获取计算机设备的各自检对象对应的对象启动时长、各自检阶段对应的阶段启动时长以及总启动时长;
步骤S42,校验总启动时长是否符合第一预定条件,如果是,进入步骤S43,如果否,执行步骤S44;
在步骤S42中,第一预定条件可以是计算机设备的总启动时长小于总启动时长阈值,这种情况下,总启动时长阈值可以是至少基于计算机设备的历史总启动时长训练得到的,如上述聚类算法,本申请对此不作限定。
步骤S43,利用该总启动时长更新第一预定条件;
关于步骤S43的实现过程,可以参照上述实施例相应部分的描述。
步骤S44,校验阶段启动时长是否符合第二预定条件,如果是,进入步骤S45;如果否,执行步骤S46;
在上述步骤S42的校验结果为否的情况下,可以认为计算机设备启动过程中的至少一个自检对象存在潜在异常,即可以确定不符合第二预定条件的阶段启动时长所属自检阶段对应的至少一个存在潜在异常的自检对象,但并不能确定是哪个自检对象存在潜在异常,此时,需要进一步确定是哪个自检对象存在潜在异常,为了提高工作效率,本实施例可以先缩小潜在异常的范围,由于各自检阶段所检测的计算机设备的组成部分不同,本实施例可以通过对得到的各自检阶段分别对应的阶段启动时长进行校验,确定出存在潜在异常的自检对象是在哪个自检阶段进行的检测。
这种情况下,上述第二预定条件可以包括各自检阶段对应的阶段启动时长小于该自检阶段的阶段启动时长阈值,本实施例可以通过执行步骤S43,确定出是在哪一个或多个自检阶段中,检测到了存在潜在异常的自检对象,也就是说,可以先判断存在潜在异常的自检对象属于计算机设备的哪部分,是软件程序还是硬件设备,具体是哪一类的程序和/或硬件设备等等,以便后续从该自检阶段对应的检测范围内,进一步确定出存在潜在异常的模组。
可选的,在步骤S44的执行过程可以包括:校验第一阶段启动时长是否小于第一阶段启动时长阈值,校验第二阶段启动时长是否小于第二阶段启动时长阈值,校验第三阶段启动时长是否小于第三阶段启动时长阈值,校验第四阶段启动时长是否小于第四阶段启动时长阈值等等。
其中,第一阶段、第二阶段、第三阶段和第四阶段是计算机设备自检过程中划分的几个不同自检阶段,如上述SEC、PEI、DXE和BDS等阶段。且在不同自检阶段中,所检测的计算机设备中的对象不同。
需要说明,关于对计算机设备的自检阶段的划分,并不局限于本文列举的这种情况,为了减低工作量,提高了异常定位效率,本申请还可以进一步细化自检阶段,即将整个自检过程划分成更多个阶段,这样,在确定计算机设备存在潜在异常的情况下,按照步骤S44的方式进行校验后,可以进一步缩小定位到存在潜在异常的自检对象的范围,本申请对自检阶段的划分方式不作限定,可以根据实际需要确定。
另外,在对于上述第二预定条件中,用来验证各自检阶段的阶段启动时长的阶段启动时长阈值,可以至少基于计算机设备中对应自检阶段的历史阶段启动时长得到,具体实现过程可以参照上述启动时长阈值,及基于该启动时长阈值得到预定条件的相关内容的描述。
步骤S45,利用不符合第二预定条件的阶段启动时长,更新该第二预定条件;
步骤S46,确定不符合第二预定条件的阶段启动时长所属自检阶段对应的对象启动时长;
步骤S47,校验确定的对象启动时长是否符合第三预定条件,如果是,进入步骤S48;如果否,执行步骤49;
基于前文对总启动时长、阶段启动时长及对象启动时长的关系的描述,可以得知,总启动时长=各阶段启动时长的总和=各对象启动时长的总和,一阶段启动时长=对应自检阶段的各自检对象的对其启动时长的总和,因此,每一个阶段启动时长对应有多个对象启动时长,在确定不符合第二预定条件的阶启动时长后,可以进一步对该阶段启动时长对应的自检阶段中,检测的各自检对象的对象启动时长进行校验。
步骤S48,利用不符合第三预定条件的对象启动时长,更新该第三预定条件;
步骤S49,确定不符合第三预定条件的对象启动时长对应的自检对象存在潜在异常。
经过步骤S47的校验,可以定位是哪个自检对象存在潜在异常。此时,校验所用的第三预定条件可以包括具体自检对象的对象启动时长小于该自检对象的对象启动时长阈值。
综上,在计算机设备上电自检过程中,可以对自检对象、自检阶段及整个自检过程进行计时,分别得到的对应的启动时长,并通过校验该启动时长是否满足相应的预定条件,来判断计算机设备中是否存在潜在异常的自检对象,且该自检对象具体是计算机设备中的哪一个或多个模组。
需要说明,在对启动时长的校验过程中,可以参照实施例从范围较大的总启动时长开始进行校验,逐步实现对具体的自检对象的对象启动时长的校验,以实现对潜在异常的自检对象的定位。但并不局限于本实施例描述的这种方式,也可以在完成某一自检阶段的检测,得到该自检阶段对应的阶段启动时长后,直接对其进行校验,若其不符合对应的预定条件,可以对该自检阶段检测的各自检对象的对象启动时长做进一步校验,直至完成对各自检阶段的校验。可见,相对于上述实施例描述的检测方式,这种检测方式的计算量比较大,可以优选上述实施例描述的检测方式。
可选的,本申请还可以在计算机设备的自检过程中,完成某自检对象的检测后,对得到的对象启动时长直接进行校验,以确定其是否符合第三预定条件,从而直接判断该自检对象是否存在潜在异常。相对上文给出的两种检测方式,这种检测方式的计算量最大,本申请可以优选上述两种检测方式,但并不排除这种检测方式,可以根据实际需要检测的计算机设备的结构组成确定。
另外,在实际检测过程中,也可以利用总启动时长,来判断计算机设备是否存在潜在异常的自检对象,如果存在,再直接利用各自检对象的对象启动时长进行潜在异常的定位,以避免计算机设备不存在潜在异常的自检对象的情况下,直接进行各阶段或各自检对象的启动时长的无效检测,造成不必要的计算压力。
参照图6,为本申请实施例提供的一种检测装置的结构示意图,该装置可以包括:
启动时长获取模块11,用于计算机设备上电启动,获取所述计算机设备的启动时长;
校验模块12,用于校验所述启动时长是否符合预定条件,所述预定条件至少基于计算机设备的历史启动时长生成;
异常判断模块13,用于基于校验结果,判断所述计算机设备启动过程中的自检对象是否存在潜在异常。
可选的,如图7所示,该装置还可以包括:
历史启动时长获取模块14,用于获取计算机设备的历史启动时长;
启动时长阈值获得模块15,用于对所述历史启动时长进行分类处理,得到启动时长阈值;
在本实施例中,该启动时长阈值获得模块15可以包括:
分类单元,用于对所述历史启动时长进行分类处理,得到正常启动时长与异常启动时长之间的临界时长;
偏差值获取单元,用于获取计算机设备的启动时长的允许偏差值;
启动时长阈值生成单元,用于基于得到的所述临界时长及所述允许偏差值,得到计算机设备的启动时长阈值。
预定条件生成模块16,基于所述启动时长阈值,生成所述预定条件。
可选的,上述异常判断模块13可以包括:
条件更新单元,用于在启动时长符合预定条件的情况下,确定所述计算机设备启动过程中的自检对象未存在潜在异常,利用所述启动时长更新所述预定条件;
信息记录单元,用于在所述启动时长不符合预定条件的情况下,确定所述计算机设备启动过程中的自检对象存在潜在异常,记录所述计算机设备的当前日志信息。
作为本申请另一实施例,如图8所示,该异常判断模块13可以包括:
第一确定单元131,用于在所述计算机设备的总启动时长不符合预定条件的情况下,确定所述计算机设备启动过程中的至少一个自检对象存在潜在异常;
第二确定单元132,用于在所述计算机设备启动过程中的任一自检阶段的阶段启动时长不符合预定条件的情况下,确定不符合预定条件的阶段启动时长所属自检阶段对应的至少一个存在潜在异常的自检对象;
第三确定单元133,用于在所述计算机设备启动过程中的任一自检对象的对象启动时长不符合预定条件的情况下,确定不符合预定条件的对象启动时长对应的自检对象存在潜在异常。
可选的,在启动时长不符合预定条件的情况下,装置还可以包括:
提示模块,输出自检异常提示信息;
信息分析模块,用于获取所述计算机设备异常自检阶段对应记录的日志信息,并对所述日志信息进行分析,确定所述计算机设备中存在潜在异常的自检对象。
综上,本申请实施例能够在计算机设备上电自检过程,利用至少基于计算机设备的历史启动时长生成的预定条件,对计算机设备的启动时长进行校验,并基于校验结果,及时发现计算机设备中存在潜在异常的自检对象,以便后续对其进行处理,相对于现有技术中只能在计算机设备启动后,才能够得知启动时长,并由工作人员对其进行分析得知计算机设备是否存在异常的方案,提高了计算机设备可靠性检测的及时性和准确性。
参照图9为本申请实施例提供的一种计算机设备的硬件结构示意图,该计算机设备可以包括:存储器21和处理器22,其中:
存储器21可以是计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本实施例中,该存储器21可以用来存储实现上述检测方法的程序;
处理器22可以用来加载并执行存储器存储的程序,以实现上述检测方法的各个步骤,具体实现过程可以参照上述方法实施例相应部分的描述。
在实际应用中,该计算机设备可以是服务器、电脑等。因此,计算机设备的结构组成并不局限于存储器和处理器,还可以包括其他硬件设备,如输入设备、存储设备等等,可以根据该计算机设备的配置确定,本申请不做一一列举。
最后,需要说明的是,关于上述各实施例中,诸如第一、第二等之类的关系术语仅仅用来将一个操作、单元或模块与另一个操作、单元或模块区分开来,而不一定要求或者暗示这些单元、操作或模块之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者***中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、计算机设备而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种检测方法,所述方法包括:
计算机设备上电启动,获取所述计算机设备的启动时长;
校验所述启动时长是否符合预定条件,所述预定条件至少基于计算机设备的历史启动时长生成;
基于校验结果,判断所述计算机设备启动过程中的自检对象是否存在潜在异常。
2.根据权利要求1所述的方法,基于计算机设备的历史启动时长,生成预定条件的过程包括:
获取计算机设备的历史启动时长;
对所述历史启动时长进行分类处理,得到启动时长阈值;
基于所述启动时长阈值,生成所述预定条件。
3.根据权利要求1或2所述的方法,所述基于校验结果,判断所述计算机设备启动过程中的自检对象是否存在潜在异常,包括:
如果所述启动时长符合预定条件,确定所述计算机设备启动过程中的自检对象未存在潜在异常,利用所述启动时长更新所述预定条件;
如果所述启动时长不符合预定条件,确定所述计算机设备启动过程中的自检对象存在潜在异常,记录所述计算机设备的当前日志信息。
4.根据权利要求3所述的方法,如果所述启动时长不符合预定条件,确定所述计算机设备启动过程中的自检对象存在潜在异常,包括:
如果所述计算机设备的总启动时长不符合预定条件,确定所述计算机设备启动过程中的至少一个自检对象存在潜在异常;
和/或,
如果所述计算机设备启动过程中的任一自检阶段的阶段启动时长不符合预定条件,确定不符合预定条件的阶段启动时长所属自检阶段对应的至少一个存在潜在异常的自检对象;
和/或,
如果所述计算机设备启动过程中的任一自检对象的对象启动时长不符合预定条件,确定不符合预定条件的对象启动时长对应的自检对象存在潜在异常。
5.根据权利要求3所述的方法,如果所述启动时长不符合预定条件,所述方法还包括:
输出自检异常提示信息;
获取所述计算机设备异常自检阶段对应记录的日志信息,并对所述日志信息进行分析,确定所述计算机设备中存在潜在异常的自检对象。
6.根据权利要求2所述的方法,所述对所述历史启动时长进行分类处理,得到启动时长阈值,包括:
对所述历史启动时长进行分类处理,得到正常启动时长与异常启动时长之间的临界时长;
获取计算机设备的启动时长的允许偏差值;
基于得到的所述临界时长及所述允许偏差值,得到计算机设备的启动时长阈值。
7.一种检测装置,所述装置包括:
启动时长获取模块,用于计算机设备上电启动,获取所述计算机设备的启动时长;
校验模块,用于校验所述启动时长是否符合预定条件,所述预定条件至少基于计算机设备的历史启动时长生成;
异常判断模块,用于基于校验结果,判断所述计算机设备启动过程中的自检对象是否存在潜在异常。
8.根据权利要求7所述的装置,所述装置还包括:
历史启动时长获取模块,用于获取计算机设备的历史启动时长;
启动时长阈值获得模块,用于对所述历史启动时长进行分类处理,得到启动时长阈值;
预定条件生成模块,基于所述启动时长阈值,生成所述预定条件。
9.根据权利要求7或8所述的装置,所述异常判断模块包括:
第一确定单元,用于在所述计算机设备的总启动时长不符合预定条件的情况下,确定所述计算机设备启动过程中的至少一个自检对象存在潜在异常;
第二确定单元,用于在所述计算机设备启动过程中的任一自检阶段的阶段启动时长不符合预定条件的情况下,确定不符合预定条件的阶段启动时长所属自检阶段对应的至少一个存在潜在异常的自检对象;
第三确定单元,用于在所述计算机设备启动过程中的任一自检对象的对象启动时长不符合预定条件的情况下,确定不符合预定条件的对象启动时长对应的自检对象存在潜在异常。
10.一种计算机设备,所述计算机设备包括:
存储器,用于存储实现如权利要求1~6任意一项所述的检测方法的程序;
处理器,用于加载并执行所述存储器存储的程序,所述程序用于:
计算机设备上电启动,获取所述计算机设备的启动时长;
校验所述启动时长是否符合预定条件,所述预定条件至少基于计算机设备的历史启动时长生成;
基于校验结果,判断所述计算机设备启动过程中的自检对象是否存在潜在异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644595.9A CN109726058B (zh) | 2018-12-30 | 2018-12-30 | 检测方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644595.9A CN109726058B (zh) | 2018-12-30 | 2018-12-30 | 检测方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726058A true CN109726058A (zh) | 2019-05-07 |
CN109726058B CN109726058B (zh) | 2021-02-19 |
Family
ID=66298110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811644595.9A Active CN109726058B (zh) | 2018-12-30 | 2018-12-30 | 检测方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726058B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457907A (zh) * | 2019-07-25 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 一种固件程序检测方法和装置 |
CN110502378A (zh) * | 2019-08-16 | 2019-11-26 | 兆讯恒达微电子技术(北京)有限公司 | 一种配置多算法协处理器自检的方法 |
CN111314175A (zh) * | 2020-02-14 | 2020-06-19 | 西安广和通无线通信有限公司 | 通信装置性能测试装置、***和方法 |
CN112667317A (zh) * | 2020-12-28 | 2021-04-16 | 北京达佳互联信息技术有限公司 | 一种异常耗时检测方法、装置、电子设备及存储介质 |
CN117389657A (zh) * | 2023-12-12 | 2024-01-12 | 荣耀终端有限公司 | 电子设备开机方法、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869728A (zh) * | 2006-06-27 | 2006-11-29 | 迈普(四川)通信技术有限公司 | 电源设备老化试验方法及装置 |
EP2026206A2 (en) * | 2007-08-06 | 2009-02-18 | Samsung Electronics Co., Ltd. | Computer system and booting method thereof |
CN102981863A (zh) * | 2011-09-07 | 2013-03-20 | 奇智软件(北京)有限公司 | 一种开机启动项目的管理方法和装置 |
CN103176808A (zh) * | 2011-12-21 | 2013-06-26 | 英业达股份有限公司 | 一体成型桌上型电脑的开机方法 |
CN107590009A (zh) * | 2017-08-31 | 2018-01-16 | 深圳市恒扬数据股份有限公司 | 用于主机运行过程的故障处理方法及装置 |
-
2018
- 2018-12-30 CN CN201811644595.9A patent/CN109726058B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869728A (zh) * | 2006-06-27 | 2006-11-29 | 迈普(四川)通信技术有限公司 | 电源设备老化试验方法及装置 |
EP2026206A2 (en) * | 2007-08-06 | 2009-02-18 | Samsung Electronics Co., Ltd. | Computer system and booting method thereof |
CN102981863A (zh) * | 2011-09-07 | 2013-03-20 | 奇智软件(北京)有限公司 | 一种开机启动项目的管理方法和装置 |
CN103176808A (zh) * | 2011-12-21 | 2013-06-26 | 英业达股份有限公司 | 一体成型桌上型电脑的开机方法 |
CN107590009A (zh) * | 2017-08-31 | 2018-01-16 | 深圳市恒扬数据股份有限公司 | 用于主机运行过程的故障处理方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457907A (zh) * | 2019-07-25 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 一种固件程序检测方法和装置 |
CN110457907B (zh) * | 2019-07-25 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 一种固件程序检测方法和装置 |
CN110502378A (zh) * | 2019-08-16 | 2019-11-26 | 兆讯恒达微电子技术(北京)有限公司 | 一种配置多算法协处理器自检的方法 |
CN110502378B (zh) * | 2019-08-16 | 2022-11-22 | 兆讯恒达科技股份有限公司 | 一种配置多算法协处理器自检的方法 |
CN111314175A (zh) * | 2020-02-14 | 2020-06-19 | 西安广和通无线通信有限公司 | 通信装置性能测试装置、***和方法 |
CN111314175B (zh) * | 2020-02-14 | 2022-05-31 | 西安广和通无线通信有限公司 | 通信装置性能测试装置、***和方法 |
CN112667317A (zh) * | 2020-12-28 | 2021-04-16 | 北京达佳互联信息技术有限公司 | 一种异常耗时检测方法、装置、电子设备及存储介质 |
CN117389657A (zh) * | 2023-12-12 | 2024-01-12 | 荣耀终端有限公司 | 电子设备开机方法、电子设备和存储介质 |
CN117389657B (zh) * | 2023-12-12 | 2024-05-10 | 荣耀终端有限公司 | 电子设备开机方法、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109726058B (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726058A (zh) | 检测方法、装置及计算机设备 | |
US11233693B2 (en) | Learning based incident or defect resolution, and test generation | |
CN110175236B (zh) | 用于文本分类的训练样本生成方法、装置和计算机设备 | |
CN110619210A (zh) | 一种模拟器检测方法及*** | |
CN107832774A (zh) | 一种页面异常检测方法及装置 | |
WO2019218427A1 (zh) | 基于行为特征对比的关注度检测方法以及装置 | |
CN109117327A (zh) | 一种硬盘检测方法及装置 | |
CN115168868B (zh) | 一种应用于人工智能的业务漏洞分析方法及服务器 | |
CN107992399A (zh) | 一种内存条状态检测方法、装置及*** | |
CN108093118A (zh) | 主板上器件的测试方法、测试装置和计算机可读存储介质 | |
CN112199295B (zh) | 一种基于频谱的深度神经网络缺陷定位方法及*** | |
CN109738782B (zh) | 基于测量数据机器学习的电路板故障检测方法和*** | |
US11735061B2 (en) | Dynamic response entry | |
CN105159810B (zh) | 对计算机***的bios进行测试的方法及装置 | |
CN117033209A (zh) | Ai模型训练方法、bios测试方法、装置、设备及存储介质 | |
CN114707507B (zh) | 一种基于人工智能算法的清单信息检测方法及装置 | |
CN110427316A (zh) | 基于访问行为感知的嵌入式软件缺陷修复方法 | |
CN111179670A (zh) | 物理电学实验结果的量化方法、装置、终端和存储介质 | |
CN110716778A (zh) | 应用兼容性测试方法、装置及*** | |
CN107402883A (zh) | 一种数据测试处理方法和装置 | |
WO2021057270A1 (zh) | 音频内容质量检测方法及装置 | |
CN112650672A (zh) | 基于Junit的模型测试***、方法和装置 | |
CN117851148B (zh) | 手柄设备的多模式测试方法、装置、设备及存储介质 | |
CN109460336A (zh) | 一种批量验证硬盘dst功能的方法及*** | |
CN112506784B (zh) | 具备自主学习能力的产品性能评价***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |