datai/docs/archive/changelog/0014-update-progress-tracking.md

100 lines
4.0 KiB
Markdown
Raw Permalink 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.

# 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` 权限
- 建议在测试环境中先验证进度跟踪功能后再部署到生产环境
## 测试信息
### 测试环境
- 本地开发环境
### 测试结果
- 待测试
## 相关链接
- [需求文档](../requirements/REQ-004.md) - updateObjectDataToTarget 更新数据进度跟踪需求
- [架构决策](../decisions/adr/0004-update-progress-tracking.md) - updateObjectDataToTarget 更新数据进度跟踪架构决策
- [提示词资产](../prompts/004-update-progress-tracking.md) - updateObjectDataToTarget 更新数据进度跟踪实现提示词
- [会话记录](../sessions/20260116-update-progress-tracking.md) - updateObjectDataToTarget 更新数据进度跟踪实现会话记录
## 发布人员
- AI Assistant - 开发人员
## 审核信息
- **审核人员**: 待审核
- **审核日期**: 待审核
- **审核状态**: 待审核
- **审核意见**: 待审核