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

吉利汽车采用 EMQX 与AutoMQ联合方案构建公私有云一体化的车联网核心架构

吉利汽车集团 数字化基础架构总工程师 洪旅杭

关于吉利汽车

吉利汽车集团在中国上海、宁波、以及海外等地建有造型设计和工程研发中心,研发实力雄厚。在中国、马来西亚建有世界一流的现代化整车和动力总成制造工厂,拥有各类销售网点超过 1400 多家,产品销售及服务网络遍布世界各地。

秉承“人本、创新、卓越”的价值观,吉利汽车集团将“创造超越期待的出行体验”作为使命,致力成为最具竞争力和受人尊敬的中国汽车品牌。

EMQX 与 AutoMQ 在吉利汽车车联网混合云架构中的应用

随着整个汽车出行领域智能化和网联化的发展,用户驾乘体验对于乘用车来说至关重要,车机作为目前车内智能化网联化的代表,是“人-车-云”之间交互的窗口。通过车机和车企网联平台的连接,车企能够实现实时获取车辆数据和车主使用情况,对车辆和车主进行精细化管理和维护提供个性化运营关怀,同时联动手机APP更能为车主提供寻车定位、个人兴趣点推送等优质的服务应用。各个汽车制造厂商正逐步构建起以“数据驱动,服务导向”为核心的车联网平台系统。

构建汽车网联平台通常面临着以下挑战:

  • 汽车保有量不断增长,如何支持海量车机并发连接

  • 上下行多种业务数据,如何支持高并发消息吞吐

  • 如何确保安全连接保障数据安全

  • 车辆所处网络环境复杂,如何保证消息实时性与可靠性

  • 业务侧对数据需求不同,如何实现灵活数据分流、存储

  • 车辆离线状态时,如何保证消息触达

  • 建设成本高昂,长期运维困难

为了应对这些挑战,吉利汽车的车联网系统采用混合云架构构建。其中汽车远程服务平台(Telematics Service Platform,TSP)位于公有云环境,采用EMQX 基于以 MQTT 协议的企业级数据接入平台服务,为车联网场景提供连接和数据解决方案。EMQX 的高性能、高可靠、可伸缩性设计,能够可靠地实时移动和处理车联网数据,帮助用户解决链接和数据基础设施层面的挑战,开发团队可专注上层应用的开发。

TSP 上报的数据通过 AutoMQ 传输至吉利大数据平台(简称:GDMP)。GDMP 具备数据采集、低代码开发、任务调度、数据地图、质量监控、数据服务等能力,是吉利汽车大数据基座与数据开发治理平台,承载了研、产、供、销、服全链路业务线。

在汽车电动化、智能化、网联化、共享化发展潮流下,车联网数据年度以 PB 级增长,业务场景覆盖面越来越广。Kafka 作为企业车联网数据的核心数据基础设施,汽车业务快速的发展对 Kafka 的弹性能力、成本都提出了更高的要求。AutoMQ 作为新一代的 Kafka 完美解决了吉利汽车当前最为关切的 Kafka 扩缩容问题,保障了车联网核心系统的正常运行。

解决方案

数据上报:汽车的终端设备会将车联网所需的核心数据通过 MQTT 消息发往云端的 EMQX 集群 用于 TSP 应用。TSP 将汽车与车企提供的车联网服务能力结合起来,为车主提供救援、娱乐、救援、自动驾驶、固件升级等众多服务能力。在吉利汽车公有云上,会部署一个 AutoMQ 集群,用于承接和分发来自公有云上车联网TSP应用的数据。 AutoMQ 会作为车联网数据上报的核心数据总线,提供强大的吞吐、可靠的持久化存储和读写性能。

TSP: TSP(Telematics Service Provider)汽车远程服务提供商。在Telematics产业链居于核心地位,上接汽车、车载设备制造商、网络运营商,下接内容提供商。Telematics服务集合了位置服务、Gis服务和通信服务等现代计算机技术,为车主和个人提供强大的服务:导航、娱乐、资讯、安防、SNS、远程保养等。

数据流入GDMP的AutoMQ集群:公有云上TSP的数据会进一步通过专线流入吉利私有云大数据平台GDMP中的AutoMQ集群。该 AutoMQ 集群中 Topic 的数据包含来自极氪汽车、领克汽车、吉利汽车等吉利集团旗下不同汽车品牌的车联网数据,例如车辆数据、驾驶信息、GB/T32960国标规定的车联网数据等。这些关键的车联网数据会被下游的 Flink、Spark 以及 Kafka 消费者读取和处理。数据最终会写入数据湖,应用在吉利汽车的BI、数据分析和报表等场景。

用户价值

吉利汽车旗下拥有众多汽车品牌,近些年来随着各品牌业务的强劲发展,车联网的数据量也日益膨胀。通过采用EMQX与AutoMQ联合方案,吉利汽车得以从容解决车联网平台建设的种种技术难题。

通过使用 EMQX 集群,吉利汽车实现了以下 TSP 建设目标:

(1)整体架构:分布式、高可用

由于数据保护的需要,车企车联网平台多采用私有化部署,EMQX集群和用户业务系统一同部署在IDC或公有云环境中。通过负载均衡与 EMQX 分布式集群部署,可以实现百万级别的车机连接和数据吞吐能力,为上层业务应用提供坚实接入基础。

(2)车机连接:高并发、高安全

车机通过蜂窝网络物理链路、MQTT协议接入EMQX,EMQX分布式高可用架构支持百万级并发连接。连接安全方面,EMQX支持TLS安全协议,车机可以通过单向、双向TLS认证接入以及与 PKI/CA 系统对接适配一机一密的认证方案。另外,EMQX能够提供连接状态实时感知,

(3)数据传输:多保障、高吞吐

  • 依靠MQTT及EMQX 提供的心跳监测、会话保持、QoS 等级等多重保障机制,即使车辆因为网络原因断开连接,相应的消息传递仍能在重连后恢复,实现在复杂的网络环境下实时、安全、可靠的车机消息通信。

  • 基于订阅、发布模式以及EMQX海量MQTT主题、百万级TPS消息吞吐能力,EMQX能够支持在每个车机与平台连接内建立多个不同的逻辑隔离的MQTT主题,支撑上下行不同业务数据传输。为了实现等车辆状态感知监控、在线寻车等业务场景,车机实时上报车辆的位置、续航状态等信息;为了实现用户兴趣点下发、关怀消息下发、运营消息下发等场景,云端车联网平台向车机推送相应的指令或业务消息。

  • 针对像用户兴趣点推送、养护关怀消息、运营消息等从云端下发到车机端的场景,平台往往是针对车型等批量下发。但是下发时部分车辆可能处于掉线或熄火离线状态,EMQX的离线下发功能可以结合数据库落盘缓存数据,在基础接入层确保车机上线后能够及时获取到云端下发的消息。

(4)消息及事件的处理与集成:

通过内置的规则引擎,可以将车机上报数据消息以及车机连接或断连、消息送达确认等事件,进行预处理后桥接集成到相应的数据系统。例如将海量车机上行数据,经过编解码等预处理后,桥接到Kafka等消息队列缓冲,后台应用服务从容获取数据进行业务分析应用;将车机连接、断开连接等事件信息存储到数据库中,用于后续车辆上下线情况分析等。灵活的数据预处理及集成能力,可以让上层业务应用更专注于应用的开发。

通过使用 AutoMQ 集群,吉利汽车解决了大数据平台上一直面临的 Kafka 成本与运维难题:

(1)零运维极速扩缩容

AutoMQ 的极速扩容得益于其创新的流存储架构。由于将数据持久性卸载至云存储,AutoMQ内部不像 Kafka 一样需要配置多副本,因为云存储本身内部已经有多副本并且提供了很高的持久性。这除了是对成本的节约以外,更重要的一点在于其在扩缩容的时候无需像 Kafka 一样进行分区数据的复制,因此可以提供秒级的分区迁移能力。此外,其内置持续运行的重平衡组件可以保证新加入的节点自动在保证集群利用率最优的前提下完成安全可靠地引流。因此,整个极速扩容无需人工干预,完全自动化。这与过去运维 Kafka 的体验形成了天壤之别。

(2)无需容量评估,降低运维成本

Kafka 的成本不仅仅体现在其IaaS资源的消耗,还有很大一部分比重在于组织上人力的投入。AutoMQ 本身基于 S3 提供了无限容量的流存储能力,计算和存储完全解耦,这意味着吉利汽车再也不需要担心设置较长的保留时间引起的存储空间不足问题。如果集群需要承载更大的吞吐需要扩容,AutoMQ 可以在非常短的时间自动化地完成扩缩容,因此吉利汽车无需像过去一样先要准备预案、协调上下游应用、制定迁移计划并在业务低峰时期进行扩容、迁移和引流。这将 Kafka 运维团队彻底从复杂、高风险的扩缩容运维、容量评估等工作中解放出来,从而可以执行具有更大价值的运维任务。

(3)100% 的 Kafka 兼容性

AutoMQ 对 Apache Kafka 的完全兼容是吉利选型的关键原因。这意味着吉利无需对已有围绕Kafka建设的所有应用、工具甚至Client端的配置做任何改造,即可完成迁移。未来,吉利汽车也仍然可以利用 Kafka 强大的生态进一步去改进和迭代自身的数据基础设施。

未来展望

随着吉利汽车持续推进“智能汽车全域 AI”技术体系的深化落地,基于EMQX 与 AutoMQ 构建的混合云架构将有机会成为其全域智能化的核心数据基座。未来,该方案将加速向智能制造、智能驾驶、全球服务网络等场景延伸。

这一技术框架的复用,不仅将强化吉利在电动化、共享化领域的竞争力,更标志着中国汽车产业从“数据驱动”向“智慧生命体”演进的新范式。

相关文章:

吉利汽车采用 EMQX 与AutoMQ联合方案构建公私有云一体化的车联网核心架构

吉利汽车集团 数字化基础架构总工程师 洪旅杭 关于吉利汽车 吉利汽车集团在中国上海、宁波、以及海外等地建有造型设计和工程研发中心,研发实力雄厚。在中国、马来西亚建有世界一流的现代化整车和动力总成制造工厂,拥有各类销售网点超过 1400 多家&…...

深圳漫云科技户外公园实景儿童剧本杀小程序:开启亲子互动新纪元

在亲子娱乐需求日益增长的当下,深圳漫云科技推出的户外公园实景儿童剧本杀小程序,凭借其创新玩法与丰富功能,为亲子家庭带来全新体验。该小程序融合户外探险、角色扮演与逻辑推理,不仅满足孩子好奇心,更提升其思维能力…...

如何实现H5端对接钉钉登录并优雅扩展其他平台

如何实现H5端对接钉钉登录并优雅扩展其他平台 钉钉H5登录逻辑后端代码如何实现?本次采用策略模式工厂方式进行定义接口确定会使用的基本鉴权步骤具体逻辑类进行实现采用注册表模式(Registry Pattern)抽象工厂进行基本逻辑定义具体工厂进行对接…...

借助 AI 工具使用 Python 实现北京市店铺分布地理信息可视化教程

一、项目概述 本项目通过 Python 的pyecharts库,结合 AI 工具辅助代码编写与逻辑梳理,实现北京市店铺数量分布及区域连线的地理信息可视化,最终生成交互式地图图表。 二、准备工作 1. 环境与工具 Python 环境:确保已安装 Pyth…...

如何选择优质的安全工具柜:材质、结构与功能的考量

在工业生产和实验室环境中,安全工具柜是必不可少的设备。它不仅承担着工具的存储任务,还直接影响工作环境的安全和效率。那么,如何选择一个优质的安全工具柜呢?关键在于对材质、结构和功能的考量。 01材质:耐用与防腐 …...

使用Vue、Nodejs以及websocket搭建一个简易聊天室

简易聊天室 说在前面效果展示websocketwebsocket的由来websocket的特点 vue前端静态结构效果代码 点击切换用户以及该用户高亮实现思路效果展示 发送消息功能效果展示 连接服务端 Nodejs服务器端实现步骤代码 说在前面 在学习计算机网络的时候,看到了websocket这个…...

node.js使用pnpm运行时报错“Command failed with exit code 1.“怎么办

目录 遇到的问题 问题排查 遇到的问题 在使用pnpm dev运行时报错"Command failed with exit code 1." 如图 问题排查 是先使用pnpm install指令进行安装 然后使用pnpm dev,出现的问题 查看版本号node 发现是版本号高了 将node_modules文件夹删除 通…...

从GPU加速到深度学习革命 —— AlexNet论文概述

广泛认为,将显卡(GPU)用于深度学习模型训练这一突破性发现,主要归功于2012年发表的经典论文《ImageNet Classification with Deep Convolutional Neural Networks》。在这篇论文中,Alex Krizhevsky、Ilya Sutskever 和…...

视频分析设备平台EasyCVR打造汽车门店经营场景安全:AI智慧安防技术全解析

一、方案背景 某电动车企业不停爆出维权新闻,支持和反对的声音此起彼伏,事情不断发酵、反转,每天都有新消息,令人目不暇接。车展、车店作为维权事件的高发场所,事后复盘和责任认定时,安防监控和视频监控平…...

Python•判断循环

ʕ⸝⸝⸝˙Ⱉ˙ʔ ♡ 判断🍰常用的判断符号(比较运算符)andor括号notin 和 not inif-elif-else循环🍭计数循环 forrange()函数简易倒计时enumerate()函数zip()函数遍历列表遍历元组遍历字符串遍历字典条件循环 while提前跳转 continue跳出循环 break能量站😚判断🍰 …...

导入python包模块时报错Segmentation fault (core dumped)的解决思路

一、问题概述 有时候我们在Linux环境下执行代码时,会莫名奇妙出现Segmentation fault (core dumped)这个报错,很难定位到问题,就算定位到了,如果发现是导包的问题,也很难判断。所以记录下相关解决方式,以待…...

tcp转串口

windows 在 Windows 系统上,可以使用以下成熟的串口转 TCP 工具: HW VSP3 (HW Virtual Serial Port) 提供串口到 TCP/IP 的映射功能。支持虚拟串口和网络通信。下载地址:HW Group com0com com2tcp 开源工具,支持虚拟串口和 TCP…...

杂谈:抖音双塔召回模型:亿级内容分发的数学魔法

在信息爆炸的数字时代,我们每天都被海量内容包围。以抖音为例,这个日活跃用户数亿的平台,每分钟就有数以万计的新视频上传。面对如此庞大的内容库,一个核心问题自然浮现:系统如何从这浩瀚的内容海洋中,为每…...

Set 集合

默认情况下, Scala 使用的是不可变集合, 如果你想使用可变集合, 需要引用 scala.collection.mutable.Set Set 默认是不可变集合,数据无序 数据不可重复 遍历集合 创建可变集合 mutable.Set 打印集合 集合添加元素 向集合中…...

青蛙吃虫--dp

1.dp数组有关元素--路长和次数 2.递推公式 3.遍历顺序--最终影响的是路长&#xff0c;在外面 其次次数遍历&#xff0c;即这次路长所有情况都更新 最后&#xff0c;遍历次数自然就要遍历跳长 4.max时时更新 dp版本 #include<bits/stdc.h> using namespace std; #def…...

加油站小程序实战教程08用户注册

目录 1 授权手机号2 前端调用API总结 上一篇我们介绍了小程序的登录功能&#xff0c;当用户未注册的时候&#xff0c;点击自动加油按钮会弹出授权手机号&#xff0c;然后进行注册&#xff0c;本篇我们介绍一下用户注册的开发过程。 1 授权手机号 微搭提供了小程序手机号获取的…...

进程内存分布--之showmap呈现memory-layout.cpp内存分布

上一篇我们讲了&#xff1a;进程内存分布--之pmap呈现memory-layout.cpp内存分布 我们这里讲一个用于分析内存占用的更直观的方式&#xff0c;showmap来看看会是什么呈现效果&#xff1a; 我们再来使用showmap命令来看下它是怎么呈现内存分布的&#xff1a; 可以看到showmap…...

vim/vi程序(1)

今天我们来学习一下一个编辑器,vim(vi是以前的版本),这个是linux常用的编辑器,我们是必须要学习滴,来看. 各种模式示意图&#xff1a; 案例&#xff1a; vim aaa.txt 按i进入编辑模式,此时可以输入 按ESC可以退出 :进入命令模式 输入wq保存并退出 今天大家先简单了解一下基础…...

【Python】案例:计算股票收益率和波动率

【Python】案例&#xff1a;计算股票收益率和波动率&#xff1a; 1、案例需求2、数据准备3、案例实现 1、案例需求 在分析股票数据时&#xff0c;我们需要从这些数据中得到一些关键指标进行评估&#xff0c;比如收益率、波动率&#xff0c;其中收益率又可以细分为简单收益率和…...

从云计算到算网融合:未来已来的算力革命

一、算力网络&#xff1a;重塑数字时代的基础设施 在当今的数字世界&#xff0c;我们似乎已习惯了云计算带来的便利。然而&#xff0c;随着技术的飞速发展&#xff0c;一种全新的架构 —— 算力网络&#xff0c;正悄然崛起&#xff0c;有望彻底改变我们对计算资源的认知和利用…...

高级:消息队列面试题精讲

一、引言 消息队列在现代软件架构中扮演着至关重要的角色&#xff0c;尤其在处理高并发、系统解耦和异步通信等场景下。Kafka 和 RabbitMQ 作为两种主流的消息队列技术&#xff0c;各自具有独特的特性和适用场景。本文将深入分析 Kafka 和 RabbitMQ 的原理、使用场景及相关面试…...

大模型RAG项目实战-知识库问答助手v1版

安装 Ollama 根据官网指导&#xff0c;安装对应版本即可。 下载安装指导文档&#xff1a; handy-ollama/docs/C1/1. Ollama 介绍.md at main datawhalechina/handy-ollama 注意&#xff1a;在 Windows 下安装 Ollama 后&#xff0c;强烈建议通过配置环境变量来修改模型存储…...

【云计算】打造高效容器云平台:规划、部署与架构设计

引言 随着移动互联网时代的大步跃进&#xff0c;互联网公司业务的爆炸式增长发展给传统行业带来了巨大的冲击和挑战&#xff0c;被迫考虑转型和调整。对于我们传统的航空行业来说&#xff0c;还存在传统的思维、落后的技术。一项新业务从提出需求到立项审批、公开招标、项目实…...

AI智慧共治新未来——社会综合治理智慧化系统

针对社会综合治理中乱倒垃圾、乱停车、乱贴广告等不文明行为的识别与处置难题&#xff0c;“社会综合治理智慧化系统”融合“技防人防共治”理念&#xff0c;通过人工智能、智能监控与数据驱动的综合手段&#xff0c;构建了一套高效、智能、可扩展的城市治理工具。以下是系统的…...

MySQL学习笔记(四)——DML和DQL

目录 1. DML 1.1 添加数据 1.1.1 给指定字段添加数据 1.1.2 给全部字段添加数据 1.1.3 批量添加数据 1.2 修改数据 1.3 删除数据 2. DQL 2.1 基本语法 2.2 基础查询 2.2.1 查询多个字段 2.2.2 字段设置别名 2.2.3 去除重复记录 2.3 条件查询 2.4 聚合函数 2.5 …...

AWS SNS深度解析:构建高可用、可扩展的云原生消息通信解决方案

引言 在云原生架构中&#xff0c;高效的消息通信是系统解耦、实时响应的核心需求。AWS Simple Notification Service&#xff08;SNS&#xff09;作为一款全托管的发布/订阅&#xff08;Pub/Sub&#xff09;服务&#xff0c;为开发者提供了灵活、可靠的消息分发能力。本文将从…...

大数据(5)Spark部署核弹级避坑指南:从高并发集群调优到源码级安全加固(附万亿级日志分析实战+智能运维巡检系统)

目录 背景一、Spark核心架构拆解1. 分布式计算五层模型 二、五步军工级部署阶段1&#xff1a;环境核弹级校验阶段2&#xff1a;集群拓扑构建阶段3&#xff1a;黄金配置模板阶段4&#xff1a;高可用启停阶段5&#xff1a;安全加固方案 三、万亿级日志分析实战1. 案例背景&#x…...

阿里云域名证书自动更新acme.sh

因为阿里云的免费证书只有三个月的有效期&#xff0c;每次更换都比较繁琐&#xff0c;所以找到了 acme.sh&#xff0c;还有一种 certbot 我没有去了解&#xff0c;就直接使用了 acme.sh 来更新证书&#xff0c;acme.sh 的主要特点就是&#xff1a; 支持多种 DNS 服务商自动化续…...

HCIP第二次作业

一、拓扑图 二、需求 1.按照图示的VLAN及IP地址需求&#xff0c;完成相关配置 2.要求SW1为VLAN 2/3的主根及主网关&#xff0c;SW2为vlan 20/30的主根及主网关&#xff0c;SW1和SW2互为备份 3.上层通过静态路由协议完成数据通信过程 4.AR1为企业出口路由器 5.要求全网可达…...

数据驱动可视化实战:图表狐精准生成图表的完整数据范式

一、数据输入黄金法则 图表狐 - AI图表生成工具,在线数据可视化要求数据描述必须包含三个核心要素&#xff1a; [主体对象] [量化指标] [维度划分] 错误示例 ❌&#xff1a; "展示各部门销售额对比" 正确示例 ✅&#xff1a; "2023年Q1-Q4各部门销售额&a…...

代码随想录算法训练营第五十二天|图论专题: 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿

101. 孤岛的总面积 本题要求找到不靠边的陆地面积&#xff0c;那么我们只要从周边找到陆地然后 通过 dfs或者bfs 将周边靠陆地且相邻的陆地都变成海洋&#xff0c;然后再去重新遍历地图 统计此时还剩下的陆地就可以了。 1、从左边和后边向中间遍历 2、从上边和下边向中间遍历…...

Sentinel核心源码分析(下)

文章目录 前言一、StatisticSlot的异常处理二、SentinelResourceAspect的异常处理三、entry.exit2.1、StatisticSlot的exit2.2、DegradeSlot的exit 总结 前言 在上篇中&#xff0c;主要记录了Sentinel与Spring Boot的整合&#xff0c;以及责任链的构建&#xff0c;执行的过程。…...

如何将内网的IP地址映射到外网?详细方法与步骤解析

01 为什么需要将内网IP映射到外网 在当今数字化时代&#xff0c;远程访问内网资源已成为许多企业和个人的刚需。将内网IP地址映射到外网的主要目的是允许外部网络访问内网中的特定服务&#xff0c;比如Web服务器、远程桌面、文件共享等应用场景。无论是企业需要远程办公访问内…...

八股补充说明

ConcurrentHashMap 默认使用16个段&#xff0c;主要是为了平衡并发性能和内存占用。16个段的选择来源于历史经验和实际测试&#xff0c;能够在多数应用中提供较好的性能。 注意&#xff1a;可达性分析法是对所有引用类型都进行分析 总结表&#xff1a; 引用类型与根对象的关系回…...

数字三角形(dfs+动态规划)通过率未达100%

数字三角形 题目描述 上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径&#xff0c;把路径上面的数加起来可以得到一个和&#xff0c;你的任务就是找到最大的和。 路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那…...

版本控制工具——Git

目录 【版本控制系统】 【Git概述】 【Git下载】 【Git初始化本地仓库并推送】 【克隆目标仓库】 【Git团队开发的一种流程】 【Git客户端TortoiseGit】 【下载、克隆和分支之间的区别】 【下载GitHub中的子文件夹】 【不用魔法的访问方法】 【GitHub官方文档】 【版…...

计算机网络学习前言

前言 该部分说明计算机网络是什么&#xff1f;它有什么作用和功能&#xff1f;值不值得我们去学习&#xff1f;我们该如何学习&#xff1f;这几个部分去大概介绍计算机网络这门课程&#xff0c;往后会介绍计算机网络的具体知识点。 1.计算机网络是什么&#xff1f; 计算机网…...

Python爬虫第6节-requests库的基本用法

目录 前言 一、准备工作 二、实例引入 三、GET请求 3.1 基本示例 3.2 抓取网页 3.3 抓取二进制数据 3.4 添加headers 四、POST请求 五、响应 前言 前面我们学习了urllib的基础使用方法。不过&#xff0c;urllib在实际应用中存在一些不便之处。以网页验证和Cookies处理…...

当实体类中的属性名和表中的字段名不一样 ,怎么办

在不同的持久化框架中&#xff0c;当实体类中的属性名和表中的字段名不一致时&#xff0c;有不同的解决办法&#xff0c;下面为你详细介绍&#xff1a; 1. MyBatis MyBatis 是一个流行的持久层框架&#xff0c;有两种主要方式来处理属性名和字段名不一致的情况。 方式一&…...

我用deepseek制作了一份建设项目从立项到验收全流程手册《从蓝图到交付:建设项目全生命周期管理实战手册》

建设项目全流程详解&#xff08;2025年更新版&#xff09; ‌一、立项决策阶段‌ ‌项目建议书编制‌ 明确建设背景、必要性、初步规模及投资估算&#xff0c;形成《项目建议书》报审材料 ‌12 ‌可行性研究深化‌ 完成市场供需分析、技术方案比选、环境影响评估、财务敏感性…...

力扣HOT100之链表:19. 删除链表的倒数第 N 个结点

这道题的思路比较简单&#xff0c;直接定义一个虚拟头节点&#xff0c;然后再定义快慢指针&#xff0c;快慢指针在初始状态下都指向虚拟头节点&#xff0c;然后让快指针先走n步&#xff0c;慢指针停在原地&#xff0c;然后快慢指针同步前进&#xff0c;当快指针fast指向最后一个…...

【Django】教程-11-ajax弹窗实现增删改查

【Django】教程-1-安装创建项目目录结构介绍 【Django】教程-2-前端-目录结构介绍 【Django】教程-3-数据库相关介绍 【Django】教程-4-一个增删改查的Demo 【Django】教程-5-ModelForm增删改查规则校验【正则钩子函数】 【Django】教程-6-搜索框-条件查询前后端 【Django】教程…...

大厂算法面试 7 天冲刺:第7天-系统设计与模拟面试实战 —— 架构思维 + Java落地

&#x1f3d7;️ 第7天&#xff1a;系统设计与模拟面试实战 —— 架构思维 Java落地 &#x1f4da; 一、What&#xff1a;系统设计是什么&#xff1f; 系统设计是对一个复杂系统的高可用、高性能、高扩展性架构进行顶层思考和具体实现的过程。 &#x1f527; 涉及核心主题&a…...

面试题汇总06-场景题线上问题排查难点亮点

面试题汇总06-场景题&线上问题排查&难点亮点 【一】场景题【1】订单到期关闭如何实现【2】每天100w次登录请求,4C8G机器如何做JVM调优?(1)问题描述和分析(2)堆内存设置(3)垃圾收集器选择(4)各区大小设置(5)添加必要的日志【3】如果你的业务量突然提升100倍…...

AI训练存储架构革命:存储选型白皮书与万卡集群实战解析

一、引言 在人工智能技术持续高速发展的当下&#xff0c;AI 训练任务对存储系统的依赖愈发关键&#xff0c;而存储系统的选型也变得更为复杂。不同的 AI 训练场景&#xff0c;如机器学习与大模型训练&#xff0c;在模型特性、GPU 使用数量以及数据量带宽等方面的差异&#xff…...

数据结构实验3.1:顺序栈的基本操作与进制转换

文章目录 一&#xff0c;问题描述二&#xff0c;基本要求三&#xff0c;算法分析四&#xff0c;示例代码五&#xff0c;实验操作六&#xff0c;运行效果 一&#xff0c;问题描述 在数据处理中&#xff0c;常常会遇到需要对链接存储的线性表进行操作的情况。本次任务聚焦于将链…...

Docker与VNC的使用

https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc 下载nvc 客户端 https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-7.12.0-Windows.exe 服务端 docker pull dorowu/ubuntu-desktop-lxde-vnc#下载成功 docker pull dorowu/ubuntu-desktop-l…...

JGraphT 在 Spring Boot 中的应用实践

1. 引言 1.1 什么是 JGraphT JGraphT 是一个用于处理图数据结构和算法的 Java 库,提供了丰富的图类型和算法实现。 1.2 为什么使用 JGraphT 丰富的图类型:支持简单图、多重图、伪图等多种图类型。强大的算法库:提供最短路径、最小生成树、拓扑排序等多种算法。易于集成:…...

.net6 中实现邮件发送

一、开启邮箱服务 先要开启邮箱的 SMTP 服务&#xff0c;获取授权码&#xff0c;在实现代码发送邮件中充当邮箱密码用。 在邮箱的 设置 > 账号 > POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务中&#xff0c;把 SMTP 服务开启&#xff0c;获取授权码。 二、安装库 安装 …...

MySQL 触发器与存储过程:数据库的自动化工厂

在数据世界的工业区&#xff0c;有一座运转高效的自动化工厂&#xff0c;那里的机器人日夜不停地处理数据…这就是 MySQL 的触发器与存储过程系统&#xff0c;它让数据库从"手工作坊"变成了"现代化工厂"… 什么是 MySQL 触发器与存储过程&#xff1f;&…...