论文部分内容阅读
分布式文件存储系统是通过网络技术,将分散的、性能不强的、单个存储空间有限的存储服务器集合起来,经过合理的资源调度管理和存储策略应用后,对外提供统一存储功能的服务。虽然单个机器的处理能力喝存储能力并不强,但是如果经过合理的任务分配和空间调度,每台存储服务器都可以得到高效的利用。由于如今信息的增长速度已经日新月异,分布式存储系统所要承载的数据量也呈指数趋势增长,海量的数据对实现数据在存储节点中的负载均衡分配,避免出现严重的数据倾斜等解决方案提出了新的挑战。同时,随着用户对分布式存储系统要求越来越高,系统是否可以提供高速的文件存入和读取服务,以及是否可以维持数据的高可用性,也成为了对分布式文件存储系统性能衡量的重要标准。BitTorrent协议是传统的P2P文件分发协议,它是将一个文件通过分片策略,分布到各个节点中去,然后再通过节点之间的协同作用共同提供文件传输服务。而Swift是OpenStack中的存储模块,主要由代理服务器和存储服务器组成,整体上提供了分布式文件存储的服务。目前的分布式文件存储系统或通过BT协议可以实现较高速的文件存入/读取速度,但是当一个文件需要存储时,缺少有效的机制在海量的存储服务器中选择最合适的存储节点,导致负载均衡方面没有很好的解决办法;或通过类似与Swift存储系统架构的模式,对存储节点整体有了更合理的负载分配,但没有利用文件在分布式存储系统中多副本存储的特性,只是从一个存储节点传输文件,对带宽的利用并不充分,面临着传输速度瓶颈的问题。因此,需要将二者的特性结合起来,在类似Swift分布式存储服务的架构上,加入BT协议的特性,充分发挥两者互补的特性,构建出一套具有高可用性和高传输速度特性的存储服务。本文提出了一套结合BT协议和具有Swift特性的分布式存储系统的设计架构,其中主要包括一是对Swift存储中的一致性哈希算法,在虚节点的生成策略和分配策略,以及对系统负载的动态反馈方面做出了改进;二是改造存储节点,通过BT协议来传输文件,改善文件的传输速度。最后实现了系统的原型。最后通过实验数据来测试系统的性能表现。