【存储基础】SAN存储基础知识
文章目录
- 1. 什么是SAN存储?
- 2. SAN存储组网架构
- 3. SAN存储的主要协议
- SCSI
- 光纤通道(FC)协议
- iSCSI
- FCoE
- NVMe-oF
- IB
- 4. SAN存储的关键技术
- Thin Provision:LUN空间按需分配
- Tier:分级存储
- Cache:缓存机制
- QoS:流控机制
- Deduplication:数据重删
- Compression:数据压缩
- Migration:数据迁移
- Virtualization:LUN虚拟化
- Snapshot:数据快照
- Clone:数据克隆
- Replication:远程复制
- Metro:双活
1. 什么是SAN存储?
SAN是一个通过高速、专用网络,将服务器连接到共享的存储设备的存储系统。
其核心目的是:提供对块级存储的访问,服务器将SAN存储视为本地连接的硬盘,可以直接在上面创建文件系统。
SAN存储的关键特性有:
- 专用网络:通常独立于常规的LAN/IP网络,使用专门优化的协议和硬件(如光纤通道);
- 高性能:为存储I/O设计,提供低延迟、高带宽的读写性能;
- 可扩展性:能添加更多的服务器或存储设备,而无需中断服务;
- 高可用性:支持多路径,即从服务器到存储的多条物理路径,避免单点故障;
- 集中化管理:存储资源集中部署和管理,提高利用率,简化备份和灾难恢复;
- 资源共享:多个服务器可共享同一存储池,但通常一个存储卷/LUN在同一时间只能被一个服务器访问,除非使用集群文件系统。
LUN是什么?
在SAN存储中,逻辑单元号Logical Unit number是用来标识一个逻辑单元的数字。存储系统将物理硬盘进行分区,每个分区有自己的逻辑地址,允许主机单独在该分区进行读写,这样的一个分区就称为一个LUN。(LUN也指在SAN存储上创建的逻辑磁盘)
2. SAN存储组网架构
SAN的核心组件:
- HBA卡:Host Bus Adapter,主机总线适配器,安装在服务器中的专用网卡,用于连接服务器到SAN网络。
- 功能:
- 提供主机和适配的设备/网络之间的物理连接;
- 处理数据IO;
- 在连接的设备和主机之前传输数据;
- 线缆:线缆有光纤线缆、以太网线缆等
- 交换机:SAN的核心互联设备,提供服务器到存储的多对多连接、分区管理、路由等,光纤通道交换机是传统SAN的骨干。
3. SAN存储的主要协议
SAN存储中,协议的核心任务是将SCSI块级命令通过不同网络传输到存储设备,协议栈主要分为两层:
- 上层:SCSI命令集——定义读写、查询等存储操作(通用层);(还有NVMe)
- 下层:传输协议——负责封装SCSI命令并通过网络传输(差异层)
SCSI
SCSI:Small Computer System Interface,小型计算机系统接口,是在计算机和外围设备之间进行物理连接和数据传输的一系列标准,SCSI标准定义了指令、协议、光电和逻辑接口,是实际的存储命令集(如读写等),SAN协议本质上是将SCSI命令封装在底层网络协议中进行传输。
SCSI传输模型:
光纤通道(FC)协议
光纤通道FC(Fiber Channel)协议:是传统的、高性能SAN的主流协议,用于计算机和外部设备之间传输数据的传输层协议,主要用于在服务器和SAN存储之间传输SCSI数据包;运行在专用光纤通道网络上(交换机、HBA、线缆)。
FC能提供极高的性能、非常低的延迟、以及高可靠性,但是成本相对较高。
iSCSI
iSCSI:Internet Small Computer System Interface,因特网小型计算机系统接口,它是用来描述SCSI数据如何在TCP/IP网络中传输的传输层协议;将SCSI命令封装在标准的TCP/IP协议包中,运行在标准的以太网网络上。
优点:能利用现有的IP网络基础设施,成本显著低于FC。易于部署和管理,距离不受FC限制(理论上可跨广域网);
缺点:性能和延迟受TCP/IP协议栈和以太网拥塞影响,可能消耗服务器CPU资源。
FCoE
FCoE:Fiber Channel over Ethernet, 是一种使FC帧可以直接在以太网上传输的存储协议;将光纤通道帧封装在无损以太网中,运行在支持DCB的增强型以太网上。
NVMe-oF
NVMe:Non-Volatile Memory Express,非易失性存储协议,是一种用于计算机和非易失性存储(比如SSD)之前的数据交换接口规范。
NVMe over Fabrics:新兴的高性能协议,专为利用SSD的低延迟和高吞吐量而设计,将NVMe命令扩展到网络结构,如FC-NVMe、NVMe/TCP、NVMe over RoCE,使得NVMe协议能工作在运行FC、TCP、RoCE等协议网络上。
IB
IB:InfiniBand,是一种应用于需要高吞吐量和低时延的高性能计算场景下的网络通信协议,常被用于服务器之间、服务器与存储设备之间、以及存储与存储之间进行数据通信与连接。
4. SAN存储的关键技术
Thin Provision:LUN空间按需分配
传统方式下,当创建一个LUN时(假设大小为1TB),存储系统会立即、完全的从物理磁盘池中划分并预留1TB的物理空间给这个LUN,无论服务器上的应用程序实际仅使用了100GB空间,这1TB的物理空间都被这个LUN独占,其他LUN无法使用。
Thin Provisioning 精简配置的方式:
- 当创建一个 Thin LUN时,假设1TB(这是逻辑容量),系统并不会立即分配1TB的物理空间,而是记录这个LUN的“最大可用”空间是1TB;
- 物理空间分配是按需的、延迟的、细粒度的;
- 只有当服务器上的应用程序实际向这个LUN写入新数据时存储系统才会根据写入请求的大小,从共享的物理存储池中动态分配一小块物理空间(如4KB,8KB,64KB等,取决于具体实现)给这个LUN;
- 随着写入数据的增加,分配的物理空间也逐步增加
Thin Provisioning的核心是逻辑容量远大于实际分配的物理容量。
Tier:分级存储
Tier分级存储的核心思想:将访问频率高的数据(热数据)存放在高性能、高成本的存储介质上;将访问频率低的数据(冷数据)存放在低性能、低成本的存储介质上。其目的是在满足性能需求的前提下,最大化降低总体存储成本。
分级存储的工作原理:自动化数据迁移
- 策略定义
- 创建存储池,该存储池包含来自不同物理磁盘组的多个存储层级;
- 为存储池配置分级策略:
- 数据迁移标准:最常用的是基于访问频率进行分级,也可结合访问时间、数据类型、策略等进行分级;
- 迁移阈值:定义数据块需要多“热”才能升到更高层;数据块需要多“冷”才会降到更底层;
- 迁移时间窗口:通常在业务低峰期进行迁移任务,避免影响生产性能;
- 层级大小:需要给每个层级配置物理容量,比如给Tier 0分配10TB SSD,给Tier 1分配100TB NL-SAS。
- 持续监控
- 存储系统的后台进程会持续跟踪存储池中的每块数据的访问活动
- 数据分析与决策
- 系统根据预设的策略,定期(比如每小时、每天)分析收集到的访问统计信息,并识别出符合升级或降级条件的数据块
- 透明数据迁移
- 在指定的迁移窗口或系统负载较低的时候,启动迁移任务,迁移过程对链接的主机服务器和应用完全透明,应用访问数据的逻辑地址(LUN和LBA)不变,存储系统在后台处理所有重定向
Cache:缓存机制
Cache缓存机制的核心思想是:利用更快、但容量更小、成本更高的存储介质,临时存放访问最频繁或预计即将访问的数据和元数据,从而避免每次都去访问相对较慢的后端物理磁盘。
SAN存储通常采用分层缓存架构:
- L1缓存
- 存储介质:DRAM,是系统主存的一部分;
- 特点:速度最快、容量相对较小、易失性(断电数据丢失)
- 用途:存放“最热的”读数据块;存放待写入后端磁盘的写数据;存放关键的元数据。
- 位置:通常位于存储控制器的内存中。
- L2缓存
- 存储介质:非易失性内存,主要有高性能SSD等;
- 特点:速度介于L1缓存和后端磁盘之间;非易失性(断电数据不丢失)
- 核心功能:作为L1缓存的扩展和持久化层,专注于加速写入和容纳次热数据。
QoS:流控机制
QoS :Quality of Service,智能服务质量控制,其核心功能包括流控机制(Flow Cntrol),流控机制是QoS功能落地的最核心技术,它通过对I/O请求的速率和队列深度进行主动干预和控制来实现性能保障、性能隔离、资源公平、可预测性等目标,流控的主要控制对象是IOPS和BW带宽。
Deduplication:数据重删
Deduplication:数据重删是现代存储系统中一项空间优化技术,旨在通过消除冗余数据块,显著提高存储空间利用率,降低总体拥有成本。
其核心思想是:相同的数据内容,在存储系统中仅保留一份物理副本,当检测到新写入的数据块与已存储的某个数据块内容完全相同时,不再存储新副本,而是创建一个指向已有数据块的指针引用。
数据重删的关键工作流程:
- 数据分块:主机写入新数据时,存储系统将写入的数据流切割成更小的、大小固定或可变的块;
- 计算哈希指纹:对每个分块后的数据块应用一个加密级哈希函数,生成一个唯一且长度固定的哈希值,最为该数据块的数字指纹;
- 查找索引:系统维护一个全局哈希索引表,该表中记录了
哈希指纹key->物理存储位置value
,用新数据块的哈希值去查询这个索引表,有两种情况:- 命中:表中已存在相同的哈希值,意味着该数据块的内容已经物理存储在系统中了;
- 未命中:表中不存在该哈希值,表明这是一个全新的、唯一的数据块
- 存储处理
- 情况1 未命中:
- 将数据块写入物理存储介质;
- 在哈希表中添加一个新条目:
新哈希值->新物理位置
; - 更新该LUN的元数据映射表:将主机写入的逻辑块地址LBA映射到新物理位置。
- 情况2 命中:
- 不存储数据块的内容本身;
- 直接更新该LUN的元数据映射表:将主机写入的逻辑块地址LBA映射到索引表中查询到的已有物理位置;
- 更新该已有数据块的引用计数。
- 情况1 未命中:
- 读取处理(透明):当主机读取某个LBA时,存储系统进行如下处理:
- 查询该LUN的元数据映射表,找到该LBA映射的物理位置;
- 从该物理位置读取数据块,将数据返回给主机;
- 整个过程对主机完全透明,主机感知不到重删的存在。
Compression:数据压缩
数据压缩的核心目标是:在将数据写入物理磁盘前,利用算法识别并消除数据中的冗余模式,从而用更少的物理空间来表示原始数据。
数据压缩的工作原理:
- 数据接收:主机服务器通过SAN网络向存储阵列发起写IO请求,数据块被发送到阵列控制器;
- 缓存处理:数据块通常先被写入到控制器的高速缓存中;
- 压缩引擎处理:
- 压缩引擎(硬件或软件)获取缓存中的原始数据块;
- 使用特定压缩算法(如哈夫曼算法、LZ77算法等)分析数据块:算法查找重复的字节序列、空格、可预测的模式等,用更短的“代码”或“引用”替换这些冗余部分;
- 生成一个压缩后的数据块。
- 压缩引擎(硬件或软件)获取缓存中的原始数据块;
- 元数据记录:存储系统会记录每个数据块是否被压缩、使用的压缩算法、原始大小、以及压缩后的大小等信息,用于后续的读取和解压;
- 写入磁盘:压缩后的数据块(以及相关的元数据)写入特定的物理磁盘;
- 读取过程(解压):
- 主机发起读请求,存储控制器定位到包含所需数据的物理位置,并从磁盘读取压缩的数据块;
- 根据元数据信息,压缩引擎执行解压操作,将数据还原为原始的、未压缩的形式;
- 解压后的原始数据块通过高速缓存发送回请求的主机服务器。
Migration:数据迁移
数据迁移功能,是在不影响主机应用访问的情况下,将数据在存储系统内部或不同存储系统之间移动。
其核心目标是:将数据从源物理位置透明地移动到目标物理位置,主机服务器和应用感知不到迁移过程,业务连续性得到保障。
应用场景:
- 存储硬件升级/更换:将数据从旧存储阵列迁移到新阵列中;
- 负载均衡:将繁忙的LUN从低性能的磁盘上迁移到高性能磁盘上;
- 存储分层场景;
- 空间优化等
Virtualization:LUN虚拟化
虚拟化功能主要用于本地存储对异构存储LUN进行接管,简化存储系统的管理,或实现异构存储间业务无中断LUN数据迁移。
其核心思想:LUN虚拟化解除了主机服务器看到的逻辑磁盘单元LUN与底层物理磁盘驱动器(或RAID组)之前的严格、静态绑定关系,向主机呈现一个统一的、简化的存储资源视图,隐藏底层物理磁盘的复杂性。
Snapshot:数据快照
数据快照:snapshot是源数据在特定时间点的一致性数据副本,捕获了改时间点数据的状态。
快照的主要特点:
- 瞬时创建:创建快照通常仅需几秒钟,无论源数据量有多大,对生产系统性能的影响非常小;
- 空间高效:快照本身并不复制该时间点的所有数据块,它主要记录的是数据变化的元数据信息(指针映射),初始快照占用的额外存储空间非常小;
- 只读:创建后的快照通常是只读的,用于数据恢复或一致性检查,不能直接写入,但基于快照可创建可写的克隆;
- 时间点保护:快照提供了特定时刻数据的副本,是数据保护的重要一环。
快照的主要技术有COW和ROW:
- COW:Copy-On-Write,写时复制,其核心逻辑是先备份旧数据,再写入新数据
- 创建快照时:仅记录源数据的元数据映射表,不复制实际数据;
- 写入新数据时(关键步骤):应用尝试修改源数据中的某个数据块时(比如Block X)
- 系统将Block X的原始数据(修改前的内容)复制到快照专用区(保留区);
- 将新数据写入源数据Block X的原始位置
- 在这个过程中确保快照始终指向修改前的旧数据。
- 读取快照时
- 若请求的数据块未被修改过,则直接从源卷读取;
- 若数据块被修改过,则从快照保留区读取旧数据、
- ROW:Redirect-On-Write,重定向写,核心逻辑:新数据写入新位置,源数据保持冻结
- 创建快照时:
- 记录源卷的元数据映射表;
- 源卷数据保持只读状态(冻结);
- 写入新数据时(关键步骤):当应用程序尝试修改任意数据块(例如Block Y)
- 系统将新数据直接写入全新的存储区域(非原始位置);
- 更新源卷的元数据,指向新数据位置(源卷Block Y物理内容不变)
- 原始数据块始终保持快照创建时的状态
- 读取数据时
- 读快照:始终从源卷原始位置读取(数据未被覆盖);
- 读源卷:若数据块未被修改,从原始位置读取;若数据块已被修改,从新写入区域读取最新数据
- 创建快照时:
特性 | COW(写时复制) | ROW(重定向写) |
---|---|---|
写入性能 | 修改数据时需复制旧数据,写延迟高 | 直接写入新位置,写延迟低 |
读取性能 | 读源卷快(多数数据未移动) | 读源卷需跳转位置,可能略慢 |
空间占用 | 快照大小随数据修改量增长 | 源卷空间冻结,但新数据区域持续增长 |
数据保护性 | 源卷损坏可能影响快照 | 源卷原始数据物理冻结,更安全 |
恢复速度 | 快照回滚较快 | 回滚需重置元数据,速度极快 |
典型场景 | 读多写少环境 | 写密集型应用(如数据库、VDI) |
Clone:数据克隆
数据克隆是一种基于快照的高级功能,它能即时创建源卷的完整可写副本,它与快照技术的主要区别:
特性 | Snapshot(快照) | Clone(克隆) |
---|---|---|
可写性 | 只读(不可修改) | 完全可读写 |
空间占用 | 仅存储差异数据(节省空间) | 初始占用小,随写入增长(空间高效) |
数据独立性 | 依赖源卷(物理存储未分离) | 独立于源卷(可脱离存在) |
用途 | 数据恢复、备份源 | 生产级读写(如测试、容灾) |
Replication:远程复制
远程复制是实现业务连续性最核心的跨站点数据同步技术,通过将主存储阵列的数据实时或近实时地复制到异地备端,确保灾难发生时业务秒级切换。
远程复制是一种容灾技术,关键指标:
- RTO:恢复时间目标,故障后业务恢复所需时间;
- RPT:恢复点目标,灾难发生时允许丢失的数据量
远程复制分为两种核心模式:同步复制和异步复制
同步复制:
- 关键特性:
- 数据强一致性:主站点收到远端确认后才向主机返回写成功(RPO=0)
- 距离限制:通常要求距离<=100km
- 性能影响:网络延迟直接叠加到主机IO延迟
- 适用场景:金融核心交易系统、医疗HIS系统等
异步复制:
- 关键特性
- 最终一致性:数据按策略批量同步(RPO>0)
- 无距离限制:支持跨国复制
- 性能无损:主机IO不受远端网络影响
- 适用场景:ERP系统、邮件服务器等
Metro:双活
双活是一种跨站点的高可用架构,其核心目标是实现零感知故障切换和零数据丢失。
双活与传统主备架构的差异:
双活技术将两个地理分散的数据中心融合为单一逻辑存储池,业务可在任意站点无差别访问数据。
相关文章:

【存储基础】SAN存储基础知识
文章目录 1. 什么是SAN存储?2. SAN存储组网架构3. SAN存储的主要协议SCSI光纤通道(FC)协议iSCSIFCoENVMe-oFIB 4. SAN存储的关键技术Thin Provision:LUN空间按需分配Tier:分级存储Cache:缓存机制QoS&#x…...

2025年ESWA SCI1区TOP,改进成吉思汗鲨鱼算法MGKSO+肝癌疾病预测,深度解析+性能实测
1.摘要 本文针对肝癌(HCC)早期诊断难题,提出了一种基于改进成吉思汗鲨鱼优化算法(MGKSO)的计算机辅助诊断系统。由于HCC在早期症状不明显且涉及高维复杂数据,传统机器学习方法易受噪声和冗余特征干扰。为提…...
精益数据分析(93/126):增长率的真相——从数据基准到科学增长策略
精益数据分析(93/126):增长率的真相——从数据基准到科学增长策略 在创业领域,增长率常被视为企业成功的核心指标,但多少才算“足够好”?如何避免陷入“盲目增长陷阱”?今天,我们将…...
MAC上怎么进入隐藏目录
在Mac上,由于系统保护的原因,一些系统目录如/usr默认是隐藏的,但可以通过以下方法进入: 方法一:使用Finder的“前往文件夹”功能 打开Finder。使用快捷键Command Shift G,或者在菜单栏中选择“前往”-“…...

Spark-TTS: AI语音合成的“变声大师“
嘿,各位AI爱好者!还记得那些机器人般毫无感情的合成语音吗?或者那些只能完全模仿但无法创造的语音克隆?今天我要介绍的Spark-TTS模型,可能会让这些问题成为历史。想象一下,你可以让AI不仅说出任何文字&…...
【Python 进阶3】常见的 call 和 forward 区别
在 Python 和深度学习框架(如 PyTorch)中,__call__ 和 forward 是两个不同的概念,它们的用途和实现方式有明显区别: 1. __call__ 方法(Python 内置特殊方法) 在 Python 中,__call_…...

WEB3——简易NFT铸造平台之nft.storage
该平台目前已经不太支持免费试用,现在推荐Pinata平台,免费用1GB Pinata | Cryptos file storage 下面web3.storage也可以用,但是需要你有可以交易的外币卡 w3up console 🧠 1. nft.storage 是什么? https://nft.stor…...

一元函数积分
1. 不同名函数积分 2.三角函数有理式...

6年“豹变”,vivo S30系列引领手机进入场景“体验定义”时代
出品 | 何玺 排版 | 叶媛 5月29日晚,备受用户期待的vivo S30系列如约而至。 相比前几代S系列产品,S30系列变化显著,堪称“豹变”。首先,其产品打造思路发生了质变,产品体验更好,综合竞争力更为强。其次&a…...
Pytorch的梯度控制
在之前的实验中遇到一些问题,因为之前计算资源有限,我就想着微调其中一部分参数做,于是我误打误撞使用了with torch.no_grad,可是发现梯度传递不了,于是写下此文来记录梯度控制的两个方法与区别。 在PyTorch中&#x…...

linux驱动开发(1)-内核模块
内核模块 模块最大的好处是可以动态扩展应用程序的功能而无须重新编译链接生成新的应用程序镜像,在微软的Windows系统上动态链接库DLL(Dynamic Link Library),Linux系统上的共享库so(shared object)文件的…...

AI产品风向标:从「工具属性」到「认知引擎」的架构跃迁
近年来,人工智能正在改变法律行业的游戏规则。从最初的“工具属性”——帮律师干些重复的杂活儿,到如今逐渐变身为“认知引擎”——能够理解法律逻辑、分析案例,法律AI产品正在迎来一场华丽的转身。这篇文章将带你一探究竟,看看这…...

前端八股之CSS
CSS 盒子模型深度解析与实战 一、盒子模型核心概念 Box-sizing CSS 中的 box-sizing 属性定义了引擎应该如何计算一个元素的总宽度和总高度 语法: box-sizing: content-box|border-box|inherit:content-box 默认值,元素的 width/height 不包含paddi…...
ps自然饱和度调整
在Photoshop(PS)中,自然饱和度调整是一项用于优化图像色彩的重要功能,以下是对其详细解析: 一、功能概述 自然饱和度主要针对画面中饱和度较低的像素进行着重调整,同时对高饱和度区域限制较小,…...
有公网ip但外网访问不到怎么办?内网IP端口映射公网连接常见问题和原因
有公网IP但外网访问不到的核心原因通常包括:端口未正确映射、防火墙限制、DNS解析问题、运营商端口屏蔽或路由配置错误。需依次排查这些关键环节,其中端口映射和防火墙设置是最常见的原因。 内网IP端口映射公网连接常见问题和原因及解决方案 1…...
InlineHook的原理与做法
InlineHook翻译为内联钩子 内联也就是我们的内联汇编 钩子就是修改目标的执行流程或代码 #include<iostream> using namespace std; #include<Windows.h>DWORD OldPro 0; //老的保护权限 char OldCode[9] { 0 }; //hook前的汇编代码 DWORD RetData 0; …...

微服务-Sentinel
目录 背景 Sentinel使用 Sentinel控制台 Sentinel控制规则 Sentinel整合OpenFeign 背景 在微服务项目架构中,存在多个服务相互调用场景,在某些情况下某个微服务不可用时,上游调用者若一直等待,会产生资源的消耗,极端情…...
DNS缓存
DNS详细解释 DNS缓存(DNS Cache)是指操作系统或应用程序在本地保存的一份“域名与IP地址的对应关系”记录。 1. DNS的基本作用 当你访问一个网站(比如 www.jd.com)时,计算机需要先把这个域名转换成实际的IP地址&…...

MySQL垂直分库(基于MyCat)
参考资料: 参考视频 参考博客 Mycat基本部署 视频参考资料:链接: https://pan.baidu.com/s/1xT_WokN_xlRv0h06b6F3yg 提取码: aag3 概要: 本文的垂直分库,全部是基于前文部署的基本架构进行的 垂直分库: 垂直分库…...

Rust 变量与可变性
文章目录 变量与可变性常量遮蔽(Shadowing) 变量与可变性 Rust中变量默认是不可变的,这是 Rust 鼓励你编写更安全、易于并发代码的众多方式之一。不过,你仍然可以选择让变量可变。让我们来探讨 Rust 为什么鼓励你优先使用不可变性…...

深入理解 C++ 中的 list 容器:从基础使用到模拟实现
一、list 的底层数据结构与核心特性 1.1 双向循环链表的物理结构 节点定义:每个节点包含三个部分 template <typename T> struct ListNode {T data; // 存储的数据ListNode* prev; // 指向前驱节点的指针ListNode* next; // 指向后继节点的指针L…...

状态机实现文件单词统计
系统如何查找可执行文件 默认:在PATH路径下寻找文件文件下 执行当前目录下文件: ./:指定文件目录是当前目录 ./count:执行当前目录文件 编译.c文件为运行文件 gcc -o count 0voice.c #将0voice.c编译为名字count 为什么主函数要那么写&a…...

从0开始学习R语言--Day13--混合效应与生存分析
混合效应模型(Mixed Effects Model) 对于数据来说,我们通常把所有样本共有的影响因素(性别,实验处理,实验方法),这种可以推广到总体的叫做固有效应,而仅适用于特定分组的…...

基于mediapipe深度学习的虚拟画板系统python源码
目录 1.前言 2.算法运行效果图预览 3.算法运行软件版本 4.部分核心程序 5.算法仿真参数 6.算法理论概述 7.参考文献 8.算法完整程序工程 1.前言 虚拟画板系统基于计算机视觉与深度学习技术,通过摄像头捕获用户手部动作,利用 MediaPipe框架实现手…...

复变函数 $w = z^2$ 的映射图像演示
复变函数 w z 2 w z^2 wz2 的映射图像演示 复变函数 w z 2 w z^2 wz2 是一个基本的二次函数,在复平面上具有有趣的映射性质。下面我将介绍这个函数的映射特性,并使用MATLAB进行可视化演示。 映射特性 极坐标表示:若 z r e i θ z …...

Python实现P-PSO优化算法优化循环神经网络LSTM回归模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在当今数据驱动的时代,时间序列预测和回归分析是许多领域中不可或缺的技术手段。循环神经网络ÿ…...

复合机器人:纠偏算法如何重塑工业精度与效率?
在智能制造领域,复合机器人正成为柔性生产与高精度作业的核心载体。面对“复合机器人有纠偏算法吗?”这一行业高频问题,富唯智能以多模态纠偏技术体系给出了答案——通过自研的AI驱动纠偏算法与多传感器融合方案,复合机器人不仅能…...

审计- 1- 审计概述
1.财务报表审计的概念 财务报表审计是指注册会计师对财务报表是否不存在重大错报提供合理保证,以积极方式提出意见,增强除管理层之外的预期使用者对财务报表信赖的程度。 1.1 审计业务三方关系人 注册会计师对财务报表发表审计意见是注册会计师的责任管…...

在MDK中自动部署LVGL,在stm32f407ZGT6移植LVGL-8.4,运行demo,显示label
在MDK中自动部署LVGL,在stm32f407ZGT6移植LVGL-8.4 一、硬件平台二、实现功能三、移植步骤1、下载LVGL-8.42、MDK中安装LVGL-8.43、配置RTE4、配置头文件 lv_conf_cmsis.h5、配置lv_port_disp_template 四、添加心跳相关文件1、在STM32CubeMX中配置TIM7的参数2、使能…...

模块二:C++核心能力进阶(5篇) 篇一:《STL源码剖析:vector扩容策略与迭代器失效》
一、前言:重新认识vector的复杂性 在C开发者中,std::vector常被视为"动态数组"的简单实现,但其底层机制实则蕴含着深刻的工程智慧。本篇将通过: 多维度源码剖析(GCC/Clang/MSVC三平台实现对比)…...