datai/datai-scenes/datai-scene-salesforce/docs/changelog/0014-update-progress-tracking.md
Kris 85f71e1dc3 feat: 实现数据同步进度跟踪功能
- 新增 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
2026-01-16 13:02:09 +08:00

4.0 KiB
Raw Blame History

Changelog - updateObjectDataToTarget 更新数据进度跟踪实现

变更信息

  • 版本号: v0.1.14
  • 发布日期: 2026-01-16
  • 变更类型: 特性更新

变更摘要

本次变更实现了 updateObjectDataToTarget 更新数据进度跟踪功能为用户提供了实时的更新进度查询能力。通过复用现有的内存存储方案ConcurrentHashMap存储进度信息实现了轻量级的进度跟踪机制。更新任务完成后立即清除进度信息不保留历史记录避免了内存泄漏和数据库写入开销。在现有的进度跟踪服务基础上添加了更新进度查询接口支持按对象ID查询更新进度和查询所有正在更新的对象进度。

详细变更

特性更新

  • 更新进度查询接口 - 在 DataiIntegrationObjectController 中添加了两个更新进度查询接口:
    • GET /integration/object/updateProgress/{objectId} - 查询指定对象的更新进度
    • GET /integration/object/updateProgress - 查询所有正在更新的对象进度
  • 更新进度跟踪集成 - 在 DataiIntegrationObjectServiceImpl 的 updateObjectDataToTarget 方法中集成了进度跟踪功能:
    • 在方法开始时调用 startProgressTrackingsyncType 参数设置为 "UPDATE"
    • 在更新过程中调用 updateProgress 更新进度(遍历批次时,每处理完一个批次调用一次)
    • 在更新完成时调用 completeProgress该方法会立即清除进度信息
    • 在更新失败时调用 failProgress该方法会立即清除进度信息

Bug 修复

性能优化

  • 复用现有服务 - 复用现有的 SyncProgress 实体类、ISyncProgressService 接口和 SyncProgressServiceImpl 实现类,避免重复开发
  • 内存存储方案 - 使用 ConcurrentHashMap 存储进度信息,访问速度快,响应时间 < 10ms
  • 进度信息清除 - 更新任务完成后立即清除进度信息,不保留历史记录,避免内存累积
  • 无数据库写入 - 不将更新进度数据同步到数据库,避免数据库写入开销,提升性能

安全修复

其他变更

影响范围

受影响的模块

  • datai-salesforce-integration - 新增更新进度跟踪功能,不影响现有更新逻辑

兼容性说明

  • 本次变更完全兼容现有功能,所有新增内容均为独立模块
  • 进度跟踪功能通过依赖注入方式集成到现有更新逻辑中,不影响更新性能
  • 进度查询接口需要登录认证,使用 @PreAuthorize 注解进行权限控制
  • 与 syncObjectData 同步进度跟踪功能和 insertObjectDataToTarget 插入数据进度跟踪功能保持一致,使用相同的进度跟踪服务

升级指南

升级步骤

  1. 部署新版本的 datai-salesforce-integration 模块
  2. 无需更新数据库表结构,进度信息存储在内存中
  3. 无需更新配置文件,进度跟踪功能自动启用

注意事项

  • 进度信息存储在内存中,系统重启后进度信息丢失
  • 更新任务完成后立即清除进度信息,不保留历史记录
  • 进度查询接口需要 integration:object:progress 权限
  • 建议在测试环境中先验证进度跟踪功能后再部署到生产环境

测试信息

测试环境

  • 本地开发环境

测试结果

  • 待测试

相关链接

  • 需求文档 - updateObjectDataToTarget 更新数据进度跟踪需求
  • 架构决策 - updateObjectDataToTarget 更新数据进度跟踪架构决策
  • 提示词资产 - updateObjectDataToTarget 更新数据进度跟踪实现提示词
  • 会话记录 - updateObjectDataToTarget 更新数据进度跟踪实现会话记录

发布人员

  • AI Assistant - 开发人员

审核信息

  • 审核人员: 待审核
  • 审核日期: 待审核
  • 审核状态: 待审核
  • 审核意见: 待审核