论文部分内容阅读
21世纪以来,互联网的发展导致数据量飞速增长,这些数据对于企业而言有着莫大的价值,因此如何更好地私有化存储以及管理这些数据就成了很重要的工作。目前云计算技术相当成熟,如阿里云的对象存储技术,直接使用会更方便,但是一些私密的文件存储在云上显然是不合适的。同时在数据呈指数式增长的情况下,单纯通过增加硬盘个数和依托本地操作系统自带的文件系统也无法满足数据存储和管理的需求。因此,本文介绍了自搭建分布式文件系统的设计和实现,为解决私有数据存储容量、数据备份等问题提供折中的解决方案。该系统基于开源的SeaweedFS文件系统,利用了其基本的分布式存储和备份功能。代理模块直接采用Spring Boot来搭建,数据层基于MySQL数据库,Druid作为数据库连接池,同时也带有可选的redis缓存,以加快数据的存取速度和减轻数据库负载。文件系统的管理模块使用MVC的设计思想,前端基于Thymeleaf模板技术,结合Bootstrap框架、jQuery库、AJAX技术实现数据的展示和近实时更新。本文首先阐述了系统涉及的关键技术,包括SeaweedFS文件系统、Spring Boot、Druid连接池、Redis缓存及前端的Thymeleaf模板技术、Bootstrap框架等。然后对系统进行了详细的需求分析与设计,将系统分为文件上传/下载、文件管理、系统管理、文件处理这四个功能模块,并对系统的总体结构、部署架构及数据库表进行了详细设计,也阐述了系统内各模块的设计细节。最后阐述了系统内各功能模块和底层SeaweedFS访问模块的实现和系统的展示效果,以及各模块对核心技术的使用情况。该系统目前处于试用阶段,上游应用正逐步从阿里云OSS存储系统迁移到该分布式文件管理系统。