浅谈边缘计算
- (꒪ꇴ꒪ ),Hello我是祐言QAQ
- 我的博客主页:C/C++语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍
- 快上🚘,一起学习,让我们成为一个强大的攻城狮!
- 送给自己和读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!
- 作者水平很有限,如果发现错误,请在评论区指正,感谢🙏
一、什么是边缘计算?
初次听闻边缘计算(Edge Computing)时,大家肯定也和我一样一脸懵逼,其实它不是一个字面含义的词,而指的是:让数据“就近处理”而不是“远程上传”。 边缘计算是一种分布式计算架构,,指的是将数据处理任务从云中心迁移到网络边缘,即离数据源更近的位置,如本地服务器、边缘网关、工业控制设备、智能终端等。这样可以实现数据的本地处理、实时响应和高效控制,从而缓解中心云的压力,提升整个系统的响应速度和可靠性。
与传统“数据→云→处理→反馈”的集中处理方式相比,边缘计算采用“数据→边缘→处理→反馈”的方式,大幅降低了网络传输延迟,减少了冗余数据上传,提高了敏感信息的本地处理能力。
但它也不是说一定要代替云计算(通过互联网按需提供计算资源和服务,如存储、服务器、数据库、网络和软件的计算模式)方式,而是与云形成“协同”——本地快速响应 + 云端统一优化。它结合了“就近计算的高效”与“云端智能的强大”,在 5G、物联网、AI 融合背景下前景广阔。
1.1 通俗理解
假设想你用手机拍摄高清视频并上传到云服务器进行处理,例如车牌识别。如果每次都把视频上传到远程云端再分析,会消耗大量带宽、时间,延迟也高。而边缘计算的做法是:在你手机附近的基站或路由器上就完成大部分分析处理,只把结果上传云端,大大加快响应速度并减轻网络压力。
1.2 核心特征
特征 | 说明 |
---|---|
低延迟 | 数据本地处理,响应更快,适用于实时性强的应用(如自动驾驶、工业控制) |
减轻负载 | 减少对云数据中心的依赖,降低带宽消耗 |
增强隐私 | 敏感数据无需上传云端,本地处理更安全 |
弹性更强 | 网络中断时仍能进行部分本地决策与计算 |
1.3 与云计算对比
项目 | 云计算(Cloud Computing) | 边缘计算(Edge Computing) |
---|---|---|
计算位置 | 云中心服务器 | 靠近终端设备 |
延迟 | 高 | 低 |
安全性 | 数据集中存在风险 | 数据本地处理更安全 |
成本 | 高带宽需求 | 节省带宽和资源 |
二、边缘计算的架构
随着物联网、5G 和人工智能技术的迅速发展,海量设备产生的数据给传统云计算模式带来了极大压力。边缘计算(Edge Computing)应运而生,作为一种新型的分布式计算模型,它通过将计算资源部署在网络边缘,显著提升了实时性、效率与安全性。 边缘计算的架构通常呈层次化结构,包含三个主要层次,分别是感知层、边缘层和云端层,下面就这三层结构分别做介绍。
2.1 感知层
感知层,又称为“设备层”,该层由大量嵌入式设备和传感终端组成,如智能摄像头、温湿度传感器、智能穿戴设备、AGV小车、无人机、工业控制器等。它们负责采集环境信息,并进行简单的数据预处理,主要有:
-
各种传感器(温湿度、压力、震动等)
-
摄像头、智能穿戴设备、无人机等
-
移动终端、工业控制器等
这些设备负责数据的实时采集与初步预处理,构成边缘计算的“数据源”,以备后续使用。
2.2 边缘层(网络边缘节点)
边缘层是整个系统中负责中间处理、快速决策与数据过滤的核心环节。边缘节点可部署在基站侧、工业网关、本地服务器、微型数据中心等位置。其功能包括:
-
本地数据分析与计算(如人脸识别、车辆检测)
-
数据缓存与过滤
-
实时控制指令下发
-
AI 模型的本地部署与推理
此外,边缘节点的部署灵活,可以根据业务需求扩展不同算力、存储能力和通信接口。
2.3 云端层(远程数据中心)
云端依旧承担着系统的“重型工作”角色,负责以下任务:
-
大规模数据的统一存储和整合分析;
-
AI模型的训练与优化;
-
多边缘节点之间的协同管理;
-
面向未来趋势的决策制定支持。
在某些场景中,云还充当“备份大脑”,用于调度优化和跨区域协同。
三、边缘计算的关键技术
边缘计算之所以在复杂场景中得以推广和落地,离不开其背后支撑的一系列核心技术。这些技术既保障了边缘节点的独立处理能力,也实现了端到端高效协同。
3.1 边缘人工智能(Edge AI)
传统 AI 模型通常部署在云端,但在边缘场景中,模型需要在有限算力环境下运行,因此需要进行压缩、剪枝、量化等操作。例如:
-
使用 MobileNet、EfficientNet 等轻量神经网络;
-
部署 ONNX、TensorRT 优化后的模型;
-
结合 NPU、TPU 等加速硬件提升性能。
应用示例:在智能安防中,摄像头采集的人脸图像可由边缘设备实时识别和判断是否属于“黑名单”人员,实现毫秒级预警。
3.2 容器化与微服务架构
由于边缘设备硬件和操作系统异构性强,使用 Docker/Kubernetes(或其轻量版本 K3s)进行服务部署成为主流:
-
容器化保证了不同服务在不同设备上的可移植性;
-
微服务架构提高了模块化程度和部署灵活性;
-
可快速扩展、升级和回滚。
3.3 边缘安全与隐私保护
边缘计算靠近用户终端,敏感信息多,因此必须加强数据加密、安全传输和访问控制:
-
本地加密处理,避免原始数据上传;
-
零信任安全架构;
-
匿名化、差分隐私技术防止数据反识别。
3.4 边缘缓存与智能过滤
不是所有数据都需要上传到云端,因此边缘节点应具有数据裁剪能力:
-
对图像、视频等数据进行特征提取与关键帧筛选;
-
基于事件触发(如异常报警)上传必要数据;
-
本地设立缓存池减少网络拥堵。
3.5 网络切片与 5G 支持
借助 5G 网络的超高带宽、超低延迟,边缘计算可以与终端实现毫秒级协同。网络切片技术则允许在一张物理网络中构建多个虚拟子网络,满足不同业务的个性化需求。
四、边缘计算的典型应用场景
应用领域 | 边缘计算角色与价值 |
---|---|
智慧工厂 | 实现本地异常检测、设备预测性维护、质量检测 |
智慧城市 | 路口交通调度、智能路灯控制、本地环境监测 |
自动驾驶 | 边缘节点决策路径规划、协助避障,实现毫秒级响应 |
医疗健康 | 可穿戴设备实时监测心率、血压,边缘判别异常波动 |
新零售 | 边缘识别顾客性别、年龄,实现个性化广告推送与人流分析 |
能源电网 | 边缘站点实时监控设备运行状态,智能调度负载与储能设备 |
五、总结与展望
边缘计算正在从概念走向落地,从单点部署走向大规模协同。它以“计算前移”为核心理念,通过靠近数据源的位置进行处理,提升了系统响应速度、降低了带宽压力,同时保护了用户隐私。
未来,边缘计算将继续融合:
-
更强算力的边缘硬件(如 RISC-V 芯片、边缘TPU);
-
更智能的模型部署技术(如 AIGC 模型本地化);
-
更灵活的编排平台与低代码边缘开发框架。
更多C/C++语言、Linux系统、数据结构和ARM板实战相关文章,关注专栏:
手撕C语言
玩转linux
脚踢数据结构
系统、网络编程
探索C++
计算机网络
6818(ARM)开发板实战
MATLAB实战
📢写在最后
- 今天的分享就到这啦~
- 觉得博主写的还不错的烦劳
一键三连喔
~ - 🎉🎉🎉感谢关注🎉🎉🎉
相关文章:
浅谈边缘计算
(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮࿰…...
宝塔专属清理区域,宝塔清理MySQL日志(高效释放空间)
1. 删除超过 365 天的积分变更记录 宝塔面板 → 数据库 → 选择数据库 → 点击 管理 进入 phpMyAdmin 后: 选择在用的数据库名 看到顶部的 SQL 点击 输入命令 然后点击执行 DELETE FROM pre_common_credit_log WHERE dateline < UNIX_TIMESTAMP(DATE_SUB(NO…...

7.Demo Js执行同步任务,微任务,宏任务的顺序(3)
一个包含 同步任务、微任务(Promise)、宏任务(setTimeout) 的例子,JS 是怎么调度这些任务的。 🎯 例子代码(建议复制到浏览器控制台运行) console.log(‘同步任务 1’); setTimeo…...

边缘计算网关赋能沸石转轮运行故障智能诊断的配置实例
一、项目背景 在环保行业,随着国家对大气污染治理要求的不断提高,VOCs废气处理成为了众多企业的重要任务。沸石转轮作为一种高效的VOCs治理设备,被广泛应用于石油化工、汽车制造、印刷包装等主流行业。这些行业生产规模大、废气排放量多&…...
机器学习之深入理解机器学习常见算法:原理、公式与应用
机器学习之深入理解机器学习常见算法:原理、公式与应用 机器学习是一门让计算机自动从数据中学习规律的技术体系。常见的机器学习算法可以分为监督学习、无监督学习和深度学习三大类。本文将系统介绍每类中具有代表性的算法,并深入剖析其核心原理与数学基础。 一、监督学习(…...
Python实例题: Python 的简单电影信息
目录 Python实例题 题目 代码实现 实现原理 网页请求: 内容解析: 数据存储: 反爬策略: 关键代码解析 1. 网页请求处理 2. 电影列表解析 3. 电影详情解析 4. 爬虫主逻辑 使用说明 安装依赖: 修改配置&a…...
MyBatis 的动态 SQL
1. 动态 SQL 的定义 动态 SQL 是 MyBatis 的核心特性之一,它允许开发者根据运行时条件动态生成 SQL 语句。通过特殊的 XML 标签或注解语法,实现 SQL 的灵活拼接,避免在 Java 代码中手动拼接 SQL 字符串的复杂性和安全风险。 2. 核心作用 条…...
Redis中的setIfAbsent方法和execute
Redis中的setIfAbsent方法 Redis中的setIfAbsent方法是一种原子操作,它的作用是只有在指定的键不存在时才会设置值。这个方法在并发环境下非常有用,因为它可以避免多个客户端同时尝试设置相同键而导致的冲突。 代码示例 在Java中使用setIfAbsent方法通…...
高考数学易错考点02 | 临阵磨枪
文章目录 前言解析几何立体几何排列组合概率导数及应用前言 本篇内容下载于网络,网络上的都是以 WORD 版本呈现,缺字缺图很不完整,没法使用,我只是做了补充和完善。有空准备进行第二次完善,添加问题解释的链接。 ##平面向量 40.向量 0 ⃗ \vec{0} 0 与数 0 0 0 有区别…...
国产高性能pSRAM选型指南:CSS6404LS-LI 64Mb QSPI伪静态存储器
一、芯片基础特性 核心参数 容量 :64Mb(8M 8bit)电压 :单电源供电 2.7-3.6V (兼容3.3V系统)接口 :Quad-SPI(QPI/SPI)同步模式封装 : SOP-8L (150mil) &#…...
Go 中 `json.NewEncoder/Decoder` 与 `json.Marshal/Unmarshal` 的区别与实践
Go 中 json.NewEncoder/Decoder 与 json.Marshal/Unmarshal 的区别与实践(HTTP 示例) 在 Go 中处理 JSON 有两种主要方式:使用 json.Marshal/Unmarshal 和使用 json.NewEncoder/Decoder。它们都能完成 JSON 的序列化与反序列化,但…...

UE5 2D角色PaperZD插件动画状态机学习笔记
UE5 2D角色PaperZD插件动画状态机学习笔记 0.安装PaperZD插件 这是插件下载安装地址 https://www.fab.com/zh-cn/listings/6664e3b5-e376-47aa-a0dd-f7bbbd5b93c0 1.右键创建PaperZD 动画序列 2.添加动画序列 3,右键创建PaperZD AnimBP (动画蓝图&am…...

Ubuntu 16.04 密码找回
同事整理的供参考: 进入GRUB菜单 重启系统,在启动过程中长按Shift键(或Esc键)进入GRUB引导菜单。 若未显示GRUB菜单,可尝试在启动时连续按多次Shift/Esc键。 在GRUB菜单中选择默认的Ubuntu启动项(第一…...

【论文阅读】DanceGRPO: Unleashing GRPO on Visual Generation
DanceGRPO: Unleashing GRPO on Visual Generation 原文摘要 研究背景与问题 生成模型的突破:扩散模型和整流流等生成模型在视觉内容生成领域取得了显著进展。核心挑战:如何让模型的输出更好地符合人类偏好仍是一个关键问题。现有方法的局限性࿱…...

CentOS在vmware局域网内搭建DHCP服务器【踩坑记录】
1. 重新设置环境 配置dhcp服务踩了不少坑,这里重头搭建记录一下: 1.1 centos 网卡还原 如果之前搭了乱七八糟的环境,导致NAT模式也没法上网,这里重新还原 我们需要在NAT模式下联网,下载DHCP服务 先把centos的网卡还…...

AI炼丹日志-28 - Audiblez 将你的电子书epub转换为音频mp3 做有声书
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 大模型与Java双线更新中! 目前《大语言模型实战》已连载至第22篇,探索 MCP 自动操作 FigmaCursor 实…...
图像处理篇---face_recognition库实现人脸检测
以下是使用face_recognition库实现人脸检测的详细步骤、实例代码及解释: 一、环境准备 1. 安装依赖库 pip install face_recognition opencv-python # 核心库 pip install matplotlib # 用于显示图像(可选)2. 依赖说明 face_recognitio…...

74. 搜索二维矩阵 (力扣)
给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。…...

8088单板机C语言sprintf()格式化串口输出---Prj04
#include "tiny_stdarg.h" // 使用自定义可变参数实现#define ADR_273 0x0200 #define ADR_244 0x0400 #define LED_PORT 0x800 #define PC16550_THR 0x1f0 #define PC16550_LSR 0x1f5 / //基本的IO操作函数 / char str[]"Hello World! 20250531 Ve…...

板凳-------Mysql cookbook学习 (九)
第4章:表管理 4.0 引言 MySQL :: 员工样例数据库 :: 3 安装 https://dev.mysql.com/doc/employee/en/employees-installation.html Employees 数据库与几种不同的 存储引擎,默认情况下启用 InnoDB 引擎。编…...
深入解析 Flask 命令行工具与 flask run命令的使用
Flask 是一个轻量级的 Python Web 应用框架,其内置的命令行工具(CLI)基于 Click 库,提供了方便的命令行接口,用于管理和运行 Flask 应用程序。本文将详细介绍 Flask 命令行工具的功能,以及如何使用 flask r…...
第6篇:中间件 SQL 重写与语义分析引擎实现原理
6.1 章节导读 SQL 是数据库中间件的“输入语言”。 在一个真正强大的中间件系统中,SQL 语句的执行通常不再是“原封不动”地传递给数据库,而是需要先经过: 语义分析:解析 SQL 的结构和含义。 SQL 重写:根据中间件逻辑…...

基于SpringBoot的“嗨玩旅游”网站设计与实现(源码+定制+开发)嗨玩旅游平台开发:景点展示与个性化推荐系统(SpringBoot)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...

python版若依框架开发:python版若依部署
python版若依框架开发 从0起步,扬帆起航。 python版若依部署文章目录 python版若依框架开发1.源码2.概述3.部署1.源码 https://gitee.com/insistence2022/RuoYi-Vue-FastAPI 请诸君移步上述链接,即可对python版若依项目进行初步了解。 2.概述 若依框架本身基于java,可以快…...
React进阶:状态管理选择题
React进阶:状态管理选择题 引言 随着React应用复杂度增加,选择合适的状态管理方案成为我们面临的关键决策。 状态管理本质上是解决"谁来存储数据"以及"如何更新和分发这些数据"的问题。在React生态中,随着应用规模扩大…...

h5的aliplayer-min.js 加密视频会走到debugger
h5的aliplayer-min.js 如果 https://g.alicdn.com/apsara-media-box/imp-web-player/2.19.0/aliplayer-min.js走加密视频的话会有debugger 更换aliplayer-min.js版本解决了 https://g.alicdn.com/apsara-media-box/imp-web-player/2.25.1/aliplayer-min.js 对应css:…...
第5篇《中间件负载均衡与连接池管理机制设计》
5.1 章节导读 在数据库中间件中,如何高效地管理数据库连接与请求调度至关重要。 本节围绕两个核心模块展开: 连接池管理:提升连接复用能力,避免频繁建立/断开连接。 负载均衡策略:合理调度 SQL 请求,提升…...

DashBoard安装使用
DashBoard安装使用 一、实验目的 1、掌握dashboard 的安装部署 2、熟悉图像化部署任务:产生pod---定义服务--验证访问 二、实验内容: 1、配置步骤 1.1、Helm安装 离线安装(适用于内网/离线环境) # 根据系统架构选择版本&am…...

极客大挑战 2019 EasySQL 1(万能账号密码,SQL注入,HackBar)
题目 做法 启动靶机,打开给出的网址 随便输点东西进去,测试一下 输入1、1’、1"判断SQL语句闭合方式 输入以上两个都是以下结果 但是,输入1’时,出现的是另外结果 输入1,1"时,SQL语句没有…...
C# CallerMemberName特性
当你在一个方法运用了CallerMemberName特性,编译器会自动将调用该方法的方法或属性的名称作为该参数的默认值,可应用于MVVM框架。 代码: using System.ComponentModel; using System.Runtime.CompilerServices;public class Person : INoti…...