[发明专利]一种基于HDFS的小文件优化存储方法有效
申请号: | 201310561745.0 | 申请日: | 2013-11-12 |
公开(公告)号: | CN103577123A | 公开(公告)日: | 2014-02-12 |
发明(设计)人: | 毛莺池;闵伟;戚荣志;陈曦;王康;任道宁 | 申请(专利权)人: | 河海大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F17/30 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 李玉平 |
地址: | 210098*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hdfs 文件 优化 存储 方法 | ||
1.一种基于HDFS的小文件优化存储方法,用于海量小文件数据的存储管理,其特征在于,包括三个方面:小文件合并与存储预处理,元数据分布式存储,以及文件目录结构优化;
1)小文件合并与存储预处理:通过对文件过滤、小文件合并、元数据的生成、对象ID的生成实现小文件存储预处理;文件过滤和文件合并在客户端完成;元数据生成和元数据对象ID的生成在名字节点NameNode端完成;文件过滤是用来判断客户端传送的文件是否为小文件;文件合并将通过过滤的小文件以尾部添加的方式合并,生成合并文件;若新添加的小文件超过合并文件的剩余空间,则需要申请新的文件块;通过小文件合并前后输入与输出信息,系统可以实现小文件与合并文件之间的映射,映射关系以小文件元数据<key,value>键值对的形式存储在元数据集群,同时生成元数据对象ID,即目录ID,包括路径命名空间和目录属性,并作为目录元数据;
2)元数据分布式存储:小文件元数据<key,value>键值对采用基于Chord协议的分布式集群存储;通过目录ID指向Chord中的相应结点,使得相关联的小文件的元数据存放于同一目录下;
3)文件目录结构优化:将文件目录层次结构写到对象块的ID中,即目录ID中,使其能够反映对象之间的命名空间关系,实现元数据索引本地化;目录结构优化是将元数据键值key的生成分解为DirectoryID和SmallFileID。DirectoryID作为元数据跳转到元数据集群中结点的key值,实现了同一目录下文件存储到同一结点;SmallFileID在元数据结点中生成,实现每一个元数据对应一个全局唯一的ID标识;根据多叉树深度遍历方式,采用基于深度的目录层次空间分配算法,实现小文件快速定位与访问。
2.根据权利要求1所述的基于HDFS的小文件优化存储方法,其特征在于,所述步骤1)进一步包含以下步骤:
1.1)判断客户端传送的文件是否为小文件;设定小文件的阈值为1M,若文件大小小于1M,则为小文件,并转为1.2);否则若为大文件,则文件直接存在至HDFS的数据节点DataNode中;
1.2)通过过滤的小文件以尾部添加的方式合并,生成合并文件;若新添加的小文件超过合并文件的剩余空间,则需要申请新的文件块,其中设定合并文件大小为64MB;
1.3)在文件合并过程中,小文件向系统输入小文件名SF_Name、文件长度SF_length和小文件标识位SF_Flag信息;
1.4)小文件经过合并后,向系统输出合并后的文件名MF_Name、小文件在合并文件中的偏移量SF_offset、合并文件长度MF_length和合并文件标识位MF_Flag信息;
1.5)根据小文件名SF_Name与其所在目录生成一个唯一的小文件标识符SF_ID,并将SF_ID作为小文件的元数据<key,value>的key值;
1.6)根据小文件名SF_Name、合并文件名MF_Name、小文件在合并文件中的偏移量SF_offset、合并文件长度MF_length和合并文件标识位MF_Flag信息封装为小文件的元数据<key,value>的value值;实现小文件与合并文件之间的映射;
1.7)生成元数据对象ID,即目录ID;小文件的文件名命名采用文件全路径,包括文件的名称和文件所在的目录;使用SHA-1安全散列算法,生成了一个键值key,并将元数据以<key,value>存储到此节点,生成目录ID。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河海大学,未经河海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310561745.0/1.html,转载请声明来源钻瓜专利网。