2.8 KiB
2.8 KiB
DataStore 改进计划(基于 Switch FS Save 示例)
阶段一:Switch 平台存档支持
1.1 添加存档挂载管理
- 目标: data.h 和 data.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)