项目总结
项目名称:云备份系统
项目功能:搭建云备份服务器与客户端,客户端程序运行在客户机上自动将指定目录下的文件备份到服务器,并且能够支持浏览器查看与下载,其中下载支持断点续传功能,并且服务器端对备份的文件进行热点管理,将长时间无访问文件进行压缩存储。
开发环境:centos7.6/vim、g++、gdb、makefile
以及windows10/vs2017
技术特点:http
客户端/服务器搭建,json
序列化,文件压缩,热点管理,断点续传,线程池,读写锁,单例模式
项目模块:
- 服务端:
- 数据管理模块:内存中使用hash表存储提高访问效率,持久化使用文件存储管理备份数据
- 业务处理模块:搭建
http
服务器与客户端进行通信处理客户端的上传,下载,查看请求,并支持断点续传 - 热点管理模块:对备份的文件进行热点管理,将长时间无访问文件进行压缩存储,节省磁盘空间。
- 客户端
- 数据管理模块:内存中使用hash表存储提高访问效率,持久化使用文件存储管理备份数据
- 文件检索模块:基于
c++17
文件系统库,遍历获取指定文件夹下所有文件。 - 文件备份模块:搭建
http
客户端上传备份文件。