Data processing method, device, computer equipment and storage medium
By obtaining game status information, the prediction allocation of game servers is optimized, and the resource waste and delay problems caused by manual prediction in the prior art are solved, and efficient scheduling and utilization of computing resources are achieved.
Patent Information
- Application Number
- CN202111354462.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-16
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2041-11-16
AI Technical Summary
In the prior art, the game engine pre-pull mechanism relies on manual configuration, which is difficult to adapt to changes in the carrying capacity of the existing network, resulting in waste of computing resources and delayed allocation, affecting the quality of the existing network service.
By obtaining the status information of the target game, including the current number of online users, historical number of online users, historical start information and version update information, the predicted allocation of the game server is determined, and preloaded to optimize the allocation of computing resources.
It avoids manual estimation deviation, improves the utilization rate of computing resources, reduces idleness and delay of game servers, and improves the quality of current network services.
Smart Images

Figure CN113975795B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of Internet technology, and in particular to a data processing method, apparatus, computer equipment, and storage medium. Background Art
[0002] In single-game games, the game server needs to run the game engine. The time it takes to launch the game engine varies depending on the resources loaded. As games become more complex and their scenarios become more demanding, the time required to load and process the engine increases, reaching tens or even dozens of seconds. In this case, real-time engine launches result in excessive player wait times. To mitigate this negative experience, a pre-launch mechanism is often employed. Existing pre-launch mechanisms use manually estimated preset values to launch game servers. This manual configuration requires manual intervention and adjustment by product operations personnel, making them difficult to adapt to changes in the network's capacity. This is especially true when multiple versions are deployed on the live network, where the game server cluster is shared across multiple versions. Inaccuracies in pre-launch process instances can easily lead to one version cluster occupying too many resources, causing the game server to idle, resulting in wasted computing resources. Meanwhile, other versions cannot be assigned game servers, leading to increased allocation latency or even service failure, which in turn affects the quality of service on the live network. Summary of the Invention
[0003] The embodiments of the present application provide a data processing method, apparatus, computer equipment, and storage medium, which can ensure sufficient scheduling of computing resources and improve the utilization rate of computing resources.
[0004] On the one hand, an embodiment of the present application provides a data processing method, which may include:
[0005] Obtaining status information of a target game; the target game includes at least one game version, each game version includes at least one game mode; the status information includes current online player information, historical online player information, historical game start information, historical resource allocation information, and version update information;
[0006] Determining, based on the status information, a predicted allocation of game servers corresponding to each game mode in each game version of the target game;
[0007] The predicted allocation amount is used to allocate a game server to each game mode in each game version, and the game server is preloaded so that the user can call the game resources in the game server when running the target game.
[0008] In a feasible implementation, determining, based on the status information, the predicted allocation amount of the game server corresponding to each game mode in each game version of the target game includes:
[0009] Determining the version status of the target game according to the version update information in the status information;
[0010] If the target game is in a single-version running state, the predicted allocation amount of the game server for each game mode in the target version is determined based on historical resource allocation information, historical start information, current online player information, and historical online player information; the game version corresponding to the single-version running state of the target game is the target version;
[0011] If the target game is in a multi-version running state, then determine the predicted number of online players for each game mode in each game version based on historical online player information and version update information;
[0012] The predicted allocation amount of the game server for each game mode in each version is determined based on the predicted number of online players, historical resource allocation information, and historical online player information.
[0013] In a feasible implementation, determining the predicted allocation amount for the game server for each game mode in the target version based on historical resource allocation information, historical game start information, current online player information, and historical online player information includes:
[0014] Obtain the resource request amount for each game mode in the target version during the same time period last week and the resource request amount for the same time period yesterday based on the historical resource allocation information;
[0015] Get the start information of adjacent time periods based on historical start information, and get the online volume of adjacent time periods based on historical online user information;
[0016] Obtaining a first ratio of the adjacent time period start information to the number of online users in the adjacent time period, obtaining a first product of the first ratio and information about the number of current online users, and using the first product as predicted start information;
[0017] Obtain first weight information corresponding to the resource request amount for the same time period last week, the resource request amount for the same time period yesterday, and the predicted start information respectively;
[0018] According to the first weight information, the resource request amount in the same time period last week, the resource request amount in the same time period yesterday and the predicted start information are weighted and summed to obtain the predicted allocation amount of the game server for each game mode in the target version.
[0019] In a feasible implementation, determining the predicted number of online players for each game mode in each game version based on historical online player information and version update information includes:
[0020] Get the number of people online during the same period last week and yesterday based on historical online user information;
[0021] Get the download volume for the same period last week, the same period yesterday, and the current download volume based on the version update information;
[0022] Obtain a second ratio of the online volume during the same period last week to the download volume during the same period last week, obtain a second product of the second ratio and the current download volume, and use the second product as the first predicted online volume;
[0023] Obtaining a third ratio of the online volume during the same period yesterday to the download volume during the same period yesterday, obtaining a third product of the third ratio and the current download volume, and using the third product as the second predicted online volume;
[0024] Obtain second weight information corresponding to the first predicted online quantity and the second predicted online quantity respectively;
[0025] A weighted sum of the first predicted online volume and the second predicted online volume is performed according to the second weight information to obtain the predicted number of online players for each game mode in the target version.
[0026] In a feasible implementation, determining the predicted allocation amount for the game server of each map in each version based on the predicted number of online players, historical resource allocation information, and historical online player information includes:
[0027] Obtain the allocation amount for the same period yesterday and last week based on historical resource allocation information;
[0028] Get the number of people online at the same time yesterday and last week based on historical online user information;
[0029] Obtain a fourth ratio of the allocation amount during the same period yesterday to the number of online users during the same period yesterday, obtain a fourth product of the fourth ratio and the predicted number of online users, and use the fourth product as the first predicted allocation amount;
[0030] Obtain a fifth ratio of the allocation amount during the same period last week to the number of online users during the same period last week, obtain a fifth product of the fifth ratio and the predicted number of online users, and use the fifth product as the second predicted allocation amount;
[0031] Obtain third weight information corresponding to the first predicted allocation amount and the second predicted allocation amount respectively;
[0032] The first predicted allocation amount and the second predicted allocation amount are weightedly summed according to the third weight information to obtain the predicted allocation amount of the game server for each game mode in the target version.
[0033] In a feasible implementation, allocating a game server to each game mode in each game version using the predicted allocation amount and preloading the game server so that a user can call game resources in the game server when running a target game includes:
[0034] Allocating game servers to each game mode in each game version using the predicted allocation amount;
[0035] In response to the preloading instruction for the game server, the game server is preloaded so that the user can call the game resources in the game server when running the target game.
[0036] In a feasible implementation manner, after allocating the game server to each game mode in each game version using the predicted allocation amount, the method further includes:
[0037] Detecting an over-alarm status of a game server of the target game;
[0038] If the game server corresponding to the target game mode is in an over-alarm state, the game server corresponding to the target game mode is preloaded according to the over-alarm state; the target game mode is any game mode of any game version.
[0039] In a feasible implementation manner, after allocating the game server to each game mode in each game version using the predicted allocation amount, the method further includes:
[0040] Detecting an over-alarm status of a game server of the target game;
[0041] If the game server corresponding to the target game mode is in an over-alarm state, and there is no game server for the target game mode that has not been preloaded, then obtaining the allocation frequency and reserved resource amount corresponding to the non-over-alarm game mode, and determining the load level value corresponding to each non-over-alarm game mode based on the allocation frequency and the reserved resource amount; the non-over-alarm game mode is any game mode of any game version of the target game except the target game mode; the load level value is used to measure the load condition of the game server corresponding to the game mode;
[0042] The game servers of the non-over-alarm game mode are recycled according to the load level value, and the recycled game servers are allocated to the target game mode.
[0043] In a feasible implementation, it further includes:
[0044] Obtaining a game start request from a user, and assigning a corresponding game server to the user according to a game mode corresponding to the game start request;
[0045] If there is no game server that can be assigned to the start request, the game server is pulled out of the game server, the start request is counted as a failure in the number of allocations, and the start request is added to a candidate queue to wait for allocation of a game server;
[0046] The waiting time of the start request in the candidate queue is detected, and if the waiting time is greater than a time threshold, the start request is discarded.
[0047] In a feasible implementation, it further includes:
[0048] Generating an allocation failure rate of the game mode corresponding to the start request according to the number of allocation failures;
[0049] If the allocation failure rate is greater than a failure rate threshold, increasing the frequency of over-pull of the game mode corresponding to the start request;
[0050] If the allocation failure rate is less than or equal to the failure rate threshold, the over-pull frequency of the game mode corresponding to the start request is reset to an initial value.
[0051] On the one hand, an embodiment of the present application provides a data processing device, which may include:
[0052] A status information acquisition unit is configured to acquire status information of a target game; the target game includes at least one game version, each game version includes at least one game mode; the status information includes current online player information, historical online player information, historical game start information, historical resource allocation information, and version update information;
[0053] an allocation amount determining unit, configured to determine, based on the state information, a predicted allocation amount for the game server corresponding to each game mode in each game version of the target game;
[0054] The server allocation unit is used to allocate a game server to each game mode in each game version using the predicted allocation amount, and preload the game server so that the user can call the game resources in the game server when running the target game.
[0055] In a feasible implementation manner, the allocation amount determination unit is configured to:
[0056] Determining the version status of the target game according to the version update information in the status information;
[0057] If the target game is in a single-version running state, the predicted allocation amount of the game server for each game mode in the target version is determined based on historical resource allocation information, historical start information, current online player information, and historical online player information; the game version corresponding to the single-version running state of the target game is the target version;
[0058] If the target game is in a multi-version running state, then determine the predicted number of online players for each game mode in each game version based on historical online player information and version update information;
[0059] The predicted allocation amount of the game server for each game mode in each version is determined based on the predicted number of online players, historical resource allocation information, and historical online player information.
[0060] In a feasible implementation manner, the allocation amount determination unit is configured to:
[0061] Obtain the resource request amount for each game mode in the target version during the same time period last week and the resource request amount for the same time period yesterday based on the historical resource allocation information;
[0062] Get the start information of adjacent time periods based on historical start information, and get the online volume of adjacent time periods based on historical online user information;
[0063] Obtaining a first ratio of the adjacent time period start information to the number of online users in the adjacent time period, obtaining a first product of the first ratio and information about the number of current online users, and using the first product as predicted start information;
[0064] Obtain first weight information corresponding to the resource request amount for the same time period last week, the resource request amount for the same time period yesterday, and the predicted start information respectively;
[0065] According to the first weight information, the resource request amount in the same time period last week, the resource request amount in the same time period yesterday and the predicted start information are weighted and summed to obtain the predicted allocation amount of the game server for each game mode in the target version.
[0066] In a feasible implementation manner, the allocation amount determination unit is configured to:
[0067] Get the number of people online during the same period last week and yesterday based on historical online user information;
[0068] Get the download volume for the same period last week, the same period yesterday, and the current download volume based on the version update information;
[0069] Obtain a second ratio of the online volume during the same period last week to the download volume during the same period last week, obtain a second product of the second ratio and the current download volume, and use the second product as the first predicted online volume;
[0070] Obtaining a third ratio of the online volume during the same period yesterday to the download volume during the same period yesterday, obtaining a third product of the third ratio and the current download volume, and using the third product as the second predicted online volume;
[0071] Obtain second weight information corresponding to the first predicted online quantity and the second predicted online quantity respectively;
[0072] A weighted sum of the first predicted online volume and the second predicted online volume is performed according to the second weight information to obtain the predicted number of online players for each game mode in the target version.
[0073] In a feasible implementation manner, the allocation amount determination unit is configured to:
[0074] Obtain the allocation amount for the same period yesterday and last week based on historical resource allocation information;
[0075] Get the number of people online at the same time yesterday and last week based on historical online user information;
[0076] Obtain a fourth ratio of the allocation amount during the same period yesterday to the number of online users during the same period yesterday, obtain a fourth product of the fourth ratio and the predicted number of online users, and use the fourth product as the first predicted allocation amount;
[0077] Obtain a fifth ratio of the allocation amount during the same period last week to the number of online users during the same period last week, obtain a fifth product of the fifth ratio and the predicted number of online users, and use the fifth product as the second predicted allocation amount;
[0078] Obtain third weight information corresponding to the first predicted allocation amount and the second predicted allocation amount respectively;
[0079] The first predicted allocation amount and the second predicted allocation amount are weightedly summed according to the third weight information to obtain the predicted allocation amount of the game server for each game mode in the target version.
[0080] In a feasible implementation manner, the server allocation unit is configured to:
[0081] Allocating game servers to each game mode in each game version using the predicted allocation amount;
[0082] In response to the preloading instruction for the game server, the game server is preloaded so that the user can call the game resources in the game server when running the target game.
[0083] In a feasible implementation, it further includes:
[0084] A server preloading unit, configured to detect an over-alarm state of a game server of the target game;
[0085] If the game server corresponding to the target game mode is in an over-alarm state, the game server corresponding to the target game mode is preloaded according to the over-alarm state; the target game mode is any game mode of any game version.
[0086] In a feasible implementation, it further includes:
[0087] A server recovery unit, configured to detect an over-alarm state of the game server of the target game;
[0088] If the game server corresponding to the target game mode is in an over-alarm state, and there is no game server for the target game mode that has not been preloaded, then obtaining the allocation frequency and reserved resource amount corresponding to the non-over-alarm game mode, and determining the load level value corresponding to each non-over-alarm game mode based on the allocation frequency and the reserved resource amount; the non-over-alarm game mode is any game mode of any game version of the target game except the target game mode; the load level value is used to measure the load condition of the game server corresponding to the game mode;
[0089] The game servers of the non-over-alarm game mode are recycled according to the load level value, and the recycled game servers are allocated to the target game mode.
[0090] In a feasible implementation, it further includes:
[0091] A server super-pull unit is used to obtain a user's game start request and assign a corresponding game server to the user according to the game mode corresponding to the game start request;
[0092] If there is no game server that can be assigned to the start request, the game server is pulled out of the game server, the start request is counted as a failure in the number of allocations, and the start request is added to a candidate queue to wait for allocation of a game server;
[0093] The waiting time of the start request in the candidate queue is detected, and if the waiting time is greater than a time threshold, the start request is discarded.
[0094] In a feasible implementation, it further includes:
[0095] a super pull setting unit, configured to generate an allocation failure rate of the game mode corresponding to the start request according to the number of allocation failures;
[0096] If the allocation failure rate is greater than a failure rate threshold, increasing the frequency of over-pull of the game mode corresponding to the start request;
[0097] If the allocation failure rate is less than or equal to the failure rate threshold, the over-pull frequency of the game mode corresponding to the start request is reset to an initial value.
[0098] On one hand, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. The computer program is suitable for being loaded by a processor and executing the above-mentioned method steps.
[0099] On the one hand, an embodiment of the present application provides a computer device, including: a processor, a memory, and a network interface; the processor is connected to the memory and the network interface, wherein the network interface is used to provide network communication functions, the memory is used to store program code, and the processor is used to call the program code to execute the above-mentioned method steps.
[0100] In one aspect, an embodiment of the present application provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the above-described method steps.
[0101] In an embodiment of the present application, by obtaining the status information of the target game, the target game includes at least one game version, each game version includes at least one game mode, the status information includes the current number of online players, historical online player information, historical start information, historical resource allocation information, and version update information, further based on the status information, the predicted allocation amount of the game server corresponding to each game mode in each game version of the target game is determined, and finally the predicted allocation amount is used to allocate the game server to each game mode in each game version, and the game server is preloaded so that the user can call the game resources in the game server when running the target game. The above method avoids the problem of deviation in the manually estimated pre-pulled game servers, which causes some game servers to idle and some game resource allocation delays to increase, and can ensure the full scheduling of computing resources and improve the utilization of computing resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0102] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0103] Figure 1This is a network architecture diagram of data processing provided by an embodiment of the present application;
[0104] Figure 2 This is a flow chart of a data processing method provided in an embodiment of the present application;
[0105] Figure 3 This is a flow chart of a data processing method provided in an embodiment of the present application;
[0106] Figure 4a This is an example diagram of historical information statistics provided by an embodiment of the present application;
[0107] Figure 4b This is an example schematic diagram of server computing resource allocation provided by an embodiment of the present application;
[0108] Figure 5 is a structural diagram of a data processing device provided in an embodiment of the present application;
[0109] Figure 6 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0110] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0111] See Figure 1 , Figure 1 10 is a network architecture diagram for data processing provided by an embodiment of the present application. The network architecture diagram may include a service server 100 and a user terminal cluster, wherein the user terminal cluster may include user terminal 10a, user terminal 10b, ..., user terminal 10c, wherein communication connections may exist between the user terminal clusters, for example, there is a communication connection between user terminal 10a and user terminal 10b, and there is a communication connection between user terminal 10b and user terminal 10c, and any user terminal in the user terminal cluster may have a communication connection with the service server 100, for example, there is a communication connection between user terminal 10a and service server 100, and there is a communication connection between user terminal 10b and service server 100.
[0112] Among them, the above-mentioned user terminal cluster (also including the above-mentioned user terminal 10a, user terminal 10b and user terminal 10c) can all be integrated with the target game. In a feasible implementation, the business server 100 obtains the status information of the target game, the target game includes at least one game version, each game version includes at least one game mode, the status information includes the current number of online people information, historical online people information, historical start information and historical resource allocation information and version update information, and the business server 100 further determines the predicted allocation amount of the game server corresponding to each game mode in each game version of the target game based on the status information, and finally the business server 100 uses the predicted allocation amount to allocate a game server to each game mode in each game version, and preloads the game server so that the user can call the game resources in the game server when running the target game. Optionally, the above-mentioned user terminal can be in the above-mentioned Figure 1 Any user terminal selected from the user terminal cluster of the corresponding embodiment, for example, the user terminal may be the above-mentioned user terminal 10b.
[0113] It is understandable that the method provided in the embodiment of the present application can be executed by a computer device, and the computer device includes but is not limited to a central server or a proxy server. The business server 100 in the embodiment of the present application can be a computer device, and the user terminal in the user terminal cluster can also be a computer device, which is not limited here. The above-mentioned business server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The above-mentioned terminals may include: smart phones, tablet computers, laptops, desktop computers, smart TVs, smart speakers, desktop computers, smart watches and other smart terminals with image recognition functions, but are not limited to these. Among them, the user terminal and the business server can be directly or indirectly connected via wired or wireless communication, which is not limited here.
[0114] For further understanding, please see Figure 2 , Figure 2 This is a flow chart of the data processing method provided by the embodiment of the present application. Figure 1 The business server 100 in the corresponding embodiment is executed. For ease of understanding, this embodiment takes the method executed by the above-mentioned business server as an example for explanation. Among them, the data processing method may at least include the following steps S101-S103:
[0115] S101, obtaining status information of the target game;
[0116] Specifically, the service server can obtain status information of a target game. It is understood that the target game can be a single-game game and include at least one game version, meaning that multiple versions of the target game can exist simultaneously. For example, after a game service provider releases a new version of a game, users can choose not to update the game and continue playing on the old version. Each game version includes at least one game mode, which can specifically be a game map. The status information includes current online user information, historical online user information, historical game start information, historical resource allocation information, and version update information. The current online user information includes information about the current online user population for each game version and each game mode. Historical online user information includes information about the online user population for each time period of the previous day and each time period of the previous week. Historical game start information includes the number of starts or resource requests for each game version and each game mode of the previous day and the number of starts or resource requests for each game version and each game mode of the previous week. Historical resource allocation information includes the game servers allocated for each game version and each game mode. Version update information includes the number of game versions and downloads for each game version in each time period.
[0117] S102, determining, based on the status information, a predicted allocation of game servers corresponding to each game mode in each game version of the target game;
[0118] Specifically, the business server determines the version status of the target game based on the version update information in the status information. The version status includes a single-version running state and a multi-version running state. The multi-version running state is generally a period of time after the target game releases a new game version. During this period, there are still many game players in the old game version. As players gradually update the version, the number of players of the old version will become fewer and fewer, and the number of players of the new version will increase. When the proportion of players of the new version reaches a certain value, or after a certain period of time after the new version is updated, the server no longer provides the old version game service. At this time, the target game is in a single-version running state.
[0119] If the target game is in a single-version running state, the business server determines the predicted allocation amount of the game server for each game mode in the target version based on historical resource allocation information, historical start information, current online player information, and historical online player information. The game version corresponding to the single-version running state of the target game is the target version.
[0120] If the target game is in a multi-version running state, the business server determines the predicted number of online players for each game mode in each game version based on the historical online player information and version update information, and further determines the predicted allocation amount of the game server for each game mode in each version based on the predicted number of online players, historical resource allocation information, and historical online player information.
[0121] S103: Allocate a game server to each game mode in each game version using the predicted allocation amount, and preload the game server so that the user can call game resources in the game server when running the target game.
[0122] Specifically, the business server uses the predicted allocation amount to allocate game servers to each game mode in each game version. It can be understood that in the opening game, the game servers occupied by the battle service account for the majority of the total number of backend servers. From the perspective of saving machine costs, the same game server can be deployed for multiple versions of game modes. For example, a game server can include at least one CPU core, and each CPU core can run a game match. Then, a game server can run multiple versions of the game or multiple game modes of a version. The game server uses a preloading mechanism. The allocation of game servers to each game mode in each game version can be specifically understood as allocating CPU cores to each game mode. The preloading and recycling of game servers can be completed by the proxy server. Furthermore, in response to the preloading instruction for the game server, the business server preloads the game server. It can be understood that the preloading of the game server does not mean that all the allocated game servers are preloaded. Generally, only some game servers are preloaded. When the preloaded game server is called, it responds to the preloading instruction for the game server and preloads the game server. The user calls the game resources in the game server when running the target game. The game resources are game instances corresponding to the game mode.
[0123] In an embodiment of the present application, by obtaining the status information of the target game, the target game includes at least one game version, each game version includes at least one game mode, the status information includes the current number of online players, historical online player information, historical start information, historical resource allocation information, and version update information, further based on the status information, the predicted allocation amount of the game server corresponding to each game mode in each game version of the target game is determined, and finally the predicted allocation amount is used to allocate the game server to each game mode in each game version, and the game server is preloaded so that the user can call the game resources in the game server when running the target game. The above method avoids the problem of deviation in the manually estimated pre-pulled game servers, which causes some game servers to idle and some game resource allocation delays to increase, and can ensure the full scheduling of computing resources and improve the utilization of computing resources.
[0124] See Figure 3 , Figure 3 This is a flow chart of the data processing method provided by the embodiment of the present application. Figure 1 The business server 100 in the corresponding embodiment is executed. For ease of understanding, this embodiment takes the method executed by the above-mentioned business server as an example for explanation. Among them, the data processing method may at least include the following steps S201-S207:
[0125] S201, obtaining status information of a target game; the target game includes at least one game version, each game version includes at least one game mode; the status information includes current online player information, historical online player information, historical game start information, historical resource allocation information, and version update information;
[0126] Wherein, step S201 of the embodiment of the present invention refers to Figure 2 The detailed description of step S101 of the illustrated embodiment is omitted here.
[0127] S202, determining, based on the status information, a predicted allocation of game servers corresponding to each game mode in each game version of the target game;
[0128] Specifically, the service server determines the version status of the target game based on the version update information in the status information. If the target game is in a single-version operation state, it obtains first weight information corresponding to each game mode in the target version. The first weight information may be pre-set or obtained through regression based on back-estimation results. Further, based on the weight information, historical resource allocation information, historical game start information, current online player information, and historical online player information, it determines the predicted allocation of game servers for each game mode in the target version. Specifically, the service server obtains resource allocation information for the same time period last week based on the historical resource allocation information, obtains resource requests for the same time period yesterday and game start information for adjacent time periods based on the historical game start information, and obtains online player information for adjacent time periods based on the historical online player information. In the single-version operation state, the predicted allocation of game servers for each game mode in each game version of the target game = resource allocation for the same time period last week * a + resource requests for the same time period yesterday * b + (adjacent time period game start information / adjacent time period online player information * current online player information) * c, where a, b, and c represent the first weight information.
[0129] If the target game is in a multi-version running state, the second weight information corresponding to each game mode in each game version is obtained. The second weight information can be pre-set or obtained by regression through retrospective estimation results. The predicted number of online users for each game mode in each game version is further determined based on the second weight information, historical online user information, and version update information. Specifically, the number of online users during the same period yesterday and the number of online users during the same period last week are obtained based on the historical online user information. The number of downloads during the same period yesterday and the number of downloads during the same period last week are obtained based on the version update information. When the multi-version running state is in place, the predicted number of online users for each game mode in each game version of the target game = (number of online users during the same period last week / number of downloads during the same period last week * current number of downloads) * m + (number of online users during the same period yesterday / number of downloads during the same period yesterday * current number of downloads) (1-m), where m is the second weight information.
[0130] Furthermore, the business server obtains the third weight information corresponding to each game mode in each game version. The third weight information can be pre-set or obtained by regression through retrospective estimation results. The predicted allocation amount of the game server for each game mode in each version is further determined based on the third weight information, the predicted number of online users, historical resource allocation information, and historical online user information. Specifically, the allocation amount for the same period yesterday and the allocation amount for the same period last week are obtained based on the historical resource allocation information. The online amount for the same period yesterday and the online amount for the same period last week are obtained based on the historical online user information. Then, when multiple versions are running, the predicted allocation amount of the game server corresponding to each game mode in each game version of the target game = (allocation amount for the same period yesterday / the online amount for the same period yesterday*the predicted number of online users)*n+(allocation amount for the same period last week / the online amount for the same period last week*the predicted number of online users)*(1-n), where n is the third weight information.
[0131] See Figure 4a , Figure 4a This is an example diagram of historical information statistics provided by the embodiment of the present application. Figure 4a As shown, each time a user logs into the game lobby, the lobby server counts the number of online players in the lobby to generate historical online player information. When a user initiates a matchmaking request for a game start, the matching server responds with a "matchmaking start" allocation request and performs a statistical analysis to generate historical start information. The statistical granularity of this information is hourly, and the central server maintains hourly resource allocation request data for each version and gameplay. Based on this historical online player information and historical start information, the central server can then obtain information such as a table of start statistics for each version and gameplay by time period on the previous day, a table of start statistics for each version and gameplay by time period on the previous seven days, a table of online statistics for each time period on the previous day, and a table of online statistics for each time period on the previous seven days. Based on this information, the central server can instruct the proxy server to allocate a game server to the matchmaking request.
[0132] S203: Allocate a game server to each game mode in each game version using the predicted allocation amount, and preload the game server so that the user can call game resources in the game server when running the target game.
[0133] Wherein, step S203 of the embodiment of the present invention is referred to Figure 2 The detailed description of step S103 of the illustrated embodiment is omitted here.
[0134] S204, detecting the over-alarm state of the game server of the target game; if the game server corresponding to the target game mode is in the over-alarm state, preloading the game server corresponding to the target game mode according to the over-alarm state.
[0135] Specifically, under normal circumstances, the predicted allocations for each game mode of the target game change relatively slowly. However, in the following two situations, the predicted allocations cannot meet user needs. First, changes in the external environment lead to a surge in the number of game starts, or a surge in the number of players in a certain game mode (this external environmental change may not be driven by the operator and is therefore unpredictable). Second, due to the popularity of the new gameplay, players' enthusiasm for updating increases, and the online usage of the old version decreases rapidly. In the following two situations, the target game mode of the target game will enter an over-alert state. The target game mode is any game mode of any game version. Specifically, when the reserved resource consumption exceeds the low available resource threshold, or when the start allocation growth slope in adjacent time periods is greater than the warning slope, or when the online growth slope is greater than the warning slope, the game mode of the target game will enter an over-alert state. If the game server corresponding to the target game mode is in an over-alarm state, the game server corresponding to the target game mode is preloaded according to the over-alarm state, that is, the allocation-preloading mechanism is replaced by the allocation-pre-replacement mechanism. Allocation and preloading are two independent processes. Allocation also gives priority to low-load game servers, while the allocation-pre-replacement mechanism is when the over-alarm state flag is activated. After each allocation request, a preloading request for the game server of the target game mode will be directly initiated, and several game servers will be preloaded while allocating game servers.
[0136] S205: Detecting an over-alarm status of the game server of the target game; if the game server corresponding to the target game mode is in the over-alarm status and there is no unpreloaded game server for the target game mode, obtaining an allocation frequency and a reserved resource amount corresponding to a non-over-alarm game mode, and determining a load level value corresponding to each non-over-alarm game mode based on the allocation frequency and the reserved resource amount;
[0137] It can be understood that the non-over-alarm game mode is any game mode of any game version in the target game except the target game mode; the load level value is used to measure the load situation of the game server corresponding to the game mode. Specifically, the load level value = allocation frequency * α + 1 / reserved resource amount * β, wherein α and β are pre-set parameters. Furthermore, the game server of the non-over-alarm game mode is recovered according to the load level value, and the recovered game server is allocated to the target game mode.
[0138] S206, obtaining a game start request from the user, and assigning a corresponding game server to the user according to the game mode corresponding to the game start request;
[0139] Specifically, if there is no assignable game server corresponding to the start request, the business server will perform over-pull processing on the game server. The over-pull processing is to run two game games on one CPU core. The over-pull processing will cause multiple game servers to seize the CPU, thereby affecting the service quality of the game server, resulting in lag and pulling. Furthermore, the business server counts the start request into the number of allocation failures and adds the start request to the candidate queue waiting for allocation of a game server. Furthermore, the waiting time of the start request in the candidate queue is detected. If the waiting time is greater than the time threshold, the start request is discarded. Specifically, the business server periodically scans the candidate queue. If a start request is found to have timed out and not been processed, it is discarded to prevent avalanche.
[0140] S207, adjusting the over-pull frequency of the game mode according to the allocation failure rate of the game mode.
[0141] Specifically, the service server generates an allocation failure rate for the game mode corresponding to the start request based on the number of allocation failures. If the allocation failure rate is greater than a failure rate threshold, the over-pull frequency of the game mode corresponding to the start request is increased. The failure rate threshold is pre-set, and the over-pull frequency is the ratio of CPU cores allowed to over-pull. For example, if the initial value of the over-pull frequency is 10%, and there are 100 CPU cores, then 10 CPU cores are allowed to over-pull. When the allocation failure rate is greater than the failure rate threshold, the over-pull frequency can be increased to 20%. If the allocation failure rate is less than or equal to the failure rate threshold, the over-pull frequency of the game mode corresponding to the start request is reset to the initial value.
[0142] See Figure 4b , Figure 4b This is an example diagram of server computing resource allocation provided by the embodiment of the present application. Figure 4bAs shown, the server of a target game releases a new version of the game. The server includes a matching server, a central server, and a proxy server. The matching server is used to receive user matching requests and request game resources from the central server. The central server is used to instruct the proxy server to allocate a game server (ds) to the game request. A user terminal sends an update request to the server to update the target game. The game lobby reports the registration information corresponding to the update request. After the update is complete, the user terminal further initiates a login request to log into the game lobby of the new version. After completing the login process, the game lobby reports the user's online information. The server generates status information for the target game based on the updated registration information and online information, as well as historical online player information, historical game start information, and historical resource allocation information. Based on this status information, the server determines the predicted allocation of game servers corresponding to each game mode in each game version of the target game. The predicted allocation is used to allocate game servers to each game mode in each game version and preload the game servers. When a user terminal sends a matching request for the target game mode, the matching server receives the user terminal's matching request and requests game resources for the target game mode from the central server. The central server instructs the proxy server to allocate a game server to the game request. At the same time, the central server will periodically check whether the ds resource pool is in the safe zone and whether the ds of the target game is in an over-alarm state. When the game is in an over-alarm state, the allocation-preloading mechanism will be replaced with an allocation-pre-replacement mechanism, and the ds in the idle state will be set to the pre-replacement state. The ds in the pre-replacement state will be recycled, and the recycled game server will be allocated to the target game mode corresponding to the game request.
[0143] In an embodiment of the present application, by obtaining the status information of the target game, the target game includes at least one game version, each game version includes at least one game mode, the status information includes the current number of online players, historical online player information, historical start information, historical resource allocation information, and version update information, further based on the status information, the predicted allocation amount of the game server corresponding to each game mode in each game version of the target game is determined, and finally the predicted allocation amount is used to allocate the game server to each game mode in each game version, and the game server is preloaded so that the user can call the game resources in the game server when running the target game. The above method avoids the problem of deviation in the manually estimated pre-pulled game servers, which causes some game servers to idle and some game resource allocation delays to increase, and can ensure the full scheduling of computing resources and improve the utilization of computing resources.
[0144] See Figure 5 , Figure 5This is a structural diagram of a data processing device provided in an embodiment of the present application. The data processing device may be a computer program (including program code) running on a computer device, for example, the data processing device is an application software; the device may be used to execute the corresponding steps of the method provided in an embodiment of the present application. Figure 5 As shown, the data processing device 1 in the embodiment of the present application may include: a state information acquisition unit 11, an allocation amount determination unit 12, and a server allocation unit 13.
[0145] A status information acquisition unit 11 is configured to acquire status information of a target game; the target game includes at least one game version, each game version includes at least one game mode; the status information includes current online player information, historical online player information, historical game start information, historical resource allocation information, and version update information;
[0146] an allocation amount determining unit 12, configured to determine, based on the state information, a predicted allocation amount for the game server corresponding to each game mode in each game version of the target game;
[0147] The server allocation unit 13 is used to allocate a game server to each game mode in each game version using the predicted allocation amount, and preload the game server so that the user can call the game resources in the game server when running the target game.
[0148] In a feasible implementation manner, the allocation amount determination unit 12 is configured to:
[0149] Determining the version status of the target game according to the version update information in the status information;
[0150] If the target game is in a single-version running state, the predicted allocation amount of the game server for each game mode in the target version is determined based on historical resource allocation information, historical start information, current online player information, and historical online player information; the game version corresponding to the single-version running state of the target game is the target version;
[0151] If the target game is in a multi-version running state, then determine the predicted number of online players for each game mode in each game version based on historical online player information and version update information;
[0152] The predicted allocation amount of the game server for each game mode in each version is determined based on the predicted number of online players, historical resource allocation information, and historical online player information.
[0153] In a feasible implementation manner, the allocation amount determination unit 12 is configured to:
[0154] Obtaining first weight information corresponding to each game mode in the target version;
[0155] The predicted allocation amount of the game server for each game mode in the target version is determined based on the first weight information, historical resource allocation information, historical game start information, current online player information, and historical online player information.
[0156] In a feasible implementation manner, the allocation amount determination unit 12 is configured to:
[0157] Obtaining second weight information corresponding to each game mode in each game version;
[0158] The predicted number of online players for each game mode in each game version is determined based on the second weight information, historical online player information, and version update information.
[0159] In a feasible implementation manner, the allocation amount determination unit 12 is configured to:
[0160] Obtain the third weight information corresponding to each game mode in each game version;
[0161] The predicted allocation amount of the game server for each game mode in each version is determined based on the third weight information, the predicted number of online players, historical resource allocation information, and historical online player information.
[0162] In a feasible implementation manner, the server allocation unit 13 is configured to:
[0163] Allocating game servers to each game mode in each game version using the predicted allocation amount;
[0164] In response to the preloading instruction for the game server, the game server is preloaded so that the user can call the game resources in the game server when running the target game.
[0165] See Figure 5 , the data processing device 1 of the embodiment of the present application may further include: a server preloading unit 14.
[0166] A server preloading unit 14 is used to detect the over-alarm state of the game server of the target game;
[0167] If the game server corresponding to the target game mode is in an over-alarm state, the game server corresponding to the target game mode is preloaded according to the over-alarm state; the target game mode is any game mode of any game version.
[0168] See Figure 5, the data processing device 1 of the embodiment of the present application may further include: a server recovery unit 15.
[0169] A server recovery unit 15 is used to detect the over-alarm state of the game server of the target game;
[0170] If the game server corresponding to the target game mode is in an over-alarm state, and there is no game server for the target game mode that has not been preloaded, then obtaining the allocation frequency and reserved resource amount corresponding to the non-over-alarm game mode, and determining the load level value corresponding to each non-over-alarm game mode based on the allocation frequency and the reserved resource amount; the non-over-alarm game mode is any game mode of any game version of the target game except the target game mode; the load level value is used to measure the load condition of the game server corresponding to the game mode;
[0171] The game servers of the non-over-alarm game mode are recycled according to the load level value, and the recycled game servers are allocated to the target game mode.
[0172] See Figure 5 , the data processing device 1 of the embodiment of the present application may also include: a server super pull unit 16.
[0173] A server super pull unit 16 is used to obtain a user's game start request and assign a corresponding game server to the user according to the game mode corresponding to the game start request;
[0174] If there is no game server that can be assigned to the start request, the game server is pulled out of the game server, the start request is counted as a failure in the number of allocations, and the start request is added to a candidate queue to wait for allocation of a game server;
[0175] The waiting time of the start request in the candidate queue is detected, and if the waiting time is greater than a time threshold, the start request is discarded.
[0176] See Figure 5 , the data processing device 1 of the embodiment of the present application may further include: an over-pull setting unit 17.
[0177] The super pull setting unit 17 is used to generate an allocation failure rate of the game mode corresponding to the start request according to the number of allocation failures;
[0178] If the allocation failure rate is greater than a failure rate threshold, increasing the frequency of over-pull of the game mode corresponding to the start request;
[0179] If the allocation failure rate is less than or equal to the failure rate threshold, the over-pull frequency of the game mode corresponding to the start request is reset to an initial value.
[0180] In an embodiment of the present application, by obtaining the status information of the target game, the target game includes at least one game version, each game version includes at least one game mode, the status information includes the current number of online players, historical online player information, historical start information, historical resource allocation information, and version update information, further based on the status information, the predicted allocation amount of the game server corresponding to each game mode in each game version of the target game is determined, and finally the predicted allocation amount is used to allocate the game server to each game mode in each game version, and the game server is preloaded so that the user can call the game resources in the game server when running the target game. The above method avoids the problem of deviation in the manually estimated pre-pulled game servers, which causes some game servers to idle and some game resource allocation delays to increase, and can ensure the full scheduling of computing resources and improve the utilization of computing resources.
[0181] See Figure 6 , Figure 6 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present application. Figure 6 As shown, the computer device 1000 may include: at least one processor 1001, such as a CPU, at least one network interface 1004, a user interface 1003, a memory 1005, and at least one communication bus 1002. The communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), and the user interface 1003 may optionally include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk storage. The memory 1005 may optionally also be at least one storage device located away from the aforementioned processor 1001. As Figure 6 As shown, the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a data processing application.
[0182] exist Figure 6 In the computer device 1000 shown, the network interface 1004 can provide network communication functions, the user interface 1003 is mainly used to provide an input interface for the user; and the processor 1001 can be used to call the data processing application stored in the memory 1005 to implement the above Figure 2-4b The description of the data processing method in any corresponding embodiment will not be repeated here.
[0183] It should be understood that the computer device 1000 described in the embodiment of the present application can execute the above Figure 2-4b The description of the data processing method in any corresponding embodiment can also be performed as described above. Figure 5 The description of the data processing device in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of adopting the same method will not be repeated here either.
[0184] In addition, it should be noted that: the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the data processing device mentioned above, and the computer program includes program instructions. When the processor executes the program instructions, it can execute the above-mentioned Figure 2-4b The description of the data processing method in any corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of adopting the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application. As an example, the program instructions can be deployed to be executed on one computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed in multiple locations and interconnected by a communication network. Multiple computing devices distributed in multiple locations and interconnected by a communication network can constitute a blockchain system.
[0185] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The above-mentioned program can be stored in a computer-readable storage medium. When executed, the program can include the processes of the above-mentioned method embodiments. The above-mentioned computer-readable storage medium can be a data processing device provided in any of the above-mentioned embodiments or an internal storage unit of the above-mentioned device, such as a hard disk or memory of an electronic device. The computer-readable storage medium can also be an external storage device of the electronic device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the electronic device. The above-mentioned computer-readable storage medium can also include a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory, etc. Furthermore, the computer-readable storage medium can also include both the internal storage unit of the electronic device and an external storage device. The computer-readable storage medium is used to store the computer program and other programs and quantities required by the electronic device. The computer-readable storage medium can also be used to temporarily store data that has been output or is about to be output.
[0186] The terms "first," "second," and the like in the claims, specification, and drawings of the present invention are used to distinguish between different objects, not to describe a specific order. Furthermore, the terms "including," "having," and any variations thereof, 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 limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or device. Reference herein to an "embodiment" means that a particular feature, structure, or characteristic described in conjunction with the embodiment may be included in at least one embodiment of the present invention. The presence of such a phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments. The term "and / or," as used in the specification and appended claims of the present invention, refers to any and all possible combinations of one or more of the associated listed items, including, but not limited to, those combinations.
[0187] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented using electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the above description generally describes the components and steps of each example according to their functions. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of the present invention.
[0188] 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.
[0189] The above disclosure is only a preferred embodiment of the present application, and certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.
Claims
1. A data processing method, characterized in that: include: Obtaining status information of a target game; the target game includes at least one game version, each game version includes at least one game mode; the status information includes current online player information, historical online player information, historical start information, historical resource allocation information, and version update information in each game mode in each game version; Determining the version status of the target game according to the version update information in the status information; If the target game is in a single-version running state, the predicted allocation amount of the game server for each game mode in the target version is determined based on historical resource allocation information, historical start information, current online player information, and historical online player information; the game version corresponding to the single-version running state of the target game is the target version; If the target game is in a multi-version running state, determining the predicted number of online players for each game mode in each game version based on historical online player information and version update information, and determining the predicted allocation amount of game servers for each game mode in each game version based on the predicted number of online players, historical resource allocation information, and historical online player information; The predicted allocation amount is used to allocate a game server to each game mode in each game version, and the game server is preloaded so that the user can call the game resources in the game server when running the target game.
2. The method according to claim 1, characterized in that The step of determining the predicted allocation amount of the game server for each game mode in the target version based on historical resource allocation information, historical game start information, current online player information, and historical online player information includes: Obtain the resource request amount for each game mode in the target version during the same time period last week and the resource request amount for the same time period yesterday based on the historical resource allocation information; Get the start information of adjacent time periods based on historical start information, and get the online volume of adjacent time periods based on historical online user information; Obtaining a first ratio of the adjacent time period start information to the number of online users in the adjacent time period, obtaining a first product of the first ratio and information about the number of current online users, and using the first product as predicted start information; Obtain first weight information corresponding to the resource request amount for the same time period last week, the resource request amount for the same time period yesterday, and the predicted start information respectively; According to the first weight information, the resource request amount in the same time period last week, the resource request amount in the same time period yesterday and the predicted start information are weighted and summed to obtain the predicted allocation amount of the game server for each game mode in the target version.
3. The method according to claim 1, characterized in that Determining the predicted number of online players for each game mode in each game version based on historical online player information and version update information includes: Get the number of people online during the same period last week and yesterday based on historical online user information; Get the download volume for the same period last week, the same period yesterday, and the current download volume based on the version update information; Obtain a second ratio of the online volume during the same period last week to the download volume during the same period last week, obtain a second product of the second ratio and the current download volume, and use the second product as the first predicted online volume; Obtaining a third ratio of the online volume during the same period yesterday to the download volume during the same period yesterday, obtaining a third product of the third ratio and the current download volume, and using the third product as the second predicted online volume; Obtain second weight information corresponding to the first predicted online quantity and the second predicted online quantity respectively; A weighted sum of the first predicted online volume and the second predicted online volume is performed according to the second weight information to obtain the predicted number of online players for each game mode in the target version.
4. The method according to claim 1, wherein The determining, based on the predicted number of online users, historical resource allocation information, and historical online user information, the predicted allocation amount of the game server for each game mode in each game version includes: Obtain the allocation amount for the same period yesterday and last week based on historical resource allocation information; Get the number of people online at the same time yesterday and last week based on historical online user information; Obtain a fourth ratio of the allocation amount during the same period yesterday to the number of online users during the same period yesterday, obtain a fourth product of the fourth ratio and the predicted number of online users, and use the fourth product as the first predicted allocation amount; Obtain a fifth ratio of the allocation amount during the same period last week to the number of online users during the same period last week, obtain a fifth product of the fifth ratio and the predicted number of online users, and use the fifth product as the second predicted allocation amount; Obtain third weight information corresponding to the first predicted allocation amount and the second predicted allocation amount respectively; The first predicted allocation amount and the second predicted allocation amount are weightedly summed according to the third weight information to obtain the predicted allocation amount of the game server for each game mode in each game version.
5. The method according to claim 1, wherein The method of allocating a game server to each game mode in each game version using the predicted allocation amount and preloading the game server so that a user can call game resources in the game server when running a target game includes: Allocating a game server to each game mode in each game version using the predicted allocation amount; In response to the preloading instruction for the game server, the game server is preloaded so that the user can call the game resources in the game server when running the target game.
6. The method according to claim 1, characterized in that After allocating the game server to each game mode in each game version using the predicted allocation amount, the method further includes: Detecting an over-alarm status of a game server of the target game; If the game server corresponding to the target game mode is in an over-alarm state, the game server corresponding to the target game mode is preloaded according to the over-alarm state; the target game mode is any game mode of any game version.
7. The method according to claim 1, characterized in that After allocating the game server to each game mode in each game version using the predicted allocation amount, the method further includes: Detecting an over-alarm status of a game server of the target game; If the game server corresponding to the target game mode is in an over-alarm state, and there is no game server for the target game mode that has not been preloaded, then obtaining the allocation frequency and reserved resource amount corresponding to the non-over-alarm game mode, and determining the load level value corresponding to each non-over-alarm game mode based on the allocation frequency and the reserved resource amount; the non-over-alarm game mode is any game mode of any game version of the target game except the target game mode; the load level value is used to measure the load condition of the game server corresponding to the game mode; The game servers of the non-over-alarm game mode are recycled according to the load level value, and the recycled game servers are allocated to the target game mode.
8. The method according to claim 1, characterized in that Also includes: Obtaining a game start request from a user, and assigning a corresponding game server to the user according to a game mode corresponding to the game start request; If there is no game server that can be assigned to the start request, the game server is pulled out of the game server, the start request is counted as a failure in the number of allocations, and the start request is added to a candidate queue to wait for allocation of a game server; The waiting time of the start request in the candidate queue is detected, and if the waiting time is greater than a time threshold, the start request is discarded.
9. The method according to claim 8, characterized in that Also includes: Generating an allocation failure rate of the game mode corresponding to the start request according to the number of allocation failures; If the allocation failure rate is greater than a failure rate threshold, increasing the frequency of over-pull of the game mode corresponding to the start request; If the allocation failure rate is less than or equal to the failure rate threshold, the over-pull frequency of the game mode corresponding to the start request is reset to an initial value.
10. A data processing device, characterized in that: include: A status information acquisition unit, configured to acquire status information of a target game; The target game includes at least one game version, each game version includes at least one game mode; the status information includes current online player information, historical online player information, historical start information, historical resource allocation information, and version update information in each game mode in each game version; an allocation amount determination unit, configured to determine the version status of the target game based on the version update information in the status information; if the target game is in a single-version running state, determining the predicted allocation amount of the game server for each game mode in the target version based on historical resource allocation information, historical game start information, current online player information, and historical online player information; the game version corresponding to the single-version running state of the target game is the target version; if the target game is in a multi-version running state, determining the predicted online player number for each game mode in each game version based on the historical online player information and version update information, and determining the predicted allocation amount of the game server for each game mode in each game version based on the predicted online player number, historical resource allocation information, and historical online player information; The server allocation unit is used to allocate game servers to each game mode in each game version using the predicted allocation amount, and preload the game servers so that users can call game resources in the game servers when running the target game.
11. A computer device, characterized in that: include: processor, memory, and network interface; The processor is connected to the memory and the network interface, wherein the network interface is used to provide a network communication function, the memory is used to store program code, and the processor is used to call the program code to execute the method according to any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which is suitable for being loaded by a processor and executing the method according to any one of claims 1 to 9.
13. A computer program product or a computer program, comprising computer instructions, the computer instructions being stored in a computer-readable storage medium, the computer instructions being read by a processor of a computer device from the computer-readable storage medium, and the processor executing the computer instructions to perform the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
A method for balancing the load of a game server
CN109274713A
Game running method and related product
CN110928597A
Resource allocation method and device, computer readable medium and electronic equipment
CN113230658A