The invention discloses a random read and write files in the test data checking method and device, including: in a distributed storage system with multiple copies of each data block stored in random read and write files; multiple copies of each data block corresponds to a checksum set; the checksum set comprises at least two integer data, the range of representative codes; randomly selected to write data in blocks of data, write data and update check code corresponding to the collection of multiple copies of the data block; when randomly selected data read from the data block, read data from a copy of the data block and use the check code set to verify the data read. It reflects the change of data saved by data blocks, and it can check data of all data blocks when storing random read and write files when distributing.
【技术实现步骤摘要】
随机读写文件测试中的数据校验方法和装置
本申请属于计算机
,具体地说,涉及一种随机读写文件测试中的数据校验方法和装置。
技术介绍
分布式存储系统中的随机读写文件兼具多副本、可随机读写的特性。如何在对分布式存储系统随机读写文件的测试中对数据进行校验是保证分布式存储系统随机读写文件数据正确性的关键技术。现有的数据校验技术方案,应用场景为仅追加类型文件(AppendOnlyFile)。对已写数据的校验码,根据需求存储在易失或者非易失存储介质中,对读到的数据进行校验码的计算,与已存储的相应校验码进行比对,若一致则认为校验成功,否则认为校验失败。现有的适用于仅追加类型文件的校验方案不可应用于随机读写文件,原因在于可随机读写文件中的任意位置由于可被复写,因此对应的校验码也会随时变化,分布式存储系统中写操作可能由于各种各样的原因导致写操作失败,那么随机读写文件数据块的不同副本的数据可能会不一致,会存在多种可能性。对分布式存储系统的随机读写文件进行测试时做数据校验的目的是:为了验证数据的正确性。如果采用现有的校验方式对随机读写文件进行校验,读取的数据与最后一次写入的数据对应的校验码不一致,就会认为数据错误。但随机读写文件的数据校验,对写入失败的副本来说,读取到曾经写入过的值仍然认为其数据是正确的,只有读到没有写入过的值时,会认为数据的正确性出现了问题。因此用现有的校验方法不能准确验证随机读写文件数据的正确性。
技术实现思路
有鉴于此,本申请提供了一种随机读写文件测试中的数据校验方法和装置,以解决现有技术中在对分布式存储系统的随机读写文件进行测试时,无法进行数据校验的技术 ...
【技术保护点】
一种随机读写文件测试中的数据校验方法,其特征在于,包括:在分布式存储系统中以多个副本的方式保存随机读写文件的每个数据块;每个数据块的多个副本对应一个校验码集合;所述校验码集合包括至少两个整型数据,代表校验码的取值范围;随机选择需要写入数据的数据块,向所述数据块的多个副本写入数据并更新对应的校验码集合;当随机选择从所述数据块读取数据时,从所述数据块的一个副本读取数据并利用所述校验码集合对读取的数据进行校验。
【技术特征摘要】
1.一种随机读写文件测试中的数据校验方法,其特征在于,包括:在分布式存储系统中以多个副本的方式保存随机读写文件的每个数据块;每个数据块的多个副本对应一个校验码集合;所述校验码集合包括至少两个整型数据,代表校验码的取值范围;随机选择需要写入数据的数据块,向所述数据块的多个副本写入数据并更新对应的校验码集合;当随机选择从所述数据块读取数据时,从所述数据块的一个副本读取数据并利用所述校验码集合对读取的数据进行校验。2.根据权利要求1所述的方法,其特征在于,所述校验码集合包括两个整型数据并代表一个连续的取值范围,所述两个整型数据分别为述取值范围的最小值和最大值;所述校验码集合包括两个以上整型数据并代表一个离散的取值范围,所述两个以上整型数据分别为所述取值范围内的离散值。3.根据权利要求1或2所述的方法,其特征在于,所述随机选择需要写入数据的数据块,向所述数据块的多个副本写入数据并更新对应的校验码集合包括:从随机读写文件中随机选择需要写入数据的数据块,在向所述数据块对应的多个副本执行写入操作之前,将所述校验码集合的最大值与预设步长之和确定为本次写入操作的写入值,并将所述校验码集合的最大值更新为所述写入值;对所述数据块对应的多个副本执行本次写入操作并判定是否写入成功;当判定为写入成功时,将所述校验码集合的最小值更新为所述写入值;当判定为写入失败时,所述校验码集合保持不变。4.根据权利要求3所述的方法,其特征在于,当所述校验码集合包括两个整型数据时,所述预设步长等于1,当所述校验码集合包括两个以上整型数据时,所述预设步长大于或等于1。5.根据权利要求3所述的方法,其特征在于,对所述数据块对应的多个副本执行本次写入操作包括:按照一个整型数据所占用的存储空间将每个副本细分为多个子块,向每个子块中写入所述写入值。6.根据权利要求5所述的方法,其特征在于,对所述数据块对应的多个副本执行本次写入操作还包括:判断一个副本的多个子块中成功写入所述写入值的比例是否大于或等于第一预设门限;当所述多个子块中成功写入所述写入值的比例大于或等于第一预设门限时,返回所述副本写入成功状态消息。7.根据权利要求3所述的方法,其特征在于,判定是否写入成功包括:判断所述多个副本中返回写入成功状态消息的副本数量是否大于或等于第二预设门限;当返回写入成功状态消息的副本数量大于或等于第二预设门限时,判定写入成功;当返回写入成功状态消息的副本数量小于第二预设门限时,判定写入失败。8.根据权利要求1所述的方法,其特征在于,当随机选择从所述数据块读取数据时,从所述数据块的一个副本读取数据并利用所述校验码集合对读取的数据进行校验包括:从所述数据块的一个副本读取数据;判断所述读取的数据是否属于所述校验码集合的取值范围;当所述读取的数据属于所述校验码集合的取值范围之内时,判定所述读取的数据校验通过,并将所述校验码集合的最小值更新为所述读取的数据;当所述读取的数据属于所述校验码集合的取值范围之外时,判定所述读取的数据校验未通过,所述校验码集合保持不变。9.根据权利要求1所述的方法,其特征在于,从所述数据块的一个副本读取数据包括:按照一个整型数据所占用的存储空间将所述一个副本细分为多个子块,分别读取全部子块中已写入的整型数据;判断从所述全部子块中分别读取的整型数据是否相同;当从所述全部子块中分别读取的整型数据相同时,判定本次读取成功;当从所述全部子块中分别读取的整型数据不相同时,判定本次读取失败并且校验未通过。10.根据权利要求1所述的方法,其特征在于,所述数据块的存储空间与所述分布式存储系统磁盘的一个扇区的大小相同。11.一种随机读写文件测试中的...
【专利技术属性】
技术研发人员:张彪,田磊磊,闫卫斌,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。