边缘计算的基本概念和技术细节,包括其历史、基本原理、优势、应用场景、未来规划等 The Rise of Edge Computing and its Impact

作者:禅与计算机程序设计艺术

1.简介

随着移动互联网、物联网(IoT)等新型网络技术的不断推进,越来越多的设备连接到互联网上。这些设备采取的主要方式就是通过互联网进行通信。但是由于互联网的速度过慢、带宽有限等限制因素,使得人们对实时数据处理要求越来越高。为解决这个问题,边缘计算(Edge computing)技术应运而生。所谓边缘计算就是将计算任务卸载到离终端设备更近的位置,这样就可以提升性能并减少延迟。在边缘计算中,数据的处理任务可以被分派到离用户最近的地方,从而保证数据的准确性及时性。
  作为主流的云计算服务商Google在其I/O大会上正式宣布了边缘计算服务的正式发布,并且声称“全球每天都有数以亿计的设备连接到互联网”,这标志着边缘计算将成为下一个重大发展领域。在本文中,我们将探讨边缘计算的基本概念和技术细节,包括其历史、基本原理、优势、应用场景、未来规划等。
  本文不会涉及到太多的公式推导,而且侧重于阐述核心的基本概念和技术细节,因此读者需要具备相关知识和技能。

2.基本概念术语说明

2.1 什么是边缘计算?

边缘计算是一种在分布式系统环境中运行计算任务的方法,它利用现有的本地硬件资源或存储空间等资源,同时将计算任务卸载到离终端设备较近的地方执行,在一定程度上可以提高计算性能。它的基本思路是将数据分析、图像处理、机器学习等计算密集型任务卸载到靠近数据的终端设备或其他处理模块,并利用本地计算能力加速处理过程,从而实现数据分析、图像处理、机器学习等任务的快速响应、高效率。
  为了理解边缘计算,我们首先要了解分布式计算的定义。“分布式计算”是指由多个节点组成的集群中的每台计算机都参与运算,并且每个计算机都是相同的角色——只不过有着不同的功能。因此,“分布式计算”一般指的是由多台计算机组成的集群或网络。
  因此,边缘计算也属于分布式计算范畴,它利用分布式系统架构,将数据分析、图像处理、机器学习等计算密集型任务十迫到离终端设备较近的地方,在一定范围内加速数据处理,缩短响应时间,提升处理效率。换句话说,边缘计算的基础是分布式系统架构。

2.2 边缘计算的基本概念

边缘计算的基本概念如下:

1. 设备边缘:
  边缘计算通常是在物联网(Internet of Things, IoT)、移动互联网、大数据中心、边缘计算中心以及小型设备上进行。此外,一些传感器也被安装在户外,如盲人眼镜。在很多情况下,还可以通过部署专用的低功耗处理单元来降低功耗,提高性能。如今,已经有越来越多的设备采取边缘计算技术。

2. 数据边缘:
  对于边缘计算来说,数据处于其核心位置,所有的设备都会产生各种类型的数据。数据边缘指的是数据在整个网络传输过程中所处的位置。数据边缘越远,需要传输的延迟就越高。而对于那些访问频率比较低的数据,则不需要经过完整的数据链路传输即可满足需求。另外,还有一些数据会先进入云端后再传输到设备端,这类数据也会受到网络带宽的限制。

3. 计算边缘:
  计算边缘指的是计算任务的执行位置。计算任务一般会消耗大量的计算资源,因此需要将其部署在距离终端设备较近的地方执行,以避免与其他计算任务的资源竞争,达到最佳的性能。

4. 服务边缘:
  除了计算资源外,边缘计算还涉及到其他服务。例如,对于传感器数据,我们可能需要将数据上传到云端,之后再根据业务规则进行计算处理;对于一些实时计算,则需要向云端请求数据和模型,然后直接进行计算并返回结果给终端设备。服务边缘就是这些边缘计算所依赖的服务平台所在地。

2.3 边缘计算的特点

边缘计算具有以下特点:

  1. 计算即服务(CaaS):
      边缘计算最大的特征是“计算即服务”。云端为开发者提供了计算资源,开发者只需关注应用逻辑,而无需关心底层硬件资源的管理,无论是虚拟机还是容器、调度策略,甚至服务器的配置都不需要考虑。只需要提交相应的代码文件,云端便可快速响应,返回计算结果。

  2. 小型化:
      边缘计算的一个重要目标就是将计算能力从中心扩展到各个边缘设备,尤其是在移动设备、嵌入式设备等小型计算设备上的计算任务。由于边缘设备本身的特点,它们拥有较少的处理器、内存和存储资源。因此,当把计算任务卸载到边缘设备上时,实际上需要考虑到设备的可用资源有限,需要保证计算任务的完成。

  3. 低延迟:
      云端也可以提供缓存机制,即将部分数据缓存在本地,供后续请求使用。由于计算任务并不是实时的,因此可以在边缘设备本地实施缓存,从而获得较好的性能和响应时间。

  4. 隐私保护:
      边缘计算在处理敏感数据时尤其具有吸引力。比如医疗影像、交通灾害数据等。由于数据的收集、传输和处理均发生在边缘,可以有效防止数据泄露。

2.4 边缘计算的应用场景

边缘计算技术主要用于解决以下几个关键场景:

  • 超级计算:
    超级计算是指处理能力超出当前机器所能处理的极限的问题。由于单个处理器的处理能力有限,因此需要通过集群的方式提高处理能力。在边缘计算的帮助下,超级计算系统可以使用非常廉价的昂贵服务器。例如,深度学习算法在边缘计算上训练得到的神经网络参数可以在设备上实时运行,获得实时预测能力。

  • 智能视频监控:
    智能视频监控是人工智能技术发展的最新领域之一。摄像头对视频进行采集、编码、传输、显示等整个过程都会消耗大量的处理资源。这给智能视频监控带来了巨大的挑战。边缘计算能够帮助智能监控中心将消耗大量计算资源的部分任务卸载到设备端,降低计算成本。

  • 高容量存储:
    在边缘计算上部署分布式文件系统可以提供超大容量存储服务。存储服务器的数量和大小可以根据需要自动扩张。边缘计算也能够帮助降低云端服务器的使用成本,提高资源利用率。

  • 机器人:
    有些机器人会实时执行复杂的任务。为保证机器人的正常运作,边缘计算会将一些任务卸载到设备端执行。如今,机器人产业在不断发展,边缘计算的应用也逐渐被提上日程。

2.5 边缘计算的架构

边缘计算的架构一般分为三个层次:计算层、存储层和通信层。

  1. 计算层:
    这一层主要负责处理计算密集型任务,如图像处理、机器学习等任务。典型的计算层架构如下图所示:

图中有两台设备A和B分别作为计算层的计算节点,其中A和B分别运行任务分担机制。这两台设备在不断接收任务,并分配到计算资源上执行。如果A设备的任务完成比例较高,那么A设备就会获得更多的计算资源。另一方面,如果B设备的任务完成比例较高,那么B设备就会获得更多的计算资源。

当某台设备出现故障时,任务分担机制会将其上运行的任务重新分配给其他设备执行。这样可以保证整个计算系统的鲁棒性。

  1. 存储层:
    存储层主要用于存储静态数据,如音频、视频、图片等。存储层的架构如下图所示:

根据需求不同,存储层可以采用分布式或联邦式架构。分布式存储架构将数据分散到多台存储节点上,可以有效防止单个存储节点损坏。联邦式存储架构可以将数据存储在多台服务器上,相互协同,共同保护数据安全。

另外,存储层还可以提供缓存服务。如果某条数据的热门度比较高,可以选择将其缓存在本地,供后续请求使用。

  1. 通信层:
    通信层用于实现数据通信。通信层使用的协议多种多样,如基于TCP/IP的传输协议、组播协议等。通信层的架构如下图所示:

根据需求不同,通信层可以采用多种网络技术,如SDN、WLAN、蜂窝网络等。在通信层,云端设备之间需要建立长连接,以保持通信状态。

2.6 边缘计算的优势

边缘计算在提升计算能力、降低延迟、减少网络拥堵等方面都有明显的优势。

  1. 提升计算能力:
    边缘计算通过将计算任务卸载到靠近终端设备的位置,可以很好地提升计算能力。虽然云端依然是主要的计算节点,但其处理能力受到资源限制,在大规模分布式计算中,边缘计算的优势更加突出。

例如,在智能视频监控应用中,云端的摄像头采集、处理、编码等任务可以利用大数据集群处理,但这种处理任务耗费的时间、算力都比较多。而通过边缘计算,摄像头只需要发送原始视频数据到边缘计算中心,就可以实时处理并实时传输到云端展示。

此外,边缘计算还可以用来进行机器学习任务,利用昂贵的云端服务器进行大规模的训练。但由于摄像头传送的视频数据规模庞大,无法放入云端服务器,因此需要边缘计算将其转移到设备端,降低传输时延。

  1. 降低延迟:
    另一个显著的优势是降低延迟。由于边缘计算利用本地的处理资源进行计算,因此可以比云端快很多。这对于实时视频、音频、人脸识别等应用来说尤为重要。

例如,摄像头拍摄的视频在云端传输时延通常为几秒钟,而通过边缘计算传输到设备端后,则仅需几毫秒,从而降低了整体的延迟。

此外,在需要分析海量的数据时,云端处理数据时延可能会很长。这时,可以将分析任务卸载到边缘计算中心,就可以获得实时响应。

总之,边缘计算通过在本地进行计算,降低延迟,提升计算能力,可以为更多的应用场景提供服务。

  1. 减少网络拥堵:
    最后,边缘计算还可以用于减少网络拥塞。由于云端服务器部署在中心区域,有利于缓解网络拥堵,但由于数据量的大小和传输距离等原因,导致网络上延迟增加。而在边缘计算中,设备端的数据只需传输一次,因此延迟更低。

在通信层,云端服务器之间的通信会受到许多限制,如网络带宽限制、带宽峰值限制等。而边缘计算设备端则无需等待云端服务器的响应,因此可以显著降低网络拥塞。

此外,云端和边缘计算之间的数据传输也会受到限制。由于云端和边缘计算之间存在多级路由,因此数据的传输路径多且复杂,因此数据传输的延迟也会比较高。而在边缘计算中,数据的传输路径只需一步,因此延迟较低。

3.核心算法原理及具体操作步骤

本节我们将结合文章所涉及到的一些具体案例,来详细介绍边缘计算技术在实际生产中的应用。

3.1 智能视频监控

智能视频监控(AVM)是利用智能手机和摄像头进行视频监控的一项技术。智能手机连接到本地摄像头,将采集的视频实时传输到云端,云端可以对视频进行处理,生成监控报警信息。
  操作流程如下:

1. 用户打开APP,连接到本地摄像头。
    2. APP端发送开机命令。
    3. 本地摄像头启动,开始采集视频。
    4. 视频经过编码、压缩,上传到云端。
    5. 云端解码、处理视频,生成监控报警信息。
    6. 监控报警信息发送回APP端。
    7. APP端实时播放视频,显示监控画面。
    8. 如果出现异常情况,APP端可以调用远程控制功能,远程拍照,查看设备状态。

为了减少网络拥堵,云端可以利用边缘计算进行视频分析。智能视频监控系统中的视频分析环节,可以将其移至设备端,利用本地的GPU处理能力进行快速处理。
  假设某个用户设置了监控预约,希望知道某个时间段是否有空闲的监控房间。该系统的工作流程如下:

1. APP端向云端查询空闲房间的信息。
    2. 云端将空闲房间的位置信息发送回APP端。
    3. 用户确认预约。
    4. APP端发送预约指令,开启本地摄像头。
    5. 本地摄像头记录视频。
    6. 视频经过本地处理,处理完毕后发送结果回云端。
    7. 云端利用分析算法判断是否有空闲房间。

此外,云端可以定期扫描房间的状况,发现任何异常现象,立即通知用户。
  除此之外,智能视频监控还可以实时监控设备的状态。如电梯的运行轨迹、行驶方向、速度等。当有异常情况发生时,边缘计算中心可以触发相关的操作,如自动开盖关门。
  边缘计算的发展也给传统监控行业带来了新的发展方向。未来的智能视频监控将继续用边缘计算代替云端处理,实现更快、更精准、更可靠的监控效果。
  # 3.2 智能安防
  智能安防(SAF)系统可以监控摄像头前的区域,发现异常行为时触发报警。智能安防系统是对AVM的升级,具有更高的准确度、覆盖范围和时效性。
  SAF系统的操作流程如下:

1. 用户注册SAF账号。
    2. SAF客户端登录SAF后台。
    3. SAF客户端获取摄像头图像。
    4. 图像经过算法分析,确定区域内是否存在异常。
    5. 若存在异常,SAF客户端向SAF后台发送报警信息。
    6. SAF后台向用户发送报警消息。
    7. 用户查看SAF报警消息。
    8. 如果用户确认报警消息,可以输入验证密码。
    9. 验证成功后,SAF后台自动打开警报。

为了提高检测准确率,SAF系统可以将图像传输到设备端进行分析,利用边缘计算的处理能力。对于重点区域,可以实时处理。
  由于SAF系统仅能实时检测,因此在监控的时效性上要优于AVM。另外,SAF系统可以提供丰富的功能,如语音识别、视频监控、智能交通管制等。
  # 3.3 设备预约
  物联网(IoT)设备预约系统可以让用户快速预约指定的时间段进行设备的租赁。设备预约系统需要满足以下需求:

- 支持多种设备:
由于当前设备市场的激增,设备预约系统需要支持多种设备类型,如电视机、路由器、电磁炉等。
  - 方便快捷:
用户应该可以方便快捷地进行设备预约,无需等待专门的人工服务员,简单地点击按钮即可完成预约。
  - 用户自治:
不希望设备预约系统的运营者垄断市场,用户应该自己决定哪些设备可以预约。
  - 低成本:
需要降低预约费用,用户应该能按时完成预约。
  - 安全可靠:
设备预约系统必须足够安全、可靠,以免因第三方行为导致设备租赁失败。
  设备预约系统的具体操作流程如下:

1. 用户通过APP界面访问设备预约系统。
    2. 用户选择所需的设备类型、时长和日期。
    3. 用户提交订单,系统生成预约单号。
    4. 系统发送预约链接到用户邮箱。
    5. 用户收到预约链接,点击链接。
    6. 用户授权访问。
    7. 用户完成支付。
    8. 用户申请租赁设备。
    9. 系统发送租赁凭证。

物联网设备预约系统的主要技术难点是如何保证安全、可靠。可以采用以下措施来提高安全性:

- 加密传输:
通过加密传输可以防止网络攻击,确保用户数据安全。
  - 使用VPN:
VPN技术可以实现专线加密,提高网络安全。
  - 验证码:
可以在支付阶段加入验证码,增加支付验证的复杂度。
  - 2FA:
可以使用双重身份认证技术,提高认证过程的安全性。
  - 数据隔离:
可以采用分片传输、数据库隔离等手段,保证用户数据安全。

3.4 车联网

车联网是一个用于管理和控制汽车及其周围环境的网络系统。车联网的主要功能有车辆监控、车辆安全、车辆远程操控、车道监控等。
  车联网的主要设备有车辆,车载终端设备,车载基站等。车辆之间通过上行链路传输信息,车载终端设备通过下行链路接收信息。车载基站用于定位、跟踪车辆。
  为了实现车联网的功能,车联网系统需要对通信链路进行优化。优化的核心是采用分片传输、最小接入单元设计等方法。分片传输可以减少传输数据包的数量,提高传输速率。最小接入单元设计可以限制基站的载量,降低基站的成本。
  另外,车联网还需要对连接到网络的车辆进行标识。传统的识别方法采用车牌识别、指纹识别等。但由于道路建设、天气变化等原因,车牌识别不容易成功。因此,车联网可以采用RFID识别、二维码识别等新方法。
  优化后的车联网系统如下图所示:

车联网的应用场景非常广泛,包括汽车远程操控、车辆轨迹监控、车辆流量统计、车辆诊断系统等。在未来,车联网将扮演着越来越重要的角色。

3.5 智慧城市

智慧城市是指利用人工智能技术来提升城市生活品质的新兴技术领域。智慧城市可以对城市的经济发展、健康水平、社会治安、环境保护等方面进行数据挖掘和分析。
  智慧城市应用的关键在于建立统一的分析、预测、决策体系。统一的体系可以降低成本、提高效率,更好地满足不同用户的需求。
  目前,智慧城市已成为人工智能领域的一个热点研究方向。在未来,智慧城市将不断为普通百姓提供便捷、智能、满意的生活环境。

4.代码实例和解释说明

以上只是简单的介绍了边缘计算的基本概念、技术架构、优势、应用场景。下面我们将通过几个例子,来展开边缘计算的技术细节和算法原理。这里所说的算法原理与数学公式展开需要读者自行补充,大家可以在附录部分说明。

4.1 计算机视觉

计算机视觉是边缘计算的核心应用之一。在数字图像识别方面,计算机视觉技术起到了至关重要的作用。通过计算机视觉,我们可以对大量的图片进行分析、理解,从而对各种事件、场景进行分类和检测。
  以下是使用开源库Opencv来进行图像处理的简单示例:

import cv2gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # 转换成灰度图
edges = cv2.Canny(gray, 50, 150)  # Canny算子边缘检测
contours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)  # 获取轮廓
for cnt in contours:if cv2.contourArea(cnt) > 10000:x, y, w, h = cv2.boundingRect(cnt)  # 找到最小矩形框cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)  # 绘制矩形框
cv2.imshow("result", img)  # 显示图像
cv2.waitKey(0)

上面的代码可以读取一张图片,并对其进行边缘检测、轮廓查找、矩形框绘制。在边缘检测方面,我们使用了Canny算子,这是一种经典的边缘检测算法。通过调整两个参数来调节检测效果,第一个参数表示低阈值,第二个参数表示高阈值。在轮廓查找方面,我们使用了cv2.findContours()函数,这个函数返回两个结果,第一个是轮廓坐标列表,第二个是层级信息。我们选择使用外部轮廓表示法,并使用近似曲线表示法来提高性能。在矩形框绘制方面,我们调用cv2.boundingRect()函数来找到最小矩形框。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部