- 新增 SyncProgress 实体类、ISyncProgressService 接口和 SyncProgressServiceImpl 实现类 - 在 DataiIntegrationObjectController 中添加 6 个进度查询接口: - 查询指定对象的同步进度 - 查询所有正在同步的对象进度 - 查询指定对象的插入进度 - 查询所有正在插入的对象进度 - 查询指定对象的更新进度 - 查询所有正在更新的对象进度 - 在 DataiIntegrationObjectServiceImpl 中集成进度跟踪功能: - syncFullData 方法集成同步进度跟踪 - syncIncrementalData 方法集成同步进度跟踪 - insertObjectDataToTarget 方法集成插入进度跟踪 - updateObjectDataToTarget 方法集成更新进度跟踪 - 进度信息存储在内存中(ConcurrentHashMap),任务完成后立即清除 - 新增 3 个需求文档(REQ-002、REQ-003、REQ-004) - 新增 3 个架构决策记录(0002、0003、0004) - 新增 3 个提示词文件(002、003、004) - 新增 3 个会话记录 - 新增 3 个变更记录(0012、0013、0014) - 新增 3 个复盘报告 - 新增 6 个 API 文档 - 更新 CHANGELOG.md 和 docs/index.md
4.7 KiB
4.7 KiB
syncObjectData 同步进度跟踪需求
需求信息
- 需求名称: syncObjectData 同步进度跟踪
- 需求类型: 功能需求
- 需求编号: REQ-002
- 创建日期: 2026-01-16
- 需求版本: v1.0.0
- 需求提出人: 用户
- 需求状态: ✅ 已批准
输入引用
引用相关的 docs 文档链接:
- 0001-salesforce-realtime-sync.md - Salesforce数据及时同步至本地数据库
- 0002-sync-progress-tracking.md - syncObjectData 同步进度跟踪架构决策
- 002-sync-progress-tracking.md - syncObjectData 同步进度跟踪实现提示词
- DataiIntegrationObjectController - 对象同步控制接口
- DataiIntegrationObjectServiceImpl - 对象同步服务实现
Context Maps
强制列出本次需求依赖的 Canvas 文件:
- Authentication.canvas - 项目架构视觉化展示
- 相关节点: DataiIntegrationObjectController - 对象同步控制接口
需求目标
在 syncObjectData 方法执行过程中,提供实时的同步进度跟踪功能,让用户能够了解当前同步任务的实际进度、已处理的数据量、剩余数据量等信息,提升用户体验和系统透明度。
需求描述
概述
当前 syncObjectData 方法在执行同步操作时,用户无法获知同步的实际进度,只能等待同步完成。本需求旨在实现同步进度的实时跟踪和查询功能。
详细需求
1. 进度跟踪机制
- 需求描述: 在 syncObjectData 方法执行过程中,实时记录和更新同步进度信息
- 优先级: 高
- 验收标准:
- 同步开始时,初始化进度跟踪记录
- 同步过程中,实时更新已处理的数据量
- 同步完成时,标记进度为完成状态并立即清除该同步进度信息
- 同步失败时,标记进度为失败状态并立即清除该同步进度信息
- 依赖关系: 无
- 实现建议: 使用内存缓存(如 ConcurrentHashMap)存储进度信息,key 为对象 ID,value 为进度对象
2. 进度查询接口
- 需求描述: 提供查询接口,让用户能够获取当前同步任务的进度信息
- 优先级: 高
- 验收标准:
- 提供 REST API 接口查询同步进度
- 返回进度百分比、已处理数量、总数量、当前状态等信息
- 支持按对象 ID 查询进度
- 依赖关系: 依赖需求 1(进度跟踪机制)
- 实现建议: 在 DataiIntegrationObjectController 中添加进度查询接口
3. 进度信息存储
约束
列出需求实现时的约束条件,例如:
- 进度信息存储在内存中,系统重启后进度信息丢失
- 同步任务完成后立即清除该同步进度信息,不保留历史记录
- 进度查询接口需要考虑并发访问的性能
- 进度跟踪不应影响同步操作的性能
- 进度信息的更新频率需要合理控制
Rule Set
"请严格参考 @Authentication.canvas 中的状态机转移逻辑,不要自行发挥。"
具体规则:
- 必须使用 Canvas 中定义的类名和方法名
- 必须遵循 Canvas 中定义的调用关系
- 必须参考 Canvas 中的流程图逻辑
验收标准
定义验证需求是否满足的具体标准,例如:
- 功能完整性:能够正确跟踪和查询同步进度
- 性能指标:进度查询接口响应时间 < 100ms
- 并发支持:支持至少 10 个对象同时同步并跟踪进度
- 用户体验:进度信息准确、实时、易理解
风险
识别需求可能带来的风险,例如:
- 技术实现风险:内存存储可能导致系统重启后进度丢失
- 时间风险:实现进度跟踪可能需要修改现有的同步逻辑
- 性能风险:频繁的进度更新可能影响同步性能
- 质量风险:并发同步时可能出现进度信息不一致
需求变更记录
| 日期 | 变更内容 | 变更原因 | 变更人 | 审核人 | 状态 |
|---|---|---|---|---|---|
| 2026-01-16 | 创建需求文档 | 新增需求 | 用户 | 待审核 | 待审核 |
相关人员
- 需求提出人: 用户
- 需求负责人: 待定
- 技术负责人: 待定
- 测试负责人: 待定
- 其他相关人员: 待定
评审信息
- 评审日期: 待定
- 评审人员: 待定
- 评审结果: 待定
- 评审意见: 待定
- 修改建议: 待定