浅谈云计算05 | 云存储等级及其接口工作原理
一、云存储设备
在当今数字化飞速发展的时代,数据已然成为个人、企业乃至整个社会的核心资产。从日常生活中的珍贵照片、视频,到企业运营里的关键业务文档、客户资料,数据量呈爆炸式增长。面对海量的数据,如何安全、高效且便捷地存储,成为了大家共同面临的关键挑战。云存储设备,恰如应运而生的璀璨新星,正逐步取代传统存储模式,引领数据存储迈向全新未来。
云存储设备,简单来说,是依托云计算技术,通过互联网将数据存储于远程服务器集群中的创新存储方案。它打破了传统存储对本地物理设备的依赖,让数据存储不再受限于硬盘容量、地理位置等因素。无论是身处繁华都市的办公室,还是在偏远地区出行,只要接入互联网,用户就能随时随地访问、管理自己的数据,真正实现数据随身,存储无界。
二、云存储等级
2.1 文件存储:为企业办公提供高效协作支持
文件存储,就如同我们日常使用的电脑文件夹,它以文件和文件夹的形式来组织、存储数据。这种存储方式对结构化数据极为友好,例如办公文档、电子表格等。在企业办公场景中,员工们可以通过云存储平台轻松上传、下载各类办公文件,并且能够实时共享、协同编辑,大大提高了团队协作效率。像腾讯文档、石墨文档等在线协作平台,便是依托文件存储技术,让分布在各地的团队成员宛如在同一办公室般紧密协作,共同推动项目进展。
2.2 块存储:数据库等高性能需求场景的首选
块存储则是将数据切割成固定大小的数据块,每个数据块都有独立的地址标识,就好比把一个大型仓库划分成众多小隔间,每个隔间都有精准编号。它专为那些对输入输出(I/O)性能要求苛刻的应用场景量身打造,如数据库管理系统、企业资源规划(ERP)软件等。以金融行业为例,银行的核心交易系统需要在瞬间处理海量的交易数据读写请求,块存储凭借其超低延迟、超高吞吐量的特性,确保交易数据能够快速、准确地被存储和读取,保障金融业务的稳定运行。
2.3 数据集存储:数据安身立命之所
一般而言,数据集中的数据在关系数据库里以表格形式巧妙编排。这些表格中的数据,是由一条条记录有序排列而成。每一条记录都像是一个独特的 “故事片段”,完整地描述了某个具体对象或事件。以进一步剖析每条记录,我们会发现它是由包含不同信息的各个字段所构成。用户信息表为例,一条记录可能就代表着一位特定用户的所有相关信息,从姓名、性别到联系方式,乃至注册时间等,无一遗漏。合理的数据集存储方式,能够确保数据的高效访问与处理。
2.4 对象存储:灵活应对海量非结构化数据
对象存储,是一种相对新颖且极具创新性的存储方式。这里的 “对象”,可简单理解为包含了数据本身、元数据(描述数据的相关信息,如数据类型、创建时间、所有者等)以及唯一标识符的数据集合。打个比方,就像图书馆里的每一本书,书的内容是数据,书的作者、出版年份、分类标签等信息就是元数据,而每本书独一无二的馆藏编号便是唯一标识符。对象存储特别适合存储图片、视频、音频等海量的非结构化数据。如今,社交媒体平台上每天都会产生数以亿计的图片、视频,云存储服务商利用对象存储技术,能够轻松应对如此庞大且零散的数据,为用户提供可靠的存储服务,确保数据随时可访问,永不丢失。
三、云存储接口的基本工作原理
3.1 文件存储接口:NFS、CIFS
在云存储的文件存储领域,NFS(Network File System,网络文件系统)和 CIFS(Common Internet File System,通用互联网文件系统)是两大核心协议。它们都遵循 POSIX(Portable Operating System Interface,可移植操作系统接口)标准,这意味着无论在何种操作系统下,只要支持该标准,就能无缝对接使用。
NFS 起源于 UNIX 系统,它基于远程过程调用(RPC)机制实现。当客户端向服务器发起文件访问请求时,如读取一个文档,客户端的 NFS 模块会将请求封装成 RPC 消息,发送到服务器端。服务器端的 NFS 守护进程接收并解析请求,从本地文件系统获取相应数据,再通过 RPC 回复给客户端。在企业内部的 Linux 服务器集群环境中,员工们使用的各种 Linux 工作站可通过 NFS 挂载共享的文件存储目录,实现代码、文档等资源的共享,协同开发项目,仿佛所有文件就在本地磁盘一样便捷。
CIFS 则主要应用于 Windows 环境,它脱胎于微软的 SMB(Server Message Block,服务器消息块)协议。CIFS 采用请求 - 响应模式,在 Windows 网络中,当用户在 “网络邻居” 里访问共享文件夹时,背后便是 CIFS 在发挥作用。例如,一家小型公司内部搭建了基于 Windows Server 的文件服务器,员工们通过各自的 Windows 电脑,使用 CIFS 协议轻松访问共享的办公文件,进行日常的文档编辑、资料查阅等工作,极大提高了办公效率。
3.2 块存储接口:SCSI
SCSI(Small Computer System Interface,小型计算机系统接口)协议在块存储里扮演着关键角色。它定义了一套完整的命令集,用于主机和存储设备之间的数据传输、设备管理等操作。
SCSI协议采用典型的总线结构,在这一总线上,能够连接包括主机适配器(一般指 SCSI 控制器)以及众多不同类型的 SCSI 外围设备。每个设备都被赋予一个独一无二的 SCSI ID(标识符),这个标识符就如同设备在 SCSI 总线上的 “身份证”,用于在复杂的系统环境中精准识别和区分各个不同的设备。例如,在一个由多块硬盘组成的 SCSI 硬盘阵列里,每一块硬盘都拥有属于自己独立且唯一的 SCSI ID,确保数据传输的准确性与高效性。
当主机有数据交互需求时,SCSI 控制器发起含操作码、逻辑单元号及相关参数的 SCSI 命令,如主机读取硬盘数据时生成特定命令。接着,SCSI 控制器通过总线发含目标设备 SCSI ID 的 “选择” 信号,目标设备识别 ID 后响应并与主机建立连接。之后,目标设备解析命令并执行,如硬盘接读取命令后定位并读取数据。数据传输方向分设备到主机与主机到设备,有同步和异步两种模式,不同 SCSI 标准同步速率有所区别。命令执行完,目标设备向主机返回状态信息及其他消息,主机据此决定后续操作,保障系统稳定高效运行。
3.3 对象存储接口:RESTful API、S3 API
对象存储的接口主要围绕对象展开。对象,作为对象存储的核心单元,整合了数据、元数据以及唯一标识符。其存储接口主要包括 RESTful API 和 S3 API。
REST(Representational State Transfer)是一种软件架构风格,RESTful API 基于 HTTP 协议,以资源为核心,将对象存储中的每个对象、容器等视为资源,为其赋予唯一 URL 用于定位。客户端借助标准 HTTP 方法操作资源,像 GET 获取对象数据、PUT 上传或更新对象、DELETE 删除对象等。请求时,客户端需提供如访问密钥和秘密密钥等身份验证信息,以在请求头或查询参数中发送,服务端验证其有效性,判断客户端是否有权限执行操作。服务端接收请求后,依据请求操作处理资源,并返回含状态码(指示成功或各类错误情况)、响应头(包含元数据)及响应体(对象数据或错误信息)的 HTTP 响应,客户端据此进行相应处理。
S3(Simple Storage Service)API 是亚马逊公司开发的对象存储接口,已成为事实上的行业标准,许多对象存储系统都兼容 S3 API。它提供了一组简单的操作,用于在云端存储和检索数据对象。S3 API 以桶作为对象存储的容器,客户端通过CreateBucket操作创建桶,并可指定名称与位置等属性,借助ListBuckets操作获取桶列表,以桶名访问特定桶。针对对象操作,客户端使用PutObject操作,指定桶名、对象键及对象数据上传对象;运用GetObject操作,依据桶名和对象键下载对象;通过DeleteObject操作删除指定桶中的对象。在身份验证方面,S3 API 采用签名机制,客户端利用访问密钥和秘密密钥,按特定规则对请求关键信息(如 HTTP 方法、请求头、请求时间等)进行组合与哈希计算生成签名,服务端接收请求后,使用相同规则与客户端访问密钥验证签名有效性,只有验证通过的请求才会被处理。此外,对象和桶均可关联元数据,客户端上传对象时可通过PutObject请求头部信息添加,服务端响应时会返回相关元数据,方便客户端了解资源详情。
3.4 数据库存储接口
3.4.1 关系型数据库
关系型数据库以其结构化的数据存储模式著称,数据按照表、行、列的形式组织,就像规整的电子表格。常见的代表有 MySQL、Oracle 等。
它们通常使用 SQL(Structured Query Language,结构化查询语言)作为数据接口协议。企业的客户关系管理(CRM)系统,大量的客户信息、订单记录、售后反馈等数据存储在关系型数据库中。当业务人员需要查询某个客户的所有订单时,通过在前端界面输入 SQL 查询语句,数据库系统解析该语句,依据预设的表结构关系,从众多关联表中精准提取所需数据,快速返回结果,助力企业精准把握客户需求,优化业务决策。
3.4.2 非关系型数据库
非关系型数据库则针对海量、半结构化或非结构化数据而生,数据存储形式更为灵活多样,常见类型有键值对、文档、列族、图形等。代表产品如 MongoDB(文档型)、Redis(键值对型)。
以 MongoDB 为例,它使用类似 JSON 的 BSON(Binary JSON)格式存储文档数据,其接口提供丰富的操作方法,如插入文档、查询文档、更新文档等。在社交媒体平台,用户的动态、评论、点赞等复杂多样且频繁更新的数据,通过 MongoDB 的接口高效存储与管理。当用户刷新社交页面时,后台迅速调用接口从数据库中抓取最新动态数据,实时呈现给用户,营造活跃的社交互动氛围。
相关文章:

浅谈云计算05 | 云存储等级及其接口工作原理
一、云存储设备 在当今数字化飞速发展的时代,数据已然成为个人、企业乃至整个社会的核心资产。从日常生活中的珍贵照片、视频,到企业运营里的关键业务文档、客户资料,数据量呈爆炸式增长。面对海量的数据,如何安全、高效且便捷地存…...

linux:文件的创建/删除/复制/移动/查看/查找/权限/类型/压缩/打包,文本处理sed,awk
关于文件的关键词 创建 touch 删除 rm 复制 cp 权限 chmod 移动 mv 查看内容 cat(全部); head(前10行); tail(末尾10行); more,less,grep 查找 find 压缩 gzip ; bzip 打包 tar 编辑 sed 文本处理 awk 创建文件 格式: touch 文件名 删除文件 复制文…...
CentOS 8 如何安装java与mysql
在CentOS 8上安装Java和MySQL的步骤如下: 1. 安装 Java 1.1 安装 OpenJDK(推荐) CentOS 8 默认的软件仓库提供了 OpenJDK 包,您可以直接使用 dnf 命令安装。 # 更新系统 sudo dnf update -y# 安装 OpenJDK 11(Cent…...
Go语言之路————go基本语法、数据类型、变量、常量、输出
Go语言之路————go基本语法、数据类型、变量、常量 前言一、基本语法知识二、数据类型三、常量四、变量五、作用域六、输入输出 前言 我是一名多年Java开发人员,因为工作需要现在要学习go语言,Go语言之路是一个系列,记录着我从0开始接触G…...

音视频入门基础:MPEG2-PS专题(7)——通过FFprobe显示PS流每个packet的信息
音视频入门基础:MPEG2-PS专题系列文章: 音视频入门基础:MPEG2-PS专题(1)——MPEG2-PS官方文档下载 音视频入门基础:MPEG2-PS专题(2)——使用FFmpeg命令生成ps文件 音视频入门基础…...

Docker安装和卸载(centos)
Docker安装和卸载 一,已安装Docker,卸载Docker 1.方法一 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 如果出现以下提示就证明没卸载…...

YOLOv8从菜鸟到精通(二):YOLOv8数据标注以及模型训练
数据标注 前期准备 先打开Anaconda Navigator,点击Environment,再点击new(new是我下载anaconda的文件夹名称),然后点击创建 点击绿色按钮,并点击Open Terminal 输入labelimg便可打开它,labelimg是图像标注工具,在上篇…...

Winforms开发基础之非主线程操作UI控件的误区
前言 想象一下,你正在开发一个桌面应用程序,用户点击按钮后需要执行一个耗时操作。为了避免界面卡顿,你决定使用后台线程来处理任务。然而,当你在后台线程中尝试更新UI控件时,程序突然崩溃了。这是为什么呢࿱…...
Flutter中Get.snackbar和Get.dialog关闭冲突问题记录
背景: 在使用GetX框架时,同时使用了Get.snackbar提示框和Get.dialog加载框,当这两个widget同时存在时,Get.dialog加载框调用Get.back()无法正常关闭。 冲突解释: 之所以会产生冲突,是因为Get.snackbar在关…...
springcloudalibaba集成fegin报错ClassNotFoundException解决方案
集成fegin遇到问题: java.lang.ClassNotFoundException: com.netflix.config.CachedDynamicIntProperty 解决方案: 在pom文件中添加依赖 <dependency><groupId>com.netflix.archaius</groupId><artifactId>archaius-core</artifactId><versi…...

【HTML+CSS+JS+VUE】web前端教程-31-css3新特性
圆角 div{width: 100px;height: 100px;background-color: saddlebrown;border-radius: 5px;}阴影 div{width: 200px;height: 100px;background-color: saddlebrown;margin: 0 auto;box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.5);}...
力扣264. 丑数 II
给你一个整数 n ,请你找出并返回第 n 个 丑数 。丑数 就是质因子只包含 2、3 和 5 的正整数。 //用一个数组来保存第1到第n个丑数 //一个丑数必须是乘以较小的丑数的 2、3 或 5来得到。 //使用三路合并方法:L2、L3 和 L5三个指针遍历2、3、5倍的丑数序列…...
计算机网络之---TCP连接管理
TCP连接管理 TCP(传输控制协议)是面向连接的协议,在数据传输之前需要建立连接,在数据传输完成后需要断开连接。TCP连接的建立和断开都遵循特定的规则,分别称为三次握手(Three-Way Handshake)和四…...
《CPython Internals》阅读笔记:p118-p150
《CPython Internals》学习第 8 天,p118-p150 总结,总计 33 页。 一、技术总结 补充一些本人整理的关于 Context-Free Grammar(CFG) 的知识。 1.symbol(符号) A mathematical symbol is a figure or a combination of figures that is used to repre…...

C/C++ 数据结构与算法【排序】 常见7大排序详细解析【日常学习,考研必备】带图+详细代码
常见7种排序算法 冒泡排序(Bubble Sort)选择排序(Selection Sort)插入排序(Insertion Sort)希尔排序(Shell Sort)归并排序(Merge Sort)快速排序(…...

三只松鼠携手爱零食,社区零售新高峰拔地而起
合纵连横,这是当前零售行业发展的一个主旋律。从商超之王胖东来的全国调改,到社区零售正在进行的渠道变革,竞争的激烈和商业模式的升级令人目不暇接。 量贩零食赛道在过去一年就是如此,有杀伐,有并购,刀光…...

Java聊天小程序
拟设计一个基于 Java 技术的局域网在线聊天系统,实现客户端与服务器之间的实时通信。系统分为客户端和服务器端两类,客户端用于发送和接收消息,服务器端负责接收客户端请求并处理消息。客户端通过图形界面提供用户友好的操作界面,服务器端监听多个客户端的连接并管理消息通…...

Kibana操作ES基础
废话少说,开干!!!!!!!!!!!!截图更清晰,复制在下面 #库操作#创建索引【相当于数据库的库】 PUT /first_index#获…...

MYSQL8创建新用户报错:You have an error in your SQL syntax;check...
本文所用——MYSQL版本:8.0.25 baidu都是直接创建新用户并赋权,如下: GRANT ALL PRIVILEGES ON *.* TO 用户名% IDENTIFIED BY 密码 WITH GRANT OPTION;但是我用的MYSQL版本它就不行,会报错! 经查阅资料发现——MY…...

动漫周边商城系统|Java|SSM|VUE| 前后端分离
【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...

spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...