云平台下基于FastDFS的文件管理系统的研究与实现
发布时间:2020-06-04 17:01
【摘要】:在云时代的大背景下,用户数据以及存储的文件呈爆炸式增长,云存储正扮演着越来越重要的角色。云存储是在云的概念下针对海量数据的存储提出的一种解决方案,其核心是利用分布式文件系统以及集群等技术将网络中分散的存储资源放在云端集中管理,以满足云环境下数据的存储需求。云存储具有弹性扩容、数据备份,数据管控以及低成本等特性,被大量应用于生产环境,而云存储的这些特性都离不开分布式文件系统的支撑。云平台下的文件管理系统旨在为用户提供高效可靠的文件存储和管理服务。本文研究了几类分布式文件系统的设计原理,最后选择了FastDFS这样一款具备良好冗余备份、负载均衡、在线扩容等性能的轻量级分布式文件系统。FastDFS的设计遵循简单高效的原则,采用分组机制和对等结构来拓展集群,精巧的文件名设计使其特别适合存储中小文件,本文将在FastDFS的基础上结合分布式存储技术构建一套文件管理系统。本文首先对FastDFS的系统架构、文件上传下载机制和文件同步机制进行了深入研究,分析并确定了基于FastDFS的文件管理系统的功能需求和性能需求。功能需求以文件及目录功能为主,性能需求以系统的可靠性和并发访问为主。根据具体的需求提出了系统的整体架构和概要设计,并对系统的各个模块进行详细设计和实现,包括基础功能模块,目录模块和文件模块。目录模块通过设计一种目录文件将目录操作转变成对目录文件的读写操作,实现了存储系统中目录索引的功能,便于组织和管理用户文件。文件模块是整个系统的核心模块,也是本文设计和实现的重点。文件模块实现了文件上传前的去重功能,文件下载的缓存功能,以及大文件存储功能,并对FastDFS的文件同步机制进行改进和优化,进一步提升系统的可靠性。同时拓展了FastDFS客户端连接池的功能,提升系统运行效率。最后对整个文件管理系统进行测试,测试结果表明云平台下基于FastDFS的文件管理系统符合预期的设计目标。
【图文】:
图 2-1 FastDFS 系统架构图Tracker 负责管理和调度 Storage,每个 Storage 在启动后会主动连接集群中racker,向其报告自身的状态信息,包括所属 Group,磁盘剩余空间,文况,文件上传下载次数等信息,并保持周期性的心跳。Tracker 将这些信内存中,并根据 Storage 的心跳信息,,建立 Group 到组内 Storage 的映射可知,一个分组所包含的 Storage 不是通过配置文件设定,而是由 Track同时,由于 Tracker 不记录文件索引信息,需要管理的元信息很少,使得 T容易扩展为 Tracker-Cluster 来提供服务,相比 GFS 中的 Master 更为简洁Client 端作为业务请求的发起方,通过 FastDFS 提供的文件访问接口/IP 网络协议与 Tracker 或 Storage 通信,无论是何种请求,都需要先和 T。Tracker 启动后默认在 22122 端口监听客户端的请求,Storage 默认启口 23000,并且将根据它的配置信息生成新的单独线程定期向 Tracke 汇状态,此时 Tracker 对获得的消息类型进行判断。若消息类型为 Storage息,则 Tracker 会把其状态信息通过链表进行保存,然后对集群里每个分
电子科技大学硕士学位论文是一个中间人,为 Client 找到提供服务的 Storage。Storage 存储文件依赖于本地文件系统,Storage 在第一次启动时,会在其所的数据存储目录下创建两级子目录,每级 256 个,当接收到文件上传请求时,以哈希的方式将文件路由到其中某个目录下直接作为一个本地文件存储。2.2.2 文件上传下载机制(1)文件上传机制Client 先和 Tracker 通信询问上传的 Storage 信息,Tracker 根据系统配置里设定的算法查找一台可用的 Storage,其算法通常为轮转或最大磁盘剩余空间,后将该 Storage 的 IP 地址和端口号返回给 Client,之后 Client 直接和该 Storage 立连接上传文件,当上传结束后,Storage 将新生成的文件标识符 FID 返回给 ClienClient 保存相关信息,上传完毕。文件上传时序图如图 2-2 所示。
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP311.52
【图文】:
图 2-1 FastDFS 系统架构图Tracker 负责管理和调度 Storage,每个 Storage 在启动后会主动连接集群中racker,向其报告自身的状态信息,包括所属 Group,磁盘剩余空间,文况,文件上传下载次数等信息,并保持周期性的心跳。Tracker 将这些信内存中,并根据 Storage 的心跳信息,,建立 Group 到组内 Storage 的映射可知,一个分组所包含的 Storage 不是通过配置文件设定,而是由 Track同时,由于 Tracker 不记录文件索引信息,需要管理的元信息很少,使得 T容易扩展为 Tracker-Cluster 来提供服务,相比 GFS 中的 Master 更为简洁Client 端作为业务请求的发起方,通过 FastDFS 提供的文件访问接口/IP 网络协议与 Tracker 或 Storage 通信,无论是何种请求,都需要先和 T。Tracker 启动后默认在 22122 端口监听客户端的请求,Storage 默认启口 23000,并且将根据它的配置信息生成新的单独线程定期向 Tracke 汇状态,此时 Tracker 对获得的消息类型进行判断。若消息类型为 Storage息,则 Tracker 会把其状态信息通过链表进行保存,然后对集群里每个分
电子科技大学硕士学位论文是一个中间人,为 Client 找到提供服务的 Storage。Storage 存储文件依赖于本地文件系统,Storage 在第一次启动时,会在其所的数据存储目录下创建两级子目录,每级 256 个,当接收到文件上传请求时,以哈希的方式将文件路由到其中某个目录下直接作为一个本地文件存储。2.2.2 文件上传下载机制(1)文件上传机制Client 先和 Tracker 通信询问上传的 Storage 信息,Tracker 根据系统配置里设定的算法查找一台可用的 Storage,其算法通常为轮转或最大磁盘剩余空间,后将该 Storage 的 IP 地址和端口号返回给 Client,之后 Client 直接和该 Storage 立连接上传文件,当上传结束后,Storage 将新生成的文件标识符 FID 返回给 ClienClient 保存相关信息,上传完毕。文件上传时序图如图 2-2 所示。
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP311.52
【参考文献】
相关期刊论文 前7条
1 陈e
本文编号:2696691
本文链接:https://www.wllwen.com/guanlilunwen/glzh/2696691.html