CN111135586A - 游戏匹配方法、游戏匹配装置、存储介质与电子设备 - Google Patents
游戏匹配方法、游戏匹配装置、存储介质与电子设备 Download PDFInfo
- Publication number
- CN111135586A CN111135586A CN201911350548.8A CN201911350548A CN111135586A CN 111135586 A CN111135586 A CN 111135586A CN 201911350548 A CN201911350548 A CN 201911350548A CN 111135586 A CN111135586 A CN 111135586A
- Authority
- CN
- China
- Prior art keywords
- game
- matching
- request
- target server
- 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.)
- Granted
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/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/795—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种游戏匹配方法、游戏匹配装置、计算机可读存储介质与电子设备,属于计算机技术领域。所述方法包括:接收客户端发送的游戏请求;将所述游戏请求发送至对应的匹配队列;在所述匹配队列中,根据所述游戏请求的等待时间以及所述客户端和各游戏服务器之间的延迟时间,从所述各游戏服务器中确定所述游戏请求对应的目标服务器;将所述游戏请求分配至所述目标服务器,以控制所述客户端和分配至所述目标服务器的其他客户端进行游戏匹配。本公开可以减少玩家等待游戏匹配的时间,提高匹配效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种游戏匹配方法、游戏匹配装置、计算机可读存储介质与电子设备。
背景技术
目前,组队游戏成为一种常见的游戏类型,例如在一些MOBA(Multiplayer OnlineBattle Arena,多人在线战术竞技游戏)、MMORPG(MassiveMultiplayer Online Role-PlayingGame,大型多人在线角色扮演游戏)类型的游戏中,由多个玩家组成游戏队伍,并在两个游戏队伍之间进行比赛,该类游戏由于具有交互性强、战术性和趣味性强等特点,受到了大众的广泛喜爱。
在上述游戏类型中,通常需要相应的匹配系统来将多个玩家匹配为一个游戏分组,目前的匹配系统多是按照地区配置服务器,由本地服务器处理本地区的玩家匹配请求,以将本地区相应数量的玩家匹配在一起,但当玩家数量较多或较少时,会导致玩家的匹配等待时间过长,因此,服务器处理匹配请求的效率不高,玩家体验较差。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供了一种游戏匹配方法、游戏匹配装置、计算机可读存储介质与电子设备,进而至少在一定程度上改善现有技术中游戏匹配效率不高的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种游戏匹配方法,所述方法包括:接收客户端发送的游戏请求;将所述游戏请求发送至对应的匹配队列;在所述匹配队列中,根据所述游戏请求的等待时间以及所述客户端和各游戏服务器之间的延迟时间,从所述各游戏服务器中确定所述游戏请求对应的目标服务器;将所述游戏请求分配至所述目标服务器,以控制所述客户端和分配至所述目标服务器的其他客户端进行游戏匹配。
在本公开的一种示例性实施方式中,所述根据所述游戏请求的等待时间以及所述客户端和各游戏服务器之间的延迟时间,从所述各游戏服务器中确定所述游戏请求对应的目标服务器,包括:根据所述游戏请求的等待时间确定延迟容忍范围;获取所述客户端和各游戏服务器之间的延迟时间,将延迟时间处于所述延迟容忍范围内的游戏服务器确定为所述游戏请求对应的目标服务器。
在本公开的一种示例性实施方式中,所述将所述游戏请求分配至所述目标服务器,以控制所述客户端和分配至所述目标服务器的其他客户端进行游戏匹配,包括:当所述匹配队列确定预设数量的游戏请求对应于所述目标服务器时,将所述预设数量的游戏请求分配至所述目标服务器,使其中各所述游戏请求对应的客户端通过所述目标服务器进行游戏匹配。
在本公开的一种示例性实施方式中,所述游戏请求对应的目标服务器为多个候选目标服务器形成的目标服务器集合;所述当所述匹配队列确定预设数量的游戏请求对应于所述目标服务器时,将所述预设数量的游戏请求分配至所述目标服务器,包括:当所述匹配队列确定预设数量的游戏请求对应于相同的所述目标服务器集合时,统计其中各所述游戏请求对应的客户端和各所述候选目标服务器之间的延迟时间,以计算各所述候选目标服务器的权重;将所述预设数量的游戏请求分配至权重最高的所述候选目标服务器。
在本公开的一种示例性实施方式中,在将所述游戏请求发送至对应的匹配队列后,所述方法还包括:当所述匹配队列的匹配处理时间超出预设阈值时,将所述匹配队列中的游戏请求迁移至其他匹配队列。
在本公开的一种示例性实施方式中,所述游戏请求对应的匹配队列通过以下方式确定:获取最近的预设时间内各匹配队列所接收的游戏请求的数量,以得到各匹配队列的并发参数;获取各匹配队列当前的负载参数;根据所述并发参数和所述负载参数,确定所述游戏请求对应的匹配队列。
在本公开的一种示例性实施方式中,所述游戏请求包括所请求进行的游戏类型;所述根据所述并发参数和所述负载参数,确定所述游戏请求对应的匹配队列,包括:在所述游戏类型下的匹配队列中,根据所述并发参数和所述负载参数,确定所述游戏请求对应的匹配队列。
根据本公开的第二方面,提供一种游戏匹配装置,所述装置包括:接收模块,用于接收客户端发送的游戏请求;发送模块,用于将所述游戏请求发送至对应的匹配队列;确定模块,用于在所述匹配队列中,根据所述游戏请求的等待时间以及所述客户端和各游戏服务器之间的延迟时间,从所述各游戏服务器中确定所述游戏请求对应的目标服务器;分配模块,用于将所述游戏请求分配至所述目标服务器,以控制所述客户端和分配至所述目标服务器的其他客户端进行游戏匹配。
在本公开的一种示例性实施方式中,所述确定模块包括:第一确定单元,根据所述游戏请求的等待时间确定延迟容忍范围;第二确定单元,用于获取所述客户端和各游戏服务器之间的延迟时间,将延迟时间处于所述延迟容忍范围内的游戏服务器确定为所述游戏请求对应的目标服务器。
在本公开的一种示例性实施方式中,所述分配模块用于当所述匹配队列确定预设数量的游戏请求对应于所述目标服务器时,将所述预设数量的游戏请求分配至所述目标服务器,使其中各所述游戏请求对应的客户端通过所述目标服务器进行游戏匹配。
在本公开的一种示例性实施方式中,所述游戏请求对应的目标服务器为多个候选目标服务器形成的目标服务器集合;所述分配模块还包括:计算单元,用于当所述匹配队列确定预设数量的游戏请求对应于相同的所述目标服务器集合时,统计其中各所述游戏请求对应的客户端和各所述候选目标服务器之间的延迟时间,以计算各所述候选目标服务器的权重;分配单元,用于将所述预设数量的游戏请求分配至权重最高的所述候选目标服务器。
在本公开的一种示例性实施方式中,在将所述游戏请求发送至对应的匹配队列后,所述分配模块还用于当所述匹配队列的匹配处理时间超出预设阈值时,将所述匹配队列中的游戏请求迁移至其他匹配队列。
在本公开的一种示例性实施方式中,所述发送模块包括:第一获取单元,用于获取最近的预设时间内各匹配队列所接收的游戏请求的数量,以得到各匹配队列的并发参数;第二获取单元,用于获取各匹配队列当前的负载参数;确定单元,用于根据所述并发参数和所述负载参数,确定所述游戏请求对应的匹配队列。
在本公开的一种示例性实施方式中,所述游戏请求包括所请求进行的游戏类型;所述发送模块还通过在所述游戏类型下的匹配队列中,根据所述并发参数和所述负载参数,确定所述游戏请求对应的匹配队列。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种游戏匹配方法。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种游戏匹配方法。
本公开具有以下有益效果:
本示例性实施方式提出了一种游戏匹配方法和装置,通过将游戏请求发送至对应的匹配队列,并在匹配队列中,根据游戏请求的等待时间和客户端到各游戏服务器之间的延迟时间,将游戏请求分配至目标服务器。本示例性实施方式综合考虑了游戏请求的等待时间和客户端到各游戏服务器的延迟时间,可以将游戏请求分配至合适的目标服务器,相比仅考虑游戏请求等待时间和仅考虑客户端到各游戏服务器的延迟时间的方法,能够在玩家等待时间较短的情况下将其分配至延迟和负载等较低的游戏服务器,从而综合了游戏请求等待时间和客户端到各游戏服务器的延迟时间两方面因素对匹配效率的影响,提高了玩家游戏请求的匹配效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种游戏匹配方法的流程图;
图2示出本示例性实施方式中一种游戏匹配方法的子流程图;
图3示出本示例性实施方式中一种游戏匹配结果的示意图;
图4示出本示例性实施方式中一种游戏匹配装置的结构框图;
图5示出本示例性实施方式中一种用于实现上述方法的计算机可读存储介质;
图6示出本示例性实施方式中一种用于实现上述方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
本公开的示例性实施方式首先提供了一种游戏匹配方法,该方法可以应用于具有多个玩家参与的游戏类型中,并可以由游戏应用程序后台的匹配服务器执行,从而根据相应的匹配规则将多个玩家匹配为一组,例如在MOBA类游戏中,可以根据玩家的段位、等级和战斗力值等将多个玩家匹配为一组,并将该组玩家随机分成两个游戏队伍以进行对战。
参考图1所示,示出了本示例性实施方式的一种流程图,可以包括以下步骤S110~S140:
步骤S110.接收客户端发送的游戏请求。
其中,客户端可以是玩家所在的手机、平板电脑、计算机或游戏机等;游戏请求是指匹配服务器接收到的客户端发送的进行游戏或匹配的请求。
客户端可以通过在游戏应用中选择相应的游戏或匹配操作以触发游戏请求,该游戏请求可以包括该玩家客户端的等级、游戏值等匹配信息,同时由于在一些游戏中可以包括多种玩法类型,因此游戏请求还可以包括该玩家客户端请求的游戏玩法信息。
步骤S120.将游戏请求发送至对应的匹配队列。
其中,匹配队列是指用于处理客户端游戏请求的队列进程,匹配队列可以按照“先进先出”的顺序依次处理每个游戏请求并产生匹配结果,同时为了使匹配队列能够及时处理玩家的游戏请求,减少玩家等待时间,匹配队列的数量通常可以设置为多个。
为了提高游戏请求的处理效率,可以将上述游戏请求发送至游戏请求数量较少的匹配队列中,因此,在一种可选的实施方式中,参考图2所示,上述游戏请求对应的匹配队列可以通过以下步骤S210~S230确定:
步骤S210.获取最近的预设时间内各匹配队列所接收的游戏请求的数量,以得到各匹配队列的并发参数。
其中,预设时间是指接收游戏请求的一段时间,通常可以根据单位时间内增加的游戏请求数据确定并进行调整,例如当单位时间增加的游戏请求数量较大时,则预设时间可以设置为1S或更短的时间,当单位时间增加的游戏请求数量较小时,则可以适当增加预设时间;并发参数是指在预设时间内各匹配队列接收的游戏请求的总数量,可以通过监测预设时间段内向各匹配队列转发游戏请求的数量确定。
步骤S220.获取各匹配队列当前的负载参数。
其中,负载参数是指当前时刻下匹配队列中等待处理的游戏请求数量,可以通过向匹配队列发送数量查询请求,以获取当前时刻下匹配队列的负载参数。
步骤S230.根据并发参数和负载参数,确定游戏请求对应的匹配队列。
在获取并发参数和负载参数后,可以根据并发参数和负载参数的值的关系确定游戏请求对应的匹配队列,例如当并发参数最小的匹配队列和负载参数最小的匹配队列相同时,可以将相同的匹配队列确定为上述游戏请求对应的匹配队列;当并发参数最小的匹配队列和负载参数最小的匹配队列不同时,可以将负载参数最小的匹配队列优先确定为上述游戏请求对应的匹配队列。
由于在一些游戏应用中,通常包括多种游戏模式,例如MOBA类游戏中的三人排位、五人排位等,各游戏模式具有不同的游戏玩法,因此,在一种可选的实施方式中,上述游戏请求还可以包括客户端所请求进行的游戏类型,由此步骤S230还可以通过以下方式实现:
在上述游戏类型下的匹配队列中,根据并发参数和负载参数,确定游戏请求对应的匹配队列。
当游戏请求的数量较大时,每种游戏类型可以对应于多个匹配队列,也就是说,一个匹配队列中的游戏请求对应的游戏类型是相同的,因此可以在每个游戏类型的匹配队列中,按照步骤S230中根据并发参数和负载参数来确定上述游戏请求对应的匹配队列。
在一种可选的实施方式中,在将游戏请求发送至对应的匹配队列后,可以监测游戏请求在匹配队列中的匹配情况,当监测到游戏请求在上述匹配队列中的匹配处理时间超出预设阈值时,可以将上述匹配队列中的游戏请求迁移至其他匹配队列,例如,在将上述匹配队列中的游戏请求迁移至其他匹配队列时,可以按照游戏请求的游戏类型,依次检查其他匹配队列中游戏请求的数量是否达到最大值,若未达到最大值,则可以将其他匹配队列中游戏请求数量最少的匹配队列作为上述游戏请求的迁移匹配队列。
通过上述队列迁移的方法,减少了客户端等待匹配的时间,提高了匹配效率,同时也增强了匹配系统的灵活性。
步骤S130.在匹配队列中,根据游戏请求的等待时间以及客户端和各游戏服务器之间的延迟时间,从各游戏服务器中确定游戏请求对应的目标服务器。
其中,游戏请求的等待时间是指游戏请求在匹配队列中等待处理的时间,可以通过监测游戏请求进入匹配队列到在该匹配队列中产生匹配结果的时间来确定;客户端和各游戏服务器之间的延迟时间指的是游戏服务器接收到客户端发送数据包的时间,可以根据向游戏服务器发送数据包的时间和接收回复数据包的时间确定,例如客户端发送数据包的本地时间为t1,接收回复数据包的本地时间为t2,则游戏请求在客户端和游戏服务器之间的延迟时间可以确定为(t2-t1)/2。
在匹配队列中,监测游戏请求的等待时间和客户端到各游戏服务器的延迟时间,然后根据等待时间和延迟时间从各游戏服务器中确定合适的目标服务器。在一种可选的实施方式中,步骤S130还可以通过以下方式实现:
根据游戏请求的等待时间确定延迟容忍范围;
获取客户端和各游戏服务器之间的延迟时间,将延迟时间处于延迟容忍范围内的游戏服务器确定为游戏请求对应的目标服务器。
其中,延迟容忍范围是指客户端等待匹配的最大等待时间,可以通过监测游戏请求在匹配队列中的等待时间来确定,例如游戏请求的等待时间为t,当游戏请求在匹配队列中等待t时间后增加的等待时间为f(t),此时得到关于上述游戏请求的匹配结果,则该客户端游戏请求的延迟容忍范围g(t)=[0,t+f(t)],由于随着等待时间的增加,客户端的延迟容忍范围也可以相应地增加,因此,f(t)、g(t)和匹配时间t呈正相关。
一般的,随着游戏请求的等待时间增加,对应的延迟容忍范围增大,处于该范围内的游戏服务器越来越多。如何从中确定一个目标服务器,可以通过以下几种方式实现,但下述内容不应对本公开的保护范围造成限定:
(1)在处于延迟容忍范围内的游戏服务器中,选择负载最低的作为目标服务器,其中,负载是指在游戏服务器上等待处理的游戏请求数量。在各游戏服务器中,负载最低的游戏服务器由于其游戏请求数量,也就是客户端数量最少,则上述客户端的游戏请求在该游戏服务器上得到处理的时间可能最少,因此,在其他各游戏服务器的负载量较高的情况下,可以将负载最低的游戏服务器作为目标服务器。
(2)在处于延迟容忍范围内的游戏服务器中,选择与客户端的延迟时间最短的游戏服务器作为目标服务器,其中,延迟时间最短表示该游戏服务器上的游戏请求等待处理的时间是最短的,因此,为了使上述客户端的游戏请求得到及时的处理,在其他影响游戏服务器的因素条件相似的情况下,可以将延迟时间最短的游戏服务器作为目标服务器。
(3)综合考虑多个客户端的情况,选择合适的服务器作为目标服务器。具体来说:在匹配队列中,将每个正在匹配的客户端记为匹配单元,从匹配队列中取出一个匹配单元作为主元,以主元为参考,在匹配队列中扫描与主元满足匹配条件的其他匹配单元,其中,其他匹配单元可以称为从元,根据主元和从元到各游戏服务器的延迟时间,确定延迟时间在延迟容忍范围内的游戏服务器集合,具体的,根据延迟容忍范围确定游戏服务器集合可以通过以下方法得到:
假设有n个国家,si表示国家i的游戏服务器,其中1≦i≦n,设d(si)表示匹配单元到服务器si的延迟时间,匹配单元到所有游戏服务器的延迟时间的最低值为dm。根据上述定义可以得到:
dm=min(d(s1),d(s2),…d(sn))
匹配单元在等待时间t后,延迟容忍范围g(t)如下所示:
g(t)=[0,dm+f(t)]
即在时间t后,延迟容忍范围g(t)的取值范围为0至dm+f(t),因此,在延迟容忍范围内的游戏服务器集合Q可以通过下式确定:
Q={sx|d(sx)∈g(t)},1≤x≤n
通过上述方式,可以为每个主元和从元分别确定游戏服务器集合Q,记为Q主元、Q从元,当Q主元=Q从元时,说明在延迟容忍范围内主元和从元可选的游戏服务器是相同的,主元和从元可以匹配为一组;当Q主元≠Q从元时,说明在延迟容忍范围内主元和从元可选的游戏服务器不相同,主元和从元不能匹配为一组,该方式可以使匹配为一组的各客户端被分配至延迟时间较短的游戏服务器,避免一个或多个客户端被分配至延迟时间较长的游戏服务器。
在将主元和从元匹配为一组后,可以从主元和从元的可选游戏服务器中选取延迟时间最短或者负载最低的游戏服务器作为目标服务器。需要说明的是,在计算主元和从元各可选游戏服务器的延迟时间时,可以将游戏服务器与每个主元以及从元之间的延迟时间进行加权,得到综合的延迟时间。
通过上述根据客户端和游戏服务器的延迟时间确定目标服务器的方法,可以进一步减少客户端游戏请求等待处理的时间,并且对于不同国家或地区的玩家而言,可以根据其延迟时间将不同国家或地区的玩家匹配为一组,例如参考图3所示,国家A和国家B的玩家进行匹配,按照游戏请求的类型和延迟时间可以将玩家1、玩家2匹配为一组,并将其分配至游戏服务器1上进行游戏,将玩家3、玩家4、玩家5和玩家6,以及玩家7和玩家8分别匹配为一组,并将其分配至游戏服务器2上。
步骤S140.将游戏请求分配至目标服务器,以控制上述客户端和分配至目标服务器的其他客户端进行游戏匹配。
其中,目标服务器指的是接收客户端游戏请求,并执行关于客户端的匹配操作的服务器。
由于相比其他游戏服务器,目标服务器可以是负载最低或延迟时间最短的游戏服务器,因此可以将客户端的游戏请求分配至目标服务器,以在目标服务器上处理客户端的匹配请求或战斗请求等。
当分配至目标服务器的客户端数量小于一定数值,如组成游戏队伍的最低阈值时,分配至目标服务器的各客户端不能组成至少一个游戏分组,因此,在一种可选的实施方式中,当匹配队列确定预设数量的游戏请求对应于目标服务器时,可以将预设数量的游戏请求分配至目标服务器,使其中各游戏请求对应的客户端通过目标服务器进行匹配,并且在将多个客户端组成游戏分组时,该游戏队伍也可以通过目标服务器进行进一步的游戏操作,其中,预设数量可以是匹配在一起的一个游戏分组中的客户端数量,当游戏包括多种游戏模式,而各游戏模式中组成游戏分组所需的客户端数量均不相同时,通常可以设置为组成游戏分组的客户端数量的最大值。
根据游戏请求的数量,可以配置多个游戏服务器,因而游戏请求对应的目标服务器可以是由多个候选目标服务器形成的目标服务器集合,因此,在一种可选的实施方式中,步骤S140将游戏请求分配至目标服务器的方法可以通过以下方式实现:
当匹配队列确定预设数量的游戏请求对应于相同的目标服务器集合时,统计其中各游戏请求对应的客户端和各候选目标服务器之间的延迟时间,以计算各候选目标服务器的权重;
将预设数量的游戏请求分配至权重最高的候选目标服务器。
当在匹配队列中确定预设数量的游戏请求对应于相同的目标服务器集合,也就是说在延迟容忍范围内,各游戏请求对应的目标服务器不止一个,此时可以将延迟时间划分为不同的等级,例如根据客户端在不同延迟下的体验,将延迟等级划分为优秀(0~100分)、良好(100分~250分)较差(250分以上)三级,为每一级分配对应的权重,权重值越高表示其延迟越低,然后统计各游戏请求对应的客户端和各候选目标服务器之间的延迟时间,计算预设数量的游戏请求对应的权重和,得到每个候选目标服务器的评分,从而将评分最高的候选目标服务器确定为目标服务器。
综上所述,本示例性实施方式提出了一种游戏匹配方法和装置,通过将游戏请求发送至对应的匹配队列,并在匹配队列中,根据游戏请求的等待时间和客户端到各游戏服务器之间的延迟时间,将游戏请求分配至目标服务器。本示例性实施方式综合考虑了游戏请求的等待时间和客户端到各游戏服务器的延迟时间,可以将游戏请求分配至合适的目标服务器,相比仅考虑游戏请求等待时间和仅考虑客户端到各游戏服务器的延迟时间的方法,能够在玩家等待时间较短的情况下将其分配至延迟和负载等较低的游戏服务器,从而综合了游戏请求等待时间和客户端到各游戏服务器的延迟时间两方面因素对匹配效率的影响,提高了玩家游戏请求的匹配效率。
进一步的,本公开示例性实施方式还提供了一种游戏匹配装置,参考图4所示,游戏匹配装置400可以包括:接收模块410,可以用于接收客户端发送的游戏请求;发送模块420,可以用于将游戏请求发送至对应的匹配队列;确定模块430,可以用于在匹配队列中,根据游戏请求的等待时间以及客户端和各游戏服务器之间的延迟时间,从各游戏服务器中确定游戏请求对应的目标服务器;分配模块440,可以用于将游戏请求分配至目标服务器,以控制客户端和分配至目标服务器的其他客户端进行游戏匹配。
在本公开的一种示例性实施方式中,确定模块430可以包括:第一确定单元,根据游戏请求的等待时间确定延迟容忍范围;第二确定单元,可以用于获取客户端和各游戏服务器之间的延迟时间,将延迟时间处于延迟容忍范围内的游戏服务器确定为游戏请求对应的目标服务器。
在本公开的一种示例性实施方式中,分配模块440可以用于当匹配队列确定预设数量的游戏请求对应于目标服务器时,将预设数量的游戏请求分配至目标服务器,使其中各游戏请求对应的客户端通过目标服务器进行游戏匹配。
在本公开的一种示例性实施方式中,游戏请求对应的目标服务器为多个候选目标服务器形成的目标服务器集合,由此分配模块440还可以包括:计算单元,可以用于当匹配队列确定预设数量的游戏请求对应于相同的目标服务器集合时,统计其中各游戏请求对应的客户端和各候选目标服务器之间的延迟时间,以计算各候选目标服务器的权重;分配单元,可以用于将预设数量的游戏请求分配至权重最高的候选目标服务器。
在本公开的一种示例性实施方式中,在将游戏请求发送至对应的匹配队列后,分配模块440还可以用于当匹配队列的匹配处理时间超出预设阈值时,将匹配队列中的游戏请求迁移至其他匹配队列。
在本公开的一种示例性实施方式中,发送模块420可以包括:第一获取单元,用于获取最近的预设时间内各匹配队列所接收的游戏请求的数量,以得到各匹配队列的并发参数;第二获取单元,用于获取各匹配队列当前的负载参数;确定单元,用于根据并发参数和负载参数,确定游戏请求对应的匹配队列。
在本公开的一种示例性实施方式中,游戏请求可以包括所请求进行的游戏类型;发送模块420还可以通过在游戏类型下的匹配队列中,根据并发参数和负载参数,确定游戏请求对应的匹配队列。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的方案细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
参考图5所示,描述了根据本公开的示例性实施方式的用于实现上述方法的程序产品500,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品500可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备。下面参照图6来描述根据本公开的这种示例性实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图6所示,电子设备600可以以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630和显示单元640。
其中,存储单元620存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元610可以执行图1至图2所示的方法步骤等。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)621和/或高速缓存存储单元622,还可以进一步包括只读存储单元(ROM)623。
存储单元620还可以包括具有一组(至少一个)程序模块625的程序/实用工具624,这样的程序模块625包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例性实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开示例性实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (10)
1.一种游戏匹配方法,其特征在于,所述方法包括:
接收客户端发送的游戏请求;
将所述游戏请求发送至对应的匹配队列;
在所述匹配队列中,根据所述游戏请求的等待时间以及所述客户端和各游戏服务器之间的延迟时间,从所述各游戏服务器中确定所述游戏请求对应的目标服务器;
将所述游戏请求分配至所述目标服务器,以控制所述客户端和分配至所述目标服务器的其他客户端进行游戏匹配。
2.根据权利要求1所述的游戏匹配方法,其特征在于,所述根据所述游戏请求的等待时间以及所述客户端和各游戏服务器之间的延迟时间,从所述各游戏服务器中确定所述游戏请求对应的目标服务器,包括:
根据所述游戏请求的等待时间确定延迟容忍范围;
获取所述客户端和各游戏服务器之间的延迟时间,将延迟时间处于所述延迟容忍范围内的游戏服务器确定为所述游戏请求对应的目标服务器。
3.根据权利要求1或2所述的游戏匹配方法,其特征在于,所述将所述游戏请求分配至所述目标服务器,以控制所述客户端和分配至所述目标服务器的其他客户端进行游戏匹配,包括:
当所述匹配队列确定预设数量的游戏请求对应于所述目标服务器时,将所述预设数量的游戏请求分配至所述目标服务器,使其中各所述游戏请求对应的客户端通过所述目标服务器进行游戏匹配。
4.根据权利要求3所述的游戏匹配方法,其特征在于,所述游戏请求对应的目标服务器为多个候选目标服务器形成的目标服务器集合;
所述当所述匹配队列确定预设数量的游戏请求对应于所述目标服务器时,将所述预设数量的游戏请求分配至所述目标服务器,包括:
当所述匹配队列确定预设数量的游戏请求对应于相同的所述目标服务器集合时,统计其中各所述游戏请求对应的客户端和各所述候选目标服务器之间的延迟时间,以计算各所述候选目标服务器的权重;
将所述预设数量的游戏请求分配至权重最高的所述候选目标服务器。
5.根据权利要求1所述的游戏匹配方法,其特征在于,在将所述游戏请求发送至对应的匹配队列后,所述方法还包括:
当所述匹配队列的匹配处理时间超出预设阈值时,将所述匹配队列中的游戏请求迁移至其他匹配队列。
6.根据权利要求1所述的游戏匹配方法,其特征在于,所述游戏请求对应的匹配队列通过以下方式确定:
获取最近的预设时间内各匹配队列所接收的游戏请求的数量,以得到各匹配队列的并发参数;
获取各匹配队列当前的负载参数;
根据所述并发参数和所述负载参数,确定所述游戏请求对应的匹配队列。
7.根据权利要求7所述的游戏匹配方法,其特征在于,所述游戏请求包括所请求进行的游戏类型;所述根据所述并发参数和所述负载参数,确定所述游戏请求对应的匹配队列,包括:
在所述游戏类型下的匹配队列中,根据所述并发参数和所述负载参数,确定所述游戏请求对应的匹配队列。
8.一种游戏匹配装置,其特征在于,所述装置包括:
接收模块,用于接收客户端发送的游戏请求;
发送模块,用于将所述游戏请求发送至对应的匹配队列;
确定模块,用于在所述匹配队列中,根据所述游戏请求的等待时间以及所述客户端和各游戏服务器之间的延迟时间,从所述各游戏服务器中确定所述游戏请求对应的目标服务器;
分配模块,用于将所述游戏请求分配至所述目标服务器,以控制所述客户端和分配至所述目标服务器的其他客户端进行游戏匹配。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911350548.8A CN111135586B (zh) | 2019-12-24 | 2019-12-24 | 游戏匹配方法、游戏匹配装置、存储介质与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911350548.8A CN111135586B (zh) | 2019-12-24 | 2019-12-24 | 游戏匹配方法、游戏匹配装置、存储介质与电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111135586A true CN111135586A (zh) | 2020-05-12 |
CN111135586B CN111135586B (zh) | 2023-06-27 |
Family
ID=70519751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911350548.8A Active CN111135586B (zh) | 2019-12-24 | 2019-12-24 | 游戏匹配方法、游戏匹配装置、存储介质与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111135586B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930434A (zh) * | 2020-05-29 | 2020-11-13 | 北京视博云信息技术有限公司 | 一种云应用的启动方法、装置、可读存储介质及设备 |
CN113750540A (zh) * | 2021-09-17 | 2021-12-07 | 腾讯科技(成都)有限公司 | 游戏匹配方法、装置、存储介质及计算机程序产品 |
WO2023055288A1 (en) * | 2021-10-01 | 2023-04-06 | Garena Online Private Limited | Method for assigning a server to users in a multiplayer electronic game |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106823376A (zh) * | 2017-01-24 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 一种实现用户匹配的方法及装置 |
CN109499058A (zh) * | 2018-11-20 | 2019-03-22 | 网易(杭州)网络有限公司 | 游戏中的匹配确定方法及装置 |
-
2019
- 2019-12-24 CN CN201911350548.8A patent/CN111135586B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106823376A (zh) * | 2017-01-24 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 一种实现用户匹配的方法及装置 |
CN109499058A (zh) * | 2018-11-20 | 2019-03-22 | 网易(杭州)网络有限公司 | 游戏中的匹配确定方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930434A (zh) * | 2020-05-29 | 2020-11-13 | 北京视博云信息技术有限公司 | 一种云应用的启动方法、装置、可读存储介质及设备 |
CN111930434B (zh) * | 2020-05-29 | 2024-04-16 | 北京视博云信息技术有限公司 | 一种云应用的启动方法、装置、可读存储介质及设备 |
CN113750540A (zh) * | 2021-09-17 | 2021-12-07 | 腾讯科技(成都)有限公司 | 游戏匹配方法、装置、存储介质及计算机程序产品 |
CN113750540B (zh) * | 2021-09-17 | 2023-08-18 | 腾讯科技(成都)有限公司 | 游戏匹配方法、装置、存储介质及计算机程序产品 |
WO2023055288A1 (en) * | 2021-10-01 | 2023-04-06 | Garena Online Private Limited | Method for assigning a server to users in a multiplayer electronic game |
Also Published As
Publication number | Publication date |
---|---|
CN111135586B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246229B (zh) | 一种分发资源获取请求的方法和装置 | |
CN111135586B (zh) | 游戏匹配方法、游戏匹配装置、存储介质与电子设备 | |
EP3574965A1 (en) | Method for realizing user matching and related device | |
US10091281B1 (en) | Multi-user application host-system selection system | |
CN109460297B (zh) | 一种边缘云游戏缓存和资源调度方法 | |
KR102541580B1 (ko) | 멀티플레이어 게임 세션들을 관리하기 위한 방법 및 시스템 | |
CN108499100B (zh) | 一种基于边缘计算的云游戏错误恢复方法及系统 | |
WO2022222755A1 (zh) | 业务处理方法、装置及存储介质 | |
WO2014194695A1 (en) | Method and server for pvp team matching in computer games | |
CN111659126B (zh) | 匹配进程的分配方法、装置、服务器、终端及存储介质 | |
JP2018007964A (ja) | ビデオゲーム処理プログラム、及びビデオゲーム処理システム | |
Duong et al. | QoS-aware revenue-cost optimization for latency-sensitive services in IaaS clouds | |
US20230093368A1 (en) | Game data processing method, apparatus, and system, electronic device, and storage medium | |
CN110233840B (zh) | 一种业务处理方法、装置、设备和存储介质 | |
CN109939436A (zh) | 游戏回放方法、装置、计算机存储介质及电子设备 | |
JP2019034201A (ja) | ビデオゲーム処理プログラム、及びビデオゲーム処理システム | |
CN116431282A (zh) | 一种云虚拟主机服务器管理方法、装置、设备及存储介质 | |
WO2020233364A1 (zh) | 资源处理平台的确认方法、装置、电子设备和介质 | |
JP2022525880A (ja) | サーバーの負荷予測及び高度なパフォーマンス測定 | |
CN111249747B (zh) | 一种游戏中的信息处理方法及装置 | |
CN117453396A (zh) | 一种基于边缘计算的任务数据处理方法、装置及电子设备 | |
CN104572276A (zh) | 一种基于云计算的并发数据处理方法 | |
CN111632385A (zh) | 一种游戏控制方法、装置、计算机设备及存储介质 | |
CA2833346C (en) | Reducing latency for served applications by anticipatory preprocessing | |
CN111111216B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |