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

STP端口状态变迁及故障拓扑变化

STP端口状态变迁及故障拓扑变化

一、STP 端口状态变迁(以标准 STP 为例,共 5 种状态)

状态功能描述能否收发数据帧能否收发 BPDU持续时间进入条件
Disabled端口物理关闭或被管理员手动关闭,不参与 STP 运算。-端口物理 down 或配置 shutdown
Blocking端口被阻塞,不转发数据帧,但接收 BPDU 以监控网络状态,竞争根端口 / 指定端口。仅接收初始状态或端口非选通时端口刚启用,或端口角色为 Alternate/Backup(非根 / 非指定端口)
Listening端口被选为根端口或指定端口,开始参与 STP 计算,确定端口角色和路径开销,不学习 MAC 地址。收发最长 15 秒(Forward Delay)从 Blocking 状态被选为根端口 / 指定端口
Learning端口确认角色后,开始学习 MAC 地址,但不转发用户数据,构建 MAC 地址表。收发最长 15 秒(Forward Delay)从 Listening 状态超时后进入
Forwarding端口正常转发用户数据和 BPDU,参与数据传输。收发持续直至角色变化从 Learning 状态超时后进入,或端口角色为根端口 / 指定端口且链路正常
二、端口状态变迁触发条件
  1. 初始启动

    • 端口启用后,先进入Blocking状态,接收 BPDU 并竞争角色。
    • 若成为根端口(Root Port)或指定端口(Designated Port),则依次进入ListeningLearningForwarding(总耗时约 30 秒,2×Forward Delay)。
    • 若未被选中(成为 Alternate/Backup 端口),则保持Blocking状态。
  2. 角色变化

    • 当端口角色从非选通(Alternate/Backup)变为根端口 / 指定端口时,触发状态升级:Blocking→Listening→Learning→Forwarding。
    • 当端口角色从根端口 / 指定端口变为非选通时,直接进入 Blocking 状态(无需经过中间状态)。
三、故障场景下的拓扑变化与端口状态转换
场景 1:根桥故障(Root Bridge Failure)
  • 故障现象:根桥失效,其他交换机收不到根桥的 BPDU(超时 3×Hello Time,约 20 秒)。
  • 处理过程
    1. 所有交换机重新选举根桥(比较 BID,新根桥优先级最高)。
    2. 原根端口(连接原根桥的端口)失效,交换机在其他端口中重新选举根端口(选择到新根桥路径开销最小的端口)。
    3. 新根端口从BlockingListeningLearningForwarding(耗时约 30 秒)。
    4. 原指定端口若变为非选通端口,则进入 Blocking 状态。
  • 影响:网络收敛期间(约 50 秒),流量可能中断,收敛后流量通过新根桥转发。
场景 2:链路故障(Link Failure)
  • 故障现象:根端口或指定端口的链路断开(如物理线缆损坏)。
  • 处理过程
    1. 连接故障链路的端口状态变为Disabled
    2. 交换机在其他阻塞端口(Alternate/Backup 端口)中选举新的根端口或指定端口。
    3. 被激活的阻塞端口从BlockingListeningLearningForwarding(耗时约 30 秒)。
  • 示例:若交换机 A 的根端口 Down,其 Alternate 端口(原阻塞端口)会升级为根端口,恢复流量转发。
场景 3:指定端口故障(Designated Port Failure)
  • 故障现象:某网段的指定端口失效(如交换机 B 的指定端口 Down)。
  • 处理过程
    1. 该网段内其他交换机的阻塞端口(Backup 端口,若存在)会升级为指定端口。
    2. 新指定端口从BlockingListeningLearningForwarding(耗时约 30 秒)。
  • 影响:该网段的流量通过新指定端口转发,避免环路。
场景 4:TCN BPDU 触发的 MAC 地址表刷新(拓扑变化)
  • 当网络中发生端口状态变化(如从 Forwarding→Blocking 或新增 Forwarding 端口),下游交换机会发送TCN(Topology Change Notification)BPDU向上游根桥通知拓扑变化。
  • 根桥收到 TCN 后,会发送 TC(Topology Change)标志的 BPDU,要求所有交换机缩短 MAC 地址表老化时间(默认 300 秒→Forward Delay 时间,约 15 秒),加速清除无效表项,避免流量黑洞。
四、关键机制与优化
  1. 收敛时间优化
    • 标准 STP 收敛时间最长约 50 秒(20 秒 BPDU 超时 + 2×15 秒 Forward Delay)。
    • RSTP(快速生成树协议)通过引入Proposed/Agreement 机制边缘端口(Edge Port),将收敛时间缩短至秒级,端口状态简化为 Discarding、Learning、Forwarding。
  2. 端口角色与状态绑定
    • 根端口 / 指定端口:可进入 Forwarding 状态(需经过 Listening/Learning,STP)或直接进入 Forwarding(RSTP)。
    • Alternate/Backup 端口:保持 Discarding(RSTP)或 Blocking(STP)状态。
总结

STP 端口状态变迁是通过 BPDU 交互动态调整端口角色的过程,故障场景下(如根桥失效、链路断开),阻塞端口会按规则升级为根端口 / 指定端口,经历状态转换以恢复无环拓扑。理解状态变迁条件和故障处理逻辑,有助于快速定位网络收敛慢、流量中断等问题,实际部署中可通过 RSTP/MSTP 等优化协议减少收敛时间。

根桥产生故障后,其他交换机会被选举为根桥。那么原来的根桥恢复正常之后,网络又会发生什么变化呢?

一、根桥重新选举过程

  1. BPDU 优先级竞争
    原根桥恢复后,会立即发送携带自身 Bridge ID(优先级 + MAC 地址)的配置 BPDU。其他交换机在收到这些 BPDU 后,会将其与当前根桥的 BPDU 进行比较:

    • Root Bridge ID:若原根桥的 ID 更小(优先级更低或 MAC 地址更小),则新根桥(原非根桥)会接受其为新的根桥。
    • Root Path Cost:原根桥恢复后,其他交换机到它的路径开销可能更优,进一步巩固其根桥地位。
  2. 选举触发条件

    • 传统 STP:需等待 Max Age 定时器(默认 20 秒)超时,旧根桥的 BPDU 老化后才会触发重新选举。
    • RSTP/MSTP:一旦收到更优的 BPDU,立即启动重新选举,无需等待定时器超时47。

二、端口角色与状态的重新调整

(1)原根桥的端口
  • 所有端口:重新成为根桥的端口后,均变为指定端口(Designated Port),开始发送配置 BPDU。
  • 状态转换
    • 若端口之前因根桥故障被阻塞,恢复后直接进入Forwarding状态(RSTP)或经过Listening→Learning→Forwarding(传统 STP)。
(2)新根桥(原非根桥)的端口
  • 原根端口:连接原根桥的端口可能变为Alternate 端口(备份端口),进入Discarding(RSTP)或Blocking(STP)状态。
  • 其他端口
    • 若到原根桥的路径更优,可能重新选举为根端口或指定端口,触发状态转换。
    • 若路径开销未变化,端口角色保持不变。
(3)其他交换机的端口
  • 根端口:若到原根桥的路径更优,会切换为新的根端口,状态从Discarding→Forwarding(RSTP)或经过完整状态转换(STP)。
  • 指定端口:可能因原根桥恢复导致路径开销变化,重新选举指定端口。

三、拓扑变化的传播与影响

  1. TCN BPDU 触发

    • 原根桥恢复导致网络拓扑变化,下游交换机会发送TCN BPDU通知根桥。
    • 根桥收到 TCN 后,发送携带TC 标志的配置 BPDU,要求所有交换机将 MAC 地址表老化时间从默认的 300 秒缩短至Forward Delay 时间(默认 15 秒),加速清除无效表项10。
  2. 流量中断与恢复

    • 传统 STP:端口状态转换需经历 30 秒(2×Forward Delay),可能导致流量中断。
    • RSTP/MSTP:通过快速收敛机制(如 Proposal/Agreement 握手),端口状态转换可在秒级完成,减少流量中断时间78。

四、实际案例与配置注意事项

案例:根桥恢复后端口震荡
  • 现象:某交换机 A 在根桥恢复后,其连接新根桥的端口从Forwarding→Discarding,而连接原根桥的端口从Discarding→Forwarding,导致流量短暂中断。
  • 原因:STP 重新选举根桥时,端口角色调整触发状态转换。
  • 排查命令

    bash

    display stp brief  # 查看端口角色和状态  
    display stp interface GigabitEthernet0/0/1  # 查看端口BPDU接收/发送情况
    
配置建议
  1. 根保护(Root Protection)

    • 若新根桥配置了根保护,当收到更优 BPDU 时,端口会进入Discarding状态并报错,需手动恢复。

    bash

    interface GigabitEthernet0/0/1  
    stp root-protection  # 启用根保护
    
  2. 边缘端口(Edge Port)

    • 连接终端的端口配置为边缘端口,避免根桥恢复时误收 BPDU 导致状态震荡。

    bash

    interface GigabitEthernet0/0/10  
    stp edged-port enable  
    
  3. 定时器优化

    • 通过stp bridge-diameter命令自动计算最优定时器参数(Hello Time、Max Age、Forward Delay)。

    bash

    stp bridge-diameter 4  # 配置网络直径为4,自动优化定时器
    

五、总结

原根桥恢复后,网络会重新选举其为根桥,导致端口角色和状态的调整。传统 STP 可能经历较长的收敛时间(约 50 秒),而 RSTP/MSTP 通过快速机制显著缩短中断时间。实际部署中需注意根保护、边缘端口配置及定时器优化,以避免震荡和流量中断。

端口开销和根路径开销的区别是什么?

端口开销(Port Cost)和根路径开销(Root Path Cost)是 STP(生成树协议)中两个关键概念,用于计算路径优先级和选举端口角色。它们的核心区别如下:

一、定义与本质

1. 端口开销(Port Cost)
  • 定义
    是交换机 单个端口 的属性,表示该端口在数据转发时的 “代价”,由端口带宽决定,是一个固定值(STP 标准中预定义)。
  • 作用
    用于计算从当前端口到根桥的路径开销,是构成 根路径开销 的基本单元。
  • 标准值(IEEE 802.1D-2004 标准)
    带宽端口开销(默认)
    10 Mb/s100
    100 Mb/s19
    1 Gb/s4
    10 Gb/s1
    (注:可通过 stp cost 命令手动修改端口开销。)
2. 根路径开销(Root Path Cost)
  • 定义
    是交换机 整体 的属性,表示该交换机通过 根端口 到达根桥的 累计总开销(即从当前交换机到根桥的路径上所有端口开销之和)。
  • 作用
    用于选举根端口(Root Port)和指定端口(Designated Port),是 STP 选路的核心依据之一。

二、计算方式

1. 端口开销
  • 每个端口独立配置,仅与自身带宽(或手动配置值)相关,不依赖其他设备。
  • 示例
    交换机 A 的端口 GigabitEthernet0/0/1 带宽为 1 Gb/s,其端口开销为 4
2. 根路径开销
  • 从当前交换机出发,沿到达根桥的路径,将沿途所有端口的开销相加(包括上游交换机的根路径开销)。
  • 计算逻辑

    plaintext

    根路径开销(当前交换机) = 根端口的端口开销 + 上游交换机的根路径开销  
    
  • 示例
    • 根桥(交换机 R)的根路径开销为 0(自身即为根桥)。
    • 交换机 B 通过端口 E0/1(开销 4)连接根桥 R,其根路径开销为 0(R 的根路径开销) + 4(自身端口开销) = 4
    • 交换机 C 通过端口 E0/2(开销 19)连接交换机 B,其根路径开销为 4(B 的根路径开销) + 19(自身端口开销) = 23

三、核心区别

特征端口开销(Port Cost)根路径开销(Root Path Cost)
作用对象单个端口(端口级属性)整个交换机(交换机级属性)
计算范围仅自身端口的固定值从当前交换机到根桥的所有端口开销之和
用途1. 作为根路径开销的计算单元;
2. 同开销时辅助选举端口(如端口优先级)
1. 选举根端口(选择最小根路径开销的端口);
2. 选举指定端口(比较网段内各端口的根路径开销)
唯一性每个端口独立存在(同一交换机不同端口可能不同)每个交换机唯一(一个交换机只有一个根路径开销)
动态性固定值(或手动配置),不随拓扑变化而变化随路径选择动态变化(根据根端口的不同而改变)

四、在 STP 中的应用

1. 选举根端口(Root Port)
  • 交换机选择到根桥 根路径开销最小 的端口作为根端口。
  • 若多个端口根路径开销相同,则比较上游交换机的 Bridge ID(选更小的),再比较端口 ID(选更小的)。
2. 选举指定端口(Designated Port)
  • 在每个网段(链路)上,选择 根路径开销最小 的端口作为指定端口(负责转发 BPDU)。
  • 若两端交换机的根路径开销相同,则比较发送者的 Bridge ID(选更小的),再比较端口 ID。
3. 示例:根路径开销计算

plaintext

根桥 R(根路径开销 0)
├─ 端口 G0/1(开销 4) → 交换机 B(根路径开销 0+4=4)
│  └─ 端口 G0/2(开销 19) → 交换机 C(根路径开销 4+19=23)
└─ 端口 G0/2(开销 4) → 交换机 D(根路径开销 0+4=4)
  • 交换机 C 的根路径开销为 23(通过交换机 B 到达根桥)。
  • 若交换机 C 还有另一端口连接交换机 D(开销 4),则根路径开销为 4(D 的根路径开销)+4(自身端口开销)=8,此时会选择该端口作为根端口(因 8 < 23)。

五、总结

  • 端口开销 是 “局部” 属性,描述单个端口的转发代价;
  • 根路径开销 是 “全局” 属性,描述交换机到根桥的总代价。
  • 两者共同决定了 STP 中的路径优先级,确保无环拓扑下的最优转发路径。理解它们的区别是掌握 STP 端口选举和收敛机制的关键。

相关文章:

STP端口状态变迁及故障拓扑变化

STP端口状态变迁及故障拓扑变化 一、STP 端口状态变迁&#xff08;以标准 STP 为例&#xff0c;共 5 种状态&#xff09; 状态功能描述能否收发数据帧能否收发 BPDU持续时间进入条件Disabled端口物理关闭或被管理员手动关闭&#xff0c;不参与 STP 运算。否否-端口物理 down …...

9.idea中创建springboot项目_jdk1.8

9. idea中创建springboot项目_jdk1.8 步骤 1&#xff1a;打开 IntelliJ IDEA 并创建新项目 启动 IntelliJ IDEA。在欢迎界面&#xff0c;点击 New Project&#xff08;或通过菜单栏 File > New > Project&#xff09;。 步骤 2&#xff1a;选择 Maven 项目类型 在左侧…...

mysql 事务中如果有sql语句出错,会导致自动回滚吗?

CREATE TABLE name ( id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ID, name varchar(32) DEFAULT COMMENT 名称, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; 情况1.执行下列操作&#xff0c; 会发现新开窗口 去查询name表时&#xff0c;整个事务都…...

考OCM证书前需要有OCP证书

报考OCM认证必须持有有效OCP证书。 从知识体系的构建来看&#xff0c;OCP 和 OCM 认证构成了一个循序渐进的学习和考核体系。OCP 认证侧重于考察数据库管理员和开发人员对 Oracle 数据库的基础架构、日常管理、性能优化、备份恢复等核心技能的掌握。通过 OCP 考试&#xff0c;意…...

动态图表 -- eg1

问题&#xff1a; 前端vue&#xff0c;后端springboot&#xff0c;实现动态表格样式&#xff0c;&#xff08;表格List<Student>&#xff0c;Student类有年级&#xff0c;班级&#xff0c;文理科分类&#xff0c;姓名&#xff0c;学号&#xff0c;等属性。先根据年级分类…...

echo 1 > /proc/sys/kernel/nmi_watchdog报错

报错内容 /proc/sys/kernel/nmi_watchdog报错,内容如下: [root@localhost log]# echo 1 > /proc/sys/kernel/nmi_watchdog -bash: echo: write error: Unknown error 524 [root@localhost log]#报错原因 内核未配置 NMI 支持 某些自定义内核可能未编译 NMI Watchdog 驱…...

upload-labs PASS 1-5通关

PASS-01 前端javascript检查 1&#xff0c;第一个提示javascript对上传的文件进行审查 2&#xff0c;javascript工作在前端页面&#xff0c;可以直接删除具有审查功能的代码 3&#xff0c;删除之后再上传一句话木马 上传成功&#xff0c;可以使用蚁剑进行连接&#xff0c;控制网…...

大数据测试集群环境部署

Hadoop大数据集群搭建&#xff08;超详细&#xff09;_hadoop_小飞飞519-GitCode 开源社区 hadoop集群一之虚拟机安装(mac)_hadoop_皮皮虾不皮呀-华为开发者空间 hadoop集群二之hadoop安装_hadoop_皮皮虾不皮呀-华为开发者空间 虚拟机如何查看gateway | PingCode智库...

BUUCTF——Online Tool

BUUCTF——Online Tool 进入靶场 <?phpif (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {$_SERVER[REMOTE_ADDR] $_SERVER[HTTP_X_FORWARDED_FOR]; }if(!isset($_GET[host])) {highlight_file(__FILE__); } else {$host $_GET[host];$host escapeshellarg($host);$host e…...

人工智能数学基础(三):微积分初步

微积分作为数学的重要分支&#xff0c;为人工智能的发展提供了坚实的理论基础。从理解数据的变化趋势到优化模型参数&#xff0c;微积分的应用贯穿其中。本文将深入探讨微积分的核心概念&#xff0c;并结合 Python 编程实例&#xff0c;助力大家轻松掌握这些关键知识点。资源绑…...

【11408学习记录】考研英语语法核心:倒装句考点全解+真题演练

倒装句 英语语法总结——特殊句式倒装全部倒装介词短语形容词副词There be 部分倒装否定副词或词组位于句首only位于句首虚拟条件句省略if 每日一句词汇第一步&#xff1a;找谓语第二步&#xff1a;断句第三步&#xff1a;简化主句定语从句 英语 语法总结——特殊句式 倒装 …...

云数据中心整体规划方案PPT(113页)

1. 引言 概述&#xff1a;云数据中心整体规划方案旨在构建弹性、高效的云计算基础设施&#xff0c;通过软件定义数据中心&#xff08;SDDC&#xff09;实现资源虚拟化与管理自动化。 2. 技术趋势与背景 技术革新&#xff1a;随着云计算、虚拟化及自动化技术的发展&#xff0c…...

java练习4

创建类对象&#xff0c;要求写一个人的类&#xff0c;内容包括&#xff1a; 值&#xff1a;年龄&#xff0c;姓名&#xff0c;家庭身份 函数&#xff1a;年龄&#xff0c;姓名修改&#xff0c;家庭身份修改&#xff0c;生孩子 package a01_第一次练习.a04_创建类对象;public cl…...

在VMware上创建Ubuntu虚拟机,与Xshell和Xftp的连接和使用

一、在VMware创建Ubuntu虚拟机 1、创建新的虚拟机 2、新建虚拟机安装导向 1&#xff09;自定义安装 2&#xff09;稍后安装操作系统 3&#xff09;选择Linux和Ubuntu64 4&#xff09;可自定义虚拟机名称和虚拟机位置 5&#xff09;选择合适的处理器数量 6&#xff09;虚拟机…...

Java常用注解通俗解释

注解就像是给Java代码贴的"便利贴"&#xff0c;它们不会改变代码本身的逻辑&#xff0c;但能给编译器、开发工具或运行时环境提供额外信息。下面我用最通俗的方式解释Java中最常用的注解&#xff1a; 一、基础篇&#xff1a;人人必知的注解 1. Override - "我…...

前端性能优化2:结合HTTPS与最佳实践,全面优化你的网站性能

点亮极速体验&#xff1a;结合HTTPS与最佳实践&#xff0c;为你详解网站性能优化的道与术 在如今这个信息爆炸、用户耐心极其有限的数字时代&#xff0c;网站的性能早已不是一个可选项&#xff0c;而是关乎生存和发展的核心竞争力。一个迟缓的网站&#xff0c;无异于在数字世界…...

小刚说C语言刷题——1032分糖果

1.题目描述 某幼儿园里&#xff0c;有 5 个小朋友编号为 1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;他们按自己的编号顺序围坐在一张圆桌旁。他们身上都有若干个糖果&#xff0c;现在他们做一个分糖果游戏。 从 1 号小朋友开始&#xff0c;将他的糖…...

socket套接字-UDP(下)

socket套接字-UDP&#xff08;中&#xff09;https://blog.csdn.net/Small_entreprene/article/details/147567115?fromshareblogdetail&sharetypeblogdetail&sharerId147567115&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link在我之前搭建…...

使用Docker操作MySQL

在Docker中操作MySQL可以简化数据库的部署和管理过程。以下是详细的步骤&#xff0c;包括如何拉取MySQL镜像、创建容器以及配置远程访问权限。 拉取MySQL镜像 首先&#xff0c;使用以下命令从Docker Hub拉取MySQL镜像&#xff1a; docker pull mysql你也可以指定版本&#x…...

OpenGL ES 3.0 第二章总结:你好,三角形(Hello Triangle)

—— 从“画出第一个三角形”理解现代图形渲染流程 &#x1f530; 写在前面 OpenGL 是一个状态机型的图形 API。第二章《你好&#xff0c;三角形》是整个图形开发的起点&#xff0c;它帮助我们掌握从「准备绘制数据」到「渲染出第一个像素」的完整流程。 这一章最核心的任务是…...

neo4j vs python

1.将库中已经存在的两个节点&#xff0c;创建关系。 查询库中只有2个独立的节点。 方式一&#xff0c;python&#xff0c;使用py2neo库 #coding:utf-8 from py2neo import Graph,Node,Relationship,NodeMatcher##连接neo4j数据库&#xff0c;输入地址、用户名、密码 graph G…...

MIT6.S081-lab7前置

MIT6.S081-lab7前置 这部分包含了设备中断和锁的内容 设备中断 之前系统调用的时候提过 usertrap &#xff0c;而我们的设备中断&#xff0c;比如计时器中断也会在这里执行&#xff0c;我们可以看看具体的逻辑&#xff1a; void usertrap(void) {int which_dev 0;if((r_sst…...

通过漂移-扩散仿真研究钙钛矿-硅叠层太阳能电池中的电流匹配和滞后行为

引言 卤化物钙钛矿作为光活性半导体的出现&#xff0c;为光伏技术的发展开辟了令人振奋的新方向。[1] 除了在单结太阳能电池中的优异表现&#xff0c;目前研究的重点在于将钙钛矿吸收层整合到叠层器件中。在硅-钙钛矿叠层太阳能电池中&#xff0c;将高效的钙钛矿吸收层与成熟的…...

IIC小记

SCL 时钟同步线&#xff0c;由主机发出。 当SCL为高电平&#xff08;逻辑1&#xff09;时是工作状态&#xff0c;低电平&#xff08;逻辑0&#xff09;时是休息状态。SCL可以控制通信的速度。 SDA 数据收发线 应答位&#xff1a;前八个工作区间是一个字节&#xff0c;在SCL…...

使用 ECharts 在 Vue3 中柱状图的完整配置解析

一、初始化图表实例 const chart echarts.init(chartRef.value);二、Tooltip 提示配置 tooltip: {trigger: axis,axisPointer: {type: line // 支持 line 或 shadow 类型&#xff0c;指示器样式},backgroundColor: rgba(0,0,0,0.7),textStyle: { color: #fff },formatter: {…...

Ubuntu实现远程文件传输

目录 安装 FileZillaUbuntu 配套设置实现文件传输 在Ubuntu系统中&#xff0c;实现远程文件传输的方法有多种&#xff0c;常见的包括使用SSH&#xff08;Secure Shell&#xff09;的SCP&#xff08;Secure Copy Protocol&#xff09;命令、SFTP&#xff08;SSH File Transfer P…...

AI驱动软件工程:SoftEngine 方法论与 Lynx 平台实践分析

引言 在过去数十年中&#xff0c;软件开发领域历经了从瀑布模型到敏捷开发&#xff0c;再到DevOps的深刻变革。然而&#xff0c;面对当今快速变化的市场需求和复杂的软件系统&#xff0c;这些方法仍然显露出明显的局限性。近年来&#xff0c;基于大语言模型&#xff08;LLM&am…...

Vue基础(一) 基础用法

1.取消生产提示 Vue.config.productionTip false; Vue.config.devtools true; //运行开发调试 2.hello小案例 需要注意如下几点&#xff1a; 1.必须要有一个模板&#xff0c;其实就是一个html组件 2.新建一个Vue实例&#xff0c;并且通过el与容器建立绑定关系&#xff0…...

文心一言开发指南08——千帆大模型平台推理服务API

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 推理服务API概述 百度智能云千帆平台提供了丰富的推理服务API&#xff0c;包括对话Chat、续写Completions、向量Embeddings、批量预测等API能力。 对话Chat&#xff1a;支…...

矩阵区域和 --- 前缀和

目录 一&#xff1a;题目 二&#xff1a;算法原理 三&#xff1a;代码 一&#xff1a;题目 题目链接&#xff1a;1314. 矩阵区域和 - 力扣&#xff08;LeetCode&#xff09; 二&#xff1a;算法原理 三&#xff1a;代码 class Solution { public:vector<vector<int…...

全局id生成器生产方案

1.只要求不重复版本&#xff08;常用于分布式确定一个实体的id&#xff09; uuid&#xff08; MAC 地址、时间戳、名字空间&#xff08;Namespace&#xff09;、随机或伪随机数、时序等元素&#xff0c;计算机基于这些规则生成的 UUID 是肯定不会重复的。&#xff09; UUID 作…...

DES与AES算法深度解析:原理、流程与实现细节

DES与AES算法深度解析&#xff1a;原理、流程与实现细节 1. DES算法详解 1.1 算法架构 DES采用16轮Feistel网络结构&#xff0c;核心处理流程如下&#xff1a; 输入64位明文 → IP初始置换 → 16轮迭代处理 → 左右交换 → IP⁻末置换 → 输出64位密文 1.2 核心处理流程 …...

大厂Java面试深度解析:Dubbo服务治理、WebSocket实时通信、RESTEasy自定义注解与C3P0连接池配置实践

第一轮基础问答 面试官&#xff1a;请解释Dubbo服务注册发现的完整流程&#xff0c;以及Sentinel如何实现流量控制&#xff1f; xbhog&#xff1a;Dubbo通过Registry协议将服务地址注册到ZooKeeper&#xff0c;消费者订阅服务节点变更。Sentinel通过ResourceRegistry注册资源…...

【Qt】Qt换肤,使用QResource动态加载资源文件

【Qt】使用QResource动态加载资源文件 0.前言 对于简单的应用&#xff0c;我们可以直接读取 QSS 样式表文件来实现换肤。但一般样式里还带有图片等资源的路径&#xff0c;如果通过相对路径来加载&#xff0c;不便于管理&#xff0c;不过好处是替换图片方便。我们也可以使用 Q…...

五种机器学习方法深度比较与案例实现(以手写数字识别为例)

正如人们有各种各样的学习方法一样&#xff0c;机器学习也有多种学习方法。若按学习时所用的方法进行分类&#xff0c;则机器学习可分为机械式学习、指导式学习、示例学习、类比学习、解释学习等。这是温斯顿在1977年提出的一种分类方法。 有关机器学习的基本概念&#xff0c;…...

【18】爬虫神器 Pyppeteer 的使用

目录 一、Pyppeteer 介绍 二、安装库 三、快速上手 Python爬虫案例 | Scrape Center 在前面我们学习了 Selenium 的基本用法&#xff0c;它功能的确非常强大&#xff0c;但很多时候我们会发现 Selenium 有一些不太方便的地方&#xff0c;比如环境的配置&#xff0c;得安装好…...

封装js方法 构建树结构和扁平化树结构

在JavaScript中&#xff0c;构建树结构和将树结构扁平化是常见的操作。下面我将提供两个方法&#xff0c;一个用于从扁平化的数据中构建树结构&#xff0c;另一个用于将树结构扁平化。 构建树结构 假设我们有一个扁平化的数据列表&#xff0c;每个节点对象包含id和parentId属…...

服务器和数据库哪一个更重要

在当今数字化的时代&#xff0c;服务器和数据库都是构建和运行各种应用系统的关键组成部分&#xff0c;要说哪一个更重要&#xff0c;其实很难简单地给出定论。 服务器就像是一个强大的引擎&#xff0c;为应用程序提供了稳定的运行环境和高效的计算能力。它负责接收和处理来自…...

Nginx 核心功能与 LNMP 架构部署

一、基于授权的访问控制 1.1 功能概述 Nginx 的基于授权的访问控制通过用户名和密码验证机制&#xff0c;限制用户对特定资源的访问。其实现逻辑与 Apache 类似&#xff0c;但配置更简洁&#xff0c;适用于需保护敏感目录或页面的场景&#xff08;如管理后台&#xff09;。 …...

Python程序开发,麒麟系统模拟电脑打开文件实现

在Python开发中&#xff0c;模拟电脑打开文件操作&#xff08;即用默认程序打开文件&#xff09;&#xff0c;可以使用os.system()方法或subprocess模块来执行系统命令。以下是使用os库实现模拟打开文件的代码示例&#xff1a; 使用os.system()方法 import osfile_path &quo…...

打造惊艳的渐变色下划线动画:CSS实现详解

引言&#xff1a;为什么需要动态下划线效果&#xff1f; 在现代网页设计中&#xff0c;微妙的交互效果可以显著提升用户体验。动态下划线特效作为一种常见的视觉反馈方式&#xff0c;不仅能够引导用户注意力&#xff0c;还能为页面增添活力。本文将深入解析如何使用纯CSS实现一…...

gitmodule怎么维护

目录 ci-cd脚本 豆包文档 ci-cd脚本 git submodule init git submodule update cd /var/lib/jenkins/workspace/wvp-server-Dji/wvp-server git checkout Dji2 cd /var/lib/jenkins/workspace/wvp-server-Dji/cloud-sdk git checkout master 豆包文档...

企业战略管理(设计与工程师类)-2-战略规划及管理过程-2-外部环境分析-PESTEL模型实践

PESTEL在AFI框架中的作用​ AFI 战略框架&#xff08;Analyze, Formulate, Implement——哈佛大学商学院的教授 Michael Porter&#xff09;是企业战略管理中的一个重要理论模型&#xff0c;帮助企业系统性地分析和制定战略。 作为第一阶段Analyze的第一步&#xff0c;PESTEL…...

基于arduino的温湿度传感器应用

温湿度传感器深度解析与多平台开发实战 一、温湿度传感器代码实现(Arduino平台) 1. 基础传感器驱动(DHT11) #include <DHT.h> #define DHTPIN 2 #define DHTTYPE DHT11DHT dht(DHTPIN, DHTTYPE);void setup() {Serial.begin(9600);dht.begin(); }void loop() {del…...

【AI提示词】机会成本决策分析师

提示说明 具备经济学思维的决策架构师&#xff0c;擅长通过机会成本模型分析复杂选择场景 提示词 # Role: 机会成本决策分析师## Profile - language: 中文 - description: 具备经济学思维的决策架构师&#xff0c;擅长通过机会成本模型分析复杂选择场景 - background: 经济…...

基于Springboot + vue实现的列书单读书平台

项目描述 本系统包含管理员和用户两个角色。 管理员角色&#xff1a; 用户管理&#xff1a;管理系统中所有用户的信息&#xff0c;包括添加、删除和修改用户。 书单信息管理&#xff1a;管理书单信息&#xff0c;包括新增、查看、修改、删除和查看评论。 在线书店管理&…...

「Mac畅玩AIGC与多模态07」开发篇03 - 开发第一个 Agent 插件调用应用

一、概述 本篇介绍如何在 macOS 环境下,基于 Dify 平台自带的网页爬虫插件工具,开发一个可以提取网页内容并作答的 Agent 应用。通过使用内置插件,无需自定义开发,即可实现基本的网页信息提取与智能体回答整合。 二、环境准备 1. 确认本地部署环境 确保以下环境已搭建并…...

Headers池技术在Python爬虫反反爬中的应用

1. 引言 在当今互联网环境中&#xff0c;许多网站都部署了反爬虫机制&#xff0c;以防止数据被大规模抓取。常见的反爬手段包括&#xff1a; User-Agent检测&#xff08;检查请求头是否来自浏览器&#xff09;IP频率限制&#xff08;短时间内同一IP请求过多会被封禁&#xff…...

端到端电力电子建模、仿真与控制及AI推理

在当今世界&#xff0c;电力电子不再仅仅是一个专业的利基领域——它几乎是每一项重大技术变革的支柱。从可再生能源到电动汽车&#xff0c;从工业自动化到航空航天&#xff0c;对电力转换领域创新的需求正以前所未有的速度增长。而这项创新的核心在于一项关键技能&#xff1a;…...

Java云原生+quarkus

一、Java如何实现云原生应用&#xff1f; 传统的 Java 框架&#xff08;如 Spring Boot&#xff09;虽然功能强大&#xff0c;但在云原生场景下可能显得笨重。以下是一些更适合云原生的轻量级框架&#xff1a; Quarkus(推荐) 专为云原生和 Kubernetes 设计的 Java 框架。支持…...