车云TCP链路偶现链接失联问题排查

 一、问题分析

1.1 车云tcp长连接分析排查

在15:37:32.039上线, 在 16:07:26.527下线,车云长连接通道稳定,且该期间心跳数据正常。

1.2 云向驾仓推送数据分析

在15:37:42 进行车辆接管后,该车辆下线,且无法在上线,排查日志,15:37:32.048 时向驾仓推送36车辆, 15:37:44.928 时向驾仓推送了空车辆数据。

 Dec 20, 2023 @ 15:37:32.048 VehicleListEventListener userId:63,online:["48:b0:2d:4d:69:fa"],exception:[]

 Dec 20, 2023 @ 15:37:44.928 VehicleListEventListener userId:63,online:[],exception:[]

1.3 车辆接管事件分析

查询 t_parallel_vehicle 表,检索处于在线状态的车辆推送给驾仓。

车辆上下线的时候,会对车辆在线状态进行修改。

二、问题原因

车辆上线时,会高频发送rtk数据,云端会根据rtk数据修改车辆的驾驶状态(手动驾驶、自动驾驶、平行驾驶)等各种状态数据,此时会查询车辆的在线状态,并将该数据修改回数据库中。

rtk的数据操作车辆在线状态的操作发生了数据库的并发修改问题,导致了此操作把车辆的在线状态改成了错误的状态。

三、 修改方案

将车辆 在线状态的修改操作单独封装,只有车辆上下线的时候进行修改。其他业务功能删除掉该状态的相关操作,避免该状态并发修改问题的发生。

四、 测试方案与结果

1)方案:

在多个弱网区域多次来回跑

2)结果:

36车经过14个弱网区域,降级6次,掉线4次,掉线后均在五秒内上线

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java语法---使用sort进行排序

目录 一、升序 二、降序 (1)类实现接口 (2)匿名内部类 三、自定义排序规则 四、集合中的sort排序 (1)升序 (2)降序 (3)自定义排序 一、升序 升序排…

vue3+Ts

安装 命令含义可参考typescript文章中的自动编译部分 npm create vitelatest vuets-project -- --template vue-tsvs code插件 Vue Language Features (Volar)对.vue文件进行实时的类型错误反馈TypeScript Vue Plugin (Volar) 用于支持在TS中import*.vue文件(mai…

08-JVM调优实战及常量池详解

文章目录 阿里巴巴Arthas详解Arthas使用场景Arthas使用 GC日志详解打印GC日志方法如何分析GC日志CMSG1 JVM参数汇总查看命令Class常量池与运行时常量池字面量符号引用 字符串常量池字符串常量池的设计思想三种字符串操作(Jdk1.7 及以上版本)字符串常量池位置字符串常量池设计原…

C语言——高精度除法

一、引子 1、引言 高精度除法相较于加减乘法更加复杂,它需要处理的因素更多,在这里我们先探讨高精度数除以低精度数,即大数除小数。这已满足日常所需,如需大数除以大数,可以使用专门的库,例如&#xff1a…

3.Redis持久化

文章目录 RDB(Redis DataBase):RDB是什么?RDB能干嘛?RDB自动触发RDB手动触发RDB优点RDB缺点什么情况会触发RDB快照 AOF(Append Only File):AOF是什么?AOF能干嘛&#xff…

【Hadoop】 YARN 运行过程/YARN设计目标

YARN 运行过程剖析YARN设计目标 YARN 运行过程剖析 一个Job在YARN中的处理过程: 客户端向RM提交一个job,进入RM中的调度器队列以供调度RM中的AppManager与NM协商协商好一个容器,以启动一个App Master实例App Master启动之后向RM注册并根据Jo…

刷题第五十一天 84. 柱状图中最大矩形

好难,看解析: # 双指针 class Solution:def largestRectangleArea(self, heights: List[int]) -> int:size len(heights)# 两个DP数列储存的均是下标indexmin_left_index [0] * sizemin_right_index [0] * sizeresult 0# 记录每个柱子的左侧第一…

量化服务器 - 后台挂载运行

服务器 - 后台运行 pip3命令被kill 在正常的pip命令后面加上 -no-cache-dir tmux 使用教程 https://codeleading.com/article/40954761108/ 如果你希望在 tmux 中后台执行一个 Python 脚本,你可以按照以下步骤操作: 启动 tmux: tmux这将会创建一个新…

Ubuntu 常用命令之 ps 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 ps命令是Linux下的一个非常重要的命令,它用于查看系统中的进程状态。ps是Process Status的缩写,可以显示系统中当前运行的进程的状态。 以下是一些常用的参数 a:显示所有进程(包括…

【机器学习】决策树

参考课程视频:https://www.icourse163.org/course/NEU-1462101162?tid1471214452 1 概述 样子: 2 分裂 2.1 分裂原则 信息增益 信息增益比 基尼指数 3 终止 & 剪枝 3.1 终止条件 无需分裂 当前节点内样本同属一类 无法分裂 当前节点内…

【数据结构】四、串

目录 一、定义 二、表示与实现 定长顺序存储 堆分配存储 链式存储 三、BF算法 四、KMP算法 1.求next数组 方法一 方法二(考试方法) 2.KMP算法实现 方法一 方法二 3.nextval 4.时间复杂度 本节最重要的就是KMP算法,其他要求不高…

融资项目——swagger2的注解

1. ApiModel与ApiModelProperty(在实体类中使用) 如上图,ApiModel加在实体类上方,用于整体描述实体类。ApiModelProperty(value"xxx",example"xxx")放于每个属性上方,用于对属性进行描述。swagger2网页上的效果如下图&am…

c++内存池项目

文章目录 一、内存池介绍二、ThreadCache实现三、CentralCache实现四、PageCache实现五、回收内存六、大于256KB的内存申请与释放七、将new和delete换为定长内存池八、多线程环境下对比malloc进行基准测试九、使用基数树进行性能优化 一、内存池介绍 二、ThreadCache实现 下面…

Wordpress插件WP-Statistics无法识别来访IP国家和城市处理方法

Wordpress插件WP-Statistics,可以识别网站访问者的IP物理地址,统计出城市、国家,但最近发现都显示unknown/未知: 更新GeoIP数据库到最新还是不行: 偶然找到了之前能用的数据库,恢复回去,竟然大…

基于SpringBoot的桃花峪滑雪场租赁系统 JAVA简易版

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 游客服务2.2 雪场管理 三、数据库设计3.1 教练表3.2 教练聘请表3.3 押金规则表3.4 器材表3.5 滑雪场表3.7 售票表3.8 器材损坏表 四、系统展示五、核心代码5.1 查询教练5.2 教练聘请5.3 查询滑雪场5.4 滑雪场预定5.5 新…

【AI提示词人物篇】创新艺术未来,让科技改变想象空间

AI 绘画学习难度和练习技巧 学习绘画的技巧 学习能难度: 外貌特征:AI需要学习识别和理解各种外貌特征,如发型、肤色、眼睛颜色等。这可能需要大量的训练数据和复杂的模型架构。 镜头提示:AI需要学习理解不同镜头提示的含义&…

中心性算法归纳

中心性算法不仅是在我所学习的计算机网络当中起很重要的作用,在交通网络、社交网络、信息网络、神经网络当中也有很多的应用例子。今天我在这里总结一下场景的几种中心性算法。 参考文献 Python NetworkX库 偏心中心性(Eccentricity Centrality&#x…

Kubernetes 的用法和解析(K8S 日志方案) -- 8

一、统一日志管理的整体方案 通过应用和系统日志可以了解Kubernetes集群内所发生的事情,对于调试问题和监视集群活动来说日志非常有用。对于大部分的应用来说,都会具有某种日志机制。因此,大多数容器引擎同样被设计成支持某种日志机制。 对…

安装vcpkg管理opencv的安装+MFC缺失的解决

第一步,出现#include没有办法找到opencv头文件的问题,无法解决 在VC的提示下,安装了vcpkg,然后用vcpkg命令来帮助安装opencv,过程十分顺利。 1. cmd 到命令行窗口; 2. 建立src文件夹,并进入…

KMP入门级别算法详解--终于解决了(next数组详解)

对于正常的字符串模式匹配,主串长度为m,子串为n,时间复杂度会到达O(m*n),而如果用KMP算法,复杂度将会减少线型时间O(mn)。 设主串为ptr"ababaaababaa";&#…