1. 项目现状分析

工程铁律: 任何性能优化不得以牺牲稳定性为代价;任何架构优化不得增加系统恢复复杂度。

1.1 当前架构

当前项目采用三级架构:

  • 通道(Channel):对应一个采集驱动,管理多个设备
  • 设备(Device):具体的设备实例,包含多个点位
  • 点位(Point):设备的具体数据点

核心组件:

  • ChannelManager:通道/设备/点位 CRUD、驱动生命周期;内嵌 ScanEngineAdapter 注册调度任务(不再 per-device deviceLoop
  • ScanEngine:内核调度器(10ms Tick + PriorityQueue + ResourceController),形成 调度→执行→数据→状态 闭环
  • ExecutionLayer:串行硬隔离(SerialQueueManager)+ 并发背压(ParallelExecutor + BackpressureController
  • ShadowCore:运行时影子快照真源;ScanEngine 写入后经 ShadowBridge 扇出至 DataPipeline
  • ConnectionManager(driver 包):唯一 dial Owner,统一指数退避与 single-flight 重连
  • CommunicationManageTemplate:设备在线/离线/降级状态;ScanEngine 经 finalizeScanCollect 回写
  • 多协议 Driver:Modbus、BACnet、OPC UA、S7 等 — 纯执行函数,禁止内部 ticker/goroutine/retry

1.2 现有功能

  • 设备状态管理(在线、离线、不稳定等状态)
  • 定时数据采集
  • 基本的设备指标收集
  • 多协议支持
  • 设备扫描和点位发现

1.3 存在的问题

(2026-06-30 对照 ScanEngine 重构方案 §9 实现状态)

  • 采集调度分散于各 Driver已解决:ScanEngine 统一调度,CollectionScheduler / deviceLoop 已移除
  • Driver 内部 goroutine/ticker/重连部分解决:Modbus/DLT645 已迁移;OpcUa/ENIP 待统一 ConnectionManager
  • 设备画像(RTT/MTU/Gap)算法模块已有,ExecutionLayer 读路径尚未系统消费
  • Scan Class(fast/normal/slow)代码已支持,UI 产品化不足
  • 熔断机制、四阶段灰度 DRY_RUN 双跑等待运维验证
  • 大规模块读 / Gap 合并未贯通至 Modbus 读路径

1.4 性能瓶颈分析与优化目标

维度 当前痛点 优化目标 关键技术
延迟 (Latency) 静态超时/间隔策略导致长尾延迟;网络抖动引起重传风暴。 99th 百分位延迟 < 10ms RTT 动态自适应窗口;EWMA 预测算法;QoS 优先级队列
吞吐 (Throughput) 固定 MTU (如 Modbus 250B) 限制大数据块传输;地址分散导致请求碎片化。 自适应 MTU (最大支持 4096B) 智能 MTU 动态协商;Gap 空洞合并算法;零拷贝环形缓冲
稳定性 (Stability) 缺乏心跳保活机制,死链检测慢;异常恢复时间长。 故障检测 < 3s;自动重连恢复 智能业务心跳 (Traffic-Aware Heartbeat);链路层状态机

1.5 分层架构重构原则

采用 南向采集 -> 缓存 -> 影子设备 -> 边缘计算 -> 北向上报 的分层处理,并引入影子设备作为唯一内部数据模型中心:

  1. 采集层 (Collection Layer)调度驱动
    • ScanEngine:全局 10ms Tick、优先级堆、防饿死、失败退避
    • ExecutionLayer:Serial / Parallel / Limited 三路执行;共享链路 channelMu 串行
    • Driver:无状态 ReadPoints / WritePoint;连接经 ConnectionManager
    • 优化策略(待闭环):RTT 统计、MTU 协商、Gap 合并反馈至读分片
  2. 缓存层 (Buffer Layer):
    • 使用零拷贝环形缓冲 (Ring Buffer) 存储原始报文。
    • 实现 ACK 压缩与重复包过滤。
  3. 边缘计算层 (Edge Computing Layer):
    • 执行 TSL 物模型解析、公式计算、数据清洗。
    • 动态调整采集策略 (如降级、加速)。
  4. 影子设备核心层 (Shadow Core Layer):
    • Real Shadow Store:纯内存运行时快照。
    • Virtual Shadow Engine:跨设备公式依赖计算。
    • Edge Compute Engine:差值/步长/滑动平均/阈值计算。
    • Atomic Dispatcher:版本推进 + QoS ACK 机制。
  5. 北向上报层 (Northbound Layer):
    • 数据标准化 JSON/MQTT 上报。
    • 提供 COLLECT_CTRL 指令通道,支持参数热更新(已实现简单的双向控制功能的基础上优化)。
    • 统一鉴权、限流、审计机制。

1.6 当前状态与路线图

主体交付状态、与 Kepware 级差距及 Q3 最高优先级见 ROADMAP.md。工程铁律见 DEVELOPMENT_PRINCIPLES.md