- 博客(145)
- 收藏
- 关注
原创 Redis配合唯一序列号实现接口幂等性方案
摘要:本文介绍了利用唯一序列号实现接口幂等性的两种方案。客户端请求时携带由时间戳、用户ID和随机数等组成的唯一序列号,服务端通过Redis的setnx命令验证序列号是否重复:返回1表示新请求可执行业务逻辑;返回0则判定为重复请求直接拒绝。两种方案都强调必须为Redis中的序列号设置过期时间,既防止重复请求又避免内存耗尽。方案一侧重基础验证流程,方案二则明确要求客户端传递序列号并设置过期时间,两种方法都能有效保障接口的幂等性。
2025-06-06 10:24:01
334
原创 乘用车自动驾驶和非乘用车(矿车,卡车)自动驾驶区别
自动驾驶系统在不同应用场景下存在显著差异。乘用车自动驾驶侧重复杂环境感知和人类驾驶模拟,需要处理多变的城市道路、精确的厘米级定位以及舒适的驾乘体验。矿区自动驾驶强调稳定性和简单路径规划,在封闭环境中运行且容忍度较高,主要依靠私有通信网络实现调度。干线物流卡车则介于两者之间,专注于高速场景下的远距探测、稳定控制和车路协同。此外,乘用车开发面向大众市场,而矿区/卡车多为定制化项目。这些差异体现在感知系统、定位精度、决策规划、通信依赖、安全冗余和控制策略等各个方面。
2025-06-04 16:56:34
1031
原创 分布式锁和数据库锁完成接口幂等性
本文介绍了5种实现接口幂等性的技术方案: 分布式锁(Redis/Zookeeper)通过唯一标识和超时设置防止重复请求; 状态机机制利用业务状态流转特性保证更新顺序性; 数据库悲观锁通过select for update锁定数据行; 数据库乐观锁使用版本号字段校验数据一致性; 数据库唯一主键利用主键约束确保数据唯一性。每种方案都有适用场景,需根据具体业务需求选择。
2025-05-30 10:29:27
915
原创 单设备登录实现原理(同一个账号多端登录强制下线)
介绍了三种实现账号单点登录(强制下线)的技术方案:1)基于session/cookie的单体架构,通过全局Map管理session实现踢出功能;2)基于token的方案,利用Redis维护token与用户ID映射关系,删除旧token实现强制下线;3)JWT方案同样通过Redis缓存token,使旧JWT失效。三种方案核心思路均为通过服务端存储的会话标识(sessionId/token)控制登录唯一性,当检测到重复登录时,删除旧凭证使前次登录失效。session方案适用于单体系统,token
2025-05-29 10:39:47
349
原创 高并发系统设计方案
本文从技术和业务两个维度探讨了高并发系统的设计策略。技术层面提出五大优化方案:1)使用缓存减少数据库访问;2)系统微服务化拆分;3)引入消息队列进行流量削峰;4)业务数据库垂直/水平拆分;5)读写分离提升并发能力。业务层面则建议通过错峰活动设计分流请求。同时强调需配合服务限流和实时监控,确保系统在高并发下的稳定性和可用性。这些措施从不同角度协同提升系统性能和抗压能力。
2025-05-29 10:13:41
811
原创 代客泊车/记忆泊车/遥控泊车/自动泊车分别是什么
智能泊车技术分类概览 目前主流智能泊车技术分为四类: 自动泊车(APA):车辆自主完成侧方/垂直泊车,需驾驶员监控,适用于标准车位(如比亚迪汉)。 遥控泊车(RPA):通过手机/钥匙遥控车辆低速移动,解决窄车位上下车难题(如特斯拉召唤功能)。 记忆泊车(HPA):车辆学习固定路线后自动复现,适合家庭/公司固定车位场景(如小鹏G9)。 代客泊车(VPA):全自动寻找车位+召唤接驾,依赖激光雷达和高精地图(如问界M5)。 技术差异:APA依赖超声波雷达,VPA需激光雷达和SLAM建图;优缺点方面,APA成本低但
2025-04-30 10:04:01
448
原创 高并发下保证接口幂等性
开发中有些接口对幂等性有严格的要求,如增加/扣减积分、用户支付/退款等场景,如果没有做接口的幂等性就会造成一定的资损或者用户投诉等问题。如下是增加积分过程,若接口未做幂等处理,现在由于积分服务响应超时导致Nginx重试:会出现由于积分服务没有做接口幂等处理,Nginx重试操作使得积分接口多次被调用,最终会给用户多加了积分。那么导致接口重复执行的来源有哪些?如何保证接口的幂等性呢?下面我们就这些问题做分析。
2025-03-20 10:28:25
949
原创 python 的turtle库:简单代码实现绘制分形树
turtle 是 Python 的标准库之一,所以你不需要单独安装它。你可以直接在 Python 脚本中导入它并开始使用。
2024-12-03 14:11:31
352
原创 分享一个您在汽车软件安全性测试中发现严重漏洞的案例,以及如何处理
我立即记录了漏洞,通知了开发团队,并提供了漏洞的详细说明和可能的攻击场景。开发团队迅速采取了紧急措施来修复漏洞,包括更新软件并加强访问控制。漏洞修复后,我进行了验证,确保攻击不再有效。这个案例强调了安全性测试的重要性和及时响应漏洞的能力。在汽车软件安全性测试中,我曾发现一个严重的远程攻击漏洞,允许攻击者远程控制车辆的某些功能。
2024-12-03 12:52:52
624
原创 系统软硬件联调时系统频繁死机如何故障排查
2- 检查软件代码,看是否存在死循环、内存泄漏等问题,可以通过调试工具进行分析。3- 检查硬件和软件的接口部分,确认通信是否正常,信号是否稳定。1- 首先检查硬件方面,查看是否有过热、短路等问题,可以使用示波器、万用表等工具进行检测。4- 逐步缩小问题范围,可以通过注释掉部分代码或断开部分硬件来确定问题所在。5- 查看系统日志,了解死机发生的时间和情况,以便更好地定位问题。
2024-11-26 10:46:43
172
原创 车载中惯导和其使用场景
惯性导航系统(INS,Inertial Navigation System)是一种不依赖于外部信息、也不向外部辐射能量的自主式导航系统。它通过测量载体在惯性参考系的加速度,将它对时间进行积分,且把它变换到导航坐标系中,就能够得到在导航坐标系中的速度、偏航角和位置等信息。其核心部件是加速度计和陀螺仪。使用场景:①.自动驾驶场景;②.高精度地图绘制场景;③.车辆动力学性能测试场景。
2024-11-25 15:30:53
484
原创 性能测试需要关注哪些指标
响应时间 (Response Time)定义:从用户发出请求到接收到响应的时间。重要性:直接影响用户体验。响应时间过长会导致用户不满,甚至放弃使用。度量:通常以毫秒 (ms) 为单位。吞吐量 (Throughput)定义:单位时间内系统处理的请求数或事务数。重要性:衡量系统的处理能力。高吞吐量表示系统能够处理更多的请求。度量:通常以每秒事务数 (TPS) 或每秒请求数 (RPS) 为单位。并发用户数 (Concurrent Users)定义:同一时间内与系统交互的用户数量。重要性:影响系统的负载能力和
2024-11-09 14:36:17
400
原创 如何为性能测试设计测试用例,以评估系统在高负载条件下的性能表现
确定性能目标:定义性能指标,例如响应时间、吞吐量和并发用户数。识别测试场景:确定要测试的关键场景,如用户登录、搜索、交易处理等。创建负载模型:设计负载模型,模拟多个用户并发执行测试场景,包括逐渐增加负载以测试系统的极限。设计测试行为:为每个测试场景设计虚拟用户的行为和操作,模拟真实用户的交互。配置监控和报告:设置性能监控工具,以监测各种性能指标。准备性能测试报告模板。执行测试:执行性能测试用例,记录性能指标和问题。分析和调整:分析性能测试结果,识别性能瓶颈和问题。根据需要调整系统配置和代码。
2024-11-05 18:35:26
298
原创 SDK和API
SDK就像是一个超级工具箱,里面装满了各种工具、说明书和配件,帮你快速、方便地完成一项工作。比如,你要搭建一个乐高模型,SDK就是那个包含了所有乐高积木、拼装图纸、甚至一些特殊工具的大盒子。API就像是这个工具箱里的一把工具。如果SDK是一个大工具箱,那么API就是里面的每一个具体的工具,例如一把螺丝刀。API让你能够使用某个特定功能,就像螺丝刀让你能拧螺丝一样。举个简单的例子假设你想做一个音乐播放器应用:● SDK:这是一个包含了所有你需要的东西的大礼包。
2024-10-30 18:55:45
239
prometheus+granfan+export+监控数据模板
2023-09-21
xenu超链接测试工具
2023-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人