Extra2D/.trae/documents/DataStore 改进计划.md

2.8 KiB
Raw Blame History

DataStore 改进计划(基于 Switch FS Save 示例)

阶段一Switch 平台存档支持

1.1 添加存档挂载管理

  • 目标: data.hdata.cpp
  • 内容:
    • 添加 mountSaveData() 方法挂载存档
    • 添加 unmountSaveData() 方法卸载存档
    • 添加 commitSaveData() 方法提交更改
    • 支持自动挂载/卸载 RAII 模式
  • 预期收益: 支持 Switch 官方存档系统

1.2 用户账户集成

  • 目标: data.h
  • 内容:
    • 添加 setUserId() / getUserId() 方法
    • 自动获取当前用户ID使用 accountGetPreselectedUser
    • 支持用户特定的存档路径
  • 预期收益: 支持多用户存档隔离

阶段二:事务和缓存优化

2.1 事务支持

  • 目标: data.cpp
  • 内容:
    • 添加 beginTransaction() 开始事务
    • 添加 commit() 提交事务
    • 添加 rollback() 回滚事务
    • 批量写入优化减少文件IO
  • 预期收益: 数据一致性和性能提升

2.2 缓存机制

  • 目标: data.cpp
  • 内容:
    • 添加内存缓存层
    • 延迟写入Lazy Write
    • 缓存失效策略
  • 预期收益: 减少文件IO提升读写性能

阶段三:数据格式扩展

3.1 JSON 支持

  • 目标: data.h
  • 内容:
    • 添加 JSON 格式支持(保留 INI 兼容)
    • 嵌套数据结构支持
    • 数组类型支持
  • 预期收益: 更灵活的数据结构

3.2 二进制格式支持

  • 目标: data.cpp
  • 内容:
    • 添加二进制序列化格式
    • 更小的文件体积
    • 更快的读写速度
  • 预期收益: 性能和存储优化

阶段四:安全和备份

4.1 数据校验

  • 目标: data.cpp
  • 内容:
    • 添加 CRC32/MD5 校验
    • 数据完整性检查
    • 损坏数据恢复机制
  • 预期收益: 数据可靠性

4.2 自动备份

  • 目标: data.h
  • 内容:
    • 自动备份机制
    • 多版本存档
    • 备份恢复接口
  • 预期收益: 数据安全

预计总工作量: 6-8 小时 优先级: 高1.1, 1.2> 中2.1, 3.1> 低2.2, 3.2, 4.1, 4.2