本发明涉及计算机,尤其涉及一种固件检测方法、装置、设备及介质。
背景技术:
1、服务器的基板管理控制器(baseboard management controller,bmc)是监控和管理服务器的控制单元。bmc主要用于实现管理服务器的硬件状态、操作系统、健康状态以及功耗的功能。bmc固件是bmc中运行的用于实现bmc功能的程序。为了保证服务器和服务器的bmc的稳定运行,在bmc固件投入使用之前,需要对bmc固件进行检测,确定bmc固件是否存在异常。
2、相关技术中,常用的针对bmc固件的固件检测方案为:在bmc固件的测试阶段,技术人员手动对bmc固件的指定性能进行性能测试,根据性能测试数据对bmc固件进行检测,确定bmc固件是否存在异常。相关技术中的固件检测方案通过人为操作对bmc固件进行检测,检测过程的效率和准确性较低,无法快速而准确地在bmc固件的编译阶段和测试阶段对bmc固件进行全面检测。
技术实现思路
1、本发明提供了一种固件检测方法、装置、设备及介质,以解决相关技术中的固件检测方案无法快速而准确地在bmc固件的编译阶段和测试阶段对bmc固件进行全面检测的问题。
2、根据本发明的一方面,提供了一种固件检测方法,包括:
3、在目标bmc固件的编译阶段中,通过代码检测脚本对所述目标bmc固件的代码进行检测,确定所述目标bmc固件的编译阶段检测结果;
4、在所述目标bmc固件的测试阶段中,通过性能测试脚本对测试服务器中运行的目标bmc固件进行性能测试,确定所述目标bmc固件的性能测试结果;
5、在性能测试过程中,通过信息监测脚本对所述测试服务器中运行的目标bmc固件的运行状态信息进行监测,得到所述目标bmc固件的监测数据;
6、在性能测试过程结束之后,根据所述监测数据和所述性能测试结果,确定所述目标bmc固件的测试阶段检测结果,将所述编译阶段检测结果和所述测试阶段检测结果提供给目标用户。
7、本发明实施例的技术方案,可以基于代码检测脚本,自动在bmc固件的编译阶段中对bmc固件进行检测,确定bmc固件是否存在异常,可以基于性能测试脚本和信息监测脚本,自动在bmc固件的编译阶段中对bmc固件进行性能检测和信息监测,确定bmc固件是否存在异常,可以快速而准确地在bmc固件的编译阶段和测试阶段对bmc固件进行全面检测,确定bmc固件是否存在异常,提高了检测过程的效率和准确性。
8、可选的,通过代码检测脚本对所述目标bmc固件的代码进行检测,确定所述目标bmc固件的编译阶段检测结果,包括:
9、获取所述目标bmc固件的代码;
10、通过代码检测脚本检测所述目标bmc固件的代码是否存在静态错误,生成所述代码的代码检测结果;
11、若所述代码检测结果为存在静态错误,则确定所述目标bmc固件的编译阶段检测结果为存在异常,输出第一告警信息,停止当前检测过程。
12、本发明实施例的技术方案,可以基于代码检测脚本,自动在bmc固件的编译阶段中对bmc固件进行检测,确定bmc固件是否存在异常,便于在bmc固件的编译阶段中及时发现bmc固件的异常,可以在确定bmc固件存在异常之后输出告警信息,以使相关人员及时对bmc固件的异常进行处理。
13、可选的,在通过代码检测脚本检测所述目标bmc固件的代码是否存在静态错误,生成所述代码的代码检测结果之后,还包括:
14、若所述代码检测结果为不存在静态错误,则确定所述目标bmc固件的编译阶段检测结果为不存在异常。
15、本发明实施例的技术方案,可以在检测到bmc固件的代码不存在静态错误之后,确定处于编译阶段中的bmc固件不存在异常,生成bmc固件在编译阶段中的检测结果。
16、可选的,通过性能测试脚本对测试服务器中运行的目标bmc固件进行性能测试,确定所述目标bmc固件的性能测试结果,包括:
17、将性能测试脚本发送至测试服务器,以使所述测试服务器根据所述性能测试脚本对所述测试服务器中运行的目标bmc固件进行性能测试,确定所述目标bmc固件的性能测试结果,并反馈所述目标bmc固件的性能测试结果;
18、获取所述测试服务器反馈的所述目标bmc固件的性能测试结果。
19、本发明实施例的技术方案,可以基于性能测试脚本,自动在bmc固件的测试阶段中对bmc固件进行性能测试,确定bmc固件的性能测试结果,便于根据性能测试结果确定bmc固件是否存在异常,在bmc固件的测试阶段中及时发现bmc固件的异常。
20、可选的,根据所述监测数据和所述性能测试结果,确定所述目标bmc固件的测试阶段检测结果,包括:
21、对所述监测数据和所述性能测试结果进行异常检测;
22、根据异常检测结果,确定所述目标bmc固件的测试阶段检测结果。
23、本发明实施例的技术方案,可以在对测试服务器中运行的bmc固件进行性能测试和运行状态信息监测之后,自动基于监测数据和性能测试结果,确定处于测试阶段中的bmc固件是否存在异常,便于在bmc固件的测试阶段中及时发现bmc固件的异常。
24、可选的,在根据异常检测结果,确定所述目标bmc固件的测试阶段检测结果之后,还包括:
25、若所述测试阶段检测结果为存在异常,则输出第二告警信息。
26、本发明实施例的技术方案,可以在确定处于测试阶段中的目标bmc固件存在异常之后输出告警信息,以使相关人员及时对bmc固件的异常进行处理。
27、可选的,将所述编译阶段检测结果和所述测试阶段检测结果提供给目标用户,包括:
28、根据所述编译阶段检测结果、所述性能测试结果、所述监测数据以及所述测试阶段检测结果,生成所述目标bmc固件的检测报告;
29、将所述检测报告提供给目标用户。
30、本发明实施例的技术方案,可以自动根据bmc固件的编译阶段检测结果、性能测试结果、监测数据以及测试阶段检测结果,生成bmc固件的检测报告,并将bmc固件的检测报告提供给目标用户,以使目标用户确定bmc固件的检测情况。
31、根据本发明的另一方面,提供了一种固件检测装置,包括:
32、编译检测模块,用于在目标bmc固件的编译阶段中,通过代码检测脚本对所述目标bmc固件的代码进行检测,确定所述目标bmc固件的编译阶段检测结果;
33、固件测试模块,用于在所述目标bmc固件的测试阶段中,通过性能测试脚本对测试服务器中运行的目标bmc固件进行性能测试,确定所述目标bmc固件的性能测试结果;
34、信息监测模块,用于在性能测试过程中,通过信息监测脚本对所述测试服务器中运行的目标bmc固件的运行状态信息进行监测,得到所述目标bmc固件的监测数据;
35、结果提供模块,用于在性能测试过程结束之后,根据所述监测数据和所述性能测试结果,确定所述目标bmc固件的测试阶段检测结果,将所述编译阶段检测结果和所述测试阶段检测结果提供给目标用户。
36、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
37、至少一个处理器;
38、以及与所述至少一个处理器通信连接的存储器;
39、其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的固件检测方法。
40、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的固件检测方法。
41、本发明实施例的技术方案,通过在目标bmc固件的编译阶段中,通过代码检测脚本对目标bmc固件的代码进行检测,确定目标bmc固件的编译阶段检测结果;在目标bmc固件的测试阶段中,通过性能测试脚本对测试服务器中运行的目标bmc固件进行性能测试,确定目标bmc固件的性能测试结果;在性能测试过程中,通过信息监测脚本对测试服务器中运行的目标bmc固件的运行状态信息进行监测,得到目标bmc固件的监测数据;在性能测试过程结束之后,根据监测数据和性能测试结果,确定目标bmc固件的测试阶段检测结果,将编译阶段检测结果和测试阶段检测结果提供给目标用户,解决了相关技术中的固件检测方案无法快速而准确地在bmc固件的编译阶段和测试阶段对bmc固件进行全面检测的问题,可以基于代码检测脚本,自动在bmc固件的编译阶段中对bmc固件进行检测,确定bmc固件是否存在异常,可以基于性能测试脚本和信息监测脚本,自动在bmc固件的编译阶段中对bmc固件进行性能检测和信息监测,确定bmc固件是否存在异常,可以快速而准确地在bmc固件的编译阶段和测试阶段对bmc固件进行全面检测,确定bmc固件是否存在异常,提高了检测过程的效率和准确性。
42、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。