BLUEPRINT
第十章 版本管理
10.1 版本号格式
DTP 使用语义化版本号,包含主版本号和次版本号:
{ major: number, minor: number }
每个 Logical_Frame 的帧头都包含协议版本号字段,标识该帧使用的协议版本。
10.2 版本兼容性规则
DTP_Engine 支持同时处理当前版本和前一个主要版本的 Logical_Frame 格式。
| 接收帧版本 | 处理方式 |
|---|---|
| 当前版本 | 正常处理 |
| 前一个主要版本 | 兼容处理(向后兼容) |
| 更高版本 | 发送版本不兼容通知 |
| 更低版本(超出兼容范围) | 发送版本不兼容通知 |
10.3 版本不兼容处理
当接收方收到帧头中协议版本号高于自身支持版本的 Logical_Frame 时:
- 不处理该帧
- 向发送方发送版本不兼容通知(VERSION_INCOMPATIBLE, 7001)
- 通知中包含自身支持的最高版本号
发送方收到版本不兼容通知后,可以:
- 降级到接收方支持的版本重新发送
- 或通知上层应用版本不匹配
10.4 协议演进策略
DTP 的版本管理确保协议在演进过程中保持向后兼容性:
- 次版本号升级:新增字段或功能,不破坏现有帧格式的解析
- 主版本号升级:可能改变帧格式,但保持对前一个主要版本的兼容
这意味着终端设备和 Fay 不需要同时升级——只要版本差距在一个主要版本以内,双方就能正常通信。
