一种数据保护存储方法、装置及设备制造方法及图纸

技术编号:30647821 阅读:21 留言:0更新日期:2021-11-04 00:59
本申请提供一种数据保护存储方法、装置及设备,该方法依据已确定的对待存储数据划分的数据块数量N和校验块数量M确定的存储节点数量K,确定出PN的数量,建立映射表,以将PN映射于K个存储节点对应的存储介质中,在存储数据时,利用待存储数据对应的桶名和对象名确定出目标PN,并依据目标PN与存储介质的映射关系,以对该待存储数据进行存储。可见,该方法存储待存储数据所需要的存储节点数量只要为N与M的比值向上取整后与1之和,便可支持任意M个存储介质故障而不影响对象数据读写,而这远远小于现有技术中所需存储节点数至少为N与M之和,可见,应用本实施例提供的技术方案能够减少存储节点数量,降低成本。降低成本。降低成本。

【技术实现步骤摘要】
一种数据保护存储方法、装置及设备


[0001]本申请涉及存储领域,尤其涉及一种数据保护存储方法、装置及设备。

技术介绍

[0002]随着海量非结构化数据的飞速增长,在满足能够从海量数据中快速定位到待读取对象以及保证对象数据写入容量均衡要求的情况下,在成本可控的基础上,现对数据冗余性提出更高要求,以应对分布式系统中存储节点突然失效或存储介质突然故障等情况。
[0003]为了使有限存储资源支持更高的冗余性,现有技术提供了一种数据保护存储方法,该方法将待存储数据切成N个数据块和M个校验块,将切割后的数据块和校验块存储在存储节点中,要求该存储节点的数量至少大于N与M之和。可见,虽然该方法能够支持任意M个存储介质故障而不影响对象数据读写,但该方法要求用于存储待存储数据的存储节点数量至少大于待存储数据切分的数据块数量N和校验块数量M之和。这就表明,将待存储数据切成的待存储数据越多,则对存储节点数目要求较高,相应地,成本也较高。

技术实现思路

[0004]有鉴于此,本申请提供一种数据保护存储方法、装置及设备,以减少存储节点数量。
[0005]具体地,本申请是通过如下技术方案实现的:
[0006]第一方面,本申请实施例提供了一种数据保护存储方法,所述方法包括:
[0007]依据已设定的对待存储数据进行划分的数据块数量N和校验块数据M,确定用于存储待存储数据的存储节点的数量K和定位节点PN的数量P;其中,所述K大于或等于第一设定值,所述第一设定值为N与M的比值向上取整后与1之和,N大于或等于M,每一存储节点包含的存储介质数量大于或等于M;
[0008]按照均匀分布存储数据的原则建立映射表,所述映射表包括P个定位节点PN与K个存储节点上的存储介质之间的映射关系;
[0009]将第一待存储数据划分成N块数据块,并依据所述N块数据块计算出对应的M块校验块;
[0010]依据第一待存储数据对应的桶名和对象名确定出与所述桶名和对象名对应的目标PN;
[0011]依据所述目标PN在映射表中与存储介质的映射关系,将所述N块数据块和所述M块校验块存储至所述目标PN对应的存储介质。
[0012]本申请的一个实施例中,所述P靠近2的幂次方且为第二设定值的整数倍,所述第一设定值为N和M之和;所述按照均匀分布存储数据的原则建立映射表,包括:
[0013]按照第一预设方式将P个PN映射在每一存储节点包含的各存储介质中,其中,所述第一预设方式为:将所述第二设定值个PN构成一组定位条带组PSG,在所述PSG中相邻PN序号的差值为所述P与所述第二设定值的比值,且每一PSG包含所述第二设定值个定位条带
PS,PS是所述第二设定值个PN进行排序的序列,各PS为首的PN均不同,同一组PSG中的PN分布在不同存储节点中或同一个存储节点的不同存储介质中。
[0014]本申请的一个实施例中,所述按照均匀分布存储数据的原则建立映射表,包括:
[0015]P个PN中的部分PN按照第一规则均匀地映射分布于K个存储节点的部分存储介质中;
[0016]P个PN中的余下部分PN按照第二规则均匀地映射分布于K个存储节点的余下部分存储介质中,第二规则为与第一规则不同的规则。
[0017]本申请的一个实施例中,所述依据第一待存储数据对应的桶名和对象名确定出与所述桶名和对象名对应的目标PN,包括:
[0018]对第一待存储数据对应的桶名和对象名进行运算处理,并获得序号为运算处理结果的待存储PN;
[0019]查找首位为所述待存储PN的目标PS,并将所述目标PS中包含的各PN确定为用于存储所述第一待存储数据的各数据块和各校验块对应的目标PN;
[0020]所述依据所述目标PN在映射表中与存储介质的映射关系,将所述N块数据块和所述M块校验块存储至所述目标PN对应的存储介质,包括:
[0021]按照PN在所述目标PS排序的先后顺序,将所述N块数据块和所述M块校验块依次存储在所述PS包含的各PN对应的存储介质中。
[0022]本申请的一个实施例中,所述对第一待存储数据对应的桶名和对象名进行运算处理,并获得序号为运算处理结果的待存储PN,包括:
[0023]对第一待存储数据对应的桶名和对象名进行哈希计算并处理,得到哈希结果;
[0024]将所述哈希结果除以P并取余,并将取余结果确定为用于存储数据块的待存储PN的序号。
[0025]本申请的一个实施例中,该方法进一步包括:
[0026]获取待读取数据对应的桶名和对象名;
[0027]对所述待读取数据对应的桶名和对象名进行运算处理,并获得序号为运算处理结果的待读取PN;
[0028]查找首位为所述待读取PN的目标PS;
[0029]从所述存储节点中获取所述目标PS中各PN对应存储介质中存储的各数据块。
[0030]本申请的一个实施例中,所述对所述待读取数据对应的桶名和对象名进行运算处理,并获得序号为运算处理结果的待读取PN,包括:
[0031]对所述待读取数据对应的桶名和对象名进行哈希计算并处理,得到哈希结果;
[0032]将所述哈希结果除以P并取余,并将取余结果确定为运算结果。
[0033]本申请的一个实施例中,在所述从所述存储节点中获取所述目标PS中各PN对应存储介质中存储的各数据块之后,包括:
[0034]检测获取的各数据块的数量是否等于N,若不等于,则从所述存储节点中获取所述目标PS中各PN对应存储介质中存储的校验块,并利用所述校验块,将已获取的各数据块还原成N块数据块。
[0035]本申请的一个实施例中,所述方法还进一步包括:
[0036]将第二待存储数据划分成N块数据块,并依据所述N块数据块计算出对应的M块校
验块,其中,N大于或等于M;
[0037]依据N和M确定用于存储所述第二待存储数据的存储节点的数量K;
[0038]依据已确定的存储节点的数量K确定出按照均匀分布存储数据原则已建立的映射表;
[0039]依据所述第二待存储数据对应的桶名和对象名确定出与所述桶名和对象名对应的目标PN;
[0040]依据所述目标PN在映射表中与存储介质的映射关系,将所述N块数据块和所述M块校验块存储至所述目标PN对应的存储介质。
[0041]第二方面,本申请实施例还提供了一种数据保护存储装置,所述装置包括:
[0042]存储节点获取单元,用于依据已设定的对待存储数据进行划分的数据块数量N和校验块数据M,确定用于存储待存储数据的存储节点的数量K和定位节点PN的数量P;其中,所述K大于或等于第一设定值,所述第一设定值为N与M的比值向上取整后与1之和,N大于或等于M,每一存储节点包含的存储介质数量大于或等于M;
[0043]定位节点分布单元,用于按照均匀分布存储数据的原则建立映射表,所述映射表包括P个定位节点PN与K个存储节点上的存储介质之间的映射关系;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据保护存储方法,其特征在于,所述方法包括:依据已设定的对待存储数据进行划分的数据块数量N和校验块数据M,确定用于存储待存储数据的存储节点的数量K和定位节点PN的数量P;其中,所述K大于或等于第一设定值,所述第一设定值为N与M的比值向上取整后与1之和,N大于或等于M,每一存储节点包含的存储介质数量大于或等于M;按照均匀分布存储数据的原则建立映射表,所述映射表包括P个定位节点PN与K个存储节点上的存储介质之间的映射关系;将第一待存储数据划分成N块数据块,并依据所述N块数据块计算出对应的M块校验块;依据第一待存储数据对应的桶名和对象名确定出与所述桶名和对象名对应的目标PN;依据所述目标PN在映射表中与存储介质的映射关系,将所述N块数据块和所述M块校验块存储至所述目标PN对应的存储介质。2.根据权利要求1所述的方法,其特征在于,所述P靠近2的幂次方且为第二设定值的整数倍,所述第二设定值为N和M之和;所述按照均匀分布存储数据的原则建立映射表,包括:按照第一预设方式将P个PN映射在每一存储节点包含的各存储介质中,其中,所述第一预设方式为:将所述第二设定值个PN构成一组定位条带组PSG,在所述PSG中相邻PN序号的差值为所述P与所述第二设定值的比值,且每一PSG包含所述第二设定值个定位条带PS,PS是所述第二设定值个PN进行排序的序列,各PS为首的PN均不同,同一组PSG中的PN分布在不同存储节点中或同一个存储节点的不同存储介质中。3.根据权利要求2所述的方法,其特征在于,所述依据第一待存储数据对应的桶名和对象名确定出与所述桶名和对象名对应的目标PN,包括:对第一待存储数据对应的桶名和对象名进行运算处理,并获得序号为运算处理结果的待存储PN;查找首位为所述待存储PN的目标PS,并将所述目标PS中包含的各PN确定为用于存储所述第一待存储数据的各数据块和各校验块对应的目标PN;所述依据所述目标PN在映射表中与存储介质的映射关系,将所述N块数据块和所述M块校验块存储至所述目标PN对应的存储介质,包括:按照PN在所述目标PS排序的先后顺序,将所述N块数据块和所述M块校验块依次存储在所述PS包含的各PN对应的存储介质中。4.根据权利要求3所述的方法,其特征在于,所述对第一待存储数据对应的桶名和对象名进行运算处理,并获得序号为运算处理结果的待存储PN,包括:对第一待存储数据对应的桶名和对象名进行哈希计算并处理,得到哈希结果;将所述哈希结果除以P并取余,并将取余结果确定为用于存储数据块的待存储PN的序号。5.根据权利要求2所述的方法,其特征在于,该方法进一步包括:获取待读取数据对应的桶名和对象名;对所述待读取数据对应的桶名和对象名进行运算处理,并获得序...

【专利技术属性】
技术研发人员:柯丹丹沈泽宇高志远
申请(专利权)人:杭州宏杉科技股份有限公司
类型:发明
国别省市:

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

1