浅谈云计算14 | 云存储技术
云存储技术
- 一、云计算网络存储技术基础
- 1.1 网络存储的基本概念
- 1.2云存储系统结构模型
- 1.1.1 存储层
- 1.1.2 基础管理层
- 1.1.3 应用接口层
- 1.1.4 访问层
- 1.2 网络存储技术分类
- 二、云计算网络存储技术特点
- 2.1 超大规模与高可扩展性
- 2.1.1 存储规模优势
- 2.1.2 动态扩展机制
- 2.2 高可用性与可靠性
- 2.2.1 多副本复制技术
- 2.2.2 节点故障自动容错
- 2.3 安全与透明服务
- 2.3.1 安全保障措施
- 2.3.2 透明服务机制
网络存储作为云计算的重要基石,在整个云计算体系中占据着举足轻重的地位。它承担着海量数据的存储、管理与分发任务,如同数据的“仓库”,为各类云应用提供了坚实的数据支撑。无论是企业的核心业务数据、用户的个人资料,还是各种应用程序的运行数据,都依赖于网络存储进行妥善保存。倘若网络存储出现故障或性能瓶颈,将直接导致云服务的中断或延迟,严重影响用户体验,甚至可能给企业带来巨大的经济损失。
一、云计算网络存储技术基础
1.1 网络存储的基本概念
网络存储,简而言之,是一种借助网络连接来实现数据存储与管理的技术。它将存储设备与网络相连接,使得多台计算机能够共享这些存储资源,进而打破了传统存储模式下数据存储的地域限制与设备壁垒。在云计算环境中,网络存储更是扮演着关键角色,为各类云服务提供了稳定、高效的数据存储支撑。
与传统存储方式相比,网络存储在诸多方面展现出显著优势。传统存储通常以本地硬盘、光盘等形式直接连接到单台计算机,数据的存储与访问局限于该计算机本身,难以实现数据的广泛共享与协同处理。而网络存储则通过构建专门的存储网络,实现了数据的集中化存储与管理,多台计算机可以同时访问和操作存储设备上的数据,极大地提高了数据的共享性和利用效率。例如,在企业办公场景中,员工们可以通过网络存储共享各类办公文档、项目资料等,实现团队协作的高效化 。
在管理方式上,传统存储的管理相对繁琐,需要针对每台计算机上的存储设备进行单独设置、维护和管理,耗费大量的人力和时间成本。网络存储则借助先进的网络管理工具,实现了对存储设备的集中统一管理。管理员可以通过网络远程监控存储设备的状态、进行容量扩展、数据备份与恢复等操作,大大简化了管理流程,提高了管理效率。
从扩展性角度来看,传统存储受限于单台计算机的接口和物理空间,扩展存储容量往往需要更换硬件设备,操作复杂且成本较高。网络存储则具有出色的扩展性,能够通过添加存储设备、扩展存储网络等方式轻松实现容量的扩充,以满足不断增长的数据存储需求。例如,当企业业务规模扩大,数据量急剧增加时,只需在网络存储系统中添加相应的存储设备,即可快速提升存储容量,无需对现有计算机设备进行大规模改造。
1.2云存储系统结构模型
1.1.1 存储层
存储层是云存储系统基础,包含多种存储设备,满足不同场景需求:FC 光纤通道存储用于对速度和可靠性要求高的场景;NAS 设备便于部署管理,适用于企业部门级数据共享;iSCSI 等 IP 存储基于 IP 网络,降低中小企业部署成本;SCSI 或 SAS 等 DAS 设备在对数据访问速度要求苛刻的单机应用中表现出色。这些设备数量多、分布广,连接成庞大复杂的存储网络。为此构建的统一存储设备管理系统,可实现逻辑虚拟化管理、多链路冗余管理,实时监控硬件状态,保障云存储系统稳定运行 。
1.1.2 基础管理层
基础管理层是云存储系统核心枢纽,类似人体神经系统,协调各存储设备协同工作,利用集群、分布式文件系统、网格计算等技术实现其功能。集群技术将多节点组合,故障时自动转移任务,提升可靠性与可用性;分布式文件系统分散存储文件,支持大规模存储与高并发访问,具备良好扩展性;网格计算整合资源,为用户提供强大服务。此外,基础管理层集成多种安全和容灾技术,如 CDN、数据加密、备份及容灾措施,保障数据安全与系统稳定,为用户数据提供全方位保护。
1.1.3 应用接口层
应用接口层是云存储系统与外部交互的桥梁,不同运营单位依自身情况开发特色接口,满足多样需求。在视频监控领域,接口满足视频存储、检索与实时查看;IPTV 和视频点播平台,接口侧重视频快速分发与流畅播放;网络硬盘平台,接口注重文件管理和操作体验,部分还提供高级功能;远程数据备份平台,接口实现数据定时备份与恢复。各接口适配不同应用场景,保障用户体验与数据安全。
1.1.4 访问层
访问层是用户与云存储系统交互的直接入口,为授权用户提供便捷安全的登录与访问方式。不同运营单位因业务、技术、安全策略差异,提供的访问类型和手段各有特色。公有云存储服务,为普通用户提供基于 Web 浏览器的访问方式,方便个人及小企业;还开发移动应用,支持主流移动系统,满足移动访问需求。私有云存储针对对安全隐私要求高的企业用户,提供多因素身份验证等更安全、定制化的访问方式,与企业内部网络、应用系统深度集成,通过专用客户端软件保障数据传输存储安全,实现企业数据集中管理。
1.2 网络存储技术分类
网络存储技术丰富多样,常见的包括直接附加存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN) ,它们在原理、架构和应用场景上各具特色。
DAS,即直接附加存储,是一种较为基础的存储方式。它通过SCSI(小型计算机系统接口)电缆将存储设备直接连接到服务器 ,其本质是硬件的堆叠,存储操作高度依赖于服务器,自身不具备独立的存储操作系统,因而也被称作SAS(服务器附加存储)。在一些特定场景中,DAS仍有其用武之地。例如,当服务器在地理分布上极为分散,利用SAN或NAS进行互连面临诸多困难时,DAS可作为一种简单直接的存储解决方案;又如,某些存储系统必须直接连接到应用服务器,像Microsoft Cluster Server或某些数据库使用的“原始分区”,此时DAS能满足其特殊需求;此外,对于一些需要直接与存储器相连的数据库应用和应用服务器,DAS也能发挥作用。不过,DAS存在明显的局限性。由于其直接连接的特性,在传输距离、连接数量以及传输速率等方面均受到较大限制。当存储容量需求增加时,DAS的扩展难度较大,难以满足不断增长的数据存储需求,这对存储容量的升级构成了严重阻碍。同时,数据的读取需通过服务器进行处理,这无疑会增加服务器的处理压力,导致数据处理和传输能力大幅下降。而且,一旦服务器出现宕机等异常情况,存储的数据也将无法使用,数据的可用性和可靠性受到较大影响 。
NAS,也就是网络附加存储,在存储架构上与DAS有显著区别。NAS设备通过网络接口直接与网络相连,用户可通过网络对其进行访问。从结构上看,它类似于一个功能精简的专用文件服务器,去除了通用服务器的大部分计算功能,专注于提供文件系统功能,从而有效降低了设备成本。为实现存储设备与网络之间的高效数据传输,NAS对系统硬件与软件架构进行了专门优化。NAS以数据为中心,将存储设备与服务器分离,使得存储设备在功能上完全独立于网络中的主服务器。这一设计使得客户机与存储设备之间的数据访问无需文件服务器的干预,能够直接进行数据交互,不仅响应速度快,数据传输速率也较高。NAS支持多种TCP/IP网络协议,如NFS(网络文件系统)和CIFS(通用Internet文件系统)等,主要应用于小文件级的共享存取场景 。在实际使用中,NAS设备通常被配置为文件服务器,用户可通过基于Web的管理界面,便捷地实现系统资源的配置、用户配置管理以及用户访问登录等操作。NAS存储具有即插即用的特性,可在网络的任意位置灵活建立存储,基于Web的管理方式也使得设备的安装、使用和管理变得更加简单易行。它能够经济高效地解决存储容量不足的问题,但在面对大规模数据处理和高并发访问等对性能要求较高的场景时,可能难以提供令人满意的性能表现 。
SAN 是通过专用交换机连接磁盘阵列与服务器的高速专用子网,采用块级别存储。按传输协议,主要分为 FC SAN 和 IP SAN。FC SAN 以光纤通道为核心,该技术原用于网络系统,因存储对速度需求转用于硬盘。光纤通道有热插拔、高速带宽等优势,能让存储系统传输快且稳定。它由接口、连接设备、协议构成,与服务器构建专用、高速、可靠的 SAN 系统,可独立动态增加存储设备,简化存储管理与控制。但 FC SAN 成本高,需购置光纤交换机、光纤,人员培训成本也高,且维护配置复杂,对技术人员要求高。
IP SAN 基于 IP 网络实现数据块存储,融合 IP 网络配置管理的简便性与 SAN 架构的功能扩展性。它用标准以太网交换机,避免特殊光纤通道交换机,降低成本,通过 IP 网络传输存储命令,不受距离限制。支持 iSCSI 等协议,将 SCSI 命令封装在 IP 包传输,增强兼容性与扩展性。然而,由于存储和网络共享物理接口,协议开销大,会占用网络带宽、增加主服务器负担。不过随着 iSCSI 指令芯片和 10G 以太网等技术发展,其性能和效率有望提升。
二、云计算网络存储技术特点
2.1 超大规模与高可扩展性
2.1.1 存储规模优势
云计算网络存储凭借架构独特、技术先进,拥有强大的超大规模存储能力。以亚马逊 AWS S3 为例,已存储数万亿对象,容量达 EB 级别,且仍在快速增长。这一特性让企业无需担忧存储空间问题,放心将大量数据存于云端。在大数据分析领域,许多企业需处理海量历史数据以挖掘价值。如某知名电商借助 AWS S3 存储多年海量交易和用户行为数据,配合云计算强大算力进行分析,为营销策略和产品优化提供支撑。在科学研究领域,云计算网络存储同样关键。像天文学研究中,天文望远镜产生的海量观测数据,通过云存储能被高效存储、方便共享与分析,加速科研进程。
2.1.2 动态扩展机制
云计算网络存储的动态扩展机制极为出色,能按需灵活快速增加服务器资源,实现存储容量无缝扩展。当用户数据量猛增,云存储系统自动察觉,依据预设自动化规则,短时间内添加服务器节点。此过程中,监控模块实时监测存储容量、I/O 负载等指标,达预设阈值或性能受影响时,将信息反馈给管理模块。管理模块依扩展策略,从资源池调配新服务器资源加入存储集群,自动配置初始化,使其与原有服务器协同工作 。如某社交媒体平台举办重大线上活动,用户数据爆发式增长,借助该机制,几分钟内自动扩展存储容量,无需复杂人工干预,保证平台正常运行和用户流畅体验,避免上传失败。这一机制让云计算网络存储能适应业务场景中数据存储需求变化,无论是季节性增长、突发流量高峰,还是长期业务扩张,都能轻松应对,为企业发展筑牢存储根基。
2.2 高可用性与可靠性
2.2.1 多副本复制技术
多副本复制技术是保障云计算网络存储高可用性与可靠性的关键。它把同一份数据在不同物理位置甚至不同地域的多个存储节点创建副本。一旦某个节点故障,系统能从其他正常副本获取数据,防止单点故障致数据丢失或不可访问。谷歌的 GFS 采用三副本策略,用户上传数据时,数据被分割成块,每个数据块在不同机架的存储节点创建三个副本。读取数据时,GFS 会依存储位置、网络状况等选最优副本,提升读取速度。若副本节点故障,GFS 会标记并启动修复机制,在新节点重建副本,维持数据冗余度。
2.2.2 节点故障自动容错
云计算网络存储系统具备强大的节点故障自动容错能力,能在节点故障时自动处理,保障系统稳定运行。当监测到节点故障,系统立即启动容错机制。系统迅速识别故障节点,将其从可用列表移除,避免数据请求发往该节点。同时,按预设策略从正常节点选替代节点,承担故障节点的数据存储和处理任务 。数据恢复上,系统利用冗余数据副本恢复故障节点数据。如 Ceph 分布式存储系统,通过纠删码技术冗余存储数据。节点故障后,Ceph 依编码规则,用其他节点冗余数据块计算恢复丢失数据,并优先选带宽足、负载低的节点恢复,减少对系统性能影响。另外,系统对故障节点进行故障诊断与记录。运维人员通过分析故障日志,明确故障原因,采取对应修复措施,如更换硬件、修复软件、调整网络配置。修复后,节点重新加入可用列表。该容错机制大幅提升云计算网络存储系统的可靠性与稳定性,确保用户数据持续可用,为云计算服务稳定运行筑牢基础。
2.3 安全与透明服务
2.3.1 安全保障措施
云计算网络存储高度重视数据安全,采用了一系列严密的保障措施。用户鉴权是确保数据访问安全的首要关卡。在用户尝试访问云存储服务时,系统会通过多种方式对用户身份进行严格验证。常见的方式包括用户名与密码组合验证,这是最基础的身份确认手段。用户在注册云存储服务时,会设置独一无二的用户名和高强度密码,登录时需准确输入这两者信息,系统才能确认用户身份的合法性 。
随着技术的发展,多因素认证逐渐成为提升用户鉴权安全性的重要方式。例如,在输入用户名和密码后,系统会向用户预先绑定的手机发送一次性验证码,用户只有在规定时间内准确输入该验证码,才能成功登录。这种多因素认证方式极大地增加了非法用户获取访问权限的难度,有效防止了因密码泄露而导致的数据安全问题 。
访问权限控制也是保障数据安全的关键环节。基于角色的访问控制(RBAC)模型在云计算网络存储中得到了广泛应用。该模型根据用户在组织或系统中的角色,为其分配相应的访问权限。例如,在企业云存储系统中,管理员角色通常拥有对所有数据的完全控制权限,包括创建、读取、更新和删除数据等操作;而普通员工角色可能仅被授予对特定文件夹或文件的读取和写入权限,以确保企业核心数据的安全。通过这种方式,能够精细地控制不同用户对数据的访问级别,避免权限滥用,降低数据泄露风险 。
在数据传输过程中,云计算网络存储采用了先进的加密技术来确保数据的保密性和完整性。传输层安全协议(TLS)被广泛应用于数据传输加密。当用户上传或下载数据时,数据会在发送端被TLS协议加密成密文,然后通过网络进行传输。在接收端,只有具备相应解密密钥的合法用户才能将密文还原为原始数据。这一过程有效地防止了数据在传输过程中被窃取或篡改,保障了数据在网络传输过程中的安全性 。
在数据存储阶段,加密技术同样发挥着重要作用。许多云存储服务提供商采用了AES(高级加密标准)等加密算法对存储在服务器上的数据进行加密处理。数据在存储到云服务器之前,会被加密成不可读的密文形式,即使存储设备被非法获取,攻击者也难以直接读取其中的数据内容,从而确保了数据在存储过程中的安全性 。
2.3.2 透明服务机制
云计算网络存储的透明服务机制旨在为用户提供统一、便捷的服务接口,使用户在使用云存储服务时无需关心后端存储系统的具体实现细节,如存储设备的类型、数量、分布位置以及数据的存储方式等 。
云存储服务提供商通过构建统一的服务接口,将复杂的后端存储系统进行抽象和封装。用户只需通过这个统一的接口,即可进行各种数据存储操作,如上传文件、下载文件、创建文件夹等。以某知名云存储服务为例,用户在其应用程序或网页端,通过简单的操作界面,即可轻松完成数据的存储和管理。用户点击“上传”按钮,选择本地文件后,数据便会通过统一接口上传至云存储系统,而无需了解数据在后端具体是如何被存储到不同的服务器节点上的 。
当后端存储系统进行升级、扩展或架构调整时,透明服务机制能够确保用户的使用体验不受影响。例如,为了提升存储性能,云存储服务提供商决定在后端增加新的存储节点或更换更高效的存储设备。在这个过程中,通过透明服务机制,用户依然可以像往常一样使用云存储服务,无需进行任何额外的配置或操作。系统会自动将数据迁移到新的存储节点,并对数据的访问路径进行重新规划,而这些复杂的操作对于用户来说是完全透明的 。
这种透明服务机制极大地降低了用户使用云存储服务的难度,提高了用户体验。用户无需具备专业的存储知识和技术,即可轻松享受云计算网络存储带来的强大功能,专注于自身业务的开展。同时,透明服务机制也为云存储服务提供商提供了更大的灵活性,使其能够在不影响用户的前提下,对后端存储系统进行优化和升级,以满足不断增长的业务需求 。
相关文章:
浅谈云计算14 | 云存储技术
云存储技术 一、云计算网络存储技术基础1.1 网络存储的基本概念1.2云存储系统结构模型1.1.1 存储层1.1.2 基础管理层1.1.3 应用接口层1.1.4 访问层 1.2 网络存储技术分类 二、云计算网络存储技术特点2.1 超大规模与高可扩展性2.1.1 存储规模优势2.1.2 动态扩展机制 2.2 高可用性…...
No.1|Godot|俄罗斯方块复刻|棋盘和初始方块的设置
删掉基础图标新建assets、scenes、scripts文件夹 俄罗斯方块的每种方块都是由四个小方块组成的,很适合放在网格地图中 比如网格地图是宽10列,高20行 要实现网格的对齐和下落 Node2D节点 新建一个Node2D 添加2个TileMapLayer 一个命名为Board&…...
二 RK3568 固件中打开 ADB 调试
一 usb adb Android 系统,设置->开发者选项->已连接到计算机 打开,usb调试开关打开 通过 usb otg 口连接 开发上位机 (windows/linux) 上位机安装 adb 服务之后 , 通过 cmd/shell: #1 枚举设备 adb devices #2 进入 android shell adb shell # 3 验证上传下载…...
鸿蒙报错Init keystore failed: keystore password was incorrect
报错如下: > hvigor ERROR: Failed :entry:defaultSignHap... > hvigor ERROR: Tools execution failed. 01-13 16:35:55 ERROR - hap-sign-tool: error: Init keystore failed: keystore password was incorrect * Try the following: > The key stor…...
Java学习笔记(二十三)
1 CacheEvict CacheEvict是Spring框架中用于清空缓存的注解。以下是对CacheEvict注解的详细介绍: 1.1 作用 CacheEvict注解的主要作用是删除缓存中的数据。在方法执行后或执行前(根据配置),它可以清空指定的缓存项或整个缓存区…...
TIOBE编程语言排行靠前的编程语言的吉祥物
Python的吉祥物:小蟒蛇 Python语言的吉祥物是一只名叫"Pythonidae"(或简称"Py")的小蟒蛇。这个吉祥物由Tobias Kohn设计于2005年,它的形象借鉴了真实的蟒蛇,但加入了一些可爱和友善的特点。小蟒蛇…...
Redis集群部署详解:主从复制、Sentinel哨兵模式与Cluster集群的工作原理与配置
集群部署形式 1、主从复制1.1 工作机制1.2 配置实现1.3 优缺点1.4 部署形式1.5 主从复制优化 2、Sentinel 哨兵模式2.1 工作机制2.2 配置实现2.3 优缺点2.4 哨兵机制选举流程2.5 脑裂问题解决方案 3、Redis Cluster3.1 工作机制3.2 配置实现3.3 优缺点3.4 故障转移3.5 哈希槽为…...
Dubbo泛化调用
本文记录下利用dubbo泛化调用实现网关server收http请求,然后转发给dubbo服务,然后收到dubbo响应的功能原理。 关键点1:dubbo泛化调用。可根据(注册中心地址、接口名,方法名,参数类型)唯一确定一个dubbo服务…...
SpringBoot工程快速启动
1.问题导入 以后我们和前端开发人员协同开发,而前端开发人员需要测试前端程序就需要后端开启服务器,这就受制于后端开发人员。 为了摆脱这个受制,前端开发人员尝试着在自己电脑上安装 Tomcat 和 Idea ,在自己电脑上启动后端程序&a…...
Docker实践:部署Docker管理工具DockerUI
Docker实践:部署Docker管理工具DockerUI 前言一、DockerUI介绍1.1 DockerUI概述1.2 镜像说明 二、检查本地Docker环境三、拉取DockerUI镜像四、创建DockerUI容器五、访问DockerUI六、DockerUI的基本使用6.1 查询宿主机容器情况6.2 查询Docker镜像列表6.3 查看容器配…...
【优先算法】滑动窗口--(结合例题讲解解题思路)(C++)
目录 1. 例题1:最大连续1的个数 1.1 解题思路 1.2代码实现 1.3 错误示范如下:我最开始写了一种,但是解答错误,请看,给大家做个参考 2. 将 x 减到 0 的最小操作数 2.1解题思路 2.2代码实现 1. 例题1ÿ…...
嵌入式系统Linux实时化(四)Xenomai应用开发测试
1、Xenomai 原生API 任务管理 Xenomai 本身提供的一系列多任务调度机制,主要有以下一些函数: int rt_task_create (RT_TASK task, const char name, int stksize, int prio, intmode) ; 任务的创建;int rt_task_start(RT_TASK task, void(entry)(void cookie), void cookie…...
深度剖析RabbitMQ:从基础组件到管理页面详解
文章目录 一、简介二、Overview2.1 Overview->Totals2.2 Overview->Nodesbroker的属性2.3 Overview->Churn statistics2.4 Overview->Ports and contexts2.5 Overview->Export definitions2.6 Overview->Import definitions 三、Connections连接的属性 四、C…...
算法每日双题精讲 —— 二分查找(二分查找,在排序数组中查找元素的第一个和最后一个位置)
🌟快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 🌟 别再犹豫了!快来订阅我们的算法每日双题精讲专栏,一起踏上算法学习的精彩之旅吧!💪…...
Golang—— error 和 panic
本文详细介绍Golang的两种错误处理机制:error 和 panic。 文章目录 Golang 的错误处理机制概述error特点代码示例基本用法创建 error panic特点运行时错误示例defer 和 recover 的结合使用代码示例基本用法创建 panic panic 的执行机制 error 和 panic 的对比生产环…...
xcrun: error: invalid active developer path 解决
在拉取 github 代码时,提示如下报错: xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 原因是:这是由于 Xcode command line t…...
Jmeter配置服务代理器 Proxy(二)
1.创建脚本记录器 2.配置:Jmeter代理、端口、记录目标等 3.配置谷歌浏览器代理 浏览器配置代理的详细教程可参考:使用whistle代理-CSDN博客 4.启动Jmeter记录器 点击ok后弹出这个界面,生成了证书: 5.给浏览器安装Jmeter代理的证书…...
小黑工具人日常积累中:sqlserver中切割字符串,取首个子串
SELECTSUBSTRING(表名字, 1, CHARINDEX(分隔符, 字段名) - 1) AS FirstPart FROM表名字 WHERECHARINDEX(分隔符, 字段名) > 0继续尝试: 提取第二个子串 窗口函数...
港科夜闻 | 香港科大与微软亚洲研究院签署战略合作备忘录,推动医学健康教育及科研协作...
关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与微软亚洲研究院签署战略合作备忘录,推动医学健康教育及科研协作。根据备忘录,双方将结合各自于科研领域的优势,携手推动医学健康领域的交流与合作。合作方向将涵盖人才培训、…...
掌握Golang strings包:高效字符串处理指南
掌握Golang strings包:高效字符串处理指南 引言为什么要学习和掌握strings包本教程的目标 基本用法strings包概述导入strings包常用函数列表及简要介绍 字符串创建与基本操作创建字符串字符串连接:Join重复字符串:Repeat修改字符串࿱…...
关于husky8.0 与 4.0的配置
husky的场景使用很多,一般大多场景是在配置git commit 命令拦截hook, 校验 commit-msg 格式规范。以下环境默认:git > 2.27.0, node >14 1、安装huskey8.0.1 npm install --save-dev husky8.0.1 2、初始化配置文件 在package.json scripts 属性…...
【RK3588 Linux 5.x 内核编程】-Linux内核数据结构详解(双向链表、基数树、位数组)
Linux内核数据结构详解(双向链表、基数树、位数组) 文章目录 Linux内核数据结构详解(双向链表、基数树、位数组)1、双向链表2、基数树3、位数组3.1 Linux内核中的位数组和位操作3.2 位数组声明3.3 特定于架构的位操作3.4 常见的位操作Linux内核提供了不同的数据结构实现,如…...
3.Qt Quick-QML地图引擎之v4.3版本(新增动态轨迹线/海图/天地图街道/天地图卫星)
在上个版本Qt Quick-QML地图引擎之v4版本(新增多模型切换/3D模型欧拉角模拟)_qt加载3d地图-CSDN博客更新了3D模拟功能,在4.3版本增加动态轨迹线、三个地图(海图/天地图街道/天地图卫星)。 4.3版本已经支持qt6 cmake版本,而4.3版本以下支持qt5版本&#x…...
使用WebdriverIO和Appium测试App
1.新建项目 打开Webstorm新建项目 打开终端输入命令 npm init -y npm install wdio/cli allure-commandline --save-dev npx wdio config 然后在终端依次选择如下: 然后在终端输入命令: npm install wdio/local-runnerlatest wdio/mocha-frameworkla…...
前端组件开发:组件开发 / 定义配置 / 配置驱动开发 / 爬虫配置 / 组件V2.0 / form表单 / table表单
一、最早的灵感 最早的灵感来自sprider / 网络爬虫 / 爬虫配置,在爬虫爬取网站文章时候,会输入给爬虫一个配置文件,里边的内容是一个json对象。里边包含了所有想要抓取的页面的信息。爬虫通过这个配置就可以抓取目标网站的数据。其实本文要引…...
工具推荐:PDFgear——免费且强大的PDF编辑工具 v2.1.12
PDFgear——免费且强大的PDF编辑工具 v2.1.12 软件简介 PDFgear 是一款 完全免费的 PDF 软件,支持 阅读、编辑、转换、合并 以及 跨设备签署 PDF 文件,无需注册即可使用。它提供了丰富的 PDF 处理功能,极大提升了 PDF 文件管理的便捷性和效…...
【Unity3D】【已解决】TextMeshPro无法显示中文的解决方法
TextMeshPro无法显示中文的解决方法 现象解决方法Assets 目录中新建一个字体文件夹在C:\Windows\Fonts 中随便找一个中文字体的字体文件把字体文件拖到第一步创建的文件夹中右键导入的字体,Create---TextMeshPro---Font Asset,创建字体文件资源把 SDF文件…...
【Unity】使用UniRx来快速完成Unity中的信号层开发工作。
访问官方 网址:https://github.com/neuecc/UniRx/ UniRx(Unity反应式扩展)是.NET 反应式扩展的重新实现。官方 Rx 实现很棒,但在 Unity 上不起作用,并且存在 iOS IL2CPP 兼容性问题。此库修复了这些问题,并…...
FPGA工程师成长四阶段
朋友,你有入行三年、五年、十年的职业规划吗?你知道你所做的岗位未来该如何成长吗? FPGA行业的发展近几年是蓬勃发展,有越来越多的人才想要或已经踏进了FPGA行业的大门。很多同学在入行FPGA之前,都会抱着满腹对职业发…...
配置Kubernetes从节点与集群Calico网络
在上一篇博客中,我们成功安装并初始化了Kubernetes的主节点,并且看到了集群初始化成功的标志信息。接下来,我们将继续安装从节点(worker nodes),以构建一个完整的Kubernetes集群。 步骤回顾 在上一步中&a…...
【SH】Xiaomi9刷Windows10系统研发记录 、手机刷Windows系统教程、小米9重装win10系统
文章目录 参考资料云盘资料软硬件环境手机解锁刷机驱动绑定账号和设备解锁手机 Mindows工具箱安装工具箱和修复下载下载安卓和woa资源包第三方Recovery 一键安装Windows准备工作创建分区安装系统 效果展示Windows和Android一键互换Win切换安卓安卓切换Win 删除分区 参考资料 解…...
【Qt】01-了解QT
踏入QT的殿堂之路 前言一、创建工程文件1.1 步骤介绍1.2 编译介绍方法1、方法2、编译成功 二、了解框架2.1 main.cpp2.2 .Pro文件2.2.1 注释需要打井号。2.2.2 F1带你进入帮助模式2.2.3 build文件 2.3 构造函数 三、编写工程3.1 main代码3.2 结果展示 四、指定父对象4.1 main代…...
STC的51单片机LED点灯基于KEIL
前言: 该文源于回答一个朋友的问题,代码为该朋友上传,略作修改,在此说明问题以及解决问题的思路,以减少新手错误。 电路图: 该位朋友未上传电路图,说明如下: stc8g1k08a-sop8控制…...
AV1视频编解码简介、码流结构(OBU)
我的音视频/流媒体开源项目(github) 目录 一、AV1编码技术 二、AV1码流结构(OBU) 三、IVF文件格式 四、ffmpeg支持AV1 五、关于常见格式对AV1的封装 一、AV1编码技术 AV1是由开放媒体联盟(AOM,Alliance for Open Media)在2018年发布的,AV1的前身…...
Service Work离线体验与性能优化
Service Work离线体验与性能优化 引言 先放个意外事件,万事开头难🤣🤣🤣 原计划是分享离线应用与数据资源缓存的应用实践,结果发现这一技术已被web标准废弃 曾经做过一个PC应用,业务需求要求应用具备容灾…...
linux之进程信号(初识信号,信号的产生)
目录 引入一、初识信号(信号预备知识)1.生活中的信号2.Linux中的信号3.信号进程得出的初步结论 二、信号的产生1.通过终端输入产生信号拓展: 硬件中断2.调用系统函数向进程发信号3.硬件异常产生信号4.软件条件产生信号拓展: 核心转储技术总结一下: 引入 一、初识信…...
为深度学习创建PyTorch张量 - 最佳选项
为深度学习创建PyTorch张量 - 最佳选项 正如我们所看到的,PyTorch张量是torch.Tensor PyTorch类的实例。张量的抽象概念与PyTorch张量之间的区别在于,PyTorch张量为我们提供了一个可以在代码中操作的具体实现。 在上一篇文章中,我们看到了…...
MySQL 与 Redis 数据一致性 2
1. 强一致还是最终一致?2. 先写 MySQL 还是先写Redis?case 1 3. 缓存(Redis)更新还是清除?更新策略更新策略会有数据不一致问题?数据不一致的概率与影响如果使用监听binlog更新数据还会出现数据不一致问题?binlog的消费问题 使用消息队列行不行?其他方案总结: 数据不一致…...
Git | git reset命令详解
关注:CodingTechWork 引言 Git 是一款非常流行的分布式版本控制工具,它帮助开发者有效地管理代码历史,支持多种功能来帮助团队协作、追踪修改和维护代码质量。git reset是 Git 中最强大、最复杂的命令之一,它的主要作用是重置当前…...
Linux高并发服务器开发 第十四天(dup/duo2/fcntl 进程 pcb进程控制块 环境变量)
目录 1.dup 和 dup2 1.1dup 1.2dup2 2.fcntl 3.进程 3.1进程和程序 3.2并发 3.3cpu 3.5pcb进程控制块 3.6进程状态 4.环境变量 1.dup 和 dup2 1.1dup - 将 文件描述符 ,复制产生“新文件描述符” 并返回。新、旧文件描述符,指向同一文件。 …...
[MySQL | 二、基本数据类型]
基本数据类型 一、数值类型举例表结构1. 整数类型zerofill属性 与 int(n) 中 n 的关系 2.bit类型3. 小数类型float类型decimal类型 二、字符串类型1. char2. varchar如何选择定长或变长字符串? 3. 日期时间类型(date datetime timestamp)4. enum枚举类型5. set多选类…...
第G1周:生成对抗网络(GAN)入门
>- **🍨 本文为[🔗365天深度学习训练营]中的学习记录博客** >- **🍖 原作者:[K同学啊]** 本人往期文章可查阅: 深度学习总结 基础任务 1.了解什么是生成对抗网络2.生成对抗网络结构是怎么样的3.学习本文代码&am…...
ROS2 准备工作(虚拟机安装,Ubuntu安装,ROS2系统安装)
准备工作 虚拟机安装 大家可以自行去安装VMware链接:https://pan.baidu.com/s/1KcN1I9FN--Sp1bUsjKqWVA?pwd6666 提取码:6666(提供者:零基础编程入门教程) 教程:【【2025最新版】VMware虚拟机安装教程,手把手教你免…...
FreeType 介绍及 C# 示例
FreeType 是一个开源的字体渲染引擎,用于将字体文件(如 TrueType、OpenType、Type 1 等)转换为位图或矢量图形。它广泛应用于操作系统、图形库、游戏引擎等领域,支持高质量的字体渲染和复杂的文本布局。 FreeType 的核心功能 字体…...
BertTokenizerFast 和 BertTokenizer 的区别
BertTokenizerFast 和 BertTokenizer 都是用于对文本进行标记化的工具,主要用于处理和输入文本数据以供 BERT 模型使用。它们都属于 HuggingFace 的 transformers 库。 主要区别 底层实现: BertTokenizer: 这是一个使用纯 Python 实现的标记器ÿ…...
OpenGL中Shader LOD失效
1)OpenGL中Shader LOD失效 2)DoTween的GC优化 3)开发微信小程序游戏有没有类似Debug真机图形的方法 4)射线和Mesh三角面碰撞检测的算法 这是第418篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了U…...
[操作系统] 深入理解约翰·冯·诺伊曼体系
约翰冯诺依曼(John von Neumann,1903年12月28日—1957年2月8日),原名诺伊曼亚诺什拉约什(Neumann Jnos Lajos),出生于匈牙利的美国籍犹太人数学家,20世纪最重要的数学家之一…...
计算机网络(五)运输层
5.1、运输层概述 概念 进程之间的通信 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时…...
网络分析仪测试S参数
S参数的测试 一:S参数的定义 S参数(Scattering Parameters,散射参数)是一个表征器件在射频信号激励下的电气行为的工具,它以输入信号、输出信号为元素的矩阵来表现DUT的“传输”和“散射”效应,输入、输出…...
什么是数据仓库?
什么是数据仓库? 数据仓库(Data Warehouse,简称DW)是一种面向分析和决策的数据存储系统,它将企业中分散的、异构的数据按照一定的主题和模型进行集成和存储,为数据分析、报表生成以及商业智能(…...