3.9 KiB
3.9 KiB
Changelog - insertObjectDataToTarget 插入数据进度跟踪实现
变更信息
- 版本号: v0.1.13
- 发布日期: 2026-01-16
- 变更类型: 特性更新
变更摘要
本次变更实现了 insertObjectDataToTarget 插入数据进度跟踪功能,为用户提供了实时的插入进度查询能力。通过复用现有的内存存储方案(ConcurrentHashMap)存储进度信息,实现了轻量级的进度跟踪机制。插入任务完成后立即清除进度信息,不保留历史记录,避免了内存泄漏和数据库写入开销。在现有的进度跟踪服务基础上,添加了插入进度查询接口,支持按对象ID查询插入进度和查询所有正在插入的对象进度。
详细变更
特性更新
- 插入进度查询接口 - 在
DataiIntegrationObjectController中添加了两个插入进度查询接口:GET /integration/object/insertProgress/{objectId}- 查询指定对象的插入进度GET /integration/object/insertProgress- 查询所有正在插入的对象进度
- 插入进度跟踪集成 - 在
DataiIntegrationObjectServiceImpl的 insertObjectDataToTarget 方法中集成了进度跟踪功能:- 在方法开始时调用 startProgressTracking(syncType 参数设置为 "INSERT")
- 在插入过程中调用 updateProgress 更新进度(遍历批次时,每处理完一个批次调用一次)
- 在插入完成时调用 completeProgress(该方法会立即清除进度信息)
- 在插入失败时调用 failProgress(该方法会立即清除进度信息)
Bug 修复
无
性能优化
- 复用现有服务 - 复用现有的 SyncProgress 实体类、ISyncProgressService 接口和 SyncProgressServiceImpl 实现类,避免重复开发
- 内存存储方案 - 使用 ConcurrentHashMap 存储进度信息,访问速度快,响应时间 < 10ms
- 进度信息清除 - 插入任务完成后立即清除进度信息,不保留历史记录,避免内存累积
- 无数据库写入 - 不将插入进度数据同步到数据库,避免数据库写入开销,提升性能
安全修复
无
其他变更
无
影响范围
受影响的模块
- datai-salesforce-integration - 新增插入进度跟踪功能,不影响现有插入逻辑
兼容性说明
- 本次变更完全兼容现有功能,所有新增内容均为独立模块
- 进度跟踪功能通过依赖注入方式集成到现有插入逻辑中,不影响插入性能
- 进度查询接口需要登录认证,使用 @PreAuthorize 注解进行权限控制
- 与 syncObjectData 同步进度跟踪功能保持一致,使用相同的进度跟踪服务
升级指南
升级步骤
- 部署新版本的
datai-salesforce-integration模块 - 无需更新数据库表结构,进度信息存储在内存中
- 无需更新配置文件,进度跟踪功能自动启用
注意事项
- 进度信息存储在内存中,系统重启后进度信息丢失
- 插入任务完成后立即清除进度信息,不保留历史记录
- 进度查询接口需要
integration:object:progress权限 - 建议在测试环境中先验证进度跟踪功能后再部署到生产环境
测试信息
测试环境
- 本地开发环境
测试结果
- 待测试
相关链接
- 需求文档 - insertObjectDataToTarget 插入数据进度跟踪需求
- 架构决策 - insertObjectDataToTarget 插入数据进度跟踪架构决策
- 提示词资产 - insertObjectDataToTarget 插入数据进度跟踪实现提示词
- 会话记录 - insertObjectDataToTarget 插入数据进度跟踪实现会话记录
发布人员
- AI Assistant - 开发人员
审核信息
- 审核人员: 待审核
- 审核日期: 待审核
- 审核状态: 待审核
- 审核意见: 待审核