一种存储掉电保护的测试系统、方法、设备及存储介质与流程

文档序号:16401725发布日期:2018-12-25 20:09阅读:128来源:国知局
一种存储掉电保护的测试系统、方法、设备及存储介质与流程

本发明涉及存储技术领域,特别是涉及一种存储掉电保护的测试系统、方法、设备及存储介质。

背景技术

存储是it行业的基础,存储性能的好坏关系到业务的稳定和数据的安全。如果发生不可控的断电场景时,会由bbu(batterybackupunit,备用电源组)进行掉电保护,即当存储的ac电源断开时,bbu会自动为其供电,以保证缓存数据落盘,即保证了数据不丢失,不出错,实现了数据的安全、一致性。

在存储产品生产时,需要验证该产品的掉电保护功能是否能够实现,即验证该产品的质量。现有技术中,通过人工进行该项测试,由于操作过程较为复杂,并且存储产品数量多,单个存储产品可能还需要多次测试以保证测试结果正确,使得在进行存储掉电保护的测试时,需要大量人力投入。

综上所述,如何降低存储掉电保护测试时的人力投入,是目前本领域技术人员急需解决的技术问题。



技术实现要素:

本发明的目的是提供一种存储掉电保护的测试系统、方法、设备及存储介质,以降低存储掉电保护测试时的人力投入。

为解决上述技术问题,本发明提供如下技术方案:

一种存储掉电保护的测试系统,包括:

输入模块,用于获取携带有卷挂载目录、数量参数以及大小参数的目标指令;

第一挂载模块,用于在所述输入模块获取所述目标指令之后,将待测存储格式化成文件系统,并将所述文件系统挂载至所述卷挂载目录;

数据生成模块,用于根据所述目标指令在本地目录中生成目标文件;

剪切模块,用于将所述目标文件剪切至所述卷挂载目录中;

所述电源控制模块,用于在所述剪切模块的剪切过程中控制所述待测存储掉电,并在控制掉电之后的第一时刻控制所述待测存储上电;

第二挂载模块,用于在所述电源控制模块控制所述待测存储上电之后,将所述文件系统挂载至所述卷挂载目录;

文件校验模块,用于根据所述数据生成模块生成的所述目标文件,以及所述第一时刻之后所述本地目录以及所述卷挂载目录中的文件,进行文件校验,并根据校验结果确定所述待测存储是否通过此次掉电保护校验。

优选的,所述文件校验模块包括:

文件数校验子模块,用于在所述第一时刻之后,统计所述本地目录以及所述卷挂载目录的文件数量的总和,判断所述总和是否等于所述数量参数,如果是,则触发文件md5值校验模块,否则确定所述待测存储未通过此次掉电保护校验;

所述文件md5值校验模块,用于在所述剪切模块触发之前,记录所述目标文件中的预设数量的各个子文件的第一md5值,在所述第一时刻之后,记录相应的各个子文件的第二md5值,判断所述第一md5值是否与所述第二md5值一致,如果是,则确定所述待测存储通过此次掉电保护校验,否则确定所述待测存储未通过此次掉电保护校验。

优选的,还包括:

测试数量统计模块,用于在所述文件md5值校验模块确定所述待测存储通过此次掉电保护校验之后,判断针对所述待测存储的校验次数是否大于等于预设的次数阈值,如果是,则退出测试进程并确定所述待测存储掉电保护的测试通过,否则触发所述第一挂载模块以开始执行下一次掉电保护校验。

优选的,还包括:

提示信息输出模块,用于在所述文件校验模块确定出所述待测存储未通过此次掉电保护校验时,输出提示信息。

优选的,所述输入模块获取的所述目标指令中还携带有日志保存目录;

所述第一挂载模块,还用于将自身的操作过程记录在所述日志保存目录中;

所述剪切模块,还用于将自身的操作过程记录在所述日志保存目录中;

所述电源控制模块,还用于将自身的操作过程记录在所述日志保存目录中;

所述第二挂载模块,还用于将自身的操作过程记录在所述日志保存目录中;

所述文件校验模块,还用于将自身的操作过程记录在所述日志保存目录中。

一种存储掉电保护的测试方法,包括:

获取携带有卷挂载目录、数量参数以及大小参数的目标指令;

在获取所述目标指令之后,将待测存储格式化成文件系统,并将所述文件系统挂载至所述卷挂载目录;

根据所述目标指令在本地目录中生成目标文件;

将所述目标文件剪切至所述卷挂载目录中;

在剪切过程中控制所述待测存储掉电,并在控制掉电之后的第一时刻控制所述待测存储上电;

在所述控制所述待测存储上电之后,将所述文件系统挂载至所述卷挂载目录;

根据所述目标文件,以及所述第一时刻之后所述本地目录以及所述卷挂载目录中的文件,进行文件校验,并根据校验结果确定所述待测存储是否通过此次掉电保护校验。

优选的,所述根据所述目标文件,以及所述第一时刻之后所述本地目录以及所述卷挂载目录中的文件,进行文件校验,并根据校验结果确定所述待测存储是否通过此次掉电保护校验,包括:

在所述将所述目标文件剪切至所述卷挂载目录中之前,记录所述目标文件中的预设数量的各个子文件的第一md5值;

在所述第一时刻之后,统计所述本地目录以及所述卷挂载目录的文件数量的总和,并且记录相应的各个子文件的第二md5值,

判断所述总和是否等于所述数量参数;

如果否,则确定所述待测存储未通过此次掉电保护校验;

如果是,则判断所述第一md5值是否与所述第二md5值一致,如果是,则确定所述待测存储通过此次掉电保护校验,否则确定所述待测存储未通过此次掉电保护校验。

优选的,还包括:

在所述确定所述待测存储通过此次掉电保护校验之后,判断针对所述待测存储的校验次数是否大于等于预设的次数阈值;

如果是,则退出测试进程并确定所述待测存储掉电保护的测试通过,否则返回所述将待测存储格式化成文件系统,将所述文件系统挂载至所述卷挂载目录的步骤,以开始执行下一次掉电保护校验。

一种存储掉电保护的测试设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现上述任一项的内容。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项的内容。

应用本发明实施例所提供的技术方案,包括:输入模块,用于获取携带有卷挂载目录、数量参数以及大小参数的目标指令;第一挂载模块,用于在输入模块获取目标指令之后,将待测存储格式化成文件系统,并将文件系统挂载至卷挂载目录;数据生成模块,用于根据目标指令在本地目录中生成目标文件;剪切模块,用于将目标文件剪切至卷挂载目录中;电源控制模块,用于在剪切模块的剪切过程中控制待测存储掉电,并在控制掉电之后的第一时刻控制待测存储上电;第二挂载模块,用于在电源控制模块控制待测存储上电之后,将文件系统挂载至卷挂载目录;文件校验模块,用于根据数据生成模块生成的目标文件,以及第一时刻之后本地目录以及卷挂载目录中的文件,进行文件校验,并根据校验结果确定待测存储是否通过此次掉电保护校验。

本申请的方案中,可以自动进行存储掉电保护的测试。具体的,只需要向输入模块输入目标指令,后续的相关进程便可以自动进行,不需要人工操作,因此,本申请的方案有效地降低了在进行存储掉电保护测试时的人力投入。

附图说明

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

图1为本发明中一种存储掉电保护的测试系统的结构示意图;

图2为本发明中一种存储掉电保护的测试方法的实施流程图;

图3为本发明中一种存储掉电保护的测试设备的结构示意图。

具体实施方式

本发明的核心是提供一种存储掉电保护的测试系统,有效地降低了在进行存储掉电保护测试时的人力投入。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明中一种存储掉电保护的测试系统的结构示意图,该系统包括以下模块:

输入模块10,用于获取携带有卷挂载目录、数量参数以及大小参数的目标指令。

目标指令可以由测试人员进行输入,例如测试人员通过客户端输入目标指令,客户端再通过以太网向测试压力机发送目标指令。当然,目标指令也可以是预设在测试压力机中,由测试人员进行触发之后,输入模块10便可以自动进行目标指令的获取。并且需要说明的是,本申请的测试系统的各个模块,均可以设置在测试压力机中,各模块均可以基于shell实现自动化。当然,也可以根据实际需要选取其他类型的程序设计语言,并不影响本发明的实施。

目标指令中至少携带有卷挂载目录、数量参数以及大小参数。卷挂载目录可以使得测试压力机确定待测存储的位置,数量参数以及大小参数在数据生成模块30进行目标文件的生成时被使用。

第一挂载模块20,用于在输入模块10获取目标指令之后,将待测存储格式化成文件系统,并将文件系统挂载至卷挂载目录。

第一挂载模块20与输入模块10连接,当输入模块10获取到目标指令之后,第一挂载模块20便可以将待测存储格式化成文件系统,并将文件系统挂载至卷挂载目录。具体的,第一挂载模块20可以配合linux操作系统多路径工具multipath,通过cut命令获取待测存储的待测卷数量及设备符号,再通过makefilesystem命令将待测存储格式化成文件系统。格式化完成之后,通过mount命令挂载文件系统到测试人员指定的卷挂载目录,即目标指令中携带的卷挂载目录。

数据生成模块30,用于根据目标指令在本地目录中生成目标文件。

数据生成模块30可以根据目标指令中携带的数量参数以及大小参数生成目标文件。具体的,可以在测试压力机的本地目录中,通过dd命令批量生成多个子文件,每个子文件的大小等于目标指令中的大小参数,例如为大小均为4k,子文件的总数量等于目标指令中的数量参数。目标文件便是生成的子文件的总称。

剪切模块40,用于将目标文件剪切至卷挂载目录中。

测试压力机可以通过san(storageareanetwork,存储区域网络)与待测存储连接,即剪切模块40可以通过san网络将目标文件剪切至卷挂载目录中。当然,在其他实施方式中,测试压力机与待测存储之间也可以是其他的连接方式,能够使得剪切模块40与待测存储之间进行数据交互即可,并不影响本发明的实施。

电源控制模块50,用于在剪切模块40的剪切过程中控制待测存储掉电,并在控制掉电之后的第一时刻控制待测存储上电。

电源控制模块50在剪切过程中启动,具体的启动时间点可以根据实际情况进行设定,例如根据目标文件的大小,剪切速度等因素进行启动时间点的设计。例如在一种具体实施方式中,剪切模块40启动之后,根据实验数据的统计,剪切过程大约10秒执行完毕,则可以利用相关的计时装置,在剪切模块40启动之后的第4秒触发电源控制模块50。

电源控制模块50触发之后,首先会控制待测存储掉电。具体的,电源控制模块50可以通过以太网向ac电源控制器发送ac电源端口off指令,ac电源控制器可以控制待测存储是否能够接收到ac供电。当ac电源控制器接收到ac电源端口off指令时,便可以控制待测存储掉电,即控制待测存储失去ac供电。

当待测存储失去ac供电时,如果待测存储产品质量合格,其bbu便会启动,以保证缓存数据不丢失。具体的,在bbu启动时,会将正在从测试压力机中写入待测存储中的数据进行保存,等待该待测存储重新得到ac供电时,再将这部分数据落盘,以保证缓存数据不丢失。

电源控制模块50在控制待测存储掉电之后的第一时刻,控制待测存储上电,第一时刻可以根据实际需要进行设定。具体的,电源控制模块50可以通过以太网向ac电源控制器发送ac电源端口on指令,ac电源控制器接收到ac电源端口on指令时,便可以控制待测存储上电,即控制待测存储得到ac供电。

第二挂载模块60,用于在电源控制模块50控制待测存储上电之后,将文件系统挂载至卷挂载目录。

在电源控制模块50控制待测存储上电之后,由于测试压力机需要重新确定待测存储的位置,因此第二挂载模块60会启动,将文件系统挂载至卷挂载目录。具体的,可以通过mount命令挂载文件系统到目标指令中携带的卷挂载目录。

文件校验模块70,用于根据数据生成模块30生成的目标文件,以及第一时刻之后本地目录以及卷挂载目录中的文件,进行文件校验,并根据校验结果确定待测存储是否通过此次掉电保护校验。

数据生成模块30生成的目标文件也就是在剪切操作之前,未经损坏、丢失的文件。而第一时刻之后,由于待测存储经历过掉电再上电的操作,因此如果待测存储的掉电保护功能正常,则第一时刻之后本地目录中的文件以及卷挂载目录中的文件的总文件,将会与此前数据生成模块30生成的目标文件一致。相应的,如果待测存储的掉电保护功能不合格,就可能存在数据丢失、出错的情况,也就会使得本地目录中的文件以及卷挂载目录中的文件的总文件与目标文件不一致。

并且需要指出的是,在进行文件校验时,可以是抽选出部分文件进行校验,也可以是全部校验,并且校验内容可以是文件数量,文件全文等,并不影响本发明的实施。例如一种具体实施方式中,判断目标文件中的子文件的数量是否等于第一时刻之后本地目录以及卷挂载目录中的文件数量总和,如果是,则校验结果为目标文件与第一时刻之后本地目录及卷挂载目录中的总文件一致,否则校验结果为二者不一致。

文件校验模块70可以根据校验结果确定待测存储是否通过此次掉电保护校验,并且当待测存储未通过此次掉电保护校验时,通常可以直接结束测试进程,并判定该待测存储的掉电保护功能不合格。而待测存储通过此次掉电保护校验时,可以是结束测试进程并判定该待测存储的掉电保护功能合格,在另一种实施方式中,也可以是触发测试数量统计模块,测试数量统计模块可以判断针对待测存储的校验次数是否大于等于预设的次数阈值,如果是,则退出测试进程并确定待测存储掉电保护的测试通过,即判定该待测存储的掉电保护功能合格,如果校验次数小于预设的次数阈值时,则可以触发第一挂载模块20以开始执行下一次掉电保护校验。由于该种实施方式中,待测存储只有在通过掉电保护校验的次数达到次数阈值,测试进程才会结束,也就能够进一步地降低存储产品的不良率,降低了单次测试存在的测试结果的误差。

应用本发明实施例所提供的技术方案,包括:输入模块10,用于获取携带有卷挂载目录、数量参数以及大小参数的目标指令;第一挂载模块20,用于在输入模块10获取目标指令之后,将待测存储格式化成文件系统,并将文件系统挂载至卷挂载目录;数据生成模块30,用于根据目标指令在本地目录中生成目标文件;剪切模块40,用于将目标文件剪切至卷挂载目录中;电源控制模块50,用于在剪切模块40的剪切过程中控制待测存储掉电,并在控制掉电之后的第一时刻控制待测存储上电;第二挂载模块60,用于在电源控制模块50控制待测存储上电之后,将文件系统挂载至卷挂载目录;文件校验模块70,用于根据数据生成模块30生成的目标文件,以及第一时刻之后本地目录以及卷挂载目录中的文件,进行文件校验,并根据校验结果确定待测存储是否通过此次掉电保护校验。

本申请的方案中,可以自动进行存储掉电保护的测试。具体的,只需要向输入模块10输入目标指令,后续的相关进程便可以自动进行,不需要人工操作,因此,本申请的方案有效地降低了在进行存储掉电保护测试时的人力投入。

在本发明的一种具体实施方式中,文件校验模块70可以包括以下子模块:

文件数校验子模块,用于在第一时刻之后,统计本地目录以及卷挂载目录的文件数量的总和,判断总和是否等于数量参数,如果是,则触发文件md5值校验模块,否则确定待测存储未通过此次掉电保护校验;

文件md5值校验模块,用于在剪切模块40触发之前,记录目标文件中的预设数量的各个子文件的第一md5值,并且在第一时刻之后,记录相应的各个子文件的第二md5值,判断第一md5值是否与第二md5值一致,如果是,则确定待测存储通过此次掉电保护校验,否则确定待测存储未通过此次掉电保护校验。

md5值指的是基于md5(message-digestalgorithm5,信息-摘要算法5)确定出的值。该种实施方式中,从文件数量以及文件内容两方面出发进行文件校验。具体的,在第一时刻之后,即在第二挂载模块60将文件系统挂载至卷挂载目录之后,文件数校验子模块可以统计本地目录以及卷挂载目录的文件数量的总和,判断总和是否等于数量参数,数量参数也就是目标文件中的文件数量。如果该总和与数量参数相同,说明本地目录以及卷挂载目录的文件数量的总和与目标文件所包含的文件数量一致,则触发md5值校验模块,否则可以确定待测存储未通过此次掉电保护校验。

需要指出的是,在进行剪切之前,文件md5值校验模块便记录下目标文件中的预设数量的各个子文件的第一md5值,而在文件数校验子模块触发文件md5值校验模块之后,文件md5值校验模块会记录相应的各个子文件的第二md5值。此处描述的相应的各个子文件,指的是对应于在目标文件中被预设的各个子文件。例如,目标文件中共有1号,2号直至1000号子文件。在进行剪切之前,记录下1号子文件,3号子文件以及4号子文件各自的md5值,即第一md5值共包含3个子文件的md5值。则在获取第二md5值时,也是获取这3个子文件各自的md5值,作为第二md5值。当然,在具体实施时,也可以将预设数量设置为与目标文件中的子文件的数量相同,也就是对目标文件全体均进行md5值的校验。

文件md5值校验模块可以判断第一md5值是否与第二md5值一致,此处描述的一致,指的是第一md5值中包含的对应于不同子文件的各个md5值,均与第二md5值中包含的相对应的那个md5值相同。在确定一致之后,则可以确定待测存储通过此次掉电保护校验,否则确定待测存储未通过此次掉电保护校验。当然,在设置有测试数量统计模块的实施方式中,当文件md5值校验模块确定待测存储通过此次掉电保护校验之后,测试数量统计模块可以判断针对待测存储的校验次数是否大于等于预设的次数阈值,如果是,则退出测试进程并确定待测存储掉电保护的测试通过,否则触发第一挂载模块20以开始执行下一次掉电保护校验。

在本发明的一种具体实施方式中,还包括:

提示信息输出模块,用于在文件校验模块70确定出待测存储未通过此次掉电保护校验时,输出提示信息。

在该种实施方式中,为了使得测试人员及时获知待测存储未通过掉电保护校验的信息,可以在文件校验模块70确定出待测存储未通过此次掉电保护校验时,基于提示信息输出模块输出提示信息,以使得测试人员及时进行相应处理,例如立即切换至下一待测存储。

在一种具体实施方式中,输入模块10获取的目标指令中还携带有日志保存目录,相应的,第一挂载模块20在进行自身的操作时,还可以将自身的操作过程记录在该日志保存目录中,同时,剪切模块40、电源控制模块50、第二挂载模块60以及文件校验模块70,均可以将自身的操作过程记录在该日志保存目录中。这样的实施方式,有利于测试人员可以随时获取日志保存目录中放置的测试日志,也就使得测试人员可以全面了解存储掉电保护的测试进程以及历史测试记录,同时也有助于针对存储产品的后续分析。

相应于上面的系统实施例,本发明实施例还提供了一种存储掉电保护的测试方法,下文描述的存储掉电保护的测试方法与上文描述的存储掉电保护的测试系统可相互对应参照。

参见图2所示,为本发明中一种存储掉电保护的测试方法的实施流程图,包括以下步骤:

步骤s201:获取携带有卷挂载目录、数量参数以及大小参数的目标指令。

步骤s202:在获取目标指令之后,将待测存储格式化成文件系统,并将文件系统挂载至卷挂载目录。

步骤s203:根据目标指令在本地目录中生成目标文件。

步骤s204:将目标文件剪切至卷挂载目录中。

步骤s205:在剪切过程中控制待测存储掉电,并在控制掉电之后的第一时刻控制待测存储上电。

步骤s206:在控制待测存储上电之后,将文件系统挂载至卷挂载目录。

步骤s207:根据目标文件,以及第一时刻之后本地目录以及卷挂载目录中的文件,进行文件校验,并根据校验结果确定待测存储是否通过此次掉电保护校验。

在本发明的一种具体实施方式中,步骤s207包括以下步骤:

在将目标文件剪切至卷挂载目录中之前,记录目标文件中的预设数量的各个子文件的第一md5值;

在第一时刻之后,统计本地目录以及卷挂载目录的文件数量的总和,并且记录相应的各个子文件的第二md5值,

判断总和是否等于数量参数;

如果否,则确定待测存储未通过此次掉电保护校验;

如果是,则判断第一md5值是否与第二md5值一致,如果是,则确定待测存储通过此次掉电保护校验,否则确定待测存储未通过此次掉电保护校验。

在本发明的一种具体实施方式中,还包括以下步骤:

在确定待测存储通过此次掉电保护校验之后,判断针对待测存储的校验次数是否大于等于预设的次数阈值;

如果是,则退出测试进程并确定待测存储掉电保护的测试通过,否则返回将待测存储格式化成文件系统,将文件系统挂载至卷挂载目录的步骤,以开始执行下一次掉电保护校验。

在本发明的一种具体实施方式中,还包括:

在步骤s207中确定出待测存储未通过此次掉电保护校验时,输出提示信息。

相应于上面的方法和系统实施例,本发明实施例还提供了一种存储掉电保护的测试设备以及一种计算机可读存储介质,可与上文描述的存储掉电保护的测试系统和方法可相互对应参照。

可参见图3,该存储掉电保护的测试设备包括:

存储器301,用于存储计算机程序;

处理器302,用于执行计算机程序以实现上述任一实施例中的存储掉电保护的测试系统的内容。

该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的存储掉电保护的测试系统的内容。这里所说的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质。

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

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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