【云备份】项目展示项目总结
目录
一. 项目展示
二. 项目总结
一. 项目展示
首先我们打开服务端,把没有用的东西都删干净,包括备份的文件信息啊什么的
这个时候我们启动服务器
我们先用浏览器去看看
什么东西都没有。
好,我们现在去启动客户端,下面这个是客户端进程的目录
我们编译运行客户端
文件自动生成一个backup目录,这个目录就是用来备份文件到服务端的。
我们自己创建的文件拷贝到这个目录下
我们回到客户端所在目录,发现生成了下面这个文件
打开这个文件看看,里面就是我们上传文件的信息
这个时候我们返回到我们那个网站刷新一下
我们去服务端看看
30s后,我们的非热点文件会被自动压缩
我们现在去下载这个文件
我们下载这个文件,看看这个文件和我们源文件是不是差不多
我们把我们的大文件上传上去
这个上传过程有一点久,我们慢慢等待一下
这个时候我们回到那个下载页面
这个时候我们下载big.txt文件,点击下载之后立马关闭服务器
我们重启服务器
重启下载,发现它是从原来那个位置开始下载的。
我们等待下载
我们看看这两个文件是不是一样的
很好,是一样的。
好了,我们的整个云备份项目就到这里。
二. 项目总结
项目模块:
1.服务端:
- 1.数据管理模块:内存中使用hash表存储提高访问效率,持久化使用文件存储管理备份数据
- 2.业务处理模块:搭建 http 服务器与客户端进行通信处理客户端的上传,下载,查看请求,并支持断点续传
- 3.热点管理模块:对备份的文件进行热点管理,将长时间无访问文件进行压缩存储,节省磁盘空间。
2. 客户端
- 1.数据管理模块:内存中使用hash表存储提高访问效率,持久化使用文件存储管理备份数据2.文件检索模块:基于 c++17 文件系统库,遍历获取指定文件夹下所有文件。
- 3.文件备份模块:搭建 http客户端上传备份文件。
项目扩展:
- 1.给客户端开发一个好看的界面,让监控目录可以选择
- 2.内存中的管理的数据也可以采用热点管理
- 3.压缩模块也可以使用线程池实现
- 4.实现用户管理,不同的用户分文件夹存储以及查看
- 5.实现断点上传
- 6.客户端限速,收费则放开
常见问题:
- 1.说说你的项目
- 2.为什么做这个项目
- 3.项目中的某个技术点你是怎么实现的,为什么要用它
- 4.服务器怎么搭建的,为什么不自己实现
- 5.多个客户端同时上传文件怎么处理
- 6.断点续传怎么实现的
- 7.云备份的传输速度能达到多少,如何进行测试的
- 8.你的服务器支持多少个客户端,如何进行测试的