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

SNMP协议之详解(Detailed Explanation of SNMP Protocol)

SNMP协议之详解

一、前言

SNMP,被形象地喻为网络世界大的工具箱,使他们能的“智慧守护者”,它为网络管理员装备了一套功能强够实现对网络设备状态的实时监控、性能数据的全面收集、远程配置的灵活管理以及故障事件的即时响应。借助SNMP,管理员能够轻松驾驭复杂的网络环境,精准把握网络运行脉搏,从而迅速优化网络性能,确保网络的可靠性、稳定性和可用性。

本文旨在深入探讨SNMP的精髓,涵盖其基本原理的剖析、体系结构的构建、不同版本间的对比解析、丰富多样的管理功能展示、广泛的应用场景探索、详尽的部署配置指南以及安全性考量等多个维度。我们期望通过这一全面而深入的阐述,为读者揭开SNMP的神秘面纱,揭示其作为网络管理核心技术的巨大价值,并为网络管理实践提供宝贵的参考与启示。

无论您是网络管理领域的资深专家,还是对网络技术充满好奇与热情的初学者,本文都将成为您探索SNMP世界、掌握网络管理奥秘的宝贵资源。让我们携手踏入SNMP的奇妙旅程,共同见证网络管理技术的力量与魅力。

二、SNMP 概述

1. SNMP 的定义与发展历程

SNMP(Simple Network Management Protocol)定义:
SNMP 是一种应用层协议,设计用于在网络管理系统(NMS)与被管理设备(如路由器、交换机、服务器等)之间进行有效的通信和信息交换。它允许网络管理员远程监控、配置和诊断网络设备,是现代网络管理中不可或缺的一部分。

发展历程:

SNMPv1(1988年):作为SNMP的初始版本,SNMPv1 提供了基本的网络管理框架,包括设备信息的获取、参数的配置等。然而,它在安全性和功能扩展性上存在明显不足,如缺乏加密和身份验证机制,且管理信息结构相对简单。

SNMPv2(1993年):为了克服SNMPv1的局限性,SNMPv2 进行了多项改进。它增强了管理信息的结构,支持更多数据类型和操作,并引入了团体名(Community Name)作为简单的身份验证手段。尽管在安全性上有所进步,但SNMPv2 仍未能完全解决所有安全问题。

SNMPv3(1998年):鉴于网络安全威胁的日益严峻,SNMPv3 着重加强了协议的安全性。它采用了用户安全模型(USM)和基于视图的访问控制模型(VACM),提供了强大的身份验证、加密和访问控制功能。这些改进确保了网络管理信息在传输过程中的安全性和合法访问性,使SNMP成为更加可靠和安全的网络管理工具。

2. SNMP 在网络管理中的重要地位

统一管理标准:

SNMP 为不同厂商、不同型号的网络设备提供了一个统一的管理标准和接口。这消除了设备间的兼容性问题,使得网络管理员能够使用统一的工具和方法对整个网络进行集中管理。这种标准化的管理方式大大提高了管理效率,降低了管理成本。

实时监控:

SNMP 允许网络管理员实时获取网络设备的状态信息,包括设备的运行状态、接口流量、CPU 和内存使用率等关键指标。这些信息对于及时发现网络故障、性能瓶颈以及潜在的安全威胁至关重要。通过实时监控,管理员可以迅速响应并采取相应措施,确保网络的稳定运行。

远程管理

SNMP 支持远程管理功能,使得管理员可以在任何地点通过网络对远程设备进行管理和配置。这种管理方式极大地提高了管理的灵活性和及时性,尤其适用于大型分布式网络的管理。远程管理减少了管理员的现场维护工作量,提高了工作效率。

故障诊断与恢复:

当网络出现故障时,SNMP 能够快速向网络管理系统发送故障报警信息,帮助管理员迅速定位故障点。同时,管理员还可以利用 SNMP 对设备进行远程诊断和调试,从而加快故障恢复的速度,减少网络故障对业务的影响。

性能管理:

SNMP 收集的性能数据为网络性能管理提供了重要依据。通过对这些数据的分析和统计,管理员可以评估网络的性能状况,发现潜在的性能瓶颈,并制定相应的优化策略。这有助于提高网络的服务质量和用户体验,确保网络的高效运行。

扩展性强:

SNMP 具有良好的扩展性,允许管理员根据实际需求自定义管理信息库(MIB)。通过扩展MIB,管理员可以添加新的管理对象和管理操作,从而扩展网络管理的功能和范围。这种灵活性使得SNMP能够适应不断变化的网络环境和管理需求。

三、SNMP 的基本原理

1.SNMP的体系结构

SNMP(Simple Network Management Protocol,简单网络管理协议)的体系结构主要由管理信息库(MIB)、管理代理和网络管理系统(NMS)三个核心组件构成。这些组件协同工作,实现了对网络设备的远程监控和管理。

管理信息库(MIB

管理信息库是一个被管理对象的数据库,它定义了被管理设备中可以被管理的各种信息。MIB采用树形结构进行组织,每个被管理对象都有一个唯一的对象标识符(OID)。OID是一种点分十进制表示法,用于唯一标识MIB中的每个对象。MIB中的对象可以分为标量对象和表格对象:

标量对象:表示单个的数据项,如设备的名称、接口的状态等。

表格对象:表示一组相关的数据项,如设备的接口信息表、路由表等。

网络管理系统通过查询和设置MIB中的对象来获取和修改被管理设备的信息。不同的设备类型和厂商可能会有不同的MIB实现,但都遵循SNMP标准定义的基本结构和规范。

管理代理:
管理代理是位于被管理设备上的软件模块,它负责收集设备的信息,并响应网络管理系统的请求。管理代理的主要功能包括:

信息收集:

读取设备的内部状态和性能数据,并将其转换为SNMP格式的信息存储在MIB中。

请求响应:

当网络管理系统发送查询或设置请求时,管理代理从MIB中读取相应的信息并返回给网络管理系统,或者根据请求修改设备的参数。

陷阱发送:

在设备发生特定事件时,如设备故障、接口状态变化等,管理代理会主动向网络管理系统发送陷阱(Trap)消息,报告设备的异常情况。

网络管理系统(NMS)

网络管理系统是网络管理员进行网络管理的工具,它负责与管理代理进行通信,收集和处理被管理设备的信息。NMS通常具有图形用户界面(GUI),方便管理员进行操作和监控。NMS的主要功能包括:

请求发送:

通过发送SNMP请求消息来查询和设置管理代理中的MIB对象。

响应处理:

接收管理代理返回的响应消息,并根据消息内容进行处理。如果操作成功,则显示请求的对象值;如果操作失败,则显示错误代码和错误描述。

陷阱处理:

接收管理代理发送的陷阱消息,并根据消息中的内容进行相应的处理,如发出警报、记录事件等。

信息分析:

对收集到的信息进行分析和统计,生成各种报表和图表,为管理员提供决策支持。

2.SNMP的通信模型

SNMP的通信模型主要包括请求/响应模式和陷阱(Trap)机制两种。

请求/响应模式

在请求/响应模式中,网络管理系统(NMS)作为管理端,向被管理设备上的管理代理发送请求消息。请求消息中包含了要查询或设置的管理信息库(MIB)对象的标识符以及相应的操作类型。管理代理接收到请求消息后,根据请求中的信息在本地的MIB中查找相应的对象,并执行请求中指定的操作。然后,管理代理将操作结果封装在响应消息中返回给NMS。这种模式使得NMS能够主动获取被管理设备的信息,并对设备进行远程配置和管理。

陷阱(Trap)机制

陷阱机制是一种异步的通知机制,它不需要NMS事先发送请求。当被管理设备发生特定的事件时,管理代理会主动向NMS发送陷阱消息。陷阱消息中包含了事件的类型、发生时间以及相关的MIB对象值等信息。NMS接收到陷阱消息后,会根据消息中的内容进行相应的处理,如发出警报、记录事件等。陷阱机制使得NMS能够实时地获取设备的异常信息,并及时采取应对措施。

综上所述,SNMP的体系结构和通信模型共同构成了网络管理的基础框架,使得网络管理员能够高效、准确地监控和管理网络设备。

四、SNMP 的版本对比

对比项目SNMPv1SNMPv2SNMPv3
发布时间1988 年1993 年1998 年
消息格式相对简单与 v1 类似但有扩展增强的消息格式
安全性较弱,基于团体名进行简单认证安全性有所增强,但仍存在一些问题提供了强大的安全特性,包括认证、加密和访问控制
管理功能基本的网络管理功能功能有所扩展,支持更多的数据类型和操作功能更丰富,可灵活定制管理功能
兼容性较旧设备可能只支持此版本与 v1 有一定兼容性兼容 v1 和 v2,但实现更复杂
性能性能一般性能有所提升在保证安全的前提下,性能较为平衡
应用场景适用于简单网络环境适用于中等规模网络适用于对安全要求较高的复杂网络环境

五、SNMP 的管理功能

1、监视网络性能

监测设备状态:
SNMP使得网络管理员能够实时地获取各种网络设备的运行状态信息。通过SNMP协议,管理员可以查询到设备的开启/关闭状态、接口的连接状态(如是否在线、速率、双工模式等)、设备的CPU利用率、内存使用情况以及磁盘空间等关键性能指标。这些信息对于及时发现并解决潜在的性能瓶颈或故障至关重要。

跟踪网络流量
SNMP还可以帮助统计和分析网络中的数据流量。通过SNMP协议,管理员可以收集到各接口或链路的流量数据,包括总流量、入站流量、出站流量等。这些数据可以用于分析网络流量的分布、识别高流量区域或设备,以及发现异常的流量模式(如DDoS攻击)。基于这些信息,管理员可以合理调整网络资源分配,优化网络性能。

2、检测分析网络差错

故障诊断:
当网络出现故障时,SNMP提供了一种快速定位故障点的方法。通过SNMP协议,管理员可以收集到设备的详细状态信息、接口状态、错误日志等关键数据。这些数据有助于管理员分析故障的原因,判断是设备硬件故障、网络连接问题还是配置错误等导致的。基于这些信息,管理员可以迅速采取相应的措施来恢复网络的正常运行。

错误报警:
SNMP的Trap机制允许管理代理在设备出现异常情况时主动向网络管理系统发送报警消息。这些Trap消息包含了事件的详细信息,如事件类型、发生时间、相关MIB对象值等。管理员可以根据Trap消息的内容快速了解设备的异常状态,并采取相应的应对措施。这种实时的报警机制有助于减少故障对网络的影响,提高网络的可靠性和稳定性。

3、配置网络设备

参数设置与修改:
SNMP允许管理员远程设置和修改网络设备的参数。通过SNMP协议,管理员可以轻松地修改路由器的路由表、配置交换机的VLAN信息、调整服务器的网络配置等。这种远程配置能力极大地提高了网络管理的灵活性和效率。

软件升级与管理:
SNMP还支持网络设备的软件版本查询和升级管理。管理员可以通过SNMP协议远程检查设备当前的软件版本,并在需要时推送新的软件版本到设备上进行升级。这种自动化的软件升级机制有助于确保网络设备始终运行在最新、最稳定的软件版本上,降低因软件漏洞导致的安全风险。

4、安全管理

访问控制:
SNMP提供了多种安全机制来保护网络设备免受未经授权的访问。通过设置不同的团体名(Community Name)或使用更高级的安全协议(如SNMPv3中的认证和加密机制),管理员可以限制对网络设备的访问权限。只有拥有合法权限的管理员才能对设备进行管理和操作,从而保护网络的安全性。

敏感信息保护:
SNMP还允许管理员控制对设备中敏感信息的访问。通过合理配置SNMP的访问控制策略,管理员可以确保设备的配置文件、用户数据等敏感信息不被非法获取和泄露。这种对敏感信息的保护机制有助于维护网络的隐私性和完整性。

六、SNMP 的应用场景

在网络管理方面,它可实时监控网络设备状态,如路由器、交换机的接口流量、运行时间等,确保网络稳定运行。一旦设备出现故障,SNMP 能迅速定位并发出警报,帮助管理员及时解决问题。

对于数据中心,SNMP 可用于管理服务器和网络设备,监控硬件健康状况、资源利用率等关键指标,保障数据中心的高效运作。同时,它还能与环境监控系统结合,对温度、湿度等环境因素进行监测。

在电信领域,SNMP 用于管理基站、交换机等通信设备,实时掌握设备运行状态和网络性能,保障通信质量。通过对网络流量的监控和分析,电信运营商可以合理规划网络资源,提升用户体验。

此外,SNMP 在智能家居中也有应用,可实现对智能设备的远程监控和管理。在工业自动化领域,它能帮助工程师监控和管理工业设备,提高生产效率。总之,SNMP 在网络管理和设备监控等领域发挥着重要作用,为各行业的信息化发展提供了有力支持。

相关文章:

SNMP协议之详解(Detailed Explanation of SNMP Protocol)

SNMP协议之详解 一、前言 SNMP,被形象地喻为网络世界大的工具箱,使他们能的“智慧守护者”,它为网络管理员装备了一套功能强够实现对网络设备状态的实时监控、性能数据的全面收集、远程配置的灵活管理以及故障事件的即时响应。借助SNMP&…...

机器学习-入门-线性模型(2)

机器学习-入门-线性模型(2) 3.4广义线性回归 一般形式: y g − 1 ( w T x b ) y g^{-1} \left( w^T x b \right) yg−1(wTxb) 单调可微的联系函数 (link function) 令 g ( ⋅ ) ln ⁡ ( ⋅ ) g(\cdot) \ln (\cdot) g(⋅)ln(⋅) 则得到对数线性回归 ln ⁡…...

【问题】docker容器修改环境变量的方式

问题 启动n8n之后,docker容器提示: There is a deprecation related to your environment variables. Please take the recommended actions to update your configuration: 2025-04-28 09:20:08 - N8N_RUNNERS_ENABLED -> Running n8n without tas…...

基于 Spring Boot 瑞吉外卖系统开发(八)

基于 Spring Boot 瑞吉外卖系统开发(八) 自动填充公共字段 MyBatis-Plus公共字段自动填充,也就是在插入或者更新的时候为指定字段赋予指定的值,使用它的好处就是可以统一对这些字段进行处理,降低了冗余代码的数量。本…...

LeetCode热题100--560.和为K的子数组(前缀和)--中等

1.题目 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2 示例 2: 输入:nums […...

搭建 Spark YARN 模式集群指南

在大数据处理领域,Apache Spark 凭借其卓越的性能和易用性广受青睐。而 YARN(Yet Another Resource Negotiator)作为 Hadoop 的资源管理框架,能高效管理集群资源。将 Spark 与 YARN 结合,以 YARN 模式搭建集群&#xf…...

服务器部署,Nginx安装和配置

Nginx简介 Nginx是一款轻量级和高性能的web服务器、反向代理服务器和电子邮件代理服务器。你可以使用Nginx实现网页的部署,解决跨域问题实现邮件服务器,甚至Nginx也可以实现音视频推流拉流服务器,Nginx可以实现的功能远超你的想象&#xff0…...

Java后端接口调用拦截处理:注解与拦截器的实现

在Java开发中,对后端接口调用进行拦截处理是一种常见的需求,通常用于权限验证、Token校验、状态更新等操作。本文将围绕 Spring框架的拦截器(Interceptor)、Spring AOP(面向切面编程) 和 Spring Security 三…...

C++(初阶)(十四)——多态

多态 面向对象的其中一大特征。 多态多态的定义及构成多态的构成条件多态的实现条件多态的分类编译时多态性运行时的多态性 虚函数定义不能成为虚函数的函数 虚函数重写(覆盖)选择题虚函数重写的其他问题析构函数的重写override 和final关键字重载/重写…...

PyQt6基础_QThread

目录 前置 代码: 运行 正常运行 QThread运行报错 视频 前置 1 PySide6.QtCore.QThread - Qt for Python QThread官方文档 2 长时间任务可以放到QThread中执行,避免占用主线程导致界面卡顿无法操作 代码: import traceback,sys fro…...

工业通讯现场中关于EtherCAT转TCPIP网关的现场应用

在当今工业自动化的浪潮中,EtherCAT技术以其高效、实时的特性成为了众多制造业的首选。然而,随着工业互联网的发展,对于数据的远程访问和云平台集成的需求日益增长,这就需要将EtherCAT协议转化为更为通用的TCP/IP协议。于是开疆智…...

vite创建vue3项目并进行配置

创建项目 方式一 执行以下命令 之后输入项目名称 选择框架 选择语言 例如 pnpm create vite此方式创建的项目较为干净 0手起步 只包含一些基础依赖 例如vue vite等 项目目录如下 "scripts": {"dev": "vite","build": "vue-tsc -…...

LeetCode 热题 100_最小路径和(92_64_中等_C++)(多维动态规划)

LeetCode 热题 100_最小路径和(92_64) 题目描述:输入输出样例:题解:解题思路:思路一(多维动态规划): 代码实现代码实现(思路一(多维动态规划&…...

关于常量指针和指向常量的指针

关于指针,对于常量指针和指向常量的指针也是傻傻分不清。看到定义时,不知道是指针不能变,还是指针指向的内容不能变量。 先看形式: const char * A; char * const B; 这两种有什么区别?傻傻分不清。 A这种定义&am…...

新时代下的存储过程开发实践与优化

随着现代应用系统的复杂度不断增加,数据库作为核心的数据存储和处理引擎,其性能和可靠性显得尤为重要。存储过程(Stored Procedure)作为一种封装在数据库中的应用逻辑,使得开发者能够在数据库层面实现数据操作、数据校…...

4月28日日记

2025年4月28日 星期一 晴 今天过得格外充实,也充满了收获与喜悦。 下午,我参加了学校的五四述职大会。各个学院的团委书记依次上台,汇报过去一年的工作成果。看着大家在台上分享着各自学院的精彩故事,我深受触动。他们所展示的活…...

大模型性能测试

当我们部署了大模型并对外提供服务时,我们通常都想了解一下大模型能够支持多少个并发访问,在不同的并发数下,模型的性能如何。了解这些信息有助于我们更好的对算力进行评估,为用户带来更好的性能体验。 大模型通常是通过API接口的…...

利用 Google Earth Engine 探索江宁区 2010 - 2020 年 EVI 时空变化

引言 增强型植被指数(Enhanced Vegetation Index,EVI)是一种用于量化植被生长状态和覆盖程度的重要指标,它在监测植被动态、生态环境评估以及气候变化研究等领域发挥着关键作用。Google Earth Engine(GEE)…...

IEC 61850标准协议解读 2.基于Java的MMS实现

专栏文章目录 第一章 IEC 61850标准协议解读 0.导言 第二章 IEC 61850标准协议解读 1.建模讲解 第三章 IEC 61850标准协议解读 2.基于Java的MMS实现 目录 专栏文章目录前言1 依赖库引入2 创建服务端3 创建客户端4 读写模型4.1 服务端读写4.2 客户端读写 5.报告6 文件服务6.1 读…...

花费7元训练自己的GPT 2模型

在上一篇博客中,我介绍了用Tensorflow来重现GPT 1的模型和训练的过程。这次我打算用Pytorch来重现GPT 2的模型并从头进行训练。 GPT 2的模型相比GPT 1的改进并不多,主要在以下方面: 1. GPT 2把layer normalization放在每个decoder block的前…...

【android bluetooth 协议分析 06】【l2cap详解 10】【通过avdtp连接流程,感受l2cap通道的生命周期变化】

本篇我们通过分析一个具体的实例,来直观感受一下 l2cap 中通道的 状态变化。 1. 环境描述: 车机: a2dp sink手机: a2dp source场景: 手机主动 触发 连车机 声明一下: 分析的btsnoop 和 logcat 还有源码,…...

如何在idea中写spark程序。

要在IntelliJ IDEA中编写Spark程序,你可以按照以下步骤进行: 1. 安装和配置Java:确保你的计算机上已经安装了Java Development Kit (JDK),并且已配置好 JAVA_HOME 环境变量。 2. 安装IntelliJ IDEA:下载并安装Inte…...

Pytest-mark使用详解(跳过、标记、参数 化)

1.前言 在工作中我们经常使用pytest.mark.XXXX进行装饰器修饰,后面的XXX的不同,在pytest中有不同的作 用,其整体使用相对复杂,我们单独将其抽取出来做详细的讲解。 2.pytest.mark.skip()/skipif()跳过用例 import pytest #无条…...

[Android] GKD v1.10.3

[Android] GKD 链接:https://pan.xunlei.com/s/VOOwKvmwpLoLl7fLi6wJZKK-A1?pwd8mey# GKD(详情请戳 作者项目地址)是一款免费开源简洁多规则的自动跳过广告的软件,整体基于kotlin开发,免root即可使用。简而言之&am…...

C22-作业练习之最大公约数与最小公倍数

作业练习之最大公约数与最小公倍数 代码 #include <stdio.h> int main() {//变量初始化int m,n;int i,gcd,lcm;//数据录入printf("请输入两个整数:");scanf("%d %d",&m,&n);//求最大公约数int min(m<n)?m:n; //找m与n的最小值for(imi…...

信号完整性简介第一篇

本章将讲述信号完整性相关问题。首先提出什么是高速系统设计中的信号完整性&#xff0c;其次结合影响信号完整性的各种因素&#xff0c;深入讨论在高速系统设计过程中会碰到的几类信号完整性问题&#xff0c;并对每一类问题提出相应的预防措施和解决方案。 需要说明&#xff0…...

Qt开发环境的安装与问题的解决(2)

文章目录 1. Qt开发环境安装的说明2. 通过安装包进行安装3. 通过在线下载程序 解决问题下载 https....网路错误问题解决开始安装--第一部分开始安装--第二部分 4. 建议配置环境变量&#xff08;非必须&#xff09;配置环境变量的意义 简介&#xff1a;这篇文章主要分享Qt开发环…...

STM32 ADC模数转换器

一、ADC简介 ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁12位逐次逼近型ADC&#xff0c;1us转换时间 输入电压范围&#xff1a;0~3.3V&#x…...

World of Warcraft [CLASSIC] Hunter[Grandel] R12

World of Warcraft [CLASSIC] Hunter[Grandel] R12 R13&#xff0c;[Freeblue] 可惜当时没有截图&#xff0c;唉&#xff0c;没有纪念 --- 挂机脚本...

kalibr:相机模型

文章目录 📚简介Kalibr标定支持的相机模型及适用场景📌 针孔相机模型(Pinhole)🌐 全向相机模型(Omnidirectional)🔍 特殊模型💡 选型建议⚠️ 注意事项📚简介 Kalibr作为多传感器标定的重要工具,支持多种相机模型以适应不同光学特性的视觉传感器。其核心相机…...

【AI News | 20250428】每日AI进展

AI Repos 1、dyad Dyad 是一款免费开源的本地化 AI 应用开发工具&#xff0c;兼容 Windows 和 Mac 双平台。支持使用自有 API 密钥灵活调用主流 AI 模型&#xff08;包括 Gemini、GPT-4.1、Claude 等&#xff09;&#xff0c;内置数据库与身份验证系统可快速构建完整应用。 …...

DNS区域的类型

在BIND9中&#xff0c;type 用于定义DNS区域的类型&#xff0c;不同的类型决定了BIND如何处理该区域的DNS数据。以下是主要的类型及其作用详解&#xff1a; 1. master&#xff08;主区域&#xff09; 作用&#xff1a; 表示该区域是权威DNS服务器的主副本&#xff0c;负责存储…...

​​HTTP vs HTTPS:传输协议的安全演进与核心差异​

HTTP&#xff08;HyperText Transfer Protocol&#xff09;和HTTPS&#xff08;HTTP Secure&#xff09;作为两种最常用的协议&#xff0c;其安全性和实现方式直接关系到用户隐私和数据完整性。 目录 ​​一、HTTP与HTTPS的基础概念​​ ​​二、HTTP与HTTPS的核心差异​​ ​…...

Android平台Unity引擎的Mono JIT机制分析

一、分析背景 Unity引擎开发游戏采用了C#语言,Unity采用了Mono的Jit机制实现C#逻辑代码动态编译和执行,Mono属于开源的工程,可通过查看Mono源码了解其中的处理。本文针对Mono的Jit动态编译和执行的机制进行分析,更好的了解Unity引擎在Android平台所采用的处理方式。 二、M…...

【java】接口

一、定义 1.接口中所有方法都是抽象方法和公共方法&#xff08;可以省略 abstract、public&#xff09;&#xff0c;不可以有正常的方法&#xff0c;所有变量都是全局静态常量 2.能继承接口的只能是接口 3.接口和类的关系通过实现&#xff08;重写&#xff08;实现&#xff09;…...

Vuex(二) —— 用Vuex完成购物车案例

目录 需求需求分析 组件分析组件通信 开发 准备环境准备模块结构商品列表组件 展示商品列表添加购物车 我的购物车组件 购物车列表商品数量和统计功能删除购物车商品 购物车列表组件 购物车列表全选操作数字加减并统计小计删除功能统计总数量和总钱数处理金额小数的问题 本地存…...

数字孪生的浪潮:从虚拟镜像到现实世界的 IT 变革

文章目录 数字孪生的本质&#xff1a;物理与虚拟的实时镜像数字孪生的演进&#xff1a;从工业试验到全行业热潮核心技术&#xff1a;数字孪生的基石与工具链物联网&#xff08;IoT&#xff09;&#xff1a;数据采集云计算与大数据&#xff1a;模型存储AI 与机器学习&#xff1a…...

Web开发之三层架构

实例&#xff1a; 分层解耦 耦合:衡量软件中各个层/各个模块的依赖关联程度。 内聚:软件中各个功能模块内部的功能联系。 软件设计原则:高内聚低耦合 控制反转:Inversion 0f Control&#xff0c;简称IQC。对象的创建控制权由程序自身转移到外部(容器)&#xff0c;这种思想称为…...

社交电商和泛娱乐平台出海南美市场支付方式与策略

随着中国社交电商和泛娱乐平台加速全球化布局,南美市场凭借庞大的人口基数、快速增长的互联网渗透率和活跃的社交媒体使用率,成为出海企业的重要战略要地。然而,这片"新蓝海"的支付生态复杂多元,信用卡欺诈率高企,现金支付仍占主导,不同国家支付偏好差异显著。…...

Miniconda Windows10版本下载和安装

Miniconda Windows10版本下载和安装 步骤1&#xff1a;Miniconda3下载和安装 # 1、下载地址&#xff08;Windows 64位&#xff09; https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe #2、双击进行安装 # 安装注意事项&#xff1a; 1. 安装路径建议&a…...

编译原理:由浅入深从语法树到文法类型

文法与语言基础&#xff1a;从语法树到文法类型 文法&#xff08;Grammar&#xff09;和语言&#xff08;Language&#xff09;是计算机科学和语言学中解析和理解语言结构的核心概念。无论是编程语言的编译器设计&#xff0c;还是自然语言处理&#xff08;NLP&#xff09;中的…...

初识Python

哈哈哈&#xff0c;为了让初学者对python进一步了解&#xff0c;懒惰的博主特地去问了AI&#xff0c;如何更加形象的形容python这一么语言 &#x1f31f; Python 是什么&#xff1f; 想象一下&#xff0c;编程语言是一群性格各异的人&#xff1a; C语言&#xff1a;穿格子衫的…...

C++ —— 正向迭代器与反向迭代器

目录 1. 正向迭代器&#xff08;Forward Iterator&#xff09; 1.1 基本概念 1.2 核心特性 1.3 典型使用 1.4 重要特点 2. 反向迭代器&#xff08;Reverse Iterator&#xff09; 2.1 基本概念 2.2 核心特性 2.3 典型使用 2.4 重要特点 3. 正反迭代器对比 4. 正反迭代…...

FDA会议类型总结

1. 会议类型及目的 1.1 Type A会议 1.1.1 争议解决会议 用于解决药物研发过程中与FDA产生的争议,明确双方分歧点。 通过讨论达成共识,避免因争议影响研发进度。 1.1.2 临床保留讨论会议 针对临床试验中出现的问题进行讨论,决定是否保留临床试验。 综合评估临床试验的安全性…...

数据结构算法竞赛训练网站OJ(Online Judge)

都是个人使用过的算法训练OJ&#xff0c;存个档 洛谷 https://www.luogu.org/ 个人使用最多的&#xff0c;题目较全&#xff0c;每题都有题解博客&#xff0c;社区比较完善。 PTA https://pintia.cn/ 学习数据结构和练习天梯赛的时候使用的。 牛客 https://ac.nowcoder.co…...

快速搭建对象存储服务 - Minio,并解决临时地址暴露ip、短链接请求改变浏览器地址等问题

本文要解决的问题 基础的Minio下载安装、java操作方法、完整的工具类。 使用minio时需要注意的地方&#xff1a; 使用Minio的时候&#xff0c;生成资源的临时访问链接时&#xff0c;生成的地址IP是真实的IP和端口&#xff0c;不安全&#xff0c;怎么办&#xff1f; 生成的Min…...

2025年- H11-Lc118-53.最大子数组和(普通数组)---java版

1.题目描述 2.思路 用动态规划方法来解决【最大子数组和】&#xff08;Maximum Subarray&#xff09;问题。 pre&#xff08;当前位置最大和&#xff09;、 maxAns&#xff08;全局最大和&#xff09; 3.代码实现 class H53 {public int maxSubArray(int[] nums) {int curr…...

基于蓝牙Beacon人员导航方案

基于蓝牙Beacon人员导航方案 一、室内定位市场痛点与技术选择 大型商场&#xff08;单层超2万㎡&#xff09;和医院&#xff08;科室超200个&#xff09;的复杂空间中&#xff0c;传统GPS信号衰减超90%&#xff0c;用户平均寻路耗时10-15分钟&#xff0c;30%购物决策因“找店…...

mysql模糊多次OR查询某一个字段,针对这个字段进行查询分组

一. 需求 有一个mysql表t_test,有两个字段className和studentStr 其中studentStr会用来模糊查询 假如现在有6条数据 1.studentStr字段数据:“小明,小红,小同,小芳,小特,小兰” 2.studentStr字段数据:“小明,小红,小同” 3.studentStr字段数据:“小芳,小特,小兰” 4.stud…...

OpenGL进阶系列21 - OpenGL SuperBible - blendmatrix 例子学习

一:概述 颜色输出阶段是 OpenGL 渲染管线中最后一个阶段。它决定了片段在离开片段着色器之后,最终显示在用户屏幕上的颜色值。颜色输出阶段最重要的一个操作就是混合。本例子重点介绍下OpenGL中的混合操作。 对于每个通过片段测试(per-fragment tests)的片段,会执行混合操…...