From 9e36afb1335914d1d5cc97a2ee2987ed156c49e1 Mon Sep 17 00:00:00 2001 From: sladro Date: Wed, 11 Feb 2026 15:38:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=9C=9F=E5=AE=9Egis?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 8 +++++++ accout.md | 2 ++ .../WebSocketMessageBroadcaster.java | 23 +++++++++++-------- 3 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..a0d644d --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,8 @@ +### 注意事项 +一定要注意文件编码问题,有可能会引起字符错乱 +这是后端项目,前端系统不在这个项目里 + +### 项目运行环境 +这是开发环境,运行环境在centos7的容器里,分别为 +qaup-app +qaup-redis diff --git a/accout.md b/accout.md index 1d7b33e..5e4ade2 100644 --- a/accout.md +++ b/accout.md @@ -39,6 +39,8 @@ mem_fragmentation_ratio:1.36 mem_clients_normal:5146661 + +iptables -Zcat /proc/sys/net/netfilter/nf_conntrack_max /home/project_20250804/qaup/adxp-adapter diff --git a/qaup-collision/src/main/java/com/qaup/collision/websocket/broadcaster/WebSocketMessageBroadcaster.java b/qaup-collision/src/main/java/com/qaup/collision/websocket/broadcaster/WebSocketMessageBroadcaster.java index e27b284..e998027 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/websocket/broadcaster/WebSocketMessageBroadcaster.java +++ b/qaup-collision/src/main/java/com/qaup/collision/websocket/broadcaster/WebSocketMessageBroadcaster.java @@ -490,16 +490,19 @@ public class WebSocketMessageBroadcaster { } if (state.aircraftReacquireCount < AIRCRAFT_REACQUIRE_CONFIRM_POINTS) { - logDroppedPosition( - "aircraft_outlier_hold", - payload, - rawLatitude, - rawLongitude, - String.format("jumpMeter=%.3f,allowedMeter=%.3f,confirm=%d/%d", - rawDistance, maxAllowedJump, state.aircraftReacquireCount, AIRCRAFT_REACQUIRE_CONFIRM_POINTS) - ); - filteredLatitude = state.lastFilteredLatitude; - filteredLongitude = state.lastFilteredLongitude; + // During reacquire confirmation, keep moving with a bounded step instead of freezing. + double holdStepLimit = Math.max(maxAllowedJump, adaptive.jitterMeter() * 2.0); + if (rawDistance > holdStepLimit) { + double ratio = holdStepLimit / rawDistance; + filteredLatitude = state.lastFilteredLatitude + ratio * (latitude - state.lastFilteredLatitude); + filteredLongitude = state.lastFilteredLongitude + ratio * (longitude - state.lastFilteredLongitude); + } else { + filteredLatitude = latitude; + filteredLongitude = longitude; + } + log.warn("[TMP-POS-FIX] reason=aircraft_outlier_blend objectId={} rawLatitude={} rawLongitude={} jumpMeter={} stepMeter={} confirm={}/{}", + safeObjectId(payload), rawLatitude, rawLongitude, rawDistance, holdStepLimit, + state.aircraftReacquireCount, AIRCRAFT_REACQUIRE_CONFIRM_POINTS); } else { state.aircraftPendingReacquire = false; state.aircraftReacquireCount = 0;