分布式游戏服务器系统的制作方法

文档序号:6425905阅读:164来源:国知局
专利名称:分布式游戏服务器系统的制作方法
技术领域
本发明涉及服务器的数据分配技术,尤其涉及一种分布式游戏服务器系统。
背景技术
网游的逻辑服务器架构分为单服务器、多服务器两种。其中,单服务器受制于性能,能够承载的人数有限,所以,大型的网络游戏一般都采用多服务器的架构方式。然而,虽然多服务器的架构方式优于单服务器的架构方式,但是其也存在很多未能有效解决的技术问题,如下所述多服务器架构一般有下述几种实现方式1.分线如图1所示,每个服务器提供相同的服务,多个服务器提供了多个平行的世界。这种方案的缺点在于每个世界都不太大,无法给用户带来大量用户在同一世界交流的体验。2.分场景如图2所示,每个服务器提供若干的场景的服务,多个服务器支持了一个完整的大的世界。比如韩国的《传奇》采用的就是这种方式。这种方案的缺点是i.成本较高,在游戏的初期、中期、后期不同场景承载的人数是不一样的。如果采用固定配置,会浪费服务器;如果采用根据时期调整服务器,会带来较高的维护成本;如果采用动态配置,设计方案会复杂,开发、维护成本都会提高。 某个地图只能在一个服务器上,仍有不能承载太多的人数的问题。iii.不能在运行中动态增加机器达到扩容的目的。3.分线与分场景的结合如图3所示,若干的服务器合成一组提供了一个完整的大的世界,还有若干个这样的服务器组,提供了多个大的世界。因为这种组网设计方案很复杂,开发维护都不方便, 所以市面上的游戏一般不采用这种方式。这个方案过于复杂,而且并不解决上述方案中某个地图不能承载太多人数的问题。

发明内容
本发明所要解决的技术问题是服务器容量有限,成本高,扩展性能差等问题。为解决上述技术问题,本发明采用如下技术方案一种分布式游戏服务器系统,其包括至少一个目录服务器,所述目录服务器包括查找表,所述查找表包括目录信息以及目录信息对应的物理服务器信息,通过目录信息,并根据所述查找表,可以查询到目录信息对应的物理服务器;以及至少一个物理服务器,所述物理服务器用于存放数据对象。进一步地,所述目录服务器用于接收访问信息,所述访问信息包括目录信息和数据对象信息。进一步地,所述访问信息为字符串。
进一步地,所述访问信息由分布式游戏服务器系统对应的客户端产生和发送。进一步地,每个所述物理服务器存放的数据对象的类型不同。进一步地,当所述物理服务器的数量大于等于二个时,至少二个所述物理服务器存放的数据对象的类型不同。进一步地,当所述物理服务器的数量大于等于二个,至少二个物理服务器存放的数据对象的类型相同时,存放的数据对象的类型相同的至少二个物理服务器中,负载最低的物理服务器被优先访问。进一步地,所述物理服务器存放的数据对象被访问之后,返回值通过复合类型的值表达。本发明的有益效果在于按照目录划分服务器,并且多个物理服务器可以属于一个目录,归一个目录服务器管理,而且这些物理服务器之间可以简单堆叠,因此一个目录服务器下面得物理服务器越多,提供的处理容量也越大。其次,成本低,每个服务器(目录服务器或者物理服务器)都可以充分发挥作用, 有效地利用硬件资源。


图1为现有技术多服务器架构分线实现方式示意图;图2是现有技术多服务器架构分场景实现方式示意图;图3为现有技术多服务器架构分线与分场景的结合实现方式示意图;图4为本发明分布式游戏服务器系统第一实施例示意图;图5为本发明分布式游戏服务器系统第二实施例示意图。
具体实施例方式下面结合附图详细说明本发明的优选实施例。本发明的技术思想为提供一种分布式游戏服务器系统,其包括至少一个目录服务器以及至少一个物理服务器;所述目录服务器包括查找表,所述查找表包括目录信息以及目录信息对应的物理服务器信息,通过目录信息,并根据所述查找表,可以查询到目录信息对应的物理服务器; 以及所述物理服务器用于存放数据对象。请参阅图4,其是本发明分布式游戏服务器系统第一实施例示意图。本发明分布式游戏服务器系统,其包括目录服务器10、第一物理服务器11、第二物理服务器12和第三物理服务器13。目录服务器10分别与第一物理服务器11、第二物理服务器12和第三物理服务器 13相互连接,其连接方式可以是有线的也可以是无线的。在本实施例中可以通过iNet的方式进行连接。第一物理服务器11、第二物理服务器12和第三物理服务器13分别用于存放数据对象,所述数据对象是一个抽象概念,针对游戏主要有以下内容(1)、用户角色;(2)、宠物;(3)、NPC ; (4)、地图;(5)、仓库;以及(6)、服务(拍卖、寄售等)。第一物理 服务器11、第二物理服务器12和第三物理服务器13存放的数据对象的类型可以不同,或者也可以其中至少二个物理服务器存放的数据对象的类型不同,或者也可以相同。存放的数据对象的类型相同的至少二个物理服务器中,负载最低的物理服务器会被优先访问。第一物理服务器11、第二物理服务器12和第三物理服务器13中存放的每个数据对象都有一个字符串作为鉴别ID,当我们需要跨服务器访问数据时,通过ID指明数据对象。下面举例说明①字符串鉴别ID :"MEMBERiDOMAIN_ID. CATALOG,,- “成员 @ 域 ID.目录”例如"2233iAX5678. U”表示域对象(角色“AX5678”)下的成员对象2233 ;"ciAX5678. U”表示域对象(角色“AX5678” )下的代表对象c ;"M7356iU7BX8. m,,表示域对象(NPC "U7BX8,,)下的成员对象 M7356 ;②通过ID访问首先根据目录找到目录服务器,询问目录服务器该域所在的物理服务器,通过 iNet和物理服务器通讯访问成员对象。例如"2233iAX5678. u"先根据事先设置的配置信息,可以通过”U”找到目录服务器10,比如 202. 96. 150. 88,通过iNet和目录服务器10通讯,询问” AX5678”这个域对象所在的物理服务器,比如202. 96. 160. 44第一物理服务器11,再和第一物理服务器11通讯,要求访问 "2233iAX5687. u,,这个对象的方法。调用方法DOMAIN_ADDRESS = > METHOD (ARGUMENTS),不同于本地的调用,采用的运算符号一般是使用“_>”。调用实际例子“ 22330AX5687. u ” = > get_name ()另外,在访问第一物理服务器11的数据对象的方法时,返回值通过复合类型的值表达。复合类型包括了 整数、浮点数、字符串、二进制字串、数组、映射等类型,用一个约定的格式进行表达,通过这种复合类型,可以简易的表达一切数据结构。例如整数123、456(只由“_”、0-9阿拉伯数字组成)浮点数123. 5,456. 0,3. 1415926 (由整数和小数点及小数部分组成)字符串“a”、“d0ing”、“teSt\”qU0te” (由双引号封装,反斜线转义,即用反斜线区分字符串中的双引号)二进制字串1234 、AB1256C7 :(由冒号封装,成员用16进制表达,必须为偶数位) 数组({1,2,3})、({1,,、”,3.2,1234:})、({1,({2,3})})(由({})封装,成员用逗号分开,为复合类型)映射([1 ” a”,3 ” c”])、([1 ” a”,2 ({3,4}),” C” ( [99 88])])(由([]) 封装,成员对用逗号分开,成员对中的值用冒号分开,每个值均为复合类型)。请参阅图5,其是本发明分布式游戏服务器系统第二实施例示意图。相较于第一实施例,本发明分布式游戏服务器系统第二实施例中,本发明分布式游戏服务器系统,包括多个目录服务器,且每个目录服务器与多个物理服务器相连接。第二实施例的实现原理与第一实施例相同,在此不再重复描述。进一步地,本发明可以使用目录服务器调度数据对象,一个目录服务器管理一组物理机器,每次创建一个域时,将选择负载最低的机器创建域;保持负载均衡并提供根据鉴别ID查找数据对象所在的服务器的功能。本发明的有益效果如下所述首先,采用本发明,使得游戏的世界可以做到无限大,增强用户体验。因为没有按照地图来划分服务器,而是按照目录划分服务器,并且多个物理服务器可以属于一个目录, 归一个目录服务器管理,而且这些物理服务器之间可以简单堆叠,因此一个目录服务器下面的物理机器越多,我们提供的处理容量也越大。例如User目录服务器下有3个物理服务器,每个物理服务器可以承载1000个 users,如果我们需要承载4000个user,只要增加一台机器。其次,成本低,每个服务器(目录服务器或者物理服务器)都可以充分发挥作用, 有效地利用硬件资源。再者,任何地图都承载几乎不受限制的人数(限制因素只有网络带宽)。现有技术的方案地图服务器实际上不仅处理地图相关的功能,还需要处理所有发生在这个地图上事件,处理所有在这个地图上的用户的请求。而实际上,和地图场景本身直接相关的处理几乎不占资源(约占所有消耗资源的10%以内),将地图上的用户、事件分散到了相应得目录服务器下属的物理机器上,地图服务器的负荷变轻松了,可以比原有系统增大10倍的处理能力。另外,采用本发明,游戏可以在运行中无级扩容,根据需要随时增加服务器,降低维护成本。这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、 材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
权利要求
1.分布式游戏服务器系统,其特征在于,所述分布式游戏服务器系统包括至少一个目录服务器,所述目录服务器包括查找表,所述查找表包括目录信息以及目录信息对应的物理服务器信息,通过目录信息,并根据所述查找表,可以查询到目录信息对应的物理服务器;以及至少一个物理服务器,所述物理服务器用于存放数据对象。
2.根据权利要求1所述的分布式游戏服务器系统,其特征在于,所述目录服务器用于接收访问信息,所述访问信息包括目录信息和数据对象信息。
3.根据权利要求1所述的分布式游戏服务器系统,其特征在于,所述访问信息为字符串ο
4.根据权利要求3所述的分布式游戏服务器系统,其特征在于,所述访问信息由分布式游戏服务器系统对应的客户端产生和发送。
5.根据权利要求1所述的分布式游戏服务器系统,其特征在于,每个所述物理服务器存放的数据对象的类型不同。
6.根据权利要求1所述的分布式游戏服务器系统,其特征在于,当所述物理服务器的数量大于等于二个时,至少二个所述物理服务器存放的数据对象的类型不同。
7.根据权利要求1所述的分布式游戏服务器系统,其特征在于,当所述物理服务器的数量大于等于二个,至少二个物理服务器存放的数据对象的类型相同时,存放的数据对象的类型相同的至少二个物理服务器中,负载最低的物理服务器被优先访问。
8.根据权利要求1所述的分布式游戏服务器系统,其特征在于,所述物理服务器存放的数据对象被访问之后,返回值通过复合类型的值表达。
全文摘要
本发明公开了一种分布式游戏服务器系统,其包括至少一个目录服务器,所述目录服务器包括查找表,所述查找表包括目录信息以及目录信息对应的物理服务器信息,通过目录信息,并根据所述查找表,可以查询到目录信息对应的物理服务器;以及至少一个物理服务器,所述物理服务器用于存放数据对象。本发明按照目录划分服务器,并且至少一个物理服务器可以属于一个目录,归一个目录服务器管理,物理服务器之间可以简单堆叠,因此一个目录服务器下面的物理服务器越多,提供的处理容量也越大。
文档编号G06F17/30GK102221929SQ20111015453
公开日2011年10月19日 申请日期2011年6月9日 优先权日2011年6月9日
发明者卢竑岩 申请人:厦门吉比特网络技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1