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

华为配置Smart Link主备备份示例

定义

Smart Link,又叫做备份链路。一个Smart Link由两个接口组成,其中一个接口作为另一个的备份。Smart Link常用于双上行组网,提供可靠高效的备份和快速的切换机制。

Monitor Link是一种接口联动方案,它通过监控设备的上行接口,根据其Up/Down状态的变化来触发下行接口Up/Down状态的变化,从而触发下游设备上的拓扑协议进行链路的切换。

目的

下游设备连接到上游设备,当使用单上行方式时,若出现单点故障,会造成业务中断。若采用双上行方式,将一台下游设备同时连接到两台上游设备,可降低单点故障对网络的影响,提高了可靠性。

如图1所示SwitchA采用双上行方式分别连接到SwitchB和SwitchC,这样SwitchA到达SwitchD的链路就可以有两条(SwitchA->SwitchB->SwitchD和SwitchA->SwitchC->SwitchD),但是网络中的环路会产生网络风暴。在SwitchA上配置Smart Link,正常情况下,可实现Interface2所在链路作为Interface1所在链路的备份。若Interface1所在的链路发生故障,Smart Link会自动将数据流量切换到Interface2所在链路,保证业务不中断。

在此类组网中采用Smart Link技术有以下优点:

  • 能够实现在双上行组网的两条链路正常情况下,一条链路处于转发状态,而另一条处于阻塞待命状态,从而可避免环路的不利影响。
  • 配置和使用更为简洁,便于用户操作。
  • 当主用链路发生故障后,流量会在毫秒级的时间内迅速切换到备用链路上,极大限度地保证了数据的正常转发。

在一些二层拓扑协议(如Smart Link)组网中,拓扑协议无法监视到上行接口的状态,从而导致拓扑协议无法进行链路切换。Monitor Link可用于扩展一些二层拓扑协议的应用范围,通过监控上行链路对下行链路进行同步设置,达到上行链路故障迅速传达给下行设备,从而触发下游设备上的拓扑协议进行链路的切换,防止长时间因上行链路故障而出现流量丢失

Smart Link基本概念

Smart Link通过两个端口相互配合工作来实现功能。这样的一对端口组成了一个Smart Link组。为了区别一个Smart Link组中的两个端口,我们将其中的一个叫做主端口,另一个叫做从端口。同时我们利用Flush报文、Smart Link实例和控制VLAN等机制,以更好地实现Smart Link的功能(包括负载分担)。

Smart Link组

Smart Link组,一个组内最多可包含两个接口,其中一个为主接口,另一个为从接口。正常情况下,只有一个接口处于转发(Active)状态,另一个接口被阻塞,处于待命(Inactive)状态。

如图1所示,设备SwitchD上的接口Interface1和接口Interface2组成了一个Smart Link组。

主接口/从接口

如图1所示,Interface1被配置为Smart Link组的主接口,Interface2被配置为Smart Link组的从接口。主接口又叫Master接口,从接口又叫Slave接口。

当Smart Link组中的两个接口都处于Up状态时,主接口将优先进入转发状态,而从接口将保持待命状态。当主接口所在链路发生故障时,从接口将切换为转发状态。

Flush报文

当Smart Link组发生链路切换时,原有的转发表项将不适用于新的拓扑网络,需要整网进行MAC表项和ARP表项的更新。这时,Smart Link组通过发送Flush报文通知其他设备进行MAC和ARP表项的刷新操作。如图1所示,当链路发生切换时,SwitchD会发送组播Flush报文通知SwitchA、SwitchB和SwitchC进行MAC和ARP表项的更新。

控制VLAN(Control VLAN)
  • 发送控制VLAN

    发送控制VLAN是Smart Link组用于广播Flush报文的VLAN。如图1,如果在SwitchD上开启了Flush报文发送功能,当发生链路切换时,设备会在发送控制VLAN内广播发送Flush报文。

  • 接收控制VLAN

    接收控制VLAN是上游设备用于接收并处理Flush报文的VLAN。如图1所示,如果上游设备SwitchA、SwitchB和SwitchC能够识别Flush报文,并开启了Flush报文接收处理功能,当发生链路切换时,上游设备会处理收到的属于接收控制VLAN的Flush报文,进而刷新MAC表和ARP表。

负载分担

Smart Link支持配置多个负载分担VLAN实例。当Smart Link组的主从链路均正常时,Smart link允许两条链路可以转发不同的数据流量。负载分担情况下,两个接口均处于转发状态,从接口转发负载分担实例流量,主接口转发其它实例流量。当其中一条链路故障时,Smart Link组会自动将所有的流量切换到另一条链路上。

Smart Link实例

Smart Link组的备链路通过绑定不同的实例来实现负载分担。Smart Link引用MSTP的实例,每个实例用来绑定若干VLAN,不同的实例绑定不同的VLAN

配置Smart Link主备备份示例

Smart Link通过两个端口相互配合工作来实现功能。这样的一对端口组成了一个Smart Link组。为了区别一个Smart Link组中的两个端口,我们将其中的一个叫做主端口,另一个叫做从端口。同时我们利用Flush报文、Smart Link实例和控制VLAN等机制,以更好地实现Smart Link的功能(包括负载分担)。

组网需求

如图1所示,为了保证网络的可靠性,用户侧网络采用双上行方式组网。由于组网上存在多个VLAN的数据流量,为使链路得到充分利用,用户希望两条上行链路均进行数据流量的转发。组网要求业务中断时间控制在毫秒级

配置思路

采用如下的思路配置Smart Link功能:

  1. 在SwitchA上进行配置,将需要进行负载分担的VLAN 500映射到实例10。
  2. 在SwitchA上配置Smart Link组,将对应接口加入Smart Link组中。
  3. 在SwitchA上配置负载分担功能,实例10映射的VLAN数据从备份链路进行转发。
  4. 在SwitchA上使能回切功能,使得故障恢复后,流量切换到相对稳定的原主链路上。
  5. 在SwitchA上使能发送Flush报文功能。
  6. 在SwitchB、SwitchC和SwitchD三台设备对应接口上使能Flush报文接收功能。
  7. 在SwitchA上使能Smart Link组功能。

操作步骤

配置VLAN信息

# 在SwitchA上创建VLAN vlan10,20,30并配置接口允许相应VLAN通过。SwitchB、SwitchC和SwitchD的配置与SwitchA相似

[zhongwaznhi]interface GigabitEthernet 0/0/1
[zhongwaznhi-GigabitEthernet0/0/1]port link-type trunk 
[zhongwaznhi-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 to 30
[zhongwaznhi-GigabitEthernet0/0/1]quit
[zhongwaznhi]interface GigabitEthernet 0/0/2
[zhongwaznhi-GigabitEthernet0/0/2]port link-type trunk 	
[zhongwaznhi-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 to 30
[zhongwaznhi-GigabitEthernet0/0/2]quit

在SwitchA上创建Smart Link备份组,并指定端口角色

# 配置SwitchA

[zhongwanzhi]interface GigabitEthernet 0/0/1
[zhongwanzhi-GigabitEthernet0/0/1]stp disable 
[zhongwanzhi-GigabitEthernet0/0/1]quit
[zhongwanzhi]interface GigabitEthernet 0/0/2
[zhongwanzhi-GigabitEthernet0/0/2]stp disable 
[zhongwanzhi-GigabitEthernet0/0/2]quit
[zhongwanzhi]smart-link group 1
[zhongwanzhi-smlk-group1]port GigabitEthernet 0/0/1 master 
[zhongwanzhi-smlk-group1]port GigabitEthernet 0/0/2 slave 

使能回切功能并设置回切时间

# 配置SwitchA

[zhongwanzhi-smlk-group1]restore enable 	
[zhongwanzhi-smlk-group1]timer wtr 30

使能发送Flush报文功能

# 配置SwitchA,并指定发送Flush报文的密码为SHA加密方式。

[zhongwanzhi-smlk-group1]flush send control-vlan 10 password simple huawei-123

使能接收Flush报文功能

# 配置SwitchB,并指定接收Flush报文的密码为SHA加密方式。

[zhongwanzhi]interface GigabitEthernet 0/0/1
[zhongwanzhi-GigabitEthernet0/0/1]smart-link flush receive control-vlan 10 passw
ord simple huawei-123
[zhongwanzhi-GigabitEthernet0/0/1]stp disable
[zhongwanzhi-GigabitEthernet0/0/1]quit
[zhongwanzhi]interface GigabitEthernet 0/0/2
[zhongwanzhi-GigabitEthernet0/0/2]smart-link flush receive control-vlan 10 passw
ord simple huawei-123
[zhongwanzhi-GigabitEthernet0/0/2]stp disable 
[zhongwanzhi-GigabitEthernet0/0/2]quit

另外SwitchC,Switch也要配置指定接收Flush报文的密码为SHA加密方式,并且配置命令一样

在SwitchA使能Smart Link组功能

[zhongwanzhi-smlk-group1]smart-link enable 
[zhongwanzhi-smlk-group1]quit
[zhongwanzhi]
  • 验证配置结果

    # 使用display smart-link group命令查看SwitchA上的Smart Link组信息。如果显示如下信息,则表示配置成功。

    • Smart Link组功能已经使能
    • 回切时间为30秒
    • 控制VLAN编号为10
    • 接口GE0/0/1为主接口且处于Active状态,接口GE0/0/2为从接口且处于Inactive,并且配置了负载分担功能
[zhongwanzhi]display smart-link group 1
Smart Link group 1 information :Smart Link group was enabledWtr-time is: 30 sec.Load-Balance Instance: 10 There is no protected-vlan reference-instanceDeviceID: 4c1f-cc46-4d92  Control-vlan ID: 10Member                  Role   State    Flush Count Last-Flush-Time----------------------------------------------------------------------GigabitEthernet0/0/1    Master Active   1           2023/12/07 16:20:34 UTC-08
:00 GigabitEthernet0/0/2    Slave  Inactive 0           0000/00/00 00:00:00 UTC+00
:00 

# 使用shutdown命令关闭接口GE0/0/1,可以看到接口GE0/0/1已经处于Inactive状态,接口GE0/0/2为Active状态

[zhongwanzhi-GigabitEthernet0/0/1]display smart-link group 1
Smart Link group 1 information :Smart Link group was enabledWtr-time is: 30 sec.Load-Balance Instance: 10 There is no protected-vlan reference-instanceDeviceID: 4c1f-cc46-4d92  Control-vlan ID: 10Member                  Role   State    Flush Count Last-Flush-Time----------------------------------------------------------------------GigabitEthernet0/0/1    Master Inactive 1           2023/12/07 16:20:34 UTC-08
:00 GigabitEthernet0/0/2    Slave  Active   0           0000/00/00 00:00:00 UTC+00
:00 

相关文章:

华为配置Smart Link主备备份示例

定义 Smart Link,又叫做备份链路。一个Smart Link由两个接口组成,其中一个接口作为另一个的备份。Smart Link常用于双上行组网,提供可靠高效的备份和快速的切换机制。 Monitor Link是一种接口联动方案,它通过监控设备的上行接口…...

harmonyOS开发技巧(一)——封装hilog日志

1. 创建sharedLibrary共享hsp包commonLib:功能工具类。 import hilog from ohos.hilog;class Logger {private DOMAIN: number 0x0000;private APP_NAME: string Myapplication;public info(tag: string, ...args: string[]) {hilog.info(this.DOMAIN, [${this.A…...

npm、yarn常用命令

1、设置npm路径 #全局安装路径 npm config set prefix "D:\Program Files\nodejs\node_global" #缓存路径 npm config set cache "D:\Program Files\nodejs\node_cache"2、设置镜像 #1,淘宝镜像源 npm config set registry https://registry.npmmirror.…...

编译和使用WPS-ghrsst-to-intermediate生成SST

一、下载 V1.0 https://github.com/bbrashers/WPS-ghrsst-to-intermediate/tree/masterV1.5(使用过程报错,原因不详,能正常使用的麻烦告知一下方法) https://github.com/dmitryale/WPS-ghrsst-to-intermediate二、修改makefile…...

通过静态HTTP实现负载均衡

在当今的互联网环境中,随着用户数量的不断增加和业务需求的不断扩大,单台服务器往往无法承受所有的访问压力。为了确保网站的可用性和性能,负载均衡成为了一种常见的解决方案。本文将探讨如何通过静态HTTP实现负载均衡,以提升网站…...

Python开发运维:Python常见异常类型

目录 一、理论 1.异常 一、理论 1.异常 (1)概念 异常是程序因为某种原因无法正常工作了,比如缩进错误、缺少软件包、环境 错误、连接超时等都会引发异常。 一个健壮的程序应该把所能预知的异常都应做相应的处理,保障程序长期运…...

HarmonyOS学习 第1节 DevEco Studio配置

俗话说的好,工欲善其事,必先利其器。我们先下载官方的开发工具DevEco Studio. 下载完成后,进行安装。 双击DevEco Studio,点击Next按照指引完成安装 重新启动DevEco,点击 Agree 进入环境配置,安装Node.js和ohpm 点击Ne…...

WordPress 注册/重置密码/更改密码钩子

wordpress在提供邮件提醒的地方都留了hook,方便让开发者自定义。最新在添加第三方登录时遇到虚拟邮箱发信问题,为了防止给指定邮件地址后缀发信,可以利用如下wordpress提供的钩子来实现。 //https://www.wwttl.com/101.html //禁止用户注册时…...

LabVIEW开发远程结构健康监测系统

LabVIEW开发远程结构健康监测系统 工程师依赖于振动监测来评估建筑物、桥梁和其他大型结构的完整性。传统的振动监测工具在数据收集上存在限制,无法长时间收集高保真波形。随着内存存储、处理器速度和宽带无线通信技术的进步,出现了对能够长时间收集并实…...

多段图问题-动态规划解法

一、多段图问题 问题描述:设图G(V, E)是一个带权有向图,如果把顶点集合V划分成k个互不相交的子集Vi (2≤k≤n, 1≤i≤k),使得对于E中的任何一条边(u, v),必有u∈Vi,v∈Vim (1≤i≤k, 1<im≤k),…...

Android实验:绑定service实验

目录 实验目的实验内容实验要求项目结构代码实现代码解释结果展示 实验目的 充分理解Service的作用,与Activity之间的区别,掌握Service的生命周期以及对应函数,了解Service的主线程性质;掌握主线程的界面刷新的设计原则&#xff…...

K8S集群优化的可执行优化

目录 前期环境优化 1.永久关闭交换分区 2.#加载 ip_vs 模块 3.调整内核参数 4.#使用Systemd管理的Cgroup来进行资源控制与管理 5.开机自启kubelet 6.内核参数优化方案 7.etcd优化 默认etcd空间配额大小为 2G,超过 2G 将不再写入数据。通过给etcd配置 --quo…...

Remix IDE 快速开始Starknet

文章目录 一、Remix 项目二、基于Web的开发环境Remix 在线 IDE三、Starknet Remix 插件如何使用使用 Remix【重要】通过 Starknet by Example 学习一、Remix 项目 Remix 项目网站 在以太坊合约开发领域,Remix 项目享有很高的声誉,为各个级别的开发人员提供功能丰富的工具集…...

SQL中limit与分页的结合

select * from test limit 2,10; 这条语句的含义:从第3条语句开始查询,共显示10条语句。 select * from test limit a,b; a0,第一条记录。 a1,第二条记录。 a2,第三条记录。 这条语句的含义:从第a1条语句开始查询,共显示b条…...

KALI LINUX信息收集

预计更新 第一章 入门 1.1 什么是Kali Linux? 1.2 安装Kali Linux 1.3 Kali Linux桌面环境介绍 1.4 基本命令和工具 第二章 信息收集 1.1 网络扫描 1.2 端口扫描 1.3 漏洞扫描 1.4 社交工程学 第三章 攻击和渗透测试 1.1 密码破解 1.2 暴力破解 1.3 漏洞利用 1.4 …...

联想电脑重装系统Win10步骤和详细教程

联想电脑拥有强大的性能,很多用户办公都喜欢用联想电脑。有使用联想电脑的用户反映系统出现问题了,想重新安装一个正常的系统,但是不知道重新系统的具体步骤。接下来小编详细介绍给联想电脑重新安装Win10系统系统的方法步骤。 推荐下载 系统之…...

PET(Point-Query Quadtree for Crowd Counting, Localization, and More)

PET(Point-Query Quadtree for Crowd Counting, Localization, and More) 介绍实验记录训练阶段推断阶段 介绍 论文:Point-Query Quadtree for Crowd Counting, Localization, and More 实验记录 训练阶段 TODO 推断阶段 下面是以一张输…...

NgRx中dynamic reducer的原理和用法?

在 Angular 应用中,使用 NgRx 状态管理库时,动态 reducer 的概念通常是指在运行时动态添加或移除 reducer。这样的需求可能源于一些特殊的场景,比如按需加载模块时,你可能需要添加相应的 reducer。 以下是动态 reducer 的一般原理…...

麒麟V10服务器安装Apache+PHP

安装PHP yum install php yum install php-curl php-gd php-json php-mbstring php-exif php-mysqlnd php-pgsql php-pdo php-xml 配置文件 /etc/php.ini 修改参数 date.timezone Asia/Shanghai max_execution_time 60 memory_limit 1280M post_max_size 200M file_upload…...

DOS 批处理 (一)

DOS 批处理 1. 批处理是什么?2. DOS和MS-DOS3. 各种操作系统shell的区别Shell 介绍图形用户界面(GUI)shell命令行界面(CLI)的 shell命令区别 1. 批处理是什么? 批处理(Batch),也称为批处理脚本…...

P1047 [NOIP2005 普及组] 校门外的树题解

题目 某校大门外长度为 l 的马路上有一排树,每两棵相邻的树之间的间隔都是1 米。我们可以把马路看成一个数轴,马路的一端在数轴 00 的位置,另一端在l 的位置;数轴上的每个整数点,即0,1,2,…,l,都种有一棵树…...

pip的常用命令

安装、卸载、更新包:pip install [package-name],pip uninstall [package-name],pip install --upgrade [package-name]。升级pip:pip install --upgrade pip。查看已安装的包:pip list,pip list --outdate…...

力扣面试题 08.12. 八皇后(java回溯解法)

Problem: 面试题 08.12. 八皇后 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 八皇后问题的性质可以利用回溯来解决,将大问题具体分解成如下待解决问题: 1.以棋盘的每一行为回溯的决策阶段,判断当前棋盘位置能否放置棋子 2.如何判…...

2023年第十二届数学建模国际赛小美赛A题太阳黑子预测求解分析

2023年第十二届数学建模国际赛小美赛 A题 太阳黑子预测 原题再现: 太阳黑子是太阳光球上的一种现象,表现为比周围区域暗的暂时斑点。它们是由抑制对流的磁通量浓度引起的表面温度降低区域。太阳黑子出现在活跃区域内,通常成对出现&#xff…...

jsp 分页查询展示,实现按 上一页或下一页实现用ajax刷新内容

要实现按上一页或下一页使用 Ajax 刷新内容,可以按照以下步骤进行操作: 1. 在前端页面中添加两个按钮,分别为“上一页”和“下一页”。当用户点击按钮时,触发 Ajax 请求。 2. 在后端控制器中接收 Ajax 请求,并根据传…...

基于ssm在线云音乐系统的设计与实现论文

摘 要 随着移动互联网时代的发展,网络的使用越来越普及,用户在获取和存储信息方面也会有激动人心的时刻。音乐也将慢慢融入人们的生活中。影响和改变我们的生活。随着当今各种流行音乐的流行,人们在日常生活中经常会用到的就是在线云音乐系统…...

简谈PostgreSQL的wal_level=logic

一、PostgreSQL的wal_levellogic的简介 wal_levellogic 是 PostgreSQL 中的一个配置选项,用于启用逻辑复制(logical replication)功能。逻辑复制是一种高级的数据复制技术,它允许您将变更(例如插入、更新和删除&#…...

自动化巡检实现方法 (一)------- 思路概述

一、自动化巡检需要会的技能 1、因为巡检要求一天24小时全天在线,因此巡检程序程序一定会放在服务器上跑,所以要对linux操作熟悉哦 2、巡检的代码要在git上管理,所以git的基本操作要熟悉 3、为了更方便不会代码的同学操作,所以整个…...

mysql获取时间异常

1.查看系统时间 时区是上海,本地时间正常 [roottest etc]# timedatectlLocal time: 一 2023-12-04 17:00:35 CSTUniversal time: 一 2023-12-04 09:00:35 UTCRTC time: 一 2023-12-04 09:00:34Time zone: Asia/Shanghai (CST, 0800)NTP enabled: no NTP synchroni…...

维基百科文章爬虫和聚类:高级聚类和可视化

一、说明 维基百科是丰富的信息和知识来源。它可以方便地构建为带有类别和其他文章链接的文章,还形成了相关文档的网络。我的 NLP 项目下载、处理和应用维基百科文章上的机器学习算法。 在我的上一篇文章中,KMeans 聚类应用于一组大约 300 篇维基百科文…...

springboot智慧导诊系统源码:根据患者症状匹配挂号科室

一、系统概述 医院智慧导诊系统是在医疗中使用的引导患者自助就诊挂号,在就诊的过程中有许多患者不知道需要挂什么号,要看什么病,通过智慧导诊系统,可输入自身疾病的症状表现,或选择身体部位,在经由智慧导诊…...

Shell脚本如何使用 for 循环、while 循环、break 跳出循环和 continue 结束本次循环

Shell脚本如何使用 for 循环、while 循环、break 跳出循环和 continue 结束本次循环 下面是一个简单的 Shell 脚本示例,演示了如何使用 for 循环、while 循环、break 跳出循环和 continue 结束本次循环。 #!/bin/bash# For循环 echo "For循环示例:…...

n个人排成一圈,数数123离队

#include<stdio.h> int main() { int i, n100,k0,j0,a[1000]{0};//k&#xff1a;数数123的变量&#xff0c;j记录离开队列人数的变量scanf("%d",&n);for(int ii0; ii<n; ii){ for( i0; i<n; i){// printf("wei%d ",i);if((a[i]0)&&…...

深度学习基础回顾

深度学习基础 浅层网络 VS 深层网络深度学习常用的激活函数Sigmoid 函数ReLU 函数Softplus 函数tanh函数 归纳偏置CNN适用数据归纳偏置 RNN适用数据归纳偏置 浅层网络 VS 深层网络 浅层神经网络参数过多&#xff0c;导致模型的复杂度和计算量很高&#xff0c;难以训练。而深层…...

【Vue】修改组件样式并动态添加样式

文章目录 目标修改样式动态添加/删除样式样式不生效 注意&#xff1a;类似效果el-step也可以实现&#xff0c;可以不用手动实现。这里只是练习。 目标 使用组件库中的组件&#xff0c;修改它的样式并动态添加/删除样式。 修改样式 组件中的一些类可能添加样式无法生效。如Ele…...

GO设计模式——12、外观模式(结构型)

目录 外观模式&#xff08;Facade Pattern&#xff09; 外观模式的核心角色&#xff1a; 优缺点 使用场景 代码实现 外观模式&#xff08;Facade Pattern&#xff09; 外观模式&#xff08;Facade Pattern&#xff09;又叫作门面模式&#xff0c;是一种通过为多个复杂的子…...

一.初始typescript

什么是ts 首先我们要确认typescript是一个语言&#xff0c;是等同于JavaScript层级得&#xff0c;并不是一些人认为得是JavaScript得类型规范工具或者插件。 ts与js的差异 从type script这个名字就可以看出&#xff0c;ts其实是JavaScript的一个类型化超集&#xff0c;它增…...

mp3的播放

1.这段vue代码会播放声音&#xff0c;但是会有audio标签 <template><div><audio id"myAudio" controls><source src"./test.mp3" type"audio/mp3" />Your browser does not support the audio tag.</audio></…...

mixamo根动画导入UE5问题:滑铲

最近想做一个跑酷游戏&#xff0c;从mixamo下载滑铲动作后&#xff0c;出了很多动画的问题。花了两周时间&#xff0c;终于是把所有的问题基本上都解决了。 常见问题&#xff1a; 1.【动画序列】人物不移动。 2.【动画序列】人物移动朝向错误。 3.【蒙太奇】人物移动后会被拉回…...

容器资源视图隔离 —— 筑梦之路

先做个记录&#xff0c;抽空再整理 K8s 部署 Lxcfs 准入控制器&#xff0c;实现容器中资源单独可见 - 「Johny」PlayGround Kubernetes 中利用 LXCFS 控制容器资源可见性 - 码农教程 容器资源可视化隔离的实现方法_51CTO博客_容器隔离技术 Lxcfs在容器集群中的使用-腾讯云开…...

浅析嵌入式GUI框架-LVGL

LVGL (Light and Versatile Graphics Library) 是最流行的免费开源嵌入式图形库&#xff0c;可为任何 MCU、MPU 和显示类型创建漂亮的 UI 嵌入式GUI框架对比 Features/框架LVGLFlutter-elinuxArkUI(鸿蒙OS)AWTKQTMIniGUIemWinuC/GUI柿饼UI跨平台是是鸿蒙OS平台是是是是是是设备…...

Unity 关于SetParent方法的使用情况

在设置子物体的父物体时&#xff0c;我们使用SetParent再常见不过了。 但是通常我们只是使用其中一个语法&#xff1a; public void SetParent(Transform parent);使用改方法子对象会保持原来位置&#xff0c;跟使用以下方法效果一样&#xff1a; public Transform tran; ga…...

Linux系统上RabbitMQ安装教程

一、安装前环境准备 Linux&#xff1a;CentOS 7.9 RabbitMQ Erlang 1、系统内须有C等基本工具 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c kernel-devel m4 ncurses-devel tk tc xz socat2、下载安装包 1&#xff09;首先&a…...

ES通过抽样agg聚合性能提升3-5倍

一直以来&#xff0c;es的agg聚合分析性能都比较差&#xff08;对应sql的 group by&#xff09;。特别是在超多数据中做聚合&#xff0c;在搜索的条件命中特别多结果的情况下&#xff0c;聚合分析会非常非常的慢。 一个聚合条件&#xff1a;聚合分析请求的时间 search time a…...

c++详解栈

一.什么是栈 堆栈又名栈&#xff08;stack&#xff09;&#xff0c;它是一种运算受限的数据结构&#xff08;线性表&#xff09;&#xff0c;只不过他和数组不同&#xff0c;数组我们可以想象成一个装巧克力的盒子&#xff0c;你想拿一块巧克力&#xff0c;不需要改变其他巧克…...

Zabbix结合Grafana打造高逼格监控系统

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…...

Linux设备树

一、起源 减少垃圾代码 减轻驱动开发工作量 驱动代码和设备信息分离 参考Open Fireware设计 用来记录硬件平台中各种硬件设备的属性信息 二、基本组成 两种源文件&#xff1a; xxxxx.dts dts是device tree source的缩写xxxxx.dtsi dtsi是device tree source include的缩…...

计算机方向的一些重要缩写和简介

参考&#xff1a; 深度学习四大类网络模型 干货|机器学习超全综述&#xff01; 机器学习ML、卷积神经网络CNN、循环神经网络RNN、马尔可夫蒙特卡罗MCMC、生成对抗网络GAN、图神经网络GNN——人工智能经典算法 MLP&#xff08;Multi Layer Perseption&#xff09;用在神经网络中…...

ardupilot开发 --- git 篇

一些概念 工作区&#xff1a;就是你在电脑里能看到的目录&#xff1b;暂存区&#xff1a;stage区 或 index区。存放在 &#xff1a;工作区 / .git / index 文件中&#xff1b;版本库&#xff1a;本地仓库&#xff0c;存放在 &#xff1a;工作区 / .git 中 关于 HEAD 是所有本地…...

Linux基础命令练习2

案例2&#xff1a;创建命令练习 请在/root创建三个目录分别为student、file、stu18 请在/opt创建三个文本文件分别为1.txt、a.txt、stu.txt 案例3&#xff1a;复制、删除、移动 在目录/opt下创建一个子目录 etime 在目录/opt/etime/创建文件readme.txt,利用vim写入内容 …...