论文部分内容阅读
云计算机系统是一种分布式系统,分布式计算是云计算的基础模型。通常用分布式存储系统来支撑高效的分布式计算,而常用的数据复制技术,例如三副本策略、纠删码技术,都可以用来提高分布式系统的可靠性、可用性以及扩展性。HDFS(Hadoop Distributed File System)是由Apache基金会开发的分布式文件系统。HDFS存储系统的三副本策略会占用大量的存储资源并有可能耗光所有存储空间,数据因热度增加导致需求增加,固定的副本策略无法无法维持数据的高可用性,并且会使得节点负载失衡。系统采用纠删码技术来解决存储系统资源消耗过多过快的问题,但需要消耗大量的网络带宽去和数据节点交互,下载恢复文件所需的数据块,对数据块进行解码操作恢复成原数据的过程中,都需要消耗CPU资源、内存资源,资源消耗代价较高。为了解决HDFS存储系统中出现的问题,本文进行了相关研究。本文主要贡献如下:首先,根据副本调度影响因子,包括文件的热度值、静态影响因子,也考虑到文件的可用系数,设计了动态副本调度算法。通过分析副本调度影响因子,来求出副本需求数量,通过与现有副本数进行比较,进行动态调整,以适应因数据热度变化带来的副本需求变化。通过动态调节副本数量提高节点的可用性,依据文件的可用性,在节点过载时,主动增加节点来放置副本,保持了文件的高可用性,又保持了系统的负载平衡。当系统较空闲时,现有副本数大于需求的副本数,通过减少副本数,从而减少了资源的消耗,提供了系统资源的利用率。其次,为了解决好纠删码恢复数据块带来资源消耗代价较高的问题,本文通过对影响数据读取时延、影响系统负载平衡的各种性能指标进行分析,找出具有代表性的指标——系统吞吐量,并通过对节点的负载进行判断,而设计了多用户请求调度算法。该调度算法能够有效降低存储系统中用纠删码编码文件获得的平均时延,达到负载平衡优化的目的,还能够提高数据获取的稳定性,给用户更好的体验。最后,在HDFS分布式文件系统的基础上,采用了副本和纠删码混合存储策略。该策略采用纠删码技术提高了数据安全性,降低了存储成本;采用动态副本策略来调节分布式集群运行时对节点资源的利用,调节系统负载平衡,使数据保持高可用性。通过实验分析,本文采用的混合存储策略与HDFS原有的三副本策略相比,有更强的负载均衡能力、降低了存储成本、提高了安全性,使数据处于高可用状态。