车云一体化系统基础理论

车云一体化系统基础理论

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

介绍

最近在调研车云链路一体化的整套解决方案,涉及分布式消息队列(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.rhkb.cn/news/82672.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

性能测试浅谈

早期的性能测试更关注后端服务的处理能力。 一个用户去访问一个页面的请求过程,如上图。 数据传输时间 当你从浏览器输入网址,敲下回车,开始... 真实的用户场景请不要忽视数据传输时间,想想你给远方的朋友写信,信件…

【雕爷学编程】Arduino动手做(184)---快餐盒盖,极低成本搭建机器人实验平台

吃完快餐粥,除了粥的味道不错之外,我对个快餐盒的圆盖子产生了兴趣,能否做个极低成本的简易机器人呢?也许只需要二十元左右 知识点:轮子(wheel) 中国词语。是用不同材料制成的圆形滚动物体。简…

深度优先搜索与动态规划|543, 124, 687

深度优先搜索与动态规划|543. 二叉树的直径,124. 二叉树中的最大路径和,687. 最长同值路径 二叉树的直径二叉树中的最大路径和最长同值路径 二叉树的直径 好久没写二叉树了,主要还是看遍历的顺序是什么样的。 # Definition for a binary tr…

桥接模式-java实现

桥接模式 桥接模式的本质,是解决一个基类,存在多个扩展维度的的问题。 比如一个图形基类,从颜色方面扩展和从形状上扩展,我们都需要这两个维度进行扩展,这就意味着,我们需要创建一个图形子类的同时&#x…

linux内网穿透应用场景有哪些?快解析有什么用处?

随着网络技术的不断发展,无论是工作上还是在生活中人们对网络的依赖和需求越来越高。Linux内网穿透作为一种创新的解决方案,为我们提供了无限可能。 首先我们了解一下Linux操作系统。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基…

oracle sql developer批量删除某个用户

随着navicate收费,还得破解,pl/sql developer配置麻烦,最近使用oracle sql developer来试试oracle的操作如何; 用着还行,没有卡顿现象, 最近要oracle sql developer批量删除某个用户下所有的表&#xff0…

基于 CentOS 7 构建 LVS-DR 群集

LVS-DR模式工作原理 首先,来自客户端计算机CIP的请求被发送到Director的VIP。 然后Director使用相同的VIP目的IP地址将 请求发送到集群节点或真实服务器。 然后,集群某个节点将回复该数据包,并将该数据包直接发送到客户端计算机(…

如何测试Linux磁盘的读写速度

在Linux系统中也有很多命令可以测试硬盘的读写速度指标。以下是几个常用命令(注意:在执行测试命令之前,请务必备份数据以避免数据丢失! 1、dd 命令 首先挂载磁盘 mount /dev/sdb /testdd 命令可用于进行硬盘读写速度测试。 例…

Linux6.36 Kubernetes Pod进阶

文章目录 计算机系统5G云计算第三章 LINUX Kubernetes Pod进阶一、资源限制1.CPU 资源单位2.内存 资源单位3.重启策略(restartPolicy)4.健康检查:又称为探针(Probe)5.启动、退出动作 计算机系统 5G云计算 第三章 LIN…

任务14、无缝衔接,MidJourney瓷砖(Tile)参数制作精良贴图

14.1 任务概述 在这个实验任务中,我们将深入探索《Midjourney Ai绘画》中的Tile技术和其在艺术创作中的具有挑战性的应用。此任务将通过理论学习与实践操作相结合的方式,让参与者更好地理解Tile的核心概念,熟练掌握如何在Midjourney平台上使用Tile参数,并实际运用到AI绘画…

Docker搭建zookeeper

问题背景 前言 本文参考自:docker-compose快速搭建Zookeeper集群,熬到凌晨三点多验证部署成功,网上有很多文章已经无法正确部署了,因为有些东西版本升级了,版本跟不上就会报错还有一种更加详细更加全面的部署方式&…

SAS-数据集SQL垂直(纵向)合并

一、SQL垂直合并的基本语法 一个selectt对应一个表,select之间用set-operator连接,set-operator包括:except(期望)、intersect(相交)、union(合并),outer un…

【原创】基于JavaWeb的婚礼策划平台

主要功能介绍:系统基于Java语言开发。整个程序属于B/S架构应用。在开发的时候,将婚礼策划中主要的业务如:婚纱摄影预约以及婚纱租赁等作为主要的目标和研究方向。婚礼策划平台系统从整体结构设计上,由网站前台和系统后台组成。网站…

比特鹏哥5-数组【自用笔记】

比特鹏哥5-数组【自用笔记】 1.数组的概念2.一维数组的创建和初始化创建的语句结构初始化的语句结构 3.一维数组的使用数组的下标:从0开始,n个数组,最后一个的下标是n-1 4.一维数组在内存中的存储5.sizeof计算数组元素个数可以计算元素个数并…

双周赛110(模拟、枚举+哈希表)

文章目录 双周赛110[2806. 取整购买后的账户余额](https://leetcode.cn/problems/account-balance-after-rounded-purchase/)模拟 [2807. 在链表中插入最大公约数](https://leetcode.cn/problems/insert-greatest-common-divisors-in-linked-list/)模拟 [2808. 使循环数组所有元…

C++如何改变文字的颜色(不同字显示不同颜色)

许多同学们在制作c游戏的时候只有黑白两种颜色。就像si人了一样 非常影响视觉效果,显得十分不好看,因此,我决定发一个改变文字颜色的文章! 下面介绍方法: 在了解程序之前,首先好了解光的三原色已经三原色…

GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议

GODOT,是一个免费开源的3D引擎。本文以unity作对比,简述两者区别和选型建议。由于是很久以前写的ppt,技术原因视频和部分章节丢失了。建议当做业务参考。 GODOT目前为止遇到3个比较重大的基于,第一个是oprea的合作奖,…

CommStudio for .NET Crack

CommStudio for .NET Crack CommStudio for.NET使您的应用程序可以轻松地使用串行端口和调制解调器进行通信。CommStudio for.NET是一套全面的组件和可视化调试工具,可将远程系统和设备与visual Studio 2005和visual Studio 2008集成。开发与遗留系统和外部设备集成…

清风数学建模——插值算法

插值法 文章目录 插值法作用定义概念一维插值问题一维插值多项式原理定理 拉格朗日插值法和牛顿插值法埃尔米特插值分段线性插值分段三次埃尔米特插值法代码三次样条插值及其代码例子n维数据的插值(了解) 作用 数模比赛中,常常需要根据已知的…

Git从远程仓库中删除文件,并上传新文件

目录 删除: 拉取远程分支的更新: ​编辑 首先查看git状态: ​编辑 删除文件并提交版本库: 提交: 上传新文件: 首先查看git状态: 提交到暂存区: 提交到版本库: 上…