技术领域
[0001] 本发明涉及计算机软件领域,具体是一种基于REDHAT系统的刷新BIOS压力测试方法及系统,用于在RHEL(Red Hat Enterprise Linux)系统,自动对BIOS(Basic Input Output System)进行压力测试。
相关背景技术
[0002] BIOS(即基本输入输出系统),是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
[0003] 目前,随着云服务的不断升级,稳定性对于服务器来说极为重要,BIOS是服务器开机后首先执行的一组程序,在服务器中有非常重要的作用。
[0004] 随着BIOS的功能逐渐升级或优化更多的选项,BIOS在投入使用后经常要做BIOS刷新。而为了确保BIOS能够在后期使用过程中能够稳定刷新,BIOS在投入使用之前,需要进行刷新压力测试。
[0005] 而目前,通过在RedHat系统下刷新BIOS的方式对BIOS进行压力测试,是一种常用的BIOS压力测试方式。但在现有技术中,该种通过在RedHat系统下刷新BIOS的方式对BIOS进行压力测试的方式,使用的是人工刷新BIOS,浪费人力资源,测试效率低。
[0006] 为此,本发明提供了一种基于REDHAT系统的刷新BIOS压力测试方法及系统,用于解决上述技术问题。
具体实施方式
[0045] 为使本发明的技术方案和优点更加清楚,下面将结合附图,对本发明的技术方案进行清楚、完整地描述。
[0046] 图1为本发明所述基于REDHAT系统的刷新BIOS压力测试方法的一种具体实施方式。其中需要说明的是,图1中所涉及的各“redhat”,均对应为“REDHAT”。
[0047] 在本实施方式中,该基于REDHAT系统的刷新BIOS压力测试方法,应用于测试机。在本实施方式中,该基于REDHAT系统的刷新BIOS压力测试方法包括步骤p1-p4,用于提高BIOS压力测试的测试效率。
[0048] 步骤p1、在所述的测试机内安装REDHAT系统。
[0049] 步骤p2、在步骤p1中所安装的REDHAT系统内预先存储预先获取的待测BIOS的BIOS镜像文件、以及预先存储预先设定的用于调用刷新工具自动化刷新所述的BIOS镜像文件的自动化脚本;所述的刷新工具,为预先存储在上述安装的REDHAT系统内的用于刷新BIOS文件的刷新软件。
[0050] 步骤p3、为所述的自动化脚本添加使其能够在上述安装的REDHAT系统中运行的可执性权限。
[0051] 在该步骤p3中,为所述的自动化脚本添加使其能够在上述安装的REDHAT系统中运行的可执性权限的方法为,调用测试机内所安装的REDHAT系统的命令行窗口,在调出的命令行窗口内为所述的自动化脚本添加使其能够在上述安装的REDHAT系统中运行的可执性权限。
[0052] 进一步地,所述的在调出的命令行窗口内为所述的自动化脚本添加使其能够在上述安装的REDHAT系统中运行的可执性权限的方法为:在调出的所述的命令行窗口内输入并控制执行chmod a+x命令。
[0053] 步骤p4、在上述步骤p3为所述的自动化脚本添加使其能够在上述安装的REDHAT系统中运行的可执性权限后,通过所述的自动化脚本调用所述的刷新工具自动化刷新所述的BIOS镜像文件。
[0054] 进一步地,在该步骤p4中,所述的自动化脚本调用所述的刷新工具自动化刷新所述的BIOS镜像文件的方法步骤包括:
[0055] 基于预先指定的所述BIOS镜像文件在所述测试机内所安装的REDHAT系统内的存储路径,以及基于预先指定的所述刷新工具在所述测试机内所安装的REDHAT系统内的存储路径,对应调用所述的刷新工具对所述的BIOS镜像文件进行相应的刷新测试。
[0056] 进一步地,在本实施方式中,所述的对应调用所述的刷新工具对所述的BIOS镜像文件进行相应的刷新测试,包括以下方法步骤s1-s4。
[0057] 步骤s1.在预先建立的日志文件中,写入对所述的BIOS镜像文件进行刷新测试的开始时间;之后继续执行步骤s2。
[0058] 步骤s2、调用所述的刷新工具对当前所要刷新的镜像文件进行刷新测试,并在当前刷新测试结束后,在所述的日志文件中对应记录当前刷新测试所对应的刷新测试次数;之后执行步骤s3。
[0059] s3、从步骤s2中所述的日志文件中获取步骤s2中当前记录的刷新测试次数,并判定该获取的刷新测试次数是否达到预先设定的刷新测试次数阈值,并在判定结果为达到所述的刷新测试次数阈值时,继续执行步骤s4,否则对步骤s2中当前刷新后的镜像文件再次进行刷新测试、并转而继续执行步骤s2。
[0060] 其中,需要说明的是,在本实施方式中,当首次调用所述的刷新工具进行相应的刷新测试时,步骤s2中所述的当前所要刷新的镜像文件为所述的BIOS镜像文件(即为上述预先获取的待测BIOS的BIOS镜像文件);当非首次调用所述的刷新工具进行相应的刷新测试时,步骤s2中所述的当前所要刷新的镜像文件为前一次刷新相应的镜像文件得到的相应的镜像文件。比如预先设定刷新测试次数阈值为500次,在对应记录的当前刷新测试所对应的刷新测试次数为2(首次调用所述的刷新工具进行相应的刷新测试对应的刷新测试次数为1)时,因2<500,则步骤s2中所述的当前所要刷新的镜像文件为所述BIOS镜像文件刷新(每次刷新一次)后对应的镜像文件;记所述BIOS镜像文件刷新后对应的镜像文件为A镜像文件,则在对应记录的当前刷新测试所对应的刷新测试次数为3时,3<500,步骤s2中所述的当前所要刷新的镜像文件为所述A镜像文件刷新后对应的镜像文件。
[0061] s4、对所述BIOS镜像文件的刷新测试结束,并在所述的日志文件中对应写入对所述BIOS镜像文件的刷新测试的结束时间。
[0062] 以下为所述自动化脚本的一种实现代码,其中“afulnx_64”为所述的刷新工具、“flashbios.log”为所述的日志文件,“BIOS.bin”为所述待测BIOS的BIOS镜像文件:
[0063]
[0064]
[0065] 综上,本发明所述的基于REDHAT系统的刷新BIOS压力测试方法,应用于测试机,基于REDHAT系统,并包括预先设定的自动化脚本和刷新工具,且在为所述的自动化脚本添加使其能够在上述安装的REDHAT系统中运行的可执性权限后,能够通过所述的自动化脚本调用所述的刷新工具自动化刷新待测BIOS的镜像文件,从而将对主板BIOS的压力测试转为对BIOS的镜像文件的压力测试,并能够基于所述的自动化脚本和刷新软件实现对BIOS的镜像文件的自动化刷新,自动化地完成对相应BIOS的刷新压力测试,既解放了人力,降低了对人力资源的浪费,提高了测试效率,又使得压力测试可在晚上自动进行,一定程度上节省了测试资源。另外,自动化脚本的使用,便于人员依据需要修改压力测试所需进行的刷新次数阈值(比如将上述脚本代码中的“500”更改为“600”),使用方便。
[0066] 另外,参见图2,本发明还提供了一种基于REDHAT系统的刷新BIOS压力测试系统,应用于预先安有REDHAT系统的测试机。在本实施方式中,所述的基于REDHAT系统的刷新BIOS压力测试系统包括:
[0067] BIOS镜像文件,为预先获取的待测BIOS的镜像文件,用于预先存储在所述测试机的REDHAT系统内;
[0068] 刷新工具,为用于刷新BIOS文件的刷新软件,用于预先存储在所述测试机的REDHAT系统内;
[0069] 自动化脚本,为用于预先存储在所述测试机的REDHAT系统内的可执行脚本,用于调用所述的刷新工具自动化刷新所述的BIOS镜像文件;
[0070] 可执性权限添加单元,用于为所述的自动化脚本添加使该自动化脚本能够在上述安装的REDHAT系统中运行的可执性权限;
[0071] 控制单元,与所述的可执性权限添加单元相连,用于在可执性权限添加单元为所述的自动化脚本添加使该自动化脚本能够在上述安装的REDHAT系统中运行的可执性权限后,控制所述的自动化脚本执行。
[0072] 使用时,预先在测试机内安装REDHAT系统,之后将预先获取的待测BIOS的镜像文件(即所述的BIOS镜像文件)存储在所述测试机内所安装的REDHAT系统内、并将刷新工具和自动化脚本存储在所述测试机内所安装的REDHAT系统内,之后通过可执性权限添加单元为所述的自动化脚本添加使所述自动化脚本能够在上述安装的REDHAT系统中运行的可执性权限;之后在控制单元的控制下,在可执性权限添加单元为所述的自动化脚本添加使该自动化脚本能够在上述安装的REDHAT系统中运行的可执性权限后,控制所述的自动化脚本执行,进而调用所述的刷新工具自动化刷新所述的BIOS镜像文件。
[0073] 在本实施方式中,所述的可执性权限添加单元,采用上述测试机内预先安装的REDHAT系统的命令行窗口。使用时,调用所述的命令行窗口,并在所调用的该命令行窗口内输入并控制执行chmod a+x命令,从而为所述的自动化脚本添加使该自动化脚本能够在测试机内预先安有的REDHAT系统中运行的可执性权限。
[0074] 在本实施方式中,所述的自动化脚本包括:
[0075] 镜像文件存储路径指示单元,用于指示所述BIOS镜像文件在所述测试机内所安装的REDHAT系统内的存储路径;
[0076] 刷新工具存储路径指示单元,用于指示所述刷新工具在所述测试机内所安装的REDHAT系统内的存储路径;
[0077] BIOS刷新测试单元,与所述的镜像文件存储路径指示单元、刷新工具存储路径指示单元、以及所述的可执性权限添加单元分别相连,用于在可执性权限添加单元为所述的自动化脚本添加使其能够在上述安装的REDHAT系统中运行的可执性权限后,调用刷新工具存储路径指示单元所指示的存储路径下的刷新工具,对镜像文件存储路径指示单元所指示的存储路径下的BIOS镜像文件进行相应的刷新测试。
[0078] 使用时,所述的自动化脚本开始执行后,BIOS刷新测试单元调用刷新工具存储路径指示单元所指示的存储路径下的刷新工具,对镜像文件存储路径指示单元所指示的存储路径下的BIOS镜像文件进行相应的刷新测试。
[0079] 进一步地,在本实施方式中,所述的BIOS刷新测试单元调用刷新工具存储路径指示单元所指示的存储路径下的刷新工具,对镜像文件存储路径指示单元所指示的存储路径下的BIOS镜像文件进行相应的刷新测试,包括方法步骤:
[0080] s1.在预先建立的日志文件中,写入对所述的BIOS镜像文件进行刷新测试的开始时间;之后继续执行步骤s2;
[0081] s2、调用所述的刷新工具对当前所要刷新的镜像文件进行刷新测试,并在当前刷新测试结束后,在所述的日志文件中对应记录当前刷新测试所对应的刷新测试次数;之后执行步骤s3;
[0082] s3、从步骤s2中所述的日志文件中获取步骤s2中当前记录的刷新测试次数,并判定该获取的刷新测试次数是否达到预先设定的刷新测试次数阈值,并在判定结果为达到所述的刷新测试次数阈值时,继续执行步骤s4,否则对步骤s2中当前刷新后的镜像文件再次进行刷新测试、并转而继续执行步骤s2;
[0083] s4、对所述BIOS镜像文件的刷新测试结束,并在所述的日志文件中对应写入对所述BIOS镜像文件的刷新测试的结束时间。
[0084] 其中,需要说明的是,在本实施方式中,当首次调用所述的刷新工具进行相应的刷新测试时,步骤s2中所述的当前所要刷新的镜像文件为所述的BIOS镜像文件(即为所述的预先获取的待测BIOS的BIOS镜像文件);当非首次调用所述的刷新工具进行相应的刷新测试时,步骤s2中所述的当前所要刷新的镜像文件为前一次刷新相应的镜像文件得到的相应的镜像文件。比如预先设定刷新测试次数阈值为500次,在对应记录的当前刷新测试所对应的刷新测试次数为2(首次调用所述的刷新工具进行相应的刷新测试对应的刷新测试次数为1)时,因2<500,则步骤s2中所述的当前所要刷新的镜像文件为所述BIOS镜像文件刷新(每次刷新一次)后对应的镜像文件;记所述BIOS镜像文件刷新后对应的镜像文件为A镜像文件,则在对应记录的当前刷新测试所对应的刷新测试次数为3时,3<500,步骤s2中所述的当前所要刷新的镜像文件为所述A镜像文件刷新后对应的镜像文件。
[0085] s4、对所述BIOS镜像文件的刷新测试结束,并在所述的日志文件中对应写入对所述BIOS镜像文件的刷新测试的结束时间。
[0086] 以下为所述自动化脚本的一种实现代码,其中“afulnx_64”为所述的刷新工具、“flashbios.log”为所述的日志文件,“BIOS.bin”为所述待测BIOS的BIOS镜像文件:
[0087]
[0088] 综上可见,本发明所述的基于REDHAT系统的刷新BIOS压力测试系统,也能够通过所述的自动化脚本调用所述的刷新工具自动化刷新待测BIOS的镜像文件,从而将对主板BIOS的压力测试转为对BIOS的镜像文件的压力测试,且能够基于所述的自动化脚本和刷新软件实现对BIOS的镜像文件的自动化刷新,自动化地完成对相应BIOS的刷新压力测试,既解放了人力,降低了对人力资源的浪费,提高了测试效率,又使得压力测试可在晚上自动进行,一定程度上节省了测试资源,而且自动化脚本的使用,便于测试人员依据需要修改压力测试所需进行的刷新次数阈值,使用方便。
[0089] 以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的范围。