冗余技术:堆叠技术+链路聚合
目录
前言
一.堆叠技术概述
二.堆叠技术原理
三.堆叠系统登录
四.堆叠合并/分裂
4.1 堆叠双主检测机制(MAD)
五.链路聚合技术概述
六.链路聚合模式
前言
在硬件加速与数据爆炸时代,堆叠技术通过模块化分层设计,实现资源动态分配与性能线性扩展,为智能时代提供底层支撑。
一.堆叠技术概述
堆叠作为一项横向虚拟化技术,将多个设备通过网线连接,在逻辑上虚拟化成一台设备,可以简化网络配置和管理,同时配合跨域链路聚合技术,不仅可以实现链路高可靠性备份,而且可以避免二层环路,相对于传统的STP破环保护,链路利用更加高效。
1.1 堆叠优点
- 性能提升:多个设备同时处理数据,提升负载能力。
- 高效管理:多个设备被堆叠为一个节点,只需配置一台设备,甚于设备自动同步配置。
- 高扩展力:业务需要扩展时,可以在已经形成的堆叠系统中直接加入新设备,从而扩展业务端口,提升转发效率。
- 高可靠性:逻辑上是一台设备作链路聚合,物理上是多设备链路聚合,且一台设备故障,剩余设备能够同步接管业务。
- 防止环路:在物理上堆叠域内的设备共享同一个配置即转发规则一致因此不会产生环路。
1.2 堆叠分类
堆叠卡堆叠:
- 交换机之间通过专用堆叠卡及专用堆叠线缆连接。
- 准堆叠卡集成到了交换机后面板上,交换机通过集成的堆叠端口及专用的堆叠线缆连接。
业务口堆叠:
- 交换机上默认都支持两个逻辑的堆叠端口,可以将业务物理端口划分到逻辑堆叠端口中,不需要单独的堆叠卡。
1.3 堆叠接口编号规则
物理接口的编号规则如下:华为官方文档链接
非堆叠情况下,交换机采用“槽位号/子卡号/接口序号”的编号规则来定义物理接口。
- 槽位号:表示当前交换机的槽位,取值为0。
- 子卡号:表示交换机支持的子卡号。无子卡款型默认取值为0。
- 接口序号:表示交换机上各接口的编排顺序号。
堆叠情况下,交换机采用“堆叠号/子卡号/接口序号”的编号规则来定义物理接口。
- 堆叠号(堆叠成员ID):表示堆叠ID,取值为0~8。
- 子卡号:表示交换机支持的子卡号。无子卡款型默认取值为0。
- 接口序号:表示交换机上各接口的编排顺序号。
不同的情况采用不同的接口编号规则,可以有效区分两台交换机都由G0/0/1口的情况
堆叠成员设备/术语概念表
概念 | 说明 |
主交换机(Master) | 负责管理整个堆叠,堆叠中只有一台主交换机 |
备交换机(Standby) | 接替主交换机故障时的业务,堆叠中只有一台备交换 |
从交换机(Slave) | 用于业务转发,从交换机越多转发能力越强。 |
堆叠域(Domain) | 所有成员交换机的集合,域编号用来区分不同堆叠 |
概念 | 说明 |
堆叠成员ID(Member ID) | 用于标识堆叠成员,该ID具有唯一性 |
堆叠优先级 | 用于成员设备角色选举,优先级越大成为主交换机的概率越大 |
堆叠物理成员接口 | 用于堆叠成员交设备间的连接 |
堆叠接口 | 堆叠专用逻辑接口,需要绑定物理成员端口使用 |
二.堆叠技术原理
堆叠建立流程分析
堆叠建立流程主要包括以下四个阶段:
1. 物理及软件配置:根据网络需求选择适当的连接拓扑,组件堆叠网络,并进行相关软件配置
要点:配置堆叠成员设备的物理接口加入到堆叠接口前需要保证物理接口为Down,成员设备1的堆叠接口Port1只能与成员设备2的Port2连接。
2.拓扑收集:成员设备收集拓扑信息:
组成堆叠拓扑并激活配置后,各成员设备在本地记录自身拓扑信息。设备启动时仅记录自身信息,当堆叠端口状态变为 up,会周期性从该端口发送已知拓扑信息 ,邻居收到后更新本地记录,经一段时间收敛,所有成员设备都能收集到完整拓扑信息。
每个成员设备还会通过堆叠Hello 收集整个堆叠拓扑,内容涵盖拓扑信息、堆叠端口连接关系、成员ID、成员优先级以及成员的桥 MAC 等。
3.主交换机选举(非抢占):选举过程中成员设备互相发送竞争报文,按照如下规则逐一匹配:
- 最先完成启动的交换机优先竞争为主交换机。
- 堆叠优先级高的交换机优先竞争为主交换机(默认100,最高255)。
- 20秒内启动的设备被视为同时启动;超20秒的,启动时间长的为主。
- 桥MAC地址较小的交换机优先竞争为主交换机。
堆叠成员设备之间通常会进行以下几个配置同步过程:
- 版本同步:选举结束后,其他成员设备会自动从主交换机下载系统软件,然后重启并重新加入堆叠。
- 配置同步:堆叠运行时,成员设备启动,备 / 从交换机将自身堆叠配置合并入主交换机配置文件以形成堆叠配置文件;堆叠运行后,主交换机同步用户配置给其他交换机。
三.堆叠系统登录
堆叠建立后,所有成员设备组成一台虚拟设备存在网络中国,所有成员设备的资源由主交换机统一管理。用户可以通过任意一台成员设备登录堆叠系统,对整个堆叠系统进行维护,无论使用哪种方式,通过哪台成员交换机登录到堆叠系统,实际登录的都是主交换机。
登录堆叠系统的方式如下:
- 本地登录:通过任意一台成员设备的console口登录。
- 远程登录:通过任意一台成员设备三层接口,以SSH/Telnet等方式登录
注意:堆叠建立后,以主交换机的配置文件生效为主,远程登陆时需要使用主交换机的IP地址,且堆叠系统的多个管理口同时使用时,只有一个会生效。
四.堆叠合并/分裂
堆叠合并
堆叠合并是指稳定运行的两个堆叠系统合并成一个新的堆叠系统,堆叠系统合并时,两个堆叠系统的主交换机进行竞争,选举出一个更优秀的作为堆叠系统的主交换机(选举规则与选举主交换机一致)。
竞争胜出的主交换机所在的堆叠系统将保持原有主,备角色和配置不变,业务也不会受到影响;而另外一个堆叠系统的成员设备将重新启动后加入到新的堆叠系统。
堆叠分裂
堆叠建立后,主交换机和其他成员设备之间定时发送心跳报文来建立维护堆叠系统的状态,当堆叠线缆或设备发生故障时,可能会导致交换机之间失去通信,堆叠系统分裂为多个堆叠系统。
堆叠分裂后,其全局配置完全相同,会以相同的IP地址和MAC地址(堆叠系统MAC地址)与网络中的其他设备交互,这样就导致IP地址和MAC地址冲突,引起整个网络故障,此时依靠堆叠的双主检测来避免堆叠分裂后出现的双主。
4.1 堆叠双主检测机制(MAD)
1.分裂检测:
在堆叠中分裂检测机制分为LACP检测,BFD检测,ARP检测,ND检测,同一个堆叠可以配置多个检测机制。
2.冲突处理:
堆叠分裂后,MAD冲突处理机制会使分裂后的堆叠系统处于堆叠正常工作状态(Detect)或堆叠禁用状态(Recovery),不同的检测机制原则不同,具体原则如下:
- LACP/BFD:首选堆叠成员设备数量多的工作,其次主设备成员编号小的工作。
- ARP/ND:直接选择主设备成员编号小的堆叠继续工作,其余处于禁用状态。
注:处于禁用状态的堆叠会关闭除保留接口(组建堆叠的接口)之外的所有物理接口(通常为业务口)以保证业务口不再转发报文,默认保留堆叠接口,保留接口可手动设置。
LACP MAD 检测原理
LACP MAD 检测是通过扩展LACP协议报文内容实现的,即在LACP协议报文的扩展字段内定义一个新的TLV(Type/Length/Value,类型/长度/值)数据域--用于交互堆叠的域编号和主设备成员编号。
开启LACP MAD检测后,成员设备通过LACP协议报文和其它成员设备交互域编号和主设备编号(Active ID),当成员设备收到LACP 协议报文后,进行如下比较:
- 域编号相同,则比较主设备成员编号
<--> Active ID相同,表示堆叠正常运行,没有发生堆叠冲突。
<--> Active ID不同,表示堆叠分裂,检测到多个相同堆叠即堆叠冲突。
- 域编号不同,则认为报文来自不同的堆叠域,不再进行MAD处理。
LACP MAD组网要求:转发LACP报文的中间设备(图中Device)必须和堆叠成员来自同一厂商。
五.链路聚合技术概述
链路聚合技术是一种将多个物理或逻辑链路组合成一个高速、高可靠性的单一链路的技术。它通过同时使用多个物理或逻辑链路,从而提高网络带宽和可靠性,避免了因单个链路故障而导致的网络中断,提高了网络性能和可靠性。
聚合链路技术中,将多个物理接口逻辑上聚合成的一个接口称为聚合接口(eth-trunk接口),
聚合之后的链路称为聚合链路(eth-trunk),聚合链路中的物理链路称为成员链路。
链路聚合的工作环境:
- 链路聚合在网络层(三层聚合:加了IP地址)或数据链路层(二层聚合)工作
聚合链路的条件:
- 聚合链路两端的接口必须在同一台设备上。(如上图)
- 需要聚合的物理接口未进行任何配置
- 所有聚合的接口应该具有相同的传输速率(千兆口和千兆口聚合),须是相同的双工模式,接口类型必须相同(access类型和access类型聚合),VLAN List 和PVID 必须相同。
六.链路聚合模式
设备支持手工负载分担和LACP(Link Aggregation Control Protocol)两种聚合模式,支持接口链路本地优先转发,还支持跨设备的链路聚合E-Trunk。
①手工负载分担:
手工负载分担模式下,Eth-Trunk的建立、成员接口的加入完全由手工配置。该模式下所有活动链路都参与数据的转发,平均分担流量。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。手工负载分担模式通常应用在对端设备不支持LACP协议的情况下。
②LACP模式
LACP是一种利用LACP协议进行聚合参数协商,确定活动接口和非活动接口的链路聚合方式。该模式下,手工创建Eth-Trunk,手工加入Eth-Trunk成员接口,由LACP协议协商确定活动接口和非活动接口。
LACP模式也成为M:N模式,这种方式同时实现链路负载分担和链路冗余。意思是在链路聚合组中M条链路处于活动状态,这些链路负责转发数据并进行负载分担,另外N条链路作为备份链路不转发数据。当M条链路出现故障。系统会从N条链路中选择优先级最高的接替出现故障的链路,并开始转发数据。
LACP和手工负载分担的主要区别为:LACP模式有备份链路,而手工负载分担均处于转发状态,分担负载流量。
LACP协商过程:
- 发现阶段:交换机每个参与LACP协商的接口会周期性交换LACP PDU报文(包含:设备优先级/MAC地址/接口优先级/接口号)发现对端设备可用链路。
- 协商阶段:双方设备根据报文信息协商,设备优先级高的作为主,低的为备,接口优先级高的为活动接口,低的为备用接口。
- 聚合阶段:双方将协商出的活动接口和备用接口聚合到一个聚合组中。
-
检测阶段:双方设备持续检测LACP PDU报文发送情况,若周期内未接收到,交换机认为活动接口故障并从备用接口中选择一个优先级最高者作为活动接口。若接口恢复会重新参与选举,优先级最高者作为活动接口。
链路聚合实验:
LACP:
#创建链路聚合组:[sw1]interface Eth-Trunk 1
#配置链路聚合模式[sw1-Eth-Trunk1]mode lacp-dynamic
lacp:配置为lacp自动协商模式
manual load-balance:配置为手动模式
#将接口加入到链路聚合组[sw1-GigabitEthernet0/0/1]eth-trunk 1
#配置设备优先级[sw1]lacp priority 100
#设置接口优先级[sw1-GigabitEthernet0/0/1]lacp priority 100
#配置最大活动接口数量[sw1-Eth-Trunk1]max active-linknumber 2
least:最小的
#配置聚合口为trunk
[sw1-Eth-Trunk1]port link-type trunk
[sw1-Eth-Trunk1]port trunk allow-pass vlan all#查看聚合组信息
[lsw1]dis eth-trunk 1
相关文章:
冗余技术:堆叠技术+链路聚合
目录 前言 一.堆叠技术概述 二.堆叠技术原理 三.堆叠系统登录 四.堆叠合并/分裂 4.1 堆叠双主检测机制(MAD) 五.链路聚合技术概述 六.链路聚合模式 前言 在硬件加速与数据爆炸时代,堆叠技术通过模块化分层设计,实现资源动…...
存储服务器是指什么
今天小编主要来为大家介绍存储服务器主要是指什么,存储服务器与传统的物理服务器和云服务器是不同的,其是为了特定的目标所设计的,在硬件配置方式上也有着一定的区别,存储空间会根据需求的不同而改变。 存储服务器中一般会配备大容…...
文件上传绕过的小点总结(8)
16.apache解析漏洞条件竞争 class MyUpload{.................. var $cls_arr_ext_accepted array(".doc", ".xls", ".txt", ".pdf", ".gif", ".jpg", ".zip", ".rar", ".7z",&q…...
设计模式-结构型模式-外观模式
概述 外观模式 : Facade Pattern : 是一种 结构型设计模式. 它为复杂子系统提供一个简化的统一接口,使得客户端无需直接与子系统的各个组件交互,从而降低系统的耦合性。 核心思想 统一接口:将多个子系统的复杂操作封装到一个“外观类”中&…...
DeepSeek 本地部署指南
文章目录 DeepSeek 本地部署指南一、前言二、部署前的准备工作2.1 硬件要求2.2 软件环境 三、模型下载四、本地部署步骤4.1 检查硬件加速支持4.2 部署模型4.3 优化部署 五、常见问题及解决方法5.1 内存不足5.2 模型下载失败5.3 GPU 无法使用 六、总结 DeepSeek 本地部署指南 一…...
Windows Server 2025 使用 IIS 搭建 ASP.NET 3.5 网站
开启远程桌面 参考文章Windows server开启远程桌面教程打开服务管理器。ECS 配置安全组,开启 3389Telnet 验证网络联通性 telnet x.x.x.x 338安装 Windows App,登录验证 安装 ASP.NET 3.5 1.参考文章Windows Server 2012安装 .NET Framework 3.5和 Wi…...
python每日十题(12)
根据字典的索引方式可知,d.get( egg ,no this food)索引的是字典第一层,但是第一层只有键food,没有键egg,故索引不出值,输出的是“no this food ”。 外层for循环是将a[0][1,2,3],a[1][4,5,6],a[2][7,8,9]依次赋给变量…...
Podman 学习总结
Podman 概述 什么是 Podman? Podman(Pod Manager)是一个开源的容器管理工具,类似于 Docker,可以用于拉取、运行、管理容器镜像。Podman 采用 无守护进程****(Daemonless) 的架构,使…...
作业14 (2023-05-22_const修饰指针)
第1题/共5题【单选题】 C程序常见的错误分类不包含:( ) A.编译错误 B.链接错误 C.栈溢出 D.运行时错误 回答正确 答案解析: 栈溢出是运行时错误的一种,因此C程序不会将栈溢出错误单独列出来,栈溢出包含在运行时错误中。 因此:选择C 第2题/共5题【单选题】 以下关于…...
Qt 线程和 QObjects
线程和 QObjects QThread 继承于 QObject。 它发出信号来指示线程开始或结束执行,并提供一些插槽。 更有趣的是,QObjects 可以在多个线程中使用,发出信号以调用其他线程中的插槽,并向 "生活 "在其他线程中的对象发布事件…...
cocos creator 笔记-路边花草
版本:3.8.5 实现目标:给3d道路生成路边景观花草 在场景下创建一个节点,我这里种植两种花草模型,兰花和菊花,所以分别在节点下另创建两个节点,为了静态合批。 1.将花草模型分别拖入场景中,制作…...
基于SpringBoot+Vue3实现的宠物领养管理平台功能十六
一、前言介绍: 1.1 项目摘要 随着社会经济的发展和人们生活水平的提高,越来越多的人开始关注并参与到宠物领养中。宠物已经成为许多家庭的重要成员,人们对于宠物的关爱和照顾也日益增加。然而,传统的宠物领养流程存在诸多不便&a…...
MOSN(Modular Open Smart Network)-05-MOSN 平滑升级原理解析
前言 大家好,我是老马。 sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFAStack-00-sofa 技术栈概览 MOSN(Modular O…...
数据仓库pinia中,getter和actions有什么区别
将计算逻辑放在 getters 还是 actions 里,取决于具体的使用场景和需求,下面详细分析放在 getters 中的优势以及和 actions 的区别,以说明是否有必要放在 getters 里: 1. getters 的优势 缓存特性 getters 具有类似 Vue 计算属性…...
RoMA: 基于Mamba的遥感基础模型, 已开源, 首次验证mamba的scaling能力
Time: 2025-03-27T15:27:00 github: 链接 HuggingFace: 链接 摘要 近年来,自监督学习在视觉 Transformer(ViT)方面的进展推动了遥感(RS)基础模型的突破。然而,自注意力机制的二次复杂度给可扩展性带来了…...
蓝桥杯(电子类)嵌入式第十一届设计与开发科目模拟试题
一、功能概览 二、分模块实现 1、按键 新建interrupt.h和interrupt.c写中断的代码(写法学习来自定时器-按键单击_哔哩哔哩_bilibili) #ifndef __INTERRUPT_H #define __INTERRUPT_H#include "main.h" #include "stdbool.h"struct…...
CMLINK APN 手动设置
以下是针对 CMLINK 的 APN设置 的详细指南,基于常见配置需求: CMLINK APN 手动设置参数 参数项值说明名称CMLINK (自定义)任意命名(如 CMLINK、CM Internet 等),建议使用ASCII字符,无特殊符号。APNcm.com …...
排序--快排--非递归法
一,引言 快排不管是hoare法还是指针法以及挖坑法,最终都是利用函数递归进行实现的,但是只要是函数递归就会有栈溢出的风险,为此本篇文章讲解快排的非递归法。 二,代码逻辑 首先要了解为什么会使用递归进行调用&…...
02 相机标定相关坐标系
标定相关坐标系 一共四个坐标系 图像像素坐标系: u-v,图像左上角为原点图像物理坐标系: x-y,图像中心为原点...
数学建模:MATLAB卷积神经网络
一、简述 卷积神经网络是一种处理具有网格结构数据的深度学习模型,由输入层、卷积层、池化层、全连接层、输出层组成。 输出层:将图像转换为其对应的由像素值构成的二维矩阵,并存储二维矩阵 卷积层:提取图像的底层特征…...
Android读写权限分析
Android系统使用的是Linux内核,所以Android系统沿用了linux系统的那一套文件读写权限。 目录 1,权限解读1.1,权限分为三种类型:1.2,权限针对的三类对象:1.3,文件和目录的权限区别1.3.1…...
计算机网络基础:量子通信技术在网络中的应用前景
计算机网络基础:量子通信技术在网络中的应用前景 一、前言二、量子通信技术基础2.1 量子通信的基本概念2.2 量子通信的主要原理2.2.1 量子密钥分发(QKD)原理2.2.2 量子隐形传态原理三、量子通信技术的特点3.1 绝对安全性3.2 超高通信速率潜力3.3 抗干扰能力强四、量子通信技…...
【算法学习计划】贪心算法(上)
目录 前言(什么是贪心) leetcode 860.柠檬水找零 leetcode 2208.将数组和减半的最少操作次数 leetcode 179.最大数 leetcode 376.摆动序列 leetcode 300.最长递增子序列 leetcode 334.递增的三元子序列 leetcode 674.最长连续递增序列 leetcode …...
Linux 目录结构(文件系统结构)示例说明
在Linux操作系统中,文件系统的结构是理解系统性能及管理的重要基础。每个目录都有它的特定用途,这使得系统管理更加清晰和高效。本文将带您逐步了解每一个重要目录及其功能。 1. 根目录 / 根目录是Linux文件系统的起点,所有文件和目录均从此…...
Linux下的socket演示程序2
server.cpp #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h>#define SER_PORT 8888 //服务器端口号 #define SER_IP "10.148.4.168" //服…...
TiDB与Doris实操对比:深度剖析数据库选型要点
TiDB与Doris实操对比:深度剖析数据库选型要点 宝子们,在大数据处理的广阔天地里,TiDB和Doris都是备受瞩目的数据库解决方案。它们各自有着独特的优势和适用场景,对于我们开发者来说,深入了解它们的实操特性࿰…...
How to install vmware workstation pro on Linux mint 22
概述 VMware 是一家专注于虚拟化技术和云计算解决方案的全球领先软件公司,成立于1998年,总部位于美国加州。它的核心技术是通过“虚拟化”将一台物理计算机的硬件资源(如CPU、内存、存储等)分割成多个独立的虚拟环境(…...
redis常用部署架构之redis分片集群。
redis 3.x版本后开始支持 作用: 1.提升数据读写速度 2..提升可用性 分片集群就是将业务服务器产生的数据储存在不同的机器上。 redis分片集群的架构 如上图所示,会将数据分散存储到不同的服务器上,相比于之前来说,redis要处…...
vim的一般操作(分屏操作) 和 Makefile 和 gdb
目录 一. vim的基本概念 二. vim基础操作 2.1 插入模式 aio 2.2 [插入模式]切换至[正常模式] Esc 2.3[正常模式]切换至[末行模式] shift ; 2.4 替换模式 Shift R 2.5 视图(可视)模式 (可以快速 删除//注释 或者 增加//注释) ctrl v 三&…...
DeepSeek 为何能在短时间内超过 ChatGPT?—— 技术变革与成本重构的双重胜利
2025 年 1 月 27 日,全球科技圈见证了一个历史性时刻:中国 AI 公司深度求索(DeepSeek)开发的同名应用,首次登顶美国苹果 App Store 免费下载榜,超越了长期霸榜的 ChatGPT。这一突破不仅打破了美国科技公司在…...
Wireshark学习
Wireshark简介 抓包前 1.打开wireshark得到下面的界面 2.选择菜单栏上捕获-> 选项,勾选WLAN网卡(这里需要根据各自电脑网卡使用情况选择,简单的办法可以看使用的IP对应的网卡)。点击开始。启动抓包。 3.wireshark启动后&am…...
我的创作纪念日——三周年
大家好,心心念念的三年之气已到,但是我似乎对于博客专家的身份没有那么渴望了哈哈。虽然最近比较忙,但是看到三周年纪念日的通知,还是想写一点什么,并不是因为三周年有多么值得纪念,而是这段时间确实有一些…...
Softmax 回归 + 损失函数 + 图片分类数据集
Softmax 回归 softmax 回归是机器学习另外一个非常经典且重要的模型,是一个分类问题。 下面先解释一下分类和回归的区别: 简单来说,分类问题从回归的单输出变成了多输出,输出的个数等于类别的个数。 实际上,对于分…...
基于云服务器的数仓搭建-hive/spark安装
mysql本地安装 安装流程(内存占用200M,升至2.1G) # 将资料里mysql文件夹及里面所有内容上传到/opt/software/mysql目录下 mkdir /opt/software/mysql cd /opt/software/mysql/ # 待上传文件 install_mysql.sh mysql-community-client-8.0.3…...
YOLO历代发展 图像增强方式 架构
YOLO1 YOLOV5 数据增强 mosaic 仿射变换(Affine)、透视变换(Perspective) 网络搭建...
Spring AI Alibaba EmbeddingModel使用
一、嵌入模型 (Embedding Model)简介 1、核心概念 嵌入模型(EmbeddingModel)是嵌入过程中采用的模型。 当前 EmbeddingModel的接口主要用于将文本转换为数值向量,接口的设计主要围绕这两个目标展开: 可移植性: 该接口…...
C++入门五式——类和对象(下)
目录 再探构造函数——初始化列表 类型转换 static成员 友元函数 内部类 匿名对象 再探构造函数——初始化列表 之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有一种方式,就是初始化列表。 //初始化列…...
Spring的SPEL(Spring Expression Language)的使用说明,包含语法、示例和常见场景
以下是Spring的SPEL(Spring Expression Language)的使用说明,包含语法、示例和常见场景: 1. 基本语法 变量引用 表达式:#{变量名}(如#{systemProperties[os.name]})作用域:在Sprin…...
Linux应用:线程进阶
线程同步之信号量 信号量(Semaphore)是一个整型的计数器,用于控制对共享资源的访问。它通过 PV 操作来实现同步,P 操作将信号量的值减 1,如果值小于 0 则线程阻塞;V 操作将信号量的值加 1,如果…...
策略模式 (Strategy)
策略模式 (Strategy) 应用场景:用于处理不同的任务配置参数。在你的任务中,可能会有不同的任务类型,每个任务类型可能有不同的单位(比如米、毫米)或不同的处理方式。策略模式可以让你根据不同的任务类型选择不同的处理…...
【YOLOv8】YOLOv8改进系列(10)----替换主干网络之UniRepLKNet
主页:HABUO🍁主页:HABUO 🍁YOLOv8入门改进专栏🍁 🍁如果再也不能见到你,祝你早安,午安,晚安🍁 【YOLOv8改进系列】: YOLOv8改进系列࿰…...
mathtype一些用法总结
1.一个是公式旁边加入||,一般使用键盘直接打入的会比较小,mathtype中的会好看很多,打开这个栏目,会看到有很多。 2.另外是带^符号,在字符上面带没有办法直接带,所以可以在mathtype中先加帽子,然…...
1、SQL注入攻击的防范
原文地址: SQL注入攻击的防范 更多内容请关注:代码安全 PHP安全编码——书写安全的代码 1、SQL注入攻击的防范 提问 问题1:什么是SQL注入攻击? 问题2:有几种简单方法防范SQL注入攻击? 问题3:mys…...
核心知识——论文总结
引入 本文我们会针对论文中的核心内容进行总结,加深小伙伴对于Spark的理解。而通过Spark的论文,重点需要掌握理解如下内容: Spark 里核心的 RDD 是一个什么概念,它是通过什么方式来优化分布式数据处理的,它的设计思路…...
HTTP 核心知识点整理
1. HTTP 基础 定义:HTTP(HyperText Transfer Protocol)是应用层协议,基于 请求-响应模型,用于客户端(浏览器)与服务器之间的通信。特点: 无状态:每次请求独立&a…...
什么是矩阵账号
矩阵账号是指在同一平台或多个平台上,围绕同一品牌或个人,创建的多个相互关联、协同工作的账号组合。这些账号虽然独立,但在内容定位和运营策略上有所区分,同时又相互引流,共同形成一个网络结构,类似于矩阵…...
【6】VS Code 新建上位机项目---项目分层
【6】VS Code 新建上位机项目---项目分层 1 项目分层(layer)2 项目分层实现数据插入SQL3 项目分层实现 (实体类封装参数)4 项目分层的实现SQL查询数据1 项目分层(layer) 表示层(UI):与用户交互使用。比如按钮,输入信息等;业务层(BLL):传递数据,业务逻辑。根据用户需…...
EspressoSample深度解析:在CircleCI上高效运行Android UI测试
项目背景与简介 EspressoSample项目位于GitHub上的circleci/EspressoSample仓库,该项目旨在展示如何在CircleCI平台上配置和使用Espresso进行Android应用的UI测试。 项目结构与环境准备 项目结构 EspressoSample项目遵循典型的Android项目结构,包含a…...
【每日论文】MetaSpatial: Reinforcing 3D Spatial Reasoning in VLMs for the Metaverse
下载PDF或查看论文,请点击: LlamaFactory - huggingface daily paper - 每日论文解读 | LlamaFactory | LlamaFactory探索LlamaFactory,为你解读AI前沿技术文章,快速掌握最新技术动态https://www.llamafactory.cn/daily-paper/de…...
mac m4 Homebrew安装MySQL 8.0
1.使用Homebrew安装MySQL8 在终端中输入以下命令来安装MySQL8: brew install mysql8.0 安装完成后,您可以通过以下命令来验证MySQL是否已成功安装: 2.配置mysql环境变量 find / -name mysql 2>/dev/null #找到mysql的安装位置 cd /op…...