游戏服务器集群的制作方法

文档序号:9730171阅读:665来源:国知局
游戏服务器集群的制作方法【
技术领域
】[0001]本发明涉及游戏领域,尤其涉及一种游戏服务器集群。【
背景技术
】[0002]游戏服务器一般的服务器的区别是,游戏服务器是多读多写即快速读取大量和快速写入大量数据的服务器,而一般的服务器如Web服务器是多读少写,这就限制了游戏服务器的人数和响应速度的瓶颈。服务器的瓶颈大概有三块:1、连接数量限制的压力问题;2、数据库读写速度限制的问题;3、速度实时同步计算压力问题。[0003]除一般游戏服务器的瓶颈,大型多人在线角色扮演游戏(MM0RPG),由于其角色扮演类,虚拟道具类他要存储的属性,又相对于页游(网页游戏)来说有更多的技能和特效,这对服务器的计算压力又是一瓶颈。基于上述设计的瓶颈,对于游戏还有一些运行组织维护的难题。例如即对于用户的行为分析,很多公司都是借助其他的部门来分析,而在上述架构的游戏设计方案中,并没有提供用户行为分析的方案,在后续的服务器应用中给游戏的分析带来了很大的麻烦,有些分析要查询大量的数据还不一定分析出来,比如外挂问题,刷钱的问题等,一直是困扰整个行业的一大难题。[0004]因此,现急需一种便于在游戏中快速读写数据的新型架构。【
发明内容】[0005]为了解决现有技术中存在的问题,本发明提供一种游戏服务器集群,包括:[0006]网关服务器,用于使玩家登入网络;[0007]登陆服务器,用于在所述玩家登入网络后使该玩家登入游戏;[0008]公共信息服务器,用于保存玩家的公共信息;[0009]游戏服务器,用于在游戏运行时处理玩家逻辑;[0010]物理数据库,用于保存游戏数据以在游戏运行时供玩家调取;以及[0011]内存数据库服务器,连接于所述登陆服务器和所述物理数据库之间,用于保存部分游戏数据为第一数据,以供所述登陆服务器直接调取,当所述第一数据不包含所述登陆服务器需调取的数据时,所述登陆服务器再向所述物理数据库调取数据。[0012]可选的,所述内存数据库服务器还用于实时保存游戏运行时产生的第二数据,并将所述第二数据定时保存至所述物理数据库中。[0013]可选的,所述第二数据为频繁变化的业务逻辑和耗时严重的数据。[0014]可选的,所述游戏服务器重启时加载所述内存数据库服务器中的数据。[0015]可选的,所述第一数据包括用户验证信息,所述登陆服务器通过所述验证信息验证玩家身份以实现登陆。[0016]可选的,所述内存数据库服务器包括哈希表,并通过所述哈希表存储数据。[0017]可选的,所述游戏数据包括地图、装备、玩家等级和玩家经验等数据。[0018]可选的,所述的游戏服务器集群还包括角色创建服务器,用于在玩家首次登陆时创建角色。[0019]可选的,公共信息服务器包括房间服务器和玩家管理服务器,所述房间服务器用于创建房间并保存玩家的房间信息,所述玩家管理服务器用于用于保存玩家的公共信息。[0020]可选的,所述网关服务器为多个服务器构成的服务器集群。[0021]本发明提供一种游戏服务器集群,包括网关服务器、登陆服务器、公共信息服务器、游戏服务器和物理数据库,并设置了连接于登陆服务器和物理数据库之间的内存数据库服务器,用于保存部分游戏数据为第一数据,以供所述登陆服务器直接调取,当所述第一数据不包含登陆服务器需调取的数据时,所述登陆服务器再向物理数据库调取数据。如此一来,解决了多读多写游戏服务器的瓶颈问题,能够实时的给海量数据进行排序并且能够提高玩家的读档速度和地图跳转速度,使得读写数据库和数据同步不成为瓶颈。【附图说明】[0022]图1为本发明一实施例所述游戏服务器集群的结构示意图。【具体实施方式】[0023]为解决连接的限制和数据库1/0(读写)操作慢和数据同步慢的问题,发明人想到架设内存数据库服务器集群来解决数据库读写和连接访问数量限制的问题。[0024]以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。[0025]本发明的游戏服务器集群如图1所示,包括[0026]网关服务器10,用于使玩家登入网络;[0027]登陆服务器20,用于在所述玩家登入网络后使该玩家登入游戏;[0028]公共信息服务器30,用于保存玩家的公共信息;[0029]游戏服务器40,用于在游戏运行时处理玩家逻辑;[0030]物理数据库50,用于保存游戏数据以在游戏运行时供玩家调取;以及[0031]内存数据库服务器60,连接于所述登陆服务器20和所述物理数据库50之间,用于保存部分游戏数据为第一数据,以供所述登陆服务器20直接调取,当所述第一数据不包含所述登陆服务器20需调取的数据时,所述登陆服务器20再向所述物理数据库50调取数据。[0032]在本实施例中,上述的游戏数据地图、装备、玩家等级和玩家经验等数据。通过本发明的服务器集群,通过绕过多读多写物理数据库50(DBServer),直接读取内存数据库服务器60中的第一数据的方法,解决了多读多写物理数据库50(DBServer)的瓶颈问题。另夕卜,还能实时的给海量数据进行排序,如玩家等级,经验,技能等,并且能够提高玩家的读档速度和地图跳转速度,使得读写数据库和数据同步的过程不成为瓶颈。本发明的内存数据库可以和物理数据库相互补充。[0033]在本实施例中,内存数据库服务器60除了存储部分游戏数据以外,还用于实时保存游戏运行时产生的第二数据,并将所述第二数据定时保存至所述物理数据库中。即内存数据库服务器60同时具备分担物理数据库50的存储任务外,还能在游戏运行时实时将产生的数据存入,方便实时调取。具体的,所述第二数据为频繁变化的业务逻辑和耗时严重的数据。在优选方案中,内存数据库服务器60采用可持久化的内存数据库技术,它采用key-value的方式维护一张或多张Maptable(哈希表)来实现快熟高效的数据读取和写入。[0034]在玩家的逻辑中,设计内存数据库服务器60,用户保存一些频繁变化的业务逻辑和耗时严重的数据,如当有玩家的金币的变化,我们可以先存到内存数据库服务器60中,用内存数据的key-value的哈希表来记录相应的数据,能够实时的排序,并且单独开线当前第1页1 2 
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1