0 引言
近年来,物联网越来越广泛应用于人们的生活中,并逐渐从简单的物与物连接向智能化方向转型。物联网要获得更大的成功,必须要凭借一个开放的并能够很好提供支持的平台。云计算[1]凭借其强大的计算存储能力,成为大数据分析处理的支撑平台。通过将复杂的应用卸载到云中存储和处理,再将处理结果从云端发送到移动用户,解决了用户终端设备存储空间不足或处理速度不够快等问题。但目前物联网终端设备数量的爆发式增长,物联网感知获取的原始数据量非常庞大,且海量的数据之间存在繁杂的关系,对海量数据进行过滤、处理、分析等对云计算框架是一个巨大的挑战[2]。
云计算是聚合度很高的计算服务,其使用方式虽然廉价、简单且方便,但云服务器远离移动设备,数据传输的距离大,导致延迟和通信开销增大甚至不可容忍[3-4]。物联网终端设备和用户终端设备基本都是能量受限的,将数据传到远程云中心执行,会导致物联网终端能耗过大而过早失效,或用户终端设备待机时间大大减小。同时,使用云服务时需要大量数据的发送和接收,因而需要消耗大量的网络带宽,可能造成数据中心和终端之间的I/O(输入输出)瓶颈,由此引发传输速率大大下降,甚至服务中断等问题,云服务的优势可能也会被这些问题抵消掉[3-4]。
为了解决上述问题,本文将云计算网络架构扩展到网络边缘,提出了雾计算的概念[4-6]。雾计算更加强调边缘设备的作用,其核心思想是“智能前端化”,即在云层和终端设备层之间加上一层,叫做雾层。通过雾层提供的计算、存储和网络通信服务,使得数据的计算、分析和处理更加接近用户,从而降低了物联网业务通过云层处理的响应时延和存储开销,降低了对无线资源的消耗,降低了终端设备的能耗从而延长了其待机时间,甚至能够在没有因特网覆盖的区域继续提供计算服务[7-12]。
1 雾计算与云计算
云计算将应用的执行化繁为简,但位于远端的云对那些延迟敏感的业务不能很好地支持,对移动性、不同地理分布不能很好地支持,且远端执行往往导致用户终端能耗过大,进而降低了其待机时间。因而需要一个更接近“地面”用户的计算平台来作为对云计算的有效补充,称之为雾计算平台,区别于那些位于远端“天边”的集中式云计算平台。雾计算将计算范式从网络中心扩展至网络边缘,从而可以更加广泛地运用于更多种类的应用和业务。就其位置而言,雾计算是分布式的云计算服务器,故雾计算也称为移动边缘计算(Edge Computing),因为雾节点就是互联网与现实终端的边界[12]。
雾计算主要具有以下特点。
a) 支持实时互动,更低时延和能耗。
b) 更低的带宽需求,缓解海量设备连接云端时引起的拥塞。
c) 数据的分布式处理,降低海量数据存储需求。
d) 设备位置精确感知,支持更大范围的移动性。
e) 支持异构性,支持多样化的异构软硬件设备。
根据雾计算智能前端化思想,本文提出了如图1所示的雾计算框架,在云服务器和终端设备之间扩展一个更靠近移动用户的雾层[13-15]。雾层由部署在现场的处于网络最边缘的雾服务器组成。
图1 雾计算架构图
在提出的雾计算框架中,通过在云服务器和终端设备之间扩展具有计算、存储能力的雾层,将云服务器上本地化需求的关键数据和计算服务移到更靠近终端设备的雾服务器上,通过提供数据缓存、本地化计算等功能,更好地满足了移动应用高流量和低延迟的需求。
雾计算与云计算的区别如表1所示。
表1 云计算与雾计算的对比
值得注意的是,雾计算和云计算并不是你死我活的竞争关系,未来计算范式中并不是雾计算要蚕食云计算。雾计算的提出是作为云计算的有效补充,通过二者卓有成效的相互配合,使得更多不同种类的应用和业务能够更好地加入到网络计算之中。
2 基于云雾计算的物联网架构
根据雾计算更靠近终端用户的思路,通过给蜂窝网络中的每个接入点配备雾计算设备,可以把大量与特定环境相关的信息直接在本地接入点进行存储和处理。图2所示为基于雾计算的物联网框架,上层为云计算中心,下层为传感器和移动终端层,在云层和终端设备层之间扩展一个更靠近终端设备和移动用户的雾计算层,成为雾层。雾层部署在物联网接入层,由大量具有计算、存储功能的雾服务器组成。
雾接入点同时作为物联网接入点,首先把传感器采集的数据进行过滤、分析,进行任务的分解,哪些业务可以在本节点进行处理,哪些业务需要分发给其他雾接入点协作处理,哪些业务需要回传至云计算中心进行处理。另外雾接入点也可以作为云端数据和终端数据的缓存,可以进行本地流量的卸载,减少对传输带宽的需求,更好地满足了移动应用高流量和低时延的需求。云计算中心的优势保留,关注于雾层上传的全局性数据以及处理高延迟长周期的大数据应用。
图2 基于雾计算的物联网架构
3 基于云雾计算的物联网的关键技术
3.1 边缘存储
当使用移动设备的用户处于一个特定的环境时,其需要的信息主要是与本地相关的各种信息,如住宅小区的用户更想知道的是小区内的各种事项以及周边的交通、医疗等信息;学校内的用户更想知道的是学校内的各种信息,包括上课、考试、活动等。
根据事件的流行度和用户喜好,把用户频繁访问的内容放在离用户较近、访问速度较快的雾设备上,并在本地实时进行优化和计算,完成用户请求的任务。雾节点在传输带宽代价和缓存代价之间取得均衡,有效缓解云服务器的负担,大大降低通信的传输量,减少传输延迟。
雾节点更智能化,能够感知其部署环境,推测出附近移动用户数据需求特性,针对附近用户的兴趣进行数据缓存,为用户提供快捷内容访问和检索功能。
3.2 边缘计算
雾节点具有智能计算的能力,可以把传感器采集的信息进行分析、处理,并可以选择一部分信息卸载到其他雾节点或云计算中心处理。
处理某些数据时,单个雾节点难以有效快速地分析处理,可以自适应形成F-AP簇,通过分布式协作负载均衡计算来减小计算复杂度,提高计算速率。
3.3 云雾协同
通过在物联网网关部署雾节点,在物联网边缘形成一个雾计算的平台,该平台具备一定的数据分析及逻辑处理能力,这里引入云雾协同的概念,即雾节点可以通过云端进行集中管理,简化本地节点的运维复杂度。
另外,雾层的物联网网关与云端的物联网平台实现对接,雾层可以将本次处理的数据上传给物联网平台进行深层次处理,以获得更好的分析结果,为大数据分析提供数据支撑。
云雾协作也面临着新的挑战,如何动态区分业务在云层处理还是在雾层处理,如何制定卸载决策以更好的适应网络,也是一个重点研究的方向。另外,云雾协同时存储空间和计算能力的协同,存储代价和传输代价的均衡是需要重点研究的问题。
4 应用前景
4.1 增强现实
增强现实通过在真实世界上叠加信息视图,并在智能终端上呈现出来。增强现实通常需要较高的计算能力去处理数据,而且人们对于时延是非常敏感的,超过数十微秒的时延将会严重影响用户感知,而通过增强现实设备与周边雾设备的协作,可以最小化时延以及实现传输吞吐量的优化。
4.2 分布式智能电网
在智能电网中的网络边缘设备中(雾接入点)运行能量负荷均衡的应用,可以基于需求、可用性及价格等自动选择主电力、太阳能、风能等。雾接入点收集处理传感器和设备生成的数据,向执行器发出控制命令,并把数据报告发送给云端,实现可视化管理。
4.3 智能公共自行车系统
随着污染问题的严重化,自行车出行是更环保的选择。现在很多城市都有公共自行车系统,但却存在着用户随意存放,使用时寻找不够方便等问题。建议在每辆自行车上装备一块价格低廉的窄带物联网芯片,把该自行车位置和使用情况信息上传到雾节点,雾节点可以计算出覆盖区域的自行车分布图,用户需要使用公共自行车时,可以用手机APP查询离他所在位置最近的公共自行车。
4.4 智能交通灯
在智能交通场景中,传感器可以感知到警车、救护车、消防车的闪光及声音。通过雾计算设备分析,可以自动改变道路信号灯来为紧急车辆提供通道;也可以与本地进行交互,感知行人与车辆的存在,计算出相对的距离和速度,通过交通灯协调交通,并可以对接近的车辆发出警告信号,避免交通事故的发生。同时,雾计算服务器里的系统数据,可以传到云端,从而进行全局的数据分析。
4.5 智能家居
在建筑物环境中部署传感器测量温度、湿度和各种气体的传感器,通过传感器之间的信息交互和协作,可以得到可靠的测量。雾计算设备采用分布式决策制定和执行来对数据做出相应的反应,通过雾计算及系统各部件可以实现建筑物内外的节能,关闭及打开窗口,提高和降低温度等。
5 面临的挑战
基于雾计算的物联网技术大规模的发展面临着下面的问题和挑战,有待于进一步解决。
5.1 雾层计算资源和缓存资源的联合优化
雾节点具有计算和缓存能力,两者是密不可分的。当用户业务需要计算分析时,雾节点对业务进行计算分析,并将结果返回给用户终端;当用户的业务需要缓存时,雾节点缓存用户的文件,经过计算处理后才能将缓存文件传给用户,这体现了雾节点计算和缓存之间密不可分的关系。因此,计算能力和缓存能力的联合优化对雾计算来说非常重要。
5.2 雾网络的隐私和安全性
在雾计算的环境下,同样存在着安全和隐私问题[16]。由于雾计算部署在网络边缘,原来在云计算环境下的安全策略并不适合雾计算。雾计算的安全问题主要来自于不同层次网关的认证,一个恶意的用户或者应用就可以篡改智能设备的数据,需要一些入侵检测及安全认证技术来确保网络的安全性。另外由于雾节点通常掌握在企业、组织甚至个人手中,用户隐私存在一定的风险,需要一些身份验证协议来使雾计算能保护用户隐私,提供更加安全的保障。
6 结束语
本文探讨了雾计算的引入原因、概念、特点、架构,以及雾计算与云计算的区别和联系;提出了基于云雾计算结合的物联网网络架构,通过为物联网接入点配置雾计算设备,将接入点升级为具有存储和计算能力的雾节点,使得数据和计算更靠近终端设备。这样的云雾计算结合的架构可以更好地适应物联网的应用需求,提高应用系统的响应速度,节约网络带宽,并大大减小了终端设备的能耗。最后讨论了本文提出的网络架构的应用前景及其所面临的挑战。雾计算和云计算是基于同一个平台的全局性的和局部性的不同计算模式,它们相辅相成将为人们提供更多更丰富的新业务种类和体验。