EvoDataCell 进化数据细胞

一种基于内容寻址的版本化数据存储格式

概述

EvoDataCell(进化数据细胞)是一种自包含、可追溯的数据存储格式。 每个数据细胞是一个 .zip 文件,内部包含用户文件以及描述该细胞身份的元数据。 通过 SHA-256 内容寻址,每个细胞拥有唯一的指纹标识,支持版本血缘追踪、跨域隔离以及冷热分层存储。

核心功能

🔑 内容寻址

每个数据细胞由 SHA-256 唯一标识,相同的文件内容产生相同的细胞指纹,天然支持去重和完整性校验。

🌳 版本血缘

细胞通过 parents 字段记录父版本,形成线性祖先链和树状子孙关系图,完整追踪数据演化历史。

❄️🔥 冷热分层存储

原始 ZIP 文件存储在冷存储(磁盘),解压后的热数据缓存于热存储(内存),兼顾大容量与快速访问。

🏷️ 多域隔离

支持多空间(Space)隔离管理,不同业务空间的数据细胞彼此独立存储和检索。

📦 自包含格式

每个 .zip 文件包含完整的元数据和用户文件,可独立分发、校验和还原。

✏️ 在线编辑

支持在线编辑细胞内的文本文件,自动生成新版本,保留完整的编辑血统。

细胞 ZIP 内部结构

每个数据细胞 ZIP 文件包含两类内容:

1. 元数据文件 — __cell_meta.json5

JSON5 兼容格式的元数据,描述数据细胞的身份、血缘关系和分类信息。

{
  "data_cell_sha256": "4cf8a9a8abb0d375f187fc6...",   // 细胞唯一指纹
  "created_at": "20260702.012459",                     // 创建时间 (UTC YYYYMMDD.HHMMSS)
  "name_id": "hello_world",                             // 人类可读名称标识
  "title": "一个示例数据细胞",                           // 展示标题
  "parents": [                                          // 父版本列表(线性血缘)
    {
      "data_sha256": "92e2b7041d2c35b6c2...",
      "created_at": "20260701.120000"
    }
  ],
  "tags": ["示例", "演示"],                              // 标签分类
  "message": "这是细胞描述信息"                           // 提交说明
}

2. 文件清单 — __file_list.txt

按路径字母序排列的文件清单,每行格式为 <sha256> <相对路径>。

2e9f445b06e5ca0fb9638798078f6a239ea1fcace10e1dcfb70ceb3a3322ad44 a.txt
51eb008d8967592d8530ce1ce3f17bf6c0a1bb1b2ed9c426078c0ed9358b5b17 b.txt
b0c5c4a5ddb6ca95efd692499fac9756efc614580f1c9227208cac04784dbd73 sub/c.txt

3. 用户文件

除 __ 开头的内部文件外,其余均为用户文件,支持任意目录层级。 当启用内容存储(Content Store)引用模式时,用户文件内容可外置存储,ZIP 仅保留元数据和清单以实现跨细胞文件去重。

data_cell_sha256 计算规则

细胞指纹 data_cell_sha256 由用户文件的 SHA-256 值决定:

这种设计使得相同内容必定产生相同指纹,天然支持数据去重和完整性校验。

ZIP 文件命名规范

细胞 ZIP 文件命名格式:

<name_id>.<data_cell_sha256>.<created_at>.zip

示例:hello_world.4cf8a9a8abb0d375f187fc6fe5917921a6caf1cd486bd067c965580d42314df1.20260702.012459.zip

文件名中包含了细胞名称、唯一指纹和时间戳,方便人工识别和批量管理。