Linux(CentOS)/Windows-C++ 云备份项目(项目介绍,客户端服务器功能分析,环境搭建(gcc升级7.3版本,安装jsoncpp库,bundle库,cpp-httplib库))

1. 项目介绍

此项目完成的是自动将指定文件夹中的文件上传到备份服务器上,并且能够随时通过浏览器进行查看并且下载,其中下载过程支持断点续传,服务器也会对文件进行热点管理,将非热点文件进行压缩处理,节省存储空间

2. 实现目标

这个项目实现两端程序,其中包括部署在用户机的客户端程序(Windows环境),上传所需要的备份文件,运行在服务器上的服务端程序,实现备份文件的存储,两端合作实现自动云备份功能。

3. 服务器负责的功能

  • 针对客户端上传的文件进行备份存储

  • 能够对文件进行热点文件的存储和管理,节省存储空间

  • 支持客户端浏览器下载文件,并且支持断点续传

  • 支持客户端访问浏览器查看文件列表

    服务器功能模块划分

    • 数据模块管理:负责服务器上的备份文件信息管理,以便随时获取数据
    • 网络通信模块:搭建网络通信服务器,实现与客户端通信
    • 业务处理模块:针对客户端的各个请求进行对应的业务处理并响应结果,上传,下载,断点续传
    • 热点管理模块:对长时间不访问的文件进行压缩存储。

4. 客户端负责的功能

  • 指定目录的文件检测,获取文件夹里面的文件

  • 判断这个文件是否需要备份,服务器备份过的文件则不需要进行备份,已经备份的文件如果修改也需要重新备份

  • 若这个文件被用户打开,则不进行备份。需要每隔一段时间检测更新备份。

  • 将需要备份的文件上传备份文件

    客户端功能模块划分

    • 数据管理模块:管理备份的文件信息
    • 文件检测模块:监控指定文件夹,获取这个文件夹下所有的文件信息(通过获取到的备份文件信息)
    • 文件备份模块:上传需要备份的文件数据,将数据传递给服务器。

5. 环境搭建

gcc升级7.3版本 CentOS系统

gcc -v 

在这里插入图片描述
我这里版本为4.8.5,所以需要升级gcc

sudo yum install centos-release-scl-rh centos-release-scl
sudo yum install devtoolset-7-gcc devtoolset-7-gcc-c++
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc

一行一行输入,下载一路y即可

gcc -v检查版本:
在这里插入图片描述
检查配置文件是否写入,否则下次使用版本又退回4.8.5了(注意是追加重定向,不要把系统配置文件清空了)
cat ~/.bashrc
在这里插入图片描述

jsoncpp库安装

sudo yum install epel-release -- 可能由于CentOS系统版本不同可能这条命令会失败,失败了继续执行下面的命令即可
sudo yum install jsoncpp-devel

查看安装的库是否成功

ls /usr/include/

看路径下是否有jsoncpp(版本不同可能没有,因为路径不同,但是是和json相关文件夹)

在这里插入图片描述

ls /usr/include/jsoncpp/json

在这里插入图片描述
检查json相关库

ls /lib64/libjson*

在这里插入图片描述

bundle数据压缩库安装

sudo yum install git
ping www.github.com 检查github网站是否能访问

在这里插入图片描述

git clone https://github.com/r-lyeh-archived/bundle.git

失败可能由于网络问题,重复试试

实在不行,去Github上下载后上传到服务器上也可以
bundle Github仓库
bundle Gitee镜像仓库

cpp-httplib库安装

cpp-httplib Github仓库
cpp-httplib Gitee镜像仓库

也可以使用git命令克隆下载,我这里是下载zip文件上传到服务器上安装的

在这里插入图片描述
安装完毕

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NUC_Dodamce

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值