摘要:边缘计算作为继云计算之后新的计算范式,将计算下沉到靠近用户和数据源的网络边缘,提供数据缓存和处理功能,具有低延迟、安全性高、位置感知等特点。文中从边缘缓存的内容分发网络开始,综述了边缘计算的发展历程,从内容分发网络到云计算、雾计算和边缘计算的演变过程。接着,文章对目前流行的3种边缘计算架构进行了介绍,总结了边缘计算的典型应用场景:智慧保健、智能建筑控制、海洋监测控制、智慧城市、军事应用。然后,文章归纳了边缘计算的研究热点。最后,文章总结了边缘计算面临的问题和未来发展的展望。
关键字:边缘计算;云计算;物联网;架构
1 引言
随着互联网和计算机技术的发展,信息和数据呈现爆炸式增长的趋势,如何有效地处理和利用海量的信息并提高服务质量,已成为亟待解决的问题。在这种背景下,出现了云计算的概念。云计算作为并行计算、网格计算延伸的计算模式,受到了学术界和工业界的广泛关注。云计算将数据存储在云端,应用与服务存储在云端,通过发挥云服务器强大的数据处理和存储能力,来为用户提供便捷、可靠的服务。由于云服务器和终端设备物理位置之间的距离限制,集中处理和存储数据的云计算模式面临着实时性不够;宽带不足;耗能较大;不利于数据安全和隐私的问题,我们需要新的解决方案来弥补云计算的不足。
为了解决以上云计算存在不足,再加上智能应用的需求,边缘计算模型应运而生。边缘计算的定义是指靠近物或者数据源头的网络边缘侧,融合了网络、计算、存储、应用等核心能力的开放平台,就近提供边缘智能服务,满足行业数字 在敏捷联接、实时业务、数据优化、应用智能、安全隐私等方面的关键需求。通俗来说,边缘计算就是将云端的计算存储能力下沉到网络边缘,用分布式的计算与存储在本地直接处理或解决特定的业务需求,从而满足不断出现的新业态对于 网络高带宽、低延迟的硬性要求。
边缘计算的基本理念是将计算任务在接近数据源的计算资源上运行,可以有效的减小计算系统的延迟,减少数据传输宽带,缓解云计算中心压力,提高可用性,并能够保护数据安全和隐私。
本文第二节介绍了边缘计算的发展历程;第三节详细介绍了3种流行的边缘计算框架以及设计特点;第四节总结了边缘计算的主要应用方向以及部分研究成果;第五节主要介绍实现边缘计算的关键技术;第六节主要介绍边缘计算的研究方向;第七节总结了边缘计算面临的问题;最后,文章给出总结并对边缘计算未来的发展做出了展望。
2 边缘计算的发展历程
边缘计算的发展最早追溯于内容分发网络的提出,然后是基于云计算、Cloudlet、移动边缘计算、雾计算的各种思想,最终使得边缘计算取得比较成熟的发展。
2.1内容分发网络
边缘计算的概念最早追溯到20世纪90年代,Akamai公司为解决网络带宽小、用户访问量大且不均匀等问题,提出了内容分发网络CDN技术。CDN通过增加缓存服务器来实现内容服务,将边缘服务器设置在靠近用户的网络边缘。用户的请求会被定向到离用户最近且负载低的节点上,提高了用户访问的响应速度,尤其在视频音频等流媒体服务上有效保证了服务质量。CDN边缘服务器面向的是内容转发,而边缘计算节点面向的是数据处理。
2.2云计算
2007年,IBM和Google宣布在云计算领域开展合作后,云计算逐渐成为学术界和工业界的研究热点。伯克利云计算白皮书对云计算的定义中是:云计算包括互联网上的各种服务形式的应用及数据中心中提供这些服务的软硬件设施,云分为公有云和私有云。云计算系统具有支持虚拟化、保证服务质量、高可靠性和扩展性等特点。对于终端设备计算资源有限的问题,云计算提供的解决方案是通过在远程高性能的计算服务器上执行应用程序,并通过网络与云服务器进行交互。但是,这种架构也存在局限性,如网络时延波动大、网络带宽有限、传输成本高、数据安全和隐私问题等。
2.3 Cloudlet
2009年,Satyanarayanan等提出了基于Cloudlet的体系架构,Cloudnet是一种受信任、资源丰富的计算机集群,分散并广泛分布,其计算和存储资源可以被附近的移动计算机所使用。把云服务器的计算迁移到靠近用户的Cloudlet上,通过移动终端与Cludnet的近距离交互降低网络时延并提高服务质量。
2.4雾计算
2011年思科首次提出了雾计算的概念,它通过在移动设备和云之间引入一个中间雾层来扩展云计算。中间雾层由部署在移动设备附近的雾服务器构成,雾服务器是一种具有数据存储、计算和通信功能的虚拟设备。雾计算将少量的计算、存储和通信资源放在移动设备的附近,通过本地的短距离无线连接,为移动用户提供快速服务。通过基于位置分布的雾服务器,雾计算解决了云计算无法感知位置和高延迟等问题。
2.5边缘计算
在学术界,2016年5月,施巍松[3]教授第一次给出了边缘计算的正式定义:边缘计算是指在网络边缘进行计算的技术,边缘定义为数据源和云数据中心之间的任一计算和网络资源节点。理论上,边缘计算应该在数据源附近进行计算分析和处理[4]。文中研究了边缘计算的应用场景,在云卸载、视频分析、智能家居、智慧城市和边缘协作等领域均有较好的应用前景。同时作者提出了边缘计算面临的挑战和机遇,对编程可行性、命名、数据抽象、服务管理、隐私安全和优化方面进行了详细的阐述。
2016年以后,在学术界,有关边缘计算的论文猛速增长;在工业界,随着物联网、大数据、人工智能、5G通信等技术的快速发展,边缘计算也猛速发展。
3 边缘计算的框架
3.1 EdgeX Foundry
EdgeX Foundry的设计有如下原则:架构设计与平台无关,可以运行在不同的硬件操作系统上;架构设计非常灵活,支持替换、升级或扩充平台的任何组件;架构设计提供存储和转发功,以解决延迟执行和远程执行的延迟和存储问题;边缘设备部署安全且易于管理。
Edgex Foundry是一组微服务集合,具体可划分为4个服务层和2个基础系统服务,EdgeX Foundty 的架构设计如图1所示。其中服务层包括核心服务层、支持服务层、导出服务层和设备服务层,基础系统服务包括安全和系统管理。在官方文档中架构图被划分为南侧和北侧。南侧指物理领域内的所有物联网对象,以及与这些设备、传感器等直接通信的网络边缘;北侧指对数据收集、存储、聚合、分析和通信的云层。EdgeX Foundry是一个中立于供应商的开源项目,由一系列的耦合、开源的微服务模块组成,用于构建即插即用、模块化的物联网边缘计算生态系统,推进市场统一和物联网部署。
图1 Edgex Foundry架构
3.2边缘计算的体系架构
边缘计算产业联盟提出了边缘计算参考框架,如图2所示。边缘计算三层架构模式包括云计算层、边缘层和现场层。
图二 边缘计算体系架构
(1)终端层。终端层是最接近 终端用户的层,它由各种物联网设备组成,例如传感器、智能手机、智能车辆、智能卡、读卡器等。为了延长终端设备提供服务的时间,则应该避免在终端设备上运行复杂的计算任务。因此,我们只将终端设备负责收集原始数据,并上传至上层进行计算和存储。终端层连接上一层主要通过蜂窝网络。
(2)边缘层。边缘层位于网络的边缘,由大量的边缘节点组成,通常包括路由器、网关、交换机、接入点、基站、特定边缘服务器等。这些边缘节点广泛分布在终端设备和云层之间,例如咖啡馆、购物中心、公交总站、街道、公园等。它们能够对终端设备上传的数据进行计算和存储。由于这些边缘节点距离用户距离较近,则可以为运行对延迟比较敏感的应用,从而满足用户的实时性要求。边缘节点也可以对收集的数据进行预处理,再把预处理的数据上传至云端,从而减少核心网络的传输流量。边缘层连接上层主要通过因特网。
(3)云层。云层由多个高性能服务器和存储设备组成,它具有强大的计算和存储功能,可以执行复杂的计算任务。云模块通过控制策略可以有效地管理和调度边缘节点和云计算中心,为用户提供更好的服务。
3.3 OpenEdge
2018年12月,ABC Inspire企业智能大会上,百度正式发布国内首个开源边缘计算平台OpenEdge,该平台提供设备接入、消息路由、消息远程同步、函数计算、设备信息上报、配置下发等功能。OpenEdge和智能边缘BIE云端管理套件配合使用,以满足各种边缘计算的应用场景。
OpenEdge主要由主程序模块、Hub模块、远程MQTT模块、函数管理模块组成。其中,主程序是OpenEdge系统的核心,负责管理所有其他模块,由Restful API和引擎系统构成,Restful API提供获取空闲端口、获取系统信息和状态、更新系统和服务、实例的启动或停止、引擎系统负责实例启停和守护等接口,来实现服务的不同运行模式,支持Docker容器模式和Native进程模式。Hub模块提供基于MQTT(Mes-sage Queuing Telemetry Transport)的消息路由服务,服务边缘设备内部的数据交互。远程MQTT模块提供 Hub和远程MQTT服务进行消息同步的服务,负责边缘设备和云端的数据交互。函数管理模块提供了函数计算服务,负责用户自定义的边缘计算任务的执行和管理。如图3所示OpenEdge架构。
图3 OpenEdge架构
4 边缘计算的应用
4.1 医疗保健。
边缘计算可以辅助医疗保健,例如可以针对患有中风的患者辅助医疗保健。研究人员最近提出了一种名为U-fall的智能医疗基础设施,它通过采用边缘计算技术来利用智能手机。在边缘计算的辅助下,U-fall借助智能设备传感器实时感应运动检测。边缘计算还可以帮助健康顾问协助他们的病人,而不受其地理位置的影响。边缘计算使智能手机能够从智能传感器收集患者的生理信息,并将其发送到云服务器以进行存储、数据同步以及共享。
4.2智能建筑控制。
智能建筑控制系统由部署在建筑物不同部分 的无线传感器组成。传感器负责监测和控制建筑环境,例如温度、气体水平或湿度。在智能建筑环境中,部署边缘计算环境的建筑可以通过传感器共享信息并对任何异常情况做出反应。这些传感器可以根据其他无线节点接收的集体信息来维持建筑气氛。
4.3海洋监测控制。
科学家正在研究如何应对任何海洋灾难性事件,并提前了解气候变化。这可以帮助人们快速采取应对措施,从而减轻灾难性事件造成的严重后果。部署在海洋中某些位置的传感器大量传输数据,这需要大量的计算资源和存储资源。而利用传统的云计算中心来处理接收到的大量数据可能会导致预测传输的延迟。在这种情况下,边缘计算可以发挥重要作用,通过在靠近数据源的地方就近处理,从而防止数据丢失或传感器数据传输延迟。
4.4智慧城市
预测显示:一个百万人口的城市每天将可能会产生200PB的数据。因此,应用边缘计算模型,将数据在网络边缘处理是一个很好的解决方案。例如,在城市路面检测中,在道路两侧路灯上安装传感器收集城市路面信息,检测空气质量、光照强度、噪声水平等环境数据,当路灯发生故障时能够即时反馈给维护人员,同时辅助健康急救和公共安全领域。
4.5 军事应用
边缘计算在军事领域中应用前景广阔,主要包括作战指挥、协同作战、军事训练、预警侦查等。基于军事人员装备的头盔等智能设备获取军事人员的生理特征(如心率、步态、手势等)、定位信息和战场态势等,利用边缘节点和云节点进行处理和分析,将有助于复杂战场环境下的战场指挥和协同作战。基于战场环境,Singh等[8]提出了基于语义边缘的分层物联网体系结构,实现了对军事人员的健康状态和武器状况的监测。传感器将获取到的原始数据发送到语义边缘上,供指挥员和控制中心进行分析,辅助做出相应的决策。
5 边缘计算的研究热点
5.1计算卸载
计算卸载是指终端设备将部分或全部计算任务卸载到资源丰富的边缘服务器,以解决终端设备在资源存储、计算性能以及能效等方面存在的不足。计算卸载的主要技术是卸载决策。卸载决策主要解决的是移动终端如何卸载计算任务、卸载多少以及卸载什么的问题。根据卸载决策的优化目标将计算卸载分为以降低时延为目标、以降低能量消耗为目标以及权衡能耗和时延为目标的3种类型。
5.2移动性管理
边缘计算依靠资源在地理上广泛分布的特点来支持应用的移动性,一个边缘计算节点只服务周围的用户。云计算模式对应用移动性的支持则是服务器位置固定,数据通过网络传输到服务器,所以在边缘计算中应用的移动管理是一种新模式。主要涉及2个问题:资源发现,即用户在移动的过程中需要快速发现周围可以利用的资源,并选择最合适的资源。边缘计算的资源发现需要适应异构的资源环境,还需要保证资源发现的速度,才能使应用不间断的为用户提供服务。另一个问题是资源切换,即当用户移动时,移动应用使用的计算资源可能会在多个设备间切换。资源切换要将服务程序的运行现场迁移,保证服务连续性是边缘计算研究的一个重点。
除了以上2个关键技术,边缘计算研究热点还包括网络控制、内容缓存、内容自适应、数据聚合以及安全卸载等问题。
边缘计算关键技术包括应用域技术如:如应用程序可编辑技术、负载分配技术;数据域技术:数据聚合与互操作技术、数据分析与呈现技术;网络域技术:海量联接与自动化运维技术、实时联接技术;设备域技术:操作系统技术;设备安全技术。(详细介绍请看施巍松的文献《边缘计算:现状与展望》,这篇文献对边缘计算的研究做了详细的综述,是一篇值得学习的文献。)
6 边缘计算面临的问题
目前边缘计算已经得到了各行各业的广泛重视,并且在很多应用场景下开花结果;但边缘计算的实际应用还存在很多问题需要研究。本文中,我们对其中的几个主要问题进行分析,包括优化边缘计算性能、安全性、互操作性以及智能边缘操作管理服务。
(1)优化边缘计算性能。在边缘计算架构中,不同层次的边缘服务器所拥有的计算能力有所不同,负载分配将成为一个重要问题。用户需求、延时、带宽、能耗及成本是决定负载分配策略的关键指标。针对不同工作负载,应设置指标的权重和优先级,以便系统选择最优分配策略。成本分析需要在运行过程中完成、分发负载之间的干扰和资源使用情况,都对边缘计算架构提出了挑战。
(2)安全性。边缘计算的分布式架构增加了攻击向量的维度,边缘计算客户端越智能,越容易受到恶意软件感染和安全漏洞攻击。在边缘计算架构中,在数据源的附近进行计算是保护隐私和数据安全的一种较合适的方法。但由于网络边缘设备的资源有限,对于有限资源的边缘设备而言,现有数据安全的保护方法并不能完全适用于边缘计算架构。而且,网络边缘高度动态的环境也会使网络更加易受攻击和难以保护。
(3)互操作性。边缘设备之间的互操作性是边缘计算架构能够大规模落地的关键。不同设备商之间需要通过制定相关的标准规范和通用的协作协议,实现异构边缘设备 和系统之间的互操作性。
(4)智能边缘操作管理服务。网络边缘设备的服务管理在物联网环境中需要满足识别服务优先级,灵活可扩展和复杂环境下的隔离线。在传感器数据和通信不可靠的情况下,系统如何通过利用多维参考数据源和历史数据记录,提供可靠的服务是目前需要关注的问题。
7 总结
本文主要从边缘计算的发展史、架构、应用、研究热点以及边缘计算面临的问题这几个方面对边缘计算进行了系统的介绍。边缘计算与云计算协同发展,成为实现智能物联网的关键;发展边缘计算需要人工智能芯片铺路;5G、6G商用提速为边缘计算发展提供新的机遇。所以边缘计算未来的发展还应该考虑边缘计算与云计算的协同发展关系、边缘计算与人工智能芯片的协同发展关系、边缘计算与5G、6G的协同发展关系。