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

80 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## DataStore 改进计划(基于 Switch FS Save 示例)
### 阶段一Switch 平台存档支持
#### 1.1 添加存档挂载管理
- **目标**: [data.h](file:///c:/Users/soulcoco/Desktop/Easy2D/Extra2D/Extra2D/include/extra2d/utils/data.h) 和 [data.cpp](file:///c:/Users/soulcoco/Desktop/Easy2D/Extra2D/Extra2D/src/utils/data.cpp)
- **内容**:
- 添加 `mountSaveData()` 方法挂载存档
- 添加 `unmountSaveData()` 方法卸载存档
- 添加 `commitSaveData()` 方法提交更改
- 支持自动挂载/卸载 RAII 模式
- **预期收益**: 支持 Switch 官方存档系统
#### 1.2 用户账户集成
- **目标**: [data.h](file:///c:/Users/soulcoco/Desktop/Easy2D/Extra2D/Extra2D/include/extra2d/utils/data.h)
- **内容**:
- 添加 `setUserId()` / `getUserId()` 方法
- 自动获取当前用户ID使用 `accountGetPreselectedUser`
- 支持用户特定的存档路径
- **预期收益**: 支持多用户存档隔离
### 阶段二:事务和缓存优化
#### 2.1 事务支持
- **目标**: [data.cpp](file:///c:/Users/soulcoco/Desktop/Easy2D/Extra2D/Extra2D/src/utils/data.cpp)
- **内容**:
- 添加 `beginTransaction()` 开始事务
- 添加 `commit()` 提交事务
- 添加 `rollback()` 回滚事务
- 批量写入优化减少文件IO
- **预期收益**: 数据一致性和性能提升
#### 2.2 缓存机制
- **目标**: [data.cpp](file:///c:/Users/soulcoco/Desktop/Easy2D/Extra2D/Extra2D/src/utils/data.cpp)
- **内容**:
- 添加内存缓存层
- 延迟写入Lazy Write
- 缓存失效策略
- **预期收益**: 减少文件IO提升读写性能
### 阶段三:数据格式扩展
#### 3.1 JSON 支持
- **目标**: [data.h](file:///c:/Users/soulcoco/Desktop/Easy2D/Extra2D/Extra2D/include/extra2d/utils/data.h)
- **内容**:
- 添加 JSON 格式支持(保留 INI 兼容)
- 嵌套数据结构支持
- 数组类型支持
- **预期收益**: 更灵活的数据结构
#### 3.2 二进制格式支持
- **目标**: [data.cpp](file:///c:/Users/soulcoco/Desktop/Easy2D/Extra2D/Extra2D/src/utils/data.cpp)
- **内容**:
- 添加二进制序列化格式
- 更小的文件体积
- 更快的读写速度
- **预期收益**: 性能和存储优化
### 阶段四:安全和备份
#### 4.1 数据校验
- **目标**: [data.cpp](file:///c:/Users/soulcoco/Desktop/Easy2D/Extra2D/Extra2D/src/utils/data.cpp)
- **内容**:
- 添加 CRC32/MD5 校验
- 数据完整性检查
- 损坏数据恢复机制
- **预期收益**: 数据可靠性
#### 4.2 自动备份
- **目标**: [data.h](file:///c:/Users/soulcoco/Desktop/Easy2D/Extra2D/Extra2D/include/extra2d/utils/data.h)
- **内容**:
- 自动备份机制
- 多版本存档
- 备份恢复接口
- **预期收益**: 数据安全
---
**预计总工作量**: 6-8 小时
**优先级**: 高1.1, 1.2> 中2.1, 3.1> 低2.2, 3.2, 4.1, 4.2