Control Method of Cloud Service and Related Device
By building a virtual device storage model for cloud servers, and automatically installing and updating cloud game applications, the problem of cumbersome cloud game installation operations is solved, the deployment efficiency is improved and user data is ensured.
Patent Information
- Application Number
- CN202111425078.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-26
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2041-11-26
AI Technical Summary
The installation operation of cloud games is cumbersome, the operation personnel are too involved, and the deployment efficiency is inefficient.
By building a virtual device storage model for a new cloud server, using the cloud operation platform to send installation requests to the source virtual device, automatically install the first application, and resetting the idle business virtual devices, using snapshots to generate a snapshot disk, to achieve automated installation and update of the application.
It simplifies the installation process of cloud games, reduces manual participation, improves the deployment and update efficiency of cloud games, and ensures user data cleaning and privacy security.
Smart Images

Figure CN116185438B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technologies, and in particular, to a control method for cloud services and related devices. Background Art
[0002] The rapid development of cloud computing-related technologies and the full commercialization of 5G networks have promoted the re-development of cloud games. Traditional end-side games are terminal software that requires a large amount of hardware resources (such as CPU, memory, graphics card, etc.). In the cloud gaming scenario, the game runs on virtual devices (such as cloud phones, cloud computers, etc.) on the cloud server, and the cloud server pushes the video stream rendered by the game to the client on the terminal device; the terminal device does not need to install the game, but only needs to install the cloud game client, decode the video stream in real time, and upload the user's input instructions to the cloud server, so that the cloud game can be viewed and operated in the form of a remote video. In this way, the terminal devices (such as mobile phones, tablets, computers, etc.) of game players do not need to have high-standard hardware performance and can also play cloud games smoothly.
[0003] Currently, the installation operation of cloud games on the cloud is cumbersome, with too much manual participation by operation personnel and low deployment efficiency. Summary of the Invention
[0004] This application provides a control method for cloud services and related devices, which can simplify the installation process of cloud games, greatly reduce manual participation, and effectively improve the deployment efficiency of cloud games.
[0005] In a first aspect, this application provides a control system for cloud services. The control system for cloud services includes a cloud operation platform and a cloud server. The cloud server includes a source virtual device and service virtual devices, where,
[0006] The cloud operation platform is configured to send an installation request to the source virtual device of the cloud server. The installation request is used to request the installation of a first application;
[0007] The source virtual device of the cloud server is configured to obtain and execute the installation package of the first application to install the first application on the source data disk of the source virtual device, and send a first notification message indicating that the first application is installed to the cloud operation platform after the installation of the first application is completed;
[0008] The cloud operation platform is further configured to send a first reset request to the cloud server after receiving the first notification message. The first reset request is used to request to reset the idle service virtual devices of the cloud server;
[0009] The cloud server is further configured to reset the idle service virtual devices of the cloud server indicated by the first reset request. The idle service virtual devices include a first service virtual device. Resetting the first service virtual device includes taking a snapshot of the source data disk to generate a snapshot disk of the first service virtual device.
[0010] In the embodiments of the present application, the first application may be a game application, a video application, a music application, etc. The embodiments of the present application do not specifically limit the application type of the first application.
[0011] Implementing the embodiments of the present application can construct a storage model for virtual devices of a new cloud server. That is, the cloud game server includes a source virtual device and a service virtual device. The source virtual device includes a source data disk for storing application installation data, and the service virtual device includes a snapshot disk for storing application installation data. The cloud operation platform triggers the cloud server to first install the first application on the source data disk of the source virtual device. After the installation is completed, the cloud operation platform triggers the cloud server to reset all idle service virtual devices. After the reset, the snapshot disks of the service virtual devices that redo the snapshot based on the source data disk also install the first application in the source data disk. In this way, only the cloud operator needs to submit the installation task of the first application on the cloud operation platform, and the installation process of the first application can be triggered in one click. The subsequent installation process can complete the application installation without manual participation, greatly simplifying the installation process of cloud applications (such as cloud games) and effectively improving the deployment efficiency of cloud applications.
[0012] In one implementation, the service virtual device of the cloud server further includes a second service virtual device. When the cloud server resets the idle service virtual devices of the cloud server indicated by the first reset request, the second service virtual device runs the second application. The second service virtual device of the cloud server is used to send a user exit event to the cloud operation platform when it detects that the user exits the second application. The cloud operation platform is further used to send a second reset request to the cloud server after receiving the user exit event. The cloud server is further used to reset the second service virtual device indicated by the second reset request.
[0013] Implementing the embodiments of the present application, after the source virtual device installs the first application, the cloud server only resets the idle service virtual devices indicated by the first reset request. For the non-idle second service virtual device, the user exit event when the user exits the service virtual device can be used to trigger the cloud server to reset the second service virtual device that has been converted to an idle state, so that the second service virtual device also installs the first application. In this way, all service virtual devices on the cloud server will install the first application. In addition, resetting the service virtual device based on the player exit event can also ensure user data cleaning and complete user isolation, improving system security and user privacy.
[0014] In one implementation, the control system of the cloud service further includes a file server. The above-mentioned obtaining and executing the installation package of the first application specifically includes: sending a first download request to the file server based on the installation request, where the first download request is used to download the installation package of the first application; receiving the installation package of the first application sent by the file server.
[0015] In the embodiments of the present application, the file server may be the business server corresponding to the first application, or the server corresponding to the application market application (APP). Implementing the embodiments of the present application, the source virtual device of the cloud server may obtain the installation package of the first application from the file server.
[0016] In one implementation, before the cloud operation platform sends an installation request to the source virtual device of the cloud server, the cloud operation platform is further configured to receive the preset information of the first application, and the installation request includes the preset information of the first application, and the preset information of the first application instructs the file server to obtain the installation package of the first application. In one implementation, the preset information of the first application may include the identifier of the first application and / or the address of the installation package of the first application.
[0017] Implementing the embodiments of the present application, the operator of the operator can submit the preset information of the first application on the cloud operation platform and trigger the installation of the first application. The cloud operation platform sends the preset information of the first application to the file server via the cloud server to instruct the file server to obtain the installation package of the first application based on the above preset information.
[0018] In one implementation, after the cloud server resets the business virtual device indicated by the first reset request, the source virtual device of the cloud server is further configured to obtain the resource package of the first application and install it on the source data disk to update the first application; the source virtual device of the cloud server is further configured to send a second notification message indicating that the update of the first application is completed to the cloud operation platform; the cloud operation platform is further configured to send a third reset request to the cloud server after determining that the update of the first application is completed; the cloud server is further configured to reset the idle business virtual device of the cloud server indicated by the third reset request.
[0019] Implementing the embodiments of the present application, after the cloud server installs the first application, the source virtual device of the cloud server may further obtain the resource package of the first application to update the first application installed on the source virtual device. After the source virtual device is updated, the cloud operation platform triggers the cloud server to reset all idle business virtual devices, and the snapshot disks of the business virtual devices that redo the snapshot based on the source data disk after the reset also install the updated first application, that is, the first application is also updated. In this way, after the cloud server installs the first application, it can also achieve unattended automatic update, improving the cloud application update efficiency.
[0020] In one implementation, the above-mentioned obtaining the resource package of the first application and installing it on the source data disk includes: starting the first application through the cloud application service of the source virtual device, the first application obtaining the resource package of the first application from the file server, and installing the resource package of the first application on the source data disk; or, obtaining the resource package of the first application from the file server through the cloud application service of the source virtual device, and installing the resource package of the first application on the source data disk.
[0021] When implementing the embodiments of the present application, the cloud application service of the source virtual device can start the first application, the first application can obtain the resource package of the first application, and the update of the first application of the source virtual device can be realized. In this way, the update of the first application can be realized by using the inherent update mechanism of the first application itself.
[0022] In one implementation manner, before the first application obtains the resource package of the first application from the file server, the cloud application service of the source virtual device of the cloud server is further configured to collect the user interface of the first application, and identify whether there is an update button on the collected user interface; if it is identified that there is an update button on the collected user interface, the cloud application service of the source virtual device generates a first system command for simulating a click on the update button; the first application obtains the resource package of the first application from the file server, which specifically includes: after detecting that the update button is clicked based on the first system command, the first application sends a second download request to the file server, and the second download request is used to download the resource package of the first application; the first application receives the resource package of the first application sent by the file server.
[0023] When implementing the embodiments of the present application, it is possible to determine whether the first application is updated by detecting whether the user interface of the first application includes an update button; when the first application has an update, the first application is triggered to be updated by simulating a system command. In this way, the update of the first application can be realized by combining the update button of the first application itself and the mechanism of triggering the update by the system command.
[0024] In one implementation manner, before sending a second notification message indicating that the update of the first application is completed to the cloud operation platform, the cloud application service of the source virtual device of the cloud server is further configured to collect the user interface of the first application, and identify whether the collected user interface includes indication information, and the indication information is used to indicate that the update of the first application is completed; the above-mentioned sending the second notification message indicating that the update of the first application is completed to the cloud operation platform specifically includes: when it is identified that there is indication information on the collected user interface, sending the second notification message indicating that the update of the first application is completed to the cloud operation platform.
[0025] In one implementation manner, before the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk, the cloud operation platform is further configured to query whether the first application has an update; the cloud operation platform is further configured to, when determining that the first application has an update, send an update request to the source virtual devices of all cloud servers, and the update request is used to request an update of the first application; obtaining the resource package of the first application and installing it on the source data disk specifically includes: based on the first application indicated by the update request, obtaining the resource package of the first application and installing it on the source data disk.
[0026] After installing the first application on the cloud server in the embodiments of the present application, the cloud operation platform can periodically query whether the first application has an update to trigger the update process of the first application. In this way, automated updates without manual participation can also be achieved, improving the update efficiency of cloud applications.
[0027] In one implementation, before the cloud operation platform queries whether the first application has an update, the cloud operation platform is further configured to start an update timing task, and the update timing task is used to periodically query whether the installed applications have updates.
[0028] After implementing the embodiments of the present application, the cloud operation platform can start an update timing task to periodically query whether the installed applications have updates. In this way, automated updates without manual participation can also be achieved, improving the update efficiency of cloud applications.
[0029] In one implementation, before the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk, the source virtual device of the cloud server is further configured to query whether the first application has an update; the above-mentioned obtaining the resource package of the first application and installing it on the source data disk specifically includes: when the first application has an update, obtaining the resource package of the first application and installing it on the source data disk.
[0030] After installing the first application on the cloud server in the embodiments of the present application, the source virtual device of the cloud server can periodically query whether the first application has an update to trigger the update process of the first application. In this way, automated updates without manual participation can also be achieved, improving the update efficiency of cloud applications.
[0031] In one implementation, before the source virtual device of the cloud server queries whether the first application has an update, the source virtual device of the cloud server is further configured to start an update timing task, and the update timing task is used to periodically query whether the installed applications have updates.
[0032] After implementing the embodiments of the present application, the source virtual device of the cloud server can start an update timing task to periodically query whether the installed applications have updates. In this way, automated updates without manual participation can also be achieved, improving the update efficiency of cloud applications.
[0033] In one implementation, the above-mentioned querying whether the first application has an update specifically includes: sending a query request to the file server, where the query request is used to query the update information of the installed first application; receiving the update information of the first application sent by the file server, and determining whether the first application has an update based on the update information of the first application.
[0034] In one implementation, the query request carries the current version number of the first application, and the update information is determined by the file server based on the current version number and the latest version number of the first application.
[0035] In one implementation, the control system of the cloud service further includes a cloud infrastructure console. The sending of the first reset request to the virtual device control service of the cloud server includes: sending the first reset request to the virtual device control service of the cloud server via the cloud infrastructure console.
[0036] In a second aspect, the present application provides a method for controlling a cloud service. The method includes: the cloud operation platform sending an installation request to the source virtual device of the cloud server, where the installation request is used to request the installation of a first application; after the cloud operation platform receives a first notification message sent by the source virtual device indicating that the installation of the first application is completed, the cloud operation platform sends a first reset request to the cloud server; the first notification message is sent after the source virtual device installs the first application on the source data disk of the source virtual device, and the first reset request is used to request the reset of the idle business virtual devices of the cloud server; the idle business virtual devices include a first business virtual device, and resetting the first business virtual device includes performing a snapshot on the source data disk to generate a snapshot disk of the first business virtual device.
[0037] Implementing the embodiments of the present application can construct a new storage model for the virtual devices of the cloud server, that is, the cloud game server includes a source virtual device and a business virtual device. The source virtual device includes a source data disk for storing application installation data, and the business virtual device includes a snapshot disk for storing application installation data; the cloud operation platform triggers the cloud server to first install the first application on the source data disk of the source virtual device; after the installation is completed, the cloud operation platform triggers the cloud server to reset all idle business virtual devices, and the snapshot disks of the business virtual devices that redo the snapshot based on the source data disk after the reset also install the first application in the source data disk. In this way, the cloud operator only needs to submit the installation task of the first application on the cloud operation platform, and can trigger the installation process of the first application in one click. The subsequent installation process can complete the application installation without manual participation, greatly simplifying the installation process of cloud applications (such as cloud games) and effectively improving the deployment efficiency of cloud applications.
[0038] In one implementation, the business virtual devices of the cloud server further include a second business virtual device. When the cloud server resets the idle business virtual devices of the cloud server indicated by the first reset request, the second business virtual device runs a second application. The method further includes: the cloud operation platform receiving a user exit event sent by the second business virtual device; in response to the user exit event, the cloud operation platform sends a second reset request to the cloud server, where the second reset request is used to request the reset of the second business virtual device.
[0039] In one implementation, before the cloud operation platform sends an installation request to the source virtual device of the cloud server, it further includes: the cloud operation platform receives the preset information of the first application, the installation request includes the preset information of the first application, and the preset information of the first application instructs the file server to obtain the installation package of the first application; the first address is used for the source virtual device to obtain the installation package of the first application from the file server. In one implementation, the preset information of the first application may include the identifier of the first application and / or the address of the installation package of the first application.
[0040] In one implementation, after sending the first reset request to the cloud server, it further includes: the cloud operation platform receives the second notification message sent by the source virtual device indicating that the update of the first application is completed. The second notification message is sent after the source virtual device obtains the resource package of the first application and installs it on the source data disk. The resource package of the first application is used for the source virtual device to update the first application; after receiving the second notification message, the cloud operation platform sends a third reset request to the cloud server, and the third reset request is used to request to reset the idle business virtual devices of the cloud server.
[0041] In one implementation, before the cloud operation platform receives the second notification message sent by the source virtual device indicating that the update of the first application is completed, it further includes: the cloud operation platform queries whether there is an update for the first application; when the cloud operation platform determines that there is an update for the first application, it sends an update request to the source virtual devices of all cloud servers, and the update request is used to request to update the first application.
[0042] In one implementation, before the cloud operation platform queries whether there is an update for the first application, the cloud operation platform starts an update timing task, and the update timing task is used to periodically query whether there is an update for the installed applications.
[0043] In one implementation, when the cloud operation platform queries whether there is an update for the first application, it specifically includes: the cloud operation platform sends a query request to the file server, and the query request is used to query the update information of the installed first application; receives the update information of the first application sent by the file server, and determines whether there is an update for the first application based on the update information of the first application.
[0044] In one implementation, the query request carries the current version number of the first application, and the update information is determined by the file server based on the current version number and the latest version number of the first application.
[0045] In one implementation, sending the first reset request to the cloud server includes: sending the first reset request to the cloud server through the cloud infrastructure console.
[0046] In a third aspect, the present application provides a cloud service control method, the method comprising: a source virtual device of a cloud server receiving an installation request sent by a cloud operation platform; in response to the installation request, the source virtual device of the cloud server obtaining and executing an installation package of a first application to install the first application on a source data disk of the source virtual device; the source virtual device sending a first notification message indicating that the installation of the first application is completed to the cloud operation platform; the source virtual device receiving a first reset request sent by the cloud operation platform; in response to the first reset request, the cloud server resetting idle service virtual devices of the cloud server indicated by the first reset request, the idle service virtual devices including a first service virtual device, and resetting the first service virtual device including taking a snapshot of the source data disk to generate a snapshot disk of the first service virtual device.
[0047] Implementing the embodiments of the present application can construct a storage model for virtual devices of a new cloud server, that is, the cloud game server includes a source virtual device and a service virtual device, the source virtual device includes a source data disk for storing application installation data, and the service virtual device includes a snapshot disk for storing application installation data; the cloud operation platform triggers the cloud server to first install the first application on the source data disk of the source virtual device; after the installation is completed, the cloud operation platform triggers the cloud server to reset all idle service virtual devices, and the snapshot disks of the service virtual devices that redo the snapshot based on the source data disk after the reset also install the first application in the source data disk. In this way, only the cloud operator needs to submit an installation task of the first application on the cloud operation platform, and the installation process of the first application can be triggered with one key, and the subsequent installation process can complete the application installation without manual participation, greatly simplifying the installation process of cloud applications (such as cloud games) and effectively improving the deployment efficiency of cloud applications.
[0048] In one implementation, the service virtual devices of the cloud server further include a second service virtual device. When the cloud server resets the idle service virtual devices of the cloud server indicated by the first reset request, the second service virtual device runs a second application; the method further comprises: when the second service virtual device of the cloud server detects that a user exits the second application, sending a user exit event to the cloud operation platform; the cloud server receiving a second reset request sent by the cloud operation platform; and in response to the second reset request, the cloud server resetting the second service virtual device indicated by the second reset request.
[0049] In one implementation, the above-mentioned source virtual device of the cloud server obtaining and executing the installation package of the first application includes: in response to the installation request, the source virtual device of the cloud server sending a first download request to a file server, the first download request being used to download the installation package of the first application; and the source virtual device receiving the installation package of the first application sent by the file server.
[0050] In one implementation, the installation request includes preset information of the first application, and the preset information of the first application instructs the file server to obtain the installation package of the first application. In one implementation, the preset information of the first application may include the identifier of the first application and / or the address of the installation package of the first application.
[0051] In one implementation, after the cloud server resets the second service virtual device indicated by the second reset request, it further includes: the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk to update the first application; the source virtual device sends a second notification message indicating that the first application update is completed to the cloud operation platform; the cloud server receives the third reset request sent by the cloud operation platform; the cloud server resets the idle service virtual device of the cloud server indicated by the third reset request.
[0052] In one implementation, obtaining the resource package of the first application and installing it on the source data disk includes: starting the first application through the cloud application service of the source virtual device, the first application obtains the resource package of the first application from the file server, and installs the resource package of the first application on the source data disk; or, obtaining the resource package of the first application from the file server through the cloud application service of the source virtual device, and installing the resource package of the first application on the source data disk.
[0053] In one implementation, before the first application obtains the resource package of the first application from the file server, it further includes: the cloud application service of the source virtual device of the cloud server collects the user interface of the first application, and identifies whether there is an update button on the collected user interface; if it is identified that there is an update button on the collected user interface, the cloud application service of the source virtual device generates a first system command to simulate clicking the update button; the first application obtains the resource package of the first application from the file server, specifically including: after detecting that the update button is clicked based on the first system command, the first application sends a second download request to the file server, and the second download request is used to download the resource package of the first application; the first application receives the resource package of the first application sent by the file server.
[0054] In one implementation, before the source virtual device sends a second notification message indicating that the first application update is completed to the cloud operation platform, it further includes: the cloud application service of the source virtual device of the cloud server is further used to collect the user interface of the first application, and identify whether the collected user interface includes indication information, and the indication information is used to indicate that the first application update is completed; the source virtual device sends a second notification message indicating that the first application update is completed to the cloud operation platform, specifically including: when it is identified that there is indication information on the collected user interface, the source virtual device sends a second notification message indicating that the first application update is completed to the cloud operation platform.
[0055] In one implementation, before the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk, it further includes: the source virtual device receives an update request sent by the cloud operation platform, and the update request is sent by the operation platform after querying that the first application has an update, and the update request is used to request to update the first application; the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk, specifically including: based on the first application indicated by the update request, the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk.
[0056] In one implementation, before the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk, it further includes: the source virtual device of the cloud server queries whether the first application has an update; the obtaining of the resource package of the first application and installing it on the source data disk specifically includes: when the first application has an update, obtaining the resource package of the first application and installing it on the source data disk.
[0057] In one implementation, before the source virtual device of the cloud server queries whether the first application has an update, it further includes: the source virtual device starts an update timing task, and the timing task is used to periodically query whether the installed applications have updates.
[0058] In one implementation, the source virtual device receiving the first reset request sent by the cloud operation platform includes: the source virtual device receives the first reset request sent by the cloud operation platform through the cloud infrastructure console.
[0059] In a fourth aspect, the present application provides a server, including one or more processors and one or more memories. The one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, and the computer program code includes computer instructions. When the one or more processors execute the computer instructions, the communication device is caused to execute the method described in any possible implementation manner of the second aspect or the third aspect above.
[0060] In a fifth aspect, an embodiment of the present application provides a computer storage medium, including computer instructions. When the computer instructions run on an electronic device, the communication device is caused to execute the method described in any possible implementation manner of the second aspect or the third aspect above.
[0061] In a sixth aspect, an embodiment of the present application provides a computer program product. When the computer program product runs on a computer, the computer is caused to execute the method described in any possible implementation manner of the second aspect or the third aspect above. Description of the Drawings
[0062] Figure 1 It is a system architecture diagram of the communication system provided by the embodiment of the present application;
[0063] Figure 2 A structural schematic diagram of a terminal device provided by an embodiment of the present application;
[0064] Figure 3 A structural schematic diagram of a cloud game server provided by an embodiment of the present application;
[0065] Figure 4 A schematic diagram of a control system of a cloud game provided by an embodiment of the present application;
[0066] Figure 5 A schematic diagram of the implementation of a cloud game provided by an embodiment of the present application;
[0067] Figure 6 A flowchart of a method for installing a cloud game provided by an embodiment of the present application;
[0068] Figure 7 A flowchart of a method for updating a cloud game provided by an embodiment of the present application;
[0069] Figure 8A and Figure 8B A schematic diagram of the game screen of a cloud game provided by an embodiment of the present application;
[0070] Figure 9 A flowchart of another method for updating a cloud game provided by an embodiment of the present application;
[0071] Figure 10 A flowchart of another method for updating a cloud game provided by an embodiment of the present application;
[0072] Figure 11 A flowchart of another method for updating a cloud game provided by an embodiment of the present application. Detailed implementation manners
[0073] Next, the technical solutions in the embodiments of the present application will be clearly and elaborately described with reference to the accompanying drawings. Among them, in the description of the embodiments of the present application, unless otherwise specified, " / " means "or". For example, A / B may mean A or B; "and / or" in the text is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B may mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of the present application, "a plurality of" means two or more than two.
[0074] Hereinafter, the terms "first" and "second" are for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the embodiments of the present application, unless otherwise specified, the meaning of "a plurality" is two or more.
[0075] The following introduces a communication system for cloud services provided by the embodiments of the present application.
[0076] Figure 1 Exemplarily shown is a system architecture diagram of a communication system 10 for cloud services provided by the embodiments of the present application. As Figure 1 shown, the communication system 10 includes terminal devices of at least one user (such as terminal device 100), a cloud infrastructure console 200, at least one cloud server (such as cloud server 300), a cloud operation platform 400, a file server 500, and an archive server 600.
[0077] The above terminal device 100, cloud infrastructure console 200, cloud server 300, cloud operation platform 400, file server 500, and archive server 600 can establish connections through a communication network and perform data transmission. Any one of the cloud infrastructure console 200, cloud server 300, cloud operation platform 400, file server 500, and archive server 600 can be a single server, or a server cluster composed of multiple servers, or a cloud computing center.
[0078] The terminal device 100 is configured with a display screen and is installed with a cloud application client (such as a cloud game client). The terminal device 100 can establish a connection with the cloud server 300 through the cloud application client to obtain cloud application services from the cloud server 300. The cloud application client can be an application program that provides a specified cloud application entry. Through the above cloud application entry, a user can request the cloud server 300 to start a specified cloud application (such as a first application). In some embodiments, the user can request the cloud server 300 to start the first application through a specified account in the cloud application client. The cloud server 300 can obtain the historical application data corresponding to the above account and apply the above historical application data to the first application. The first application can be a game application (such as game A), a video application, a music application, etc. Here, the application type of the first application is not specifically limited.
[0079] The cloud infrastructure console 200 is an entry provided by a cloud infrastructure manufacturer for upper-layer business customers (such as cloud game operators) to purchase and operate the infrastructure. The cloud infrastructure console 200 can control (such as restart or reset) the virtual devices in the cloud server 300.
[0080] The cloud server 300 can provide cloud application services of specified virtual devices (such as cloud game services for game applications) for the terminal device 100, so that users can play the first application even when the first application is not installed on the terminal device 100. The cloud server 300 usually has powerful graphics processing and data operation capabilities. Multiple virtual devices (cloud phones / cloud computers) can be virtualized on the cloud server 300, enabling the server to concurrently support multiple users to use cloud applications at the same time. The above multiple users can perform the same or different cloud applications simultaneously. For example, the cloud server 300 can receive the control instructions of the first application from the terminal device 100 to control the first application through the control instructions, and can send the real-time screen of the first application to the terminal device 100 in a streaming transmission mode. It can be understood that multiple cloud servers 300 can be deployed in the communication system 10, and the cloud server 300 is taken as an example for illustration here.
[0081] The cloud operation platform 400 is an operation platform built by cloud service operators (such as cloud game operators for game applications) based on cloud infrastructure. Cloud service operators can realize the cloud deployment (such as the installation of cloud applications) of cloud applications or cloud services, and the resource allocation and scheduling of cloud resources (such as virtual devices on cloud servers) through the cloud operation platform 400. For example, the cloud operation platform 400 can allocate virtual devices on a specified cloud server to run the first application for users to provide cloud application services of the first application for users; the cloud operation platform 400 can realize the time-division multiplexing of virtual devices of cloud servers, that is, after a user exits the application running on a virtual device, the cloud operation platform 400 can allocate the virtual device to the next user, improving the utilization rate of cloud servers.
[0082] The file server 500 is used to store application resources such as installation packages and update packages of cloud applications. The file server 500 can be the file server corresponding to the application market APP or the file server of a specified application. For example, after the application developer develops the first application, the installation package and update package of the first application can be stored in the file server 500; the cloud server 300 can obtain the installation package or update package of the first application according to the identifier of the first application or the file path of the first application in the file server 500; furthermore, the cloud server 300 can install the first application according to the installation package of the first application or update the first application according to the update package of the first application.
[0083] The archive server 600 is used to store and manage the historical user data corresponding to each account of the specified application. For example, when the above specified application is a game application, the archive server 600 can store and manage the historical user data corresponding to each account of the above game application, and the historical user data can include data such as player levels, game props, game friend lists, and game inscriptions.
[0084] The above communication network can be a local area network (LAN) or a wide area network (WAN), such as the Internet. The communication network can be implemented using any known network communication protocol, and the above network communication protocol can be various wired or wireless communication protocols, such as Ethernet, Universal Serial Bus (USB), FireWire, Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), Bluetooth, Wireless Fidelity (Wi-Fi), NFC, Voice over Internet Protocol (VoIP), a communication protocol supporting a network slicing architecture, or any other suitable communication protocol.
[0085] It should be noted that the devices in the above communication system 10 can be deployed on land, including indoors, outdoors, handheld or vehicle-mounted, can also be deployed on the water surface, and can also be deployed on airplanes and artificial satellites in the air. The embodiments of the present application do not make any limitations in this regard. In addition, Figure 1 It is only a schematic diagram of the system structure of the communication system provided by the embodiments of the present application, and does not constitute a specific limitation on the communication system 10. The communication system 10 may include more or fewer devices than shown, and no limitations are made here.
[0086] Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing technology. Cloud gaming technology enables thin clients with relatively limited graphics processing and data computing capabilities to run high-quality games. The main participants in cloud gaming are: cloud infrastructure providers, cloud gaming operators, game developers, and cloud gaming players. Cloud infrastructure providers offer network resources, hardware devices (such as cloud infrastructure consoles, cloud gaming servers, etc.), as well as virtualization capabilities, media encoding and decoding, and transmission capabilities; cloud gaming operators are responsible for the cloud deployment of games and game content management, implementing resource management and scheduling for virtual devices (cloud phones / cloud computers), and are responsible for the operation of cloud gaming; game developers are responsible for providing game content and supporting the cloud deployment of games. Cloud gaming players are mainly converted from existing mobile games, PC games, and console game players, and on this basis, cloud gaming players based on smart TVs will also be expanded.
[0087] The application type of the above first application is not specifically limited in the embodiments of the present application. In subsequent embodiments, taking the first application as a game application as an example, the control method of the cloud service provided by the embodiments of the present application will be introduced. When the first application is a game application, the cloud server 300 can also be referred to as the cloud gaming server 300, and the cloud operation platform 400 can also be referred to as the cloud gaming operation platform 400.
[0088] Next, the structure of the devices involved in the embodiments of the present application will be introduced.
[0089] Figure 2 An exemplary structural diagram of the terminal device 100 is shown.
[0090] The terminal device 100 can be a mobile phone, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, as well as a cellular phone, a personal digital assistant (PDA), an augmented reality (AR) device, a virtual reality (VR) device, an artificial intelligence (AI) device, a wearable device, a vehicle-mounted device, a smart home device, and / or a smart city device. The embodiments of the present application do not impose special restrictions on the specific type of this electronic device. The electronic device can be equipped with iOS, Android, Microsoft, or other operating systems.
[0091] The terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone interface 170D, a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0092] It can be understood that the structure schematically shown in the embodiments of the present invention does not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or have different component arrangements. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0093] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.
[0094] The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0095] A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store the instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can directly call it from the said memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0096] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0097] The embodiments of the present application do not specifically limit the connection manners of the above interfaces.
[0098] The charging management module 140 is configured to receive a charging input from a charger. The charger may be a wireless charger or a wired charger. In some embodiments of wired charging, the charging management module 140 may receive the charging input from the wired charger through the USB interface 130. In some embodiments of wireless charging, the charging management module 140 may receive the wireless charging input through the wireless charging coil of the terminal device 100. While charging the battery 142, the charging management module 140 may also supply power to the electronic device through the power management module 141.
[0099] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives inputs from the battery 142 and / or the charging management module 140 and supplies power to the processor 110, the internal memory 121, the display screen 194, the camera 193, the wireless communication module 160, etc. The power management module 141 can also be used to monitor parameters such as the battery capacity, the number of battery cycles, and the battery health status (leakage, impedance). In some other embodiments, the power management module 141 can also be disposed in the processor 110. In some other embodiments, the power management module 141 and the charging management module 140 can also be disposed in the same device.
[0100] The wireless communication function of the terminal device 100 can be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modulation and demodulation processor, and the baseband processor, etc.
[0101] The antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the terminal device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas. For example, the antenna 1 can be multiplexed as the diversity antenna of the wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0102] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc. applied to the terminal device 100. The mobile communication module 150 can include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves by the antenna 1, filter, amplify, etc. the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor and convert it into electromagnetic waves through the antenna 1 for radiation. In some embodiments, at least some functional modules of the mobile communication module 150 can be disposed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 can be disposed in the same device.
[0103] The modulation and demodulation processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. Subsequently, the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.), or displays an image or video through the display screen 194. In some embodiments, the modulation and demodulation processor may be an independent device. In other embodiments, the modulation and demodulation processor may be independent of the processor 110 and be disposed in the same device as the mobile communication module 150 or other functional modules.
[0104] The wireless communication module 160 may provide solutions for wireless communications applied to the terminal device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared technology (IR), etc. The wireless communication module 160 may be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, demodulates and filters the electromagnetic wave signal, and transmits the processed signal to the processor 110. The wireless communication module 160 may also receive the signal to be transmitted from the processor 110, perform frequency modulation and amplification on it, and convert it into electromagnetic waves through the antenna 2 and radiate it out.
[0105] In some embodiments, antenna 1 of the terminal device 100 is coupled to the mobile communication module 150, and antenna 2 is coupled to the wireless communication module 160, enabling the terminal device 100 to communicate with the network and other devices through wireless communication technologies. The wireless communication technologies may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), beidou navigation satellite system (BDS), quasi-zenith satellite system (QZSS), and / or satellite based augmentation systems (SBAS).
[0106] The terminal device 100 implements the display function through the GPU, the display screen 194, and the application processor, etc. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change the display information.
[0107] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the terminal device 100 may include one or N display screens 194, where N is a positive integer greater than 1.
[0108] The terminal device 100 can implement the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, and the application processor, etc.
[0109] The ISP is used to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, and light passes through the lens and is transmitted to the camera photosensitive element. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converts it into an image visible to the naked eye. The ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. The ISP can also optimize parameters such as the exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.
[0110] The camera 193 is used to capture static images or videos. An object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in standard RGB, YUV, etc. formats. In some embodiments, the terminal device 100 may include one or N cameras 193, where N is a positive integer greater than 1.
[0111] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the terminal device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy, etc.
[0112] The video codec is used to compress or decompress digital videos. The terminal device 100 can support one or more video codecs. In this way, the terminal device 100 can play or record videos in multiple coding formats, such as: Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0113] The NPU is a neural-network (NN) computing processor. By learning from the biological neural network structure, such as learning from the transmission mode between human brain neurons, it can quickly process the input information and can also continuously self-learn. Through the NPU, applications such as intelligent cognition of the terminal device 100 can be realized, such as: image recognition, face recognition, speech recognition, text understanding, etc.
[0114] The internal memory 121 can include one or more random access memories (RAM) and one or more non-volatile memories (NVM).
[0115] The random access memory can include static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM, for example, the fifth generation of DDR SDRAM is generally called DDR5 SDRAM), etc.; the non-volatile memory can include disk storage devices, flash memory.
[0116] Flash memory can be classified into NOR Flash, NAND Flash, 3D NAND Flash, etc. according to the operating principle, and can be classified into single-level cell (SLC), multi-level cell (MLC), triple-level cell (TLC), quad-level cell (QLC), etc. according to the number of potential levels of storage cells. According to the storage specification, it can be classified into universal flash storage (UFS), embedded multi media Card (eMMC), etc.
[0117] The random access memory can be directly read and written by the processor 110, and can be used to store the operating system or the executable programs of other running programs (such as machine instructions), and can also be used to store the data of users and application programs, etc.
[0118] The non-volatile memory can also store executable programs and store the data of users and application programs, etc., and can be pre-loaded into the random access memory for the processor 110 to directly read and write.
[0119] The external memory interface 120 can be used to connect to an external non-volatile memory to expand the storage capacity of the terminal device 100. The external non-volatile memory communicates with the processor 110 through the external memory interface 120 to implement the data storage function. For example, files such as music and videos are saved in the external non-volatile memory.
[0120] The terminal device 100 can implement audio functions through the audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and the application processor, etc. For example, music playback, recording, etc.
[0121] The audio module 170 is used to convert digital audio information into an analog audio signal for output, and is also used to convert analog audio input into a digital audio signal. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be disposed in the processor 110, or some functional modules of the audio module 170 can be disposed in the processor 110.
[0122] The speaker 170A, also known as the "loudspeaker", is used to convert an audio electrical signal into a sound signal. The terminal device 100 can listen to music or hands-free calls through the speaker 170A.
[0123] The receiver 170B, also known as the "earpiece", is used to convert audio electrical signals into sound signals. When the terminal device 100 answers a call or a voice message, the voice can be received by bringing the receiver 170B close to the human ear.
[0124] The microphone 170C, also known as the "microphone" or "transmitter", is used to convert sound signals into electrical signals.
[0125] The headphone jack 170D is used to connect a wired headphone.
[0126] The pressure sensor 180A is used to sense pressure signals and can convert pressure signals into electrical signals. In some embodiments, the pressure sensor 180A can be disposed on the display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc.
[0127] The gyroscope sensor 180B can be used to determine the motion posture of the terminal device 100. In some embodiments, the angular velocity of the terminal device 100 around three axes (i.e., the x, y, and z axes) can be determined by the gyroscope sensor 180B.
[0128] The barometric pressure sensor 180C is used to measure barometric pressure.
[0129] The magnetic sensor 180D includes a Hall sensor.
[0130] The acceleration sensor 180E can detect the magnitude of the acceleration of the terminal device 100 in various directions (generally three axes).
[0131] The distance sensor 180F is used to measure distance.
[0132] The proximity light sensor 180G can include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The light-emitting diode can be an infrared light-emitting diode.
[0133] The ambient light sensor 180L is used to sense the ambient light brightness.
[0134] The fingerprint sensor 180H is used to collect fingerprints.
[0135] The temperature sensor 180J is used to detect temperature. In some embodiments, the terminal device 100 executes a temperature processing strategy using the temperature detected by the temperature sensor 180J.
[0136] The touch sensor 180K, also known as the "touch control device". The touch sensor 180K can be disposed on the display screen 194. The touch sensor 180K and the display screen 194 together form a touch screen, also known as the "touch control screen". The touch sensor 180K is used to detect touch operations acting thereon or nearby. The touch sensor can transmit the detected touch operations to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In some other embodiments, the touch sensor 180K can also be disposed on the surface of the terminal device 100, at a different position from that of the display screen 194.
[0137] The bone conduction sensor 180M can acquire vibration signals.
[0138] The button 190 includes a power-on button, a volume button, etc. The button 190 can be a mechanical button or a touch button.
[0139] The motor 191 can generate vibration prompts. The motor 191 can be used for incoming call vibration prompts or touch vibration feedback.
[0140] The indicator 192 can be an indicator light, which can be used to indicate the charging state, power change, or can also be used to indicate messages, missed calls, notifications, etc.
[0141] The SIM card interface 195 is used to connect the SIM card.
[0142] Figure 3 Exemplarily shown is the structure of a cloud game server 300 provided by an embodiment of the present application.
[0143] As Figure 3 shown, the cloud game server 300 can include: one or more network device processors 201, a memory 202, a communication interface 203, a receiver 205, a transmitter 206, a coupler 207, an antenna 208, and a network device interface 209. These components can be connected through the bus 204 or other means. Figure 3 Taking the connection through the bus as an example. Among them:
[0144] The communication interface 203 can be used for the cloud game server 300 to communicate with other communication devices, such as terminal devices. Specifically, the terminal device can be Figure 2The terminal device 100 shown. Specifically, the communication interface 203 can be a 5G communication interface or a communication interface for a future new air interface. Not limited to wireless communication interfaces, the cloud game server 300 can also be configured with a wired communication interface 203, such as a local access network (LAN) interface. The transmitter 206 can be used to perform transmission processing on the signals output by the network device processor 201. The receiver 205 can be used to perform reception processing on the mobile communication signals received by the antenna 208.
[0145] In some embodiments of the present application, the transmitter 206 and the receiver 205 can be regarded as a wireless modem. In the cloud game server 300, the number of the transmitter 206 and the receiver 205 can each be one or more. The antenna 208 can be used to convert the electromagnetic energy in the transmission line into electromagnetic waves in free space, or convert the electromagnetic waves in free space into electromagnetic energy in the transmission line. The coupler 207 is used to divide the mobile communication signals received by the antenna 208 into multiple paths and distribute them to multiple receivers 205.
[0146] The memory 202 is coupled to the network device processor 201 and is used to store various software programs and / or multiple sets of instructions. Specifically, the memory 202 can include a high-speed random access memory, and can also include a non-volatile memory, such as one or more disk storage devices, flash memory devices or other non-volatile solid-state storage devices. The memory 202 can store a network communication program, which can be used to communicate with one or more additional devices, one or more terminal devices, and one or more network devices.
[0147] In some embodiments of the present application, the memory 202 can be used to store the implementation program of the uplink synchronization method provided by one or more embodiments of the present application on the cloud game server 300 side. For the implementation of the detection method provided by one or more embodiments of the present application, please refer to the above embodiments.
[0148] The network device processor 201 can be used to read and execute computer-readable instructions. Specifically, the network device processor 201 can be used to call the program stored in the memory 202, such as the implementation program of the detection method provided by one or more embodiments of the present application on the cloud game server 300 side, and execute the instructions included in the program.
[0149] It should be noted that Figure 3 The cloud game server 300 shown is only one implementation manner of the embodiments of the present application. In actual applications, the cloud game server 300 can also include more or fewer components, which are not limited herein.
[0150] Next, a control system for a cloud game provided by the embodiments of the present application will be introduced.
[0151] Exemplarily, such as Figure 4 As shown, the control system of cloud gaming includes a cloud gaming operation platform 400, a cloud infrastructure console 200, and at least one cloud gaming server (such as cloud gaming server 300).
[0152] Among them, the cloud gaming server 300 runs a Linux operating system. Based on the above Linux operating system, the cloud gaming server 300 can run a container manager, a virtual device control service, a source virtual device, and business virtual devices 1 to N. The cloud gaming server 300 may also include virtual device image files.
[0153] The container manager may include a configuration list of the source virtual device and a configuration list of the business virtual devices. The container manager is used to create and manage the source virtual device based on the configuration list of the source virtual device, and create and manage business virtual devices 1 to N according to the configuration list of the business virtual devices.
[0154] The virtual device control service is used to control the virtual devices of the cloud gaming server 300 (i.e., the source virtual device and business virtual devices 1 to N). For example, sending a reset instruction to the container manager to control the container manager to reset some or all of the above business virtual devices 1 to N.
[0155] The virtual device image file is an image file generated based on an existing specified operating system (such as operating systems like iOS, Android, or Windows). A virtual device in the cloud gaming server 300 (i.e., the source virtual device or a business virtual device) runs the above specified operating system based on the virtual device image file and the system disk of the virtual device to build a stacked file system (such as overlayFs). This operating system has exactly the same functions as the real operating system, such as running the system desktop, independently installing and running software, and saving data. The virtual device image file is a read-only file. When a virtual device runs an operating system based on the virtual device image file, the system configurations modified relative to the original operating system are written into the system disk of the virtual device.
[0156] The cloud gaming operation platform 400 can call the virtual device control service of the cloud gaming server 300 through the restart / reset application programming interface (API) provided by the cloud infrastructure vendor console to control the restart / reset of the virtual devices of the cloud gaming server 300.
[0157] In some embodiments, the cloud game server 300 creates a source virtual device through a container manager, initializes the cloud game service of the source virtual device, and mounts a system disk and a data disk (such as a source data disk) for the source virtual device; the cloud game service in the source virtual device registers the source device identifier of the source virtual device with the cloud game operation platform 400. The system disk mounted by the source virtual device mainly stores the modified data of the system configuration when the source virtual device runs the specified operating system; the source data disk is used to install various cloud games and store the original installation data of the cloud games without user data. The physical capacity of the source data disk is usually large (such as 500G), and a large number of games can be installed and the game resources can be updated. In one implementation, the source data disk is mounted on the software installation directory of the source virtual device.
[0158] In some embodiments, the cloud game server 300 creates a service virtual device (such as service virtual device 1) through a container manager, initializes the cloud game service of service virtual device 1, and mounts a system disk and a data disk (such as a snapshot disk) for service virtual device 1; the cloud game service of service virtual device 1 registers the service device identifier corresponding to service virtual device 1 with the cloud game operation platform. The system disk mounted by service virtual device 1 mainly stores the modified data of the system configuration when service virtual device 1 runs the specified operating system; snapshot disk 1 is a snapshot of the source data disk. The physical capacity of the snapshot disk is usually small (such as 20G), and it is used to temporarily store user data, temporarily install games, and temporarily update game resources. When service virtual device 1 is reset, the temporary data on snapshot disk 1 is cleared, and a new snapshot is taken of the source data disk to generate a new snapshot disk 1.
[0159] It should be noted that a snapshot refers to an image of a specified data set at a certain point in time. Specifically, a snapshot includes a reference marker or pointer pointing to the specified data stored in a storage device, and in a computer, a snapshot can be used as a complete data backup. Compared with the original data, the marker or pointer occupies less memory. Therefore, the physical capacity of the snapshot disk generated through a snapshot can be much smaller than that of the source data disk.
[0160] In the embodiments of the present application, the differences between the source virtual device and other virtual devices (such as service virtual device 1) include: the source virtual device mounts a source data disk, and the service virtual device mounts a snapshot disk; system environment variables (such as device identifiers) identify the source virtual device as a source virtual device and identify the service virtual device as an ordinary virtual device that can provide cloud game services. In one implementation, except for the above differences, the other settings of the source virtual device and the service virtual device are the same.
[0161] In some embodiments, all virtual devices of the cloud game server 300 (including source virtual devices and service virtual devices) can be restarted. Restarting a virtual device means starting it again after it has been shut down, and the data on the system disk and data disk corresponding to the virtual device remains unchanged after restarting.
[0162] In some embodiments, the source virtual device cannot be reset, while the service virtual device can be reset. Taking the service virtual device 1 as an example, the container manager resetting the service virtual device 1 may include: shutting down the service virtual device 1 (e.g., clearing the processes of the service virtual device 1), deleting the system disk of the service virtual device 1, deleting the snapshot disk 1 of the service virtual device 1, reconstructing the service virtual device 1 based on the configuration list of the service virtual device, remaking the snapshot disk 1 of the service virtual device 1 based on the source data disk, reconstructing the system disk 1 of the service virtual device 1, and starting the reconstructed service virtual device 1. After resetting the service virtual device 1, the snapshot disk 1 of the service virtual device 1 obtains the clean original game installation data on the source data disk, and the system disk 1 has not yet saved the modified data of the system configuration. It can be understood that through resetting and snapshot, data disk sharing between the service virtual device and the source virtual device can be achieved.
[0163] Figure 4 For the shown control system of cloud games, by increasing the number of cloud game servers and / or service virtual devices, system expansion can be simply achieved; by reducing the number of cloud game servers and / or service virtual devices, system contraction can be simply achieved.
[0164] In the storage model of the virtual devices of the cloud game server provided by the embodiments of the present application, the source virtual device is responsible for maintaining a clean game installation data without user data and implementing the game automatic update ability; the source virtual device does not need to provide cloud game services to users, and the service virtual device is used to provide cloud game services to users. Through the registration of virtual devices, the cloud game operation platform 400 can learn the device flags and identities (such as identity document (ID)) of the source virtual devices of each cloud game server, as well as the device flags and identities (such as ID) of the service virtual devices, and then can allocate service virtual devices to game players to run cloud games, and call the virtual control service of the cloud game server to control the specified virtual device.
[0165] Figure 5 Exemplarily shows the implementation process of a player using cloud games after cloud game installation. As Figure 5 shown, the implementation process of cloud games may include steps (1) to (6).
[0166] (1) After the user opens the cloud game client of the terminal device 100 and selects to start Game A, after the cloud game client receives the input operation of the user to start Game A, in response to the above input operation, it sends a resource allocation request for Game A to the cloud game operation platform 400.
[0167] (2) In response to the resource allocation request, the cloud game operation platform 400 allocates an idle service virtual device (such as service virtual device 1) of a cloud game server (such as cloud game server 300) to this cloud game client, and sends the identifier of cloud game server 300 (such as the ID and / or IP address of cloud game server 300) and the identifier of service virtual device 1 (such as the ID of service virtual device 1) to this cloud game client.
[0168] (3) Based on the identifier of cloud game server 300 and the identifier of service virtual device 1, after the cloud game client establishes a connection channel with the cloud game service of service virtual device 1 of cloud game server 300, the cloud game client sends a start request to the cloud game service of service virtual device 1. The start request is used to request service virtual device 1 to start Game A, and the start request carries the identifier of Game A (such as the game ID).
[0169] (4) In response to the above start request, the cloud game service of service virtual device 1 starts Game A, and captures the game screen and game audio of Game A for rendering and encoding, generating an encoded video-audio stream.
[0170] (5) The cloud game service of service virtual device 1 sends the above encoded video-audio stream to the cloud game client of the terminal device 100; after the cloud game client decodes the video-audio stream, it displays the game screen of Game A in video form.
[0171] (6) After the cloud game client receives the operation instruction of the user for Game A, it sends the above operation instruction to the cloud game service of service virtual device 1, so that the cloud game server 300 controls Game A based on the above operation instruction.
[0172] The above operation instructions can be operation instructions input by the user through input devices such as touchscreens, keyboards, mice, joysticks, etc. The cloud game service of the service virtual device 1 executes the response event corresponding to the above operation instructions to control Game A. It can be understood that after the user inputs the operation instructions, the cloud game client can display the game screen of Game A after executing the above operation instructions. Exemplarily, when the user clicks the shooting button of Game A on the cloud game client and the cloud game service of the service virtual device 1 executes the response event of clicking the shooting button, the game screen of Game A in the virtual display screen of the service virtual device 1 shows the bullet flying out; the cloud game service of the service virtual device 1 can send the game screen on the virtual display screen to the cloud game client in real time. Therefore, the user can see the bullet flying out on the cloud game client.
[0173] In the embodiments of the present application, the control systems of other types of cloud services can also refer to Figure 4 the control system of the cloud game shown, and the embodiments of the present application will not be described in detail.
[0174] Combined with the foregoing communication system, hardware structure, and control system, the control method of the cloud service provided by the embodiments of the present application will be specifically introduced below.
[0175] The control method of the cloud service provided by the embodiments of the present application includes the installation of cloud games and the update of cloud games. In the cloud game installation method provided by the embodiments of the present application, a storage model of a virtual device of a new cloud game server is constructed; the cloud game operation platform 400 triggers the cloud game server to first install the game on the source data disk of the source virtual device; then the cloud game operation platform 400 resets all idle service virtual devices, and the snapshot disks of the service virtual devices that redo the snapshot based on the source data disk after reset also install Game A. When the player exit event triggers the non-idle service virtual device to be converted into an idle state, the installation of Game A on this service virtual device is also achieved through reset. In this way, as long as the cloud game operator submits the installation task of Game A on the cloud game operation platform 400, the installation process of Game A can be triggered in one click, and the subsequent installation process can complete the game installation without manual participation, effectively improving the deployment efficiency of game installation.
[0176] Exemplarily, Figure 6 shows a schematic flowchart of the above cloud game installation method, and the cloud game installation method includes but is not limited to steps S101 to step S116.
[0177] S101. The cloud game operation platform 400 receives the address of the installation package of Game A uploaded by the cloud game operator personnel, and the input operation to trigger the installation of Game A.
[0178] It can be understood that after the cloud game operator personnel log in to the cloud game operation platform 400, they upload the address 1 of the installation package of game A and trigger the installation of game A through a preset input operation.
[0179] The above address 1 of the installation package of game A can be a Uniform Resource Locator (URL) link. For example, the above address 1 is the URL link of the installation package of game A in the file server 500, and the URL link indicates the IP address of the file server 500 and also indicates the file path of the installation package of game A in the file server 500.
[0180] S102. In response to the above input operation, the cloud game operation platform 400 sends a game installation request to the cloud game service of the source virtual device of the cloud game server 300, and the game installation request carries the address 1 of the installation package of game A.
[0181] In some embodiments, the cloud game operation platform 400 sends a task of installing game A to the cloud game services of the source virtual devices of all cloud game servers. In some embodiments, the above operator personnel reserve a preset number of cloud game servers, and the cloud game operation platform 400 sends a task of installing game A to the cloud game services of the source virtual devices of the preset number of cloud game servers.
[0182] In some embodiments, a long-term connection channel is established between the cloud game service of the source virtual device of the cloud game server 300 and the cloud game operation platform 400 before step S102; in step S102, the cloud game operation platform 400 directly sends a game installation request to the cloud game service of the above source virtual device through this connection channel. In one implementation manner, after the cloud game service of the source virtual device of the cloud game server 300 applies for a network card port (such as port 1) of the cloud game server 300, it sends a long-term connection request to the cloud game operation platform 400 through port 1, and the above long-term connection request indicates port 1; the cloud game operation platform 400 establishes a long-term connection channel with the cloud game service of the above source virtual device based on port 1. In some embodiments, when the cloud game service of the source virtual device of the cloud game server 300 registers the source device flag with the cloud game operation platform 400, a long-term connection channel is established with the cloud game operation platform 400.
[0183] In some embodiments, the cloud game service of the source virtual device of the cloud game server 300 periodically establishes a temporary connection channel with the cloud game operation platform 400, and periodically queries the cloud game operation platform 400 through the above temporary connection channel to check whether there is a game installation task. In step S102, after receiving the input operation that triggers the installation of Game A, when the cloud game operation platform 400 receives the periodic query from the cloud game service of the above source virtual device, it issues a game installation request to the cloud game service of the above source virtual device through the temporary connection channel. In one implementation, after the cloud game service of the source virtual device of the cloud game server 300 applies for a network card port (such as port 1) of the cloud game server 300, it sends a temporary connection request to the cloud game operation platform 400 through port 1, and the above temporary connection request indicates port 1; the cloud game operation platform 400 establishes a temporary connection channel with the cloud game service of the above source virtual device based on port 1.
[0184] S103. In response to the above game installation request, the cloud game service of the source virtual device sends a download request to the file server 500 according to Address 1, and the download request is used to request to download the installation package of Game A.
[0185] S104. The file server 500 sends the installation package of Game A to the cloud game service of the source virtual device of the cloud game server.
[0186] In some embodiments, after the cloud game service of the source virtual device of the cloud game server 300 applies for a network card port (such as port 2) of the cloud game server 300, it establishes a connection channel with the file server 500 indicated by Address 1 through port 2. The cloud game service of the above source virtual device sends a download request to the file server 500 through the above connection channel, and the download request is used to request to download the installation package of Game A. In response to the above download request, the file server 500 obtains the installation package of Game A, and sends the installation package of Game A to the cloud game service of the above source virtual device through the above connection channel. The above connection channel can be a temporary connection channel or a long-term connection channel.
[0187] In some embodiments, Address 1 is a URL link, and the IP address of the file server 500 can be resolved according to the domain name in the URL link. The cloud game server 300 can send a download request to the file server 500 according to the IP address. In one implementation, the above URL link indicates the file path of the installation package of Game A in the file server 500; the file server 500 can obtain the installation package of Game A according to the file path of Game A. In one implementation, the download request also carries the identifier of Game A (such as the ID of Game A), and the file server 500 can obtain the installation package of Game A according to the identifier of Game A.
[0188] S105. The cloud game service of the above source virtual device executes the installation package of Game A through a system command and installs Game A on the source data disk.
[0189] In the embodiment of the present application, the cloud game service of the above source virtual device utilizes the system command of the operating system to execute the installation package of Game A, so as to install Game A on the source data disk. After the installation of Game A is completed by executing the above system command, the cloud game service of the above source virtual device receives the confirmation information generated by the operating system, and the confirmation information is used to indicate that the installation of Game A is completed.
[0190] S106. After detecting that the installation of Game A on the source virtual device is completed, the cloud game service of the above source virtual device reports the installation result of Game A to the cloud game operation platform 400.
[0191] S107. After determining that the installation of Game A is successful based on the installation result of Game A, the cloud game operation platform 400 sends a reset request 1 to the cloud infrastructure console 200, and the reset request 1 is used to notify the cloud infrastructure console 200 to reset all idle service virtual devices of the cloud game server 300.
[0192] In some embodiments, after the cloud game operation platform 400 determines that the installation of Game A is successful based on the installation result of Game A, it searches for all idle service virtual devices on the cloud game server 300 and obtains the identifiers (such as the IDs of the service virtual devices) of all the above idle service virtual devices; then, it sends a reset request 1 to the cloud infrastructure console 200, and the reset request 1 carries the identifier of the cloud game server 300 and the identifiers of all the above idle service virtual devices. Among them, the identifier of the cloud game server 300 can be the IP address, ID, etc. of the cloud game server 300, which are the information that uniquely identifies the cloud game server 300. It can be understood that the cloud game operation platform 400 is used to allocate and schedule the service virtual devices of all cloud game servers, and the cloud game operation platform 400 can know which idle service virtual devices there are on all cloud game servers. In one implementation, the cloud game operation platform 400 stores File 1, and File 1 indicates which unallocated idle service virtual devices and which allocated non-idle service virtual devices there are on the cloud game server 300.
[0193] S108. In response to the above reset request 1, the cloud infrastructure console 200 sends a reset request 2 to the virtual device control service of the cloud game server 300, and the reset request 2 is used to request the virtual device control service of the cloud game server 300 to reset all idle service virtual devices.
[0194] In some embodiments, the reset request 2 carries the identifiers of all idle service virtual devices of the cloud game server 300.
[0195] In some embodiments, after the virtual device control service of the cloud game server 300 applies for the network card port (such as port 3) of the cloud game server 300, a connection channel is established with the cloud infrastructure console 200 through port 3. The cloud infrastructure console 200 sends a reset request 2 to the virtual device control service of the cloud game server 300 through this connection channel. The above connection channel can be a temporary connection channel or a long-term connection channel.
[0196] S109. The virtual device control service of the cloud game server 300 resets all idle service virtual devices indicated by the above reset request 2.
[0197] In some embodiments, the reset request 2 carries the identifiers of all idle service virtual devices on the cloud game server 300, and the virtual device control service resets the service virtual devices indicated by the identifiers carried in the reset request 2, thereby completing the reset of all idle service virtual devices on the cloud game server 300.
[0198] In some embodiments, in response to the above reset request 2, the virtual device control service queries all currently idle service virtual devices of the cloud game server 300 and resets all the queried idle service virtual devices.
[0199] Exemplarily, the cloud game server 300 currently includes an idle service virtual device 1. Resetting the service virtual device 1 includes: shutting down the service virtual device 1, deleting the system disk of the service virtual device 1, deleting the snapshot disk 1 of the service virtual device 1, reconstructing the service virtual device 1 based on the configuration list of the virtual device, re-making the snapshot disk 1 of the service virtual device 1 based on the source data disk, reconstructing the system disk 1 of the service virtual device 1, and starting the reconstructed service virtual device 1. It can be understood that in step S105, game A is installed on the source data disk, and the source data disk includes the installation data of game A; after the service virtual device 1 is reset, the snapshot disk 1 re-made based on the source data disk also contains the installation data of game A, that is, game A has been installed on the service virtual device 1.
[0200] S110. The cloud game operation platform 400 provides cloud game services for players for game A.
[0201] It can be understood that as long as the cloud game server 300 installs game A on the source virtual device and resets the idle service virtual devices, the cloud game operation platform 400 can schedule the above idle service virtual devices to provide cloud game services for players for game A. Specifically, reference can be made to Figure 5 the description of the relevant embodiments, which will not be elaborated here.
[0202] S111. The non-idle business virtual device N of the cloud game server 300 runs game B, and the cloud game service of the business virtual device N detects that player 1 quits game B.
[0203] In some embodiments, after the terminal device 100 receives an input operation for quitting game B from the user, it sends information related to the above input operation to the cloud game service of the business virtual device N. Based on the information related to the above input operation, after the cloud game service of the business virtual device N determines that the above input operation is used to quit game B, it stops running game B. For example, the above input operation is a click operation on the quit button, and the information related to the above input operation includes the operation type and coordinates of the above input operation.
[0204] It can be understood that when performing the aforementioned installation step of game A, some business virtual devices (such as business virtual device N) may be providing cloud game services for game players for game B and are in a non-idle state. Therefore, game A cannot be installed in a timely manner when performing the aforementioned installation step of game A. After the aforementioned installation step is completed, if player 1 quits game B running on the business virtual device N, the business virtual device N changes from a non-idle state to an idle state.
[0205] S112. The cloud game service of the business virtual device N stops running game B and sends the user data of player 1 for game B and the game account 1 of player 1 to the archive server 600.
[0206] In some embodiments, the archive server 600 stores the user data of player 1 for game B in the historical user data corresponding to the game account 1. The archive server 600 is used to store and manage the historical user data corresponding to each game account of game B. The historical user data of the above game account 1 may include player level, obtained game items, game friend list, game inscriptions, etc., which are not specifically limited here.
[0207] In some embodiments, when player 1 requests the business virtual device of the cloud game server to run game B again through the game account 1, the business virtual device of the above cloud game server can obtain the historical user data corresponding to the game account 1 of game B from the archive server 600 and apply the historical user data to game B running on the above business virtual device. In this way, player 1 can continue to play game B smoothly in the cloud based on the historical user data (existing game level, game items, etc.).
[0208] The above-mentioned archive server 600 can be a server dedicated to storing historical user data in the control system of cloud gaming. Without being limited to the archive server 600, historical user data can also be stored in the game service server corresponding to Game B. Generally, single-player games can store historical user data in the archive server 600, and online multiplayer games that need to interact with the game service server can store historical user data in the game service server.
[0209] S113. The cloud gaming service of the service virtual device N reports a player exit event to the cloud gaming operation platform 400.
[0210] S114. When receiving the player exit event reported by the cloud gaming service of the service virtual device N, the cloud gaming operation platform 400 sends a reset request 3 to the cloud infrastructure console 200. The reset request 3 is used to request to reset the service virtual device N of the cloud gaming server 300.
[0211] In some embodiments, the reset request 3 carries the identifier of the cloud gaming server 300 and the identifier of the service virtual device N of the cloud gaming server 300.
[0212] S115. In response to the reset request 3, the cloud infrastructure console 200 sends a reset request 4 to the virtual device control service of the cloud gaming server 300. The reset request 4 is used to request to reset the service virtual device N.
[0213] In some embodiments, the reset request 4 carries the identifier of the service virtual device N of the cloud gaming server 300.
[0214] S116. In response to the reset request 4, the virtual device control service of the cloud gaming server 300 resets the service virtual device N.
[0215] It can be understood that the source data disk includes the installation data of Game A; after the service virtual device N is reset, the snapshot disk N that remakes the snapshot based on the source data disk also contains the installation data of Game A, that is, the service virtual device N has installed Game A.
[0216] Implementing the embodiments of the present application only requires the cloud gaming operator to submit an installation task of Game A on the cloud gaming operation platform 400, and the installation process of Game A can be triggered in a one-key manner. The subsequent installation process can complete the game installation without manual participation, effectively improving the deployment efficiency of game installation. Resetting the service virtual device based on the player exit event ensures user data cleaning and user complete isolation, enhancing system security and user privacy. In addition, by increasing or decreasing the number of cloud gaming servers and / or service virtual devices, system expansion or contraction can be simply achieved without other modifications.
[0217] An embodiment of the present application provides a method for updating cloud games. In this method, a cloud game operation platform 400 starts a game update timing task to periodically detect the update status of installed games; when it detects that Game A has an update, it notifies the source virtual devices of all cloud servers to update Game A, and after the update is completed, it notifies the cloud game operation platform 400 to reset all idle service virtual devices to install the updated Game A on the service virtual devices, that is, to update Game A. When a player exit event triggers a non-idle service virtual device to be converted to an idle state, the service virtual device also updates Game A through resetting. In this way, by starting the game update timing task on the cloud game operation platform 400, subsequent update checks and update processes can be triggered, realizing fully automated updates without manual intervention and improving the game update efficiency.
[0218] Exemplarily, Figure 7 The flowchart of the above cloud game update method is shown. The cloud game update method includes but is not limited to steps S201 to S223.
[0219] S201. The cloud game operation platform 400 starts a game update timing task 1; this timing task is used to trigger the cloud game operation platform 400 to periodically query the update information of installed games from the file server 500 in turn; if an update is found for a game based on the above update information, the update process corresponding to the game is executed.
[0220] Taking Game A as an example below, the game update process is described.
[0221] S202. The cloud game operation platform 400 sends a query request to the file server 500, and the above query request is used to query the update information of installed Game A.
[0222] S203. The cloud game operation platform 400 receives the update information of Game A sent by the file server 500.
[0223] In some embodiments, the cloud game operation platform 400 uses a preset duration as the timing period. At the start of timing period 1, it queries the update information of Game A in the installed game list and executes the subsequent update process based on the update information; at the start of the next timing period of timing period 1, it queries the update information of the next game in the installed game list and executes the subsequent update process based on the update information.
[0224] In some embodiments, the above query request carries the identifier 1 of game A and the current version number of game A; after receiving the above query request, the file server 500 queries the latest version number of game A corresponding to identifier 1; the file server 500 determines the update information of game A based on the current version number and the latest version number of game A, and sends the update information of game A to the cloud game operation platform 400; the above update information is used to indicate whether game A has an update. It can be understood that when the file server 500 determines that the current version number and the latest version number of game A are different, the above update information is used to indicate that game A has an update; when the file server 500 determines that the current version number and the latest version number of game A are the same, the above update information is used to indicate that game A has no update. The above identifier 1 of game A can be the name of game A, the ID of game A, and / or the address of game A in the file server 500 (such as a URL link).
[0225] In some embodiments, the above query request carries the identifier of game A; after receiving the above query request, the file server 500 queries the latest version number of game A corresponding to identifier 1, and sends update information to the cloud game operation platform 400, and the above update information is the latest version number of game A. When the cloud game operation platform 400 determines that the current version number and the latest version number of game A are different, the cloud game operation platform 400 determines that game A has an update; when the cloud game operation platform 400 determines that the current version number and the latest version number of game A are the same, the cloud game operation platform 400 determines that game A has no update.
[0226] S204. When it is determined that game A has an update based on the update information of game A fed back by the file server 500, the cloud game operation platform 400 sends an update request to the cloud game service of the source virtual device of all cloud game servers, and the update request is used to request an update of game A.
[0227] In some embodiments, when the cloud game operation platform 400 determines that game A has an update, it executes the update process corresponding to the game, that is, executes steps S204 to S216; when the cloud game operation platform 400 determines that game A has no update, the cloud game operation platform 400 queries the update information of the next installed game based on the scheduled task 1, that is, executes S217.
[0228] In some embodiments, the cloud game operation platform 400 establishes a connection channel with the cloud game service of the source virtual device of the cloud game server 300, and the cloud game operation platform 400 sends an update request to the cloud game service of the above source virtual device through this connection channel. The above update request may carry the identifier of game A. The above connection channel can be a temporary connection channel or a long-term connection channel.
[0229] It can be understood that when it is determined that there is an update for Game A, the cloud game operation platform 400 can send a task to update Game A to the cloud game services of the source virtual devices of all cloud game servers.
[0230] S205. In response to the above update request, the cloud game service of the source virtual device of the cloud game server 300 starts Game A, renders the game screen of Game A during the running of Game A, and displays it on the virtual display screen of the source virtual device.
[0231] S206. The cloud game service of the source virtual device of the cloud game server 300 captures the game screen of Game A and identifies whether there is an update button on the captured game screen.
[0232] In one embodiment, the game screen captured by the cloud game service of the source virtual device is the game screen displayed in real time on the virtual display screen of the source virtual device, or the latest rendered game screen of the source virtual device.
[0233] In one embodiment, after the cloud game service of the source virtual device starts Game A, Game A automatically sends a query request to the game business server corresponding to Game A to query whether there is an update for Game A; Game A determines whether there is an update for Game A based on the query result fed back by the game server. In one embodiment, after the cloud game service of the source virtual device of the cloud game server 300 starts Game A, the game business server corresponding to Game A automatically sends the latest version number of Game A to Game A; when Game A determines that the current version number of Game A is different from the latest version number, Game A determines that there is an update for Game A.
[0234] In one implementation manner, when it is determined that there is an update for Game A, Game A displays an update button at a preset position on the preset game screen. Exemplarily, after Game A starts, if it is determined that there is an update for Game A, then the Figure 8A shown game home page is displayed, and an update button 601 is displayed at a preset position on the game home page. In another implementation manner, when it is determined that there is an update for Game A, Game A displays an update prompt box, and the update prompt box includes an update button. Exemplarily, after Game A starts, if it is determined that there is an update for Game A, then the Figure 8B shown update prompt box 602 is displayed, and the update prompt box 602 includes a prompt message 603 and an update button 604. The prompt message 603 is used to prompt to update Game A before playing the game.
[0235] In one embodiment, the cloud game server 300 uses optical character recognition (OCR) technology to identify whether there is an update button on the captured game screen. OCR technology refers to the process in which an electronic device detects the characters displayed on a picture, determines the character shapes by detecting dark and bright patterns, and then translates the shapes into computer text using character recognition methods.
[0236] In one embodiment, the cloud game server 300 uses a trained neural network model for identifying the update button to identify whether there is an update button on the captured game screen.
[0237] S207. If the update button is recognized, the cloud game service of the source virtual device of the cloud game server 300 generates a system command 1 to simulate clicking the update button.
[0238] In one embodiment, after the cloud game server 300 recognizes the update button, it obtains the position of the update button in the game screen. To simulate clicking the update button, the cloud game server 300 generates a system command 1, and the system command 1 is used to indicate a click operation on the first coordinate, and the first coordinate is within the area where the update button is located. In one implementation, the above system command 1 includes the operation type of the input operation (i.e., the click operation) and the first coordinate on which the input operation acts.
[0239] S208. After game A detects that the update button is clicked based on the above system command 1, game A sends a download request to the file server 500 to request to download the update package of game A.
[0240] In one embodiment, game A determines that the above system command 1 indicates a click event on the update button based on the first coordinate, operation type in the system command 1, and the local interface of game A.
[0241] S209. In response to the above download request, the file server 500 obtains the update package of game A and sends it to game A running on the source virtual device of the cloud game server 300.
[0242] In some embodiments, game A running on the source virtual device of the cloud game server 300 and the file server 500 establish a connection channel, and game A sends a download request to the file server 500 through this connection channel. The above download request may carry the identifier of game A; the file server 500 obtains the update package of game A based on the identifier of game A and feeds back the update package of game A to game A through the above connection channel. The above connection channel can be a temporary connection channel or a long-term connection channel.
[0243] After Game A obtains the update package of Game A, install the above update package to update the installation file of Game A in the source data disk.
[0244] It can be understood that after the update package of Game A is installed, the update files in the update package are stored in the source data disk.
[0245] After the cloud game service generation system command 1 of the above source virtual device is generated, it determines whether Game A is updated completed by identifying the indication information in the captured game screen.
[0246] In some embodiments, the above indication information is an update progress bar. During the update of Game A, an update progress bar of Game A is displayed on the game screen. The cloud game service of the above source virtual device determines whether Game A is updated completed by identifying the progress of the above update progress bar. When it is recognized that the update progress of the update progress bar reaches 100%, it is determined that Game A is updated completed.
[0247] In some embodiments, the above indication information is a prompt text. After Game A is updated completed, a prompt text is displayed on the game screen. The above prompt text is used to prompt that Game A is updated completed. The cloud game service of the above source virtual device determines whether Game A is updated completed by identifying whether the captured game screen includes the above prompt text.
[0248] After the cloud game service of the above source virtual device determines that Game A is updated completed, it reports the game update result to the cloud game operation platform 400.
[0249] After the cloud game service of the above source virtual device reports the game update result, it stops Game A.
[0250] After receiving the game update result reported by the cloud game service of the above source virtual device, the cloud game operation platform 400 sends a reset request 1 to the cloud infrastructure console 200. The reset request 1 is used to notify the cloud infrastructure console 200 to reset all idle business virtual devices of the cloud game server 300.
[0251] In response to the above reset request 1, the cloud infrastructure console 200 sends a reset request 2 to the virtual device control service of the cloud game server 300. The reset request 2 is used to request the virtual device control service of the cloud game server 300 to reset all idle business virtual devices.
[0252] The virtual device control service of the cloud game server 300 resets all idle business virtual devices indicated by the above reset request 2.
[0253] For the specific implementation of steps S214 to S216, reference can be made to the foregoing steps S107 to S109, which will not be elaborated here.
[0254] It can be understood that in step S105, the update package of game A has been installed on the source data disk, and the source data disk includes the installation data of the updated game A; after the business virtual device 1 is reset, the snapshot disk 1 that remakes the snapshot based on the source data disk also includes the installation data of the updated game A, that is, the business virtual device 1 has also updated game A.
[0255] S217. The cloud game operation platform 400 checks the update information of the next installed game.
[0256] In some embodiments, after the cloud game operation platform sends a reset request 1 to the cloud infrastructure console 200, it enters the timer waiting period of the timing task 1 and prepares to check the update information of the next installed game. In some embodiments, in step S216, after the virtual device control service of the cloud game server 300 resets all idle business virtual devices, it notifies the cloud game operation platform 400 that the reset is completed; after receiving the above notification, the cloud game operation platform 400 checks the update information of the next installed game.
[0257] In some embodiments, when the cloud game operation platform 400 determines that there is an update for the next installed game, it executes the update process corresponding to the game. Specifically, reference can be made to steps S204 to S216; when the cloud game operation platform 400 determines that there is no update for the next game, the cloud game operation platform 400 detects the update information of the next installed game, and so on.
[0258] S218. The non-idle business virtual device N of the cloud game server 300 runs game B, and the cloud game service of the business virtual device N detects that the player exits game B.
[0259] It can be understood that when performing the above update steps of game A, some virtual devices (such as business virtual device N) may be providing cloud game services to players and are in a non-idle state; therefore, game A cannot be updated in time when performing the above update steps of game A. After the above update steps are executed, if the player exits game B running on the business virtual device N, the business virtual device N changes from a non-idle state to an idle state.
[0260] S219. The cloud game service of the business virtual device N stops running game B and sends the user data of game B of player 1 and the game account 1 of player 1 to the archive server 600.
[0261] For the specific implementation of step S218, reference can be made to the relevant description of the foregoing step S112, which will not be elaborated here.
[0262] S220. The cloud game service of the business virtual device N reports the player exit event to the cloud game operation platform 400.
[0263] S221. When the cloud game operation platform 400 receives the player exit event reported by the cloud game service of the service virtual device N, the cloud game operation platform 400 sends a reset request 3 to the cloud infrastructure console 200, and the reset request 3 is used to request to reset the service virtual device N.
[0264] In some embodiments, the reset request carries the identifier of the cloud game server 300 and the identifier of the service virtual device N of the cloud game server 300.
[0265] S222. In response to the reset request 3, the cloud infrastructure console 200 sends a reset request 4 to the virtual device control service of the cloud game server 300, and the reset request 4 is used to request to reset the service virtual device N.
[0266] In some embodiments, the reset request 4 carries the identifier of the service virtual device N of the cloud game server 300.
[0267] S223. In response to the reset request 4, the virtual device control service of the cloud game server 300 resets the service virtual device N.
[0268] It can be understood that the source data disk includes the installation data of the updated game A; after the service virtual device N is reset, the snapshot disk N that remakes the snapshot based on the source data disk also contains the installation data of the updated game A, that is, the service virtual device N has updated the game A.
[0269] In some embodiments, the cloud game operation platform 400 starts a game update timing task, and this update timing task is used to trigger the cloud game operation platform 400 to query the update information of all installed games from the file server 500 at one time. If at least one installed game is found to have an update, the corresponding update process for each game is executed for the above at least one game. In one implementation, if at least one installed game is found to have an update, the corresponding update process for each game is executed for the above at least one game in turn. In one implementation, if at least one installed game is found to have an update, the corresponding update process for each game is executed for the above at least one game simultaneously.
[0270] In some embodiments, after receiving the update request sent by the cloud operation platform 400, in the update process of game A, the cloud game service of the above source virtual device does not need to start game A, and the cloud game service of the above source virtual device can directly request the file server 500 to obtain the resource package of game A, and update game A based on the above resource package. Exemplarily, see Figure 9, after step S204 (the cloud operation platform 400 sends an update request for updating game A to the cloud game service of the above source virtual device), and before step S212 (the cloud game service of the above source virtual device reports the game update result to the cloud game operation platform 400), steps S224 to S226 may be included, and S213 does not need to be executed after step S226.
[0271] S224. In response to the above update request, the cloud game service of the above source virtual device sends a download request to the file server 500, and the download request is used to request to download the resource package of game A.
[0272] S225. The file server 500 sends the resource package of game A to the cloud game service of the source virtual device of the cloud game server.
[0273] S226. The cloud game service of the above source virtual device executes the resource package of game A through a system command and installs game A on the source data disk.
[0274] For the specific implementation of steps S224 to S226, reference may be made to the relevant descriptions of steps S103 to S105, which will not be elaborated here.
[0275] In some embodiments, the above resource package may be an update package for updating game A, or an installation package of the updated game A, or an installation package of the old version of game A and the update package of game A. No specific limitation is made here.
[0276] In the embodiment of the present application, the cloud game service of the above source virtual device executes the resource package of game A by using the system command of the operating system, so as to install the resource package of game A on the source data disk and realize the update of game A. After the resource package is installed by executing the above system command, the cloud game service of the above source virtual device receives the confirmation information generated by the operating system, and the confirmation information can be used to indicate that game A is updated.
[0277] In some embodiments, when the above resource package includes the installation package of the updated game A or the installation package of the old version of game A, before the cloud game service of the above source virtual device executes the resource package of game A by using the system command of the operating system, the installation data of game A in the source data disk is deleted.
[0278] In another game update method provided by an embodiment of the present application, in this method, the source virtual devices of each cloud game server start a game update timing task to periodically detect the update status of the installed games; when it is detected that Game A has an update, update Game A, and after the update is completed, notify the cloud game operation platform 400 to reset all idle service virtual devices to install the updated Game A on the service virtual devices, that is, update Game A. When a player exit event triggers a non-idle service virtual device to be converted to an idle state, the service virtual device also updates Game A through reset. In this way, by starting a game update timing task on the source virtual device, subsequent update checks and update processes can be triggered, realizing fully automated updates without manual participation and improving the game update efficiency.
[0279] Exemplarily, Figure 10 The flowchart of the above game update method for cloud games is shown. The game update method for cloud games includes but is not limited to steps S301 to S319.
[0280] S301. The cloud game service of the source virtual device of the cloud game server 300 starts a game update timing task 2, and this timing task is used to trigger the cloud game service of the above to alternately detect whether the installed games on the source virtual device have updates. If an update is detected for a game, the update process corresponding to the game is executed.
[0281] In some embodiments, when the virtual device (i.e., the source virtual device or the service virtual device) of the cloud game server 300 is initialized, if it is detected that the current virtual device is the source virtual device, the game update timing task 2 is started.
[0282] Taking Game A as an example below, the game update process is described.
[0283] S302. The cloud game service of the above source virtual device starts Game A, and during the running of Game A, renders the game screen of Game A and displays it on the virtual display screen of the source virtual device.
[0284] In some embodiments, the cloud game service of the source virtual device of the cloud game server 300 uses a preset duration as the timing period. At the start moment of timing period 1, it starts Game A in the installed game list and executes the subsequent update process based on the update information of Game A; at the start moment of the next timing period of timing period 1, it starts the next game in the installed game list of Game A and executes the subsequent update process based on the update information of the next game.
[0285] S303. The cloud game service of the source virtual device of the cloud game server 300 captures the game screen of Game A and identifies whether there is an update button on the captured game screen.
[0286] S304. If the update button is recognized, the cloud game service of the source virtual device of the cloud game server 300 generates a system command 1 to simulate clicking the update button.
[0287] S305. After game A detects that the update button has been clicked based on the above system command 1, game A sends a download request to the file server 500 to request the download of the update package of game A.
[0288] S306. In response to the above update request, the file server 500 obtains the update package of game A and sends it to game A running on the source virtual device of the cloud game server 300.
[0289] S307. After game A obtains the update package of game A, it installs the above update package to update the installation file of game A on the source data disk.
[0290] S308. After the cloud game service of the above source virtual device generates system command 1, it determines whether game A has been updated successfully by identifying the indication information in the captured game screen.
[0291] S309. After the cloud game service of the above source virtual device determines that game A has been updated successfully, it reports the game update result to the cloud game operation platform 400.
[0292] The specific implementation of steps S303 to S309 can refer to the aforementioned steps S206 to S212 and will not be elaborated here.
[0293] S310. After the cloud game service of the above source virtual device reports the game update result, it waits for the update timing task 2 to start the next game.
[0294] Specifically, after the cloud game service of the above source virtual device reports the game update result, it stops game A and waits for the update timing task 2 to start the next game.
[0295] S311. After receiving the game update result reported by the cloud game service of the above source virtual device, the cloud game operation platform 400 sends a reset request 1 to the cloud infrastructure console 200. The reset request 1 is used to notify the cloud infrastructure console 200 to reset all idle service virtual devices of the cloud game server 300.
[0296] S312. In response to the above reset request 1, the cloud infrastructure console 200 sends a reset request 2 to the virtual device control service of the cloud game server 300. The reset request 2 is used to request the virtual device control service of the cloud game server 300 to reset all idle service virtual devices.
[0297] S313. The virtual device control service of the cloud game server 300 resets all idle service virtual devices indicated by the above reset request 2.
[0298] The specific implementation of steps S311 to S313 can refer to the foregoing steps S107 to S109, which will not be elaborated here.
[0299] S314. The non-idle business virtual device N of the cloud game server 300 runs game B, and the cloud game service of the business virtual device N detects that the player exits game B.
[0300] S315. The cloud game service of the business virtual device N stops running game B and sends the user data of game B of player 1 and the game account 1 of player 1 to the archive server 600.
[0301] S316. The cloud game service of the business virtual device N reports the player exit event to the cloud game operation platform 400.
[0302] S317. When receiving the player exit event reported by the cloud game service of the business virtual device N, the cloud game operation platform 400 sends a reset request 3 to the cloud infrastructure console 200, and the reset request 3 is used to request to reset the business virtual device N.
[0303] S318. In response to the reset request 3, the cloud infrastructure console 200 sends a reset request 4 to the virtual device control service of the cloud game server 300, and the reset request 4 is used to request to reset the business virtual device N.
[0304] S319. In response to the reset request 4, the virtual device control service of the cloud game server 300 resets the business virtual device N.
[0305] The specific implementation of steps S314 to S319 can refer to the foregoing steps S218 to S223, which will not be elaborated here.
[0306] In some embodiments, after the cloud game service of the source virtual device starts the update timing task 2, in the update check and update process of game A, the cloud game service of the foregoing source virtual device does not need to start game A, and the cloud game service of the foregoing source virtual device can directly request the file server 500 to obtain the resource package of game A and update game A based on the foregoing resource package. Exemplarily, see Figure 11 , after step S301 (the cloud game service of the foregoing source virtual device starts the game update timing task 2) and before step S309 (the cloud game service of the foregoing source virtual device reports the game update result to the cloud game operation platform 400), steps S320 to S324 may be included.
[0307] S320. The cloud game service of the foregoing source virtual device sends a query request to the file server 500, and the query request is used to query the update information of the installed game A.
[0308] S321. The cloud game service of the above source virtual device receives the update information of Game A sent by the file server 500.
[0309] For the specific implementation of steps S320 to S321, reference can be made to the relevant descriptions of steps S202 to S203, which will not be elaborated here.
[0310] S322. When it is determined that Game A has an update based on the update information of Game A, the cloud game service of the above source virtual device sends a download request to the file server 500. The download request is used to request to download the resource package of Game A.
[0311] S323. The file server 500 sends the resource package of Game A to the cloud game service of the source virtual device of the cloud game server.
[0312] S324. The cloud game service of the above source virtual device executes the resource package of Game A through a system command and installs Game A on the source data disk.
[0313] In some embodiments, the above resource package may be an update package for updating Game A, or an installation package of the updated Game A, or an installation package of the old version of Game A and the update package of Game A. Specific limitations are not made here.
[0314] In the embodiments of the present application, the cloud game service of the above source virtual device uses the system command of the operating system to execute the resource package of Game A, so as to install the resource package of Game A on the source data disk and realize the update of Game A. After the resource package is installed by executing the above system command, the cloud game service of the above source virtual device receives the confirmation information generated by the operating system. The above confirmation information can be used to indicate that Game A has been updated.
[0315] In some embodiments, when the above resource package includes the installation package of the updated Game A or the installation package of the old version of Game A, before the cloud game service of the above source virtual device uses the system command of the operating system to execute the resource package of Game A, it deletes the installation data of Game A on the source data disk.
[0316] In some embodiments, steps S322 and S323 are optional. When the file server 500 determines that Game A has an update in step S321, it directly sends the resource package of Game A to the cloud game service of the above source virtual device, and there is no need for the cloud game service of the source virtual device to send a download request again.
[0317] The present application also provides a control system for cloud services. The control system for cloud services includes a cloud operation platform and a cloud server. The cloud server includes a source virtual device and a service virtual device, wherein,
[0318] A cloud operation platform is used to send an installation request to the source virtual device of a cloud server. The installation request is used to request the installation of a first application. The source virtual device of the cloud server is used to obtain and execute the installation package of the first application to install the first application on the source data disk of the source virtual device, and send a first notification message indicating the completion of the installation of the first application to the cloud operation platform after the installation of the first application is completed. The cloud operation platform is further used to send a first reset request to the cloud server after receiving the first notification message. The first reset request is used to request the reset of the idle business virtual devices of the cloud server. The cloud server is further used to reset the idle business virtual devices of the cloud server indicated by the first reset request. The idle business virtual devices include a first business virtual device. Resetting the first business virtual device includes taking a snapshot of the source data disk to generate a snapshot disk of the first business virtual device.
[0319] In the embodiments of the present application, the first application and the second application may be game applications, video applications, music applications, etc. The embodiments of the present application do not make specific limitations on the application type of the first application. Exemplarily, referring to the foregoing embodiments, the cloud operation platform may be the foregoing cloud game operation platform 400, the cloud server may be the foregoing cloud game server 300, the first business virtual device may be the foregoing business virtual device 1; the first application may be the foregoing game A; the foregoing installation request may be the foregoing game installation request; the first notification message is used to report the installation result of game A; the first reset request may be Figure 6 the reset request 1 in the related description of
[0320] In one implementation, the business virtual devices of the cloud server further include a second business virtual device. When the cloud server resets the idle business virtual devices of the cloud server indicated by the first reset request, the second business virtual device runs the second application. The second business virtual device of the cloud server is used to send a user exit event to the cloud operation platform when it detects that the user exits the second application. The cloud operation platform is further used to send a second reset request to the cloud server after receiving the user exit event. The cloud server is further used to reset the second business virtual device indicated by the second reset request.
[0321] Exemplarily, referring to the foregoing embodiments, the second business virtual device may be the foregoing business virtual device N; the second application may be the foregoing game B; the user exit event may be the foregoing player exit event; the second reset request may be the foregoing reset request 3.
[0322] In one implementation, the control system of the cloud service further includes a file server. The foregoing obtaining and executing the installation package of the first application specifically includes: sending a first download request to the file server based on the installation request. The first download request is used to download the installation package of the first application; receiving the installation package of the first application sent by the file server.
[0323] In the embodiments of the present application, the file server may be the business server corresponding to the first application or the server corresponding to the application market APP. Exemplarily, referring to the foregoing embodiments, the file server may be the foregoing file server 500; the first application may be the foregoing Game A, and the first download request may be used to request the download of the installation package of Game A.
[0324] In one implementation, before the cloud operation platform sends an installation request to the source virtual device of the cloud server, the cloud operation platform is further configured to receive the preset information of the first application, and the installation request includes the preset information of the first application, and the preset information of the first application instructs the file server to obtain the installation package of the first application. In one implementation, the preset information of the first application may include the identifier of the first application and / or the address of the installation package of the first application.
[0325] Exemplarily, referring to the foregoing embodiments, the first application may be the foregoing Game A, and the address of the installation package of the first application may be the foregoing Address 1.
[0326] In one implementation, after the cloud server resets the business virtual device indicated by the first reset request, the source virtual device of the cloud server is further configured to obtain the resource package of the first application and install it on the source data disk to update the first application; the source virtual device of the cloud server is further configured to send a second notification message indicating that the update of the first application is completed to the cloud operation platform; the cloud operation platform is further configured to send a third reset request to the cloud server after determining that the update of the first application is completed; the cloud server is further configured to reset the idle business virtual device of the cloud server indicated by the third reset request.
[0327] In the embodiments of the present application, the foregoing resource package may be an update package for updating the first application, or an installation package of the updated first application, or may further include an installation package of the old version of the first application and an update package of the first application. No specific limitation is made here.
[0328] Exemplarily, referring to the foregoing embodiments, the first application may be the foregoing Game A, the second notification message may be used to report the game update result of Game A; the third reset request may be Figure 7 and Figures 9 to 11 the reset request 1 in the related description of
[0329] In one implementation, the foregoing obtaining the resource package of the first application and installing it on the source data disk includes: starting the first application through the cloud application service of the source virtual device, the first application obtaining the resource package of the first application from the file server, and installing the resource package of the first application on the source data disk; or, obtaining the resource package of the first application from the file server through the cloud application service of the source virtual device, and installing the resource package of the first application on the source data disk.
[0330] In one implementation, before the first application obtains the resource package of the first application from the file server, the cloud application service of the source virtual device of the cloud server is further configured to collect the user interface of the first application and identify whether there is an update button on the collected user interface; if an update button is identified on the collected user interface, the cloud application service of the source virtual device generates a first system command to simulate a click on the update button; the first application obtaining the resource package of the first application from the file server specifically includes: after detecting that the update button is clicked based on the first system command, the first application sends a second download request to the file server, where the second download request is used to download the resource package of the first application; the first application receives the resource package of the first application sent by the file server.
[0331] Exemplarily, referring to the foregoing embodiments, the first application may be the foregoing Game A, the cloud application service may refer to the cloud game service, the user interface of the first application may be the game screen of Game A, and the update button may be Figure 8A the update button 601 shown or Figure 8B the update button 604 shown; the first system command may be the foregoing System Command 1; the second download request may be used to download the resource package of Game A.
[0332] In one implementation, before sending a second notification message indicating that the update of the first application is completed to the cloud operation platform, the cloud application service of the source virtual device of the cloud server is further configured to collect the user interface of the first application and identify whether the collected user interface includes indication information for indicating that the update of the first application is completed; the sending of the second notification message indicating that the update of the first application is completed to the cloud operation platform specifically includes: when indication information is identified on the collected user interface, sending a second notification message indicating that the update of the first application is completed to the cloud operation platform.
[0333] Exemplarily, referring to the foregoing embodiments, the indication information may be the foregoing update progress bar or prompt text.
[0334] In one implementation, before the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk, the cloud operation platform is further configured to query whether there is an update for the first application; the cloud operation platform is further configured to, when determining that there is an update for the first application, send an update request to the source virtual devices of all cloud servers, where the update request is used to request an update of the first application; obtaining the resource package of the first application and installing it on the source data disk specifically includes: obtaining the resource package of the first application and installing it on the source data disk based on the first application indicated by the update request.
[0335] Exemplarily, referring to the foregoing embodiments, the first application may be the foregoing Game A, and the update request is used to request an update of Game A.
[0336] In one implementation, before the cloud operation platform queries whether the first application has an update, the cloud operation platform is further configured to start an update timing task, and the update timing task is used to periodically query whether the installed applications have updates.
[0337] Exemplarily, referring to the foregoing embodiments, the update timing task may be the foregoing update timing task 1.
[0338] In one implementation, before the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk, the source virtual device of the cloud server is further configured to query whether the first application has an update; the foregoing obtaining the resource package of the first application and installing it on the source data disk specifically includes: when the first application has an update, obtaining the resource package of the first application and installing it on the source data disk.
[0339] In one implementation, before the source virtual device of the cloud server queries whether the first application has an update, the source virtual device of the cloud server is further configured to start an update timing task, and the update timing task is used to periodically query whether the installed applications have updates.
[0340] Exemplarily, referring to the foregoing embodiments, the update timing task may be the foregoing update timing task 2.
[0341] In one implementation, the foregoing querying whether the first application has an update specifically includes: sending a query request to the file server, where the query request is used to query the update information of the installed first application; receiving the update information of the first application sent by the file server, and determining whether the first application has an update based on the update information of the first application.
[0342] Exemplarily, referring to the foregoing embodiments, the first application may be the foregoing game A, and the query request is used to query the update information of the installed game A.
[0343] In one implementation, the query request carries the current version number of the first application, and the update information is determined by the file server according to the current version number and the latest version number of the first application.
[0344] In one implementation, the control system of the cloud service further includes a cloud infrastructure console, and the foregoing sending a first reset request to the virtual device control service of the cloud server includes: sending a first reset request to the virtual device control service of the cloud server through the cloud infrastructure console.
[0345] Exemplarily, referring to the foregoing embodiments, the cloud infrastructure console may be the foregoing cloud infrastructure console 200.
[0346] The various embodiments of the present application can be combined arbitrarily to achieve different technical effects.
[0347] 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 described in this 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 from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wire (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.). 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 data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid-state disk (SSD)), etc.
[0348] Those of ordinary skill in the art can understand that all or part of the processes in the above method embodiments can be completed by instructing relevant hardware with a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the above method embodiments. The foregoing storage media include: various media such as ROM or random access memory RAM, magnetic disks, or optical discs that can store program codes.
[0349] In summary, the above are only embodiments of the technical solutions of the present invention and are not used to limit the protection scope of the present invention. Any modifications, equivalent replacements, improvements, etc. made based on the disclosure of the present invention shall be included in the protection scope of the present invention.
Claims
1. A control system for cloud services, characterized in that, The control system of the cloud service includes a cloud operation platform and a cloud server. The cloud server includes a source virtual device and service virtual devices, where the cloud operation platform is used to send an installation request to the source virtual device of the cloud server. The installation request is used to request the installation of a first application; the source virtual device of the cloud server is used to obtain and execute the installation package of the first application to install the first application on the source data disk of the source virtual device, and send a first notification message indicating the completion of the installation of the first application to the cloud operation platform after the installation of the first application is completed; the cloud operation platform is further used to send a first reset request to the cloud server after receiving the first notification message. The first reset request is used to request the reset of the idle service virtual devices of the cloud server; the cloud server is further used to reset the idle service virtual devices of the cloud server indicated by the first reset request. The idle service virtual devices include a first service virtual device. Resetting the first service virtual device includes taking a snapshot of the source data disk to generate a snapshot disk of the first service virtual device.
2. The system according to claim 1, wherein The service virtual devices of the cloud server further include a second service virtual device. When the cloud server resets the idle service virtual devices of the cloud server indicated by the first reset request, the second service virtual device runs a second application; the second service virtual device of the cloud server is used to send a user exit event to the cloud operation platform when it detects that the user exits the second application; the cloud operation platform is further used to send a second reset request to the cloud server after receiving the user exit event; the cloud server is further used to reset the second service virtual device indicated by the second reset request.
3. The system according to claim 1, wherein The control system of the cloud service further includes a file server. The obtaining and executing the installation package of the first application specifically includes: sending a first download request to the file server based on the installation request. The first download request is used to download the installation package of the first application; receiving the installation package of the first application sent by the file server.
4. The system according to claim 3, wherein Before the cloud operation platform sends an installation request to the source virtual device of the cloud server, the cloud operation platform is further used to receive the preset information of the first application. The installation request includes the preset information of the first application. The preset information of the first application is used to instruct the file server to obtain the installation package of the first application.
5. The system according to claim 1, wherein After the cloud server resets the service virtual devices indicated by the first reset request, the source virtual device of the cloud server is further used to obtain the resource package of the first application and install it on the source data disk to update the first application; the source virtual device of the cloud server is further used to send a second notification message indicating the completion of the update of the first application to the cloud operation platform; the cloud operation platform is further used to send a third reset request to the cloud server after determining that the update of the first application is completed; the cloud server is further used to reset the idle service virtual devices of the cloud server indicated by the third reset request.
6. The system according to claim 5, wherein The obtaining of the resource package of the first application and installing it on the source data disk includes: Starting the first application through the cloud application service of the source virtual device, the first application obtaining the resource package of the first application from the file server, and installing the resource package of the first application on the source data disk; Alternatively, obtaining the resource package of the first application from the file server through the cloud application service of the source virtual device, and installing the resource package of the first application on the source data disk.
7. The system according to claim 6, wherein Before the first application obtains the resource package of the first application from the file server, The cloud application service of the source virtual device of the cloud server is further configured to collect the user interface of the first application, and identify whether there is an update button on the collected user interface; if it is identified that there is the update button on the collected user interface, the cloud application service of the source virtual device generates a first system command to simulate clicking the update button; The first application obtaining the resource package of the first application from the file server specifically includes: After detecting that the update button is clicked based on the first system command, the first application sends a second download request to the file server, and the second download request is used to download the resource package of the first application; The first application receives the resource package of the first application sent by the file server.
8. The system according to claim 7, wherein Before sending the second notification message indicating that the update of the first application is completed to the cloud operation platform, The cloud application service of the source virtual device of the cloud server is further configured to collect the user interface of the first application, and identify whether the collected user interface includes indication information, and the indication information is used to indicate that the update of the first application is completed; Sending the second notification message indicating that the update of the first application is completed to the cloud operation platform specifically includes: When it is identified that there is the indication information on the collected user interface, sending the second notification message indicating that the update of the first application is completed to the cloud operation platform.
9. The system according to claim 5, characterized in that, Before the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk, The cloud operation platform is further configured to query whether there is an update for the first application; When the cloud operation platform determines that there is an update for the first application, the cloud operation platform sends an update request to the source virtual devices of all cloud servers, and the update request is used to request to update the first application; The obtaining of the resource package of the first application and installing it on the source data disk specifically includes: Based on the first application indicated by the update request, obtaining the resource package of the first application and installing it on the source data disk.
10. The system according to claim 9, wherein Before the cloud operation platform queries whether there is an update for the first application, The cloud operation platform is further configured to start an update timing task, and the update timing task is used to periodically query whether there is an update for the installed applications.
11. The system according to claim 5, wherein Before the source virtual device of the cloud server obtains the resource package of the first application and installs it on the source data disk, The source virtual device of the cloud server is further configured to query whether there is an update for the first application; The obtaining of the resource package of the first application and installing it on the source data disk specifically includes: When there is an update for the first application, obtain the resource package of the first application and install it on the source data disk.
12. The system according to claim 5 or 11, characterized in that, Before the source virtual device of the cloud server queries whether there is an update for the first application, The source virtual device of the cloud server is further configured to start an update timing task, and the update timing task is used to periodically query whether there is an update for the installed applications.
13. The system according to claim 9 or 11, characterized in that, The querying whether there is an update for the first application specifically includes: Sending a query request to the file server, where the query request is used to query the update information of the installed first application; Receiving the update information of the first application sent by the file server, and determining whether there is an update for the first application based on the update information of the first application.
14. The system according to claim 13, wherein The query request carries the current version number of the first application, and the update information is determined by the file server according to the current version number and the latest version number of the first application.
15. The system according to claim 1, characterized in that, The control system of the cloud service further includes a cloud infrastructure console. Sending a first reset request to the virtual device control service of the cloud server includes: Sending a first reset request to the virtual device control service of the cloud server through the cloud infrastructure console.
Citation Information
Patent Citations
Ranking list data processing method and device, electronic equipment and storage medium
CN116726509A