问题域/PD-558

媒体数据传输协议

Media Data Transfer Protocol

如何在分布式Agent组件间高效传输大体积媒体文件

子问题

1.压缩编码策略(gzip/zlib+base64)

2.完整性校验(MD5)

3.增量传输(差异检测)

4.双向序列化(pack/unpack)

5.传输层透明化(拦截器自动编解码,节点无感知)

6.嵌套 payload 递归遍历(多层 dict/list 结构)

7.Session 级缓存隔离(三级目录防串扰)

各项目的解法1 solutions

Signals

横向对比

维度FireRed-OpenStoryline
压缩编码策略gzip/zlib 双压缩 + base64 编码,CompressedFile 数据类封装元信息
完整性校验原始数据 MD5 贯穿压缩-传输-解压全链路,解压时强校验
增量传输BaseNode._pack_item 比对 orig_md5,未修改文件只传 path 字符串
传输层透明ToolInterceptor before/after 拦截器自动处理,节点无感知
持久化策略ArtifactStore 三级目录隔离(session/artifact/file),递归提取 base64 落盘
递归遍历payload 中 dict/list 嵌套结构全层级递归处理

最佳实践

1.MD5校验检测文件是否变更避免重传

2.gzip压缩减少网络传输量

3.CompressedFile 数据类封装压缩元信息(大小/比率/方法)便于调试

4.拦截器模式将传输逻辑从业务节点中解耦

5.三级目录(session/artifact/file)隔离防止并发会话文件冲突