云备份——初步认识及环境搭建

news2025/1/19 8:25:00

文章目录

  • 整体功能简介
    • 云备份功能
    • 实现目标
    • 服务器程序负责功能细分
    • 服务端模块划分
    • 客户端功能细分
    • 客户端模块划分
  • 环境搭建
    • gcc
    • 安装 jsoncpp
    • bundle库 与 httplib库安装

整体功能简介

云备份功能

自动将本地计算机上指定文件夹中需要备份的文件上传备份到服务器中
并且能够通过浏览器进行查看并且下载,其中下载过程支持断点续传功能
而服务器也会对上传文件进行热点管理,将非热点文件进行压缩存储,节省磁盘空间


实现目标

这个云备份项目需要我们实现两端程序,其中包括部署在用户机的客户端程序,上传需要备份的文件
以及运行在服务器上的服务器端程序,实现备份文件的存储和管理,两端合作实现总体的自动云备份功能


服务器程序负责功能细分

1.支持对客户端文件上传功能
2.支持客户端文件备份列表查看功能
3.支持客户端文件下载功能(包含断点续传功能)
4. 热点文件管理功能(对长时间无访问的文件进行压缩存储)


服务端模块划分

1.数据管理模块
(管理的是 备份的文件信息,以便于随时访问)

2.网络通信模块
(实现与客户端的网络通信)

3.业务处理模块
(上传、列表、下载(断点续传) )

4.热点管理模块
(对长时间无访问文件进行压缩存储)


客户端功能细分

1.指定文件夹中的文件检测
(获取文件夹中有什么文件)

2.判断指定的文件是否需要备份
(新增的文件 或者 已经备份过 但是又修改了 ,上次上传后又修改过,但是已经间隔3秒钟都没有被修改)

3. 将需要备份的文件上传备份到服务器上


客户端模块划分

1.数据管理模块(管理备份的文件)
2.文件检测模块(监控指定的文件夹)
3.文件备份模块(上传需要备份的文件数据)

环境搭建

gcc

输入 sudo yum install centos-release-scl-rh centos-release-scl 安装语言信息

最后显示 complete 表示完成安装


输入 sudo yum install devtoolset-7-gcc devtoolset-7-gcc-c++ 安装gcc和g++的编译器

显示 cpmplete,表示安装成功


输入 source /opt/rh/devtoolset-7/enable 加载配置文件(临时生效,下次加载就没了)

当配置后,输入 g++ -v 时,发现没有命令不存在的报错了


所以为了将加载配置文件 长期有效
输入 echo “source /opt/rh/devtoolset-7/enable” >> ~/.bashrc


安装 jsoncpp

输入 sudo yum install epel-release 安装一些源信息

有可能显示 nothing to do,表示安装失败 但是没关系 继续执行下面步骤即可


输入 sudo yum install jsoncpp-devel 安装isoncpp 开发包

显示 compete 表示 安装成功


输入 ls /usr/include/jsoncpp/json/

若输出 头文件,则说明 jsoncpp 安装成功


bundle库 与 httplib库安装

bundlle 为 数据压缩库


打开 github

先搜索 bundle ,然后 选择 r-lveh-archived/bundle


下载好后将其 放到桌面上


再次搜索 cpp-httplib ,然后 选择 yhirose/cpp-httplib


点击 dowload 进行下载


下载好后将其 放到桌面上


输入 rz ,将这两个文件 分别上传到linux上


输入 ls 指令 , 即可查看到 两个压缩包存在


输入 unzip bundle-master.zip unzip cpp-httplib-master.zip 将两个压缩包进行解压


再次输入 ls 指令时, 即可查看到 bundle-master 和 cpp-httplib-master

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1239142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

__int128类型movaps指令crash

结论 在使用__int128时,如果__int128类型的内存起始地址不是按16字节对齐的话,有些汇编指令会抛出SIGSEGV使程序crash。 malloc在64位系统中申请的内存地址,是按16字节对齐的,但一般使用时经常会申请一块内存自己切割使用&#…

小程序泄露腾讯地图apikey

今天挖小程序时测了很久,一直没有头绪,后来想要测试一下支付漏洞,但是这里却出问题了 添加地址时我发现,当我添加一个地址时,他会显示腾讯地图的logo和一部分小图,那时候我就在想,既然这里可以调…

独立版求职招聘平台小程序开发

小程序招聘系统开发 我们开发了一款高效、便捷的互联网招聘平台。在这里,可以轻松实现企业入驻、职位发布、在线求职、精准匹配职位和人才,以及参与招聘会等功能。目标是为求职者和企业搭建一个连接彼此的桥梁,帮助您更快地找到满意的工作&…

高斯Filter 和 Bilateral Filter

参考链接: Python | Bilateral Filtering - GeeksforGeeks 高斯Filter: 高斯模糊后的图像中的每个像素的强度是由它周围的像素的加权平均得到的,这个权重就是高斯函数的值,它取决于像素之间的距离。具体来说: 通常会导…

论文阅读 Forecasting at Scale (二)

最近在看时间序列的文章,回顾下经典 论文地址 项目地址 Forecasting at Scale 3.2、季节性 3.3、假日和活动事件3.4、模型拟合3.5、分析师参与的循环建模4、自动化预测评估4.1、使用基线预测4.2、建模预测准确性4.3、模拟历史预测4.4、识别大的预测误差 5、结论6、致…

软件系统运维方案

1.项目情况 2.服务简述 2.1服务内容 2.2服务方式 2.3服务要求 2.4服务流程 2.5工作流程 2.6业务关系 2.7培训 3.资源提供 3.1项目组成员 3.2服务保障 点击获取所有软件开发资料:点我获取

使用paddleocr进行OCR文字识别

1 OCR介绍 OCR(Optical Character Recognition)即光学字符识别,是一种将不同类型的文档(如扫描的纸质文件、PDF文件或图像文件中的文本)转换成可编辑和可搜索的数据的技术。OCR技术能够识别和转换印刷或手写文字&…

商务俄语学习,柯桥基础入门教学,千万别小看俄语中的“что”

1、что до (чего) 至于 例: что до меня, то я не могу согласиться 至于我,我不能同意。 А что до зимовки... Ты приедешь в этом году? 说到冬天和过冬…你今年回来吗…

Leetcode—13.罗马数字转整数【简单】

2023每日刷题(三十七) Leetcode—13.罗马数字转整数 算法思想 当前位置的元素比下个位置的元素小,就减去当前值,否则加上当前值 实现代码 int getValue(char c) {switch(c) {case I:return 1;case V:return 5;case X:return 1…

DDoS攻击频发,科普防御DDoS攻击的几大有效方法

谈到目前最凶猛、频率高,且令人深恶痛绝的网络攻击,DDoS攻击无疑能在榜上占有一席之地。各种规模的企业报包括组织机构都可能受到影响,它能使企业宕机数小时以上,给整个互联网造成无数损失。可以说,怎样防御DDoS攻击是…

算法刷题-动态规划2

算法刷题-动态规划2 珠宝的最高价值下降路径最小和 珠宝的最高价值 题目 大佬思路 多开一行使得代码更加的简洁 移动到右侧和下侧 dp[ i ][ j ]有两种情况: 第一种是从上面来的礼物最大价值:dp[ i ][ j ] dp[ i - 1 ][ j ] g[ i ][ j ] 第二种是从左…

postman设置接口关联这样做,薪资直接涨3k

postman设置接口关联 在实际的接口测试中,后一个接口经常需要用到前一个接口返回的结果, 从而让后一个接口能正常执行,这个过程的实现称为关联。 在postman中实现关联操作的步骤如下: 1、利用postman获取上一个接口指定的返回值…

OpenStack-train版安装之环境准备

环境准备 环境介绍VMware配置WMware虚拟机最低配置WMware添加网卡WMware添加硬盘 基础环境安装修改各节点的主机名修改各节点的hosts文件修改各节点的内核参数关闭各节点的防火墙和selinux安装NPT(时间同步)安装OpenStack基础服务包 CentOS升级内核 环境…

[点云分割] 条件欧氏聚类分割

介绍 条件欧氏聚类分割是一种基于欧氏距离和条件限制的点云分割方法。它通过计算点云中点与点之间的欧氏距离,并结合一定的条件限制来将点云分割成不同的区域或聚类。 在条件欧氏聚类分割中,通常会定义以下两个条件来判断两个点是否属于同一个聚类&…

8款宝藏级别的云端设计工具推荐

早年,UI设计师选择的工具有限,功能相对单一,大多数在线原型设计工具都是国外的,语言和网络都增加了设计工作的负担。如今,国内外有许多在线原型设计工具,不仅可以在浏览器上使用,而且还具有团队…

你的关联申请已发起,请等待企业微信的管理员确认你的申请

微信支付对接时,需要申请AppID,具体在下面的位置: 关联AppID,发起申请时,会提示这么一句话: 此时需要登录企业微信网页版,使用注册人的企业微信扫码登录进去,然后按照下面的步骤操作即可。 点击…

二进制插桩:静态插桩和动态intel pin插桩

目前有两类插桩平台:静态插桩(SBI)和动态插桩(DBI) SBI使用二进制重写方法永久修改磁盘上的二进制文件;DBI不会修改磁盘上的二进制程序,而是监视二进制程序的执行状态,并在其运行时…

C++ Day04 this指针,友元函数,重载

this指针 概念 谁调用 this 所在的函数 ,this 就存储谁的地址 特点 1, 在当前类的非静态成员函数中调用本类非静态成员时 , 默认有 this 关键字 2, 静态成员函数 , 没有 this 指针。 示例 #include <iostream> #include <cstring> using namespace std; class S…

羊大师教你如何有效解决工作中的挑战与压力?

在现代社会&#xff0c;工作问题一直是许多人头疼的难题。无论是从工作压力到职业发展&#xff0c;工作问题不仅会影响个人的心理健康&#xff0c;还可能对整个工作团队的效率和和谐产生负面影响。因此&#xff0c;如何有效解决工作问题成为了每个职场人士都需要面对的挑战。 …

什么是Zero-shot(零次学习)

1 Zero-shot介绍 Zero-shot学习&#xff08;ZSL&#xff09;是机器学习领域的一种先进方法&#xff0c;它旨在使模型能够识别、分类或理解在训练过程中未见过的类别或概念。这种学习方法对于解决现实世界中常见的长尾分布问题至关重要&#xff0c;即对于一些罕见或未知类别的样…