CN112398957B - 服务器的调度方法和装置、存储介质及电子设备 - Google Patents
服务器的调度方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN112398957B CN112398957B CN202110078733.7A CN202110078733A CN112398957B CN 112398957 B CN112398957 B CN 112398957B CN 202110078733 A CN202110078733 A CN 202110078733A CN 112398957 B CN112398957 B CN 112398957B
- Authority
- CN
- China
- Prior art keywords
- servers
- partition management
- group
- special
- 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.)
- Active
Links
Images
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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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
-
- 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/10—Protocols in which an application is distributed across nodes in the network
Abstract
本发明公开了一种服务器的调度方法和装置、存储介质及电子设备。其中,该方法包括:在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,响应于第一分配请求,向一组分区管理服务器中的目标分区管理服务器发送第二分配请求,获取目标分区管理服务器发送的目标专用服务器的地址信息,向一组帐号发送目标专用服务器的地址信息。本发明解决了相关技术中存在的服务器的调度效率过低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种服务器的调度方法和装置、存储介质及电子设备。
背景技术
目前的相关技术中,传统的专用服务器管理方法一般是根据预估数据分配固定数量的服务器,容易造成成本浪费或扩容受限,会随着玩家数急剧上升而需要部署大量的专用服务器,随着玩家数量降低又会导致大量的专用服务器由于负载较低而闲置。其次,单个专用服务器从启动到满足分配给玩家进入游戏存在较长的启动时长,则会加长玩家在进入游戏的加载等待时间,直接影响到玩家的游戏体验。
例如,对于游戏应用而言,用于承载单局游戏的专用服务器一般固定部署在某些区域,而具体在这些区域该部署到多少量级的机器是由玩家所决定的,部署过多会造成机器成本的浪费,部署过少会直接导致玩家的游戏体验变差,或者直接导致游戏不能正常开局,而通过人工操作的扩缩容方法不仅不够及时,且无法做到立即响应。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种服务器的调度方法和装置、存储介质及电子设备,以至少解决相关技术中存在的服务器的调度效率过低的技术问题。
根据本发明实施例的一个方面,提供了一种服务器的调度方法,包括:在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,其中,所述第一分配请求用于请求为所述一局游戏分配专用服务器;响应于所述第一分配请求,向所述一组分区管理服务器中的目标分区管理服务器发送第二分配请求,其中,所述一组分区管理服务器中的每个分区管理服务器与一组专用服务器连接,在所述一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在预设的数量阈值参数的取值之内;获取所述目标分区管理服务器发送的目标专用服务器的地址信息,其中,预启动的、且待分配的所述目标专用服务器是分配给所述一局游戏的专用服务器;向所述一组帐号发送所述目标专用服务器的地址信息,其中,所述一组帐号用于通过所述目标专用服务器进行所述一局游戏。
可选地,所述方法还包括:获取在所述一组分区管理服务器所连接的专用服务器中预启动的、且待分配的专用服务器的当前数量、以及所述数量阈值参数的当前取值;根据所述当前数量和所述当前取值,对所述一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整,以使得在所述一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在所述数量阈值参数的当前取值之内。
可选地,所述获取所述数量阈值参数的当前取值,包括:获取目标游戏应用的当前在线人数,其中,所述一局游戏为所述目标游戏应用的一局游戏;获取与所述当前在线人数对应的所述数量阈值参数的当前取值,其中,所述当前取值与所述当前在线人数呈正相关,或者,所述当前取值与所述当前在线人数所在的当前人数范围呈正相关。
可选地,所述根据所述当前数量和所述当前取值,对所述一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整,包括:在所述当前数量小于所述当前取值的情况下,对所述一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动,使得所述第一数量的已停用的专用服务器成为预启动的、且待分配的专用服务器,其中,所述第一数量等于或小于所述当前取值减去所述当前数量得到的第一差值;和/或在所述当前数量大于所述当前取值的情况下,对所述一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用,使得所述第二数量的预启动的、且待分配的专用服务器成为已停用的专用服务器,其中,所述第二数量等于或小于所述当前数量减去所述当前取值得到的第二差值。
可选地,所述对所述一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动,包括:根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第一差值,确定所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,其中,确定出的所述待进行预启动的专用服务器的总数量等于所述第一差值;按照所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动。
可选地,所述根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第一差值,确定所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,包括:按照所述负载信息所表示的负载从大到小的顺序,对所述一组分区管理服务器进行排序,其中,所述一组分区管理服务器包括N个分区管理服务器,N为大于1的自然数;根据所述第一差值,分别确定排序后的前M个分区管理服务器对应的待进行预启动的专用服务器的数量,得到M个数量,其中,M小于或等于N,在M小于N的情况下,与所述N个分区管理服务器中除所述前M个分区管理服务器之外的分区管理服务器对应的待进行预启动的专用服务器的数量为0。
可选地,所述按照所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动,包括:在第一分区管理服务器对应的待进行预启动的专用服务器的数量为第三数量、所述第一分区管理服务器所连接的一组专用服务器中已停用的专用服务器的数量为第四数量、且所述第四数量大于或等于所述第三数量的情况下,在所述第一分区管理服务器所连接的一组专用服务器中,对所述第三数量的已停用的专用服务器进行预启动,其中,所述一组分区管理服务器包括所述第一分区管理服务器;在所述第四数量小于所述第三数量的情况下,在所述第一分区管理服务器所连接的一组专用服务器中,对所述第四数量的已停用的专用服务器进行预启动。
可选地,所述对所述一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用,包括:根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第二差值,确定所述每个分区管理服务器对应的待进行停用的专用服务器的数量,其中,确定出的所述待进行停用的专用服务器的总数量等于所述第二差值;按照所述每个分区管理服务器对应的待进行停用的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用。
可选地,所述根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第二差值,确定所述每个分区管理服务器对应的待进行停用的专用服务器的数量,包括:按照所述负载信息所表示的负载从小到大的顺序,对所述一组分区管理服务器进行排序,其中,所述一组分区管理服务器包括N个分区管理服务器,N为大于1的自然数;根据所述第二差值,分别确定排序后的前P个分区管理服务器对应的待进行预启动的专用服务器的数量,得到P个数量,其中,P小于或等于N,在P小于N的情况下,与所述N个分区管理服务器中除所述前P个分区管理服务器之外的分区管理服务器对应的待进行预启动的专用服务器的数量为0。
可选地,所述按照所述每个分区管理服务器对应的待进行停用的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用,包括:在第二分区管理服务器对应的待进行停用的专用服务器的数量为第五数量、所述第二分区管理服务器所连接的一组专用服务器中预启动的、且待分配的专用服务器的数量为第六数量、且所述第五数量小于或等于所述第六数量的情况下,在所述第二分区管理服务器所连接的一组专用服务器中,对所述第五数量的预启动的、且待分配的专用服务器进行停用,其中,所述一组分区管理服务器包括所述第二分区管理服务器;在所述第五数量大于所述第六数量的情况下,在所述第二分区管理服务器所连接的一组专用服务器中,对所述第六数量的预启动的、且待分配的专用服务器进行停用。
可选地,获取与所述当前在线人数对应的所述数量阈值参数的当前取值,包括:获取所述一局游戏中预先配置的一组游戏模式,其中,所述一组游戏模式中每个游戏模式具有对应的目标比值以及在所述一局游戏中参与所述每个游戏模式的人数,所述目标比值用于表示所述参与所述每个游戏模式的总人数与当前在线人数的比值;获取所述专用服务器运行所述一局游戏的第一时间信息以及所述专用服务器由停用状态转换为预启动的、且待分配状态的第二时间信息;基于所述目标比值、所述一局游戏中参与所述每个游戏模式的人数、所述当前在线人数、所述第一时间信息以及所述第二时间信息确定与所述当前在线人数对应的所述数量阈值参数的当前取值。
可选地,所述向所述一组分区管理服务器中的目标分区管理服务器发送第二分配请求,包括:向所述一组分区管理服务器中负载最小的所述目标分区管理服务器发送所述第二分配请求。
根据本发明实施例的另一方面,还提供了一种服务器的调度装置,包括:
第一获取模块,用于在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,其中,所述第一分配请求用于请求为所述一局游戏分配专用服务器;
第一发送模块,用于响应于所述第一分配请求,向所述一组分区管理服务器中的目标分区管理服务器发送第二分配请求,其中,所述一组分区管理服务器中的每个分区管理服务器与一组专用服务器连接,在所述一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在预设的数量阈值参数的取值之内;
第二获取模块,用于获取所述目标分区管理服务器发送的目标专用服务器的地址信息,其中,预启动的、且待分配的所述目标专用服务器是分配给所述一局游戏的专用服务器;
第二发送模块,用于向所述一组帐号发送所述目标专用服务器的地址信息,其中,所述一组帐号用于通过所述目标专用服务器进行所述一局游戏。
可选地,所述装置还用于:获取在所述一组分区管理服务器所连接的专用服务器中预启动的、且待分配的专用服务器的当前数量、以及所述数量阈值参数的当前取值;根据所述当前数量和所述当前取值,对所述一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整,以使得在所述一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在所述数量阈值参数的当前取值之内。
可选地,所述装置用于通过如下方式获取所述数量阈值参数的当前取值:获取目标游戏应用的当前在线人数,其中,所述一局游戏为所述目标游戏应用的一局游戏;获取与所述当前在线人数对应的所述数量阈值参数的当前取值,其中,所述当前取值与所述当前在线人数呈正相关,或者,所述当前取值与所述当前在线人数所在的当前人数范围呈正相关。
可选地,所述装置用于通过如下方式根据所述当前数量和所述当前取值,对所述一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整:在所述当前数量小于所述当前取值的情况下,对所述一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动,使得所述第一数量的已停用的专用服务器成为预启动的、且待分配的专用服务器,其中,所述第一数量等于或小于所述当前取值减去所述当前数量得到的第一差值;和/或在所述当前数量大于所述当前取值的情况下,对所述一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用,使得所述第二数量的预启动的、且待分配的专用服务器成为已停用的专用服务器,其中,所述第二数量等于或小于所述当前数量减去所述当前取值得到的第二差值。
可选地,所述装置用于通过如下方式对所述一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动:根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第一差值,确定所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,其中,确定出的所述待进行预启动的专用服务器的总数量等于所述第一差值;按照所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动。
可选地,所述装置用于通过如下方式根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第一差值,确定所述每个分区管理服务器对应的待进行预启动的专用服务器的数量:按照所述负载信息所表示的负载从大到小的顺序,对所述一组分区管理服务器进行排序,其中,所述一组分区管理服务器包括N个分区管理服务器,N为大于1的自然数;根据所述第一差值,分别确定排序后的前M个分区管理服务器对应的待进行预启动的专用服务器的数量,得到M个数量,其中,M小于或等于N,在M小于N的情况下,与所述N个分区管理服务器中除所述前M个分区管理服务器之外的分区管理服务器对应的待进行预启动的专用服务器的数量为0。
可选地,所述装置用于通过如下方式按照所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动:在第一分区管理服务器对应的待进行预启动的专用服务器的数量为第三数量、所述第一分区管理服务器所连接的一组专用服务器中已停用的专用服务器的数量为第四数量、且所述第四数量大于或等于所述第三数量的情况下,在所述第一分区管理服务器所连接的一组专用服务器中,对所述第三数量的已停用的专用服务器进行预启动,其中,所述一组分区管理服务器包括所述第一分区管理服务器;在所述第四数量小于所述第三数量的情况下,在所述第一分区管理服务器所连接的一组专用服务器中,对所述第四数量的已停用的专用服务器进行预启动。
可选地,所述装置用于通过如下方式对所述一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用:根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第二差值,确定所述每个分区管理服务器对应的待进行停用的专用服务器的数量,其中,确定出的所述待进行停用的专用服务器的总数量等于所述第二差值;按照所述每个分区管理服务器对应的待进行停用的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用。
可选地,所述装置用于通过如下方式根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第二差值,确定所述每个分区管理服务器对应的待进行停用的专用服务器的数量:按照所述负载信息所表示的负载从小到大的顺序,对所述一组分区管理服务器进行排序,其中,所述一组分区管理服务器包括N个分区管理服务器,N为大于1的自然数;根据所述第二差值,分别确定排序后的前P个分区管理服务器对应的待进行预启动的专用服务器的数量,得到P个数量,其中,P小于或等于N,在P小于N的情况下,与所述N个分区管理服务器中除所述前P个分区管理服务器之外的分区管理服务器对应的待进行预启动的专用服务器的数量为0。
可选地,所述装置用于通过如下方式按照所述每个分区管理服务器对应的待进行停用的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用:在第二分区管理服务器对应的待进行停用的专用服务器的数量为第五数量、所述第二分区管理服务器所连接的一组专用服务器中预启动的、且待分配的专用服务器的数量为第六数量、且所述第五数量小于或等于所述第六数量的情况下,在所述第二分区管理服务器所连接的一组专用服务器中,对所述第五数量的预启动的、且待分配的专用服务器进行停用,其中,所述一组分区管理服务器包括所述第二分区管理服务器;在所述第五数量大于所述第六数量的情况下,在所述第二分区管理服务器所连接的一组专用服务器中,对所述第六数量的预启动的、且待分配的专用服务器进行停用。
可选地,所述装置用于通过如下方式获取与所述当前在线人数对应的所述数量阈值参数的当前取值:获取所述一局游戏中预先配置的一组游戏模式,其中,所述一组游戏模式中每个游戏模式具有对应的目标比值以及在所述一局游戏中参与所述每个游戏模式的人数,所述目标比值用于表示所述参与所述每个游戏模式的总人数与当前在线人数的比值;获取所述专用服务器运行所述一局游戏的第一时间信息以及所述专用服务器由停用状态转换为预启动的、且待分配状态的第二时间信息;基于所述目标比值、所述一局游戏中参与所述每个游戏模式的人数、所述当前在线人数、所述第一时间信息以及所述第二时间信息确定与所述当前在线人数对应的所述数量阈值参数的当前取值。
可选地,所述装置用于通过如下方式向所述一组分区管理服务器中的目标分区管理服务器发送第二分配请求:向所述一组分区管理服务器中负载最小的所述目标分区管理服务器发送所述第二分配请求。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述服务器的调度方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的服务器的调度方法。
在本发明实施例中,采用在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,响应于第一分配请求,向一组分区管理服务器中的目标分区管理服务器发送第二分配请求,获取目标分区管理服务器发送的目标专用服务器的地址信息,向一组帐号发送目标专用服务器的地址信息的方式,通过在一组分区管理服务器所连接的专用服务器中,将预启动的、且待分配的专用服务器的数量控制在预设的数量阈值参数的取值之内,达到了实现待分配的专用服务器能够进行自适应调整,满足玩家在匹配成功后可以立即分配到可用的专用服务器的目的,从而实现了提高服务器的调度速度与效率,优化用户的使用体验的技术效果,进而解决了相关技术中存在的服务器的调度效率过低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的服务器的调度方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的服务器的调度方法的流程示意图;
图3是根据本发明实施例的一种可选的服务器的调度方法的示意图;
图4是根据本发明实施例的另一种可选的服务器的调度方法的示意图;
图5是根据本发明实施例的又一种可选的服务器的调度方法的示意图;
图6是根据本发明实施例的又一种可选的服务器的调度方法的示意图;
图7是根据本发明实施例的又一种可选的服务器的调度方法的示意图;
图8是根据本发明实施例的又一种可选的服务器的调度方法的示意图;
图9是根据本发明实施例的一种可选的服务器的调度装置的结构示意图;
图10是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
DS:专用服务器(Dedicated Server)。
UE:虚幻引擎(Unreal Engine)。
下面结合实施例对本发明进行说明:
根据本发明实施例的一个方面,提供了一种服务器的调度方法,可选地,在本实施例中,上述服务器的调度方法可以应用于如图1所示的由服务器101和用户终端103所构成的硬件环境中。如图1所示,服务器101通过网络与终端103进行连接,可用于为用户终端或用户终端上安装的客户端提供服务,客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端、游戏客户端等。可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,例如,游戏数据存储服务器,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络,用户终端103可以是配置有目标应用的终端,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等计算机设备,上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器,可以包括但不限于路由或者网关,具体而言,可以包括但不限于为一局游戏分配专用服务器的服务器101、一组分区管理服务器109以及多组专用服务器111,其中,一组分组管理服务器包括目标分区管理服务器113,多组专用服务器111包括目标专用服务器115,应用107安装于上述用户终端103上,一组帐号通过应用107在发起匹配请求后,由服务器101返回用于运行一局游戏的目标专用服务器115的地址信息,并通过目标专用服务器115参与一局游戏。
上述仅是一种示例,本实施例不做任何具体限定。
结合图1所示,上述服务器的调度方法可以在用户终端103通过如下步骤实现:
S1,服务器101获取由用户终端103上的应用107发送的第一分配请求;
S2,服务器101响应于第一分配请求,向一组分区管理服务器109中的目标分区管理服务器113发送第二分配请求;
S3,服务器101获取目标分区管理服务器113发送的目标专用服务器115的地址信息;
S4,服务器101向一组帐号登录的应用107所在的用户终端103发送目标专用服务器115的地址信息,以使得一组帐号通过目标专用服务器115进行一局游戏。
上述仅是一种示例,本实施例不做具体的限定。
可选地,作为一种可选的实施方式,如图2所示,上述服务器的调度方法包括:
S202,在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,其中,第一分配请求用于请求为一局游戏分配专用服务器;
S204,响应于第一分配请求,向一组分区管理服务器中的目标分区管理服务器发送第二分配请求,其中,一组分区管理服务器中的每个分区管理服务器与一组专用服务器连接,在一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在预设的数量阈值参数的取值之内;
S206,获取目标分区管理服务器发送的目标专用服务器的地址信息,其中,预启动的、且待分配的目标专用服务器是分配给一局游戏的专用服务器;
S208,向一组帐号发送目标专用服务器的地址信息,其中,一组帐号用于通过目标专用服务器进行一局游戏。
可选地,在本实施例中,上述服务器的调度方法可以包括但不限于应用于视频播放场景、即时通信场景、在线教育场景、游戏场景等使用专用服务器承载服务的应用场景中。
以应用场景为游戏应用场景为例,在一局游戏过程中,当多个帐号对应的终端均向服务器请求匹配一场直播,该游戏通过专用服务器承载运行,在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,为一组帐号分配专用服务器,响应于该分配请求,向一组分区管理服务器中的目标分区管理服务器发送第二分配请求,以从预启动的、且待分配的专用服务器中获取目标专用服务器的地址信息,向一组帐号发送目标专用服务器的地址信息,以进行一局游戏。
例如,图3是根据本发明实施例的一种可选的服务器的调度方法的示意图,如图3所示,以专用服务器为DS服务器,分区管理服务器为分区DS管理服务器为例,上述服务器的调度方法可以包括但不限于如下内容:
S1,接收玩家1、玩家2至玩家M(M个用户终端302)发送的匹配请求;
S2,该匹配请求经由路由器/交换机304传输至匹配服务器306;
S3,全局DS管理服务器308(本方案的执行主体)获取由匹配服务器306发送的请求分配DS服务器的上述第一分配请求;
S4,全局DS管理服务器308基于上述第一分配请求确定目标专用服务器,并向分区DS管理服务器310发送上述第二分配请求,以从分区1、分区2直至分区N中预启动的,且待分配的DS服务器中确定出目标专用服务器312;
S5,经由匹配服务器306向各个用户终端302发送上述目标专用服务器312的地址信息,以使得上述各个用户终端302与目标专用服务器312建立连接,并运行上述一局游戏。
其中,用于运行上述一局游戏的DS集群(包括目标专用服务器312)、全局DS管理服务器308以及分区DS管理服务器310分别部署在三地机房中,全局DS管理服务器308和其他全局模块部署在同一机房。当玩家1-M开始发起匹配并匹配成功,匹配服务器306向全局DS管理服务器308发起分配DS的请求,全局DS管理服务器308经过内部一系列计算处理后,将负载较低的分区2中的DS(目标专用服务器312)分配给玩家1-M进行开局游戏。
上述仅是一种示例,本实施例不做任何具体的限定。
可选地,在本实施例中,上述一局游戏可以包括但不限于射击游戏、闯关游戏、策略游戏、养成游戏等,其中,射击游戏可以包括但不限于第一人称射击游戏、第三人称射击游戏等所有使用热兵器类进行远程攻击的游戏。
可选地,在本实施例中,上述一组帐号可以包括但不限于在一局游戏所对应的后台服务器中已经注册,并允许参与一局游戏的帐号,具体而言,可以包括但不限于从多个不同区域中登录的游戏帐号。
可选地,在本实施例中,上述参与一局游戏的一组帐号匹配成功可以包括但不限于如下步骤:
S1,在安装有游戏应用的设备上显示有游戏界面,其中,图4是根据本发明实施例的又一种可选地服务器的调度方法的示意图,如图4所示,游戏界面402中包含用于进行一局游戏匹配的第一触控按钮404;
S2,从第一触控按钮404处获取第一触控操作,其中,所述第一触控操作用于第一帐号在目标游戏应用中匹配一局游戏;
S3,响应于第一触控操作,在设备上显示第一帐号的匹配结果,其中,图5是根据本发明实施例的又一种可选地服务器的调度方法的示意图,如图5所示,标识信息502用于指示目前的匹配进度,当标识信息502由1/18变为18/18时,可以视为匹配结果表示第一帐号已经匹配到一局游戏;
S4,在匹配结果表示第一帐号已经匹配到一局游戏的情况下,在第一设备上显示一局游戏画面,其中,图6是根据本发明实施例的又一种可选地服务器的调度方法的示意图,如图6所示,一局游戏画面602是在设备与目标专用服务器建立连接后生成的。
可选地,在本实施例中,上述分区管理服务器包括但不限于根据服务器所处区域、服务器的响应速度以及服务器的权限等方式进行分区后所配置的用于管理分区中存在的服务器,不同分区中的服务器可以用于执行相同或者不同的功能。
可选地,在本实施例中,上述专用服务器可以包括但不限于运行一局游戏、结算一局游戏、直播一局游戏、回放一局游戏等其中的一项功能,具体可以根据管理服务器配置的通知信息来实现,上述仅是一种示例,本实施例不做任何具体的限定。
例如,上述专用服务器可以包括但不限于DS服务器(Dedicated Server)等。
可选地,在本实施例中,上述预启动的、且待分配的专用服务器可以包括但不限于由分区管理服务器预先控制启动,但还未开始承载业务的专用服务器,上述预设的数量阈值参数可以包括但不限于由系统或者服务器根据历史信息预先配置的阈值参数,具体取值可以包括但不限于由工作人员进行预先配置,还可以包括但不限于由分区管理服务器进行自适应动态配置,以灵活调整该数量阈值参数的取值,进而能够保证预启动的、且待分配的专用服务器的数量能够满足当前游戏的运行需要。
可选地,在本实施例中,上述地址信息可以包括但不限于上述目标专用服务器的IP地址、端口信息等用于连接目标专用服务器以进行上述一局游戏的信息。
可选地,在本实施例中,上述每个分区管理服务器中包括的专用服务器的数量可以相同或者不同,上述预启动的、且待分配的专用服务器的数量被控制在预设的数量阈值参数的取值之内可以包括但不限于将上述预启动的、且待分配的专用服务器的数量配置为小于等于预设的数量阈值参数的取值。
上述仅是一种示例,本实施例不做任何具体的限定。
可选地,在本实施例中,上述服务器的调度方法可以应用于包括但不限于全局全服的游戏应用配置架构中,以专用服务器为DS服务器,分区管理服务器为分区DS管理服务器为例,在全局全服架构下,全服的在线玩家会同时匹配开局,对于DS(对应于前述的专用服务器)的消耗跟随当前在线玩家数产生变化。基于UE开发的DS对机器硬件的要求很高,机器资源的消耗较高,因此,单台服务器所能承载的DS有限。首先,传统的DS管理方法会随着玩家数急剧上升而需要大量的服务器部署为DS,随着玩家数量降低又会导致大量的DS服务器由于负载较低而闲置。其次,单个DS从启动到满足分配给玩家进入游戏存在较长的启动时长,则会加长玩家在进入游戏的加载等待时间,直接影响到玩家的游戏体验,而在本实施例中,考虑到机房/机器/带宽等成本因素,对于全区全服游戏,服务器一般固定部署在某些区域,而具体在该区域部署多少量级的机器可以包括但不限于由在线玩家的数量所决定,部署过多专用服务器会造成机器成本的浪费,部署过少专用服务器会直接导致玩家的游戏体验变差,或者直接导致游戏不能正常开局,而通过人工操作的扩缩容方法不仅不够及时,且无法做到立即响应,通过本实施例中,将预启动的、且待分配的专用服务器的数量控制在预设的数量阈值参数的取值之内,通过自适应的预启动DS,避免根据预估数据分配固定数量的服务器,进而,能够解决成本浪费或扩容受限的技术问题,对玩家而言提升匹配到开局的流畅度,达到提高匹配效率、优化用户的使用体验的技术效果。
可选地,在本实施例中,以专用服务器为DS服务器,分区管理服务器为分区DS管理服务器为例,采用上述服务器的调度方法,具体可以包括但不限于如下示例性步骤:
S1,在全球同服的基础上,根据预设DS容量,各区域启动初始量级DS,同一台机器上的一组DS交由该机器下的管理服务(对应于前述的分区管理服务器)进行管理;
S2,配置全局层的DS管理器(对应于本实施例的执行主体),负责收集所有DS及DS所在机器的负载信息,得到当前全局层的负载情况。经过内部算法进行计算,预判每台服务器上是否满足自适应条件,动态通知相应服务器以变更DS状态,维持到理想服务状态。
S3,玩家匹配完成后,对全局层的DS管理器发起分配DS请求,DS管理器则根据当前负载情况分配合适的DS并通知玩家进入战局。
通过本实施例,采用在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,响应于第一分配请求,向一组分区管理服务器中的目标分区管理服务器发送第二分配请求,获取目标分区管理服务器发送的目标专用服务器的地址信息,向一组帐号发送目标专用服务器的地址信息的方式,通过在一组分区管理服务器所连接的专用服务器中,将预启动的、且待分配的专用服务器的数量控制在预设的数量阈值参数的取值之内,达到了实现待分配的专用服务器能够进行自适应调整,满足玩家在匹配成功后可以立即分配到可用的专用服务器的目的,从而实现了提高服务器的调度速度与效率,优化用户的使用体验的技术效果,进而解决了相关技术中存在的服务器的调度效率过低的技术问题。
作为一种可选的方案,所述方法还包括:
获取在所述一组分区管理服务器所连接的专用服务器中预启动的、且待分配的专用服务器的当前数量、以及所述数量阈值参数的当前取值;
根据所述当前数量和所述当前取值,对所述一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整,以使得在所述一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在所述数量阈值参数的当前取值之内。
可选地,在本实施例中,上述一组分区管理服务器所连接的专用服务器中预启动的、且待分配的专用服务器的当前数量包括但不限于该分区中预启动的、且待分配的专用服务器的总数,上述当前数量可以包括但不限于从分区管理服务器上报的负载信息中获取,各个分区均上报各自预启动的、且待分配的专用服务器的数量,以得到上述在一组分区管理服务器所连接的专用服务器中预启动的、且待分配的专用服务器的当前数量。
可选地,在本实施例中,上述根据当前数量和当前取值,对一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整可以包括但不限于由系统或者服务器预设上述当前取值,再比较当前数量与当前取值的大小,在当前数量小于等于当前取值的情况下,预启动一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器,使得预启动后的专用服务器的数量与预启动前的当前数量之和趋近于上述数量阈值参数的当前取值。
可选地,在本实施例中,上述数量阈值参数的取值可以包括但不限于根据历史信息或者当前在线的玩家数量来动态进行调整。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,采用获取在一组分区管理服务器所连接的专用服务器中预启动的、且待分配的专用服务器的当前数量、以及数量阈值参数的当前取值,根据当前数量和当前取值,对一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整,以使得在一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在数量阈值参数的当前取值之内的方式,通过比较一组分区管理服务器所连接的专用服务器中预启动的、且待分配的专用服务器的当前数量与数量阈值参数的当前取值,以实现动态调整预启动的、且待分配的专用服务器数量,能够解决成本浪费或扩容受限的技术问题,对玩家而言提升匹配到开局的流畅度,达到优化用户的使用体验,避免专用服务器的数量不够用或者超过当前需求的技术效果。
作为一种可选的方案,所述获取所述数量阈值参数的当前取值,包括:
获取目标游戏应用的当前在线人数,其中,所述一局游戏为所述目标游戏应用的一局游戏;
获取与所述当前在线人数对应的所述数量阈值参数的当前取值,其中,所述当前取值与所述当前在线人数呈正相关,或者,所述当前取值与所述当前在线人数所在的当前人数范围呈正相关。
可选地,在本实施例中,上述目标游戏应用的当前在线人数可以包括但不限于进入上述目标游戏应用的人数、在目标游戏应用中正在匹配的当前在线人数,当目标游戏应用包括多个游戏模式的情况下,还可以包括但不限于针对每个游戏模式正在匹配的当前在线人数等。
可选地,在本实施例中,上述获取与当前在线人数对应的数量阈值参数的当前取值可以包括但不限于将当前取值与当前在线人数配置为正相关,或者,将当前取值与当前在线人数所在的当前人数范围配置为正相关。
需要说明的是,上述当前人数范围可以理解为对当前在线人数进行分级,根据专用服务器的承载能力将上述当前人数划分为多个人数区间,并针对每个人数区间配置对应的当前取值,在当前在线人数越多的情况下,将上述当前取值配置为越高的取值。
通过本实施例,采用获取目标游戏应用的当前在线人数,获取与所述当前在线人数对应的所述数量阈值参数的当前取值,其中,所述当前取值与所述当前在线人数呈正相关,或者,所述当前取值与所述当前在线人数所在的当前人数范围呈正相关的方式,通过根据目标游戏应用的当前在线人数确定数量参数阈值的当前取值,以实现动态调整预启动的、且待分配的专用服务器数量,能够解决成本浪费或扩容受限的技术问题,对玩家而言提升匹配到开局的流畅度,达到优化用户的使用体验,避免专用服务器的数量不够用或者超过当前需求的技术效果。
作为一种可选的方案,所述根据所述当前数量和所述当前取值,对所述一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整,包括:
在所述当前数量小于所述当前取值的情况下,对所述一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动,使得所述第一数量的已停用的专用服务器成为预启动的、且待分配的专用服务器,其中,所述第一数量等于或小于所述当前取值减去所述当前数量得到的第一差值;和/或
在所述当前数量大于所述当前取值的情况下,对所述一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用,使得所述第二数量的预启动的、且待分配的专用服务器成为已停用的专用服务器,其中,所述第二数量等于或小于所述当前数量减去所述当前取值得到的第二差值。
可选地,在本实施例中,上述一组分区管理服务器所连接的第一数量的已停用的专用服务器可以包括但不限于分区中除预启动的、且待分配的专用服务器之外的全部专用服务器,具体而言,可以包括但不限于未预启动的专用服务器,正在承载一局游戏的专用服务器以及停用的专用服务器等。
可选地,在本实施例中,在当前数量小于当前取值的情况下,对一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动,使得第一数量的已停用的专用服务器成为预启动的、且待分配的专用服务器可以理解为在当前数量小于当前取值的情况下,当前预启动的、且待分配的专用服务器的数量不能满足当前或未来的实际需要,因此,需要增加预启动的、且待分配的专用服务器的数量,以解决扩容受限的技术问题,避免专用服务器的数量不够用,优化用户的使用体验的技术效果。
可选地,在本实施例中,在当前数量大于当前取值的情况下,对一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用,使得第二数量的预启动的、且待分配的专用服务器成为已停用的专用服务器可以理解为在当前数量大于当前取值的情况下,当前预启动的、且待分配的专用服务器的数量超出了当前或未来的实际需要,因此,需要减少预启动的、且待分配的专用服务器的数量,以解决成本浪费的技术问题,达到优化用户的使用体验,避免专用服务器的数量超过当前需求,降低运营成本的技术效果。
作为一种可选的方案,所述对所述一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动,包括:
根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第一差值,确定所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,其中,确定出的所述待进行预启动的专用服务器的总数量等于所述第一差值;
按照所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动。
可选地,在本实施例中,上述负载信息可以包括但不限于一组专用服务器中正在承载业务的专用服务器数量,一组专用服务器中正在承载业务的专用服务器数量与一组专用服务器中全部专用服务器数量的比值,一组专用服务器的平均时延等,还可以包括但不限于其他能够用于表示当前一组专用服务器的网络负载状态的信息。
例如,以专用服务器为DS服务器,分区管理服务器为分区DS管理服务器为例,基于一组分区DS管理服务器或全部分区DS管理服务器上报至全局DS管理服务器的上报信息作为上述负载信息,可以获取到对应的DS集群的当前启停和运行情况。具体如下:
以<game_mode, map_id>(对应于目标游戏应用的一种游戏模式)为key,可得到整个DS集群下<game_mode, map_id>的处在三种状态(启动中starting,待分配wait_alloc,游戏中battle下的统计。
为方便分析,以一个数学模型得到对上述过程的描述:
地图级别:key为<game_mode, map_id>的特征向量可以用<wait_alloc,starting, battle >表示。
分区DS管理服务级别: 分区DS管理服务的负载值可以通过未启动empty值(对应于前述的一组分区管理服务器所连接的已停用的专用服务器)表示。
假设,整个DS集群容量为N,即可启动的DS最大数量。可以包括但不限于为处在不同状态下的DS数量设定权重,例如,
(1)待分配wait_alloc的DS:最容易且直接可以分配得到,分配最高权重A;
(2)启动中starting的DS:在若干时间内可转换为待分配wait_alloc状态,分配权重B;
(3)游戏中Battle的DS:在未来若干时间内可以转换为未启动empty状态,分配权重C。
以上,某种状态下的DS权重的含义为:其整体可提供分配的DS的贡献度大小。假设,如果DS启动时间足够短,则认为wait_alloc和starting状态的DS在一定时间单位下具有同等贡献度,且battle中的DS不具备贡献能力,上述A、B、C权重取值为1、1、0。
则,key为<game_mode, map_id>的当前score为,
其中,Score的取值范围区间为<0, A·N>,
Score的含义也是对key为<game_mode, map_id>可提供分配的DS的能力(专用服务器的数量)的量化,当A、B、C权重取值为1、1、0,,上述为不同类型分配权重的方式仅是一种示例,在具体实现过程中,也可以不考虑权重,将待分配wait_alloc的DS与启动中starting的DS视为同一种DS,则score为,
其中,x为wait_alloc状态的DS数量,y为starting状态的DS数量。即,key为<game_mode, map_id>的上述专用服务器中预启动的、且待分配的专用服务器的当前数量为Score。
进一步地,假设阈值T(对应于上述数量阈值参数的当前取值),当score < T且empty > 0,则需要启动key为<game_mode, map_id>的DS作为补充。启动数量计算为,
其中,B为上述starting的DS权重,θ为协调值,目的是需要的时候扩大专用服务器的数量。
当B取值为1,且不需要考虑协调值θ时,
其中,T为阈值,也即key为<game_mode, map_id>期望中的专用服务器的数量。
在每一次周期性检查的过程中,均通过补充Countneed_start 个DS以使得Score达到T,维持专用服务器的数量为T,其中,Countneed_start 即为上述待进行预启动的专用服务器的总数量。
通过本实施例,根据每个分区管理服务器所连接的一组专用服务器的负载信息以及第一差值,确定每个分区管理服务器对应的待进行预启动的专用服务器的数量,按照每个分区管理服务器对应的待进行预启动的专用服务器的数量,在每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动的方式,通过按照每个分区管理服务器对应的待进行预启动的专用服务器的数量,在每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动,以实现调整预启动的、且待分配的专用服务器数量,能够解决扩容受限的技术问题,对玩家而言提升匹配到开局的流畅度,达到优化用户的使用体验,避免专用服务器的数量不够用的技术效果。
作为一种可选的方案,所述根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第一差值,确定所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,包括:
按照所述负载信息所表示的负载从大到小的顺序,对所述一组分区管理服务器进行排序,其中,所述一组分区管理服务器包括N个分区管理服务器,N为大于1的自然数;
根据所述第一差值,分别确定排序后的前M个分区管理服务器对应的待进行预启动的专用服务器的数量,得到M个数量,其中,M小于或等于N,在M小于N的情况下,与所述N个分区管理服务器中除所述前M个分区管理服务器之外的分区管理服务器对应的待进行预启动的专用服务器的数量为0。
可选地,在本实施例中,上述负载信息所表示的顺序可以包括但不限于根据每个分组所对应的一组专用服务器中正在承载业务的专用服务器数量,一组专用服务器中正在承载业务的专用服务器数量与一组专用服务器中全部专用服务器数量的比值,一组专用服务器的平均时延等,还可以包括但不限于其他能够用于表示当前一组专用服务器的网络负载状态的信息等来进行排序。
例如,以按照一组专用服务器中正在承载业务的专用服务器数量作为负载信息进行排序为例,分区A中包括3个正在承载业务的专用服务器,分区B中包括6个正在承载业务的专用服务器,分区C中包括9个正在承载业务的专用服务器,则排序为分区A、分区B、分区C。
可选地,在本实施例中,上述根据第一差值,分别确定排序后的前M个分区管理服务器对应的待进行预启动的专用服务器的数量,得到M个数量可以包括但不限于将待进行预启动的专用服务器的数量平均分配给M个分区,还可以包括但不限于按照一定的权重分配给M个分区。
例如,以按照一组专用服务器中正在承载业务的专用服务器数量作为负载信息进行排序为例,分区A、分区B、分区C均包括30个专用服务器,分区A中包括3个正在承载业务的专用服务器,分区B中包括6个正在承载业务的专用服务器,分区C中包括9个正在承载业务的专用服务器,则排序为分区A、分区B、分区C,在M=3、第一差值为6的情况下,将上述6个预启动的专用服务器按照分区A、分区B、分区C中包括的正在承载业务的专用服务器与总的专用服务器数量之间的比值配置为权重以实现分配,也即,预启动分区A中的3个专用服务器,预启动分区B中的2个专用服务器,预启动分区C中的1个专用服务器。
可选地,在本实施例中,上述负载信息还可以包括但不限于如下内容:
(1)业务指数(分区DS空闲数)
例如,分区1的总上限total DS数量30,当前启动中Starting DS 5个,待分配Wait_alloc DS数量 10个,游戏中Gaming DS数量 5个,空闲未启动(empty)DS数量则为
即,30 – 5 – 10 – 5 = 10
(2)机器指数(分区机器性能量化值,衡量一台机器资源利用率,可认为是一个量化值,数值范围0-100)
与(1)业务指数成正比,例如,业务指数越高,即空闲数越多,机器指数越高,反之亦然。
总的负载指数可以包括但不限于业务指数+机器指数。
例如,当全服需要保持6个DS可以分配的情况下,执行如下步骤:
假设存在分区a,b,c,每个分区上限可以启动30个ds,则全服可启动90个ds。
先暂时忽略负载指数中的机器指数,仅以业务指数为例,
假设,
a空闲未启动(empty)DS为10,即a分区负载指数为10,
b空闲未启动(empty)DS为20,即b分区负载指数为20,
c空闲未启动(empty)DS为30,即c分区负载指数为30,
当游戏模式A根据小结2中的阈值,当前DS数量为0,阈值为6,此时需要再启动6台游戏模式A的DS,则按照负载比例,
分区a需启动
数量的游戏模式A的DS,
分区b需启动
数量的游戏模式A的DS,
分区c需启动
数量的游戏模式A的DS,
至此,游戏模式A的自启动分配为(分区a启动1个,分区b启动2个,分区c启动3个)。
上述仅是一种示例,本实施例不作任何具体的限定。
通过本实施例,采用按照负载信息所表示的负载从大到小的顺序,对一组分区管理服务器进行排序,根据第一差值,分别确定排序后的前M个分区管理服务器对应的待进行预启动的专用服务器的数量,得到M个数量的方式,通过按照负载信息对多个分区进行排序,以实现调整预启动的、且待分配的专用服务器数量,能够解决扩容受限的技术问题,对玩家而言提升匹配到开局的流畅度,达到优化用户的使用体验,避免专用服务器的数量不够用的技术效果。
作为一种可选的方案,所述按照所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动,包括:
在第一分区管理服务器对应的待进行预启动的专用服务器的数量为第三数量、所述第一分区管理服务器所连接的一组专用服务器中已停用的专用服务器的数量为第四数量、且所述第四数量大于或等于所述第三数量的情况下,在所述第一分区管理服务器所连接的一组专用服务器中,对所述第三数量的已停用的专用服务器进行预启动,其中,所述一组分区管理服务器包括所述第一分区管理服务器;
在所述第四数量小于所述第三数量的情况下,在所述第一分区管理服务器所连接的一组专用服务器中,对所述第四数量的已停用的专用服务器进行预启动。
可选地,在本实施例中,可以包括但不限于预先确定待进行预启动的专用服务器的第三数量以及一组专用服务器中已停用的专用服务器的第四数量,通过比较第三数量和第四数量,以确定具体预启动的专用服务器数量。
例如,在第一分区中,目前需要预启动10个专用服务器,在上述第一分区中停用的专用服务器数量超过10个,例如,15个,则从上述15个已停用的服务器中选择10个专用服务器进行预启动,在上述第一分区中停用的专用服务器数量不到10个,例如,8个,则将全部8个专用服务器进行预启动。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,采用根据专用服务器中允许预启动的专用服务器的数量以动态调节预启动的、且待分配的专用服务器数量,能够解决扩容受限的技术问题,对玩家而言提升匹配到开局的流畅度,达到优化用户的使用体验,避免专用服务器的数量不够用的技术效果。
作为一种可选的方案,所述对所述一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用,包括:
根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第二差值,确定所述每个分区管理服务器对应的待进行停用的专用服务器的数量,其中,确定出的所述待进行停用的专用服务器的总数量等于所述第二差值;
按照所述每个分区管理服务器对应的待进行停用的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用。
可选地,在本实施例中,上述负载信息可以包括但不限于一组专用服务器中正在承载业务的专用服务器数量,一组专用服务器中正在承载业务的专用服务器数量与一组专用服务器中全部专用服务器数量的比值,一组专用服务器的平均时延等,还可以包括但不限于其他能够用于表示当前一组专用服务器的网络负载状态的信息。
例如,以专用服务器为DS服务器,分区管理服务器为分区DS管理服务器为例,基于一组分区DS管理服务器或全部分区DS管理服务器上报至全局DS管理服务器的上报信息作为上述负载信息,可以获取到对应的DS集群的当前启停和运行情况。
结合前述根据每个分区管理服务器所连接的一组专用服务器的负载信息以及第一差值,确定每个分区管理服务器对应的待进行预启动的专用服务器的数量,按照每个分区管理服务器对应的待进行预启动的专用服务器的数量,在每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动的相关内容,上述根据每个分区管理服务器所连接的一组专用服务器的负载信息以及第二差值,确定每个分区管理服务器对应的待进行停用的专用服务器的数量,按照每个分区管理服务器对应的待进行停用的专用服务器的数量,在每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用。
进一步地,假设阈值T(对应于上述数量阈值参数的当前取值),当score > T,则需要关闭Score-T个预启动的、且待分配的专用服务器,以通过减少DS以使得Score达到T,维持预启动的、且待分配的专用服务器的数量为T。
通过本实施例,采用根据每个分区管理服务器所连接的一组专用服务器的负载信息以及第二差值,确定每个分区管理服务器对应的待进行停用的专用服务器的数量,按照每个分区管理服务器对应的待进行停用的专用服务器的数量,在每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用的方式,通过根据每个分区管理服务器所连接的一组专用服务器的负载信息以及第二差值,以实现动态调整预启动的、且待分配的专用服务器数量,能够解决成本浪费的技术问题,降低资源消耗,达到提高服务器的利用效率的技术效果。
作为一种可选的方案,所述根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第二差值,确定所述每个分区管理服务器对应的待进行停用的专用服务器的数量,包括:
按照所述负载信息所表示的负载从小到大的顺序,对所述一组分区管理服务器进行排序,其中,所述一组分区管理服务器包括N个分区管理服务器,N为大于1的自然数;
根据所述第二差值,分别确定排序后的前P个分区管理服务器对应的待进行预启动的专用服务器的数量,得到P个数量,其中,P小于或等于N,在P小于N的情况下,与所述N个分区管理服务器中除所述前P个分区管理服务器之外的分区管理服务器对应的待进行预启动的专用服务器的数量为0。
通过本实施例,采用按照负载信息所表示的负载从小到大的顺序,对一组分区管理服务器进行排序,根据第二差值,分别确定排序后的前P个分区管理服务器对应的待进行预启动的专用服务器的数量,得到P个数量的方式,通过按照负载信息确定需要停用的P个数量的预启动的、且待分配的专用服务器,以实现动态调整预启动的、且待分配的专用服务器的数量,能够解决成本浪费的技术问题,降低资源消耗,达到提高服务器的利用效率的技术效果。
作为一种可选的方案,所述按照所述每个分区管理服务器对应的待进行停用的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用,包括:
在第二分区管理服务器对应的待进行停用的专用服务器的数量为第五数量、所述第二分区管理服务器所连接的一组专用服务器中预启动的、且待分配的专用服务器的数量为第六数量、且所述第五数量小于或等于所述第六数量的情况下,在所述第二分区管理服务器所连接的一组专用服务器中,对所述第五数量的预启动的、且待分配的专用服务器进行停用,其中,所述一组分区管理服务器包括所述第二分区管理服务器;
在所述第五数量大于所述第六数量的情况下,在所述第二分区管理服务器所连接的一组专用服务器中,对所述第六数量的预启动的、且待分配的专用服务器进行停用。
通过本实施例,采用在第二分区管理服务器对应的待进行停用的专用服务器的数量为第五数量、第二分区管理服务器所连接的一组专用服务器中预启动的、且待分配的专用服务器的数量为第六数量、且第五数量小于或等于第六数量的情况下,在第二分区管理服务器所连接的一组专用服务器中,对第五数量的预启动的、且待分配的专用服务器进行停用,在第五数量大于第六数量的情况下,在第二分区管理服务器所连接的一组专用服务器中,对第六数量的预启动的、且待分配的专用服务器进行停用的方式,根据专用服务器中允许预启动的专用服务器的数量以动态调节预启动的、且待分配的专用服务器数量,能够解决成本浪费的技术问题,降低资源消耗,达到提高服务器的利用效率的技术效果。
作为一种可选的方案,获取与所述当前在线人数对应的所述数量阈值参数的当前取值,包括:
获取所述一局游戏中预先配置的一组游戏模式,其中,所述一组游戏模式中每个游戏模式具有对应的目标比值以及在所述一局游戏中参与所述每个游戏模式的人数,所述目标比值用于表示所述参与所述每个游戏模式的总人数与当前在线人数的比值;
获取所述专用服务器运行所述一局游戏的第一时间信息以及所述专用服务器由停用状态转换为预启动的、且待分配状态的第二时间信息;
基于所述目标比值、所述一局游戏中参与所述每个游戏模式的人数、所述当前在线人数、所述第一时间信息以及所述第二时间信息确定与所述当前在线人数对应的所述数量阈值参数的当前取值。
可选地,在本实施例中,通过如下方式获取数量阈值参数的当前取值:
S1,可根据PCU(最高玩家在线)估算得到目标游戏应用的每秒开局数M,
假设,游戏模式A的玩家游玩比例为50%,一局游戏模式A从开局到结束需要耗时50s,单局人数10人,游戏模式A的DS从启动到待分配状态需要20s的时间,则,
以当前最高在线PCU为100为例,假设100人都会在同一时刻请求开局游戏模式A,
则,全局DS管理服务器在瞬间的对游戏模式A的请求量为,
6的含义即为游戏模式A的DS阈值,也即要保持有6个可以分配的游戏模式A的DS,当在某一瞬间分配了一个游戏模式A的DS,6变为5,则需要再启动1个DS以维持在6这个阈值。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,充分考虑到在目标游戏应用包括多种游戏模式时,根据不同的游戏模式进行自适应调整预启动的、待分配的专用服务器的数量,继而,能够解决成本浪费或者扩容难度大的技术问题,能够达到优化用户的使用体验或者降低资源消耗,提高服务器的利用效率的技术效果。
作为一种可选的方案,所述向所述一组分区管理服务器中的目标分区管理服务器发送第二分配请求,包括:
向所述一组分区管理服务器中负载最小的所述目标分区管理服务器发送所述第二分配请求。
可选地,在本实施例中,上述负载可以包括但不限于未启动的专用服务器的数量,图7是根据本发明实施例的又一种可选的服务器的调度方法的示意图,如图7所示,不同的游戏模式可以包括但不限于分别配置不同的目标分区管理服务器,在确定与游戏模式对应的阈值T后,根据负载排序,将负载最小,也即,未启动的服务器数量最多的分区的专用服务器配置为预启动的、且待分配的服务器,根据需补全的数量Count1,按照负载顺序,向一组分区管理服务器中负载最小的目标分区管理服务器发送第二分配请求。
下面结合具体的示例,对本申请进行进一步的解释说明:
图8是根据本发明实施例的又一种可选的服务器的调度方法的示意图,如图8所示,以执行上述服务器的调度方法的执行主体为全局DS管理服务器为例,可以包括但不限于如下内容:
S802,开始;
S804,根据游戏模式初始化DS启动数量,并异步执行步骤S806和S810;
S806,接收匹配服务器的DS分配请求;
S808,计算负载并分配DS并返回DS信息,之后执行S816;
S810,接收分区的DS管理服务器上报负载信息;
S812,计算全局负载,确定是否需要持平处理,在需要持平处理的情况下,执行步骤S814,否则返回步骤S810;
S814,计算需要持平数量,根据负载信息向各分区发送持平请求;
S816,结束。
上述全局DS管理服务器的自适应任务在进程启动后定期执行,开始进行以下的处理逻辑:
S1查询当前匹配模式下是否有可用的DS信息,如果有存储的DS循序,则执行步骤S2,否则执行步骤S4;
S2,判断该匹配模式下的DS负载是否不足或超过设定的安全阈值,如果持平,执行步骤S3,如果不持平,执行步骤S4;
S3,返回等待下一次自适应任务执行,计算逻辑结束;
S4,根据当前持有负载信息计算所需调整的DS任务,并根据分区DS管理服务器负载状态均衡任务下发,请求维持当前DS池到设定的安全阈值;
S5,全局DS管理服务器在接受到分区DS管理服务器负载上报请求后再次执行步骤S1)进行判断处理。
全局DS管理服务器的工作原理如下:
全局DS管理服务器在进程启动时,根据资源配置读取到各游戏模式需要维持预设的DS待分配数量的安全阈值,等待所有分区DS管理服务器心跳保持完成后,统一调整各游戏模式为预设的启动池大小。
分区DS管理服务器 会定时向全局DS管理服务器上报其负载信息,例如,可以包括但不限于将负载信息的更新频率配置为较高,大约1秒甚至500ms就会刷新一次。
全局DS管理服务器缓存所有分区DS管理服务器上报的负载信息,各个分区DS管理服务器缓存分区DS管理服务器自身的信息,当分区DS管理服务器心跳超时或中断心跳,则分区DS管理服务器对应的信息会被置为服务不可用,待心跳恢复正常后再加入到服务中。
玩家发起匹配请求,匹配成功后匹配服务器会向全局DS管理服务器发送分配DS请求,全局DS管理服务器根据缓存的DS信息通过负载均衡策略选择负载最低的分区DS管理服务器请求分配DS的IP和PORT信息并返回给客户端。玩家所在客户端拿到DS信息即可连接DS开局。
随着DS的分配消耗,此前的待分配状态变为游戏中,则会导致该游戏模式下的待分配的DS池大小发生改变,全局DS管理服务器会有周期为1s的定时任务检查DS池是否不足预设的安全阈值,当发生变化后会根据算法计算得到需要预启动DS的数量,并根据负载均衡策略将预启动任务按权重分到分区DS管理服务器,将当前可用的DS池大小无限趋近于预设的安全阈值,以保持其提供服务的能力。
通过本实施例,全服的在线玩家在匹配完成后立即分配到可以进入战局的DS服务器并加载链接进入战局。
此外,本申请采用了两级管理方案以保证最上层的管理服务器能以全局视角从负载均衡的角度合理分配DS信息,由全局DS管理服务器计算做出自适应伸缩和DS请求分配决策。
对于上述负载信息还可以包括但不限于加入更多机器参数以丰富负载信息,进而供全局DS管理服务器做出决策。通过丰富负载信息可以使得DS管理服务器的决策更加精准,进一步提升DS集群自适应伸缩的准确性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述服务器的调度方法的服务器的调度装置。如图9所示,该装置包括:
第一获取模块902,用于在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,其中,所述第一分配请求用于请求为所述一局游戏分配专用服务器;
第一发送模块904,用于响应于所述第一分配请求,向所述一组分区管理服务器中的目标分区管理服务器发送第二分配请求,其中,所述一组分区管理服务器中的每个分区管理服务器与一组专用服务器连接,在所述一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在预设的数量阈值参数的取值之内;
第二获取模块906,用于获取所述目标分区管理服务器发送的目标专用服务器的地址信息,其中,预启动的、且待分配的所述目标专用服务器是分配给所述一局游戏的专用服务器;
第二发送模块908,用于向所述一组帐号发送所述目标专用服务器的地址信息,其中,所述一组帐号用于通过所述目标专用服务器进行所述一局游戏。
作为一种可选的方案,所述装置还用于:获取在所述一组分区管理服务器所连接的专用服务器中预启动的、且待分配的专用服务器的当前数量、以及所述数量阈值参数的当前取值;根据所述当前数量和所述当前取值,对所述一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整,以使得在所述一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在所述数量阈值参数的当前取值之内。
作为一种可选的方案,所述装置用于通过如下方式获取所述数量阈值参数的当前取值:获取目标游戏应用的当前在线人数,其中,所述一局游戏为所述目标游戏应用的一局游戏;获取与所述当前在线人数对应的所述数量阈值参数的当前取值,其中,所述当前取值与所述当前在线人数呈正相关,或者,所述当前取值与所述当前在线人数所在的当前人数范围呈正相关。
作为一种可选的方案,所述装置用于通过如下方式根据所述当前数量和所述当前取值,对所述一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整:在所述当前数量小于所述当前取值的情况下,对所述一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动,使得所述第一数量的已停用的专用服务器成为预启动的、且待分配的专用服务器,其中,所述第一数量等于或小于所述当前取值减去所述当前数量得到的第一差值;和/或在所述当前数量大于所述当前取值的情况下,对所述一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用,使得所述第二数量的预启动的、且待分配的专用服务器成为已停用的专用服务器,其中,所述第二数量等于或小于所述当前数量减去所述当前取值得到的第二差值。
作为一种可选的方案,所述装置用于通过如下方式对所述一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动:根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第一差值,确定所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,其中,确定出的所述待进行预启动的专用服务器的总数量等于所述第一差值;按照所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动。
作为一种可选的方案,所述装置用于通过如下方式根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第一差值,确定所述每个分区管理服务器对应的待进行预启动的专用服务器的数量:按照所述负载信息所表示的负载从大到小的顺序,对所述一组分区管理服务器进行排序,其中,所述一组分区管理服务器包括N个分区管理服务器,N为大于1的自然数;根据所述第一差值,分别确定排序后的前M个分区管理服务器对应的待进行预启动的专用服务器的数量,得到M个数量,其中,M小于或等于N,在M小于N的情况下,与所述N个分区管理服务器中除所述前M个分区管理服务器之外的分区管理服务器对应的待进行预启动的专用服务器的数量为0。
作为一种可选的方案,所述装置用于通过如下方式按照所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动:在第一分区管理服务器对应的待进行预启动的专用服务器的数量为第三数量、所述第一分区管理服务器所连接的一组专用服务器中已停用的专用服务器的数量为第四数量、且所述第四数量大于或等于所述第三数量的情况下,在所述第一分区管理服务器所连接的一组专用服务器中,对所述第三数量的已停用的专用服务器进行预启动,其中,所述一组分区管理服务器包括所述第一分区管理服务器;在所述第四数量小于所述第三数量的情况下,在所述第一分区管理服务器所连接的一组专用服务器中,对所述第四数量的已停用的专用服务器进行预启动。
作为一种可选的方案,所述装置用于通过如下方式对所述一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用:根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第二差值,确定所述每个分区管理服务器对应的待进行停用的专用服务器的数量,其中,确定出的所述待进行停用的专用服务器的总数量等于所述第二差值;按照所述每个分区管理服务器对应的待进行停用的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用。
作为一种可选的方案,所述装置用于通过如下方式根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第二差值,确定所述每个分区管理服务器对应的待进行停用的专用服务器的数量:按照所述负载信息所表示的负载从小到大的顺序,对所述一组分区管理服务器进行排序,其中,所述一组分区管理服务器包括N个分区管理服务器,N为大于1的自然数;根据所述第二差值,分别确定排序后的前P个分区管理服务器对应的待进行预启动的专用服务器的数量,得到P个数量,其中,P小于或等于N,在P小于N的情况下,与所述N个分区管理服务器中除所述前P个分区管理服务器之外的分区管理服务器对应的待进行预启动的专用服务器的数量为0。
作为一种可选的方案,所述装置用于通过如下方式按照所述每个分区管理服务器对应的待进行停用的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用:在第二分区管理服务器对应的待进行停用的专用服务器的数量为第五数量、所述第二分区管理服务器所连接的一组专用服务器中预启动的、且待分配的专用服务器的数量为第六数量、且所述第五数量小于或等于所述第六数量的情况下,在所述第二分区管理服务器所连接的一组专用服务器中,对所述第五数量的预启动的、且待分配的专用服务器进行停用,其中,所述一组分区管理服务器包括所述第二分区管理服务器;在所述第五数量大于所述第六数量的情况下,在所述第二分区管理服务器所连接的一组专用服务器中,对所述第六数量的预启动的、且待分配的专用服务器进行停用。
作为一种可选的方案,所述装置用于通过如下方式获取与所述当前在线人数对应的所述数量阈值参数的当前取值:获取所述一局游戏中预先配置的一组游戏模式,其中,所述一组游戏模式中每个游戏模式具有对应的目标比值以及在所述一局游戏中参与所述每个游戏模式的人数,所述目标比值用于表示所述参与所述每个游戏模式的总人数与当前在线人数的比值;获取所述专用服务器运行所述一局游戏的第一时间信息以及所述专用服务器由停用状态转换为预启动的、且待分配状态的第二时间信息;基于所述目标比值、所述一局游戏中参与所述每个游戏模式的人数、所述当前在线人数、所述第一时间信息以及所述第二时间信息确定与所述当前在线人数对应的所述数量阈值参数的当前取值。
作为一种可选的方案,所述装置用于通过如下方式向所述一组分区管理服务器中的目标分区管理服务器发送第二分配请求:向所述一组分区管理服务器中负载最小的所述目标分区管理服务器发送所述第二分配请求。
根据本发明实施例的又一个方面,还提供了一种用于实施上述服务器的调度方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图10所示,该电子设备包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,其中,第一分配请求用于请求为一局游戏分配专用服务器;
S2,响应于第一分配请求,向一组分区管理服务器中的目标分区管理服务器发送第二分配请求,其中,一组分区管理服务器中的每个分区管理服务器与一组专用服务器连接,在一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在预设的数量阈值参数的取值之内;
S3,获取目标分区管理服务器发送的目标专用服务器的地址信息,其中,预启动的、且待分配的目标专用服务器是分配给一局游戏的专用服务器;
S4,向一组帐号发送目标专用服务器的地址信息,其中,一组帐号用于通过目标专用服务器进行一局游戏。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的服务器的调度方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的服务器的调度方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储服务器的负载信息与游戏数据等信息。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述服务器的调度装置中的第一获取模块902、第一发送模块904、第二获取模块906以及第二发送模块908。此外,还可以包括但不限于上述服务器的调度装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1008,用于显示一局游戏界面;和连接总线1010,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述服务器的调度方面的各种可选实现方式中提供的方法,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,其中,第一分配请求用于请求为一局游戏分配专用服务器;
S2,响应于第一分配请求,向一组分区管理服务器中的目标分区管理服务器发送第二分配请求,其中,一组分区管理服务器中的每个分区管理服务器与一组专用服务器连接,在一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在预设的数量阈值参数的取值之内;
S3,获取目标分区管理服务器发送的目标专用服务器的地址信息,其中,预启动的、且待分配的目标专用服务器是分配给一局游戏的专用服务器;
S4,向一组帐号发送目标专用服务器的地址信息,其中,一组帐号用于通过目标专用服务器进行一局游戏。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种服务器的调度方法,其特征在于,包括:
在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,其中,所述第一分配请求用于请求为所述一局游戏分配专用服务器;
响应于所述第一分配请求,向一组分区管理服务器中的目标分区管理服务器发送第二分配请求,其中,所述一组分区管理服务器中的每个分区管理服务器与一组专用服务器连接,在所述一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在预设的数量阈值参数的取值之内,所述预启动的、且待分配的专用服务器是由所述一组分区管理服务器预先控制启动,但还未开始承载业务的专用服务器;
获取所述目标分区管理服务器发送的目标专用服务器的地址信息,其中,预启动的、且待分配的所述目标专用服务器是分配给所述一局游戏的专用服务器;
向所述一组帐号发送所述目标专用服务器的地址信息,其中,所述一组帐号用于通过所述目标专用服务器进行所述一局游戏。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取在所述一组分区管理服务器所连接的专用服务器中预启动的、且待分配的专用服务器的当前数量、以及所述数量阈值参数的当前取值;
根据所述当前数量和所述当前取值,对所述一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整,以使得在所述一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在所述数量阈值参数的当前取值之内。
3.根据权利要求2所述的方法,其特征在于,所述获取所述数量阈值参数的当前取值,包括:
获取目标游戏应用的当前在线人数,其中,所述一局游戏为所述目标游戏应用的一局游戏;
获取与所述当前在线人数对应的所述数量阈值参数的当前取值,其中,所述当前取值与所述当前在线人数呈正相关,或者,所述当前取值与所述当前在线人数所在的当前人数范围呈正相关。
4.根据权利要求2所述的方法,其特征在于,所述根据所述当前数量和所述当前取值,对所述一组分区管理服务器中的部分或全部分区管理服务器所连接的专用服务器进行调整,包括:
在所述当前数量小于所述当前取值的情况下,对所述一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动,使得所述第一数量的已停用的专用服务器成为预启动的、且待分配的专用服务器,其中,所述第一数量等于或小于所述当前取值减去所述当前数量得到的第一差值;和/或
在所述当前数量大于所述当前取值的情况下,对所述一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用,使得所述第二数量的预启动的、且待分配的专用服务器成为已停用的专用服务器,其中,所述第二数量等于或小于所述当前数量减去所述当前取值得到的第二差值。
5.根据权利要求4所述的方法,其特征在于,所述对所述一组分区管理服务器所连接的第一数量的已停用的专用服务器进行预启动,包括:
根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第一差值,确定所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,其中,确定出的所述待进行预启动的专用服务器的总数量等于所述第一差值;
按照所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动。
6.根据权利要求5所述的方法,其特征在于,所述根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第一差值,确定所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,包括:
按照所述负载信息所表示的负载从大到小的顺序,对所述一组分区管理服务器进行排序,其中,所述一组分区管理服务器包括N个分区管理服务器,N为大于1的自然数;
根据所述第一差值,分别确定排序后的前M个分区管理服务器对应的待进行预启动的专用服务器的数量,得到M个数量,其中,M小于或等于N,在M小于N的情况下,与所述N个分区管理服务器中除所述前M个分区管理服务器之外的分区管理服务器对应的待进行预启动的专用服务器的数量为0。
7.根据权利要求5所述的方法,其特征在于,所述按照所述每个分区管理服务器对应的待进行预启动的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对已停用的专用服务器进行预启动,包括:
在第一分区管理服务器对应的待进行预启动的专用服务器的数量为第三数量、所述第一分区管理服务器所连接的一组专用服务器中已停用的专用服务器的数量为第四数量、且所述第四数量大于或等于所述第三数量的情况下,在所述第一分区管理服务器所连接的一组专用服务器中,对所述第三数量的已停用的专用服务器进行预启动,其中,所述一组分区管理服务器包括所述第一分区管理服务器;
在所述第四数量小于所述第三数量的情况下,在所述第一分区管理服务器所连接的一组专用服务器中,对所述第四数量的已停用的专用服务器进行预启动。
8.根据权利要求4所述的方法,其特征在于,所述对所述一组分区管理服务器所连接的第二数量的预启动的、且待分配的专用服务器进行停用,包括:
根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第二差值,确定所述每个分区管理服务器对应的待进行停用的专用服务器的数量,其中,确定出的所述待进行停用的专用服务器的总数量等于所述第二差值;
按照所述每个分区管理服务器对应的待进行停用的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用。
9.根据权利要求8所述的方法,其特征在于,所述根据所述每个分区管理服务器所连接的一组专用服务器的负载信息以及所述第二差值,确定所述每个分区管理服务器对应的待进行停用的专用服务器的数量,包括:
按照所述负载信息所表示的负载从小到大的顺序,对所述一组分区管理服务器进行排序,其中,所述一组分区管理服务器包括N个分区管理服务器,N为大于1的自然数;
根据所述第二差值,分别确定排序后的前P个分区管理服务器对应的待进行预启动的专用服务器的数量,得到P个数量,其中,P小于或等于N,在P小于N的情况下,与所述N个分区管理服务器中除所述前P个分区管理服务器之外的分区管理服务器对应的待进行预启动的专用服务器的数量为0。
10.根据权利要求8所述的方法,其特征在于,所述按照所述每个分区管理服务器对应的待进行停用的专用服务器的数量,在所述每个分区管理服务器所连接的一组专用服务器中对预启动的、且待分配的专用服务器进行停用,包括:
在第二分区管理服务器对应的待进行停用的专用服务器的数量为第五数量、所述第二分区管理服务器所连接的一组专用服务器中预启动的、且待分配的专用服务器的数量为第六数量、且所述第五数量小于或等于所述第六数量的情况下,在所述第二分区管理服务器所连接的一组专用服务器中,对所述第五数量的预启动的、且待分配的专用服务器进行停用,其中,所述一组分区管理服务器包括所述第二分区管理服务器;
在所述第五数量大于所述第六数量的情况下,在所述第二分区管理服务器所连接的一组专用服务器中,对所述第六数量的预启动的、且待分配的专用服务器进行停用。
11.根据权利要求3所述的方法,其特征在于,获取与所述当前在线人数对应的所述数量阈值参数的当前取值,包括:
获取所述一局游戏中预先配置的一组游戏模式,其中,所述一组游戏模式中每个游戏模式具有对应的目标比值以及在所述一局游戏中参与所述每个游戏模式的人数,所述目标比值用于表示所述参与所述每个游戏模式的总人数与当前在线人数的比值;
获取所述专用服务器运行所述一局游戏的第一时间信息以及所述专用服务器由停用状态转换为预启动的、且待分配状态的第二时间信息;
基于所述目标比值、所述一局游戏中参与所述每个游戏模式的人数、所述当前在线人数、所述第一时间信息以及所述第二时间信息确定与所述当前在线人数对应的所述数量阈值参数的当前取值。
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述向所述一组分区管理服务器中的目标分区管理服务器发送第二分配请求,包括:
向所述一组分区管理服务器中负载最小的所述目标分区管理服务器发送所述第二分配请求。
13.一种服务器的调度装置,其特征在于,包括:
第一获取模块,用于在参与一局游戏的一组帐号匹配成功的情况下,获取第一分配请求,其中,所述第一分配请求用于请求为所述一局游戏分配专用服务器;
第一发送模块,用于响应于所述第一分配请求,向一组分区管理服务器中的目标分区管理服务器发送第二分配请求,其中,所述一组分区管理服务器中的每个分区管理服务器与一组专用服务器连接,在所述一组分区管理服务器所连接的专用服务器中,预启动的、且待分配的专用服务器的数量被控制在预设的数量阈值参数的取值之内;
第二获取模块,用于获取所述目标分区管理服务器发送的目标专用服务器的地址信息,其中,预启动的、且待分配的所述目标专用服务器是分配给所述一局游戏的专用服务器,所述预启动的、且待分配的专用服务器是由所述一组分区管理服务器预先控制启动,但还未开始承载业务的专用服务器;
第二发送模块,用于向所述一组帐号发送所述目标专用服务器的地址信息,其中,所述一组帐号用于通过所述目标专用服务器进行所述一局游戏。
14.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序可被终端设备或计算机运行时执行所述权利要求1至12任一项中所述的方法。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至12任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110078733.7A CN112398957B (zh) | 2021-01-21 | 2021-01-21 | 服务器的调度方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110078733.7A CN112398957B (zh) | 2021-01-21 | 2021-01-21 | 服务器的调度方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112398957A CN112398957A (zh) | 2021-02-23 |
CN112398957B true CN112398957B (zh) | 2021-05-11 |
Family
ID=74625720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110078733.7A Active CN112398957B (zh) | 2021-01-21 | 2021-01-21 | 服务器的调度方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398957B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115577206B (zh) * | 2022-12-06 | 2023-06-20 | 广东新禾道信息科技有限公司 | 基于互联网的房屋交易网签数据处理方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104600B (zh) * | 2011-01-11 | 2014-01-08 | 广州懒游网络技术有限公司 | 分布插件式游戏服务器平台及其协同工作方法 |
CN102710584A (zh) * | 2011-03-28 | 2012-10-03 | 德信互动科技(北京)有限公司 | 网络游戏服务器的动态调整系统和方法 |
CN109200579A (zh) * | 2018-09-28 | 2019-01-15 | 珠海沙盒网络科技有限公司 | 一种游戏服务器架构优化方法及系统 |
CN111617487B (zh) * | 2020-05-22 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 游戏应用中的帐号接入方法和装置、存储介质及电子设备 |
CN112107857B (zh) * | 2020-09-17 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 虚拟道具的控制方法和装置、存储介质及电子设备 |
-
2021
- 2021-01-21 CN CN202110078733.7A patent/CN112398957B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112398957A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ranadheera et al. | Mobile edge computation offloading using game theory and reinforcement learning | |
KR102267572B1 (ko) | 자원 요청을 처리하는 방법 및 장치 | |
Bezerra et al. | A load balancing scheme for massively multiplayer online games | |
WO2019184445A1 (zh) | 服务资源调配 | |
US20180321981A1 (en) | System and method for self organizing data center | |
EP3547625B1 (en) | Method and system for sending request for acquiring data resource | |
Ahn et al. | Competitive partial computation offloading for maximizing energy efficiency in mobile cloud computing | |
US9110696B2 (en) | Thin client system, connection management server, connection management method and connection management program | |
CN112231049A (zh) | 基于kubernetes的计算设备共享方法、装置、设备及存储介质 | |
KR20150085376A (ko) | 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법 | |
CN108499100A (zh) | 一种基于边缘计算的云游戏错误恢复方法及系统 | |
CN110673948A (zh) | 一种云游戏资源调度方法、服务器及存储介质 | |
CN112398957B (zh) | 服务器的调度方法和装置、存储介质及电子设备 | |
Shen et al. | Dynamic task offloading with minority game for internet of vehicles in cloud-edge computing | |
CN113486042B (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN110147277B (zh) | 一种资源动态部署方法、装置、服务器及存储介质 | |
Barri et al. | Distributing game instances in a hybrid client-server/P2P system to support MMORPG playability | |
CN111249747B (zh) | 一种游戏中的信息处理方法及装置 | |
CN109587068A (zh) | 流量切换方法、装置、设备及计算机可读存储介质 | |
Chatterjee et al. | A new clustered load balancing approach for distributed systems | |
CN110727511B (zh) | 应用程序的控制方法、网络侧设备和计算机可读存储介质 | |
CN110191362B (zh) | 数据传输方法及装置、存储介质及电子设备 | |
CN110995802A (zh) | 任务的处理方法和装置、存储介质及电子装置 | |
CN116764235A (zh) | 数据处理方法及相关装置 | |
Bastani et al. | A social node model for realising information dissemination strategies in delay tolerant networks |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40039036 Country of ref document: HK |