System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储,尤其涉及一种基于纠删码存储系统的降级读方法及装置。
技术介绍
1、纠删码技术是分布式存储系统中用于提高数据可靠性的一种重要方法。它通过生成额外的校验块,使得在部分数据块丢失的情况下,依然能够恢复原始数据。纠删码的核心思想是将数据分割成多个块,并计算出一定数量的校验块,这些校验块与数据块一起构成一个条带。在发生数据丢失时,只要保证拥有足够数量的块(包括数据块和校验块),就可以重建丢失的数据。
2、msr(minimum storage regeneration,最小存储再生)码是一种特殊的纠删码,它在满足特定容错能力的前提下,能够以最小的存储开销实现数据的保护。msr码的优势在于它能够在所有满足最小存储开销的纠删码中,实现最小的修复带宽。
3、现有msr码的修复技术通常将整个数据块作为基本操作单元,但是在真实使用过程中请求的数据大小并没有那么大。在部分数据块由于存储节点故障或其他原因不可用而需要执行降级读操作时,则需要修复整个数据块,进而导致读取的数据量大幅增加,进而影响降级读的性能。
技术实现思路
1、本专利技术提供一种基于纠删码存储系统的降级读方法及装置,用以解决现有技术中执行降级读操作时需要修复整个数据块,进而导致读取的数据量大幅增加,进而影响降级读的性能的缺陷。
2、本专利技术提供一种基于纠删码存储系统的降级读方法,所述基于纠删码的存储系统包括多个条带,每个条带包括多个数据块和校验块,每个数据块包括多个数据子块,每个
3、所述方法包括:
4、接收读数据请求,检查所述读数据请求对应的目标数据是否包括丢失数据子块;
5、在确定所述数据请求对应的目标数据包括丢失数据子块的情况下,确定降级读所需的健康数据子块和所述丢失数据子块对应的目标子条带;所述目标子条带包括所述丢失数据子块对应的辅助修复数据子块和校验子块;
6、分别确定所述健康数据子块对应的存储位置、所述目标子条带中的辅助修复数据子块和校验子块分别对应的存储位置;
7、基于所述存储位置读取所述健康数据子块、所述辅助修复数据子块和校验子块,根据所述辅助修复数据子块和所述校验子块进行所述丢失数据子块的数据修复,并在所述丢失数据子块修复成功的情况下,基于所述健康数据子块和修复成功的丢失数据子块得到所述目标数据。
8、根据本专利技术提供的基于纠删码存储系统的降级读方法,接收读数据请求,检查所述读数据请求对应的目标数据是否包括丢失数据子块,具体包括:
9、接收读数据请求,所述读数据请求中包含目标数据的物理地址;
10、根据所述物理地址在预设的元数据中查找目标数据对应的各个数据子块的状态,并根据所述目标数据对应的各个数据子块的状态确定所述目标数据是否包括丢失数据子块;其中,所述元数据包括存储系统的各个数据子块的状态,所述状态为健康状态或丢失状态。
11、根据本专利技术提供的基于纠删码存储系统的降级读方法,确定所述丢失数据子块对应的目标子条带,具体包括:
12、分析每个子条带中包括的丢失数据子块的数量;
13、判断是否存在包含多个丢失数据子块的子条带;
14、若存在包含多个丢失数据子块的子条带,将所述子条带作为目标子条带,并对于剩余的丢失数据子块,选择包含所述剩余的丢失数据子块且修复带宽最小的子条带作为目标子条带;
15、若不存在包含多个丢失数据子块的子条带,对于每个丢失数据子块,选择包含所述丢失数据子块且修复带宽最小的子条带作为目标子条带。
16、根据本专利技术提供的基于纠删码存储系统的降级读方法,所述存储系统中包括逻辑地址和物理地址的映射表;在确定所述数据请求对应的目标数据包括丢失数据子块的情况下,确定降级读所需的健康数据子块和所述丢失数据子块对应的目标子条带,具体包括:在确定所述数据请求对应的目标数据包括丢失数据子块的情况下,基于所述映射表,将所述目标数据的物理地址转换为逻辑地址;基于所述逻辑地址,确定降级读所需的健康数据子块和所述丢失数据子块对应的目标子条带。
17、根据本专利技术提供的基于纠删码存储系统的降级读方法,所述存储系统中包括逻辑地址和物理地址的映射表;分别确定所述健康数据子块对应的存储位置、所述目标子条带中的辅助修复数据子块和校验子块分别对应的存储位置,具体包括:分别确定所述健康数据子块对应的逻辑地址、所述目标子条带中的辅助修复数据子块和校验子块分别对应的逻辑地址;基于所述映射表,确定所述健康数据子块、所述辅助修复数据子块和校验子块分别对应的物理地址。
18、根据本专利技术提供的基于纠删码存储系统的降级读方法,所述映射表通过以下方法生成:将多个数据子块或校验子块的集合作为条带中的一个基本数据放置单元;将位于多个不同条带中的所述基本数据放置单元组成均衡数据放置单元,使得每个数据块在多个所述条带中出现一次;将多个均衡数据放置单元组成最优数据放置单元,使得修复时不需要从数据块读取额外的辅助修复数据;基于所述均衡数据放置单元和最优数据放置单元进行排序,得到所述存储系统的全部数据子块和校验子块对应的逻辑地址,并基于所述全部数据子块和校验子块对应的逻辑地址和物理地址,得到所述映射表。
19、本专利技术还提供一种基于纠删码存储系统的降级读装置,所述基于纠删码的存储系统包括多个条带,每个条带包括多个数据块和校验块,每个数据块包括多个数据子块,每个校验块包括多个校验子块;其中,每个所述条带还包括至少一个子条带,所述子条带包括分别位于不同数据块中的多个数据子块和校验子块;在所述子条带中的任一数据子块为丢失数据子块的情况下,将所述子条带中的其他数据子块作为所述丢失数据子块的辅助修复数据子块;
20、所述装置包括:
21、读数据请求接收模块,用于接收读数据请求,检查所述读数据请求对应的目标数据是否包括丢失数据子块;
22、目标子条带确定模块,用于在确定所述数据请求对应的目标数据包括丢失数据子块的情况下,确定降级读所需的健康数据子块和所述丢失数据子块对应的目标子条带;所述目标子条带包括所述丢失数据子块对应的辅助修复数据子块和校验子块;
23、存储位置确定模块,用于分别确定所述健康数据子块对应的存储位置、所述目标子条带中的辅助修复数据子块和校验子块分别对应的存储位置;
24、丢失数据修复模块,用于基于所述存储位置读取所述健康数据子块、所述辅助修复数据子块和校验子块,根据所述辅助修复数据子块和所述校验子块进行所述丢失数据子块的数据修复,并在所述丢失数据子块修复成功的情况下,基于所述健康数据子块和修复成功的丢失数据子块得到所述目标数据。
25、本发本文档来自技高网...
【技术保护点】
1.一种基于纠删码存储系统的降级读方法及装置,其特征在于,所述基于纠删码的存储系统包括多个条带,每个条带包括多个数据块和校验块,每个数据块包括多个数据子块,每个校验块包括多个校验子块;其中,每个所述条带还包括至少一个子条带,所述子条带包括分别位于不同数据块中的多个数据子块和校验子块;在所述子条带中的任一数据子块为丢失数据子块的情况下,将所述子条带中的其他数据子块作为所述丢失数据子块的辅助修复数据子块;
2.根据权利要求1所述的基于纠删码存储系统的降级读方法,其特征在于,接收读数据请求,检查所述读数据请求对应的目标数据是否包括丢失数据子块,具体包括:
3.根据权利要求1所述的基于纠删码存储系统的降级读方法,其特征在于,确定所述丢失数据子块对应的目标子条带,具体包括:
4.根据权利要求1所述的基于纠删码存储系统的降级读方法,其特征在于,所述存储系统中包括逻辑地址和物理地址的映射表;
5.根据权利要求1所述的基于纠删码存储系统的降级读方法,其特征在于,所述存储系统中包括逻辑地址和物理地址的映射表;
6.根据权利要求4所述的基于
7.一种基于纠删码存储系统的降级读装置,其特征在于,所述基于纠删码的存储系统包括多个条带,每个条带包括多个数据块和校验块,每个数据块包括多个数据子块,每个校验块包括多个校验子块;其中,每个所述条带还包括至少一个子条带,所述子条带包括分别位于不同数据块中的多个数据子块和校验子块;在所述子条带中的任一数据子块为丢失数据子块的情况下,将所述子条带中的其他数据子块作为所述丢失数据子块的辅助修复数据子块;
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于纠删码存储系统的降级读方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于纠删码存储系统的降级读方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于纠删码存储系统的降级读方法。
...【技术特征摘要】
1.一种基于纠删码存储系统的降级读方法及装置,其特征在于,所述基于纠删码的存储系统包括多个条带,每个条带包括多个数据块和校验块,每个数据块包括多个数据子块,每个校验块包括多个校验子块;其中,每个所述条带还包括至少一个子条带,所述子条带包括分别位于不同数据块中的多个数据子块和校验子块;在所述子条带中的任一数据子块为丢失数据子块的情况下,将所述子条带中的其他数据子块作为所述丢失数据子块的辅助修复数据子块;
2.根据权利要求1所述的基于纠删码存储系统的降级读方法,其特征在于,接收读数据请求,检查所述读数据请求对应的目标数据是否包括丢失数据子块,具体包括:
3.根据权利要求1所述的基于纠删码存储系统的降级读方法,其特征在于,确定所述丢失数据子块对应的目标子条带,具体包括:
4.根据权利要求1所述的基于纠删码存储系统的降级读方法,其特征在于,所述存储系统中包括逻辑地址和物理地址的映射表;
5.根据权利要求1所述的基于纠删码存储系统的降级读方法,其特征在于,所述存储系统中包括逻辑地址和物理地址的映射表;
6.根据权利要求4所述的基于纠删码存储...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。