心跳包设计---总体
2017-02-22 11:09:52 0 举报
心跳包设计是一种用于检测网络连接状态的技术。它通过定期发送小数据包(通常称为心跳包)来确认两个设备之间的连接是否仍然有效。心跳包的设计需要考虑多个因素,包括数据包的大小、发送频率、超时设置等。在实际应用中,心跳包可以用于检测网络故障、保持连接活跃、实现负载均衡等功能。总之,心跳包设计是一种重要的网络通信技术,它能够帮助我们更好地管理和维护网络连接。
作者其他创作
大纲/内容
账户中心/msql
数据中心
sdk
判断expireTime及btoken是否匹配
否
访问
注册 (Register)
是
redis
检验是否登录
根据redis存储的sign检测是否有匹配的sign
心跳接口(验证签名)1、登录完时访问2、频率发送3、登出
token判断是否登录
生成btoken/btoken(fresh)
检验sign是否正确
uKey:应用keyuid:用户idtoken:登录tokentimeStamp:时间戳beatKey:固定字符创sign:签名btoken:uuidexpireTime:失效时间
发送数据
1、登录完时访问2、频率发送、频率接收3、登出或者关闭
Mysql
返回codeexpireTimebtoken
1、频率每次写入redis2、登录写入,登出关闭清除3、定时任务5分钟统计redis个数写入mysql/文件4、定时任务每天计算当天的记录
2、登录写入,登出关闭清除
write/update
检验输入的数据是否符合
SDKuKey、uid、timestamp、token
请求数据
发送 (beacon)
端1、唯一标示UKEY+times频率发送是端发送的
结束
1、频率每次写入redis2、登录写入,登出清除3、定时任务5分钟统计redis个数写入mysql/文件4、定时任务每天计算当天的记录
检测uid是否存在redis中
数据平台读取接口
删除存在的list,hash
心跳接口(验证签名)1、登录完时访问2、登出/关闭
redis: 当日在线人list(数据中心定时进行存储mysql)'userList' = [ uid =[ time = gamekey= ]]
游戏平台
收藏
收藏
0 条评论
下一页