如何应对ADAS/AD海量数据处理挑战?
随着软件定义汽车的发展,车辆生成的数据量也以前所未有的速度不断增加。这些数据包含广泛的信息,包括传感器数据、遥测数据、诊断数据等。在开发过程中,有效处理这些数据并从中获得见解至关重要。
对于原始设备制造商(OEM)和汽车一级供应商(Tier 1)来说,是否自主构建和维护数据处理流程是一个至关重要的考虑因素。数据处理流程是应对当下软件定义汽车所产生的海量数据的基础组件。
一、问题背景
在 AWS 等云平台上为高级驾驶辅助系统 (ADAS) 和自动驾驶 (AD) 数据构建鲁棒的数据处理流程,通常需要全面了解各种服务及其集成。您可能使用的特定服务可能取决于应用程序的要求、数据源和处理需求。

为了解决这一问题,康谋通过使用IVEX提出了专门用于应对ADAS/AD海量数据的数据处理流程。该流程的核心目的是自动从原始传感器数据等输入中识别出值得关注的事件和场景。构建这样的数据处理流程需要仔细考虑各种技术方面,例如:原始传感器数据的云端存储、基于原始数据的算法执行(包括需要例如GPU等特定资源的机器学习算法)、事件和场景等后处理数据的存储机制、算法版本控制、结果可视化以及确保数据仅对授权用户可见。
二、内部构建或获取预组装解决方案
IVEX的数据处理流程基于多种AWS服务实现无缝衔接,以下是经过策略性部署的AWS服务:
1. 原始传感器的数据(包括激光雷达点云、相机图像和GNSS信息)存储在S3存储服务中。S3用作采集数据的暂存地,为后期处理的数据提供扩展存储,并为处理提供经济高效的短期存储解决方案。此外,使用S3挂载点功能能让S3作为主要的“处理卷”,使其能够像文件系统一样使用。虽然它不完全符合POSIX标准,对某些工作负载存在限制,但可以通过整合EFS和可能添加的FSx来解决这个问题,以根据需要确保兼容性。
2. 处理后的数据(重要事件和场景)存储在关系型数据库服务(Relational Database Service,RDS)和DocDB中。RDS是一个高效的存储库,用于组织对分析至关重要的标记数据。同时,DocDB作为文档存储运行,它是专为快速变化的数据和显示目的所需的二进制数据而设计的。
3. EKS和EC2处理算法执行和可视化任务。EKS充当一系列服务的主机,包括后端、数据服务、前端和处理服务。EC2主要用于根据为EKS制定的规则配置机器。
4. 算法的版本控制通过 ECR 进行管理。ECR用于存储Docker容器镜像。
5. 身份验证通过Cognito进行。如果有必要,可以灵活地替换为任何OpenID Connect (OIDC)解决方案。
6. 数据传输和临时数据存储通过EFS进行管理。EFS作为临时处理区域运行,供各种数据处理流水线存放中间数据并促进不同进程之间的数据共享。因为EFS完全符合POSIX标准,所以可以选择它作为S3的替代文件系统。
这个方案示例突出了构建鲁棒的ADAS/AD数据处理流程所涉及的众多云服务,并强调了应对各种技术复杂性的必要性。此外,还必须解决诸如组织输入数据、确保数据格式兼容性以及管理和监控数据格式变化等挑战。
例如,随着ADAS/AD系统的发展,添加更多传感器以及管理不同车辆配置的需求成为数据处理流程中的关键考虑因素。如果不加以妥善处理,这些因素可能会导致不正确的数据处理,最终得到错误的结果。

上图列出的是构建此数据处理流程的预计工作量和成本细目,该处理流程可标记12种驾驶场景、提取驾驶参数,并支持可视化大型文件(≥ 10TB)。
三、总结
总之,解决上述的这些问题需要付出大量的努力。显而易见的是,选择预先搭建好的数据处理流程将拥有更低的开销。此后,便可以将节省的时间和成本分配给开发OEM和Tier1产品的关键方面。
我是分享自动驾驶技术的康谋,欢迎互动!
如何应对ADAS/AD海量数据处理挑战?的更多相关文章
- 从hadoop框架与MapReduce模式中谈海量数据处理
http://blog.csdn.net/wind19/article/details/7716326 前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显 ...
- 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构) (转)
转自:http://blog.csdn.net/v_july_v/article/details/6704077 从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到 ...
- 从Hadoop骨架MapReduce在海量数据处理模式(包括淘宝技术架构)
从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,认为它们非常是神奇.而神奇的东西常能勾 ...
- 海量数据处理之Tire树(字典树)
参考博文:http://blog.csdn.net/v_july_v/article/details/6897097 第一部分.Trie树 1.1.什么是Trie树 Trie树,即字典树,又称单词查找 ...
- DBA_Oracle海量数据处理分析(方法论)
2014-12-18 Created By BaoXinjian
- c语言海量数据处理
教你如何迅速秒杀掉:99%的海量数据处理面试题 http://wenku.baidu.com/view/4546d06ca45177232f60a276.html c语言如何对海量数据进行处理 PDF ...
- 腾讯海量数据处理平台TDW
TDW是腾讯海量数据处理平台中最核心的模块,它有以下几个作用: 提供海量的离线计算和存储服务.TDW是腾讯内部规模最大的离线数据处理平台,公司内大多数业务的产品报表.运营分析.数据挖掘等的存储和计算都 ...
- 海量数据处理算法—Bloom Filter
海量数据处理算法—Bloom Filter 1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出.它可以用于检索一个元素是否在一个集合中. Bl ...
- july教你如何迅速秒杀掉:99%的海量数据处理面试题
作者:July出处:结构之法算法之道blog 以下是原博客链接网址 http://blog.csdn.net/v_july_v/article/details/7382693 微软面试100题系列 h ...
- (面试)Hash表算法十道海量数据处理面试题
Hash表算法处理海量数据处理面试题 主要针对遇到的海量数据处理问题进行分析,参考互联网上的面试题及相关处理方法,归纳为三种问题 (1)数据量大,内存小情况处理方式(分而治之+Hash映射) (2)判 ...
随机推荐
- Jetpack架构组件学习(6)——使用Glance实现桌面小组件
原文地址: Jetpack架构组件学习(6)--使用Glance实现桌面小组件-Stars-One的杂货小窝 公司陆续整了几个Compose写的app,有个小组件的功能,顺便试了下Jetpack库里的 ...
- MapStruct入门使用
MapStruct入门使用案例 以下是常用的使用举例,按照需求改动即可 @Data public class UserDO{ private int age; private String name; ...
- uniapp横向滚动
scroll-x="true" 出现横向滚动 scroll-with-animation="true" 横向滚动有动画 <scroll-view clas ...
- RocksDB 二级缓存
本文分享自天翼云开发者社区<RocksDB 二级缓存>,作者:b****n RocksDB 团队正在实现对非易失性介质上的块缓存的支持.可以看作是 RocksDB 当前的易失性块缓存的扩展 ...
- Django-Admin和第三方插件Xadmin
Admin django内置了一个强大的组件叫Admin,提供给网站管理员快速开发运营后台的管理站点. 站点文档: https://docs.djangoproject.com/zh-hans/2.2 ...
- Q:Tomcat使用的jdk版本而不依赖环境变量
1)在tomcat中显式配置-JVM启动使用内存大小 解决:vim打开tomcat目录下的bin/catalina.sh文件,在文件最上部配置JAVA_OPTS属性. windows下在catalin ...
- 最长不降子序列 n log n 方案输出与 Dilworth 定理 - 动态规划模板
朴素算法 不必多说,\(O(n^2)\) 的暴力 dp 转移. 优化算法 时间为 \(O(n \log n)\) ,本质是贪心,不是 dp . 思路是维护一个单调栈(手写版),使这个栈单调不降. 当该 ...
- [luogu4114] Qtree1 题解
\(LCT\) 动态维护树上路径最值,典中典了. 时间复杂度 \(O(n\log n)\). #include<bits/stdc++.h> #define fa(x) lct[x].fa ...
- 记录一段mysql代码
SELECT f . * , tmp.userid, tmp.cishu FROM fx_user f, ( SELECT a.id, b.userid AS userid, COUNT( * ) A ...
- Supac 如何修改地址界限高层点
编辑->图层->运算 2.选择z ->填写高度 如-180阶段 3.保存