论文部分内容阅读
随着社会信息化的发展,互联网的使用已经非常普及。全球大数据进入高速发展阶段,随之产生的数据呈指数级增长,如何存储和分析这些海量数据已成为当前热点问题。云存储作为一种服务,被广泛应用在多个存储领域,以其良好的可扩展性、可靠性、稳定性作为海量数据存储的优秀解决方案。Hadoop作为云存储的分布式存储技术的主流项目,可以运行在低廉的硬件上,并具有可靠的容错性,正受到很多企业和科研的青睐。本文系统地阐述了一个基于Hadoop架构的云存储系统的设计与实现。并针对小文件存储问题进行原生HDFS系统改造,提出了HPM方案,在数据处理层完成了多个功能模块的设计。根据小文件的体积不均的特点,本文基于体积最优的小文件合并算法的设计,对小文件进行合并,使得均匀地分布在数据块中,充分利用数据块体积减少数据块的空白区,一定程度上减少Name Node的内存开销,其中相比于原生HDFS的内存开销降低了近95.58%。另外设计文件索引与热点缓存,是基于Ehcache的缓存预取方案。在数据写入之前对文件建立索引,以文件多标签拼接成字符串作为Row Key存储在HBase数据库中,接着通过对各种不同文件标识设计读取方式,并采用Ehcache缓存策略实现热点数据的预取和缓存,从而提高Hadoop集群的读取效率,对比实验验证了该方案比原生HDFS的读取速率提升了2.01倍左右。通过对云存储方案需求和可行性的分析,设计了云存储系统的总体架构并在此基础上进行系统的技术架构、web端负载均衡及数据库的设计工作,最后,完成系统的环境部署及系统功能的实现,主要验证了系统基于B/S模式的访问特点,实现用户管理、目录管理及文件上传、下载、共享、删除等操作。基本实现了云存储系统应有的功能和所具备的特点。