Skip to content

传输前自动压缩打包 / 接收端自动解压(大批量小文件加速) #92

@jeff141

Description

@jeff141

#23 拆出的第 2 部分,单独跟踪。

需求

面向「大量零散小文件 / 整个目录」的收发场景,在传输前自动压缩打包、接收端自动解压,用户无需手敲压缩参数。弱网环境下能显著减少体积、缩短耗时。

  • 上传:本地 tar(可选 gzip)→ 传一个归档 → 远端自动解压到目标目录
  • 下载:远端 tar 打包 → 传回 → 本地自动解压

为什么从 #23 暂缓拆出

进程监控(#23 第 1 部分)已实现,但压缩传输的复杂度和边界明显更高,需要单独设计:

  1. 依赖检测:远端是否有 tar/gzip/zstd,没有时如何降级
  2. 临时文件与清理:两端的临时归档落盘位置、权限、失败/中断后的回滚清理
  3. 进度反馈退化:现在是逐文件进度,打包后变成一个大 blob,中途看不到进展,需要重新设计进度展示(或用 tar 的 checkpoint)
  4. 正确性:符号链接、权限位、稀疏文件、超长路径、文件名编码等保真问题
  5. 与现有 SFTP 逐文件传输的取舍:何时自动走压缩通道、何时走普通 SFTP(阈值?开关?)

开放问题

  • 触发方式:自动(按文件数/总大小阈值)还是用户显式勾选「压缩传输」?
  • 压缩算法:gzip(通用)还是 zstd(更快,但远端不一定有)?
  • 是否仅对「目录 / 多选」启用,单个大文件不压缩?

欢迎讨论设计方向。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions