论文部分内容阅读
近年来,云计算越来越受到大家的关注,云存储作为其中的一个热门应用,在海量数据存储方面性能卓越,远远优于传统的存储系统,而如今的数据存储需求呈爆发式增长,传统的存储系统的发展已经很难跟上如今数据需求的增长脚步,因此云存储迅速的成为了大家研究的热点问题。云存储是一种服务,用以满足用户的存储需求,它将用户数据存储在服务器集群上,不管用户在任何地方使用何种终端,只要能连接上云存储系统,就可以访问到自己存储在系统中的数据,相当于给用户提供一个不限容量的移动硬盘,且数据的安全性要远远优于移动硬盘。Hadoop是Apache基金会所开发的支持涉及数千个节点和海量数据的分布式计算的高级项目。它是一个开源免费的软件框架,由java语言实现,全球的开发志愿者共同对它进行完善。HDFS是Hadoop的一个子项目,它是一个分布式文件系统,受到谷歌文件系统(GFS)的启发,提供高吞吐量的应用数据接口使得Hadoop具有很好的性能。但是,尽管HDFS已经被广泛使用,但它仍然存在一些影响性能的缺陷,对于小文件的处理能力就是其中缺陷之一。档案文件(Hadoop Archives)和序列文件(sequence files)是两种现有的改善小文件处理问题的解决方案,但它们仍然有各自的不足,本文在深入研究HDFS的技术模型之后,提出了一个优化方案,即在客户端与系统的集群中间增加一个处理模块,先对小文件进行合并处理,然后再写入系统,并以HDFS、HAR和本文方案分别进行试验,获取三种方案在NameNode内存使用效率和系统访问效率两方面的试验数据,分析试验结果可以验证本文提出的优化方案能够提升HDFS处理小文件的性能。此外,本文在HDFS的基础上,搭建了一套云存储系统,通过调用HDFS API实现了系统的一些基本功能,如用户注册登录、上传文件、浏览文件、下载文件、共享文件等。尽管功能还不够完整细致,但研究实现这套系统可以加深对云存储系统的理解,这对于进一步研究基于HDFS的相关延伸应用具有很好的指导意义。