# Cloud **Repository Path**: yang-binfeng/Cloud ## Basic Information - **Project Name**: Cloud - **Description**: 云备份项目:自动将本地计算机上指定文件夹中需要备份的文件上传备份到服务器中。并且能够随时通过浏览器进行查看并且下载,其中下载过程支持断点续传功能,而服务器也会对上传文件进行热点管理,将非热点文件进行压缩存储,节省磁盘空间。 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-28 - **Last Updated**: 2023-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 项目名称:云备份系统 项目功能:搭建云备份服务器与客户端,客户端程序运行在客户机上自动将指定目录下的文件备份到服务器,并且能够支持浏览器查看与下载,其中下载支持断点续传功能,并且服务器端对备份的文件进行热点管理,将长时间无访问文件进行压缩存储。 开发环境:centos7.6/vim、g++、makefile以及windows10/vs2017 技术特点:http客户端/服务器搭建,json序列化,文件压缩,热点管理,断点续传,线程池,读写锁,单例模式 项目模块: 服务端: 数据管理模块:内存中使用hash表存储提高访问效率,持久化使用文件存储管理备份数据 业务处理模块:搭建http服务器与客户端进行通信处理客户端的上传,下载,查看请求,并支持断点续传 热点管理模块:对备份的文件进行热点管理,将长时间无访问文件进行压缩存储,节省磁盘空间。 客户端 数据管理模块:内存中使用hash表存储提高访问效率,持久化使用文件存储管理备份数据 文件检索模块:基于c++17文件系统库,遍历获取指定文件夹下所有文件。 文件备份模块:搭建http客户端上传备份文件。 项目展示: 1.从客户端将需要的文件放入backup中 ![输入图片说明](cloudyang_client/c2281f92d857d60dfe83104aedde7b4.png) 2.则文件上传到了云端进行备份 ![输入图片说明](server_yang/c0105da45258bea480e72a01f9f2c74.png)