Desktop picture display method and device, electronic equipment and storage medium
By acquiring and loading the desktop paths of the target and candidate cloud terminals, encoding and sending the encoded desktop data, the problem of manually synchronizing desktop data during cloud terminal switching is solved, thus improving the user experience.
Patent Information
- Application Number
- CN202410952613.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-16
- Publication Date
- 2026-01-16
AI Technical Summary
When switching between cloud terminals with different configurations, existing technologies require manual synchronization of the cloud terminal's desktop data, resulting in a poor user experience.
By receiving the cloud terminal startup request, the desktop paths of the target cloud terminal and candidate cloud terminals are obtained, the desktop is loaded and encoded, and the desktop encoding data is sent to the client to display a basically identical desktop screen.
It eliminates the need for manual synchronization of desktop data between different cloud terminals, improving the user experience when switching between different cloud terminals.
Smart Images

Figure CN121349569A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and more specifically, to a method, apparatus, electronic device, and storage medium for displaying a desktop screen. Background Technology
[0002] With the rapid development of cloud computing technology, cloud terminals, as an emerging computing model, are widely used in enterprise offices, education, healthcare, remote work, and other fields. A cloud terminal refers to a computing model where users access and operate operating systems, application software, and storage resources deployed on cloud servers remotely via a network using a client installed on a terminal device. By storing computing resources and data on cloud servers, cloud terminals significantly reduce dependence on the hardware of terminal devices. Therefore, they are not constrained by the hardware limitations of terminal devices when using cloud terminals, making them increasingly popular among users.
[0003] Currently, more and more users are purchasing cloud terminals with different configurations according to their needs, which is equivalent to having multiple terminal devices with different configurations. However, in related technologies, data is not shared between multiple cloud terminals with different configurations for the same user. This means that when switching cloud terminals, users need to manually migrate the data on the desktop of one cloud terminal to the desktop of another cloud terminal. Summary of the Invention
[0004] In view of this, embodiments of this application propose a method, apparatus, electronic device and storage medium for displaying a desktop screen, which can ensure that the desktop screen displayed when a user logs into different cloud terminals is basically the same.
[0005] In a first aspect, embodiments of this application provide a method for displaying a desktop screen. The method includes: receiving a cloud terminal startup request sent by a client; the cloud terminal startup request including a target identifier of a target cloud terminal; starting the target cloud terminal based on the target identifier; if the target cloud terminal is any one of a plurality of cloud terminals applied for by the client, after starting the target cloud terminal, obtaining the desktop path of the target cloud terminal and obtaining the desktop paths of candidate cloud terminals from the data disk of the target cloud terminal; the candidate cloud terminals refer to other cloud terminals among the plurality of cloud terminals besides the target cloud terminal; loading the desktop according to the desktop path of the target cloud terminal and the desktop paths of the candidate cloud terminals to obtain desktop encoding data; and sending the desktop encoding data to the client to enable the client to display a desktop screen.
[0006] Secondly, embodiments of this application provide a desktop display device, which includes a request receiving module, a terminal startup module, a path acquisition module, a desktop loading module, and a data feedback module. The request receiving module is used to receive a cloud terminal startup request sent by a client; the cloud terminal startup request includes a target identifier of a target cloud terminal. The terminal startup module is used to start the target cloud terminal based on the target identifier. The path acquisition module is used, if the target cloud terminal is any one of a plurality of cloud terminals applied for by the client, to acquire the desktop path of the target cloud terminal and the desktop paths of candidate cloud terminals from the data disk of the target cloud terminal after starting the target cloud terminal; the candidate cloud terminals refer to other cloud terminals besides the target cloud terminal among the plurality of cloud terminals. The desktop loading module is used to load the desktop according to the desktop paths of the target cloud terminal and the candidate cloud terminals to obtain desktop encoding data. The data feedback module is used to send the desktop encoding data to the client so that the client displays the desktop screen.
[0007] In one possible implementation, the desktop display device further includes: a path storage module and a first data copying module; the path storage module is used to obtain the desktop path of the candidate cloud terminal from the system disk of the candidate cloud terminal and store the desktop path of the candidate cloud terminal in the data disk of the candidate cloud terminal; the first data copying module is used to copy the data in the data disk of the candidate cloud terminal to the data disk of the target cloud terminal.
[0008] In one possible implementation, the application time of the target cloud terminal is later than that of the candidate cloud terminal; the path storage module is further configured to, when the client makes a new application for the target cloud terminal, obtain the desktop path of the candidate cloud terminal from the system disk of the candidate cloud terminal and store the desktop path of the candidate cloud terminal in the data disk of the candidate cloud terminal.
[0009] In one possible implementation, the first data copying module is further configured to copy data from the data disk of the candidate cloud terminal to the data disk of the target cloud terminal when the configuration level of the target cloud terminal is higher than that of the candidate cloud terminal.
[0010] In one possible implementation, the desktop display device further includes a second data copying module, used to store the desktop path of the target cloud terminal in the data disk of the target cloud terminal when the client adds a new application for the target cloud terminal, and to copy the basic data in the data disk of the target cloud terminal to the data disk of the candidate cloud terminal. The basic data refers to other data in the data disk of the target cloud terminal besides the data under the second path.
[0011] In one possible implementation, the desktop loading module includes a data acquisition submodule, a loading submodule, and an encoding submodule; the data acquisition submodule is used to acquire first desktop data according to the desktop path of the target cloud terminal; the data acquisition submodule is also used to acquire second desktop data according to the desktop path of the candidate cloud terminal; the loading submodule is used to load the desktop according to the first desktop data and the second desktop data to obtain a desktop screen; the encoding submodule is used to encode the desktop screen to obtain the desktop encoded data.
[0012] In one possible implementation, the loading submodule is further configured to determine a union of desktop icons based on the desktop icons in the first desktop data and the desktop icons in the second desktop data; and to load the desktop based on the union of desktop icons to obtain the desktop screen.
[0013] In one possible implementation, the loading submodule is further configured to: determine differing desktop icons and intersecting desktop icons based on the desktop icons in the first desktop data and the desktop icons in the second desktop data; determine a target update time corresponding to the intersecting desktop icons based on a first update time of the intersecting desktop icons in the first desktop data and a second update time of the intersecting desktop icons in the second desktop data, wherein the target update time is the latest time between the first update time and the second update time; and add the intersecting desktop icons and the differing desktop icons at the target update time to the union of the desktop icons.
[0014] In one possible implementation, the path acquisition module is further configured to, after starting the target cloud terminal, obtain the desktop path of the target cloud terminal from the system disk of the target cloud terminal, and obtain the desktop path of the candidate cloud terminal from the data disk of the target cloud terminal according to the first path.
[0015] In one possible implementation, the terminal startup module includes a data acquisition submodule and a mounting submodule. The data acquisition submodule is used to acquire the image configuration data of the target cloud terminal based on the target identifier. The mounting submodule is used to mount the image configuration data of the target cloud terminal onto a physical machine to start the target cloud terminal.
[0016] In one possible implementation, the terminal startup module further includes: a request receiving submodule, a data generation submodule, and an associated storage submodule; the request receiving submodule is used to receive a cloud terminal application request sent by the client, the cloud terminal application request including cloud terminal configuration requirements and an object identifier for logging into the client; the data generation submodule is used to generate image configuration data of the target cloud terminal according to the cloud terminal configuration requirements, the image configuration data indicating the system disk and data disk mounted for the target cloud terminal and meeting the cloud terminal configuration requirements; the associated storage submodule is used to associate and store the image configuration data of the target cloud terminal with the target identifier of the target cloud terminal and the object identifier in a database.
[0017] In one possible implementation, the path acquisition module is further configured to acquire the desktop path of the target cloud terminal when the target cloud terminal is the first cloud terminal applied for by the client; the desktop loading module is further configured to load the desktop according to the desktop path of the target cloud terminal to obtain the encoded data of the first desktop; and the data feedback module is further configured to send the encoded data of the first desktop to the client so that the client displays the first desktop screen.
[0018] Thirdly, embodiments of this application provide an electronic device, including a processor and a memory; the memory stores computer-readable instructions, which, when executed by the processor, implement the above-described method.
[0019] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-readable instructions, which, when executed by a processor, implement the above-described method.
[0020] Fifthly, embodiments of this application provide a computer program product including computer-readable instructions that, when executed by a processor, implement the steps of the above-described method.
[0021] This application provides a method, apparatus, electronic device, and storage medium for displaying a desktop screen. After launching a target cloud terminal based on its target identifier in a cloud terminal launch request, the desktop path of the target cloud terminal is obtained, as well as the desktop paths of other cloud terminals (i.e., candidate cloud terminals) among the multiple cloud terminals applied for by the client, excluding the target cloud terminal, are obtained from the target cloud terminal's data disk. Subsequently, desktop loading is performed based on the desktop paths of the target and candidate cloud terminals to obtain desktop encoding data, which is then sent to the client to display the desktop screen. Since the desktop encoding data is obtained by loading the desktop based on the desktop paths of the target and candidate cloud terminals, it ensures that the desktop screen displayed by the client can show not only the desktop icons from the target cloud terminal but also those from the candidate cloud terminals. This ensures that the desktop screen displayed is essentially the same when a user logs into different cloud terminals, without requiring the user to manually synchronize desktop data between different cloud terminals. This allows the user to seamlessly switch between different cloud terminals, greatly improving the user experience of the cloud terminal. Attached Figure Description
[0022] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0023] Figure 1 The illustration shows an application scenario of a desktop screen display method provided in an embodiment of this application;
[0024] Figure 2 A block diagram of an electronic device provided in an embodiment of this application is shown;
[0025] Figure 3 A flowchart illustrating the desktop screen display method proposed in an embodiment of this application is shown;
[0026] Figure 4 A schematic diagram of the desktop screen proposed in an embodiment of this application is shown;
[0027] Figure 5 Another schematic diagram of the desktop screen proposed in the embodiments of this application is shown;
[0028] Figure 6 This illustration shows yet another schematic diagram of the desktop screen proposed in an embodiment of this application;
[0029] Figure 7 This illustration shows another flowchart of the desktop screen display method proposed in an embodiment of this application;
[0030] Figure 8 This illustration shows another flowchart of the desktop screen display method proposed in an embodiment of this application;
[0031] Figure 9 This illustration shows another flowchart of the desktop screen display method proposed in the embodiments of this application;
[0032] Figure 10 This diagram illustrates another application scenario of the desktop display method proposed in the embodiments of this application;
[0033] Figure 11 A schematic diagram of the cloud terminal upgrade page proposed in an embodiment of this application is shown;
[0034] Figure 12 The illustration shows a schematic diagram of the desktop screen of a cloud computer with different configuration levels requested by a client, as proposed in an embodiment of this application. Detailed Implementation
[0035] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0036] In the following description, references to "some embodiments" describe a subset of all possible embodiments; however, it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict. In the following description, the term "a plurality of" means at least two.
[0037] In the following description, the terms "first" and "second" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first" and "second" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0038] 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 this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0039] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0040] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0041] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0042] It should be noted that "multiple" as mentioned in this article refers to two or more.
[0043] The following is an explanation of the terms used in this application.
[0044] Cloud terminals are a new type of IT service model that relies on cloud computing technology. They migrate the computing and storage capabilities of traditional terminal devices to the cloud, relying on cloud server resources for computing and data storage. Users can access cloud terminals (e.g., cloud PCs, also known as cloud desktops) via the Internet through a client installed on their local computer (e.g., a terminal device). Users can access and operate cloud terminals through the client, and have the same or similar user experience as when using a local computer.
[0045] The following describes an exemplary application of the desktop display method provided in this application. The desktop display method provided in this application can be applied to, for example... Figure 1 In the server within the application environment shown.
[0046] See Figure 1 , Figure 1 This is a schematic diagram of an application scenario for the desktop display method provided in this application embodiment. In this application scenario, the terminal device 10 connects to the server 20 through the network 30, and the server 20 connects to the database 40. The network 30 can be a wide area network or a local area network, or a combination of both.
[0047] In some embodiments, the desktop display method provided in this application is implemented by server 20. Terminal device 10 can run a client, and terminal device 10 can send a cloud terminal startup request to server 20 through its running client. The cloud terminal startup request includes a target identifier of the target cloud terminal, which is any one of multiple cloud terminals applied for by the client. After receiving the cloud terminal startup request sent by the client, server 20 starts the target cloud terminal based on the target identifier in the cloud terminal startup request; after starting the target cloud terminal, it obtains multiple desktop paths from the data disk of the target cloud terminal. The multiple desktop paths include the desktop path of the target cloud terminal and the desktop paths of other cloud terminals among the multiple cloud terminals excluding the target cloud terminal; it loads the desktop according to the multiple desktop paths to obtain desktop encoding data; and it sends the desktop encoding data to the client so that the client can display the desktop screen. The storage location of the data in the data disk of the target cloud terminal is not limited and is not limited to database 40. For example, it can also be stored in the distributed file system of server 20, blockchain, or physical machine associated with server 20.
[0048] In some embodiments, the server 20 can implement the desktop display method provided in this application embodiment by running a computer program. For example, the computer program can be a native program or software module in the operating system; it can be a native application (APP), that is, a program that needs to be installed in the operating system to run; it can also be a small program, that is, a program that only needs to be downloaded into the browser environment to run; or it can be a small program that can be embedded in any APP, and the small program can be controlled to run or close by the user. In short, the above-mentioned computer program can be any form of application, module or plugin.
[0049] In some embodiments, server 20 may be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms.
[0050] Terminal device 10 may be a smartphone, tablet terminal, laptop terminal, desktop computer, intelligent voice interaction device, smart home appliance, vehicle terminal, etc., but is not limited to these.
[0051] Terminal device 10 and server 20 can be connected directly or indirectly through wired or wireless communication, and this embodiment does not impose any restrictions.
[0052] In some embodiments, the various data involved in the embodiments of this application can be stored in a blockchain to ensure data trustworthiness based on the immutability of the blockchain.
[0053] See Figure 2 , Figure 2 This is a schematic diagram of the structure of the electronic device 200 provided in the embodiments of this application. Figure 2 The illustrated electronic device 200 includes at least one processor 210, a memory 250, and at least one network interface 220. The various components of the electronic device 200 are coupled together via a bus system 240. It is understood that the bus system 240 is used to implement communication between these components. In addition to a data bus, the bus system 240 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 2 The general labeled all buses as Bus System 240.
[0054] The processor 210 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.
[0055] The memory 250 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The memory 250 may optionally include one or more storage devices physically located away from the processor 210.
[0056] The memory 250 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The memory 250 described in this application embodiment is intended to include any suitable type of memory.
[0057] In some embodiments, memory 250 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.
[0058] Operating system 251 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic business functions and handling hardware-based tasks;
[0059] The network communication module 252 is used to reach other computing devices via one or more (wired or wireless) network interfaces 220, exemplary network interfaces 220 including: Bluetooth, WiFi, and Universal Serial Bus (USB), etc.
[0060] In some embodiments, the desktop display device provided in this application can be implemented in software. Figure 2 A display device 255 showing a desktop screen stored in memory 250 is illustrated. This device can be software in the form of programs and plug-ins, and includes the following software modules: a request receiving module 2551, a terminal initiation module 2552, a path acquisition module 2553, a desktop loading module 2554, and a data sending module 2555. These modules are logically connected and can therefore be arbitrarily combined or further separated according to their implemented functions. The functions of each module will be described below.
[0061] The following will describe the desktop screen display method provided in the embodiments of this application, in conjunction with exemplary applications and implementations of the electronic device provided in the embodiments of this application.
[0062] Please see Figure 3 As shown in the figure, this application embodiment provides a method for displaying a desktop screen. The method provided by this application can be applied to an electronic device, which can be the aforementioned server 20. The method includes:
[0063] Step S110: Receive the cloud terminal startup request sent by the client. The cloud terminal startup request includes the target identifier of the target cloud terminal.
[0064] The target identifier of the target cloud terminal refers to the unique identification information used to identify the target cloud terminal. This target identifier can be assigned by the server to the target cloud terminal after its creation. This identification information can be a string consisting of one or more of letters, numbers, and symbols. The target cloud terminal refers to the cloud terminal requested to be launched by the current cloud terminal launch request.
[0065] The client can be a cloud terminal access client on a terminal device, which can send a cloud terminal startup request to the server in response to a cloud terminal startup operation triggered by the object.
[0066] The cloud terminal startup request may also include an object identifier, which refers to the object identifier of the login client. In other embodiments, the cloud terminal startup request may also include object verification information, based on which the legitimacy of the object launching the login client can be verified, and subsequent steps are executed if the verification is successful.
[0067] Step S120: Start the target cloud terminal based on the target identifier.
[0068] In some embodiments, step S120 may include: obtaining the image configuration data of the target cloud terminal based on the target identifier; mounting the image configuration data of the target cloud terminal onto the physical machine to start the target cloud terminal.
[0069] The image configuration data of the target cloud terminal refers to the image stored for the target cloud terminal. This image configuration data can be generated by electronic devices in the cloud service cluster based on the cloud terminal configuration requirements specified by the user during the user's application for the target cloud terminal. After generating the corresponding image configuration data for the target cloud terminal, the image configuration data and the terminal identifier of the target cloud terminal are associated and stored in the database. This facilitates subsequent retrieval of the corresponding cloud terminal's image configuration data from the database based on the terminal identifier, and subsequent startup of the corresponding cloud terminal, according to the user's needs.
[0070] The cloud terminal configuration requirements may include one or more of the following: processor configuration requirements (e.g., processor model, quantity, processor performance parameters, etc.), graphics card configuration requirements, memory requirements (e.g., required memory capacity), data disk capacity requirements, network configuration requirements (e.g., required network bandwidth, network transmission speed), and operating system requirements (e.g., required operating system).
[0071] The image configuration data of the target cloud terminal refers to a complete snapshot that includes the target cloud terminal's operating system, applications (such as applications installed by default on the target cloud terminal, and applications installed by the user during the use of the target cloud terminal), and the target cloud terminal's configuration.
[0072] In some embodiments, since users may install other applications on the cloud terminal during the use of the cloud terminal, the image configuration data of the target cloud terminal will be updated accordingly during the user's use of the target cloud terminal.
[0073] In this context, a physical machine refers to a physical server within the cloud environment (i.e., a server cluster) that provides the computing resources (such as CPU and memory) required to run a cloud terminal. Once the physical machine allocates the necessary computing resources to the cloud terminal and mounts the cloud terminal's image configuration data onto it, the cloud terminal becomes available. In other words, the physical machine acts as the physical carrier of the cloud terminal's image configuration data. After mounting the cloud terminal's image configuration data onto the physical machine, the image configuration data can be accessed and manipulated on the physical machine as if it were a local hard drive.
[0074] Understandably, a physical server in a cloud environment can mount the image configuration data of one cloud terminal or the image configuration data of multiple cloud terminals, depending on the processing resources of the physical server and the configuration of each cloud terminal.
[0075] It should be noted that in a cloud environment, once the image configuration data is correctly mounted, it is equivalent to the system disk of the cloud terminal being able to run normally, meaning that the target cloud terminal has been obtained and can be started.
[0076] It should also be noted that when mounting the image configuration data of the target terminal onto a physical machine, the server selects a physical machine to allocate corresponding resources to the target cloud terminal based on the data disk size and type, the load of each physical machine, the currently available computing and storage resources, and the type of storage resources in the cloud terminal configuration requirements. The load of the physical machine meets the specified requirements (such as the load of the physical machine is lower than the preset load, or the load of the physical machine is ranked as the first preset value among multiple physical machines), and the storage and computing resources of the physical server meet the configuration requirements of the cloud terminal.
[0077] The above step S120 can also be: searching the database for the target physical machine corresponding to the target identifier; and using the target physical machine to start the target cloud terminal pointed to by the target identifier.
[0078] In this implementation, the database can store multiple cloud terminal identifiers and corresponding detailed information for each identifier. Specifically, the process can be as follows: Based on the target cloud terminal identifier (which may be a cloud terminal ID, name, or other unique identifier), the detailed information of the target cloud terminal is searched and located in the database associated with the server. This detailed information may include the current status of the target cloud terminal (e.g., whether it is closed or paused), the identifier of the physical machine corresponding to the target cloud terminal, and corresponding configuration information. Subsequently, it can be determined whether the resources allocated to the target cloud terminal on the target physical machine pointed to by the physical machine identifier are normal (e.g., whether the computing resources allocated to the target cloud terminal are still correctly allocated, and whether the data disk of the target cloud terminal is still mounted). If the resources allocated to the target cloud terminal are abnormal, resources need to be reallocated to the target cloud terminal on the physical machine, the image configuration data of the target cloud terminal needs to be obtained and remounted to the physical machine, and the target cloud terminal needs to be started. If the resources allocated to the target cloud terminal are normal, the target cloud terminal pointed to by the target identifier is started using the target physical machine.
[0079] It should be noted that the process of starting a cloud terminal typically includes initializing the target cloud terminal's operating system, loading drivers and applications, and setting up network connections. A cloud terminal usually includes a system disk and a data disk. These disks are typically created when the cloud terminal is created, and during creation, the corresponding system and data disks are configured according to the user's cloud terminal configuration requirements. For example, the system disk may be allocated based on the required memory requirements (e.g., required memory capacity), and the system disk may be allocated based on the required data disk capacity.
[0080] The system disk is typically used to store the operating system, system files, drivers, pre-installed software, and temporary files related to system operation. During the cloud terminal startup process, the system disk is mounted onto the physical machine, serving as the foundation for the cloud terminal's operating system. This data is not directly managed by the object; instead, it is automatically managed as the cloud terminal is created, run, and logged off. It's worth noting that user data on the cloud terminal's desktop (such as application shortcuts, folders, and files) is also stored on the system disk.
[0081] Data disks are typically used to store user data, applications, documents, and other content. Data disks are usually logically independent cloud hard drives. Users can increase or decrease the capacity of their data disks as needed, and even dynamically adjust it without shutting down the cloud terminal.
[0082] Step S130: If the target cloud terminal is any one of the multiple cloud terminals that the client has applied for, after starting the target cloud terminal, obtain the desktop path of the target cloud terminal and obtain the desktop path of the candidate cloud terminal from the data disk of the target cloud terminal.
[0083] Candidate cloud terminals refer to other cloud terminals besides the target cloud terminal among the multiple cloud terminals that the current client has applied for. There can be one or more candidate cloud terminals.
[0084] The aforementioned multiple cloud terminals can be applied for by clients logged into the same account, meaning that the aforementioned multiple cloud terminals correspond to the same account (i.e., the same object identifier).
[0085] The server can store object identifiers corresponding to different client identifiers. The server can determine the number of cloud terminals requested by the client based on the number of cloud terminals corresponding to the object identifiers in the cloud terminal startup request.
[0086] The desktop path of a cloud terminal is the path to the file that stores the desktop data of the cloud terminal. In this application, the file containing the desktop data is referred to as the desktop data file. As described above, the desktop data of the cloud terminal is initially stored on the system disk of the cloud terminal; therefore, the desktop path of the cloud terminal can be the path of the file storing the desktop data of the cloud terminal on the system disk of the cloud terminal.
[0087] In some embodiments, the desktop path of the target cloud terminal can be obtained from the system disk of the target cloud terminal. In other embodiments, after the target cloud terminal is created, the folder storing desktop data (referred to as the desktop data folder for ease of description) in the system disk of the target cloud terminal can be moved to the data disk of the target cloud terminal, and the file path of the desktop data file in the data disk (i.e., the desktop path) can be stored in the data disk of the target cloud terminal. Based on this, the desktop path of the target cloud terminal can be obtained from the data disk of the target cloud terminal.
[0088] It is worth mentioning that after moving the folder storing desktop data from the system disk of the cloud terminal to the data disk of the cloud terminal, the desktop path of the cloud terminal is the path of the file storing the desktop data of the cloud terminal in the data disk of the cloud terminal.
[0089] In some embodiments, to ensure that the desktop path of the candidate cloud terminal can be obtained from the data disk of the target cloud terminal, after creating the target cloud terminal, the folder storing desktop data in the system disk of the candidate cloud terminal can be moved to the data disk of the candidate cloud terminal in advance, and then the data in the data disk of the candidate cloud terminal can be copied to the data disk of the target cloud terminal. This ensures that the desktop path of the candidate cloud terminal can be obtained from the data disk of the target cloud terminal.
[0090] After starting the target cloud terminal, you can access the target cloud terminal's system disk and data disk. From this, you can obtain the desktop path of the target cloud terminal from its system disk or data disk, and obtain the desktop path of the candidate cloud terminal from its data disk.
[0091] It should be understood that desktop data typically includes icons on the desktop, which may include shortcut icons for applications on the desktop, icons for files stored on the desktop, icons for folders stored on the desktop, etc.
[0092] The desktop path of a cloud terminal may vary depending on the cloud service provider. In a cloud desktop environment, desktop data (such as personal files, application shortcuts, and frequently used documents) is unique to each object and is loaded every time the cloud terminal is logged in.
[0093] Step S140: Load the desktop according to the desktop path of the target cloud terminal and the desktop path of the candidate cloud terminal to obtain desktop encoding data.
[0094] Based on the desktop path of the target cloud terminal, the desktop data in the folder pointed to by the desktop path of the target cloud terminal can be obtained (for ease of description, it is referred to as the first desktop data). Based on the desktop path of the candidate cloud terminal, the desktop data in the folder pointed to by the desktop path of the candidate cloud terminal can be obtained (for ease of description, it is referred to as the second desktop data), that is, the second desktop data is obtained from the data disk of the target cloud terminal.
[0095] It is understandable that if the desktop path of the target cloud terminal is obtained from the system disk, the first desktop data is obtained from the system disk. Similarly, if the desktop path is obtained from the data disk, the first desktop data is obtained from the data disk.
[0096] In some embodiments, step S140 may include: obtaining first desktop data based on the desktop path of the target cloud terminal, obtaining second desktop data based on the desktop data of the candidate cloud terminal, loading the desktop based on the first desktop data and the second desktop data to obtain a desktop screen; and encoding the desktop screen to obtain desktop encoded data.
[0097] The resulting desktop screen can display icons included in the first desktop data and icons included in the second desktop data.
[0098] In one possible implementation, the step of loading a desktop based on first desktop data and second desktop data to obtain a desktop screen may include: loading the first desktop data to obtain a first desktop screen, and loading each of the second desktop data to obtain a second desktop screen corresponding to each candidate cloud terminal; correspondingly, encoding the first desktop screen and the second desktop screen corresponding to each candidate cloud terminal to obtain desktop encoding data. Thus, after receiving the desktop encoding data, the client can decode it to obtain the first desktop screen and at least one second desktop screen, and then display the first desktop screen and at least one second desktop screen.
[0099] In some embodiments, the client may, by default, display one of the first desktop screen and at least one of the second desktop screens in full screen, and display the other desktop screens in a smaller size, for example, displaying the other desktop screens as thumbnails.
[0100] In some embodiments, the client can overlay a first desktop screen and at least one second desktop screen, that is, the client can overlay multiple desktop screens. The overlay display order of the different desktop screens is not limited and can be set as needed. For example, the first desktop screen can be displayed on the top layer by default, and the second desktop screen corresponding to the candidate cloud terminal can be displayed on the bottom layer of the first desktop screen.
[0101] In some embodiments, when multiple desktop screens are displayed in a stacked manner on the client, the user can switch the stacking order of different desktop screens according to actual needs. For example, the desktop screen that is triggered can be adjusted to be displayed on the top layer according to the user's operation on the desktop screen (such as click operation, touch operation, etc.).
[0102] In some embodiments, when multiple desktop images are displayed in a layered manner on the client, the display sizes of the different desktop images can be different. For example, the size of the desktop images can gradually decrease from the top to the bottom, that is, the size of the desktop images located at the top is smaller, and the size of the desktop images located at the bottom is larger. This ensures that when multiple desktop images are displayed in a layered manner on the client, the desktop images located after the top layer are at least partially visible, thereby ensuring that the user can trigger the desktop images located after the top layer to switch them to be displayed on the top layer. It is understood that after switching the desktop images located after the top layer to be displayed on the top layer, the size of the desktop image displayed on the top layer is correspondingly reduced to prevent it from completely obscuring other desktop images.
[0103] For example, if the first desktop data specifically includes personal folder A, personal folder B, shortcuts to application A, and desktop icons corresponding to the shortcuts to application B, and there is one candidate cloud terminal, and the second desktop data corresponding to this candidate cloud terminal specifically includes personal folder A, personal folder C, shortcuts to application A, shortcuts to application B, shortcuts to application C, and desktop icons corresponding to document A, then the following can be obtained according to the aforementioned implementation method: Figure 4 The desktop screen shown is in Figure 4 In the second desktop data, the desktop icons corresponding to personal folders A and C are obscured by the desktop screen corresponding to the first desktop data. Figure 4 The desktop screen shown includes the desktop screen corresponding to the first desktop data and the desktop screen corresponding to the second desktop data, and the desktop screen corresponding to the first desktop data is located on top of the desktop screen corresponding to the second desktop data.
[0104] Using this implementation, users can select the desktop screen to be displayed on the top layer by switching layers or adjusting the stacking order. This allows users to quickly switch between different cloud terminal desktops as needed, making it suitable for scenarios that require frequent switching of work environments.
[0105] In another possible implementation, the step of loading a desktop based on first desktop data and second desktop data to obtain a desktop screen may include: determining the number of cloud terminals to be loaded; dividing the display area according to the number to obtain multiple split-screen areas; allocating a split-screen area to the target cloud terminal and each candidate cloud terminal; loading the desktop within the split-screen area allocated to the target cloud terminal based on the first desktop data to obtain a first desktop screen; and loading the desktop within the split-screen area allocated to the candidate cloud terminals based on the second desktop data to obtain a second desktop screen; and encoding the first and second desktop screens to obtain desktop encoding data. The sizes of the regions divided when dividing the desktop to be loaded can be different; for example, the target cloud terminal can be allocated the largest area. Correspondingly, after sending the desktop encoding data to the client, the client can display the first desktop screen and at least one second desktop screen in a split-screen format.
[0106] For example, if the first desktop data corresponding to the desktop path of the target cloud terminal specifically includes personal folder A, personal folder B, shortcuts to application A, and desktop icons corresponding to the shortcuts to application B, and there is one candidate cloud terminal, and the second desktop data corresponding to the candidate cloud terminal specifically includes personal folder A, personal folder C, shortcuts to application A, shortcuts to application B, shortcuts to application C, and desktop icons corresponding to document A, then according to the aforementioned implementation method, the following can be obtained: Figure 5 The desktop screen shown is divided into two areas. One area displays the desktop screen corresponding to the first desktop data (i.e., the first desktop screen), and the other area displays the desktop screen corresponding to the second desktop data (i.e., the second desktop screen).
[0107] This implementation divides the desktop into multiple areas, with each cloud terminal's desktop displayed independently within its designated area. Each cloud terminal's desktop has a relatively independent display area, unobstructed by other desktops, allowing users to quickly locate and operate the necessary icons. The size and position of these areas can be adjusted according to user preferences or task requirements.
[0108] In another possible implementation, the step of loading the desktop based on the first desktop data and the second desktop data to obtain the desktop screen may include:
[0109] Based on the desktop icons in the first desktop data and the desktop icons in the second desktop data, determine the union of the desktop icons. Load the desktop based on this union to obtain the desktop screen.
[0110] The desktop icon union refers to the union of desktop icons in the first desktop data and desktop icons in the second desktop data. In other words, the resulting desktop screen includes all desktop icons from this union. Correspondingly, a desktop screen loaded in this way can display icons from multiple cloud terminals requested by the client.
[0111] In one possible implementation, the step of determining the union of desktop icons based on desktop icons in the first desktop data and desktop icons in the second desktop data may include: determining differing desktop icons and intersecting desktop icons based on desktop icons in the first desktop data and desktop icons in the second desktop data; determining a target update time corresponding to the intersecting desktop icons based on a first update time of the intersecting desktop icons in the first desktop data and a second update time of the intersecting desktop icons in the second desktop data, wherein the target update time is the latest time between the first update time and the second update time; and adding the intersecting desktop icons and differing desktop icons at the target update time to the union of desktop icons.
[0112] Among them, the difference desktop icon refers to the desktop icon that is unique to each desktop data in the first desktop data and the second desktop data. In other words, the difference desktop icon refers to the desktop icon that is unique to each of the multiple cloud terminals applied for by the client. For example, if the desktop of cloud terminal A includes desktop icon P, while the desktops of other cloud terminals do not include desktop icon P, then desktop icon P is a difference desktop icon.
[0113] Intersecting desktop icons refer to desktop icons shared by at least two desktop data sets in the first desktop data set and the second desktop data set. In other words, intersecting desktop icons refer to desktop icons that exist in the desktops of at least two of the multiple cloud terminals applied for by the client.
[0114] In this implementation, a later update time means a higher version of the application corresponding to the desktop icon (or a newer document or file corresponding to the desktop icon). By comparing the update times of the same desktop icon on different cloud terminals, the desktop icon with the latest update time is selected as the desktop icon for the target update time. This ensures that even if the desktop icon exists on the desktops of two or more cloud terminals, the user sees the latest desktop icon, avoiding confusion caused by asynchronous desktop icon updates.
[0115] For example, if the first desktop data corresponding to the desktop path of the target cloud terminal specifically includes personal folder A, personal folder B, shortcuts to application A, and desktop icons corresponding to the shortcuts to application B, and there is one candidate cloud terminal, and the second desktop data corresponding to the candidate cloud terminal specifically includes personal folder A, personal folder C, shortcuts to application A, shortcuts to application B, shortcuts to application C, and desktop icons corresponding to document A, then according to the aforementioned implementation method, the following can be obtained: Figure 6 The desktop screen shown displays the union of desktop icons from the first desktop data and the second desktop data, namely, the desktop icons corresponding to personal file A, personal folder B, personal folder C, shortcuts to application A, application B, application C, and document A.
[0116] Using this implementation method, a desktop screen is obtained by loading the desktop based on the first desktop data and the second desktop data. Users can display icons from different cloud terminals (such as from the target cloud terminal or candidate cloud terminals) on a single desktop screen. In this way, even if the user switches to different cloud terminals, the desktop icons displayed on the user's desktop are basically the same.
[0117] In another possible implementation, the step of determining the union of desktop icons based on the desktop icons in the first desktop data and the desktop icons in the second desktop data can also involve determining the difference desktop icons and the intersection desktop icons based on the desktop icons in the first desktop data and the desktop icons in the second desktop data; for the intersection desktop icons corresponding to applications, determining the target usage weight value corresponding to the intersection desktop icons based on the usage weight values of the intersection desktop icons in the first desktop data and the usage weight values in the second desktop data. The usage weight value can be determined based on at least one of usage frequency and recent usage time. The higher the usage frequency, the greater the corresponding usage weight value; the closer the recent usage time is to the current time, the greater the corresponding usage weight value. The target usage weight value is the usage weight value with the highest weight. The difference desktop icons, the intersection desktop icons corresponding to files or documents, and the intersection desktop icons corresponding to applications under the target usage weight value are added to the union of desktop icons.
[0118] By adopting this implementation method, the desktop icons with the highest weight value among the intersecting desktop icons can be selected as the intersecting desktop icons of the application, which can effectively improve the convenience of users using desktop icons.
[0119] It should be noted that encoding the desktop screen is primarily to reduce the amount of data, enabling the desktop screen to be transmitted efficiently through limited network bandwidth while maintaining the quality of the desktop screen as much as possible.
[0120] When the server encodes and transmits the desktop screen to the client, it can use desktop encoding methods such as RDP (Remote Desktop Protocol), VNC (Virtual Network Computing), ICA (Independent Computing Architecture), SPICE (Simple Protocol for Independent Computing Environments), or advanced video encoding methods or high-efficiency video encoding methods to encode and compress the desktop screen to obtain encoded desktop data.
[0121] For example, the desktop screen can be divided into multiple coding units. The size of each coding unit can be fixed or adaptive. Intra-frame prediction or inter-frame prediction is performed on each coding unit to obtain a prediction coding unit. Based on each coding unit and its corresponding prediction coding unit, a prediction residual is obtained. The prediction residual is transformed (e.g., by performing a discrete cosine transform to convert the signal from the spatial domain to the frequency domain, so that the energy is concentrated in the low-frequency part, which is convenient for subsequent quantization and encoding) to obtain transformed coefficients. The transformed coefficients are then quantized to obtain quantized coefficients. The quantized coefficients are then encoded (e.g., using Huffman coding or arithmetic coding) to obtain the desktop encoded data.
[0122] Step S150: Send desktop encoding data to the client so that the client can display the desktop screen.
[0123] When sending desktop encoded data to the client, the desktop encoded data can be encrypted before sending to ensure the security of the desktop data. The transmission protocol used during the transmission process can be a network protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol), UDP (User Datagram Protocol, a connectionless transport layer protocol), or ARP (Address Resolution Protocol).
[0124] To further ensure the security of the transmitted desktop screen, the desktop encoded data can be encrypted before being sent to the client. Correspondingly, when the client receives the data, it can first decrypt the received data to obtain the desktop encoded data. After obtaining the desktop encoded data, it will use the same protocol or corresponding decoding method as the encoding process to decode the desktop encoded data to obtain the desktop screen. The decoded desktop screen is then displayed on the client.
[0125] Subsequently, users can trigger operations on the client side. The client can detect the corresponding operation, obtain the operation signal, encode the detected operation signal, and send it back to the server. The server updates the desktop screen based on the operation signal, encodes the updated desktop data, and sends the updated desktop data to the client.
[0126] By employing the method of this application, after launching the target cloud terminal based on the target identifier of the target cloud terminal in the cloud terminal launch request, the desktop path of the target cloud terminal is obtained, as well as the desktop paths of other cloud terminals (i.e., candidate cloud terminals) among the multiple cloud terminals applied for by the client, excluding the target cloud terminal, are obtained from the data disk of the target cloud terminal. Subsequently, desktop loading is performed based on the desktop paths of the target cloud terminal and the candidate cloud terminals to obtain desktop encoding data, which is then sent to the client to enable the client to display the desktop screen. Since the desktop encoding data is obtained by desktop loading based on the desktop paths of the target cloud terminal and the candidate cloud terminals, it can be guaranteed that the desktop screen displayed by the client can display desktop icons from both the target cloud terminal and the candidate cloud terminals. This ensures that the desktop screen displayed when a user logs into different cloud terminals is basically the same, without requiring the user to manually synchronize desktop data between different cloud terminals. This enables the user to seamlessly switch between different cloud terminals, greatly improving the user experience of the cloud terminal.
[0127] In one possible implementation, please refer to Figure 7 Before step S120, the method further includes steps S121-S123.
[0128] Step S121: Receive the cloud terminal application request sent by the client. The cloud terminal application request includes cloud terminal configuration requirements and the object identifier of the login client.
[0129] The cloud terminal configuration requirements include operating system type (Windows, Linux, etc.), processor specifications, memory size, hard disk space, network bandwidth, etc.
[0130] Users can input cloud terminal configuration requirements through the client. Subsequently, the client responds to the user's cloud terminal application trigger operation by submitting a cloud terminal application request to the server.
[0131] Users can also exit the currently running cloud terminal if they find that the configuration of the cloud terminal they are currently using cannot meet their work needs, such as slow processing speed or insufficient storage space. They can then apply for a cloud terminal with a higher configuration, such as increasing the amount of memory, increasing the number of CPU cores, or expanding the storage space, to generate a new cloud terminal application request.
[0132] Step S122: Generate the image configuration data of the target cloud terminal according to the cloud terminal configuration requirements.
[0133] The image configuration data indicates the system disk and data disk mounted on the target cloud terminal and meeting the cloud terminal configuration requirements.
[0134] When generating image configuration data for a target cloud terminal based on its configuration requirements, the server can create or select a base image data set. This base image data includes the operating system version and necessary applications and software packages required by the cloud terminal configuration requirements. Subsequently, the server can configure the base image data according to the cloud terminal configuration requirements (such as configuring additional software packages, configuring network parameters, and setting security rules) to obtain the image configuration data for the target cloud terminal.
[0135] It's worth noting that the server can also select a physical machine to allocate a system disk and a data disk for the target cloud terminal based on its configuration requirements. The image configuration data of the target cloud terminal is then mounted onto this physical machine, thus creating the target cloud terminal. Since the system disk typically contains the operating system and core applications, and the data disk stores user data and application data, by using the image configuration data to specify the system disk and data disk mounted on the target cloud terminal that meet its configuration requirements, the server can ensure that each newly deployed instance accurately replicates the cloud terminal's configuration and settings, thereby guaranteeing consistency and predictability. The type and size of the data disk will be determined based on performance and storage requirements.
[0136] Step S123: Associate the image configuration data of the target cloud terminal with the target identifier and object identifier of the target cloud terminal and store them in the database.
[0137] By associating the image configuration data of the target cloud terminal with the target identifier and object identifier of the target cloud terminal and storing it in the database, the target cloud terminal can be quickly found by the object identifier or the identifier information of the target cloud terminal when the target object requests it. The image configuration data can then be deployed to the physical machine to start the target cloud terminal without manual intervention, which greatly improves the efficiency of target cloud terminal deployment and startup.
[0138] Please see Figure 8 In one possible implementation, before performing step S130, the method further includes steps S160 and S170.
[0139] Step S160: Obtain the desktop path of the candidate cloud terminal from the system disk of the candidate cloud terminal, and store the desktop path of the candidate cloud terminal in the data disk of the candidate cloud terminal.
[0140] Step S170: Copy the data from the candidate cloud terminal's data disk to the target cloud terminal's data disk.
[0141] By employing the steps S160-S170 described above, data from the data disks of the candidate cloud terminals is copied to the data disks of the target cloud terminal. This allows the target cloud terminal's data disk to store applications, files, and other data from the data disks of each candidate cloud terminal. Consequently, users can seamlessly access all files and applications from the candidate cloud terminals on the target cloud terminal. This avoids the inconvenience caused by users needing to switch between different cloud terminals when accessing multiple corresponding cloud terminals in related technologies, and also reduces the time consumption caused by data synchronization during reconfiguration of the target cloud terminal in related technologies.
[0142] In one possible implementation, the application time of the target cloud terminal is later than that of the candidate cloud terminal; the above step S160 includes: when the client adds an application for the target cloud terminal, obtaining the desktop path of the candidate cloud terminal from the system disk of the candidate cloud terminal, and storing the desktop path of the candidate cloud terminal in the data disk of the candidate cloud terminal.
[0143] In some possible implementations, step S160 can also be replaced by the following equivalent step: migrating the desktop data file of the candidate cloud terminal from the system disk of the candidate cloud terminal to the data disk of the candidate cloud terminal, and storing the desktop path of the desktop data file of the candidate cloud terminal on the data disk of the candidate cloud terminal.
[0144] In one possible implementation, the application time of the target cloud terminal is later than that of the candidate cloud terminal; the above step S160 can also be: when the client adds a new application for the target cloud terminal, the desktop data file of the candidate cloud terminal in the system disk of the candidate cloud terminal is migrated to the data disk of the candidate cloud terminal, and the desktop path of the desktop data file of the candidate cloud terminal is stored in the data disk of the candidate cloud terminal.
[0145] In one possible implementation, if the application time of the target cloud terminal is later than that of the candidate cloud terminal, and if the client adds a new application for the target cloud terminal, for the candidate cloud terminal that was applied for earlier, the desktop path of the candidate cloud terminal is stored in the data disk of the candidate cloud terminal (or, for the candidate cloud terminal that was applied for earlier, the desktop data file of the candidate cloud terminal in the system disk of the candidate cloud terminal is migrated to the data disk of the candidate cloud terminal), and the desktop path of the desktop data file of the candidate cloud terminal is stored in the data disk of the candidate cloud terminal; this facilitates the subsequent storage of the desktop path of the desktop data file of the candidate cloud terminal in the data disk of the target cloud terminal that was applied for later.
[0146] In one possible implementation, when a new target cloud terminal is applied for by the client, and the desktop path of the candidate cloud terminal is obtained from the system disk of the candidate cloud terminal, and the desktop path of the candidate cloud terminal is stored in the data disk of the candidate cloud terminal (or, the desktop data file of the candidate cloud terminal in the system disk of the candidate cloud terminal is migrated to the data disk of the candidate cloud terminal, and the desktop path of the desktop data file of the candidate cloud terminal is stored in the data disk of the candidate cloud terminal), the above step S170 includes: when the configuration level of the target cloud terminal is higher than that of the candidate cloud terminal, copying the data in the data disk of the candidate cloud terminal to the data disk of the target cloud terminal.
[0147] When the target cloud terminal has a higher configuration level than the candidate cloud terminal, it means that the target cloud terminal has a better processor, more memory, or faster storage. By copying the data from the candidate cloud terminal's data disk to the target cloud terminal, applications downloaded on the candidate cloud terminal can run on the higher-configuration target cloud terminal. This is especially useful when a user applies for a higher-configuration cloud terminal because the configuration of their previously requested cloud terminal does not meet their needs. Copying the data from the candidate cloud terminal's data disk to the target cloud terminal's data disk silently replicates the data without requiring manual data migration or program re-downloading. This allows for seamless and rapid switching between different cloud terminals without any manual data migration operations.
[0148] In some embodiments, when a new target cloud terminal is requested by the client, the desktop data files of the candidate cloud terminal are migrated from the system disk of the candidate cloud terminal to the data disk of the candidate cloud terminal, and the desktop path of the desktop data files of the candidate cloud terminal is stored on the data disk of the candidate cloud terminal. If the configuration level of the target cloud terminal is not higher than that of the candidate cloud terminal, the step of copying the data from the data disk of the candidate cloud terminal to the data disk of the target cloud terminal is not performed. It is understood that since the configuration level of the target cloud terminal is not higher than that of the candidate cloud terminal, copying the data from the data disk of the candidate cloud terminal to the data disk of the target cloud terminal may cause excessive load on the target cloud terminal and affect the running speed of the target cloud terminal.
[0149] Of course, in some embodiments, for cloud terminals applied for by the client later, the data in the data disk of the cloud terminal applied for earlier can be copied to the data disk of the newly applied cloud terminal.
[0150] In one possible implementation, data in the data disk of the candidate cloud terminal is copied to a second path in the data disk of the target cloud terminal; the method further includes: when the client adds a new application for the target cloud terminal, storing the desktop path of the target cloud terminal in the data disk of the target cloud terminal, and copying the basic data in the data disk of the target cloud terminal to the data disk of the candidate cloud terminal, wherein the basic data refers to other data in the data disk of the target cloud terminal besides the data in the second path.
[0151] By copying data from the candidate cloud terminal's data disk to the second path on the target cloud terminal's data disk, and copying basic data from the target cloud terminal's data disk to the candidate cloud terminal's data disk, bidirectional data synchronization between the data disks of different cloud terminals is achieved. This way, if the user subsequently switches to and launches any candidate cloud terminal (referred to as the target candidate cloud terminal for ease of description), the desktop paths of other cloud terminals (e.g., the target cloud terminal) requested by the client can be obtained from the target candidate cloud terminal's data disk. This ensures that when launching any cloud terminal requested by the client, the desktop screen displayed on the client's screen can show the desktop icons from the multiple cloud terminals requested by the client. This guarantees that regardless of which cloud terminal the user logs into, the desktop icons displayed on the screen are essentially the same, achieving seamless switching of desktop icons when switching between different cloud terminals.
[0152] Please see Figure 9 In one possible implementation, the method further includes:
[0153] Step S210: If the target cloud terminal is the first cloud terminal applied for by the client, obtain the desktop path of the target cloud terminal.
[0154] Step S220: Load the desktop according to the desktop path of the target cloud terminal and obtain the encoded data of the first desktop.
[0155] Specifically, step S220 may include obtaining first desktop data based on the desktop path of the target cloud terminal, loading the desktop based on the first desktop data to obtain the first desktop, and encoding the first desktop to obtain the encoded data of the first desktop.
[0156] Step S230: Send the encoded data of the first desktop to the client so that the client can display the first desktop screen.
[0157] For details on the specific implementation of steps S210-S230, please refer to the specific description of steps S140 and S150 in the foregoing embodiments, which will not be repeated here.
[0158] Please see Figure 10As shown, this example illustrates a server cluster comprising a cloud terminal backend server, a cloud terminal management server, and multiple physical machines. The cloud terminal backend server is typically used for object login authentication and data allocation. Physical machines refer to servers used to mount the image configuration data of the cloud terminals. The cloud terminal management server manages these physical machines; all operations related to the physical machines, such as mounting, starting, and shutting down cloud terminals, are actually communicated to the corresponding physical machines through the cloud terminal management server.
[0159] The user can launch a cloud terminal client on a terminal device. This client can respond to the user's cloud terminal application operation by sending a cloud terminal application request to the cloud terminal backend server.
[0160] The cloud terminal backend server can generate initial cloud terminal configuration information (such as disk size of 200G, graphics card type of ordinary graphics card, etc.) for the user based on the cloud terminal configuration requirements in the cloud terminal application request, and assign a cloud terminal identifier to the cloud terminal requested by the user, and establish an association between the object identifier, configuration information and cloud terminal identifier and store it in the database.
[0161] The cloud terminal backend server can send a first cloud terminal creation request, including the configuration information of the cloud terminal, to the cloud terminal management server. The cloud terminal management server can select a physical machine from multiple physical machines based on the configuration information in the first cloud terminal creation request. The available resources of the selected physical machine meet the resource requirements corresponding to the configuration information in the first cloud terminal creation request. Using the selected physical machine and based on the configuration information in the first cloud terminal creation request, the server allocates resources to the initial cloud terminal. It retrieves an image file from the image library that matches the configuration information in the first cloud terminal creation request. The server deploys the image file to the physical machine that has been allocated resources to the initial cloud terminal to obtain the initial cloud terminal. The cloud terminal management server is also used to feed back the identifier of the initial cloud terminal and the corresponding image configuration file to the cloud terminal backend server, so that the cloud terminal backend server associates and stores the identifier of the initial cloud terminal and the corresponding image configuration file in the database.
[0162] Subsequently, the user can send a first cloud terminal startup request to the cloud terminal backend server through the client. After receiving the first cloud terminal startup request, the cloud terminal backend server can obtain the image configuration data of the target cloud terminal based on the target identifier; mount the image configuration data of the target cloud terminal to the physical machine to start the target cloud terminal. Afterwards, the desktop path of the system disk in the initial cloud terminal can be stored in its data disk. Since this initial cloud terminal is the first cloud terminal applied for by the client, after starting the initial cloud terminal, steps S220-S230 as described in the previous embodiment can be executed. This allows the user to perform normal cloud terminal operations, including reading documents, watching videos, playing games, and downloading new applications, etc.
[0163] If a user needs to play high-performance games or perform other complex business processes and finds the initial cloud terminal configuration insufficient, the user can trigger the configuration controls in the initial cloud terminal's display interface to show the cloud terminal upgrade page on the terminal device. This upgrade page includes various configuration information, along with the corresponding pricing and usage scenarios for each configuration.
[0164] For example, such as Figure 11 As shown, the terminal device can display a cloud terminal upgrade page, which includes two configuration options that the user can choose when playing high-performance games: a standard gaming configuration and a high-end esports configuration. Each configuration option includes at least one different cloud computer billing price, graphics card level, CPU level, and data disk.
[0165] Users can select a configuration option based on their configuration needs or usage scenarios (i.e., select the configuration for standard gaming or high-end esports configurations), and clients can respond to the user's trigger operation on one of the multiple configuration options (i.e., on...). Figure 11 (The confirmation control triggers the operation) to generate a second cloud terminal creation request and send it to the cloud terminal backend server. This second cloud terminal creation request carries an object identifier and the selected configuration information, which is the cloud terminal configuration requirement mentioned above. The cloud terminal backend server can create the second cloud terminal in a similar way to the creation of the initial cloud terminal.
[0166] After the second cloud terminal is created, the desktop data files of the second cloud terminal in the system disk of the second cloud terminal can be migrated to the data disk of the second cloud terminal, and the desktop path of the desktop data files of the second cloud terminal can be stored in the data disk of the second cloud terminal. The basic data in the data disk of the target cloud terminal can be copied to the data disk of other cloud terminals applied for by the client before applying for the second cloud terminal.
[0167] If the user needs to apply for other cloud terminal configuration information, then apply for multiple second cloud terminals in a similar manner as described above.
[0168] Subsequently, the user can send a target cloud terminal startup request, including the identifier of the target cloud terminal, to the cloud terminal backend server via the client (where the target cloud terminal can be the initial cloud terminal or a second cloud terminal as previously requested). Upon receiving the target cloud terminal startup request, the cloud terminal backend server can retrieve the corresponding physical machine identifier from the database based on the target cloud terminal identifier and send a target cloud terminal startup command, including the physical machine identifier, to the cloud terminal management server. Upon receiving the target cloud terminal startup command, the management server controls the physical machine indicated by the physical machine identifier to start the target cloud terminal. At this point, the target cloud terminal is one of multiple cloud terminals that the client has already requested.
[0169] After starting the target cloud terminal, the method steps in steps S130-S150 above can be executed to load the desktop screen of the target cloud terminal.
[0170] It should also be noted that after the target cloud terminal is started, it can establish a communication connection with the client (such as a TCP connection or a UDP connection) so that the desktop screen of the target cloud terminal and the operation data of the desktop screen can be transmitted through the connection established above.
[0171] Please see Figure 12 As shown, this illustrates the intent of the desktop screens of the two cloud terminals requested by the client. Figure 12 In the diagram, 'a' represents the desktop screen of a low-configuration cloud terminal initially requested by the client. After the client requests a high-configuration cloud terminal using the aforementioned solution of this application, the desktop screen display method provided in this embodiment can be used to obtain the desktop screen of the high-configuration cloud terminal, as shown in the diagram. Figure 12 As shown in Figure b, it can be seen that the desktop screen of a newly requested high-configuration cloud terminal is the same as that of a low-configuration cloud terminal.
[0172] By adopting the above method, users can configure cloud terminals with different configurations according to their own needs. The desktop paths of each cloud terminal are migrated from the corresponding system disk to the data disk. In addition, data can be synchronized between the data disks of different cloud terminals for the same user. Therefore, when a user switches to a cloud terminal with a higher configuration, only the configuration of the cloud terminal is upgraded. The data in the relevant data disk is common to all cloud terminals. Thus, the cloud terminal with a higher configuration can maintain the same or similar desktop screen and user data as the cloud terminal with a lower configuration, without the user needing to perform additional data migration or configuration work. For users, this can better improve their user experience.
[0173] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0174] Please refer to it again. Figure 2 Another embodiment of this application provides a desktop display device 255, which includes a request receiving module 2551, a terminal startup module 2552, a path acquisition module 2553, a desktop loading module 2554, and a data feedback module 2555. The request receiving module 2551 is used to receive a cloud terminal startup request sent by a client. The cloud terminal startup request includes a target identifier of the target cloud terminal. The terminal startup module 2552 is used to start the target cloud terminal based on the target identifier. The path acquisition module 2553 is used to, if the target cloud terminal is any one of a plurality of cloud terminals applied for by the client, obtain the desktop path of the target cloud terminal and the desktop paths of candidate cloud terminals from the data disk of the target cloud terminal after starting the target cloud terminal. The candidate cloud terminals refer to other cloud terminals besides the target cloud terminal among the plurality of cloud terminals. The desktop loading module 2554 is used to load the desktop according to the desktop path of the target cloud terminal and the desktop paths of the candidate cloud terminals to obtain desktop encoding data. The data feedback module 2555 is used to send the desktop encoding data to the client so that the client can display the desktop screen.
[0175] In one possible implementation, the desktop display device 255 further includes: a path storage module and a first data copying module; the path storage module is used to obtain the desktop path of the candidate cloud terminal from the system disk of the candidate cloud terminal and store the desktop path of the candidate cloud terminal in the data disk of the candidate cloud terminal; the first data copying module is used to copy the data in the data disk of the candidate cloud terminal to the data disk of the target cloud terminal.
[0176] In one possible implementation, the application time of the target cloud terminal is later than that of the candidate cloud terminal; the path storage module is also used to obtain the desktop path of the candidate cloud terminal from the system disk of the candidate cloud terminal when the client adds a new application for the target cloud terminal, and store the desktop path of the candidate cloud terminal in the data disk of the candidate cloud terminal.
[0177] In one possible implementation, the first data copying module is further configured to copy data from the data disk of the candidate cloud terminal to the data disk of the target cloud terminal when the configuration level of the target cloud terminal is higher than that of the candidate cloud terminal.
[0178] In one possible implementation, the desktop display device 255 further includes a second data copying module, which is used to store the desktop path of the target cloud terminal in the data disk of the target cloud terminal when the client adds a new application for the target cloud terminal, and to copy the basic data in the data disk of the target cloud terminal to the data disk of the candidate cloud terminal. The basic data refers to other data in the data disk of the target cloud terminal except for the data under the second path.
[0179] In one possible implementation, the desktop loading module 2554 includes a data acquisition submodule, a loading submodule, and an encoding submodule; the data acquisition submodule is used to acquire first desktop data according to the desktop path of the target cloud terminal; the data acquisition submodule is also used to acquire second desktop data according to the desktop path of the candidate cloud terminal; the loading submodule is used to load the desktop according to the first desktop data and the second desktop data to obtain a desktop screen; the encoding submodule is used to encode the desktop screen to obtain desktop encoded data.
[0180] In one possible implementation, the loading submodule is further configured to determine the union of desktop icons based on the desktop icons in the first desktop data and the desktop icons in the second desktop data; and to load the desktop based on the union of desktop icons to obtain the desktop screen.
[0181] In one possible implementation, the loading submodule is further configured to: determine differing desktop icons and intersecting desktop icons based on desktop icons in the first desktop data and desktop icons in the second desktop data; determine a target update time corresponding to the intersecting desktop icons based on a first update time of the intersecting desktop icons in the first desktop data and a second update time of the intersecting desktop icons in the second desktop data, wherein the target update time is the latest time between the first update time and the second update time; and add the intersecting desktop icons and the differing desktop icons at the target update time to the union of the desktop icons.
[0182] In one possible implementation, the path acquisition module 2553 is further configured to, after starting the target cloud terminal, obtain the desktop path of the target cloud terminal from the system disk of the target cloud terminal, and obtain the desktop path of the candidate cloud terminal from the data disk of the target cloud terminal according to the first path.
[0183] In one possible implementation, the terminal startup module 2552 includes a data acquisition submodule and a mounting submodule. The data acquisition submodule is used to acquire the image configuration data of the target cloud terminal based on the target identifier. The mounting submodule is used to mount the image configuration data of the target cloud terminal onto the physical machine to start the target cloud terminal.
[0184] In one possible implementation, the terminal startup module 2552 further includes: a request receiving submodule, a data generation submodule, and an associated storage submodule; the request receiving submodule is used to receive a cloud terminal application request sent by a client, the cloud terminal application request including cloud terminal configuration requirements and an object identifier of the login client; the data generation submodule is used to generate image configuration data of the target cloud terminal according to the cloud terminal configuration requirements, the image configuration data indicating the system disk and data disk mounted on the target cloud terminal and meeting the cloud terminal configuration requirements; the associated storage submodule is used to associate and store the image configuration data of the target cloud terminal with the target identifier and object identifier of the target cloud terminal in a database.
[0185] In one possible implementation, the path acquisition module 2553 is further configured to acquire the desktop path of the target cloud terminal when the target cloud terminal is the first cloud terminal applied for by the client; the desktop loading module 2554 is further configured to load the desktop according to the desktop path of the target cloud terminal and obtain the encoded data of the first desktop; the data feedback module 2555 is further configured to send the encoded data of the first desktop to the client so that the client displays the first desktop screen.
[0186] Each module in the above-described device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module. It should be noted that the device embodiments in this application correspond to the foregoing method embodiments. The specific principles of the device embodiments can be found in the foregoing method embodiments, and will not be repeated here.
[0187] This application provides a computer program product or computer program that includes executable instructions stored in a computer-readable storage medium. A processor of an electronic device reads the executable instructions from the computer-readable storage medium and executes the executable instructions, causing the electronic device to perform the desktop display method described above in this application.
[0188] This application provides a computer-readable storage medium storing computer-readable instructions, wherein the stored instructions are executable and, when executed by a processor, will cause the processor to perform the aforementioned method steps provided in this application.
[0189] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.
[0190] In some embodiments, computer-readable instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.
[0191] As an example, computer-readable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborative files (e.g., a file that stores one or more modules, subroutines, or code sections).
[0192] As an example, computer-readable instructions may be deployed to execute on a single computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.
[0193] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A display method of a desktop picture, characterized by, The method comprises the following steps: receiving a cloud terminal starting request sent by a client; the cloud terminal starting request comprises a target identifier of a target cloud terminal; starting the target cloud terminal based on the target identifier; if the target cloud terminal is any one of a plurality of cloud terminals applied for by the client, after starting the target cloud terminal, obtaining a desktop path of the target cloud terminal and a desktop path of a candidate cloud terminal from a data disk of the target cloud terminal; the candidate cloud terminal refers to other cloud terminals in the plurality of cloud terminals except the target cloud terminal; performing desktop loading according to the desktop path of the target cloud terminal and the desktop path of the candidate cloud terminal to obtain desktop encoding data; sending the desktop encoding data to the client to make the client display a desktop picture.
2. The method of claim 1, wherein, Before the step of obtaining the desktop path of the target cloud terminal and the desktop path of the candidate cloud terminal from the data disk of the target cloud terminal, the method further comprises the following steps: obtaining the desktop path of the candidate cloud terminal from a system disk of the candidate cloud terminal and storing the desktop path of the candidate cloud terminal into the data disk of the candidate cloud terminal; copying data in the data disk of the candidate cloud terminal to the data disk of the target cloud terminal.
3. The method of claim 2, wherein, The application time of the target cloud terminal is later than that of the candidate cloud terminal. The step of obtaining the desktop path of the candidate cloud terminal from the system disk of the candidate cloud terminal and storing the desktop path of the candidate cloud terminal into the data disk of the candidate cloud terminal comprises the following steps: in the case that the target cloud terminal is newly applied for by the client, obtaining the desktop path of the candidate cloud terminal from the system disk of the candidate cloud terminal and storing the desktop path of the candidate cloud terminal into the data disk of the candidate cloud terminal.
4. The method of claim 3, wherein, The step of copying data in the data disk of the candidate cloud terminal to the data disk of the target cloud terminal comprises the following steps: in the case that the configuration level of the target cloud terminal is higher than that of the candidate cloud terminal, copying data in the data disk of the candidate cloud terminal to the data disk of the target cloud terminal.
5. The method of claim 3, wherein, The data in the data disk of the candidate cloud terminal is copied to a second path in the data disk of the target cloud terminal. The method further comprises the following steps: in the case that the target cloud terminal is newly applied for by the client, storing the desktop path of the target cloud terminal into the data disk of the target cloud terminal and copying basic data in the data disk of the target cloud terminal to the data disk of the candidate cloud terminal, the basic data refers to other data in the data disk of the target cloud terminal except the data in the second path.
6. The method of claim 1, wherein, The step of performing desktop loading according to the desktop path of the target cloud terminal and the desktop path of the candidate cloud terminal to obtain desktop encoding data comprises the following steps: obtaining first desktop data according to the desktop path of the target cloud terminal; obtaining second desktop data according to the desktop path of the candidate cloud terminal; performing desktop loading according to the first desktop data and the second desktop data to obtain a desktop picture; encoding the desktop picture to obtain the desktop encoding data.
7. The method of claim 6, wherein, The desktop loading according to the first desktop data and the second desktop data obtains a desktop picture, and the desktop loading according to the first desktop data and the second desktop data comprises: determining a desktop icon union according to desktop icons in the first desktop data and desktop icons in the second desktop data; performing desktop loading according to the desktop icon union to obtain the desktop picture.
8. The method of claim 7, wherein, The method further comprises: determining a difference desktop icon and an intersection desktop icon according to the desktop icons in the first desktop data and the desktop icons in the second desktop data; determining a target update time corresponding to the intersection desktop icon according to a first update time of the intersection desktop icon in the first desktop data and a second update time of the intersection desktop icon in the second desktop data, the target update time being the later of the first update time and the second update time; adding the intersection desktop icon at the target update time and the difference desktop icon to the desktop icon union.
9. The method according to any one of claims 1 to 8, characterized in that, The method further comprises: after starting the target cloud terminal, obtaining a desktop path of the target cloud terminal and a desktop path of a candidate cloud terminal from a data disk of the target cloud terminal.
10. The method of claim 1, wherein, The method further comprises: after starting the target cloud terminal, obtaining the desktop path of the target cloud terminal from a system disk of the target cloud terminal and obtaining the desktop path of the candidate cloud terminal from the data disk of the target cloud terminal according to a first path. The method further comprises:
11. The method of claim 10, wherein, based on the target identifier, obtaining image configuration data of the target cloud terminal; mounting the image configuration data of the target cloud terminal to a physical machine to start the target cloud terminal. The method further comprises: before receiving the cloud terminal start request sent by the client, the method further comprises:
12. The method of claim 1, wherein, receiving a cloud terminal application request sent by the client, the cloud terminal application request comprising a cloud terminal configuration requirement and an object identifier of a user logging in the client; generating image configuration data of the target cloud terminal according to the cloud terminal configuration requirement, the image configuration data indicating a system disk and a data disk mounted for the target cloud terminal and meeting the cloud terminal configuration requirement; storing the image configuration data of the target cloud terminal in association with a target identifier of the target cloud terminal and the object identifier in a database. The method further comprises:
13. A display device for a desktop picture, characterized in that after starting the target cloud terminal based on the target identifier, the method further comprises: if the target cloud terminal is the first cloud terminal applied by the client, obtaining a desktop path of the target cloud terminal; performing desktop loading according to the desktop path of the target cloud terminal to obtain encoded data of a first desktop; sending the encoded data of the first desktop to the client to enable the client to display a first desktop picture. The apparatus comprises: a request receiving module configured to receive a cloud terminal start request sent by a client, the cloud terminal start request comprising a target identifier of a target cloud terminal; a terminal starting module configured to start the target cloud terminal based on the target identifier. The path acquisition module is configured to, when the target cloud terminal is any one of a plurality of cloud terminals applied for by the client, acquire a desktop path of the target cloud terminal and a desktop path of a candidate cloud terminal from a data disk of the target cloud terminal after starting the target cloud terminal, the candidate cloud terminal being any one of the plurality of cloud terminals except the target cloud terminal; The desktop loading module is configured to load a desktop according to the desktop path of the target cloud terminal and the desktop path of the candidate cloud terminal, and obtain desktop encoding data. The data feedback module is configured to send the desktop encoding data to the client to enable the client to display a desktop picture.
14. An electronic device, comprising: The computer readable storage medium stores computer readable instructions, and the computer readable instructions are executed by the processor to implement the method in any one of claims 1-12. The computer readable storage medium stores computer readable instructions, and the computer readable instructions are executed by the processor to implement the method in any one of claims 1-12. The computer readable instructions are executed by the processor to implement the steps of the method in any one of claims 1-12.
15. A computer-readable storage medium, characterized in that, 16. A computer program product comprising computer readable instructions, characterized in that,