分布式音视频服务器之登陆

原创 2015年07月08日 15:49:22

本文讲述的是分布式音视频服务器之登陆.

设计上:

1)账号名请求登陆。在第一次登陆时需要进行完整的账号密码验证,验证通过后,正常登陆服务器后,为了简化登陆流程,客户端可以请求token,以便以后的快速登陆,在前端就表现为记密码登陆。

2)开始正常登陆。请求登陆验证成功后(不管是账号名请求登陆的账号验证,还是请求记密码登陆的token验证),就开始正常登陆,并获取角色相关数据以及其他数据。

3)登陆后请求Token 。正常登陆服务器后,客户端可以请求token,并把token加密保存到本地文件,以便以后的请求记密码登陆。

4)请求记密码登陆(imid+token登陆,imid是指角色id)。使用之前记录的token和角色id来快速验证登陆。


涉及的服务器类型如下:

FLServer :前端服务器。负责接入客户端,处理登陆请求。

HLServer:平台账号服务器。管理账号的生成以及查询。

NameServer:命名服务器。负责根据账号生成以及检查用户ID。

FLSuperServer:前端管理服务器。负责分配合适的网关。

GatewayServer:网关服务器。负责客户端正常登陆后的消息转发。

TokenServer:Token服务器。负责生成客户端登陆的Token并存档。

TokenVerifyServer:Token前端服务器。负责接入客户端并转发请求到TokenServer(如果有拓展其他类型的TokenServer,会根据类型选择转发)。

SessionServer:会话服务器。缓存了角色基本信息和状态。

1、通行证/账号名请求登陆

返回需要登陆的网关给客户端。之后可以开始正常登陆

1)发送用户请求登陆到FLServer 

2)转发请求到HLServer,查账号表,检查账号和密码合法性

3)转发请求到NameServer,根据账号检查对应的用户ID(登陆过的),或者分配一个对应玩家ID并存档(没有登录过的)

4)转发请求到FLSuperServer,由网络类型以及各个网关负载,选择合适网关

5)转发请求到GatewayServer,记录用户ID(IMID)到网关登录会话,记录登陆会话到登录会话管理器(为了登陆网关验证)。返回网关socket加密秘钥(des)、端口和ip给客户端。

2、开始正常登陆

(1)登陆网关

1)发送登陆请求到GatewayServer

2)GatewayServer注册用户,初始化网关连接,返回用户断线重连随机数、请求心跳

3)转发登录请求到其他服务器

(2)登陆SessionServer

1)请求角色基础信息

2)请求好友分组信息

3)请求用户Vip状态

4)请求公会任务 

5)获取用户关系信息


3、登陆后请求Token 

在正常登陆到网关服务器之后,请求token ,并存于客户端本地并加密,以便于以后的记密码快速登陆

1)发送请求到TokenServer,根据imid获取token,没有则生成。(从内存读取token,或从memcache或mysql读取)


4、请求记密码登陆

imid+token登陆.返回需要登陆的网关给客户端。之后可以开始正常登陆

1)发送请求到TokenVerifyServer,如果token类型是IM类型的就发送到TokenServer(否则到GameTokenServer ,是其他类型账号的登陆)

2)转发请求到TokenServer,验证imid和token的合法性

3)转发到FlSuperServer,选择合适的网关

4)转发到GatewayServer,记录登陆会话,加上网关的IP和端口

5)返回信息到客户端(经过TokenServer和TokenVerifyServer)


消息流程如下图:


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

音视频服务器双机热备解决方案

双机热备(服务器的两种工作模式),分别为:主服务器模式和从服务器模式。 主服务器宕机之后,从服务器将会立即开始服务,接受客户端连接。从服务器被激活之后,可以连续工作30天,过期必须重新与主服务器建立通...
  • Bovi_L
  • Bovi_L
  • 2014年08月04日 13:56
  • 695

简易局域网视频服务器

1 出发点及效果图 手机存储空间太小,放不下几十级的视频,网络看又太卡。这个小项目帮助大家在局域网中建立一个像youku一样的视频服务器,这样就可以在家里通过局域网来观看服务器(计算机)上的视频了。(...

基于嵌入式WEB的视频服务器的设计

当前的信息化时代,是一个构筑在网络基础之上的时代。基于TCP/IP协议的IP网络,像Inter-net、Intranet与Extranet等以令人惊异的不可阻挡之势发展着。而以网络为基础的数字视频监控...
  • reille
  • reille
  • 2011年01月20日 17:00
  • 1199

基于MPEG-4的嵌入式网络视频服务器的设计方案

本文讨论了基于MPEG-4的嵌入式网络视频服务器的设计方案,包括图像压缩、存储方式、通信和操作系统。这4个系统分别实现视频节目的压缩、大容量视频存储、快速的传输通道和节目检索与服务等功能。由于人们对V...

c#简单金三立视频服务器的调用

1:引用金三立视频服务器提供的二次开发的DLL 2:申明  [DllImport("videoDll.dll")]         public static extern bool initNet...

arm开发板6410/2440上mjpg-streamer网络视频服务器移植

摄像头移植 一、环境 主机环境 :ubuntu 10.10         目标板 :FS-S5PC100  主机工具链 :gcc-4.4.5         交叉工具链 :arm-unknow...
  • colwer
  • colwer
  • 2012年08月28日 14:40
  • 2425

Linux下视频服务器的实现(流媒体Helix Server)

三、安装、启动和停止Helix服务器 1 软件的获取 Helix Server是RealNetworks公司最新的流媒体服务平台,这个系统和微软的Window Media System不同,它...
  • qfkfw
  • qfkfw
  • 2012年02月20日 11:13
  • 8559

基于linux-2.6.35的网络视频服务器移植

声明:本文转自华清远见。基于linux-2.6.35的网络视频服务器移植作者:曹忠明,华清远见嵌入式学院讲师。一、环境主机环境 :ubuntu 10.10        目标机 :FS2410(S3C...

网络视频服务器移植

一、环境 主机环境 :ubuntu 10.10         目标机:FS2410(S3C2410)         主机工具链 :gcc-4.4.5         交叉工具链:arm-n...

摄像头驱动gspcav+视频服务器servfox+客户端spcaview的移植

1. 【移植摄像头驱动】编译和加载gspcav。 步骤一:修改Makefile文件 KERNELDIR := /lib/modules/$(KERNEL_VERSION)/build 修改为如下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分布式音视频服务器之登陆
举报原因:
原因补充:

(最多只允许输入30个字)