游戏服务器的登录方法及装置制造方法及图纸

技术编号:13368758 阅读:65 留言:0更新日期:2016-07-19 14:59
本发明专利技术公开了一种游戏服务器的登录方法及装置。其中,该方法包括:第一游戏服务器接收来自于用户的登录请求;第一游戏服务器从预设存储区域获取与登录请求对应的登录信息;第一游戏服务器根据登录信息确定用户本次登录的游戏服务器。本发明专利技术解决了相关技术中所提供的防止用户在游戏服务器重复登录的解决方案难以确保用户数据一致性,易造成游戏数据丢失的技术问题。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体而言,涉及一种游戏服务器的登录方法及装置
技术介绍
分布式系统是一个软件系统,其由独立的服务器通过网络松散耦合组成。服务器之间可以通过网络传递信息来通信和协调服务器之间的行动,从而完成共同的目标。分布式系统具有可扩展性、组件并发性、缺乏全局锁以及独立组件故障的重要特性。分布式系统广泛应用于大型多人在线游戏、对等网络(P2P)应用等场景。用户登录在狭义上可理解为用户为进入特定应用程序而进行的一项身份认证过程,以便该用户可以在该应用程序上进行相应的操作。数据一致性是指数据在网络中和不同计算机的各种应用间移动时需要保持信息一致的过程。数据一致性通常可以包括以下三个要素:时间一致性,事务一致性和应用一致性。确保计算机网络具有数据一致性的三个要素是确保数据在系统中移动时不会受到丢失或损坏。图1是根据相关技术的一种防止用户重复登录的系统架构示意图。如图1所示,该系统架构可以包括:登录服务器、游戏服务器和数据库服务器。登录服务器负责处理登录逻辑,用户可以通过登录服务器登录到游戏服务器,并在登录成功后由客户端与游戏服务器直接进行信息交互。游戏服务器负责处理用户处理逻辑。数据库服务器负责存储用户数据。登录服务器可以根据用户的状态来处理用户的登录流程。如果是新用户,则选择一台游戏服务器登录。如果是老用户,则根据用户的在线状态来处理,如果已经在线,则提示不允许重新登录;如果不在线,则登录到上一次成功登录的游戏服务器。图2是基于图1所示的系统架构的一种防止用户重复登录的流程图。如图2所示,该流程可以包括以下处理步骤:步骤S202-S204:用户通过登录服务器进行登录,登录服务器查看数据库数据并判断该用户是否为新用户;如果是,则继续执行步骤S206;如果否,则转到步骤S208;步骤S206:如果是新用户,则按照预设策略选择一台游戏服务器作为该用户以后登录的游戏服,登录服务器通知被选中的游戏服务器该用户登录成功,该游戏服务器处理用户的游戏逻辑,登录结束;步骤S208:如果不是新用户,则需要进一步查看该用户是否已经在线;如果否,则继续执行步骤S210;如果是,则转到步骤S212;步骤S210:如果用户不在线,则根据数据库服务器记录的游戏服务器信息通知该用户连接到该游戏服务器,游戏服务器后续处理用户的游戏逻辑,登录结束;步骤S212:如果用户已经在线,提示用户不能重复登录,登录结束。然而,该技术方案的缺陷在于:只允许用户登录到曾经登录过的游戏服务器,如果游戏服务器因出现故障而停机,则会导致曾经登录过该游戏服务器的全部用户账号均无法正常登录。另外,如果登录服务器记录的用户在线数据发生错误,例如:不在线的用户被记录成在线,则用户将无法正常登录。图3是根据相关技术的另一种防止用户重复登录的系统架构示意图。如图3所示,使用中心服务器来代替登录服务器,中心服务器使用内存来存储用户在线状态和在线服务器信息,用户发起登录时都会通过中心服务器处理。游戏服务器处理用户登录逻辑和游戏逻辑。用户在登录过程中向中心服务器发起注册请求,中心服务器查询该用户的在线状态,如果用户不在线,则允许用户登录,继续执行后续的登录流程;如果用户已经在线,则通知该用户已在线的游戏服务器强迫该用户下线,然后再登录当前连接的游戏服务器。图4是基于图3所示的系统架构的另一种防止用户重复登录的流程图。如图4所示,该流程可以包括以下处理步骤:步骤S402:用户选择一台游戏服务器A进行登录;步骤S404:游戏服务器A连接到中心服务器查看该用户是否已经在线;如果否,则继续执行步骤S406;如果是,则转到步骤S408;步骤S406:如果用户不在线,则通知游戏服务器A允许用户登录,用户登录游戏服务器A成功,该游戏服务器处理用户游戏逻辑;登录结束;步骤S408:如果用户已经在线,则中心服务器通知用户已经登录的游戏服务器B,并通知游戏服务器B将该用户下线;步骤S410:游戏服务器B将用户下线后,通知中心服务器该用户已经下线;步骤S412:中心服务器通知游戏服务器A,允许用户继续登录;步骤S414:用户成功登录游戏服务器A,游戏服务器A处理用户游戏逻辑,登录结束。然而,该解决方案中的中心服务器为单一节点,该中心服务器如果出现故障则会导致用户无法正常登录。另外,中心服务器使用内存存储用户在线状态,如果内存数据丢失,则可能导致同一用户在多个服务器登录,出现多个实体同时修改同一份数据的情况,从而导致用户数据不一致。不仅如此,通过中心服务器通知游戏服务器对用户执行下线和上线操作会存在时间差,在此过程中,用户很可能会丢失系统的信息。例如,在特定消息中转系统中记录该用户所在的游戏服务器为游戏服务器A,但此时用户重复登录到游戏服务器B,由于消息存在延迟,因此,消息中转系统中记录的数据没有及时同步,依然向游戏服务器A转发用户的信息,从而导致信息丢失。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种游戏服务器的登录方法及装置,以至少解决相关技术中所提供的防止用户在游戏服务器重复登录的解决方案难以确保用户数据一致性,易造成游戏数据丢失的技术问题。根据本专利技术实施例的一个方面,提供了一种游戏服务器的登录方法,包括:第一游戏服务器接收来自于用户的登录请求,其中,第一游戏服务器是从若干分布式的游戏服务器中被预先指定或被随机选取的一个游戏服务器且第一游戏服务器处于正常运行状态;第一游戏服务器从预设存储区域获取与登录请求对应的登录信息,其中,登录信息至少包括:用户当前是否在线的状态信息,以及,当状态信息标记用户处于在线状态时,所在的游戏服务器标识信息;第一游戏服务器根据登录信息确定用户本次登录的游戏服务器,其中,第一游戏服务器根据登录信息确定用户本次登录的游戏服务器包括以下之一:当状态信息标记用户处于非在线状态,或,状态信息标记用户处于在线状态且根据所在的游戏服务器标识信息确定所在的游戏服务器为第一游戏服务器时,第一游戏服务器通知用户在第一游戏服务器完成登录验证;当状态信息标记用户处于在线状态且根据所在的游戏服务器标识信息确定所在的游戏服务器为第二游戏服务器时,第一游戏服务器通知用户到指定的第二游戏服务器完成登录验证。可选地,预设存储区域是在数据库服务器上进行持久化存储的区域,第一游戏服务器从预设存储区域获取与登录请求对应的登录信息的步骤,包括:第一游戏服务器查询预设存储区域提供的在线数据表,获取本文档来自技高网
...

【技术保护点】
一种游戏服务器的登录方法,其特征在于,包括:第一游戏服务器接收来自于用户的登录请求,其中,所述第一游戏服务器是从若干分布式的游戏服务器中被预先指定或被随机选取的一个游戏服务器且所述第一游戏服务器处于正常运行状态;所述第一游戏服务器从预设存储区域获取与所述登录请求对应的登录信息,其中,所述登录信息至少包括:所述用户当前是否在线的状态信息,以及,当所述状态信息标记所述用户处于在线状态时,所在的游戏服务器标识信息;所述第一游戏服务器根据所述登录信息确定所述用户本次登录的游戏服务器,其中,所述第一游戏服务器根据所述登录信息确定所述用户本次登录的游戏服务器包括以下之一:当所述状态信息标记所述用户处于非在线状态,或,所述状态信息标记所述用户处于在线状态且根据所在的游戏服务器标识信息确定所在的游戏服务器为所述第一游戏服务器时,所述第一游戏服务器通知所述用户在所述第一游戏服务器完成登录验证;当所述状态信息标记所述用户处于在线状态且根据所在的游戏服务器标识信息确定所在的游戏服务器为第二游戏服务器时,所述第一游戏服务器通知所述用户到指定的所述第二游戏服务器完成登录验证。

【技术特征摘要】
1.一种游戏服务器的登录方法,其特征在于,包括:
第一游戏服务器接收来自于用户的登录请求,其中,所述第一游戏服务器是
从若干分布式的游戏服务器中被预先指定或被随机选取的一个游戏服务器且所述
第一游戏服务器处于正常运行状态;
所述第一游戏服务器从预设存储区域获取与所述登录请求对应的登录信息,
其中,所述登录信息至少包括:所述用户当前是否在线的状态信息,以及,当所
述状态信息标记所述用户处于在线状态时,所在的游戏服务器标识信息;
所述第一游戏服务器根据所述登录信息确定所述用户本次登录的游戏服务器,
其中,所述第一游戏服务器根据所述登录信息确定所述用户本次登录的游戏服务
器包括以下之一:
当所述状态信息标记所述用户处于非在线状态,或,所述状态信息标记所述
用户处于在线状态且根据所在的游戏服务器标识信息确定所在的游戏服务器为所
述第一游戏服务器时,所述第一游戏服务器通知所述用户在所述第一游戏服务器
完成登录验证;
当所述状态信息标记所述用户处于在线状态且根据所在的游戏服务器标识信
息确定所在的游戏服务器为第二游戏服务器时,所述第一游戏服务器通知所述用
户到指定的所述第二游戏服务器完成登录验证。
2.根据权利要求1所述的方法,其特征在于,所述预设存储区域是在数据库服务器
上进行持久化存储的区域,所述第一游戏服务器从所述预设存储区域获取与所述
登录请求对应的登录信息的步骤,包括:
所述第一游戏服务器查询所述预设存储区域提供的在线数据表,获取与所述
登录请求对应的登录信息。
3.根据权利要求1所述的方法,其特征在于,所述第一游戏服务器接收来自于所述
用户的所述登录请求的步骤,包括:
所述第一游戏服务器经由中间服务器接收来自于所述用户的所述登录请求。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一游戏服务器根
据所述登录信息确定所述用户本次登录的游戏服务器的步骤之后,还包括:
当所述用户在所述第二游戏服务器完成登录验证后,所述第二游戏服务器更
新所述用户在所述预设存储区域的登录信息。
5.根据权利要求3所述的方法,其特征在于,所述第一游戏服务器根据所述登录信
息确定所述用户本次登录的游戏服务器的步骤之后,还包括以下之一:
当所述用户在所述第一游戏服务器完成登录验证后,所述第一游戏服务器记
录所述用户、所述中间服务器以及自身三者之间的链接关系信息;
当所述用户在所述第二游戏服务器完成登录验证后,所述第二游戏服务器记
录所述用户、所述中间服务器以及自身三者之间的链接关系信息。
6.根据权利要求1所述的方法,其特征在于,所述第一游戏服务器通知用户到指定
的所述第二游戏服务器完成登录验证包括:
所述第一游戏服务器按照所述游戏服务器标识信息向所述第二游戏服务器发
送第一通知消息,其中,所述第一通知消息用于向所述第二游戏服务器通知所述
用户准备登录至所述第二游戏服务器;
所述第一游戏服务器接收来自于所述第二游戏服务器的第二通知消息,其中,
所述第二通知消息用于将所述第二游戏服务器准备就绪的信息通知给所述第一游
戏服务器;
所述第一游戏服务器返回与所述登录请求对应的第三通知消息,其中,所述
第三通知消息用于通知所述用户转移至所述第二游戏服务器进行登录。
7.根据权利要求6所述的方法,其特征在于,所述第一游戏服务器经由中间服务器
返回与所述登录请求对应的第三通知消息,其中,所述第三通知消息中携带有所
述第二游戏服务器的标识信息,用于通知所述用户转移至所述第二游戏服务器进
行登录。
8.根据权利要求6所述的方法,其特征在于,在所述第一游戏服务器向所述用户返
回所述第三通知消息之前,还包括:
所述第一游戏服务器销毁在所述登录请求触发下创建的第一登录实体,并向
所述第二游戏服务器发送第四通知消息,其中,所述第四通知消息用于通知所述
第二游戏服务器创建第二登录实体,所述第一登录实体和所述第二登录实体均用
于处理所述登录请求。
9.根据权利要求6所述的方法,其特征在于,所述第一游戏服务器按照所述游戏服
务器标识信息向所述第二游戏服务器发送第一通知消息之后,还包括:
当所述第一游戏服务器在预设时间内没有接收...

【专利技术属性】
技术研发人员:陈金莲
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1