导出请求

sequenceDiagram
participant User as 用户
participant Scheduler as 调度服务
participant Business1 as 业务1
participant Business2 as 业务2
participant Business3 as 业务3
participant MinIO as MinIO
participant Meta as 元数据中心
User->>Scheduler: 发起导出请求
Scheduler->>Business1: 发送导出请求
Scheduler->>Business2: 发送导出请求
Business1->>Scheduler: 返回导出搜索结果
Business2->>Scheduler: 返回导出搜索结果
Scheduler->>Scheduler: 聚合搜索结果
Scheduler->>User: 返回搜索结果
User->>Scheduler: 选中导出内容
alt 如果联动其他业务内容
Scheduler->>Meta: 发送导出依赖分析
Meta->>Scheduler: 返回导出依赖分析
end
Scheduler->>Scheduler: 聚合导出内容
Scheduler->>User: 返回导出内容
User->>Scheduler: 确认导出内容
Scheduler->>Business1: 请求导出
Scheduler->>Business2: 请求导出
Scheduler->>Business3: 请求导出
Business1->>MinIO: 导出资源
Business2->>MinIO: 导出资源
Business2->>MinIO: 导出资源
Business1->>Scheduler: 返回导出结果
Business2->>Scheduler: 返回导出结果
Business3->>Scheduler: 返回导出结果
Scheduler->>Scheduler: 确认导出完成
Scheduler->>Scheduler: 打包
Scheduler->>MinIO: 读取资源
MinIO->>Scheduler: 返回资源
Scheduler->>Scheduler: 打包完成
Scheduler->>User: 返回导出资源

导入请求

sequenceDiagram

participant User as 用户

participant Scheduler as 调度服务

participant Business1 as 业务1

participant Business2 as 业务2

participant MinIO as MinIO
User->>Scheduler: 发送全局的查询请求

Scheduler->>User: 返回相关信息

User->>Scheduler: 选择应用进行导入

Scheduler->>MinIO: 获取应用资源

MinIO->>Scheduler: 返回应用资源
Scheduler->>MinIO: 解析并写入目录
Scheduler->>Business1: 发送业务资源目录

Scheduler->>Business2: 发送业务资源目录
Business1->>Business1: 执行导入检查

Business1->>MinIO: 获取资源

MinIO->>Business1: 返回资源

Business1-->>Scheduler: 返回检查结果
Business2->>Business2: 执行导入检查
Business2-->>Scheduler: 返回检查结果
Scheduler-->>User: 返回汇总结果进行确认

User->>Scheduler: 发送确认
Scheduler->>Business1: 分发请求进行导入

Scheduler->>Business2: 分发请求进行导入
Business1->>Business1: 执行导入

Business1->>MinIO: 获取资源

MinIO->>Business1: 返回资源

Business1-->>Scheduler: 导入完成
Business2->>Business2: 执行导入
Business2-->>Scheduler: 导入完成

Scheduler-->>User: 汇总后统一返回

版本兼容

flowchart TD

A[包] --> B[导入]

B --> H[结构版本判断]

H --> I{结构版本 < 服务结构版本}

style I fill:#ffcccc,stroke:#ff0000,stroke-width:2px
I -- 是 --> J[依赖版本判断]

J --> C{依赖版本 == 服务版本}

style C fill:#ffcccc,stroke:#ff0000,stroke-width:2px
C -- 否 --> D{依赖版本大版本 == 服务大版本一致}

style D fill:#ffcccc,stroke:#ff0000,stroke-width:2px

C -- 是 --> G[执行服务兼容导入]
D -- 否 --> E[提示错误]

D -- 是 --> F{依赖小版本 <= 服务小版本}

style F fill:#ffcccc,stroke:#ff0000,stroke-width:2px
F -- 是 --> G

F -- 否 --> E
I -- 否 --> K[提示升级]

K --> L{用户选择}
L -- 升级 --> M[升级后导入]

M --> J[执行导入]

L -- 不升级 --> N[不允许导入]