车云一体化系统基础理论

news2024/10/6 8:33:44

车云一体化系统基础理论

    • 介绍
      • 目标
      • 正文
    • 参考文档

介绍

最近在调研车云链路一体化的整套解决方案,涉及分布式消息队列(RocketMQ)、分布式存储(Doris)、离线数据处理(Spark)、用户行为日志分析(Flink);通过RocketMQ 串起车端应用和云端基础设施,通过MQTT上行车端行为,通过RocketMQ发布车端行为和整车日志,云端订阅后持久化到分布式存储系统,异步数据处理、分析日志和行为上报到看板和大数据平台,训练大模型并进行算法聚合生成可视化的结果集,再经过RocketMQ下发到APP(人)、域控(车),云端控通过MQTT下行下发结果集到车端域控;完成车云交互,人、车、云互通。
在这里插入图片描述
面对的难题主要是:
1)网络不可靠;
车端网络不可靠(车可能在地下停车场也可能在西伯利亚雪原,甚至可能出现在北极圈(:- )导致网络链路时断时续,车端传输00100,可能收到的是0_1_0,这种数据拿到了等于没有拿到;
2)数据量波动较大;
尤其是车的轨迹和状态上报,如果没有变化比如车停在停车场,大量的数据都是重复无效的;如果车正在行驶那么每一次上报都是重要且必须的;也就是说出行高峰阶段单台车的数据量能达到GB/h,而在晚间充电时8小时累计才几kb;
3)实时性强的同时要求离线异步处理;
正在行驶的车的状态上报和车端的智能驾驶系统(域控)需要极强的实时性,只要超过秒级的延时,数据就作废;
但是大模型和行为日志分析乃至可视化面板都需要异步离线处理,上报轨迹说此刻在天安门,10分钟响应“收到”,车可能已经上机场高速了(不堵车的话),这就无法接受;而且大模型的训练和日志分析都是需要大数据量的长时间的“总结”才能得出可靠的结果,毕竟个例不算数;就算是大数据量也不一定是可靠的,降噪是非常必须的,内部大模型就闹过笑话比如询问“中国人的家庭成员一般有谁?”,大模型出来的结果有“隔壁老王”,顿时笑倒一片;
4)“资源永远不够”;
内部技术团队3000多人,消息队列及分布式存储中间件仅我一个;问“加薪否?加人否?”答曰“资源永远不够,能否继续坚持!”,每聊至此,无不扼腕叹息;

目标

关于车、车联网云、云、人之间的关系的思考,随时补充,随时更改。

正文

结合以上场景和实际需求,目前看来比较可行的方案是:
1)摒弃网络问题;
“基站建不到北极圈”,“等马斯克的星链进入中国再说”;
2)数据量的波动大的问题拆开来解;
第一步
通过RocketMQ串行必要的信息,比如完整数据为“cid:123,trace:129Nxxxx,state:xxxxx,others”,那么车端域控集成简单的数据处理程序,将关键信息提取出来,比如状态上报“cid:123,state:xxxxx,”,行为上报:“cid:123,trace:129Nxxxx,”,同时将整条数据通过压缩异步上传到就近的分布式存储系统子节点;
第二步
云端获取到关键信息后立即开始实时处理,如果需要完整数据做detail handle,前往分布式存储系统节点读取detail或者分布式存储系统子节点讲数据进一步“汇总”到统一的存储区(Doris);
云端只要拿到关键信息后就能立刻判断是否需要进一步处理或者丢弃,一方面提高实时性,另一方面节省计算资源提高效率;
3)实时性强和异步离线处理的解决最为复杂;
对于车端,域控内是独立的子网和计算单元;数据的采集、压缩、上传都交给其agent独自负责,各个域控职责单一且独立;
云端的计算设施需要增加存量数据集,如果目标是100分,最好起步就是99,而不是从0跑到100;通过更多场景、更大的测试数据量、更多的训练资源、更快的版本迭代增强训练模型,甚至把部分模型嵌入硬件集成到车端;当然车端的软硬件升级是业界难题,就不多讲了;
根据实践经验和个人的观察思考,边缘计算在车端必定会兴起,“能够在车端做的事就不要搞到云端了”,从车到云再到车、人,这个链路做得再好也不如在车端做边缘计算节省资源,“车端自产自销永远是最高效、最快捷、最实惠的方式”;更不要说国内各大车企的云还在公有云上,上下行还要过几到网,费力不讨好。
所以车越来越像服务器,甚至车本身就是服务器。

参考文档

设计数据密集型应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/850786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二级python和二级c哪个简单,二级c语言和二级python

大家好,小编为大家解答二级c语言和二级office一起报可以吗的问题。很多人还不知道计算机二级c语言和python哪个好考,现在让我们一起来看看吧! 介绍Python有很多库和使用Qt编写的接口,这自然创建c调用Python的需求。一路摸索,充满艰辛的添加头…

机器学习笔记:李宏毅ChatGPT:生成式学习的两种策略

1 策略1 “各个击破”——autoregressive model “各个击破”——一个一个生成出来 2 策略2 : “一次到位”——non-autoregressve model 一步到位,全部生成出来 2.1 non-autoregressive model 如何确定长度? 两种策略 策略1:始…

Android OkHttp源码分析--分发器

OkHttp是当下Android使用最频繁的网络请求框架,由Square公司开源。Google在Android4.4以后开始将源码中 的HttpURLConnection底层实现替换为OKHttp,同时现在流行的Retrofit框架底层同样是使用OKHttp的。 OKHttp优点: 1、支持Http1、Http2、Quic以及Web…

MySQL多实例下安装不同的版本

MySQL多版本安装 主要步骤: 1. 在/etc/my.cnf 配置中,更改对应配置。相对于同一版本多实例需要配置的参数,不同版本多实例需要多配置basedir参数,指向mysql的解压目录。 2. 初始化数据目录。进入对应解压的MySQL目录&#xff…

Transformer理论学习

Transformer出自于论文《attention is all you need》。 一些主流的序列模型主要依赖于复杂的循环结构或者CNN,这里面包含了编解码器等。而Transformer主要的结构是基于注意力机制,而且是用多头注意力机制去替换网络中的循环或者CNN(换言之就是transfor…

一篇文章带你彻底了解Java Object类

一篇文章带你彻底了解Java Object类 ​ 在Java的世界中,有一个神秘的存在,它是所有类的根基,无所不在,无所不知。它就是——Object类。本文将带你深入探索Java中这个神秘之源,解密Object类的奥秘,让你更好…

粒子群算法运行时间太长怎么办?—教你一招降低94%的运行时间

不管是初学者还是精通智能优化算法(粒子群算法,遗传算法等)的朋友,相信你们都对智能优化算法运行之慢深有体会,对于比较复杂的问题,经常出现运行一次几小时,调试一次几小时的情况。调试了这么多年代码,智能…

数仓架构模型设计参考

1、数据技术架构 1.1、技术架构 1.2、数据分层 将数据仓库分为三层,自下而上为:数据引入层(ODS,Operation Data Store)、数据公共层(CDM,Common Data Model)和数据应用层&#xff…

IoTDB原理剖析

一、介绍 IoTDB(物联网数据库)是一体化收集、存储、管理与分析物联网时序数据的软件系统。 Apache IoTDB采用轻量式架构,具有高性能和丰富的功能。 IoTDB从存储上对时间序列进行排序,索引和chunk块存储,大大的提升时序…

wireshark 安装和使用

wireshark,世界上最受欢迎的网络协议分析器。是一个网络流量分析器,或“嗅探器”,适用于Linux、macOS、*BSD和其他Unix和类Unix操作系统以及Windows。它使用图形用户界面库Qt以及libpcap和npcap作为数据包捕获和过滤库。 wireshark&#xff…

MyBatis 缓存机制复习及项目中的应用经历

背景 想起前两年工作中因为二级缓存默认开启导致的问题,完整的看了一个介绍 MyBatis 缓存机制的视频《MyBatis 缓存基础知识讲解》。 总计知识点: 缓存的类型及开关这是个形同虚设的功能,线上环境应该禁用缓存 MyBatis 缓存分类 MyBasit…

AWD攻防学习总结(草稿状态,待陆续补充)

AWD攻防学习总结 防守端1、修改密码2、备份网站3、备份数据库4、部署WAF5、部署文件监控脚本6、部署流量监控脚本/工具7、D盾扫描,删除预留webshell8、代码审计,seay/fortify扫描,漏洞修复及利用9、时刻关注流量和积分信息,掉分时…

yolov2检测网数据集标注_labelme使用_json2txt格式转换

yolov2检测网数据集标注_labelme使用_json2txt格式转换 一、安装Anaconda二、创建labelme虚拟环境三、使用labelme标注健康非健康猫狗数据3.1 打开数据集所在文件夹3.2 进行标注数据集3.3 json2txt3.4 按文件目录和训练测试数据集重分配 四、数据喂给服务器网络参考链接 一、安…

容器安装Nginx

文章目录 容器安装nginx下载安装容器1、安装docker容器2、安装nginx3、容器运行nginx结果 容器安装nginx 下载安装容器 1、安装docker容器 yum makecache fast # 更新yum缓存 yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.…

Rookit系列一 【隐藏网络端口】【支持Win7 x32/x64 ~ Win10 x32/x64】

文章目录 Rookit系列一 【隐藏网络端口】【支持Win7 x32/x64 ~ Win10 x32/x64】前言探究隐藏网络端口netstat分析隐藏网络端口的原理关键数据结构隐藏网络端口源码 效果演示 Rookit系列一 【隐藏网络端口】【支持Win7 x32/x64 ~ Win10 x32/x64】 前言 Rookit是个老生常谈的话…

微服务服务拆分和远程调用

一、服务架构比较 单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统 分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目&#x…

鉴源实验室丨汽车网络安全运营

作者 | 苏少博 上海控安可信软件创新研究院汽车网络安全组 来源 | 鉴源实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 01 概 述 1.1 背景 随着车辆技术的不断进步和智能化水平的提升,车辆行业正经历着快速的变革和技术进步。智能化…

C/C++内存管理:解析分配、释放与优化

目录 引言 一、栈与堆内存 1.1 栈内存 1.2 堆内存 1.3 示例 C示例 C示例 二 、C语言内存管理方式 2.1 malloc函数 介绍 用法示例 原理剖析 2.2 calloc函数 介绍 用法示例 原理剖析 2.3 realloc函数 介绍 解释 作用 用法示例 原理剖析 2.4 free函数 介…

tidevice+appium在windows系统实施iOS自动化

之前使用iOS手机做UI自动化都是在Mac电脑上进行的,但是比较麻烦,后来看到由阿里开源的tidevice工具可以实现在windows上启动WDA,就准备试一下,记录一下过程。 tidevice的具体介绍可以参考一下这篇文章:tidevice 开源&…

上传图片视频

分布式文件系统MinIo MinIO提供多个语言版本SDK的支持,下边找到java版本的文档: 地址:https://docs.min.io/docs/java-client-quickstart-guide.html MinIO测试(上传、删除、下载) public class MinioTest {MinioC…