@startuml
Title 数据中台时序 V1.0
database "DataSource" as DS
collections "Connector" as C
control "Scheduler" as S
collections "Stream" as M
database "FormulaDM" as DM
collections "Algorithm" as Ag
collections "DataApp" as App

activate C
S->C: 激活
C->DS: 请求数据
DS-->C: 返回数据
C-->S:
deactivate C
group Data Formula
    alt 无预处理
    activate M
    S->M: 流式处理
    else 预处理: 数据质量检测
    S->Ag: 调用前置算法
    activate Ag
    Ag->Ag: 数据过滤
    end
    alt 采用DF存储
    M->DM: 存储数据
    hnote over M: alt表示可选方案
    else 采用源库存储
    M->DS: 数据回源
    end
    group Loop
    S->S: Trigger
    end
    Ag->DM: 读取数据
    DM-->Ag: 数据
    Ag->Ag: 模型/AI运算
    Ag->DM: 写回
    deactivate M
end
deactivate Ag

alt 采用DF存储
hnote over App: 业务系统合集
App->DM: 请求数据
DM-->App: 返回数据
else 采用源库存储
App->DS: 请求数据
DS-->App: 返回数据

end

@enduml