Skip to content

Software-Development-Unit/BackupSoft

Repository files navigation

项目概述

CloudBackup

该项目可以将指定目录下的文件自动备份到云端,同时从云端下载指定文件到本地,另外也可以通过浏览器浏览文件列表及文件(txt文件,图片等,doc文档和视频等不可浏览),并进行下载。

  1. 通过浏览器或客户端下载指定文件,客户端下载能够进行备份验证
  2. 客户端对指定目录进行监控,对每个文件生成etag信息,鉴别是否需要备份
  3. 客户端将需要备份的文件基于http协议的PUT请求上传到服务器端
  4. 服务端对于PUT上传的文件进行备份到指定目录下
  5. 冷数据进行压缩存储
  6. 整个通信的过程使用SSL/TLS加密传输

服务端

  1. 提供解析基于https协议的put请求,将文件数据进行备份
  2. 提供浏览器能够查看服务器上文件信息功能
  3. 提供浏览器能够下载服务器上文件功能
  4. 提供对后台长时间无访问文件的压缩存储功能

客户端

  1. 提供监控目录的功能,能够获取目录下文件信息,鉴别文件是否需要备份
  2. 备份文件,基于HTTPS协议PUT请求,实现文件多线程分块上传功能
  3. 文件的信息记录,便于文件是否需要备份的鉴别
  4. 打开客户端在命令行窗口中输入文件名,可下载对应文件到客户端目录下的download文件夹下,并且能够进行备份验证

开发环境

服务端开发环境

CentOS7操作系统

gcc版本4.9以上

需装配OpenSSL,zlib,Boost三个第三方库,可以到官网或用命令行下载。

客户端开发环境

Windows操作系统,VS2022(解决方案平台选择win32

开发环境则还需装配OpenSSL,Boost两个第三方库,可以参考下面两个链接配置:

Windows下Boost库的安装与使用

VS中OpenSSL环境配置示例

浏览器访问

假设服务器(虚拟机)ip是192.168.119.133,则浏览器可通过https://192.168.119.133:9000/直接对服务端进行访问,无需启动客户端。

项目部署

客户端开包即用,服务端运行dockerfile即可

参考docker命令:

systemctl start docker docker run -p 9000:9000 -d release

具体参见演示视频

About

软开实验

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages