分享嘉宾:李明/李鑫林 网易疾风
编辑整理:毕志颖中国科学院大学
出品平台:DataFunTalk
随着物联网的发展,网易对万物互联网的需求爆发。边缘计算借助本地网关的计算能力,无延时采集处理数据,云边协同,缩短控制链路,告别设备“断网即失控”的尴尬。目前,网易智能养殖、智能园区、智能仓储等场景已落地边缘计算。本文将系统介绍网易边缘计算的实践方法,总结应用过程中面临的挑战、风险和应对方法。
首先,与您分享下边缘计算的相关背景。
边缘计算的本质是对云计算中心计算模型的重构。它将计算放置在接近物体或数据源的边缘,提供本地存储、计算、网络等核心能力。由于通信链路的缩短,边缘计算可以快速有效地响应数据生成侧的业务需求。同时,数据的本地处理也可以提高隐私数据的保护。在计算模型的发展过程中,从大机到小机,从云计算IDC从边缘计算可以看出,它是在中心式和分布式之间之间的不断转换和往复式发展。
如今,边缘计算有许多实践场景。例如,世界各地的主要主流电信运营商都是MEC(多接入边缘计算)提供自己的解决方案,公共云制造商也有自己的边缘产品,传统OT、ICT与边缘相关的硬件设施也在布局中。
物联网实际上是边缘计算的最佳实践场景,因为生产设备传感器、机床、水电表、灯具、摄像头等边缘设备很多,RFID这些设备大多处于有限的私人网络环境中,与公共网络隔离或只能单向访问公共网络。同时,这些设备需要稳定的实时控制,不受网络波动的影响。例如,许多工业设备需要亚秒响应时间进行安全操作。如果工人离设备太近,设备需要立即停止工作并报警。在这种情况下,如果停止工作的决定由云反馈,可能会出现延迟问题。当我们将计算移动到靠近设备的边缘网关时,可以实现二次响应。在极端网络断开的情况下,无论网络的可用性如何,都要保证边缘自治,允许设备和工厂正常运行。与此同时,这些设备生成的原始秘密数据也存储在本地,只上传到云中,这也需要边缘计算来存储近端数据,并将过滤后的数据同步到云中。因此,物联网的发展必然离不开边缘计算。
网易疾风物联网在这一理念下发展演变,一直在探索与边缘计算更好的结合 ,以下是实现疾风物联网的思路。
早期,疾风物联网专注于物联网云平台的建设,建立了一套核心服务系统,包括设备据库等核心服务系统。随着边缘计算的兴起,我们也开始投资它。
最开始的边缘端架构实际是与云端架构保持一致,将云端所有服务私有化部署到边缘端,但是我们发现客户并不想为这个庞大的系统买单,为了减少边缘端落地的成本,我们开始精简、优化服务。例如,核心规则引擎严重依赖于Flink,但其资源消耗较大。经过分析,我们将规则分为无状态和有状态的计算任务,仅使用Flink根据资源消耗和实际用法,引入函数计算处理有状态计算,采用无状态计算任务。OpenFaas实现无状态计算。随着去年Kuiper我们也在用它替换轻量级流计算机引擎的发布Flink。基于函数计算和流式计算,我们实现了统一的实时计算引擎。
我们把报告生成、模型训练等离线任务放在云中。边缘侧重于设备的实时控制和数据隐私,云侧重于海量数据的高维度计算和模型训练中的计算弹性分配。与此同时,边缘端与云分开的,需要协同工作。我们通过自主研发的边缘隧道促进边缘云协同。这样就形成了从X86服务器到工控机,再到边缘网关盒等不同规格的边缘集群硬件,组合满足各种业务场景。
因此,可以总结疾风物联网系统的两个设计思路:,这样无论是计算规则还是应用服务,都能在两端上平滑迁移;边缘端注重设备的即时控制和数据隐私。云除了发挥传统物联网平台的功能外,还需要支持边缘端、大量数据存储、高纬度计算和一些AI模型训练等。
现在具体说明疾风物联网的边缘结构。系统主要分为四个模块,Hub是设备接入模块,对接不同类型设备的协议,并将其转换为系统中使用的协议,从而导入数据流Compute Engine计算引擎模块,计算引擎采用统一的函数计算和流式计算规则来处理数据,数据最终流向service时序存储、可视化、设备控制、边缘直播等应用服务模块。Tunnel Agent 对云负责Tunnel Server通信负责数据同步和业务同步。云实际上是一个包含设备访问、计算引擎和应用程序服务的系统,这里没有标记这些模块,更重要的是,它为边缘端提供了额外的边缘应用程序管理AI模型培训、数据仓库等服务。
下面介绍Hub模块的功能组件。
Hub直接处理设备,支持多种接口连接方式,如RS232、RS网口,485串口,WiFi,蓝牙支持控制设备使用等多种通信协议Modbus,使用生产线机床OPC UA,蓝牙用于照明灯具BLE,以及使用标准智能设备的标准智能设备MQTT等。
非MQTT协议的数据将首先通过convertor转换器转换成MQTT协议。转换工作原理是定义设备提供的服务,并将服务对应的原始协议字段映射到MQTT将协议字段发送到计算引擎消费后的数据总线。通过总线发出的控制指令也将由总线发出convertor转换为原始协议格式。这些设备服务需要根据实际业务意义制定,如一个Modbus对于协议传感器,我们将获得温度离散值和伸缩比,但业务方实际上对离散值和伸缩比倍数乘以后的真实温度值感兴趣。如果将两个字段分开定义并映射到MQTT协议字段可能会干扰后续业务方,因此需要在协议转换前提前计算。这样,不同厂家使用的计算规则实际上就形成了行业知识库。
对于流媒体设备的接入,也有协议转换过程。例如,从IP从相机上拉RTSP流,也会先转换成RTMP协议流,然后进入流媒体数据总线(media data bus),供后续计算引擎消费,如转码、截图、边缘直播分发等。
接入模块后,设备到达计算引擎模块。
计算机将函数计算与流式计算相结合,然后根据任务是否有状态调用不同的底部模块。常用的计算规则有转发规则、反向控制规则、音频和视频规则等。
转发规则将原始数据转发到某些应用服务,完成报警、直播流分发等功能。存储规则将设备生成的数据存储在当地时序数据库中,供后续处理。反控规则是指设备实时受控,边缘有设备控制服务,可理解为接入Hub虚拟设备通过MQTT协议将控制信息发布到总线,或从总线订阅信息,以完成设备控制交互。音视频规则主要完成转码、截屏、录制或分发到边缘本地直播。如果需要公网直播,也需要转发到公网CDN。
边缘应用服务是计算引擎后的。
数据存储服务主要是时间数据的存储。对于有条件的用户,它将定期同步到云中的数字仓库。数据可视化服务主要包括大屏幕显示、监控报警等。边缘直播是本地直播,不需要通过公共网络CDN企业私有领域直播。边缘还将托管企业自身的各种应用,如业务管理、人员管理、协同生产等。
通过边缘端和云之间的数据和控制同步Tunnel Agent和Tunnel Server完成。数据同步是边缘数据通过Tunnel Agent正向传输给Tunnel Server,之后再解析处理。在计算引擎中创建转发规则,如果需要实时性。在云上同步数据也有很多接入点,比如通过Kafka接入点进入云上的大数据集群,或与公共网络同步CDN接入点,公网直播。
控制同步实际上是一种反向传输,因为边缘和云网络通常是单向网络,边缘在私人网络环境中,云在公共网络环境中,然后从云访问边缘设备或分发配置,需要有隧道。我们通过Tunnel Agent和Tunnel Server建立的TCP隧道按协议格式发送业务控制数据Agent。而Agent本地边缘集群的服务,如计算引擎中的各种规则、托管企业的应用等,在收到控制信息后进行分析和分发。
以上是疾风物联网的整体结构。
工业场景主要是工艺管理、生产管理、设备管理和模具管理,以及设备的一些生产指标控,保证数据的安全性。比如在生产管理中,最重要的就是要把控工业生产的进度,并对相应的指标进行实时的计算。
我们把工业场景分为了五个模块,其中一个是设备模块,应用场景主要是对设备的状态进行异常监控,发生异常后,会进行实时的监控,通过邮件或通讯工具推送到管理人员的手中,主要是一些设备的执行参数,比如执行频率或配置。
能耗的管理主要是对设备能耗的进行把控,在一个周期内,我们可以对设备的运行情况或者成本的投入进行分析,这样去规划我们设备的运行情况或者实施情况。
易工厂边缘的一个解决方案,总体来说是用我们的边缘系统进行部署,完成系统的管控和数据展示。也能通过云边协同进行数据的同步,进而实现一些高纬度的数据分析。
第一步是进行一个网关的接入,它是接入到一个智能网关,智能网关属于边缘集群中的一部分,数据接入过后会通过边缘集群里面的计算引擎分析上报的数据,通过数据分析在边缘网关里面做一些展示和反控。
这个是网关接入的一个具体案例。
网关里面集成了上述边缘系统里面所有的系统。它只需要通过一根网线,就可以直接接入机器,只需要做一些简单的配置,就可以使用边缘网关里面的计算引擎进行相关的一些计算。
设备管理系统,目前有web端和手机端这两部分,他们的功能是一样的。
边缘服务的可视化分析,直接对数据的展示,还有对生产任务的监控,质量保证和实时查看。
这个边缘协同的业务管理,业务管理主要是对于一个产量能耗状态、预警的管理。
现在来了解一下智能园区的场景。智能园区,目的是合理地管理我们的空间,减少人员的消耗,就是增强人体的体感舒适度,这是我们整体的一个方案架构。
边缘设备(边缘网关)都是围绕着我们的边缘大脑协同计算,边缘网关和边缘大脑之间通过感知同步还有控制执行产生联系。
比如说班车管理。它可以实现工作人员在班车上进行移动打卡,然后还可以实时的定位到我们班车的情况。体感反控中,我们现在的排风、空调,都已经实现了实时反控。它会根据我们周围的一些环境参数,比如说温度、湿度,还有二氧化碳,通过计算引擎进行数据的分析,控制指令重新通过MQTT下发到我们的设备进行反控。
还有一个最重要的目的就是实现无人管控,车库的照明,会议室照明,工位的照明,人员的情况,光照的强度等都会拿来分析,实时控制灯的开关与亮暗,从而达到节省能耗的作用。
下面是温湿度的展示:
左边是常用的一些传感设备,比如说温度、湿度传感器,PM2.5的设备,右边是现在我们做的一个实时的展示,监控了园区的环境情况。
中间这个是一个控制平台,首先它可以实时的监控新风系统、空调系统和排风系统的所有网关的设备状态,还会进行实时的报警,工作人员直接通过这个平台对我们的设备进行了一些开关的控制和调频的配置。右侧的这个VR系统是我们自研的一个物联网的数据分析系统,在空间的具体某一个位置它都会实时地去展示空间数据,比如楼层的传感器上报的数据也可以帮助工作人员更好的去查看我们空间中不同位置的环境信息,这样就可以提高我们对空间的把控能力。
这是我们的疾风网关的一个反控案例。比如左图它可以显示当前区域的二氧化碳或者湿度的一些信息以及工位触发的触发次数,这个代表了我们的空间里面的人员的情况,然后根据这些情况,我们的计算引擎会做出分析和决策,把这个对应的反控信息下发到具体的设备进行反控。右图是新风格系统当前的信息,工作人员可以通过这个数据页面,直观的看到新风机的运行情况,也可以监测规则的反控情况,判断是否达到预期的效果。
这个是灯联网的一个具体的案例实施:
右上角左边是灯联网网关,照度反控现在已经把园区的路灯、电梯灯,都进行了实时管控,主要就是根据外面光照的照度情况,控制灯的开关。照度数据就可以直观地展示出环境情况,继电器的开关代表着灯的亮灭情况。通过这个数据,我们也可以直观的看到一天的照度信息,还有灯亮灭的时间点,起到了减少人员对灯的管理,实现我们平台的自动化管理和自动化感知,也就是自动化决策。
这个是图像识别的一个案例,还有一个直播系统。将原有的摄像机和录像机接入到了我们的一个边缘集群。
接下来是一个边云协同的一个具体的应用:
右图就是边缘网关的数据同步到云平台后,园区能耗的一个展示中心。还有对所有网关数据的一个汇总和数据分析,另一个就是通过园区所有的传感器上报的数据,对园区环境情况进行一个实时把控。比如说对园区里面的新风机,设备的一些异常状态,或温度的一些信息、湿度的一些信息进行实时的查看和监控。
下面展示是一个会议室释放的具体应用,左图把会议室里面的一些人员的情况,通过边缘网关上报到云端,然后云端把云端数据推送到具体的业务,会议室释放系统就可以通过这个实时上报的触发数据而判断我们的会议室里面人员的一个流动情况,判断会议室是否是已经在处于一个无人在用的情况。如果是超过了十分钟,会议室就可以自动的被释放掉,从而增加会议室的利用率。
这是猪场的一些产品需求,通过在猪的身上通过贴rfid标签的形式记录猪的信息和数目,通过配置相应的传感器对猪舍的温度和湿度进行实时的监控。
????,给个呗!