Cloud game processing method and device, computer equipment, medium and program product
By detecting and dynamically allocating the data transmission capabilities of cloud game clients, the problem of playing and downloading while cloud games is solved, and efficient download of game resources without affecting the game experience is achieved.
Patent Information
- Application Number
- CN202410047202.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-10
- Publication Date
- 2025-07-11
AI Technical Summary
In cloud games, how to download game resources without affecting the existing cloud game play experience, especially how to play while playing.
By detecting the data transmission capabilities of cloud game clients, obtaining transmission capability information and resource requirements information, dynamically allocating download resource information, and reasonably allocating data transmission capabilities to achieve downloading of game resources.
Without affecting the cloud game game experience, efficient download of game resources is achieved, the utilization of data transmission capabilities is optimized, and the quality of game experience is improved.
Smart Images

Figure CN120301923A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, in particular to the field of cloud gaming technology, and specifically to a method, device, computer equipment, medium, and program product for processing cloud gaming. Background Art
[0002] With the development of computer technology, the emergence of cloud games has brought a new gaming experience to gamers. When gamers play cloud games through cloud game clients, the requirements for data transmission capabilities are high. In some types of cloud games, the cloud server needs to transmit the media stream used to present the game screen of the cloud game to the cloud game client. Strong data transmission capabilities can improve the transmission bit rate of the media stream and the picture quality of the game screen, bringing gamers a high bit rate and high-quality gaming experience. At the same time, gamers may have the need to download game resources during the process of playing cloud games. Downloading game resources requires a certain amount of data transmission capacity. Therefore, how to download game resources without affecting the existing cloud game playing experience, that is, how to play and download without affecting the existing cloud game playing experience, has become a current research hotspot. Summary of the invention
[0003] The embodiments of the present application provide a method, apparatus, computer equipment, medium, and program product for processing cloud games, which can enable downloading while playing without affecting the existing cloud game playing experience.
[0004] On the one hand, an embodiment of the present application provides a method for processing a cloud game, and the method for processing a cloud game includes:
[0005] During the process of the cloud game client running the target cloud game, the data transmission capacity of the cloud game client is detected to obtain the transmission capacity information of the cloud game client; the transmission capacity information is used to indicate the upper limit of the data transmission capacity of the cloud game client;
[0006] Obtaining the transmission resource information required by the cloud game client to run the target cloud game; the transmission resource information is used to indicate the data transmission capacity required by the cloud game client to run the target cloud game;
[0007] Based on the transmission capability information and the transmission resource information, download resource information is allocated for the game resources that the cloud game client needs to download; the download resource information is used to indicate the data transmission capability required by the cloud game client to download the game resources;
[0008] The download resource information is sent to the cloud game client, so that the cloud game client downloads the game resources based on the download resource information.
[0009] Correspondingly, an embodiment of the present application provides a processing device for cloud games. The processing device for cloud games is disposed in a cloud server, and the processing device for cloud games includes:
[0010] A processing unit, configured to detect the data transmission capability of a cloud game client during the running of a target cloud game, so as to obtain the transmission capability information of the cloud game client; the transmission capability information is used to indicate the upper limit of the data transmission capability of the cloud game client;
[0011] The processing unit is further configured to obtain the transmission resource information required for the cloud game client to run the target cloud game; the transmission resource information is used to indicate the data transmission capability required for the cloud game client to run the target cloud game;
[0012] The processing unit is further configured to allocate download resource information for the game resources to be downloaded by the cloud game client based on the transmission capability information and the transmission resource information; the download resource information is used to indicate the data transmission capability required for the cloud game client to download the game resources;
[0013] A communication unit, configured to send the download resource information to the cloud game client, so that the cloud game client downloads the game resources based on the download resource information.
[0014] In one implementation, the detection of the data transmission capability of the cloud game client and the allocation of the download resource information for the game resources to be downloaded by the cloud game client are dynamically performed according to a time period;
[0015] When the processing unit is configured to detect the data transmission capability of the cloud game client to obtain the transmission capability information of the cloud game client, it is specifically configured to perform the following steps:
[0016] During the current time period, detect the data transmission capability of the cloud game client to obtain the transmission capability information of the cloud game client during the current time period;
[0017] When the processing unit is configured to allocate download resource information for the game resources to be downloaded by the cloud game client based on the transmission capability information and the transmission resource information, it is specifically configured to perform the following steps:
[0018] Allocate download resource information for the game resources to be downloaded by the cloud game client in the next time period based on the transmission capability information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period;
[0019] Among them, the cloud game client downloads the game resources based on the download resource information, including: the cloud game client downloads the game resources based on the download resource information of the next time period in the next time period.
[0020] In one implementation, the processing unit is further configured to perform the following steps:
[0021] Obtain the time length of the next time period;
[0022] Use the time length of the next time period as the download time of the next time period;
[0023] The communication unit is further configured to perform the following steps:
[0024] Send the download time of the next time period to the cloud game client, so that the cloud game client can download game resources based on the download resource information and the download time of the next time period within the next time period.
[0025] In one implementation, during the running of the target cloud game on the cloud game client, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames; when the processing unit is used to obtain the time length of the next time period, it is specifically configured to perform the following steps:
[0026] Obtain the transmission quality information of the video frames corresponding to the target cloud game within the current time period;
[0027] Adjust the reference time length according to the transmission quality information to obtain the time length of the next time period;
[0028] Wherein, the transmission quality information of the video frames within the current time period includes at least one of the following: packet loss information of the video frames within the current time period and delay information of the video frames within the current time period.
[0029] In one implementation, during the running of the target cloud game on the cloud game client, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames, and the video frames are divided into multiple data shards and sent to the cloud game client, and the cloud game client returns the shard confirmation information corresponding to each data shard received;
[0030] When the processing unit is used to detect the data transmission ability of the cloud game client within the current time period to obtain the transmission ability information of the cloud game client within the current time period, it is specifically configured to perform the following steps:
[0031] Send data shards to the cloud game client within the current time period;
[0032] Count the target number of shard confirmation information received within the current time period;
[0033] Calculate the transmission ability information of the cloud game client within the current time period according to the target number, the shard data volume of the data shards, and the time length of the current time period.
[0034] In one implementation, during the process of running the target cloud game on the cloud game client, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames. The video frames at least include video frames of a first type and video frames of a second type, and the data volume of the video frames of the first type is greater than that of the video frames of the second type;
[0035] The processing unit is configured to, when allocating download resource information for the game resources to be downloaded by the cloud game client in the next time period based on the transmission capability information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period, specifically perform the following steps:
[0036] Determine the remaining resource information of the cloud game client in the next time period according to the transmission capability information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period; the remaining resource information is used to indicate the remaining data transmission capability of the cloud game client after reserving the data transmission capability required for the cloud game client to run the target cloud game in the next time period;
[0037] Reserve the resource information required for transmitting the video frames of the first type in the remaining resource information of the cloud game client in the next time period to obtain the download resource information required for the cloud game client to download game resources in the next time period.
[0038] In one implementation, the processing unit is configured to, when obtaining the transmission resource information required for the cloud game client to run the target cloud game, specifically perform the following steps:
[0039] Obtain the picture quality requirement information of the target cloud game;
[0040] Determine the transmission resource information corresponding to the picture quality requirement information according to the picture quality requirement information.
[0041] On the other hand, an embodiment of the present application provides a processing method for cloud games. The processing method for cloud games includes:
[0042] Receive the download resource information allocated by the cloud server for the game resources that the cloud game client needs to download. The download resource information is used to indicate the data transmission capability required for the cloud game client to download the game resources. The download resource information is allocated for the game resources that the cloud game client needs to download based on the transmission capability information of the cloud game client and the transmission resource information required for the cloud game client to run the target cloud game. The transmission capability information is detected during the process of the cloud game client running the target cloud game, and the transmission capability information is used to indicate the upper limit of the data transmission capability of the cloud game client. The transmission resource information is used to indicate the data transmission capability required for the cloud game client to run the target cloud game.
[0043] Download the game resources based on the download resource information.
[0044] Correspondingly, an embodiment of the present application provides a processing device for cloud games. The processing device for cloud games is set in the cloud game client. The processing device for cloud games includes:
[0045] A communication unit, configured to receive the download resource information allocated by the cloud server for the game resources that the cloud game client needs to download. The download resource information is used to indicate the data transmission capability required for the cloud game client to download the game resources. The download resource information is allocated for the game resources that the cloud game client needs to download based on the transmission capability information of the cloud game client and the transmission resource information required for the cloud game client to run the target cloud game. The transmission capability information is detected during the process of the cloud game client running the target cloud game, and the transmission capability information is used to indicate the upper limit of the data transmission capability of the cloud game client. The transmission resource information is used to indicate the data transmission capability required for the cloud game client to run the target cloud game.
[0046] A processing unit, configured to download the game resources based on the download resource information.
[0047] In one implementation, the cloud server dynamically detects the data transmission ability of the cloud game client and allocates download resource information for the game resources to be downloaded by the cloud game client according to a time period; the transmission ability information of the cloud game client includes the transmission ability information of the cloud game client within the current time period, and the transmission ability information of the cloud game client within the current time period is detected by the cloud server for the data transmission ability of the cloud game client within the current time period; the download resource information of the cloud game client includes the download resource information of the cloud game client in the next time period, and the download resource information of the cloud game client in the next time period is allocated by the cloud server for the game resources to be downloaded by the cloud game client in the next time period based on the transmission ability information of the cloud game client within the current time period and the transmission resource information of the cloud game client in the next time period;
[0048] The communication unit is further configured to receive the download time of the next time period from the cloud server;
[0049] When the processing unit is configured to download game resources based on the download resource information, it is specifically configured to perform the following steps:
[0050] Download game resources in the next time period based on the download resource information of the next time period and the download time of the next time period.
[0051] In one implementation, when the processing unit is configured to download game resources in the next time period based on the download resource information of the next time period and the download time of the next time period, it is specifically configured to perform the following steps:
[0052] Determine the download control parameters of the next time period according to the download resource information of the next time period and the download time of the next time period;
[0053] Send the download control parameters of the next time period to the data download server, so that the data download server transmits the game resources to the cloud game client in the next time period based on the download control parameters of the next time period.
[0054] In one implementation, the download control parameters include a download data volume control parameter and a download rate control parameter; when the processing unit is configured to determine the download control parameters of the next time period according to the download resource information of the next time period and the download time of the next time period, it is specifically configured to perform the following steps:
[0055] Determine the download data volume control parameter of the next time period according to the download resource information of the next time period and the download time of the next time period;
[0056] Obtain the delay information of the data download server;
[0057] Determine the download rate control parameter for the next time period according to the download resource information for the next time period and the latency information of the data download server;
[0058] Among them, the download data volume control parameter for the next time period is used to control the download data volume of game resources in the next time period; the download rate control parameter for the next time period is used to control the download rate of game resources in the next time period.
[0059] In one implementation, when the processing unit is used to determine the download rate control parameter for the next time period according to the download resource information for the next time period and the latency information of the data download server, it is specifically used to perform the following steps:
[0060] Obtain the actual throughput threshold for the current time period and the expected throughput threshold for the current time period; the actual throughput threshold for the current time period refers to the actual downloaded data volume of game resources in the current time period, and the expected throughput threshold for the current time period refers to the expected downloaded data volume of game resources in the current time period;
[0061] Determine the rate adjustment factor for the next time period according to the actual throughput threshold for the current time period and the expected throughput threshold for the current time period;
[0062] Determine the download rate control parameter for the next time period according to the download resource information for the next time period, the latency information of the data download server, and the rate adjustment factor for the next time period.
[0063] In one implementation, the game resources include a first cloud game or an ordinary online game, and an ordinary online game refers to an online game that is not a cloud game; the first cloud game and the target cloud game are the same cloud game or different cloud games; when the processing unit is used to download the game resources based on the download resource information, it is specifically used to perform any one of the following:
[0064] Download the game installation file of the game resources based on the download resource information;
[0065] Download the game resources of the game resources based on the download resource information.
[0066] Correspondingly, an embodiment of the present application provides a computer device, and the computer device includes:
[0067] A processor, adapted to implement a computer program;
[0068] A computer-readable storage medium, the computer-readable storage medium stores a computer program, and the computer program is adapted to be loaded and executed by the processor to perform the above-mentioned processing method of cloud games.
[0069] Accordingly, an embodiment of the present application provides a computer-readable storage medium storing a computer program. When the computer program is read and executed by a processor of a computer device, the computer device is caused to execute the above-described processing method for cloud games.
[0070] Accordingly, an embodiment of the present application provides a computer program product including a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, causing the computer device to execute the above-described processing method for cloud games.
[0071] In an embodiment of the present application, after detecting the upper limit of the data transmission capacity of the cloud game client, the upper limit of the data transmission capacity of the cloud game client can be reasonably allocated, including the data transmission capacity required for the cloud game client to run the target cloud game and the data transmission capacity required for the cloud game client to download game resources. Thus, the cloud game client can run the target cloud game based on the data transmission capacity required to run the target cloud game, and the cloud game client can download game resources based on the data transmission capacity required to download game resources. This can achieve downloading while playing without affecting the existing cloud game playing experience. Downloading while playing specifically means that during the process of the cloud game client running a cloud game, game resources are downloaded concurrently. BRIEF DESCRIPTION OF THE DRAWINGS
[0072] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0073] Figure 1 is a schematic diagram of the architecture of a cloud game processing system provided by an embodiment of the present application;
[0074] Figure 2 is a schematic diagram of the architecture of another cloud game processing system provided by an embodiment of the present application;
[0075] Figure 3 is a schematic diagram of the process of the downloading-while-playing scenario of a cloud game provided by an embodiment of the present application;
[0076] Figure 4 is a schematic diagram of a triggering method for downloading game resources provided by an embodiment of the present application;
[0077] Figure 5It is a schematic diagram of another triggering method for downloading game resources provided by an embodiment of the present application;
[0078] Figure 6 It is a schematic flowchart of a processing method for cloud games provided by an embodiment of the present application;
[0079] Figure 7 It is a schematic diagram of dynamic detection and transmission of data transmission capabilities provided by an embodiment of the present application;
[0080] Figure 8 It is a schematic flowchart of another processing method for cloud games provided by an embodiment of the present application;
[0081] Figure 9 It is a schematic flowchart of yet another processing method for cloud games provided by an embodiment of the present application;
[0082] Figure 10 It is a schematic structural diagram of a processing device for cloud games provided by an embodiment of the present application;
[0083] Figure 11 It is a schematic structural diagram of a computer device provided by an embodiment of the present application. Detailed implementation manners
[0084] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0085] In order to be able to more clearly understand the technical solutions provided by the embodiments of the present application, some technical terms involved in the embodiments of the present application will be introduced here first.
[0086] (1) Game:
[0087] A game refers to an electronic game product. An electronic game is an interactive game that runs on an electronic device platform. Electronic games can include single-player games and online games. Among them, a single-player game is an electronic game that can run independently using a single computer or other game platform, and a single-player game can run normally without a game server. An online game, also known as an online game, generally refers to a sustainable individual multi-player online game that uses the Internet as a communication medium, uses a game server (GameServer) and player terminals as game processing devices, and uses a game client (Game Client) running on the player terminal as an information interaction window, aiming to achieve entertainment, leisure, communication, and virtual achievements; a game client is a program that provides local game services for game players (game players refer to the objects playing the game) participating in online games corresponding to the game server; a game server is a service device that provides data calculation, verification, storage, and forwarding functions for the game client. For online games, the embodiments of the present application do not limit the game types of online games; for example, an online game can be a cloud game, or an online game can be an ordinary online game.
[0088] Among them, cloud gaming, also known as gaming on demand, refers to a game in which game instances are deployed in the cloud and run on a game server (specifically, the game server here refers to a cloud server); that is, in the cloud gaming scenario, all cloud games do not run in the cloud game client on the player terminal (the cloud game client refers to the game client used by game players to play cloud games), but run on the game server. The game server compresses and encodes the game screen and game audio in the cloud game into a media stream, and then transmits the media stream to the cloud game client in the player terminal through the network for image display and audio playback; specifically, the game screen can be encoded into a video stream, the game audio can be encoded into an audio stream, and the video stream and audio stream are transmitted to the cloud game client in the form of a media stream, and the cloud game client presents the game screen and plays the game audio.
[0089] It can be seen that the cloud game client does not need to have powerful graphics processing and data operation capabilities, and only needs to have basic media stream playback capabilities, as well as the ability to obtain the operation instructions input by the game player and send the operation instructions input by the game player to the game server. When the game player performs various operations in the game interface of the cloud game client, the cloud game client will report the operation data generated by these operations to the game server, and the game server will refresh the game screen of the cloud game according to the operation data in the corresponding cloud game, and then return the refreshed game screen to the cloud game client for display to realize the play of the cloud game.
[0090] The cloud game described in the above content is a cloud game that transmits game screens in the form of media streams. In addition, the technical implementation of cloud games can also include the form of instruction streams. An instruction stream means that the game server transmits the rendering instructions of the cloud game to the cloud game client, and the cloud game client uses the graphics card of the player's terminal for rendering and then displays the game screen.
[0091] An ordinary online game refers to a game that runs directly in the game client installed in the player's terminal. That is to say, the difference between an ordinary online game and a cloud game is that an ordinary online game runs in the game client installed in the player's terminal, while a cloud game runs in the game server, and the cloud game client is responsible for presenting the game screen, playing the game audio, and receiving the operation instructions input by the game player.
[0092] (2) Download while playing:
[0093] Game players play cloud games through the cloud game client. Downloading while playing means that during the process of running the cloud game, the cloud game client concurrently downloads game resources. Game resources can specifically include game installation resources or game rendering resources; game installation resources can also be referred to as game installation files or game installation packages, which are resources used to install games; game rendering resources are resources used to render game screens. For example, game rendering resources can include, but are not limited to, the dressing resources of game characters, map resources, and equipment resources.
[0094] (3) Data transmission capacity:
[0095] Data transmission capacity refers to the data load capacity of the cloud game client or the throughput rate of the cloud game client. Specifically, it refers to the bandwidth of the cloud game client. The bandwidth of the cloud game client refers to the amount of data transmitted by the cloud game client per unit time, that is, the data transmission rate of the cloud game client.
[0096] Combined with the above introduction of technical terms such as games, downloading while playing, and data transmission capabilities, in the scenario of downloading while playing cloud games, both running cloud games and downloading game resources by the cloud game client require a large data transmission capacity. However, the data transmission capacity of the cloud game client is limited, and there will be a certain conflict in the allocation of the data transmission capacity between the two. Based on this, the embodiments of the present application propose a processing method for cloud games. This processing method for cloud games is an intelligent download control scheme applied to the scenario of downloading while playing cloud games. This processing method for cloud games can combine the data transmission capacity required for cloud game transmission, the data transmission capacity required for downloading game resources, and the real-time data transmission capacity limit of the cloud game client to reasonably allocate the data transmission capacity, so as to ensure that game players can experience cloud games with high bitrates and high image qualities through the cloud game client, and on the basis of not reducing the existing cloud game playing experience, make the most of the idle data transmission capacity of the cloud game client to complete the download of game resources as soon as possible.
[0097] Compared with the fixed speed limit scheme (the fixed speed limit scheme refers to implementing the limit of the download speed through static configuration. This download speed is usually static and unchangeable. The problems of the fixed speed limit scheme mainly come from the configured values set; if set too high, it will affect the experience of other network applications, and the impact is more prominent in the scenario of downloading while playing, and may even cause the application to be unavailable; if set too low, it will lead to insufficient utilization of the data transmission capacity and waste of the data transmission capacity) and the speed limit scheme based on quality detection (the speed limit scheme based on quality detection refers to adjusting the download speed according to the detection results of network behaviors (such as network behaviors like latency, packet loss, etc.); for example, when the packet loss rate rises, actively reduce the download speed, and when the packet loss rate drops, actively increase the download speed. The problem of the speed limit scheme based on quality detection is that the collected data comes from the quality of the current download channel, the sampling is relatively isolated, and it cannot sense the traffic of other network applications, and cannot accurately predict the real bandwidth throughput situation. When network packet loss occurs and the download speed is adjusted, the network condition has already deteriorated, and at this time other network applications have been affected; in the scenario of downloading while playing, cloud games require a relatively large data transmission capacity, and the relatively passive adjustment of the speed limit scheme based on quality detection will have a relatively large impact on the cloud game experience, so it is not applicable), the processing method for cloud games proposed by the embodiments of the present application can achieve:
[0098] Combined with the actual link bandwidth of the cloud game client, without increasing the latency of the cloud game transmission link, the intelligent regulation allocates the link bandwidth for game resource download and the transmission bandwidth of the cloud game, so as to obtain the optimal solution for bandwidth allocation. Moreover, in terms of download time control, the allocation of download time slices will be combined with the network condition, and it can reduce the network congestion caused by download more quickly in the face of network jitter. At the same time, in the solution of adjusting the download speed of the cloud game client, a unilateral speed limit scheme for the cloud game client is adopted, which is compatible with the content delivery of the existing CDN (Content Delivery Network); the content delivery of the CDN means that the CDN controls the nearest access point for the cloud game client in the CDN to download game resources, and distributes the game resources to the cloud game client; among them, the nearest access point for the cloud game client to download game resources refers to the data download server that is the closest to the cloud game client and is working properly in the CDN.
[0099] In addition, the cloud game processing method proposed in the embodiments of the present application can also be combined with the field of artificial intelligence. The cloud game processing method proposed in the embodiments of the present application can allocate the data transmission capabilities of the cloud game client based on the models in the field of artificial intelligence, improving the efficiency and accuracy of data transmission capability allocation. Among them, artificial intelligence (AI) uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, sense the environment, acquire knowledge, and use knowledge to obtain the best results in theory, methods, technologies, and application systems. In other words, artificial intelligence is a comprehensive technology in computer science. It attempts to understand the essence of intelligence and produce a new intelligent machine that can react in a way similar to human intelligence. Artificial intelligence also studies the design principles and implementation methods of various intelligent machines, enabling the machines to have the functions of perception, reasoning, and decision-making.
[0100] Next, the cloud game processing system provided by the embodiments of the present application will be introduced. The cloud game processing system can be suitable for implementing the cloud game processing method provided by the embodiments of the present application.
[0101] As Figure 1As shown in the figure, the cloud game processing system may include a cloud game client 101, a cloud server 102, and a data download server 103. The cloud game client 101 may be installed and run on a terminal device 104 (the terminal device 104 refers to the player terminal mentioned above). This application implementation does not limit the connection relationship between the terminal device 104, the cloud server 102, and the data download server 103. A direct communication connection may be established between the terminal device 104, the cloud server 102, and the data download server 103 through wired communication, or an indirect communication connection may be established between the terminal device 104, the cloud server 102, and the data download server 103 through wireless communication.
[0102] The cloud game client 101 may include, but is not limited to, any one of the following: a game application, a game mini-program, game software, and a game web page; the cloud game client 101 interacts with the cloud server 102 through the client front-end to realize the play of cloud games, and realizes the download of game resources through the client back-end. The cloud server 102 refers to a cloud game server that provides cloud game services, and the game instances of cloud games are deployed in the cloud server 102; the cloud server 102 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. Game resources are stored in the CDN, and the CDN may include multiple servers for data distribution of game resources. The data download server 103 is the server in the CDN that is closest to the cloud game client 101 and is working properly. The terminal device 104 may be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, a vehicle terminal, a smart home appliance, an aircraft, etc., but is not limited thereto. Among them:
[0103] As Figure 2 shown in the figure, the cloud server 102 may include an instruction interaction module, a data transmission capacity allocation module, and a data transmission capacity detection module. Among them, the data transmission capacity detection module of the cloud server 102 may be used to detect the data transmission capacity of the cloud game client 101. The data transmission capacity allocation module of the cloud server 102 may be used to allocate the data transmission capacity of the cloud game client 101, and allocate the data transmission capacity for the cloud game client 101 to run cloud games and the data transmission capacity for the cloud game client 101 to download game resources. The instruction interaction module of the cloud server 102 may be used to perform signaling interaction with the cloud game client 101. Here, the signaling interaction may be used to send the download capacity information as a signal to the cloud game client 101, and the download capacity information may include download resource information (the download resource information may be used to indicate the data transmission capacity required to download game resources) and the download duration to the cloud game client 101.
[0104] As Figure 2As shown in the figure, the cloud game client 101 may include an instruction interaction module, a download control module, and a game resource download module. Among them, the instruction interaction module of the cloud game client 101 may be used to perform signaling interaction with the cloud server 102. Here, the signaling interaction may be used to receive the download capability information sent by the cloud server 102. The download capability information may include download resource information and download duration. The download control module of the cloud game client 101 may be used to generate download control parameters based on the download capability information. The download control parameters may include a download data volume control parameter and a download rate control parameter (the download rate control parameter may also be referred to as the received Buffer size); the download data volume control parameter may be used to control the download file size of the game resources downloaded by the cloud game client 101, and the download rate control parameter may be used to control the download rate of the game resources downloaded by the cloud game client 101. The game resource download module of the cloud game client 101 may be used to download game resources from the data download server 103 based on the download control parameters.
[0105] In the cloud game processing system composed of the cloud game client 101, the cloud server 102, and the data download server 103, as Figure 3 shown, the scenario of playing and downloading cloud games may include four stages: data transmission capability detection, data transmission capability allocation, signaling interaction, and game resource download. The four stages of the playing and downloading scenario will be introduced separately below:
[0106] ① In the data transmission capability detection stage, when there is a download requirement for game resources during the operation of the cloud game on the cloud game client 101, the data transmission capability detection module of the cloud server 102 may detect the data transmission capability of the cloud game client 101 to obtain the transmission capability information of the cloud game client 101. The transmission capability information of the cloud game client 101 may be used to indicate the upper limit of the data transmission capability of the cloud game client 101.
[0107] The download requirement for game resources may be triggered by a game player. During the process of the game player playing the cloud game through the cloud game client 101, the cloud game client 101 may present a download entry for game resources to the game player. The game player may generate a download requirement for game resources by triggering the download entry for game resources. The trigger download entry mentioned in the embodiments of the present application may include, but is not limited to, any one of the following: clicking the download entry, double-clicking the download entry, and long-pressing the download entry, which is hereby explained.
[0108] The game resources may refer to the game resources of the cloud game currently played by the game player. For Figure 4For example, during the process of a game player playing a cloud game through the cloud game client 101, the cloud game client 101 can present the game screen of the cloud game to the game player, and the game screen may include a download entry for game resources (for example, Figure 4 the "Download and Install Resources" control 401 and the "Download Rendering Resources" control 402 in
[0109] Game resources may refer to game resources of other games (other games may include other cloud games or ordinary online games) other than the cloud game currently being played by the game player. Taking Figure 5 For example, during the process of a game player playing a cloud game through the cloud game client 101, the cloud game client 101 can present the game screen of the cloud game to the game player, and the game screen may include a game list 501, and the game list 501 may include download entries for game resources of multiple other games (for example, Figure 5 the download control 502 for Game 1, the download control 503 for Game 2, and the download control 504 for Game 3 in
[0110] ②In the data transmission capacity allocation phase, the data transmission capacity allocation module of the cloud server 102 can reserve the data transmission capacity required for the cloud game client 101 to run cloud games within the data transmission capacity upper limit of the cloud game client 101. The data transmission capacity required to run cloud games is related to the image quality requirements of cloud games. The higher the image quality requirements of cloud games, the stronger the data transmission capacity required by the cloud game client 101 to support the operation of cloud games. In addition, for cloud games that transmit game screens in the form of media streams, the game screen can be used as a frame image (i.e., a video frame) in a video image sequence; video frames can include various types. For example, I-frames (I-frames refer to intra-coded picture frames, key frames) and P-frames (P-frames refer to forward-predicted coded picture frames). I-frames are usually larger than P-frames, and the instantaneous transmission speed will exceed the data transmission capacity reserved for running cloud games. Based on this situation, in the data transmission capacity allocation phase, the data transmission capacity allocation module of the cloud server 102 can also reserve the data transmission capacity required to transmit I-frames. After reserving the above two parts of data transmission capacity, the data transmission capacity allocation module of the cloud server 102 can use the remaining data transmission capacity in the data transmission capacity upper limit of the cloud game client 101 as the data transmission capacity required to download game resources.
[0111] ③In the signaling interaction phase, the instruction interaction module of the cloud server 102 can send the download resource information and download duration to the cloud game client 101, and the instruction interaction module of the cloud game client 101 can receive the download resource information and download duration sent by the cloud server 102.
[0112] ④In the game resource download phase, the download control module of the cloud game client 101 can generate download control parameters based on the download resource information and download duration, and the game resource download module of the cloud game client 101 can download the game installation file or game resources of the game from the data download server 103 based on the download control parameters.
[0113] It can be seen that by implementing the processing method of cloud games under the cloud game processing system, the data transmission capacity of the cloud game client can be reasonably allocated, and the allocation result can better meet the operation requirements of cloud games and the download requirements of game resources. Thus, it is possible to realize downloading while playing without affecting the existing cloud game playing experience.
[0114] It can be understood that Figure 1 The cloud game processing system of the illustrated embodiment is for more clearly explaining the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided by the embodiment of the present application. Those of ordinary skill in the art know that with the evolution of the system architecture and the emergence of new business scenarios, the technical solution provided by the embodiment of the present application is equally applicable to similar technical problems.
[0115] The following is a detailed introduction to the cloud game processing method provided by the embodiment of the present application in conjunction with the accompanying drawings.
[0116] The embodiment of the present application provides a method for processing cloud games, and the content of the method for processing cloud games includes: a method for detecting the data transmission capacity of the cloud game client on the cloud server side, and a method for allocating the data transmission capacity of the cloud game client on the cloud server side. The method for processing cloud games can be executed by a computer device, and the computer device can be, for example, the above-mentioned Figure 1 The cloud server 102 in the cloud game processing system shown. Figure 6 As shown, the cloud game processing method may include but is not limited to the following steps S601 to S604:
[0117] S601, when the cloud game client runs the target cloud game, the data transmission capability of the cloud game client is detected to obtain the transmission capability information of the cloud game client.
[0118] A cloud gaming client refers to a gaming client used by gamers to play cloud games. A cloud gaming client can support gamers to play multiple cloud games. A target cloud game refers to any cloud game supported by the cloud gaming client for gamers to play. It can be understood that the embodiments of the present application can enable gamers to download while playing while playing any cloud game supported by the cloud gaming client through the cloud gaming client.
[0119] The process of a cloud game client running a target cloud game refers to the process of game players playing the target cloud game through the cloud game client. It can be understood that the cloud game client runs the local game service of the target cloud game, and the game instance of the target cloud game runs in the cloud server, rather than in the cloud game client; the cloud game client is used to receive and present the game screen of the target cloud game transmitted by the cloud service, and is used to receive and play the game audio of the target cloud game transmitted by the cloud service; the cloud game client is also used to send the game player's operation data for the target cloud game to the cloud server.
[0120] The transmission capacity information of the cloud gaming client can be used to indicate the upper limit of the data transmission capacity of the cloud gaming client. The upper limit of the data transmission capacity of the cloud gaming client refers to the bandwidth upper limit of the cloud gaming client (the bandwidth upper limit of the cloud gaming client can also be called the upper limit bandwidth of the cloud gaming client). The bandwidth upper limit of the cloud gaming client refers to the maximum amount of data that the cloud gaming client can transmit per unit time, that is, the maximum data transmission rate of the cloud gaming client.
[0121] S602, obtaining the transmission resource information required by the cloud game client to run the target cloud game.
[0122] The transmission resource information required for the cloud game client to run the target cloud game can be used to indicate the data transmission capacity required for the cloud game client to run the target cloud game. The data transmission capacity required for the cloud game client to run the target cloud game refers to the bandwidth required for the cloud game client to run the target cloud game. The bandwidth required for the cloud game client to run the target cloud game refers to the amount of data that needs to be transmitted per unit time when the cloud game client runs the target cloud game, that is, the data transmission rate required for the cloud game client to run the target cloud game.
[0123] The transmission resource information is related to the picture quality requirements of the game player to play the target cloud game. Specifically, the picture quality requirement information of the target cloud game can be obtained. The picture quality requirement information of the target cloud game can be used to reflect the picture quality clarity requirement of the target cloud game. For example, the picture quality clarity requirement of the target cloud game is 4K picture quality (ultra-high definition picture quality), ultra-clear picture quality or high-definition picture quality, and so on. There is a corresponding relationship between the picture quality requirement information and the transmission resource information, and the transmission resource information corresponding to the picture quality requirement information can be determined according to the picture quality requirement information.
[0124] Furthermore, the corresponding relationship between the picture quality requirement information and the transmission resource information can specifically include: the higher the picture quality clarity requirement of the game player to play the target cloud game, the stronger the data transmission capacity required to support the operation of the cloud game. The stronger the data transmission capacity means the greater the bandwidth required to run the target cloud game, and the higher the data transmission rate required to run the target cloud game; that is, the higher the picture quality clarity requirement of the target cloud game reflected by the picture quality requirement information, the stronger the data transmission capacity required for the cloud game client to run the target cloud game indicated by the transmission resource information.
[0125] For example, when the picture quality clarity requirement reflected by the picture quality requirement information is 4K picture quality, the transmission resource information corresponding to the picture quality requirement information is the first transmission resource information, and the first transmission resource information indicates that the bandwidth required to run the target cloud game is the first bandwidth; when the picture quality clarity requirement reflected by the picture quality requirement information is ultra-clear picture quality, the transmission resource information corresponding to the picture quality requirement information is the second transmission resource information, and the second transmission resource information indicates that the bandwidth required to run the target cloud game is the second bandwidth; when the picture quality clarity requirement reflected by the picture quality requirement information is high-definition picture quality, the transmission resource information corresponding to the picture quality requirement information is the third transmission resource information, and the third transmission resource information indicates that the bandwidth required to run the target cloud game is the third bandwidth. The picture quality clarity corresponding to 4K picture quality is higher than the picture quality clarity corresponding to ultra-clear picture quality, and the picture quality clarity corresponding to ultra-clear picture quality is higher than the picture quality clarity corresponding to high-definition picture quality. Based on the corresponding relationship between the picture quality requirement information and the transmission resource information, the first bandwidth is greater than the second bandwidth, and the second bandwidth is greater than the third bandwidth.
[0126] S603. Allocate download resource information for the game resources to be downloaded by the cloud game client based on the transmission capacity information and the transmission resource information.
[0127] After obtaining the transmission capacity information of the cloud game client and the transmission resource information required for the target cloud game to run on the cloud game client, it is possible to allocate download resource information for the game resources to be downloaded by the cloud game client based on the transmission capacity information and the transmission resource information. The download resource information can be used to indicate the data transmission capacity required for the cloud game client to download the game resources. The data transmission capacity required for the cloud game client to download the game resources refers to the bandwidth required for the cloud game client to download the game resources. The bandwidth required for the cloud game client to download the game resources refers to the amount of data that needs to be transmitted per unit time when the cloud game client downloads the game resources, that is, the data transmission rate required for the cloud game client to download the game resources.
[0128] Based on the above introduction to steps S601 - S603, it can be seen that the above steps S601 - S603 involve two processes: data transmission capacity detection (i.e., detecting the data transmission capacity of the cloud game client) and data transmission capacity allocation (i.e., allocating download resource information for the game resources to be downloaded by the cloud game client). These two processes are dynamically carried out according to the time cycle. Specifically, dynamically carrying out data transmission capacity detection and data transmission capacity allocation according to the time cycle means: from the start of downloading the game resources to the end of downloading the game resources, set multiple time cycles, and the multiple time cycles form a continuous time range; data transmission capacity detection is carried out in each time cycle. Except for the initial time cycle (the initial time cycle refers to the first time cycle), data transmission capacity detection and game resource downloading are carried out concurrently in the remaining time cycles; the data transmission capacity detection result of the current time cycle affects the data transmission capacity allocation process of the next time cycle of the current time cycle. The data transmission capacity detection result of the current time cycle refers to the transmission capacity information of the cloud game client in the current time cycle; the transmission quality information of the game screen of the target cloud game in the current time cycle affects the time length of the next time cycle of the current time cycle; and, the game resources are downloaded in the next time cycle according to the data transmission capacity allocation result of the next time cycle. The data transmission capacity allocation result of the next time cycle refers to the download resource information required for the cloud game client to download the game resources in the next time cycle.
[0129] For example, such as Figure 7As shown, the set time period at least includes an initial time period, time period T1, time period T2, and time period T3. For the initial time period, data transmission ability detection can be performed within the initial time period. The data transmission ability detection result in the initial time period affects the data transmission ability allocation process in time period T1. The transmission quality information of the game screen of the target cloud game within the initial time period affects the duration of time period T1. For time period T1, data transmission ability detection can be performed within time period T1. Moreover, during the process of performing data transmission ability detection within time period T1, the game resources can be downloaded concurrently based on the data transmission ability allocation result in time period T1; the data transmission ability detection result in time period T1 affects the data transmission ability allocation process in time period T2, and the transmission quality information of the game screen of the target cloud game within time period T1 affects the duration of time period T2. By analogy, time period T2 and time period T3 are similar to time period T1 and will not be elaborated here.
[0130] Therefore, the process of dynamically detecting the data transmission ability according to the time period, that is, the process of detecting the data transmission ability of the cloud game client to obtain the transmission ability information of the cloud game client, may include: detecting the data transmission ability of the cloud game client within the current time period to obtain the transmission ability information of the cloud game client within the current time period. The process of dynamically allocating the data transmission ability according to the time period, that is, the process of allocating download resource information for the game resources to be downloaded by the cloud game client based on the transmission ability information and transmission resource information, may include: allocating download resource information for the game resources to be downloaded by the cloud game client in the next time period based on the transmission ability information of the cloud game client within the current time period and the transmission resource information of the cloud game client in the next time period. Combining the above introduction to the dynamic detection and dynamic allocation of the data transmission ability according to the time period, the following details the detailed process of data transmission ability detection and the detailed process of data transmission ability allocation:
[0131] (1) Detailed process of data transmission ability detection:
[0132] As described above, for cloud games that transmit game screens in the form of media streams, the game screen can be a frame of an image sequence (i.e., a video frame) in the video image. That is to say, during the operation of the target cloud game on the cloud game client, the game screen of the target cloud game can be transmitted to the cloud game client in the form of video frames. Moreover, the video frames can be divided into multiple data shards and sent to the cloud game client. Each time the cloud game client receives a data shard, it returns the shard acknowledgment information corresponding to the data shard (the shard acknowledgment information refers to the shard ACK (Acknowledge Character)).
[0133] Based on this, the process of detecting the data transmission ability of the cloud game client in the current time period and obtaining the transmission ability information of the cloud game client in the current time period can include: sending data shards to the cloud game client in the current time period; counting the target number of shard acknowledgment information received in the current time period; and calculating the transmission ability information of the cloud game client in the current time period according to the target number, the shard data volume of the data shards, and the time length of the current time period.
[0134] Specifically, in the data transmission ability detection stage, a connection has been established between the cloud game client and the cloud server, and there is data interaction at the same time. The video frames generated by the cloud server can be sent to the cloud game client at a certain time interval (this time interval can be referred to as the frame sending interval, and the frame sending interval can be, for example, 16.7 ms (milliseconds) or 33.3 ms). In the embodiments of the present application, the data size of each video frame (the data size of each video frame refers to the data volume of each video frame) is greater than the maximum segment size (MSS). Therefore, the video frames can be further sliced into data shards of L (L < MSS) bytes for transmission. Each shard of data has an independent sequence number identifier. The cloud game client can wait for all the shards belonging to the same video frame to arrive and be recombined to restore the video frame. After each data shard is received by the cloud game client, it can reply to the cloud server with the corresponding acknowledgment ID. Here, the acknowledgment ID refers to the shard acknowledgment information (i.e., the shard ACK) mentioned above. The cloud server sends all the shard data immediately. When the network is not saturated, the shard acknowledgment information will also be sent from the cloud game client at the same time, and at this time, the shard acknowledgment information will arrive at the cloud server simultaneously. When the network is saturated, the shard data will be delayed, and at this time, the time when each shard of data is received by the cloud game client will be inconsistent, and the time when the shard acknowledgment information arrives at the cloud server will also be inconsistent.
[0135] Let the total number of shards of the current video frame be N. That is to say, the current video frame on the cloud server is divided into N data shards and sent to the cloud game client. The time length of the current time period is W, and the target number of shard acknowledgment messages arriving at the cloud server within the time range of 0 to W is N1. When N1 < N, it means that the shard acknowledgment messages do not arrive immediately, and it can be considered that the network reaches the saturation state at this time. Let the size of each data shard be L. That is to say, the shard data volume of each data shard is L. The throughput size within the current time period can be calculated as L * N1, and the throughput upper limit per unit time within the current time period is B = L * N1 / W. The throughput upper limit per unit time within the current time period is the bandwidth upper limit B of the cloud game client.
[0136] Among them, the throughput size within the current time period refers to the total data volume of the data shards transmitted within the current time period; the throughput upper limit per unit time within the current time period refers to the maximum data volume of the data shards transmitted per unit time within the current time period, that is, the upper limit of the data transmission rate within the current time period, which is also the transmission capacity information within the current time period. It can be understood that according to the target number, the shard data volume of the data shards, and the time length of the current time period, the transmission capacity information of the cloud game client within the current time period can be calculated, including: calculating the maximum data volume of the data shards transmitted within the current time period according to the target number N1 and the shard data volume L of the data shards. The maximum data volume of the data shards transmitted within the current time period is equal to the product between the target number N1 and the shard data volume L of the data shards; calculating the transmission capacity information B within the current time period according to the maximum data volume of the data shards transmitted within the current time period and the time length W of the current time period. The transmission capacity information B within the current time period is equal to the maximum data volume of the data shards transmitted within the current time period divided by the time length W of the current time period.
[0137] Based on the above introduction of the detailed process of detecting the data transmission capacity, it can be seen that the detection of the data transmission capacity can be achieved on the basis of the need to transmit video frames during the operation of existing cloud games, without wasting the additional data transmission capacity of the cloud game client for the detection of the data transmission capacity. The data transmission capacity of the cloud game client is limited, so this can save the data transmission capacity of the cloud game client. Moreover, by dynamically detecting the data transmission capacity of the cloud game client, the change of the data transmission capacity of the cloud game client over time can be dynamically detected. Therefore, based on the detection result of the data transmission capacity of the cloud game client, the data transmission capacity can be allocated more accurately. In addition, it should also be noted during the detection process of the data transmission capacity that for the initial time period, the time length of the initial time period needs to be less than the frame sending interval (i.e., W < frame sending interval), so as to avoid being affected by frame sending delay during the initial time period, resulting in the detection results of the data transmission capacity in subsequent time periods, the data transmission capacity allocation process in subsequent time periods, and the data transmission capacity allocation results in subsequent time periods.
[0138] (2) Detailed process of data transmission capacity allocation:
[0139] The process of allocating download resource information for the game resources that need to be downloaded by the cloud game client in the next time period based on the transmission capacity information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period may include: The remaining resource information of the cloud game client in the next time period can be determined according to the transmission capacity information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period; The remaining resource information of the cloud game client in the next time period is equal to the transmission capacity information of the cloud game client in the current time period minus the transmission resource information of the cloud game client in the next time period; The remaining resource information refers to the remaining data transmission capacity of the cloud game client after reserving the data transmission capacity required for the cloud game client to run the target cloud game in the next time period.
[0140] It is understandable that the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames. The video frames can at least include video frames of a first type and video frames of a second type. The data volume of the video frames of the first type is greater than that of the video frames of the second type. For example, the video frames of the first type are I-frames, and the video frames of the second type are P-frames. The data volume of I-frames is greater than that of P-frames. Since the data volume of I-frames is relatively large, when transmitting I-frames, the instantaneous speed may exceed the data transmission speed provided by the data transmission resource information of the cloud game client in the next time period. Therefore, it is necessary to reserve a certain data transmission capacity for transmitting I-frames. Based on this, the process of reserving data transmission capacity for transmitting I-frames can include: reserving the resource information required for transmitting video frames of the first type in the remaining resource information of the cloud game client in the next time period to obtain the download resource information required for the cloud game client to download game resources in the next time period; the download resource information required for the cloud game client to download game resources in the next time period is equal to the remaining resource information of the cloud game client in the next time period minus the resource information required for transmitting video frames of the first type; the download resource information required for the cloud game client to download game resources in the next time period refers to the remaining data transmission capacity of the cloud game client after reserving the data transmission capacity required for the cloud game client to run the target cloud game and the data transmission capacity required for transmitting video frames of the first type in the next time period.
[0141] Specifically, in the data transmission capacity allocation stage, the cloud server can preset and allocate the transmission resource information B1 required for the cloud game client to run the target cloud game in the next time period based on the image quality requirement information of the target cloud game in the next time period, such as 4K image quality, ultra-high definition image quality, high definition image quality, etc. That is to say, the data transmission capacity indicated by the transmission resource information can be used to run the target cloud game in the next time period and can meet the image quality requirements of the target cloud game in the next time period. In addition, considering that the data size of transmitting I-frames is relatively large during network transmission of video frames and the transmission instantaneous speed will exceed the preset transmission resource information B1, it is necessary to reserve a certain data transmission capacity for transmitting I-frames. Specifically, a data transmission capacity ratio P can be set. The value of P comes from online practice. That is to say, the value of P can be set according to empirical values. The calculation method of the download resource information B2 required for the cloud game client to download game resources in the next time period is: B2 = B * (1 - P) - B1.
[0142] Based on the above introduction of the detailed process of data transmission capacity allocation, it can be seen that: on the one hand, by presetting the data transmission capacity required for the target cloud game to run in the next time period based on the picture quality requirement information of the target cloud game in the next time period, the game player can ensure that the game screen of the target cloud game meets the picture quality requirements of the game player when playing the target cloud game, thus ensuring that the existing playing experience of the target cloud game is not affected; on the other hand, since the data volume of the I-frame in the video frame is relatively large, reserving a certain amount of data transmission capacity for the transmission of the I-frame can ensure the smooth progress of the transmission process of the I-frame in the video frame, thus ensuring that the existing playing experience of the target cloud game is not affected.
[0143] The above details the process of data transmission capacity detection and the process of data transmission capacity allocation. During the dynamic detection of data transmission capacity and data transmission capacity allocation according to time periods, the transmission quality information of the game screen of the target cloud game in the current time period can affect the time length of the next time period following the current time period. The following introduces the impact of the transmission quality information on the time length of the time period:
[0144] Obtain the transmission quality information of the video frame corresponding to the target cloud game in the current time period; according to the transmission quality information, adjust the reference time length to obtain the time length of the next time period. Among them, the transmission quality information of the video frame in the current time period may include at least one of the following: the packet loss information of the video frame in the current time period and the delay information of the video frame in the current time period; the packet loss information of the video frame in the current time period refers to the packet loss rate of the video frame in the current time period; the delay information of the video frame in the current time period refers to the transmission delay of the video frame in the current time period, specifically referring to the time consumed for the video frame to travel from the cloud server (the cloud server is the sender) to the cloud game client (the cloud game client is the receiver).
[0145] Furthermore, the reference time length may include a benchmark time length or the time length of the current time period; the benchmark time length is a time length set based on empirical values, and the transmission quality information can be used to indicate the transmission quality of the video frame. The process of adjusting the reference time length according to the transmission quality information to obtain the time length of the next time period may include: if the transmission quality information indicates that the transmission quality of the video frame corresponding to the target cloud game in the current time period is high, the benchmark time length or the time length of the current time period can be expanded to obtain the time length of the next time period; if the transmission quality information indicates that the transmission quality of the video frame corresponding to the target cloud game in the current time period is poor, the benchmark time length or the time length of the current time period can be reduced to obtain the time length of the next time period.
[0146] For example, when the transmission quality information includes the packet loss rate of video frames and the transmission delay of video frames, if the packet loss rate of video frames and the transmission delay of video frames increase, it can indicate that the transmission quality of the video frames corresponding to the target cloud game is poor during the current time period. That is to say, if the packet loss rate of video frames and the transmission delay of video frames increase, the reference time length or the time length of the current time period can be reduced to obtain the time length of the next time period. If the packet loss rate of video frames is 0 and the transmission delay of video frames is stable, it can indicate that the transmission quality of the video frames corresponding to the target cloud game is good during the current time period. That is to say, if the packet loss rate of video frames is 0 and the transmission delay of video frames is stable, the reference time length or the time length of the current time period can be increased to obtain the time length of the next time period.
[0147] Based on the above introduction to the adjustment of the time length of the time period, it can be seen that the transmission quality of video frames during the current time period can reflect the network condition of the transmission network. If the transmission quality of video frames during the current time period is good, it can indicate that the network condition of the transmission network is good and the transmission network is relatively stable. In this case, the time length of the next time period can be appropriately increased, so that more game resources can be downloaded as much as possible when the transmission network is relatively stable to complete the download of game resources as soon as possible.
[0148] S604, send the download resource information to the cloud game client so that the cloud game client can download game resources based on the download resource information.
[0149] In the process of dynamically detecting the data transmission ability and allocating the data transmission ability according to the time period, after obtaining the download resource information required for downloading game resources in the next time period according to the detection result of the data transmission ability in the current time period and allocating the data transmission ability for the next time period, the download resource information required for downloading game resources in the next time period can be sent to the cloud game client so that the cloud game client can download game resources based on the download resource information in the next time period.
[0150] Furthermore, in the process of dynamically detecting the data transmission ability and allocating the data transmission ability according to the time period, after obtaining the time length of the next time period, the time length of the next time period can be used as the download time for the next time period. After that, the time length of the next time period can be sent to the cloud game client so that the cloud game client can download game resources based on the download resource information and the download time in the next time period within the next time period.
[0151] In the embodiments of the present application, by dynamically detecting the data transmission ability and allocating the data transmission ability according to a time period, the change of the data transmission ability of the cloud game client can be detected in real time and dynamically. Therefore, based on the detection result of the data transmission ability of the cloud game client, the data transmission ability can be allocated more accurately; the time period of the download phase depends on the detection phase of the previous time period. That is to say, the download of game resources in the next time period depends on the detection of the data transmission ability in the previous time period of the next time period. Through continuous detection and correction, and continuous download regulation, the balance of the cloud game transmission rate and the game resource download rate can be achieved. Furthermore, while improving the download rate, the requirements for the cloud game experience with high picture quality and high bandwidth can be met. And when there is a download requirement for game resources, on the one hand, the logic of data transmission ability allocation can reserve the data transmission ability required to run the cloud game according to the picture quality requirements of the game player, so as to ensure that the game screen of the cloud game meets the picture quality requirements of the game player; on the other hand, reserve the data transmission ability to transmit I-frames, so as to ensure that the I-frames with a large amount of data in the game screen of the cloud game can be transmitted smoothly; on the third hand, the remaining data transmission ability after reservation is used to download game resources, which can download game resources as soon as possible on the basis of ensuring that the existing game experience of the cloud game is not affected.
[0152] The embodiments of the present application provide a processing method for cloud games. The content introduced by the processing method for cloud games includes: the method of downloading game resources on the cloud game client side based on download resource information. The processing method for cloud games can be executed by a computer device, and the computer device can be, for example, the cloud game client 101 in the cloud game processing system shown above. As Figure 1 shown, the processing method for cloud games may include, but is not limited to, the following steps S801-S802: Figure 8 shown, the processing method for cloud games may include, but is not limited to, the following steps S801-S802:
[0153] S801. Receive the download resource information allocated by the cloud server for the game resources to be downloaded by the cloud game client. The download resource information is obtained by allocating the game resources to be downloaded by the cloud game client based on the transmission ability information of the cloud game client and the transmission resource information required for the cloud game client to run the target cloud game; the transmission ability information is detected during the process of the cloud game client running the target cloud game to detect the data transmission ability of the cloud game client.
[0154] The transmission ability information is detected during the process of the cloud game client running the target cloud game to detect the data transmission ability of the cloud game client. The specific process of data transmission ability detection can be referred to the above Figure 6For the relevant descriptions in the embodiments shown above, they will not be elaborated here; the transmission capacity information can be used to indicate the upper limit of the data transmission capacity of the cloud game client. The transmission resource information corresponds to the picture quality requirement information of the target cloud game, and the transmission resource information can be used to indicate the data transmission capacity required for the cloud game client to run the target cloud game. The download resource information is obtained by allocating the game resources that the cloud game client needs to download based on the transmission capacity information of the cloud game client and the transmission resource information required for the cloud game client to run the target cloud game. For the specific process of data transmission capacity allocation, reference can be made to the relevant descriptions in the embodiments shown above Figure 6 For the relevant descriptions in the embodiments shown above, they will not be elaborated here; the download resource information can be used to indicate the data transmission capacity required for the cloud game client to download game resources.
[0155] S802, download game resources based on the download resource information.
[0156] As described above, the process of the cloud server detecting the data transmission capacity of the cloud game client and allocating download resource information for the game resources that the cloud game client needs to download is dynamically carried out according to a time period. The transmission capacity information of the cloud game client can include the transmission capacity information of the cloud game client in the current time period. The transmission capacity information of the cloud game client in the current time period is obtained by the cloud server detecting the data transmission capacity of the cloud game client in the current time period. The download resource information of the cloud game client can include the download resource information of the cloud game client in the next time period. The download resource information of the cloud game client in the next time period is allocated by the cloud server for the game resources that the cloud game client needs to download in the next time period based on the transmission capacity information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period. The data transmission capacity indicated by the transmission resource information of the cloud game client in the next time period can be used to run the target cloud game in the next time period and can meet the picture quality requirements of the target cloud game in the next time period.
[0157] That is to say, in the process of dynamically detecting the data transmission capacity and allocating the data transmission capacity according to a time period, the download resource information of the next time period from the cloud server can be received, and the download time of the next time period from the cloud server can also be received; for the specific manner in which the cloud server obtains the download time of the next time period, reference can be made to the relevant descriptions in the embodiments shown above Figure 6 For the relevant descriptions in the embodiments shown above, they will not be elaborated here. Then, based on the download resource information of the next time period and the download time of the next time period, game resources can be downloaded in the next time period.
[0158] Specifically, based on the download resource information for the next time period and the download time for the next time period, the process of downloading game resources in the next time period may include: determining the download control parameters for the next time period according to the download resource information for the next time period and the download time for the next time period; sending the download control parameters for the next time period to the data download server so that the data download server can, based on the download control parameters for the next time period, transmit the game resources to the cloud game client within the next time period.
[0159] Among them, the download control parameters may include a download data volume control parameter and a download rate control parameter. The control effects of the download data volume control parameter and the download rate control parameter are introduced below. The download data volume control parameter for the next time period can be used to control the download data volume of the game resources in the next time period. The download data volume is the size of the downloaded file. That is to say, the download data volume control parameter for the next time period can be used to control the size of the downloaded file for downloading game resources in the next time period; the download rate control parameter for the next time period can be used to control the download rate of the game resources in the next time period. Thus, after sending the download data volume control parameter and the download rate control parameter to the data download server, within the next time period, the data download server can, based on the download data volume control parameter for the next time period and the download rate control parameter for the next time period, transmit the game resources with a data volume of the download data volume indicated by the download data volume control parameter for the next time period to the cloud game client at the download rate indicated by the download rate control parameter for the next time period.
[0160] After introducing the control effects of the download control parameters, the determination process of the download control parameters for the next time period is introduced below. Specifically, for the download data volume control parameter for the next time period, the download data volume control parameter for the next time period can be determined according to the download resource information for the next time period and the download time for the next time period; the download data volume control parameter S for the next time period is equal to the product of the download resource information B2 for the next time period and the download time T1 for the next time period, that is, S = B2 * T1.
[0161] For the download rate control parameter for the next time period, the latency information of the data download server can be obtained, and the download rate control parameter for the next time period can be determined according to the download resource information for the next time period and the latency information of the data download server. Among them, the latency information of the data download server refers to the time required for a data sending unit of the data download server (the data sending unit refers to the smallest unit for the data download server to send data) to be transmitted from the data download server to the cloud game client.
[0162] On this basis, the determination process of the download rate control parameter for the next time period may further include: obtaining the actual throughput threshold of the current time period and the expected throughput threshold of the current time period; determining the rate adjustment factor for the next time period according to the actual throughput threshold and the expected throughput threshold of the current time period; and determining the download rate control parameter for the next time period according to the download resource information of the next time period, the latency information of the data download server, and the rate adjustment factor for the next time period. The download rate control parameter S1 for the next time period is equal to the product of the download resource information B2 of the next time period, the latency information D of the data download server, and the rate adjustment factor λ of the next time period, that is, S1 = B2 * D * λ.
[0163] Among them, the actual throughput threshold of the current time period refers to the actual downloaded data volume of the game resources in the current time period, and the expected throughput threshold of the current time period refers to the expected downloaded data volume of the game resources in the current time period. The rate adjustment factor for the next time period can be obtained by adjusting the reference adjustment factor based on the difference between the actual throughput threshold and the expected throughput threshold of the current time period; the reference adjustment factor can include a baseline adjustment factor or the rate adjustment factor of the current time period, and the baseline adjustment factor can be a rate adjustment factor set according to empirical values. The adjustment method of the reference adjustment factor can include: if the difference between the actual throughput threshold and the expected throughput threshold of the current time period is greater than the threshold, the reference condition factor can be reduced to obtain the rate adjustment factor for the next time period; if the difference between the actual throughput threshold and the expected throughput threshold of the current time period is less than or equal to the threshold, the current reference condition factor can be kept unchanged to obtain the rate adjustment factor for the next time period.
[0164] It can be further understood that the expected download data volume of game resources in the current time period is the download data volume controlled by the download data volume control parameter in the current time period and is the download data volume that the cloud game client can bear in the current time period; when the difference between the actual download data volume in the current time period and the expected download data volume in the current time period is greater than the threshold (that is, the actual download data volume in the current time period is much less than the expected download data volume in the current time period), it can be shown that the actual download data volume in the current time period far fails to reach the download data volume that the cloud game client can bear, and further it can be shown that the expected download rate of game resources in the current time period is set too high, that is to say, the download rate control parameter in the current time period is set too high, which is unreasonable; in this case, the rate adjustment factor in the next time period can be appropriately reduced, so as to appropriately reduce the download rate control parameter in the next time period, making the download data volume that the cloud game client can bear in the next time period more reasonable, which is more conducive to the cloud game client to download game resources.
[0165] The content of step S802 above introduces the download method of game resources. Next, the download content of game resources will be introduced. Downloading game resources based on the download resource information includes any one of the following: downloading game installation resources based on the download resource information; downloading game rendering resources based on the download resource information. Among them, the game installation resources may include game installation resources of the first cloud game or ordinary online games, and the game rendering resources may include game rendering resources of the first cloud game or ordinary online games; the first cloud game and the target cloud game are the same cloud game or different cloud games.
[0166] It can be further understood that when the game resources are the game installation resources of the target cloud game, during the process of the game player playing the target cloud game, the cloud game client can download the game installation resources of the target cloud game; the game installation resources of the target cloud game can be used to install the local game client corresponding to the target cloud game in the game player's player terminal, and the game player can play the target cloud game through the local game client corresponding to the target cloud game. The local game client corresponding to the target cloud game can provide the game player with game services dedicated to the target cloud game, so that the game player can play the target cloud game more conveniently and quickly; or, the game installation resources of the target cloud game can be used to install the ordinary online game corresponding to the target cloud game in the game player's player terminal. The ordinary online game corresponding to the target cloud game and the target cloud game are the same game of different types, that is, the game content of the ordinary online game corresponding to the target cloud game and the target cloud game is the same, but the ordinary online game corresponding to the target cloud game is an ordinary online game, and the target cloud game is a cloud game. It is not difficult to see that during the process of the game player playing the cloud game, by downloading the game installation resources of the current cloud game, the conversion rate of the cloud game can be improved.
[0167] When the game resource is the game rendering resource of the target cloud game, during the process of a game player playing the target cloud game, the cloud game client can download the game rendering resource of the target cloud game. After downloading the game rendering resource of the target cloud game in the cloud game client, the presentation speed of the game screen of the target cloud game can be increased, the playing fluency of the target cloud game can be improved, and thus the playing experience of the cloud game can be enhanced; especially for cloud games implemented in the form of instruction streams, the rendering speed of the cloud game in the cloud game client can be greatly increased.
[0168] When the game resource is the game installation resource of other cloud games other than the target cloud game, during the process of a game player playing the target cloud game, the game installation resource of other cloud games can be downloaded; the game installation resource of other cloud games can be used to install the corresponding local game client of other cloud games on the player terminal of the game player. The corresponding local game client of other cloud games can provide dedicated game services for the game player, and the game player can play other cloud games through the corresponding local game client of other cloud games. In this way, the game player can play other cloud games more conveniently and quickly; or, the game installation resource of other cloud games can be used to install the corresponding ordinary online game of other cloud games on the player terminal of the game player. The corresponding ordinary online game of other cloud games and other cloud games are the same game of different types, that is, the game content of the corresponding ordinary online game of other cloud games and other cloud games is the same, but the corresponding ordinary online game of other cloud games is an ordinary online game, and other cloud games are cloud games. It is not difficult to see that during the process of a game player playing a cloud game, by downloading the game installation resource of other cloud games, the conversion rate of other cloud games can be increased.
[0169] When the game resource is the game installation resource of an ordinary online game, during the process of a game player playing the target cloud game, the cloud game client can download the game installation resource of the ordinary online game. The game installation resource of the ordinary online game can be used to install the ordinary online game on the player terminal of the game player, and the conversion rate of the ordinary online game can be increased.
[0170] In the embodiments of the present application, according to the download resource information of the next time period and the download duration of the next time period sent by the cloud server, the download control parameters of the next time period can be determined, which are used for download control when downloading game resources in the next time period, and control the download data volume and download rate of the next time period; and the download resource information of the next time period is the result of data transmission capacity allocation on the premise of ensuring that the existing game experience of the target cloud game is not affected. Therefore, based on the download control parameters of the next time period, download control is performed when downloading game resources in the next time period, which can complete the download of game resources as soon as possible on the premise of ensuring that the existing game experience of the target cloud game is not affected, and can better meet the needs of game players to play while downloading.
[0171] Embodiments of the present application provide a processing method for cloud games. The content introduced by this processing method for cloud games includes: the process of playing while downloading cloud games is realized through the interaction between a cloud game client, a cloud server, and a data download server. As Figure 9 shown, this processing method for cloud games may include but is not limited to the following steps S901 - step S907:
[0172] S901. During the process of the cloud game client running the target cloud game, the cloud server detects the data transmission capacity of the cloud game client to obtain the transmission capacity information of the cloud game client.
[0173] S902. The cloud server obtains the transmission resource information required for the cloud game client to run the target cloud game.
[0174] S903. Based on the transmission capacity information and the transmission resource information, the cloud server allocates download resource information for the game resources that the cloud game client needs to download.
[0175] S904. The cloud server sends the download resource information to the cloud game client.
[0176] In the embodiments of the present application, the execution process of step S901 is the same as that of step S601 in the above Figure 6 shown embodiment, the execution process of step S902 is the same as that of step S602 in the above Figure 6 shown embodiment, the execution process of step S903 is the same as that of step S603 in the above Figure 6 shown embodiment. For the specific execution processes of steps S901, S902, and S903 in the embodiments of the present application, reference can be made to the relevant descriptions in the above Figure 6 shown embodiment, which will not be elaborated here.
[0177] S905. The cloud game client determines the download control parameters based on the download resource information.
[0178] In the embodiments of the present application, for the process in which the cloud game client determines the download control parameters based on the download resource information, reference may specifically be made to the relevant description in step S802 of the embodiment shown above, which will not be elaborated herein. Figure 8 The relevant description in step S802 of the embodiment shown above, which will not be elaborated herein.
[0179] S906. The cloud game client sends the download control parameters to the data download server.
[0180] The download control parameters may include a download data volume control parameter and a download rate control parameter. The cloud game client may send the download data volume control parameter and the download rate control parameter to the data download server. The ways for the cloud game client to send the download data volume control parameter and the download rate control parameter to the data download server are different.
[0181] The way for the cloud game client to send the download data volume control parameter to the data download server may include: The cloud game client may interact with the data download server through an application layer protocol, and the cloud game client may send the download data volume control parameter to the data download server through the application layer protocol. Specifically, the application layer protocol may be, for example, Http (Hypertext Transfer Protocol). The cloud game client may encapsulate the download data volume control parameter in the Range field (range field) of the data header of Http, and send the encapsulated Http file to the data download server, so as to send the download data volume control parameter to the data download server; that is to say, the cloud game client may specify the download data volume control parameter through the Range field in the data header of Http and send the download data volume control parameter to the data download server.
[0182] The way for the cloud game client to send the download rate control parameter to the data download server may include: The cloud game client may perform data transmission with the data download server through a transport layer protocol, and the cloud game client may send the download rate control parameter to the data download server through the transport layer protocol. Specifically, the transport layer protocol may be, for example, TCP (Transmission Control Protocol). The cloud game client may encapsulate the download rate control parameter in the SO_RCVBUF option (receive buffer size option) of TCP, and send the encapsulated TCP file to the data download server, so as to send the download rate control parameter to the data download server; that is to say, the cloud game client may set the download rate control parameter through the SO_RCVBUF option of TCP and send the download rate control parameter to the data download server.
[0183] S907. The data download server transmits game resources to the cloud game client according to the download control parameters.
[0184] The data download server can transmit game resources to the cloud game client according to the download control parameters. Specifically, the data download server can send game resources with a data volume equal to the download data volume indicated by the download data volume control parameter to the cloud game client according to the download data volume control parameter, and the sending rate is the download rate indicated by the download rate control parameter.
[0185] It should be noted that after the cloud game client sets the download rate control parameter through the SO_RCVBUF option of TCP, the transmission TCP window management mechanism controls the sending rate of the data download server through window notification. When set to a predetermined value, it can limit the sending speed of the data download server, thereby achieving the purpose of unilateral speed limit.
[0186] In the embodiments of the present application, after detecting the upper limit of the data transmission capacity of the cloud game client, the upper limit of the data transmission capacity of the cloud game client can be reasonably allocated, reasonably allocating the data transmission capacity required for the cloud game client to run the target cloud game and the data transmission capacity required for the cloud game client to download game resources; thus, the cloud game client can run the target cloud game based on the data transmission capacity required for running the target cloud game, and the cloud game client can download game resources based on the data transmission capacity required for downloading game resources, so that it is possible to play while downloading without affecting the existing cloud game playing experience.
[0187] The above has elaborated in detail the method of the embodiments of the present application. To facilitate better implementation of the above solutions of the embodiments of the present application, correspondingly, the device of the embodiments of the present application is provided below.
[0188] Please refer to Figure 10 , Figure 10 which is a schematic structural diagram of a processing device for cloud games provided by the embodiments of the present application. The processing device for cloud games can be set in the computer device provided by the embodiments of the present application, and the computer device can be the cloud server 102 in the cloud game processing system shown above Figure 1 as shown. Figure 10 The processing device for cloud games shown above can be a computer program running in a computer device. The data processing device can be used to execute Figure 6 or Figure 9 some or all of the steps in the method embodiments shown above. Please refer to Figure 10 which shows that the processing device for cloud games can include the following units:
[0189] The processing unit 1001 is configured to detect the data transmission capability of the cloud game client during the running of the target cloud game on the cloud game client, and obtain the transmission capability information of the cloud game client; the transmission capability information is used to indicate the upper limit of the data transmission capability of the cloud game client.
[0190] The processing unit 1001 is further configured to obtain the transmission resource information required for the cloud game client to run the target cloud game; the transmission resource information is used to indicate the data transmission capability required for the cloud game client to run the target cloud game.
[0191] The processing unit 1001 is further configured to allocate download resource information for the game resources to be downloaded by the cloud game client based on the transmission capability information and the transmission resource information; the download resource information is used to indicate the data transmission capability required for the cloud game client to download the game resources.
[0192] The communication unit 1002 is configured to send the download resource information to the cloud game client, so that the cloud game client downloads the game resources based on the download resource information.
[0193] In one implementation, the detection of the data transmission capability of the cloud game client and the allocation of the download resource information for the game resources to be downloaded by the cloud game client are dynamically performed according to a time period.
[0194] When the processing unit 1001 is configured to detect the data transmission capability of the cloud game client and obtain the transmission capability information of the cloud game client, it is specifically configured to perform the following steps:
[0195] During the current time period, detect the data transmission capability of the cloud game client to obtain the transmission capability information of the cloud game client during the current time period.
[0196] When the processing unit 1001 is configured to allocate download resource information for the game resources to be downloaded by the cloud game client based on the transmission capability information and the transmission resource information, it is specifically configured to perform the following steps:
[0197] Allocate download resource information for the game resources to be downloaded by the cloud game client in the next time period based on the transmission capability information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period.
[0198] Wherein, the cloud game client downloads the game resources based on the download resource information, including: the cloud game client downloads the game resources based on the download resource information of the next time period in the next time period.
[0199] In one implementation, the processing unit 1001 is further configured to perform the following steps:
[0200] Obtain the time length of the next time period;
[0201] Use the time length of the next time period as the download time of the next time period;
[0202] The communication unit 1002 is further configured to perform the following steps:
[0203] Send the download time of the next time period to the cloud game client, so that the cloud game client downloads game resources within the next time period based on the download resource information and the download time of the next time period.
[0204] In one implementation, during the running of the target cloud game on the cloud game client, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames; when the processing unit 1001 is used to obtain the time length of the next time period, it is specifically configured to perform the following steps:
[0205] Obtain the transmission quality information of the video frames corresponding to the target cloud game within the current time period;
[0206] Adjust the reference time length according to the transmission quality information to obtain the time length of the next time period;
[0207] Wherein, the transmission quality information of the video frames within the current time period includes at least one of the following: packet loss information of the video frames within the current time period and delay information of the video frames within the current time period.
[0208] In one implementation, during the running of the target cloud game on the cloud game client, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames, and the video frames are divided into multiple data shards and sent to the cloud game client, and the cloud game client returns shard acknowledgment information corresponding to each data shard received;
[0209] When the processing unit 1001 is used to detect the data transmission ability of the cloud game client within the current time period to obtain the transmission ability information of the cloud game client within the current time period, it is specifically configured to perform the following steps:
[0210] Send data shards to the cloud game client within the current time period;
[0211] Count the target number of shard acknowledgment information received within the current time period;
[0212] Calculate the transmission ability information of the cloud game client within the current time period according to the target number, the shard data volume of the data shards, and the time length of the current time period.
[0213] In one implementation, during the process of running the target cloud game on the cloud game client, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames. The video frames at least include video frames of a first type and video frames of a second type, and the data volume of the video frames of the first type is greater than that of the video frames of the second type;
[0214] The processing unit 1001 is configured to, when allocating download resource information for game resources to be downloaded by the cloud game client in the next time period based on the transmission capability information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period, specifically perform the following steps:
[0215] Determine the remaining resource information of the cloud game client in the next time period according to the transmission capability information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period; the remaining resource information is used to indicate the remaining data transmission capability of the cloud game client after reserving the data transmission capability required for the cloud game client to run the target cloud game in the next time period;
[0216] Reserve the resource information required for transmitting the video frames of the first type in the remaining resource information of the cloud game client in the next time period to obtain the download resource information required for the cloud game client to download game resources in the next time period.
[0217] In one implementation, the processing unit 1001 is configured to, when obtaining the transmission resource information required for the cloud game client to run the target cloud game, specifically perform the following steps:
[0218] Obtain the picture quality requirement information of the target cloud game;
[0219] Determine the transmission resource information corresponding to the picture quality requirement information according to the picture quality requirement information.
[0220] According to another embodiment of the present application, Figure 10 Each unit in the processing device of the cloud game shown can be separately or all combined into one or several other units to form, or some of the units can be further split into multiple smaller units with functional division, which can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application. The above units are divided based on logical functions. In practical applications, the function of one unit can also be realized by multiple units, or the functions of multiple units can be realized by one unit. In other embodiments of the present application, the processing device of the cloud game may also include other units. In practical applications, these functions can also be assisted by other units and can be realized by the cooperation of multiple units.
[0221] According to another embodiment of the present application, it can be achieved by running a computer program capable of executing the steps involved in some or all of the methods shown in Figure 6 or Figure 9 on a general computing device such as a computer including processing elements and storage elements such as a central processing unit (CPU), a random access storage medium (RAM), and a read-only storage medium (ROM), to construct a processing device for cloud games as shown in Figure 10 , and to implement the processing method of cloud games in the embodiments of the present application. The computer program can be recorded on a computer-readable storage medium, for example, and loaded into the above computing device through the computer-readable storage medium and run therein.
[0222] In the embodiments of the present application, after detecting the upper limit of the data transmission capacity of the cloud game client, the upper limit of the data transmission capacity of the cloud game client can be reasonably allocated, including reasonably allocating the data transmission capacity required for the cloud game client to run the target cloud game and the data transmission capacity required for the cloud game client to download game resources; thus, the cloud game client can run the target cloud game based on the data transmission capacity required for running the target cloud game, and the cloud game client can download game resources based on the data transmission capacity required for downloading game resources, so that it is possible to download while playing without affecting the existing cloud game playing experience.
[0223] Please refer to Figure 10 , Figure 10 which is a schematic structural diagram of a processing device for cloud games provided by the embodiments of the present application. The processing device for cloud games can be set in the computer device provided by the embodiments of the present application, and the computer device can be the cloud game client 101 in the cloud game processing system shown in the above Figure 1 . Figure 10 The processing device for cloud games shown in Figure 8 or Figure 9 can be a computer program running in a computer device, and the data processing device can be used to execute some or all of the steps in the method embodiments shown in
[0224] Please refer to Figure 10 , and the processing device for cloud games can include the following units:
[0225] A communication unit 1002, configured to receive download resource information allocated by a cloud server for game resources that a cloud game client needs to download, where the download resource information is used to indicate the data transmission capability required for the cloud game client to download the game resources, and the download resource information is allocated for the game resources that the cloud game client needs to download based on the transmission capability information of the cloud game client and the transmission resource information required for the cloud game client to run the target cloud game; the transmission capability information is detected during the process of the cloud game client running the target cloud game, and the transmission capability information is used to indicate the upper limit of the data transmission capability of the cloud game client; the transmission resource information is used to indicate the data transmission capability required for the cloud game client to run the target cloud game.
[0226] A processing unit 1001, configured to download game resources based on the download resource information.
[0227] In one implementation, the process of the cloud server detecting the data transmission capability of the cloud game client and allocating download resource information for the game resources that the cloud game client needs to download is dynamically performed according to a time period; the transmission capability information of the cloud game client includes the transmission capability information of the cloud game client within the current time period, and the transmission capability information of the cloud game client within the current time period is detected by the cloud server for the data transmission capability of the cloud game client within the current time period; the download resource information of the cloud game client includes the download resource information of the cloud game client within the next time period, and the download resource information of the cloud game client within the next time period is allocated by the cloud server for the game resources that the cloud game client needs to download within the next time period based on the transmission capability information of the cloud game client within the current time period and the transmission resource information of the cloud game client within the next time period.
[0228] The communication unit 1002 is further configured to receive the download time of the next time period from the cloud server.
[0229] When the processing unit 1001 is configured to download game resources based on the download resource information, it is specifically configured to perform the following steps:
[0230] Download game resources in the next time period based on the download resource information of the next time period and the download time of the next time period.
[0231] In one implementation, when the processing unit 1001 is configured to download game resources in the next time period based on the download resource information of the next time period and the download time of the next time period, it is specifically configured to perform the following steps:
[0232] Determine the download control parameters for the next time period according to the download resource information of the next time period and the download time of the next time period.
[0233] Send the download control parameters for the next time period to the data download server, so that the data download server can transmit game resources to the cloud game client within the next time period based on the download control parameters for the next time period.
[0234] In one implementation, the download control parameters include a download data volume control parameter and a download rate control parameter; when the processing unit 1001 is used to determine the download control parameters for the next time period according to the download resource information and the download time for the next time period, it is specifically used to perform the following steps:
[0235] Determine the download data volume control parameter for the next time period according to the download resource information and the download time for the next time period;
[0236] Obtain the latency information of the data download server;
[0237] Determine the download rate control parameter for the next time period according to the download resource information for the next time period and the latency information of the data download server;
[0238] Among them, the download data volume control parameter for the next time period is used to control the download data volume of game resources within the next time period; the download rate control parameter for the next time period is used to control the download rate of game resources within the next time period.
[0239] In one implementation, when the processing unit 1001 is used to determine the download rate control parameter for the next time period according to the download resource information for the next time period and the latency information of the data download server, it is specifically used to perform the following steps:
[0240] Obtain the actual throughput threshold for the current time period and the expected throughput threshold for the current time period; the actual throughput threshold for the current time period refers to the actual downloaded data volume of game resources within the current time period, and the expected throughput threshold for the current time period refers to the expected downloaded data volume of game resources within the current time period;
[0241] Determine the rate adjustment factor for the next time period according to the actual throughput threshold for the current time period and the expected throughput threshold for the current time period;
[0242] Determine the download rate control parameter for the next time period according to the download resource information for the next time period, the latency information of the data download server, and the rate adjustment factor for the next time period.
[0243] In one implementation, the game resource includes a first cloud game or a common network game, where the common network game refers to a network game that is not a cloud game; the first cloud game and the target cloud game are the same cloud game or different cloud games; the processing unit 1001 is used to download the game resource based on the download resource information, specifically to perform any of the following:
[0244] Download the game installation file of the game resource based on the download resource information;
[0245] Download the game resource based on the download resource information.
[0246] According to another embodiment of the present application, Figure 10 The various units in the processing device of the cloud game shown can be separately or completely combined into one or several other units to constitute, or one (some) of the units can be further divided into multiple functionally smaller units to constitute, which can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application. The above-mentioned units are divided based on logical functions. In practical applications, the function of one unit can also be implemented by multiple units, or the functions of multiple units can be implemented by one unit. In other embodiments of the present application, the processing device of the cloud game may also include other units. In practical applications, these functions can also be implemented with the assistance of other units, and can be implemented by the collaboration of multiple units.
[0247] According to another embodiment of the present application, the program can be executed by running on a general computing device such as a computer including a central processing unit (CPU), a random access memory medium (RAM), a read-only memory medium (ROM), and other processing elements and storage elements. Figure 8 or Figure 9 A computer program for each step involved in part or all of the method shown in the figure is used to construct a computer program for each step involved in part or all of the method shown in the figure. Figure 10 The cloud game processing device shown in the embodiment of the present application is used to implement the cloud game processing method. The computer program can be recorded on a computer-readable storage medium, for example, and loaded into the above-mentioned computing device through the computer-readable storage medium and run therein.
[0248] In the embodiment of the present application, after detecting the upper limit of the data transmission capacity of the cloud gaming client, the upper limit of the data transmission capacity of the cloud gaming client can be reasonably allocated, and the data transmission capacity required for the cloud gaming client to run the target cloud game and the data transmission capacity required for the cloud gaming client to download game resources are reasonably allocated; thus, the cloud gaming client can run the target cloud game based on the data transmission capacity required to run the target cloud game, and the cloud gaming client can download game resources based on the data transmission capacity required to download game resources, so that it can achieve downloading while playing without affecting the existing cloud gaming experience.
[0249] Based on the above method and apparatus embodiments, an embodiment of the present application provides a computer device. Please refer to Figure 11 , Figure 11 which is a schematic structural diagram of a computer device provided by an embodiment of the present application. Figure 11 The computer device shown at least includes a processor 1101, an input interface 1102, an output interface 1103, and a computer-readable storage medium 1104. Among them, the processor 1101, the input interface 1102, the output interface 1103, and the computer-readable storage medium 1104 can be connected by a bus or other means.
[0250] The computer-readable storage medium 1104 can be stored in the memory of the computer device. The computer-readable storage medium 1104 is used to store a computer program, and the computer program includes computer instructions. The processor 1101 is used to execute the computer program stored in the computer-readable storage medium 1104. The processor 1101 (or CPU (Central Processing Unit, central processing unit)) is the computing core and control core of the computer device, which is suitable for implementing the computer program, and is specifically suitable for loading and executing the computer program to implement the corresponding method flow or corresponding function.
[0251] An embodiment of the present application also provides a computer-readable storage medium (Memory). The computer-readable storage medium is a memory device in the computer device, which is used to store programs and data. It can be understood that the computer-readable storage medium here can include both the built-in storage medium in the computer device, and of course can also include the extended storage medium supported by the computer device. The computer-readable storage medium provides a storage space, and the operating system of the computer device is stored in this storage space. And, a computer program suitable for being loaded and executed by the processor is also stored in this storage space. It should be noted that the computer-readable storage medium here can be a high-speed RAM memory, or a non-volatile memory (Non-Volatile Memory), such as at least one disk memory; optionally, it can also be at least one computer-readable storage medium located far from the aforementioned processor.
[0252] In some embodiments, the computer device can be the cloud server 102 in the cloud game processing system shown above Figure 1 . In a specific implementation, the processor 1101 can load and execute the computer program stored in the computer-readable storage medium 1104 to implement the corresponding steps in the processing method of the cloud game shown above Figure 6 or Figure 9 . In a specific implementation, the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101 to perform the following steps:
[0253] During the process of running the target cloud game on the cloud game client, detect the data transmission ability of the cloud game client to obtain the transmission ability information of the cloud game client; the transmission ability information is used to indicate the upper limit of the data transmission ability of the cloud game client.
[0254] Obtain the transmission resource information required for the cloud game client to run the target cloud game; the transmission resource information is used to indicate the data transmission ability required for the cloud game client to run the target cloud game.
[0255] Based on the transmission ability information and the transmission resource information, allocate download resource information for the game resources that the cloud game client needs to download; the download resource information is used to indicate the data transmission ability required for the cloud game client to download the game resources.
[0256] Send the download resource information to the cloud game client so that the cloud game client can download the game resources based on the download resource information.
[0257] In one implementation, the process of detecting the data transmission ability of the cloud game client and allocating download resource information for the game resources that the cloud game client needs to download is dynamically performed according to a time period.
[0258] When the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101 to detect the data transmission ability of the cloud game client and obtain the transmission ability information of the cloud game client, it is specifically used to execute the following steps:
[0259] During the current time period, detect the data transmission ability of the cloud game client to obtain the transmission ability information of the cloud game client during the current time period.
[0260] When the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101 to allocate download resource information for the game resources that the cloud game client needs to download based on the transmission ability information and the transmission resource information, it is specifically used to execute the following steps:
[0261] Based on the transmission ability information of the cloud game client during the current time period and the transmission resource information of the cloud game client during the next time period, allocate download resource information for the game resources that the cloud game client needs to download during the next time period.
[0262] Among them, the cloud game client downloads the game resources based on the download resource information, including: the cloud game client downloads the game resources based on the download resource information of the next time period during the next time period.
[0263] In one implementation, the computer program in the computer-readable storage medium 1104 is loaded by the processor 1101 and is also used to perform the following steps:
[0264] Obtain the time length of the next time period;
[0265] Take the time length of the next time period as the download time of the next time period;
[0266] Send the download time of the next time period to the cloud game client, so that the cloud game client can download game resources based on the download resource information and the download time of the next time period within the next time period.
[0267] In one implementation, during the running of the target cloud game on the cloud game client, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames; when the computer program in the computer-readable storage medium 1104 is loaded by the processor 1101 and executes to obtain the time length of the next time period, it is specifically used to perform the following steps:
[0268] Obtain the transmission quality information of the video frames corresponding to the target cloud game within the current time period;
[0269] Adjust the reference time length according to the transmission quality information to obtain the time length of the next time period;
[0270] Among them, the transmission quality information of the video frames within the current time period includes at least one of the following: the packet loss information of the video frames within the current time period and the delay information of the video frames within the current time period.
[0271] In one implementation, during the running of the target cloud game on the cloud game client, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames, and the video frames are divided into multiple data shards and sent to the cloud game client. Each time the cloud game client receives a data shard, it returns the shard confirmation information corresponding to the data shard;
[0272] When the computer program in the computer-readable storage medium 1104 is loaded by the processor 1101 and executes to detect the data transmission ability of the cloud game client within the current time period to obtain the transmission ability information of the cloud game client within the current time period, it is specifically used to perform the following steps:
[0273] Send data shards to the cloud game client within the current time period;
[0274] Count the target number of the shard confirmation information received within the current time period;
[0275] Calculate the transmission capacity information of the cloud game client within the current time period based on the target quantity, the data volume of each shard of the data sharding, and the time length of the current time period.
[0276] In one implementation, during the process of the cloud game client running the target cloud game, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames. The video frames at least include the first type of video frames and the second type of video frames, and the data volume of the first type of video frames is greater than that of the second type of video frames.
[0277] When the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101 to allocate download resource information for the game resources that the cloud game client needs to download in the next time period based on the transmission capacity information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period, it is specifically used to execute the following steps:
[0278] Based on the transmission capacity information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period, determine the remaining resource information of the cloud game client in the next time period; the remaining resource information is used to indicate the remaining data transmission capacity of the cloud game client after reserving the data transmission capacity required for the cloud game client to run the target cloud game in the next time period.
[0279] Reserve the resource information required for transmitting the first type of video frames in the remaining resource information of the cloud game client in the next time period to obtain the download resource information required for the cloud game client to download game resources in the next time period.
[0280] In one implementation, when the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101 to obtain the transmission resource information required for the cloud game client to run the target cloud game, it is specifically used to execute the following steps:
[0281] Obtain the picture quality requirement information of the target cloud game;
[0282] Based on the picture quality requirement information, determine the transmission resource information corresponding to the picture quality requirement information.
[0283] In other embodiments, the computer device may be the cloud game client 101 in the cloud game processing system shown above. Figure 1 In a specific implementation, the processor 1101 may load and execute the computer program stored in the computer-readable storage medium 1104 to implement the above-related Figure 8 or Figure 9The corresponding steps in the processing method of the cloud game shown. In a specific implementation, the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101 to perform the following steps:
[0284] Receive the download resource information allocated by the cloud server for the game resources that the cloud game client needs to download. The download resource information is used to indicate the data transmission capacity required for the cloud game client to download the game resources. The download resource information is allocated for the game resources that the cloud game client needs to download based on the transmission capacity information of the cloud game client and the transmission resource information required for the cloud game client to run the target cloud game. The transmission capacity information is detected during the process of the cloud game client running the target cloud game, and the transmission capacity information is used to indicate the upper limit of the data transmission capacity of the cloud game client. The transmission resource information is used to indicate the data transmission capacity required for the cloud game client to run the target cloud game.
[0285] Download the game resources based on the download resource information.
[0286] In one implementation, the process of the cloud server detecting the data transmission capacity of the cloud game client and allocating the download resource information for the game resources that the cloud game client needs to download is dynamically performed according to a time period. The transmission capacity information of the cloud game client includes the transmission capacity information of the cloud game client in the current time period. The transmission capacity information of the cloud game client in the current time period is detected by the cloud server in the current time period for the data transmission capacity of the cloud game client. The download resource information of the cloud game client includes the download resource information of the cloud game client in the next time period. The download resource information of the cloud game client in the next time period is allocated by the cloud server for the game resources that the cloud game client needs to download in the next time period based on the transmission capacity information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period.
[0287] The computer program in the computer-readable storage medium 1104 is loaded and also used by the processor 1101 to perform the following steps:
[0288] Receive the download time of the next time period from the cloud server.
[0289] When the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101 to download the game resources based on the download resource information, it is specifically used to perform the following steps:
[0290] Download the game resources in the next time period based on the download resource information of the next time period and the download time of the next time period.
[0291] In one implementation, the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101. When downloading game resources in the next time period based on the download resource information in the next time period and the download time in the next time period, it is specifically used to execute the following steps:
[0292] Determine the download control parameters for the next time period according to the download resource information in the next time period and the download time in the next time period;
[0293] Send the download control parameters for the next time period to the data download server, so that the data download server can transmit the game resources to the cloud game client within the next time period based on the download control parameters for the next time period.
[0294] In one implementation, the download control parameters include a download data volume control parameter and a download rate control parameter; when the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101 to determine the download control parameters for the next time period according to the download resource information in the next time period and the download time in the next time period, it is specifically used to execute the following steps:
[0295] Determine the download data volume control parameter for the next time period according to the download resource information in the next time period and the download time in the next time period;
[0296] Obtain the latency information of the data download server;
[0297] Determine the download rate control parameter for the next time period according to the download resource information in the next time period and the latency information of the data download server;
[0298] Among them, the download data volume control parameter for the next time period is used to control the download data volume of the game resources within the next time period; the download rate control parameter for the next time period is used to control the download rate of the game resources within the next time period.
[0299] In one implementation, when the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101 to determine the download rate control parameter for the next time period according to the download resource information in the next time period and the latency information of the data download server, it is specifically used to execute the following steps:
[0300] Obtain the actual throughput threshold of the current time period and the expected throughput threshold of the current time period; the actual throughput threshold of the current time period refers to the actual downloaded data volume of the game resources within the current time period, and the expected throughput threshold of the current time period refers to the expected downloaded data volume of the game resources within the current time period;
[0301] Determine the rate adjustment factor for the next time period according to the actual throughput threshold of the current time period and the expected throughput threshold of the current time period;
[0302] Determine the download rate control parameter for the next time period according to the download resource information of the next time period, the delay information of the data download server, and the rate adjustment factor of the next time period.
[0303] In one implementation, the game resources include the first cloud game or an ordinary online game, and the ordinary online game refers to an online game that is not a cloud game; the first cloud game and the target cloud game are the same cloud game or different cloud games; when the computer program in the computer-readable storage medium 1104 is loaded and executed by the processor 1101 to download the game resources based on the download resource information, it is specifically used to execute any one of the following:
[0304] Based on the download resource information, download the game installation file of the game resources;
[0305] Based on the download resource information, download the game resources of the game resources.
[0306] In the embodiments of the present application, after detecting the upper limit of the data transmission capacity of the cloud game client, the upper limit of the data transmission capacity of the cloud game client can be reasonably allocated, and the data transmission capacity required for the cloud game client to run the target cloud game and the data transmission capacity required for the cloud game client to download the game resources can be reasonably allocated; thus, the cloud game client can run the target cloud game based on the data transmission capacity required to run the target cloud game, and the cloud game client can download the game resources based on the data transmission capacity required to download the game resources, so that it is possible to play while downloading without affecting the existing cloud game playing experience.
[0307] The embodiments of the present application also provide a computer program product or a computer program. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above-mentioned processing method of the cloud game.
[0308] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed in the present application can be implemented by electronic hardware, or by a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0309] In the embodiments of the present application, the term "module" or "unit" refers to a computer program with a predetermined function or a part of a computer program, which works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Similarly, one processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of an overall module or unit that includes the functions of that module or unit.
[0310] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted through a computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center in a wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer-readable storage medium can be any available medium that the computer can access or a data storage device such as a server or a data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.
[0311] As described above, the above are only the specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed in the present application can easily think of changes or substitutions, which should all be covered by the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims
1. A processing method for cloud games, characterized in that, Including: During the process of running a target cloud game on a cloud game client, detecting the data transmission capability of the cloud game client to obtain the transmission capability information of the cloud game client; The transmission capability information is used to indicate the upper limit of the data transmission capability of the cloud game client; Obtaining the transmission resource information required for the cloud game client to run the target cloud game; The transmission resource information is used to indicate the data transmission capability required for the cloud game client to run the target cloud game; Based on the transmission capability information and the transmission resource information, allocating download resource information for the game resources to be downloaded by the cloud game client; the download resource information is used to indicate the data transmission capability required for the cloud game client to download the game resources; Sending the download resource information to the cloud game client so that the cloud game client downloads the game resources based on the download resource information.
2. The method according to claim 1, characterized in that, The process of detecting the data transmission capability of the cloud game client and allocating download resource information for the game resources to be downloaded by the cloud game client is dynamically carried out according to a time period; The process of detecting the data transmission capability of the cloud game client to obtain the transmission capability information of the cloud game client includes: During the current time period, detecting the data transmission capability of the cloud game client to obtain the transmission capability information of the cloud game client during the current time period; The process of allocating download resource information for the game resources to be downloaded by the cloud game client based on the transmission capability information and the transmission resource information includes: Based on the transmission capability information of the cloud game client during the current time period and the transmission resource information of the cloud game client during the next time period, allocating the download resource information for the game resources to be downloaded by the cloud game client during the next time period; Wherein, the cloud game client downloading the game resources based on the download resource information includes: the cloud game client downloading the game resources based on the download resource information of the next time period during the next time period.
3. The method according to claim 2, wherein The method further includes: Obtaining the time length of the next time period; Taking the time length of the next time period as the download time of the next time period; Sending the download time of the next time period to the cloud game client so that the cloud game client downloads the game resources based on the download resource information and the download time of the next time period during the next time period.
4. The method according to claim 3, wherein During the process of the cloud game client running the target cloud game, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames; the process of obtaining the time length of the next time period includes: Obtaining the transmission quality information of the video frames corresponding to the target cloud game during the current time period; Adjusting a reference time length according to the transmission quality information to obtain the time length of the next time period; Among them, the transmission quality information of the video frame in the current time period includes at least one of the following: the packet loss information of the video frame in the current time period and the delay information of the video frame in the current time period.
5. The method according to claim 2, wherein During the process of running the target cloud game on the cloud game client, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames, and the video frames are divided into multiple data shards and sent to the cloud game client. Each time the cloud game client receives a data shard, it returns the shard acknowledgment information corresponding to the data shard. During the current time period, detecting the data transmission capability of the cloud game client to obtain the transmission capability information of the cloud game client in the current time period includes: Sending the data shard to the cloud game client during the current time period; Counting the target number of shard acknowledgment information received during the current time period; Calculating the transmission capability information of the cloud game client in the current time period according to the target number, the shard data volume of the data shard, and the time length of the current time period.
6. The method according to claim 2, wherein During the process of running the target cloud game on the cloud game client, the game screen of the target cloud game is transmitted to the cloud game client in the form of video frames. The video frames at least include video frames of a first type and video frames of a second type, and the data volume of the video frames of the first type is greater than the data volume of the video frames of the second type. Based on the transmission capability information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period, allocating the download resource information for the game resources that the cloud game client needs to download in the next time period includes: Determining the remaining resource information of the cloud game client in the next time period according to the transmission capability information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period; the remaining resource information is used to indicate the remaining data transmission capability of the cloud game client after reserving the data transmission capability required for the cloud game client to run the target cloud game in the next time period. Reserving the resource information required for transmitting the video frames of the first type in the remaining resource information of the cloud game client in the next time period to obtain the download resource information required for the cloud game client to download the game resources in the next time period.
7. The method according to claim 1, characterized in that, Obtaining the transmission resource information required for the cloud game client to run the target cloud game includes: Obtaining the picture quality requirement information of the target cloud game; Determining the transmission resource information corresponding to the picture quality requirement information according to the picture quality requirement information.
8. A processing method for cloud games, characterized in that Including: Receive the download resource information allocated by the cloud server for the game resources to be downloaded by the cloud game client, where the download resource information is used to indicate the data transmission capacity required for the cloud game client to download the game resources, and the download resource information is allocated for the game resources to be downloaded by the cloud game client based on the transmission capacity information of the cloud game client and the transmission resource information required for the cloud game client to run the target cloud game; The transmission capacity information is detected during the process of the cloud game client running the target cloud game, and the transmission capacity information is used to indicate the upper limit of the data transmission capacity of the cloud game client; The transmission resource information is used to indicate the data transmission capacity required for the cloud game client to run the target cloud game; Download the game resources based on the download resource information.
9. The method according to claim 8, wherein The process of the cloud server detecting the data transmission capacity of the cloud game client and allocating download information for the game resources to be downloaded by the cloud game client is dynamically carried out according to a time period; the transmission capacity information of the cloud game client includes the transmission capacity information of the cloud game client in the current time period, and the transmission capacity information of the cloud game client in the current time period is detected by the cloud server for the data transmission capacity of the cloud game client in the current time period; the download resource information of the cloud game client includes the download resource information of the cloud game client in the next time period, and the download resource information of the cloud game client in the next time period is allocated by the cloud server for the game resources to be downloaded by the cloud game client in the next time period based on the transmission capacity information of the cloud game client in the current time period and the transmission resource information of the cloud game client in the next time period; The method further includes: Receive the download time of the next time period from the cloud server; The downloading the game resources based on the download resource information includes: Download the game resources in the next time period based on the download resource information of the next time period and the download time of the next time period.
10. The method according to claim 9, characterized in that, The downloading the game resources in the next time period based on the download resource information of the next time period and the download time of the next time period includes: Determine the download control parameters of the next time period according to the download resource information of the next time period and the download time of the next time period; Send the download control parameters of the next time period to the data download server, so that the data download server transmits the game resources to the cloud game client in the next time period based on the download control parameters of the next time period.
11. The method according to claim 10, wherein The download control parameters include a download data volume control parameter and a download rate control parameter; determining the download control parameters for the next time period according to the download resource information for the next time period and the download time for the next time period includes: Determining the download data volume control parameter for the next time period according to the download resource information for the next time period and the download time for the next time period; Obtaining the latency information of the data download server; Determining the download rate control parameter for the next time period according to the download resource information for the next time period and the latency information of the data download server; Wherein, the download data volume control parameter for the next time period is used to control the download data volume of the game resources in the next time period; the download rate control parameter for the next time period is used to control the download rate of the game resources in the next time period.
12. The method according to claim 11, wherein Determining the download rate control parameter for the next time period according to the download resource information for the next time period and the latency information of the data download server includes: Obtaining the actual throughput threshold for the current time period and the expected throughput threshold for the current time period; the actual throughput threshold for the current time period refers to the actual download data volume of the game resources in the current time period, and the expected throughput threshold for the current time period refers to the expected download data volume of the game resources in the current time period; Determining the rate adjustment factor for the next time period according to the actual throughput threshold for the current time period and the expected throughput threshold for the current time period; Determining the download rate control parameter for the next time period according to the download resource information for the next time period, the latency information of the data download server, and the rate adjustment factor for the next time period.
13. The method according to claim 8, characterized in that, Downloading the game resources based on the download resource information includes any one of the following: Downloading game installation resources based on the download resource information; Downloading game rendering resources based on the download resource information; Wherein, the game installation resources include game installation resources for the first cloud game or ordinary online games, and the game rendering resources include game rendering resources for the first cloud game or the ordinary online games; the first cloud game and the target cloud game are the same cloud game or different cloud games.
14. A processing device for cloud games, characterized in that, Includes: A processing unit, configured to detect the data transmission capability of the cloud game client during the operation of the target cloud game on the cloud game client, and obtain the transmission capability information of the cloud game client; The transmission capability information is used to indicate the upper limit of the data transmission capability of the cloud game client; The processing unit is further configured to obtain the transmission resource information required for the cloud game client to run the target cloud game; the transmission resource information is used to indicate the data transmission capability required for the cloud game client to run the target cloud game. The processing unit is further configured to allocate download resource information for the game resources to be downloaded by the cloud game client based on the transmission capability information and the transmission resource information; the download resource information is used to indicate the data transmission capability required for the cloud game client to download the game resources. The communication unit is configured to send the download resource information to the cloud game client, so that the cloud game client downloads the game resources based on the download resource information.
15. A processing device for cloud games, characterized in that, Comprising: The communication unit is configured to receive the download resource information allocated by the cloud server for the game resources to be downloaded by the cloud game client, where the download resource information is used to indicate the data transmission capability required for the cloud game client to download the game resources, and the download resource information is allocated for the game resources to be downloaded by the cloud game client based on the transmission capability information of the cloud game client and the transmission resource information required for the cloud game client to run the target cloud game. The transmission capability information is detected during the process of the cloud game client running the target cloud game, and the transmission capability information is used to indicate the upper limit of the data transmission capability of the cloud game client. The transmission resource information is used to indicate the data transmission capability required for the cloud game client to run the target cloud game. The processing unit is configured to download the game resources based on the download resource information.
16. A computer device, characterized in that, The computer device includes: A processor, adapted to implement a computer program; A computer-readable storage medium storing a computer program, the computer program being adapted to be loaded and executed by the processor to perform the processing method of the cloud game according to any one of claims 1-7, or the processing method of the cloud game according to any one of claims 8-13.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, the computer program being adapted to be loaded and executed by the processor to perform the processing method of the cloud game according to any one of claims 1-7, or the processing method of the cloud game according to any one of claims 8-13.
18. A computer program product, characterized in that, The computer program product includes a computer program, and when the computer program is executed by the processor, it implements the processing method of the cloud game according to any one of claims 1-7, or the processing method of the cloud game according to any one of claims 8-13.