一种硬件检测方法及其工具与流程

文档序号:16207766发布日期:2018-12-08 07:20阅读:142来源:国知局
一种硬件检测方法及其工具与流程

本发明涉及硬件检测技术领域,特别是涉及一种硬件检测方法及其工具。

背景技术

在云计算时代,海量数据需要海量的存储硬盘,硬盘质量的好坏,极大的影响了云计算数据中心中的稳定性。为了保证海量存储的稳定性,需要对硬盘的性能进行检测。

目前已经产生了各种硬盘检测方法,最常用的就是将硬盘交给专门的检测部门进行大量的性能测试和稳定性测试。但是检测部门在做测试时,通常是由工作人员分别为每项检测编写特定的程序测试,这样的测试方法需要一项一项的进行检测,工作人员需要较大的工作量,且成本高,效率低,无法满足大量的硬盘测试需求。

因此,如何提供一种工作量小、效率高的硬件检测方法及其工具是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种硬件检测方法及其工具,能够一次性对硬盘的多项性能进行测试,测试效率更高,且工作量和成本更低。

为解决上述技术问题,本发明提供了一种硬件检测方法,包括:

接收启动指令后,调用并运行后台检测脚本;

读取预设的检测配置信息;所述预设的检测配置信息包括支持的硬盘类型和型号以及多个检测程序的存储路径;

依据所述检测配置信息,搜索待检测硬盘并依次调用各个所述检测程序;

分别运行各个所述检测程序对所述待检测硬盘进行检测,得到检测结果并进行显示。

优选地,所述预设的检测配置信息还包括日志保存路径;

对所述待检测硬盘进行的每项检测完成后,还包括:

将所述检测结果输入日志,所述日志依据所述日志保存路径保存至相应的位置。

优选地,所述运行所述检测程序对所述待检测硬盘进行检测的过程包括:

读取所述待检测硬盘的第一个字节和最后一个字节,查看所述第一个字节和最后一个字节是否均为0,若是,则所述待检测硬盘为空盘,否则,所述待检测硬盘为非空盘。

优选地,所述运行所述检测程序对所述待检测硬盘进行检测的过程还包括:

运行磁盘健康监测程序smartcrl,检测所述待检测硬盘的健康状态参量是否满足预设健康阈值范围,若满足,则所述待检测硬盘健康,否则,所述待检测硬盘处于非健康状态。

优选地,所述运行所述检测程序对所述待检测硬盘进行检测的过程还包括:

运行硬盘页面检测程序sg_modes,检测所述待检测硬盘的页面内保存的状态参量是否满足预设要求,若满足,则所述待检测硬盘页面正常,否则,所述待检测硬盘页面处于非正常状态。

优选地,所述运行所述检测程序对所述待检测硬盘进行检测的过程还包括:

运行硬盘坏盘检测程序sg_verify,检测所述待检测硬盘是否存在坏块,若不存在,则所述待检测硬盘无坏盘,否则,所述待检测硬盘存在坏盘。

优选地,所述运行所述检测程序对所述待检测硬盘进行检测的过程还包括:

在预设时间长度内,持续向所述待检测硬盘进行预设数据量的读写操作,检测所述读写操作是否成功。

优选地,所述运行所述检测程序对所述待检测硬盘进行检测的过程还包括:

运行硬盘读写效率检测程序fio,检测所述待检测硬盘的读写速度。

优选地,所述预设的检测配置信息还包括预设扣分规则;

所述运行所述检测程序对所述待检测硬盘进行检测的过程还包括:

依据所述检测结果按照预设扣分规则对所述待检测硬盘进行扣分;

全部检测程序均完成对所述待检测硬盘的检测后,得到所述待检测硬盘的总得分并确定所述总得分所处分值范围对应的硬盘等级;

对所述总得分以及所述硬盘等级进行显示。

为解决上述技术问题,本发明还提供了一种硬件检测工具,包括:

配置数据库,用于保存预设的检测配置信息以及后台检测脚本的保存路径;所述预设的检测配置信息包括支持的硬盘类型和型号以及多个检测程序的存储路径;

启动模块,用于接收启动指令后,调用所述后台检测脚本;

脚本运行模块,用于运行所述后台检测脚本,读取预设的检测配置信息;依据所述检测配置信息,搜索待检测硬盘并依次调用各个所述检测程序;分别运行各个所述检测程序对所述待检测硬盘进行检测,得到检测结果并发送至前台显示模块;

所述前台显示模块,用于对所述检测结果进行显示。

本发明提供了一种硬件检测方法及其工具,预先编写一个用于进行硬盘检测的后台测试脚本,之后预设测试时支持的硬盘类型及型号以及检测程序的路径,之后在对硬盘进行测试时,只需要生成启动指令,后续即会自动调用并运行后台测试脚本,后台测试脚本运行后,即会根据所支持的硬盘类型及型号进行搜索,搜索到的硬盘即为待测试硬盘,之后会依次调用预设的检测程序对待测试进行进行测试,并显示测试结果。可见,本发明能够在一次测试过程中依次调用多个检测程序对硬盘的多项内容进行检测,相比分别编写脚本一项一项单独测试的方式,测试效率更高,且工作量和成本更低。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种硬件检测方法的过程的流程图;

图2为本发明提供的一种硬件检测工具的结构示意图。

具体实施方式

本发明的核心是提供一种硬件检测方法及其工具,能够一次性对硬盘的多项性能进行测试,测试效率更高,且工作量和成本更低。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种硬件检测方法,参见图1所示,图1为本发明提供的一种硬件检测方法的过程的流程图;该方法包括:

步骤s1:接收启动指令后,调用并运行后台检测脚本;

其中,这里的启动指令,是用于启动整个测试流程的,启动指令的生成方式,可以是由用户输入指定字符串后触发生成,也可以在运行本发明方法的设备上的前台显示界面上设置“测试”按钮,用户点击该按钮后,即生成启动指令,当然,也可采用其他方式生成,本发明对此不作限定。

另外,后台检测脚本为预先生成的、用于控制整个测试流程程序的脚本。运行后台检测脚本后,即会自动进入后续步骤的检测操作。为了调用后台对比脚本,需要预先设定好启动指令对应的调用接口,以及调用接口与后台检测脚本之间的链接关系。

具体实现时,接收启动指令后,前台界面连接主机端,通过webservice接口调用后台检测脚本,进行硬盘检测。后台检测脚本优选为shell脚本,当然,本发明不限定脚本类型以及调用接口类型。

步骤s2:读取预设的检测配置信息;预设的检测配置信息包括支持的硬盘类型和型号以及多个检测程序的存储路径;

可以理解的是,由于后台检测脚本内包含的是整个检测流程程序,该检测程序对于不同的硬件是相同的,因此,后台检测脚本设置好之后,在以后硬件检测时不需要再进行修改。而检测过程中所需的检测配置信息,可能会根据硬盘的检测需求进行部分调整,例如增加不同的检测程序时,会调整检测程序的路径等,每次检测时可能会与之前存在差异,导致前次保存的检测配置信息无法满足本次检测,因此检测配置信息不仅需要提前设置,且每次进行检测时,可在生成启动指令之前,根据自身需求通过前台显示界面进行调整。

步骤s3:依据检测配置信息,搜索待检测硬盘并依次调用各个检测程序;

可以理解的是,本发明由于是对硬盘做检测,而承载本发明方法的设备上插入的硬件通常即为待检测的硬件,因此只需要设置好检测支持的硬盘型号及类型即可,后续依据此条件进行搜索,搜索到的硬盘即为待检测硬盘。由于搜索到的硬盘可能不止一个,此时需要统计搜索到的硬盘的数量进行记录,之后依次对各个待检测硬盘进行测试。

步骤s4:分别运行各个检测程序对待检测硬盘进行检测,得到检测结果并进行显示。

由于在对硬盘检测时,若同时运行多个检测程序对硬盘做检测,不仅硬盘程序可能会发生混乱,且各个检测程序之间也可能相互干扰,导致测试结果不准确,因此,需要依次调用各个检测程序进行检测,一项检测完成后再进行第二项,不过在此过程中并不需要工作人员触发,而是前一项检测完成后会自动开始后一项的测试。

在一种具体实施例中,预设的检测配置信息还包括日志保存路径;

对待检测硬盘进行的每项检测完成后,还包括:

将检测结果输入日志,日志依据日志保存路径保存至相应的位置。

可以理解的是,将检测结果保持至日志内,这些日志可作为历史检测记录,工作人员后续可根据这些日志进行检测结果的汇总、追溯和分析。

在优选实施例中,本发明中的检测程序均为开源软件,即本发明应用于保存有硬盘检测功能的开源软件的设备中。

这样使得后台检测脚本运行后,可直接依据检测程序的路径调用这些开源软件进行硬件测试。这种方式下,工作人员只需要编写控制整个流程的后台检测脚本以及设置好检测配置信息即可,不需要编写硬件测试的各项测试脚本,从而进一步减小了本发明硬件检测的工作量,而使用免费的开源软件完成硬件检测的话,不仅容易维护,且大大降低了硬件检测的成本和实用性,同时可扩展性强,只需要根据不同硬件的测试需求调整检测配置信息内的检测程序的路径即可。

具体的,运行检测程序对待检测硬盘进行检测的过程包括:

读取待检测硬盘的第一个字节和最后一个字节,查看第一个字节和最后一个字节是否均为0,若是,则待检测硬盘为空盘,否则,待检测硬盘为非空盘。

检测硬盘首先要确认其是否为空盘,因为空盘表明该硬盘应该为新盘,非空盘表明该盘为旧盘。

在另一实施例中,运行检测程序对待检测硬盘进行检测的过程还包括:

运行磁盘健康监测程序smartcrl,检测待检测硬盘的健康状态参量是否满足预设健康阈值范围,若满足,则待检测硬盘健康,否则,待检测硬盘处于非健康状态。

可以理解的是,磁盘的健康状态能够一定程度上反映磁盘的容量以及其能够正常使用。

在另一实施例中,运行检测程序对待检测硬盘进行检测的过程还包括:

运行硬盘页面检测程序sg_modes,检测待检测硬盘的页面内保存的状态参量是否满足预设要求,若满足,则待检测硬盘页面正常,否则,待检测硬盘页面处于非正常状态。

其中,这里的页面内保存的状态参量指的是硬盘的page中保存的硬盘本身的一些参量数据,例如容量等,将其与预设要求进行比较,就是为了确定page中保存的这些参量数据是否正确。

在另一实施例中,运行检测程序对待检测硬盘进行检测的过程还包括:

运行硬盘坏盘检测程序sg_verify,检测待检测硬盘是否存在坏块,若不存在,则待检测硬盘无坏盘,否则,待检测硬盘存在坏盘。

可以理解的是,硬盘是有需要数据块组成,数据存储至硬盘后,具体是存储于数据块中,检测是否有坏块,即是检测硬盘是否存在无法读写的区域。

在另一实施例中,运行检测程序对待检测硬盘进行检测的过程还包括:

在预设时间长度内,持续向待检测硬盘进行预设数据量的读写操作,检测读写操作是否成功。

硬盘的基础功能,即为能够进行数据的读写,通过本项测试即是检测硬盘能够进行读写操作。

具体的,本项测试可以多次重复进行,这里的预设时间长度可以为10分钟,预设数据量可以在不同测试周期内分别为4k或者1m,另外,读写时可以对这部分数据顺序进行读写,也可以将这部分数据随机进行读写。具体的读写检测方式、预设时间长度以及预设数据量的数值本发明均不作限定。

在另一实施例中,运行检测程序对待检测硬盘进行检测的过程还包括:

运行硬盘读写效率检测程序fio,检测待检测硬盘的读写速度。

其中,这里的读写速度也可以理解为读写效率,例如一分钟内能够进行多少数据量的读写等。

可以理解的是,以上几个实施例之间可以任意组合,组合得到的方案均在本发明的保护范围之内。另外,根据检测需求还可调度其他的检测程序进行检测,例如sg_inq、sg_scan、sg_ses、sg_readcap、sg_map、sg_sat_identify、od等,本发明不限定检测程序的具体内容。

在一种优选实施例中,预设的检测配置信息还包括预设扣分规则;

运行检测程序对待检测硬盘进行检测的过程还包括:

依据检测结果按照预设扣分规则对待检测硬盘进行扣分;

全部检测程序均完成对待检测硬盘的检测后,得到待检测硬盘的总得分并确定总得分所处分值范围对应的硬盘等级;

对总得分以及硬盘等级进行显示。

这里的预设扣分规则包括总分值、各项检测结果的阈值范围所对应的扣分数、以及不同的总得分范围对应的硬盘等级。

例如,总分值为100,存在5个坏块扣5分,非空盘扣1分,总得分在60分硬盘等级为b级等等。

当然,本发明不限定预设扣分规则的具体内容。

另外,可将扣分情况、总得分以及硬盘等级保存至日志内。

本发明提供了一种硬件检测方法及其工具,预先编写一个用于进行硬盘检测的后台测试脚本,之后预设测试时支持的硬盘类型及型号以及检测程序的路径,之后在对硬盘进行测试时,只需要生成启动指令,后续即会自动调用并运行后台测试脚本,后台测试脚本运行后,即会根据所支持的硬盘类型及型号进行搜索,搜索到的硬盘即为待测试硬盘,之后会依次调用预设的检测程序对待测试进行进行测试,并显示测试结果。可见,本发明能够在一次测试过程中依次调用多个检测程序对硬盘的多项内容进行检测,相比分别编写脚本一项一项单独测试的方式,测试效率更高,能够实现硬件的批量测试,且工作量和成本更低。

本发明还提供了一种硬件检测工具,参见图2所示,图2为本发明提供的一种硬件检测工具的结构示意图。该工具包括:

配置数据库1,用于保存预设的检测配置信息以及后台检测脚本的保存路径;预设的检测配置信息包括支持的硬盘类型和型号以及多个检测程序的存储路径;

启动模块2,用于接收启动指令后,调用后台检测脚本;

脚本运行模块3,用于运行后台检测脚本,读取预设的检测配置信息;依据检测配置信息,搜索待检测硬盘并依次调用各个检测程序;分别运行各个检测程序对待检测硬盘进行检测,得到检测结果并发送至前台显示模块4;

前台显示模块4,用于对检测结果进行显示。

以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本技术领域的普通技术人员来说,相关专业技术人员在不脱离本发明精神和构思前提下推演出的其他改进和变化,均应包含在本发明的保护范围之内。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1