论文部分内容阅读
随着信息技术的飞速发展,大量的数据需要进行存储,为了解决这种问题,企业往往需要购买大量的存储设备,这不但需要很高的成本,而且大量的数据管理困难,不易维护,这种方式暴露出种种的弊端。云存储作为一种随着云计算而发展出来的一种技术,其关注的重心恰恰是海量数据的存储和管理,同时因为具备弹性扩展、方便海量数据管理以及低成本等特点,被认为是未来数据存储的较好选择。它使用了分布式文件系统和集群等多种技术,将分散在网络中的类型各异的存储设备整合在一起,作为一个整体提供数据的存储和接入访问。而对于用户来说,使用云存储随时随地都可以通过网络访问云上的资源。FastDFS是一款由国人研发并且开放源码的分布式文件系统,在类UNIX系统上能很好的工作。对比其他的分布式文件系统,它的优势是量级较轻,满足高并发访问的需求,容易扩展,具备负载均衡功能,并且能自动进行文件同步。另外对小文件的存储性能较好。本文在教研室现有的云平台基础之上,探索一种以FastDFS为基础的云存储方式。本文首先对FastDFS的系统架构、运行以及同步机制进行了研究。其次从功能和性能两个方面对系统展开需求分析。在借鉴云存储的典型架构模型的基础之上,设计了基于FastDFS的云存储系统的总体架构。自顶向下分别是用户访问层、应用接口层、管理层以及数据存储层。然后依据需求分析以及总体架构对系统的各个层次进行了详细的设计与实现,在用户访问层,采用B/S模式,结合Bootstrap开源框架设计了用户界面。在应用接口层,对用户访问时的负载均衡进行了研究,并设计了REST API接口。在管理层实现需求分析中提出的功能需求,如普通用户对文件上传、下载、删除以及文件夹的各种操作,系统管理员对于用户的管理和集群的监控等。同时,研究了FastDFS原有的集群监控原理,增加了对CPU、内存使用、磁盘读写以及网络I/O的监控;研究了FastDFS调度算法,分析其存在的缺陷和不足,并提出了动态负载均衡算法。在管理层和存储集群之间,使用epoll和线程池的方式设计了接口服务器,能够及时响应大量的并发请求,满足系统对性能的要求,并且重新定义了FastDFS API接口,将其封装到线程池的任务处理逻辑中。本文最后对整个系统进行了功能和性能方面的测试,证明基于FastDFS的云存储系统满足预期的设计要求。