当前位置:首页 > 编程笔记 > 正文
已解决

C++项目——云备份-①-项目介绍环境搭建

来自网友在路上 171871提问 提问时间:2023-10-20 02:52:47阅读次数: 71

最佳答案 问答题库718位专家为你答疑解惑

文章目录

  • 专栏导读
  • 1.什么是云备份
  • 2.实现目标
  • 3.服务端程序负责功能
  • 4.服务端功能模块划分
  • 5.客户端程序负责功能
  • 6.客户端功能模块划分
  • 开发环境
  • 环境搭建
    • 1. gcc 升级7.3版本
    • 2.安装 jsoncpp 库
    • 3.下载bundle数据压缩库
    • 4.下载 httplib 库

专栏导读

🌸作者简介:花想云 ,在读本科生一枚,C/C++领域新星创作者,新星计划导师,阿里云专家博主,CSDN内容合伙人…致力于 C/C++、Linux 学习。

🌸专栏简介:本文收录于 C++项目——云备份

🌸相关专栏推荐:C语言初阶系列C语言进阶系列C++系列数据结构与算法Linux

在这里插入图片描述

1.什么是云备份

云备份指自动将本地计算机指定文件夹中需要备份的文件上传备份到远端服务器中。并且能够随时通过浏览器进行查看或下载,其中下载过程还支持断点续传功能。服务器会对上传的文件进行热点管理(经常被访问的文件称为热点文件),将非热点文件进行压缩存储,节省磁盘空间。

在这里插入图片描述

2.实现目标

云备份项目需要我们实现两端程序,即客户端与服务端。其中部署在用户机的程序为客户端程序,负责上传文件等;运行在服务器上的程序为服务端程序,负责备份文件的存储与管理。两端合作实现总体的自动云备份功能。

3.服务端程序负责功能

  • 针对客户端上传的文件进行备份存储;
  • 能够对文件进行热点管理,对非热点文件进行压缩存储,节省磁盘空间;
  • 支持客户端浏览器查看访问文件列表;
  • 支持客户端浏览器下载文件,并且下载支持断点续传。

4.服务端功能模块划分

  • 数据管理模块:负责服务器上备份文件的信息管理;
  • 网络通信模块:搭建网络通信服务,实现与客户端进行通信;
  • 业务处理模块:针对客户端的各个请求进行对应业务处理并响应结果;
  • 热点管理模块:负责文件的热点管理,以及非热点文件的压缩存储。

5.客户端程序负责功能

  • 能够自动检测客户机指定文件夹中的文件,并判断是否需要备份;
  • 将需要备份的文件逐个上传到服务器。

6.客户端功能模块划分

  • 数据管理模块:负责客户端备份的文件信息管理,通过这些数据可以确定一个文件是否需要备份;
  • 文件检测模块:遍历获取指定文件夹中所有文件路径名称;
  • 网络通信模块:搭建网络通信服务,实现将文件数据备份上传到服务器。

开发环境

  • CentOS 7;
  • vscode/vim;
  • g++;
  • Makefile;

环境搭建

1. gcc 升级7.3版本

sudo yum install centos-release-scl-rh centos-release-scl
sudo yum install devtoolset-7-gcc devtoolset-7-gcc-c++
source /opt/rh/devtoolset-7/enable
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc
  • 检查是否升级成功
$ g++ -v

在这里插入图片描述

2.安装 jsoncpp 库

sudo yum install epel-release
sudo yum install jsoncpp-devel
  • 安装完成后

在这里插入图片描述

  • 注意,centos版本不同有可能安装的jsoncpp版本不同,安装的头文件位置也就可能不同了。

3.下载bundle数据压缩库

  • GitHub链接
  • 安装 git
sudo yum install git
git clone https://github.com/r-lyeh-archived/bundle.git

4.下载 httplib 库

  • GitHub链接
git clone https://github.com/yhirose/cpp-httplib.git
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"C++项目——云备份-①-项目介绍环境搭建":http://eshow365.cn/6-20024-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!