论文部分内容阅读
互联网技术的高速发展和应用,带来了数据规模的爆炸式增长,使得大规模数据存储和处理成为目前高性能计算领域的研究热点。传统的数据处理模式多用于计算密集型作业。分布式存储的出现为海量的数据存储提供了全新的解决方案,它以“按需付费”的独特模式,为用户提供低成本、高可靠性、高性能的在线数据存储和访问服务。因此,如何在保证数据可用性和可靠性前提下高效存储和访问数据,成为分布式存储系统中尤为关键的一个问题。现有的数据副本决策算法主要是基于整个文件访问情况进行动态调整,然而,很多时候用户仅仅对文件中的部分数据块感兴趣,如果单纯的基于整个文件进行副本系数动态调整,有可能降低集群存储资源利用率和增加数据副本一致性维护开销。同时,在某些应用场景下,如视频点播应用中,HDFS并没有针对那些被用户频繁访问的热点数据进行读取优化。重复数据的频繁访问会使得DataNode节点产生频繁的磁盘I/O操作,增加数据访问延迟。同时,由于数据的重复传输大大浪费了集群系统网络流量。针对上述问题,本文在HDFS分布式文件系统的数据副本管理策略和数据访问流程两方面展开深入研究。本文完成的主要工作如下:1.在深入分析现有分布式存储系统数据副本管理技术的基础上,提出了基于数据块的副本系数动态调整策略。该策略基于数据块而非整个文件实现,首先,在数据访问具有时间局部性原则下,通过为数据块的各个历史访问周期赋予不同的权重,预测出数据块下一周期的访问频率。然后,根据HDFS中数据访问规律近似二八定律这一事实确定热点数据块阈值,从而对数据块进行热点判定,根据判定结果动态调整数据块副本系数。最后,通过实验对该策略的有效性进行验证。2.在对HDFS文件读取过程进行深入分析后,针对HDFS中频繁访问的热点数据提出了一种基于热点数据块的DataNode本地二级缓存策略。该策略通过在DataNode节点设置基于本地内存和本地磁盘的二级缓存机制,分别用于缓存HDFS中那些被频繁访问的热点小文件和热点大文件。该策略一定程度上提高了数据访问效率,减少了DataNode磁盘I/O负载以及节省了集群系统的网络带宽。最后,通过实验对该策略的有效性进行验证。