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

文章目录

  • 整体功能简介
    • 云备份功能
    • 实现目标
    • 服务器程序负责功能细分
    • 服务端模块划分
    • 客户端功能细分
    • 客户端模块划分
  • 环境搭建
    • 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.rhkb.cn/news/201139.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Apache部署虚拟主机网站

文章目录 Apache释义Apache配置关闭防火墙和selinux 更改默认页内容更改默认页存放位置个人用户主页功能基于口令登录网站虚拟主机功能基于ip地址相同ip不同域名相同ip不同端口 学习本章完成目标 1.httpd服务程序的基本部署。 2.个人用户主页功能和口令加密认证方式的实现。 3.…

Spring框架学习 -- 核心思想

目录 (1) Spring是什么? (2) 什么是IOC容器? (3) 从传统开发认识spring (4) 这种传统开发的缺陷 (5)解决传统开发中的缺陷 (6) 对比总结规律 (7) 理解IOC 创作不易多多支持 (1) Spring是什么? 我们常说的Spring的全称是: Spring Framework(Spring框架), 它是一个开源…

【广州华锐互动】VR防溺水安全内容体验提高群众防溺水意识

在全球各地,溺水是导致儿童和青少年死亡的主要原因之一。据世界卫生组织的统计,全球每年有超过36万人因溺水而死亡,其中大部分是儿童和青少年。因此,提供有效的防溺水教育和培训至关重要。随着科技的发展,虚拟现实&…

CF 1894A 学习笔记 思维 题意理解分析

原题 A. Secret Sport time limit per test 3 seconds memory limit per test 512 megabytes input standard input output standard output Lets consider a game in which two players, A and B, participate. This game is characterized by two positive integer…

MyBatis Generator 插件 详解自动生成代码

MyBatis Generator(MBG)是MyBatis和iBATIS的代码生成器。可以生成简单CRUD操作的XML配置文件、Mapper文件(DAO接口)、实体类。实际开发中能够有效减少程序员的工作量,甚至不用程序员手动写sql。 它将为所有版本的MyBatis以及版本2.2.0之后的i…

【Java基础】Java导Excel攻略

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【JavaEE】操作系统与进程

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

京东小程序:无代码开发实现API集成,连接电商平台、CRM和客服系统

无需复杂API开发,京东小程序连接电商平台 京东小程序平台以其全开放的生态模式,让商家享有京东系APP流量福利、海量SKU和开放能力,提升用户体验,同时也带来了新商机。京东小程序的最大优势在于,商家无需进行复杂的API…

驶入产业发展快车道,汉鑫科技人工智能研发中心正式启用!

11月18日,汉鑫科技人工智能研发中心正式启用。中心立足烟台,服务全国,聚焦工业智能、智能网联、智慧城市三大业务板块,以人工智能技术赋能政企实现“数智化”转型升级。该中心的启用标志着汉鑫科技在人工智能研发应用领域迈上了新…

二百零四、Flume——登录监听窗口报错Ncat: bind to :::44444: Address already in use. QUITTING.

一、目的 Flume安装好后测试开启监听窗口44444,结果报错Ncat: bind to :::44444: Address already in use. QUITTING. 二、报错详情 Ncat: bind to :::44444: Address already in use. QUITTING. 三、报错原因 经过分析发现,44444窗口已经被占用 […

el-input限制输入整数等分析

文章目录 前言1、在 Vue 中,可以使用以下几种方式来限制 el-input 只能输入整数1.1 设置input 的 type为number1.2 使用inputmode1.3 使用自定义指令1.4 使用计算属性1.5 使用 onafterpaste ,onkeyup1.6 el-input-number 的precision属性 总结 前言 input 限制输入…

前端学习--React(1)

一、React简介 React由Meta公司研发,是一个用于 构建Web和原生交互界面的库 优势:组件化开发、不错的性能、丰富生态(所有框架中最好)、跨平台(web、ios、安卓) 开发环境搭建 打开相应文件夹 新建终端并…

【深度学习实验】注意力机制(四):点积注意力与缩放点积注意力之比较

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 理论介绍a. 认知神经学中的注意力b. 注意力机制 1. 注意力权重矩阵可视化(矩阵热图)2. 掩码Softmax 操作3. 打分函数——加性注意力模型3. 打分函数——点积注意力与缩放…

设计模式(二)-创建者模式(3)-抽象工厂模式

一、为什么需要抽象工厂模式? 在工厂模式中,我们需要定义多个继承于共同工厂抽象基类的工厂子类,这些子类负责创建一个对应的对象。工厂模式存在一个缺点就是:每次扩展新的工厂子类,就会增加系统的复杂度。 如果我们…

[论文笔记] Scaling Laws for Neural Language Models

概览: 一、总结 计算量、数据集大小、模型参数量大小的幂律 与 训练损失呈现 线性关系。 三个参数同时放大时,如何得到最佳的性能? 更大的模型 需要 更少的样本 就能达到相同的效果。 </

如何使用 WPF 应用程序连接 FastReport报表

随着期待已久的FastReport WPF的发布&#xff0c;您不再需要使用 FastReport .NET 来处理基于 WPF 的项目。 不久前&#xff0c;在 FastReport .NET 中使用 WPF 还相当不方便。并非一切都进展顺利&#xff1b;连接 FastReport.dll 和许多其他问题存在问题。我们重新思考了该方…

No such module ‘FacebookCore‘

在下面的地方添加这个库

2023亚太杯数学建模思路 - 案例:最短时间生产计划安排

文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型 2.3 相关代码2.4 模型求解结果 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 最短时…

Jmeter之压力测试总结!

一、基本概念 1.线程组N&#xff1a;代表一定数量的并发用户&#xff0c;所谓并发就是指同一时刻访问发送请求的用户。线程组就是模拟并发用户访问。 2.Ramp-Up Period(in seconds)&#xff1a;建立所有线程的周期&#xff0c;就是告诉jmeter要在多久没启动所有线程&#xff…

【论文阅读笔记】Deep learning for time series classification: a review

【论文阅读笔记】Deep learning for time series classification: a review 摘要 在这篇文章中&#xff0c;作者通过对TSC的最新DNN架构进行实证研究&#xff0c;探讨了深度学习算法在TSC中的当前最新性能。文章提供了对DNNs在TSC的统一分类体系下在各种时间序列领域中的最成功…