65 lines
2.3 KiB
Plaintext
65 lines
2.3 KiB
Plaintext
|
@startuml xlog_server_seq
|
||
|
|
||
|
box "log操作平台" #Transparent
|
||
|
participant xlog操作平台前端
|
||
|
participant xlog操作平台后台服务
|
||
|
end box
|
||
|
|
||
|
box "业务服务" #Transparent
|
||
|
participant 命令下发服务
|
||
|
participant 鉴权服务
|
||
|
end box
|
||
|
|
||
|
box "客户端" #Transparent
|
||
|
participant client
|
||
|
end box
|
||
|
|
||
|
box "XlogServer" #Transparent
|
||
|
participant xlog_server
|
||
|
participant 临时缓存文件
|
||
|
participant 本地存储
|
||
|
end box
|
||
|
|
||
|
|
||
|
|
||
|
group 触发客户端上传操作
|
||
|
xlog操作平台前端 -> xlog操作平台后台服务: 操作发送[gid,userid]
|
||
|
xlog操作平台前端 <-- xlog操作平台后台服务: 等待上传成功状态
|
||
|
|
||
|
xlog操作平台后台服务 -> 命令下发服务: 发送需要上传[gid,userid]
|
||
|
命令下发服务 -> client: 上线后发送上传命令
|
||
|
alt 日志存在
|
||
|
loop 直到文件完整
|
||
|
client -> xlog_server: 初始化/根据剩余范围数据上传
|
||
|
xlog_server -> 鉴权服务: 发送Token确权
|
||
|
鉴权服务 --> xlog_server: 确认权限
|
||
|
alt 确权成功
|
||
|
xlog_server -> 临时缓存文件: 写入范围数据块
|
||
|
临时缓存文件 --> xlog_server: 文件完成的进度和剩余需要数据范围
|
||
|
xlog_server --> client: 返回剩余数据范围/文件状态(完成?)
|
||
|
xlog_server -> 本地存储: 文件完整后保存
|
||
|
else 失败返回权限错误代码
|
||
|
break 上传操作停止
|
||
|
xlog_server --> client: 无效token
|
||
|
end
|
||
|
|
||
|
end
|
||
|
end
|
||
|
xlog_server -> xlog操作平台后台服务: 发送上传成功状态
|
||
|
xlog操作平台后台服务 -> xlog操作平台前端: 更新上传状态
|
||
|
else 日志不存在
|
||
|
client -> xlog_server: 日志文件不存在
|
||
|
xlog_server -> xlog操作平台后台服务: 日志不存在
|
||
|
xlog操作平台后台服务 -> xlog操作平台前端: 更新上传文件日志不存在状态
|
||
|
end
|
||
|
end
|
||
|
|
||
|
group xlog查询操作 #Transparent
|
||
|
xlog操作平台前端 -> xlog操作平台后台服务: 查询文件信息
|
||
|
|
||
|
xlog操作平台后台服务 -> 本地存储: 查询文件信息
|
||
|
本地存储 --> xlog操作平台后台服务: 返回文件信息和相关下载路径
|
||
|
xlog操作平台后台服务 --> xlog操作平台前端: 返回相关信息
|
||
|
end
|
||
|
|
||
|
@enduml
|