论文部分内容阅读
随着各行各业信息化的程度不断的提高和移动互联网的飞速发展,传统的计算模式和存储模式已经不能满足日益增长的业务需求,云计算就是在这种背景下提出的一种计算模式,它是一种分布式计算、并行计算和网格计算的商业发展,提供了一种按需付费和弹性扩展的服务方式。云存储是云计算服务架构中的重要组成部分,它提供了可扩展,高容错的存储服务。分布式文件系统则提供了对云存储系统的支撑,其性能的好坏直接影响了云存储服务能力。分布式文件系统为了提高系统的可靠性和性能一般都采用了副本和缓存的技术,然而复制和缓存却带了副本和缓存的数据一致性问题。为了解决一致性问题从不同的角度有多种一致性模型可以参考。HDFS是一种面向大数据集、高吞吐量应用的一种分布式文件系统,在数据存储节点上它提供了冗余存储数据块的机制来保证系统的可扩展性和可靠性,然而它采用的是基于管道流的副本数据块更新机制,当面对交互式的应用场景时,它所采用的副本数据块强一致性策略会造成服务性能的急剧下降。本文从分析面向个人用户的云存储服务的特点以及用户使用云存储服务的习惯出发,在研究了HDFS的技术架构的基础上设计并实现了基于HDFS的交互式云存储系统,使用了一种可配置的数据副本一致策略来提高系统的可用性,并采用了客户端缓存和合并小文件的方案来提高系统的整体性能。本文的主要工作包括:分析和研究了解决分布式系统中一致性问题可以采用的数据同步模型;研究了HDFS所采用的数据同步模型,并指出其在提供面向个人的云存储服务时的不足,提出并实现了一种基于NWR模型的可配置的数据副本读写同步方案;基于HDFS不提供客户端缓存的事实,为了增强系统的可扩展性和减轻服务端的访问压力,在原生HDFS的客户接口上增加客户缓存模块;针对HDFS在面临大量小文件存储时Namenode内存利用率低下的情况设计并实现了一种能够极大的提高小文件存取效率的方案。最后通过测试和分析证明了本系统的可用性以及服务性能的提高。