CN116244133A - 硬盘测试管理方法、系统、终端及存储介质 - Google Patents

硬盘测试管理方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN116244133A
CN116244133A CN202310302158.3A CN202310302158A CN116244133A CN 116244133 A CN116244133 A CN 116244133A CN 202310302158 A CN202310302158 A CN 202310302158A CN 116244133 A CN116244133 A CN 116244133A
Authority
CN
China
Prior art keywords
test
hard disk
parameters
target
script
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.)
Pending
Application number
CN202310302158.3A
Other languages
English (en)
Inventor
陈耿彬
黄守钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310302158.3A priority Critical patent/CN116244133A/zh
Publication of CN116244133A publication Critical patent/CN116244133A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及服务器技术领域,具体提供一种硬盘测试管理方法、系统、终端及存储介质,包括:为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包;将所述测试执行文件包下发至目标硬盘所在的测试机,以使测试执行文件包中的测试工具和测试脚本在所述测试机执行测试;基于测试参数为目标硬盘生成进度监控线程,通过所述进度监控线程计算目标硬盘的测试剩余时间;接收测试脚本反馈的测试数据,并在测试剩余时间为零时对测试数据进行汇总处理。能够测试脚本和工具进行有针对性地分发、执行和进度监控,进而实现了针对不同类型硬盘的自动化批量测试的测试执行和测试数据收集处理,提升了硬盘测试效率和自动化程度。

Description

硬盘测试管理方法、系统、终端及存储介质
技术领域
本发明属于服务器技术领域,具体涉及一种硬盘测试管理方法、系统、终端及存储介质。
背景技术
在Intel的新一代服务器平台Eagle Stream上,全面支持PCIe 5.0。PCIe是一种允许外围设备连接到主板并与中央处理单元(CPU)进行通信的标准,像NVMe硬盘、网络适配器、USB拓展卡、GPU都是支持PCIe协议的产品。PCIe5.0标准要求每个通道4GB/s的传输速度,这是PCIe4.0的两倍。因此,很多厂商也推出了基于PCIe 5.0的硬盘,从而可以给用户带来更好的读写体验。但是,面对越来越高的传输速度,对传输链路信号的稳定性要求也越来越高。
现有的硬盘稳定性测试方法,一般在测试开始时,需要在每台测试机上安装工具和部署脚本。然后在测试机的测试执行完成后对测试机上存储的测试数据进行抓取和处理。
在批量测试不同类型的硬盘时,需要测试人员针对性地分别部署测试工具和脚本,此外测试人员不可能熟悉全部脚本的执行逻辑,因此无法及时了解测试进度,也就无法及时收集测试数据。可见现有的硬盘稳定性测试方法自动化程度不高,无法实现对不同型号服务器硬盘的统一批量自动化测试。
发明内容
针对现有技术存在的无法实现差异化硬盘批量测试,本发明提供一种硬盘测试管理方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种硬盘测试管理方法,包括:
为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包;
将所述测试执行文件包下发至目标硬盘所在的测试机,以使测试执行文件包中的测试工具和测试脚本在所述测试机执行测试;
基于测试参数为目标硬盘生成进度监控线程,通过所述进度监控线程计算目标硬盘的测试剩余时间;
接收测试脚本反馈的测试数据,并在测试剩余时间为零时对测试数据进行汇总处理。
在一个可选的实施方式中,为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包,包括:
在预先部署的编程开源环境下生成供管理脚本调用的配置文件,所述配置文件包括目标硬盘所在的测试机ip、测试类型、目标硬盘的硬盘类型、目标硬盘的硬盘号和循环测试标准;
基于测试类型和硬盘类型调用匹配的测试脚本和测试工具;
将目标硬盘的硬盘号写入所述测试脚本的目标参数,将测试脚本和测试工具封装为测试执行文件包。
在一个可选的实施方式中,在为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包之后,所述方法还包括:
基于目标硬盘所在测试机ip,与所述测试机建立通信连接,并将测试执行文件包发送至所述测试机。
在一个可选的实施方式中,基于测试类型和硬盘类型调用匹配的测试脚本和测试工具,包括:
解析测试类型参数,测试类型参数包括顺序读测试、顺序写测试、顺序读写测试、随机读测试、随机写测试、随机读写测试和组合测试;
基于测试类型参数筛选出具有匹配测试模型的目标测试脚本和目标测试脚本绑定的测试工具;
解析目标硬盘的硬盘类型参数,硬盘类型参数包括机械硬盘、固态串口硬盘和闪存固态硬盘;
基于目标硬盘的硬盘类型参数对目标测试脚本的单次读写数据量参数值和同时存取数据量参数值进行相应修改。
在一个可选的实施方式中,为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包,包括:
预先针对多种服务器规格和硬盘规格生成配置方案,基于目标硬盘规格和所属服务器规格调取配套方案,并将配套方案和所属服务器ip整合为目标硬盘的测试参数。
在一个可选的实施方式中,基于测试参数为目标硬盘生成进度监控线程,通过所述进度监控线程计算目标硬盘的测试剩余时间,包括:
解析测试参数中的循环测试标准;
若循环测试标准为固定时间模式,则提取设定的时间参数,在接收到测试机反馈的测试开始时刻时利用计时器计时,将所述时间参数与计时时长的差值作为测试剩余时间输出;
若循环测试标准为固定容量模式,则基于测试模型参数影响因子、环境影响因子、固定容量和带宽估算测试模型所需的测试时间,并将测试脚本中的未执行测试模型所需的测试时间累加得到测试剩余时间。
在一个可选的实施方式中,接收测试脚本反馈的测试数据,并在测试剩余时间为零时对测试数据进行汇总处理,包括:
预先在测试脚本设定将每个测试模型的测试数据在执行完成时上传至控制机,以使控制机及时获取到每个测试模型得到的测试数据;
对测试数据进行分类筛选并绘制为图表。
第二方面,本发明提供一种硬盘测试管理系统,包括:
参数配置模块,用于为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包;
测试执行模块,用于将所述测试执行文件包下发至目标硬盘所在的测试机,以使测试执行文件包中的测试工具和测试脚本在所述测试机执行测试;
时间计算模块,用于基于测试参数为目标硬盘生成进度监控线程,通过所述进度监控线程计算目标硬盘的测试剩余时间;
数据处理模块,用于接收测试脚本反馈的测试数据,并在测试剩余时间为零时对测试数据进行汇总处理。
在一个可选的实施方式中,参数配置模块包括:
文件配置单元,用于在预先部署的编程开源环境下生成供管理脚本调用的配置文件,所述配置文件包括目标硬盘所在的测试机ip、测试类型、目标硬盘的硬盘类型、目标硬盘的硬盘号和循环测试标准;
测试匹配单元,用于基于测试类型和硬盘类型调用匹配的测试脚本和测试工具;
文件封装单元,用于将目标硬盘的硬盘号写入所述测试脚本的目标参数,将测试脚本和测试工具封装为测试执行文件包。
在一个可选的实施方式中,所述系统还包括:
通信建立模块,用于基于目标硬盘所在测试机ip,与所述测试机建立通信连接,并将测试执行文件包发送至所述测试机。
在一个可选的实施方式中,测试匹配单元包括:
参数解析子单元,用于解析测试类型参数,测试类型参数包括顺序读测试、顺序写测试、顺序读写测试、随机读测试、随机写测试、随机读写测试和组合测试;
测试筛选子单元,用于基于测试类型参数筛选出具有匹配测试模型的目标测试脚本和目标测试脚本绑定的测试工具;
硬盘解析子单元,用于解析目标硬盘的硬盘类型参数,硬盘类型参数包括机械硬盘、固态串口硬盘和闪存固态硬盘;
参数修改子单元,用于基于目标硬盘的硬盘类型参数对目标测试脚本的单次读写数据量参数值和同时存取数据量参数值进行相应修改。
在一个可选的实施方式中,参数配置模块包括:
方案匹配单元,用于预先针对多种服务器规格和硬盘规格生成配置方案,基于目标硬盘规格和所属服务器规格调取配套方案,并将配套方案和所属服务器ip整合为目标硬盘的测试参数。
在一个可选的实施方式中,时间计算模块包括:
标准解析单元,用于解析测试参数中的循环测试标准;
第一计算单元,用于若循环测试标准为固定时间模式,则提取设定的时间参数,在接收到测试机反馈的测试开始时刻时利用计时器计时,将所述时间参数与计时时长的差值作为测试剩余时间输出;
第二计算单元,用于若循环测试标准为固定容量模式,则基于测试模型参数影响因子、环境影响因子、固定容量和带宽估算测试模型所需的测试时间,并将测试脚本中的未执行测试模型所需的测试时间累加得到测试剩余时间。
在一个可选的实施方式中,数据处理模块包括:
数据获取单元,用于预先在测试脚本设定将每个测试模型的测试数据在执行完成时上传至控制机,以使控制机及时获取到每个测试模型得到的测试数据;
数据处理单元,用于对测试数据进行分类筛选并绘制为图表。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,本发明提供的硬盘测试管理方法、系统、终端及存储介质,通过对硬盘测试脚本和工具进行分类管理,实现测试脚本和工具有针对性地分发、执行和进度监控,进而实现了针对不同类型硬盘的自动化批量测试的测试执行和测试数据收集处理,大大提升了硬盘测试效率和自动化程度。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的另一示意性流程图。
图3是本发明一个实施例的系统的示意性框图。
图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
下面对本发明中出现的关键术语进行解释。
本发明实施例提供的硬盘测试管理方法由计算机设备执行,相应地,硬盘测试管理系统运行于计算机设备中。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种硬盘测试管理系统。根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
如图1所示,该方法包括:
步骤110,为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包;
步骤120,将所述测试执行文件包下发至目标硬盘所在的测试机,以使测试执行文件包中的测试工具和测试脚本在所述测试机执行测试;
步骤130,基于测试参数为目标硬盘生成进度监控线程,通过所述进度监控线程计算目标硬盘的测试剩余时间;
步骤140,接收测试脚本反馈的测试数据,并在测试剩余时间为零时对测试数据进行汇总处理。
该方法主要使用Python和Fio来构建测试环境,先对测试机进行工具安装和脚本部署,然后自动计算脚本已经执行时间和剩余执行时间,同时通过对测试数据进行筛选分类和画图处理,自动判断否满足硬盘稳定性的要求。
Python是一种免费开源、简单易学、易维护的编程语言。由于Python开源的本质,已经被移植到许多平台上,成为多数平台上写脚本和快速开发应用的编程语言。这也是本发明采用Python进行编程的原因,从而使我们的脚本不管是在Linux下运行,还是在Windows下运行,都无需修改代码,可以直接运行,满足不同测试平台的要求。
Fio是一款开源的专业硬盘性能和压力测试软件,可以针对文件系统或者裸盘进行测试。Fio支持Linux和Windows;支持的读写模式包括:顺序读、随机读、顺序写、随机写、混合随机读写、混合顺序读写;支持十几种不同的I/O引擎,包括:sync、mmap、libaio、posixaio、SG v3、splice、null、network、syslet、guasi、solarisaio等等。
为了便于对本发明的理解,下面以本发明硬盘测试管理方法的原理,结合实施例中对硬盘稳定性测试过程进行管理的过程,对本发明提供的硬盘测试管理方法做进一步的描述。
具体的,请参考图2,所述硬盘测试管理方法包括:
S1、为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包。
首先在控制机部署Python,在Python环境下运行管理脚本,参考如下:
Python.exe Stability.py-h ip-mmode-t type-ddisk-c cycle-b base
脚本参数说明:
ip:指测试机带内系统的IP,用于测试机与控制机通信,例如1.1.1.1
mode:指要对硬盘进行的测试类型,一般有顺序读写测试和随机读写测试。mode=0,表示顺序读写测试,脚本依次会对硬盘执行顺序写测试、顺序读测试、顺序读写测试。
mode=1,表示随机读写测试,脚本依次会对硬盘执行随机写测试、随机读测试、随机读写测试。
mode=01,这是mode=0和mode=1的组合,表示先执行顺序读写测试,再执行随机读写测试。
mode=10,这是mode=1和mode=0的组合,表示先执行随机读写测试,再执行顺序读写测试。
mode=0r,只对硬盘进行顺序读测试。
mode=0w,只对硬盘进行顺序写测试。
mode=0rw,只对硬盘进行顺序读写测试。
mode=1r,只对硬盘进行随机读测试。
mode=1w,只对硬盘进行随机写测试。
mode=1rw,只对硬盘进行随机读写测试。
关于测试模型的说明,举个例子,当硬盘进行顺序读测试时,其实我们会根据bs(一次读写多大的数据,即每次io请求要读写多少数据大小,一般来说取值为4K、16K、64k、128k等等)和iodepth(同一时间有多少I/O在做存取,一般取值为1、32、64、128等等)的数值进行组合,从而会搭配出多种测试模型。因此,对硬盘执行顺序读时,bs=4k、iodepth=1就是其中的一个测试模型。
type:要进行测试的硬盘类型,在相同的测试类型中,会由于硬盘类型不同,调用不同的脚本。比如在顺序读这个测试类型中,由于硬盘类型不同,测试参数bs和iodepth都会不同。
type=0,表示硬盘类型是机械硬盘
type=1,表示硬盘类型是固态sata硬盘
type=2,表示硬盘类型是固态nvme硬盘
disk:指要进行测试的硬盘,例如nvmeOn1或者sda,当有多个硬盘进行测试时,可以通过'nvme0n1:|nvme1n1:|nvme2n1:'来进行指定。
cycle:指要每个测试模型采用固定时间还是固定容量来测试
cycle=0,表示每个测试模型采用固定时间来测试,可以通过-b参数来指定。如果用户不定义的话,默认参数是7200s。举个例子对硬盘执行顺序读时,bs=4k、iodepth=1就是其中的一个测试模型,这个模型将会运行客户指定的时间或者默认时间。那么我们在计算剩余测试时间的时候,将会得到一个非常准确的数值。
cycle=1,表示每个测试模型采用固定容量来测试,可以通过-b参数来指定。如果用户不定义的话,默认参数是硬盘容量。由于硬盘的读写带宽是受温度和振动等因素影响,特别是随着测试时间的加长,会涉及到垃圾回收机制,因此一个测试模式执行结束时间是随机的。那么我们在计算剩余测试时间的时候,将会采用一个智能算法,得到一个相对准确的估算数值。
在实际执行测试时,针对不同类型的测试目标,可以预先设置配置方案。即预先针对多种服务器规格和硬盘规格生成配置方案,基于目标硬盘规格和所属服务器规格调取配套方案,并将配套方案和所属服务器ip整合为目标硬盘的测试参数。这样可以为不同类型的测试目标快速生成配置文件,管理脚本基于测试目标的配置文件为测试目标匹配测试脚本和测试工具。然后将目标硬盘的硬盘号(例如nvmeOn1)写入测试脚本的目标参数,将测试脚本和测试工具封装为测试执行文件包。基于目标硬盘所在测试机ip,与所述测试机建立通信连接,并将测试执行文件包发送至测试机。由此可以实现针对不同规格测试机的硬盘测试所需的测试脚本和测试工具的精准分发。
其中在对测试脚本和测试工具进行筛选时,具体的筛选方法包括:解析测试类型参数,测试类型参数包括顺序读测试、顺序写测试、顺序读写测试、随机读测试、随机写测试、随机读写测试和组合测试;基于测试类型参数筛选出具有匹配测试模型的目标测试脚本和目标测试脚本绑定的测试工具;解析目标硬盘的硬盘类型参数,硬盘类型参数包括机械硬盘、固态串口硬盘和闪存固态硬盘;基于目标硬盘的硬盘类型参数对目标测试脚本的单次读写数据量参数值和同时存取数据量参数值进行相应修改。例如,某类硬盘的配置的测试类型为顺序写测试和随机读测试,则从测试脚本中筛选出仅包含顺序写测试的相关测试模型和随机读测试的相关测试模型。然后基于硬盘类型对测试模型中的bs和iodepth进行相应修改,其修改参数也可直接与硬盘类型绑定,基于硬盘类型自动调取绑定的参数值即可。
S2、将所述测试执行文件包下发至目标硬盘所在的测试机,以使测试执行文件包中的测试工具和测试脚本在所述测试机执行测试。
在控制机执行管理脚本,例如执行管理脚本后控制机将和IP为1.1.1.1的测试机进行通信,把顺序读测试(-t参数后面的数值指定)需要的测试工具和脚本发送给测试机,将会对硬盘nvme0和nvme1进行稳定性测试。控制机在测试机上安装工具,部署脚本。检测待测盘信息,清除OS日志,测试机开始执行压力测试脚本。
S3、基于测试参数为目标硬盘生成进度监控线程,通过所述进度监控线程计算目标硬盘的测试剩余时间。
首先,解析测试参数中的循环测试标准;若循环测试标准为固定时间模式,则提取设定的时间参数,在接收到测试机反馈的测试开始时刻时利用计时器计时,将所述时间参数与计时时长的差值作为测试剩余时间输出;若循环测试标准为固定容量模式,则基于测试模型参数影响因子、环境影响因子、固定容量和带宽估算测试模型所需的测试时间,并将测试脚本中的未执行测试模型所需的测试时间累加得到测试剩余时间。
具体的,基于测试目标的循环测试标准创建对应的测试剩余时间监控线程。时间监控线程的执行规则有两种,一种是若循环测试标准为固定时间模式,则提取设定的时间参数,在接收到测试机反馈的测试开始时刻时利用计时器计时,将时间参数与计时时长的差值作为测试剩余时间输出;另一种是获取测试脚本的全部测试模型信息同时根据已经返回的测试数据判断已执行的测试模型(预先设定测试脚本每执行完一个测试模型就将相应测试数据反馈至控制机),从而得到未执行的测试模型信息,利用智能算法计算每个未执行的测试模型所需的测试时间,累加得到测试剩余时间,关于智能算法的说明如下:假设只对硬盘进行顺序读测试,固定容量为C,取参数bs=(4,1024),iodepth=(1,128),一共有4个组合测试模型,那么控制机先跑bs=4和iodepth=128的测试模型,运行压力一分钟后读取硬盘带宽W,那么该测试模型的运行时间将会是k*C/W,其中k为考虑硬盘温度、环境温度、振动等因素计算出的影响因子。那么其他三个模型的运行时间分别为j*k*C/W,i*k*C/W,i*j*k*C/W,其中j是根据bs的取值不同计算出来的影响因子,i是根据iodepth取值不同计算出来的影响因子。将以上4个时间值相加就是计算出来的顺序读测试需要的总时间。
S4、接收测试脚本反馈的测试数据,并在测试剩余时间为零时对测试数据进行汇总处理。
预先在测试脚本设定将每个测试模型的测试数据在执行完成时上传至控制机,以使控制机及时获取到每个测试模型得到的测试数据;对测试数据进行分类筛选并绘制为图表。
测试机每执行完一个测试模型,就先将测试数据上传给控制机,然后开始下一个测试模型。测试数据包括硬盘的iops(每秒执行的IO次数)、bw(带宽,每秒的吞吐量)、lat(每次IO操作的延迟)等关键数据。控制机接受到测试数据后,控制机更新测试剩余时间,同时对数据进行分类筛选,绘制图表。
当测试机的压力脚本执行结束时,测试机收集OS日志,同时控制机显示测试结束,并基于预先设定的判断机制(如阈值比对机制)给出测试结果。
可见在本实施方式中只需要一台控制机就可以对多台待测机进行硬盘稳定性测试。测试开始时,一条命令就可以完成工具安装和脚本部署。在测试过程中,控制机会显示每个待测机中脚本已经运行时间,也会显示脚本还剩多少时间结束,方便测试人员合理安排每个待测机的测试任务。待测机每执行完一个测试模型,就会将当次的测试数据上传给控制机,再执行下个测试模型。控制机会自动对测试数据进行筛选分类,自动判断是否满足硬盘稳定性的要求;同时控制机也会根据测试数据绘制IO性能秒级监控曲线图,从而可以让测试人员更快发现测试过程中存在的隐藏问题。
在一些实施例中,所述硬盘测试管理系统300可以包括多个由计算机程序段所组成的功能模块。所述硬盘测试管理系统300中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)硬盘测试管理的功能。
本实施例中,所述硬盘测试管理系统300根据其所执行的功能,可以被划分为多个功能模块,如图3所示。所述功能模块可以包括:参数配置模块310、测试执行模块320、时间计算模块330和数据处理模块340。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
参数配置模块310,用于为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包;
测试执行模块320,用于将所述测试执行文件包下发至目标硬盘所在的测试机,以使测试执行文件包中的测试工具和测试脚本在所述测试机执行测试;
时间计算模块330,用于基于测试参数为目标硬盘生成进度监控线程,通过所述进度监控线程计算目标硬盘的测试剩余时间;
数据处理模块340,用于接收测试脚本反馈的测试数据,并在测试剩余时间为零时对测试数据进行汇总处理。
可选地,作为本发明一个实施例,参数配置模块包括:
文件配置单元,用于在预先部署的编程开源环境下生成供管理脚本调用的配置文件,所述配置文件包括目标硬盘所在的测试机ip、测试类型、目标硬盘的硬盘类型、目标硬盘的硬盘号和循环测试标准;
测试匹配单元,用于基于测试类型和硬盘类型调用匹配的测试脚本和测试工具;
文件封装单元,用于将目标硬盘的硬盘号写入所述测试脚本的目标参数,将测试脚本和测试工具封装为测试执行文件包。
可选地,作为本发明一个实施例,系统还包括:
通信建立模块,用于基于目标硬盘所在测试机ip,与所述测试机建立通信连接,并将测试执行文件包发送至所述测试机。
可选地,作为本发明一个实施例,测试匹配单元包括:
参数解析子单元,用于解析测试类型参数,测试类型参数包括顺序读测试、顺序写测试、顺序读写测试、随机读测试、随机写测试、随机读写测试和组合测试;
测试筛选子单元,用于基于测试类型参数筛选出具有匹配测试模型的目标测试脚本和目标测试脚本绑定的测试工具;
硬盘解析子单元,用于解析目标硬盘的硬盘类型参数,硬盘类型参数包括机械硬盘、固态串口硬盘和闪存固态硬盘;
参数修改子单元,用于基于目标硬盘的硬盘类型参数对目标测试脚本的单次读写数据量参数值和同时存取数据量参数值进行相应修改。
可选地,作为本发明一个实施例,参数配置模块包括:
方案匹配单元,用于预先针对多种服务器规格和硬盘规格生成配置方案,基于目标硬盘规格和所属服务器规格调取配套方案,并将配套方案和所属服务器ip整合为目标硬盘的测试参数。
可选地,作为本发明一个实施例,时间计算模块包括:
标准解析单元,用于解析测试参数中的循环测试标准;
第一计算单元,用于若循环测试标准为固定时间模式,则提取设定的时间参数,在接收到测试机反馈的测试开始时刻时利用计时器计时,将所述时间参数与计时时长的差值作为测试剩余时间输出;
第二计算单元,用于若循环测试标准为固定容量模式,则基于测试模型参数影响因子、环境影响因子、固定容量和带宽估算测试模型所需的测试时间,并将测试脚本中的未执行测试模型所需的测试时间累加得到测试剩余时间。
可选地,作为本发明一个实施例,数据处理模块包括:
数据获取单元,用于预先在测试脚本设定将每个测试模型的测试数据在执行完成时上传至控制机,以使控制机及时获取到每个测试模型得到的测试数据;
数据处理单元,用于对测试数据进行分类筛选并绘制为图表。
图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的硬盘测试管理方法。
其中,该终端400可以包括:处理器410、存储器420及通信模块430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器410可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信模块430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过对硬盘测试脚本和工具进行分类管理,实现测试脚本和工具有针对性地分发、执行和进度监控,进而实现了针对不同类型硬盘的自动化批量测试的测试执行和测试数据收集处理,大大提升了硬盘测试效率和自动化程度,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种硬盘测试管理方法,其特征在于,包括:
为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包;
将所述测试执行文件包下发至目标硬盘所在的测试机,以使测试执行文件包中的测试工具和测试脚本在所述测试机执行测试;
基于测试参数为目标硬盘生成进度监控线程,通过所述进度监控线程计算目标硬盘的测试剩余时间;
接收测试脚本反馈的测试数据,并在测试剩余时间为零时对测试数据进行汇总处理。
2.根据权利要求1所述的方法,其特征在于,为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包,包括:
在预先部署的编程开源环境下生成供管理脚本调用的配置文件,所述配置文件包括目标硬盘所在的测试机ip、测试类型、目标硬盘的硬盘类型、目标硬盘的硬盘号和循环测试标准;
基于测试类型和硬盘类型调用匹配的测试脚本和测试工具;
将目标硬盘的硬盘号写入所述测试脚本的目标参数,将测试脚本和测试工具封装为测试执行文件包。
3.根据权利要求2所述的方法,其特征在于,在为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包之后,所述方法还包括:
基于目标硬盘所在测试机ip,与所述测试机建立通信连接,并将测试执行文件包发送至所述测试机。
4.根据权利要求2所述的方法,其特征在于,基于测试类型和硬盘类型调用匹配的测试脚本和测试工具,包括:
解析测试类型参数,测试类型参数包括顺序读测试、顺序写测试、顺序读写测试、随机读测试、随机写测试、随机读写测试和组合测试;
基于测试类型参数筛选出具有匹配测试模型的目标测试脚本和目标测试脚本绑定的测试工具;
解析目标硬盘的硬盘类型参数,硬盘类型参数包括机械硬盘、固态串口硬盘和闪存固态硬盘;
基于目标硬盘的硬盘类型参数对目标测试脚本的单次读写数据量参数值和同时存取数据量参数值进行相应修改。
5.根据权利要求1所述的方法,其特征在于,为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包,包括:
预先针对多种服务器规格和硬盘规格生成配置方案,基于目标硬盘规格和所属服务器规格调取配套方案,并将配套方案和所属服务器ip整合为目标硬盘的测试参数。
6.根据权利要求1所述的方法,其特征在于,基于测试参数为目标硬盘生成进度监控线程,通过所述进度监控线程计算目标硬盘的测试剩余时间,包括:
解析测试参数中的循环测试标准;
若循环测试标准为固定时间模式,则提取设定的时间参数,在接收到测试机反馈的测试开始时刻时利用计时器计时,将所述时间参数与计时时长的差值作为测试剩余时间输出;
若循环测试标准为固定容量模式,则基于测试模型参数影响因子、环境影响因子、固定容量和带宽估算测试模型所需的测试时间,并将测试脚本中的未执行测试模型所需的测试时间累加得到测试剩余时间。
7.根据权利要求1所述的方法,其特征在于,接收测试脚本反馈的测试数据,并在测试剩余时间为零时对测试数据进行汇总处理,包括:
预先在测试脚本设定将每个测试模型的测试数据在执行完成时上传至控制机,以使控制机及时获取到每个测试模型得到的测试数据;
对测试数据进行分类筛选并绘制为图表。
8.一种硬盘测试管理系统,其特征在于,包括:
参数配置模块,用于为目标硬盘配置测试参数,并基于测试参数调用相应的测试执行文件包;
测试执行模块,用于将所述测试执行文件包下发至目标硬盘所在的测试机,以使测试执行文件包中的测试工具和测试脚本在所述测试机执行测试;
时间计算模块,用于基于测试参数为目标硬盘生成进度监控线程,通过所述进度监控线程计算目标硬盘的测试剩余时间;
数据处理模块,用于接收测试脚本反馈的测试数据,并在测试剩余时间为零时对测试数据进行汇总处理。
9.一种终端,其特征在于,包括:
存储器,用于存储硬盘测试管理程序;
处理器,用于执行所述硬盘测试管理程序时实现如权利要求1-7任一项所述硬盘测试管理方法的步骤。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述可读存储介质上存储有硬盘测试管理程序,所述硬盘测试管理程序被处理器执行时实现如权利要求1-7任一项所述硬盘测试管理方法的步骤。
CN202310302158.3A 2023-03-24 2023-03-24 硬盘测试管理方法、系统、终端及存储介质 Pending CN116244133A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310302158.3A CN116244133A (zh) 2023-03-24 2023-03-24 硬盘测试管理方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310302158.3A CN116244133A (zh) 2023-03-24 2023-03-24 硬盘测试管理方法、系统、终端及存储介质

Publications (1)

Publication Number Publication Date
CN116244133A true CN116244133A (zh) 2023-06-09

Family

ID=86627820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310302158.3A Pending CN116244133A (zh) 2023-03-24 2023-03-24 硬盘测试管理方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN116244133A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117476086A (zh) * 2023-12-26 2024-01-30 成都佰维存储科技有限公司 存储器性能测试方法、装置、可读存储介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117476086A (zh) * 2023-12-26 2024-01-30 成都佰维存储科技有限公司 存储器性能测试方法、装置、可读存储介质及电子设备

Similar Documents

Publication Publication Date Title
US10929260B2 (en) Traffic capture and debugging tools for identifying root causes of device failure during automated testing
US9810729B2 (en) Tester with acceleration for packet building within a FPGA block
CN110050441B (zh) 在故障情况下实时捕获流量以进行协议调试
CN105068929A (zh) 测试脚本生成方法和装置、测试方法、测试装置以及测试系统
CN106055464B (zh) 数据缓存集群压力测试装置及方法
US20140236524A1 (en) Tester with acceleration on memory and acceleration for automatic pattern generation within a fpga block
CN102568522A (zh) 硬盘性能的测试方法和装置
CN116244133A (zh) 硬盘测试管理方法、系统、终端及存储介质
CN109684166A (zh) 自动测试Sensor日志规范性的方法、装置、终端及存储介质
CN111400154A (zh) 一种固态硬盘的性能测试方法及相关装置
CN109407655A (zh) 一种调试芯片的方法及装置
CN112269697B (zh) 一种设备存储性能测试方法、系统及相关装置
CN111176924B (zh) 一种gpu掉卡模拟方法、系统、终端及存储介质
CN117076337A (zh) 一种数据传输方法、装置、电子设备及可读存储介质
CN104678292B (zh) 一种复杂可编程逻辑器件cpld测试方法和装置
CN116306429A (zh) 实现状态数据捕获的方法、装置、计算机存储介质及终端
CN114661586A (zh) 一种嵌入式计算机软件测试方法
CN114116337A (zh) 基于pcie链路配置的硬盘测试方法、系统、终端及存储介质
CN113254290A (zh) 一种内存颗粒多维测试方法、装置、系统和可读存储介质
CN107273296A (zh) 一种软件的测试方法及测试装置
CN112527584A (zh) 基于脚本编写及数据采集的软件效能提升方法和系统
CN113744795B (zh) 机械硬盘兼容服务器筛选方法、装置、终端及存储介质
CN117194198A (zh) Io性能测试方法、系统、终端及存储介质
CN115808612B (zh) 一种芯片物理ip测试系统、方法及电子设备
US9239775B1 (en) Coordinated testing

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