本发明涉及磁盘测试技术领域,具体涉及一种磁盘数据一致性校验方法、系统、终端及存储介质。
背景技术:
磁盘数据一致性是指磁盘在存储控制器重启、存储与主机网络故障、存储设备下电等特殊场景下,磁盘数据不会被覆盖或丢失,是检查存储设备数据保护能力优劣的一个重要指标,也是存储测试的一个重要测试项。
当前校验磁盘数据一致性的常用方法是挂载文件系统,向目标磁盘拷贝大文件,通过校验特殊场景前后该文件md5值来侧面检查磁盘数据的一致性。
现有磁盘数据一致性校验方法存在以下缺点:1、需要挂载文件系统、拷贝大文件、获取文件md5值等操作繁琐,费时比较多;2、这个方法实际上是校验的文件的数据一致性,不是直接反馈的磁盘的数据一致性,如果故障场景下破坏了校验文件之外的磁盘扇区的话,这种测试方法得出的结论是错误的;3、校验使用的文件需要足够大,其中多大的文件满足要求的标准因人而异,测试结果无法保证;4、当前浪潮存储支持最大的盘是512t,对于如此大容量的硬盘,无法在短时间内完成数据一致性校验。
技术实现要素:
针对现有技术的上述不足,本发明提供一种磁盘数据一致性校验方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种磁盘数据一致性校验方法,包括:
获取磁盘全量逻辑区块地址的对应数值,并将所述对应数值的压缩文件作为第一文件;
向所述磁盘的运行场景注入故障,获取磁盘全量逻辑区块地址的故障后对应数值,并将所述故障后对应数值的压缩文件作为第二文件;
判断所述第一文件与所述第二文件是否匹配,若两者匹配则判定所述磁盘通过校验。
进一步的,所述获取磁盘全量逻辑区块地址的对应数值,并将所述对应数值的压缩文件作为第一文件,包括:
指定单次压缩位数;
采集所述单次压缩位数的2进制对应数值作为压缩数值;
将提取的压缩数值转换为16进制字符,并将所述16进制字符保存至所述第一文件;
循环采集压缩数值进行压缩直至将磁盘的全量逻辑区块地址的对应数值压缩完成。
进一步的,所述向磁盘的运行场景注入故障,包括:
设置故障注入脚本,所述故障注入脚本包括下电和控制器插拔;
监控到所述第一文件创建完成后,执行所述故障注入脚本。
进一步的,所述判断第一文件与第二文件是否匹配,包括:
计算所述第一文件的第一信息摘要值;
计算所述第二文件的第二信息摘要值;
判断第一信息摘要值与第二信息摘要值是否一致:
若是,则判定所述第一文件与所述第二文件匹配。
第二方面,本发明提供一种磁盘数据一致性校验系统,包括:
标准保存单元,配置用于获取磁盘全量逻辑区块地址的对应数值,并将所述对应数值的压缩文件作为第一文件;
故障模拟单元,配置用于向所述磁盘的运行场景注入故障,获取磁盘全量逻辑区块地址的故障后对应数值,并将所述故障后对应数值的压缩文件作为第二文件;
结果获取单元,配置用于判断所述第一文件与所述第二文件是否匹配,若两者匹配则判定所述磁盘通过校验。
进一步的,所述标准保存单元包括:
位数指定模块,配置用于指定单次压缩位数;
单次采集模块,配置用于采集所述单次压缩位数的2进制对应数值作为压缩数值;
数值压缩模块,配置用于将提取的压缩数值转换为16进制字符,并将所述16进制字符保存至所述第一文件;
压缩完成模块,配置用于循环采集压缩数值进行压缩直至将磁盘的全量逻辑区块地址的对应数值压缩完成。
进一步的,所述故障注入单元包括:
脚本设置模块,配置用于设置故障注入脚本,所述故障注入脚本包括下电和控制器插拔;
脚本执行模块,配置用于监控到所述第一文件创建完成后,执行所述故障注入脚本。
进一步的,所述结果获取单元包括:
第一计算模块,配置用于计算所述第一文件的第一信息摘要值;
第二计算模块,配置用于计算所述第二文件的第二信息摘要值;
一致判断模块,配置用于判断第一信息摘要值与第二信息摘要值是否一致;
匹配判定模块,配置用于若第一信息摘要值与第二信息摘要值一致,则判定所述第一文件与所述第二文件匹配。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的磁盘数据一致性校验方法、系统、终端及存储介质,通过对全量逻辑区块地址(lba)的对应数值进行压缩,然后对压缩后的数值按照lba先后位置汇总到一个文件,通过对故障先后的全量逻辑区块地址(lba)的对应数值压缩文件进行一致性判断,来快速判断大容量磁盘数据的一致性。本发明能够快速检测大容量磁盘数据的一致性,无需向磁盘导入大文件,提升了测试效率,且能够直接反馈磁盘的数据一致性,提高了测试准确性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
英文缩写:lba
英文全称:logicalblockaddress
中文全称:逻辑区块地址(logicalblockaddress,lba)是描述计算机存储设备上数据所在区块的通用机制,一般用在像硬盘这样的辅助记忆设备。lba可以意指某个数据区块的地址或是某个地址所指向的数据区块。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种磁盘数据一致性校验系统。
如图1所示,该方法100包括:
步骤110,获取磁盘全量逻辑区块地址的对应数值,并将所述对应数值的压缩文件作为第一文件;
步骤120,向所述磁盘的运行场景注入故障,获取磁盘全量逻辑区块地址的故障后对应数值,并将所述故障后对应数值的压缩文件作为第二文件;
步骤130,判断所述第一文件与所述第二文件是否匹配,若两者匹配则判定所述磁盘通过校验。
具体的,所述磁盘数据一致性校验方法包括:
s1、获取磁盘全量逻辑区块地址的对应数值,并将所述对应数值的压缩文件作为第一文件。
通过lba参数查询工具(iod)查询磁盘全量lba对应数值,查询1024位lba后,将这1024位数值进行压缩,本方案中压缩方式是通过将2进制转化为16进制的方法。每间隔1024位,采集一次对应数值,然后将采集的对应数值压缩为16进制,并记录到文件a中,直至将全量lba对应数值全部压缩完成。
s2、向所述磁盘的运行场景注入故障,获取磁盘全量逻辑区块地址的故障后对应数值,并将所述故障后对应数值的压缩文件作为第二文件。
设置故障注入脚本,如下电、控制器插拔故障。在第一文件创建完成后,执行故障注入脚本,模拟故障,如下电后再上电启动。
再次获取磁盘全量lba对应数值,并将全量lba对应数值采用步骤s1的方法压缩位至文件b。
s3、判断所述第一文件与所述第二文件是否匹配,若两者匹配则判定所述磁盘通过校验。
计算文件a的信息摘要值(md5),计算文件b的信息摘要值(md5),判断文件a和文件b的md5值是否一致,若两者一致,则判定磁盘数据一致性校验通过。若不一致,则判定磁盘数据一致性校验未通过。
如图2示,该系统200包括:
标准保存单元210,配置用于获取磁盘全量逻辑区块地址的对应数值,并将所述对应数值的压缩文件作为第一文件;
故障模拟单元220,配置用于向所述磁盘的运行场景注入故障,获取磁盘全量逻辑区块地址的故障后对应数值,并将所述故障后对应数值的压缩文件作为第二文件;
结果获取单元230,配置用于判断所述第一文件与所述第二文件是否匹配,若两者匹配则判定所述磁盘通过校验。
可选地,作为本发明一个实施例,所述标准保存单元包括:
位数指定模块,配置用于指定单次压缩位数;
单次采集模块,配置用于采集所述单次压缩位数的2进制对应数值作为压缩数值;
数值压缩模块,配置用于将提取的压缩数值转换为16进制字符,并将所述16进制字符保存至所述第一文件;
压缩完成模块,配置用于循环采集压缩数值进行压缩直至将磁盘的全量逻辑区块地址的对应数值压缩完成。
可选地,作为本发明一个实施例,所述故障注入单元包括:
脚本设置模块,配置用于设置故障注入脚本,所述故障注入脚本包括下电和控制器插拔;
脚本执行模块,配置用于监控到所述第一文件创建完成后,执行所述故障注入脚本。
可选地,作为本发明一个实施例,所述结果获取单元包括:
第一计算模块,配置用于计算所述第一文件的第一信息摘要值;
第二计算模块,配置用于计算所述第二文件的第二信息摘要值;
一致判断模块,配置用于判断第一信息摘要值与第二信息摘要值是否一致;
匹配判定模块,配置用于若第一信息摘要值与第二信息摘要值一致,则判定所述第一文件与所述第二文件匹配。
图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的磁盘数据一致性校验方法。
其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器310可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。
因此,本发明通过对全量逻辑区块地址(lba)的对应数值进行压缩,然后对压缩后的数值按照lba先后位置汇总到一个文件,通过对故障先后的全量逻辑区块地址(lba)的对应数值压缩文件进行一致性判断,来快速判断大容量磁盘数据的一致性。本发明能够快速检测大容量磁盘数据的一致性,无需向磁盘导入大文件,提升了测试效率,且能够直接反馈磁盘的数据一致性,提高了测试准确性,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
1.一种磁盘数据一致性校验方法,其特征在于,包括:
获取磁盘全量逻辑区块地址的对应数值,并将所述对应数值的压缩文件作为第一文件;
向所述磁盘的运行场景注入故障,获取磁盘全量逻辑区块地址的故障后对应数值,并将所述故障后对应数值的压缩文件作为第二文件;
判断所述第一文件与所述第二文件是否匹配,若两者匹配则判定所述磁盘通过校验。
2.根据权利要求1所述的方法,其特征在于,所述获取磁盘全量逻辑区块地址的对应数值,并将所述对应数值的压缩文件作为第一文件,包括:
指定单次压缩位数;
采集所述单次压缩位数的2进制对应数值作为压缩数值;
将提取的压缩数值转换为16进制字符,并将所述16进制字符保存至所述第一文件;
循环采集压缩数值进行压缩直至将磁盘的全量逻辑区块地址的对应数值压缩完成。
3.根据权利要求1所述的方法,其特征在于,所述向磁盘的运行场景注入故障,包括:
设置故障注入脚本,所述故障注入脚本包括下电和控制器插拔;
监控到所述第一文件创建完成后,执行所述故障注入脚本。
4.根据权利要求1所述的方法,其特征在于,所述判断第一文件与第二文件是否匹配,包括:
计算所述第一文件的第一信息摘要值;
计算所述第二文件的第二信息摘要值;
判断第一信息摘要值与第二信息摘要值是否一致:
若是,则判定所述第一文件与所述第二文件匹配。
5.一种磁盘数据一致性校验系统,其特征在于,包括:
标准保存单元,配置用于获取磁盘全量逻辑区块地址的对应数值,并将所述对应数值的压缩文件作为第一文件;
故障模拟单元,配置用于向所述磁盘的运行场景注入故障,获取磁盘全量逻辑区块地址的故障后对应数值,并将所述故障后对应数值的压缩文件作为第二文件;
结果获取单元,配置用于判断所述第一文件与所述第二文件是否匹配,若两者匹配则判定所述磁盘通过校验。
6.根据权利要求5所述的系统,其特征在于,所述标准保存单元包括:
位数指定模块,配置用于指定单次压缩位数;
单次采集模块,配置用于采集所述单次压缩位数的2进制对应数值作为压缩数值;
数值压缩模块,配置用于将提取的压缩数值转换为16进制字符,并将所述16进制字符保存至所述第一文件;
压缩完成模块,配置用于循环采集压缩数值进行压缩直至将磁盘的全量逻辑区块地址的对应数值压缩完成。
7.根据权利要求5所述的系统,其特征在于,所述故障注入单元包括:
脚本设置模块,配置用于设置故障注入脚本,所述故障注入脚本包括下电和控制器插拔;
脚本执行模块,配置用于监控到所述第一文件创建完成后,执行所述故障注入脚本。
8.根据权利要求5所述的系统,其特征在于,所述结果获取单元包括:
第一计算模块,配置用于计算所述第一文件的第一信息摘要值;
第二计算模块,配置用于计算所述第二文件的第二信息摘要值;
一致判断模块,配置用于判断第一信息摘要值与第二信息摘要值是否一致;
匹配判定模块,配置用于若第一信息摘要值与第二信息摘要值一致,则判定所述第一文件与所述第二文件匹配。
9.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-4任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
技术总结