论文部分内容阅读
随着云计算的兴起与发展,云存储技术也迅速发展起来。传统的文件系统已经不能满足云存储服务的需求,因此,分布式文件系统作为云存储的关键技术也日益重要起来。目前,互联网上应用最多的分布式文件系统有谷歌的GFS、Hadoop的HDFS以及MooseFS等。这些分布式文件系统中的存储节点大多采用性能不高的PC机,为避免这些PC机因无法预知的硬件设备损坏、电源中断、黑客攻击、病毒入侵、火灾、地震及恐怖袭击等情况发生时造成的数据损坏和丢失带来的数据不能正常访问现象,分布式文件系统一般采用数据备份的方法,即副本技术,就是将同一数据存储到不同的存储节点上。系统中引入副本技术后,当客户端访问分布式文件系统中存储的数据资源时就会存在选取哪个存储节点作为访问对象的问题。分布式文件系统GFS和HDFS采用计算距离的方法来选择数据副本,每次选择离用户最近的存储节点来读取数据,而MooseFS选取的是读写次数最少的存储服务器来读取数据。GFS、HDFS和MooseFS都是网络分布式文件系统,数据存储服务器和客户端之间是通过网络传递数据的,所以数据存储服务器带宽的大小会直接影响到客户端读取数据的速度。带宽大小与客户端读取数据的速度成正比。在MooseFS数据副本选择算法中,虽然各数据存储服务器I/O负载均衡,但每次选择的数据存储服务器的带宽不一定是最好的,导致客户端读取数据的速度较慢。本文提出了基于带宽的蚂蚁算法的数据副本选择算法。蚂蚁算法是一种启发式算法,它是通过利用与环境的动态交互获得的反馈信息来调整自我,获得最佳解的过程。蚂蚁算法已经被广泛应用于许多求解最优解的问题中,如TSP分配问题、网络路由、任务调度及着色问题等。在MooseFS分布式文件系统中,选择一个最佳副本也是最优化问题,并且蚂蚁算法具有正反馈性、协同性和并行性,算法的可扩展性适合于节点动态随机变化的分布式文件系统,这些特性使得蚂蚁算法适合解决分布式系统中的数据副本选择问题,所以在理论上基于蚂蚁算法的数据副本选择算法具有可行性。实验测试结果显示,基于蚂蚁算法的数据副本选择算法提高了客户端读取数据的速度,降低了客户端访问数据的时间。