基于边云协同的智慧酒店系统
2021-10-10冯朔郑学智
冯朔,郑学智
(武汉邮电科学研究院,湖北 武汉 430074)
随着物联网技术的发展以及云计算技术的兴起,智慧家居系统已经成为许多家庭提高生活品质的选择。在家庭之外,物联网也在向智慧酒店方面发展。一方面,人们为了获得良好的旅行和入住体验;另一方面,大部分酒店由于采用人工服务,也面临着员工培训成本高、服务标准不统一等问题,造成酒店效益难以提高。智慧酒店系统不仅可以满足用户对于住宿过程中的需要,同时也能方便酒店管理、降低运营成本,是将来发展的趋势[1]。目前智慧酒店系统采用的是传统云计算模式,计算节点设在云端服务器,云平台处理目标是智慧酒店中的大数据[2]。在酒店运行环境中,需要降低处理时延、提高物联网设备响应,也面临着保护用户隐私等问题[3],因此需对当前智慧酒店系统进行改进。
1 边云计算处理
文中以智慧酒店的应用为背景,为解决传统云计算在实时性上面的不足,总结了云计算的优点与目前设备发展的现状,提出了一套整体完善的边云计算酒店智慧系统的设计方案。该方案集合了边缘计算与云计算的优点:
1)保留传统云计算框架。对于复杂度较高的计算,或是在边缘节点无力进行数据处理时,以及用户总体数据的分析,交付云端进行计算。
2)新增分布式计算结构,利用分布在网络边缘中的多个边缘计算单元,边缘端可以对采集的数据本地化分析、处理并将结果进行临时缓存,再与云端进行交互,并进行更加深入的分析[4],是满足系统低延时的重要条件;对于云计算中心而言,减少计算资源的浪费,充分利用低成本的计算单元。边缘计算单元依旧保留与云端的接口,可以实现“边缘”与“云端”二者的互补。
3)同时系统的可靠性也能得到保障。计算节点置于网络边缘之后,靠近终端设备,若WAN 网络发生故障,例如面临断网或设备故障,也能够实现局域范围内的数据处理,保证本地业务的可靠运行[5]。
2 边云计算处理方案
边缘计算的出现并非会造成云计算的淘汰,而是对云算力的延伸和拓展[6]。相比云计算结构,在云中心计算层和终端节点层之间引入了边缘计算层。数据上传的过程先经过该边缘层再传到云中心。对顶层而言,可以看作下放计算能力。将原本中心式的基础结构扩展成星型,如图1 所示。
图1 边缘计算节点结构星型图
层与层之间的信道有所不同。云中心计算层与边缘节点之间,通常采用有线广域网WAN 连接,边缘计算层与终端节点层之间则是多种短距离无线连接方式,例如WiFi、ZigBee、蓝牙等连接方式[7],由于物理位置相对较近,通常一个边缘节点和其下终端节点构成一个本地网络。
可以将边缘计算的执行过程各部分模块化。整个边缘计算过程分别抽象为核心计算模块、任务产出模块、边缘协调模块、网络传输模块,4 个模块一起构成了边缘计算模型。模块间关系如图2 所示。其中,核心计算模块包括各边缘节点与云中心,主要负责执行云任务,核心模块包括了边缘计算模块以及核心计算模块。任务产出模块负责随机生成待执行的任务。边缘协调模块负责决策,该层决定边缘任务的分配方式,决定任务由哪台主机执行,尽管边缘设备的计算能力不足以媲美中心云设备,但仍然可以承担小部分框架内的云任务。网络传输模块则负责处理网络传输的过程,包括处理任务的上传与下载,而且WAN 网络延迟较高、带宽有限,LAN 网络延时低、带宽较高。
图2 各模块之间处理流程图
考虑云计算与物联网相互作用的效果。利用微软芯片MXCHIP AZ3166 为例[8],观察云计算的处理结果。传感器收集温度信息,经由无线信道传递到本地路由器,本地网关经Internet 上传到远端微软云服务器Azure;云服务器经过处理,可以将运行结果打印在Web 端,如有需要,可以在Azure IoT Central实时读取测试数据,如图3 所示。
图3 Azure IoT Central温湿度监测
AZ3166 等芯片以及Azure 云平台的应用,证明目前的技术已经可以支持利用云计算——设备构成一个简单的物联网系统。可以在此基础上,结合智慧酒店的应用场景,对边云结合网络结构进行设计,构建自己的网络结构,设计结果如图4 所示。对每一个住宿房间而言,部署一个AP 站点,连接房间内部的终端设备,包括该房间所属的摄像头、传感器、客户手机、物联网设备等,构成本地局域网;AP 站点附属有边缘节点;酒店内多台边缘节点汇聚成小型网络,附属有边缘编排器,并经过WAN 与远程云计算中心互联。
图4 智慧酒店内边缘网络模拟图
把边缘计算网络模型应用到智慧酒店生态内,传感器和摄像头等输入设备为任务产出模块;远端机房云服务器与酒店内部的边缘节点构成核心计算模块;网关、路由器属于边缘协调模块;光纤、宽带、室内无线等传输信道及传输设备构成网络传输模块。
3 利用EdgeCloudSim进行仿真
3.1 仿真说明
EdgeCloudSim 是基于CloudSim的一种对边缘场景下的模拟环境仿真软件,可以对实际场景进行有效的仿真,构建多个数据中心、虚拟机,并模拟用户与用户任务,同样可以将工作流程模块化,其模块处理流程如图5所示[9,14]。
图5 EdgeCloudSim各模块处理流程
在智慧酒店环境中,存在两种数据来源。来源之一是房间内的传感器组的信息数据,另一种是摄像头的图像数据[10]。两种数据信息的对比情况如表1 所示。
表1 两种应用数据的参数
在EdgeCloudSim 中关于内部构造设定有3 种传输结构:分别表示为单层、多层、带有边缘编排器的多层结构,如图6 所示。图6(a)、(b)、(c)分别代表了边缘、云、边云协同的3 种情况[11-12]。其中,单层结构表示信息云任务只在边缘服务器的区域内运行;多层结构表示云任务可以上传至共有云平台;带边缘编排器的多层结构,其任务也可以把单层任务卸载到临近的边缘节点[13]。
图6 3种云任务网络结构图
对于第一种任务,即为人脸识别任务进行仿真。在实际情况中,房间门口的摄像头终端采集图像,存储并发起人脸识别的请求,并可根据识别结果进行开门、报警之类的操作[15]。分别模拟3 种结构下的计算任务,并统计处理结果。设定该任务需要上传待识别的人脸图像,图像大小为1 500 kB,同时需要对任务识别结果进行返回,数据大小为15 kB。第二种任务为信息任务,上传数据为25 kB,下载数据为20 kB。其余配置如表2 所示。
表2 任务参数配置
3.2 人脸识别任务仿真结果分析
经过EdgeCloudSim的仿真,仿真结果如图7所示。实验结果X轴表示设备数量,Y轴表示执行的任务反馈结果,三条曲线则代表了3 种不同的传输结构。通过分析仿真结果从而给出边云计算体系的特点。需要注意的是,单层结构下,任务只会提交到边缘节点,不会经由WAN 网络上传到云端计算。
图7 为3 种不同架构下的人脸识别应用中的任务失败率。可见,随着设备数量的增多,特别是在超过200 台设备后,单层和双层结构的任务失败率都会显著增加。分析得出任务失败的大概率发生在LAN 侧,这是由于边缘设备的性能有限,用于处理任务的虚拟机无法处理接收到的任务,从而导致任务失败。由此可见虚拟机的处理能力是决定任务失败几率的关键因素。与此相对应的是,在带有边缘编排器的结构中,由于可以根据本地边缘节点虚拟机的利用率,决定任务的如何分配,即是分配给空闲的边缘节点,还是上传至云端。在这种结构下,如果设备数增多,任务的失败率仍然可以维持在很低的水平。
图7 人脸识别云任务失败率图
图8 为3 种不同架构下的人脸识别应用的网络传输时延。可见,在单层结构中,由于不涉及WAN 侧网络,故其网络延时只出现在LAN 侧。而两层和带边缘编排器的两层结构,都因为涉及了WAN 网络,都引入了网络延迟。设定的任务上传云端的概率是20%,所以部分任务的传输会受到影响。分析还可得出设备数量的增多对于网络延时的影响不是太强。如果把任务上传云端的概率变为40%,则可以得到如图9的结果,可见任务向云端卸载的概率会影响整体网络延时。而且可从数据中发现,概率提高2 倍,网络延时变为原来的2 倍。
图8 人脸识别云任务传输时延图(20%)
图9 人脸识别云任务时延图(40%)
图10 为3 种架构下人脸识别应用任务的处理时间。对于处理时间而言,由于中心节点的虚拟机性能优于边缘,任务的处理时间也相对较短。从(b),(c)对比可见在云端的处理时间,明显要优于在边缘的处理时间。对于单层结构,其处理时延全部集中在边缘节点。同样可以注意到随着设备数量的增多,单层结构和两层结构的处理时间增速较快,在处理多任务时具有一定的困难,这也符合处理设备增多,任务失败率在单层和两层结构中增加的原因。对比两层结构和带有边缘编排器的两层结构的任务处理时间可以看出,带有边缘编排器的结构由于可以将任务卸载到其他边缘节点,总处理时延要优于两层结构。
图10 人脸识别云任务处理时长图
3.3 传感器任务仿真结果分析
修改响应参数并重新进行仿真,可以得到传感器数据的处理结果,如图11 所示。可以发现,对于传感器这样的小数据量任务,其失败率相较于人脸识别任务有较大的降低。由于任务都在边缘节点被处理,带边缘编排器的两层结构任务的失败率仍然可以维持在较低的水平。网络延迟参数如图11(b)所示,由于传输数据量的减少,相比较于人脸识别任务,任务的网络延迟也有所降低。在任务处理时延上,低数据量任务处理时间较短,在设备较多时,单层结构处理时间上升迅速,而边缘编排器的结构可以维持一个较低的任务处理时间。另有总服务时间仿真数据如图11(d)所示,在数据量较低时,两层结构处理时间较长,这是由于任务开始执行需要一定的时间。
图11 传感器云任务处理结果图
3.4 仿真分析
综合以上两种仿真数据的结果,待处理任务的时延主要包含网络时延和设备处理时延。相较于其他两种结构,带有边缘编排器的两层结构在运行设备数量较多的情况下,仍然可以保持较低的任务失败率;同样在这种结构下,由于任务的底层卸载,使得具体到某个设备上的任务处理时延也较低;由于需要上传数据到WAN侧网络,网络传输时延必然会增多,但是可以通过调整上传云端的任务数量来缩短。
根据数据与仿真结果,可以得出结论,相较于传统的云计算以及单纯的边缘计算,带有边缘编排器的两层结构,即边云协同处理系统可以对系统性能有更好的提升。运用此边缘计算的架构,可以满足终端计算需求,扩展了业务范围,又有效节约云服务器与终端设备之间在信道上的浪费。特别是在传感器和人脸识别任务为主的智慧酒店系统的实际应用中,使用该结构可以有效提升系统性能,故该仿真对实际应用有一定的指导作用。
4 结论
目前在物联网行业中,有关智慧酒店的业务正逐步发展,对云计算的需求也在逐步提高。边缘计算的出现为云计算拓宽了应用场景,边缘端让一部分云任务在本地即可完成处理,缩短了传输时延,降低了任务的处理时间,可以为时延敏感的应用提供良好的运行环境。文中提出了一种边云协同系统,并通过对实际两种任务的仿真,证实了若该结构应用在智慧酒店系统中,可以解决当前环境中面临的有关降低时延、提升任务成功率。下一步将继续完善边缘计算系统中云任务的分配方式问题,考虑在多种任务并发情况下处理多种任务,从而更好地仿真现实智慧酒店中多重任务同时发起请求的情况。
值得一提的是,数据安全问题也是边缘计算应用的一大亮点。物联网设备的增多,不同物联网厂商亦有可能掌握许多用户的使用数据,从而引发数据安全问题[16]。而本地数据处理可以有效规避连接共有网络的风险。在应用方面,可以设计相应的物联网应用程序,例如入住、室内设备控制、点餐等应用,还可以配合工作人员的手持设备,为用户提供良好应用体验,为智慧酒店的全面构建提供新思路。