恢复协议

为什么稳健的备份体系绝不应依赖文件名:自描述二进制文件架构解析

依赖文件名与目录结构的传统备份极度脆弱。本文详解自包含二进制头部、魔数与 UUID 自匹配机制,实现文件名被任意修改依然秒级还原的硬核架构。

YourKeep 团队约 1 分钟阅读
#二进制格式#自描述数据#头部校验#架构设计

为什么稳健的备份体系绝不应依赖文件名:自描述二进制文件架构解析

在传统脆弱的备份软件设计中,数据还原往往高度依赖外部文件名的精确匹配(例如必须命名为 archive.part01.rarbackup_chunk_001.dat)或外部清单索引数据库。

然而,在跨越数年、经历多次操作系统换代、跨盘拷贝与不同网盘下载后,文件名极易发生变动:Windows 系统会自动将重名文件重命名为 backup_chunk_001 (1).dat;云盘同步冲突时会追加 [冲突副本] 后缀;用户在整理文件夹时也可能随意修改文件名。

如果恢复程序因文件名被修改而拒绝识别,哪怕底层数据分片百分之百完好无损,用户也将面临无法解密还原的悲剧


外部元数据的极端脆弱性

  • 跨文件系统字符集冲突:在 Windows NTFS、macOS APFS、Linux ext4 与移动 U 盘 FAT32 之间迁移文件时,路径分隔符与编码极易产生畸变;
  • 云盘下载自动重命名:从不同网盘批量打包下载时,文件名经常被重组;
  • 人工误操作混淆:多个不同备份的分片被随手拖入同一个平铺文件夹。

YourKeep 自描述二进制头部设计

YourKeep 从底层彻底消除了对外部文件名的依赖,在每一个 .keep 分片文件的起始字节中内嵌了完整的自描述密码学头部结构

+-------------------------------------------------------------------------+
| 魔数标识 (0x594B454550 "YKEEP")     | 协议格式版本号 (0x01)              |
+-------------------------------------------------------------------------+
| 全局唯一容器 UUID (128-bit)         | 当前分片索引 (k) / 总分片数 (N)   |
+-------------------------------------------------------------------------+
| 最小恢复门限 (K)                    | 原始明文 SHA-256 校验和            |
+-------------------------------------------------------------------------+
| AEAD Nonce (96-bit)                 | GHASH 认证完整性标签 (128-bit)     |
+-------------------------------------------------------------------------+
|                           加密数据分片载荷                              |
+-------------------------------------------------------------------------+

无状态智能识别流程:

  1. 文件名完全脱敏:您可以把 10 个分片随意重命名为 a.txtvideo.mp4data.bin 并丢在同一个文件夹中;
  2. 读取二进制魔数:YourKeep 引擎扫描目录中的文件头部,秒级定位符合规范的合法分片;
  3. 基于 UUID 自动聚合:引擎读取内部 Container UUID 与分片编号 $k$,自动归类匹配,校验 GHASH 标签,并无缝完成纠删码重构。

真正的灾难恢复,必须做到即使所有外部文件名和目录结构全毁,数据本身依然能够自证明、自识别、自还原!