论文摘要
当今的人们生活在IT技术日新月异的信息数字时代,Internet技术得到了前所未有的迅速发展与广泛应用。互联网的发展重心由硬件设备和软件应用转向海量数据存储,消费数据存储服务的主体渐渐由企业用户转向个人用户,个体所产生的绝大部分数据均为图片、文档、视频等非结构化数据。在可扩展性,高可用性,容错处理以及延时访问方面的限制,使得传统的IT存储技术不能适应海量存储的需求。云存储使得存储容量可以通过低成本节点单位扩展来增加,再加上其高可用性和可靠性,安全存储等特性,越来越多的大公司开始将目光转向以分布式存储为基础的云存储这一新兴市场的争夺,比较出名的商业云存储服务有Apache对GFS的开源实现Hadoop,微软的Live Skydrive和Dropbox, Amazon高可用和可伸缩的分布式数据存储系统Dynamo等。其中HDFS (Hadoop Distributed File System)由于其良好特性和开源实现,渐渐成为云存储基本支撑平台的主流应用文件系统。HDFS采用多副本的复制冗余技术,存储空间和带宽传输资源有一定的浪费,在数据海量增长的情况下,这种资源消耗会呈线性方式增加,这样一个文件操作频繁的系统长期运行后,后期的维护成本会比较高。针对该问题,我们以HDFS为基础,通过融入信息论数据容错编码相关技术,建立了一个基于网络编码的分布式云存储系统NC-HDFS,在有效降低冗余度的基础上提高了系统容错能力。本文以支持系统资源监控和负载均衡调度为目标,对NC-HDFS中的性能优化技术开展了研究,加入一定的负载均衡机制来优化读写,主要贡献有以下三点:(1)针对基于网络编码的分布式存储系统NC-HDFS的新特征和HDFS仅对磁盘容量相关参数进行监控这一缺陷,设计并实现了资源监控模块,支持对CPU、内存、磁盘I/O利用率等参数的实时收集与管理,为动态负载均衡优化设计提供了决策依据。(2)针对资源状态信息的实时更新问题,进一步优化了HDFS的心跳协议及名称节点端保存数据节点性能状态的相关数据结构,使新加入的节点参考数据能及时通过协议由名称节点接受并处理,在支持多维信息更新的同时,为名称节点了解数据节点的动态变化信息提供支持。(3)针对NC-HDFS的数据读写需求,建立了基于多属性约束的动态请求调度机制,实现写文件时n个文件块所在数据节点的选择和读文件时n个数据节点中k个的选择,有效提高了读写文件的效率,并达到了系统内资源使用的均衡。