@startuml
collections "埋点SDK" as SDK
database "Elastic" as ES
collections "Stream" as M
control "Scheduler" as S
collections "StorageAdapter" as SA
database "Database" as DM
collections "Model/AI" as AI
collections "DataAPI" as API

SDK->SDK: 第三方调用
SDK-->ES: 采集数据
S->M: 调度
M->ES: 读取
ES-->M: 数据
M->M: 流式处理
M-->S: 反馈任务进度
M-->SA: 移交数据
SA-->DM: 存储数据
API->DM: 取数
DM-->API: 返回数据
opt
DM-->AI: 返回数据
AI->AI: 数据处理
AI-->API: 分析结果
end
@enduml