数据压缩传输
Data Compression & Transfer
Client-Server 间大文件的压缩编码传输与完整性校验
子问题
1.压缩算法选择
2.base64 编码传输
3.MD5 完整性校验
4.未修改文件跳过传输
5.递归嵌套 payload 的深层媒体文件发现与处理
6.拦截器层自动注入压缩逻辑实现节点透明传输
各项目的解法1 solutions
Signals
横向对比
| 维度 | FireRed-OpenStoryline |
|---|---|
| 压缩算法 | gzip/zlib 双算法可选,默认 gzip |
| 编码方式 | base64 文本化嵌入 JSON payload |
| 完整性校验 | MD5 哈希,解压后立即校验 |
| 差量传输 | _pack_item MD5 比对,未修改文件跳过 base64 |
| 集成层级 | 三层架构:FileCompressor 工具层 + BaseNode 协议层 + ToolInterceptor 拦截器层 |
| 递归处理 | load/pack 支持任意深度嵌套 dict/list payload |
最佳实践
1.用 MD5 比对避免重复传输未修改文件
2.gzip 压缩 + base64 编码平衡传输效率
3.在节点基类统一处理编解码,子类节点无需感知传输细节
4.用 dataclass 封装压缩元数据(文件名、大小、压缩率、MD5、base64)实现自描述传输包