CN115400417A - 游戏交互方法、装置、存储介质和电子设备 - Google Patents
游戏交互方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN115400417A CN115400417A CN202211067318.2A CN202211067318A CN115400417A CN 115400417 A CN115400417 A CN 115400417A CN 202211067318 A CN202211067318 A CN 202211067318A CN 115400417 A CN115400417 A CN 115400417A
- Authority
- CN
- China
- Prior art keywords
- type
- combat
- progress
- service
- battle
- 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
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/531—Server assignment
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/534—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种游戏交互方法、游戏交互装置、计算机可读存储介质和电子设备,涉及计算机技术领域。该游戏交互方法包括接收用户终端发送的针对第一类型业务的业务请求;从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程;从中间类型战斗进程与预先配置的第一类型业务对应的多个预设战斗进程中选择至少一个战斗进程作为业务请求的目标类型战斗进程;基于目标类型战斗进程执行业务请求对应的游戏业务。本公开解决了在服务器中预配置多种不同类型战斗进程以分配多种战斗模型的业务请求导致复杂高的技术问题,达到了提高业务扩展效率的技术效果。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种游戏交互方法、游戏交互装置、计算机可读存储介质和电子设备。
背景技术
对战类网络游戏往往存在多种不同模式的战斗,例如个人战、帮派战、副本战等。由于不同战斗模式的逻辑复杂度和参与战斗的人数不同,导致消耗的进程资源存在差异,且不同战斗模式使用的战斗进程之间易相互影响,因此,需要实现不同业务的隔离性。
目前,游戏服务器中预配置多种不同类型的战斗进程,通过将不同模式的战斗请求分配到与之类型匹配的战斗进程中,以实现不同战斗模式间的业务隔离。
然而,上述方法增加了服务器扩展战斗模式的负载度,从而导致业务扩展效率差。
发明内容
本公开提供了一种游戏交互方法、游戏交互装置、计算机可读存储介质和电子设备,进而提高业务扩展的灵活性以及提高计算机资源利用率。
第一方面,本公开一个实施例提供了一种游戏交互方法,包括接收用户终端发送的针对第一类型业务的业务请求;从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程;从中间类型战斗进程与预先配置的第一类型业务对应的多个预设战斗进程中选择至少一个战斗进程作为业务请求的目标类型战斗进程;基于目标类型战斗进程执行业务请求对应的游戏业务。
在本公开一个可选的实施例中,在从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程之前,对预先配置的各战斗进程进行初始化处理,得到各第二类型战斗进程。
在本公开一个可选的实施例中,在从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程之前,分别确定第一进程池中的所能容纳进程的上限数量与第一进程池当前包含的第一类型战斗进程的进程数量;其中,第一进程池中包含有第一类型业务对应的多个第一类型战斗进程;若进程数量小于上限数量,则从第二进程池中选择至少一个第二类型战斗进程转换为第一类型业务对应的中间类型战斗进程;其中,第二进程池中包含有第二类型业务对应的多个第二类型战斗进程。
在本公开一个可选的实施例中,若进程数量大于或等于上限数量,则从第一进程池中选择一个第一类型战斗进程,并将第一类型战斗进程确定为目标类型战斗进程。
在本公开一个可选的实施例中,确定第一进程池中的所能容纳进程的上限数量,包括确定第一进程池中所有第一类型战斗进程的第一负荷;确定第二进程池中所有第二类型战斗进程的第二负荷;计算第一负荷与第一负荷和第二负荷总和的占比,得到第一进程池中的所能容纳进程的上限数量。
在本公开一个可选的实施例中,从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程,包括:分别确定各第二类型战斗进程的占用状态;从占用状态为空闲状态的第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程。
在本公开一个可选的实施例中,从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程,包括:分别确定各第二类型战斗进程的占用状态;若各第二类型战斗进程的占用状态均为非空闲状态,则确定各第二类型战斗进程的负载权重;基于各负载权重从多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程。
第二方面,本公开一个实施例提供了一种游戏交互装置,该装置包括:业务接收模块用于接收用户终端发送的针对第一类型业务的业务请求;进程转换模块用于从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程;其中,第二类型战斗进程对应的业务与第一类型业务的业务类型不同;进程选择模块用于从中间类型战斗进程与预先配置的第一类型业务对应的多个预设战斗进程中选择至少一个战斗进程作为业务请求的目标类型战斗进程;业务执行模块用于基于目标类型战斗进程执行业务请求对应的游戏业务。
在本公开一个可选的实施例中,类型处理模块具体用于对预先配置的各战斗进程进行初始化处理,得到各第二类型战斗进程。
在本公开一个可选的实施例中,数量确定模块用于分别确定第一进程池中的所能容纳进程的上限数量与第一进程池当前包含的第一类型战斗进程的进程数量;其中,第一进程池中包含有第一类型业务对应的多个第一类型战斗进程;进程转换模块用于若进程数量小于上限数量,则从第二进程池中选择至少一个第二类型战斗进程转换为第一类型业务对应的中间类型战斗进程;其中,第二进程池中包含有第二类型业务对应的多个第二类型战斗进程。
在本公开一个可选的实施例中,进程选择模块用于当进程数量大于或等于所述上限数量时,则从第一进程池中选择一个第一类型战斗进程,并将第一类型战斗进程确定为目标类型战斗进程。
在本公开一个可选的实施例中,数量确定模块用于确定第一进程池中所有第一类型战斗进程的第一负荷;确定第二进程池中所有第二类型战斗进程的第二负荷;计算第一负荷与第一负荷和第二负荷总和的占比,得到第一进程池中的所能容纳进程的上限数量。
在本公开一个可选的实施例中,进程转换模块用于分别确定各第二类型战斗进程的占用状态;从占用状态为空闲状态的第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程。
在本公开一个可选的实施例中,进程转换模块用于分别确定各第二类型战斗进程的占用状态;若各第二类型战斗进程的占用状态均为非空闲状态,则确定各第二类型战斗进程的负载权重;基于各负载权重从多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程。
第三方面,本公开一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上的游戏交互方法。
第四方面,本公开一个实施例提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行如上的游戏交互方法。
本公开的技术方案具有以下有益效果:
上述提供的游戏交互方法,在接收到用户终端发送的针对第一类型业务的业务请求从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程,从中间类型战斗进程与预先配置的第一类型业务对应的多个预设战斗进程中选择至少一个战斗进程作为业务请求的目标类型战斗进程;以便基于目标类型战斗进程执行业务请求对应的游戏业务。本公开只需要在服务器中预配置一种第二类型战斗进程,在接收到第一类型业务的业务请求时,从第二类型战斗进程中选择至少一个战斗进程转换第一类型业务对应的战斗进程,以对第一类型业务进行处理。该方法解决了现有技术中存在的在服务器中预配置多种不同类型战斗进程所导致的复杂度增加,以致业务扩展效率差的技术问题,从而达到了提高业务扩展效率的技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本示例性实施方式中一种网络游戏服务架构示意图;
图2示意性示出本示例性实施方式中一种游戏交互系统的架构示意图;
图3示意性示出本示例性实施方式中一种游戏交互方法的流程图;
图4示意性示出了本示例性实施方式中另一种网络游戏服务架构示意图;
图5示意性示出了本示例性实施方式中一种设置上限数量过小对各类型进程池影响的示意图;
图6示意性示出了本示例性实施方式中一种设置上限数量过大对各类型进程池影响的示意图;
图7示意性示出了本示例性实施方式中另一种游戏交互方法流程图;
图8示出本示例性实施方式中一种游戏交互装置结构示意图;
图9示出本示例性实施方式中另一种游戏交互装置结构示意图;
图10示出本示例性实施方式中一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例性实施方式。然而,示例性实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例性实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
为了帮助本领域技术人员更好地理解本公开的技术方案,下面将对本公开技术方案涉及的相关内容进行介绍。
(1)匹配进程:承载单局战斗玩家匹配逻辑,并根据用户终端发送的业务请求分配战斗进程的服务进程;
(2)战斗进程(Battle Process,BP):游戏服务中用于承载战斗逻辑的进程资源;
(3)进程池(Process pool):是某一特定类型战斗进程的缓存管理单元,同一进程池中包含的战斗进程类型相同。
本公开示例性实施方式提供的游戏交互方法,可以应用于存在不同业务类型的应用场景中,尤其应用于存在多种战斗模式的对战类网络游戏应用场景中,其中,不同战斗模式对应不同类型业务。对战类网络游戏往往存在多种战斗模式,例如个人战、帮派战、副本战等,为了同时运行多种不同战斗模式,游戏服务器通常采用分布式多进程架构。
图1示意性示出本示例性实施方式中一种网络游戏服务架构示意图。参考图1,该网络游戏服务架构包括多个匹配进程(例如,匹配进程i至匹配进程j)和多个战斗进程(战斗进程1、…战斗进程i、…战斗进程n)。服务器通过读取配置文件启动多个匹配进程,且每个匹配进程中均保存了所有战斗进程的通信地址信息,维持与各战斗进程之间的信息交互过程。其中,战斗进程用于承载不同战斗模式的对局,匹配进程用于将合适的业务请求进行匹配以形成一场对局,并为该对局分配一个战斗进程承载本场战斗。
在同一匹配进程中,由于不同战斗进程中匹配的战斗模式逻辑复杂度和参与人数不同,导致其消耗的战斗进程资源不同。且对于逻辑复杂的战斗模式,易因战斗模式的逻辑问题影响其他类型战斗进程的正常使用。因此,为了保证各个战斗模式之间的稳定运行,需要将不同的战斗模式的业务进行隔离运行。
目前,为了将不同的战斗模式业务处理过程进行隔离,游戏服务器配置了多种类型的战斗进程,并将不同模式的战斗分配到不同类型战斗进程中,从而实现不同战斗模式业务隔离的目的。但是,上述服务器需要预配置多种不同类型战斗进程,增加了服务器配置战斗进程的复杂度,进而影响业务扩展的效率。同时,由于服务器预配置多种不同类型战斗进程,当某种类型战斗进程资源紧张而其他类型战斗进程资源空闲时,则需要通过扩容创建新的战斗进程以解决战斗进程资源紧张的问题,该过程将造成各类型战斗进程负载不均衡,进而导致战斗进程资源利用率低。
本公开示例性实施方式考虑到上述问题,提出一种游戏交互方法。在该方法中,在服务器中预配置单一类型的战斗进程,例如,预先配置多个第二类型战斗进程。在服务器接收到针对第一类型业务的业务请求时,从第二类型战斗进程中选择至少一个战斗进程,并将该战斗进程的类型转换为第一类型业务对应类型战斗进程。然后,在第一类型业务对应类型战斗进程集合中选取至少一个战斗进程作为执行上述业务请求的目标类型战斗进程。
其中,第一类型战斗进程对应执行逻辑复杂战斗模式的战斗进程,也可称为偏类型战斗进程;第二类型战斗进程对应执行逻辑简单战斗模式的战斗进程,也可称为基本类型战斗进程。同时,逻辑简单的战斗模式不会因自身逻辑问题影响其他类型战斗进程的正常使用,而逻辑复杂的战斗模式因自身逻辑问题影响其他类型战斗进程的正常使用,且偏类型战斗进程是执行不同类型逻辑复杂战斗模式的战斗进程总称,在实际应用中,不同类型偏类型战斗进程分配到不同的偏类型进程池中。
本公开提供的游戏交互方法仅仅需要在服务器中预配置单一类型的战斗进程,然后根据接收到业务请求的类型将预配置的战斗进程类型动态调整为与业务请求类型匹配的战斗进程类型,从而避免传统方式导致服务器配置复杂度高的技术问题。同时,该方法可以将空闲的类型战斗进程通过类型转换实现进程复用,从而保证不同类型战斗进程的负载均衡,进而提高进程资源利用率。
图2示意性示出了本公开实施例提供的游戏交互系统方法的系统架构图。如图2所示,该游戏交互系统200中包括多个用户终端201、游戏服务器202。其中,用户可通过多个用户终端201发起不同类型业务的业务请求,而游戏服务器202中预先配置了多个第二类型战斗进程。
当游戏服务器202接收用户终端201发送的针对第一类型业务的业务请求时,从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程。其中,第一类型业务为某种逻辑复杂战斗模式的业务。
然后,从确定的中间类型战斗进程与已有的第一类型业务对应的多个预设战斗进程中选择至少一个战斗进程作为业务请求的目标类型战斗进程。其中,中间类型战斗进程是执行第一类型业务对应第一类型战斗进程。最后,游戏服务器202基于目标类型战斗进程执行所述业务请求对应的游戏业务。
需要说明的是,游戏服务器202可以为一台服务器,可以为多台服务器组成的服务器集群。
应该理解的是,用户终端201、游戏服务器202的数目仅仅是示例性的,更多或更少的数量都属于本申请的保护范畴。并且,在上述示例运行场景中,用户终端201可以是个人计算机、服务器、掌上电脑(Personal Digital Assistant,PDA)、笔记本或其它任何具有联网功能的计算设备。
在了解了本公开的系统架构后,结合图3对本公开的游戏交互方法的技术方案进行详细说明。
下面以上述游戏服务器202为执行主体,将该游戏交互方法应用于上述的游戏服务器202为例,并以应用于对战类网络游戏的应用场景进行举例说明。请参见图3,本公开实施例提供的游戏交互方法包括如下步骤S301-步骤S304:
步骤S301、接收用户终端发送的针对第一类型业务的业务请求。
其中,第一类型业务为逻辑复杂的战斗模式业务,而逻辑复杂的业务是因自身逻辑问题影响其他类型战斗进程正常使用的业务。战斗模式可以是对战类网络游戏存在的战斗模式,例如个人战、帮派战、副本战等。
步骤S302、从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程。
其中,第二类型战斗进程是执行第二类型业务的战斗进程,第二类型业务为战斗模式逻辑简单的业务,逻辑简单的业务不会因自身逻辑问题影响其他类型战斗进程正常使用的业务。中间类型战斗进程是可以执行第一类型业务的战斗进程。同时,第一类型业务是各种偏类型战斗的总称,不同偏类型战斗可分配至与之匹配类型战斗进程中执行。预先配置的多个第二类型战斗进程是在启动多个战斗进程后,将所有战斗进程的类型均初始化为第二类型战斗进程。
以下将结合图4对服务器为不同业务类型的业务请求配置战斗进程的过程进行示意性说明。
图4示意性示出了本示例性实施方式中另一种网络游戏服务架构示意图。参考图4,游戏服务器为服务端使用的服务器,在服务端为用户终端提供服务时,游戏服务器优先读取配置文件启动多个匹配进程,而每个匹配进程均存在多个进程池,例如进程池1至进程池j,各进程池分别对应一种类型战斗进程,且每个进程池中包含预设数量的战斗进程,例如进程池j中包含n个战斗进程,分别为战斗进程1、战斗进程2…战斗进程n。
当游戏服务器接收到针对第一类型业务的业务请求时,匹配进程可以将第一类型业务的业务请求分配至与该第一类型业务对应的进程池中,以便在该进程池中选取一个战斗进程执行该业务请求;匹配进程也可以将其他进程池中的战斗进程转换为与该第一类型业务对应类型的战斗进程并添加在该进程池中,然后再在该进程池中选取一个战斗进程执行该业务请求。
步骤S303、从中间类型战斗进程与预先配置的第一类型业务对应的多个预设战斗进程中选择一个战斗进程作为业务请求的目标类型战斗进程。
其中,预先配置的第一类型业务对应的多个预设战斗进程是已完成从第二类型战斗进程转换为第一类型战斗进程。
示例性的,在步骤S302将第二类型战斗进程中选择至少一个战斗进程转换为中间类型战斗进程后,便可以从中间类型战斗进程以及现有第一类型业务对应的战斗进程中确定执行业务请求的目标类型战斗进程。
步骤S304、基于目标类型战斗进程执行业务请求对应的游戏业务。
在本公开的一些实施例所提供的技术方案中,在接收到用户终端发送的针对第一类型业务的业务请求从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程,从中间类型战斗进程与预先配置的第一类型业务对应的多个预设战斗进程中选择一个战斗进程作为业务请求的目标类型战斗进程;以便基于目标类型战斗进程执行业务请求对应的游戏业务。本公开只需要在服务器中预配置一种第二类型战斗进程,在接收到第一类型业务的业务请求时,从第二类型战斗进程中选择至少一个战斗进程转换第一类型业务对应的战斗进程,以对第一类型业务进行处理。该方法解决了现有技术中存在的在服务器中预配置多种不同类型战斗进程所导致的复杂度增加,以致业务扩展效率差的技术问题,从而达到了提高业务扩展效率的技术效果。
在本公开的示例性实施方式中,在从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程之前,可以对预先配置的各战斗进程进行初始化处理,得到各第二类型战斗进程。
其中,初始化处理是对启动的多个战斗进程的类型进行初始化处理,即将所有战斗进程的类型初始化为同一类型的第二类型战斗进程,第二类型战斗进程分配的第二业务类型为逻辑简单的业务类型,即基本类型。
示例性的,游戏服务器启动多个匹配进程,匹配进程中包含多个战斗进程类型池,每个战斗进程类型池中包含预设数量的战斗进程,且每个战斗进程向匹配进程注册类型信息。
例如,匹配进程中保存了10个战斗进程的信息,将10个战斗进程的类型初始化为基本类型(Battle)并添加到基本类型进程池(pool Battle)中,则此时i个第一类型战斗进程(偏类型战斗进程(Partial Process,PP))为空。则此时初始状态下,该匹配进程中缓存的进程类型池信息如公式(1)所示:
公式(1)中,pool Battle指基本类型进程池,即第二进程池;pool partial i是指i个偏类型进程池,即i个第一进程池,分别对应i种偏类型战斗进程,i大于等于1。BP1至BP10分别为10个不同的第二类型战斗进程(战斗进程BP)。
通过将匹配进程中预配置的各战斗进程类型均初始化为第二类型战斗进程,仅需在游戏服务器中配置一种类型的战斗进程,避免了一些技术中服务器为多种战斗模式的业务请求配置多种类型战斗进程导致的复杂度增高的问题,共公开示例性实施方式可以提高业务扩展效率。
在本公开的一种示例性实施方式中,分别确定第一进程池中的所能容纳进程的上限数量与第一进程池当前包含的第一类型战斗进程的进程数量;若进程数量小于上限数量,则从第二进程池中选择至少一个第二类型战斗进程转换为第一类型业务对应的中间类型战斗进程。
其中,第一进程池中包含有第一类型业务对应的多个第一类型战斗进程,也是第一类型战斗进程。第二进程池中包含有第二类型业务对应的多个第二类型战斗进程,也是第二类型战斗进程。
示例性的,在对匹配进程中预先配置的战斗进程进行初始化处理后,当匹配进程接收到用户终端发送的针对第一类型业务的业务请求后,匹配进程优先判断第一进程池中是否存在足够数量的第一类型战斗进程,即偏类型战斗进程。
匹配进程在判断第一进程池中是否存在足够数量的第一类型战斗进程时,可以分别确定第一进程池当前包含的第一类型战斗进程的进程数量Cnt(i)以及第一进程池中容纳第一类型战斗进程的上限数量Limit(i)。若进程数量小于上限数量,则从第二进程池中选择至少一个第二类型战斗进程转换为第一类型业务对应的中间类型战斗进程。
以公式(1)为例,若满足Cnt(i)<Limit(i),则需要从第二进程池Pool Battle中选择一个BP战斗进程进行类型转换。假设选中BP2进程,则将BP2战斗进程转换为PP2战斗进程,则在该匹配进程上BP2的类型标记从battle变为partial i。则从第二进程池中选择至少一个第二类型战斗进程转换为第一类型业务对应的中间类型战斗进程后,匹配进程中缓存的战斗进程类型池信息变化如公式(2)所示:
公式(2)中,PP2指类型标记为2的第一类型战斗进程(偏类型战斗进程)。
由公式(2)可知,将BP2战斗进程转换为PP2战斗进程后,基本类型进程池将BP2战斗进程删除,偏类型进程池中添加了PP2战斗进程。
在接收到用户终端发送的针对第一类型业务的业务请求后,优先判断第一进程池中是否存在足够数量的第一类型战斗进程,并在第一进程池中不存在足够数量的第一类型战斗进程时进行战斗进程类型转换。可以维持不同类型进程池包含战斗进程的均衡性,使得匹配到一场对局后通常会选择当前负载较小的战斗进程来接受新的战斗,从而实现战斗进程的负载均衡,提高进程资源利用率。
在本公开的另一种示例性实施方式中,若进程数量大于或等于上限数量,则从第一进程池中选择至少一个第一类型战斗进程,并将第一类型战斗进程确定为目标类型战斗进程。
示例性的,若进程数量大于或等于上限数量,便直接从现有的第一进程池中选择至少一个第一类型战斗进程执行用户终端发送针对第一类型业务的业务请求对应的游戏业务。
在第一进程池中存在足够数量的第一类型战斗进程时,直接在第一进程池中确定目标类型战斗进程,可以维持各类型进程池的负载均衡,提高系统稳定性以及进程资源利用率。
在本公开的示例性实施方式中,确定第一进程池中所有第一类型战斗进程的第一负荷;确定第二进程池中所有第二类型战斗进程的第二负荷;计算第一负荷与第一负荷和第二负荷总和的占比,得到第一进程池中的所能容纳进程的上限数量。
其中,第一负荷为第一进程池中所有第一类型战斗进程的总负载;第二负荷为第二进程池中所有第二类型战斗进程的总负载。
在以下公式(3)至公式(7)中,Wb为第一类型战斗进程平均负载;m为第一类型战斗进程数量;Wi为第二类型战斗进程平均负载;n为第二类型战斗进程数量,
则第一类型战斗进程总负载如公式(3)所示:
Wtb=Wb×m (3)
第二类型战斗进程总负载如公式(4)所示:
Wti=Wi×n (4)
基于上述公式(3)、公式(4)可知,第二类型战斗进程数量在总进程数量中占比f(i)为:
为了确保进程稳定性,通过调整战斗进程的数量因子从以证每个战斗进程的负载达到均衡,所以,令Wb=Wi=x,可得公式(6):
由此可知,第二类型战斗进程的数量占比跟第二类型战斗进程当前负载与所有战斗进程总负载的比例有关。因此第二类型战斗进程数量上限Limit(i):
其中,N为战斗进程总数量。
通过第一进程池中所有第一类型战斗进程的总负载占所有战斗进程总负载的比例计算第一进程池中的所能容纳进程的上限数量,可以维持各类型战斗进程之间的负载均衡,从而在提高业务扩展效率的同时维持系统的稳定性。
在上述实施例的基础上,第一进程池中的所能容纳进程的上限数量Limit(i)是限制各类型战斗进程占比的关键,即维持各类型战斗进程的负载均衡的关键。
以下将结合图5、图6对设置第一进程池中所能容纳进程的上限数量Limit(i)大小的影响进行具体说明。
图5示意性示出了本示例性实施方式中一种设置上限数量过小对各类型进程池影响的示意图。
参考图5,以匹配进程中存在第二进程池和一个第一进程池为例,当第一进程池中的所能容纳进程的上限数量Limit(i)设置过小,即第一进程池中所有第一类型战斗进程的总负载Wi×n占所有战斗进程总负载(Wb×m+Wi×n)的比例较小,则第一进程池中各第一类型战斗进程所承载的负载会快速达到饱和。如果游戏服务器接收到数量较大的第一类型业务对应的业务请求时,会导致第一类型战斗进程的负载过高。
图6示意性示出了本示例性实施方式中一种设置上限数量过大对各类型进程池影响的示意图。
参考图6,第一进程池中的所能容纳进程的上限数量Limit(i)设置过大,即第一进程池中所有第一类型战斗进程的总负载Wi×n占所有战斗进程总负载(Wb×m+Wi×n)的比例较大,则容易使得第一进程池中的第一类型战斗进程过度转换为第二进程池中的第二类型战斗进程,导致第一类型战斗进程或其他偏类型战斗进程数量不够,从而引起不同类型战斗进程的负载不均衡。
在从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程时,应尽量挑选相对空闲的第二类型战斗进程,以维持不同战斗进程之间的负载均衡。而预先配置的多个第二类型战斗进程的状态可以是空闲的,也可以是非空闲的,以下将分别由存在空闲的第二类型战斗进程以及不存在空闲的第二类型战斗进程两种情况对选取至少一个战斗进程进行类型转换的过程进行详细说明。
在本公开的一种示例性实施方式中,分别确定各第二类型战斗进程的占用状态;从占用状态为空闲状态的第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程。
其中,空闲状态是该第二类型战斗进程中不存在负载。当第二进程池中存在多个空闲的第二类型战斗进程时,可等概率随机选取至少一个进行类型转换,以转换为第一类型业务对应的中间类型战斗进程。
优先将处于空闲状态的第二类型战斗进程进行类型转换,可以维持不同战斗进程之间的负载均衡,以提高业务请求处理的效率及系统的稳定性。
在本公开的另一种示例性实施方式中,分别确定各第二类型战斗进程的占用状态;若各第二类型战斗进程的占用状态均为非空闲状态,则确定各第二类型战斗进程的负载权重;基于各负载权重从多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程。
示例性的,非空闲状态是该第二类型战斗进程中存在负载。如果所有的第二类型战斗进程均为非空闲状态时,可以采用基于负载加权随机或负载加权轮询的方式选取至少一个战斗进程进行类型转换。
根据本公开的一些实施例,基于负载加权随机方法可以计算每个第二类型战斗进程被选择进行类型转换的权重Point(BPi)如公式(8)所示:
在公式(8)中,Wbpi为类型标识为i的第二类型战斗进程当前负载,max(Wbpi)为类型标识为i的第二类型战斗进程最大可承载的负载。
由公式(8)可知,第二类型战斗进程当前负载占最大可承载的负载的比例越大,其被选中进行类型转换的概率越低。
根据本公开的另一些实施例,基于负载加权轮询方法在根据公式(8)得到类型转换的权重Point(BPi)后,游戏服务器可以定时发出询问,依序询问各第二类型战斗进程是否可转换为第一类型战斗进程执行用户终端发送的针对第一类型业务的业务请求,直至从多个第二类型战斗进程中选择至少一个战斗进程。
在上述实施例的基础上,在选择至少一个战斗进程进行类型转换,得到中间类型战斗进程后,从中间类型战斗进程与预先配置的第一类型业务对应的多个预设战斗进程中选择一个战斗进程作为业务请求的目标类型战斗进程,以执行用户终端发送的针对第一类型业务的业务请求对应的游戏业务。
在选取目标类型战斗进程时,也可以使用上述基于负载加权随机或负载加权轮询的方式进行选取。
在上述任意一个实施方式的基础上,在进行战斗进程的类型转换与确定目标类型战斗进程过程中应充分考虑各类型进程池的负载情况。在公式(2)中偏类型进程池:PoolPartial i的负载容忍区间内(例如Wi≤60),可以认为此时即使进程数量Cnt(i)未达到上限数量Limit(i),也可以保证完成业务请求分配后,仍不会影响Pool Partial i的稳定性,然而从所有类型进程池负载均衡的角度出发,我们认为应尽快完成基本类型战斗进程的转换至偏类型战斗进程的类型转换,从而使各战斗进程类型池的数量达到上限数量Limit(i)。
为实现上述要求,本公开提供了分配战斗进程的策略:
(1)尽力而为分配策略:当Pool Partial i中还存在容忍区间的PP进程时,该战斗进程直接被选中并进行业务请求分配;如果当前类型进程池中所有的PP战斗进程负载均不符合要求,同时PP战斗进程数量Cnt(i)还没到达设定的上限数量Limit(i),则从第二进程池中挑选BPj进程进行BPj→PPj的类型转换,其中,BPj为类型标记为j的第二类型战斗进程(基本类型战斗进程)。
(2)抢占式分配策略:不管Pool Partial i中是否还存在容忍区间的PP进程,当Pool Partial i类型战斗进程数量Cnt(i)未达到设定的上限数量Limit(i)时,则挑选BPj进行BPj→PPj的转换,转换后的进程PPj被选中进行业务请求分配。
(3)综合分配策略:当Pool Partial i类型进程数量Cnt(i)以没有达到设定的上限数量Limit(i)时,优先挑选BPj进行BPj→PPj的转换,转换后在原有的Pool Partial i与PPj中随机选择一个PP战斗进程进行业务请求分配。
对于上述综合分配策略,可以在保证BP→PP战斗进程的类型转换效率同时,也可以兼顾前两种方案的优势,从而提高业务扩展效率的同时,提高系统的稳定性。
下面将参考图7对本公开的示例性实施方式的游戏交互方法的整个资源调度过程进行详细说明。
图7示意性示出了本示例性实施方式中另一种游戏交互方法流程图。参考图7,首先,游戏服务器可通过读取配置文件启动多个匹配进程,其中,每个匹配进程中包含多种不同战斗进程类型池。在步骤S701中,匹配进程预先保存了多个战斗进程的信息。
在本公开的示例性实施方式中,在步骤S702中,对各战斗进程的类型进行初始化。示例性的,可以将对预先配置的各战斗进程进行初始化处理,将各战斗进程的类型初始化为基本类型,从而得到各第二类型战斗进程并添加到第二进程池中,其中,第二类型战斗进程是承载基本类型的战斗进程。此时,第一进程池中不包含第一类型战斗进程,其中,第二类型战斗进程是承载某种特定类型的偏类型战斗进程。
当多个用户终端接入游戏服务器并发起业务请求后,在步骤S703中,接收用户终端发起的业务请求。然后,执行步骤S704,判断对应业务类型是否为第一类型业务。即判断用户终端发起业务请求对应业务类型是否为第一类型业务。
在本公开一个可选实施例中,如果用户终端发起业务请求对应业务类型不是第一类型业务,则执行步骤S705,选取一个第二类型战斗进程执行业务请求对应的游戏业务。
在本公开另一个可选实施例中,如果用户终端发起业务请求对应业务类型是第一类型业务,则执行步骤S706,确定上限数量和进程数量。示例性的,分别确定第一进程池中的所能容纳进程的上限数量与第一进程池当前包含的第一类型战斗进程的进程数量。
示例性的,在确定第一进程池中的所能容纳进程的上限数量时,可确定第一进程池中所有第一类型战斗进程的第一负荷;确定第二进程池中所有第二类型战斗进程的第二负荷;计算第一负荷与第一负荷和第二负荷总和的占比,得到第一进程池中的所能容纳进程的上限数量。其中,第一负荷和第二负荷分别为对应战斗进程承载的总负载,例如,占用的计算机资源。
确定上限数量和包含的第一类型战斗进程的进程数量后,执行步骤S707,是否进程数量小于上限数量。
在本公开一个可选实施例中,若进程数量大于或等于上限数量时,则执行步骤S708,从第一进程池中选择一个第一类型战斗进程确定为目标类型战斗进程。
示例性的,在第一进程池中存在的多个空闲的第一类型战斗进程时,随机选择一个第一类型战斗进程作为目标类型战斗进程,以执行用户终端发送的针对第一类型业务的业务请求的游戏业务。在第一进程池中所有第一类型战斗进程均为非空闲状态时,基于各负载权重从多个第一类型战斗进程中选择一个第一类型战斗进程作为目标类型战斗进程,以执行用户终端发送的针对第一类型业务的业务请求的游戏业务。
在本公开另一个可选实施例中,若进程数量小于上限数量,则执行步骤S709,从第二进程池中选择至少一个第二类型战斗进程转换为第一类型业务对应的中间类型战斗进程。
示例性的,可以在第二进程池中存在空闲的第二类型战斗进程时,从第二进程池中选择一个占用状态为空闲状态的第二类型战斗进程转换为第一类型业务对应的中间类型战斗进程,并添加到第一进程池中。也可以在各第二类型战斗进程的占用状态均为非空闲状态时,基于各负载权重从多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程。
在步骤S709后,可以执行步骤S710,选取目标类型战斗进程。
示例性的,从中间类型战斗进程与预先配置的第一类型业务对应的多个预设战斗进程中选择一个战斗进程作为业务请求的目标类型战斗进程。其中,预先配置的第一类型业务对应的多个预设战斗进程可以是已经从第二类型战斗进程转换为第一类型业务对应的第一类型战斗进程。选取目标类型战斗进程的方式可使用上述步骤S708从第一进程池中选择一个第一类型战斗进程的方式类型。
最后,执行步骤S711,将该战斗进程的类型信息更新至匹配进程。
示例性的,战斗进程以预设周期向匹配进程发送心跳信息,当该战斗进程的类型信息由第二类型战斗进程转换为第一类型业务对应的第一类型战斗进程时,可通过心跳信息同步更新后的类型消息到所有的匹配进程。
为了实现上述游戏交互方法,本公开的一个实施例中提供一种游戏交互装置。图8示出了游戏交互装置的示意性架构图。
其中,该游戏交互装置800包括业务接收模块801、进程转换模块802、进程选择模块803和业务执行模块804。
业务接收模块801用于接收用户终端发送的针对第一类型业务的业务请求;进程转换模块802用于从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为第一类型业务对应的中间类型战斗进程;其中,第二类型战斗进程对应的业务与第一类型业务的业务类型不同;进程选择模块803用于从中间类型战斗进程与预先配置的第一类型业务对应的多个预设战斗进程中选择一个战斗进程作为业务请求的目标类型战斗进程;业务执行模块804用于基于目标类型战斗进程执行业务请求对应的游戏业务。
本公开实施例提供的游戏交互装置800,可以执行上述任一实施例中的游戏交互方法的技术方案,其实现原理以及有益效果与游戏交互方法的实现原理及有益效果类似,可参见游戏交互方法的实现原理及有益效果,此处不再进行赘述。
为了实现上述游戏交互方法,本公开的一个实施例中提供另一种游戏交互装置。图9示出了游戏交互装置900的示意性架构图。
其中,游戏交互装置900包括类型处理模块901、数量确定模块902、进程转换模块903、进程选择模块904。
在一个可选的实施例中,游戏交互装置900包括类型处理模块901,该类型处理模块901具体用于对预先配置的各战斗进程进行初始化处理,得到各第二类型战斗进程。
在一个可选的实施例中,数量确定模块902用于分别确定第一进程池中的所能容纳进程的上限数量与第一进程池当前包含的第一类型战斗进程的进程数量;其中,第一进程池中包含有第一类型业务对应的多个第一类型战斗进程;进程转换模块903用于若进程数量小于上限数量,则从第二进程池中选择一个第二类型战斗进程转换为第一类型业务对应的中间类型战斗进程;其中,第二进程池中包含有第二类型业务对应的多个第二类型战斗进程。
在一个可选的实施例中,进程选择模块904用于当进程数量大于或等于所述上限数量时,则从第一进程池中选择一个第一类型战斗进程,并将第一类型战斗进程确定为目标类型战斗进程。
在一个可选的实施例中,数量确定模块902用于确定第一进程池中所有第一类型战斗进程的第一负荷;确定第二进程池中所有第二类型战斗进程的第二负荷;计算第一负荷与第一负荷和第二负荷总和的占比,得到第一进程池中的所能容纳进程的上限数量。
在一个可选的实施例中,进程转换模块903用于分别确定各第二类型战斗进程的占用状态;从占用状态为空闲状态的第二类型战斗进程中选择一个战斗进程转换为第一类型业务对应的中间类型战斗进程。
在一个可选的实施例中,进程转换模块903用于分别确定各第二类型战斗进程的占用状态;若各第二类型战斗进程的占用状态均为非空闲状态,则确定各第二类型战斗进程的负载权重;基于各负载权重从多个第二类型战斗进程中选择一个战斗进程转换为第一类型业务对应的中间类型战斗进程。
本公开实施例提供的游戏交互装置900,可以执行上述任一实施例中的游戏交互方法的技术方案,其实现原理以及有益效果与游戏交互方法的实现原理及有益效果类似,可参见游戏交互方法的实现原理及有益效果,此处不再进行赘述。
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。在本公开实施例中,计算机可读存储介质中存储的程序代码被执行时可以实现如上游戏交互方法中的任一步骤。
请参见图10,本公开的示例性实施方式还提供了一种电子设备1000,可以是信息平台的后台服务器。下面参考图10对该电子设备1000进行说明。应当理解,图10显示的电子设备1000仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030、显示单元1040。
其中,存储单元存储有程序代码,程序代码可以被处理单元1010执行,使得处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元1010可以执行如图3中所示的步骤S301至步骤S304。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(ROM)10203。
存储单元1020还可以包括具有一组(至少一个)程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
Claims (10)
1.一种游戏交互方法,其特征在于,包括:
接收用户终端发送的针对第一类型业务的业务请求;
从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为所述第一类型业务对应的中间类型战斗进程;其中,所述第二类型战斗进程对应的业务与所述第一类型业务的业务类型不同;
从所述中间类型战斗进程与预先配置的所述第一类型业务对应的多个预设战斗进程中选择至少一个战斗进程作为所述业务请求的目标类型战斗进程;
基于所述目标类型战斗进程执行所述业务请求对应的游戏业务。
2.根据权利要求1所述的游戏交互方法,其特征在于,在所述从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为所述第一类型业务对应的中间类型战斗进程之前,所述游戏交互方法还包括:
对预先配置的各战斗进程进行初始化处理,得到各第二类型战斗进程。
3.根据权利要求1所述的游戏交互方法,其特征在于,在所述从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为所述第一类型业务对应的中间类型战斗进程之前,所述游戏交互方法还包括:
分别确定第一进程池中的所能容纳进程的上限数量与所述第一进程池当前包含的第一类型战斗进程的进程数量;其中,所述第一进程池中包含有所述第一类型业务对应的多个第一类型战斗进程;
若所述进程数量小于所述上限数量,则从所述第二进程池中选择至少一个所述第二类型战斗进程转换为所述第一类型业务对应的所述中间类型战斗进程;其中,所述第二进程池中包含有所述第二类型业务对应的多个第二类型战斗进程。
4.根据权利要求3所述的游戏交互方法,其特征在于,还包括:
若所述进程数量大于或等于所述上限数量,则从所述第一进程池中选择一个第一类型战斗进程,并将所述第一类型战斗进程确定为所述目标类型战斗进程。
5.根据权利要求3所述的游戏交互方法,其特征在于,所述确定第一进程池中的所能容纳进程的上限数量,包括:
确定所述第一进程池中所有第一类型战斗进程的第一负荷;
确定所述第二进程池中所有第二类型战斗进程的第二负荷;
计算所述第一负荷与所述第一负荷和第二负荷总和的占比,得到所述第一进程池中的所能容纳进程的所述上限数量。
6.根据权利要求1所述的游戏交互方法,其特征在于,所述从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为所述第一类型业务对应的中间类型战斗进程,包括:
分别确定各所述第二类型战斗进程的占用状态;
从所述占用状态为空闲状态的第二类型战斗进程中选择至少一个战斗进程转换为所述第一类型业务对应的所述中间类型战斗进程。
7.根据权利要求1所述的游戏交互方法,其特征在于,所述从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为所述第一类型业务对应的中间类型战斗进程,包括:
分别确定各所述第二类型战斗进程的占用状态;
若各所述第二类型战斗进程的占用状态均为非空闲状态,则确定各所述第二类型战斗进程的负载权重;
基于各所述负载权重从所述多个第二类型战斗进程中选择至少一个战斗进程转换为所述第一类型业务对应的所述中间类型战斗进程。
8.一种游戏交互装置,其特征在于,包括:
业务接收模块,用于接收用户终端发送的针对第一类型业务的业务请求;
进程转换模块,用于从预先配置的多个第二类型战斗进程中选择至少一个战斗进程转换为所述第一类型业务对应的中间类型战斗进程;其中,所述第二类型战斗进程对应的业务与所述第一类型业务的业务类型不同;
进程选择模块,用于从所述中间类型战斗进程与预先配置的所述第一类型业务对应的多个预设战斗进程中选择至少一个战斗进程作为所述业务请求的目标类型战斗进程;
业务执行模块,用于基于所述目标类型战斗进程执行所述业务请求对应的游戏业务。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的游戏交互方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7任一项所述的游戏交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211067318.2A CN115400417A (zh) | 2022-09-01 | 2022-09-01 | 游戏交互方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211067318.2A CN115400417A (zh) | 2022-09-01 | 2022-09-01 | 游戏交互方法、装置、存储介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115400417A true CN115400417A (zh) | 2022-11-29 |
Family
ID=84164282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211067318.2A Pending CN115400417A (zh) | 2022-09-01 | 2022-09-01 | 游戏交互方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115400417A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116173495A (zh) * | 2023-02-09 | 2023-05-30 | 广州延利网络科技有限公司 | 游戏进程的分配控制方法、装置、电子设备以及存储介质 |
CN116966539A (zh) * | 2023-07-25 | 2023-10-31 | 广州三七极梦网络技术有限公司 | 基于弹性设计的游戏处理方法、装置、设备及存储介质 |
-
2022
- 2022-09-01 CN CN202211067318.2A patent/CN115400417A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116173495A (zh) * | 2023-02-09 | 2023-05-30 | 广州延利网络科技有限公司 | 游戏进程的分配控制方法、装置、电子设备以及存储介质 |
CN116966539A (zh) * | 2023-07-25 | 2023-10-31 | 广州三七极梦网络技术有限公司 | 基于弹性设计的游戏处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115400417A (zh) | 游戏交互方法、装置、存储介质和电子设备 | |
US20190324819A1 (en) | Distributed-system task assignment method and apparatus | |
CN103210382B (zh) | 基于总线装置健康信息和相关功率管理而仲裁通信总线上的总线事务 | |
CN111966500B (zh) | 资源调度方法、装置、电子设备及存储介质 | |
US7117499B2 (en) | Virtual computer systems and computer virtualization programs | |
WO2018113472A1 (zh) | 资源的调度方法和服务器 | |
CN110753131A (zh) | 微服务分布式限流方法及装置、存储介质和电子设备 | |
CN104243405A (zh) | 一种请求处理方法、装置及系统 | |
CN113342477B (zh) | 一种容器组部署方法、装置、设备及存储介质 | |
CN112600761B (zh) | 一种资源分配的方法、装置及存储介质 | |
CN1773935B (zh) | 用于为执行Web应用控制通信的计算机和方法 | |
CN111798113A (zh) | 资源分配方法、装置、存储介质和电子设备 | |
CN111104219A (zh) | 虚拟核心与物理核心的绑定方法、装置、设备及存储介质 | |
CN114356543A (zh) | 一种基于Kubernetes的多租户机器学习任务资源调度方法 | |
CN115580882A (zh) | 动态网络切片资源分配方法及装置、存储介质及电子设备 | |
CN109032788A (zh) | 预留资源池动态调度方法、装置、计算机设备及存储介质 | |
WO2022062981A1 (zh) | 资源调度方法和系统、电子设备及计算机可读存储介质 | |
CN114237894A (zh) | 容器调度方法、装置、设备以及可读存储介质 | |
CN104750614B (zh) | 用于管理存储器的方法和装置 | |
CN109522129A (zh) | 一种资源动态均衡方法、装置及相关设备 | |
CN108885565A (zh) | 对游戏模式的操作系统支持 | |
Wan et al. | Utility-driven share scheduling algorithm in hadoop | |
CN112748850B (zh) | 用于存储管理的方法、设备和计算机程序产品 | |
CN111796932A (zh) | 一种gpu资源调度方法 | |
CN117891618B (zh) | 人工智能模型训练平台的资源任务处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |