【华三】从零开始掌握SR技术:原理、架构与应用全解析
【华三】从零开始掌握SR技术:原理、架构与应用全解析
- 一、初识SR:路由技术的新革命
- 1.1 传统网络的困扰:从真实案例看技术瓶颈
- 1.1.1 企业网络运维之痛
- 问题2:流量工程实现困难
- 问题3:网络智能化缺失
- 1.2 SR的诞生意义:路由技术的范式革命
- 1.2.1 核心思想解析
- 1.2.2 技术演进路线图
- 1.3 生活化技术类比
- 案例1:城市交通导航
- 案例2:物流配送系统
- 二、SR技术核心要素拆解
- SR核心概念速查表
- 关键概念关系图
- 表格使用说明:
- 三、SR工作原理深度解析
- 3.1 数据转发全流程
- 3.2 两种转发模式对比
- 四、SR技术优势全景图
- 4.1 与传统技术对比
- 4.2 典型应用场景
- 总结:SR技术的三重飞跃
一、初识SR:路由技术的新革命
云计算的发展对广域网提出了新的挑战,要求传统广域网进行变革。SD-WAN作为重构广域网的核心技术,通过自动部署、集中控制、智能调度及可视化等手段,加速网络交付,优化应用体验,提高带宽利用率,简化网络运维,满足了云计算对广域网的需求。
智能调度是新一代广域网的一个关键能力,对应用质量的保障、带宽资源的优化非常重要。现有的MPLS及RSVP-TE等流量工程技术可以满足应用对带宽的差异化保障需求,但存在协议种类多、部署复杂、管理困难、可扩展性差等问题,无法满足新一代广域网所要求的动态部署、灵活调度、快速、可扩展等方面的要求。因此,出现了一种新的协议Segment Routing。
SR(Segment Routing,分段路由)采用源路径选择机制,预先在源节点封装好路径所要经过节点分配的SID(Segment Identifier,段标识),当报文经过SR节点时,该节点根据报文的SID对报文进行转发。除源节点外,其它节点无需维护路径状态。SR-MPLS(Segment Routing with MPLS,MPLS段路由)是指在MPLS网络中使用SR、将标签作为SID对报文进行转发。
SR-MPLS既很好地继承了MPLS技术的优势,又能够适应未来SDN等技术的发展,为SD-WAN网络提供了一种灵活高效的控制手段。SR-MPLS具有使用简单、容易扩展的特点,能够更好地实现流量调度和路径优化,保障关键业务质量、均衡流量分布、提高专线利用率和降低线路成本。
1.1 传统网络的困扰:从真实案例看技术瓶颈
1.1.1 企业网络运维之痛
真实案例:某金融公司网络架构
-
背景:全国50+分支机构,核心业务系统(交易/风控)与办公系统共用MPLS网络
-
突出问题:
- 业务高峰期拥堵:交易延迟从50ms飙升至800ms
- 故障恢复缓慢:主备路径切换需5分钟以上
- 扩容成本高昂:新增节点需全网设备升级
-
协议交互开销:
每台设备需维护3类协议状态表,占用30%以上CPU资源 -
典型故障场景:
LDP与IGP不同步导致 流量黑洞(某运营商事故导致10省断网3小时)
问题2:流量工程实现困难
- RSVP-TE的致命缺陷:
缺陷类型 具体表现 影响案例 状态维护 每路径需全网设备记录状态 某云服务商仅支持500条TE隧道 配置复杂度 新增路径需逐跳配置 调整跨省路径耗时45分钟 扩展性限制 标签数量随路径数线性增长 万级路径时标签表项溢出
问题3:网络智能化缺失
- 路径选择僵化:只能基于IGP最短路径,无法实现:
- 带宽利用率优化(某视频平台主干链路利用率仅40%)
- 差异化服务保障(VIP用户与普通用户同路径)
1.2 SR的诞生意义:路由技术的范式革命
1.2.1 核心思想解析
技术演进对比:
三大技术突破:
-
路径预制(Source Routing)
- 工作原理:源节点封装路径指令(Segment List)
- 技术价值:
- 支持精确到链路级别的路径控制
- 实现微秒级路径切换(对比传统方案秒级延迟)
-
协议简化(IGP扩展)
- 实现方式:
graph LRSR控制平面 --> ISIS-SRSR控制平面 --> OSPF-SRISIS-SR --> 新增TLV携带SIDOSPF-SR --> 新增Opaque LSA
- 部署收益:
- 协议报文减少60%
- 配置命令减少75%
- 实现方式:
-
灵活控制(Segment编程)
- 典型场景:
场景类型 实现方式 业务价值 低延迟路径 [节点SID+严格邻接SID] 金融交易时延降低至20ms 高可靠路径 [主路径SID+备份路径SID] 故障切换时间<50ms 服务链 [防火墙SID+负载均衡SID] 安全检测与流量调度无缝集成
- 典型场景:
1.2.2 技术演进路线图
从MPLS到SR的跨越:
timelinetitle 路由技术演进史2001 : MPLS诞生2003 : LDP协议标准化2013 : SR概念提出2016 : SR-MPLS正式商用(华三首发)2020 : SRv6进入规模部署
关键技术里程碑:
- 2014年:IETF发布SR架构RFC(华三贡献核心草案)
- 2018年:华三推出首款支持SRv6的核心路由器
- 2022年:SR在全球TOP50运营商覆盖率超80%
1.3 生活化技术类比
案例1:城市交通导航
- 传统路由:每个路口自主选择路线 → 可能拥堵
- SR方案:出发前规划完整路线(含备用路径) → 全程可控
案例2:物流配送系统
传统物流 | SR智能物流 |
---|---|
中转站自主决定下一站 | 总部指定每个中转站 |
异常时需层层上报 | 自动启用预设备用路线 |
无法区分普通件与加急件 | 专属通道保障加急件时效 |
二、SR技术核心要素拆解
SR核心概念对比表格
SR核心概念速查表
分类 | 术语 | 定义 | 关键属性 | 示例/规划建议 |
---|---|---|---|---|
基础组件 | SR节点 | 开启SR功能的网络设备 | - 支持SR-MPLS或SRv6 - 需配置SRGB范围 | 华三MSR路由器系列 |
Segment(段) | 网络转发指令单元 | - 代表转发动作(如到某节点/走某链路) - 由SID唯一标识 | 节点段=到达指定设备 邻接段=使用特定链路 | |
标识体系 | SID(段标识) | Segment的唯一标识符 | - SR-MPLS:MPLS标签(如16001) - SRv6:IPv6地址(如2001:db8::1) | 节点SID=16001 邻接SID=24001 |
SRGB | 全局标签资源池 | - 默认范围16000-23999 - 不同设备需统一基值大小必须相同 | segment-routing global-block 16000 23999 | |
标签类型 | Prefix Segment | 标识网络前缀的标签 | - 全局有效 - 需手动规划(prefix-sid) - 标签=SRGB基值+index | index=10 → 标签=16000+10=16010 |
Node Segment | 特殊的前缀标签(标识设备) | - 通常对应loopback地址 - 全局唯一 | 设备A的节点SID=16001(SRGB 16000+index 1) | |
Adjacency Segment | 标识设备间链路的标签 | - 本地有效(可重复) - 自动生成 - 标签范围在SRGB之外 | GE0/0接口自动分配邻接SID=24001 | |
路径构建 | Index | 前缀标签的索引值 | - 手动配置在接口 - 与SRGB共同计算实际标签 | isis prefix-sid index 10 |
Segment List | 有序SID序列 | - 决定转发路径类型: ▪ 严格路径(全邻接SID) ▪ 松散路径(混合SID) ▪ 宽松路径(全节点SID) | [16002, 24005, 16003] 表示:先到节点2 → 强制走链路5 → 最后到节点3 | |
隧道类型 | SR LSP | 基于SR建立的标签交换路径 | - 无物理接口 - 自动建立(类似LDP) | 查看命令:display segment-routing lsp |
SR Tunnel | 用于流量工程的虚拟隧道 | - 存在Tunnel接口 - 支持显式路径 | 配置示例:interface Tunnel1 destination 2.2.2.2 mpls te path explicit segment-list [16002,16003] |
关键概念关系图
表格使用说明:
-
SRGB规划要点:
- 所有设备SRGB范围需完全一致(如统一使用16000-23999)
- 计算公式:实际标签 = SRGB基值 + index
- 验证命令:
display segment-routing global-block
-
标签类型对比:
- 节点SID:全局唯一,用于最短路径转发
- 邻接SID:本地有效,用于强制路径控制,也是链路SID
- 前缀SID(index):可包含节点/网络前缀的标识
-
典型配置流程:
// Step1: 启用SR功能
segment-routingglobal-block 16000 23999// Step2: 配置节点SID
interface LoopBack0ip address 1.1.1.1 255.255.255.255isis prefix-sid index 1 // 实际标签=16000+1=16001// Step3: 验证邻接SID
display segment-routing adjacency-sid
// 输出示例:
// Interface Adj-SID
// GE0/0 24001
// GE0/1 24002
三、SR工作原理深度解析
3.1 数据转发全流程
典型场景:A→B→C→D路径传输
转发过程:
- 路径预制:源节点A压入标签栈 [B的SID, C的SID, D的SID]
- 逐跳处理:
- B节点:弹出顶层标签,按下一跳SID转发
- C节点:同上操作
- D节点:收到无标签报文,完成传输
可视化流程:
3.2 两种转发模式对比
模式类型 | 路径控制方式 | 适用场景 | 示例 |
---|---|---|---|
严格模式 | 指定每个必经节点 | 精确流量调度 | [A→Link1→B→Link2→C] |
松散模式 | 指定关键节点 | 骨干网传输 | [A→核心节点→C] |
四、SR技术优势全景图
4.1 与传统技术对比
RSVP-TE vs SR-TE对比表:
对比项 | RSVP-TE | SR-TE |
---|---|---|
配置复杂度 | 需逐节点配置 | 仅源节点配置 |
协议开销 | 高(独立信令协议) | 低(IGP扩展) |
路径调整速度 | 分钟级 | 秒级 |
标签数量 | 每路径独立标签 | 全局复用标签 |
实测数据(华三实验室环境):
- 配置时间减少:73%
- 故障收敛速度:<200ms
- 最大支持路径数:10万+
4.2 典型应用场景
场景一:智能流量调度
通过Color引流实现:
- 视频流量走低延迟路径(红色)
- 办公流量走高带宽路径(蓝色)
场景二:快速故障切换
当主路径故障时,自动切换至预置备份路径,切换时间<1秒
总结:SR技术的三重飞跃
维度 | 传统网络 | SR网络 | 提升效果 |
---|---|---|---|
协议复杂度 | LDP+RSVP+IGP三协议栈 | 仅需IGP扩展 | 配置量减少75% |
流量控制精度 | 基于最短路径的粗放式调度 | 链路级精确控制 | 带宽利用率提升55% |
故障恢复速度 | 秒级收敛(3-5秒) | 亚秒级切换(<200ms) | 业务中断减少90% |
扩展能力 | 万级路径上限 | 百万级路径支持 | 云网扩容成本降低60% |
运维可视化 | 分散式路径管理 | 端到端路径可编程 | 故障定位效率提升80% |
相关文章:
【华三】从零开始掌握SR技术:原理、架构与应用全解析
【华三】从零开始掌握SR技术:原理、架构与应用全解析 一、初识SR:路由技术的新革命1.1 传统网络的困扰:从真实案例看技术瓶颈1.1.1 企业网络运维之痛问题2:流量工程实现困难问题3:网络智能化缺失 1.2 SR的诞生意义&…...
安全模块设计:token服务、校验注解(开启token校验、开启签名校验、允许处理API日志)、获取当前用户信息的辅助类
文章目录 引言pom.xmlI 校验注解ApiValidationII token服务TokenService获取当前用户信息的辅助类III 域登录接口响应数据登陆用户信息引言 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/PO…...
考虑复杂遭遇场景下的COLREG,基于模型预测人工势场的船舶运动规划方法附Matlab代码
考虑复杂遭遇场景下的COLREG,基于模型预测人工势场的船舶运动规划方法附Matlab代码 一、引言 1.1、研究背景和意义 随着全球航运业的迅猛发展,船舶交通密度不断增大,海上交通事故频发,严重威胁到海上航行的安全。国际海上避碰规…...
构建高效系统:API接口设计规范详解
在当今的数字化时代,应用程序接口(API,Application Programming Interface)已成为连接不同软件系统和服务的桥梁,是推动数字化转型的关键技术之一。无论是企业内部系统集成、第三方服务接入,还是面向开发者…...
【文献阅读】A Survey Of Resource-Efficient LLM And Multimodal Foundation Models
发表时间:二〇二四年九月二十三日 摘要 大型基础模型,包括大语言模型(LLMs)、视觉Transformer(ViTs)、扩散模型以及基于大语言模型的多模态模型,正在革新整个机器学习的生命周期,…...
mysql 全方位安装教程
下载 MySQL 【官网下载地址】 注意要选择较大的哪个安装包,小的安装包是一个安装器。 我们不用登录,直接下载 直接运行下载好的安装包 MySQL如果是 安装包安装, 可以图形化界面自主配置 如果是压缩包解压, 可以配置 配置文件, 可以解压安装到指定的…...
【Linux】Linux的进程控制
目录 1. 学习思维导图 2.进程创建(fork) 2.1 fork创建进程失败 3.进程终止 3.1 进程退出情况 3.1.1main函数 3.1.2 退出码 3.2 exit/_exit函数 1. exit() 函数 2. _exit() 函数 4.进程等待 4.1 实现进程等待的方法 wait/waitpid方法 区别&a…...
金融支付行业技术侧重点
1. 合规问题 第三方支付系统的平稳运营,严格遵循《非银行支付机构监督管理条例》的各项条款是基础与前提,其中第十八条的规定堪称重中之重,是支付机构必须牢牢把握的关键准则。 第十八条明确指出,非银行支付机构需构建起必要且独…...
Django模型管理器/QuerySet 常见的方法
模型管理器/QuerySet 常见的方法 get([**kwargs]) 方法 用途:获取满足条件的唯一对象。参数:关键字参数,指定查询条件。返回值:模型对象。异常:如果找到多个对象或未找到对象,将分别抛出 MultipleObjects…...
QT播放视频保持视频宽高比消除黑边
QT播放视频保持视频宽高比消除黑边 1、问题 在播放视频的时候,由于框架的大小发生变化,导致视频出现黑边很不好看。 因此需要像一种方法消除黑边 2、处理 1、读取视频的宽高比 2、设置视频的Widget的大小固定,Widget的宽高比和视频宽高比…...
在Ubuntu中,某个文件的右下角有一把锁的标志是什么意思?
在Ubuntu中,某个文件的右下角有一把锁的标志是什么意思? 在 Ubuntu(或其他基于 GNOME 文件管理器的 Linux 发行版)中,文件或文件夹的右下角出现一把“锁”标志,通常表示 你当前的用户没有该文件/文件夹的写…...
聊聊Java的SPI机制
个人自建博客地址 什么是SPI呢? SPI全称Service Provider Interface,翻译过来就是服务提供者接口。调用方提供接口声明,服务提供方对接口进行实现,提供服务的一种机制,服务提供方往往是第三方或者是外部扩展。 下面…...
【 实战案例篇三】【某金融信息系统项目管理案例分析】
大家好,今天咱们来聊聊金融行业的信息系统项目管理。这个话题听起来可能有点专业,但别担心,我会尽量用大白话给大家讲清楚。金融行业的信息系统项目管理,说白了就是如何高效地管理那些复杂的IT项目,确保它们按时、按预算、按质量完成。咱们今天不仅会聊到一些理论,还会通…...
go并发编程
https://www.bilibili.com/video/BV16A4y1f7EX sync包工具 Mutex:同一时间只有一个goroutine持有锁,其它申请该锁的goroutine会被阻塞。RWMutex:允许多个协程同时读取共享数据,但写入时需要独占锁。WaitGroup:等待一组…...
使用Python开发以太坊智能合约:轻松入门与深度探索
使用Python开发以太坊智能合约:轻松入门与深度探索 随着区块链技术的快速发展,以太坊作为最为成熟和广泛使用的智能合约平台,成为了开发去中心化应用(DApp)的核心工具。智能合约不仅是区块链技术的基础,更…...
Python从0到100(八十九):Resnet、LSTM、Shufflenet、CNN四种网络分析及对比
前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…...
密码学(哈希函数)
4.1 Hash函数与数据完整性 数据完整性: 检测传输消息(加密或未加密)的修改。 密码学Hash函数: 构建某些数据的简短“指纹”;如果数据被篡改,则该指纹(以高概率)不再有效。Hash函数…...
设计模式Python版 备忘录模式
文章目录 前言一、备忘录模式二、备忘录模式示例1三、备忘录模式示例2 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:…...
CES Asia 2025聚焦量子计算,多领域进展引关注
作为亚洲地区极具影响力的科技盛会,CES Asia 2025第七届亚洲消费电子技术贸易展(赛逸展)将在首都北京举办。本届展会以“创新、智能、互联”为主题,将全方位展示全球消费科技领域的最新成果与发展趋势。其中,量子计算作…...
MySQL索引深度剖析:从数据结构到实际应用
引言 在数据库系统中,索引是提高查询效率的关键技术之一。MySQL作为最流行的关系型数据库之一,其索引机制尤为重要。本文将剖析MySQL索引的数据结构、分类、创建方式以及实际应用场景,帮助读者更好地理解和应用索引技术。 主体部分 1. MyS…...
【deepseek】本地部署+RAG知识库挂载+对话测试
文章目录 前言一、Deepseek模型下载(以7B为例)二、RAG本地知识库挂载三、创建本地对话脚本四、结果展示 前言 本文主要涵盖Deepseek在ubuntu系统中的部署全流程,包括模型的下载、系统部署、本地文档向量化、向量列表存储、RAG知识库挂载、对话测试等内容 一、Deeps…...
Vue.js 组件开发全面详解及应用案例
Vue.js 的组件化开发是其核心特性之一,使得代码复用、维护和扩展变得更加容易。以下是关于 Vue.js 组件开发的全面解析,并附带一个实际应用案例。 一、组件基础概念 1. 什么是组件? 组件是 Vue 应用的基本构建块,封装了 HTML、C…...
java面试场景问题
还在补充,这几天工作忙,闲了会把答案附上去,也欢迎各位大佬评论区讨论 1.不用分布式锁如何防重复提交 方法 1:基于唯一请求 ID(幂等 Token) 思路:前端生成 一个唯一的 requestId(…...
MySQL数据库基本概念
目录 什么是数据库 从软件角度出发 从网络角度出发 MySQL数据库的client端和sever端进程 mysql的client端进程连接sever端进程 mysql配置文件 MySql存储引擎 MySQL的sql语句的分类 数据库 库的操作 创建数据库 不同校验规则对查询的数据的影响 不区分大小写 区…...
【wiki知识库】07.用户管理后端SpringBoot部分
目录 一、今日目标 二、??SpringBoot部分类的添加 2.1 使用逆向工程新增User模块 2.2 UserQueryParam添加 2.3 UserSaveParam添加 2.4 UserResetPasswordParam添加 2.5 UserQueryVo添加 2.6 SnowFlake工具类 三、??后端新增接口? 3.1 /user/list接口添加 3.2 /…...
千峰React:案例二
完成对html文档还有css的引入,引入一下数据: import { func } from prop-types import ./购物车样式.css import axios from axios import { useImmer } from use-immer import { useEffect } from reactfunction Item() {return (<li classNameacti…...
Junit框架缺点
JUnit 是 Java 生态中最流行的单元测试框架,广泛应用于单元测试和集成测试中。尽管它功能强大且易于使用,但也存在一些缺陷和局限性。以下是 JUnit 的主要缺点: 1. 功能相对固定 问题:JUnit 的核心功能相对固定,缺乏灵…...
计算机毕业设计SpringBoot+Vue.js公司日常考勤系统(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
Python线程池知多少
目录 目标 Python版本 官方文档 概述 线程池 实战 创建线程池的基本语法 批量提交任务 生产者&消费者模型 目标 掌握线程池的基本概念和使用方法。 Python版本 Python 3.9.18 官方文档 concurrent.futures — Launching parallel taskshttps://docs.python.org/3…...
MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 6
从6到12章将会是重中之重,请一定好好看 第06章_索引的数据结构 1.为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本教课书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。MySQL中也是一…...
C++动态与静态转换区别详解
文章目录 前言一、 类型检查的时机二、安全性三、适用场景四、代码示例对比总结 前言 在 C 中,dynamic_cast 和 static_cast 是两种不同的类型转换操作符,主要区别体现在类型检查的时机、安全性和适用场景上。以下是它们的核心区别: 一、 类…...
面向AI 的前端发展及初识大模型
AI带来的开发范式迁移 随着AI的涌现,对前端的发展也有着非常大的影响,总结过去前端的发展路径,目前应该属于又一次的大规模的开发范式迁移阶段。上一个阶段是从jquery到React/Vue/Angular迁移(jquery之前的就不讨论了)…...
Java入门的基础学习
Java的基础语法知识 一 初始Java二 Java数据类型和变量1.字面常量2.数据类型基本数据类型引用数据类型 3.变量整型变量浮点型变量字符型变量布尔型变量 4.类型转化和提升类型转化类型提升 三 运算符1.算数运算符2.关系操作符3.逻辑运算符:&&,||&…...
万字详解 MySQL MGR 高可用集群搭建
文章目录 1、MGR 前置介绍 1.1、什么是 MGR1.2、MGR 优点1.3、MGR 缺点1.4、MGR 适用场景 2、MySQL MGR 搭建流程 2.1、环境准备2.2、搭建流程 2.2.1、配置系统环境2.2.2、安装 MySQL2.2.3、配置启动 MySQL2.2.4、修改密码、设置主从同步2.2.5、安装 MGR 插件 3、MySQL MGR 故…...
脚本无法获取响应主体(原因:CORS Missing Allow Credentials)
背景: 前端的端口号8080,后端8000。需在前端向后端传一个参数,让后端访问数据库去检测此参数是否出现过。涉及跨域请求,一直有这个bug是404文件找不到。 在修改过程当中不小心删除了一段代码,出现了这个bug࿰…...
GD32F450 使用
GB32F450使用 1. 相关知识2. 烧写程序3. SPI3.1 spi基础3.2 spi代码 4. 串口4.1 串口引脚4.2 串口通信代码 问题记录1. 修改晶振频率 注意:GD32F450 总共有三种封装形式,本文所述的相关代码和知识,均为 GD32F450IX 系列。 1. 相关知识 参数配…...
神经网络代码入门解析
神经网络代码入门解析 import torch import matplotlib.pyplot as pltimport randomdef create_data(w, b, data_num): # 数据生成x torch.normal(0, 1, (data_num, len(w)))y torch.matmul(x, w) b # 矩阵相乘再加bnoise torch.normal(0, 0.01, y.shape) # 为y添加噪声…...
Android 数据库查询对比(APN案例)
功能背景 APN 数据通常存储在数据库中,由TelephonyProvider提供。当用户进入APN设置界面时,Activity会启动,AOSP源码通过ContentResolver查询APN数据。关键分析点在于这个查询操作是否在主线程执行,因为主线程上的耗时操作会导致…...
神卓 S500 异地组网设备实现监控视频异地组网的详细步骤
一、设备与环境准备 硬件清单 主设备:神卓 S500 异地组网路由器 1子设备:神卓 S500 或兼容设备 N(需通过官网认证)监控设备:支持 RTSP/ONVIF 协议的 NVR、摄像头网络要求:各网点需稳定联网(推荐…...
golang安装(1.23.6)
1.切换到安装目录 cd /usr/local 2.下载安装包 wget https://go.dev/dl/go1.23.6.linux-amd64.tar.gz 3.解压安装包 sudo tar -C /usr/local -xzf go1.23.6.linux-amd64.tar.gz 4.配置环境变量 vi /etc/profile export PATH$…...
leetcode35.搜索插入位置
题目: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出…...
LeetCode第57题_插入区间
LeetCode 第57题:插入区间 题目描述 给你一个 无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 难度 中…...
人工智能之数学基础:线性代数中矩阵的运算
本文重点 矩阵的运算在解决线性方程组、描述线性变换等方面发挥着至关重要的作用。通过对矩阵进行各种运算,可以简化问题、揭示问题的本质特征。在实际应用中,我们可以利用矩阵运算来处理图像变换、数据分析、电路网络等问题。深入理解和掌握矩阵的运算,对于学习线性代数以…...
SQL Server 创建用户并授权
创建用户前需要有一个数据库,创建数据库命令如下: CREATE DATABASE [数据库名称]; CREATE DATABASE database1;一、创建登录用户 方式1:SQL命令 命令格式:CREATE LOGIN [用户名] WITH PASSWORD ‘密码’; 例如,创…...
MySQL双主搭建-5.7.35
文章目录 上传并安装MySQL 5.7.35双主复制的配置实例一:172.25.0.19:实例二:172.25.0.20: 配置复制用户在实例 1 (172.25.0.19)上执行:在实例 2 (172.25.0.20)上执行&…...
RNN实现精神分裂症患者诊断(pytorch)
RNN理论知识 RNN(Recurrent Neural Network,循环神经网络) 是一种 专门用于处理序列数据(如时间序列、文本、语音、视频等)的神经网络。与普通的前馈神经网络(如 MLP、CNN)不同,RNN…...
Python中字符串的常用操作
一、r原样输出 在 Python 中,字符串前加 r(即 r"string" 或 rstring)表示创建一个原始字符串(raw string)。下面详细介绍原始字符串的特点、使用场景及与普通字符串的对比。 特点 忽略转义字符࿱…...
uniapp 本地数据库多端适配实例(根据运行环境自动选择适配器)
项目有个需求,需要生成app和小程序,app支持离线数据库,如果当前没有网络提醒用户开启离线模式,所以就随便搞了下,具体的思路就是: 一个接口和多个实现类(类似后端的模板设计模式)&am…...
Spring Cloud Gateway 整合Spring Security
做了一个Spring Cloud项目,网关采用 Spring Cloud Gateway,想要用 Spring Security 进行权限校验,由于 Spring Cloud Gateway 采用 webflux ,所以平时用的 mvc 配置是无效的,本文实现了 webflu 下的登陆校验。 1. Sec…...
【异地访问本地DeepSeek】Flask+内网穿透,轻松实现本地DeepSeek的远程访问
写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言依赖Flask构建本地网页访问LM Studio 开启网址访问DeepSeek 调用模板Flask 访问本…...