基于阿里云IoT组件搭建车联网基础平台

背景

近年来,云计算、IoT等概念如火如荼,尤其是最近物联网又称为了“新基建”的内容之一。在传统的汽车制造领域,云计算和物联网能够帮助该行业的企业带来什么改变?这种背景下,“车联网”被频频提起。怎么定义车联网?车联网能够给车主带来什么?能够给汽车制造企业(主机厂)带来什么?能够给后服务市场带来什么?该怎么样落地?这些汽车领域的上下游企业都在各自不断的摸索。
在阿里云上,可以基于IoT套件等已有产品搭建一个车联网,便于汽车行业的企业开发自己的车联网应用。这些应用的发展思路多样,可以是面向车主的手机端APP,用来管理自己爱车的油耗、空调、电子设备;可以是面向主机厂的车辆运行监控网络;也可以是面向后服务市场的数据分析及定向营销。

企业的诉求可大概归类为:

痛点/需求点 详细内容
车载数据的上下行 作为主机厂,能够从汽车内置的传感器中收集比OBD还要多的数据,怎么解决设备的连接问题,怎么去采集这些数据使用什么样的通信协议等等,这些海量数据怎么进行稳定可靠的上下行通信。
数据的分析与运营 对于采集上来的数据,怎么去做分析,运营,让这些数据产生价值,上层的应用系统怎么建设去满足整车厂的需求
行业的业务衍生拓展需求 主机厂或者汽车后市场基于收集上来的数据来做大数据分析,上层的业务系统的规划逐步迭代,从C端的APP到大数据分析推动质量改进再到汽车后服务中的保养和金融服务等,逐步建设由车联网,云计算,大数据组成的汽车云平台。
产品选型复杂 市场上这么多开源框架,人员招聘、学习过程、框架搭建,从时间到费用各种各样的成本都不低。

解决方案:
阿里云IoT物联网套件+大数据平台

方案概要
怎么去接入数量逐步增加的车机端,让用户只关心上层应用系统的建设,不用去担心平台的后台扩展,兼顾设备端的安全认证,链路传输加密等等。

基于阿里云IoT组件搭建车联网基础平台

方案概述:
• 接入网关支持线性动态扩展,可支撑亿级设备同时连接
• 通信链路加密
• 自动尝试与Server重连,尝试时间是1s,2s,4s,8s,最大间隔60s,间隔时间可设置
• 车内数据1s收集一次,非实时性数据几分钟打包上传一次,实时数据采用长链接
• 实时数据基于MQTT协议与IoT hub长连接通信
• 服务端订阅消息,将消息传入MNS
• 应用服务器获取数据解压数据,并将消费处理后的数据传入MNS
• 数据计算产品去消费经服务器规则处理后传入MNS中的数据
• 外部离线数据,定时同步通过工具Data integration可以将异构的数据源抽取写入同一个数据源Table Store(或者直接导入阿里云最新的时序数据库产品InfluxDB),进行后续各种计算和使用。

此外,因为使用阿里云IoT套件及数据产品,整套系统建议基于阿里云进行部署。

基础平台总体设计:
基于阿里云IoT组件搭建车联网基础平台

设计思路

  1. 位于每辆车作为车联网终端的数据采集与通信终端(简称终端),嵌入阿里云IoT套件的终端开发SDK。本SDK用于将终端数据以及底层车联网端到端的通信通道进行加密封装,并在车辆与服务端进行数据交互时,提供终端身份合法性的鉴权认证。
  2. 车辆各传感器数据实时/准实时上传至阿里云时,阿里云安全防御产品通过终端鉴权及认证后,车联网数据将对接到阿里云IoT Hub。
  3. 阿里云IoT Hub作为专业的物联网/车联网终端接入网关,具备亿级设备的长连接,以及百万级并发的海量终端接入能力。
  4. 车辆终端可通过移动通信的3G/4G网络,用长连接保持与IoT Hub的通信,实时传输车辆传感器所采集的各种数据。当车辆终端所处网络环境不好时,可本地缓存传感器数据,待网络恢复时,终端中的IoT SDK将自动恢复与服务端的数据连接并回传数据。
  5. 通过终端的长连接收到车辆数据后,IoT Hub将把数据传递给位于其后的规则转发引擎Rule Engine。Rule Engine按照预先设计的规则(例如车辆实时运行状态数据、故障码等),将数据转发到后端各业务应用系统。
  6. 各业务应用系统收到各自业务所需要的数据后,进行业务处理,并根据需要将数据存储在数据存储模块中。
  7. 鉴于各业务系统的业务逻辑均可以“车”为维度,所用数据也包含了各种状态甚至社交信息,不是标准的关系型数据,且数量可能极为巨大。为了更好的存储这些数据并将之沉淀,为未来的大数据增值分析提供基础,主要的数据存储部分将采用非关系型数据库,其中包含阿里云MaxCompute(用来进行离线分析),表格存储(OTS,用来实施查询),EMR(阿里云的Hadoop和Spark集群服务)、MongoDB,以及比较新的时序时序数据库产品InfluxDB。
  8. 此外,业务系统的基本运行可采用阿里云RDS for MySQL数据库进行关系型数据的存储。
  9. 采用Redis来缓存热数据,提高访问效率。同时采用OSS来存储非结构化业务数据,如文本,图片等。

希望此文能够抛砖引玉,为车联网相关从业者一点启发。

上一篇:Android 针对继承BaseAdapter的自定义适配器应注意的几个地方


下一篇:springboot 自动配置微调