当前位置: 首页 > news >正文

又一关键系统上线,理想车云和自动驾驶系统登陆OceanBase

8 月 1 日,理想汽车公布 7 月交付数据,理想汽车 2023 年 7 月共交付新车 34,134 辆,同比增长 227.5%,并已连续两个月交付量突破三万。至此,理想汽车 2023 年累计交付量已经达到 173,251 辆,远超 2022 年全年交付量,在一众国内造车新势力中保持领先。

这一成绩不仅源于理想汽车“家用豪华 SUV”的精准市场定位,同时也得益于交付能力和产品力均做到了足够“能打”。而这背后,都离不开一个重要的硬核辅助——数据库。

图片

对于车企来说,产线的平稳高效运转是“生命线”。产线上的任一系统出现故障将直接导致质量问题,甚至停产,停产的每一秒都意味着人力、资源等的巨大损失。而传统数据库在稳定性方面存在隐患,故障恢复依赖人工干预,难以满足智能制造基地的高要求。

理想汽车的常州智能制造基地,依靠完全自研的 Li-MOS,整合了世界领先的人工智能等前沿技术,打造了一套安全高效的智能生产系统。2022 年 1 月,经过严苛的测试,理想汽车的 Li-MOS、WMS(仓储管理系统)通过 OceanBase 进行数据库升级,以解决系统稳定性和连续性问题。

图片

基于 Paxos 协议,OceanBase 实现了数据库服务“故障自动恢复” 和 “数据零丢失”,在网络条件复杂的情况下,也能保持稳定的性能和可用性。作为共识协议的“本源”、容错性最好的 Paxos,其工程实现难度也是最大的。这也是业界不少产品采用 Raft 简化版算法的原因。而 OceanBase 早在 1.0 版本就完整独立地实现了基于Multi-Paxos 算法的日志同步机制,并在极致场景下打磨多年,这也为 OceanBase 支撑跨城远距离的“多地多活”部署架构提供了坚实基础。

升级至 OceanBase 后,理想汽车的产线执行系统数据库抖动频率平均下降约  80%,对于常见的故障事件真正做到了“先恢复,后分析”,大幅提升系统运行稳定性,有力保障智能制造基地稳定高效运行。而凭借一整套智能运维体系,异常 SQL 诊断可以做到实时自动分析,DBA 在关键时刻只需看一眼可疑 SQL 列表就能快速判断问题根因,并获得合理的应急优化建议。与此同时,升级后的数据库实现了同城双活、异地 RPO=0,这使得理想汽车的产线执行系统能够在无人值守的情况下,30 秒内完成故障的自动恢复。

因此,即便从 7 月起理想汽车常州工厂每周产能爬升至 8000 台/周的历史最高峰值,数据库也能支撑产线平稳连续生产,保证消费者在最短时间内收到爱车。

图片

随着消费者对自动驾驶需求的日益增加,众多新能源汽车厂商将大量智能辅助功能集成到汽车当中,让驾乘体验更加便捷、舒适。而车辆和云端的实时数据交互,也保证车辆功能的准确操控和可视化。

在自动驾驶方面,以理想 L9 为例,其采用了理想 AD Max 智能驾驶系统,标配强大的感知系统,6 个 800 万像素摄像头,4 个 200 万像素环视摄像头和 1 个 200 万像素后视摄像头,实现了 360 度全方位以及最远 550 米的前视感知距离;1 个前向毫米波雷达、12 颗第六代超声波传感器和 1 颗 128 线激光雷达,增强了感知冗余能力以及弱暗光等复杂环境适应性,能更有效地识别风险,提升驾驶的安全性。

随着今年理想汽车城市 NOA 能力的发布,大模型 AI 加持下,自动驾驶系统产生和用于训练的数据量呈现井喷态势。这些大量的数据处理场景,都对数据库的高并发、低延迟、强扩展提出了极严苛的要求。

在车云方面,体验过理想汽车高度智能化系统的用户相信都有一种感受,那就是其丰富的功能(如直线召唤、远程温控,OTA 升级能力等)让理想汽车的操控更加便捷和人性化。而这些功能的背后,就有大量传感器和电控系统在和云端进行着数据交互。

有别于理想汽车产线制造系统在数据中心私有部署,车云业务出于安全和灵活的考虑采用不同云基础设施进行支持,并需要在公有云多个地域部署。这样从架构层面做到即便某一个局部功能出现故障,整体服务不会受到影响,车主的行车安全持续受到保障。

自动驾驶和车云业务的特点带来了技术上的巨大挑战:一方面由于多种数据库产品在不同云基础设施上的功能、性能各异,运维复杂度高,差异大,这使得规模化管理、资源整合异常困难;另一方面,传统的单体数据库横向扩展困难,依赖人工拆分,单点瓶颈问题非常突出;同时其主备逻辑复制的结构决定了无法承担类似车联网系统多地访问的低延迟要求。

部分数据库产品虽然解决了扩展性问题,但是其一致性协议的工程实现方案对网络延迟敏感,又使得在远距离机房甚至跨地域同步时,或者网络条件不稳定的场景下,会发生明显的写入抖动、服务不可靠的问题。同时,存储、计算、管控分离的架构也导致了响应时间往往难以满足类似车联网、自动驾驶业务的低延迟要求,使得数据库的压力越来越大。

图片

在理想汽车智能生产系统稳定运行 17 个月后,2023 年 5 月,OceanBase 的云数据库产品 OB Cloud 凭借出色的性能和灵活的部署模式,帮助理想汽车自动驾驶和车云等系统批量上线 OB Cloud,以应对大量云场景挑战。

这套数据库架构要稳定的服务好业务,需要对三个核心问题给出答案:1.云上多地多活;2.海量并发 3.性价比。具体如何在 OB Cloud 解决这些问题?请看下面的分析。

解决方案一:通过 OB Cloud 实现混合云统一部署,解决异地多活、多基础设施的无缝对接问题

理想汽车为了在服务体验上尽可能提供极致的弹性和连续性,在全国跨多个地域和多家云基础设施,通过类似“单元化”的架构构建了自己的车云服务。而 OceanBase 天然无共享架构,不挑专属硬件,并能支持不同云基础设施。

通过这一点,理想汽车既可以在数据中心部署整套 OceanBase 平台,也可以在不同云基础设施、云服务多种形态上提供一致的功能和管理界面,大幅提升了存储底盘的一体性和管理效率。同时基于前面提到的原生高可用架构,OB Cloud 能够在局部单点故障时快速自动恢复,即使跨地域部署也能做到稳定服务,确保类似联网车机等关键系统的安全运行,保障车主的出行驾乘体验。

解决方案二:基于 OB Cloud 的多点写入能力,解决海量车辆行驶数据的大并发写入问题

OceanBase 的原生分布式架构,单个集群即可扩展至上千节点,承载 PB 级别以上的海量数据。我们通过 OceanBase 强大丰富的分区表特性,将用户不同业务场景中的数据按照 hash、range、list 等不同的维度进行设计。使得每个节点上的数据分区可同时接受写入,突破了传统数据库主备节点前“一写多读”的限制。

具备高可扩展性的同时,通过一系列优化分布式事务开销的机制和手段,使得 OB Cloud 能够通过集群中多个不同的租户为自动驾驶系统中记录汽车行驶环境、行驶速度等训练数据包括元数据的过程提供高性能、低延迟,极高弹性的存储引擎,显著提升了基于 AI 大模型的 AD MAX 3.0 的训练效率。

解决方案三:在海量数据规模下,在“数据的存储成本”和“数据集的可操作、可分析性”上取得平衡 

如果将大量的数据存储在单机关系型数据库中,面临“存不下,存得贵”的问题,而如果转移到其他非结构化存储引擎中,解决了“存不下”问题后,数据又变得不那么容易进行修改、分析、处理。

我们基于用户的场景,将数据分为流水型、状态型,或者基于业务类型分别放置在不同的集群中,而 OceanBase 基于 LSM-Tree 的存储引擎,其行列混存的存储格式,结合高级编码压缩技术,为巨量数据的存储带来超过 70% 的压缩率,节省大量存储成本。与此同时,一套引擎下的 HTAP 能力又使得这些较为庞大的数据集依然能够被按照关系型模型的方式访问,一举两得,大幅提升了研发效率,最终带来的是终端用户更好的体验。

目前,理想汽车的智能生产、仓储系统都已经稳定运行在 OceanBase 上,打造全球领先的智能制造系统;而随着车云和自动驾驶系统登陆 OB Cloud,进一步实现了混合云部署,解决了海量数据并发和异地多活的难题,让用户的智能驾驶体验更加安全与丝滑。未来,理想汽车与 OB Cloud 的合作将在更多云场景落地,推动产品加速创新。国产新能源与国产科技碰撞,让每一笔「制造」都算数。

相关文章:

又一关键系统上线,理想车云和自动驾驶系统登陆OceanBase

8 月 1 日,理想汽车公布 7 月交付数据,理想汽车 2023 年 7 月共交付新车 34,134 辆,同比增长 227.5%,并已连续两个月交付量突破三万。至此,理想汽车 2023 年累计交付量已经达到 173,251 辆,远超 2022 年全年…...

SIEM(安全信息和事件管理)解决方案

什么是SIEM 安全信息和事件管理(SIEM)是一种可帮助组织在安全威胁危害到业务运营之前检测、分析和响应安全威胁的解决方案,将安全信息管理 (SIM) 和安全事件管理 (SEM) 结合到一个安全管理系统中。SIEM 技术从广泛来源收集事件日志数据&…...

Go 自学:map关联数组

以下代码展示了如何建立一个map。 我们可以使用delete删除map中的元素。 我们还可以使用loop遍历map中的所有元素。 package mainimport ("fmt" )func main() {languages : make(map[string]string)languages["JS"] "Javascript"languages[&qu…...

c#多态(override)的使用

方法重写(override):多态,通过父类类型对象,调用子类当中对应方法的实现。 细节:子类当中的override方法会“抹杀”父类当中对应virtual方法 不使用多态时,父类调用子类方法时,会调用父类的方法…...

kafka 动态扩容现有 topic 的分区数和副本数

文章目录 [toc]创建一个演示 topic生产一些数据使用消费者组消费数据增加分区无新数据产生,有旧数据未消费有新数据产生,有旧数据未消费 增加副本创建 json 文件使用指定的 json 文件增加 topic 的副本数使用指定的 json 文件查看 topic 的副本数增加的进…...

【数据结构】Golang 实现单链表

概念 通过指针将一组零散的内存块串联在一起 , 把内存块称为链表的“结点”。 记录下个结点地址的指针叫作后继指针 next ,第一个结点叫作头结点,把最后一个结点叫作尾结点 。 代码实现 定义单链表 在 golang 中可以通过结构体定义单链表…...

云服务器利用Docker搭建sqli-labs靶场环境

一、安装宝塔面板 使用xshell、electerm、SecureCRT等远程终端连接登陆上云服务器,在Linux宝塔面板使用脚本安装 安装后,如下图:按照提示,在云服务器防火墙/安全组放行Linux宝塔面板的端口 在浏览器打开上述网址,登…...

jQuery成功之路——jQuery介绍和jQuery选择器概述

一、jQuery介绍 1.1 jQuery概述 jQuery的概述 jQuery是一个快速、简洁的JavaScript框架。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。JQuery封装了JavaScript常用的功能代码,提供了一套易于使…...

极限五分钟,在宝塔中用 Docker 部署升讯威在线客服系统

最近客服系统成功经受住了客户现场组织的压力测试,获得了客户的认可。 客户组织多名客服上线后,所有员工同一时间打开访客页面疯狂不停的给在线客服发消息,系统稳定无异常无掉线,客服回复消息正常。消息实时到达无任何延迟。 本文…...

Java--静态字段与静态方法

1、静态字段 如果将一个字段定义为static,每个类只有一个这样的字段。而对于非静态的实例字段,每个对象都有自己的一个副本。 例如: class Employee {private static int nextId 1;private int id;... }其中,每一个Employee对…...

多线程的五种“打开”方式

1 概念 1.1 线程是什么?? 线程(Thread)是计算机科学中的一个基本概念,它是进程(Process)中的一个执行单元,负责执行程序的指令序列。线程是操作系统能够进行调度和执行的最小单位。…...

信息熵 条件熵 交叉熵 联合熵 相对熵(KL散度) 互信息(信息增益)

粗略版快速总结 条件熵 H ( Q ∣ P ) 联合熵 H ( P , Q ) − H ( P ) 条件熵H(Q∣P)联合熵H(P,Q)−H(P) 条件熵H(Q∣P)联合熵H(P,Q)−H(P) 信息增益 I ( P , Q ) H ( P ) − H ( P ∣ Q ) H ( P ) H ( Q ) − H ( P , Q ) 信息增益 I(P,Q)H(P)−H(P∣Q)H(P)H(Q)-H(P,Q) 信息…...

Fiddler Response私人订制

在客户端接口的测试中,我们经常会需要模拟各种返回状态或者特定的返回值,常见的是用Fiddler模拟各种请求返回值场景,如重定向AutoResponder、请求拦截修改再下发等等。小编在近期的测试中遇到的一些特殊的请求返回模拟的测试场景,…...

【德哥说库系列】-ASM管理Oracle 19C单实例部署

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…...

手写一个简单爬虫--手刃豆瓣top250排行榜

#拿到页面面源代码 request #通过re来提取想要的有效信息 re import requests import re url"https://movie.douban.com/top250"headers{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/11…...

【word密码】如何限制word文件中部分内容?

Word文件中有一部分内容不想他人编辑,我们可以设置限制编辑,可以对一部分内容设置限制编辑,具体方法如下: 我们将需要将可以编辑的地方选中,然后打开限制编辑功能 然后勾选限制编辑设置界面中的【限制编辑】和【每个人…...

spring 自定义类型转换-ConverterRegistry

1背景介绍 一个应用工程里面,一遍会涉及到很多的模型转换,如DTO模型转DO模型,DO模型转DTO, 或者Request转DTO模型,总的来说,维护起来还是相对比较复杂。每涉及一个转换都需要重新写对应类的get或者set方法&#xff0c…...

springboot实现发送短信验证码

目录 一、选择并注册短信服务提供商: 二、添加依赖: 三、配置短信服务信息: 四、编写发送短信验证码的方法: 五、调用发送短信验证码的方法: 一、选择并注册短信服务提供商: 1、选择一个可靠的短信服…...

2024王道408数据结构P144 T18

2024王道408数据结构P144 T18 思考过程 首先还是先看题目的意思,让我们在中序线索二叉树里查找指定结点在后序的前驱结点,这题有一点难至少对我来说…我讲的不清楚理解一下我做的也有点糊涂。在创建结构体时多两个变量ltag和rtag,当ltag0时…...

在windows下安装配置skywalking

1.下载地址 Downloads | Apache SkyWalkinghttp://skywalking.apache.org/downloads/ 2.文件目录说明 将文件解压后,可看到agent和bin目录: Agent:作为探针,安装在服务器端,进行数据采集和上报。 Config&#xff1a…...

龙虎榜——20250610

上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"&#xff0…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中&#xff0…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...