Hdfs中数据的存储方法、读取方法及存储系统、读取系统的制作方法

文档序号:6384544阅读:937来源:国知局
专利名称:Hdfs中数据的存储方法、读取方法及存储系统、读取系统的制作方法
技术领域
本发明涉及数据存储和读取领域,特别地,涉及一种HDFS中数据的存储和读取方法及存储和读取系统。
背景技术
Hadoop是由Apache基金主导的集群分布式项目,主要包含两个核心模块Map/Reduce 编程模式和 HDFS(Hadoop distributed File System)分布式文件系统。其中,HDFS主要通过文件数据块的多备份机制(通常为三份)、心跳机制等来实现数据的高可用性、集群扩展性、数据的高速读写等特性。由于HDFS的上述特性,目前,以HDFS为基础构建云存储的知名企业多达近千家。在热数据的存储和读写上,HDFS的存储机制不存在任何问题,但是在冷数据的存储和读写上,由于该存储机制未考虑到对冷、热数据的区分存储,因此,会由于冷数据存储占用太多的硬盘容量而存在经济成本偏高的问题。例如,假设硬盘的成本是I元/G,按照HDFS的存储机制其成本就需要3元/G ,存储ITB的数据就需要3*1024=3072元,存储IPB的数据就需要3*1024*1024=3145728元,也就是说,每降低I份存储备份块PB级的存储就将节约100多万。由此可知,需要本领域技术人员迫切解决的一个技术问题就是如何解决现有技术的HDFS中冷热数据的检测、区分及区别存储和读取冷数据,以降低HDFS中冷数据存储和读取成本高的问题。

发明内容
本发明所要解决的技术问题是提供在HDFS中可区分冷热数据且可对冷数据进行区别存储的方法和系统及对冷数据进行区别读取的方法和系统。本发明提供一种HDFS中数据的存储方法,其包括如下步骤通过数据冷热判别机制获取HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较;若所述冷热值不大于所述判别阈值,则所述文件数据块为冷数据;将所述冷数据的文件数据块分为η块,并计算出所述η个数据块对应的m个校验编码块,其中,m,η为正整数,且m < η ;将所述η个数据块和m个校验编码块进行存储。优选的,所述冷热判别机制包括通过检测机制获得的各文件数据块的冷热判别参数值建立数据冷热链表,根据所述参数值计算出所述冷热链表中各文件数据块的冷热值;所述冷热判别机制也可包括通过读取各文件数据块中的包含数据冷热判别参数的配置文件,以获取各文件数据块的冷热判别参数值,根据所述参数值计算出所述各文件数据块的冷热值。优选的,所述校验编码块为RS校验编码块,所述RS校验编码块是通过范德门矩阵计算得到的。优选的,所述冷数据的文件备份块为一个。
本发明还提供了一种与HDFS中数据的存储方法相对应的读取方法,其包括如下步骤通过数据冷热判别机制获取HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较;若所述冷热值不大于所述判别阈值,则所述文件数据块为冷数据;对所述冷数据中的η个文件数据块进行读取;计算出所述η个数据块对应的m个校验编码块,其中,m,η为正整数,且m < η ;若读取失败,则根据校验编码原则选取m’个文件数据块进行编码恢复;其中,m’ [m,n]。优选的,所述校验编码块为RS校验编码块,且所述RS校验编码块是通过范德门矩阵计算得到的。本发明还提供了一种与本发明的HDFS中数据的存储方法相对应的存储系统,其包括比较单元,用于通过数据冷热判别机制获得HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较;判别单元,用于当所述冷热值不大于所述判别阈值时,将所述文件数据块判别为冷数据;冷数据划分单元,用于将所述冷数据的文件数据块分为η块,并计算出所述η个数据块对应的m个校验编码块,其中,m, η为正整数,且m < η ;冷数据存储单元,用于将所述η个数据块和m个校验编码块进行存储。优选的,所述比较单元包括检测子单元,用于通过检测机制获得的各文件数据块的冷热判别参数值建立数据冷热链表,根据所述参数值计算出所述冷热链表中各文件数据块的冷热值;所述比较单元也可包括参数获取子单元,用于读取各文件数据块中的包含冷热判别参数的配置文件,以获取各文件数据块的冷热判别参数值,根据所述参数值计算出所述各文件数据块的冷热值。
优选的,所述校验编码块为RS校验编码块,所述RS校验编码块是通过范德门矩阵计算得到的。优选的,所述冷数 据的文件备份块为一个。本发明同时还提供了一种与上述HDFS中数据的存储系统相对应的读取系统,其包括;比较单元,用于通过数据冷热判别机制获取HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较;判别单元,用于当所述冷热值不大于所述判别阈值时,将所述文件数据块判别为冷数据;冷数据读取单元,用于对所述冷数据中的η个文件数据块进行读取;校验编码计算单元,用于计算出所述η个数据块对应的m个校验编码块,其中,m, η为正整数,且m < η ;数据恢复单元,用于当冷数据读取失败,则根据校验编码原则选取m’个文件数据块进行编码恢复;其中,m’ [m, η]。优选的,所述校验编码块为RS校验编码块,且所述RS校验编码块是通过范德门矩阵计算得到的。本发明提供的HDFS中数据的存储方法和存储系统,实现对冷热数据进行区分,并对冷数据进行区别存储,可明显降低现有HDFS中的冷数据存储成本高的问题,尤其对于PB级以上数据的存储,会大大降低HDFS中冷数据的存储成本;同时本发明提供的HDFS中数据的读取方法和读取系统,可实现对冷热数据进行区分,并对冷数据进行区别读取和恢复,从而可减少冷数据读取和恢复的时间,同时,通过编码原则尤其是RS编码原则进行数据恢复,可明显降低文件数据块的丢失数量。


图1是本发明的HDFS中数据的存储方法实施例的流程 图2是本发明的HDFS中数据的读取方法实施例的流程 图3是本发明的HDFS中数据的存储系统实施例的示意 图4是本发明的HDFS中数据的读取系统实施例的示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。参照图1,示出了本发明的HDFS中数据的存储方法实施例的流程图,包括步骤SI I,通过数据冷热判别机制获取HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较;步骤S12,若所述冷热值不大于所述判别阈值,则所述文件数据块为冷数据;步骤S13,将所述冷数据的文件数据块分为η块,并计算出所述η个数据块对应的m个校验编码块,其中,m, η为正整数,且m < η ;步骤S14,将所述η个数据块和m个校验编码块进行存储。

通过本发明的HDFS中数据的存储方法,可实现对冷热数据进行区分,并对冷数据进行区别存储,可明显降低现有HDFS中的冷数据存储成本高的问题,尤其对于PB级以上数据的存储,会大大降低HDFS中冷数据的存储成本。其中,在步骤Sll中,根据系统和用户需求,可自由选择使用不同的数据冷热判别机制。优选的,所述数据冷热判别机制可以是通过检测机制获得的各文件数据块的冷热判别参数值建立数据冷热链表,所述冷热判别参数值包括数据存储和读取频率值、数据存储和读取时间等值,根据所述参数值计算出所述冷热链表中各文件数据块的冷热值;所述数据冷热判别机制也可以是通过读取各文件数据块中的包含数据冷热判别参数的配置文件,例如HCFile. properties,以获取各文件数据块的冷热判别参数值,根据所述参数值计算出所述各文件数据块的冷热值。其中,所述校验编码可选择多种方式,比如RS编码(Reed-Solomon,里所编码),LT码,Raptor码等,但本发明优选实施例中选择使用的RS编码,虽然其需要建立比较长的RS编码,但其总体效能要优于其他编码方式。优选的,RS编码块是通过范德门矩阵计算得到的。特别的,所述冷数据的文件备份块设置为一个,同时增加一定的RS校验编码块,其中校验编码块的数量m小于文件数据块的数量n,因此,所述冷数据的备份因子为1+m/n,小于HDFS中默认的备份因子3,从而可降低冷数据备份的份数,进而降低冷数据存储成本。参见图2,示出了与上述HDFS中数据的存储方法相对应的数据读取方法实施例的流程图,其包括步骤S21,通过数据冷热判别机制获取HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较;步骤S22,若所述冷热值不大于所述判别阈值,则所述文件数据块为冷数据;步骤S23,对所述冷数据中的η个文件数据块进行合并读取;步骤S24,计算出所述η个数据块对应的m个校验编码块,其中,m, η为正整数,且m < η ;步骤S25,若读取失败,则根据校验编码原则选取m’个文件数据块进行编码恢复;其中,m, [m, η]。其中,所述校验编码可选择多种方式,比如RS编码(Reed-Solomon,里所编码),LT码,Raptor码等,但本发明优选实施例中选择使用的RS编码,虽然其需要建立比较长的RS编码,但其总体效能要优于其他编码方式。优选的,RS编码块是通过范德门矩阵计算得到的。其中,由于进行RS编码恢复的文件数据块为m’块且m’ [m, η],由此可知,文件数据块最多允许丢失m块。通过本发明的HDFS中数据的读取方法,可实现对冷热数据进行区分,并对冷数据进行区别读取和恢复,通过编码原则尤其是RS编码原则进行数据恢复,可明显降低文件数据块的丢失数量。参见图3,示出了与上述HDFS中数据的存储方法相对应的数据存储系统实施例的示意图,其包括比较单元31,用于通过数据冷热判别机制获得HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较;判别单元32,用于当所述冷热值不大于所述判别阈值时,将所述文件数据块判别为冷数据;冷数据划分单元33,将所述冷数据的文件数据块分为η块,并计算出所述η个数据块对应的m个校验码块,其中,m,η为正整数,且m < n ;冷数据存储单元34,用于将所述η个数据块和m个校验编码块进行存储。其中,所述校验编码可选择多种方式,比如RS编码(Reed-Solomon,里所编码),LT码,Raptor码等,但本发明优选实施例中选择使用的RS编码,虽然其需要建立比较长的RS编码,但其总体效能要优于其他编码方式。优选的,RS编码块是通过范德门矩阵计算得到的。通过本发明的HDFS中数据的存储系统,可实现对冷热数据进行区分,并对冷数据进行区别存储,可明显降低现有HDFS中的冷数据存储成本高的问题,尤其对于PB级以上数据的存储,会大大降低HDFS中冷数据的存储成本。其中,根据系统和用户需求,可选择配置不同的比较模块,优选的,所述比较单元31可包括检测子单元(图中未示),用于通过检测机制获得的各文件数据块的冷热判别参数值建立数据冷热链表,所述冷热判别参数值包括数据存储和读取频率值、数据存储和读取时间等值,根据所述参数值计算出所述冷热链表中各文件数据块的冷热值;所述比较单元也可以包括参数获取子单元,用于读取各文件数据块中的包含冷热判别参数的配置文件,例如HCFile. properties,以获取各文件数据块的冷热判别参数值,根据所述参数值计算出所述各文件数据块的冷热值。优选的,所述冷数据的文件备份块设置为一个,同时增加一定的RS校验编码块,其中校验编码块的数量m小于文件数据块的数量n,因此,所述冷数据的备份因子为1+m/n,小于HDFS中默认的备份因子3,从而可降低冷数据备份的份数,进而降低冷数据存储成本。参见图4,示出了与上述HDFS中数据的的读取方法相对应的数据读取系统实施例的示意图,包括比较单元41,用于通过数据冷热判别机制获取HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较;判别单元42,用于当所述冷热值不大于所述判别阈值时,将所述文件数据块判别为冷数据;冷数据读取单元43,用于对所述冷数据中的η个文件数据块进行读取;校验编码计算单元44,用于计算出所述η个数据块对应的m个校验编码块,其中,m, η为正整数,且m < n ;数据恢复单元45,用与当冷数据读取失败,则根据校验编码原则选取m’个文件数据块进行编码恢复;其中,m’ [m,n]。其中,所述校验编码可选择多种方式,比如RS编码(Reed-Solomon,里所编码),LT码,Raptor码等,但本发明优选实施例中选择使用的RS编码,虽然其需要建立比较长的RS编码,但其总体效能要优于其他编码方式。优选的,RS编码块是通过范德门矩阵计算得到的。其中,由于进行RS编码恢复的文件数据块为m’块且m’ [m, η],由此可知,文件数据块最多允许丢失m块。通过本发明的HDFS中数据的读取系统,可实现对冷热数据进行区分,并对冷数据进行区别读取和恢复,从而可减少冷数据读取和恢复的时间,同时,通过编码原则尤其是RS编码原则进行数据恢复,可明显降低文件数据块的丢失数量。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上对本发明所提供的HDFS中数据的存储方法和系统,及读取方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制 。
权利要求
1.一种HDFS中数据的存储方法,其特征在于,包括 通过数据冷热判别机制获取HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较; 若所述冷热值不大于所述判别阈值,则所述文件数据块为冷数据; 将所述冷数据的文件数据块分为η块,并计算出所述η个数据块对应的m个校验编码块,其中,m, η为正整数,且m < η ; 将所述η个数据块和m个校验编码块进行存储。
2.如权利要求1所述的方法,其特征在于,所述冷热判别机制包括通过检测机制获得的各文件数据块的冷热判别参数值建立数据冷热链表,根据所述参数值计算出所述冷热链表中各文件数据块的冷热值。
3.如权利要求1所述的方法,其特征在于,所述冷热判别机制包括通过读取各文件数据块中的包含数据冷热判别参数的配置文件,以获取各文件数据块的冷热判别参数值,根据所述参数值计算出所述各文件数据块的冷热值。
4.如权利要求1所述的方法,其特征在于,所述校验编码块为RS校验编码块。
5.如权利要求4所述的方法,其特征在于,所述RS校验编码块是通过范德门矩阵计算得到的。
6.如权利要求1至5中任一项所述的方法,其特征在于,所述冷数据的文件备份块为一个。
7.—种HDFS中数据的读取方法,其特征在于,包括 通过数据冷热判别机制获取HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较; 若所述冷热值不大于所述判别阈值,则所述文件数据块为冷数据; 对所述冷数据中的η个文件数据块进行读取; 计算出所述η个数据块对应的m个校验编码块,其中,m, η为正整数,且m < η ; 若读取失败,则根据校验编码原则选取m’个文件数据块进行编码恢复;其中,m, [m, η]。
8.如权利要求7所述的方法,其特征在于,所述校验编码块为RS校验编码块。
9.如权利要求8所述的方法,其特征在于,所述RS校验编码块是通过范德门矩阵计算得到的。
10.一种HDFS中数据的存储系统,其特征在于,包括 比较单元,用于通过数据冷热判别机制获得HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较; 判别单元,用于当所述冷热值不大于所述判别阈值时,将所述文件数据块判别为冷数据; 冷数据划分单元,用于将所述冷数据的文件数据块分为η块,并计算出所述η个数据块对应的m个校验编码块,其中,m, η为正整数,且m < η ; 冷数据存储单元,用于将所述η个数据块和m个校验编码块进行存储。
11.如权利要求10所述的系统,其特征在于,所述比较单元包括检测子单元,用于通过检测机制获得的各文件数据块的冷热判别参数值建立数据冷热链表,根据所述参数值计算出所述冷热链表中各文件数据块的冷热值。
12.如权利要求10所述的系统,其特征在于,所述比较单元包括参数获取子单元,用于读取各文件数据块中的包含冷热判别参数的配置文件,以获取各文件数据块的冷热判别参数值,根据所述参数值计算出所述各文件数据块的冷热值。
13. 如权利要求10所述的系统,其特征在于,所述校验编码块为RS校验编码块。
14.如权利要求13所述的系统,其特征在于,所述RS校验编码块是通过范德门矩阵计算得到的。
15.如权利要求10至14中任一项所述的系统,其特征在于,所述冷数据的文件备份块为一个。
16.一种HDFS中数据的读取系统,其特征在于,包括; 比较单元,用于通过数据冷热判别机制获取HDFS中的文件数据块的冷热值,并将所述冷热值与设定的判别阈值进行比较; 判别单元,用于当所述冷热值不大于所述判别阈值时,将所述文件数据块判别为冷数据; 冷数据读取单元,用于对所述冷数据中的η个文件数据块进行读取; 校验编码计算单元,用于计算出所述η个数据块对应的m个校验编码块,其中,m,η为正整数,且m < η ; 数据恢复单元,用于当冷数据读取失败,则根据校验编码原则选取m’个文件数据块进行编码恢复;其中,m’ [m,n]。
17.如权利要求16所述的系统,其特征在于,所述校验编码块为RS校验编码块。
18.如权利要求17所述的系统,其特征在于,所述RS校验编码块是通过范德门矩阵计算得到的。
全文摘要
本发明提供一种HDFS中数据存储方法和系统、读取方法和读取系统,其中所述存储方法包括通过数据冷热判别机制获取HDFS中的文件数据块的冷热值,将所述冷热值与设定的判别阈值比较;若所述冷热值不大于所述判别阈值,则文件数据块为冷数据;将所述冷数据的文件数据块分为n块,并算出所述n个数据块对应的m个校验编码块,其中,m,n为正整数,且m<n;将所述n个数据块和m个校验编码块存储;所述存储方法和系统可实现对冷热数据进行区分,对冷数据进行区别存储,降低HDFS中的冷数据存储成本;所述读取方法和系统,可实现对冷热数据进行区分并对冷数据进行区别读取和恢复,从而可减少冷数据读取和恢复的时间和成本。
文档编号G06F17/30GK103064902SQ201210550220
公开日2013年4月24日 申请日期2012年12月18日 优先权日2012年12月18日
发明者庄进发, 章正道 申请人:厦门市美亚柏科信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1