一种提升在线游戏同场景负载能力的方法及系统与流程

文档序号:17384152发布日期:2019-04-13 00:03阅读:214来源:国知局
一种提升在线游戏同场景负载能力的方法及系统与流程

本发明涉及游戏服务器技术领域,特别是涉及一种提升在线游戏同场景负载能力的方法及系统。



背景技术:

原有的大多数游戏中,同一个游戏场景所能负载的最高人数是有瓶颈的。一般一个场景是由服务器的cpu中的一核来进行数据和逻辑处理。在逻辑较复杂的战斗和移动同步中,cpu单核主频决定了单一cpu也就是单一场景能承受的最多玩家数量。超过这个数量就会造成玩家感受操作和移动的延迟,甚至cpu负载达到100%后卡死。

例如,在天堂2:血盟游戏中,单一cpu在最复杂情况下允许的最大玩家数量为800人。但是对外开放玩家远不止800人,甚至可能会有上万个玩家涌入服务器,并且聚集在同一个新手场景。所以,为了保证大型多人在线游戏的整体氛围,解决单一场景角色数量负载是必须要进行的工作。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种提升在线游戏同场景负载能力的方法及系统,在大型多人在线游戏中,将分线场景布置于不同的场景服务器上,在玩家涌入同一场景时,根据当前人数件件将分线数量展示给玩家。玩家可以选择任意一条分线进行线路切换。

为实现上述目的,本发明提供的提升在线游戏同场景负载能力的方法,包括以下步骤:

根据玩家涌入数量的预算,对场景进行分线处理;

接收用户进入请求;

收集用户信息和多个场景服务器运行参数;

分析所述多个场景服务器的负载状态,将其结果展示给用户;

用户根据推荐的所述多个场景服务器中的至少一种进入。

进一步地,所述分析多个场景服务器的负载状态,将其结果展示给用户的步骤,包括步骤:

根据所述用户信息和所述多个场景服务器运行参数,分析所述多个场景服务器当前负载状态;

判断适合当前用户的所述场景服务器;

将优选方案展示给用户。

进一步地,所述分析所述多个场景服务器当前负载状态的步骤,包括步骤:

分析所述场景服务器在线人数、cpu占有率、及内存占有率中的至少一种。

进一步地,所述将优选方案展示给用户的步骤,包括步骤:

按照在线人数少的顺序依次展示给用户。

进一步地,所述分析多个场景服务器的负载状态,将其结果展示给用户的步骤,还可以包括:

向用户提供所述多个场景服务器的附加信息,

所述附加信息包括:所述场景服务器的在线人数、新手用户人数、所述场景服务器推荐的等级范围。

进一步地,所述用户信息和包括用户等级、用户网络供应商、用户登录地,所述多个场景服务器运行参数包括cpu占有率、内存占有率、当前场景服务器的在线人数。

更进一步地,根据所述用户等级,向用户展示与所述用户等级相当的其它用户较多的所述场景服务器。

为实现上述目的,本发明提供的提升在线游戏同场景负载能力的系统,其包括服务器端及客户端,其中,

所述服务器端,进一步包括,多个场景服务器、分析判断部、控制部、接收发送部,其中,

所述场景服务器,其处理游戏逻辑;

分析判断部,其收集用户信息和所述场景服务器运行参数,并对其进行分析且判断多个场景服务器的负载状态;

控制部,其基于所述分析判断部的判断结果确定向用户建议的所述场景服务器;

接收发送部,其接受所述终端的进入请求,并向所述终端推荐所述多个场景服务器中的至少一种。

进一步地,所述用户信息,包括,用户等级、用户网络供应商、用户登录地;所述场景服务器运行参数,包括,cpu占有率、内存占有率、当前场景服务器的在线人数;

所述判断部,根据所述用户信息和所述场景服务器运行参数,分析所述场景服务器的在线人数、cpu占有率、及内存占有率中的至少一种。

更进一步地,所述服务器端,根据峰值人数,设置所述场景服务器数量,或使用低核心数量的服务器作为场景服务器。

本发明的提升在线游戏同场景负载能力的方法及系统,在同一组服务器放入大批量玩家时,不需要无休止的排队挤入游戏,而是可以随时进入游戏,压力分散在系统空闲的cpu核心上。并且给玩家提供方便的自行切换功能。暂时不启用的场景线路不会展示给玩家。在没有超过负载数量的玩家进入的时候,也不会把线路信息展示给玩家。对他们来说就是一个正常的大世界游戏。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的提升在线游戏同场景负载能力的方法流程图;

图2为根据本发明的提升在线游戏同场景负载能力的系统架构图;

图3为根据本发明的场景服务器分线切换示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1为根据本发明的本发明的提升在线游戏同场景负载能力的方法流程图,下面将参考图1,对本发明的本发明的提升在线游戏同场景负载能力的方法进行详细描述。

首先,在步骤101,根据玩家涌入数量的预算,做最大分线场景数量的设计,也在使用的服务器配置上预算主频和cpu核数的预估。如果需要很高的负载,则可以使用较多核数的服务器配置。甚至还可以多台服务器协同合作,以达到任意的负载数量。在游戏后期玩家流失后,则可以根据峰值人数,撤销一部分协作服务器,或使用低核心数量的服务器,以降低后期的维护成本。这样,既可以满足足够多的玩家构建的大世界游戏,又可以随时根据负载来决定付出的硬件成本,方便灵活的解决了单一场景玩家负载问题。

在步骤102,接收用户进入请求。服务器接收用户发送的开启游戏请求。

在步骤103,收集用户信息和多个场景服务器当前运行参数。在本实施例中,用户信息包括用户等级、用户网络供应商、用户登录地等信息,场景服务器的运行参数包括cpu占有率、内存占有率、当前场景服务器的在线人数等信息。

在步骤104,分析多个场景服务器的负载状态,将其结果展示给用户。在步骤104中,根据所收集到的用户信息和多个场景服务器运行参数分析多个场景服务器当前负载状态,判断适合当前用户的场景服务器;将最优选的方案展示给用户。建议的方式可以是按照在线人数少的顺序依次展示,但不限于此。根据需要可以预先设定各场景服务器对人数上线阈值、最高cpu占有率阈值及内存占有率阈值。在某一场景服务器的参数在上述的阈值的90%以上时,可以不展示该场景服务器给用户,而展示空闲的场景服务器,上述判断规定不限定于此。

另外,在用户是新手需要进行新手阶段副本时,为了能够实现并发支持大量用户进行副本的目的,向用户建议需进入新手用户数较多的场景服务器。此时,需要考虑内存限制,并发量取cpu负载和内存负载的最小值来确定可以同时开启的副本数量。超过负载允许的最大并发数量的极限情况发生时,需要明确提示用户稍后进行。

此外,一些常用日常副本等,并不会卡住用户新手流程,这些只需要设置最大并发开启数量,用户无法开启副本给予明显提示,建议稍候再试。一些不是副本的活动,比如世界boss场景,不可能复制多份进行负载,也需要限制最大进入人数,不然cpu无法承受。这些场景再逻辑里请求进入场景的时候进行判断,人数已经达到阈值,用户也无法进入。

此外,在将判断结果展示给用户时,可以同时向用户展示各场景服务器的信息,例如,在线人数、新手用户人数、各场景服务器推荐的等级范围等附加信息。

在步骤105,用户根据推荐的场景服务器中任选一种进入。

图2为根据本发明的提升在线游戏同场景负载能力的系统架构图,图3为根据本发明的场景服务器分线切换示意图,如图2-3所示,本发明的提升在线游戏同场景负载能力的系统200,包括,服务器端201和客户端202。其中,服务器端201包括:多个场景服务器203、分析判断部204、控制部205、以及接收发送部206。

多个场景服务器203用于处理游戏逻辑。一个场景服务器203由一个cpu核心来进行数据处理,即单member的场景负载。在本实施例中,服务器端201支持32核,因此可以根据实际玩家数来确定所用服务器端201的cpu核心数量,即场景服务器203的数量。

分析判断部204根据后述的输入输出部206接收到的用户信息及多个场景服务器203的运行参数分析多个场景服务器203的当前负载状态。在本实施例中,用户信息包括用户等级、用户网络供应商、用户登录地等信息,场景服务器203的运行参数包括cpu占有率、内存占有率、当前场景服务器203的在线人数等信息。分析判断部204根据分析结果判断优选的场景服务器203,并将其结果发送给控制部205。根据需要可以预先设定各场景服务器203对人数上线阈值、最高cpu占有率阈值及内存占有率阈值。

控制部205基于分析判断部204的判断结果确定向用户建议的场景服务器203的顺序。建议的方式可以是按照在线人数少的顺序依次展示,但不限于此。在某一场景服务器203的参数在上述的阈值的以上时,可以不展示该场景服务器给用户,而展示空闲的场景服务器203。另外,在用户是新手需要进行新手阶段副本时,为了能够实现并发支持大量用户进行副本的目的,控制部205向客户端202建议需进入新手用户数较多的场景服务器203。此时,需要考虑内存限制,并发量取cpu负载和内存负载的最小值来确定可以同时开启的副本数量。超过负载允许的最大并发数量的极限情况发生时,需要明确提示用户稍后进行。

此外,一些常用日常副本等,并不会卡住用户新手流程,这些只需要设置最大并发开启数量,用户无法开启副本给予明显提示,建议稍候再试。一些不是副本的活动,比如世界boss场景,不可能复制多份进行负载,也需要限制最大进入人数,不然cpu无法承受。这些场景再逻辑里请求进入场景的时候进行判断,人数已经达到阈值,用户也无法进入。

接收发送部206接受客户端202的进入请求及用户信息,并向客户端202发送游戏进入建议。

此外,在本实施例中,在游戏后期玩家流失后,可以根据峰值人数,撤销部分场景服务器,或使用低核心数量的服务器,一降低后期的维护成本。这样既可以满足足够多的用户构建的大世界游戏,又可以随时根据负载来决定付出的硬件成本,方便灵活的解决单一场景服务器负载问题。

根据本发明的本发明的提升在线游戏同场景负载能力的方法及系统,在服务器中设置多个场景服务器,并根据用户信息及场景服务器负载信息对用户进行分流。在同一组服务器涌入大量用户时,不需要无休止地排队计入游戏,而是可以随时进入游戏,将压力分散在空闲的cpu核心上。由此,能够降低服务器负载,减少用户等待时间,提高游戏流畅程度,提高用户的体验。

根据本发明的本发明的提升在线游戏同场景负载能力的方法及系统,根据用户信息及场景服务器负载信息分析场景服务器的负载状态,在场景服务器的负载状态超过规定情况时,不推荐给用户。由此,能够降低服务器负载,减少用户等待时间,提高游戏流畅程度,提高用户的体验。

根据本发明的本发明的提升在线游戏同场景负载能力的方法及系统,在将判断结果展示给用户的同时,将各场景服务器的信息也展示给用户。用户可以根据自己的登记、网络供应商等情况,选择适合用户自己的场景服务器。由此,能够降低服务器负载,减少用户等待时间,提高游戏流畅程度,提高用户的体验。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1