5. 实现架构
5.1 核心组件
- DeviceAdapterManager:设备适配器管理器,负责管理所有设备的画像和适配策略
- ProtocolAdapterRegistry:协议适配器注册表,管理不同协议的适配器
- CollectionScheduler:采集调度器,根据设备画像优化采集顺序和策略
- BatchOptimizer:批量采集优化器,优化同一总线上的设备采集
- RTTManager:RTT管理器,负责RTT统计和分析
- MTUManager:MTU管理器,负责MTU动态协商
- GapOptimizer:Gap优化器,负责批量读取的Gap合并策略
5.2 数据流
5.2.1 数据采集流程
- 采集前:获取设备最优参数,包括RTT、MTU、Gap等
- 采集中:记录响应时间、RTT、错误等信息
- 采集后:更新设备画像,包括RTT统计、MTU调整、Gap优化
5.2.2 参数调整流程
- 基于历史RTT数据计算EWMA
- 根据RTT动态调整采集间隔和超时时间
- 基于MTU协商结果调整批量读取大小
- 根据RTT和MTU动态调整Gap值
5.3 多协议支持
5.3.1 协议差异处理
| 协议 | 特有参数 | 适配策略 |
|---|---|---|
| Modbus | 从站地址、功能码、寄存器范围 | 批量读取优化、帧间隔调整、RTT自适应、MTU协商 |
| TCP | 连接超时、重试次数 | 连接池管理、并发控制、RTT自适应 |
| BACnet | 对象ID、属性ID | 批量读属性、COV订阅、RTT自适应 |
| S7 | DB块、数据类型、偏移量 | 批量读取、数据块优化、MTU协商 |
| OPC UA | 节点ID、采样间隔 | 订阅优化、批处理、RTT自适应 |
| Serial | 波特率、奇偶校验、停止位 | 串口参数调整、缓冲区管理、RTT自适应 |
5.3.2 统一接口实现
通过ProtocolAdapter接口实现不同协议的适配,确保所有协议都能通过统一的设备画像进行管理和优化。