commit 29d1bc0d936a4b769cc615e6a03817189436b67f Author: hsm Date: Fri Dec 3 18:20:31 2021 +0800 xlog第一期版本 plantuml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..70eebf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +out +*.png +*.svg diff --git a/flow.puml b/flow.puml new file mode 100644 index 0000000..afd989e --- /dev/null +++ b/flow.puml @@ -0,0 +1,10 @@ +@startuml xlog_server_flow + +skinparam defaultTextAlignment left + +[xlog查询平台] <--> [命令下发服务] : 发送对应[gid,userid] +[命令下发服务] <-left-> [用户客户端] : 保证上线后[gid,userid]用户触发 +[用户客户端] --up-> [XlogServer服务] : 上传xlog文件 +[XlogServer服务] <-right-> [鉴权服务] : Token权限确认 + +@enduml \ No newline at end of file diff --git a/sequence.puml b/sequence.puml new file mode 100644 index 0000000..df6b8bf --- /dev/null +++ b/sequence.puml @@ -0,0 +1,65 @@ +@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 \ No newline at end of file