虚拟文件系统抽象
Virtual Filesystem Abstraction
通过统一 URI 协议将异构上下文映射为虚拟文件系统,支持标准文件操作和事务保障
子问题
1.URI 路由与命名空间隔离
2.路径锁与事务原子性
3.目录树构建与遍历
4.文件系统操作抽象
5.向量索引与文件操作的双写一致性
6.超长路径组件的安全截断
7.预设目录树的惰性初始化与双存储注册
8.L0/L1/L2 分层渐进式信息获取
各项目的解法1 solutions
Signals
横向对比
| 维度 | OpenViking |
|---|---|
| 寻址协议 | viking:// 自定义 URI,6 scope 枚举 + space 段多租户隔离 |
| 后端抽象 | AGFS HTTP/Binding 双模式,单例 VikingFS 封装 |
| 锁机制 | .path.ovlock 锁文件协议,normal/rm/mv 三种模式,底部向上并行锁 |
| 事务模型 | 6 态状态机 INIT→AQUIRE→EXEC→COMMIT/FAIL→RELEASING→RELEASED |
| 目录树构建 | PRESET_DIRECTORIES dataclass 预设 + DirectoryInitializer 惰性递归创建 |
| 向量同步 | rm/mv 操作自动级联更新向量存储,mv 只更新 URI 不重新 embedding |
| 权限模型 | scope+space 级访问控制,ROOT 全通,_system 对普通用户不可见 |
| 分层读取 | L0(.abstract.md) / L1(.overview.md) / L2(content.md) 三层渐进式 |
最佳实践
1.采用 URI 协议统一资源寻址
2.事务管理器保障操作原子性
3.rm/mv 操作自动级联更新向量存储防止孤儿索引
4.锁文件写入 transaction_id 后二次验证所有权防竞态
5.rm 操作采用底部向上并行锁避免死锁
6.路径组件超 255 字节时 SHA256 截断保证文件系统兼容