Starting control method and device of cloud terminal, electronic equipment and storage medium
By selecting a target access cluster with low response time in the cloud terminal system and reassembling it using differential image data, the startup delay caused by too many users in the default access cluster or long communication distance is resolved, achieving the effect of fast cloud terminal startup.
Patent Information
- Application Number
- CN202410973372.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-20
AI Technical Summary
When users access the cluster using the default method, if there are many users accessing the cluster, it can cause severe queuing, resulting in a long waiting time when starting the cloud terminal.
When the client meets the access switching conditions, the target access cluster with a response time lower than the duration threshold is selected. The target cloud terminal is then quickly started by recombining the differential image data and the target base image configuration data.
This avoids the problem of excessive waiting time caused by too many default access cluster clients or long communication distances, and improves the startup speed and efficiency of cloud terminals.
Smart Images

Figure CN121364893A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of cloud technology, and more particularly, to a cloud terminal startup control method and device, an electronic device, and a storage medium. BACKGROUND
[0002] Cloud terminal service refers to providing desktops, applications, hardware, and the like resources to users in a service mode of on-demand service and elastic distribution through a transmission protocol.
[0003] However, in the related art, when a user uses a cloud terminal, the cloud terminal service is provided to the user by a default access cluster that is allocated to the user by default. For the user, if the number of users currently accessing the default access cluster corresponding to the user is large, queuing will be serious, and thus the user needs to wait for a long time to start the cloud terminal. SUMMARY
[0004] Therefore, embodiments of the present application provide a cloud terminal startup control method and device, an electronic device, and a storage medium.
[0005] In a first aspect, embodiments of the present application provide a cloud terminal startup control method, applied to a scheduling node, and the method includes: receiving a startup request sent by a client; the startup request is used to request to start a target cloud terminal; if it is determined according to cluster data of a default access cluster of the target cloud terminal that the client satisfies an access switching condition, determining a target access cluster from multiple candidate access clusters other than the default access cluster, the target access cluster having a response time to the client lower than a time threshold; requesting difference image data from the default access cluster, the difference image data being incremental data of image configuration data of the target cloud terminal relative to target base image configuration data under a target configuration level corresponding to the target cloud terminal; and sending the difference image data and the startup request to the target access cluster, so that a computing node in the target access cluster starts the target cloud terminal according to the difference image data and the target base image configuration data stored in the target access cluster.
[0006] In a second aspect, embodiments of the present application provide a cloud terminal startup control method, applied to a computing node in a target access cluster, and the method includes: receiving difference image data and a startup request forwarded by a scheduling node; the scheduling node processes the startup request for a target cloud terminal sent by a client according to the method of the first aspect, and forwards the difference image data and the startup request to the target access cluster; recombining the difference image data and target base image configuration data under a target configuration level corresponding to the target cloud terminal to obtain recombined image configuration data of the target cloud terminal; starting the target cloud terminal based on the recombined image configuration data; loading a desktop of the target cloud terminal to obtain desktop picture data; and sending the desktop picture data to the client, so that the client displays a desktop picture of the target cloud terminal according to the desktop picture data.
[0007] In a third aspect, the embodiments of the present application provide a starting control apparatus of a cloud terminal, applied to a scheduling node, and the apparatus comprises: a first receiving module, configured to receive a starting request sent by a client; the starting request is used to request starting a target cloud terminal; a cluster determining module, configured to: if it is determined according to cluster data of a default access cluster of the target cloud terminal that the client meets an access switching condition, determine, from a plurality of candidate access clusters except the default access cluster, a target access cluster that has a response time consumption lower than a time threshold with the client; a requesting module, configured to request difference image data from the default access cluster; the difference image data refers to incremental data of image configuration data of the target cloud terminal relative to target base image configuration data under a target configuration level corresponding to the target cloud terminal; and a first sending module, configured to send the difference image data and the starting request to the target access cluster, so that a computing node in the target access cluster starts the target cloud terminal according to the difference image data and the target base image configuration data stored in the target access cluster.
[0008] Optionally, the cluster data comprises cluster access data and cluster location information; the cluster determining module is further configured to: determine a first estimated communication time length between the default access cluster and the client according to the cluster location information and geographical location information of the client; determine a first estimated waiting time length for the default access cluster to respond to the starting request according to the cluster access data of the default access cluster; and determine that the client meets the access switching condition if the first estimated communication time length is greater than a first time threshold, or the first estimated communication time length is not greater than the first time threshold and the estimated waiting time length is greater than a second time threshold.
[0009] Optionally, the cluster determining module is further configured to: determine a second estimated communication time length between each candidate access cluster and the client according to the cluster location information of each candidate access cluster and the geographical location information of the client; determine a second estimated waiting time length for each candidate access cluster to respond to the starting request according to the cluster access data of each candidate access cluster; determine a response time consumption between each candidate access cluster and the client according to the second estimated communication time length and the second estimated waiting time length; and determine, from the plurality of candidate access clusters except the default access cluster, the target access cluster that has a response time consumption lower than the time threshold with the client based on the response time consumption.
[0010] Optionally, the cluster determining module is further configured to: determine, from the plurality of candidate access clusters, a target candidate access cluster that has a response time consumption lower than the time threshold with the client; if the target candidate access cluster is one, take the target candidate access cluster as the target access cluster; and if the target candidate access cluster is a plurality, determine the target candidate access cluster that has the minimum second estimated communication time length with the client as the target access cluster.
[0011] Optionally, the cluster determining module is further configured to determine, from the plurality of candidate access clusters other than the default access cluster, a target candidate access cluster in which a response time is less than a time threshold; and determine, as the target access cluster, an access cluster in which the target candidate access cluster is determined to have a target available computing node; the target available computing node refers to a computing node whose idle computing resource meets a demand computing resource of the target cloud terminal.
[0012] Optionally, the apparatus further comprises a default starting module configured to, if the client does not meet the access switching condition according to the cluster data of the default access cluster of the target cloud terminal, forward the starting request to the default access cluster, so that a computing node in the default access cluster starts the target cloud terminal according to the image configuration data of the target cloud terminal.
[0013] In a fourth aspect, an embodiment of the present application provides a starting control apparatus of a cloud terminal, applied to a computing node in a target access cluster, and the apparatus comprises: a second receiving module configured to receive differential image data and a starting request forwarded by a scheduling node; the scheduling node processes the starting request according to the method in the first aspect and forwards the differential image data and the starting request to the target access cluster after receiving the starting request sent by a client for a target cloud terminal; a recombination module configured to recombine the differential image data and target base image configuration data at a target configuration level corresponding to the target cloud terminal to obtain recombined image configuration data of the target cloud terminal; a starting module configured to start the target cloud terminal based on the recombined image configuration data; a loading module configured to load a desktop of the target cloud terminal to obtain desktop picture data; and a second sending module configured to send the desktop picture data to the client, so that the client displays a desktop picture of the target cloud terminal according to the desktop picture data.
[0014] Optionally, the apparatus further comprises an updating module configured to receive a data access request sent by the client; the data access request is sent in response to a file access operation triggered by a data disk of the target cloud terminal in the desktop picture; determine a target file path requested to be accessed by the data access request; if it is determined that the client is requesting target file data under the target file path to the computing node for the first time, request the target file data from a default access cluster of the target cloud terminal; store the target file data in the computing node and update the desktop picture of the target cloud terminal based on the target file data, so that the updated desktop picture presents a file interface corresponding to the target file path; and send desktop picture data of the updated desktop picture to the client.
[0015] Optionally, the updating module is further configured to, after the client exits the target cloud terminal, if it is determined that the recombined image configuration data of the target cloud terminal is updated, send the updated recombined image configuration data to the default access cluster, so that the default access cluster updates the image configuration data stored by the target cloud terminal according to the updated recombined image configuration data.
[0016] Optionally, the updating module is further configured to determine reference incremental data of the updated update image data relative to target base image configuration data of a target configuration level corresponding to the target cloud terminal; and send the reference incremental data to the default access cluster, so that the default access cluster reorganizes the new image configuration data of the target cloud terminal according to the reference incremental data and the target base image configuration data, and stores the new image configuration data.
[0017] Optionally, the loading module is further configured to load a desktop of the target cloud terminal to obtain a desktop picture; and compress and encode the desktop picture to obtain desktop picture data.
[0018] In a fifth aspect, an electronic device is provided, including a processor and a memory; the memory stores computer readable instructions, and the computer readable instructions are executed by the processor to implement the method described above.
[0019] In a sixth aspect, a computer readable storage medium is provided, which stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the method described above.
[0020] In a seventh aspect, a computer program product is provided, which includes computer readable instructions, and the computer readable instructions are executed by a processor to implement the method described above.
[0021] The cloud terminal startup control method and device, the electronic device, and the storage medium provided in the embodiments of the present application can avoid the problem of long waiting time of the client in the case where there are many clients accessing the default access cluster of the target cloud terminal or the communication distance between the client and the default access cluster of the target cloud terminal is long, by determining the target access cluster with a response time to the client lower than a time threshold, switching to the target cloud terminal started by the computing node in the target access cluster, and providing services for the target cloud terminal to the client by the target access cluster. Meanwhile, the request for differential image data to the default access cluster is not a request for full image configuration data of the target cloud terminal, and the data amount of the differential image data is small, so that the time for data transmission to the target access cluster is short, the target cloud terminal is quickly started based on the differential image data and the stored target base image data, and the startup speed of the cloud terminal is further improved. BRIEF DESCRIPTION OF DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative effort based on these drawings.
[0023] Figure 1 A schematic diagram suitable for the application scenario to which the embodiments of the present application are applied is shown;
[0024] Figure 2 A flow chart of a cloud terminal start control method according to an embodiment of the present application is shown;
[0025] Figure 3 A schematic diagram of a start page according to an embodiment of the present application is shown;
[0026] Figure 4 A schematic diagram of a waiting page according to an embodiment of the present application is shown;
[0027] Figure 5 A flow chart of a cloud terminal start control method according to another embodiment of the present application is shown;
[0028] Figure 6 A schematic diagram of a desktop picture according to an embodiment of the present application is shown;
[0029] Figure 7 A schematic diagram of a cloud terminal start control process according to an embodiment of the present application is shown;
[0030] Figure 8 A flow chart of the steps after step S250 in the embodiment of Figure 5
[0031] Figure 9 A block diagram of a cloud terminal start control device according to an embodiment of the present application is shown;
[0032] Figure 10 A block diagram of a cloud terminal start control device according to another embodiment of the present application is shown;
[0033] Figure 11 A structural block diagram of an electronic device for executing the cloud terminal start control method according to the embodiments of the present application is shown. DETAILED DESCRIPTION
[0034] With reference to the drawings, the technical solutions in the embodiments of the present application will be clearly and completely described below. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments of the present application. According to the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work under the premise that the embodiments are within the scope of protection of the present application.
[0035] In the following description, the terms "first\second" are only to distinguish similar objects, and do not represent the specific order of the objects. Understandably, the "first\second" can be interchanged with the specific order or sequence as allowed, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0036] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application, and are not intended to limit the present application. It should be noted that "a plurality of" as mentioned herein refers to two or more. The association relationship of "and / or" describes the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can represent the three cases of A alone, A and B together, and B alone. The character " / " generally represents an "or" relationship between the associated objects before and after it.
[0037] The terms involved in the present application will be explained as follows:
[0038] Cloud terminal: Cloud terminal is a kind of overall service scheme, including cloud resources, transmission protocol and cloud terminal. With open cloud terminal, through transmission protocol, desktop, application, hardware and other resources are provided to users in a service mode of on-demand service and elastic allocation. Users do not need to consider building complex computer network clusters to realize single machine multi-user use. Cloud game: a game mode in which the server renders game pictures and the user client only displays. Cloud game is a game mode based on cloud computing. In the running mode of cloud game, all games run on the server side, and the rendered game pictures are compressed and transmitted to the user through the network. On the client side, the user's game device does not need any high-end processor and graphics card, but only needs basic video decompression capability.
[0039] Mirroring: Mirroring is a form of file storage that is a type of redundancy, where data on one disk has an exact copy on another disk. Cluster: A technology used to manage and deploy containerized applications. It typically consists of multiple hosts (also known as compute nodes) that run containerized applications. Clusters provide automated container orchestration, load balancing, high availability, and elastic scaling.
[0040] Please refer to Figure 1 , which shows a schematic diagram applicable to the application scenarios applicable to the embodiments of the present application. It can include a terminal device 100, a scheduling node 200, and multiple access clusters 400; wherein the terminal device 100 is connected to the scheduling node 200 and the access cluster 400 through the network 300, the scheduling node can be connected to the access cluster 400 through the network 500, and the network 300 and the network 500 can be a wide area network or a local area network, or a combination of the two. In some embodiments, the scheduling node can also be a compute node with scheduling function in the access cluster 400.
[0041] In some embodiments, the user sends a start request through the client on the terminal device 100, and the scheduling node 200 responds to the start request. If the client meets the access switching condition, the scheduling node 200 determines a target access cluster from multiple candidate access clusters in the multiple access clusters 400 except the default access cluster, which has a response time lower than the time threshold to the client. Then, the scheduling node 200 requests differential mirror image data from the default access cluster and sends the differential mirror image data and the start request to the target access cluster. Wherein, the multiple access clusters 400 all store target base mirror image configuration data corresponding to the target configuration level.
[0042] After that, the compute node in the target access cluster recombines the differential mirror image data and the target base mirror image configuration data corresponding to the target configuration level of the target cloud terminal to obtain the recombined mirror image configuration data of the target cloud terminal. Then, the compute node starts the target cloud terminal based on the recombined mirror image configuration data. After that, the compute node loads the desktop of the target cloud terminal to obtain the desktop picture data, and sends the desktop picture data to the client of the terminal device 100, so that the client displays the desktop picture of the target cloud terminal according to the desktop picture data.
[0043] In some embodiments, the scheduling node 200 can be a standalone physical server, a server cluster composed of multiple physical servers, or a distributed system, and can also be a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and basic cloud computing services such as big data and artificial intelligence platforms.
[0044] The terminal device 100 can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart voice interaction device, a smart home appliance, a vehicle-mounted terminal, a smart television, and the like, but is not limited thereto. The terminal device, the scheduling node, and the terminal device and the access cluster can be directly or indirectly connected through wired or wireless communication, and the present application embodiments are not limited thereto.
[0045] The access cluster 400 includes multiple hosts (also called computing nodes), each of which can be a standalone physical server, a cloud server, and a desktop computer, and the like. The computing nodes in the access cluster 400 can provide cloud terminal services to clients, such as cloud computer services, also known as cloud desktop services.
[0046] Please refer to Figure 2 , Figure 2 A flowchart of a cloud terminal startup control method according to an embodiment of the present application is shown, which can be used for the scheduling node 200 in Figure 1 The method can include the following steps:
[0047] S110, receiving a startup request sent by a client.
[0048] The startup request is used to request to start a target cloud terminal. The client can be an application client, a program client, and a web client in a terminal device, and the like.
[0049] The target cloud terminal is a cloud terminal currently applied for by the client. After a user logs in to the client, the user can send a cloud terminal application request to a server (i.e., a server providing cloud terminal services, such as the multiple access clusters and the scheduling node described above, which can be regarded as cloud terminal service servers) through the client, and the cloud terminal application request can include cloud terminal configuration requirements, such as configuration levels, data disk capacities, memory size requirements, graphics card requirements (such as graphics card models and graphics card performance), operating system requirements (such as the type of required operating system), network bandwidth requirements, and the like.
[0050] The server can create a cloud terminal for the client based on the cloud terminal configuration requirements and assign a cloud terminal identifier to the created cloud terminal for the client. It is worth mentioning that the process of creating a cloud terminal involves assigning a system disk and a data disk to the cloud terminal according to the cloud terminal configuration requirements, creating a virtual machine, installing an operating system on the virtual machine, and performing other initialization settings (such as setting network bandwidth, etc.). After that, an image of the created cloud terminal can be generated to obtain the image configuration data of the cloud terminal.
[0051] The image configuration data of the cloud terminal can be based on the basic image configuration data of the configuration level to which the cloud terminal belongs, and other image data of user's individual needs can be superimposed. The basic image configuration data at a configuration level can include the operating system, initialized application data, and pre-installed software at that configuration level. The image configuration data of the cloud terminal can be used to subsequently deploy and start the cloud terminal according to user needs to quickly obtain a virtual computer environment running a specific operating system and application program.
[0052] After generating the image configuration data of the cloud terminal, the server can store the image configuration data of the cloud terminal and the cloud terminal identifier of the cloud terminal in the database. In this application, since the server involves multiple access clusters (i.e., server clusters providing cloud terminal services), different access clusters are located in different geographic regions, and the default access cluster can be determined for the cloud terminal that has been applied, and the image configuration data of the cloud terminal is stored in the database in the corresponding default access cluster. In this way, if the client requests to start a certain cloud terminal, the corresponding cloud terminal service is provided by the default access cluster corresponding to the cloud terminal by default.
[0053] In some embodiments, the access cluster closest to the geographic location of the terminal device where the cloud terminal application request originates can be used as the default access cluster for the cloud terminal created in response to the cloud terminal application request. For example, the access cluster located in the area where the terminal device where the cloud terminal application request originates can be used as the default access cluster for the corresponding created cloud terminal.
[0054] In some embodiments, the access cluster located in the geographic area of the client where the cloud terminal application request originates can be used as the default access cluster for the cloud terminal created in response to the cloud terminal application request. The geographic area of the client can be the permanent geographic area input by the user in the client.
[0055] In some embodiments, the server may determine the default access cluster in response to a cloud terminal application request, and then forward the cloud terminal application request to the default access cluster. Subsequently, the default access cluster determines from its own compute nodes a compute node that meets the target configuration level in the cloud terminal application request as a registered compute node. Simultaneously, based on the data disk capacity in the cloud terminal application request, it allocates a data disk and a system disk for the cloud terminal from the registered compute node, and mounts the system disk and data disk onto a virtual machine. The virtual machine then loads the target base image data corresponding to the target configuration level obtained by the default access cluster, thereby creating the cloud terminal requested by the client. The capacity of the system disk allocated to the requested cloud terminal can be a default value, for example, 50GB; in some embodiments, a system disk of the corresponding capacity can also be allocated to the cloud terminal according to the system disk capacity required in the user's cloud terminal configuration requirements.
[0056] Of course, the cloud terminal configuration requirements do not need to specify the data disk capacity. The registered computing node will allocate the data disk to the cloud terminal according to the default data disk capacity. For example, the default data disk capacity is 200GB.
[0057] The higher the configuration level of the cloud terminal, the more computing resources are allocated to it, or the higher the performance level of the hardware resources allocated to it.
[0058] After applying for a cloud terminal through the client, the client displays a startup page to launch the applied cloud terminal. For example, the client's startup page might look like this: Figure 3 As shown, startup page 30 displays the configuration information of the applied cloud terminal: the graphics card is an RTX 2060 and the CPU is an i5-8600k, etc. Startup page 30 can also display the usage status of the cloud terminal's data disk, for example... Figure 3 In the process, the data disk has a capacity of 100GB and a used capacity of 0 (since the target cloud terminal has not yet been used after registration, no user data is currently stored in the data disk); the startup page 30 also includes a startup control 31. When the user clicks the startup control 31, the client responds to the click operation on the startup control 31 by sending a startup request to the scheduling node, which then responds to the startup request and executes subsequent operations.
[0059] Of course, the launch page 30 also includes the function of quickly launching applications. For example, when a user clicks the email icon on the launch page, the client responds to the click operation on the email icon by sending a launch request and an open email request to the scheduling node. The scheduling node then forwards the launch request and the open email request to the default access cluster. The default access cluster then launches the target cloud terminal based on the target base image data obtained during registration and opens the email application on the target cloud terminal.
[0060] In some embodiments, after receiving a client's startup request, if the scheduling node determines that there are no idle computing nodes in the default access cluster of the target cloud terminal to be started, or that there are many clients accessing the default access cluster, the scheduling node can send a waiting indication message to the client, and the client can respond to the waiting indication message by displaying a waiting page.
[0061] The waiting page can be overlaid on the launch page. For example, on the launch page such as... Figure 3 As shown, wait for the page to load. Figure 4 As shown, the startup page 30 is overlaid with the waiting page 32, which displays the client's queue number. Figure 4 In the queue, the client is ranked 18th, meaning there are 17 clients ahead of it waiting to launch the cloud terminal. The waiting interface 32 may also include a cancel queue control 321. When the user clicks the cancel queue control 321, the client responds to the user's click operation by sending a cancel queue request to the scheduling node. The scheduling node then determines that the client has requested to cancel launching the target cloud terminal.
[0062] S120. If the client meets the access switching conditions based on the cluster data of the default access cluster of the target cloud terminal, determine the target access cluster with a response time lower than the duration threshold among multiple candidate access clusters other than the default access cluster.
[0063] As described above, a default access cluster is assigned to a cloud terminal after it is applied for. That is, the default access cluster for a cloud terminal refers to the access cluster that provides the corresponding cloud terminal services by default.
[0064] In some embodiments, the cluster data of the default access cluster may include the cluster location information of the default access cluster. Based on the cluster location information and the client's geographical location information (the location of the client when it sends the start request), it can be determined whether the default access cluster and the client are in the same region. If the default access cluster and the client are not in the same region, it is determined that the client meets the access switching conditions. If the default access cluster and the client are in the same region, it is determined that the client does not meet the access switching conditions.
[0065] In yet another embodiment, the cluster data of the default access cluster can include cluster access data, and the cluster access data can include a first estimated waiting time length, which is a time length that the default access cluster needs to wait to respond to the start request to start the target cloud terminal. At this time, it means that there is no idle available computing node in the default access cluster to start the target cloud terminal, and it is necessary to wait for one or more users to exit the use of the cloud terminal, so that the computing node releases resources to start the target cloud terminal. If the first estimated waiting time length exceeds a specified time length threshold, it is determined that the client waiting time length is long, at this time, it is determined that the client satisfies the access switching condition, if the first estimated waiting time length does not exceed the specified time length threshold, it is determined that the client waiting time length is short, or the client does not need to wait, at this time, it is determined that the client does not satisfy the access switching condition. The specified time length threshold can be a value set based on demand, such as 20s, 0s, etc.
[0066] In some embodiments, the cluster access data of the default access cluster can include the number of start requests waiting to be responded in the default access cluster, that is, the number of clients waiting to respond to the start request, in which case, the first estimated waiting time length of the default access cluster can be determined according to the number of start requests waiting to be responded, wherein the first estimated waiting time length is positively correlated with the number of start requests waiting to be responded.
[0067] In some embodiments, the historical client average waiting time length of the access cluster can be determined according to the historical cloud terminal access data of the access cluster, and the historical client average waiting time length of each access cluster can be stored on the scheduling node or in the access cluster. Then, the scheduling node can multiply the historical client average waiting time length corresponding to the default access cluster of the target cloud terminal and the current number of start requests waiting to be responded to obtain the first estimated waiting time length of the default access cluster of the target cloud terminal. It can be understood that the historical client average waiting time length of the access cluster is related to the carrying capacity of the access cluster, which is used to indicate the maximum number of cloud terminals that can be run at the same time in the access cluster. The stronger the carrying capacity of the access cluster, the shorter the historical client average waiting time length of the access cluster.
[0068] In some embodiments, the cluster access data of the default access cluster can include the number of clients exited in a unit time and the number of clients currently queued (i.e., the number of start requests waiting to be responded in the above), and the first estimated waiting time can be determined based on the number of clients exited in a unit time and the number of clients currently queued. For example, the number of clients currently queued can be divided by the number of clients exited in a unit time, and the result of the division is the first estimated waiting time. For example, the number of clients currently queued is 15, and the number of clients exited in a minute is 3, and the first estimated waiting time is determined to be 5 minutes.
[0069] In another embodiment, the cluster data of the default access cluster includes cluster access data and cluster location information; at this time, the first estimated communication time between the default access cluster and the client can be determined according to the cluster location information and the geographic location information of the client; the first estimated waiting time of the default access cluster to respond to the start request can be determined according to the cluster access data of the default access cluster; if the first estimated communication time is greater than the first time threshold, or the first estimated communication time is not greater than the first time threshold and the first estimated waiting time is greater than the second time threshold, it is determined that the client meets the access switching condition. The first time threshold and the second time threshold can be set based on requirements, and the present application does not limit them. For example, the first time threshold is 1s, 2s, 3s, 5s, etc., and the second time threshold is 0s, 0.5s, 1s, 2s, 3s, etc.
[0070] In the case where the first estimated communication time is greater than the first time threshold, the communication time is relatively large, indicating that the communication distance between the default access cluster and the client is relatively long (for example, the default access cluster and the client are not in the same area, and for example, the communication distance between the client and the access cluster in another area is less than the communication distance between the client and the access cluster in the area where the client is located). At this time, the communication delay is high when starting the cloud terminal through the default access cluster, and therefore it can be determined that the client meets the access switching condition.
[0071] In the case where the first estimated communication time is not greater than the first time threshold, the communication time is relatively small, indicating that the communication distance between the default access cluster and the client is relatively short. At this time, if the number of start requests waiting to be responded in the default access cluster is relatively large, the waiting time will also be relatively long, and therefore, in this case, if the first estimated waiting time is determined to be greater than the second time threshold, it is determined that the time required to start the target cloud terminal through the computing node in the default access cluster is relatively long, that is, although the communication distance between the default access cluster and the client is relatively short, the time required to start the target cloud terminal through the computing node in the default access cluster is relatively long, and it can be determined that the client meets the access switching condition.
[0072] In a case where the first estimated communication duration is determined to be not greater than the first duration threshold and the first estimated waiting duration is determined to be not greater than the second duration threshold, it is indicated that the communication distance between the default access cluster and the client is short, and the time required for starting the target cloud terminal through the computing node in the default access cluster is short, and thus it can be determined that the client does not satisfy the access switching condition.
[0073] As described above, in a case where it is determined that the client satisfies the access switching condition, it is indicated that the default access cluster used for starting the target cloud terminal cannot start the target cloud terminal in time (the communication duration is long or the waiting time is long), and thus it is required to determine the target access cluster having the response duration lower than the duration threshold from the plurality of access clusters to the client, so as to start the target cloud terminal through the computing node in the target access cluster.
[0074] The candidate access cluster refers to the access cluster other than the default access cluster of the target cloud terminal from the plurality of access clusters. In a case where it is determined that the client satisfies the access switching condition, the target access cluster having the response duration lower than the duration threshold from the plurality of candidate access clusters to the client can be determined.
[0075] In an embodiment, the response duration is determined based on the waiting duration and the communication duration. The second estimated communication duration from each candidate access cluster to the client can be determined according to the cluster location information of each candidate access cluster and the geographic location information of the client. The second estimated waiting duration of the response to the starting request of each candidate access cluster can be determined according to the cluster access data of each candidate access cluster. The response duration from each candidate access cluster to the client can be determined according to the second estimated communication duration and the second estimated waiting duration. The target access cluster having the response duration lower than the duration threshold from the plurality of candidate access clusters other than the default access cluster to the client can be determined based on the response duration. The sum or weighted sum of the second estimated communication duration and the second estimated waiting duration can be calculated as the response duration.
[0076] In the present application, the distance between the candidate access cluster and the client can be determined as the communication distance based on the cluster location information of the candidate access cluster and the geographic location information of the client, and then the communication duration between the candidate access cluster and the client can be determined as the second estimated communication duration between the candidate access cluster and the client based on the communication distance and the network communication speed.
[0077] The second estimated waiting duration can also be determined according to the cluster access data of the candidate access cluster. The process of determining the second estimated waiting duration is similar to the process of determining the first estimated waiting duration, which will not be described herein.
[0078] In an embodiment, after determining the response time consumption according to the foregoing process, a target candidate access cluster with a response time consumption lower than the time length threshold can be determined from the plurality of candidate access clusters; if the target candidate access cluster is one, the target candidate access cluster is taken as the target access cluster; if the target candidate access cluster is a plurality, the target candidate access cluster with the second estimated communication time length being the smallest is determined as the target access cluster.
[0079] Taking the target candidate access cluster with the second estimated communication time length being the smallest as the target access cluster can effectively reduce the communication time length between the client and the target access cluster, so that the client can quickly access the target cloud terminal after the target cloud terminal is started by the target access cluster, thereby avoiding the situation that the user uses the target cloud terminal, the distance between the client and the target access cluster is far, the time for single data transmission is long, and the user experience is affected, and the real-time performance of data transmission can be effectively ensured when the user runs an application (such as cloud game) with high real-time requirement on the target cloud terminal.
[0080] In another embodiment, after determining the response time consumption according to the foregoing process, a target candidate access cluster with a response time consumption lower than the time length threshold can be determined from the plurality of candidate access clusters except the default access cluster; an access cluster in which a target available computing node is determined to exist in the target candidate access cluster is taken as the target access cluster; the target available computing node refers to a computing node with idle computing resources meeting the demand computing resources of the target cloud terminal.
[0081] The demand computing resources of the target cloud terminal can refer to computing resources provided for the running of the target cloud terminal by the registered computing node starting the target cloud terminal when the cloud terminal application request is applied for the client.
[0082] Taking the target candidate access cluster in which the target computing node with idle computing resources meeting the demand computing resources of the target cloud terminal exists as the target access cluster can ensure that the computing resources of the target access cluster are sufficient to start the target cloud terminal, thereby avoiding the situation that the selected target access cluster does not have enough resources to start the target cloud terminal, and improving the success rate of starting the target cloud terminal.
[0083] In the present application, if it is determined according to the cluster data of the default access cluster of the target cloud terminal that the client does not meet the access switching condition, the starting request is forwarded to the default access cluster, so that the computing node in the default access cluster starts the target cloud terminal according to the image configuration data of the target cloud terminal.
[0084] That is, in the case that the client does not meet the access switching condition, the target cloud terminal is still started through the default access cluster, at this time, the start request is forwarded to the default access cluster, and the default access cluster receives the start request and starts the target cloud terminal according to the image configuration data of the target cloud terminal in response to the start request.
[0085] If the target cloud terminal is started for the first time after the application, the image configuration data of the target cloud terminal is the target base image data at the target configuration level. If the target cloud terminal is not started for the first time after the application, the image configuration data of the target cloud terminal refers to the actual image configuration data of the target cloud terminal after the client exits the target cloud terminal last time. However, compared with the target base image data used when the target cloud terminal is registered, the image configuration data further includes incremental data generated during the use of the target cloud terminal by the user, for example, installed application programs, web browsing records, etc.
[0086] S130, request the differential image data from the default access cluster.
[0087] The differential image data refers to incremental data of the image configuration data of the target cloud terminal relative to the target base image configuration data at the target configuration level corresponding to the target cloud terminal.
[0088] In the present application, each access cluster stores the base image configuration data at each configuration level. The base image configuration data at one configuration level can be understood as image configuration data commonly used by multiple cloud terminals at the configuration level. As described above, the image configuration data of a cloud terminal is stored in the database of the default access cluster of the cloud terminal. If the default access clusters of two different cloud terminals are different, the image configuration data of the two different cloud terminals is stored in different access clusters.
[0089] The target configuration level refers to the configuration level corresponding to the target cloud terminal. The target base image configuration data refers to the base image configuration data at the target configuration level.
[0090] Compared with the full amount of image configuration data, the differential image data has a smaller data amount, consumes less transmission time when transmitting the differential image data from the default access cluster to the scheduling node, and has less network transmission pressure, thereby improving the transmission speed and transmission efficiency of the differential image data.
[0091] The scheduling node can send a mirror data acquisition request to the default access cluster, and the default access cluster determines, in response to the mirror data acquisition request, incremental data of the mirror configuration data of the target cloud terminal relative to target base mirror configuration data under a target configuration level corresponding to the target cloud terminal (i.e., the difference between the mirror configuration data of the target cloud terminal and the target base mirror configuration data), as difference mirror data, and then sends the difference mirror data to the scheduling node.
[0092] S140, sending the difference mirror data and a start request to the target access cluster.
[0093] The computing node in the target access cluster starts the target cloud terminal based on the difference mirror data and the target base mirror configuration data stored in the target access cluster.
[0094] The target access cluster selects a computing node that can meet the target configuration level from the computing nodes in the target access cluster in response to the start request, and starts the target cloud terminal based on the difference mirror data and the target base mirror configuration data stored in the target access cluster through the computing node.
[0095] In the present application, the default access node only needs to send the difference mirror data and does not need to send the mirror configuration data that meets the target cloud terminal, thereby reducing the data transmission amount, enabling the target access cluster to quickly complete the reception of the difference mirror data, and further enabling the target access cluster to quickly start the target cloud terminal, thereby improving the start efficiency of the target cloud terminal.
[0096] The computing node in the target access cluster can recombine the difference mirror data and the target base mirror configuration data under the target configuration level corresponding to the target cloud terminal to obtain recombined mirror configuration data of the target cloud terminal, and then mount the recombined mirror configuration data on a virtual machine based on the recombined mirror configuration data to start the target cloud terminal.
[0097] Since the difference mirror data is the difference between the mirror configuration data of the target cloud terminal and the target base mirror configuration data, and the base mirror configuration data stored in each access cluster is consistent, the recombined mirror configuration data obtained by mounting the difference mirror data and the target base mirror configuration data of the target access cluster is also consistent with the mirror configuration data of the target cloud terminal, so that the computing node in the target access cluster can start the target cloud terminal based on the recombined mirror configuration data, thereby enabling the target cloud terminal to be successfully started after switching the access cluster.
[0098] In this embodiment, in a case that the cluster data of the default access cluster of the target cloud terminal started according to the request is determined to satisfy the access switching condition of the client, the target access cluster with a response time to the client lower than the time threshold is determined, and the target cloud terminal is started by the computing node in the target access cluster to provide the service for the target cloud terminal to the client by the target access cluster, so that the problem of long waiting time of the client caused by still providing the service for the target cloud terminal to the current client by the default access cluster of the target cloud terminal in a case that there are many clients accessing the default access cluster of the target cloud terminal or the communication distance between the client and the default access cluster of the target cloud terminal is long can be avoided. Meanwhile, the difference image data is requested from the default access cluster, which is not the full image configuration data of the target cloud terminal, and the data amount of the difference image data is small, so that the time for data transmission to the target access cluster is short, and the target cloud terminal is started based on the difference image data and the stored target base image data, and the starting speed of the cloud terminal is further improved.
[0099] Please refer to Figure 5 , Figure 5 A flowchart of a cloud terminal starting control method according to another embodiment of the present application is shown, which can be used for starting the target cloud terminal in the target access cluster in the access cluster Figure 1 in the method according to the foregoing embodiments, at this time, the method can include:
[0100] S210, receiving the difference image data and the starting request forwarded by the scheduling node.
[0101] S220, recombining the difference image data and the target base image configuration data under the target configuration level corresponding to the target cloud terminal to obtain the recombined image configuration data of the target cloud terminal.
[0102] S230, starting the target cloud terminal based on the recombined image configuration data.
[0103] Wherein, the description of S210-S230 refers to the description of S110-S140, which will not be repeated here.
[0104] S240, loading the desktop of the target cloud terminal to obtain the desktop picture data.
[0105] After starting the target cloud terminal, the desktop of the target cloud terminal can be loaded to obtain the desktop picture, and then the desktop picture is encoded to obtain the desktop picture data.
[0106] In an embodiment, S240 can include: loading the desktop of the target cloud terminal to obtain the desktop picture; and compressing and encoding the desktop picture to obtain the desktop picture data.
[0107] That is, the encoding of the desktop picture is compression encoding, so that the data amount of the encoded desktop picture data is small, so that the data transmission amount is small when the desktop picture data is transmitted to the client, the data transmission speed is fast, so that the client can quickly complete the reception of the desktop picture data, and the transmission efficiency of the desktop picture data is improved.
[0108] S250, transmitting the desktop picture data to the client.
[0109] The client displays the desktop picture of the target cloud terminal according to the desktop picture data.
[0110] The client can decode the desktop picture data to obtain the desktop picture, and after the client obtains the desktop picture, the desktop picture can be displayed, so that the user can view the desktop picture through the client. For example, if the desktop picture data is obtained by compression encoding the desktop picture, the client decodes the desktop picture data to obtain the desktop picture.
[0111] Of course, in addition to the content of the desktop of the target cloud terminal, the desktop picture can also include operation controls for responding to user operations. For example, as shown in Figure 6 The desktop picture 40 can include at least one application icon 46, and the desktop picture also includes a plurality of operation controls for responding to user operations on the desktop picture: a click control 41 for simulating mouse clicks, a switch control 42 for switching background task windows, an upslide control 43 for simulating mouse wheel upslides, a downslide control 44 for simulating mouse wheel downslides, and a return control 45 for returning to the previous page.
[0112] In some embodiments, the process of starting the target cloud terminal includes the following steps as shown in Figure 7
[0113] 701, the client sends a start request, and the start request is sent to the scheduling node;
[0114] 702, the scheduling node determines a first estimated communication time length, which is also the communication time length between the client and the default access cluster;
[0115] 703, determine whether the first estimated communication time length is greater than a first time threshold. If it is greater than the first time threshold, it is determined that the switching access condition is met, and 706 is executed, and if it is not greater than the first time threshold, 704 is executed;
[0116] 704, determine whether the first estimated waiting time length is greater than a second time threshold, wherein the first estimated waiting time length is also the time length that the default access cluster needs to wait to start the target cloud terminal; if it is greater than the second time threshold, 704 is executed, and if it is not greater than the second time threshold, 705 is executed;
[0117] 705. The default access cluster directly requests the image configuration data of the target cloud terminal stored by itself to start the target cloud terminal;
[0118] 706. The target access cluster is determined;
[0119] 707. The default access cluster requests the difference between the image configuration data of the target cloud terminal stored by itself and the target base image data under the target configuration level, cuts out the difference image data, and sends the difference image data to the target access cluster;
[0120] 708. The target access cluster recombines the difference image data and the target base image data under the target configuration level to obtain recombined image configuration data;
[0121] 709. The target access cluster loads the cloud terminal based on the recombined image configuration data to obtain the target cloud terminal;
[0122] 710. The target cloud terminal is started in response to the starting request of the client;
[0123] 711. The computing node that starts the target cloud terminal sends the desktop picture to the client in the form of desktop picture data, and the client obtains the desktop picture based on the desktop picture data and displays the desktop picture.
[0124] In the embodiment, when the cluster data of the default access cluster of the target cloud terminal started according to the request determines that the client meets the access switching condition, the target access cluster with a response time to the client lower than a time threshold is determined, the target cloud terminal is started by the computing node in the target access cluster, and the target cloud terminal is provided with services by the target access cluster to the client, so that the problem of long waiting time of the client caused by providing the target cloud terminal with services by the default access cluster of the target cloud terminal to the current client in the case that there are many clients accessing the default access cluster of the target cloud terminal or the communication distance between the client and the default access cluster of the target cloud terminal is long can be avoided. At the same time, the difference image data is requested from the default access cluster, not the full image configuration data of the target cloud terminal, the data amount of the difference image data is small, so that the data transmission time to the target access cluster is short, the target cloud terminal is started based on the difference image data and the stored target base image data, and the starting speed of the cloud terminal is further improved.
[0125] In addition, the desktop picture is compressed and encoded to obtain desktop picture data, and the desktop picture data is sent to the client to enable the client to display the desktop based on the desktop picture data. The desktop picture data transmission efficiency is high, so that the client can quickly complete the reception of the desktop picture data and obtain the desktop picture, and the client can quickly display the desktop picture, and low-delay display of the desktop picture is achieved.
[0126] In an embodiment, as shown in Figure 8 the method further comprises, after S250:
[0127] S310, receiving a data access request sent by the client.
[0128] The data access request is sent in response to a file access operation triggered by a data disk of the target cloud terminal in the desktop picture.
[0129] The file access operation can be a viewing operation triggered by a viewing icon or a viewing button corresponding to the data disk in the desktop picture. The file access operation can also be a viewing operation triggered by a certain folder in the data disk. The client generates the data access request in response to the file access operation and sends the data access request to the computing node that starts the target cloud terminal.
[0130] S320, determining a target file path requested by the data access request to access.
[0131] After the computing node receives the data access request, the file path requested by the data access request to access is determined as the target file path. That is, the file path to which the folder accessed by the foregoing file access operation belongs is determined as the target file path.
[0132] S330, if it is determined that the client is requesting the target file data under the target file path to the computing node for the first time, requesting the target file data to the default access cluster of the target cloud terminal.
[0133] The target file data refers to the data under the target file path, and the target file data can include any of the files and folders. The files can include images, audios, videos, and documents, etc.
[0134] The foregoing mirror difference data can include data disk directory mirror data. The data disk directory mirror data refers to the mirror of the directory of the data disk of the target cloud terminal. Therefore, the reorganized mirror configuration data obtained by the target access cluster also includes the data disk directory mirror data, so that the computing node of the target access cluster can present the directory of the data disk of the target cloud terminal after loading the reorganized mirror configuration data to start the target cloud terminal.
[0135] In other words, since the target cloud terminal is not started after the data in the data disk of the target cloud terminal is transmitted to the target access cluster, the waiting time for starting the target cloud terminal caused by switching the access cluster is greatly reduced, thereby ensuring that the target cloud terminal can be started in a short time even in the case of switching the access cluster.
[0136] If the target file path has target file data, and the target file path is accessed for the first time after the target cloud terminal is started this time, the target file data under the target file path does not exist in the computing nodes in the target access cluster. At this time, the target cloud terminal needs to request the target file data from the default access cluster.
[0137] The computing nodes in the target access cluster can generate a data acquisition request and send the data acquisition request to the default access cluster. The default access cluster returns the target file data in response to the data acquisition request.
[0138] S340, store the target file data in the computing node, and update the desktop picture of the target cloud terminal based on the target file data.
[0139] The updated desktop picture presents a file interface corresponding to the target file path.
[0140] After the computing nodes in the target access cluster receive the target file data, the desktop picture presenting the file interface corresponding to the target file path can be determined, and the original desktop picture of the target cloud terminal is replaced by the desktop picture presenting the file interface corresponding to the target file path, to obtain the updated desktop picture.
[0141] If the target file path does not have target file data, that is, the target file path only includes a folder, the desktop picture presenting the folder interface corresponding to the target file path can be determined directly, and the original desktop picture of the target cloud terminal is replaced by the desktop picture presenting the folder interface corresponding to the target file path, to obtain the updated desktop picture.
[0142] S350, send the desktop picture data of the updated desktop picture to the client.
[0143] After obtaining the updated desktop picture, the updated desktop picture is encoded to obtain the desktop picture data of the updated desktop picture, and then the desktop picture data of the updated desktop picture is sent to the client. The client obtains the updated desktop picture according to the desktop picture data of the updated desktop picture, and displays the updated desktop picture.
[0144] It should be noted that if the target file data does not exist under the target file path, that is, only a folder exists under the target file path, no data of any user data category needs to be obtained, and it is determined that the desktop picture of the folder interface corresponding to the target file path is presented, and the desktop picture of the folder interface corresponding to the target file path is used to replace the original desktop picture of the target cloud terminal.
[0145] Since the computing node in the target access cluster stores the data in the data disk of the target cloud terminal in the current computing node in the target access cluster after starting the target cloud terminal and obtaining the file in the data disk of the target cloud terminal from the default access cluster for the first time, if the client is not the first time to request the target file data under the target file path from the computing node in this use of the target cloud terminal, the computing node can load the file interface corresponding to the target file path based on the target file data stored by itself for the target cloud terminal, and update the desktop picture (the updated desktop picture presents the file interface corresponding to the target file path), and then send the desktop picture data of the updated desktop picture to the client.
[0146] It is worth mentioning that in response to the file access operation, the file path to which the folder to which the file access operation is directed belongs can be determined as the target file path according to the foregoing folder directory.
[0147] In order to quickly determine whether a certain file path has specific data, attribute information or identification information can be added to the file path with specific data, and the attribute information or identification information is used to quickly determine whether the file path stores specific data. The attribute information or identification information can be in the form of letters, numbers or other symbols, which is not limited in the present application.
[0148] In the embodiment, after the client sends the data access request in response to the file access operation, if it is determined that the client is the first time to request the target file data under the target file path from the computing node, the computing node of the target access cluster requests the target file data from the default access cluster of the target cloud terminal, and also generates a transition animation playing picture, encodes the transition animation playing picture to obtain animation encoding data, and sends the animation encoding data to the client. The client decodes the animation encoding data to obtain the transition animation playing picture and displays the transition animation playing picture. When the client receives the desktop picture data of the updated desktop picture and obtains the updated desktop picture based on the desktop picture data of the updated desktop picture, the display of the transition animation playing picture is stopped, and the updated desktop picture is displayed.
[0149] During the process of waiting for the updated desktop picture at the client, a transition animation playing picture can also be displayed, which can bring a good visual experience to the waiting user. The transition animation playing picture can be a picture of a virtual object dancing or a rotating circle picture, and the present application does not make any limitation.
[0150] In the embodiment, when viewing the target file data under the target file path, only the target file data needs to be obtained from the default access cluster, and all the files in the data disk do not need to be migrated to the target access cluster at one time, so that the data is migrated on demand, thereby the data under the unvisited folder does not need to be transmitted, compared with transmitting all the data in the data disk of the target cloud terminal at one time, the amount of data transmitted at one time is reduced, the time length of data transmission is reduced, the waiting time of the user is reduced, the cloud terminal can quickly respond to the data access request to display the updated desktop picture, and the use experience of the cloud terminal is effectively ensured.
[0151] In an embodiment, after S350, the method further includes: receiving an editing request sent by the client; the editing request is sent in response to an editing operation on the target file identifier in the updated desktop picture; performing corresponding editing processing on the data identified by the target file identifier in the target file data based on the editing request to obtain updated target file data, and forwarding the editing request to the default access cluster, so that the default access cluster performs corresponding editing processing on the data identified by the target file identifier in the target file data based on the editing request to obtain updated target file data; determining an updated file desktop based on the updated target file data, wherein the updated file desktop presents a file interface of the updated target file data pointed to by the target file path; and sending desktop picture data of the updated file desktop to the client.
[0152] The editing operation can be modifying file data, deleting file data, or adding new file data, etc. The file identifier can be an icon, a thumbnail, or description information of the file, etc.
[0153] That is, in the embodiment, the data in the data disk of the target cloud terminal in the default access cluster can be updated in real time based on the editing operation, so as to synchronize the update of the data in the data disk of the target cloud terminal in the target access cluster to the default access cluster.
[0154] In an embodiment, after S250, the method further includes: after the client exits the target cloud terminal, if it is determined that the reorganization image configuration data of the target cloud terminal is updated, sending the updated reorganization image configuration data to the default access cluster, so that the default access cluster updates the image configuration data stored by the target cloud terminal according to the updated reorganization image configuration data.
[0155] The client can generate an exit request in response to a user exit operation, and the computing node of the target access cluster can determine that the client exits the target cloud terminal in response to the exit request. The client can display an exit control, and the client can generate an exit request in response to the user clicking or long-pressing the exit control.
[0156] After the computing node of the target access cluster determines to exit the target cloud terminal, the computing node of the target access cluster determines whether the reorganization image configuration data is updated. For example, it can be determined whether the reorganization image configuration data when starting the target cloud terminal is consistent with the reorganization image configuration data when exiting the target cloud terminal. If they are consistent, it is determined that the reorganization image configuration data is not updated. If they are inconsistent, it is determined that the reorganization image configuration data is updated.
[0157] If it is determined that the reorganization image configuration data is updated, in order to enable the state of the target cloud terminal to be consistent with the state of the target cloud terminal after the exit operation when starting the target cloud terminal next time, the reorganization image configuration data needs to be sent to the default access cluster at this time, so that the default access cluster updates the image configuration data stored for the target cloud terminal according to the updated reorganization image configuration data.
[0158] After the default access cluster updates the image configuration data of the target cloud terminal, when starting the target cloud terminal next time, the target cloud terminal is started using the updated image configuration data, and the state of the target cloud terminal is the state of the target cloud terminal when exiting the target cloud terminal this time.
[0159] If it is determined that the reorganization image configuration data is not updated, the image configuration data of the target cloud terminal stored in the default access cluster can not be updated at this time.
[0160] In some embodiments, before sending the updated reorganization image configuration data to the default access cluster, the method further includes: determining reference incremental data of the updated update image data relative to target base image configuration data of a target configuration level corresponding to the target cloud terminal; and accordingly, sending the updated reorganization image configuration data to the default access cluster includes: sending the reference incremental data to the default access cluster, so that the default access cluster reorganizes to obtain new image configuration data of the target cloud terminal according to the reference incremental data and the target base image configuration data, and stores the new image configuration data.
[0161] That is, after the reorganized mirror image configuration data is updated, the updated reorganized mirror image configuration data can be determined as the update mirror image data, and then the difference between the update mirror image data and the target base mirror image configuration data corresponding to the target configuration level of the target cloud terminal is determined as the reference incremental data; then the reference incremental data is sent to the default access cluster, the reference incremental data and the target base mirror image configuration data are reorganized by the default access cluster to obtain the new mirror image configuration data of the target cloud terminal, and then the new mirror image configuration data is stored, that is, the mirror image configuration data stored in the default access cluster for the target cloud terminal is replaced by the new mirror image configuration data of the target cloud terminal.
[0162] In another embodiment, before the updated reorganized mirror image configuration data is sent to the default access cluster, the method further comprises: determining the update incremental data of the updated update mirror image data relative to the reorganized mirror image configuration data of the target cloud terminal; accordingly, sending the updated reorganized mirror image configuration data to the default access cluster comprises: sending the update incremental data to the default access cluster, so that the default access cluster reorganizes the update incremental data and the mirror image configuration data of the target cloud terminal to obtain the new mirror image configuration data of the target cloud terminal, and stores the new mirror image configuration data.
[0163] That is, the difference between the update mirror image data and the reorganized mirror image configuration data of the target cloud terminal can be determined as the update incremental data; then the update incremental data is sent to the default access cluster, and the update incremental data and the mirror image configuration data of the target cloud terminal are reorganized by the default access cluster to obtain the new mirror image configuration data of the target cloud terminal, and then the new mirror image configuration data is stored.
[0164] In this embodiment, when the mirror image configuration data of the target cloud terminal is updated, the mirror image configuration data of the target cloud terminal is updated, and the update of the mirror image configuration data of the target cloud terminal is realized, so that the state of the target cloud terminal is consistent with the state of the target cloud terminal when it is started next time.
[0165] At the same time, only the reference incremental data can be sent to the default access cluster, and the entire updated reorganized mirror image configuration data does not need to be sent, thereby reducing the data amount of the data to be sent, improving the data transmission efficiency, and reducing the network transmission pressure.
[0166] Furthermore, the update incremental data to be sent is smaller than the reference incremental data, thereby further reducing the data amount of the data to be sent, improving the data transmission efficiency, and reducing the network transmission pressure.
[0167] Please refer to Figure 9 , Figure 9 A block diagram of a cloud terminal startup control device according to an embodiment of the present application is shown, which is applied to a scheduling node, and the cloud terminal startup control device 900 comprises:
[0168] The first receiving module 910 is configured to receive a starting request sent by the client; the starting request is used to request starting the target cloud terminal;
[0169] The cluster determining module 920 is configured to, if it is determined that the client satisfies the access switching condition according to the cluster data of the default access cluster of the target cloud terminal, determine, from the multiple candidate access clusters other than the default access cluster, a target access cluster between which and the client the response time is lower than the time threshold.
[0170] The requesting module 930 is configured to request the difference mirror image data from the default access cluster; the difference mirror image data refers to the incremental data of the mirror image configuration data of the target cloud terminal relative to the target base mirror image configuration data under the target configuration level corresponding to the target cloud terminal.
[0171] The first sending module 940 is configured to send the difference mirror image data and the starting request to the target access cluster, so that the computing node in the target access cluster starts the target cloud terminal according to the difference mirror image data and the target base mirror image configuration data stored in the target access cluster.
[0172] Optionally, the cluster data includes cluster access data and cluster location information; the cluster determining module 920 is further configured to determine a first estimated communication time between the default access cluster and the client according to the cluster location information and geographical location information of the client; determine a first estimated waiting time for the default access cluster to respond to the starting request according to the cluster access data of the default access cluster; and determine that the client satisfies the access switching condition if the first estimated communication time is greater than a first time threshold, or the first estimated communication time is not greater than the first time threshold and the estimated waiting time is greater than a second time threshold.
[0173] Optionally, the cluster determining module 920 is further configured to determine a second estimated communication time between each candidate access cluster and the client according to the cluster location information of each candidate access cluster and the geographical location information of the client; determine a second estimated waiting time for each candidate access cluster to respond to the starting request according to the cluster access data of each candidate access cluster; determine the response time between each candidate access cluster and the client according to the second estimated communication time and the second estimated waiting time; and determine, from the multiple candidate access clusters other than the default access cluster, the target access cluster between which and the client the response time is lower than the time threshold based on the response time.
[0174] Optionally, the cluster determining module 920 is further configured to determine, from the plurality of candidate access clusters, a target candidate access cluster with a response time less than a time threshold to the client; if the target candidate access cluster is one, taking the target candidate access cluster as the target access cluster; if the target candidate access cluster is a plurality, determining a target candidate access cluster with a second estimated communication time to the client as the target access cluster.
[0175] Optionally, the cluster determining module 920 is further configured to determine, from the plurality of candidate access clusters except the default access cluster, a target candidate access cluster with a response time less than a time threshold; taking an access cluster in which a target available computing node is determined to exist in the target candidate access cluster as the target access cluster; the target available computing node refers to a computing node with idle computing resources meeting the demand computing resources of the target cloud terminal.
[0176] Optionally, the apparatus further comprises a default starting module configured to, if the client does not meet the access switching condition according to the cluster data of the default access cluster of the target cloud terminal, forward the starting request to the default access cluster, so that a computing node in the default access cluster starts the target cloud terminal according to the image configuration data of the target cloud terminal.
[0177] Please refer to Figure 10 , Figure 10 Fig. 8 shows a block diagram of a starting control apparatus of a cloud terminal according to another embodiment of the present application, which is applied to a computing node in a target access cluster, and the starting control apparatus 1000 of the cloud terminal comprises:
[0178] A second receiving module 1010 is configured to receive the differential image data and the starting request forwarded by the scheduling node; the scheduling node processes the starting request according to the method in the foregoing embodiments after receiving the starting request of the client for the target cloud terminal, and forwards the differential image data and the starting request to the target access cluster;
[0179] A recombining module 1020 is configured to recombine the differential image data and the target basic image configuration data under the target configuration level corresponding to the target cloud terminal, to obtain recombined image configuration data of the target cloud terminal;
[0180] A starting module 1030 is configured to start the target cloud terminal based on the recombined image configuration data;
[0181] A loading module 1040 is configured to load a desktop of the target cloud terminal to obtain desktop picture data;
[0182] A second sending module 1050 is configured to send the desktop picture data to the client, so that the client displays the desktop picture of the target cloud terminal according to the desktop picture data.
[0183] Optionally, the apparatus further comprises an updating module configured to receive a data access request sent by the client; the data access request is sent in response to a file access operation triggered by a data disk of the target cloud terminal in the desktop picture; determine a target file path requested to be accessed by the data access request; if it is determined that the client is requesting target file data under the target file path to the computing node for the first time, request the target file data from the default access cluster of the target cloud terminal; store the target file data in the computing node and update the desktop picture of the target cloud terminal based on the target file data, and the updated desktop picture presents a file interface corresponding to the target file path; send desktop picture data of the updated desktop picture to the client.
[0184] Optionally, the updating module is further configured to, after the client exits the target cloud terminal, if it is determined that the reorganization image configuration data of the target cloud terminal is updated, send the updated reorganization image configuration data to the default access cluster, so that the default access cluster updates the image configuration data stored by the target cloud terminal according to the updated reorganization image configuration data.
[0185] Optionally, the updating module is further configured to determine reference incremental data of the updated update image data relative to target base image configuration data under a target configuration level corresponding to the target cloud terminal; send the reference incremental data to the default access cluster, so that the default access cluster reorganizes to obtain new image configuration data of the target cloud terminal according to the reference incremental data and the target base image configuration data, and stores the new image configuration data.
[0186] Optionally, the loading module 1040 is further configured to load a desktop of the target cloud terminal to obtain a desktop picture; and compress and encode the desktop picture to obtain desktop picture data.
[0187] Figure 11 A structural block diagram of an electronic device for executing the cloud terminal startup control method according to the embodiments of the present application is shown. The electronic device can be a scheduling node 200 in Figure 1 It should be noted that, Figure 11 The computer system 1200 of the electronic device shown is only an example and should not limit the functions and use range of the embodiments of the present application.
[0188] As Figure 11As shown, the computer system 1200 includes a central processing unit (CPU) 1201 which can execute various appropriate actions and processes in accordance with programs stored in a read-only memory (ROM) 1202 or loaded from a storage section 1208 into a random access memory (RAM) 1203, such as executing the methods in the above-described embodiments. Various programs and data required for system operation are also stored in the RAM 1203. The CPU 1201, the ROM 1202, and the RAM 1203 are connected to each other through a bus 1204. An input / output (I / O) interface 1205 is also connected to the bus 1204.
[0189] Connected to the I / O interface 1205 are an input section 1206 including a keyboard, a mouse, etc.; an output section 1207 including a display such as a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1208 including a hard disk, etc.; and a communication section 1209 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 1209 performs communication processing via a network such as the Internet. A drive 1210 is also connected to the I / O interface 1205 as necessary. A removable recording medium 1211 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc. is attached to the drive 1210 as necessary, so that a computer program read therefrom is installed into the storage section 1208 as necessary.
[0190] In particular, according to embodiments of the present application, the processes described above with reference to the flowcharts can be implemented as a computer software program. For example, embodiments of the present application include a computer program product comprising a computer program carried on a computer readable medium, the computer program containing program code for executing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 1209, and / or installed from the removable recording medium 1211. When the computer program is executed by the central processing unit (CPU) 1201, various functions defined in the systems of the present application are executed.
[0191] It should be noted that the computer-readable medium in the embodiments of the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination thereof. The computer-readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination thereof. More specific examples of the computer-readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this application, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or apparatus. In this application, the computer-readable signal medium can include a data signal carrying a computer-readable program code in a baseband or as a part of a carrier wave. Such a propagated data signal can take on various forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium that can transmit, propagate or transport a program for use by or in connection with an instruction execution system, device or apparatus. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, or the like, or any suitable combination thereof.
[0192] The flowcharts and block diagrams in the drawings illustrate the possible implementation architectures, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In the flowcharts or block diagrams, each block can represent a module, a program segment or a part of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks can occur in different orders than that shown in the drawings. For example, two blocks that are shown in succession can actually be executed substantially in parallel, and sometimes in reverse order, depending on the involved functions. It should also be noted that each block in the block diagrams or flowcharts, and the combination of blocks in the block diagrams or flowcharts, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer-readable instructions.
[0193] The units described in the embodiments of the present application can be implemented by software, or by hardware, or by a combination of software and hardware. The units described can also be located in a single processor. In some cases, the names of the units do not limit the units themselves.
[0194] As another aspect, the present application also provides a computer readable storage medium, which can be included in the electronic device described in the above embodiments, or can exist separately without being assembled into the electronic device. The computer readable storage medium stores computer readable instructions, which, when executed by a processor, implement the method in any of the above embodiments.
[0195] According to an aspect of the embodiments of the present application, a computer program product is provided, which includes computer readable instructions stored in a computer readable storage medium. A processor of an electronic device reads the computer readable instructions from the computer readable storage medium, and the processor executes the computer readable instructions, so that the electronic device executes the method in any of the above embodiments.
[0196] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined target, and can be implemented entirely or partially by using software, hardware (such as processing circuitry or memory), or a combination thereof, and similarly, one processor (or multiple processors or memory) can be used to implement one or more modules or units. In addition, each module or unit can be a whole module or unit of the function of the module or unit, or a part of the module or unit.
[0197] It should be noted that although several modules or units of the device for action execution are mentioned in the above detailed description, such a division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units.
[0198] Those skilled in the art can clearly understand the example embodiments described herein through the above description of the embodiments, which can be implemented by software or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a U disk, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable an electronic device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to perform the method according to the embodiments of the present application.
[0199] Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the embodiments disclosed herein. The present application is intended to cover any variations, uses, or adaptations of the application following the general principles thereof and including such departures from the present disclosure as come within known use or custom in the art. It is to be understood that the application is not limited to the exact details of construction, and the arrangement of the components set forth in the above description of the application and illustrated in the drawings, as such changes and modifications can be made therein without departing from the spirit and scope of the application. The scope of the application is limited only by the claims that follow.
[0200] Finally, it should be noted that: the above examples are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing examples, those skilled in the art will understand that they can still modify the technical solutions recorded in the foregoing examples, or make equivalent replacement for part of the technical features; and these modifications or replacements do not drive the essence of the corresponding technical solutions out of the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A method of controlling startup of a cloud terminal, characterized by, The method applied to a scheduling node comprises: receiving a starting request sent by a client; the starting request is used to request starting a target cloud terminal; if it is determined according to cluster data of a default access cluster of the target cloud terminal that the client satisfies an access switching condition, determining a target access cluster from a plurality of candidate access clusters other than the default access cluster, wherein a response time between the target access cluster and the client is lower than a time threshold; requesting difference mirror data from the default access cluster, wherein the difference mirror data refers to incremental data of mirror configuration data of the target cloud terminal relative to target base mirror configuration data under a target configuration level corresponding to the target cloud terminal; sending the difference mirror data and the starting request to the target access cluster, so that a computing node in the target access cluster starts the target cloud terminal according to the difference mirror data and the target base mirror configuration data stored in the target access cluster.
2. The method of claim 1, wherein, The cluster data comprises cluster access data and cluster location information; Before the step of determining a target access cluster from a plurality of candidate access clusters other than the default access cluster, wherein a response time between the target access cluster and the client is lower than a time threshold, the method further comprises: determining a first estimated communication time between the default access cluster and the client according to the cluster location information and geographical location information of the client; determining a first estimated waiting time for the default access cluster to respond to the starting request according to the cluster access data of the default access cluster; if the first estimated communication time is greater than a first time threshold, or the first estimated communication time is not greater than the first time threshold and the first estimated waiting time is greater than a second time threshold, determining that the client satisfies the access switching condition.
3. The method of claim 1, wherein, The step of determining a target access cluster from a plurality of candidate access clusters other than the default access cluster, wherein a response time between the target access cluster and the client is lower than a time threshold, comprises: determining a second estimated communication time between each of the candidate access clusters and the client according to cluster location information of each of the candidate access clusters and geographical location information of the client; determining a second estimated waiting time for each of the candidate access clusters to respond to the starting request according to cluster access data of each of the candidate access clusters; determining a response time between each of the candidate access clusters and the client according to the second estimated communication time and the second estimated waiting time; determining a target access cluster from a plurality of candidate access clusters other than the default access cluster, wherein a response time between the target access cluster and the client is lower than a time threshold, based on the response time.
4. The method of claim 3, wherein, The step of determining a target access cluster from a plurality of candidate access clusters other than the default access cluster, wherein a response time between the target access cluster and the client is lower than a time threshold, based on the response time, comprises: determining, from the plurality of candidate access clusters, a target candidate access cluster with a response time less than a time threshold to the client; if the target candidate access cluster is one, taking the target candidate access cluster as the target access cluster; if the target candidate access cluster is more than one, determining a target candidate access cluster with a second estimated communication time to the client as the target access cluster.
5. The method of claim 3, wherein, determining, from the plurality of candidate access clusters, a target access cluster with a response time less than a time threshold to the client based on the response time, comprises: determining, from the plurality of candidate access clusters, a target candidate access cluster with a response time less than the time threshold; taking an access cluster with a target available computing node in the target candidate access cluster as the target access cluster; the target available computing node refers to a computing node with idle computing resources meeting the demand computing resources of the target cloud terminal.
6. The method according to any one of claims 1 to 5, characterized in that, after receiving the start request sent by the client, the method further comprises: if it is determined that the client does not meet the access switching condition according to the cluster data of the default access cluster of the target cloud terminal, forwarding the start request to the default access cluster, so that the computing node in the default access cluster starts the target cloud terminal according to the image configuration data of the target cloud terminal.
7. A startup control method of a cloud terminal, characterized by, applied to a computing node in a target access cluster, the method comprises: receiving the difference image data and the start request forwarded by a scheduling node; the scheduling node processes the start request according to the method in any one of claims 1 to 6 and forwards the difference image data and the start request to the target access cluster after receiving the start request sent by the client for the target cloud terminal; recombining the difference image data and the target base image configuration data under the target configuration level corresponding to the target cloud terminal to obtain recombined image configuration data of the target cloud terminal; starting the target cloud terminal based on the recombined image configuration data; loading a desktop of the target cloud terminal to obtain desktop picture data; sending the desktop picture data to the client, so that the client displays the desktop picture of the target cloud terminal according to the desktop picture data.
8. The method of claim 7, wherein, after sending the desktop picture data to the client, so that the client displays the desktop picture of the target cloud terminal according to the desktop picture data, the method further comprises: receiving a data access request sent by the client; the data access request is sent in response to a file access operation triggered by the target cloud terminal in the desktop picture; determining a target file path requested by the data access request; if it is determined that the client is requesting target file data under the target file path to the computing node for the first time, requesting the target file data to the default access cluster of the target cloud terminal; The computing node stores the target file data and updates a desktop picture of the target cloud terminal based on the target file data, and the updated desktop picture presents a file interface corresponding to the target file path; The updated desktop picture data is sent to the client.
9. The method of claim 7, wherein, After the desktop picture data is sent to the client to enable the client to display the desktop picture of the target cloud terminal according to the desktop picture data, the method further comprises: After the client exits the target cloud terminal, if it is determined that the reorganization image configuration data of the target cloud terminal is updated, the updated reorganization image configuration data is sent to the default access cluster to enable the default access cluster to update the image configuration data stored by the target cloud terminal according to the updated reorganization image configuration data.
10. The method of claim 9, wherein, Before the updated reorganization image configuration data is sent to the default access cluster, the method further comprises: determining reference incremental data of the updated update image data relative to target base image configuration data at a target configuration level corresponding to the target cloud terminal; The updated reorganization image configuration data is sent to the default access cluster, comprising: The reference incremental data is sent to the default access cluster to enable the default access cluster to reorganize the new image configuration data of the target cloud terminal according to the reference incremental data and the target base image configuration data, and store the new image configuration data.
11. The method of claim 7, wherein, The desktop of the target cloud terminal is loaded to obtain desktop picture data, comprising: The desktop of the target cloud terminal is loaded to obtain desktop picture data, comprising: The desktop picture is compressed and encoded to obtain desktop picture data.
12. A start-up control apparatus of a cloud terminal, characterized by comprising: Applied to a scheduling node, the device comprises: A first receiving module configured to receive a start request sent by a client; the start request is used to request to start a target cloud terminal; A cluster determining module configured to, if it is determined according to cluster data of a default access cluster of the target cloud terminal that the client meets an access switching condition, determine a target access cluster from a plurality of candidate access clusters other than the default access cluster, wherein a response time between the target access cluster and the client is lower than a time threshold; A request module configured to request difference image data from the default access cluster, wherein the difference image data refers to incremental data of image configuration data of the target cloud terminal relative to target base image configuration data at a target configuration level corresponding to the target cloud terminal; A first sending module configured to send the difference image data and the start request to the target access cluster, so that a computing node in the target access cluster starts the target cloud terminal according to the difference image data and the target base image configuration data stored in the target access cluster.
13. A start-up control apparatus of a cloud terminal, characterized by comprising: Applied to a computing node in a target access cluster, the device comprises: a second receiving module, configured to receive difference image data and a start request forwarded by a scheduling node; the scheduling node processes the start request from a client for a target cloud terminal according to the method in any one of claims 1 to 6, and forwards the difference image data and the start request to the target access cluster; a recombining module, configured to recombine the difference image data and target base image configuration data at a target configuration level corresponding to the target cloud terminal, to obtain recombined image configuration data of the target cloud terminal; a starting module, configured to start the target cloud terminal based on the recombined image configuration data; a loading module, configured to load a desktop of the target cloud terminal, to obtain desktop picture data; a second sending module, configured to send the desktop picture data to the client, so that the client displays a desktop picture of the target cloud terminal according to the desktop picture data.
14. An electronic device, comprising: comprising: a processor; a memory, the memory having computer readable instructions stored thereon, the computer readable instructions being executed by the processor to implement the method of any one of claims 1-11.
15. A computer readable storage medium, characterized in that, a computer readable instruction stored thereon, the computer readable instruction being executed by the processor to implement the method of any one of claims 1-11.
16. A computer program product, characterised in that, comprising a computer readable instruction, the computer readable instruction being executed by the processor to implement the method of any one of claims 1-11.