Files
Inbox/系统基座文件/2.4 工程基线总结报告_外部目标数据分发协议.md
2025-12-11 07:24:36 +08:00

4.8 KiB
Raw Permalink Blame History

tags, aliases, date created, date modified
tags aliases date created date modified
2.4 外部目标数据分发协议 - 工程基线总结报告
星期一, 十一月 24日 2025, 4:55:47 下午 星期一, 十一月 24日 2025, 11:04:03 晚上

2.4 外部目标数据分发协议 - 工程基线总结报告

适用范围: 数据网关模块 (DisplayController) \leftrightarrow 显控终端 (ClientApp)

1. 核心架构基线 (Core Architecture Baselines)

决策领域 核心基线 (Baseline Established) 关键技术与配置 (Key Specs) 设计意图/依据
2.4.1 传输拓扑 多源汇聚单播 (N-to-1 Unicast) UDP 直连。显控端绑定固定端口,通过 StationID 区分多路数据源。 摒弃组播Multicast的部署复杂性适应分布式阵面组网需求。
2.4.1 IO 模型 全异步非阻塞 (Non-blocking) Epoll Edge-Triggered (ET) + 独立 IO 线程。采用“写优先 (Write-First)”策略。 隔离网络抖动对计算核心的影响,最大化物理线速发送能力。
2.4.2 数据契约 原子批次 (Atomic Batch) Protobuf v3。一个数据包严格对应一个 CPI 处理周期。严禁微批次切分。 简化显控端逻辑,确保态势图更新的原子性与一致性。
2.4.3 时空基准 统一 UTC + WGS84 时间戳:timestamp_us (总控授时 UTC)。坐标:经纬高或 ECEF。 解决分布式多站数据融合时的时空对齐难题。
2.4.4 热节流 混合降级 (Hybrid Degradation) L1: 内容剪裁 (Pruning)L2: 频率抽稀 (Gap Insertion)。 在物理过载时主动卸载序列化与中断压力,优先保障核心航迹交付。
2.4.5 闭环遥测 带外 HTTP 上报 客户端聚合 P99 延迟与丢包率,每 60s 通过 REST API 回传。 建立全链路性能监控闭环,量化“用户感知延迟”。

2. 关键技术规范详解

2.4.1 传输层实施规范

  • Socket 配置:
    • 发送缓冲区 (SO_SNDBUF): 动态计算为 Max_Burst * 4 (建议 8MB+)。作为最后的弹性气囊吸收脉冲式突发。
    • QoS 标记: 设置 IP_TOSDSCP EF (0x2E)CS6,保障交换机转发优先级。
    • 分片策略: 开启 IP_PMTUDISC_DO 禁止 IP 分片,在应用层按 MTU (如 1472 字节) 进行切片。
  • 线程模型: 采用 SPSC 无锁队列 连接业务线程(生产者)与 IO 线程(消费者),实现计算与传输的物理隔离。

2.4.2 序列化与协议头规范

  • Schema 定义: 根对象 TrackDataBatch 必须包含:
    • station_id: 站点标识 (uint32)。
    • batch_sequence_id: 单调递增序列号 (uint64),在序列化时刻生成。
    • timestamp_us: 数据生成时的 UTC 时间 (uint64)。
    • throttle_level: 当前节流等级反馈 (uint32)。
    • trace_id: 全链路追踪 ID。
  • 完整性校验: 采用 CRC32c 算法计算 Payload 校验和,填入协议头。

2.4.3 接收端诊断规范

  • 丢包判决: 基于 滑动窗口统计。仅当 Current_Seq > Last_Seq + 1 时判定丢包。乱序包 (Current <= Last) 立即丢弃
  • 断连判定: 维护每个 Station 的心跳状态。超过 2 秒 无数据视为断连 (Disconnected)。
  • 延迟告警: 实时计算 Local_Time - Packet_Time。若超过阈值 (如 200ms) 触发 "High Latency" 提示。

2.4.4 流量整形策略 (Traffic Shaping)

响应 SetComputeThrottleEvent 指令:

  • Level 0 (全速): 发送 航迹 + 点迹 + 状态。
  • Level 1 (轻微): 剪裁内容。丢弃点迹 (Plots) 和调试信息,保留全量航迹。减少序列化 CPU 开销。
  • Level 2 (严重): 频率抽稀。每 2 帧丢弃 1 帧 (50% Rate)。减少网卡中断和总线功耗。
    • 注意:丢弃操作在序列号生成之前执行,确保发出的数据包序列号依然连续。

2.4.5 遥测回传规范

  • 通道: HTTP POST (非 UDP)。
  • 指标: station_id, latency_p99, packet_loss_rate, throughput_mbps.
  • 行为: 显控端后台线程每 60 秒聚合一次统计数据并上报,若上报失败 (超时/错误) 则丢弃本次报告,不重试。

3. 风险与应对 (Risk Mitigation)

潜在风险 现象 应对/缓解措施
Bufferbloat 无丢包但延迟持续升高 (>500ms)。 监控端到端延迟指标。若确认积压,需检查 2.4.4 节流阈值是否过高,或减小 SO_SNDBUF 迫使上游丢包(新鲜度优先)。
时钟漂移 多站目标在显控端“跳变”。 依赖总控授时。显控端应显示“时间同步状态”图标,若检测到 Timestamp > LocalTime (未来时间) 则告警。
网络微突发 偶发性成片丢包。 依赖 8MB+ Socket 缓冲区吸收。若仍丢包,需检查交换机端口缓存配置。