Linux运维篇-存储基础知识
什么是存储
用于存放数据信息的设备和介质,等同于计算机系统中的外部存储,是一个完整的系统。
存储的结构和趋势
存储的体系结构
当前存储的主要体系结构有三种:
- DAS
- NAS
- SAN
存储的发展趋势
- ssd固态硬盘
- 云存储
- 一体化应用存储设备
- 非结构化数据存储与管理
- 备份容灾
硬盘的组成
硬盘接口比较
存储设备的组成
RAID技术
传统raid
RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起 来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存 储性能和提供数据备份技术。
RAID全称Redundant Array of Independent Disks;即独立磁盘冗余 阵列。
RAID优势:容量易扩展、分块提高性能、可用性提高及可靠性提 高。
RAID级别的选择
-
不同的RAID级别代表着不同的性能、数据安全性和存储成本。
-
RAID常用级别:RAID0、RAID1、RAID10、RAID5、RAID6。
raid2.0+
RAID 2.0+ 是华为的块虚拟化技术,该技术将物理空间和数据空间分散分布成分散的块, 可以充分发挥系统的读写能力,方便扩展,也方便了空间的按需分配,数据的热度排 布,迁移,它是华为所有Smart软件特性的实现基础。同时,由于热备空间也是分散在 多个盘上的,因此硬盘数据的重构写几乎可以同时进行,避免了写单个热备盘造成的 性能瓶颈,大大减少了重构时间。
RAID2.0+将每个硬盘空间被划分成一个个小粒度的数据块,基于数据块来构建RAID组, 使得数据均匀地分布到存储池的所有硬盘上,同时,以数据块为单元来进行资源管理, 大大提高了资源管理的效率
OceanStor存储系统支持不同类型(SSD、SAS、NL-SAS)的硬盘,这些硬盘组成一个个 的硬盘域(Disk Domain)。在一个硬盘域中,同种类型的硬盘构成一个存储层。
各存储层的硬盘被划分为固定大小的Chunk(CK),其中,SSD层和SAS层的CK的大小为64MB,NL-SAS层的CK大小为256M。
OceanStor 存储系统通过随机算法,将每一个存储层的Chunk(CK)按照用户设置的 “RAID策略”来组成Chunk Group(CKG),用户可以为存储池(Storage Pool)中的每 一个存储层分别设置“RAID策略”。
lOceanStor存储系统会将Chunk Group(CKG)切分为更小的Extent。Extent作为数据迁 移的最小粒度和构成Thick LUN的基本单位,在创建存储池(Storage Pool)时可以在“ 高级”选项中进行设置,默认4MB。对于Thin LUN或文件系统,会在Extent上再进行更 细粒度的划分(Grain),并以Grain为单位映射到Thin LUN、文件系统。
若干Extent组成了卷(Volume),卷(Volume)对外体现为主机访问的LUN(这里的 LUN为Thick LUN)。在处理用户的读写请求以及进行数据迁移时,LUN向存储系统申请 空间、释放空间、迁移数据都是以Extent为单位进行的。在用户创建Thin LUN或文件系 统时,OceanStor存储系统还会在Extent的基础上再进行更细粒度的划分(Grain),并 以Grain为单位映射到Thin LUN或文件系统,从而实现对存储容量的精细化管理。
RAID2.0+技术会根据热备策略自动在存储池中预留一定数量的热备空间,用户无需进 行设置,当系统自动检测到硬盘上某个区域不可修复的介质错误或整个硬盘发生故障 时,系统会自动进行重构,将受影响的数据块数据快速重构到其他硬盘的热备空间中, 实现系统的快速自愈合
主机文件系统
Windows下常见的文件系统:FAT16、FAT32、NTFS
Linux下常见的文件系统:ext3、jfs、Reiserfs、xfs
其它文件系统:ZFS、HFS、VMFS、UFS、GFS
数据备份
数据备份是将数据以某种方式加以保留,以便在系统遭受破坏或其他特定 情况下重新加以利用的一个过程。
数据备份的核心是恢复,一个无法恢复的备份对于任何系统来说都是毫无 意义的。
备份系统的组成部分
备份客户端
备份服务器
备份存储单元
备份管理软件
备份组网
LAN-BASE备份
LAN-FREE备份
数据备份的类型
全备份:备份系统中的所有数据
优点:恢复时间最短,最可靠,操作最方便
缺点:备份的数量大,备份所需时间长
增量备份:备份上一次备份以后更新的所有数据
优点:每次备份的数据少,占用空间少,备份时间短
缺点:恢复时需要全备份及多份增量备份
差量备份:备份上一次全备份以后更新的所有数据
优点:数据恢复时间短
缺点:备份时间长,恢复时需要全备份及差量备份
SAN和NAS对比
SAN和NAS是两种主流的存储方式
描述 | SAN | NAS |
---|---|---|
适用场景 | 基于块操作的高I/O要求应用中,如数据库 | 适用于非机构化数据(如文件、语音、图像),性能和可扩展性强的应用 |
支持协议 | FC、ISCSI | NFS、FCIFS、FTP、HTTP |
数据共享 | 一般独享 | 同一文件被多个服务器同时访问 |
组网方式 | 光纤 | 以太网 |
建设成本 | 主机需要HBA卡,组网需要光纤交换机,成本较高 | 通过GE网络或者10G网络,成本较低 |
多路径问题
当主机到存储设备有多条链路时,在存储设备上的同一个卷,在主机端将呈现多个卷。 在图示中,用虚线标记的链路,是4条独立的从主机到存储设备的链路,当存储设备中 的一个LUN映射给主机后,由于主机到存储设备的4条虚线链路是独立的,所以在主机 端将会看到4个独立的LUN。这种混乱的情况有一个名字:多路径问题。
在存储设备上的同一个LUN,由于主机到存储设备有多条链路时,在主机端呈现的多个 磁盘,多路径软件能够屏蔽这些磁盘,而生成一个虚拟的磁盘,读写操通过虚拟的磁 盘进行。
路径软件功能:
最优路径选择:选择多条路径中的最佳的路径进行操作,能获取最佳的性能。
路径I/O负载均衡:自动选择多条路径进行下发,提高IO性能,以及根据路径繁忙程度进行业务路径选择。
故障倒换:业务链路发生故障的时候,故障倒换( Failover )随之发生,实现业 务不中断。
故障恢复:故障倒换之前的业务链路恢复后,业务恢复(Failback)随之发生,用户无需介入,自动完成,且业务不中断。
操作系统自带多路径,如Windows使用的是MPIO,Linux使用的是DM-Multipath
FC网络
在一个SAN环境中通常至少需要配置两个光纤交换机,这种配置不仅仅是为了满足交换 机冗余的需求,也是为了满足SAN设计的需求。一个FC SAN最优的设计必须由两个独立 的网络组成。
根据所需SAN基础设施的规模,在入门级的FC光纤交换机和高端的核心交换机之间选择 光纤交换机的型号
IP-SAN
IP SAN 就是使用iSCSI协议传输SCSI数据块的SAN网络。一个IP SAN是把SCSI块封装到一个以太网数据包中,然后把它们发送到网络上进行传输
IP-SAN典型组网方式有:
-
直连:主机与存储之间直接通过以太网卡、TOE卡或iSCSI HBA卡连接,这种组网方式简单、经济,但较多的主机分享存储资源比较困难;
-
单交换:主机与存储之间由一台以太网交换机,且主机安装以太网卡或TOE卡或 iSCSI HBA卡实现连接。这种组网结构使多台主机能共同分享同一台存储设备, 扩展性强,但交换机处存在间点故障;
-
双交换:同一台主机到存储阵列端可由多条路径连接,扩展性强,避免了在以太网交换机处形成单点故障。
由于硬件冗余的要求,或者需要更多数量的交换机端口,IP SAN网络通常需要使用多个 交换机。但是,不管IP SAN有两个交换机,还是有多个交换机,它们都必须在同一个网 络中。IP SAN不像FC SAN一样需要两个独立的网络。在上图中的解决方案都是由一个网 络组成。
在双交换机网络模式中,具有更高的可扩展性,以及允许更多的主机共享同一存储设 备提供的存储资源。而且,当一个交换机故障时,存储资源然后可用。
将多个单独的交换机连接在一起,形成一个不同的网络。在现代交换机中,有三种选 择可用于交换机之间的互联:
-
使用一根缆线连接不同交换机上的两个端口。
-
许多交换机有一个专门的上行端口用于互联其它的交换机。
-
在中端和高端交换机中,可用选择安装一个堆叠模块。然后使用一根专门的堆叠 缆线互联两个交换机,采用堆叠模式将两个交换机堆叠在一起。堆叠使两个或者 更多的交换机获得更高的性能
NAS
网络附加存储(Network Attached Storage,NAS)是连接到一个局域网的基于IP的 文件共享设备。NAS通过文件级的数据访问和共享提供存储资源,使客户能够以最小的存储管理开销快速直接共享文件;采用NAS可以不用建立多个文件服务器,是首选的文件共享存储解决方案; NAS还有助于消除用户访问通用服务器时的瓶颈;NAS使 用网络和文件共享协议进行归档和存储,这些协议包括进行数据传输的TCP/IP和提供 远程文件服务的CIFS、NFS。
UNIX和Microsoft Windows用户能够通过NAS无缝共享相同的数据,通常有NAS和FTP 两种数据共享方式。采用NAS共享的时候,UNIX通常使用用NFS,Windows使用CIFS。 随着网络技术的发展,NAS扩展到用于满足企业访问数据高性能和高可靠性的需求。 NAS设备是专用的、高性能的、高速的、单一用途的文件服务和存储系统。 NAS客户 端和服务器之间通过IP网络通讯,大多数NAS设备支持多种接口和网络。 NAS设备使用自己的操作系统和集成的硬件、软件组件,满足特定的文件服务需求。NAS对操作系统和文件I/O进行了优化,执行文件I/O比一般用途的服务器更好。NAS设备比传统 的服务器能接入更多的客户机,达到对传统服务器进行整合目的。
NAS的实现方式
NAS实现有两种方式:统一NAS和网关NAS。
-
一个集成的NAS设备包括NAS的所有部件,例如NAS引擎和存储放在一个机框中,这使 得NAS具有一个独立的环境。NAS引擎通过IP网络对外提供连接响应客户端和服务的文 件I/O请求。存储由多个硬盘组成,可以是低成本的ATA接口到高吞吐量的FC硬盘。管 理软件对NAS引擎和存储配置进行管理。一个统一NAS解决方案的范围从单机框的低端 设备到连接外部磁盘阵列的高端方案。
-
l 一个网关NAS包括独立NAS引擎和一个或者多个存储阵列。 这里的NAS引擎和统一 NAS解决方案中的NAS引擎功能相同,存储被其它应用共享时采用块级I/O。在网关类 型的解决方案中管理功能比在集成环境中更复杂,因为需要对NAS引擎和存储单独分 别进行管理。在网关NAS解决方案中,还可以利用FC架构,比如交换机、导向器或者 直连附加存储。网关存储最容易扩展,因为在需要的时候NAS引擎和存储阵列都可以 独立的进行扩展。
NAS文件共享协议
NFS
NFS主要是用在基于UNIX的操作环境
NFS是一个客户机/服务器应用程序,使用远程过程调用(RPC)在计算机之间进行通 信。用户就像使用自己的计算机一样存储、更新远程NAS上的文件。
用户的系统需要一个NFS客户端连接到NFS服务器。由于NFS服务器和客户端使用TCP/IP传输文件,所以在客户端和服务端系统上必须安装TCP/IP。
用户或系统管理员可以使用NFS挂载所有文件系统或文件系统的一部分(任意目录或子 目录分级树中的一部分)。被挂载的文件系统可使用权限来控制访问(例如,只读或 读-写权限)。
CIFS
CIFS使用基于Microsoft Windows的操作环境
CIFS是一个客户机/服务器应用程序协议,远端客户机程序通过TCP/IP访问文件或服务 满足请求。CIFS是一个公共的、开放的、变化的服务器消息块(SMB)协议, 允许远 程客户端访问服务器上的文件。 CIFS通过使用特殊的锁能够与其他客户共享文件。 CIFS文件名使用Unicode编码字符。
CIFS提供了以下功能,以确保数据的完整性:
-
采用文件记录锁,防止文件或记录被其他用户覆盖。
-
运行在TCP/IP协议上。
-
支持容错,可以自动恢复连接和重新打开被中断的文件。 CIFS的容错功能取决于 应用程序是否启用CIFS的容错特性。此外,CIFS是一个有状态的协议,因为CIFS 服务器会维护每个客户端的相关连接信息。在网络故障或CIFS服务器故障的情况 下,客户端会接收到一个连接断开通知。如果应用程序具有嵌入式智能来恢复连 接,则用户中断最小化。如果没有,用户则必须重新建立CIFS连接。
用户为远程文件系统配置易于使用的文件命名方案:
\\server\share
\\servername.domain.suffix\share
超融合软件特性
Scale-Out:
-
硬件层面,重用盘古硬件平台的双控结构。
-
软件层面,我们在双控软件上有较多积累,目前的设计有利于继承这些软件。
-
有利于将来扩展控制器个数。
块虚拟化:
-
提升坏盘重构速度,缩短重构时间。
-
方便实现分级存储。
-
通过将物理硬盘划分成细粒度的CHUNK实现块虚拟化,将业务分散到所有的硬盘 上,充分发挥硬盘的性能。
分级存储和热点迁移(I/O enhancement):
-
通过识别应用的I/O热度,采用智能的算法以细粒度的方式进行分级存储,并保存 到不同性能的tie storage上。
-
同时配合热点迁移技术实现负载的均衡,保证整体系统I/O性能的最大化。
线程集中和受控原则:
-
整个软件系统由CSched模块进行I/O和命令调度。
-
整个系统只允许CSched模块拥有线程,其它模块不得拥有线程。
-
线程受控,模块运行模式统一。
-
I/O 和命令的优先级容易控制。
-
减少线程切换,提升性能。
集中控制:
-
各业务模块只负责提供原子的功能机制,Control子系统负责全系统的策略的控制。
-
基于卷的控制,Control子系统会向各业务模块下发基于卷的控制命令(而不是基 于模块的)。
RAID类型选择
在进行RAID级别选择时,需考虑到以下三点:可靠性、读写性能和硬盘利用率。
-
数据安全性:RAID 6 >RAID 10 > RAID 5。
-
读性能:RAID 5 > RAID 10 > RAID 6。
-
写性能:RAID 10 > RAID 5 > RAID 6。
建议对于核心业务(如运营商的计费等系统或金融A类在线交易系统等),性能层RAID 策略配置为RAID 6(8D+2P),容量层RAID策略必须配置为RAID 6。
对于非核心业务,性能层RAID策略可配置为RAID 5(8D+1P),容量层RAID策略必须配 置为RAID 6。
相关文章:
Linux运维篇-存储基础知识
什么是存储 用于存放数据信息的设备和介质,等同于计算机系统中的外部存储,是一个完整的系统。 存储的结构和趋势 存储的体系结构 当前存储的主要体系结构有三种: DASNASSAN 存储的发展趋势 ssd固态硬盘云存储一体化应用存储设备非结构…...
【git】已上传虚拟环境的项目更改成不再上传虚拟环境
虽然git用了很长时间,但是距离精通还是太远了。注意到虚拟环境是因为上传项目时用到的系统是macOS,而拉取项目时用到的系统是win,意识到是时候学习知识了(好懒啊)。 头一次上传:使用.gitignore避免虚拟环境…...
【Linux网络编程】应用层协议HTTP(请求方法,状态码,重定向,cookie,session)
🎁个人主页:我们的五年 🔍系列专栏:Linux网络编程 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 Linux网络编程笔记: https://blog.cs…...
Android GreenDAO 适配 AGP 8.0+
在 Android 中使用 GreenDao,由于 GreenDao 现在不维护,所以更新到新版本的 Gradle 经常出问题,在这记录一些升级遇到的问题,并且记录解决方案。 博主博客 https://blog.uso6.comhttps://blog.csdn.net/dxk539687357 一、‘:app…...
使用html css js 来实现一个服装行业的企业站源码-静态网站模板
最近在练习 前端基础,html css 和js 为了加强 代码的 熟悉程序,就使用 前端 写了一个个服装行业的企业站。把使用的技术 和 页面效果分享给大家。 应用场景 该制衣服装工厂官网前端静态网站模板主要用于前端练习和编程练习,适合初学者进行 HT…...
小胡说技书博客分类(部分目录):服务治理、数据治理与安全治理对比表格
文章目录 一、对比表格二、目录2.1 服务2.2 数据2.3 安全 一、对比表格 下表从多个维度对服务治理、数据治理和安全治理进行详细对比,为读者提供一个直观而全面的参考框架。 维度服务治理数据治理安全治理定义对软件开发全流程、应用交付及API和接口管理进行规范化…...
SpringBoot3.x整合WebSocket
SpringBoot3.x整合WebSocket 本文主要介绍最新springboot3.x下如何整合WebSocket. WebSocket简述 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它允许在浏览器和服务器之间进行实时的、双向的通信。相对于传统的基于请求和响应的 HTTP 协议ÿ…...
SpringBoot中自动装配机制的原理
SpringBoot中的自动装配机制是其核心特性之一,其原理主要基于一系列约定和配置,能够根据项目的依赖和配置自动为应用程序加载和配置需要的Spring组件。以下是SpringBoot自动装配机制原理的详细解释: 一、启动类和注解 SpringBootApplicatio…...
STM32外设SPI FLASH应用实例
STM32外设SPI FLASH应用实例 1. 前言1.1 硬件准备1.2 软件准备 2. 硬件连接3. 软件实现3.1 SPI 初始化3.2 QW128 SPI FLASH 驱动3.3 乒乓存储实现 4. 测试与验证4.1 数据备份测试4.2 数据恢复测试 5 实例5.1 参数结构体定义5.2 存储参数到 SPI FLASH5.3 从 SPI FLASH 读取参数5…...
PHP支付宝--转账到支付宝账户
官方参考文档: https://opendocs.alipay.com/open/62987723_alipay.fund.trans.uni.transfer?sceneca56bca529e64125a2786703c6192d41&pathHash66064890 可以使用默认应用,也可以自建新应用,此处以默认应用来讲解【默认应用默认支持…...
太空飞船任务,生成一个地球发射、火星着陆以及下一次发射窗口返回地球的动画3D代码
import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation from mpl_toolkits.mplot3d import Axes3D# 天体参数设置(简化模型) AU 1.5e8 # 天文单位(公里) earth_orbital_radius …...
埃拉托斯特尼筛法来生成素数表【C语言】
代码: char *prime(int MAX) {char *a (char*)malloc(MAX * sizeof(char));if (a NULL) {fprintf(stderr, "Memory allocation failed\n");exit(EXIT_FAILURE);}memset(a, 1, MAX * sizeof(char));a[0] 0;a[1] 0;for (int i 2; i * i < MAX; i) …...
VSCode 实用快捷键
前文 VSCode 作为文本编辑神器, 熟练使用其快捷键更是效率翻倍, 本文介绍 VSCode 常用的实用的快捷键 实用快捷键 涉及到文本操作, 搜索定位, 多光标, 面板打开等快捷键 功能快捷键复制光标当前行 (不需要鼠标选中) Ctrl C 剪切光标当前行 (不需要鼠标选中) Ctrl X 当前行下…...
Ubuntu24.04无脑安装docker(含图例)
centos系统请看这篇 Linux安装Docker教程(详解) 一. ubuntu更换软件源 请看这篇:Ubuntu24.04更新国内源 二. docker安装 卸载老版docker(可忽略) sudo apt-get remove docker docker-engine docker.io containerd runc更新软件库 sudo a…...
近地面无人机植被定量遥感与生理参数反演
近地面无人机植被遥感是指利用无人机(UAV)搭载传感器,在低空(通常低于 100 米)对植被进行高分辨率遥感观测和数据采集的技术。这种技术结合了无人机的高灵活性和遥感的高精度,广泛应用于农业、生态学、林业…...
如何创建自定义权限的kubeconfig
如何创建自定义权限的kubeconfig 有些小伙伴问如何做自定义权限的kubeconfig首先看下我们怎么了解我们控制的权限的api以及涉及的资源和动作权限从哪里可以轻松查看了解了上面的,接下来就简单了,和简单的授权流程一致1、创建一个账户2、创建想要的角色或…...
使用 pjsua2 开发呼叫机器人,批量拨打号码并播放固定音频
如何使用 pjsua2 开发呼叫机器人,批量拨打号码并播放固定音频 声明 该播客仅提供实现思路,并非实际的方案记录,不要盲目照搬。 pjsua2库的安装会有较多问题,请参考本人之前的播客进行安装 pjsua2。 pjsua2 库具体的 api 说明请参考开源库内的 范例代码。 引言 在今天的…...
使用nvm管理node.js版本,方便vue2,vue3开发
在Vue项目开发过程中,我们常常会遇到同时维护Vue2和Vue3项目的情况。由于不同版本的Vue对Node.js 版本的要求有所差异,这就使得Node.js 版本管理成为了一个关键问题。NVM(Node Version Manager)作为一款强大的Node.js 版本管理工具…...
Breakout Tool
思科 CML 使用起来还是很麻烦的,很多操作对于习惯了 secure crt 或者 putty 等工具的网络工程师都不友好。 Breakout Tool 提供对远程实验室中虚拟机控制台与图形界面的本地化接入能力,其核心特性如下: Console 访问:基于 Telnet…...
网络安全-攻击流程-用户层
用户层攻击主要针对操作系统中的用户空间应用程序及用户权限,利用软件漏洞、配置错误或用户行为弱点进行攻击。以下是常见的用户层攻击类型及其流程,以及防御措施: 1. 缓冲区溢出攻击 攻击流程: 目标识别:确定存在漏…...
内网下,Ubuntu (24.10) 离线安装docker最新版教程
一般在数据比较敏感的情况下,是无法使用网络的,而对于Ubuntu系统来说,怎么离线安装docker呢? 下面我给大家来讲一下: 采用二进制安装: 1.下载docker离线包 官网下载: Index of linux/static…...
用deepseek学大模型08-卷积神经网络(CNN)
yuanbao.tencent.com 从入门到精通卷积神经网络(CNN),着重介绍的目标函数,损失函数,梯度下降 标量和矩阵形式的数学推导,pytorch真实能跑的代码案例以及模型,数据,预测结果的可视化展示, 模型应用场景和优缺点…...
6.【线性代数】—— 列空间和零空间
六 列空间和零空间 1. 列空间 C(A)2. 零空间 N(A)2.1 定义2.2 为什么零空间是一个子空间?2.3 Axb的解空间,是一个子空间吗? 1. 列空间 C(A) [ c o l 11 c o l 21 c o l 31 c o l 12 c o l 22 c o l 32 c o l 13 c o l 23 c o l 33 ] ⏟ A [ a…...
Spring SmartLifecycle:精准控制Bean的生命周期
一、核心作用 SmartLifecycle 是 Spring 框架中用于 精确控制组件生命周期阶段 的高级接口,主要解决三类问题: 有序启停:控制多个组件启动/关闭顺序阶段化处理:将初始化/销毁操作划分为不同阶段上下文感知:获取应用上…...
【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析②】
ISO 14229-1:2023 UDS诊断【会话控制0x10服务】_TestCase02 作者:车端域控测试工程师 更新日期:2025年02月15日 关键词:UDS诊断、0x10服务、诊断会话控制、ECU测试、ISO 14229-1:2023 TC10-002测试用例 用例ID测试场景验证要点参考条款预期…...
gitee SSH 公钥设置教程
Gitee 提供了基于 SSH 协议的 Git 服务,在使用 SSH 协议访问仓库仓库之前,需要先配置好账户 SSH 公钥。 1、生成秘钥 Windows 用户建议使用 Windows PowerShell 或者 Git Bash,在 命令提示符 下无 cat 和 ls 命令。 ssh-keygen -t ed25519 -C "Gitee SSH Key"中间…...
Wireshark 输出 数据包列表本身的值
在 Wireshark 中,如果你想输出数据包列表本身的值(例如,将数据包的摘要信息、时间戳、源地址、目的地址等导出为文本格式),可以使用 导出为纯文本文件 的功能。以下是详细步骤: 步骤 1:打开 Wir…...
electron 学习
文章目录 1.注意项1.1 安装前最好设置一下代理 官网 tutorial https://www.electronjs.org/docs/latest/tutorial/tutorial-prerequisites 1.注意项 1.1 安装前最好设置一下代理 npm config set registry https://registry.npmmirror.com/...
Asp.Net Core MVC 中级开发教程
Asp.Net Core MVC 中级开发教程 一、Asp.Net Core Mvc 区域使用 ASP.NET Core MVC的Areas使用整理 - 天马3798 - 博客园 二、Asp.Net Core 路径处理 Asp.Net Core Web相对路径、绝对路径整理 Asp.Net Core获取当前上下文对象 三、Asp.Net Core 服务使用和封装 四、Asp.Net …...
DeepSeek与ChatGPT的全面对比
在人工智能(AI)领域,生成式预训练模型(GPT)已成为推动技术革新的核心力量。OpenAI的ChatGPT自发布以来,凭借其卓越的自然语言处理能力,迅速占据市场主导地位。然而,近期中国AI初创公…...
什么是网络安全?网络安全防范技术包括哪些?
伴随着互联网的发展,它已经成为我们生活中不可或缺的存在,无论是个人还是企业,都离不开互联网。正因为互联网得到了重视,网络安全问题也随之加剧,给我们的信息安全造成严重威胁,而想要有效规避这些风险&…...
使用Java爬虫获取1688按图搜索商品(拍立淘API接口)
在电商领域,按图搜索商品(拍立淘)是一种非常实用的功能,尤其适合用户通过图片快速查找相似商品。1688开放平台提供了按图搜索商品的API接口,允许开发者通过图片获取相关的商品信息。本文将详细介绍如何使用Java爬虫技术…...
物联网技术赋能预测性维护的深度剖析与前景展望
一、引言 1.1 研究背景与意义 随着信息技术的飞速发展,物联网技术已逐渐渗透到各个行业领域,成为推动产业变革和创新的重要力量。物联网通过将各种设备、物品与互联网连接,实现数据的采集、传输和交互,为各行业带来了前所未有的智能化和自动化水平提升。在工业领域,设备…...
前端工程化的具体实现细节
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
Dav_笔记14:优化程序提示 HINTs -4
指定全局表提示 指定表的提示通常是指发生提示的DELETE,SELECT或UPDATE查询块中的表,而不是指语句引用的任何视图中的表。 如果要为显示在视图中的表指定提示,Oracle建议使用全局提示,而不是在视图中嵌入提示。 您可以使用包含具…...
解锁享元模式:内存优化与性能提升的关键密码
系列文章目录 待后续补充~~~ 文章目录 一、享元模式初相识二、享元模式的核心概念2.1 内部状态与外部状态2.2 享元角色剖析 三、Java 代码中的享元模式3.1 简单示例代码实现3.2 代码解析与关键步骤 四、实际应用场景探秘4.1 文本编辑器中的享元模式4.2 游戏开发中的享元模式4.3…...
负载均衡 方式
DNS 软件负载均衡 Nginx 也是 软件负载均衡 各种策略 1、轮询(默认) 2、weight(权重) 3、IP Hash (会话粘滞) 4、fair 5、UrlHash...
CAS单点登录(第7版)18.日志和审计
如有疑问,请看视频:CAS单点登录(第7版) 日志和审计 Logging 概述 Logging CAS 提供了一个日志记录工具,用于记录重要信息事件,如身份验证成功和失败;可以对其进行自定义以生成用于故障排除的其他信息。…...
Linux多版本管理工具介绍
一、update-alternatives工具 1. 简介 update-alternatives是Linux系统自带的一个用于管理多个版本命令的工具。它允许用户在不同的软件版本之间进行切换,而不需要手动修改环境变量或者链接文件。 2. 基本使用 查看已安装的alternatives 使用命令update-alterna…...
DeepSeek笔记(二):DeepSeek局域网访问
如果有多台电脑,可以通过远程访问,实现在局域网环境下多台电脑共享使用DeepSeek模型。在本笔记中,首先介绍设置局域网多台电脑访问DeepSeek-R1模型。 一、启动Ollama局域网访问 1.配置环境变量 此处本人的操作系统是Windows11,…...
摄像头畸变矫正
简单介绍 所谓畸变其实就是由摄像头引起的图片失真, 一般在广角摄像头表现明显, 原本平整的桌面通过镜头看像个球面, 直观的解释直线被拍成了曲线, 这让我想起来了一个表情包. 去畸变的办法 首先我们需要一个标准棋盘(印有特定的标定图案), 如图: 把它摊平放在桌子上, 然后用…...
EasyRTC:智能硬件适配,实现多端音视频互动新突破
一、智能硬件全面支持,轻松跨越平台障碍 EasyRTC 采用前沿的智能硬件适配技术,无缝对接 Windows、macOS、Linux、Android、iOS 等主流操作系统,并全面拥抱 WebRTC 标准。这一特性确保了“一次开发,多端运行”的便捷性,…...
机器视觉--图像的运算(乘法)
一、引言 在图像处理领域,Halcon 是一款功能强大且广泛应用的机器视觉软件库。它提供了丰富的算子和工具,能够满足各种复杂的图像处理需求。图像的乘法运算作为其中一种基础操作,虽然不像一些边缘检测、形态学处理等操作那样被频繁提及&…...
蓝桥杯 Java B 组之哈希表应用(两数之和、重复元素判断)
Day 5:哈希表应用(两数之和、重复元素判断) 一、哈希表(Hash Table)基础 1. 什么是哈希表? 哈希表(Hash Table) 是一种键值对(key-value)存储的数据结构&…...
Kafka分区管理大师指南:扩容、均衡、迁移与限流全解析
#作者:孙德新 文章目录 分区分配操作(kafka-reassign-partitions.sh)1.1 分区扩容、数据均衡、迁移(kafka-reassign-partitions.sh)1.2、修改topic分区partition的副本数(扩缩容副本)1.3、Partition Reassign场景限流1.4、节点内副本移动到不…...
vue 接口传formdata
在Vue中,如果你需要向服务器发送FormData对象,通常是为了上传文件或者需要发送表单数据。FormData是一个非常有用的工具,因为它可以直接使用表单元素的值以及文件内容,并以一种浏览器兼容的方式来发送这些数据。下面是如何在Vue中…...
图像处理篇---基本OpenMV图像处理
文章目录 前言1. 灰度化(Grayscale)2. 二值化(Thresholding)3. 掩膜(Mask)4. 腐蚀(Erosion)5. 膨胀(Dilation)6. 缩放(Scaling)7. 旋转…...
DeepSeek预测25考研分数线
25考研分数马上要出了。 目前,多所大学已经陆续给出了分数查分时间,综合往年情况来看,每年的查分时间一般集中在2月底。 等待出成绩的日子,学子们的心情是万分焦急,小编用最近爆火的“活人感”十足的DeepSeek帮大家预…...
数据融合的经典模型:早期融合、中期融合与后期融合的对比
数据融合是处理多源数据时非常重要的技术,尤其是在多模态学习、传感器网络和智能系统中。它的目标是将来自不同来源、不同模态的数据进行有效结合,从而获得更准确、更全面的信息。在数据融合的过程中,不同的融合策略能够在性能、效率和应用场…...
Linux环境Docker使用代理推拉镜像
闲扯几句 不知不觉已经2月中了,1个半月忙得没写博客,这篇其实很早就想写了(可追溯到Docker刚刚无法拉镜像的时候),由于工作和生活上的事比较多又在备考软考架构,拖了好久…… 简单记录下怎么做的…...