论文部分内容阅读
随着互联网数据迅猛增长,在大数据时代存储和处理这些海量数据成为最大的挑战之一,各种各样的云存储系统开始涌现,国内外公司都投入到各自云存储系统研究和开发中。HDFS是Google GFS开源实现的分布式文件系统,专门用于存储海量大数据,具有高可靠性、高可用性、高伸缩性等特点。HDFS集群采用主从架构,一个中心节点用于保存文件系统的元数据,许多个数据节点用来存放实际的数据。大文件被分割多个块,被存放在数据节点中,分布在不同数据节点上。当HDFS应用于含有大量的小文件场景中,会造成中心节点内存急剧消耗,限制HDFS集群容量,同时造成中心节点洪泛查询的压力。论文研究了HDFS自带的小写文件存储的解决方案,它们采用远端合并压缩的方法,但是由于存在多级索引过程,导致读写性能低下。针对HDFS自带方案的不足,提出了一种客户端小写文件合并策略。该方案将小文件在客户端缓存合并成一个大文件,同时小文件在大文件的偏移信息写入大文件的开头部分,然后作为一个文件块存入数据节点;在数据节点端添加小文件映射表,实现了对原生Inode结构的拓展;在数据节点通过小文件索引信息,提取小文件内容;并通过采用缓存预取策略来提高读取性能。最后设计测试方案,对拓展系统进行了内存占用、读写性能等方面的测试,通过与原系统小文件存储方案进行性能比较,发现系统内存使用节省达70%,写文件时间平均缩短20%,通过预取策略文件读时间平均缩短40%。