xlog_server/sequence.puml

65 lines
2.3 KiB
Plaintext
Raw Normal View History

2021-12-03 10:20:31 +00:00
@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