数据校验方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:34255309 阅读:39 留言:0更新日期:2022-07-24 12:32
本发明专利技术提供了数据校验方法、装置、计算机设备及存储介质,其中的方法可包括:比较第一副本数据与第二副本数据,以得到第一副本数据与第二副本数据的第一比较结果,第一副本数据和第二副本数据互为备份、存储于分布式存储系统的不同或相同存储节点上;根据第一比较结果为不同,生成第一副本数据的第一校验码;根据第一校验码与预存的校验码相同,判定第一副本数据为正确的副本数据且第二副本数据为错误的副本数据。本发明专利技术通过比较第一副本数据和第二副本数据的方式发现副本不一致的问题,以利用第一校验码与预存的校验码判断正确的副本数据。可见本发明专利技术能够快速且高效地确定分布式存储中的准确的副本,保证从分布式存储系统获取到准确的数据。取到准确的数据。取到准确的数据。

Data verification method, device, computer equipment and storage medium

【技术实现步骤摘要】
数据校验方法、装置、计算机设备及存储介质


[0001]本专利技术涉及分布式存储
,更为具体地,本专利技术能够提供一种数据校验方法、装置、计算机设备及存储介质。

技术介绍

[0002]分布式存储是指将数据分散存储于多台独立的设备上,采用可扩展的分布式存储系统结构,利用多台存储服务器分担存储负荷和利用位置服务器定位存储信息,因而分布式存储不但提高了系统可靠性、可用性和存取效率,而且还易于扩展。但是,用户经常遇到由于机械硬盘的潜在故障而导致数据写入与读出不一致的问题,该问题被称之为静默错误。
[0003]静默错误主要包括位腐(Bit Rot)、磁盘幻象写(Phantom writes)及磁盘指向错误(Misdirected reads/writes)三种。位腐指磁盘上的某个区域自发地丢失或改变电荷时,其中包含的通过存储的电荷表示存储的数据将被删除、损坏或呈现为不可读;磁盘幻象写指虽然执行了写操作,而实际机械硬盘中并无数据写入(未写入);磁盘指向错误指读取数据时指向了错误的磁盘位置(读出错)。对于分布式存储的多个副本,磁盘指向错误只导致数据暂时读错误,可通过纠正数据访问地址等手段保证获取准确的数据;但是对于位腐或磁盘幻象写情况,无法区分多个副本中哪个副本是正确的,常规方案只能够采用人工手动排查方式,以确定准确的副本,该方案不仅效率非常低,而且在数据量较大的情况下往往难以实施。

技术实现思路

[0004]为解决现有技术在出现位腐或磁盘幻象写情况下难以从分布式存储的多个副本中确定准确副本的问题,本专利技术提供了数据校验方法、装置、计算机设备及存储介质,以达到有效确定分布式存储的准确副本等目的。
[0005]为实现上述的技术目的,本专利技术提供了一种数据校验方法,应用于分布式存储系统的存储节点上;该数据校验方法可包括但不限于如下的至少一个步骤。
[0006]比较第一副本数据与第二副本数据,以得到第一副本数据与第二副本数据的第一比较结果;其中,第一副本数据和第二副本数据互为备份,第一副本数据和第二副本数据存储于分布式存储系统的不同或相同存储节点上。
[0007]根据第一比较结果为不同,生成第一副本数据的第一校验码。
[0008]根据第一校验码与预存的校验码相同,判定第一副本数据为正确的副本数据且第二副本数据为错误的副本数据。
[0009]本专利技术的可实施方式中,该数据校验方法还可包括:
[0010]根据第一校验码与预存的校验码不同,生成第二副本数据的第二校验码。
[0011]根据第二校验码与预存的校验码相同,判定第二副本数据为正确的副本数据且第一副本数据为错误的副本数据。
[0012]本专利技术的可实施方式中,该数据校验方法还可包括:
[0013]根据第一校验码与预存的校验码不同且第二校验码与预存的校验码不同,比较第一副本数据包含的第一数据块与第二副本数据包含的第二数据块,以得到第一数据块与第二数据块的第二比较结果。
[0014]根据第二比较结果对目标数据块进行修复;目标数据块包括至少一个第一数据块和/或至少一个第二数据块。
[0015]生成经过修复的目标数据块的新校验码。
[0016]根据新校验码与目标数据块的预存的校验码相同,确定修复成功。
[0017]本专利技术的可实施方式中,根据第二比较结果对目标数据块进行修复可包括:根据第二比较结果,以错误的第一数据块和/或错误的第二数据块作为目标数据块;对目标数据块中的数据位进行修复。
[0018]本专利技术的可实施方式中,对目标数据块中的数据位进行修复包括:
[0019]比较错误的第一数据块包含的第一数据位与错误的第二数据块包含的第二数据位,以得到第三比较结果。
[0020]根据第三比较结果,确定目标数据块中错误的数据位。
[0021]对多个连续错误的数据位进行反转处理,和/或逐一对错误的数据位进行反转处理。
[0022]本专利技术的可实施方式中,该数据校验方法还可包括:利用正确的副本数据对错误的副本数据进行修复,以使第一副本数据与第二副本数据相同。
[0023]本专利技术的可实施方式中,该数据校验方法还包括:获取第一副本数据或第二副本数据的物理地址;根据物理地址与预存的校验码的映射关系,获取预存的校验码;预存的校验码存储于固态硬盘的校验区,固态硬盘为支持端到端数据保护的固态硬盘,预存的校验码类型为数据完整性域或数据完整性扩展类型。
[0024]本专利技术的可实施方式中,该数据校验方法中比较第一副本数据与第二副本数据之前,还包括:接收数据校验指令;基于数据校验指令遍历机械硬盘各个存储卷的数据,以确定第一副本数据和第二副本数据;固态硬盘的缓存区用于缓存加速机械硬盘。
[0025]为实现上述技术目的,本专利技术提供了一种数据校验装置,应用于分布式存储系统的存储节点上;该数据校验装置包括但不限于副本数据比较模块、校验码生成模块以及副本数据判定模块。
[0026]副本数据比较模块,用于比较第一副本数据与第二副本数据,以得到第一副本数据与第二副本数据的第一比较结果;其中,第一副本数据和第二副本数据互为备份,第一副本数据和第二副本数据存储于分布式存储系统的不同或相同存储节点上。
[0027]校验码生成模块,用于根据第一比较结果为不同,生成第一副本数据的第一校验码。
[0028]副本数据判定模块,用于根据第一校验码与预存的校验码相同,判定第一副本数据为正确的副本数据且第二副本数据为错误的副本数据。
[0029]本专利技术的可实施方式中,校验码生成模块,用于根据第一校验码与预存的校验码不同,生成第二副本数据的第二校验码;副本数据判定模块,用于根据第二校验码与预存的校验码相同,判定第二副本数据为正确的副本数据且第一副本数据为错误的副本数据。
[0030]本专利技术的可实施方式中,该数据校验装置还能够包括数据块比较模块、数据块修复模块以及修复结果判断模块。
[0031]数据块比较模块,用于根据第一校验码与预存的校验码不同且第二校验码与预存的校验码不同,比较第一副本数据包含的第一数据块与第二副本数据包含的第二数据块,以得到第一数据块与第二数据块的第二比较结果。
[0032]数据块修复模块,用于根据第二比较结果对目标数据块进行修复;目标数据块包括至少一个第一数据块和/或至少一个第二数据块。
[0033]修复结果判断模块,用于根据新校验码与目标数据块的预存的校验码相同,确定修复成功;校验码生成模块用于生成经过修复的目标数据块的新校验码。
[0034]本专利技术的可实施方式中,数据块修复模块,用于根据第二比较结果以错误的第一数据块和/或错误的第二数据块作为目标数据块,并用于对目标数据块中的数据位进行修复。
[0035]本专利技术的可实施方式中,数据块修复模块,用于比较错误的第一数据块包含的第一数据位与错误的第二数据块包含的第二数据位,以得到第三比较结果。
[0036]数据块修复模块,用于根据第三比较结果,确定目标数据块中错误本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据校验方法,其特征在于,应用于分布式存储系统的存储节点上;所述方法包括:比较第一副本数据与第二副本数据,以得到所述第一副本数据与所述第二副本数据的第一比较结果;其中,所述第一副本数据和所述第二副本数据互为备份,所述第一副本数据和所述第二副本数据存储于分布式存储系统的不同或相同存储节点上;根据所述第一比较结果为不同,生成第一副本数据的第一校验码;根据所述第一校验码与预存的校验码相同,判定所述第一副本数据为正确的副本数据且所述第二副本数据为错误的副本数据。2.根据权利要求1所述的数据校验方法,其特征在于,所述方法还包括:根据所述第一校验码与预存的校验码不同,生成第二副本数据的第二校验码;根据所述第二校验码与预存的校验码相同,判定所述第二副本数据为正确的副本数据且所述第一副本数据为错误的副本数据。3.根据权利要求2所述的数据校验方法,其特征在于,所述方法还包括:根据所述第一校验码与预存的校验码不同且所述第二校验码与预存的校验码不同,比较所述第一副本数据包含的第一数据块与所述第二副本数据包含的第二数据块,以得到所述第一数据块与所述第二数据块的第二比较结果;根据所述第二比较结果对目标数据块进行修复;所述目标数据块包括至少一个所述第一数据块和/或至少一个所述第二数据块;生成经过修复的目标数据块的新校验码;根据所述新校验码与目标数据块的预存的校验码相同,确定修复成功。4.根据权利要求3所述的数据校验方法,其特征在于,所述根据所述第二比较结果对目标数据块进行修复包括:根据所述第二比较结果,以错误的第一数据块和/或错误的第二数据块作为目标数据块;对所述目标数据块中的数据位进行修复。5.根据权利要求4所述的数据校验方法,其特征在于,所述对所述目标数据块中的数据位进行修复包括:比较错误的第一数据块包含的第一数据位与错误的第二数据块包含的第二数据位,以得到第三比较结果;根据所述第三比较结果,确定所述目标数据块中错误的数据位;对多个连续错误的数据位进行反转处理,和/或逐一对错误的数据位进行反转处理。6.根据权利要求1至5中任一权利要求所述的数据校验方法,其特征在于,所述方法还包括:利用正确的副本数据对错误的副本数据进行修复,以使第一副本数据与第二副本数据相同。7.根据权利要求1至5中任一权利要求所述的数据校验方法,其特征在于,所述方法还包括:获取第一副本数据或第二副本数据的物理地址;根据物理地址与预存的校验码的映射关系,获取预存的校验码;预存的校验码存储于
固态硬盘的校验区,所述固态硬盘为支持端到端数据保护的固态硬盘,预存的校验码类型为数据完整性域或数据完整性扩展类型。8.根据权利要求7所述的数据校验方法,其特征在于,所述比较第一副本数据与第二副本数据之前,所述方法还包括:接收数据校验指令;基于所述数据校验指令遍历机械硬盘各个存储卷的数据,以确定所述第一副本数据和所述第二副本数据;固态硬盘的缓存区用于缓存加速机械硬盘。9.一种数据校验装置,其特征在于,应用于分布式存储系统的存储节点上;所述装置包括:副本数据比较模块,用于比较第一副本数据与第二副本数据,以得到所述第一副本数据与所述第二副本数据的第一比较结果;其中,所述第一副本数据和所述第二副本数据互为备份,所述第一副本数据和所述第二副本数据存储于分布式存储系统的不同或相同存储节点上;校验...

【专利技术属性】
技术研发人员:钟晋明
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1