一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

硬盘的升降级测试方法、装置、电子设备及存储介质与流程

2023-02-01 23:49:23 来源:中国专利 TAG:


1.本发明涉及设备检测技术领域,特别是涉及一种硬盘的升降级测试方法、一种硬盘的升降级测试装置、一种电子设备以及一种计算机可读存储介质。


背景技术:

2.目前linux系统在服务器上应用广泛,linux相比windows具有稳定,不容易宕机的优点。在服务器的使用过程中,常规地对服务器的硬盘进行fw(firmware,固件版本)升降级测试,系统一般不会出现宕机,掉盘等异常发生,但是在对系统进行加压即fio(flexible i/o tester,i/o测试工具)测试的过程中,再对硬盘进行fw升降级测试,无法确定是否系统的正常运行产生对应的影响,有可能在对硬盘进行fw升降级的过程中,硬盘会出现掉盘,系统会宕机等异常问题发生。对此,如何在fio加压测试时对硬盘进行fw升降级测试,对于linux下服务器的稳定性的考验,对已硬件制造商和使用linux的客户来说,都具有重大的意义。


技术实现要素:

3.本发明实施例是提供一种硬盘的升降级测试方法、装置、电子设备以及计算机可读存储介质,以解决或部分解决相关技术中无法在对设备的硬盘进行fio测试的同时进行固件版本升降级测试的问题。
4.本发明实施例公开了一种硬盘的升降级测试方法,应用于运行linux系统的电子设备,所述电子设备包括硬盘,所述方法包括:
5.获取所述硬盘对应的初始smart信息;
6.响应于针对所述硬盘的fio测试指令,获取与所述fio测试指令对应的压力测试信息,并根据所述压力测试信息持续对所述硬盘进行压力测试;
7.响应于在所述硬盘持续进行压力测试的过程中获取到针对所述硬盘的固件升降级指令,根据所述固件升降级指令执行针对所述硬盘进行固件版本的升降级操作;
8.若检测到所述硬盘完成所述固件升降级指令对应的升降级操作,则获取所述硬盘对应的目标smart信息,并根据所述初始smart信息与所述目标smart信息生成所述硬盘对应的升降级测试结果,所述升降级测试结果包括测试正常信息以及测试异常信息中的一种。
9.可选地,所述压力测试信息至少包括块规格、队列深度、异步模式以及读写策略信息,所述根据所述压力测试信息持续对所述硬盘进行压力测试,包括:
10.按照所述块规格、所述队列深度、所述异步模式以及所述读写策略信息对所述硬盘进行持续压力测试。
11.可选地,所述固件升降级指令包括版本升级指令以及目标版本号,所述根据所述固件升降级指令执行针对所述硬盘进行固件版本的升降级操作,包括:
12.获取所述硬盘的当前版本号;
13.采用所述版本升级指令将所述当前版本逐级升级至所述目标版本号,或,采用所述版本升级指令将所述当前版本升级为所述目标版本号。
14.可选地,所述固件升降级指令包括版本降级指令以及目标版本号,所述根据所述固件升降级指令执行针对所述硬盘进行固件版本的升降级操作,包括:
15.获取所述硬盘的当前版本号;
16.采用所述版本降级指令将所述当前版本号逐级降级至所述目标版本号,或,采用所述版本降级指令将所述当前版本号降级为所述目标版本号。
17.可选地,所述固件升降级指令包括版本升级指令、目标版本号以及测试次数,所述根据所述固件升降级指令执行针对所述硬盘进行固件版本的升降级操作,包括:
18.采用所述版本升级指令逐次将所述硬盘的当前版本号升级至所述目标版本号,直至所述硬盘的升级次数达到所述测试次数,结束对所述硬盘的升降级操作。
19.可选地,smart信息至少包括硬盘状态标识,所述根据所述初始smart信息与所述目标smart信息生成所述硬盘对应的升降级测试结果,包括:
20.若所述初始smart信息中的第一硬盘状态标识与所述目标smart信息中的第二硬盘状态标识不同,则生成针对所述硬盘的测试异常信息;
21.若所述第一硬盘状态标识与所述第二硬盘状态标识相同,则生成针对所述硬盘的测试正常信息;
22.其中,所述硬盘状态标识至少包括健康状态标识、硬盘锁定状态标识以及测试状态标识中的一种。
23.可选地,smart信息包括硬盘状态参数,所述根据所述初始smart信息与所述目标smart信息生成所述硬盘对应的升降级测试结果,包括:
24.若所述目标smart信息中存在至少一项所述硬盘状态参数不满足对应的预设阈值,则生成针对所述硬盘的测试异常信息;
25.若所述目标smart信息中各个所述硬盘状态参数均满足对应的预设阈值,则生成针对所述硬盘的测试正常信息;
26.其中,所述硬盘状态参数至少包括重映射扇区数、重置配置事件数量、温度中的一种。
27.本发明实施例还公开了一种硬盘的升降级测试装置,应用于运行linux系统的电子设备,所述电子设备包括硬盘,所述装置包括:
28.第一信息获取模块,用于获取所述硬盘对应的初始smart信息;
29.压力测试模块,用于响应于针对所述硬盘的fio测试指令,获取与所述fio测试指令对应的压力测试信息,并根据所述压力测试信息持续对所述硬盘进行压力测试;
30.固件测试模块,用于响应于在所述硬盘持续进行压力测试的过程中获取到针对所述硬盘的固件升降级指令,根据所述固件升降级指令执行针对所述硬盘进行固件版本的升降级操作;
31.第二信息获取模块,用于若检测到所述硬盘完成所述固件升降级指令对应的升降级操作,则获取所述硬盘对应的目标smart信息,并根据所述初始smart信息与所述目标smart信息生成所述硬盘对应的升降级测试结果,所述升降级测试结果包括测试正常信息以及测试异常信息中的一种。
32.可选地,所述压力测试信息至少包括块规格、队列深度、异步模式以及读写策略信息,所述压力测试模块具体用于:
33.按照所述块规格、所述队列深度、所述异步模式以及所述读写策略信息对所述硬盘进行持续压力测试。
34.可选地,所述固件升降级指令包括版本升级指令以及目标版本号,所述固件测试模块具体用于:
35.获取所述硬盘的当前版本号;
36.采用所述版本升级指令将所述当前版本逐级升级至所述目标版本号,或,采用所述版本升级指令将所述当前版本升级为所述目标版本号。
37.可选地,所述固件升降级指令包括版本降级指令以及目标版本号,所述固件测试模块具体用于:
38.获取所述硬盘的当前版本号;
39.采用所述版本降级指令将所述当前版本号逐级降级至所述目标版本号,或,采用所述版本降级指令将所述当前版本号降级为所述目标版本号。
40.可选地,所述固件升降级指令包括版本升级指令、目标版本号以及测试次数,所述固件测试模块具体用于:
41.采用所述版本升级指令逐次将所述硬盘的当前版本号升级至所述目标版本号,直至所述硬盘的升级次数达到所述测试次数,结束对所述硬盘的升降级操作。
42.可选地,smart信息至少包括硬盘状态标识,所述第二信息获取模块具体用于:
43.若所述初始smart信息中的第一硬盘状态标识与所述目标smart信息中的第二硬盘状态标识不同,则生成针对所述硬盘的测试异常信息;
44.若所述第一硬盘状态标识与所述第二硬盘状态标识相同,则生成针对所述硬盘的测试正常信息;
45.其中,所述硬盘状态标识至少包括健康状态标识、硬盘锁定状态标识以及测试状态标识中的一种。
46.可选地,smart信息包括硬盘状态参数,所述第二信息获取模块具体用于:
47.若所述目标smart信息中存在至少一项所述硬盘状态参数不满足对应的预设阈值,则生成针对所述硬盘的测试异常信息;
48.若所述目标smart信息中各个所述硬盘状态参数均满足对应的预设阈值,则生成针对所述硬盘的测试正常信息;
49.其中,所述硬盘状态参数至少包括重映射扇区数、重置配置事件数量、温度中的一种。
50.本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
51.所述存储器,用于存放计算机程序;
52.所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
53.本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或
多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
54.本发明实施例包括以下优点:
55.在本发明实施例中,针对linux系统的电子设备,在对其硬盘进行升降级测试的过程中,可以通过获取硬盘对应的初始smart信息,接着可以响应于针对硬盘的fio测试指令,获取与fio测试指令对应的压力测试信息,并根据压力测试信息持续对硬盘进行压力测试,然后可以响应于在硬盘持续进行压力测试的过程中获取到针对硬盘的固件升降级指令,根据固件升降级指令执行针对硬盘进行固件版本的升降级操作,若检测到硬盘完成固件升降级指令对应的升降级操作,则获取硬盘对应的目标smart信息,并根据初始smart信息与目标smart信息生成硬盘对应的升降级测试结果,升降级测试结果包括针对硬盘的测试正常信息以及测试异常信息中的一种,从而通过在对硬盘进程fio测试的同时,对硬盘执行固件的升降级测试,一方面通过fio测试与升降级测试的组合测试,丰富了硬盘稳定性测试的方式,另一方面基于测试前后的smart信息对硬盘的测试结果进行检测,可以有效地保证测试结果的准确性。
附图说明
56.图1是本发明实施例中提供的一种硬盘的升降级测试方法的步骤流程图;
57.图2是本发明实施例中提供的一种硬盘的升降级测试装置的结构框图;
58.图3是本发明实施例中提供的一种电子设备的框图。
具体实施方式
59.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
60.作为一种示例,在服务器的使用过程中,常规地对服务器的硬盘进行fw(firmware,固件版本)升降级测试,系统一般不会出现宕机,掉盘等异常发生,但是在对系统进行加压即fio(flexible i/o tester,i/o测试工具)测试的过程中,再对硬盘进行fw升降级测试,无法确定是否系统的正常运行产生对应的影响,有可能在对硬盘进行fw升降级的过程中,硬盘会出现掉盘,系统会宕机等异常问题发生。
61.其中,在相关技术中,其采用的测试方法是基于linux系统,在raid模式(redundant arrays of independent disks,磁盘阵列)或者直连模式(direct mode operate)下对硬盘进行fw升降级测试,测试步骤如下:
62.对于raid卡模式下,在组raid的情况下通过命令刷新硬盘fw:
63.1、通过查询raid卡的硬盘信息:./storcli64/c0 show
64.2、查看硬盘的fw信息:./storcli64/c0/e*/sall show all|grep

i firmware
65.3、升级硬盘fw,可以使用循环语句:for i in{0..12};do./storcli64/c0/e*/s$i download src=fw脚本;sleep 1;done.
66.然而,在上述过程中,其仅仅只是基于linux系统,在系统下对设备的硬盘进行fw升降级测试,测试方法比较单一,无法对系统的稳定性进行全面的测试,容易导致系统以及硬盘隐藏的性能问题未被暴露。
67.对此,本发明的核心发明点之一在于针对linux系统的电子设备,在对其硬盘进行
升降级测试的过程中,可以通过获取硬盘对应的初始smart信息,接着可以响应于针对硬盘的fio测试指令,获取与fio测试指令对应的压力测试信息,并根据压力测试信息持续对硬盘进行压力测试,然后可以响应于在硬盘持续进行压力测试的过程中获取到针对硬盘的固件升降级指令,根据固件升降级指令执行针对硬盘进行固件版本的升降级操作,若检测到硬盘完成固件升降级指令对应的升降级操作,则获取硬盘对应的目标smart信息,并根据初始smart信息与目标smart信息生成硬盘对应的升降级测试结果,升降级测试结果包括针对硬盘的测试正常信息以及测试异常信息中的一种,从而通过在对硬盘进程fio测试的同时,对硬盘执行固件的升降级测试,一方面通过fio测试与升降级测试的组合测试,丰富了硬盘稳定性测试的方式,另一方面基于测试前后的smart信息对硬盘的测试结果进行检测,可以有效地保证测试结果的准确性。
68.参照图1,示出了本发明实施例中提供的一种硬盘的升降级测试方法的步骤流程图,应用于运行linux系统的电子设备,所述电子设备包括硬盘,具体可以包括如下步骤:
69.步骤101,获取所述硬盘对应的初始smart信息;
70.可选地,电子设备可以为服务器,在服务器中可以运行linux系统,同时在服务器中可以配置有对应的硬盘,用于对数据进行存储等。需要说明的是,在本发明实施例中,以服务器为例进行示例性说明,可以理解的是,还可以适用于其他具有硬盘的电子设备,本发明对此不作限制。
71.在对电子设备的硬盘进行测试之前,可以先获取硬盘所对应的初始smart信息,并通过初始smart信息对硬盘的状态进行检测。在一般情况下,在对硬盘进行测试之前,所获取的初始smart信息可以为表征硬盘处于正常运行状态的信息,例如,smart信息可以包括健康状态标识、硬盘锁定状态标识、测试状态标识、重映射扇区数、重置配置事件数量、温度以及smart测试结果等。
72.需要说明的是,对于s.m.a.r.t.,其全称为“self-monitoring analysis and reporting technology”,即“自我监测、分析及报告技术”。是一种自动的硬盘状态检测与预警系统和规范。通过在硬盘硬件内的检测指令对硬盘的硬件如磁头、盘片、马达、电路的运行情况进行监控、记录并与厂商所设定的预设安全值进行比较,若监控情况将或已超出预设安全值的安全范围,就可以通过主机的监控硬件或软件自动向用户做出警告并进行轻微的自动修复,以提前保障硬盘数据的安全。除一些出厂时间极早的硬盘外,现在大部分硬盘均配备该项技术。
73.其中,对于硬盘正常运行状态下各项smart信息所对应的状态可以为:smart health status(smart健康状态标识):ok;reallocated_sector_ct(重映射扇区数):标准值《5;pending_sector:标准值《10;reallocated_event_count(重置配置事件数量):标准值《5;smart overall-health self-assessment test result(测试结果):标准值passed;temperature(温度):标准值:固态硬盘ssd(solid state disk)《74℃,机械硬盘hdd(hard disk drive)《65℃;the hard drive is locked(硬盘驱动器是否锁定):标准值为not locked等,通过上述不同的参数可以对硬盘是否正常进行呈现。
74.步骤102,响应于针对所述硬盘的fio测试指令,获取与所述fio测试指令对应的压力测试信息,并根据所述压力测试信息持续对所述硬盘进行压力测试;
75.为了丰富对硬盘稳定性的测试方式,在对硬盘进行固件版本的升降级测试之前,
可以先对硬盘进行加压测试,以便在持续加压测试的同时,对硬盘进行固件版本的升降级测试。
76.在具体实现中,电子设备可以响应于针对硬盘的fio测试指令,获取与fio测试指令对应的压力测试信息,并根据压力测试信息持续对硬盘进行压力测试,具体的,压力测试信息至少可以包括块规格、队列深度、异步模式以及读写策略信息,则可以按照块规格、队列深度、异步模式以及读写策略信息对硬盘进行持续压力测试,从而通过执行针对硬盘的fio测试,创造一个压力环境,以便在该压力环境下对硬盘进行固件版本的升降级测试,丰富硬盘稳定性测试的方式。
77.其中,块规格bs(block size)可以用于定义io的块大小,单位可以为k、k、m和m等,默认io块大小可以为4kb;队列深度qs(queue depth)可以用于定义测试的队列深度,如16、32、64、128等;在异步模式libaio下,可以通过提交一批io请求,然后等待一批的完成,减少交互的次数,提高处理效率;对于读写策略信息,其可以为-rwmixread或-rwmixwrite,前者可以为混合读写模式下,读占比,后者可以为混合读写模式下,写占比,例如-rwmixread=30,其表征的是混合读写模式下读占比为30%,-rwmixwrite=50,其表征的是混合读写模式下写占比为50%。此外,压力测试信息还包括测试任务名称等,本发明对此不作限制。
78.在一种示例中,电子设备可以获取针对硬盘的fio测试指令,并获取fio测试指令对应的fio工具(bs=4k;qd=128,job=1(测试任务的名称),libaio异步模式,rwmixread=50),然后对电子设备上所有的需要进行固件版本升降级测试的硬盘进行io测试,从而通过执行针对硬盘的fio测试,创造一个压力环境,以便在该压力环境下对硬盘进行固件版本的升降级测试,丰富硬盘稳定性测试的方式。
79.步骤103,响应于在所述硬盘持续进行压力测试的过程中获取到针对所述硬盘的固件升降级指令,根据所述固件升降级指令执行针对所述硬盘进行固件版本的升降级操作;
80.在通过fio工具对硬盘进行持续的压力测试过程中,测试人员可以进一步输入对应的固件升降级指令,使得硬盘在持续进行压力测试的同时,执行对应的固件版本升降级操作。其中,对于硬盘的固件版本升降级,其可以包括不同方式的升降级方式,测试人员可以根据自身的需求设置对应的升降级方式,以通过不同升降级方式对硬盘的稳定性进行测试。
81.在一种可选实施例中,固件升降级指令包括版本升级指令以及目标版本号,则在对硬盘进行升降级测试过程中,电子设备可以获取硬盘的当前版本号,接着采用版本升级指令将当前版本逐级升级至目标版本号,或,采用版本升级指令将当前版本升级为目标版本号。例如,假设硬盘的当前版本号为1.0,目标版本号为4.0,则在一种实现方式中,电子设备可以先将硬盘由1.0升级为2.0,在由2.0升级为3.0,再由3.0升级到4.0,通过逐级对硬盘的固件版本进行升级,实现在压力测试的同时对硬盘进行固件版本的逐级升级,检测硬盘在不同固件版本下的稳定性;在另一种实现方式中,电子设备可以将硬盘由1.0直接升级至4.0,对硬盘进行固件版本的跨越式升级,实现在压力测试的同时对硬盘进行固件版本的指定版本升级,检测硬盘在特定版本下的稳定性。
82.在另一种可选实施例中,固件升降级指令包括版本降级指令以及目标版本号,则在对硬盘进行升降级测试过程中,电子设备可以获取硬盘的当前版本号,接着采用版本降
级指令将当前版本号逐级降级至目标版本号,或,采用版本降级指令将当前版本号降级为目标版本号。例如,假设硬盘的当前版本号为4.0,目标版本号为1.0,则在一种实现方式中,电子设备可以先将硬盘由4.0降级为3.0,在由3.0降级为2.0,再由2.0降级到1.0,通过逐级对硬盘的固件版本进行降级,实现在压力测试的同时对硬盘进行固件版本的逐级降级,检测硬盘在不同固件版本下的稳定性;在另一种实现方式中,电子设备可以将硬盘由4.0直接降级至1.0,对硬盘进行固件版本的跨越式降级,实现在压力测试的同时对硬盘进行固件版本的指定版本降级,检测硬盘在特定版本下的稳定性。
83.在另一种可选实施例中,固件升降级指令包括版本升级指令、目标版本号以及测试次数,则在对硬盘进行升降级测试过程中,电子设备可以采用版本升级指令逐次将硬盘的当前版本号升级至目标版本号,直至硬盘的升级次数达到测试次数,结束对硬盘的升降级操作。例如,假设硬盘的当前版本号为1.0,目标版本号为2.0,测试次数为3,则电子设备可以将硬盘从1.0升级为2.0,接着再由2.0升级为2.0,然后再由2.0升级为2.0,连续升级3次,通过对同一固件版本进行多次测试,检测硬盘在同一固件版本下的稳定性。
84.此外,当硬盘完成了固件版本的升降级测试后,电子设备可以保留对应的测试日志,以便通过测试日志查看是否存在硬盘掉盘信息,或者硬盘error信息等,观察硬盘表面有无亮红灯、有无掉盘报警声音等。
85.步骤104,若检测到所述硬盘完成所述固件升降级指令对应的升降级操作,则获取所述硬盘对应的目标smart信息,并根据所述初始smart信息与所述目标smart信息生成所述硬盘对应的升降级测试结果,所述升降级测试结果包括测试正常信息以及测试异常信息中的一种。
86.当电子设备在对硬盘进行fio测试的同时,完成了对应的固件版本的升降级测试后,电子设备可以再次获取硬盘在执行了固件版本升降级测试后的目标smart信息,然后将可以根据初始smart信息与目标smart信息生成硬盘对应的升降级测试结果,升降级测试结果包括测试正常信息以及测试异常信息中的一种,从而通过在对硬盘进程fio测试的同时,对硬盘执行固件的升降级测试,一方面通过fio测试与升降级测试的组合测试,丰富了硬盘稳定性测试的方式,另一方面基于测试前后的smart信息对硬盘的测试结果进行检测,可以有效地保证测试结果的准确性。
87.在具体实现中,由于smart信息可以包括硬件状态标识以及硬件状态参数,前者可以为硬盘相关状态对应的标识,后者可以用于表征硬盘的相关性能参数,在基于初始smart信息与目标smart信息进行比较判断硬盘在执行fio测试以及固件版本的升降级测试后是否运行正常时,可以基于同类smart信息进行判断,具体的,若初始smart信息中的第一硬盘状态标识与目标smart信息中的第二硬盘状态标识不同,则生成针对硬盘的测试异常信息;若第一硬盘状态标识与第二硬盘状态标识相同,则生成针对硬盘的测试正常信息,硬盘状态标识至少包括健康状态标识、硬盘锁定状态标识以及测试状态标识中的一种。此外,若目标smart信息中存在至少一项硬盘状态参数不满足对应的预设阈值,则生成针对硬盘的测试异常信息;若目标smart信息中各个硬盘状态参数均满足对应的预设阈值,则生成针对硬盘的测试正常信息,硬盘状态参数至少包括重映射扇区数、重置配置事件数量、温度中的一种,从而通过在对硬盘进程fio测试的同时,对硬盘执行固件的升降级测试,一方面通过fio测试与升降级测试的组合测试,丰富了硬盘稳定性测试的方式,另一方面基于测试前后的
smart信息对硬盘的测试结果进行检测,可以有效地保证测试结果的准确性。
88.在一种示例中,假设对于硬盘正常运行状态下初始smart信息所对应的状态可以为:smart health status(smart健康状态标识):ok;reallocated_sector_ct(重映射扇区数):标准值《5;pending_sector:标准值《10;reallocated_event_count(重置配置事件数量):标准值《5;smart overall-health self-assessment test result(测试结果):passed;temperature(温度):标准值:固态硬盘ssd(solid state disk)《74℃,机械硬盘hdd(hard disk drive)《65℃;the hard drive is locked(硬盘驱动器是否锁定):not locked等。在完成了硬盘固件版本的升降级测试后,电子设备可以重新获取硬盘所对应的smart信息,假设目标smart信息中所对应的状态包括以下中的至少一项:smart health status(smart健康状态标识):不ok;reallocated_sector_ct(重映射扇区数):标准值》5;pending_sector:标准值》10;reallocated_event_count(重置配置事件数量):标准值》5;smart overall-health self-assessment test result(测试结果):failed;temperature(温度):标准值:固态硬盘ssd(solid state disk)》74℃,机械硬盘hdd(hard disk drive)》65℃;the hard drive is locked(硬盘驱动器是否锁定):locked等,则表征硬盘在进行fio测试的同时,执行固件版本的升降级测试出现了稳定性异常,生成对应的测试异常信息,以表征硬盘的稳定性存在问题;若不包含上述任一项,则可以生成对应的测试正常信息,以表征硬盘运行稳定。
89.需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,本领域技术人员在本发明实施例的思想指导下,还可以根据实际需求进行设置,本发明对此不作限制。
90.在本发明实施例中,针对linux系统的电子设备,在对其硬盘进行升降级测试的过程中,可以通过获取硬盘对应的初始smart信息,接着可以响应于针对硬盘的fio测试指令,获取与fio测试指令对应的压力测试信息,并根据压力测试信息持续对硬盘进行压力测试,然后可以响应于在硬盘持续进行压力测试的过程中获取到针对硬盘的固件升降级指令,根据固件升降级指令执行针对硬盘进行固件版本的升降级操作,若检测到硬盘完成固件升降级指令对应的升降级操作,则获取硬盘对应的目标smart信息,并根据初始smart信息与目标smart信息生成硬盘对应的升降级测试结果,升降级测试结果包括针对硬盘的测试正常信息以及测试异常信息中的一种,从而通过在对硬盘进程fio测试的同时,对硬盘执行固件的升降级测试,一方面通过fio测试与升降级测试的组合测试,丰富了硬盘稳定性测试的方式,另一方面基于测试前后的smart信息对硬盘的测试结果进行检测,可以有效地保证测试结果的准确性。
91.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
92.参照图2,示出了本发明实施例中提供的一种硬盘的升降级测试装置的结构框图,应用于运行linux系统的电子设备,所述电子设备包括硬盘,具体可以包括如下模块:
93.第一信息获取模块201,用于获取所述硬盘对应的初始smart信息;
94.压力测试模块202,用于响应于针对所述硬盘的fio测试指令,获取与所述fio测试
指令对应的压力测试信息,并根据所述压力测试信息持续对所述硬盘进行压力测试;
95.固件测试模块203,用于响应于在所述硬盘持续进行压力测试的过程中获取到针对所述硬盘的固件升降级指令,根据所述固件升降级指令执行针对所述硬盘进行固件版本的升降级操作;
96.第二信息获取模块204,用于若检测到所述硬盘完成所述固件升降级指令对应的升降级操作,则获取所述硬盘对应的目标smart信息,并根据所述初始smart信息与所述目标smart信息生成所述硬盘对应的升降级测试结果,所述升降级测试结果包括测试正常信息以及测试异常信息中的一种。
97.在一种可选实施例中,所述压力测试信息至少包括块规格、队列深度、异步模式以及读写策略信息,所述压力测试模块202具体用于:
98.按照所述块规格、所述队列深度、所述异步模式以及所述读写策略信息对所述硬盘进行持续压力测试。
99.在一种可选实施例中,所述固件升降级指令包括版本升级指令以及目标版本号,所述固件测试模块203具体用于:
100.获取所述硬盘的当前版本号;
101.采用所述版本升级指令将所述当前版本逐级升级至所述目标版本号,或,采用所述版本升级指令将所述当前版本升级为所述目标版本号。
102.在一种可选实施例中,所述固件升降级指令包括版本降级指令以及目标版本号,所述固件测试模块203具体用于:
103.获取所述硬盘的当前版本号;
104.采用所述版本降级指令将所述当前版本号逐级降级至所述目标版本号,或,采用所述版本降级指令将所述当前版本号降级为所述目标版本号。
105.在一种可选实施例中,所述固件升降级指令包括版本升级指令、目标版本号以及测试次数,所述固件测试模块203具体用于:
106.采用所述版本升级指令逐次将所述硬盘的当前版本号升级至所述目标版本号,直至所述硬盘的升级次数达到所述测试次数,结束对所述硬盘的升降级操作。
107.在一种可选实施例中,smart信息至少包括硬盘状态标识,所述第二信息获取模块204具体用于:
108.若所述初始smart信息中的第一硬盘状态标识与所述目标smart信息中的第二硬盘状态标识不同,则生成针对所述硬盘的测试异常信息;
109.若所述第一硬盘状态标识与所述第二硬盘状态标识相同,则生成针对所述硬盘的测试正常信息;
110.其中,所述硬盘状态标识至少包括健康状态标识、硬盘锁定状态标识以及测试状态标识中的一种。
111.在一种可选实施例中,smart信息包括硬盘状态参数,所述第二信息获取模块204具体用于:
112.若所述目标smart信息中存在至少一项所述硬盘状态参数不满足对应的预设阈值,则生成针对所述硬盘的测试异常信息;
113.若所述目标smart信息中各个所述硬盘状态参数均满足对应的预设阈值,则生成
针对所述硬盘的测试正常信息;
114.其中,所述硬盘状态参数至少包括重映射扇区数、重置配置事件数量、温度中的一种。
115.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
116.另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述硬盘的升降级测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
117.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述硬盘的升降级测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
118.图3为实现本发明各个实施例的一种电子设备的硬件结构示意图。
119.该电子设备300包括但不限于:射频单元301、网络模块302、音频输出单元303、输入单元304、传感器305、显示单元306、用户输入单元307、接口单元308、存储器309、处理器310、以及电源311等部件。本领域技术人员可以理解,本发明实施例中所涉及的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
120.应理解的是,本发明实施例中,射频单元301可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器310处理;另外,将上行的数据发送给基站。通常,射频单元301包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元301还可以通过无线通信系统与网络和其他设备通信。
121.电子设备通过网络模块302为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
122.音频输出单元303可以将射频单元301或网络模块302接收的或者在存储器309中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元303还可以提供与电子设备300执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元303包括扬声器、蜂鸣器以及受话器等。
123.输入单元304用于接收音频或视频信号。输入单元304可以包括图形处理器(graphics processing unit,gpu)3041和麦克风3042,图形处理器3041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元306上。经图形处理器3041处理后的图像帧可以存储在存储器309(或其它存储介质)中或者经由射频单元301或网络模块302进行发送。麦克风3042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元301发送到移动通信基站的格式输出。
124.电子设备300还包括至少一种传感器305,比如光传感器、运动传感器以及其他传
感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板3061的亮度,接近传感器可在电子设备300移动到耳边时,关闭显示面板3061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器305还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
125.显示单元306用于显示由用户输入的信息或提供给用户的信息。显示单元306可包括显示面板3061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板3061。
126.用户输入单元307可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元307包括触控面板3071以及其他输入设备3072。触控面板3071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板3071上或在触控面板3071附近的操作)。触控面板3071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器310,接收处理器310发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板3071。除了触控面板3071,用户输入单元307还可以包括其他输入设备3072。具体地,其他输入设备3072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
127.进一步的,触控面板3071可覆盖在显示面板3061上,当触控面板3071检测到在其上或附近的触摸操作后,传送给处理器310以确定触摸事件的类型,随后处理器310根据触摸事件的类型在显示面板3061上提供相应的视觉输出。可以理解的是,在一种实施例中,触控面板3071与显示面板3061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板3071与显示面板3061集成而实现电子设备的输入和输出功能,具体此处不做限定。
128.接口单元308为外部装置与电子设备300连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元308可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备300内的一个或多个元件或者可以用于在电子设备300和外部装置之间传输数据。
129.存储器309可用于存储软件程序以及各种数据。存储器309可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器309可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
130.处理器310是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各
个部分,通过运行或执行存储在存储器309内的软件程序和/或模块,以及调用存储在存储器309内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器310可包括一个或多个处理单元;优选的,处理器310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器310中。
131.电子设备300还可以包括给各个部件供电的电源311(比如电池),优选的,电源311可以通过电源管理系统与处理器310逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
132.另外,电子设备300包括一些未示出的功能模块,在此不再赘述。
133.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
134.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
135.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
136.本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
137.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
138.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
139.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
140.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
141.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
142.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献