物联网(Internet of Things,IoT)是指通过互联网将各种物理设备、传感器、软件和网络连接起来,实现彼此之间的通信和数据交换的网络系统。
IoT 物联网平台的核心理念是将物理世界与数字世界相连接,通过智能化和自动化的方式,实现设备之间的互操作性和智能化管理。
IoT 物联网平台的基本原理是通过传感器、标签、RFID等技术将物理设备与互联网连接起来,使其能够实时收集、传输和分析数据。这些数据可以包括设备的状态、位置、温度、湿度等各种信息,通过云计算和大数据分析,这些数据可以被处理和利用,以实现更高效、智能和自动化的应用。
01
物联网行业趋势
物联网发展趋势
物联网已经经历了超过十年的快速发展,尤其是最近几年,物联网各个领域需求旺盛,各式应用场景愈加丰富,技术和应 用创新层出不穷,发展速度越来越快。预计到2025年,全球物联网总连接数将达到246亿,年复合增长率高达13%,并且产 业物联网设备数量将超过消费物联网设备数量。
设备产生的海量数据与企业的业务数据融合之后会产生巨大的价值,能够促进企业高效低成本地运营,进而提升整个社会 生产效率。物联网在这波数字化浪潮中至关重要,让所有设备从孤立的变成有生命的。互联网时代和移动互联网时代的本 质都是人的在线化,物联网时代百亿规模设备的在线化和数字化将会对物理世界进行重塑,尤其在5G网络的推动下会加速 这个进程。
物联网面临的技术挑战
随着大量物联网场景不断涌现,海量设备的管理运维、海量数据的分析处理,以及业务全球化的发展趋势,都给物联网平 台带来了一系列新的要求和新的技术挑战。
高并发
物联网设备规模随着行业发展不断增多,设备逐步增多要求平台的系统容量能不停的水平扩展,需要使用什么样的系 统架构来支撑无限扩展的系统?对于国内最大的物联网平台来说,怎么解决千万级设备的并发建连、怎么维持百亿级 设备的长连接稳定性、怎么保障百万级/千万级消息通信的实时性是个非常复杂的系统工程。
高可用
物联网从早期2016年主要应用在消费类智能家居场景,到最近几年场景越来越丰富,从文旅、园区、地产、城市、农 业,再到工业、汽车等场景,其可靠性要求从民用级上升到了企业级。物联网平台的高可用能力决定了能够支撑客户 业务持续运行的底线,在应对大量影响民生安全、工业制造、社会稳定的场景时,需要提供极近苛刻的高可用能力。
数智化
业务数字化转型最终的目标是为了智能化,利用大量数据分析进行经营提效、降低成本、创新业务,物联网也开始逐 步进入到数智化的阶段。如果一台智能电表每隔15分钟采集一次数据,每天自动生成96条记录,那么全国接近5亿台 智能电表,每天就能生成近500亿条记录,联网汽车、工业场景等设备上报数据会更频繁,据预测五年之内物联网设 备产生的数据将占世界数据总量的90%以上,超大规模数据为智能化带来了技术挑战,也带来了巨大的发展空间。
全球化
近年来,随着国内工业制造水平的提升和低成本产业链的优势,越来越多的企业将业务拓展到了海外,如汽车、光伏 、储能、智能家居等场景,对物联网设备出海的需求日益增强。百万级设备在全球范围内的接入、管理和运维将给企 业带来巨大的技术挑战,包括性能、稳定性、安全合规、运维成本等诸多方面,如何以极致的成本保障业务的安全稳 定运行是企业在业务全球化发展过程中首要考虑的问题。
02
物联网技术架构
物联网产业由“云”、“网”、“边”、 “端”、“用”五大板块组成。
“云”:指物联网相关的云化能力平台,主要由云端物联网平台承载相关云服务包括连接、管理、数据、AI、安全、区块 链等等。
“网”:连接网络及相关产品和服务。大物联时代带来的大连接数和复杂设备现场环境,使得有线连接捉襟见肘,因此在 AIoT 应用场景中,网络将逐步以无线连接为主。
“边”:泛指中心节点之外的位置。边缘计算指的是将计算及相关能力从中心处理节点下放至边缘节点后形成的,靠近终 端的计算能力。
“端”:物联网终端,包括底层的芯片、模组、存储设备、感知设备、AI 芯片、操作系统等。
“用”:AIoT 产业应用行业。从核心驱动要素看,可分为消费驱动型、政府驱动型和产业驱动型行业。
03
企业搭建物联网平台的技术方案
碎片化设备接入
针对碎片化的接入问题,通过不同的接入方式来适配不同的设备场景。
直连设备:对于广域网的设备,通过直连的方式直接上云。
局域网设备:通过不同的局域网协议接入边缘网关,由边缘网关转换协议,然后做数据处理,再通过 MQTT协议接入物联网平台。
LoRa设备:先接入LoRa网关,然后由LoRa网关通过MQTT协议接入阿里云物联网平台。
NB-IoT设备:阿里云物联网平台支持移动、联通和电信NB设备接入。移动和联通可直接接入,电信支持 两种接入方式。第一种通过Host/IP白名单接入阿里云物联网平台,第二种通过阿里云物联网平台提供的云云 对接的方式,先对接电信平台,然后把设备接入到阿里云物联网平台。
私有平台的设备:通过泛化接入的方式,把私有协议转成标准的MQTT协议,然后接入到阿里云物联网平 台。
通道复用:对于边缘网关,其下的子设备可以通过复用网关的物理连接方式上线和消息上下行通信,这 类子设备与直连设备的能力对等。
云网关: 针对采用了标准MQTT协议的设备,但自定义了设备身份信息和消息通信Topic的设备,通过云 网关接入方式解决身份和Topic的标准化。采用JT/T808、GB/T32960协议的车载设备,通过云网关解决认证、 身份和设备通信问题。
海量设备的连接稳定性
连接限流能力
从外部请求限流和内部资源限流两个维度设计的接入层限流。针对外部限流,有并发建连限流、单连接流量限 流、背压机制(结合业务层消费能力和TCP滑动窗口机制来实现)和节流机制(溢出包丢弃)。针对内部资源限流,限制单进程、单应用的TCP Session数量,针对TCP缓存的内存限制,针对单应用的CPU使用限制。通过内、 外资源的限流策略来防止连接层的雪崩,同时减少对下游系统的冲击。
应用热更新能力
在网络代理发布时,会导致设备的TCP长连接断开,对于设备而言,需要重建连接,同时在建连的过程中消息不 能到达。对于长连接断开,阿里云物联网平台支持了平滑迁移和缓慢下线的能力。通过老进程关闭listen fd, 新进程接管listen fd,老进程维持24小时,让设备重连后自动迁移到新进程。对于长时间不重连的设备,通过 缓慢下线的策略逐步使设备下线重连,减少同时大量设备下线对用户业务的影响。通过上述两个策略配合使用 ,可减少网络代理发布时对设备连接的影响。
Session转移
网络代理层跟协议层之间采用了TCP长连接,在协议层发布时会导致TCP长连接断开,在协议层保存了本地
Session信息,如果当前发布机器的Session信息丢失,连接断开后需要设备重连才能恢复。针对上述情况,阿 里云物联网平台设计了Session转移功能,在协议层发布时,可以把TCP长连接和设备的Session信息转移到其他 未发布的机器上,此时协议层的发布可以做到对设备无感。
快速容灾
为了解决单故障导致的全平台问题,阿里云物联网平台针对协议层、消息层部署了多个集群,同时会把不同的
用户放到不同的集群里,当某个集群的协议层或者消息层出现系统异常时,网络代理层可以通过路由能力和 Session转移能力把设备的连接转移到不同的集群,从而保障单集群故障能快速恢复。
设备连接的安全性
IoT平台基于四层安全设计和离线安全分析结合来保障设备的安全性。
安全防御层
借助阿里云的DDoS、高防等能力,防止SYN洪水攻击等,做到流量的有效清洗,可以防止1000Gbps以上的流量攻击。
通道安全层
通过实现TLS、DTLS,X.509,ID2等安全加密技术,实现传输层的加密,防止数据在传输过程中 被篡改、伪造等,同时针对低功耗设备,提供PSK、SessionTicket 等能力,解决TLS过程中的数 据传输量和网络RT的问题。
身份安全
支持三种类型的设备身份,不同IoT场景可以使用不同的身份,保障每个设备都有唯一身份,同时对设备认证做了加签,防止身份的伪造。
数据安全
按单元隔离不同集合的用户,然后再按用户维度和实例维度做更小粒度地隔离,保障数据在实例内、用户内、单元内闭环,做到每个用户只能看到自己的数据。
离线数据分析
利用设备行为数据结合平台的AI能力,分析每个设备的安全性,针对安全等级低的设备做预警,并且结合平台安全层,针对攻击类设备实现自动拦截的能力。
海量消息处理
物联网平台消息队列采用连接、计算、存储分离的架构。接入节点包括MQTT接入节点和AMQP接入节点,支持千万设备 长连接。计算节点是无状态的Broker,负责消息分发。存储节点负责存储会话、订阅关系和消息队列。
在这种架构下,各个节点职责清晰,可分别支持水平扩展。节点之间通过高性能NIO网络框架进行通信,并采用RDMA技 术进行网络加速。通过以上连接、计算、存储分离的架构,做到了高性能、高可用,架构具有良好的弹性。
传统消息队列,其存储引擎简单来说是一种Queue引擎,在Topic数量变多时会产生大量的随机读写,严重影响性能。针对传统MQ的问题,结合IoT场景的业务特性,物联网平台升级了存储引擎,在Queue引擎的基础之上,自研了K-V引擎 ,支持海量Topic存储,同时支持海量会话和订阅关系的存储。
对于AMQP服务端队列,采用Queue引擎,达到极致的读写性能。
对于MQTT设备队列,采用K-V引擎,支持海量Topic。
高可用设计
高可用架构
1) 接入节点高可用
连接健康度识别。
会话自检。
跨可用区容灾。
2) 计算节点高可用
秒级故障转移。
无状态水平扩展。
跨可用区容灾。
3) 存储节点高可用
分布式文件系统+共享存储的设计,做到秒级故障转移。
热点分区自动隔离,跨可用区容灾。
数据3副本。
消息高可用
1) 容灾
目前消息的容灾主要包括消息存储容灾、订阅关系容灾、消息推送容灾。
消息存储容灾:在存储引擎出现故障时,消息存储会不断重试,确保消息最终存储成功。
订阅关系容灾:消息推送的第一步就是查询订阅关系,如果存储引擎出现故障,Broker内部会发起重试,确保推送流程最终能正常走下去。
消息推送容灾:消息推送给消费者时,如果消费者出现异常,云端同样会发起重试,确保最终的消 息推送成功。
2) 用户隔离
用户隔离是IoT消息流转高可用建设核心的架构优化。针对不同用户的SQL脚本、规则的复杂度等特性,用户隔离引擎能动态感知各用户规则计算的资源消耗,从而动态调整计算资源,保障负载均衡。
用户隔离引擎主要包括调度中心和状态中心。调度中心实时监听服务节点的状态,做流量统计,然后根据 动态的一致性Hash算法做资源分配。状态中心则实时收集每个服务节点的状态,提供给调度中心做决策。最终调度中心决策出最优IP,指定IP调用。
全球化
近年来,中国企业在海外的市场机会越来越大,对海外数据合规的要求也越来越严格,也对设备连接速度和数据上云效率 提出了更高要求。随着全球化的发展和物联网技术的普及,物联网平台全球化的业务支撑变得越来越重要。
全球化部署
物联网平台覆盖全球主要经济区,围绕中国企业出海业务活跃地区,全球部署8个站点,包括上海、北京、深圳、新加坡、 东京、弗吉尼亚、硅谷和法兰克福,并在持续扩展中。
设备就近接入
设备只需烧录全球统一接入点,请求Bootstrap服务,云端即可通过ADNS智能域名解析和DCDN加速,将设备数据分发到就近地域并下发设备接入点域名。
全球接入加速
依托于云原生架构优势、自建接入层技术优势,阿里云物联网平台在网络层、连接层都进行了大量连接性能优化,在连接 并发、建连速度、网络RT及稳定性、数据传输速度等多项关键指标上都进行针对性优化;主要通过以下关键技术解决:
无限扩展的架构
通过智能DNS和SLB的组合应用解决网络扩展性,应用层使用SLB与ECS,解决接入层的扩展性,并通过单元化架构保障了线性弹性扩展能力,满足数亿级设备的接入要求。
稳定的网络质量
充分利用云原生优势,基于阿里云BGP网络,网络延迟能达到同城10ms。通过智能DNS的就近接入、就近IP的选址、基于全球加速和DCDN的加速服务进一步提升网络效率。
极致的应用性能
在应用侧,采用多进程架构和全异步化的通信方式极大提升应用性能,满足百万每秒的建连并发。
如您需要了解更全面详尽的物联网平台建设技术白皮书,请联系小编获取!
往期推荐
☞ 云厂商的「IoT物联网平台」不香了吗?