数据集监控
数据集监控以文件级粒度追踪 NFS 数据集的变更——类似于数据文件的 git log --follow。
工作原理
每 5 分钟(可配置):
对每个数据集:
1. 遍历 NFS 路径 → 构建 FileTree{路径 → {大小, mtime, sha256}}
2. 与上一次快照对比
3. 记录新增/修改/删除事件
4. 若发现变更则递增 dataset.version
5. 写入新的快照记录
校验和策略
为避免每次扫描都对所有大文件计算 SHA256,监控器采用两阶段方案:
- 快速检查 — 比较
mtime + size。若未变化,直接跳过。 - 慢速验证 — 若
mtime发生变化,则计算 SHA256 以确认内容是否实际变更。
手动触发扫描
curl -X POST https://example.com/api/datasets/{id}/scan \
-H "Authorization: Bearer $TOKEN"
历史记录保留
文件历史记录会持续累积。为防止无限增长,可配置 MAX_HISTORY_DAYS(默认:无限制)。清理操作会在每次新扫描写入时自动执行。
UI:单文件时间线
数据集页面提供分栏视图:
- 左侧:当前快照的文件树
- 右侧:逐文件 变更时间线,展示
added(新增)/modified(修改)/deleted(删除)事件,附带校验和差异和文件大小
这为每个数据集中的任意文件提供了类似 git log 的审计追踪。