APP下载

智能网联大数据在高并发场景下的技术应用

2021-09-10倪峻

汽车与新动力 2021年4期
关键词:智能网联网数据库

倪峻

以智能网联大数据在高并发场景下的应用为基础,分析了目前汽车行业主流数据平台技术的优势与劣势。以实际业务需求出发,制定了融合离线数据平台和实时数据平台的车联网大数据平台架构,以及基于部分开源产品组件,结合自主开发组件的解决方案。通过平台的开发交付、迭代优化,以及业务应用过程中的案例分析,梳理出该数据平台的技术特点,并提出了后续改进和扩展的技术思路。

智能网联;数据平台;实时数据;离线数据;数据化

0 前言

随着车联网和物联网功能在汽车行业逐步成为标配,通过智能网联的应用提升产品整体竞争力和用户体验,已成为所有汽车整车企业、零部件企业,甚至汽车服务企业需要重点关注的领域之一。为了在满足国家法律法规要求,以及全国各地甚至国外地区车辆准入条件的前提下,同时尽可能地满足用户的个性化、整车智能化等需求,与车联网相关的数据采集、传输、接收、转发、保存、分析、应用等,已成为智能网联板块非常关键的环节[1]。

根据车辆动力不同,车辆可分为燃油车、纯电动车、燃料电池车等;根据使用场景的不同,车辆可以分为偏个人客户的乘用车、偏商务用户的商用车,以及工程机械与房车等。在不同动力和应用场景下,车辆行驶数据、驾驶行为数据、车载设备数据、车辆周边环境数据,以及采集范围、频率、数据包大小、数据格式、加密解密、数据响应时效(实时/准实时/非实时)等各项因素,都需要在架构方案设计时进行综合考虑和统筹平衡。

本文以实现商乘并举、多车型、多公司、多场景复用的智能网联数据平台为目标,对比分析了目前几种主要的数据平台技术,综合考虑实际应用需求、投入产出、预留扩展性等因素,制定了基于部分开源组件加自主开发的架构和技术方案,完成平台的整体搭建实施,并通过不断的数据化应用和分析,持续推进数据平台的迭代和优化。

1 应用场景分析

智能网联最基本的数据需求,源于国家和地方政府对于新能源车辆安全行驶的管控要求,采集的数据包括基本的里程数、行驶轨迹、充放电情况等,逐步增加扩展到动力电池状态、电动机状态等数百个参数。随着国家对于国六车型数据标准的推广与实施,未来车联网数据标准将成为所有车型的准入要求。除了基本法规标准的要求外,为了实现智能网联的更多应用,如兴趣点(POI)推送、人车智能交互、初级智能驾驶、车队管理、客货仓管理、租赁车辆远程智能控制等功能,技术人员需要采集大量的车辆行驶数据、用户驾驶行为数据、车载设备或车辆周边环境数据。由于应用场景的实时性需求,有些数据在车辆本地的车机端就直接完成了采集和应用,而更大部分的数据,由于车机本地算力的限制,以及綜合应用的需要,都需要通过远程通讯模块(TBOX)和传输通道回传到车联网平台(TSP)云端。数据格式包括文本、音频、视频等多种形式。数据采集的频率从最初的几十秒/次,逐步缩短到数秒/次,有些用于研发分析和故障诊断的数据采集频率可能会更高。每个数据包大小从几个千字节到十几个千字节不等。根据每日平均在线车辆数的估算,每日近万台车辆的上传数据将达到几百个吉字节。这对于云端大数据平台的容量和性能都是很高的要求[2]。

目前,主流的数据平台技术和特点如表1所示。为了满足大量数据的读写需求,主流的数据平台可分为结构化数据库和分布式数据库。结构化数据库通过提升节点硬件性能来实现大量数据的读写需求,但最终会达到纵向扩展的上限;而分布式数据库则可通过扩展多套并行的数据节点来实现大数据的读写需求,理论上并没有扩展的上限[3]。结构化数据库的最大优势是稳定性和单节点性能,而分布式数据库的优势在于操作的扩展性和数据的大量处理。在高并发场景下,Mysql数据库被设计用来存放用户在移动端等触点上的在线行为或订单交易等数据;Oracle数据库被设计用来存放车辆配置、研发和生产等结构化标准化数据;MongoDB/Hbase数据库被设计用来存放车辆行驶、驾驶行为,以及车机端娱乐主机等数据;Redis数据库被设计用来存放高性能缓存数据,以满足高速的数据读取需求。作为大数据平台的基础架构,Hadoop数据库在此基础上为Hive/Spark提供查询和计算引擎功能,Kafka数据库则承担接收高并发大数据的车机端上传功能,并同时转发给多个下级数据处理模块。

2 智能网联数据平台架构

2.1 应用架构

智能网联作为未来智能驾驶、万物互联、智慧城市的重要基础设施,主要包含了“端、管、云”三大部分。其中,“端”包含了整车本身,以及核心的车控单元、车载主机、TBOX,以及各类车载操作系统和应用软件等,可以看作是1个大号的手机或者1台移动的计算机终端;“管”主要包括通信和数据传输所需要的运营商基站、无线传输通道,以及通信协议、加密协议等软硬件系统;“云”则包含了接入网关、业务应用,平台应用等。其中,业务应用包括面向个人车主的服务、面向大客户车主的企业服务,以及面向政府的监管服务等;平台应用包括基础的车控服务、数据服务、生态服务、安全服务等。此外,与用户的数字化触点,如应用程序(APP)、小程序、全球广域网(Web)应用等,以及这些触点背后的系统平台,都属于广义“云”的范畴。图1为智能网联TSP平台的应用架构图。

通过数据流,以上应用架构可以简单说明如下:车辆行驶数据、车主或司机的驾驶行为通过各类TBOX、AVN等设备上传至接入网关,考虑到并发容量,以及数据安全等因素,技术人员需要设置多种不同类型和用户的网关。基于企业存量车的历史原因,有些上联设备之前已经有了异构的网联平台(比如上柴发动机、红岩重卡等),可以通过“云云对接”的方式接入数据。数据在进入网关后,所有数据都会首先保存到大数据平台,大数据平台会根据数据的类型和应用需求不同,执行分类备份和归档策略。然后,系统根据应用的实时性要求进行处理。有的数据必须立刻转发给相关的平台,如国家或地方的远程监控平台。此外,根据各个应用的不同需求,系统将简单加工过的数据(加密、解密等处理)传递到不同的应用服务。除了车机端上传的数据,用户在数字化触点,如APP、小程序、Web应用等产生的数据,会通过相应的系统后台传递到统一的大数据平台。这个过程中还有1个关键步骤,即“用户数据打通”。通过统一数据抽取(OneID)机制,将不同渠道获取的数据,通过不同密钥标识符(keyID)进行关联,最终完善多场景下的用户标签,为后续“数字孪生”奠定基础。除此之外,车辆远程控制、FOTA等下行数据,也是通过云端平台和网关分发到不同的车机终端的。

智能网联除了实现基本的车联网功能外,最为核心的价值就是实现移动出行相关的数据采集、传输、分析和应用。通过对这些大数据的应用,可以提升智能驾驶、产品功能,以及用户体验,被称为“从业务数据化到数据业务化”的持续迭代。因此,智能网联的数据平台是整个车联网平台的非常关键的组成部分,而且该数据平台并不仅仅属于车联网的数据平台,更是整个企业级的数据平台。通过智能网联数据平台,可以打通并整合企业的用户数据和车辆数据(图2)。目前,企业应用的大数据平台主要分为离线平台和实时平台2部分。其中,数据存储主要存放于Hadoop集群中。Hadoop集群目前总共有3个管理节点和25个数据节点。

其中,OGG为Oracle Golden Gate软件;DX为数据交换模块;CDP为客户数据平台;Spark on Yarn为基于Yarn集群运行的Spark计算框架;RDBMS为关系数据库管理系统;SQDT为报表记录集;SSO为单点登录。

2.2 离线平台

2.2.1 数据仓库抽取技术(ETL)汇总数据源

为了避免对生产环境数据库造成影响,所有的ETL任务数据源分为2种模式抽取数据。对于Oracle数据库,采用Oracle GoldenGate软件将数据实时抽取到1台Oracle数据库中,ETL统一从该数据库抽取数据;对于Mysql和SqlServer数据库,统一使用只读备库来抽取数据。

2.2.2 ETL任务调度

智能网联大数据使用自主开发的Kangaroo任务调度系统。该系统支持多租户模式,可以将多个租户纳入同一系统进行管理,同时又能使各租户的业务在物理和逻辑层面进行隔离,避免互相影响,保证数据安全。

2.2.3 Hive/Spark

Hive/Spark计算引擎提供了2种不同的引擎对离线数据进行查询功能,其中Hive的查询时间较长,但占用系统资源相对较少,Spark引擎则相反。

2.2.4 Hbase

目前,Hbase数据库主要用于存放车联网数据,分为生产集群和归档集群2部分。生产集群為生产业务提供服务,归档数据则用于存放历史数据。

2.3 实时平台

2.3.1 Kafka

Kafka数据收发系统主要用于数据通道,实时获取斑马系统实时埋点、蜘蛛智联系统实时埋点、车联网系统埋点、车联网系统警告、房车全球定位系统(GPS)信号等数据。后续需求还有车机埋点数据,发动机信号数据接入等服务。

2.3.2 Spark/Flink

Spark/Flink数据处理引擎主要用于处理计算Kafka接收的数据。相比Spark计算引擎,Flink计算引擎能够更方便地控制小文件的生成,缓解车联网集群的性能压力。

3 平台应用情况

通过几年的运行和迭代,上汽大通的智能网联平台逐步接入了上汽大通、跃进、申沃、红岩、上柴公司的EV69、EV79、FCV80、EV31、SV51、C500、D20等几十款车型或发动机,共约30多万台终端,日均实时在线车辆约10 000台以上。历史总数据约为300太字节,并以每月20太字节的速度增加。图3为智能网联平台的应用情况图。

在离线平台方面,目前车联网集群的任务资源共分为3个队列。其中,上汽商用车队列运行大通所有的ETL和报表任务;Azkaban任务调度系统的队列负责运行数据管理平台(DMP)相关业务;Dev_user队列为业务和数据分析人员提供临时查询服务。

实时平台主要服务于需要实时数据接入的业务。其中,斑马系统的实时数据增长量最大,每天的数据接入量接近14吉字节;蜘蛛智联系统的实时数据接入量每天在4吉字节左右;车联网系统的实时接入业务也有显著增长。

4 结论

基于自主开发的智能网联平台,技术人员统一了企业的车联网终端数据格式。根据OTA协议,技术人员定义了智联数据报文交互格式,通过Kafka数据收发系统对接入层和应用层进行了切割,可以让研发团队实现分头独立开发,同时也保证了系统数据流的统一性和延续性。在数据平台架构层面,技术人员设计了离线数据平台和实时数据平台相结合的框架,通过关系型数据库、非关系型数据库,以及Hadoop大数据等多种数据平台,整合技术解决方案,既满足了不同业务应用对于数据的需求,又兼顾了系统的扩展性和兼容性,并考虑到了项目实施的成本因素。本文中提到的多个模块已获得了软件著作权和发明专利。

[1]彭昭.智联网 未来的未来[M].北京:电子工业出版社,1984.

[2]维克托 迈尔 舍恩 伯格,肯尼思 库克耶.大数据时代[M].周涛,译.杭州:浙江人民出版社.

[3]全面梳理SQL和NoSQL数据库的技术差别[OL]. http://blog.csdn.net/alexdamiao/article/details/51457399.

[4]郝萌萌.互联网内容分析系统的设计与实现[D].北京交通大学,2018.

[5]臧其事,谢立帆,李思宇.一种基于网络旁路的应用系统通用监控与预警系统的设计和实现[J].网络安全技术与应用,2018(012):122-123.

猜你喜欢

智能网联网数据库
“身联网”等五则
风口之上,车联网系统将是“另一个”手机系统?
智能网联汽车加速到来
智能网联汽车为冬奥会添动力
智能网联汽车仍面临三大挑战
北京大力发展智能网联汽车 行业规模将超千亿
数据库
数据库
中国移动物联网连接规模超6000万
数据库