辛荣寰,陈礼波,曹童杰(中讯邮电咨询设计院有限公司,北京 100048)
工业控制系统(ICS——Industrial Control System)是工业场景下由多种传感器和自动化控制组件组成的控制系统,也是工业互联网的基石,而工业互联网是工业革命的基石。IIOT将5G、AI、大数据、云等信息技术融合进ICS,促进了多行业的自动化、智能化发展,形成了新的应用形态。但工业装置的低速率、低内存、高能耗等问题,大大制约了IIOT 的发展,现代IIOT 技术多与云计算技术结合,将复杂的计算内容上传至云端,利用云的高速处理能力快速完成任务,提高工业生产效率。但随着海量设备的接入,数据量越来越大,任务越来越复杂,上传至云端进行处理再返回结果的过程也越来越长,可能无法满足低时延的要求,长距离传输的能耗也是成倍增长的,因此制约了云计算在对实时性要求较高的工业场景中的使用。除此之外,在网络资源和编排管理等问题上,由于缺少全局拓扑图,无法从全局的角度对资源进行分配和编排,会造成大量的浪费,不利于IIOT的发展。
为了解决云计算的不足,改善工业应用的QoS,研究人员将多接入边缘计算引入工业互联网场景,将简单的计算任务就近分配下沉至边缘服务器,并由边缘服务器处理并返回结果;复杂的计算任务上传至云端,由云端处理器执行任务。这种边缘云一体的体系架构能合理地应用计算资源,降低了带宽压力,保证了任务的实时性,对于大带宽、低时延的工业应用有很好的适用性。图1为边缘计算应用在工业互联网的体系架构。
图1 边缘计算应用在工业互联网的体系架构
云结构和边缘云一体结构的区别主要体现在时延、负载、安全和成本方面。
a)时延:边缘计算的核心特征就是低时延。传统云计算需要把数据和任务上传至云端,在云端计算后再返回,一旦云端和终端设备的距离较远,数据传输就会花费很多时间,如果同时有多个任务需要执行,还要根据优先级等待,会进一步拉高时延,所以很难应用在对时延敏感的任务中。边缘计算将计算能力下沉到了边缘侧,分布式的边缘服务器可以同时执行多个就近任务,减少了数据传输的时间,有效地提高了生产效率。但边缘计算的计算能力稍弱,不适合处理复杂任务,因此采用边缘云一体的计算结构,将复杂或对时延不敏感的任务上传至云服务器处理,简单或对时延非常敏感的任务下沉到边缘服务器处理,保证时延的同时也保证了计算效率。
b)负载:传统云计算需要将所有任务一一上传至云端,当数据量较大或多个任务同时上传时,网络会承受极大的压力并可能拥堵,给工业生产带来一定损失;边缘云一体架构可以解决这个问题,该架构集成了云服务器和多个分布式边缘服务器,任务会自动下沉至最近的边缘服务器,多个边缘服务器可以同时执行多个任务,释放了网络的压力,避免了堵塞。
c)安全:云平台虽然在复杂任务的计算上有较高的优势,但也存在一定安全隐患。数据传输和云端的计算都有被攻击和数据泄露的风险;边缘云计算结构由于将计算能力下沉到了边缘侧,数据无需进行长时间传输,也避免了在云端泄露的风险。即使边缘服务器被攻击,也不会影响其他服务器,将损失降到最小。
d)成本:传统云计算要将所有的数据都上传至云端,并在云端进行数据存储和管理,随着设备数量和数据量的增长,云平台的压力越来越大,能耗和存储成本也越来越高,不适用于高并发的应用场景;边缘计算将数据直接存储在边缘侧,分摊了云端的压力,降低了存储成本,可以有效保证企业的QoS。
软件定义网络(SDN)是一种新型的网络架构,其与传统网络结构的主要区别是数控分离以及物理设施与控制功能的隔离。这种方式可以使网络更加扁平化,同时控制平面拥有全局视野,能更好地对资源进行调配,解决工业互联网中的信息孤岛问题,实现工业互联网从内到外的高效通信。图2为SDN的网络架构。
图2 SDN的网络架构
SDN 控制器(SDN-Controller)是负责控制流量的应用程序,位于中间的控制层,既可以为应用层的业务应用提供可编程接口,又可以为基础设施层的n个网络设备转发流表,收集参数。OpenFlow 交换机也是SDN 网络架构的核心组件,其核心部分是负责匹配和转发数据包的流表,其原理如图3所示。
图3 OpenFlow原理图
传统的工业互联网控制功能都附着在物理设备上,且各设备只能获取自己负责区域的设备状态,这就容易造成资源分配不均。本文将SDN 架构引入工业互联网,实现数据平面和控制平面的解耦合,可以从全局角度对设备进行管理和调度,满足现代工业应用对动态、实时和灵活的要求。图4 为基于SDN 的工业互联网架构。
图4 基于SDN的工业互联网架构
该架构由4 层组成,最底层为工业生产设备组成的现场层,数据经过PLC 和网关,到达OpenFlow 交换机,再传输到SDN 控制器,进行集中管理和调度,最上层是应用层,可以根据不同的业务需求进行开发。
基于SDN 架构的工业互联网多接入边缘计算(SDN-IIOT-MEC)架构是将多接入边缘计算引入SDN-IIOT,主要目的是将集中式算力改为分布式算力,在靠近设备的边缘侧部署边缘服务器,达到降低时延的目的,其结构如图5 所示。最下层为工业生产设备、传感器设备等物理设施,主要用于实际的工业生产。各设备会将数据上传至最近的边缘计算网关或边缘服务器,网关用于处理简单任务,服务器作为数据通信的总接口,主要负责监控、决策、数据上传等复杂问题处理。SDN 网络层主要由SDN 控制器和交换机组成,负责全局的控制和调度,能快速地完成计算任务请求的卸载决策,根据实际业务需求制定数据转发规则,为任务卸载提供依据。云计算层主要用于高数据量的复杂任务处理,同时还负责多个任务中心之间的调度、编排等工作,可以和边缘计算相配合,灵活满足不同需求。
图5 基于SDN架构的工业互联网多接入边缘计算架构
在实际的生产中,工业设备种类繁多,任务要求也各不相同,有的需要大带宽,有的需要低时延,且经常需要根据实际情况或突发状况进行调整,因此如何进行任务卸载是该架构要解决的一个重要问题。图6是基于多接入边缘计算的任务卸载流程。SDN控制器首先会做全局拓扑图,收集网络链路参数和空闲的计算节点;当有任务计算请求出现时,控制器会在一定范围内搜索可使用的计算节点,并通过任务卸载算法,将任务下放给各可使用的计算节点;除此之外,该流程还定义了任务卸载的时延和CPU 利用率模型,根据时延和CPU 情况,最终决定将任务卸载到计算机点上还是本地执行。这种方法可以实时获取网络资源,快速编排业务,大大提高整体网络资源的利用率。
图6 基于多接入边缘计算的任务卸载流程
本文针对传统工业互联网自动化程度低、灵活性差等问题,提出了一种基于多接入边缘计算和软件定义网络的工业互联网体系架构,并给出了架构图。多接入边缘计算主要满足工业应用对低时延的要求,软件定义网络主要解决了控制功能不集中,容易有资源浪费的问题。除此之外,本文还根据架构图给出了一种基于多接入边缘计算的任务卸载算法和流程图,解决了现有任务传输路径算法的不足,保障了工业生产的整体效率。