数据校验方法及装置、非易失性存储介质、电子设备与流程

文档序号:37638276发布日期:2024-04-18 17:57阅读:12来源:国知局
数据校验方法及装置、非易失性存储介质、电子设备与流程

本技术涉及存储,具体而言,涉及一种数据校验方法及装置、非易失性存储介质、电子设备。


背景技术:

1、纠删码(erasure code)是一种用于纠正或恢复数据错误的编码方法。它通过添加冗余数据来实现错误纠正和恢复功能,常用于数字通信、存储系统和数据传输中。纠删码可以在数据传输或存储过程中检测和纠正错误,确保数据的完整性和可靠性。相关技术在基于纠删码的数据校验场景下,需要读取全部数据分片以及校验分片上的数据,进而导致校验效率低下以及校验成本极高等问题。

2、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本技术实施例提供了一种数据校验方法及装置、非易失性存储介质、电子设备,以至少解决由于相关技术在基于纠删码的数据校验场景下,需要读取全部数据分片以及校验分片上的数据才能进行校验,造成的校验效率低以及校验成本高的技术问题。

2、根据本技术实施例的一个方面,提供了一种数据校验方法,包括:获取编码数据,其中,编码数据为通过编码矩阵和待保护数据所确定的,其中,编码数据中包括:k个数据分片和m个校验分片,编码矩阵由单位矩阵和第一矩阵组成,第一矩阵为m行k列的矩阵,m和k均为正整数;将k个数据分片、k个数据分片对应的k个第一校验和以及k个第二校验和写入目标存储单元,得到目标数据分片,并将m个校验分片、m个校验分片对应的m个第三校验和以及m个第四校验和写入目标存储单元,得到目标校验分片,其中,k个第一校验和为通过每个数据分片中的数据所确定的,k个第二校验和为通过每个数据分片中的数据以及数据偏移量所确定的,m个第三校验和为通过每个校验分片中的数据所确定的,m个第四校验和为通过每个校验分片中的数据以及数据偏移量所确定的;通过第一矩阵中数据的值以及在目标存储单元中读取到的目标数据分片中的k个第一校验和,确定m个第一目标校验和,并通过第一矩阵中数据的值以及在目标存储单元中读取到的目标数据分片中的k个第二校验和,确定m个第二目标校验和;根据第一目标校验和以及第二目标校验和,对在目标存储单元中读取到的目标校验分片进行校验。

3、可选地,通过第一矩阵中数据的值以及在目标存储单元中读取到的目标数据分片中的k个第一校验和,确定m个第一目标校验和,包括:根据第一矩阵中数据的值与k个第五校验和的乘积,确定m个第一目标校验和,其中,k个第五校验和中的每个第五校验和为在目标存储单元中读取到的k个第一校验和中的每个第一校验和与第一预设常数的差值。

4、可选地,通过如下公式确定m个第一目标校验和中的第j个第一目标校验和,包括:

5、

6、其中,ap’j为m个第一目标校验和中的第j个第一目标校验和,ai为k个第一校验和中的第i个第一校验和,aji为第一矩阵中第j行,第i列的数据的值,j为不大于m的正整数,i为不大于k的正整数。

7、可选地,通过第一矩阵中数据的值以及在目标存储单元中读取到的目标数据分片中的k个第二校验和,确定m个第二目标校验和,包括:根据第一矩阵中数据的值与k个第六校验和的乘积,确定m个第二目标校验和,其中,k个第六校验和中的每个第六校验和为在目标存储单元中读取到的k个第二校验和中的每个第二校验和与每个数据分片中的数据长度的差值。

8、可选地,通过如下公式确定m个第二目标校验和中的第j个第二目标校验和,包括:

9、

10、其中,bpj’为m个第二目标校验和中的第j个第二目标校验和,bi为k个第二校验和中的第i个第二校验和,n为每个数据分片中的数据长度,aji为第一矩阵中第j行,第i列的数据的值,j为不大于m的正整数,i为不大于k的正整数。

11、可选地,根据第一目标校验和以及第二目标校验和,对在目标存储单元中读取到的目标校验分片进行校验,包括:将第一目标校验和与在目标存储单元中读取到的目标校验分片中的第三校验和进行比较,得到第一比较结果;将第二目标校验和与在目标存储单元中读取到的目标校验分片中的第四校验和进行比较,得到第二比较结果;根据第一比较结果和第二比较结果,确定对在目标存储单元中读取到的目标校验分片的校验结果。

12、可选地,编码矩阵为(m+k)行k列的矩阵,待保护数据为k行x列的矩阵,编码数据为(m+k)行x列的矩阵,待保护数据中包括k个数据分片,其中,x为正整数。

13、根据本技术实施例的再一方面,还提供了一种数据校验装置,包括:获取模块,用于获取编码数据,其中,编码数据为通过编码矩阵和待保护数据所确定的,其中,编码数据中包括:k个数据分片和m个校验分片,编码矩阵由单位矩阵和第一矩阵组成,第一矩阵为m行k列的矩阵,m和k均为正整数;写入模块,用于将k个数据分片、k个数据分片对应的k个第一校验和以及k个第二校验和写入目标存储单元,得到目标数据分片,并将m个校验分片、m个校验分片对应的m个第三校验和以及m个第四校验和写入目标存储单元,得到目标校验分片,其中,k个第一校验和为通过每个数据分片中的数据所确定的,k个第二校验和为通过每个数据分片中的数据以及数据偏移量所确定的,m个第三校验和为通过每个校验分片中的数据所确定的,m个第四校验和为通过每个校验分片中的数据以及数据偏移量所确定的;确定模块,用于通过第一矩阵中数据的值以及在目标存储单元中读取到的目标数据分片中的k个第一校验和,确定m个第一目标校验和,并通过第一矩阵中数据的值以及在目标存储单元中读取到的目标数据分片中的k个第二校验和,确定m个第二目标校验和;校验模块,用于根据第一目标校验和以及第二目标校验和,对在目标存储单元中读取到的目标校验分片进行校验。

14、根据本技术实施例的再一方面,还提供了一种非易失性存储介质,存储介质包括存储的程序,其中,程序运行时控制存储介质所在的设备执行以上的数据校验方法。

15、根据本技术实施例的再一方面,还提供了一种电子设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的数据校验方法。

16、在本技术实施例中,采用获取编码数据,其中,编码数据为通过编码矩阵和待保护数据所确定的,其中,编码数据中包括:k个数据分片和m个校验分片,编码矩阵由单位矩阵和第一矩阵组成,第一矩阵为m行k列的矩阵,m和k均为正整数;将k个数据分片、k个数据分片对应的k个第一校验和以及k个第二校验和写入目标存储单元,得到目标数据分片,并将m个校验分片、m个校验分片对应的m个第三校验和以及m个第四校验和写入目标存储单元,得到目标校验分片,其中,k个第一校验和为通过每个数据分片中的数据所确定的,k个第二校验和为通过每个数据分片中的数据以及数据偏移量所确定的,m个第三校验和为通过每个校验分片中的数据所确定的,m个第四校验和为通过每个校验分片中的数据以及数据偏移量所确定的;通过第一矩阵中数据的值以及在目标存储单元中读取到的目标数据分片中的k个第一校验和,确定m个第一目标校验和,并通过第一矩阵中数据的值以及在目标存储单元中读取到的目标数据分片中的k个第二校验和,确定m个第二目标校验和;根据第一目标校验和以及第二目标校验和,对在目标存储单元中读取到的目标校验分片进行校验的方式,通过根据第一目标校验和以及第二目标校验和,对在目标存储单元中读取到的目标校验分片进行校验,达到了无需读取全部数据分片以及校验分片上的数据,以对目标数据进行校验的目的,从而实现了提升校验效率以及降低校验成本的技术效果,进而解决了由于相关技术在基于纠删码的数据校验场景下,需要读取全部数据分片以及校验分片上的数据才能进行校验,造成的校验效率低以及校验成本高的技术问题。

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