物云融合的IoT云系统架构与服务提供
2018-09-15胡杰
胡 杰
中国电信股份有限公司北京研究院 北京 102209
引言
全球物联网正从以碎片化、孤立化应用为主的起步阶段迈入“重点聚焦、跨界融合、集成创新”的新阶段[1]。物联网的应用,尤其是与云架构密切结合的物联网应用,逐渐变得引人瞩目,“万物智能互联”逐渐从愿景描述转变成现实。从国外情况看,谷歌、亚马逊、Intel、高通等国际巨头紧跟趋势,通过其核心能力和战略联盟推动产业垂直化整合和水平化扩张。谷歌于2015年5月发布物联网操作系统Brillo,实现IoT服务与Google云服务紧密捆绑;2015年10月亚马逊在原有云计算基础上进行延伸,发布了AWS IoT平台,实现IoT基础设施的弹性扩充[2]; Intel发布的物联网关方案构建了异构设备通往云端的统一通道。在此基础上,产业链之间的合作、并购也变得越来越频繁,进而建成一个涵盖芯片、感知器件、操作系统、设备互连、边缘计算、关键软件、数据整合分析到各个垂直应用的生态系统,引领全球物联网生态系统发展。
随着物联网技术的不断发展和市场规模的不断扩大,物联网市场格局从碎片走向整合,未来关注的焦点将从连接走向平台,并形成物联网与云计算、大数据跨界融合的格局。传统的面向云的计算和存储技术将逐渐转变为以海量消息处理为主的物联网云技术,从而更好地推动物联网服务规模发展。
1 IoT对云计算提出新的需求
从市场层面,传统的M2M主要关注设备的连接,随着物联网市场格局从碎片走向整合,物联网产业将逐渐显现出“数据驱动”的特点,纵向的行业聚合与横向的平台聚合将会成为未来物联网生态发展的重要一步,物联网关注的焦点将从连接走向平台,进而推动物联网从M2M时代向IoT阶段演进[3]。
从技术层面,物联网与“大智移云”结合,将促使实体世界与虚拟世界的界线日趋模糊,进一步打破物联网行业框架,催生无限可能的商业价值。在感知、互联、智慧分析技术的演进趋势下,驱动物联网应用逐渐云化,衍生新的应用类型和应用模式,从感知走向认知。
IoT云作为物联网应用的一种最新实现及交付模式,其特征在于将传统物联网中传感设备感知的信息和接受的指令连入互联网中,并通过云计算技术实现海量数据存储和运算。IoT云从市场和技术上满足了M2M向IoT发展的趋势,适应了物联网规模化、智能化和生态化的发展需求。
IoT云对传统底层云基础设施及平台提出了新的要求,主要体现在以下三个方面。
1)相对传统的云主机、云存储等基础设施产品,IoT云需要支持数十亿台设备和数万亿条消息,将消息安全可靠地路由至各终端节点和其他设备,这样对云基础产品种类的需求就大大提升了,需要补充容器服务、负载均衡服务、消息服务、数据库服务等基础设施服务。
2)对数据存储和分析提出了更高的要求,海量异构的传感器产生大量数据,有些数据需要快速处理,对数据的吞吐量产生挑战,且物联网数据既有结构化数据,也有非结构化数据,不仅对存储的效率有需求,还需要能够对存储的规模进行横向扩展,需要对不同来源的数据进行集成以及安全保护。
3)为了加强物联网业务之间互操作及数据分享,支持业务快速创新、应对多变需求、实现集中运营管理、突破性能瓶颈,微服务在物联网中的应用越来越广泛,针对微服务应用,能够提供应用生命周期管理、资源及容器管理、报警监控、帐号体系管理等平台功能。
在功能方面,IoT云需要具备提供泛在设备接入、云化平台、数据存储与分析、智能应用服务等功能。
2 IoT云的体系架构
IoT云基础架构由云OS/SDK、接入网关和云服务平台三部分组成,并结合边缘计算、人工智能、IoT安全等技术,构建基于客户需求规模、按需付费、安全可信的物联网云化服务体系。
如图1所示,通过云OS/SDK和接入网关(IoT Hub),将资源受限的物联终端快速接入云平台;同时在云服务平台侧引入云计算的虚拟化、并行计算、分布式数据库、分布式存储以及应用层多租户技术,实现物联网海量设备规模接入管理、高并发消息处理、多样化异构数据存储以及智能化大数据分析等服务。
图1 IoT云系统架构图
物联网终端设备硬件差异较大,存在异构性、多样化的特点。传统操作系统无法适应这种“广谱”的硬件环境需求。物联网云OS可提供完整的连接和设备管理功能,并具备较强的伸缩性,可适配不同类型硬件环境,屏蔽底层物理硬件的差异,为终端设备赋予感知能力,实现万“物”智能互联。物联网云OS具有占用内存少、电源效率高、模块化可配置等特点,同时具备丰富的物联网基础功能组件和应用开发环境,可大大降低物联网应用的开发时间和开发成本。为了实现终端设备在云平台中的快速接入,物联网云OS一般通过集成SDK软件实现与云平台的连接、认证和消息交互。同时,SDK软件也可以独立移植到第三方操作系统中,使之具备接入物联网系统框架的能力。
云服务平台是IoT云体系架构的核心,可实现设备接入管理、消息路由分发、海量数据存储分析等功能,具备大规模分布式部署及高并发计算能力。IoT云服务平台目前主要涉及容器及微服务、设备接入管理、消息中间件、数据存储与分析等核心技术。
3 物云融合云平台的关键技术分析
3.1 容器及微服务
随着物联网的发展,物联网与云计算的跨界融合成为趋势,容器集群管理、微服务框架以及无服务器架构等云计算技术,可以更好地帮助构建基于客户需求规模、按需付费、安全可信、云网协同的物联网云化基础设施,解决物联网应用的海量终端接入和数据处理问题。
依靠容器具有的轻量、低运行开销、易于部署/移植以及快速启动等独特优势,开发人员使用基于容器的虚拟化进行快速、大规模地开发、测试、部署和更新IoT应用程序,已逐渐成为物联网应用主流开发方法。在物联网领域,容器技术不仅可以通过容器封装,简化下载、安装部署、启动和后续应用更新,加速物联网云服务开发部署,还可以使用容器维护一致的IoT开发环境,将容器部署到IoT设备,集成IoT设备与云服务,满足物联网各种硬件设备平台环境[4]。
物联网行业中,由于单个设备传输数据量较小,传输请求频次较低,IoT应用服务常处于空转状态,计算资源使用率较低。无服务器架构(Serverless)出现为物联网这种低频请求场景带来了新的处理思路。由于无服务器架构兴起不久,目前业界并没有给出明确的定义,比较普遍的理解是指开发者不再需要过多考虑服务器的容量、部署以及其上的操作系统等问题,计算资源被作为服务而不是服务器提供给开发者,开发者只需通过集成多个第三方API或服务就能组成最终的应用逻辑。
3.2 海量高并发数据存储技术
随着物联网规模化发展和领域的逐步扩大,物联网连接的设备数高达数百万甚至数十亿级,信息量也随之出现爆炸性增长。原有的结构性数据混入了来自于社交媒体、传感器的非结构化数据,这些数据有声音、图片、视频、文字等。由于物联网环境下涉及基于时间和空间特征、动态的超大规模数据管理和处理,对数据的存储提出以下要求。
1)大规模弹性伸缩:可以存储和处理数百TB的数据来支持物联网碎片化应用场景中科学、财务分析和媒体应用程序所需的大数据方案。也可以存储小型商业网站所需的少量数据。
2)按需付费:能够灵活地按使用时间、使用内容大小支付费用。
3)数据负载均衡:使用自动分区系统,根据流量自动对数据进行负载均衡。随着需求的增长,数据存储会自动分配合适的资源来满足物联网变化的需求。
目前物联网数据有多种分类维度。按数据结构维度,物联网产生的数据可以分为结构化、非结构化和半结构化三类数据。结构化数据指可以用二维表结构来逻辑表达实现的数据,如关系型数据库、面向对象数据库中的数据。非结构化数据相对于结构化数据而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等。半结构化数据介于完全结构化数据和完全无结构的数据之间,数据模型具有一定的结构性,但较之传统的关系和面向对象的模型更为灵活[5]。
针对物联网不同的数据分类,相对于传统关系型数据库存储,IoT云平台的首要工作是能够高速处理分布式环境中的海量数据,选择合适的数据存储技术方案。目前业界主流数据存储技术和方式包括:Blob存储(对象存储)、表存储、文件存储和队列存储。
3.3 消息中间件技术
消息中间件简化了应用之间数据的传输,屏蔽底层异构操作系统和网络平台差异,提供一致的通讯标准和应用开发,确保分布式计算网络环境下可靠的、跨平台的信息传输和数据交换。消息中间件能在不同平台之间通信,它常被用来屏蔽掉各种平台及协议之间的特性,实现应用程序之间的协同。
消息中间件基于消息队列、规则引擎及消息持久化机制,进行消息传输和异步事务处理,实现应用整合与数据交换,将传统面向计算资源的云服务转变为面对消息的IoT云服务。
4 面向行业的物云融合服务实践
当前,垃圾处理已成为一项关乎民生和社会可持续发展的重要因素。为积极响应政府号召,充分发挥中国电信信息惠民的社会使命,通过将新型物联网技术与云计算、大数据技术跨界融合,进而构建智能环卫管理解决方案,解决传统环卫生产管理落后、垃圾处理设施不够完善等问题,打造面向环卫行业的典型物联网应用,有效带动中国电信物联网业务的发展。
智能环卫管理系统由环卫终端、NB-IoT/4G网络和智能环卫管理平台三部分组成,架构如图2所示,其中智能环卫管理平台在天翼云侧进行部署,智能垃圾桶、环卫人员、垃圾运输车和清洁车等智能硬件通过中国电信NB-IoT/4G网络接入平台,实现数据的采集与上报。智能环卫管理平台对各类智能硬件进行实时调度,并对收集的数据进行智能分析处理。
相对于传统的云计算场景,IoT云平台需要支持数十亿台设备和数万亿条消息,并且可对消息进行处理,将其安全可靠地路由至各终端节点和其他设备。同时,无论设备是否处于连接状态,云平台都可以随时跟踪所有设备并与其通信。
针对以上场景需求,IoT云平台主要从以下几个方面实现。
1)基于消息中间件,构建海量消息处理能力。
相对于传统云平台更多面向云的计算能力和存储资源,IoT云平台服务主要面向消息,为设备和应用提供安全可靠的消息处理能力。而这些能力的提供,对底层的云基础设施提出了新的要求。
IoT平台通过消息中间件,建立应用服务与终端设备间的通信,并根据应用服务的订阅情况将终端设备消息转发给指定的应用。同时,利用规则引擎的自定义规则提取和过滤来自设备的消息,对消息进行数据结构转换,并将消息转发到指定的订阅应用或写入存储,对接通知推送和数据处理服务。再通过流数据处理,收集、转换来自终端设备及应用服务的状态、日志等流式数据,并将其加载到各类数据存储中,进行实时处理和分析,帮助构建自定义实时应用程序。
2)基于容器及微服务架构,打造丰富的“云”、“端”处理能力。
IoT云平台以云为基础,通过采用微服务架构,支持模块分层解耦和横向扩展。每个微服务基于容器独立编译及部署,并通过各自暴露的API接口互相通讯,协同工作,共同提供平台强大的整体功能。
结合容器虚拟化技术,IoT设备与物联网关集成一致的IoT开发环境,屏蔽底层系统,打破设备间的信息孤岛,实现终端、设备、应用三者间的互联互通互动,满足物联网多样化业务需求。
3)基于海量数据存储,提供高效的数据分析和处理能力。
面对物联网海量数据的整合、运营,IoT云平台更需要高效的数据分析和处理能力。除了需要进一步发展大数据计算和分析等能力,IoT云平台还需要整合计算机视觉、图像识别、深度学习、机器人技术、语音识别、自然语言处理等创新的AI能力,扩展对视频、图像、语音等异构数据的认知和理解能力,将其应用到不同的场景中,为更多的业务创新提供能力基础。
图2 基于物云融合架构的新一代智能环卫管理系统
在此基础上,开展针对智能环卫管理平台的高并发压力测试和长期稳定性测试,模拟物联网终端同时向平台发送不同业务逻辑与格式内容的MQTT/CoAP/TCP/UDP消息,并在固定业务逻辑和数据格式的情况下测试验证平台的鲁棒性。经验证,平台同时能够对10万以上的智能物联网终端进行集约化管理,连接平均响应时间达到毫秒级,并支持线性弹性扩展,如图3所示。
5 结语
图3 10万用户下平台的请求响应时间
当前物联网在全球范围内呈现加速发展的态势,不同行业和不同类型的物联网应用逐渐普及和成熟,带来的数以百亿规模数据价值的发掘,进一步推动了物联网应用呈现爆发性增长。同时,伴随着人工智能、虚拟现实、自动驾驶、智能机器人等技术的创新突破,物联网在应用体验和普及范围方面达到新的高度。物联网应用从过去的自动化、信息化阶段逐渐迈入智能化时代,从简单的提供设备连接和数据交互的功能深化裂变成为传统行业智能化升级的关键力量,从而推动物联网各行业包括交通、制造、家居、医疗、零售等细分领域在更智能的机器、更智能的网络和更智能的交互条件下,创造出更智能的经济发展模式和社会生态系统。