CN116173495A - 游戏进程的分配控制方法、装置、电子设备以及存储介质 - Google Patents
游戏进程的分配控制方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN116173495A CN116173495A CN202310102865.8A CN202310102865A CN116173495A CN 116173495 A CN116173495 A CN 116173495A CN 202310102865 A CN202310102865 A CN 202310102865A CN 116173495 A CN116173495 A CN 116173495A
- Authority
- CN
- China
- Prior art keywords
- main process
- game
- server main
- subprocesses
- sub
- 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/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种游戏进程的分配控制方法、装置、电子设备及存储介质,方法包括:获取初始化检测信息,根据初始化检测信息,服务器主进程接收用户发送的游戏请求以及相应的游戏请求数据,并发送至信息管理进程;获取实时进程检测信息,根据实时进程检测信息,信息管理进程获取若干个子进程的负载信息,信息管理进程根据若干个子进程的负载信息,将游戏请求以及相应的游戏请求数据分配至若干个子进程。通过构建进程检测机制,对游戏服务器进程进行实时性检测,保证了游戏服务器进程能够正确执行相应的游戏事务,充分利用服务器资源,并通过获取若干个子进程的负载信息,根据若干个子进程的负载信息,实现了进程的负载均衡,提高游戏服务器的稳定性。
Description
技术领域
本申请涉及游戏进程管理技术领域,特别涉及一种游戏进程的分配控制方法、装置、电子设备及存储介质。
背景技术
目前的游戏服务器设置有多个不同功能的游戏进程,在游戏服务器进行启动时,通过按照预设的配置启动所有的游戏进程,共同运行以提供完整的游戏服务。
但是,现有的游戏服务器在启动的过程中,可能出现某个游戏进程意外宕机或者通信问题,无法保证正确执行相应的游戏事务,导致系统资源浪费和额外的等待,并且需要对多个游戏请求进行分配时,可能会出现将多个游戏请求分配至同一个游戏进程的问题,导致该游戏进程的负载骤升,无法实现服务器的负载均衡,影响服务器的稳定性。
发明内容
基于此,本申请提供一种游戏进程的分配控制方法、装置、电子设备及存储介质,通过构建进程检测机制,通过获取若干个子进程的负载信息,根据若干个子进程的负载信息,实现了进程的负载均衡,提高游戏服务器的稳定性。
作为本申请实施例的第一方面,提供一种游戏进程的分配控制方法,包括以下步骤:
所述游戏进程包括服务器主进程、信息管理进程以及若干个子进程;在所述服务器主进程以及所述若干个子进程初始化完成后,所述服务器主进程以及所述若干个子进程均与所述信息管理进程连接,所述方法包括:
响应于所述服务器主进程发送的游戏服务请求,获取所述若干个子进程的负载信息;
根据所述若干个子进程的负载信息,将所述游戏服务请求分配至满足均衡负载条件的目标子进程;
接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程。
作为本申请实施例的第二方面,提供了一种游戏进程的分配控制装置,所述游戏进程包括服务器主进程、信息管理进程以及若干个子进程;在所述服务器主进程以及所述若干个子进程初始化完成后,所述服务器主进程以及所述若干个子进程均与所述信息管理进程连接,包括:
初始化处理模块,用于响应于所述服务器主进程发送的游戏服务请求,获取所述若干个子进程的负载信息;
负载检测模块,用于根据所述若干个子进程的负载信息,将所述游戏服务请求分配至满足均衡负载条件的目标子进程;
分配模块,用于接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程。
作为本申请实施例的第三方面,提供了一种电子设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器与所述显示器、储存器连接;所述计算机程序被所述处理器执行时实现如第一方面所述的游戏进程的分配控制方法的步骤。
作为本申请实施例的第四方面,提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的游戏进程的分配控制方法的步骤。
在本申请的实施例中,通过获取若干个子进程的负载信息,根据若干个子进程的负载信息,实现了进程的负载均衡,提高游戏服务器的稳定性。
为了更好地理解和实施,下面结合附图详细说明本申请。
附图说明
图1为本申请第一实施例提供的游戏进程的分配控制方法的应用场景示意图;
图2为本申请第一实施例提供的游戏进程的分配控制方法的游戏服务器进程的连接示意图;
图3为本申请第一实施例提供的游戏进程的分配控制方法的流程示意图;
图4为本申请第二实施例提供的游戏进程的分配控制方法的流程示意图;
图5为本申请第一实施例提供的游戏进程的分配控制方法中S2的流程示意图;
图6为本申请第一实施例提供的游戏进程的分配控制方法中S3的流程示意图;
图7为本申请第三实施例提供的游戏进程的分配控制方法中S3的流程示意图;
图8为本申请第四实施例提供的游戏进程的分配控制方法的流程示意图;
图9为本申请第五实施例提供的游戏进程的分配控制方法的流程示意图;
图10为本申请第五实施例提供的游戏进程的分配控制方法中S8的流程示意图;
图11为本申请第六实施例提供的游戏进程的分配控制装置的结构示意图;
图12为本申请第七实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例做进一步地详细描述。其中,下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。
应当明确,以下描述的实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。基于本申请实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况;字符“/”一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语,而且,这些术语仅用来区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。取决于语境,本申请所使用的词语“如果”/“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。
请参考图1,图1为本申请第一实施例提供的游戏进程的分配控制方法的应用场景示意图,应用场景包括服务器130,服务器130可以通过网络接入方式接入互联网,与用户的游戏客户端110、以及游戏客户端120建立数据通信连接,其中,网络可以是能够在所述服务器与用户的游戏客户端之间实现通信的各种连接类型的通信介质,例如可以是有线通信链路、无线通信链路或者光纤电缆等等,本申请在此不做限制。
需要指出的是,在现有技术中会存在对“客户端”这一概念的多种理解,例如:可以将其理解为安装在计算机设备中的应用程序,或者,也可以将其理解为相对应于服务器的硬件设备。
在本申请实施例中,所称的“客户端”是指相对应于服务器的硬件设备,更具体来说,是指计算机设备,例如:智能手机、智能交互平板以及个人计算机等。
在客户端为智能手机、智能交互平板等移动设备时,用户可以在客户端上安装匹配的移动端应用程序,也可以在客户端上访问Web端应用程序。
在客户端为个人计算机(PC机)等非移动设备时,用户可以在客户端上安装匹配的PC端应用程序,同样也可以在客户端上访问Web端应用程序。
其中,移动端应用程序是指可安装在移动设备中的应用程序,PC端应用程序是指可安装在非移动设备中的应用程序,Web端应用程序是指需通过浏览器访问的应用程序。
具体地,Web端应用程序依据客户端类型的差异,又可以分为移动版本和PC版本,两者的页面布局方式以及可提供的服务器支持可能存在差别。
所述服务器可作为一个业务服务器,其可以负责进一步连接起相关音频数据服务器、视频流服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备,例如图1中所示的用户的游戏客户端提供服务。
服务器安装有游戏服务器进程,用以根据用户的游戏客户端发送的服务请求提供相应的游戏服务,请参阅图2,图2为本申请第一实施例提供的游戏进程的分配控制方法的游戏服务器进程的连接示意图,所述游戏服务器进程包括服务器主进程(GS)、信息管理进程(MasterFS1)以及若干个子进程(SubFS1~SubFSn),所述服务器主进程与所述信息管理进程连接,所述信息管理进程分别与所述若干个子进程连接。所述服务器主进程(GS)用于接收游戏客户端发送的游戏服务请求,所述信息管理进程用于作为所述服务器主进程与若干个子进程之间的数据传输的中转,所述若干个子进程用于执行所述游戏服务请求。
请参阅图3,图3为本申请第一实施例提供的游戏进程的分配控制方法的流程示意图,本申请实施例的游戏进程的分配控制方法应用于企业的游戏服务业务中,尤其是由一台服务器执行的游戏服务业务中,具体的,本申请实施例的游戏进程的分配控制方法由该服务器作为执行主体执行,所述方法包括如下步骤:
S1:响应于所述服务器主进程发送的游戏服务请求,获取所述若干个子进程的负载信息。
在本实施例中,服务器响应于所述服务器主进程发送的游戏服务请求,获取所述若干个子进程的负载信息,具体地,在所述服务器主进程接收到由用户的游戏客户端发送的服务请求后,服务器可以通过所述信息管理进程获取所述若干个子进程的负载信息,以对游戏服务请求进行下一步的分配。
请参阅图4,图4为本申请第二实施例提供的游戏进程的分配控制方法中S1的流程示意图,还包括步骤S11~S12,步骤S11~S12在执行步骤S1之前,具体如下:
S11:按照预设时间间隔向所述服务器主进程以及若干个子进程发送初始化检测指令,接收所述服务器主进程根据所述初始化检测指令发送的初始化信息以及所述若干个子进程根据所述初始化检测指令发送的初始化信息。
在本实施例中,服务器按照预设时间间隔向所述服务器主进程以及若干个子进程发送初始化检测指令,接收所述服务器主进程根据所述初始化检测指令发送的初始化信息以及所述若干个子进程根据所述初始化检测指令发送的初始化信息,其中,所述初始化信息包括初始化成功信息以及初始化失败信息。
S12:若根据所述服务器主进程的初始化信息以及所述若干个子进程的初始化信息,判断出所述服务器主进程和所述若干个子进程均初始化完成,向所述服务器主进程发送服务指令,以使所述服务器主进程接收游戏服务请求。
在本实施例中,服务器若根据所述服务器主进程的初始化信息以及所述若干个子进程的初始化信息,若所述初始化信息为初始化成功信息,判断出所述服务器主进程和所述若干个子进程均初始化完成,向所述服务器主进程发送服务指令,以使所述服务器主进程接收游戏服务请求,保证服务器能够正确处理游戏服务请求。
通过向所述服务器主进程以及若干个子进程进行初始化检测,结局了服务器主进程开始服务时,若干个子进程可能没有启动或者初始化完毕,无法保证正确执行事务的问题。
S2:根据所述若干个子进程的负载信息,将所述游戏服务请求分配至满足均衡负载条件的目标子进程。
在本实施例中,服务器根据所述若干个子进程的负载信息,将所述服务请求分配至满足均衡负载条件的目标子进程。
所述信息管理进程能够对所述若干个子进程的通信状态进行管理,在服务器主进程需要进行游戏请求处理时,能够将游戏请求交给信息管理进程,信息管理进程采取基于负载进行游戏请求分配的策略来实现负载均衡的效果。
请参阅图5,图5为本申请第一实施例提供的游戏进程的分配控制方法中S2的流程示意图,包括步骤S21~S22,具体如下:
S21:根据所述若干个子进程的负载信息,确定所述负载繁忙值最低的子进程作为所述目标子进程。
所述繁忙值用于反映子进程的待处理的服务请求数目。在本实施例中,服务器根据所述若干个子进程的负载信息,确定所述负载繁忙值最低的子进程作为所述目标子进程。具体地,服务器对所述若干个子进程的负载信息进行分析,将所述若干个子进程的负载信息转换为相应的繁忙值,并从所述若干个子进程中,提取繁忙值最低的子进程,作为所述目标子进程。
S22:将所述游戏服务请求分配至所述目标子进程,并将所述目标子进程的负载繁忙值增加预设的繁忙阈值。
在本实施例中,服务器将所述游戏服务请求分配至所述目标子进程,并将所述目标子进程的负载繁忙值增加预设的繁忙阈值。具体地,服务器通过所述信息管理进程将所述服务请求分配至所述目标子进程,并将所述目标子进程的繁忙值增加预设的繁忙阈值。
S3:接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程。
在本实施例中,服务器可以通过所述信息管理进程,来接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程。
请参阅图6,图6为本申请第一实施例提供的游戏进程的分配控制方法中S3的流程示意图,包括步骤S31,具体如下:
S31:若在预设时间内接收到所述目标子进程反馈的处理结果,将所述目标子进程反馈的处理结果发送至所述服务器主进程,将所述目标子进程的负载繁忙值减少所述繁忙阈值。
在本实施例中,服务器若在预设时间内接收到所述目标子进程反馈的处理结果,将所述目标子进程反馈的处理结果发送至所述服务器主进程,将所述目标子进程的负载繁忙值减少所述繁忙阈值。
请参阅图7,图7为本申请第三实施例提供的游戏进程的分配控制方法中S3的流程示意图,还包括步骤S32~S34,具体如下:
S32:若在预设时间间隔内未接收到所述目标子进程反馈的处理结果,将所述目标子进程标记为异常子进程。
在本实施例中,服务器若在预设时间间隔内未接收到所述目标子进程反馈的处理结果,将所述目标子进程标记为异常子进程。
S33:根据其他所述若干个子进程的繁忙值,将繁忙值最低的子进程作为更新后的目标子进程。
在本实施例中,服务器根据其他所述若干个子进程的繁忙值,将繁忙值最低的子进程作为更新后的目标子进程。
S34:将所述游戏服务请求分配至所述更新后的目标子进程,以从所述更新后的目标子进程获取处理结果,将所述处理结果转发至所述服务器主进程。
在本实施例中,服务器将所述游戏服务请求分配至所述更新后的目标子进程,以从所述更新后的目标子进程获取处理结果,将所述处理结果转发至所述服务器主进程。
具体地,在标记异常子进程之前,由于已经将相应的游戏请求分配至该异常子进程中,为了保证该游戏请求得到响应,服务器可以获取该异常子进程相应的游戏请求,根据其他所述若干个子进程的繁忙值,将繁忙值最低的子进程作为更新后的目标子进程,将异常子进程相应的游戏请求分配至所述更新后的目标子进程,以从所述更新后的目标子进程获取处理结果,将所述处理结果转发至所述服务器主进程,以便确认该游戏请求能够得到及时响应,避免了由于子进程在意外宕掉的情况下无法保证对游戏请求的响应,提高服务器的稳定性。
请参阅图8,图8为本申请第四实施例提供的游戏进程的分配控制方法的流程示意图,还包括步骤S4~S5,具体如下:
S4:若在预设时间间隔内所述服务器主进程未获得所述目标子进程反馈的处理结果,通过所述服务器主进程检测所述信息管理进程工作是否发送异常。
在本实施例中,服务器若在预设时间间隔内所述服务器主进程未获得所述目标子进程反馈的处理结果,通过所述服务器主进程检测所述信息管理进程工作是否发送异常。
由于服务器是通过所述信息管理进程来接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程,为了确认是目标子进程,亦或者是信息管理进程发生异常,服务器通过所述服务器主进程检测所述信息管理进程工作是否发送异常,形成双重检测机制,提高服务器的稳定性。
S5:若判断出所述信息管理进程发生异常,从所述若干个子进程中选择新的信息管理进程,作为更新后的信息管理进程,建立所述更新后的信息管理进程与其他若干个所述子进程以及所述服务器主进程的连接。
在本实施例中,服务器若判断出所述信息管理进程发生异常,从所述若干个子进程中选择新的信息管理进程,作为更新后的信息管理进程,建立所述更新后的信息管理进程与其他若干个所述子进程以及所述服务器主进程的连接。
具体地,服务器可以从若干个未分配到游戏请求的子进程中,随机选择新的信息管理进程,作为更新后的信息管理进程,也可以根据若干个子进程的繁忙值,将繁忙值最低的子进程作为更新后的信息管理进程,建立所述更新后的信息管理进程与其他若干个所述子进程以及所述服务器主进程的连接。
请参阅图9,图9为本申请第五实施例提供的游戏进程的分配控制方法的流程示意图,还包括步骤S6,具体如下:
S6:若收到所述服务器主进程的重连信息,生成数据清空指令发送至所述若干个子进程,以使所述若干个子进程响应于所述数据清空指令,对所述信息管理进程分配的相应的游戏服务请求进行数据清空处理。
由于服务器主进程重连后,数据环境会和上次有一定区别,为了避免若干个子进程通过所述信息管理进程,向所述服务器主进程反馈不符合变化后的数据环境的数据,从而影响服务器的稳定性,在本实施例中,服务器若收到所述服务器主进程的重连信息,生成数据清空指令发送至所述若干个子进程,以使所述若干个子进程响应于所述数据清空指令,对所述信息管理进程分配的相应的游戏服务请求进行数据清空处理。
请参阅图10,图10为本申请第五实施例提供的游戏进程的分配控制方法中S8的流程示意图,包括步骤S61~S63,具体如下:
S61:若收到所述服务器主进程的重连信息,向所述服务器主进程发送ID查询指令,接收所述服务器主进程根据所述ID查询指令发送的当前ID标识。
在本实施例中,服务器若收到所述服务器主进程的重连信息,向所述服务器主进程发送ID查询指令,接收所述服务器主进程根据所述ID查询指令发送的当前ID标识。具体地,服务器可以通过所述信息管理进程向所述服务器主进程发送ID查询指令,接收所述服务器主进程根据所述ID查询指令发送的当前ID标识。
S62:若根据所述服务器主进程在重连之前的ID标识以及所述当前ID标识判断出所述服务器主进程重连,生成数据清空指令发送至所述若干个子进程。
在本实施例中,服务器获取所述服务器主进程在重启之前的ID标识,若根据所述服务器主进程在重连之前的ID标识以及所述当前ID标识判断出所述服务器主进程重连,生成数据清空指令发送至所述若干个子进程。具体地,服务器根据所述服务器主进程在重启之前的ID标识以及所述当前ID标识,若所述服务器主进程在重启之前的ID标识以及所述当前ID标识不相同,判断出所述服务器主进程重连,生成数据清空指令发送至所述若干个子进程。
S63:若收到所述服务器主进程的重连信息,生成数据清空指令发送至所述若干个子进程,以使所述若干个子进程响应于所述数据清空指令,对所述信息管理进程分配的相应的游戏服务请求进行数据清空处理。
在本实施例中,服务器若收到所述服务器主进程的重连信息,生成数据清空指令,可以通过所述信息管理进程,将所述数据清空指令发送至所述若干个子进程,以使所述若干个子进程响应于所述数据清空指令,对所述信息管理进程分配的相应的游戏服务请求进行数据清空处理。
请参考图11,图11为本申请第六实施例提供的游戏进程的分配控制装置的结构示意图,该装置可以通过软件、硬件或两者的结合实现游戏进程的分配控制方法的全部或一部分,该装置11包括:
初始化处理模块111,用于响应于所述服务器主进程发送的游戏服务请求,获取所述若干个子进程的负载信息;
负载检测模块112,用于根据所述若干个子进程的负载信息,将所述游戏服务请求分配至满足均衡负载条件的目标子进程;
分配模块113,用于接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程。
在本实施例中,通过初始化处理模块,响应于所述服务器主进程发送的游戏服务请求,获取所述若干个子进程的负载信息;通过负载检测模块,根据所述若干个子进程的负载信息,将所述游戏服务请求分配至满足均衡负载条件的目标子进程;通过分配模块,接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程。通过获取若干个子进程的负载信息,根据若干个子进程的负载信息,实现了进程的负载均衡,提高游戏服务器的稳定性。
请参考图12,图12为本申请第七实施例提供的电子设备的结构示意图,电子设备12包括:处理器121、存储器122以及存储在存储器122上并可在处理器121上运行的计算机程序123;处理器121与储存器连接122;电子设备12可以存储有多条指令,指令适用于由处理器121加载并执行上述实施例的游戏进程的分配控制方法步骤,具体执行过程可以参见上述第一实施例至第五实施例的具体说明,在此不进行赘述。
其中,处理器121可以包括一个或多个处理核心。处理器121利用各种接口和线路连接服务器内的各个部分,通过运行或执行存储在存储器122内的指令、程序、代码集或指令集,以及调用存储器122内的数据,执行游戏进程的分配控制装置11的各种功能和处理数据,可选的,处理器121可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrambleLogic Array,PLA)中的至少一个硬件形式来实现。处理器121可集成中央处理器121(Central Processing Unit,CPU)、图像处理器121(Graphics Processing Unit,GPU)和调制解调器等中的一个或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器121中,单独通过一块芯片进行实现。
其中,存储器122可以包括随机存储器122(Random Access Memory,RAM),也可以包括只读存储器122(Read-Only Memory)。可选的,该存储器122包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器122可用于存储指令、程序、代码、代码集或指令集。存储器122可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控指令等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器122可选的还可以是至少一个位于远离前述处理器121的存储装置。
本申请实施例还提供了一种存储介质,所述存储介质可以存储有多条指令,所述指令适用于由处理器加载并执行上述第一实施例至第五实施例的方法步骤,具体执行过程可以参见第一实施例至第五实施例所示实施例的具体说明,在此不进行赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
本申请并不局限于上述实施方式,如果对本申请的各种改动或变形不脱离本申请的精神和范围,倘若这些改动和变形属于本申请的权利要求和等同技术范围之内,则本申请也意图包含这些改动和变形。
Claims (10)
1.一种游戏进程的分配控制方法,其特征在于:所述游戏进程包括服务器主进程、信息管理进程以及若干个子进程;在所述服务器主进程以及所述若干个子进程初始化完成后,所述服务器主进程以及所述若干个子进程均与所述信息管理进程连接,所述方法包括:
响应于所述服务器主进程发送的游戏服务请求,获取所述若干个子进程的负载信息;
根据所述若干个子进程的负载信息,将所述游戏服务请求分配至满足均衡负载条件的目标子进程;
接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程。
2.根据权利要求1所述的游戏进程的分配控制方法,其特征在于,所述根据所述若干个子进程的负载信息,将所述游戏服务请求分配至满足均衡负载条件的目标子进程的步骤,包括:
根据所述若干个子进程的负载信息,确定所述负载繁忙值最低的子进程作为所述目标子进程;其中,所述繁忙值用于反映子进程的待处理的服务请求数目;
将所述游戏服务请求分配至所述目标子进程,并将所述目标子进程的负载繁忙值增加预设的繁忙阈值。
3.根据权利要求2所述的游戏进程的分配控制方法,其特征在于,所述接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程的步骤,包括:
若在预设时间内接收到所述目标子进程反馈的处理结果,将所述目标子进程反馈的处理结果发送至所述服务器主进程,将所述目标子进程的负载繁忙值减少所述繁忙阈值。
4.根据权利要求2所述的游戏进程的分配控制方法,其特征在于,所述接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程的步骤,包括:
若在预设时间间隔内未接收到所述目标子进程反馈的处理结果,将所述目标子进程标记为异常子进程;
根据其他所述若干个子进程的繁忙值,将繁忙值最低的子进程作为更新后的目标子进程;
将所述游戏服务请求分配至所述更新后的目标子进程,以从所述更新后的目标子进程获取处理结果,将所述处理结果转发至所述服务器主进程。
5.根据权利要求1所述的游戏进程的分配控制方法,其特征在于,还包括步骤:
若在预设时间间隔内所述服务器主进程未获得所述目标子进程反馈的处理结果,通过所述服务器主进程检测所述信息管理进程工作是否发送异常;
若判断出所述信息管理进程发生异常,从所述若干个子进程中选择新的信息管理进程,作为更新后的信息管理进程,建立所述更新后的信息管理进程与其他若干个所述子进程以及所述服务器主进程的连接。
6.根据权利要求1至5中任一项权利要求所述的游戏进程的分配控制方法,其特征在于,还包括步骤:
若收到所述服务器主进程的重连信息,生成数据清空指令发送至所述若干个子进程,以使所述若干个子进程响应于所述数据清空指令,对所述信息管理进程分配的相应的游戏服务请求进行数据清空处理。
7.根据权利要求6所述的游戏进程的分配控制方法,其特征在于,所述若收到所述服务器主进程的重连信息,生成数据清空指令发送至所述若干个子进程,包括步骤:
若收到所述服务器主进程的重连信息,向所述服务器主进程发送ID查询指令,接收所述服务器主进程根据所述ID查询指令发送的当前ID标识;
若根据所述服务器主进程在重连之前的ID标识以及所述当前ID标识判断出所述服务器主进程重连,生成数据清空指令发送至所述若干个子进程。
8.根据权利要求1至5中任一项权利要求所述的游戏进程的分配控制方法,其特征在于,所述方法还包括步骤:
按照预设时间间隔向所述服务器主进程以及若干个子进程发送初始化检测指令;
接收所述服务器主进程根据所述初始化检测指令发送的初始化信息以及所述若干个子进程根据所述初始化检测指令发送的初始化信息。
若根据所述服务器主进程的初始化信息以及所述若干个子进程的初始化信息,判断出所述服务器主进程和所述若干个子进程均初始化完成,向所述服务器主进程发送服务指令,以使所述服务器主进程接收游戏服务请求。
9.一种游戏进程的分配控制装置,其特征在于,所述游戏进程包括服务器主进程、信息管理进程以及若干个子进程;在所述服务器主进程以及所述若干个子进程初始化完成后,所述服务器主进程以及所述若干个子进程均与所述信息管理进程连接,包括:
初始化处理模块,用于响应于所述服务器主进程发送的游戏服务请求,获取所述若干个子进程的负载信息;
负载检测模块,用于根据所述若干个子进程的负载信息,将所述游戏服务请求分配至满足均衡负载条件的目标子进程;
分配模块,用于接收所述目标子进程反馈的处理结果,将所述处理结果转发至所述服务器主进程。
10.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器与所述显示器、储存器连接;所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的游戏进程的分配控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310102865.8A CN116173495A (zh) | 2023-02-09 | 2023-02-09 | 游戏进程的分配控制方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310102865.8A CN116173495A (zh) | 2023-02-09 | 2023-02-09 | 游戏进程的分配控制方法、装置、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116173495A true CN116173495A (zh) | 2023-05-30 |
Family
ID=86445718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310102865.8A Pending CN116173495A (zh) | 2023-02-09 | 2023-02-09 | 游戏进程的分配控制方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116173495A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076143A (zh) * | 2023-10-18 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 装备资源的处理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7600229B1 (en) * | 2003-09-30 | 2009-10-06 | Emc Corporation | Methods and apparatus for load balancing processing of management information |
CN108132835A (zh) * | 2017-12-29 | 2018-06-08 | 五八有限公司 | 基于多进程的任务请求处理方法、装置和系统 |
CN111135585A (zh) * | 2019-12-24 | 2020-05-12 | 网易(杭州)网络有限公司 | 游戏匹配系统 |
CN114515429A (zh) * | 2021-12-17 | 2022-05-20 | 网易(杭州)网络有限公司 | 游戏进程的分配控制方法、装置和电子设备 |
CN115400417A (zh) * | 2022-09-01 | 2022-11-29 | 网易(杭州)网络有限公司 | 游戏交互方法、装置、存储介质和电子设备 |
-
2023
- 2023-02-09 CN CN202310102865.8A patent/CN116173495A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7600229B1 (en) * | 2003-09-30 | 2009-10-06 | Emc Corporation | Methods and apparatus for load balancing processing of management information |
CN108132835A (zh) * | 2017-12-29 | 2018-06-08 | 五八有限公司 | 基于多进程的任务请求处理方法、装置和系统 |
CN111135585A (zh) * | 2019-12-24 | 2020-05-12 | 网易(杭州)网络有限公司 | 游戏匹配系统 |
CN114515429A (zh) * | 2021-12-17 | 2022-05-20 | 网易(杭州)网络有限公司 | 游戏进程的分配控制方法、装置和电子设备 |
CN115400417A (zh) * | 2022-09-01 | 2022-11-29 | 网易(杭州)网络有限公司 | 游戏交互方法、装置、存储介质和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076143A (zh) * | 2023-10-18 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 装备资源的处理方法、装置、设备及介质 |
CN117076143B (zh) * | 2023-10-18 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 装备资源的处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111447185B (zh) | 一种推送信息的处理方法及相关设备 | |
CN100462977C (zh) | 截图服务器、分配服务器、生成网页截图的方法及系统 | |
CN102571996B (zh) | Ip地址分配方法、装置以及网络系统 | |
EP2551770B1 (en) | Data share system, data process apparatus, and computer-readable recording medium | |
CN115004673A (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
US20060168079A1 (en) | System and method for automatically connecting a client computer to a server | |
CN112398845B (zh) | 数据传输方法、数据传输装置、系统及电子设备 | |
CN116173495A (zh) | 游戏进程的分配控制方法、装置、电子设备以及存储介质 | |
CN112269628A (zh) | 资源调度系统及方法 | |
CN113177179B (zh) | 数据请求连接管理方法、装置、设备及存储介质 | |
CN103248654A (zh) | 虚拟桌面服务参数的协商方法、装置及系统 | |
KR102075826B1 (ko) | 옴니 채널용 고객 센터 플랫폼 서비스 제공 시스템 및 방법 | |
CN113419865A (zh) | 云资源处理方法、相关装置及计算机程序产品 | |
CN114048441A (zh) | 登录用户的控制方法、装置、存储介质和终端设备 | |
US9606758B1 (en) | System and method of connecting a computer to a printer | |
US20110131271A1 (en) | Apparatus and method for allocating and releasing imaging device in virtualization system | |
CN103248668B (zh) | 虚拟桌面服务参数的协商方法、装置及系统 | |
CN106790632B (zh) | 一种流数据的并发传输方法和装置 | |
CN112272223B (zh) | 应用的运行方法、装置、服务器及计算机可读存储介质 | |
CN110535977B (zh) | 文件分发方法及装置、计算机装置及存储介质 | |
CN113094165A (zh) | 一种提升云端加载应用程序速度的方法 | |
CN113726881A (zh) | 通信连接建立方法、相关装置及计算机程序产品 | |
CN114095758A (zh) | 云图像截取方法、相关装置及计算机程序产品 | |
CN112532534A (zh) | 一种数据传输方法、装置以及计算机可读存储介质 | |
JP6240227B2 (ja) | リアルタイム通信システム、リアルタイム通信装置、リアルタイム通信方法およびプログラム |
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 |