同步任务负责把外部资源元数据拉入 UOSE系统,并发布为 ontology snapshot 与实体关系投影。同步成功后,资源才具备可搜索、可分析、可执行的语义上下文。Documentation Index
Fetch the complete documentation index at: https://docs.xpertai.cn/llms.txt
Use this file to discover all available pages before exploring further.
同步模式
UOSE 支持两类同步模式:- incremental:基于当前资源状态做增量 upsert。
- full:先清空当前资源已同步的实体、关系和动作实例,再重新拉取。
- time:按时间游标。
- version:按版本游标。
- event_offset:按事件偏移。
同步链路
一次同步通常经过:- 读取 resource 和 capabilities。
- 解析
connectionRef。 - 调用对应 adapter 的
pullSemanticMetadata。 - 把外部元数据归一化为 canonical ontology IR。
- 发布 ontology snapshot。
- 投影到实体、关系和动作实例表。
- 更新 sync checkpoint。
- 记录失败事件或同步结果。
异步队列
对耗时或大规模资源,UOSE 提供基于 Redis 的 resource sync queue:- 注册资源时自动排入首次同步。
- 手动提交 sync job。
- 对相同
resourceId + mode + cursorType做去重。 - 展示 waiting、active、completed、failed 等状态。
- 支持失败重试、取消进行中任务、清理历史任务。
- 通过 progress 展示当前处理阶段和服务进度。
Dead-letter
当同步过程中出现无法立即恢复的错误,系统会记录 dead-letter event。它用于保留失败上下文,避免错误只停留在日志中。 常见 dead-letter 场景包括:- 连接配置错误。
- 源系统认证失败。
- SAP OData metadata 不是 V4。
- Knowledge GraphRAG 未 ready。
- 上游 API 返回不可解析结构。
- 元数据过大并触发截断或限制。
最佳实践
- 初次接入使用 full sync,验证本体图谱后再切换到增量策略。
- 对 SAP OData 使用 service root allowlist 缩小同步范围。
- 对数据库设置
maxTables和maxColumns,避免一次同步过大。 - 对知识图谱设置
maxRelations和 mention 样本数,保持上下文可控。 - 对失败 job 优先查看 failedReason 和 dead-letter,再决定 retry。
- 每次重大 capabilities 调整后执行一次 full sync,以避免旧投影残留。