在谈到体系结构时,人们立刻就会想到计算机体系结构与冯·诺依曼架构、计算机网络体系结构与OSI参考模型,以及互联网体系结构。这说明了以下两点:
· 对于一个复杂的计算机系统或计算机网络系统,我们需要抽象出能够体现不同类型计算机和计算机网络的基本、共性特征的结构模型。
· 体系结构的研究水平是评价一项技术的成熟度的重要标志。
在深入研究物联网时,人们自然会想到应该用一个恰当的体系结构来描述物联网的问题。在讨论物联网的体系结构时,我们需要回忆计算机网络体系结构概念产生与形成的过程,它会带来很多重要的启示。
20世纪70年代后期,人们逐步认识到计算机网络层次结构模型与协议标准的不统一,会带来形成多种异构的计算机网络系统的后果,给今后大规模的网络互联造成很大困难,并且会限制计算机网络自身的发展。20世纪80年代初,国际标准化组织(ISO)经研究正式公布了开放系统互连参考模型(OSI RM),也就是我们常说的“七层模型”,它是研发计算机网络的参考模型和体系结构标准。按照OSI RM的定义:网络层次结构模型与协议共同构成了网络体系结构(Network Architecture)。
但是,任何一种技术标准都必须接受市场的选择。在市场竞争中,互联网中广泛应用的TCP/IP协议体系最终取代OSI参考模型成为事实上的产业标准。无论是称为网络体系结构、网络层次结构还是网络参考模型,其实质都是对网络结构共性特征的抽象表述,对网络协议体系组织结构的描述,指导开发者如何设计网络应用系统总体结构,以及如何选择实现网络服务功能的合适技术。
物联网行业的应用系统功能差异大,系统结构与协议标准复杂,这给研究物联网应用系统的规划与设计方法造成很大困难。无论物联网应用系统多么复杂,它们必然会存在一些内在的共性特征,重要的是能否准确总结出这些基本特征,并找出合理的层次结构模型。从计算机网络层次结构模型与体系结构的发展过程中,可以得到两点启示:
· 研究物联网技术必须研究物联网的层次结构参考模型与体系结构。
· 任何一种物联网层次结构模型与体系结构最终都要接受实践的检验。
2018年,智能物联网(AIoT)的概念问世。AIoT推进了“物联网+云计算+5G+边缘计算+大数据+智能+控制”技术的融合创新,将物联网技术、应用与产业推向一个新的发展阶段。那么,如何用一种简洁的技术架构模型来表述AIoT应用系统的共性特征,并且能够用这种架构模型来指导、规划、设计AIoT应用系统,这是物联网研究的一个重要问题。
随着各行各业在AIoT应用方面研究的深入,我们发现不同行业、不同应用场景的AIoT应用系统有很大差异。例如,工业物联网与消费类物联网应用系统之间的差异是非常明显的。为了总结出不同AIoT应用系统的共性特征,必须在掌握大量AIoT应用的成功案例的基础上,进行深入分析与总结,才能得出有价值的结论,这需要经过一定的时间、知识与经验的积累。
目前,产业界与学术界比较通行的方法主要有两种:一是集中精力研究某个产业的某类应用系统的共性特征,总结出这类应用系统的AIoT层次结构参考模型与体系结构;二是从更宏观的角度,从支撑AIoT的关键技术出发,在研究AIoT技术架构的基础上,进而提出AIoT层次结构参考模型,指导AIoT应用系统的规划、设计与工程实现。我们将采用第二种方法来研究AIoT技术架构与层次结构模型。
我们基于《物联网工程导论》一书提出的IoT层次结构模型,综合各个国际标准化组织和研究机构发表的IoT层次结构模型的特点,结合AIoT自身的特点及支撑AIoT发展的新技术,将AIoT应用系统的总体功能分解到不同层次,明确各层实现相关功能所需采用的技术和协议,提出了AIoT的技术架构与AIoT层次结构模型。图1-8描述了AIoT的技术架构。
1.技术架构
AIoT的技术架构由6层组成:感知层、接入层、边缘层、核心交换层、应用服务层与应用层。
感知层是物联网的基础,用于实现感知、控制以及用户与系统交互的功能。感知层主要包括传感器、执行器与WSN,RFID标签、读写器与EPC网络,智能手机与GPS终端,智能家电、智能仪器/仪表与智能生产设备,以及可穿戴计算设备、机器人、无人机、智能网联汽车等,它们涉及嵌入式计算、可穿戴计算、智能硬件、物联网芯片、物联网操作系统、智能人机交互、深度学习和可视化技术。
图1-8 AIoT的技术架构
接入层承担着将海量、多种类型、分布广泛的物联网设备接入AIoT应用系统的功能。接入层采用的接入技术包括:有线与无线技术。有线接入技术包括Ethernet、ADSL、HFC、光纤接入、电力线接入、现场总线、工业以太网等;无线接入技术包括近场通信Wi-Fi、BLE、ZigBee、WPAN、WBAN、WSN、NB-IoT、5G C-RAN、H-CRAN等。
边缘层又称为边缘计算层,它将计算与存储资源(如微云Cloudlet、移动边缘计算节点、雾计算节点等)部署在更接近于移动终端设备或传感器网络的边缘,将很多对实时性、带宽与可靠性有很高需求的计算任务迁移到边缘云中处理,以便减小任务响应延时、满足实时性应用需求,优化与改善终端用户体验。边缘云与远端核心云之间协同,形成了“端-边-云”的三级结构模式。
为了提供行业性、专业性的物联网服务,核心交换层承担着将接入网与分布在不同地理位置的业务网络互联的广域主干网的任务。对网络安全要求高的核心交换网需要分为内网与外网两大部分,内网与外网之间通过安全网关来连接。构建核心交换网内网可采用IP核心交换网、企业专网、VPN或5G核心网技术。
应用服务层软件运行在云计算平台之上。云平台可以是私有云,也可以是公有云、混合云或社区云。应用服务层为应用层需要实现的功能提供服务。它提供的共性服务主要包括:从物联网感知数据中挖掘出知识的大数据技术;根据大数据分析结论,向高层用户提供可视化的智能决策技术;通过反馈控制指令,实现闭环的智能控制技术;数字孪生将大大提升物联网应用系统控制的智能化水平;区块链将为构建物联网应用系统的信任体系提供重要的技术手段。
应用层包括智能工业、智能农业、智能家居、智能交通、智能电网、智能医疗、智能环保、智能安防、智能物流等行业应用。无论是哪类应用,从系统实现的角度来看,都是要将代表系统预期目标的核心功能分解为多个简单和易于实现的功能。每个功能的实现要经历复杂的信息交互过程,对信息交互过程需要制定一系列通信协议。因此,应用层是实现某类行业应用的功能、运行模式与协议的集合。研发人员将依据通信协议,根据任务需要来调用应用服务层的不同服务功能模块,实现物联网应用系统的总体服务功能。
尽管应用层软件也是运行在云计算平台上,但是从功能分层的角度以及逻辑关系上,还是应该将应用层与应用服务层区分开,应用服务层侧重于为行业应用提供共性服务与软件模块,而应用层侧重于提供行业应用功能实现的方法与技术。应用服务层不可能涵盖行业应用中复杂的功能与协议,应用层与应用服务层之间需要协作,才能够实现物联网应用系统的总体服务功能。
2.跨层共性服务
在讨论物联网技术架构的同时,必须注意与各个功能层都有交集的跨层、共性的服务。这些服务主要包括:网络安全、网络管理、ONS与QoS/QoE保证体系。
网络安全涉及物联网从感知层到应用层的各个层次,小到接入传感器、执行器的接入网中的局域网、BLE、ZigBee、Wi-Fi、5G或NB-IoT,大到核心交换网、云计算网络,都存在网络安全问题,并且各层之间相互关联、相互影响。
将接入网、核心交换网与后端网络使用的大量网络设备,接入各种感知、执行、计算节点,它们相互连接构成物联网网络体系;各层之间都要交换数据与控制指令。因此,网络管理同样涉及各层,并且是各层之间相互关联与相互影响的共性问题。
在计算机网络中,“名字”标识一个对象,“地址”标识对象所在的位置,“路由”确定到达对象所在位置的方法。整个网络活动是建立在“名字-地址-路由”的基础上。显然,每个连接到物联网的“物”都需要有一个全网唯一的“名字”与“地址”。物联网的对象名字服务(Object Name System,ONS)包括命名规则与“名字/地址解析”服务。
物联网的ONS功能与互联网的DNS功能类似。在互联网中,我们在访问一个Web网站之前,首先要通过DNS查询网站的IP地址。以RFID标签为例,在物联网中要查询RFID标签对应的物品详细信息,必须借助ONS服务器、数据库与服务器体系。与互联网的DNS体系一样,为了提高系统的运行效率,必须在物联网中建立本地ONS服务器、高层ONS服务器及根ONS服务器,形成覆盖整个物联网的随时、随地、便捷地提供对象名字解析服务的ONS服务体系。
在互联网的发展过程中,人们花费了很大精力解决服务质量(Quality of Service,QoS)问题。物联网传输的信息既包括海量的感知信息,又包括反馈的控制信息;既包括对安全性、可靠性要求很高的数字信息,又包括对实时性要求很高的视频信息,以及对安全性、可靠性与实时性要求都高的控制信息。在物联网应用中,用户关心的不仅是客观的QoS,还包括在QoS基础上加上人为主观因素的体验服务质量(Quality of Experience,QoE)。因此,物联网对数据传输的QoS/QoE要求比互联网更复杂,必须在整个物联网体系结构的各层通过协同工作方式加以保证。
综合AIoT的技术架构与跨层共性服务的讨论,我们总结出图1-9所示的AIoT层次结构模型,它是由“六个层次”与“四个跨层共性服务”组成的。
图1-9 AIoT层次结构模型
由于感知层的传感器、执行器与用户终端设备通过接入层接入物联网之后,成为物联网的“端节点”,系统架构师一般将感知层与接入层统称为“端”,因此可以将AIoT层次结构模型用“端-边-网-云-用”来表述。在产业界,系统架构师一般使用更简洁和容易记忆的术语来表述AIoT层次,一种提法是“端-边-管-云”,这里用“管”(即通信管道)来表示“网”。由于应用服务层与应用层软件都是在云计算平台上运行,因此另一种更简洁的提法是用“端-边-云”来表述AIoT层次。