Method and apparatus for determining load device, and storage medium and electronic device

By determining a load device group with high load capacity and not better than each other in the load cluster and selecting the appropriate load device to create the game, the problem of load imbalance in the load cluster is solved, and resource utilization is improved and the risk of creation failure is reduced.

WO2025044408A9PCT designated stage expired Publication Date: 2025-04-10TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/099479
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-28
Filing Date
2024-06-17
Publication Date
2025-04-10

AI Technical Summary

Technical Problem

In the prior art, the resource utilization rate of some load devices in the load cluster is low, resulting in load imbalance, which may lead to creation failure or resource waste.

Method used

By acquiring the data request of the access device, determining the target load cluster based on its network parameters with the multiple load clusters, further determining the load device group with high load capacity and not better than the other party based on the device load information of the load device in the target load cluster, and selecting a suitable load device from it to create a game.

Benefits of technology

It realizes efficient and balanced allocation of load devices, improves resource utilization of load devices, reduces the possibility of overloading of load devices, and avoids game creation failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024099479_10042025_PF_FP_ABST
    Figure CN2024099479_10042025_PF_FP_ABST
Patent Text Reader

Abstract

A method and apparatus for determining a load device, and a storage medium and an electronic device. The method comprises: acquiring a first data request, which is sent by a first access device; in response to the first data request, determining a target load cluster according to a network parameter between the first access device and each of a plurality of load clusters; according to a first group of device load information, which is reported by a first group of load devices in the target load cluster, determining a second group of load devices from the first group of load devices, wherein the load capability of any load device in the second group of load devices is better than that of load devices in the first group of load devices other than the second group of load devices, and the load capabilities of any two load devices in the second group of load devices are not better than each other; and determining a first load device from the second group of load devices, and creating a game on the first load device. By means of the method, the technical problem of some load devices in a load cluster having a relatively low resource utilization rate is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Method and device for determining load equipment, storage medium, and electronic equipment

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on August 28, 2023, application number 202311097365.6, and application name “Load device determination method and device, storage medium and electronic device”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of computers, and in particular to a method and apparatus for determining a load device, a storage medium, and an electronic device. Background Art

[0003] Currently, the determination of load devices in related technologies is mainly achieved through random routing strategies, that is, by evenly distributing game matches on each load device in terms of quantity. After a game request is sent to the matching server, load devices are randomly selected to ensure that the number of game rounds created by each load device is as close as possible. However, this random algorithm is difficult to achieve complete balance. Some load devices may create fewer game rounds and have low resource utilization. It is also possible that too many games are randomly assigned to the same load device at a certain point in time, resulting in creation failure. Therefore, related technologies have the problem of low resource utilization of some load devices in the load cluster, making it difficult to truly achieve load balancing among the load devices within the cluster.

[0004] To address the above-mentioned problems, no effective solutions have been proposed so far.

[0005] Summary of the Invention

[0006] The embodiments of the present application provide a method and apparatus for determining a load device, a storage medium, and an electronic device to at least solve the technical problem of low resource utilization of some load devices in a load cluster.

[0007] According to one aspect of an embodiment of the present application, a method for determining a load device is provided, the method being executed by an electronic device, and comprising: obtaining a first data request sent by a first access device, wherein the first data request is used to request the start of a game in a current application; in response to the first data request, determining a target load cluster based on network parameters between the first access device and a plurality of load clusters, wherein the target load cluster is a load cluster among the plurality of load clusters whose network parameters meet preset network parameter conditions; determining a second group of load devices from the first group of load devices based on first group of device load information reported by a first group of load devices in the target load cluster, wherein each device load information in the first group of device load information includes a device load parameter for indicating the load capacity of the corresponding load device in different dimensions, the load capacity of any load device in the second group of load devices is better than that of other load devices in the first group of load devices except the second group of load devices, and the load capacity of any two load devices in the second group of load devices is not better than that of each other; determining a first load device from the second group of load devices, and creating the game on the first load device.

[0008] According to another aspect of an embodiment of the present application, a device for determining a load device is provided. The device is deployed on an electronic device and includes:

[0009] An acquisition module is configured to acquire a first data request sent by a first access device, wherein the first data request is used to request the start of a game in the current application; a determination module is configured to determine a target load cluster in response to the first data request based on network parameters between the first access device and multiple load clusters, wherein the target load cluster is a load cluster among the multiple load clusters whose network parameters meet preset network parameter conditions; a processing module is configured to determine a second group of load devices from the first group of load devices based on first group of device load information reported by a first group of load devices in the target load cluster, wherein each device load information in the first group of device load information includes a device load parameter for indicating the load capacity of the corresponding load device in different dimensions, the load capacity of any load device in the second group of load devices is better than that of other load devices in the first group of load devices except the second group of load devices, and the load capacity of any two load devices in the second group of load devices is not better than that of each other; a creation module is configured to determine a first load device from the second group of load devices and create the game on the first load device.

[0010] According to another aspect of the embodiments of the present application, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is configured to execute the above-mentioned load device determination method when running.

[0011] According to another aspect of the present application, a computer program product is provided, comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the load device determination method described above.

[0012] According to another aspect of the embodiments of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the load device determination method through the computer program.

[0013] In an embodiment of the present application, a first data request sent by a first access device is obtained, wherein the first data request is used to request the start of a game in the current application. In response to the first data request, a target load cluster is determined based on network parameters between the first access device and multiple load clusters, wherein the target load cluster is a load cluster among the multiple load clusters whose network parameters meet preset network parameter conditions. The principle of Pareto optimal solution is similar to the principle of load balancing. Therefore, when determining the load device corresponding to a game, a suitable load device can be determined based on the Pareto optimal solution to minimize the impact of the load of the game on the load device. Specifically, a second group of load devices can be determined from the first group of load devices based on the first group of device load information reported by the first group of load devices in the target load cluster. Each device load information in the first group of device load information includes a device load parameter indicating the load capacity of the corresponding load device in different dimensions. The load capacity of any load device in the second group of load devices is better than that of other load devices in the first group of load devices except the second group of load devices, and the load capacity of any two load devices in the second group of load devices is not better than that of each other, thereby finding the Pareto optimal solution for the load devices in the load cluster. Then, a first load device is determined from the second group of load devices, and a game is created on the first load device. Since the load device for creating a game is the load device corresponding to the Pareto optimal solution, the load capacity of the load device corresponding to the Pareto optimal solution is relatively good, and the load capacity of the load devices corresponding to the Pareto optimal solution is not very different from each other, by finding the Pareto optimal solution for the load devices in the load cluster and creating the game on the load device corresponding to the Pareto optimal solution, the goal of efficient load balancing is achieved, thereby achieving the technical effect of improving the resource utilization of the load devices and reducing the possibility of overload of the load devices, thereby solving the technical problem of low resource utilization of some load devices in the load cluster. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0015] FIG1 is a schematic diagram of an application environment of an optional method for determining a load device according to an embodiment of the present application;

[0016] FIG2 is a flow chart of an optional method for determining a load device according to an embodiment of the present application;

[0017] FIG3 is a schematic diagram of an optional method for determining a load device according to an embodiment of the present application;

[0018] FIG4 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application;

[0019] FIG5 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application;

[0020] FIG6 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application;

[0021] FIG7 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application;

[0022] FIG8 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application;

[0023] FIG9 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application;

[0024] FIG10 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application;

[0025] FIG11 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application;

[0026] FIG12 is a schematic structural diagram of an optional load device determination device according to an embodiment of the present application;

[0027] FIG13 is a schematic structural diagram of a product determination device of an optional load device according to an embodiment of the present application;

[0028] FIG14 is a schematic structural diagram of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0029] In order to enable those skilled in the art to better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this application.

[0030] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in a sequence other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0031] First, some nouns or terms that appear in the description of the embodiments of the present application are subject to the following interpretations:

[0032] PCU (Peak Concurrent Users): The maximum number of people online at the same time.

[0033] FPS: First-person shooting game.

[0034] Load Cluster: This is the server cluster where matches actually begin. After successful matching, players proceed within the game on this server cluster, such as entering maps and searching for supplies in shooters, or laning within role-playing games. Because players are distributed across different regions, dozens of load clusters are deployed globally to enhance the combat experience for players with varying network latency. After players are successfully matched within the same lobby cluster, they enter a load cluster in a specific region to play their matches.

[0035] dscenter (corresponding to the following device allocation process): abbreviated as dsc, each load cluster has multiple parallel dscenters that simultaneously manage the load device allocation of the entire cluster.

[0036] dsagent (corresponding to the following device agent process): abbreviated as dsa. Each load device has a dsagent that manages the initialization, data synchronization, and recovery of the actual game ds process on the load device.

[0037] OOM: out of memory, memory overflow, will cause the process to fail and stop.

[0038] Pareto optimality: When comparing multiple multi-dimensional data, if a current data point is superior to another data point in all dimensions, then the current data point is superior to the other data point. If several data points are superior to other data points, but none of them are superior to each other, then the data points are Pareto optimal.

[0039] The present application will be described below with reference to the following embodiments:

[0040] According to one aspect of an embodiment of the present application, a method for determining a load device is provided. Optionally, in this embodiment, the method for determining a load device can be applied to a hardware environment consisting of a server 101 and a terminal device 103 as shown in Figure 1. As shown in Figure 1, the server 101 is connected to the terminal device 103 via a network and can be used to provide services for the terminal device or an application installed on the terminal device. The application can be a video application, an instant messaging application, a browser application, an educational application, a game application, etc. A database 105 may be set up on the server or independently of the server to provide data storage services for the server 101, for example, a game data storage server. The above-mentioned network may include but is not limited to: a wired network, a wireless network, wherein the wired network includes: a local area network, a metropolitan area network and a wide area network, and the wireless network includes: Bluetooth, WIFI and other networks that realize wireless communication. The terminal device 103 may be a terminal configured with an application, and may include but is not limited to at least one of the following: a mobile phone (such as an Android phone, an iOS phone, etc.), a laptop computer, a tablet computer, a PDA, a MID (Mobile Internet Devices), a PAD, a desktop computer, a smart TV, an intelligent voice interaction device, a smart home appliance, a vehicle-mounted terminal, an aircraft, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a mixed reality (MR) terminal and other computer devices. The above-mentioned server may be a single server, a server cluster consisting of multiple servers, or a cloud server.

[0041] 1 , the load device determination method can be implemented on the terminal device 103 through the following steps:

[0042] S1, obtaining, on the terminal device 103, a first data request sent by a first access device, wherein the first data request is for requesting to start a game in the current application;

[0043] S2, in response to the first data request, on the terminal device 103, determining a target load cluster based on network parameters between the first access device and the multiple load clusters, wherein the target load cluster is a load cluster among the multiple load clusters whose network parameters meet preset network parameter conditions;

[0044] S3. On the terminal device 103, based on the first group of device load information reported by the first group of load devices in the target load cluster, a second group of load devices is determined from the first group of load devices, wherein each device load information in the first group of device load information includes device load parameters for indicating the load capacity of the corresponding load device in different dimensions, the load capacity of any load device in the second group of load devices is better than that of other load devices in the first group of load devices except the second group of load devices, and the load capacity of any two load devices in the second group of load devices is not better than that of each other;

[0045] S4: On the terminal device 103, a first load device is determined from the second group of load devices, and a game is created on the first load device.

[0046] Optionally, in this embodiment, the above-mentioned method for determining the load device may also be implemented by a server, for example, implemented in the server 101 shown in FIG1 ; or implemented by the terminal device and the server together.

[0047] The above is only an example and is not specifically limited in this embodiment.

[0048] Optionally, as an optional implementation manner, as shown in FIG2 , the method for determining the load device includes:

[0049] S202: Obtain a first data request sent by a first access device, where the first data request is used to request to start a game in a current application;

[0050] Optionally, in this embodiment, the first access device may include, but is not limited to, a device that the user logs in to using the current account. The current application is an application used to enter a game. The current application may include, but is not limited to, game applications, social applications, shopping applications, etc. Taking game applications as an example, the game applications may include, but are not limited to, shooting game applications, chess and card game applications, role-playing game applications, strategy game applications, etc., or may be a combination of the above types of game applications. The account may include, but is not limited to, an account pre-registered on the relevant server of the game application, or an account registered on the relevant server of the game application at the same time as the data request is sent. The above is merely an example, and this embodiment does not impose any specific limitations on this.

[0051] Optionally, in this embodiment, the first data request may include but is not limited to a request to start a game, or a request to form a group of accounts with other accounts for requesting to start the game, and the other accounts may be in the same geographical area or a different geographical area as the current account.

[0052] It should be noted that the execution subject of the above load device determination method may include but is not limited to a matching server for creating a game, for example, it may include but is not limited to a regional server or a pre-configured server for matching game accounts.

[0053] Figure 3 is a schematic diagram of an optional load device determination method according to an embodiment of the present application. As shown in Figure 3, two players in areas 302 and 304 respectively play games through game interfaces 306 and 308. After receiving the corresponding interactive operation corresponding to "Start Matching" in the game interface, the two players can jointly participate in a game created by the game matching server. In this case, the interactive operation of clicking "Start Matching" is the operation of sending the first data request through the first access device.

[0054] In this step, you need to obtain the first data request sent by the first access device, which is used to start a game in the current application. For example, when a user clicks the "Start Match" button in the game application on a mobile device, a request is sent to the server.

[0055] S204, in response to the first data request, determining a target load cluster based on network parameters between the first access device and the multiple load clusters, wherein the target load cluster is a load cluster among the multiple load clusters whose network parameters meet preset network parameter conditions;

[0056] Optionally, in this embodiment, network parameters may refer to parameters that can independently reflect network characteristics. The above-mentioned network parameters may include but are not limited to network delay, cluster load, etc. By obtaining the network parameters between the first access device and multiple load clusters, the target load cluster whose network parameters meet the preset network parameter conditions among the multiple load clusters is determined.

[0057] For example, when a game is about to start, the network delay ranges of 10 players for the five load clusters A, B, C, D, and E are [110-120], [30-40], [60-80], [140-160], and [210-220] (unit: milliseconds). When the matching server successfully matches players to enter a game, it will request the corresponding load balancing to allocate a single game. If load cluster B is not fully loaded at this time, it will request load cluster B to allocate the corresponding load device to create the game. When load cluster B is fully loaded, it will try to allocate the corresponding load device from the load clusters C, A, D, and E that are not fully loaded to create the game.

[0058] It should be noted that the above-mentioned target load clusters can be determined in order from low to high according to the network delay, or a load cluster set consisting of some load clusters with delays lower than a preset threshold can be first screened out according to the network delay, and then the corresponding load cluster can be randomly selected from the load cluster set. The specific selection method is not specifically limited in this application.

[0059] Optionally, in this embodiment, the above-mentioned preset network parameter condition can be understood as a network delay threshold or a network delay sorting position preset by the system.

[0060] For example, the target load cluster can be determined by analyzing network parameters between the first access device and multiple load clusters. A target load cluster is a load cluster that meets preset network parameter conditions. If the network parameter analysis reveals that a load cluster has very stable and efficient latency and bandwidth, it can be determined as the target load cluster.

[0061] S206: Determine a second group of load devices from the first group of load devices based on the first group of device load information reported by the first group of load devices in the target load cluster, wherein each device load information in the first group of device load information includes device load parameters for indicating the load capacity of the corresponding load device in different dimensions, the load capacity of any load device in the second group of load devices is better than that of other load devices in the first group of load devices except the second group of load devices, and the load capacity of any two load devices in the second group of load devices is not better than that of each other;

[0062] Optionally, in this embodiment, the above-mentioned first group of load devices can be understood as the load devices managed by the target load cluster and in operation, the device load information can reflect the load capacity of the load device, and the above-mentioned first group of device load information can be understood as the device load information corresponding one-to-one to the above-mentioned first group of load devices, that is, one device load information corresponds to one load device.

[0063] It should be noted that the above-mentioned equipment load information includes at least two equipment load parameters in different dimensions for indicating the load capacity of the load equipment. The equipment load parameters may be parameters reflecting the load capacity of the load equipment, for example, the first equipment load parameter and the second equipment load parameter. That is, the above-mentioned first equipment load parameter may include but is not limited to being composed of multiple equipment load parameters of the same dimension, and the above-mentioned second equipment load parameter may include but is not limited to being composed of multiple equipment load parameters of the same dimension. However, the above-mentioned first equipment load parameter and the above-mentioned second equipment load parameter are equipment load parameters of different dimensions. Therefore, it is difficult to directly determine the load capacity of the corresponding load equipment by simply merging the values ​​of the above-mentioned first equipment load parameter and the above-mentioned second equipment load parameter.

[0064] Exemplarily, the first device load parameter may include but is not limited to the central processing unit (CPU) idle rate, and the second device load parameter may include but is not limited to the remaining memory capacity. Since the CPU idle rate and the remaining memory capacity are device load parameters used to describe the load capacity of the load device in different dimensions, if the CPU idle rate and the remaining content capacity of one load device are better than those of another load device, then the current load device is better than the other load device. However, when the CPU idle rate of one load device is higher than that of another load device, and the remaining content capacity is lower than that of the other load device, it is difficult to judge the pros and cons of the load capacity of the two load devices. That is, if several load devices are better than other load devices, and these load devices are not better than each other, then they are the second group of load devices mentioned above, that is, the second group of load devices is the load device corresponding to the Pareto optimal solution of the load information of the first group of devices.

[0065] In an exemplary embodiment, it is assumed that the first group of load devices is the load devices in load cluster A, which includes several load devices. The device load information reported by these load devices may include a first device load parameter and a second device load parameter, which are used to indicate the load capacity of the corresponding load devices in different dimensions. According to the requirements of the second group of load devices, other load devices are selected from the first group of load devices and named as load devices C, D, etc. as part of the second group of load devices. The load capacity of these load devices must be better than that of other load devices in the first group of load devices except the second group of load devices. In addition, the load capacity between any two load devices in the second group of load devices cannot be better than each other. That is, the load capacity of load C cannot be better than the load capacity of load D, and vice versa.

[0066] The above examples provide a better understanding of how to determine the second group of load devices based on the load information reported by the first group of load devices. This design ensures that the second group of load devices has a higher load capacity and maintains a balance between them, thereby improving the performance and reliability of the entire load device system.

[0067] S208: Determine a first load device from the second group of load devices, and create a game on the first load device.

[0068] Optionally, in this embodiment, the first load device may be understood as a load device with the most average load capacity in the second group of load devices, or may be understood as any load device in the second group of load devices.

[0069] In an exemplary embodiment, after determining the second group of load devices, a device with relatively balanced load capacity can be selected as the first load device, and a game can be created on that device. For example, based on indicators such as the processing power and memory capacity of the load devices, one device can be selected as the first load device and the game service can be started on it.

[0070] In this embodiment, a first data request sent by a first access device is obtained, wherein the first data request is used to request the start of a game in the current application. In response to the first data request, a target load cluster is determined based on network parameters between the first access device and multiple load clusters. The target load cluster is a load cluster among the multiple load clusters whose network parameters meet preset network parameter conditions. The principle of Pareto optimality is similar to the principle of load balancing. Therefore, when determining the load devices corresponding to a game, appropriate load devices can be determined based on the Pareto optimal solution to minimize the impact of the load of the game on the load devices. Specifically, a second group of load devices can be determined from the first group of load devices based on the first group of device load information reported by the first group of load devices in the target load cluster. Each device load information in the first group of device load information includes device load parameters indicating the load capacity of the corresponding load device in different dimensions. The load capacity of any load device in the second group of load devices is greater than that of any other load devices in the first group of load devices except the second group of load devices, and the load capacity of any two load devices in the second group of load devices is not greater than that of each other. This results in a Pareto optimal solution for the load devices in the load cluster. Then, a first load device is determined from the second group of load devices, and a game is created on the first load device. Since the load device for creating a game is the load device corresponding to the Pareto optimal solution, the load capacity of the load device corresponding to the Pareto optimal solution is relatively good, and the load capacity of the load devices corresponding to the Pareto optimal solution is not very different from each other, by finding the Pareto optimal solution for the load devices in the load cluster and creating the game on the load device corresponding to the Pareto optimal solution, the goal of efficient load balancing is achieved, thereby achieving the technical effect of improving the resource utilization of the load devices and reducing the possibility of overload of the load devices, thereby solving the technical problem of low resource utilization of some load devices in the load cluster.

[0071] In addition, the entire process of allocating load devices does not require querying the database, and the allocation can be completed quickly in a short time, ensuring that the load of each load device is accurately and reliably updated, avoiding unreliable load device status updates due to reporting timing problems, and load device allocation overload leading to memory overflow and other problems that may cause major online accidents.

[0072] On the other hand, through the multi-level withholding mechanism and load balancing strategy, we can prevent the drastic changes in device parameters caused by a large influx of load into a load device in a short period of time, ensure that each game can be distributed smoothly, and reduce the failure rate of game creation.

[0073] As an optional solution, determining a second group of load devices from the first group of load devices according to the first group of device load information reported by the first group of load devices in the target load cluster includes:

[0074] Obtaining device load parameters corresponding to each load device in the first set of device load information;

[0075] Determine the load capacity of each load device in the first group of load devices by using an enumeration method according to the device load parameters;

[0076] A second group of load devices is determined according to the load capacity of each load device.

[0077] Optionally, in this embodiment, the aforementioned load capacity refers to the load amount and load pressure that a load device can withstand. Before performing load capacity analysis, accurate load information for the first group of load devices must be obtained. Load devices typically have multiple related parameters, including a first device load parameter and a second device load parameter. These parameters may include CPU usage, memory utilization, and so on.

[0078] For example, assuming that we are studying a computer server, the first device load parameter may include CPU usage, etc.; and the second device load parameter may include memory usage, etc.

[0079] Optionally, in this embodiment, the aforementioned use of enumeration to determine the load capacity of each load device in the first group of load devices can be understood as requiring the use of enumeration to determine the load capacity of each load device after obtaining the load information of the first group of devices. The enumeration method is a method that enumerates all possible situations one by one, and by exhaustively enumerating all possible load parameter combinations, finds a load device that meets the requirements of the second group of load devices.

[0080] For example, for a load device, its load capacity can be determined by trying different combinations of CPU usage and memory utilization. For example, when the CPU usage is 80% and the memory usage is 70%, the server operates normally, which indicates the load capacity under this combination. After determining the load capacity of the first group of load devices, an appropriate second group of load devices can be selected based on these capabilities. Based on the load capacity requirements, devices that meet or exceed the load capacity of the first group of load devices are selected. If the load capacity of the first group of load devices is 90% CPU usage and 80% memory usage, the second group of load devices can be selected based on the above requirements for the second group of load devices. For example, five higher-performance load devices can be selected, with CPU usage of 70%, 71%, 71%, 73%, and 67%, and memory usage of 32%, 30%, 30%, 29%, and 33%, respectively. In this case, the load capacity of any two of these five load devices is not superior to that of each other.

[0081] In an exemplary embodiment, Figure 4 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application. As shown in Figure 4, after receiving the above-mentioned first data request, the matching service determines the target load cluster by obtaining the network parameters of each load cluster. After determining the target load cluster, a second group of load devices is determined from the first group of load devices corresponding to the target load cluster according to the load capacity, wherein any load device in the second group of load devices is better than other load devices in the first group of load devices except the second group of load devices, and the load capacity between any two load devices in the second group of load devices is not better than each other.

[0082] Determining the load capacity of each load device by enumeration is intuitive, correct, and comprehensive, and thus the second group of load devices can be determined more effectively and accurately.

[0083] As an optional solution, the load capacity of each load device in the first group of load devices is determined by enumeration according to the load parameter of the first device and the load parameter of the second device, including:

[0084] Enumerating each load device in the first group of load devices in a first coordinate system, wherein a first coordinate axis of the first coordinate system is associated with a first device load parameter, and a second coordinate axis of the first coordinate system is associated with a second device load parameter;

[0085] The load capacity of each load device is determined based on the coordinate position of each load device in the first coordinate system, wherein the load capacity is related to the first straight-line distance of the corresponding load device, and the first straight-line distance is the straight-line distance between the coordinate position of the corresponding load device and the coordinate origin of the first coordinate system.

[0086] Optionally, in this embodiment, the above-mentioned first coordinate system can be understood as a coordinate system pre-set according to the first device load parameter and the second device load parameter, wherein the coordinate axes of the first coordinate system are related to the above-mentioned first device load parameter and the above-mentioned second device load parameter, that is, if the above-mentioned first coordinate system is a rectangular coordinate system, the horizontal axis can correspond to the first device load parameter, and the vertical axis can correspond to the second device load parameter.

[0087] It should be noted that enumerating each load device in the first group of load devices within the first coordinate system means considering each load device in the first group of load devices one by one. The first coordinate axis of the first coordinate system is associated with the first device load parameter; that is, the first device load parameter corresponds to a value on the first coordinate axis. Similarly, the second coordinate axis of the first coordinate system is associated with the second device load parameter; the second device load parameter corresponds to a value on the second coordinate axis.

[0088] Next, the load capacity of each payload needs to be determined based on its coordinate position in the first coordinate system. The load capacity is related to the linear distance between the coordinate position and the coordinate origin of the first coordinate system. In other words, the load capacity of a payload is determined by its position in the first coordinate system. The closer it is to the coordinate origin, the greater or lesser its load capacity; the farther it is from the coordinate origin, the greater or lesser its load capacity.

[0089] In an exemplary embodiment, FIG5 is a schematic diagram of another optional load device determination method according to an embodiment of the present application. As shown in FIG5 , assume that the first coordinate axis of the first coordinate system represents the CPU weight parameter of the load device, and the second coordinate axis represents the memory weight parameter of the load device. If there are three load devices, namely load device A, load device B, and load device C, the CPU weight parameter of load device A corresponds to a value of 2 on the first coordinate axis, and the memory weight parameter corresponds to a value of 3 on the second coordinate axis. The CPU weight parameter of load device B corresponds to a value of 5 on the first coordinate axis, and the memory weight parameter corresponds to a value of 1 on the second coordinate axis. The CPU weight parameter of load device C corresponds to a value of 3 on the first coordinate axis, and the memory weight parameter corresponds to a value of 4 on the second coordinate axis. Based on the coordinate positions of these devices in the first coordinate system, their load capacities can be determined. Assume that the coordinate origin of the first coordinate system is (0,0). The coordinate position of load device A in the first coordinate system is (2,3). Based on the straight-line distance from the coordinate origin, the load capacity of device A can be determined. Similarly, the coordinate position of load device B in the first coordinate system is (5, 1), and the coordinate position of load device C in the first coordinate system is (3, 4). The load capacity of load devices B and C can be determined based on these coordinate positions.

[0090] In summary, determining the load capacity based on the coordinate position of each load device in the first coordinate system is a process based on the relationship between the coordinate position and the straight-line distance between the coordinate origin. This process can intuitively display the load capacity corresponding to different load devices under different dimensions of device load parameters.

[0091] As an optional solution, each payload device in the first group of payload devices is enumerated in the first coordinate system, including:

[0092] If the values ​​of the first device load parameter and the second device load parameter are both positively correlated with the load capacity, the coordinate position of each load device on the first coordinate system is determined according to the negative value of the first device load parameter corresponding to each load device and the negative value of the second device load parameter, wherein the load capacity is negatively correlated with the first straight-line distance of the corresponding load device; if the first device load parameter is positively correlated with the load capacity, and the value of the second device load parameter is negatively correlated with the load capacity, the coordinate position of each load device on the first coordinate system is determined according to the negative value of the first device load parameter corresponding to each load device and the value of the second device load parameter, wherein the load capacity is negatively correlated with the first straight-line distance of the corresponding load device; if the values ​​of the first device load parameter and the second device load parameter are both negatively correlated with the load capacity, the coordinate position of each load device on the first coordinate system is determined according to the value of the first device load parameter and the value of the second device load parameter, wherein the load capacity is negatively correlated with the first straight-line distance of the corresponding load device.

[0093] Optionally, in this embodiment, the values ​​of the above-mentioned first device load parameter and second device load parameter are positively correlated with the load capacity. It can be understood that the larger the values ​​of the first device load parameter and the second device load parameter, the stronger the load capacity of the corresponding load device, and vice versa.

[0094] It should be noted that the negative number of the first device load parameter value and / or the negative number of the second device load parameter value can be understood as directly taking the negative number of the first device load parameter value and / or the negative number of the second device load parameter value.

[0095] Device load parameters of different dimensions may have different correlations with load capacity. Under different correlations, the load capacity of each load device in the first group of load devices is enumerated in an appropriate manner, so that the load capacity of the load device in the corresponding situation can be determined more accurately.

[0096] As an optional solution, the device load parameter includes a first device load parameter and a second device load parameter, and the above method also includes: if each device load information also includes a third device load parameter for indicating the load capacity of the corresponding load device, and the third device load parameter and the first device load parameter and the second device load parameter belong to different dimensions, each load device in the first group of load devices is enumerated in the second coordinate system, wherein the third coordinate axis of the second coordinate system is associated with the first device load parameter, the fourth coordinate axis of the second coordinate system is associated with the second device load parameter, and the fifth coordinate axis of the second coordinate system is associated with the third device load parameter; the load capacity of each load device is determined according to the coordinate position of each load device in the second coordinate system, wherein the load capacity is related to the second straight-line distance of the corresponding load device, and the second straight-line distance is the straight-line distance between the coordinate position of the corresponding load device and the coordinate origin of the second coordinate system.

[0097] Optionally, in this embodiment, the second coordinate system may include, but is not limited to, a three-dimensional coordinate system, wherein the third coordinate axis may be understood as the x-axis of the three-dimensional coordinate system, the fourth coordinate axis may be understood as the y-axis of the three-dimensional coordinate system, and the fifth coordinate axis may be understood as the z-axis of the three-dimensional coordinate system. The above is merely an example and is not specifically limited in this embodiment.

[0098] The above method can be used to determine the load capacity of each load device in a three-dimensional coordinate system. The three-dimensional coordinate system can provide more spatial information, making the determination of the load capacity more accurate and comprehensive.

[0099] As an optional solution, a first load device is determined from the second group of load devices, and a game is created on the first load device, including: determining the load device with a median load capacity in the second group of load devices as the first load device; creating a game on the first load device, and sending the network address and port identifier corresponding to the first load device to the first access device.

[0100] Optionally, in this embodiment, determining the load device with a median load capacity in the second group of load devices as the first load device can be understood as determining the load device with a weighted close weight of the first device load parameter and the second device load parameter in the second group of load devices as the first load device.

[0101] In an exemplary embodiment, a selection can be made based on the principle of Pareto Optimality, and a load device at the middle value of Pareto Optimality can be selected as the above-mentioned first load device, wherein Figure 6 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application. As shown in Figure 6, point 602, point 604, point 606, point 608 and point 610 are all Pareto optimal values. Therefore, the load device represented by point 602 at the middle value can be selected as the first load device for this single allocation.

[0102] It's important to note that Pareto Optimality, also known as Pareto Efficiency, refers to an ideal state of resource allocation. Given a given group of people and allocable resources, if a change from one allocation state to another makes at least one person better off without making anyone worse off, this is a Pareto improvement or Pareto Optimization. A Pareto Optimality state is one where there's no room for further Pareto improvement; in other words, a Pareto improvement is the path and method to achieving Pareto Optimism.

[0103] A load device with a median load capacity may mean that the load capacity of the load device is neither the weakest nor the strongest. Selecting the load device as the first load device for load distribution helps to achieve balanced load distribution in the entire load cluster.

[0104] As an optional solution, the device load parameter includes a first device load parameter and a second device load parameter, and obtaining the device load parameter corresponding to each load device in the first set of device load information includes: determining the first device load parameter corresponding to each load device in the first set of device load information according to the first weight parameter and the first current device load parameter corresponding to each load device, wherein the first current device load parameter represents the device load parameter under the first dimension reported in the most recent round corresponding to each load device, the first weight parameter represents the ratio of the device load parameter under the first dimension reported in the historical round to the sum of the device load parameters under the first dimension reported in the historical round for each load device, the historical round represents the round before the most recent round, and the first weight parameter represents the ratio of the device load parameter under the first dimension reported in the historical round for each load device. The parameter is set to 0 in the first round, and the first device load parameter represents the sum of the first weight parameter and the first current device load parameter; according to the second weight parameter and the second current device load parameter corresponding to each load device, the second device load parameter corresponding to each load device in the first group of device load information is determined, wherein the second current device load parameter represents the device load parameter of the second dimension reported in the most recent round corresponding to each load device, and the second weight parameter represents the ratio of the device load parameter of each load device in the second dimension reported in the historical rounds to the sum of the device load parameters of each load device in the second dimension reported in the historical rounds. The second weight parameter is set to 0 in the first round, and the second device load parameter represents the sum of the second weight parameter and the second current device load parameter.

[0105] For example, when load devices need to be allocated, weights are calculated for all load devices (corresponding to the aforementioned device load information). The weight w (cpu, memory) is calculated as (the current CPU weight of the load device + its last reported CPU idle rate, the current memory weight of the load device + its last reported remaining memory), where the initial values ​​of the current CPU weight and current memory weight of the load device are 0. After the weight update is completed for all load devices, the data of each weight dimension is inverted for decision making, such as inverting (0.2, 30000) to (-0.2, -30000). Selection is made based on the principle of Pareto optimality, and the load device at the middle value of Pareto optimality is selected.

[0106] As an optional solution, determining the first load device from the second group of load devices and creating a game on the first load device includes: obtaining the load information of the first group of devices through the first device allocation process every first time period, wherein each device load information in the first group of device load information is reported to the first group of device allocation process by the corresponding load device through the corresponding device agent process every second time period, the first device allocation process is a device allocation process predetermined in the first group of device allocation processes, and the second time period is less than the first time period; in response to the first data request, determining the first load device from the second group of load devices through the second device allocation process, and creating a game on the first load device.

[0107] Optionally, in this embodiment, the first device allocation process may be understood as one of the first group of device allocation processes corresponding to the first group of load devices, and the first group of device allocation processes manages the target load cluster in parallel.

[0108] It should be noted that the above-mentioned first duration is set to be greater than the second duration. In other words, the rate at which each device agent process uploads the device load information of the corresponding load device is faster than the rate at which the first device allocation process obtains the first group of device load information.

[0109] In an exemplary embodiment, the above-mentioned first device allocation process can be a device allocation process with a serial number of a preset value that is currently in operation. Taking the first device allocation process as the device allocation process with the smallest serial number as an example, Figure 7 is a schematic diagram of another optional load device determination method according to an embodiment of the present application. As shown in Figure 7, the device allocation process with the smallest serial number in operation in each load cluster (dscenter shown in Figure 7) is reported at the minute level, which can avoid jitter of the load value of the entire load cluster caused by alternating reporting between different dscenters, and try to ensure the continuity and consistency of the load changes of the entire load cluster.

[0110] As an optional solution, in response to the first data request, determining a first load device from the second group of load devices through a second device allocation process, and creating a game on the first load device, including:

[0111] In response to the first data request, sending a game creation instruction to the first load device through the second device allocation process, wherein the game creation instruction is used to instruct the device agent process corresponding to the first load device to create a game on the first load device;

[0112] In response to the game creation instruction, performing a self-check on the load capacity of the first load device through the device agent process corresponding to the first load device;

[0113] When the load capacity of the first load device meets the preset conditions, a game is created on the first load device, and a creation success instruction is sent to the second device allocation process, wherein the creation success instruction is used to notify the second device allocation process that the first load device has completed the creation of the game, and the device load information includes the creation success instruction;

[0114] When the load capacity of the first load device does not meet the preset conditions, a creation failure instruction is sent to the second device allocation process, wherein the creation failure instruction is used to notify the second device allocation process that the first load device has not completed the creation of a game, and the device load information includes the creation failure instruction.

[0115] Optionally, in this embodiment, the second device allocation process may be understood as a device allocation process randomly selected from the first group of device allocation processes, and may be the same as or different from the first device allocation process.

[0116] It should be noted that the above-mentioned game creation instruction can be used to instruct the first load device to establish game content corresponding to a game, including but not limited to pulling the corresponding game model, etc.

[0117] Optionally, in this embodiment, the target device agent process corresponds to the first load device, and the target device agent process is used to manage the first load device and report device parameter information related to the first load device to the first group device allocation process every second time period.

[0118] It should be noted that the above self-check process includes a pre-deployment check strategy. When the load device is actually deployed, a final check is performed on the remaining resource margin. If the margin is insufficient, the deployment is rejected to ensure that the load device is not over-deployed and the stability of the load device is guaranteed.

[0119] As an optional solution, the above method further includes:

[0120] Obtaining a load consumption parameter pre-set for a game round, wherein the load consumption parameter is used to indicate a load overhead caused by the first load device creating a game round;

[0121] If a game creation instruction has been sent to the first load device through the second device allocation process, and the second device allocation process has not received a creation success instruction or a creation failure instruction, in response to the second data request sent by the second access device, the load device information corresponding to the first load device is updated according to the load consumption parameter to obtain updated load device information;

[0122] If the updated load device information indicates that the first load device is unable to create another game in response to the second data request, a third group of load devices is determined based on the load information of the first group of devices, excluding the first load device, and a second load device is determined from the third group of load devices. A game corresponding to the second data request is created on the second load device, wherein the load capacity of any load device in the third group of load devices is greater than that of other load devices in the first group of load devices except the third group of load devices, and the load capacity of any two load devices in the third group of load devices is not greater than that of each other;

[0123] If the updated load device information indicates that the first load device allows a game to be created again in response to the second data request, a fourth group of load devices is determined based on the load information of the first group of devices and the load consumption parameters, and a second load device is determined from the fourth group of load devices, and a game corresponding to the second data request is created on the second load device, wherein the load capacity of any load device in the fourth group of load devices is better than that of other load devices in the first group of load devices except the fourth group of load devices, and the load capacity of any two load devices in the fourth group of load devices is not better than that of each other.

[0124] Optionally, in this embodiment, the above-mentioned load consumption parameters can be understood as the experience values ​​of a game of different types. By pre-deducting the remaining allocatable memory and ports in this reporting cycle, the load devices whose resources have been exhausted are eliminated in advance, and a game is allocated to a load device with more idle resources.

[0125] In an exemplary embodiment, the aforementioned acquisition of the preset load consumption parameter is to indicate the load overhead generated by the first load device when creating the game. For example, if a game requires a large amount of computing and graphics processing, the load consumption parameter can be represented by the required CPU and GPU resources.

[0126] It should be noted that when the second device allocation process sends a game creation instruction to the load device, if the second device allocation process does not receive an instruction of creation success or failure, it is necessary to update the load device information corresponding to the first load device according to the load consumption parameter.

[0127] If the updated load device information indicates that the first load device is no longer able to respond to the second data request and create the game, a third group of load devices that does not include the first load device can be determined based on the load information of the first group of devices. A second load device is then selected from the third group of load devices, and the game corresponding to the second data request is created on it. Any load device in the third group of load devices must have a load capacity greater than that of any other load device in the first group of load devices, excluding the third group. Furthermore, any two load devices in the third group of load devices must have load capacities that are not greater than each other.

[0128] If the updated load device information indicates that the first load device can continue to respond to the second data request and create the game, a fourth group of load devices can be determined based on the load information and load consumption parameters of the first group of devices. A second load device is then selected from the fourth group of load devices, and the game corresponding to the second data request is created on it. In the fourth group of load devices, the load capacity of any load device is greater than that of all other load devices in the first group, except for the fourth group. Furthermore, the load capacity of any two load devices in the fourth group is not greater than that of each other.

[0129] In summary, based on the pre-set load consumption parameters and device load information, you can choose the appropriate load device to create the game to ensure optimal performance and load balance.

[0130] For example, if a game has been assigned to a matchmaking server but the dsagent has not yet reported and confirmed its actual start, the dscenter will record it and use withheld resources. If a game remains unconfirmed for more than, for example, five reporting cycles, the dscenter will consider the start a failure and release the withheld resources. Multiple parallel dscenters all follow this withholding strategy to ensure they do not over-allocate, thereby ensuring allocation stability and quality across the entire cluster.

[0131] It should be noted that Figure 8 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application. As shown in Figure 8, there are multiple parallel dscenters in each load cluster, and any dscenter can assign a single bureau to any dsagent. For example, there are M dscenters and X dsagents in a load cluster. Each dscenter will receive a report from each of the X dsagents and assign a single bureau to the load devices managed by the X dsagents. Each dscenter will record the CPU idle rate, memory margin, and single-burst available port margin of the load device managed by each dsagent. Since the dsagent reports load information every second, the load information of each dsagent managed by the dsagent on the dscenter is also updated every second. The dscenter needs to adopt a reasonable load balancing strategy for each allocation. In each load cluster, the load information of each load device is reported to the dscenter by the dsagent in seconds. dsagent reports the CPU idle rate, memory remaining, available port remaining of the managed load devices, and newly added single offices that have not yet been confirmed by the corresponding dscenter. After the dscenter confirms the new single office within this reporting period, the dsagent does not need to carry the confirmed single office information in the next report. The processing method for the single office that ends in this reporting period is similar to that for the new single office. As an optional solution, the above method also includes:

[0132] Get the total number of device allocation processes of the first group of device allocation processes;

[0133] determining a first load threshold and a second load threshold according to the first device load parameter, the second device load parameter, and the total number of device allocation processes, wherein the first load threshold represents a ratio of the first device load parameter to the total number of device allocation processes, and the second load threshold represents a ratio of the second device load parameter to the total number of device allocation processes;

[0134] In response to the first data request, the second group of load devices allowed to be allocated in the current round of the second device allocation process is determined based on the first load threshold and the second load threshold, wherein the first device load parameter corresponding to each load device in the second group of load devices is less than or equal to the first load threshold, and the second device load parameter is less than or equal to the second load threshold.

[0135] Optionally, in this embodiment, the first load threshold and the second load threshold can be understood as the maximum load that a device allocation process is allowed to allocate at one time. In other words, when the load of a load device is less than the above load threshold, it will definitely not belong to the above second group of load devices.

[0136] For example, in order to prevent a large amount of start allocation from entering a certain load device during the load reporting update cycle, causing the load device to experience OOM and affect the failure of all ongoing single games or the start of new single games, a withholding strategy is proposed. Based on the experience values ​​of different types of single games, the remaining allocatable memory and ports in this reporting cycle are withheld in advance, and load devices with exhausted resources are removed in advance. The single games are allocated to load devices with more idle resources, ensuring the stability and quality of subsequent single game starts. For example, if there are M dscenters in a load cluster, and a dsagent reports its own free memory and ports as x and y, then this dscenter can only allocate x / M, y / M memory and ports this time, and the dscenter will update the remaining amount when this dsagent reports next time.

[0137] As an optional solution, in response to the first data request, determining the target load cluster according to network parameters between the first access device and the multiple load clusters includes:

[0138] Arrange the multiple load clusters according to response speed based on network parameters between the first access device and the multiple load clusters to obtain a target load cluster set;

[0139] Each time, the load cluster with the fastest response speed is selected from the target load cluster set, and the cluster load capacity of the selected load cluster is determined;

[0140] If the cluster load capacity does not meet the preset load condition, the selected load cluster is deleted from the target load cluster set;

[0141] When the cluster load capacity meets the preset load condition, the selected load cluster is determined as the target load cluster.

[0142] The following is a further explanation of this application with reference to specific examples:

[0143] This application mainly provides a global game matching solution, which mainly includes the following contents:

[0144] 1) Provides a high-performance load cluster distribution solution that acts on the entire distribution process. The entire process of distributing load devices does not require querying the database, and the distribution can be completed quickly in a short time;

[0145] 2) Provides a solution to improve the resource utilization of load cluster load devices;

[0146] 3) A load reporting and incremental synchronization mechanism is proposed to ensure accurate and reliable updates of the load of each load device, avoiding problems such as unreliable load device status updates due to reporting timing issues, and memory overflows caused by load device allocation overload, which can lead to major online incidents.

[0147] 4) A load distribution algorithm is proposed. Through a multi-level withholding mechanism and load balancing strategy, it prevents a large number of games from flooding into a single machine in a short period of time, causing drastic changes in the machine's CPU, memory, and other indicators. This ensures stable distribution within a single game and reduces the game start failure rate.

[0148] Related technologies offer multi-load cluster allocation solutions for global games, typically using a random routing strategy to evenly distribute matches across load devices based on number. When a matchmaking request arrives at the matchmaking server, a dscenter is selected based on the player's cluster, and then a dsagent is randomly selected to create a single game.

[0149] Based on the above analysis, there are many problems with directly using the above technical solution. The random algorithm may not achieve complete balance. Some load devices may have a small number of openings, resulting in low resource utilization. It is also possible that too many single games randomly assigned to the same load device at a certain time will cause opening failures or even cause OOM and affect all single games on the entire machine. This application solves various problems existing in the random routing allocation solution for load clusters.

[0150] For global, server-based games, matchmaking is performed based on player network latency, placing players with similar latency into the same game to ensure fairness and a positive gaming experience. It's crucial to assign a single game to a load-bearing cluster with minimal latency and sufficient capacity.

[0151] There are multiple load clusters in many locations around the world, each containing multiple machines. Since most games feature a variety of maps, modes, and gameplay, each game consumes different machine resources. Simply assigning games to different load devices based on the number of games won't achieve true load balancing. Therefore, a solution is needed to balance the loads of all types of machines.

[0152] To improve game start efficiency and avoid frequent database reads and writes during the single-game allocation process, a more efficient allocation strategy is needed. To ensure the reliability of the allocation process and prevent single-game start failures after allocation, a reliable mechanism is also needed to ensure the rationality of allocation.

[0153] In order to solve various problems of the load cluster random routing distribution scheme and achieve efficient and high-quality full load cluster distribution, a load-balanced global game load cluster distribution scheme is proposed.

[0154] For high-PCU, globally distributed FPS games, load balancing clusters are deployed in multiple regions around the world to enhance the player experience and enhance machine performance. Each load balancing cluster consists of multiple load balancing devices. After a player successfully matches, a single round is played on a single load balancing device, which must ensure minimal latency for each player. Because the large number of load balancing devices in multiple load balancing clusters is costly, rational planning and deployment are essential to maximize the utilization of each load balancing device.

[0155] This solution is also applicable to other games with high PCU, high real-time requirements, and global server matching that require load cluster distribution.

[0156] The following is an explanation of the application scenario of this solution in gaming. FIG9 is a schematic diagram of another optional method for determining a load device according to an embodiment of the present application, as shown in FIG9 , including but not limited to the following steps:

[0157] In S1, after entering the game lobby, players can choose to complete their teammate list and click the Start button to initiate a full-server match. The client will include the player's network latency information when participating in the match. The matchmaking server will group some players into multi-player teams based on the network latency of all participating players, and will also pair multiple teams with similar network latency into a single game.

[0158] In S2, successfully matched players will enter a random location within the game with a randomly generated AI. The game will start with a suitable load device in the load cluster with the lowest network latency that is not fully loaded, based on the network latency of all players in the game. Players will then connect to this load device to fight.

[0159] According to the above introduction, the technical solution described in this application, after the player initiates a matching request, the matching server will match players from all over the world based on their respective network delays. Generally speaking, players with relatively close network delays for load clusters in different regions will be assigned to a single game. For example, in a single game, 10 players have network delay ranges of [110-120], [30-40], [60-80], [140-160], [210-220] (unit: milliseconds) for 5 load clusters A, B, C, D, and E. When the matching server successfully matches players into a single game, it will request the allocation of a single game. If the B load cluster is not fully loaded at this time, a request will be made to the B load cluster to allocate a single game. When the B load cluster is fully loaded, it will try to allocate a single game from the load clusters that are not fully loaded among C, A, D, and E in turn.

[0160] Since multiple load clusters are deployed in many locations around the world, taking the five load clusters A, B, C, D, and E as an example, each of these five load clusters has several parallel dscenters to jointly manage the entire cluster, and each cluster also has several dsagents to manage each load device in the cluster.

[0161] The dscenter with the smallest serial number in each load cluster performs minute-level reporting. This can avoid jitter in the load value of the entire load cluster caused by alternating reports between different dscenters, and try to ensure the coherence and consistency of the load changes of the entire load cluster. The one with the smallest serial number is selected.

[0162] The load balancing solution within the cluster mainly consists of a load reporting and incremental synchronization mechanism, a load balancing distribution strategy, a withholding strategy, and a pre-start check strategy.

[0163] The load reporting and incremental synchronization mechanism involves a dsagent reporting load information for each load device within each load cluster to the dscenter within seconds. The dsagent reports the CPU idle rate, memory remaining, available port remaining per station, and newly added stations that have not yet been confirmed by the corresponding dscenter. Once the dscenter confirms a new station within a reporting cycle, the dsagent's next report does not need to include the confirmed station information. Stations that end within a reporting cycle are handled similarly to new stations.

[0164] Load balancing allocation strategy: Each load cluster has multiple parallel dscenters, and any dscenter can allocate a single bureau to any dsagent. For example, if load cluster B has M dscenters and X dsagents, each dscenter will receive reports from each of the X dsagents and allocate a single bureau to the load devices managed by each of the X dsagents. Each dscenter will record the CPU idle rate, memory remaining, and available port remaining for each bureau of the load devices managed by each dsagent. Because dsagents report load information every second, the load information of each dsagent-managed load device on the dscenter is also updated every second. The dscenter must adopt a reasonable load balancing strategy for each allocation. When a dscenter makes an allocation, it calculates weights for all load devices. The weight w (CPU, memory) is calculated as (the load device's current CPU weight + its last reported CPU idle rate, and the load device's current memory weight + its last reported remaining memory). The current CPU weight and current memory weight of a load device are initially 0. After updating the weights of all load devices, the data of each weight dimension is inverted to make a decision. For example, (0.2, 30000) is inverted to (-0.2, -30000). According to the principle of Pareto optimality, the load device with the middle value of Pareto optimality is selected.

[0165] Withholding Strategy: To prevent a large number of load allocations from being sent to a single load device during a load reporting update cycle, potentially causing the load device to experience an out-of-memory (OOM) error and impacting the start of all ongoing or new games, a withholding strategy has been introduced. Based on empirical data from different game types, the strategy withholds the remaining available memory and ports within the current reporting cycle. This strategy preemptively removes load devices that have exhausted their resource allocations and allocates games to less resource-intensive load devices, ensuring the stability and quality of subsequent game starts. For example, if load cluster B has M dscenters and a dsagent reports its available memory and ports as x and y, the dscenter can only allocate memory and ports equal to x / M and y / M. The dscenter will update the remaining allocations upon the dsagent's next report. For games that have been allocated to a matchmaking server but for which the dsagent has not yet reported and confirmed their actual start, the dscenter records these allocations and uses withheld resources. If a game remains unconfirmed for more than five reporting cycles, the dscenter considers the start a failure and releases the withheld resources. Multiple parallel dscenters all follow the above withholding strategy to ensure that they are not over-allocated, thereby ensuring the allocation stability and quality of the entire cluster.

[0166] Pre-deployment check strategy: When the load device is actually deployed, a final check is performed on the remaining resource margin. If the margin is insufficient, the deployment is rejected to ensure that the load device is not over-deployed and the stability of the load device is guaranteed.

[0167] Figure 10 is a schematic diagram of another optional load device determination method according to an embodiment of the present application. As shown in Figure 10, based on the above-mentioned inter-cluster (load cluster 1 and load cluster 2) load balancing scheme and the multiple strategies of the intra-cluster load balancing scheme, a complete load-balanced global game load cluster distribution scheme is formed. The entire scheme is divided into reporting and distribution. The reporting process periodically updates load information according to multiple strategies, and the distribution process allocates the most appropriate load device based on the load information.

[0168] Figure 11 is a schematic diagram of another optional load device determination method according to an embodiment of the present application. As shown in Figure 11, when the match is successful, the currently optional optimal load cluster is found, such as load cluster B. If load cluster B is fully loaded, the next best C, A, D and E are selected in turn. If it is not fully loaded, a dscenter is randomly selected in the current load cluster to send a request to allocate a load device. The dscenter selects a load device to create a single game based on the load device load information reported by multiple dsagents, and notifies the client of the IP and port of the load device. The client connects to this load device to start the player's game.

[0169] Using this solution, when a single bureau is limited to 200 launches, the CPU remaining warning value is 20%, and the memory remaining warning value is 10GB, the current application performs multiple repeated stress tests on 150 load devices in a single load cluster at different launch speeds. The launch success rate and load cluster load device stability results are shown in Table 1.

[0170] This embodiment significantly improves the utilization of load cluster equipment and reduces machine costs. It also significantly improves load device stability, protecting services from the impact of large traffic peaks. It also ensures faster single-office allocation, avoiding extensive database operations and ensuring load balancing within the load cluster.

[0171] Table 1 Overall effect of this program

[0172] This solution utilizes a high-performance, reliable reporting and confirmation method. If a particular cluster is too large or has a large number of load devices, causing a sharp decline in the performance of the reporting and confirmation feedback mechanism, Redis or other methods can be used to ensure the reliability of the load cluster's allocation, thereby ensuring allocation performance. If necessary, resource utilization assessments for the entire load cluster and load devices can be expanded to include more diverse metrics beyond CPU, memory, ports, and the number of single-game sessions, achieving stricter and more diverse restrictions.

[0173] It is understandable that in the specific implementation of this application, related data such as user information is involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.

[0174] It should be noted that for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that this application is not limited by the order of the actions described, because according to this application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this application.

[0175] According to another aspect of the embodiments of the present application, a device for determining a load device for implementing the above-mentioned method for determining a load device is also provided. As shown in FIG12 , the device includes:

[0176] An acquisition module 1202 is configured to acquire a first data request sent by a first access device, wherein the first data request is used to request to start a game in a current application;

[0177] a determining module 1204, configured to determine, in response to the first data request, a target load cluster based on network parameters between the first access device and a plurality of load clusters, wherein the target load cluster is a load cluster among the plurality of load clusters whose network parameters meet a preset network parameter condition;

[0178] Processing module 1206 is configured to determine a second group of load devices from a first group of load devices in the target load cluster based on first group of device load information reported by the first group of load devices, wherein each device load information in the first group of device load information includes device load parameters indicating the load capacity of the corresponding load device in different dimensions, the load capacity of any load device in the second group of load devices is better than that of other load devices in the first group of load devices except the second group of load devices, and the load capacity of any two load devices in the second group of load devices is not better than that of each other;

[0179] The creation module 1208 is configured to determine a first load device from the second group of load devices and create the game on the first load device.

[0180] As an optional solution, the device is used to determine the second group of load devices from the first group of load devices in the target load cluster based on the first group of device load information reported by the first group of load devices in the target load cluster in the following manner: obtaining the device load parameters corresponding to each load device in the first group of device load information; determining the load capacity of each load device in the first group of load devices by enumeration method based on the device load parameters; and determining the second group of load devices based on the load capacity of each load device.

[0181] As an optional scheme, the equipment load parameters include a first equipment load parameter and a second equipment load parameter, and the device is used to determine the load capacity of each load device in the first group of load devices by enumeration according to the equipment load parameters in the following manner, including: enumerating each load device in the first group of load devices in a first coordinate system, wherein the first coordinate axis of the first coordinate system is associated with the first equipment load parameter, and the second coordinate axis of the first coordinate system is associated with the second equipment load parameter; determining the load capacity of each load device according to the coordinate position of each load device in the first coordinate system, wherein the load capacity is related to the first straight-line distance of the corresponding load device, and the first straight-line distance is the straight-line distance between the coordinate position of the corresponding load device and the coordinate origin of the first coordinate system.

[0182] As an optional solution, the device is used to enumerate each load device in the first group of load devices in the first coordinate system in the following manner, including: if the values ​​of the first device load parameter and the second device load parameter are both positively correlated with the load capacity, determining the coordinate position of each load device on the first coordinate system according to the negative number of the value of the first device load parameter corresponding to each load device and the negative number of the value of the second device load parameter, wherein the load capacity is negatively correlated with the first straight-line distance of the corresponding load device; if the first device load parameter is positively correlated with the load capacity, and the value of the second device load parameter is positively correlated with the load capacity, The load capacity is negatively correlated, and the coordinate position of each load device on the first coordinate system is determined according to the negative number of the value of the first device load parameter corresponding to each load device and the value of the second device load parameter, wherein the load capacity is negatively correlated with the first straight-line distance of the corresponding load device; if the values ​​of the first device load parameter and the second device load parameter are both negatively correlated with the load capacity, the coordinate position of each load device on the first coordinate system is determined according to the value of the first device load parameter and the value of the second device load parameter, wherein the load capacity is negatively correlated with the first straight-line distance of the corresponding load device.

[0183] As an optional scheme, the device load parameters include a first device load parameter and a second device load parameter, and the device is further used to: if each device load information also includes a third device load parameter for indicating the load capacity of the corresponding load device, and the third device load parameter and the first device load parameter and the second device load parameter belong to different dimensions, enumerate each load device in the first group of load devices in the second coordinate system, wherein the third coordinate axis of the second coordinate system is associated with the first device load parameter, the fourth coordinate axis of the second coordinate system is associated with the second device load parameter, and the fifth coordinate axis of the second coordinate system is associated with the third device load parameter; determine the load capacity of each load device according to the coordinate position of each load device in the second coordinate system, wherein the load capacity is related to the second straight-line distance of the corresponding load device, and the second straight-line distance is the straight-line distance between the coordinate position of the corresponding load device and the coordinate origin of the second coordinate system.

[0184] As an optional solution, the device is used to determine the first load device from the second group of load devices and create the game on the first load device in the following manner: determine the load device with a median load capacity in the second group of load devices as the first load device; create the game on the first load device, and send the network address and port identifier corresponding to the first load device to the first access device.

[0185] As an optional solution, the device load parameter includes a first device load parameter and a second device load parameter, and the device is used to obtain the device load parameter corresponding to each load device in the first group of device load information in the following manner: according to the first weight parameter and the first current device load parameter corresponding to each load device, determine the first device load parameter corresponding to each load device in the first group of device load information, wherein the first current device load parameter represents the device load parameter under the first dimension reported in the most recent round corresponding to each load device, the first weight parameter represents the ratio of the device load parameter of each load device under the first dimension reported in the historical round to the sum of the device load parameters of each load device under the first dimension reported in the historical round, the historical round represents the round before the most recent round, and the first weight parameter The parameter is set to 0 in the first round, and the first device load parameter represents the sum of the first weight parameter and the first current device load parameter; according to the second weight parameter and the second current device load parameter corresponding to each load device, the second device load parameter corresponding to each load device in the first group of device load information is determined, wherein the second current device load parameter represents the device load parameter of the second dimension reported in the most recent round corresponding to each load device, and the second weight parameter represents the ratio of the device load parameter of each load device in the second dimension reported in the historical round to the sum of the device load parameters of each load device in the second dimension reported in the historical round, the second weight parameter is set to 0 in the first round, and the second device load parameter represents the sum of the second weight parameter and the second current device load parameter.

[0186] As an optional solution, the device is used to determine the first load device from the second group of load devices and create the game on the first load device in the following manner: obtaining the load information of the first group of devices through the first device allocation process every first time period, wherein each device load information in the first group of device load information is reported to the first group of device allocation process by the corresponding load device through the corresponding device agent process every second time period, the first device allocation process is a device allocation process predetermined in the first group of device allocation processes, and the second time period is less than the first time period; in response to the first data request, determining the first load device from the second group of load devices through the second device allocation process, and creating the game on the first load device.

[0187] As an optional solution, the apparatus is configured to respond to the first data request, determine a first load device from the second group of load devices through a second device allocation process, and create the game on the first load device in the following manner: in response to the first data request, send a game creation instruction to the first load device through the second device allocation process, wherein the game creation instruction is used to instruct the device agent process corresponding to the first load device to create the game on the first load device; in response to the game creation instruction, perform a self-check of the load capacity of the first load device through the device agent process corresponding to the first load device; if the load capacity of the first load device meets a preset condition, create the game on the first load device and send a creation success instruction to the second device allocation process, wherein the creation success instruction is used to notify the second device allocation process that the first load device has completed the creation of the game, and the device load information includes the creation success instruction; if the load capacity of the first load device does not meet the preset condition, send a creation failure instruction to the second device allocation process, wherein the creation failure instruction is used to notify the second device allocation process that the first load device has not completed the creation of the game, and the device load information includes the creation failure instruction.

[0188] As an optional solution, the device is also used to: obtain a load consumption parameter pre-set for the game, wherein the load consumption parameter is used to indicate the load overhead caused by the first load device creating the game; if the game creation instruction has been sent to the first load device through the second device allocation process, and the second device allocation process has not received the creation success instruction or the creation failure instruction, in response to the second data request sent by the second access device, update the load device information corresponding to the first load device according to the load consumption parameter to obtain updated load device information; if the updated load device information indicates that the first load device cannot create a game again in response to the second data request, determine a third group of load devices that does not include the first load device according to the first group of device load information, determine a second load device from the third group of load devices, and create a load device corresponding to the first load device on the second load device. a game corresponding to the second data request, wherein the load capacity of any load device in the third group of load devices is better than that of other load devices in the first group of load devices except the third group of load devices, and the load capacities of any two load devices in the third group of load devices are not better than each other; if the updated load device information indicates that the first load device allows another game to be created in response to the second data request, a fourth group of load devices is determined according to the first group of device load information and the load consumption parameters, and the second load device is determined from the fourth group of load devices, and a game corresponding to the second data request is created on the second load device, wherein the load capacity of any load device in the fourth group of load devices is better than that of other load devices in the first group of load devices except the fourth group of load devices, and the load capacities of any two load devices in the fourth group of load devices are not better than each other.

[0189] As an optional scheme, the device load parameter includes a first device load parameter and a second device load parameter, and the apparatus is further used to: obtain the total number of device allocation processes of the first group of device allocation processes; determine a first load threshold and a second load threshold based on the first device load parameter, the second device load parameter and the total number of device allocation processes, wherein the first load threshold represents the ratio of the first device load parameter to the total number of device allocation processes, and the second load threshold represents the ratio of the second device load parameter to the total number of device allocation processes; in response to the first data request, determine the second group of load devices allowed to be allocated by the current round of the second device allocation process based on the first load threshold and the second load threshold, wherein the first device load parameter corresponding to each load device in the second group of load devices is less than or equal to the first load threshold, and the second device load parameter is less than or equal to the second load threshold.

[0190] As an optional solution, the device is used to respond to the first data request in the following manner and determine the target load cluster based on the network parameters between the first access device and multiple load clusters: arranging the multiple load clusters according to response speed based on the network parameters between the first access device and the multiple load clusters to obtain a target load cluster set; selecting the load cluster with the fastest response speed from the target load cluster set each time, and determining the cluster load capacity of the selected load cluster; if the cluster load capacity does not meet the preset load condition, deleting the selected load cluster from the target load cluster set; if the cluster load capacity meets the preset load condition, determining the selected load cluster as the target load cluster.

[0191] Regarding the apparatus in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0192] According to one aspect of the present application, a computer program product is provided, comprising a computer program containing program code for executing the method illustrated in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication portion 1309 and / or installed from a removable medium 1311. When the computer program is executed by the central processing unit 1301, the various functions provided in the embodiments of the present application are performed.

[0193] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0194] FIG13 schematically shows a block diagram of a computer system structure of an electronic device for implementing an embodiment of the present application.

[0195] It should be noted that the computer system 1300 of the electronic device shown in FIG13 is merely an example and should not impose any limitations on the functions and scope of use of the embodiments of the present application.

[0196] As shown in Figure 13, the computer system 1300 includes a central processing unit (CPU) 1301, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 1302 or the program loaded from the storage part 1308 into the random access memory (RAM) 1303. Various programs and data required for system operation are also stored in the random access memory 1303. The CPU 1301, the read-only memory 1302, and the random access memory 1303 are connected to each other via a bus 1304. An input / output interface 1305 (i.e., an I / O interface) is also connected to the bus 1304.

[0197] The following components are connected to the input / output interface 1305: an input section 1306 including a keyboard, a mouse, and the like; an output section 1307 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage section 1308 including a hard disk; and a communication section 1309 including a network interface card such as a local area network card or a modem. The communication section 1309 performs communication processing via a network such as the Internet. A drive 1310 is also connected to the input / output interface 1305 as needed. Removable media 1311, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 1310 as needed, so that computer programs read therefrom can be installed into the storage section 1308 as needed.

[0198] In particular, according to an embodiment of the present application, the processes described in the various method flow charts can be implemented as computer software programs. For example, an embodiment of the present application includes a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for executing the methods shown in the flow charts. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 1309 and / or installed from a removable medium 1311. When the computer program is executed by the central processing unit 1301, the various functions defined in the system of the present application are performed.

[0199] According to another aspect of an embodiment of the present application, an electronic device for implementing the above-mentioned load device determination method is also provided. The electronic device may be the terminal device or server shown in Figure 1. This embodiment is described using the electronic device as an example of a terminal device. As shown in Figure 14, the electronic device includes a memory 1402 and a processor 1404. The memory 1402 stores a computer program, and the processor 1404 is configured to execute the steps of any of the above-mentioned method embodiments using the computer program.

[0200] Optionally, in this embodiment, the electronic device may be located in at least one network device among a plurality of network devices of a computer network.

[0201] Optionally, in this embodiment, the processor may be configured to execute the load device determination method described in the above embodiment through a computer program.

[0202] Alternatively, those skilled in the art will appreciate that the structure shown in FIG14 is for illustration only, and the electronic device may also be a smartphone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, a mobile internet device (MID), a PAD, and other terminal devices. FIG14 does not limit the structure of the electronic device. For example, the electronic device may include more or fewer components (such as a network interface, etc.) than those shown in FIG14, or may have a configuration different from that shown in FIG14.

[0203] Memory 1402 can be used to store software programs and modules, such as program instructions / modules corresponding to the load device determination method and apparatus in the embodiments of the present application. Processor 1404 executes the software programs and modules stored in memory 1402 to perform various functional applications and data processing, thereby implementing the load device determination method described above. Memory 1402 may include high-speed random access memory (RAM) and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some embodiments, memory 1402 may further include memory remote from processor 1404, which can be connected to the terminal device via a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof. Memory 1402 can specifically, but is not limited to, be used to store information such as load device parameters. As an example, as shown in FIG. 14 , memory 1402 may include, but is not limited to, the acquisition module 1202, determination module 1204, processing module 1206, and creation module 1208 of the load device determination apparatus described above. In addition, it may also include but is not limited to other module units in the above-mentioned determination device of the load device, which will not be repeated in this example.

[0204] Optionally, the transmission device 1406 is configured to receive or send data via a network. Specific examples of the network may include a wired network and a wireless network. In one embodiment, the transmission device 1406 includes a network interface controller (NIC), which can be connected to other network devices and a router via a network cable to communicate with the Internet or a local area network. In one embodiment, the transmission device 1406 is a radio frequency (RF) module, which is configured to communicate with the Internet wirelessly.

[0205] In addition, the electronic device further includes: a display 1408 for displaying the game; and a connection bus 1410 for connecting various module components in the electronic device.

[0206] In other embodiments, the terminal device or server may be a node in a distributed system, wherein the distributed system may be a blockchain system, and the blockchain system may be a distributed system formed by connecting multiple nodes via network communication. The nodes may form a peer-to-peer network, and any computing device, such as a server, terminal device, or other electronic device, may become a node in the blockchain system by joining the peer-to-peer network.

[0207] According to one aspect of the present application, a computer-readable storage medium is provided, and a processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the load device determination method provided in various optional implementations of the above-mentioned load device determination aspects.

[0208] Optionally, in this embodiment, a person of ordinary skill in the art may understand that all or part of the steps in the various methods of the above embodiments may be completed by instructing the hardware related to the terminal device through a program, and the program may be stored in a computer-readable storage medium, which may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0209] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0210] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above-mentioned computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which can be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods described in each embodiment of the present application.

[0211] In the above embodiments of the present application, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0212] In the several embodiments provided in this application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are merely illustrative. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, and can be electrical or other forms.

[0213] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0214] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0215] The above is only a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A method for determining a load device, the method being performed by an electronic device, comprising: Obtaining a first data request sent by a first access device, wherein the first data request is used to request to start a game in a current application; In response to the first data request, determining a target load cluster according to network parameters between the first access device and multiple load clusters, wherein the target load cluster is a load cluster whose network parameters meet preset network parameter conditions among the multiple load clusters; Determine a second group of load devices from the first group of load devices according to the first group of device load information reported by the first group of load devices in the target load cluster, wherein each device load information in the first group of device load information includes a device load parameter for indicating the load capacity of the corresponding load device in different dimensions, the load capacity of any load device in the second group of load devices is better than other load devices in the first group of load devices except the second group of load devices, and the load capacities of any two load devices in the second group of load devices are not better than each other; A first load device is determined from the second group of load devices, and the game is created on the first load device.

2. According to the method of claim 1, the determining the second group of load devices from the first group of load devices in the target load cluster according to the first group of device load information reported by the first group of load devices comprises: Obtaining a device load parameter corresponding to each load device in the first group of device load information; Determine the load capacity of each load device in the first group of load devices by using an enumeration method according to the device load parameters; The second group of load devices is determined according to the load capacity of each load device.

3. The method according to claim 2, wherein the device load parameters include a first device load parameter and a second device load parameter, and the step of determining the load capacity of each load device in the first group of load devices by enumeration according to the device load parameters comprises: Enumerating each load device in the first group of load devices in a first coordinate system, wherein a first coordinate axis of the first coordinate system is associated with the first device load parameter, and a second coordinate axis of the first coordinate system is associated with the second device load parameter; The load capacity of each load device is determined according to the coordinate position of each load device in the first coordinate system, wherein the load capacity is related to the first straight-line distance of the corresponding load device, and the first straight-line distance is the straight-line distance between the coordinate position of the corresponding load device and the coordinate origin of the first coordinate system.

4. The method according to claim 3, wherein enumerating each load device in the first group of load devices in the first coordinate system comprises: If the values ​​of the first device load parameter and the second device load parameter are both positively correlated with the load capacity, the coordinate position of each load device on the first coordinate system is determined according to the negative number of the value of the first device load parameter corresponding to each load device and the negative number of the value of the second device load parameter, wherein the load capacity is negatively correlated with the first straight-line distance of the corresponding load device; If the first device load parameter is positively correlated with the load capacity, and the value of the second device load parameter is negatively correlated with the load capacity, the coordinate position of each load device on the first coordinate system is determined according to the negative number of the value of the first device load parameter corresponding to each load device and the value of the second device load parameter, wherein the load capacity is negatively correlated with the first straight-line distance of the corresponding load device; If the values ​​of the first device load parameter and the second device load parameter are both negatively correlated with the load capacity, the coordinate position of each load device on the first coordinate system is determined according to the value of the first device load parameter and the value of the second device load parameter, wherein the load capacity is negatively correlated with the first straight-line distance of the corresponding load device.

5. The method according to any one of claims 2 to 4, wherein the device load parameter comprises a first device load parameter and a second device load parameter, and the method further comprises: If each device load information further includes a third device load parameter for indicating the load capacity of the corresponding load device, and the third device load parameter and the first device load parameter and the second device load parameter all belong to different dimensions, each load device in the first group of load devices is enumerated in a second coordinate system, wherein a third coordinate axis of the second coordinate system is associated with the first device load parameter, a fourth coordinate axis of the second coordinate system is associated with the second device load parameter, and a fifth coordinate axis of the second coordinate system is associated with the third device load parameter; The load capacity of each load device is determined according to the coordinate position of each load device in the second coordinate system, wherein the load capacity is related to the second straight-line distance of the corresponding load device, and the second straight-line distance is the straight-line distance between the coordinate position of the corresponding load device and the coordinate origin of the second coordinate system.

6. The method according to any one of claims 2 to 5, wherein determining a first load device from the second group of load devices and creating the game on the first load device comprises: Determine the load device with a median load capacity in the second group of load devices as the first load device; The game is created on the first load device, and the network address and port identifier corresponding to the first load device are sent to the first access device.

7. The method according to any one of claims 2 to 6, wherein the device load parameter comprises a first device load parameter and a second device load parameter, and the step of obtaining the device load parameter corresponding to each load device in the first set of device load information comprises: Determine the first device load parameter corresponding to each load device in the first group of device load information according to the first weight parameter and the first current device load parameter corresponding to each load device, wherein the first current device load parameter represents the device load parameter under the first dimension reported in the most recent round corresponding to each load device, and the first weight parameter represents the ratio of the device load parameter under the first dimension reported by each load device in the historical round to the sum of the device load parameters under the first dimension reported by each load device in the historical round, the historical round represents the round before the most recent round, the first weight parameter is set to 0 in the first round, and the first device load parameter represents the sum of the first weight parameter and the first current device load parameter; The second device load parameter corresponding to each load device in the first group of device load information is determined based on the second weight parameter and the second current device load parameter corresponding to each load device, wherein the second current device load parameter represents the device load parameter of the second dimension reported in the most recent round corresponding to each load device, the second weight parameter represents the ratio of the device load parameter of each load device in the second dimension reported in the historical round to the sum of the device load parameters of each load device in the second dimension reported in the historical round, the second weight parameter is set to 0 in the first round, and the second device load parameter represents the sum of the second weight parameter and the second current device load parameter.

8. The method according to any one of claims 1 to 7, wherein determining a first load device from the second group of load devices and creating the game on the first load device comprises: Obtaining the first group of device load information at first time intervals through the first device allocation process, wherein each device load information in the first group of device load information is reported to the first group of device allocation process by the corresponding load device through the corresponding device proxy process at second time intervals, the first device allocation process is a predetermined device allocation process in the first group of device allocation processes, and the second time interval is less than the first time interval; In response to the first data request, a first load device is determined from the second group of load devices through a second device allocation process, and the game is created on the first load device.

9. The method according to claim 8, wherein in response to the first data request, determining a first load device from the second group of load devices through a second device allocation process, and creating the game on the first load device, comprises: In response to the first data request, sending a game creation instruction to the first load device through the second device allocation process, wherein the game creation instruction is used to instruct the device proxy process corresponding to the first load device to create the game on the first load device; In response to the game creation instruction, a device proxy process corresponding to the first load device performs a self-check on the load capacity of the first load device; In the case where the load capacity of the first load device meets the preset condition, the game is created on the first load device, and a creation success instruction is sent to the second device allocation process, wherein the creation success instruction is used to notify the second device allocation process that the first load device has completed the creation of the game, and the device load information includes the creation success instruction; When the load capacity of the first load device does not meet the preset condition, a creation failure instruction is sent to the second device allocation process, wherein the creation failure instruction is used to notify the second device allocation process that the first load device has not completed the creation of the game, and the device load information includes the creation failure instruction.

10. The method according to claim 9, further comprising: Acquire a load consumption parameter pre-set for the game, wherein the load consumption parameter is used to indicate a load overhead caused by the first load device creating the game; If the game creation instruction has been sent to the first load device through the second device allocation process, and the second device allocation process has not received the creation success instruction or the creation failure instruction, in response to the second data request sent by the second access device, the load device information corresponding to the first load device is updated according to the load consumption parameter to obtain updated load device information; If the updated load device information indicates that the first load device cannot create another game in response to the second data request, a third group of load devices excluding the first load device is determined according to the load information of the first group of devices, and a second load device is determined from the third group of load devices, and a game corresponding to the second data request is created on the second load device, wherein the load capacity of any load device in the third group of load devices is better than that of other load devices in the first group of load devices except the third group of load devices, and the load capacities of any two load devices in the third group of load devices are not better than each other; If the updated load device information indicates that the first load device allows a game to be created again in response to the second data request, a fourth group of load devices is determined based on the load information of the first group of devices and the load consumption parameters, and the second load device is determined from the fourth group of load devices, and a game corresponding to the second data request is created on the second load device, wherein the load capacity of any load device in the fourth group of load devices is better than that of other load devices in the first group of load devices except the fourth group of load devices, and the load capacity of any two load devices in the fourth group of load devices is not better than that of each other.

11. The method according to any one of claims 8 to 10, wherein the device load parameter comprises a first device load parameter and a second device load parameter, and the method further comprises: Obtain the total number of device allocation processes of the first group of device allocation processes; Determine a first load threshold and a second load threshold according to the first device load parameter, the second device load parameter and the total number of device allocation processes, wherein the first load threshold represents a ratio of the first device load parameter to the total number of device allocation processes, and the second load threshold represents a ratio of the second device load parameter to the total number of device allocation processes; In response to the first data request, the second group of load devices allowed to be allocated in the current round of the second device allocation process is determined based on the first load threshold and the second load threshold, wherein the first device load parameters corresponding to each load device in the second group of load devices are less than or equal to the first load threshold, and the second device load parameters are less than or equal to the second load threshold.

12. The method according to any one of claims 1 to 11, wherein in response to the first data request, determining a target load cluster according to network parameters between the first access device and a plurality of load clusters comprises: Arrange the multiple load clusters according to response speeds according to network parameters between the first access device and the multiple load clusters to obtain a target load cluster set; Selecting a load cluster with the fastest response speed from the target load cluster set each time, and determining a cluster load capacity of the selected load cluster; If the cluster load capacity does not meet the preset load condition, deleting the selected load cluster from the target load cluster set; When the cluster load capacity meets the preset load condition, the selected load cluster is determined as the target load cluster.

13. A device for determining a load device, the device being deployed on an electronic device, comprising: An acquisition module, configured to acquire a first data request sent by a first access device, wherein the first data request is used to request to start a game in a current application; a determination module, configured to determine, in response to the first data request, a target load cluster according to network parameters between the first access device and a plurality of load clusters, wherein the target load cluster is a load cluster whose network parameters satisfy a preset network parameter condition among the plurality of load clusters; a processing module, configured to determine a second group of load devices from a first group of load devices in the target load cluster according to first group of device load information reported by the first group of load devices, wherein each device load information in the first group of device load information includes device load parameters for indicating the load capacity of the corresponding load device in different dimensions, the load capacity of any load device in the second group of load devices is better than other load devices in the first group of load devices except the second group of load devices, and the load capacities of any two load devices in the second group of load devices are not better than each other; A creation module is used to determine a first load device from the second group of load devices and create the game on the first load device.

14. A computer-readable storage medium, the computer-readable storage medium comprising a stored computer program, wherein: The computer program can be executed by an electronic device to execute the method described in any one of claims 1 to 12.

15. A computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 12.

16. An electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the method according to any one of claims 1 to 12 through the computer program.