Resource allocation methods, apparatus, computer-readable media and electronic devices
By dynamically adjusting the allocation of cloud computing resources, the problem of unreasonable resource allocation in cloud games is solved, resulting in shorter user waiting time and more efficient resource utilization.
Patent Information
- Application Number
- CN202110603576.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-31
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2041-05-31
AI Technical Summary
Inadequate resource allocation in cloud gaming can lead to excessively long waiting times for users or wasted resources.
By collecting data on the current number of online users and the historical number of online users, the system can predict changes in the number of online users in the future and dynamically adjust the allocation of cloud computing resources to optimize resource allocation.
Reduce user game waiting time, avoid resource waste, reduce operating costs and reduce operational complexity.
Smart Images

Figure CN113230658B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of cloud gaming technology, specifically relating to a resource allocation method, a resource allocation device, a computer-readable medium, and an electronic device. Background Technology
[0002] Cloud gaming is a gaming method based on cloud computing. It moves the logic calculations and image rendering operations that should be performed on the terminal device to the cloud server. The cloud server compresses the game screen and game commands obtained from the logic calculations and image rendering and transmits them to the terminal device through the network. The terminal device only needs to perform simple data decoding, screen display and interaction with terminal device commands to provide users with a gaming experience.
[0003] Since the main computational operations are concentrated on cloud servers, resource allocation for game clients is particularly important. Inadequate allocation of computing resources can lead to problems such as excessively long waiting times for users or excessive waste of resources. Summary of the Invention
[0004] The purpose of this application is to provide a resource allocation method, resource allocation device, computer-readable medium, and electronic device, which at least to some extent overcome the technical problems existing in the related art, such as unreasonable resource allocation, long user game waiting time, and waste of computing resources.
[0005] Other features and advantages of this application will become apparent from the following detailed description, or may be learned in part from practice of this application.
[0006] According to one aspect of the embodiments of this application, a resource allocation method is provided. The method includes: collecting the number of current online users of a cloud game in the current time period, and counting the number of online users of the cloud game in a historical time period, wherein the historical time period includes one or more historical time periods corresponding to the current time period; predicting the change in the number of online users of the cloud game in a future time period based on the number of current online users and the number of online users of the cloud game in the historical time period, wherein the future time period is a time period with the same duration as the current time period; and dynamically adjusting the cloud computing resources allocated to the cloud game for preloading game clients based on the change in the number of online users.
[0007] According to one aspect of the embodiments of this application, a resource allocation apparatus is provided, the apparatus comprising: a user number acquisition module configured to collect the current number of online users of a cloud game in the current time period and to count the number of online users of the cloud game in a historical time period, the historical time period including one or more historical time periods corresponding to the current time period; a change quantity determination module configured to predict the change quantity of online users of the cloud game in a future time period based on the current number of online users and the number of online users of the cloud game in the historical time period, the future time period being a time period with the same length as the current time period and being continuous in time; and a resource dynamic adjustment module configured to dynamically adjust the cloud computing resources allocated to the cloud game for preloading game clients based on the change quantity of online users.
[0008] In some embodiments of this application, based on the above technical solutions, the change quantity determination module includes: a value fitting module, configured to fit the change trend of the number of online users of the cloud game in the current time period according to the current number of online users; a quantity prediction module, configured to predict the change quantity of online users of the cloud game in a future time period according to the change trend of the number of online users; and a value adjustment module, configured to adjust the value of the change quantity of online users according to the historical number of online users.
[0009] In some embodiments of this application, based on the above technical solutions, the numerical adjustment module includes: a first time period selection module, configured to select one or more first concurrent time periods from the historical time periods that have corresponding start and end time nodes to the current time period; a first quantity selection module, configured to select a first historical concurrent quantity from the historical online quantity that corresponds to the first concurrent time period; and a first numerical adjustment module, configured to perform weighted fusion of the first historical concurrent quantity and the online user change quantity according to a preset quantity weight to obtain the numerically adjusted online user change quantity, wherein the quantity weight of the online user change quantity is greater than the quantity weight of the first historical concurrent quantity.
[0010] In some embodiments of this application, based on the above technical solutions, the numerical adjustment module further includes: a second time period selection module, configured to select one or more second concurrent time periods from the historical time period that have corresponding start and end time nodes with the future time period; a second quantity selection module, configured to select a second historical concurrent quantity from the historical online quantity that corresponds to the second concurrent time period; wherein, the first numerical adjustment module is configured to perform weighted fusion of the first historical concurrent quantity, the second historical concurrent quantity, and the online user change quantity according to a preset quantity weight to obtain the numerically adjusted online user change quantity, wherein the quantity weight of the first historical concurrent quantity is greater than the quantity weight of the second historical concurrent quantity.
[0011] In some embodiments of this application, based on the above technical solutions, the resource allocation device further includes: a queue number acquisition module, configured to collect the current queue number of the cloud game in the current time period and count the queue number of the cloud game in a historical time period; and a second value adjustment module, configured to adjust the change in the number of online users based on the current queue number and the queue number of the cloud game in a historical time period.
[0012] In some embodiments of this application, based on the above technical solutions, the second numerical adjustment module is configured to: perform weighted fusion of the current number of queued users, the number of queued users of the cloud game in the historical time period, and the number of changes in online users according to preset quantitative weights, to obtain the numerically adjusted number of changes in online users, wherein the quantitative weight of the number of changes in online users is greater than or equal to the quantitative weight of the current number of queued users, and the quantitative weight of the current number of queued users is greater than the quantitative weight of the number of queued users of the cloud game in the historical time period.
[0013] In some embodiments of this application, based on the above technical solutions, the user number acquisition module includes: a period selection module, configured to select a historical time period that is time-related to the current time period; a data sampling module, configured to sample the number of online users in the historical time period according to the time period length of the current time period; and a number statistics module, configured to statistically analyze the sampling results to obtain the number of online users of the cloud game in the historical time period.
[0014] In some embodiments of this application, based on the above technical solutions, the period selection module includes: a first period acquisition module, configured to acquire the current time period in which the current time period is located, which has a specified time length and fixed start and end time nodes; and a first period selection module, configured to select one or more historical time periods with the same time length as the current time period.
[0015] In some embodiments of this application, based on the above technical solutions, the period selection module includes: a second period acquisition module, configured to acquire a sliding time window that moves synchronously with the current time period and has a specified time length and dynamic start and end time nodes; and a second period selection module, configured to select a historical time period that is continuous with the current time period according to the sliding time window.
[0016] In some embodiments of this application, based on the above technical solutions, the resource dynamic adjustment module includes: a demand determination module, configured to obtain the number of game clients preloaded that matches the change in the number of online users, and determine the computing resource demand that matches the number of game clients preloaded; a remaining capacity acquisition module, configured to obtain the remaining resource capacity of a cloud server cluster, the cloud server cluster being used to allocate cloud computing resources to one or more cloud games; a total demand aggregation module, configured to aggregate the computing resource demand of one or more cloud games running on the cloud server cluster to obtain the total resource demand of the cloud server cluster; and a computing resource allocation module, configured to dynamically adjust the cloud computing resources allocated to each of the cloud games for preloading game clients according to the numerical relationship between the remaining resource capacity and the total resource demand.
[0017] In some embodiments of this application, based on the above technical solutions, the computing resource allocation module includes: a first resource allocation module, configured to dynamically allocate cloud computing resources for preloading game clients to each cloud game according to the computing resource requirements of each cloud game when the remaining resource capacity is greater than or equal to the total resource demand; and a second resource allocation module, configured to obtain the resource allocation ratio of each cloud game and dynamically allocate cloud computing resources for preloading game clients to each cloud game according to the resource allocation ratio and the remaining resource capacity when the remaining resource capacity is less than the total resource demand.
[0018] In some embodiments of this application, based on the above technical solutions, the second resource allocation module includes: a user monitoring module, configured to sample the operation data of the cloud game to obtain operation monitoring data corresponding to multiple operation monitoring dimensions; a weight acquisition module, configured to acquire data weights associated with each of the operation monitoring dimensions; a weighted fusion module, configured to perform weighted fusion of the operation monitoring data according to the data weights to obtain the resource allocation weight of the cloud game; and a ratio determination module, configured to determine the resource allocation ratio of each of the cloud games according to the resource allocation weights.
[0019] According to one aspect of the embodiments of this application, a computer-readable medium is provided, on which a computer program is stored, which, when executed by a processor, implements the resource allocation method as described in the above technical solutions.
[0020] According to one aspect of the embodiments of this application, an electronic device is provided, the electronic device comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform a resource allocation method as described above by executing the executable instructions.
[0021] According to one aspect of the embodiments of this application, a computer program product or computer program is provided, 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 resource allocation method as described in the above technical solutions.
[0022] In the technical solution provided in this application embodiment, by obtaining the current number of online users and the historical number of online users, it is possible to predict the change in the number of online users in the future time period, and dynamically adjust the cloud computing resources allocated to cloud gaming for preloading game clients based on the prediction results. Combining historical statistical data and current monitoring data, the allocation of cloud computing resources can be reasonably and dynamically adjusted, reducing user game waiting time while avoiding resource waste, reducing the operating costs of cloud gaming, and lowering the operational complexity of cloud gaming.
[0023] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description
[0024] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. It is obvious that the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0025] Figure 1 An exemplary system architecture block diagram illustrating the application of the technical solution of this application is shown schematically.
[0026] Figure 2 A schematic diagram of the overall architecture of a cloud gaming server in one embodiment of this application is shown.
[0027] Figure 3A flowchart illustrating the steps of the resource allocation method in an embodiment of this application is shown schematically.
[0028] Figure 4 The diagram illustrates the distribution of the current moment and the current time period in the game time stream in some embodiments of this application.
[0029] Figure 5 A flowchart illustrating the steps for counting historical online users in one embodiment of this application is shown schematically.
[0030] Figure 6 The diagram illustrates the distribution relationship between the current time period and historical time period in the game time flow in some embodiments of this application.
[0031] Figure 7 A flowchart illustrating the steps of a method for predicting changes in the number of online users in one embodiment of this application is shown schematically.
[0032] Figure 8 The flowchart illustrating the steps of a method for dynamically allocating cloud computing resources in one embodiment of this application is shown schematically.
[0033] Figure 9 This illustration illustrates the weighting of various operational monitoring dimensions in an application scenario according to an embodiment of this application.
[0034] Figure 10 The diagram illustrates a system block diagram of cloud gaming resource allocation in an application scenario according to an embodiment of this application.
[0035] Figure 11 A schematic block diagram of the resource allocation device provided in the embodiments of this application is shown.
[0036] Figure 12 A schematic diagram of a computer system architecture suitable for implementing the embodiments of this application is shown. Detailed Implementation
[0037] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art.
[0038] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.
[0039] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0040] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0041] The technical solutions provided in this application mainly relate to cloud technology, and in particular to cloud gaming technology based on cloud computing.
[0042] Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. Based on the cloud computing business model, cloud technology encompasses network technology, information technology, integration technology, management platform technology, and application technology. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.
[0043] Cloud computing is a service delivery and usage model, specifically referring to obtaining required services in an on-demand and scalable manner through a network. These services can be IT and software, internet-related, or other services. Cloud computing is a product of the convergence of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing. Driven by the development of the internet, real-time data streams, the diversification of connected devices, and the demands of search services, social networks, mobile commerce, and open collaboration, cloud computing has rapidly developed. Unlike previous parallel and distributed computing, the emergence of cloud computing will fundamentally revolutionize the entire internet model and enterprise management model.
[0044] Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing. It enables thin clients with relatively limited graphics processing and data processing capabilities to run high-quality games. In cloud gaming, the game does not reside on the player's terminal but runs on a cloud server. The cloud server renders the game scene as a video and audio stream, which is then transmitted to the player's terminal via the network. The player's terminal does not need powerful graphics processing and data processing capabilities; it only needs basic streaming media playback capabilities and the ability to receive player input commands and send them to the cloud server.
[0045] Figure 1 An exemplary system architecture block diagram illustrating the application of the technical solution of this application is shown schematically.
[0046] like Figure 1 As shown, system architecture 100 may include terminal device 110, network 120, and server 130. Terminal device 110 may include various electronic devices such as smartphones, tablets, laptops, and desktop computers. Server 130 is a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Network 120 may be a communication medium of various connection types capable of providing a communication link between terminal device 110 and server 130, such as a wired communication link or a wireless communication link.
[0047] Depending on the implementation requirements, the system architecture in this application embodiment can have any number of terminal devices, networks, and servers. For example, server 130 can be a server group composed of multiple server devices. In addition, the technical solutions provided in this application embodiment can be mainly applied to server 130, or can be implemented jointly by terminal device 110 and server 130, and this application does not make any special limitations in this regard.
[0048] Figure 2 A schematic diagram illustrating the overall architecture of a cloud gaming server according to one embodiment of this application is shown. Figure 2 As shown, the cloud gaming server in this embodiment includes at least one central scheduling server 210 and multiple geographically distributed edge computing clusters 220 that communicate with the central scheduling server 210. The edge computing clusters 220 are server clusters used to provide cloud gaming services to users. The central scheduling server 210 includes a predictive analysis module 211 and a scheduling and distribution module 212. The predictive analysis module 211 can analyze and calculate online data and user data in real time to obtain the pre-launch values for each game in each cluster. The scheduling and distribution module 212 can distribute the calculation results to each edge computing cluster 220 for real-time adjustment.
[0049] The process of starting a cloud game involves steps such as resource allocation, game client image transfer, and client update and startup. The entire process typically takes anywhere from tens of seconds to several minutes. For users, such long waiting times gradually erode their patience, which is extremely detrimental to the cloud gaming experience.
[0050] In view of this, the embodiments of this application can pre-load a certain amount of cloud computing resources in the edge computing cluster 220, that is, pre-load the client. When a new user enters the game, the pre-loaded cloud computing resources can be used to directly provide game services to them, thereby reducing the user's game waiting time. Pre-loading resources can indeed greatly reduce user access time, but it also introduces the problem of finding the optimal solution for the number of resources to pre-load. That is, pre-loading too much will lead to resource waste and increased costs, while pre-loading too little will lead to a poor game experience. To address the above-mentioned problems in related technologies, the embodiments of this application utilize the historical periodic data of cloud gaming clusters to reasonably predict the user online value for the current period, thereby automatically and dynamically predicting and adjusting the number of resources to pre-load for each cluster and each game, achieving the best user experience with minimal cost.
[0051] The following detailed description of the resource allocation method, resource allocation device, computer-readable medium, and electronic device provided in this application, in conjunction with specific embodiments, provides a detailed explanation of these technical solutions.
[0052] Figure 3The flowchart illustrating the steps of a resource allocation method in an embodiment of this application is shown schematically. This resource allocation method can be performed by… Figure 1 The server 130 shown can execute the resource allocation method, or it can be jointly executed by the terminal device 110 and the server 130. This application embodiment uses the resource allocation method executed by the server 130 as an example. Figure 3 As shown, the resource allocation method mainly includes the following steps S310 to S330.
[0053] Step S310: Collect the number of current online users of cloud gaming in the current time period, and count the number of online users of cloud gaming in the historical time period, which includes one or more historical time periods corresponding to the current time period.
[0054] Step S320: Based on the current number of online users and the number of online users of cloud gaming in historical time periods, predict the change in the number of online users of cloud gaming in future time periods. The future time period is a time period with the same duration as the current time period.
[0055] Step S330: Dynamically adjust the cloud computing resources allocated to cloud gaming for preloading game clients based on changes in the number of online users.
[0056] In the resource allocation method provided in this application embodiment, by obtaining the current number of online users and the historical number of online users, it is possible to predict the change in the number of online users in the future time period, and dynamically adjust the cloud computing resources allocated to cloud games for preloading game clients based on the prediction results. Combining historical statistical data and current monitoring data, the allocation of cloud computing resources can be reasonably and dynamically adjusted, reducing user game waiting time, avoiding resource waste, reducing cloud game operating costs, and lowering the operational complexity of cloud games.
[0057] The following sections provide a detailed description of each step of the resource allocation method in the embodiments of this application.
[0058] In step S310, the number of current online users of the cloud game in the current time period is collected, and the number of online users of the cloud game in the historical time period is counted. The historical time period includes one or more historical time periods corresponding to the current time period.
[0059] The current time period is a continuous time period with a specified duration S, including the current moment. In one embodiment of this application, the current time period can be a time period with fixed start and end times, formed by continuously segmenting the game time stream; for example, if the current moment is 4:14:38 and the specified duration S is 5 minutes, then the current time period can be a time period of 5 minutes with start and end times of 4:10:00 and 4:15:00 respectively. In another embodiment of this application, the current time period can be a dynamically changing time period with the current moment as the end point; for example, if the current moment is 4:14:38 and the specified duration S is 5 minutes, then the current time period can be a time period of 5 minutes with start and end times of 4:09:38 and 4:14:38 respectively.
[0060] Figure 4 The diagram schematically illustrates the distribution relationship between the current moment and the current time period in the game's time flow in some embodiments of this application. For example... Figure 4 In the first game time flow 410 of the upper part example, in some embodiments of this application, the current time period 401 is a dynamically changing time period with the current time 402 as the time end point. As time passes, the current time period 401 will slide forward along with the current time 402. Figure 4 In the second game time stream 420 in the lower part of the example, in some embodiments of this application, multiple time intervals 403 with the same time length are divided according to a specified time length, and the time interval where the current time 402 is located is the current time period 401.
[0061] In one embodiment of this application, the current number of online users is a sequence of numbers obtained by real-time collection of the number of online game users within the current time period. Using time interval T as the data sampling interval, a number of user number sampling points of S / T varying over time can be collected within the current time period. Arranging these user number sampling points in chronological order forms the sequence representing the current number of online users. In other optional embodiments, the current number of online users can also be the real-time number of online game users obtained by real-time collection of the number of online game users at the current moment, or it can be the average number obtained by averaging multiple user number sampling points within the current time period.
[0062] In one embodiment of this application, the number of historical online users can be calculated based on historical time periods prior to the current time period. Figure 5 A flowchart illustrating the steps for counting historical online users in one embodiment of this application is shown schematically. Figure 5 As shown, the statistical count of historical online users of cloud games in the historical time period in step S310 may include steps S510 to S530 below.
[0063] Step S510: Select a historical time period that is time-related to the current time period.
[0064] In one embodiment of this application, the current time period with a specified time length and fixed start and end time nodes can be obtained first, and then one or more historical time periods with the same time length as the current time period can be selected.
[0065] For example, the current time period is a continuous period of 5 minutes, and the current time period can be a time period of 1 hour or 24 hours. Taking 24 hours as an example, the current time period is from 0:00 to 24:00 of the current day, and the corresponding historical time period can be from 0:00 to 24:00 of the previous day or several days before the current day.
[0066] In one embodiment of this application, a sliding time window with a specified time length and dynamic start and end time nodes that moves synchronously with the current time period can first be obtained, and then a historical time period that is continuous with the current time period can be selected according to the sliding time window.
[0067] For example, if the current time period is a continuous period of 5 minutes, the sliding time window can be a time window of 1 hour or 24 hours. Taking a 24-hour sliding time window as an example, if the current time period is between 4:10 and 4:15, then the historical time period can be a continuous time period between 4:10 yesterday and 4:10 today.
[0068] Figure 6 The diagram illustrates the distribution relationship between the current time period and historical time period in the game time flow in some embodiments of this application.
[0069] like Figure 6 In some embodiments of this application, the third game time stream 610 in the upper part of the example can be divided into multiple time periods according to a fixed time length. The time period 601 is the current time period 602, and the time periods distributed before the current time period 602 are the historical time periods 603.
[0070] like Figure 6 In the lower part of the example, the fourth game time flow 620, in some embodiments of this application, can determine a sliding time window 604 that moves synchronously with the current time period 601, and the time interval covered by the sliding time window 604 is the historical time period 603.
[0071] Step S520: Sample the number of online users within the historical time period according to the length of the current time period.
[0072] Within a defined historical time period, data is sampled in the same manner as the current time period. For example, if the current time period is 5 minutes long, the number of online users is sampled at 5-minute intervals within the same historical time period.
[0073] Step S530: Statistical data sampling results are used to obtain the historical number of online users of cloud gaming during the historical time period.
[0074] In one embodiment of this application, the current number of online users is a sequence of numbers composed of various user number sampling points within the current time period, and the historical number of online users may include multiple corresponding number sequences.
[0075] In one embodiment of this application, the current number of online users is the number of real-time online users at the current moment, and the historical number of online users can be the number of real-time online users recorded at each time point within a historical time period.
[0076] In one embodiment of this application, the current number of online users is the average of multiple user count sampling points within the current time period, and the historical number of online users can be multiple averages corresponding to multiple historical time periods, calculated based on user count sampling points recorded in each historical time period.
[0077] In step S320, the number of online users of cloud gaming is predicted in a future time period based on the current number of online users and the historical number of online users. The future time period is a time period with the same duration as the current time period.
[0078] In one embodiment of this application, the future time period is a time period that is continuous with the current time period. For example, if the current time period is between 4:10 and 4:15 on the same day, the corresponding future time period could be between 4:15 and 4:20 on the same day.
[0079] In one embodiment of this application, the future time period can also be a time period separated from the current time period by a specified time interval. For example, if the current time period is the period between 4:10 and 4:15 on the current day, the corresponding future time period could be the period between 4:10 and 4:15 tomorrow.
[0080] Figure 7 A flowchart illustrating the steps of a method for predicting changes in the number of online users in one embodiment of this application is shown schematically. Figure 7As shown, based on the above embodiments, step S320, which predicts the change in the number of online users of cloud games in the future time period based on the current number of online users and the historical number of online users, may include the following steps S710 to S750.
[0081] Step S710: Fit the trend of the number of online users of cloud gaming in the current time period based on the current number of online users.
[0082] In one embodiment of this application, a linear fit can be performed on the current number of online users to obtain the trend of the number of online users in the game during the current time period. This trend of the number of online users can be represented by a linear fit model. For example, the current number of online users includes a sequence of multiple real-time online users within the current time period. By using the least squares method or other fitting methods to perform a linear fit on this sequence, a linear fit formula representing the trend of the number of online users can be obtained.
[0083] Step S720: Predict the change in the number of online users of cloud gaming in the future time period based on the trend of changes in the number of online users.
[0084] Based on the trend of online user numbers, a predicted value for the number of online users in cloud gaming over a future time period can be obtained. The difference between this predicted value and the current number of online users yields the change in the number of online users over the future time period. In one embodiment of this application, the predicted values for the number of online users at multiple time points within the future time period can be obtained first. Then, a target number of online users is calculated and determined based on these multiple predicted values. The change in the number of online users is then determined based on the difference between the target number of online users and the current number of online users. The target number of online users can, for example, be the average or maximum value of the multiple predicted values.
[0085] Step S730: Adjust the number of changes in online users based on the historical number of online users.
[0086] In one embodiment of this application, the number of changes in the number of online users can be adjusted based on the historical number of online users. The adjustment method mainly includes adding the value of the historical number of online users to the number of changes in the number of online users according to a preset weight, so as to correct it.
[0087] In one embodiment of this application, a method for adjusting the number of changes in online users based on the number of historical online users may include: selecting one or more first concurrent time periods from historical time periods that have corresponding start and end time nodes to the current time period; selecting a first historical concurrent quantity corresponding to the first concurrent time period from historical online quantity; and weighting and fusing the first historical concurrent quantity and the number of changes in online users according to a preset quantity weight to obtain the numerically adjusted number of changes in online users, wherein the quantity weight of the number of changes in online users is greater than the quantity weight of the first historical concurrent quantity.
[0088] In one embodiment of this application, the method for adjusting the change in the number of online users based on the historical number of online users may further include: selecting one or more second concurrent time periods from historical time cycles that have corresponding start and end time nodes for future time periods; and selecting a second historical concurrent quantity from historical online quantities that corresponds to the second concurrent time period. Based on this, the first historical concurrent quantity, the second historical concurrent quantity, and the change in the number of online users can be weighted and fused according to preset quantity weights to obtain the numerically adjusted change in the number of online users, where the quantity weight of the first historical concurrent quantity is greater than the quantity weight of the second historical concurrent quantity.
[0089] For example, the current time period is the period between 4:10 AM and 4:15 PM on the current day, and the future time period could be the period between 4:15 AM and 4:20 PM after that. The first corresponding time period selected from the historical time cycle can include the period between 4:10 AM and 4:15 PM from multiple dates such as the previous day, two days, or three days ago. Correspondingly, the second corresponding time period selected from the historical time cycle can also include the period between 4:15 AM and 4:20 PM from multiple dates such as the previous day, two days, or three days ago.
[0090] Compared to the second historical period, the first historical period has a greater impact on the number of online users. Therefore, a larger weight can be assigned to the number of users in the first historical period compared to the number in the second historical period.
[0091] Step S740: Collect the number of currently queued users for cloud gaming in the current time period, and count the number of historically queued users for cloud gaming in historical time periods.
[0092] To avoid a sudden influx of users onto the game server, cloud gaming can control a queue of users to enter the game in a specific order. The number of users currently waiting to enter the game at any given time is the current queue number. Correspondingly, the historical queue number can be recorded for each historical time period. The methods for obtaining the current and historical queue numbers are similar to those for obtaining the current and historical online user numbers, and will not be elaborated upon here.
[0093] Step S750: Adjust the number of online users based on the current number of users in the queue and the historical number of users in the queue.
[0094] In one embodiment of this application, the number of current queued users, the number of historical queued users, and the number of changes in online users can be weighted and fused according to a preset quantity weight to obtain the number of changes in online users after numerical adjustment. The quantity weight of the number of changes in online users is greater than or equal to the quantity weight of the number of current queued users, and the quantity weight of the number of current queued users is greater than the quantity weight of the number of historical queued users.
[0095] In step S330, the cloud computing resources allocated to cloud gaming for preloading game clients are dynamically adjusted based on the changing number of online users.
[0096] Figure 8 A flowchart illustrating the steps of a method for dynamically allocating cloud computing resources in one embodiment of this application is shown schematically. Figure 8 As shown, based on the above embodiments, step S330, which dynamically adjusts the cloud computing resources allocated to cloud games for preloading game clients according to the changing number of online users, may include steps S810 to S840 as follows.
[0097] Step S810: Obtain the number of game clients preloaded to match the number of online users, and determine the computing resource requirements that match the number of game clients preloaded.
[0098] In cloud gaming applications, each additional online user indicates that the cloud server needs to allocate game resources to a newly added game client. Based on this, the number of game clients to be preloaded can be determined according to the predicted change in the number of online users. In one embodiment of this application, the number of game clients to be preloaded can be the same as the number of changes in the number of online users.
[0099] Step S820: Obtain the remaining resource capacity of the cloud server cluster, which is used to allocate cloud computing resources to one or more cloud games.
[0100] Multiple cloud games can run simultaneously on a cloud server cluster, and cloud computing resources can be dynamically allocated to each cloud game based on its game characteristics and user numbers. In this embodiment, the resource usage of each server device in the cloud server cluster can be monitored in real time, and the remaining resource capacity of the cloud server cluster can be obtained by summing up the available resources of each server device.
[0101] Step S830: Summarize the computing resource requirements of one or more cloud games running on the cloud server cluster to obtain the total resource requirements of the cloud server cluster.
[0102] Each cloud game running on the cloud server cluster can have its own set of computing resource requirements. By summing up the computing resource requirements of each cloud game, the total resource requirements of the cloud server cluster can be obtained.
[0103] Step S840: Dynamically adjust the cloud computing resources allocated to each cloud game for preloading game clients based on the numerical relationship between the remaining resource capacity and the total resource demand.
[0104] In one embodiment of this application, when the remaining resource capacity is greater than or equal to the total resource demand, cloud computing resources for preloading game clients are dynamically allocated to each cloud game according to the computing resource demand of each cloud game; when the remaining resource capacity is less than the total resource demand, the resource allocation ratio of each cloud game is obtained, and cloud computing resources for preloading game clients are dynamically allocated to each cloud game according to the resource allocation ratio and the remaining resource capacity.
[0105] When there are sufficient remaining resources, cloud computing resources can be allocated to each cloud game directly according to their resource requirements. When there are insufficient remaining resources, cloud computing resources can be allocated to each cloud game according to the resource allocation ratio, ensuring that each cloud game can preload its game client as needed.
[0106] In one embodiment of this application, the method for obtaining the resource allocation ratio of each cloud game may include: sampling the operation data of the cloud game to obtain operation monitoring data corresponding to multiple operation monitoring dimensions; obtaining the data weights associated with each operation monitoring dimension; weighting and fusing the operation monitoring data according to the data weights to obtain the resource allocation weights of the cloud games; and determining the resource allocation ratio of each cloud game based on the resource allocation weights.
[0107] In one embodiment of this application, the operational monitoring dimensions may include one or more of the following: user retention rate, average user game time, average user queuing time, and average user revenue. Different data weights can be assigned to each operational monitoring dimension according to their degree of influence, and resources can be allocated among different cloud games based on the weighted fusion result.
[0108] Figure 9 This illustration demonstrates the weighting of various operational monitoring dimensions in an application scenario according to an embodiment of this application. In this embodiment, operational monitoring dimensions may include multiple dimensions such as online user growth trend, current queue size, historical online user count, historical queue size, average user queue time, user retention rate, average user playtime, and average user revenue. Among these, the online user growth trend directly affects the number of pre-loaded game clients and can be configured with a high weight. The current queue size is directly related to game resource allocation; if the current queue size is greater than zero, it indicates an insufficient number of pre-loaded game clients, thus it can be configured with a high weight. Historical online user count and historical queue size are important references for predicting the current online user count and online growth rate, and can be configured with a medium weight. Average user queue time indicates the game's attractiveness to users, and user retention rate indicates user stickiness; both can be configured with low weights. Average user playtime indicates whether a user is a heavy player, and average user revenue is used to determine the game's commercial value; both can be configured with medium weights.
[0109] Figure 10 The diagram illustrates a system block diagram of cloud gaming resource allocation in an application scenario according to an embodiment of this application.
[0110] Cloud gaming is characterized by high network requirements and high costs, which dictates that cloud gaming computing clusters are generally distributed across multiple regions. Therefore, each edge computing cluster 1001 needs to report its own online, queuing, and game distribution data in real time to the cluster computing resource monitoring module 1003 of the central scheduling server 1002. After receiving the data, the cluster computing resource monitoring module 1003 needs to preprocess the data to obtain data such as the highest concurrent online users (PCU) and daily active users (DAU) by cluster, time, and game, and then input the preprocessed data along with the original real-time data into the monitoring database 1004.
[0111] The cloud gaming client application (APP) needs to build a complete data system 1005, including account management, payment management, and game management. After the data is aggregated and linked, it is stored in the economic analysis database 1006.
[0112] The predictive analysis module 1007 can acquire and analyze data from the monitoring database 1004 and the business analysis database 1006 to automatically manage the pre-launch quantity of games in each cluster based on demand and trends, according to the data analysis results. Monitoring data allows for understanding the resource usage of each cluster and analyzing and predicting the queuing situation for each cluster and game. Business analysis data reveals the user retention rate and per-user payment tendency for each game; by configuring certain weights, the commercial value ratio of each game can be calculated.
[0113] The 1008 backend management module allows for flexible adjustment of the weight ratio of each influencing factor, as well as configuration of the boost ratio or absolute number of certain games, in order to cope with unexpected events such as new game launches and major events.
[0114] Finally, the total number of launches will be distributed in real time to each edge computing cluster via the scheduling module 1009 for preloading of the game client, and then cloud computing resources will be allocated.
[0115] In this embodiment, big data analysis of operational data can be used to obtain accurate player profiles, enabling more reasonable and scientific user selection. Furthermore, considering the capacity and cost of different edge computing clusters, reasonable resource allocation strategies can be developed.
[0116] It should be noted that although the steps of the method in this application are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.
[0117] The following describes an apparatus embodiment of this application, which can be used to execute the resource allocation method in the above embodiments of this application. Figure 11 A schematic block diagram of the resource allocation apparatus provided in an embodiment of this application is shown. Figure 11As shown, the resource allocation device 1100 mainly includes: a user count acquisition module 1110, configured to collect the current number of online users of the cloud game in the current time period, and to count the number of online users of the cloud game in a historical time period, wherein the historical time period includes one or more historical time periods corresponding to the current time period; a change quantity determination module 1120, configured to predict the change quantity of online users of the cloud game in a future time period based on the current number of online users and the number of online users of the cloud game in the historical time period, wherein the future time period is a time period with the same length as the current time period; and a resource dynamic adjustment module 1130, configured to dynamically adjust the cloud computing resources allocated to the cloud game for preloading the game client based on the change quantity of online users.
[0118] In some embodiments of this application, based on the above embodiments, the change quantity determination module 1120 includes: a value fitting module, configured to fit the change trend of the number of online users of the cloud game in the current time period according to the current number of online users; a quantity prediction module, configured to predict the change quantity of online users of the cloud game in a future time period according to the change trend of the number of online users; and a value adjustment module, configured to adjust the change quantity of online users according to the historical number of online users.
[0119] In some embodiments of this application, based on the above embodiments, the numerical adjustment module includes: a first time period selection module, configured to select one or more first concurrent time periods from the historical time periods that have corresponding start and end time nodes to the current time period; a first quantity selection module, configured to select a first historical concurrent quantity from the historical online quantity that corresponds to the first concurrent time period; and a first numerical adjustment module, configured to perform weighted fusion of the first historical concurrent quantity and the online user change quantity according to a preset quantity weight to obtain a numerically adjusted online user change quantity, wherein the quantity weight of the online user change quantity is greater than the quantity weight of the first historical concurrent quantity.
[0120] In some embodiments of this application, based on the above embodiments, the numerical adjustment module further includes: a second time period selection module, configured to select one or more second concurrent time periods from the historical time period that have corresponding start and end time nodes with the future time period; a second quantity selection module, configured to select a second historical concurrent quantity from the historical online quantity that corresponds to the second concurrent time period; wherein, the first numerical adjustment module is configured to perform weighted fusion of the first historical concurrent quantity, the second historical concurrent quantity, and the online user change quantity according to a preset quantity weight to obtain the numerically adjusted online user change quantity, wherein the quantity weight of the first historical concurrent quantity is greater than the quantity weight of the second historical concurrent quantity.
[0121] In some embodiments of this application, based on the above embodiments, the resource allocation device further includes: a queue number acquisition module, configured to collect the current queue number of the cloud game in the current time period and count the queue number of the cloud game in a historical time period; and a second value adjustment module, configured to adjust the change in the number of online users based on the current queue number and the queue number of the cloud game in a historical time period.
[0122] In some embodiments of this application, based on the above embodiments, the second numerical adjustment module is configured to: perform weighted fusion of the current number of queued users, the number of queued users of the cloud game in the historical time period, and the number of changes in online users according to preset quantitative weights, to obtain the numerically adjusted number of changes in online users, wherein the quantitative weight of the number of changes in online users is greater than or equal to the quantitative weight of the current number of queued users, and the quantitative weight of the current number of queued users is greater than the quantitative weight of the number of queued users of the cloud game in the historical time period.
[0123] In some embodiments of this application, based on the above embodiments, the user number acquisition module 1110 includes: a period selection module, configured to select a historical time period that is time-related to the current time period; a data sampling module, configured to sample the number of online users in the historical time period according to the time period length of the current time period; and a number statistics module, configured to statistically analyze the sampling results to obtain the number of online users of the cloud game in the historical time period.
[0124] In some embodiments of this application, based on the above embodiments, the period selection module includes: a first period acquisition module, configured to acquire the current time period in which the current time period is located, which has a specified time length and fixed start and end time nodes; and a first period selection module, configured to select one or more historical time periods with the same time length as the current time period.
[0125] In some embodiments of this application, based on the above embodiments, the period selection module includes: a second period acquisition module, configured to acquire a sliding time window that moves synchronously with the current time period and has a specified time length and dynamic start and end time nodes; and a second period selection module, configured to select a historical time period that is continuous with the current time period according to the sliding time window.
[0126] In some embodiments of this application, based on the above embodiments, the resource dynamic adjustment module 1130 includes: a demand determination module, configured to obtain the number of game clients preloaded that matches the change in the number of online users, and determine the computing resource demand that matches the number of game clients preloaded; a remaining capacity acquisition module, configured to obtain the remaining resource capacity of a cloud server cluster, the cloud server cluster being used to allocate cloud computing resources to one or more cloud games; a total demand aggregation module, configured to aggregate the computing resource demand of one or more cloud games running on the cloud server cluster to obtain the total resource demand of the cloud server cluster; and a computing resource allocation module, configured to dynamically adjust the cloud computing resources allocated to each of the cloud games for preloading game clients according to the numerical relationship between the remaining resource capacity and the total resource demand.
[0127] In some embodiments of this application, based on the above embodiments, the computing resource allocation module includes: a first resource allocation module, configured to dynamically allocate cloud computing resources for preloading game clients to each cloud game according to the computing resource requirements of each cloud game when the remaining resource capacity is greater than or equal to the total resource demand; and a second resource allocation module, configured to obtain the resource allocation ratio of each cloud game and dynamically allocate cloud computing resources for preloading game clients to each cloud game according to the resource allocation ratio and the remaining resource capacity when the remaining resource capacity is less than the total resource demand.
[0128] In some embodiments of this application, based on the above embodiments, the second resource allocation module includes: a user monitoring module, configured to sample the operation data of the cloud game to obtain operation monitoring data corresponding to multiple operation monitoring dimensions; a weight acquisition module, configured to acquire data weights associated with each of the operation monitoring dimensions; a weighted fusion module, configured to perform weighted fusion of the operation monitoring data according to the data weights to obtain the resource allocation weight of the cloud game; and a ratio determination module, configured to determine the resource allocation ratio of each of the cloud games according to the resource allocation weights.
[0129] The specific details of the resource allocation device provided in the various embodiments of this application have been described in detail in the corresponding method embodiments, and will not be repeated here.
[0130] Figure 12 A schematic block diagram of a computer system architecture for implementing an electronic device according to embodiments of the present application is shown.
[0131] It should be noted that, Figure 12 The computer system 1200 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.
[0132] like Figure 12 As shown, the computer system 1200 includes a central processing unit (CPU) 1201, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 1202 or programs loaded from storage section 1208 into random access memory (RAM). The RAM 1203 also stores various programs and data required for system operation. The CPU 1201, ROM 1202, and RAM 1203 are interconnected via a bus 1204. An input / output interface 1205 (I / O interface) is also connected to the bus 1204.
[0133] The following components are connected to the input / output interface 1205: an input section 1206 including a keyboard, mouse, etc.; an output section 1207 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 1208 including a hard disk, etc.; and a communication section 1209 including a network interface card such as a local area network card, modem, etc. The communication section 1209 performs communication processing via a network such as the Internet. A drive 1210 is also connected to the input / output interface 1205 as needed. A removable medium 1211, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 1210 as needed so that computer programs read from it can be installed into the storage section 1208 as needed.
[0134] Specifically, according to embodiments of this application, the processes described in the various method flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1209, and / or installed from removable medium 1211. When the computer program is executed by central processing unit 1201, it performs various functions defined in the system of this application.
[0135] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such transmitted data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.
[0136] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0137] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0138] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, touch terminal, or network device, etc.) to execute the method according to the embodiments of this application.
[0139] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.
[0140] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A resource allocation method, characterized in that, include: The system collects the number of currently online users of the cloud game in the current time period and counts the number of online users of the cloud game in a historical time period, wherein the historical time period includes one or more historical time periods corresponding to the current time period. The trend of the number of online users of the cloud game in the current time period is fitted based on the current number of online users; Based on the trend of changes in the number of online users, predict the change in the number of online users of the cloud game in a future time period, where the future time period is a time period with the same duration as the current time period; The change in the number of online users is numerically adjusted based on the number of online users of the cloud game during a historical time period; The cloud computing resources allocated to the cloud game for preloading the game client are dynamically adjusted based on the changing number of online users.
2. The resource allocation method according to claim 1, characterized in that, The changes in the number of online users are numerically adjusted based on the number of online users of the cloud game during a historical time period, including: Select one or more first synchronous time periods from the historical time periods that have corresponding start and end time nodes to the current time period; Select the first historical concurrent user count corresponding to the first concurrent time period from the number of online users of the cloud game in the historical time period; The online user change number is obtained by weighting and fusing the first historical data from the same period and the online user change number according to a preset quantitative weight, wherein the quantitative weight of the online user change number is greater than the quantitative weight of the first historical data from the same period.
3. The resource allocation method according to claim 2, characterized in that, Adjusting the number of online users based on the number of online users of the cloud game during a historical time period, further includes: Select one or more second concurrent time periods from the historical time periods that have corresponding start and end time nodes to the future time period; Select the second historical concurrent user count corresponding to the second concurrent time period from the number of online users of the cloud game in the historical time period; The adjusted online user change number is obtained by weighting and fusing the first historical concurrent number and the online user change number according to a preset quantity weight, including: The online user change number is obtained by weighting and fusing the first historical same period number, the second historical same period number, and the online user change number according to a preset quantity weight, and the quantity weight of the first historical same period number is greater than that of the second historical same period number.
4. The resource allocation method according to claim 1, characterized in that, Before dynamically adjusting the cloud computing resources allocated to the cloud game for preloading the game client based on the changing number of online users, the method further includes: Collect the number of users currently queuing for the cloud game in the current time period, and count the number of users queuing for the cloud game in historical time periods; The change in the number of online users is adjusted based on the current number of users in the queue and the number of users in the queue for the cloud game in the historical time period.
5. The resource allocation method according to claim 4, characterized in that, The change in the number of online users is adjusted based on the current number of users in the queue and the number of users in the queue for the cloud game during the historical time period, including: The current number of users in the queue, the number of users in the queue for the cloud game in the historical time period, and the number of changes in online users are weighted and merged according to preset quantity weights to obtain the adjusted number of changes in online users. The quantity weight of the number of changes in online users is greater than or equal to the quantity weight of the current number of users in the queue, and the quantity weight of the current number of users in the queue is greater than the quantity weight of the number of users in the queue for the cloud game in the historical time period.
6. The resource allocation method according to claim 1, characterized in that, The statistics include the number of online users of the cloud game during the historical time period, including: Select a historical time period that is time-related to the current time period; Data sampling is performed on the number of online users within the historical time period according to the length of the current time period; The number of online users of the cloud game during the historical time period was obtained from the statistical data sampling results.
7. The resource allocation method according to claim 6, characterized in that, Select historical time periods that are time-related to the current time period, including: Obtain the current time period, which has a specified time length and fixed start and end time nodes, within the current time period; Select one or more historical time periods with the same duration as the current time period.
8. The resource allocation method according to claim 6, characterized in that, Select historical time periods that are time-related to the current time period, including: Obtain a sliding time window with a specified time length and dynamic start and end time nodes that moves synchronously with the current time period; The historical time period that is continuous with the current time period is selected based on the sliding time window.
9. The resource allocation method according to any one of claims 1 to 8, characterized in that, The cloud computing resources allocated to the cloud game for preloading the game client are dynamically adjusted based on the changing number of online users, including: Obtain the number of game clients preloaded that matches the number of changes in online users, and determine the computing resource requirements that match the number of game clients preloaded. Obtain the remaining resource capacity of the cloud server cluster, which is used to allocate cloud computing resources to one or more cloud games; The total resource requirements of the cloud server cluster are obtained by summing the computing resource requirements of one or more cloud games running on the cloud server cluster. The cloud computing resources allocated to each cloud game for preloading game clients are dynamically adjusted based on the numerical relationship between the remaining resource capacity and the total resource demand.
10. The resource allocation method according to claim 9, characterized in that, The cloud computing resources allocated to each of the cloud games for preloading game clients are dynamically adjusted based on the numerical relationship between the remaining resource capacity and the total resource demand, including: When the remaining resource capacity is greater than or equal to the total resource demand, cloud computing resources for preloading game clients are dynamically allocated to each cloud game according to the computing resource demand of each cloud game. When the remaining resource capacity is less than the total resource demand, the resource allocation ratio of each cloud game is obtained, and cloud computing resources for preloading game clients are dynamically allocated to each cloud game according to the resource allocation ratio and the remaining resource capacity.
11. The resource allocation method according to claim 10, characterized in that, Obtain the resource allocation ratio for each of the cloud games, including: The cloud gaming operation data is sampled to obtain operation monitoring data corresponding to multiple operation monitoring dimensions; Obtain the data weights associated with each of the aforementioned operational monitoring dimensions; The operation monitoring data is weighted and fused according to the data weights to obtain the resource allocation weights for the cloud game; The resource allocation ratio for each cloud game is determined based on the resource allocation weight.
12. A resource allocation device, characterized in that, include: The user count acquisition module is configured to collect the number of currently online users of the cloud game in the current time period, and to count the number of online users of the cloud game in a historical time period, wherein the historical time period includes one or more historical time periods corresponding to the current time period. The change quantity determination module is configured to fit the change trend of the number of online users of the cloud game in the current time period based on the current number of online users; Based on the trend of changes in the number of online users, predict the change in the number of online users of the cloud game in a future time period, where the future time period is a time period with the same duration as the current time period; The change in the number of online users is numerically adjusted based on the number of online users of the cloud game during a historical time period; The resource dynamic adjustment module is configured to dynamically adjust the cloud computing resources allocated to the cloud game for preloading the game client based on the changes in the number of online users.
13. A computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the resource allocation method according to any one of claims 1 to 11.
14. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the resource allocation method of any one of claims 1 to 11 by executing the executable instructions.
15. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by the processor, they implement the resource allocation method as described in any one of claims 1 to 11.
Citation Information
Patent Citations
Virtual machine management method and system for online game application in heterogeneous cloud environment
CN112463386A