当前位置: 首页 > news >正文

云计算基础-存储基础

存储概念

什么是存储:

  存储就是根据不同的应用程序环境,通过采取合理、安全、有效的方式将数据保存到某些介质上,并能保证有效的访问,存储的本质是记录信息的载体。

存储的特性:

  1. 数据临时或长期驻留的物理介质
  2. 需要保证数据能够及时的被读取或者保存
  3. 需要保证数据完整安全有效

什么是文件系统:

  文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

  在文件系统中,我们可以看到文件的类型、文件的大小、创建时间等,这些都是文件系统中的信息

  存储系统只有底层硬件和上层文件系统配合工作才能够真正的完成对于数据的读写管理,底层硬件只负责对0101这些二进制的读写,真正的帮助用户清晰简洁管理数据的其实是上层的文件系统,而用户直接对接的其实也是文件系统

存储系统的分类(存储的构建方式)

从存储的连接或者构建的方式来看,存储主要分为三种

  1. DAS:直连附属存储
  2. NAS:网络附属存储
  3. SAN:存储区域网络

DAS(Direct Attached Storage):

主机设备或者计算设备直接通过物理口和线缆连接的存储磁盘,从而获得存储资源,如个人电脑装的硬盘就可以看作是DAS存储

优点:简单

缺点:独立的数据存储模式,不能共享访问,可扩展性有限

NAS(Network Attached Storage):

支持联网的存储,不同主机可以通过网络向存储中上传、下载自己的文件,Windows的文件共享就是NAS存储的范畴。NAS存储提供的存储自带文件系统,NAS存储具有以下特点:

  1. 主机访问存储必须通过LAN共享
  2. 提供的存储已经指定了对应的文件系统
  3. 提供网络文件共享功能
  4. 支持的协议包括CIFS、NFS

优点:可实现跨平台的数据共享

缺点:应用有局限,比如无法在NAS存储上安装操作系统

SAN(Storage Area Network):

SAN是一种独立于服务器的存储网络,它通过高速连接将存储设备(如磁盘阵列、磁带库等)与多台服务器连接起来,形成一个高性能、高可用性的存储环境。

通过网络将服务器和存储连接起来,这个网络可以是FC网络,也可以是IP网络,这个取决于服务器跟磁针之间是 通过什么样的存储协议通信,SAN存储提供的存储不自带文件系统,它只负责数据的IO读写

优点:可靠性高,可扩展性强

缺点:成本高,维护有难度

SAN存储分类:

SAN存储主要包括两种网络架构的SAN,一种是基于IP网络的IP SAN,另一种是基于FC网络的FC SAN

IP SAN

IP SAN网络它是通过ISCSI协议连接服务器和磁针的,主机和存储之间走还是传统的IP网络

主机端:额外的网卡接口和客户端(OS一般自带)

网络:线速以太网交换机(传统的交换机)

存储端:具备ISCSI的接口

优点:利旧,扩展性好,可以充分利用现网的IT系统硬件,成本比较低

缺点:开销大、可靠性相比FC差,存储协议本身走的是SCSI协议(硬盘接口协议就是SCSI协议),为了兼容IP网络,提出ISCSI协议,但是ISCSI协议开销比较大。其性能略低

FC SAN

FC SAN网络是基于FC协议的,在服务器端需要有专门的FC HBA卡,因为主机和存储之间走的是FC协议,传统的交换机走的是IP网络,所以FC SAN存储中,网络也需要专门的FC交换机,存储也需要具备FC接口

主机端:FC HBA卡

网络:FC交换机

存储端:具备FC接口

优点:可靠性高,性能比IP SAN好

缺点:需要FC网络,扩展性差,成本高

存储连接架构总结

存储的服务类型

块存储

块存储,有时也被称为"块级存储",是一种主要用于在存储区域网络 (SAN) 或云环境中存储数据的技术。它的特性是将裸磁盘空间整个映射给主机使用,包括真实的物理磁盘或者通过RAID、逻辑卷等方式二次划分的逻辑磁盘。主机的操作系统可以识别这些硬盘,并进行分区和格式化操作,使其与服务器内置硬盘的功能并无二致。

文件存储

文件存储,也被称为文件级存储或基于文件的存储,是一种在计算机硬盘驱动器或网络连接存储 (NAS) 设备上组织和存储数据的方法。这种存储方式将数据以文件的形式进行保存,并进一步将文件按照文件夹进行分类,再将文件夹以目录和子目录的形式进行组织,形成一个层次化的存储结构。

对象存储

对象存储是一种基于分布式系统的数据存储服务,其以非结构化格式(称为对象)来存储和管理数据。它将数据存储为对象而不是文件,具有高度可靠性、高扩展性和高性能等优点。

存储服务类型

优点

缺点

应用场景

块级存储服务

如:前面提到的SAN , DAS,为主机提供的都是块存储,提供高性能的随机I/O和数据吞吐率,延迟低

可扩展性和可管理性较差

为一些高性能,高IO的企业关键业务系统(如企业内部数据库)提供存储。

文件级存储服务

如:NAS,扩展性好、易于管理、价格相对经济

开销高、延迟大,不适合高性能的存储场景

共享文件数据:FTP、家庭NAS存储、医院PACS医疗影像数据

对象存储服务

支持高并行性、可伸缩的数据访问, 管理性好、安全性高、适合大容量存储需求

时延长、不适合频繁更改的数据。

相对静态的文件数据,如备份、档案、视频和音频文件

存储的重要特性及相关技术名词

RAID

RAID:独立磁盘冗余阵列,将多个独立的磁盘整合成为一个RAID组,用来提升磁盘的读写能力

实现RAID功能的部件:服务器有一块单独的RAID卡,存储设备上有相应的RAID控制器

  1. 解决了单个磁盘容量的限制
  2. 解决了单个磁盘速度的限制
  3. 解决了数据可靠性问题

RAID级别:

RADI0:

无冗余的条带化
最少需要1块硬盘,可用容量为所有硬盘加起来的总和
优点:读写性能最高
缺点:不提供冗余,其中某一块硬盘损坏,所有数据全部丢失
RAID0写入:例如条带化大小为64K,若要写1024K文件,文件将会被分为16个小块,同时往RAID0内的磁盘写
RAID读取:假设RAID0由5块物理硬盘组成,读取时则从5个硬盘中同时读取

RAID1:镜像卷


所需物理硬盘数量为N*2,可用容量为50%
优点:允许损坏一块硬盘,提供冗余
缺点:数据写入时,最大只能达到单块磁盘的最大写性能,理论上来说,由于会同时向两块硬盘中同时写入,写性能会有所下降
优点:数据读取时,可以从两块硬盘中同时读取,读性能有所提高
读写:RAID1在写入时会同时向两块硬盘中写入同样的数据,同样,删除时,会同时在两块硬盘中同步删除
如果使用4块盘做RAID1会怎样:系统会自动创建两组RAID1,6块会创建三组.....

如下图。RAID0是将一个文件分成多份,同时往两块硬盘中写,写入性能更高,但无冗余,两块盘只要坏一块数据就丢失了
RAID1是同样一份文件会写两份,写性能会有所下降,但同样的数据会在RAID1组内的两块磁盘内各存一份,所以坏一块硬盘不会导致数据丢失,但开销太大,RAID总容量只要两块磁盘容量之和的1/2

RAID3:带奇偶校验的条带化(已被raid5取代)

RAID3会有专门的一块盘存放奇偶校验数据,RAID5的奇偶校验数据会平均分布存放在RAID5的所有硬盘上,RAID3如果进行数据重构的话,由于奇偶校验数据全部是存放在一块硬盘中的,进行数据重构的时候,奇偶校验盘会成为瓶颈,所以为了解决这个问题,出现了RAID5

RAID5:带奇偶校验的条带化


所需物理硬盘数量>=3,可用容量为N-1
优点:即解决了性能的问题,又解决了冗余的问题
缺点:假设RAID5其中某一块硬盘损坏,换上新硬盘后数据需要重构(重构:根据现有数据和奇偶值算出这块硬盘中的数据),1TB的数据重构时间大约需要10小时,如果重构的过程中会有业务数据写入,重构校验会暂停(业务优先级高于重构优先级)

RAID6


所需物理硬盘数量>=4,可用容量为N-2
RAID6每一个条带有两个校验,即:D1\D2校验为P1,D1\D2\P1校验为P2

RAID10


所需物理硬盘数量>=4,硬盘数量必须为2的倍数,可用容量为50%
先两块磁盘做RAID1,再将两组RAID1做RAID0
优点:可以同时坏两块盘,但是损坏的硬盘不能同时在一个RAID组内

热备盘


在创建RAID时就可以选择热备盘
Hot-Spare盘是一个不参与盘阵,但是加电上线的盘,当冗余阵列其中某一块硬盘损坏时,热备盘马上顶上,可以理解为自动换盘的概念,当损坏的硬盘换上新硬盘之后,热备盘马上又会变成热备盘的角色

RAID选择


RAID5更适合顺序大IO场景:视频场景、备份场景,一次写入,很少更改的场景
RAID10更适合随机小IO场景:数据库场景

为什么RAID5不适合随机小IO场景
因为数据库删改频繁,每一次修改数据都需要重新进行奇偶校验,会造成更多的写惩罚,从而降低存储性能
写惩罚:一次写,带来了更多额外的读操作
如果修改的数据,小于整个阵列的一半,比如10块盘,只修改了其中某一块或几块(5块以下,不包含5块)硬盘的数据(条带中的某一个或小于5个数据块),只需要将这个新写入的数据和已有的奇偶校验数据一起读出来,经过奇偶校验再写回去,但如果修改的数据超过一半,需要将这个条带中全部的数据读出来,经过奇偶校验再写回去

为什么RAID10适合随机小IO场景
RAID10不需要奇偶校验,就像直接往硬盘中写入数据即可,没有写惩罚

为什么RAID10不适合顺序大IO场景
在RAID10中,由于数据写入时,会将同一数据写入两份,降低了写的性能,假设RAID10是6块磁盘,在分块时,6块硬盘只能将数据分为3块同时写入,而6块硬盘RAID5可以分为5块同时写入,相比之下,顺序大IO的场景,RAID5更合适

官方建议
如果是SAS盘:做RAID5
如果是SATA盘:做RAID6,因为RAID6故障率更高
如果是SSD盘:做RAID10,而且SSD更适合随机数据

RAID2.0

RAID2.0相较于传统RAID的区别

传统RAID都是以硬盘为单位,参与RAID成员的最小单位是硬盘,在一个RAID里,只能是一种类型的硬盘,不能是SATA硬盘,SAS硬盘,SSD硬盘,这三种硬盘不能混合在一起做RAID

RAID2.0可以支持不同类型的硬盘做RAID,RAID2.0不是以硬盘为单位,而是以CK为单位

RAID2.0原理

将硬盘划分为若干个连续的固定大小的存储空间,成为存储块,即chunk,简称CK(华为存储默认是64MB,且不能更改)

chunk按RAID策略组合成RAID组,成为存储块组, 即chunk group,简称CKG

在CKG中划分若干个小数据块,即extent。LUN就是 由来自不同CKG的extent组成

用作热备盘空间的CK也是分散在各个盘上的

NL-SAS盘:Near-Line SAS,在SAS总线上接入了SATA硬盘

LD:逻辑磁盘

Extent:默认4M可调,数据热度统计和迁移的最小单位(颗粒度)

图片解释

由下往上,先看SSD这一列

  1. CK:首先,会将所有的SSD的空间按64M为大小切成一个又一个小块,这些小块既有数据的位置,也有热备的位置
  2. CKG:按RAID策略对CK这些存储小块进行分组,如RAID策略是RAID5,则这些小块(CK)就组成了RAID5组,CKG只能是一种类型的硬盘,由N个64M的CK把它合在一起组成了一个CKG
  3. SAS,NL-SAS那两列同理
  4. 看第一张图CKG那一行,不同类型的硬盘被划分成了不同的CKG,此时,各种类型的CKG之间还是相互独立的
  5. Extent:在CKG上划分出更小的单位来,叫extent,默认大小是4M(创建时可修改),这个Extent就有可能来自不同的硬盘,如图1中extent那一行
  6. LUN:此时,SSD,SAS,NL-SAS这三组RAID放在一个存储池里面,创建LUN时,LUN空间是从存储池里面划出来的,假设LUN空间为200G,这200G空间有可能会从SSD的Exitent中拿50G,从SAS的Extent中拿80G,从NL-SAS的Extent中拿30G,一起构成200G,这个LUN就是由三种不同类型的磁盘组成

LUN映射的是一块裸设备,也叫块设备,是不带文件系统的,需要分区格式化才能用

RAID2.0使用不同类型的磁盘有什么好处呢?

即解决了性能问题,又平衡了成本为题

重构速度非常快,每TB 30分钟,比传统RAID快了20倍,传统RAID以硬盘为单位进行数据重构,在RAID2.0中,假设某块硬盘损坏,该硬盘中的数据会被重构到其他CK中(每块硬盘都预留了热备CK),如果该硬盘换新了,会将部分旧数据迁移到该硬盘,新数据也会写入该硬盘,不是迁移损坏硬盘的原有数据,后台会自己算

RAID2.0使用了SmartTier分层技术

SmartTier原理

根据硬盘类型,将存储分为三个层面

  1. 高性能层:SSD
  2. 性能层:SAS
  3. 容量层:NL-SAS

把最活跃的数据放在高性能层,把热数据放在性能层,把冷数据放在容量层,即提升了性能,又节约了成本,这个过程是自动的

判断数据冷热的最小单位是extent,extent越小判断越准确,但CPU占用也更高

san存储中的相关技术名词

IQN:

在ISCSI组网中,一台主机使用IQN来表示,每台IQN是唯一的,QIN是根据主机名字随机生成的

WWPN:

FC的组网中是有WWPN的,FC组网需要专门的FC卡,FC卡上有FC专用的光模块,而WWPN的地址就是光模块端口号地址

FC卡也有一串地址,叫WWNN,中文名叫:全球唯一节点号,在FC卡上有个标签,可以看到该地址

FC卡的光模块也有一串地址,叫WWPN,中文名叫:全球唯一端口号,在FC卡和光模块上都能看到该地址

WWNs、WWN,实际上说的都是WWPN,简称而已

多路径

为了保证链路冗余,通常主机会使用两个网口分别连接存储的A控和B控,如下图

什么是多路径

当一台主机又两条或两条以上的链路连接同一个存储

两条链路连接同一个存储会有什么问题?

电脑上会看到两个盘,但需要手动指定用哪个盘,无法达到冗余的目的,需要安装多路径软件,将相同IQN的LUN合并为一个盘

不同厂商需要安装不同厂商的多路径软件(是否有通用的多路径软件未知)

多路径软件安装后需要重启,华为的多路径软件不支持win10,Winserver2012

安装完多路径软件后,对存储进行读写使用的是哪个网口呢?

根据算法自动选择转发网口,可选择的策略有:轮询(默认),最小队列,最小链路,无需太过留意是哪个口转发,两个口都转发

注意:

不同主机连接同一个LUN,这些主机必须时集群关系,而且文件系统必须格式化为带锁机制的集群级文件系统

为什么连接相同LUN的不同主机必须是集群关系

因为不同主机连接相同的LUN,不同主机都可以同时对LUN空间的文件进行读写,有可能多台主机同时对同一个文件进行操作,造成文件损坏

例如华为FusionCompute的CNA链接存储后,查看存储挂载情况

华为存储挂在后,会以【dm】开头,所以通过这个可以找到它挂在的ipsan存储,他的文件系统类型既不是xfs,也不是ext3,而是ocfs2,这个就是集群级文件系统

相关文章:

云计算基础-存储基础

存储概念 什么是存储: 存储就是根据不同的应用程序环境,通过采取合理、安全、有效的方式将数据保存到某些介质上,并能保证有效的访问,存储的本质是记录信息的载体。 存储的特性: 数据临时或长期驻留的物理介质需要保…...

问题:人的安全知识和技能是天生的。() #媒体#知识分享#学习方法

问题:人的安全知识和技能是天生的。() 人的安全知识和技能是天生的。() 参考答案如图所示 问题:()是党和国家的根本所在、命脉所在,是全国各族人民的利益所在、幸福所在。 A.人民当家作主 B.坚持和完善…...

【数据分享】2001~2020年青藏高原植被净初级生产力数据集

各位同学们好,今天和大伙儿分享的是2001~2020年青藏高原植被净初级生产力数据集。如果大家有下载处理数据等方面的问题,您可以私信或评论。 朱军涛. (2022). 青藏高原植被净初级生产力数据集(2001-2020). 国家青藏高原数据中心. …...

【Spring MVC篇】返回响应

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Spring MVC】 本专栏旨在分享学习Spring MVC的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一、返回静态页面…...

阿里云BGP多线精品EIP香港CN2线路低时延,价格贵

阿里云香港等地域服务器的网络线路类型可以选择BGP(多线)和 BGP(多线)精品,普通的BGP多线和精品有什么区别?BGP(多线)适用于香港本地、香港和海外之间的互联网访问。使用BGP&#xf…...

(08)Hive——Join连接、谓词下推

前言 Hive-3.1.2版本支持6种join语法。分别是:inner join(内连接)、left join(左连接)、right join(右连接)、full outer join(全外连接)、left semi join(左…...

创新技巧|迁移到 Google Analytics 4 时如何保存历史 Universal Analytics 数据

Google Universal Analytics 从 2023 年 7 月起停止收集数据(除了付费 GA360 之外)。它被Google Analytics 4取代。为此,不少用户疑惑:是否可以将累积(历史)数据从 Google Analytics Universal 传输到 Goog…...

一个小而实用的 Python 包 pangu,实现在中文和半宽字符(字母、数字和符号)之间自动插入空格

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一个小巧的库,可以避免自己重新开发功能。利用 Python 包 pangu,可以轻松实现在 CJK(中文、日文、韩文)和半宽字符(字母、数字和符号&#xf…...

openJudge | 中位数 C语言

总时间限制: 2000ms 内存限制: 65536kB 描述 中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数或最中间两个数据的平均值(如果这组数的个数为奇数,则中位数为位于中间位置的那个数;如果这组数的个…...

ctfshow-文件上传(web151-web161)

目录 web151 web152 web153 web154 web155 web156 web157 web158 web159 web160 web161 web151 提示前台验证不可靠 那限制条件估计就是在前端设置的 上传php小马后 弹出了窗口说不支持的格式 查看源码 这一条很关键 这种不懂直接ai搜 意思就是限制了上传类型 允许…...

cudnn免登录下载

现在要下载cuDNN,点击下载的页面后都是出现要求先加入Nvidia developers才能进行下载,但这个注册的过程非常慢,常常卡在第二个步骤,这里根据亲身的经验介绍一个可以绕过这个注册或登陆步骤的方式直接下载cuDNN。遇到此类问题的可以…...

SQLyog安装配置(注册码)连接MySQL

下载资源 博主给你打包好了安装包,在网盘里,只有几Mb,防止你下载到钓鱼软件 快说谢谢博主(然后心甘情愿的点个赞~😊) SQLyog.zip 安装流程 ①下载好压缩包后并解压 ②打开文件夹,双击安装包 ③…...

java+SSM+mysql 开放式实验管理系统78512-计算机毕业设计项目选题推荐(免费领源码)

摘 要 我国高校开放式实验管理普遍存在实验设备使用率较低、管理制度不完善,实验设备共享程度不高等诸多问题。要在更大范围推行开放式实验管理,就必须在开放式实验教学管理流程中,通过引入信息化管理加大信息技术在其中的应用,才能真正发挥这种教学模式的开放性优势。 本系统…...

代码随想录算法训练营第三十三天|1005.K次取反后最大化的数组和、134.加油站、135.分发糖果

1005.K次取反后最大化的数组和 public class Solution {public int LargestSumAfterKNegations(int[] nums, int k) {int cnt0;int sum0;int minint.MaxValue;Array.Sort(nums);for(int i0;i<nums.Length;i){if(nums[i]>0){continue;}else{nums[i]-nums[i];cnt;}if(cntk…...

解决LeetCode编译器报错的技巧:正确处理位操作中的数据类型

一天我在leetcode上刷题时&#xff0c;遇到了这样的题目&#xff1a; 随即我写了如下的代码&#xff1a; int convertInteger(int A, int B) {int count 0;int C A ^ B;int flag 1;while(flag){if (C & flag){count;}flag<<1;}return count;} 但LeetCode显示如下…...

一周学会Django5 Python Web开发-Django5操作命令

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计11条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…...

反转链表【基础算法精讲 06】

视频地址 反转链表【基础算法精讲 06】_哔哩哔哩_bilibili 概念 链表的每一个结点都包含节点值 和1指向下一个结点的next指针 , 链表的最后一个结点指向空; 206 . 反转链表 用cur记录当前遍历到的结点 &#xff0c; 用pre表示下一个结点 &#xff0c; 用nxt表示cur的下一个…...

Git 初学

目录 一、需求的产生 二、版本控制系统理解 1. 认识版本控制系统 2. 版本控制系统分类 &#xff08;1&#xff09;集中式版本控制系统 缺点&#xff1a; &#xff08;2&#xff09;分布式版本控制系统 三、初识 git 四、git 的使用 例&#xff1a;将 “ OLED文件夹 ”…...

智胜未来,新时代IT技术人风口攻略-第四版(弃稿)

文章目录 前言鸿蒙生态科普调研人员画像高校助力鸿蒙高校鸿蒙课程开设占比教研力量并非唯一原因 企业布局规划全盘接纳仍需一段时间企业对鸿蒙的一些诉求 机构入场红利机构鸿蒙课程开设占比机构对鸿蒙的一些诉求 鸿蒙实际体验高校用户群体高度认同与影响体验企业用户群体未来可…...

渗透专用虚拟机(公开版)

0x01 工具介绍 okfafu渗透虚拟机公开版。解压密码&#xff1a;Mrl64Miku&#xff0c;压缩包大小&#xff1a;15.5G&#xff0c;解压后大小&#xff1a;16.5G。安装的软件已分类并在桌面中体现&#xff0c;也可以使用everything进行查找。包含一些常用的渗透工具以及一些基本工…...

HCIA-HarmonyOS设备开发认证V2.0-3.2.轻量系统内核基础-时间管理

目录 一、时间管理1.1、时间接口1.2、代码分析&#xff08;待续...&#xff09; 坚持就有收获 一、时间管理 时间管理以系统时钟为基础&#xff0c;给应用程序提供所有和时间有关的服务。系统时钟是由定时器/计数器产生的输出脉冲触发中断产生的&#xff0c;一般定义为整数或长…...

嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第五天-ARM Linux编程之file_operations详解 (物联技术666)

链接&#xff1a;https://pan.baidu.com/s/1V0E9IHSoLbpiWJsncmFgdA?pwd1688 提取码&#xff1a;1688 struct file_operations{ struct module *owner; // 指向拥有该结构的模块的指针&#xff0c;避免正在操作时被卸载&#xff0c;一般为初始化THIS_MODULES loff_t &#…...

第9章 网络编程

9.1 网络通信协议 通过计算机网络可以实现多台计算机连接&#xff0c;但是不同计算机的操作系统和硬件体系结构不同&#xff0c;为了提供通信支持&#xff0c;位于同一个网络中的计算机在进行连接和通信时必须要遵守一定的规则&#xff0c;这就好比在道路中行驶的汽车一定要遵…...

Python setattr函数

在Python编程中&#xff0c;setattr()函数是一个有用且灵活的内置函数&#xff0c;用于设置对象的属性值。它可以在运行时动态地设置对象的属性&#xff0c;无论是新建对象还是已有对象。本文将深入探讨setattr()函数的用法、语法、示例代码&#xff0c;并探讨其在实际编程中的…...

[C#]winform制作仪表盘好用的表盘控件和使用方法

【仪表盘一般创建流程】 在C#中制作仪表盘文案&#xff08;通常指仪表盘上的文本、数字或指标显示&#xff09;涉及到使用图形用户界面&#xff08;GUI&#xff09;组件&#xff0c;比如Windows Forms、WPF (Windows Presentation Foundation) 或 ASP.NET 等。以下是一个使用W…...

探索弗洛姆的思想:人类本质与爱的哲学

探索弗洛姆的思想&#xff1a;人类本质与爱的哲学 摘要&#xff1a;艾里希弗洛姆是20世纪著名的德裔美国哲学家和精神分析学家&#xff0c;他的理论在心理学、社会学和哲学领域均产生了广泛影响。弗洛姆的核心思想围绕人的本性、自由发展以及爱的重要性展开&#xff0c;强调了人…...

【碎片知识点】安装Linux系统 VMware与kali

天命&#xff1a;VMware就是可以运行操作系统的载体&#xff0c;kali就是Linux的其中一个分支 天命&#xff1a;Linux有两个分支版本&#xff1a;centos与ubuntu&#xff0c;kali底层就是ubuntu&#xff08;所有Linux用起来都差不多&#xff0c;没啥区别&#xff09; 天命&…...

Android 车载应用开发之SystemUI 详解

一、SystemUI SystemUI全称System User Interface,直译过来就是系统级用户交互界面,在 Android 系统中由SystemUI负责统一管理整个系统层的 UI,它是一个系统级应用程序(APK),源码在/frameworks/base/packages/目录下,而不是在/packages/目录下,这也说明了SystemUI这个…...

C# CAD-Xdata数据 添加(一)

运行环境Visual Studio 2022 c# cad2016 一、XData&#xff08;扩展数据&#xff09;特定代码值 XData&#xff08;扩展数据&#xff09;特定代码值 XData通过一系列DXF组码&#xff08;DxfCode&#xff09;存储不同类型的数据&#xff0c;包括但不限于ASCII字符串、已注册应…...

【NLP】MHA、MQA、GQA机制的区别

Note LLama2的注意力机制使用了GQA。三种机制的图如下&#xff1a; MHA机制&#xff08;Multi-head Attention&#xff09; MHA&#xff08;Multi-head Attention&#xff09;是标准的多头注意力机制&#xff0c;包含h个Query、Key 和 Value 矩阵。所有注意力头的 Key 和 V…...

nginx upstream server主动健康监测模块添加https检测功能

1 缘起 前面的《nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和源码分析》系列已经分析了ngx_http_upstream_check_module的实现原理&#xff0c;并且在借助这个模块的框架实现了一个udp健康检测的新功能。   但是ngx_http_upstream_check_mod…...

OCP的operator——(4)用户任务:使用Operator创建etcd集群

文章目录 环境在namespace中安装Operator先决条件使用Web console从OperatorHub安装删除 使用CLI从OperatorHub安装从已安装的Operator创建应用使用Operator创建etcd集群报错从web console debug从命令行debug分析 参考 环境 RHEL 9.3Red Hat OpenShift Local 2.32 在namespa…...

win7自带截图工具保存失效解决办法

今日发现一台远航技术的win7中自带的截图工具使用时正常&#xff0c;保存图片时没有弹出保存位置的对话窗口&#xff0c;无法正常保存图片。解决方案如下&#xff1a; 1、进入注册表编辑器。开始-搜索程序和文件-输入 regedit 按下回车键&#xff0c;打开注册表&#xff1b; 2、…...

Android14之Android Rust模块编译语法(一百八十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

分布式文件系统 SpringBoot+FastDFS+Vue.js【三】

分布式文件系统 SpringBootFastDFSVue.js【三】 七、创建后台--分角色管理7.1.创建后台数据库表7.2.创建实体类7.2.1.Admin7.2.2.Menu7.2.3.MenuBean7.2.4.Role7.2.5.RoleMenu 7.3.编辑配置文件application.yml7.4.编写工具类7.4.1.AuthContextHolder7.4.2.HttpUtils7.4.3.Stri…...

【深度学习每日小知识】全景分割

全景分割 全景分割是一项计算机视觉任务&#xff0c;涉及将图像或视频分割成不同的对象及其各自的部分&#xff0c;并用相应的类别标记每个像素。与传统的语义分割相比&#xff0c;它是一种更全面的图像分割方法&#xff0c;传统的语义分割仅将图像划分为类别&#xff0c;而不…...

机器人能否返回原点

657. 机器人能否返回原点 在二维平面上&#xff0c;有一个机器人从原点 (0, 0) 开始。给出它的移动顺序&#xff0c;判断这个机器人在完成移动后是否在 (0, 0) 处结束。 移动顺序由字符串 moves 表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R&#xff08;右&a…...

Mysql5.6忘记密码,如何找回(windows)

mysql5.6安装 第一步&#xff1a;关闭正在运行的数据库服务 net stop mysql第二步&#xff1a;在my.ini文件当中的[mysqld] 任意一个位置放入 skip-grant-tables第三步&#xff1a;启动mysql服务 net start mysql第四步&#xff1a;服务启动成功后就可以登录了&#xff0c;…...

算法训练营day29, 贪心算法3

import ( "sort" ) // 1005. K 次取反后最大化的数组和 func largestSumAfterKNegations(nums []int, k int) int { //先从小到大排序 sort.Ints(nums) sum : 0 //将数组中负数转为正数 for i : 0; i < len(nums); i { if nums[i] < 0 && k > 0 …...

164基于matlab的奇异值分解、小波降噪、zoom细化

基于matlab的奇异值分解、小波降噪、zoom细化。程序已调通&#xff0c;可直接运行。 164 奇异值分解 小波降噪 zoom细化 (xiaohongshu.com)...

每日OJ题_算法_递归③力扣206. 反转链表

目录 力扣206. 反转链表 解析代码 力扣206. 反转链表 206. 反转链表 LCR 024. 反转链表 难度 简单 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,…...

【Linux】指令 【whereis】

whereis是一个用于查找特定文件在文件系统中的位置的命令。 主要查找二进制文件或帮助文件&#xff0c;适用于那些不属于常规文件系统的特殊文件。 查找ping命令的二进制文件&#xff0c;你可以使用如下命令&#xff1a; whereis -b ping查看命令的帮助文件&#xff0c;可以添…...

牛客网SQL进阶128:未完成试卷数大于1的有效用户

官网链接&#xff1a; 未完成试卷数大于1的有效用户_牛客题霸_牛客网现有试卷作答记录表exam_record&#xff08;uid用户ID, exam_id试卷ID, st。题目来自【牛客题霸】https://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286?tpId240&tqId2183007&ru%2…...

GitHub的使用操作

记得看目录哦&#xff01; 1. 创建仓库2. 下载desktop3. 把创建的库克隆到本地4. 文件拷贝到本地仓库![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7171ac6c4ca14e3b8d22717121f79c9e.png)5. 在网址后面加/compare进行比较6. 给系统添加功能 1. 创建仓库 2. 下载…...

智慧公厕管理软件

随着城市化的不断推进&#xff0c;城市公共设施逐渐完善&#xff0c;其中智慧公厕的建设也在不断提速。智慧公厕作为城市基础设施的重要组成部分&#xff0c;对城市卫生水平提升有着不可忽视的作用。而智慧公厕管理软件更是智慧公厕管理的基础&#xff0c;是公共厕所智慧化管理…...

【30秒看懂大数据】数据中台

知幽科技是一家专注企业数字/智化&#xff0c;围绕数据价值应用的一站式数智化解决方案的咨询公司&#xff0c;也包括了为企业提供定制化数据培训&#xff0c;力求做企业最好的数智化决策伙伴。 点击上方「蓝字」关注我们 30秒看懂大数据专栏 让您在有限的碎片化时间&#xf…...

【UI自动化测试技术】自动化测试研究:Python+Selenium+Pytest+Allure,详解UI自动化测试,了解元素交互的常用方法(精)(三)

导言 在之前的文章里&#xff0c;我们一起学习了定位方式、等待机制等内容。相信通过之前的学习&#xff0c;你已经掌握了WEB自动化的一些入门知识&#xff0c;具备了编写代码的一些基础知识和能力。这篇文章&#xff0c;让我们一起学习一下模拟键盘事件。 在实际的项目当中&a…...

GPT-4带来的思想火花

GPT-4能够以其强大的生成能力和广泛的知识储备激发出众多思想火花。它能够在不同的情境下生成新颖的观点、独特的见解和富有创意的解决方案&#xff0c;这不仅有助于用户突破思维定势&#xff0c;还能促进知识与信息在不同领域的交叉融合。 1.GPT-4出色的创新思考和知识整合能…...

使用倒模耳机壳UV村脂胶液制作舞台监听耳返入耳式耳机壳有哪些优点?

使用倒模耳机壳UV树脂胶液制作舞台监听耳返入耳式耳机壳有很多优点&#xff0c;具体如下&#xff1a; 高音质表现&#xff1a;通过倒模工艺制作的耳机壳能够更好地贴合耳朵&#xff0c;减少声音散射和反射&#xff0c;提高声音的清晰度和质感。这对于舞台监听来说非常重要&…...

html从零开始8:css3新特性、动画、媒体查询、雪碧图、字体图标【搬代码】

css3新特性 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, …...