Bandwidth management method and system and medium
By allocating the maximum transmission bandwidth to cloud games and pre-transmitting the second game data required for future moments, the problem of cloud games occupying bandwidth due to other applications during data transmission is solved, and the smooth operation of cloud games is improved.
Patent Information
- Application Number
- CN202411503697.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-25
- Publication Date
- 2025-02-11
AI Technical Summary
During the data transmission process of cloud games, other applications in the client device occupy bandwidth, resulting in the inability to smoothly transmit game data between the server and the client device, reducing the smooth running of cloud games.
By determining the maximum transmission bandwidth required to transmit the cloud game and assigning the transmission resources of the maximum transmission bandwidth to the cloud game when the bandwidth required to transmit the maximum transmission bandwidth to the client device, the first game data currently required to transmit to the client device. and the second game data required in the future, so that the sum of the bandwidth required for the first game data and the bandwidth required for the second game data equals the maximum transmission bandwidth.
This avoids the problem that cloud games cannot obtain the required bandwidth resources due to bandwidth occupancy of other applications, ensures the normal and smooth transmission of cloud game data, and improves the smooth operation of cloud games.
Smart Images

Figure CN119421252A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of cloud gaming technology, and specifically relates to a bandwidth management method, system and medium. Background Art
[0002] Cloud gaming is a gaming method based on cloud computing. In the cloud gaming mode, all games are run on cloud servers, and the rendered game screens are compressed and transmitted back to the client device. The cloud gaming mode can reduce the performance burden of the client device, but in order to ensure that the data can be transmitted smoothly during the game, higher requirements are also placed on the network connection between the server and the client device.
[0003] Generally, the network channel can be expanded through a dual network channel method combining cellular network and wireless LAN to increase the bandwidth of network transmission and allocate the bandwidth currently required for cloud games. However, during the data transmission process of cloud games, the bandwidth of the network channel may be occupied by other applications running on the client device, and it may not be released in time to meet the bandwidth requirements of cloud games, resulting in the inability to smoothly transmit game data between the server and the client device. Therefore, the smoothness of cloud games will be reduced. Summary of the invention
[0004] In view of the above problems, the present disclosure is proposed. The present disclosure provides a bandwidth management method, system and medium, which can improve the running smoothness of cloud games.
[0005] According to one aspect of the present disclosure, a bandwidth management method is provided, which is applied to a server, and the method includes:
[0006] Determine the maximum transmission bandwidth required to stream cloud games;
[0007] When the bandwidth required by the cloud game is less than the maximum transmission bandwidth, allocating transmission resources of the maximum transmission bandwidth to the cloud game;
[0008] The currently required first game data and the future required second game data are transmitted to the client device, wherein the sum of the bandwidth required for the first game data and the bandwidth required for the second game data is equal to the maximum transmission bandwidth.
[0009] Optionally, when the bandwidth required for the cloud game is equal to the maximum transmission bandwidth, transmission of the second game data is stopped.
[0010] Optionally, the first game data includes currently required game video stream data and / or currently required first game resource data, and the second game data includes second game resource data required in the future.
[0011] Optionally, the transmitting the currently required first game data and the future required second game data to the client device includes:
[0012] Obtaining a transmission trend parameter of the first game data within a set historical time range before the current running time;
[0013] Based on the transmission trend parameter and the maximum transmission bandwidth, predicting a first bandwidth size that the second game data needs to occupy at the current running time and a second bandwidth size that the first game data needs to occupy at the current running time;
[0014] The second game data is transmitted to the client device using a bandwidth resource having a bandwidth size equal to the first bandwidth size, and the first game data is transmitted to the client device using a bandwidth resource having a bandwidth size equal to the second bandwidth size.
[0015] Optionally, the obtaining of the transmission trend parameter of the first game data within a set historical time range before the current running time includes:
[0016] Obtaining a temperature change of a graphics processor used to run the cloud game, where the temperature change is an absolute value of a difference between a temperature at an earliest moment and a temperature at a latest moment of the first game data within a set historical time range before the current running moment;
[0017] According to the temperature change, a transmission trend parameter of the first game data is calculated.
[0018] Optionally, the predicting, based on the transmission trend parameter and the maximum transmission bandwidth, a first bandwidth size that the second game data needs to occupy at the current running time and a second bandwidth size that the first game data needs to occupy at the current running time includes:
[0019] When the transmission trend parameter indicates that the transmission of the first game data has an increasing trend, obtaining the bandwidth size for transmitting the second game data at the previous moment, and reducing the transmission amount of the second game data according to the second bandwidth size and the maximum transmission bandwidth to obtain the first bandwidth size;
[0020] When the transmission trend parameter indicates that the transmission of the first game data has a decreasing trend, the bandwidth size for transmitting the second game data at the previous moment is obtained, and the transmission amount of the second game data is increased according to the second bandwidth size and the maximum transmission bandwidth to obtain the first bandwidth size.
[0021] According to another aspect of the present disclosure, a bandwidth management system is provided, the system comprising:
[0022] The server is used to execute any one of the bandwidth management methods described above;
[0023] The client device is used to receive the first game data and the second game data transmitted by the server.
[0024] According to another aspect of the present disclosure, a bandwidth management device is provided, the device comprising:
[0025] A determination module, used to determine the maximum transmission bandwidth required for transmitting cloud games;
[0026] an allocation module, configured to allocate transmission resources of the maximum transmission bandwidth to the cloud game when the bandwidth required by the cloud game is less than the maximum transmission bandwidth;
[0027] The transmission module is used to transmit the first game data currently required and the second game data required in the future to the client device, wherein the sum of the bandwidth required for the first game data and the bandwidth required for the second game data is equal to the maximum transmission bandwidth.
[0028] According to another aspect of the present disclosure, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-mentioned bandwidth management method.
[0029] According to another aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and the program is executed by a processor to implement the above-mentioned bandwidth management method.
[0030] According to another aspect of the present disclosure, a computer program product is provided, including a computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the method for implementing the above-mentioned bandwidth management.
[0031] In the present disclosure, the maximum transmission bandwidth required for transmitting cloud games is determined. When the bandwidth required for cloud games is less than the maximum transmission bandwidth, transmission resources with the maximum transmission bandwidth are allocated to cloud games. The first game data currently required and the second game data required in the future are transmitted to the client device, and the sum of the bandwidth required for the first game data and the bandwidth required in the future for the second game data is equal to the maximum transmission bandwidth. By allocating the maximum transmission bandwidth that may be required for cloud games and pre-transmitting the second game data required at a future moment, the problem of cloud games being unable to obtain the required bandwidth resources due to the occupation of transmission bandwidth resources by other applications is avoided, so that the game data of cloud games can be transmitted normally and smoothly. Therefore, the running smoothness of cloud games is improved.
[0032] It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the technology as claimed. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] The above and other purposes, features and advantages of the present disclosure will become more apparent by describing the embodiments of the present disclosure in more detail in conjunction with the accompanying drawings. The accompanying drawings are used to provide a further understanding of the embodiments of the present disclosure and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the present disclosure and do not constitute a limitation of the present disclosure. In the accompanying drawings, the same reference numerals generally represent the same components or steps.
[0034] Figure 1 A flow chart of a bandwidth management method provided by the present disclosure.
[0035] Figure 2 A schematic diagram of the maximum transmission bandwidth usage provided by the present disclosure.
[0036] Figure 3 A schematic diagram of the structure of a bandwidth management system provided by the present disclosure.
[0037] Figure 4 Another flow chart of a bandwidth management method provided by the present disclosure.
[0038] Figure 5 A schematic diagram of the structure of a bandwidth management device provided by the present disclosure.
[0039] Figure 6 A hardware block diagram of an electronic device provided by the present disclosure.
[0040] Figure 7 A schematic diagram of a computer program product provided by the present disclosure. DETAILED DESCRIPTION
[0041] In order to enable those skilled in the art to more clearly understand the technical solution of the present application, the application scenario of the solution of the present application is first described below.
[0042] Cloud gaming is a gaming method based on cloud computing. In the cloud gaming mode, all games are run on cloud servers, and the rendered game screens are compressed and transmitted back to the client device. The cloud gaming mode can reduce the performance burden of client devices, and for client devices, basic video playback and network connection functions are sufficient, without the need for high-performance processors and graphics cards. However, in order to ensure smooth data transmission during the game, higher requirements are also placed on the network connection between the server and the client device.
[0043] At present, the network channel can be expanded through the dual network channel method combining cellular network and wireless LAN, so as to increase the bandwidth of network transmission and allocate the bandwidth currently required for cloud games. However, during the data transmission process of cloud games, the bandwidth of the network channel may be occupied by other applications running on the client device, and it may not be released in time to meet the bandwidth requirements of cloud games, resulting in the inability to smoothly transmit game data between the server and the client device. Therefore, it will reduce the running smoothness of cloud games.
[0044] In order to solve the above technical problems, the present application provides a method, system and medium for bandwidth management. In the present disclosure, the maximum transmission bandwidth required for transmitting cloud games is determined. When the bandwidth required for cloud games is less than the maximum transmission bandwidth, transmission resources with the maximum transmission bandwidth are allocated to cloud games. The first game data currently required and the second game data required in the future are transmitted to the client device, and the sum of the bandwidth required for the first game data and the bandwidth required for the second game data in the future is equal to the maximum transmission bandwidth. By allocating the maximum transmission bandwidth that may be required for cloud games and pre-transmitting the second game data required at a future moment, the problem of cloud games being unable to obtain the required bandwidth resources due to the occupation of transmission bandwidth resources by other applications is avoided, so that the game data of cloud games can be transmitted normally and smoothly. Therefore, the running smoothness of cloud games is improved.
[0045] In order to make the purpose, technical solution and advantages of the present disclosure more obvious, the exemplary embodiments according to the present disclosure will be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all the embodiments of the present disclosure, and it should be understood that the present disclosure is not limited to the exemplary embodiments described here.
[0046] Figure 1 A flow chart of a bandwidth management method provided by the present disclosure. Figure 1 As shown, the method includes:
[0047] S101: Determine the maximum transmission bandwidth required for transmitting the cloud game.
[0048] Specifically, the server can pre-calculate the maximum transmission bandwidth required to transmit the cloud game during the operation of the cloud game through the resolution parameters and frame rate parameters in the clarity requirements of the cloud game. The size of the maximum transmission bandwidth is the bandwidth required to transmit the cloud game to the client device when the clarity requirements of the cloud game are met. In this way, when the server receives a request from the client device to run the cloud game, the maximum transmission bandwidth can be obtained. At each running moment of the cloud game, the bandwidth size of the maximum transmission bandwidth needs to be maintained for the transmission of the cloud game, so that the cloud game can be transmitted normally and smoothly.
[0049] For example, assuming that the resolution parameter of the cloud game is 2k, that is, the resolution width is 2560 and the resolution height is 1440; the frame rate is 30 frames; when the client device is a mobile device, the clarity factor can be set to 0.02, and the bandwidth requirement resource is 8.4375Mbps. In order to ensure that the maximum transmission bandwidth can provide stable bandwidth resources for cloud games, it can be increased on the basis of the bandwidth requirement resources to obtain the maximum transmission bandwidth. As in the above example, the total transmission bandwidth resources can be increased to 10Mbps. At each running moment of the cloud game, a bandwidth size of 10Mbps needs to be maintained for the transmission of the cloud game.
[0050] S102: When the bandwidth required by the cloud game is less than the maximum transmission bandwidth, transmission resources of the maximum transmission bandwidth are allocated to the cloud game.
[0051] Specifically, during the operation of cloud games, the amount of game data transmitted at each running moment may vary, and the required bandwidth may also vary. Continuously allocating transmission resources with the maximum transmission bandwidth to cloud games can avoid the problem of cloud games being unable to obtain the required bandwidth resources due to the occupation of transmission bandwidth resources by other applications.
[0052] S103: Transmitting the currently required first game data and the future required second game data to the client device, wherein the sum of the bandwidth required for the first game data and the bandwidth required for the second game data is equal to the maximum transmission bandwidth.
[0053] Specifically, at each running moment of the cloud game, the currently required first game data and the required second game data can be transmitted according to the transmission resources of the maximum transmission bandwidth allocated in S102. In this embodiment, it can be seen that when the bandwidth required for the cloud game is less than the maximum transmission bandwidth and greater than a preset threshold, the transmission amount of the second game data can be reduced, and the preset threshold is a value close to the maximum transmission bandwidth.
[0054] The first game data is the game data that the cloud game needs at the current runtime, but is also transmitted to the client device, and the second game data is the game data that the cloud game may need at the future runtime. The first game data includes the currently required game video stream data and / or the currently required first game resource data, and the second game data includes the second game resource data required in the future.
[0055] Game video stream data is data that is naturally generated during the running of cloud games as the game plot develops and the user's game operations. Game resource data is resource file data that cloud games may read and display as the game plot develops, such as static images, cutscene video clips, user archive data, etc. As can be seen from the above, the bandwidth resources required for game video stream data at the current running time are dynamic.
[0056] In the present disclosure, the maximum transmission bandwidth required for transmitting cloud games is determined. When the bandwidth required for cloud games is less than the maximum transmission bandwidth, transmission resources with the maximum transmission bandwidth are allocated to cloud games. The first game data currently required and the second game data required in the future are transmitted to the client device, and the sum of the bandwidth required for the first game data and the bandwidth required in the future for the second game data is equal to the maximum transmission bandwidth. By allocating the maximum transmission bandwidth that may be required for cloud games and pre-transmitting the second game data required at a future moment, the problem of cloud games being unable to obtain the required bandwidth resources due to the occupation of transmission bandwidth resources by other applications is avoided, so that the game data of cloud games can be transmitted normally and smoothly. Therefore, the running smoothness of cloud games is improved.
[0057] In a possible embodiment, when the bandwidth required for the cloud game is equal to the maximum transmission bandwidth, the transmission of the second game data is stopped.
[0058] Specifically, when the bandwidth required for cloud gaming is equal to the maximum transmission bandwidth, it means that the cloud gaming may be in a state of intense fighting scenes or complex rendering images, and the transmission volume of the first game data is large. At this time, the transmission of the second game data can be stopped, so that the first game data can occupy the maximum transmission bandwidth for data transmission, and keep the sum of the bandwidth required for the first game data and the bandwidth required for the second game data equal to the maximum transmission bandwidth.
[0059] In a possible embodiment, an exemplary method for transmitting currently required first game data and future required second game data to a client device includes:
[0060] The transmission trend parameters of the first game data within a set historical time range before the current running time are obtained.
[0061] Specifically, the transmission trend parameters of the first game data within a set historical range before the current running time can be used to determine whether the bandwidth resources required by the first game data at the current running time are increased or decreased compared to the bandwidth resources required by the first game data at the historical time. The transmission trend parameters of the first game data at the historical time can be used to predict the first bandwidth size that the second game data needs to occupy at the current running time and the second bandwidth size that the first game data needs to occupy at the current running time. In other words, the transmission trend parameters can be used to pre-determine whether the bandwidth resources required by the game resource data at the current running time are increased or decreased.
[0062] For example, obtaining the transmission trend parameter of the first game data within a set historical time range before the current running time includes:
[0063] Obtain the temperature change of the graphics processor used to run the cloud game; calculate the transmission trend parameter of the game video stream based on the temperature change.
[0064] Specifically, when each client device requests a cloud game, the server will allocate a virtual machine to run the cloud game, and each virtual machine corresponds to a graphics processor to drive the cloud game. During the operation of the cloud game, the temperature of the graphics processor will change with the increase or decrease of the game data. Therefore, the temperature change of the graphics processor can be obtained. The temperature change is the absolute value of the difference between the temperature at the earliest time and the temperature at the latest time of the first game data within the set historical time range before the current running time. The transmission trend parameter of the first game data is calculated based on the temperature change, which can be obtained according to the following formula:
[0065]
[0066] Among them, a is the transmission trend parameter of the first game data, Δt is the temperature change, and ΔT is the set historical time range.
[0067] For example, the historical time range is set to 1s. Within the set historical time range, the temperature of the graphics processor at the earliest moment is 61.2°C, and the temperature of the graphics processor at the latest moment is 62°C. The temperature change is 0.8°C, and the transmission trend parameter of the first game data is 0.8.
[0068] Based on the transmission trend parameter and the maximum transmission bandwidth, the first bandwidth size that the second game data needs to occupy at the current running time and the second bandwidth size that the first game data needs to occupy at the current running time are predicted.
[0069] Specifically, the first bandwidth size that the second game data needs to occupy can be calculated based on the predicted second bandwidth size and the maximum transmission bandwidth.
[0070] Afterwards, a bandwidth resource having a bandwidth size of the first bandwidth size is used to transmit the second game data to the client device, and a bandwidth resource having a bandwidth size of the second bandwidth size is used to transmit the first game data to the client device.
[0071] In a possible embodiment, based on the transmission trend parameter and the maximum transmission bandwidth, an exemplary method for predicting the first bandwidth size that the second game data needs to occupy at the current running time and the second bandwidth size that the first game data needs to occupy at the current running time includes:
[0072] When the transmission trend parameter indicates that the transmission of the first game data has an increasing trend, the bandwidth size of the second game data transmitted at the previous moment is obtained, and the transmission amount of the second game data is reduced according to the second bandwidth size and the maximum transmission bandwidth to obtain the first bandwidth size.
[0073] Specifically, according to the formula mentioned above, when the transmission trend parameter indicates that the transmission of the first game data has an increasing trend, the bandwidth resources for the second game data need to be reduced.
[0074] For example, assuming that the transmission trend parameter a≥0.5, it indicates that the transmission of the second game data has an increasing trend. At this time, according to the size limit of the maximum transmission bandwidth, it can be adjusted at a rate of 1Mbps per second to obtain the first bandwidth size that the second game data needs to occupy.
[0075] When the transmission trend parameter indicates that the transmission of the first game data has a decreasing trend, the bandwidth size of the second game data transmitted at the previous moment is obtained, and the transmission amount of the second game data is increased according to the second bandwidth size and the maximum transmission bandwidth to obtain the first bandwidth size.
[0076] Similarly, for example, assuming that the transmission trend parameter a<0.5, it indicates that the transmission of the first game data has a decreasing trend. At this time, in order to better utilize the maximum transmission bandwidth, it can be adjusted at a rate of 1Mbps per second to obtain the first bandwidth size that the second game data needs to occupy.
[0077] In addition, in a possible embodiment, an exemplary method for transmitting currently required first game data and future required second game data to a client device includes:
[0078] Obtain the actual transmission bandwidth used to transmit the first game data and the second game data at the moment before the current running moment. Calculate the difference between the actual transmission bandwidth and the maximum transmission bandwidth. Based on the difference and the actual bandwidth size of the second game data transmitted at the previous moment, predict the third bandwidth size that the second game data needs to occupy at the current running moment and the fourth bandwidth size that the first game data needs to occupy at the current running moment. Use bandwidth resources with a bandwidth size of the third bandwidth size to transmit the second game data to the client device, and use bandwidth resources with a bandwidth size of the fourth bandwidth size to transmit the first game data to the client device.
[0079] Specifically, during the operation of the cloud game, the client device can detect the actual transmission bandwidth used at the previous moment of the current operation. After obtaining the actual transmission bandwidth at the previous moment, the server calculates the difference between the maximum transmission bandwidth and the actual transmission bandwidth. In this way, the third bandwidth size that the second game data needs to occupy at the current operation moment can be predicted, so that the actual transmission bandwidth is closer to the maximum transmission bandwidth, avoiding the waste of the maximum transmission bandwidth, and using the bandwidth resources with a bandwidth size of the fourth bandwidth size to transmit the first game data to the client device.
[0080] In a possible embodiment, based on the difference and the actual bandwidth size for transmitting the second game data at the previous moment, an exemplary method for predicting the third bandwidth size that the second game data needs to occupy at the current running moment and the fourth bandwidth size that the first game data needs to occupy at the current running moment includes:
[0081] When the difference is smaller than the first preset threshold, the transmission amount of the second game data is reduced according to the actual bandwidth size for transmitting the second game data at the previous moment to obtain the third bandwidth size.
[0082] Specifically, a difference value less than the first preset threshold indicates that the actual transmission bandwidth is very close to the maximum transmission bandwidth. At this time, the historical actual bandwidth used by the second game data at the previous moment needs to be reduced to ensure that the actual transmission bandwidth remains close to the maximum transmission bandwidth.
[0083] For example, assuming that the first preset threshold is 0.5Mbps and the preset bandwidth is adjusted to 1Mbps, when the difference is 0.4Mbps, the historical actual bandwidth resources used by the second game data at the previous moment need to be adjusted to reduce the progress of 1Mbps per second, and the second bandwidth size is obtained.
[0084] When the difference is greater than or equal to the second preset threshold, the transmission amount of the second game data is increased according to the actual bandwidth size for transmitting the second game data at the previous moment to obtain a third bandwidth size.
[0085] Specifically, a difference greater than or equal to the second preset threshold indicates that the actual transmission bandwidth differs greatly from the maximum transmission bandwidth. In this case, the historical actual bandwidth resources used by the second game data at the previous moment need to be increased to avoid wasting the maximum transmission bandwidth.
[0086] For example, assuming that the second preset threshold is 4Mbps and the preset bandwidth is adjusted to 1Mbps, when the difference is 4Mbps, the historical actual bandwidth used by the second game data at the previous moment needs to be adjusted at a rate of 1Mbps per second to obtain the second bandwidth size.
[0087] When the difference is greater than or equal to the first preset threshold and less than the second preset threshold, the actual bandwidth size for transmitting the second game data at the previous moment is used as the third bandwidth size.
[0088] Specifically, when the difference is greater than or equal to the first preset threshold and less than the second preset threshold, it means that the utilization rate of the maximum transmission bandwidth at the previous moment is good, and there is no need to adjust the historical actual bandwidth used to transmit the second game data at the previous moment. The second bandwidth size can be maintained at the size of the historical actual bandwidth.
[0089] Figure 2 This is a schematic diagram of the maximum transmission bandwidth usage. Figure 2 As shown, the maximum transmission bandwidth is 6Mbps. As the bandwidth resources of the first game data change, the bandwidth resources of the second game data change accordingly. When the bandwidth resources of the first game data increase, the bandwidth resources of the second game data decrease; when the bandwidth resources of the first game data decrease, the bandwidth resources of the second game data increase; when the bandwidth resources of the first game data remain unchanged, the bandwidth resources of the second game data also remain unchanged.
[0090] Figure 3 The structure diagram of a bandwidth management system provided by the present disclosure is shown in FIG. Figure 3 As shown, the system 300 includes: a server 310 and a client device 320 .
[0091] Server 310, used to execute the bandwidth management method of any of the above embodiments;
[0092] The client device 320 is used to receive the first game data and the second game data transmitted by the server.
[0093] In a possible embodiment, the client device is used to:
[0094] Identify the tag type of the first game resource data included in the first game data from the server. If the tag type is transmitted, read the first game resource data from the client device and insert it into the first game data.
[0095] Specifically, before the server transmits the first game resource data or the second game data to the client device, the server can scan the first game resource data or the second game data of the cloud game and determine the transmission priority of each first game resource data or the second game data, as shown in Table 1.
[0096] Among them, considering that during the operation of cloud games, usually at the beginning of the game, the transmission volume of the game video stream data of the first game video is relatively small, therefore, the first game resource data or the second game data with a larger file size can be transmitted first. The transmission priority can be determined according to the size of the first game resource data or the second game data, and the larger the file, the higher the priority.
[0097] Table 1 Game resource data registration table
[0098] Full file name File size Transmission priority Is the transfer completed? / data / app / kc.mp4 25 2 no / data / app / zcrw.mp4 32 1 no / data / app / jsqz.mp4 16 3 no / data / app / rwbj.jpg 2 5 no / data / app / sr / hl.jpg 3 4 no / data / app / hsk.jpg 1 6 no
[0099] After the first game resource data or the second game data is transmitted to the client device, the client device can store the first game resource data or the second game data locally. In this way, when the first game resource data or the second game data is used again in the cloud game later, the storage of the client device can be directly called without the need for the server to transmit again, thus avoiding the waste of network resources caused by the transmission of the first game resource data or the second game data.
[0100] Furthermore, when the server transmits the first game data, if it is found that the first game resource data called therein has been transmitted to the client device, the corresponding node in the first game data can be marked. When the first game data is transmitted to the client device, the client device reads the mark and can directly read it from the local call and insert it into the mark to form the complete first game data.
[0101] In a possible embodiment, the client device is used to:
[0102] Obtain a cache parameter of the first game resource data or the second game data included in the stored first game data, wherein the cache parameter represents a mapping relationship between the number of reads of the first game resource data or the second game data and the most recent read time. When the cache parameter is less than a third preset threshold, delete the first game resource data or the second game data, and notify the server to modify the tag type of the first game resource data or the second game data to not transmitted.
[0103] Specifically, as the game progresses, the server transmits more and more first game resource data or second game data to the client device, which may occupy a large amount of local storage resources. At this time, the number of reads and the read time of the first game resource data or the second game data stored locally can be judged, and the game resource data can be cleaned up to reduce the storage load of the client device. The read time of each first game resource data or second game data can be obtained, and a value can be assigned according to the read time, and a weighted evaluation can be performed in combination with the number of reads to obtain a cache parameter. According to the cache parameter, it is determined whether the first game resource data or the second game data needs to be cleaned up.
[0104] For example, if the reading time of the first game resource data or the second game data is within 1 hour, the value is 5; if the reading time is between 1 and 2 hours, the value is 4; and so on, the value between t-1 and t hours is 6-t. Assuming the number of readings is r, the retention weight of the file is 6-t+r, which is the cache parameter. When the cache parameter is less than 0, the first game resource data or the second game data is cleaned up, and the server is notified to set the first game resource data or the second game data as unfinished transmission.
[0105] Figure 4 Another flow chart of a bandwidth management method provided by the present disclosure. Figure 4 As shown, the method includes:
[0106] S401: Determine the transmission order of all game resource data of the cloud game.
[0107] The server can scan all the game resource data of the cloud game and determine the transmission priority of each game resource data. The game resource data can be transmitted sequentially according to the transmission priority.
[0108] S402: Obtain a running request for a cloud game, and obtain a maximum transmission resource reserved for the cloud game at the current running time.
[0109] Specifically, the server can pre-calculate the maximum transmission resource required during the operation of the cloud game. The size of the maximum transmission resource is the bandwidth required to transmit the game data of the cloud game to the client device while meeting the definition requirements of the cloud game, so that the game data of the cloud game can be transmitted normally and smoothly.
[0110] S403: Transmitting currently required game video stream data and future required game resource data to the client device.
[0111] Specifically, the target bandwidth required for the game resource data can be determined based on the transmission trend of the game video stream data, whether the game video stream data is about to increase or decrease, and the difference between the actual transmission bandwidth and the maximum transmission resource. The target bandwidth is used as the actual bandwidth resource for transmitting the game resource data.
[0112] S404: Transmitting game resource data to the client device according to actual bandwidth resources.
[0113] Game resource data is transmitted to the client device according to the actual bandwidth resources to ensure that the game data of the cloud game can be transmitted normally and smoothly.
[0114] Figure 5 A schematic diagram of a bandwidth management device provided by the present disclosure is shown in FIG. Figure 5 The device 500 includes: a determination module 510, an allocation module 520 and a transmission module 530;
[0115] A determination module 510 is used to determine the maximum transmission bandwidth required for transmitting the cloud game;
[0116] An allocation module 520, configured to allocate transmission resources of the maximum transmission bandwidth to the cloud game when the bandwidth required by the cloud game is less than the maximum transmission bandwidth;
[0117] The transmission module 530 is used to transmit the first game data currently required and the second game data required in the future to the client device, wherein the sum of the bandwidth required for the first game data and the bandwidth required for the second game data is equal to the maximum transmission bandwidth.
[0118] Optionally, the device is used to:
[0119] When the bandwidth required for the cloud game is equal to the maximum transmission bandwidth, stop transmitting the second game data.
[0120] Optionally, the first game data in the device includes currently required game video stream data and / or currently required first game resource data, and the second game data includes second game resource data required in the future.
[0121] Optionally, the transmission module is used to:
[0122] Obtaining a transmission trend parameter of the first game data within a set historical time range before the current running time;
[0123] Based on the transmission trend parameter and the maximum transmission bandwidth, predicting a first bandwidth size that the second game data needs to occupy at the current running time and a second bandwidth size that the first game data needs to occupy at the current running time;
[0124] The second game data is transmitted to the client device using a bandwidth resource having a bandwidth size equal to the first bandwidth size, and the first game data is transmitted to the client device using a bandwidth resource having a bandwidth size equal to the second bandwidth size.
[0125] Optionally, the transmission module is used to:
[0126] Obtaining a temperature change of a graphics processor used to run the cloud game, where the temperature change is an absolute value of a difference between a temperature at an earliest moment and a temperature at a latest moment of the first game data within a set historical time range before the current running moment;
[0127] According to the temperature change, a transmission trend parameter of the first game data is calculated.
[0128] Optionally, the transmission module is used to:
[0129] When the transmission trend parameter indicates that the transmission of the first game data has an increasing trend, obtaining the bandwidth size for transmitting the second game data at the previous moment, and reducing the transmission amount of the second game data according to the second bandwidth size and the maximum transmission bandwidth to obtain the first bandwidth size;
[0130] When the transmission trend parameter indicates that the transmission of the first game data has a decreasing trend, the bandwidth size for transmitting the second game data at the previous moment is obtained, and the transmission amount of the second game data is increased according to the second bandwidth size and the maximum transmission bandwidth to obtain the first bandwidth size.
[0131] The present application also provides an electronic device to perform the above bandwidth management method. Figure 6 It shows a schematic diagram of an electronic device provided by some embodiments of the present application. Figure 6 As shown, the electronic device 60 includes: a processor 600, a memory 601, a bus 602 and a communication interface 603, wherein the processor 600, the communication interface 603 and the memory 601 are connected via the bus 602; the memory 601 stores a computer program that can be run on the processor 600, and when the processor 600 runs the computer program, the bandwidth management method provided in any of the aforementioned embodiments of the present application is executed.
[0132] The memory 601 may include a high-speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk storage. The communication connection between the device network element and at least one other network element is realized through at least one communication interface 603 (which may be wired or wireless), and the Internet, wide area network, local area network, metropolitan area network, etc. may be used.
[0133] The bus 602 may be an ISA bus, a PCI bus, or an EISA bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. The memory 601 is used to store programs, and the processor 600 executes the programs after receiving execution instructions. The bandwidth management method disclosed in any implementation of the above-mentioned embodiment of the present application may be applied to the processor 600, or implemented by the processor 600.
[0134] The processor 600 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the processor 600. The above processor 600 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to be executed, or the hardware and software modules in the decoding processor can be executed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 601, and the processor 600 reads the information in the memory 601 and completes the steps of the above method in combination with its hardware.
[0135] The electronic device provided in the embodiment of the present application and the bandwidth management method provided in the embodiment of the present application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented therein.
[0136] An embodiment of the present application also provides a computer-readable storage medium corresponding to the bandwidth management method provided in the aforementioned embodiment. The computer-readable storage medium shown may be a CD on which a computer program is stored. When the computer program is executed by a processor, the bandwidth management method provided in any of the aforementioned embodiments is executed.
[0137] It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical or magnetic storage media, which are not listed here one by one.
[0138] The computer-readable storage medium provided in the above-mentioned embodiment of the present application and the bandwidth management method provided in the embodiment of the present application are based on the same inventive concept and have the same beneficial effects as the method adopted, run or implemented by the application program stored therein.
[0139] The present application embodiment also provides a computer program product 700, such as Figure 7 The computer program product carries a computer program 701, and the instructions included in the program code can be used to execute the steps of the bandwidth management method described in the above method embodiment. For details, please refer to the above method embodiment, which will not be repeated here.
[0140] The computer program product may be implemented in hardware, software or a combination thereof. In one optional embodiment, the computer program product is implemented as a computer storage medium. In another optional embodiment, the computer program product is implemented as a software product, such as a software development kit (SDK).
[0141] The basic principles of the present disclosure are described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, effects, etc. mentioned in the present disclosure are only examples and not limitations, and it cannot be considered that these advantages, strengths, effects, etc. are required by each embodiment of the present disclosure. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, and are not limitations. The above details do not limit the present disclosure to the necessity of adopting the above specific details to be implemented.
[0142] The block diagrams of the devices, apparatuses, equipment, and systems involved in this disclosure are only illustrative examples and are not intended to require or imply that they must be connected, arranged, and configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, apparatuses, equipment, and systems can be connected, arranged, and configured in any manner. Words such as "including," "comprising," "having," and the like are open words, referring to "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or," and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.
[0143] Additionally, as used herein, "or" used in a list of items beginning with "at least one" indicates a separate list, so that, for example, a list of "at least one of A, B, or C" means A or B or C, or AB or AC or BC, or ABC (i.e., A and B and C). Furthermore, the word "exemplary" does not mean that the example described is preferred or better than other examples.
[0144] It should be noted that in the description provided herein, a large number of specific details are provided. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known structures and techniques are not shown in detail so as not to obscure the understanding of this description.
[0145] Similarly, it should be understood that in order to streamline the present application and help understand one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present application, the various features of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be interpreted as reflecting the following schematic diagram: the claimed application requires more features than the features clearly stated in each claim. More specifically, as reflected in the claims below, the inventive aspects are less than all the features of the single embodiment disclosed above. Therefore, the claims following the specific embodiment are hereby expressly incorporated into the specific embodiment, wherein each claim itself serves as a separate embodiment of the present application.
[0146] It should also be noted that in the system and method of the present disclosure, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present disclosure.
[0147] Various changes, substitutions, and modifications of the techniques described herein may be made without departing from the teachings defined by the appended claims. Furthermore, the scope of the claims of the present disclosure is not limited to the specific aspects of the processes, machines, manufactures, compositions of events, means, methods, and actions described above. Currently existing or later to be developed processes, machines, manufactures, compositions of events, means, methods, or actions that perform substantially the same functions or achieve substantially the same results as the corresponding aspects described herein may be utilized. Thus, the appended claims include such processes, machines, manufactures, compositions of events, means, methods, or actions within their scope.
[0148] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.
[0149] In addition, those skilled in the art will appreciate that, although some embodiments described herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the present application and form different embodiments. For example, in the claims below, any one of the claimed embodiments may be used in any combination.
[0150] The above description is only a preferred specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a technician familiar with the technical field within the technical scope disclosed in the present application should be included in the protection scope of the present application. The above description has been given for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A bandwidth management method, characterized in that: Applied to a server, the method comprises: Determine the maximum transmission bandwidth required to stream cloud games; When the bandwidth required by the cloud game is less than the maximum transmission bandwidth, allocating transmission resources of the maximum transmission bandwidth to the cloud game; The currently required first game data and the future required second game data are transmitted to the client device, wherein the sum of the bandwidth required for the first game data and the bandwidth required for the second game data is equal to the maximum transmission bandwidth.
2. The method according to claim 1, characterized in that When the bandwidth required for the cloud game is equal to the maximum transmission bandwidth, stop transmitting the second game data.
3. The method according to claim 1 or 2, characterized in that: The first game data includes currently required game video stream data and / or currently required first game resource data, and the second game data includes second game resource data required in the future.
4. The method according to claim 1, characterized in that The transmitting the currently required first game data and the future required second game data to the client device comprises: Obtaining a transmission trend parameter of the first game data within a set historical time range before the current running time; Based on the transmission trend parameter and the maximum transmission bandwidth, predicting a first bandwidth size that the second game data needs to occupy at the current running time and a second bandwidth size that the first game data needs to occupy at the current running time; The second game data is transmitted to the client device using a bandwidth resource having a bandwidth size equal to the first bandwidth size, and the first game data is transmitted to the client device using a bandwidth resource having a bandwidth size equal to the second bandwidth size.
5. The method according to claim 4, characterized in that The obtaining of the transmission trend parameter of the first game data within a set historical time range before the current running time includes: Obtaining a temperature change of a graphics processor used to run the cloud game, where the temperature change is an absolute value of a difference between a temperature at an earliest moment and a temperature at a latest moment of the first game data within a set historical time range before the current running moment; According to the temperature change, a transmission trend parameter of the first game data is calculated.
6. The method according to claim 4, characterized in that The predicting, based on the transmission trend parameter and the maximum transmission bandwidth, the first bandwidth size that the second game data needs to occupy at the current running time and the second bandwidth size that the first game data needs to occupy at the current running time includes: When the transmission trend parameter indicates that the transmission of the first game data has an increasing trend, obtaining the bandwidth size for transmitting the second game data at the previous moment, and reducing the transmission amount of the second game data according to the second bandwidth size and the maximum transmission bandwidth to obtain the first bandwidth size; When the transmission trend parameter indicates that the transmission of the first game data has a decreasing trend, the bandwidth size for transmitting the second game data at the previous moment is obtained, and the transmission amount of the second game data is increased according to the second bandwidth size and the maximum transmission bandwidth to obtain the first bandwidth size.
7. A bandwidth management system, characterized in that: include: Server and client devices; The server is used to execute the method described in any one of claims 1 to 6 above; The client device is used to receive the first game data and the second game data transmitted by the server.
8. The system according to claim 7, characterized in that The client device is used to: Identify a tag type of first game resource data included in the first game data from the server; In a case where the tag type is transmitted, the first game resource data is read from the client device and inserted into the first game data.
9. The system according to claim 7, characterized in that The client device is used to: Acquire a cache parameter of the first game resource data or the second game data included in the first game data, wherein the cache parameter represents a mapping relationship between the number of times the first game resource data or the second game data is read and the most recent reading time; When the cache parameter is less than a third preset threshold, the first game resource data or the second game data is deleted, and the server is notified to modify the tag type of the first game resource data or the second game data to not transmitted.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: The program is executed by a processor to implement the method according to any one of claims 1 to 6.