CN105491029A - 游戏服务器集群 - Google Patents
游戏服务器集群 Download PDFInfo
- Publication number
- CN105491029A CN105491029A CN201510843873.3A CN201510843873A CN105491029A CN 105491029 A CN105491029 A CN 105491029A CN 201510843873 A CN201510843873 A CN 201510843873A CN 105491029 A CN105491029 A CN 105491029A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- game
- player
- game server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种游戏服务器集群,包括网关服务器、登陆服务器、公共信息服务器、游戏服务器和物理数据库,并设置了连接于登陆服务器和物理数据库之间的内存数据库服务器,用于保存部分游戏数据为第一数据,以供所述登陆服务器直接调取,当所述第一数据不包含登陆服务器需调取的数据时,所述登陆服务器再向物理数据库调取数据。如此一来,解决了多读多写游戏服务器的瓶颈问题,能够实时的给海量数据进行排序并且能够提高玩家的读档速度和地图跳转速度,使得读写数据库和数据同步不成为瓶颈。
Description
技术领域
本发明涉及游戏领域,尤其涉及一种游戏服务器集群。
背景技术
游戏服务器一般的服务器的区别是,游戏服务器是多读多写即快速读取大量和快速写入大量数据的服务器,而一般的服务器如Web服务器是多读少写,这就限制了游戏服务器的人数和响应速度的瓶颈。服务器的瓶颈大概有三块:1、连接数量限制的压力问题;2、数据库读写速度限制的问题;3、速度实时同步计算压力问题。
除一般游戏服务器的瓶颈,大型多人在线角色扮演游戏(MMORPG),由于其角色扮演类,虚拟道具类他要存储的属性,又相对于页游(网页游戏)来说有更多的技能和特效,这对服务器的计算压力又是一瓶颈。基于上述设计的瓶颈,对于游戏还有一些运行组织维护的难题。例如即对于用户的行为分析,很多公司都是借助其他的部门来分析,而在上述架构的游戏设计方案中,并没有提供用户行为分析的方案,在后续的服务器应用中给游戏的分析带来了很大的麻烦,有些分析要查询大量的数据还不一定分析出来,比如外挂问题,刷钱的问题等,一直是困扰整个行业的一大难题。
因此,现急需一种便于在游戏中快速读写数据的新型架构。
发明内容
为了解决现有技术中存在的问题,本发明提供一种游戏服务器集群,包括:
网关服务器,用于使玩家登入网络;
登陆服务器,用于在所述玩家登入网络后使该玩家登入游戏;
公共信息服务器,用于保存玩家的公共信息;
游戏服务器,用于在游戏运行时处理玩家逻辑;
物理数据库,用于保存游戏数据以在游戏运行时供玩家调取;以及
内存数据库服务器,连接于所述登陆服务器和所述物理数据库之间,用于保存部分游戏数据为第一数据,以供所述登陆服务器直接调取,当所述第一数据不包含所述登陆服务器需调取的数据时,所述登陆服务器再向所述物理数据库调取数据。
可选的,所述内存数据库服务器还用于实时保存游戏运行时产生的第二数据,并将所述第二数据定时保存至所述物理数据库中。
可选的,所述第二数据为频繁变化的业务逻辑和耗时严重的数据。
可选的,所述游戏服务器重启时加载所述内存数据库服务器中的数据。
可选的,所述第一数据包括用户验证信息,所述登陆服务器通过所述验证信息验证玩家身份以实现登陆。
可选的,所述内存数据库服务器包括哈希表,并通过所述哈希表存储数据。
可选的,所述游戏数据包括地图、装备、玩家等级和玩家经验等数据。
可选的,所述的游戏服务器集群还包括角色创建服务器,用于在玩家首次登陆时创建角色。
可选的,公共信息服务器包括房间服务器和玩家管理服务器,所述房间服务器用于创建房间并保存玩家的房间信息,所述玩家管理服务器用于用于保存玩家的公共信息。
可选的,所述网关服务器为多个服务器构成的服务器集群。
本发明提供一种游戏服务器集群,包括网关服务器、登陆服务器、公共信息服务器、游戏服务器和物理数据库,并设置了连接于登陆服务器和物理数据库之间的内存数据库服务器,用于保存部分游戏数据为第一数据,以供所述登陆服务器直接调取,当所述第一数据不包含登陆服务器需调取的数据时,所述登陆服务器再向物理数据库调取数据。如此一来,解决了多读多写游戏服务器的瓶颈问题,能够实时的给海量数据进行排序并且能够提高玩家的读档速度和地图跳转速度,使得读写数据库和数据同步不成为瓶颈。
附图说明
图1为本发明一实施例所述游戏服务器集群的结构示意图。
具体实施方式
为解决连接的限制和数据库I/O(读写)操作慢和数据同步慢的问题,发明人想到架设内存数据库服务器集群来解决数据库读写和连接访问数量限制的问题。
以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明的游戏服务器集群如图1所示,包括
网关服务器10,用于使玩家登入网络;
登陆服务器20,用于在所述玩家登入网络后使该玩家登入游戏;
公共信息服务器30,用于保存玩家的公共信息;
游戏服务器40,用于在游戏运行时处理玩家逻辑;
物理数据库50,用于保存游戏数据以在游戏运行时供玩家调取;以及
内存数据库服务器60,连接于所述登陆服务器20和所述物理数据库50之间,用于保存部分游戏数据为第一数据,以供所述登陆服务器20直接调取,当所述第一数据不包含所述登陆服务器20需调取的数据时,所述登陆服务器20再向所述物理数据库50调取数据。
在本实施例中,上述的游戏数据地图、装备、玩家等级和玩家经验等数据。通过本发明的服务器集群,通过绕过多读多写物理数据库50(DBServer),直接读取内存数据库服务器60中的第一数据的方法,解决了多读多写物理数据库50(DBServer)的瓶颈问题。另外,还能实时的给海量数据进行排序,如玩家等级,经验,技能等,并且能够提高玩家的读档速度和地图跳转速度,使得读写数据库和数据同步的过程不成为瓶颈。本发明的内存数据库可以和物理数据库相互补充。
在本实施例中,内存数据库服务器60除了存储部分游戏数据以外,还用于实时保存游戏运行时产生的第二数据,并将所述第二数据定时保存至所述物理数据库中。即内存数据库服务器60同时具备分担物理数据库50的存储任务外,还能在游戏运行时实时将产生的数据存入,方便实时调取。具体的,所述第二数据为频繁变化的业务逻辑和耗时严重的数据。在优选方案中,内存数据库服务器60采用可持久化的内存数据库技术,它采用key-value的方式维护一张或多张Maptable(哈希表)来实现快熟高效的数据读取和写入。
在玩家的逻辑中,设计内存数据库服务器60,用户保存一些频繁变化的业务逻辑和耗时严重的数据,如当有玩家的金币的变化,我们可以先存到内存数据库服务器60中,用内存数据的key-value的哈希表来记录相应的数据,能够实时的排序,并且单独开线程定时保存到物理数据库50中。保存失败或者其他的不能保存内存数据库服务器60中的数据,再直接保存到物理数据库50(DBServer)中。内存数据库服务器60集群是独立游戏服务器之外的服务器业务,内存数据库服务器60若出现异常,可以直接读写物理数据库50(DBServer)。如果游戏服务器40(GameServer)死机,而内存数据库服务器60已经完成相应的同步操作,则在游戏服务器40重启时再把内存数据库服务器60中的值加载进来。这样就不会丢失数据,能够保存数据的完整性,不至于丢失玩家信息,造成数据回档使玩家出现损失。
在本实施例中,第一数据包括用户验证信息,所述登陆服务器20通过所述验证信息验证玩家身份以实现登陆。具体而言,登陆服务器20集群可以负载均衡到各个单点登陆服务器。而在登陆检查中,可以从内存数据库服务器60中告诉获取连接信息,用户快速验证登陆。例如,玩家通过内存数据库服务器60中的哈希表,根据用户的Key值快速的定位到用户信息部分验证信息,并把用户的一些信息返回给客户端,如此,即减少了登陆和加载时间,并且提高连接的最大吞吐量。
本发明的游戏服务器集群还包括角色创建服务器70,用于在玩家首次登陆时创建角色。由于公测初期有大量的用户创建,并发吞吐量很大,为不影响其他玩家的业务逻辑,因此单独创建一服务器集群来完成角色的创建以快速的搭建起角色。
如图1所示,公共信息服务器30用于保存玩家的公共信息,其具体包括房间服务器31和玩家管理服务器32,所述房间服务器31用于创建房间并保存玩家的房间信息,所述玩家管理服务器用于保存玩家的基础公共信息。具体的,创建角色完后,房间服务器31(LobbyServer)创建房间,保存玩家的所在的房间信息,这样即保存了一些公共的信息例如地图信息。房间创建完成后,进入玩家管理服务器32(MGMTServer),保存中玩家的基础公共信息,如玩家的家族、家园等公共信息。
网关服务器10为多个服务器构成的服务器集群。如图1所示,多个网关服务器10构成网关服务器集群,网关服务器10用户过滤掉一些禁止的IP和一些非法的用户连接,这样避免登陆服务器和非法用户直接连接并造成各种问题。同时部署多台网关服务器可以解决登陆瓶颈,在Window的IOCP中一台最大的连接数是WORD类型,值是65535,所以最大的限制是6万多的连接,在加上一些其他的网络和业务的限制也只有2000-5000的在线人数,网关服务器10集群加上登陆服务器20可以扩展相应的万级连接数量。
本发明的游戏服务器集群设置了连接于所述登陆服务器20和所述物理数据库50之间的内存数据库服务器60,用于保存部分游戏数据为第一数据,以供所述登陆服务器20直接调取,当所述第一数据不包含所述登陆服务器20需调取的数据时,所述登陆服务器20再向所述物理数据库50调取数据。具体的,对于需要实时排序等属性,先存放内存数据库中,然后在设定时间段单独开线程保存数据库。读取时,可以先读内存数据库集群,没有找到数据再去访问物理数据库50来读取数据。这样就解决了多读多写DBServer的瓶颈问题,能够实时的给海量数据进行排序,例如玩家等级、经验、技能等数据,并且能够提高玩家的读档速度和地图跳转速度,使得读写数据库和数据同步不成为瓶颈。另外,内存数据库服务器60可以和物理数据库相互补充,当游戏服务器40关机的时候,保存在内存数据库服务器60中的数据可以恢复,而不会丢失。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种游戏服务器集群,其特征在于,包括
网关服务器,用于使玩家登入网络;
登陆服务器,用于在所述玩家登入网络后使该玩家登入游戏;
公共信息服务器,用于保存玩家的公共信息;
游戏服务器,用于在游戏运行时处理玩家逻辑;
物理数据库,用于保存游戏数据以在游戏运行时供玩家调取;以及
内存数据库服务器,连接于所述登陆服务器和所述物理数据库之间,用于保存部分游戏数据为第一数据,以供所述登陆服务器直接调取,当所述第一数据不包含所述登陆服务器需调取的数据时,所述登陆服务器再向所述物理数据库调取数据。
2.如权利要求1所述的游戏服务器集群,其特征在于,所述内存数据库服务器还用于实时保存游戏运行时产生的第二数据,并将所述第二数据定时保存至所述物理数据库中。
3.如权利要求2所述的游戏服务器集群,其特征在于,所述第二数据为频繁变化的业务逻辑和耗时严重的数据。
4.如权利要求2所述的游戏服务器集群,其特征在于,所述游戏服务器重启时加载所述内存数据库服务器中的数据。
5.如权利要求1所述的游戏服务器集群,其特征在于,所述第一数据包括用户验证信息,所述登陆服务器通过所述验证信息验证玩家身份以实现登陆。
6.如权利要求1所述的游戏服务器集群,其特征在于,所述内存数据库服务器包括哈希表,并通过所述哈希表存储数据。
7.如权利要求1所述的游戏服务器集群,其特征在于,所述游戏数据包括地图、装备、玩家等级和玩家经验等数据。
8.如权利要求1所述的游戏服务器集群,其特征在于,还包括角色创建服务器,用于在玩家首次登陆时创建角色。
9.如权利要求1所述的游戏服务器集群,其特征在于,公共信息服务器包括房间服务器和玩家管理服务器,所述房间服务器用于创建房间并保存玩家的房间信息,所述玩家管理服务器用于用于保存玩家的公共信息。
10.如权利要求1所述的游戏服务器集群,其特征在于,所述网关服务器为多个服务器构成的服务器集群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510843873.3A CN105491029A (zh) | 2015-11-26 | 2015-11-26 | 游戏服务器集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510843873.3A CN105491029A (zh) | 2015-11-26 | 2015-11-26 | 游戏服务器集群 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105491029A true CN105491029A (zh) | 2016-04-13 |
Family
ID=55677745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510843873.3A Pending CN105491029A (zh) | 2015-11-26 | 2015-11-26 | 游戏服务器集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105491029A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105833526A (zh) * | 2016-06-20 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 一种游戏数据的处理方法和系统 |
CN106789050A (zh) * | 2017-03-24 | 2017-05-31 | 联想(北京)有限公司 | 一种数据加解密方法及服务器集群 |
CN107465683A (zh) * | 2017-08-15 | 2017-12-12 | 合肥爱吾宠科技有限公司 | 大容量网络游戏服务器系统 |
CN107527195A (zh) * | 2017-09-06 | 2017-12-29 | 湖北卡游科技有限公司 | 一种基于网络的游戏推广系统及方法 |
CN107800741A (zh) * | 2016-09-06 | 2018-03-13 | 盛趣信息技术(上海)有限公司 | Mmorpg服务器架构 |
CN109831523A (zh) * | 2019-03-11 | 2019-05-31 | 上海六感科技有限公司 | 游戏服务器架构及游戏服务器响应客户端的方法 |
CN110898434A (zh) * | 2019-11-06 | 2020-03-24 | 上饶市中科院云计算中心大数据研究院 | 处理数据的方法、服务器、系统和计算机可读程序介质 |
CN111773665A (zh) * | 2020-08-05 | 2020-10-16 | 网易(杭州)网络有限公司 | 基于游戏平台的数据处理方法及平台、装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866895A (zh) * | 2006-06-12 | 2006-11-22 | 北京金山数字娱乐科技有限公司 | 一种在网络游戏中用户登录的方法及系统 |
CN101060437A (zh) * | 2007-06-07 | 2007-10-24 | 中兴通讯股份有限公司 | 一种对多个同类网元的并行管理方法及装置 |
CN102663096A (zh) * | 2012-04-11 | 2012-09-12 | 北京像素软件科技股份有限公司 | 一种基于数据缓存技术读取数据的方法 |
CN103023863A (zh) * | 2011-09-27 | 2013-04-03 | 广州明朝网络科技有限公司 | 服务器集群、服务器系统 |
US20130226997A1 (en) * | 2012-02-23 | 2013-08-29 | Via Technologies, Inc. | Networked Applications with Client-Caching of Executable Modules |
CN103793538A (zh) * | 2014-03-06 | 2014-05-14 | 赛特斯信息科技股份有限公司 | 实现数据库宕机情况下网站服务恢复的系统及方法 |
CN104601562A (zh) * | 2015-01-04 | 2015-05-06 | 福建天晴数码有限公司 | 游戏服务器与数据库的交互方法和系统 |
-
2015
- 2015-11-26 CN CN201510843873.3A patent/CN105491029A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866895A (zh) * | 2006-06-12 | 2006-11-22 | 北京金山数字娱乐科技有限公司 | 一种在网络游戏中用户登录的方法及系统 |
CN101060437A (zh) * | 2007-06-07 | 2007-10-24 | 中兴通讯股份有限公司 | 一种对多个同类网元的并行管理方法及装置 |
CN103023863A (zh) * | 2011-09-27 | 2013-04-03 | 广州明朝网络科技有限公司 | 服务器集群、服务器系统 |
US20130226997A1 (en) * | 2012-02-23 | 2013-08-29 | Via Technologies, Inc. | Networked Applications with Client-Caching of Executable Modules |
CN102663096A (zh) * | 2012-04-11 | 2012-09-12 | 北京像素软件科技股份有限公司 | 一种基于数据缓存技术读取数据的方法 |
CN103793538A (zh) * | 2014-03-06 | 2014-05-14 | 赛特斯信息科技股份有限公司 | 实现数据库宕机情况下网站服务恢复的系统及方法 |
CN104601562A (zh) * | 2015-01-04 | 2015-05-06 | 福建天晴数码有限公司 | 游戏服务器与数据库的交互方法和系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105833526A (zh) * | 2016-06-20 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 一种游戏数据的处理方法和系统 |
CN105833526B (zh) * | 2016-06-20 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 一种游戏数据的处理方法和系统 |
CN107800741A (zh) * | 2016-09-06 | 2018-03-13 | 盛趣信息技术(上海)有限公司 | Mmorpg服务器架构 |
CN107800741B (zh) * | 2016-09-06 | 2021-12-24 | 盛趣信息技术(上海)有限公司 | Mmorpg服务器架构 |
CN106789050A (zh) * | 2017-03-24 | 2017-05-31 | 联想(北京)有限公司 | 一种数据加解密方法及服务器集群 |
CN107465683A (zh) * | 2017-08-15 | 2017-12-12 | 合肥爱吾宠科技有限公司 | 大容量网络游戏服务器系统 |
CN107527195A (zh) * | 2017-09-06 | 2017-12-29 | 湖北卡游科技有限公司 | 一种基于网络的游戏推广系统及方法 |
CN109831523A (zh) * | 2019-03-11 | 2019-05-31 | 上海六感科技有限公司 | 游戏服务器架构及游戏服务器响应客户端的方法 |
CN110898434A (zh) * | 2019-11-06 | 2020-03-24 | 上饶市中科院云计算中心大数据研究院 | 处理数据的方法、服务器、系统和计算机可读程序介质 |
CN111773665A (zh) * | 2020-08-05 | 2020-10-16 | 网易(杭州)网络有限公司 | 基于游戏平台的数据处理方法及平台、装置 |
CN111773665B (zh) * | 2020-08-05 | 2024-06-04 | 网易(杭州)网络有限公司 | 基于游戏平台的数据处理方法及平台、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105491029A (zh) | 游戏服务器集群 | |
CN109598509B (zh) | 风险团伙的识别方法和装置 | |
US20140243077A1 (en) | Apparatus and method of analyzing game characteristics/attributes for cheating user detection using game characteristics/attributes | |
CN113435896B (zh) | 一种交易验证方法、装置、设备及存储介质 | |
CN103731413B (zh) | 一种处理异常登录的方法 | |
CN104133825A (zh) | 一种匹配客户端用户的方法及装置 | |
US10769270B2 (en) | Password protection question setting method and device | |
CN107688960A (zh) | 共享广告牌投放内容的审核系统及服务器 | |
CN103973810A (zh) | 基于互联网协议ip盘的数据处理方法和装置 | |
CN104168258A (zh) | 一种无密码临时账号的生成及其应用方法 | |
CN108075951A (zh) | 一种基于玩家分布的服务器压力测试方法和装置 | |
CN114281793A (zh) | 数据校验方法、装置和系统 | |
CN103246484B (zh) | 一种数据存储方法、装置及系统 | |
CN104348624B (zh) | 一种哈希认证可信度的方法和装置 | |
CN104778123A (zh) | 一种检测系统性能的方法及装置 | |
CN117278434A (zh) | 流量回放方法、装置、电子设备 | |
CN106909595A (zh) | 一种数据迁移方法及装置 | |
CN105607997A (zh) | 一种软件产品后台服务测试方法、装置及系统 | |
Suragani et al. | Identification and classification of corrupted PUF responses via machine learning | |
CN103414756B (zh) | 一种任务分发方法、分发节点及系统 | |
Valadares et al. | On designing and testing distributed virtual environments | |
CN103336757A (zh) | 硬件协议栈 | |
KR102194190B1 (ko) | 통계 블록을 포함하는 큐브체인 형태의 데이터 관리 엔진 및 데이터 방법 | |
CN108881156A (zh) | 基于区块链的商品记录方法、系统以及计算机程序产品 | |
CN109260711A (zh) | 一种网络游戏外挂检测系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160413 |
|
RJ01 | Rejection of invention patent application after publication |