一种数据恢复的方法、存储的方法相应的装置及系统制造方法及图纸

技术编号:14738791 阅读:134 留言:0更新日期:2017-03-01 12:27
本发明专利技术公开了一种数据恢复的方法,应用于分布式存储系统,分布式存储系统包括命名节点、多个第一存储节点和多个第二存储节点,每个第一存储节点都包括数据处理装置,每个数据处理装置都与命名节点通信连接,所述方法包括:数据处理装置接收用户设备发送的文件块获取请求,文件块获取请求携带目标文件的标识;根据目标文件的标识确定目标文件块丢失;从命名节点获取恢复依赖数据块所在的目标存储节点的标识,并根据目标存储节点的标识和目标文件的标识获取恢复依赖数据块,恢复目标文件块。本发明专利技术实施例提供的数据恢复的方法,降低了存储开销,数据恢复时目标文件块中的一部分只需要依赖部分依赖文件块就可以得到降低了数据恢复时的网络开销。

【技术实现步骤摘要】

本专利技术涉及数据存储
,具体涉及一种数据恢复的方法、存储的方法、相应的装置及系统。
技术介绍
在大容量分布存储系统中,为提高数据存储的可靠性,可以采用多副本方案,即把磁盘里面的数据复制到多个副本磁盘中,当其中任意一个磁盘失效时,从其他任意一个存活的磁盘中把数据读取出来放入新磁盘中即完成数据恢复,这种技术实现简单,恢复耗时最少,但存储开销很大。为了解决多副本方案存储开销大的问题,出现了纠删码(Reed-SolomonCode,RS)技术,例如:RS(10,4),即对10个磁盘的数据进行编码,产生的编码结果存放在4个冗余磁盘里面,存储开销为(10+4)/10=1.4倍,存储开销比多副本方案的明显减少,但是当一个磁盘失效时,需要从10个磁盘读取数据进行解码,才能实现数据的恢复。而多副本方案只需要从1个磁盘读数据即完成恢复,相比之下网络带宽开销增加了10倍,网络带宽开销大则是RS技术的缺点。由此可见,现有技术中的分布式存储方案,要么存储开销大,要么数据恢复时网络开销大。
技术实现思路
为解决现有技术中数据分布式存储系统中数据恢复时网络开销大的问题,本专利技术实施例提供一种数据恢复的方法,可以在低存储开销的前提下,降低数据恢复时的网络开销。本专利技术实施例还提供了相应的数据存储的方法、相应的装置及系统。本专利技术第一方面提供一种数据恢复的方法,所述方法应用于分布式存储系统,所述分布式存储系统包括命名节点、多个第一存储节点和多个第二存储节点,所述多个第一存储节点用于分布式存储已存储文件的不同文件块,所述多个第二存储节点用于分布式存储对所述不同文件块进行编码得到的校验码块,每个第一存储节点都包括数据处理装置,每个数据处理装置都与所述命名节点通信连接,所述方法包括:所述数据处理装置接收用户设备发送的文件块获取请求,所述文件块获取请求携带所述目标文件的标识;所述数据处理装置根据所述目标文件的标识未查找到所述目标文件,确定所述目标文件块丢失;所述数据处理装置从所述命名节点获取恢复依赖数据块所在的目标存储节点的标识,并根据所述目标存储节点的标识和所述目标文件的标识获取所述恢复依赖数据块,所述恢复依赖数据块包括恢复所述目标文件块所需的依赖文件块和依赖校验码块,所述依赖校验码块中的一部分校验码为对目标文件的部分文件块编码得到,所述依赖校验码块中的剩余部分校验码为对所述目标文件的每个文件块编码得到,所述剩余部分校验码为除所述一部分校验码之外的校验码,所述目标文件为所述目标文件块所属的文件;所述数据处理装置根据所述依赖文件块和所述依赖校验码块恢复所述目标文件块。结合第一方面,在第一种可能的实现方式中,所述数据处理装置根据所述依赖文件块和所述依赖校验码块恢复所述目标文件块,包括:所述数据处理装置根据部分字节编码函数、所述依赖文件块和所述依赖校验码块恢复所述目标文件块中的第一字节,所述部分字节编码函数为采用所述目标文件中的部分文件块进行编码得到编码结果的函数;所述数据处理装置根据全字节编码函数、所述依赖文件块和所述依赖校验码块恢复所述目标文件块中的第二字节,所述全字节编码函数为采用所述目标文件中的每个文件块进行编码得到编码结果的函数。结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述数据处理装置根据部分字节编码函数、所述依赖文件块和所述依赖校验码块恢复所述目标文件块中的第一字节,包括:所述数据处理装置从第一编码参数所对应的依赖文件块中获取恢复所述第一字节所需的依赖字节,从第一编码结果所对应的依赖校验码块中获取恢复所述第一字节所需的校验码,所述第一编码参数为所述部分字节编码函数中的编码参数,所述第一编码结果为采用所述部分字节编码函数对所述第一编码参数所指示的依赖字节和所述第一字节进行编码所得到的结果;所述数据处理装置根据恢复所述第一字节所需的依赖字节,对恢复所述第一字节所需的校验码进行解码,得到所述第一字节。结合第一方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述数据处理装置根据全字节编码函数、所述依赖文件块和所述依赖校验码块恢复所述目标文件块中的第二字节,包括:所述数据处理装置从第二编码参数所对应的依赖文件块中获取恢复所述第二字节所需的依赖字节,从第二编码结果所对应的依赖校验码块中获取恢复所述第二字节所需的校验码,所述第二编码参数为所述全字节编码函数中的编码参数,所述第二编码结果为采用所述全字节编码函数对所述第二编码参数所指示的依赖字节和所述第二字节进行编码所得到的结果;所述数据处理装置根据恢复所述第二字节所需的依赖字节,对恢复所述第二字节所需的校验码进行解码,得到所述第二字节。本专利技术第二方面提供一种数据存储的方法,所述方法应用于分布式存储系统,所述分布式存储系统包括命名节点、多个第一存储节点和多个第二存储节点,所述多个第一存储节点用于分布式存储待存储文件的不同文件块,所述多个第二存储节点用于分布式存储对所述不同文件块进行编码得到的校验码块,每个第二存储节点都包括数据处理装置,每个数据处理装置都与所述命名节点通信连接,所述方法包括:所述数据处理装置接收所述命名节点发送的多个目标存储节点的标识和目标文件的标识,所述多个目标存储节点为已存储了所述目标文件的不同文件块的第一存储节点;所述数据处理装置根据所述目标存储节点的标识和部分字节编码函数对所述目标文件中的部分文件块进行编码,得到第一校验码,所述部分字节编码函数为采用所述目标文件中的部分文件块进行编码得到编码结果的函数;所述数据处理装置根据所述目标存储节点的标识和全字节编码函数对所述目标文件中的每个文件块进行编码,得到第二校验码,所述全字节编码函数为采用所述目标文件中的每个文件块进行编码得到编码结果的函数;所述数据处理装置将所述第一校验码和所述第二校验码存储到所述数据处理装置所属的第二存储节点的存储空间中。结合第二方面,在第一种可能的实现方式中,所述数据处理装置根据所述目标存储节点的标识和部分字节编码函数对所述目标文件中的部分文件块进行编码,得到第一校验码,包括:所述数据处理装置从第一编码参数所对应的目标存储节点中获取所述第一编码参数所指示的字节,所述第一编码参数为所述部分字节编码函数中的每个编码参数;所述数据处理装置根据所述部分字节编码函数对所述第一编码参数所指示的字节进行编码,得到第一校验码。结合第二方面或第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述数据处理装置根据所述目标存储节点的标识和全字节编码函数对所述目标文件中的每个文件块进行编码,得到第二校验码,包括:所述数据处理装置从第二编码参数所对应的目标存储节点中获取所述第二编码参数所指示的字节,所述第二编码参数为所述全字节编码函数中的每个编码参数;所述数据处理装置根据所述全字节编码函数对所述第二编码参数所指示的字节进行编码,得到第二校验码。结合第二方面或第二方面第一种可能的实现方式,在第三种可能的实现方式中,所述数据处理装置根据所述目标存储节点的标识和部分字节编码函数对所述目标文件中的部分文件块进行编码,得到第一校验码之前,所述方法还包括:所述数据处理装置根据所述目标存储节点的数量和所述命名节点所指定的校验节点的数量,确定所述部分字节编码函数中第一参本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201510504685.html" title="一种数据恢复的方法、存储的方法相应的装置及系统原文来自X技术">数据恢复的方法、存储的方法相应的装置及系统</a>

【技术保护点】
一种数据恢复的方法,其特征在于,所述方法应用于分布式存储系统,所述分布式存储系统包括命名节点、多个第一存储节点和多个第二存储节点,所述多个第一存储节点用于分布式存储已存储文件的不同文件块,所述多个第二存储节点用于分布式存储对所述不同文件块进行编码得到的校验码块,每个第一存储节点都包括数据处理装置,每个数据处理装置都与所述命名节点通信连接,所述方法包括:所述数据处理装置接收用户设备发送的文件块获取请求,所述文件块获取请求携带所述目标文件的标识;所述数据处理装置根据所述目标文件的标识未查找到所述目标文件,确定所述目标文件块丢失;所述数据处理装置从所述命名节点获取恢复依赖数据块所在的目标存储节点的标识,并根据所述目标存储节点的标识和所述目标文件的标识获取所述恢复依赖数据块,所述恢复依赖数据块包括恢复所述目标文件块所需的依赖文件块和依赖校验码块,所述依赖校验码块中的一部分校验码为对目标文件的部分文件块编码得到,所述依赖校验码块中的剩余部分校验码为对所述目标文件的每个文件块编码得到,所述剩余部分校验码为除所述一部分校验码之外的校验码,所述目标文件为所述目标文件块所属的文件;所述数据处理装置根据所述依赖文件块和所述依赖校验码块恢复所述目标文件块。...

【技术特征摘要】
1.一种数据恢复的方法,其特征在于,所述方法应用于分布式存储系统,所述分布式存储系统包括命名节点、多个第一存储节点和多个第二存储节点,所述多个第一存储节点用于分布式存储已存储文件的不同文件块,所述多个第二存储节点用于分布式存储对所述不同文件块进行编码得到的校验码块,每个第一存储节点都包括数据处理装置,每个数据处理装置都与所述命名节点通信连接,所述方法包括:所述数据处理装置接收用户设备发送的文件块获取请求,所述文件块获取请求携带所述目标文件的标识;所述数据处理装置根据所述目标文件的标识未查找到所述目标文件,确定所述目标文件块丢失;所述数据处理装置从所述命名节点获取恢复依赖数据块所在的目标存储节点的标识,并根据所述目标存储节点的标识和所述目标文件的标识获取所述恢复依赖数据块,所述恢复依赖数据块包括恢复所述目标文件块所需的依赖文件块和依赖校验码块,所述依赖校验码块中的一部分校验码为对目标文件的部分文件块编码得到,所述依赖校验码块中的剩余部分校验码为对所述目标文件的每个文件块编码得到,所述剩余部分校验码为除所述一部分校验码之外的校验码,所述目标文件为所述目标文件块所属的文件;所述数据处理装置根据所述依赖文件块和所述依赖校验码块恢复所述目标文件块。2.根据权利要求1所述的方法,其特征在于,所述数据处理装置根据所述依赖文件块和所述依赖校验码块恢复所述目标文件块,包括:所述数据处理装置根据部分字节编码函数、所述依赖文件块和所述依赖校验码块恢复所述目标文件块中的第一字节,所述部分字节编码函数为采用所述目标文件中的部分文件块进行编码得到编码结果的函数;所述数据处理装置根据全字节编码函数、所述依赖文件块和所述依赖校验码块恢复所述目标文件块中的第二字节,所述全字节编码函数为采用所述目标文件中的每个文件块进行编码得到编码结果的函数。3.根据权利要求2所述的方法,其特征在于,所述数据处理装置根据部分
\t字节编码函数、所述依赖文件块和所述依赖校验码块恢复所述目标文件块中的第一字节,包括:所述数据处理装置从第一编码参数所对应的依赖文件块中获取恢复所述第一字节所需的依赖字节,从第一编码结果所对应的依赖校验码块中获取恢复所述第一字节所需的校验码,所述第一编码参数为所述部分字节编码函数中的编码参数,所述第一编码结果为采用所述部分字节编码函数对所述第一编码参数所指示的依赖字节和所述第一字节进行编码所得到的结果;所述数据处理装置根据恢复所述第一字节所需的依赖字节,对恢复所述第一字节所需的校验码进行解码,得到所述第一字节。4.根据权利要求2或3所述的方法,其特征在于,所述数据处理装置根据全字节编码函数、所述依赖文件块和所述依赖校验码块恢复所述目标文件块中的第二字节,包括:所述数据处理装置从第二编码参数所对应的依赖文件块中获取恢复所述第二字节所需的依赖字节,从第二编码结果所对应的依赖校验码块中获取恢复所述第二字节所需的校验码,所述第二编码参数为所述全字节编码函数中的编码参数,所述第二编码结果为采用所述全字节编码函数对所述第二编码参数所指示的依赖字节和所述第二字节进行编码所得到的结果;所述数据处理装置根据恢复所述第二字节所需的依赖字节,对恢复所述第二字节所需的校验码进行解码,得到所述第二字节。5.一种数据存储的方法,其特征在于,所述方法应用于分布式存储系统,所述分布式存储系统包括命名节点、多个第一存储节点和多个第二存储节点,所述多个第一存储节点用于分布式存储待存储文件的不同文件块,所述多个第二存储节点用于分布式存储对所述不同文件块进行编码得到的校验码块,每个第二存储节点都包括数据处理装置,每个数据处理装置都与所述命名节点通信连接,所述方法包括:所述数据处理装置接收所述命名节点发送的多个目标存储节点的标识和目标文件的标识,所述多个目标存储节点为已存储了所述目标文件的不同文件块的第一存储节点;所述数据处理装置根据所述目标存储节点的标识和部分字节编码函数对所述目标文件中的部分文件块进行编码,得到第一校验码,所述部分字节编码函数为采用所述目标文件中的部分文件块进行编码得到编码结果的函数;所述数据处理装置根据所述目标存储节点的标识和全字节编码函数对所述目标文件中的每个文件块进行编码,得到第二校验码,所述全字节编码函数为采用所述目标文件中的每个文件块进行编码得到编码结果的函数;所述数据处理装置将所述第一校验码和所述第二校验码存储到所述数据处理装置所属的第二存储节点的存储空间中。6.根据权利要求5所述的方法,其特征在于,所述数据处理装置根据所述目标存储节点的标识和部分字节编码函数对所述目标文件中的部分文件块进行编码,得到第一校验码,包括:所述数据处理装置从第一编码参数所对应的目标存储节点中获取所述第一编码参数所指示的字节,所述第一编码参数为所述部分字节编码函数中的每个编码参数;所述数据处理装置根据所述部分字节编码函数对所述第一编码参数所指示的字节进行编码,得到第一校验码。7.根据权利要求5或6所述的方法,其特征在于,所述数据处理装置根据所述目标存储节点的标识和全字节编码函数对所述目标文件中的每个文件块进行编码,得到第二校验码,包括:所述数据处理装置从第二编码参数所对应的目标存储节点中获取所述第二编码参数所指示的字节,所述第二编码参数为所述全字节编码函数中的每个编码参数;所述数据处理装置根据所述全字节编码函数对所述第二编码参数所指示的字节进行编码,得到第二校验码。8.根据权利要求5或6所述的方法,其特征在于,所述数据处理装置根据所述目标存储节点的标识和部分字节编码函数对所述目标文件中的部分文件块进行编码,得到第一校验码之前,所述方法还包括:所述数据处理装置根据所述目标存储节点的数量和所述命名节点所指定
\t的校验节点的数量,确定所述部分字节编码函数中第一参数的数量和紧邻的两个校验节点中的部分字节编码函数所包含的相同第一参数的个数,所述紧邻的两个校验节点所包含的部分字节编码函数中第一参数的重叠个数最多。9.一种数据处理装置,其特征在于,应用于分布...

【专利技术属性】
技术研发人员:庄仕岳
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1