固件检测方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:35903450 阅读:12 留言:0更新日期:2022-12-10 10:40
本申请涉及一种固件检测方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:在目标固件的执行过程中,查询目标固件是否携带有状态变量,目标固件是用于启动计算机设备的待检测固件;在目标固件携带状态变量的情况下,读取状态变量的状态值,并根据状态值,确定目标固件在上一次执行过程中的运行情况;状态变量的状态值通过对目标固件的上一次执行过程进行异常检测得到;若确定出目标固件的上一次执行过程异常,则在本次目标固件的执行过程中开启打印目标固件的启动日志的操作,以使根据启动日志对本次目标固件的执行过程进行故障检测,得到目标固件检测结果。采用本方法,减少目标固件的检测耗时。减少目标固件的检测耗时。减少目标固件的检测耗时。

【技术实现步骤摘要】
固件检测方法、装置、计算机设备和存储介质


[0001]本申请涉及计算机
,特别是涉及一种固件检测方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)是用于启动计算机设备的固件,该UEFI固件可以在计算机设备的开机过程中初始化内部硬件并引导启动计算机设备的操作系统。因此,在UEFI固件的开发调试过程中,需要对该UEFI固件进行故障检测。
[0003]常规的UEFI固件的检测方法为对计算机设备中已烧录的UEFI固件进行多次启动测试,当计算机设备在某次启动过程中宕机时,确定该版本UEFI固件存在故障的可能性,因此,技术人员会重新烧录相同版本的新的UEFI固件,并预先设置该新的UEFI固件日志打印功能,再次进行固件测试。在每次新的UEFI固件的执行过程中打印启动日志,以使再次发生计算机设备宕机时通过分析启动日志中记录的启动信息,对该版本UEFI固件进行故障检测。
[0004]然而,常规的UEFI固件检测方法,不仅需要重新烧录固件,而且在再次发生计算机设备宕机之前,新的UEFI固件在每次执行过程中均需要打印启动日志,增加计算机设备启动时间,进而,导致UEFI固件检测耗时较长。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种固件检测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0006]第一方面,本申请提供了一种固件检测方法。所述方法包括:
[0007]在目标固件的执行过程中,查询所述目标固件是否携带有状态变量,所述目标固件是用于启动计算机设备的待检测固件;
[0008]在所述目标固件携带状态变量的情况下,读取所述状态变量的状态值,并根据所述状态值,确定所述目标固件在上一次执行过程中的运行情况;所述状态变量的状态值通过对所述目标固件的上一次执行过程进行异常检测得到;
[0009]若确定出所述目标固件的上一次执行过程异常,则在本次所述目标固件的执行过程中开启打印所述目标固件的启动日志的操作,以使根据所述启动日志对本次所述目标固件的执行过程进行故障检测,得到所述目标固件检测结果。
[0010]采用本方法,通过状态变量的状态值确定目标固件的上一次执行过程的运行情况,进而只有在上一次执行过程异常时,才会开启打印启动日志的操作,以此减少目标固件检测过程中启动日志的打印次数,从而减少目标固件检测耗时。
[0011]在其中一个实施例中,所述根据所述状态值,确定所述目标固件在上一次执行过程中的运行情况,包括:
[0012]若所述状态值为第一状态值时,则确定所述目标固件在上一次执行过程中运行正常;
[0013]若所述状态值为第二状态值时,则确定所述目标固件在上一次执行过程中运行异常。
[0014]本实施例中,通过预先创建的状态变量的状态值,确定目标固件在上一次执行过程中的运行情况,以此作为是否开启打印启动日志的判别条件,使得不必每次目标固件执行过程均需要打印启动日志,减少启动日志打印次数,进而,减少目标固件检测时间。
[0015]在其中一个实施例中,所述在目标固件的执行过程中,查询所述目标固件是否携带有状态变量之后,所述方法还包括:
[0016]在所述目标固件未携带状态变量的情况下,创建状态变量并设置所述状态变量的初始状态值为第一状态值;所述第一状态值表征所述目标固件执行过程中无运行异常;
[0017]根据预设的异常检测算法,检测当前所述目标固件的执行过程中是否存在运行异常;
[0018]若存在运行异常,则将所述状态变量的所述第一状态值更新为第二状态值并停止执行固件,在预设时间间隔后,重新执行所述在目标固件的执行过程中,查询所述目标固件是否携带有状态变量的步骤。
[0019]本实施例中,在目标固件未携带状态变量的情况下,创建状态变量,并通过预设的异常检测算法,确定目标固件执行过程是否异常,以此更新状态变量的状态值,从而在下一次查询状态变量的状态值时,该状态值可以反映目标固件执行过程中的运行情况。
[0020]在其中一个实施例中,所述检测当前所述目标固件的执行过程中是否存在运行异常之后,所述方法还包括:
[0021]若不存在运行异常,则维持所述状态变量的状态值为所述第一状态值,并继续执行所述目标固件,直至所述目标固件执行完成,实现本次计算机设备的开机过程。
[0022]本实施例中,当目标固件的执行过程不存在运行异常时,可以通过维持状态变量的状态值为第一状态值反映目标固件执行过程中的运行情况为运行正常。并且在本次目标固件运行正常的情况下,计算机设备的开机过程可以顺利完成,且无需打印目标固件的启动日志,以减少计算机设备开机时长。
[0023]在其中一个实施例中,所述异常检测算法包括超时检测算法、异常中断检测算法和断言检测算法,所述根据预设的异常检测算法,检测当前所述目标固件的执行过程中是否存在运行异常,包括:
[0024]根据所述超时检测算法、所述异常中断检测算法和所述断言检测算法,对所述目标固件进行检测,分别得到每种检测算法对应的检测结果;
[0025]若所述检测结果中存在至少一种检测结果为异常检测结果,则确定所述目标固件的执行过程存在运行异常;
[0026]若所述检测结果均为正常检测结果,则确定所述目标固件的执行过程不存在运行异常。
[0027]本实施例中,通过预设的异常检测算法,对目标固件的执行过程进行检测,得到检测结果,进而,通过该检测结果确定状态变量的状态值,以使通过状态变量的状态值反映目标固件执行过程中的运行情况。
[0028]在其中一个实施例中,所述根据所述超时检测算法、所述异常中断检测算法和所述断言检测算法,对所述目标固件进行检测,分别得到每种检测算法对应的检测结果,包括:
[0029]根据预设的超时时长以及超时检测算法,检测所述目标固件的执行过程中是否超时,若所述目标固件的执行过程超时,则得到所述目标固件的所述超时检测结果;
[0030]根据预设的异常中断检测算法,检测所述目标固件的执行过程中是否存在异常中断,若所述目标固件的执行过程出现异常中断,则得到所述目标固件的所述异常中断检测结果;
[0031]根据预设的断言检测算法,检测所述目标固件中断言结果是否存在错误,若所述目标固件的断言错误,则得到所述目标固件的所述断言异常检测结果。
[0032]本实施例中,通过预设的异常检测算法对目标固件的执行过程进行检测,即可实现对目标固件是否存在运行异常进行判断,得到检测结果,进而,根据目标固件的检测结果更新状态变量的状态值,使得在目标固件的检测过程中,可以根据状态值进一步确定是否打印启动日志。
[0033]第二方面,本申请还提供了一种固件检测装置。所述装置包括:
[0034]查询模块,用于在目标固件的执行过程中,查询所述目标固件是否携带有状态变量,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固件检测方法,其特征在于,所述方法包括:在目标固件的执行过程中,查询所述目标固件是否携带有状态变量,所述目标固件是用于启动计算机设备的待检测固件;在所述目标固件携带状态变量的情况下,读取所述状态变量的状态值,并根据所述状态值,确定所述目标固件在上一次执行过程中的运行情况;所述状态变量的状态值通过对所述目标固件的上一次执行过程进行异常检测得到;若确定出所述目标固件的上一次执行过程异常,则在本次所述目标固件的执行过程中开启打印所述目标固件的启动日志的操作,以使根据所述启动日志对本次所述目标固件的执行过程进行故障检测,得到所述目标固件检测结果。2.根据权利要求1所述的方法,其特征在于,所述根据所述状态值,确定所述目标固件在上一次执行过程中的运行情况,包括:若所述状态值为第一状态值时,则确定所述目标固件在上一次执行过程中运行正常;若所述状态值为第二状态值时,则确定所述目标固件在上一次执行过程中运行异常。3.根据权利要求1所述的方法,其特征在于,所述在目标固件的执行过程中,查询所述目标固件是否携带有状态变量之后,所述方法还包括:在所述目标固件未携带状态变量的情况下,创建状态变量并设置所述状态变量的初始状态值为第一状态值;所述第一状态值表征所述目标固件执行过程中无运行异常;根据预设的异常检测算法,检测当前所述目标固件的执行过程中是否存在运行异常;若存在运行异常,则将所述状态变量的所述第一状态值更新为第二状态值并停止执行固件,在预设时间间隔后,重新执行所述在目标固件的执行过程中,查询所述目标固件是否携带有状态变量的步骤。4.根据权利要求3所述的方法,其特征在于,所述检测当前所述目标固件的执行过程中是否存在运行异常之后,所述方法还包括:若不存在运行异常,则维持所述状态变量的状态值为所述第一状态值,并继续执行所述目标固件,直至所述目标固件执行完成,实现本次计算机设备的开机过程。5.根据权利要求3所述的方法,其特征在于,所述异常检测算法包括超时检测算法、异常中断检测算法和断言检测算法,所述根据预设的异常检测算法,检测当前所述目标固件的执行过程中是否存在运行异常,包括:根据所述超时检测算法、所述异常中断检测算法和所述断言检测算法,对所述目标...

【专利技术属性】
技术研发人员:孙海鹏栗志强宋天珊
申请(专利权)人:曙光信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1