@leptune
2016-11-23T04:09:57.000000Z
字数 1332
阅读 1296
工作
源码可复制黏贴到:https://www.websequencediagrams.com/ 进行查看
title 唯中统计-写入
# 角色
participant 客户端
participant Swoole服务端《进程》
participant Redis数据库
# 客户端逻辑
客户端 -> +Swoole服务端《进程》: 调用[/submit/download接口]来发送日志
Swoole服务端《进程》 -> +Redis数据库: 获取[合法接口集合]
Redis数据库 --> Swoole服务端《进程》: 成功
alt [/submit/download接口]在[合法接口集合]中 (成功情况)
Swoole服务端《进程》 -> Redis数据库: 保存到【实时数据队列】
Redis数据库 --> -Swoole服务端《进程》: 成功
Swoole服务端《进程》 --> 客户端: 成功
else [/submit/download接口]不在[合法接口集合]中 (失败情况)
Swoole服务端《进程》 --> -客户端: 不合法的接口!
end
title 唯中统计-导入旧数据
# 角色
participant 后台
participant 导入旧数据《进程》
participant 旧数据所在数据库
participant Redis数据库
# 导入旧数据逻辑
后台 -> +导入旧数据《进程》: 创建导入旧数据进程
导入旧数据《进程》 -> +旧数据所在数据库: 读取数据
旧数据所在数据库 --> -导入旧数据《进程》: 成功
导入旧数据《进程》 -> +Redis数据库: 保存到【历史数据队列】
Redis数据库 --> 导入旧数据《进程》: 成功
导入旧数据《进程》 -> Redis数据库: 将[/submit/download接口]加入[合法接口集合]
Redis数据库 --> -导入旧数据《进程》: 成功,进程结束
title 唯中统计-分析历史数据
# 角色
participant 后台
participant 分析历史数据《进程》
participant Redis数据库
# 分析历史数据逻辑
后台 -> +分析历史数据《进程》: 创建分析历史数据《进程》
分析历史数据《进程》 -> +Redis数据库: 读取【历史数据队列】
Redis数据库 --> 分析历史数据《进程》: 成功
分析历史数据《进程》 -> Redis数据库: 分析并存入【分析数据队列】
Redis数据库 --> -分析历史数据《进程》: 成功,进程结束
title 唯中统计-分析实时数据
# 角色
participant Redis数据库
participant 分析实时数据《进程》
# 分析实时数据逻辑
loop 无限循环
分析实时数据《进程》 -> +Redis数据库: 监听【任务实时数据队列】
Redis数据库 --> +分析实时数据《进程》: 有数据来到
分析实时数据《进程》 -> -Redis数据库: 分析并存入【分析数据队列】
Redis数据库 --> -分析实时数据《进程》: 成功
end
title 唯中统计-Web展示分析
# 角色
participant Redis数据库
participant Web统计后台
# Web展示分析结果逻辑
Web统计后台 -> +Redis数据库: 读取【分析数据队列】
Redis数据库 -> -Web统计后台: 展示结果