A cloud desktop data synchronization method and device, electronic equipment and storage medium

By allocating shadow cloud desktops to the target resource pool and synchronizing differential data, the data synchronization delay problem when users change their work locations is solved, enabling rapid switching of cloud desktop services and improving user experience.

CN119828992BActive Publication Date: 2026-02-03CHINA TELECOM CLOUD TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411664602.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-20
Publication Date
2026-02-03
Estimated Expiration
2044-11-20

AI Technical Summary

Technical Problem

When users change their work location, existing technologies cannot quickly and completely synchronize the system data of the user's personal desktop to the cloud, which is closer to the user, resulting in significant interaction delays and a poor user experience.

Method used

By responding to the user's power-on command, the target resource pool with the lowest latency to the target location in the cloud platform is determined, and a shadow cloud desktop is allocated in this resource pool. Using the original seed image and differential data of the shadow cloud desktop, the differential data of the original cloud desktop is quickly synchronized to the target resource pool to build the target cloud desktop.

Benefits of technology

It enables fast and complete data synchronization to the target resource pool without copying the entire cloud desktop image, reducing interaction latency, improving user experience, and ensuring fast switching and data consistency of cloud desktop services across resource pools.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119828992B_ABST
    Figure CN119828992B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a cloud desktop data synchronization method and device, electronic equipment and storage medium, and relate to the field of cloud computing, comprising: in response to a user's boot instruction at a target location, determining a target resource pool; allocating a shadow cloud desktop in the target resource pool, the shadow cloud desktop having the same original seed image as an original cloud desktop; determining first differential data based on the data difference between the original seed image in the original cloud desktop and a first disk corresponding to the original cloud desktop, and transmitting the first differential data to the target resource pool; importing the first differential data by the target resource pool, and obtaining a target cloud desktop based on the original seed image of the shadow cloud desktop and the first differential data. According to the present application, the shadow cloud desktop is allocated in the target resource pool with the shortest time delay to the target location, and the differential data in the original cloud desktop is separated and transmitted to the target resource pool, so that the data of the original cloud desktop can be quickly and completely synchronized to the target resource pool without copying the entire cloud desktop image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud computing, and more specifically, to a cloud desktop data synchronization method, apparatus, electronic device, and storage medium. Background Technology

[0002] In recent years, with the rapid development of cloud computing technology, cloud desktops have become increasingly popular across various industries. The convenience of cloud desktops lies in the fact that users can easily access their personal desktop environment via the internet, enabling flexible cross-device and cross-platform office work.

[0003] However, if a user needs to change their work location due to business trips or other reasons, and the new work location is physically far from the original cloud desktop resource pool's data center, it can lead to significant interaction delays and negatively impact user experience. Therefore, how to quickly and completely synchronize system data from a user's personal desktop to a cloud location closer to the user has become a pressing issue in this field. Summary of the Invention

[0004] This application provides a cloud desktop data synchronization method, device, electronic device, and storage medium, aiming to solve the problem of how to quickly and completely synchronize system data of a user's personal desktop to the cloud, which is closer to the user.

[0005] A first aspect of this application provides a cloud desktop data synchronization method, the method comprising:

[0006] In response to the user's power-on command at the target location, a target resource pool is determined, which is the resource pool in the cloud platform with the lowest latency to the target location;

[0007] A shadow cloud desktop is allocated in the target resource pool, and the shadow cloud desktop has the same original seed image as the original cloud desktop.

[0008] Based on the data difference between the original seed image in the original cloud desktop and the first disk corresponding to the original cloud desktop, the first difference data is determined and transmitted to the target resource pool;

[0009] The target resource pool imports the first differential data, and based on the original seed image of the shadow cloud desktop and the first differential data, the target cloud desktop is obtained.

[0010] In one optional implementation, determining the first difference data based on the data difference between the original seed image in the original cloud desktop and the first disk corresponding to the original cloud desktop includes:

[0011] Obtain the original seed image from the original cloud desktop;

[0012] Based on the original seed image, an original seed image snapshot is generated, and based on the first disk of the original cloud desktop, a first disk snapshot is generated;

[0013] The first difference data is determined based on the data difference between the original seed image snapshot and the first disk snapshot.

[0014] In one optional implementation, determining the first difference data based on the data difference between the original seed image snapshot and the first disk snapshot includes:

[0015] Iterative calculations are performed on the original seed image snapshot and the first disk snapshot to determine the difference between the data volume of the original seed image snapshot and the data volume of the first disk snapshot, which is used as the first difference data.

[0016] The first differential data includes at least the new portion of the first disk snapshot relative to the original seed image snapshot, and the modified portion of the original seed image template volume in the first disk snapshot relative to the original seed image snapshot.

[0017] In one optional implementation, the target resource pool imports the first differential data, and based on the original seed image of the shadow cloud desktop and the first differential data, obtains the target cloud desktop, including:

[0018] Based on the transmission protocol, the target resource pool receives the first differential data from the original resource pool corresponding to the original cloud desktop;

[0019] Based on the original seed image of the shadow cloud desktop, the first differential data is imported into the target resource pool using the block device write instruction;

[0020] Based on the first differential data and the original seed image of the shadow cloud desktop, the data of the second disk corresponding to the shadow cloud desktop is reconstructed to obtain the target cloud desktop.

[0021] In one optional implementation, the step of reconstructing the data of the second disk corresponding to the shadow cloud desktop based on the first differential data and the original seed image of the shadow cloud desktop includes:

[0022] Obtain the initial data of the second disk corresponding to the shadow cloud desktop. The initial data of the second disk includes the original seed image and the initial incremental data.

[0023] The first differential data is used to replace the initial incremental data of the second disk to obtain the updated data of the second disk corresponding to the shadow cloud desktop.

[0024] In one optional implementation, determining the target resource pool in response to a user's power-on command at the target location includes:

[0025] In response to a user's power-on command at the target location, the system obtains latency information between multiple resource pools at different locations in the cloud platform and the target location.

[0026] Based on the latency information between the multiple resource pools and the target location, the resource pool with the smallest latency information between itself and the target location is determined as the target resource pool.

[0027] In one optional implementation, after obtaining the target cloud desktop, the method further includes:

[0028] Based on the data difference between the original seed image in the target cloud desktop and the second disk corresponding to the target cloud desktop, the second difference data is determined;

[0029] The second differential data is transmitted to the original resource pool corresponding to the original cloud desktop based on the transmission protocol.

[0030] The original resource pool imports the second differential data into the first disk to update the data on the first disk and obtain the updated original cloud desktop.

[0031] A second aspect of this application provides a cloud desktop data synchronization device, the device comprising:

[0032] The target resource pool module is used to determine the target resource pool in response to the user's power-on command at the target location. The target resource pool is the resource pool with the lowest latency to the target location in the cloud platform.

[0033] The shadow cloud desktop module is used to allocate shadow cloud desktops in the target resource pool, wherein the shadow cloud desktops have the same original seed image as the original cloud desktops;

[0034] The first differential data module is used to determine the first differential data and transmit it to the target resource pool based on the data difference between the original seed image in the original cloud desktop and the first disk corresponding to the original cloud desktop.

[0035] The target cloud desktop module is used to import the first differential data into the target resource pool and obtain the target cloud desktop based on the original seed image of the shadow cloud desktop and the first differential data.

[0036] In one optional implementation, the first differential data module includes:

[0037] The original seed image acquisition submodule is used to acquire the original seed image in the original cloud desktop;

[0038] The snapshot generation submodule is used to generate an original seed image snapshot based on the original seed image, and to generate a first disk snapshot based on the first disk of the original cloud desktop;

[0039] The first differential data submodule is used to determine the first differential data based on the data difference between the original seed image snapshot and the first disk snapshot.

[0040] In one optional implementation, the first differential data submodule includes:

[0041] The first differential data unit is used to iteratively calculate the original seed image snapshot and the first disk snapshot to determine the difference between the data volume of the original seed image snapshot and the data volume of the first disk snapshot, which is used as the first differential data.

[0042] The first differential data includes at least the new portion of the first disk snapshot relative to the original seed image snapshot, and the modified portion of the original seed image template volume in the first disk snapshot relative to the original seed image snapshot.

[0043] In one optional implementation, the target cloud desktop module includes:

[0044] The first transmission submodule is used to receive the first differential data from the original resource pool corresponding to the original cloud desktop in the target resource pool based on the transmission protocol.

[0045] The first import submodule is used to import the first differential data into the target resource pool based on the original seed image of the shadow cloud desktop using block device write instructions;

[0046] The target cloud desktop submodule is used to reconstruct the data of the second disk corresponding to the shadow cloud desktop based on the first differential data and the original seed image of the shadow cloud desktop, so as to obtain the target cloud desktop.

[0047] In one optional implementation, the target cloud desktop submodule includes:

[0048] An initial data acquisition unit is used to acquire the initial data of the second disk corresponding to the shadow cloud desktop. The initial data of the second disk includes the original seed image and the initial incremental data.

[0049] The differential data update unit is used to replace the initial incremental data of the second disk with the first differential data to obtain the updated data of the second disk corresponding to the shadow cloud desktop.

[0050] In one optional implementation, the target resource pool module includes:

[0051] The latency information acquisition submodule is used to respond to the user's power-on command at the target location and acquire latency information between multiple resource pools at different locations in the cloud platform and the target location;

[0052] The target resource pool submodule is used to determine the resource pool with the smallest time delay information between the multiple resource pools and the target location, and use it as the target resource pool.

[0053] In one optional implementation, the cloud desktop data synchronization device further includes:

[0054] The second differential data module is used to determine the second differential data based on the data difference between the original seed image in the target cloud desktop and the second disk corresponding to the target cloud desktop;

[0055] The second transmission module is used to transmit the second differential data to the original resource pool corresponding to the original cloud desktop based on the transmission protocol.

[0056] The original cloud desktop update module is used to import the second differential data into the first disk from the original resource pool to update the data on the first disk and obtain the updated original cloud desktop.

[0057] A third aspect of this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method described in any one of the first aspects of this application.

[0058] A fourth aspect of this application provides a computer-readable storage medium having a computer program / instructions stored thereon, which, when executed by a processor, implements the steps of the method described in any one of the first aspects of this application.

[0059] Beneficial effects:

[0060] This application provides a cloud desktop data synchronization method, apparatus, electronic device, and storage medium, relating to the field of cloud computing. The method includes: responding to a user's power-on command at a target location, determining a target resource pool, wherein the target resource pool is the resource pool with the lowest latency relative to the target location in the cloud platform; allocating a shadow cloud desktop in the target resource pool, wherein the shadow cloud desktop has the same original seed image as the original cloud desktop; determining first differential data based on the data difference between the original seed image in the original cloud desktop and the first disk corresponding to the original cloud desktop, and transmitting it to the target resource pool; importing the first differential data into the target resource pool, and obtaining the target cloud desktop based on the original seed image of the shadow cloud desktop and the first differential data. This application, by allocating a shadow cloud desktop in the target resource pool with the lowest latency to the target location and separating the differential data from the original cloud desktop and transmitting it to the target resource pool, can quickly and completely synchronize the data of the original cloud desktop to the target resource pool without copying the entire cloud desktop image, realizing fast switching of cloud desktop services across resource pools and improving user experience. Attached Figure Description

[0061] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the 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.

[0062] Figure 1 This is a schematic diagram of a cloud desktop data synchronization method in the existing technology;

[0063] Figure 2 This is a flowchart illustrating the steps of a cloud desktop data synchronization method according to an embodiment of this application;

[0064] Figure 3 This is a schematic diagram of a cloud desktop data synchronization method proposed in an embodiment of this application;

[0065] Figure 4 This is a schematic diagram of the first differential data synchronization principle in a cloud desktop data synchronization method proposed in an embodiment of this application;

[0066] Figure 5 This is a schematic diagram of the structure of a cloud desktop data synchronization device according to an embodiment of this application;

[0067] Figure 6 This is a schematic diagram of an electronic device according to an embodiment of this application. Detailed Implementation

[0068] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0069] In the accompanying drawings, the size of constituent elements, the thickness of layers, or areas may sometimes be exaggerated for clarity. Therefore, any implementation of this disclosure is not necessarily limited to the dimensions shown in the drawings, and the shapes and sizes of the components in the drawings do not reflect true proportions. Furthermore, the drawings schematically illustrate ideal examples, and any implementation of this disclosure is not limited to the shapes or values ​​shown in the drawings.

[0070] First, some technical terms used in the embodiments of this application will be explained:

[0071] Cloud desktop: A cloud desktop is a service based on cloud computing technology that moves a user's desktop environment, applications, and data storage to a cloud server, allowing users to access and operate their personal computing environment anytime, anywhere via the Internet.

[0072] Seed image: refers to an initial image containing an operating system, applications, and configuration. This image contains a standardized, pre-configured desktop environment.

[0073] In recent years, with the rapid development of cloud computing technology, cloud desktops have become increasingly popular across various industries. The convenience of cloud desktops lies in the fact that users can easily access their personal desktop environment via the internet, enabling flexible cross-device and cross-platform work. However, if a user needs to change their work location due to business trips or other reasons, and the new work location is physically far from the original cloud desktop resource pool's data center, it can lead to significant interaction delays, impacting the user experience.

[0074] Figure 1 This diagram illustrates a cloud desktop data synchronization method in the prior art, such as... Figure 1 As shown, in the prior art, the user's location is city A. The cloud service provider builds a resource pool A in the data center of city A, and deploys cloud desktop services in resource pool A. When the user's geographical location is in city A, they can activate and use the cloud desktop in resource pool A in city A, which is the closest available location. Because the physical distance between the user and the data center in city A is relatively short, the latency of accessing the cloud desktop service through resource pool A is also low, resulting in minimal latency for the user when using the cloud desktop service (e.g., ...). Figure 1The 2ms latency shown in the figure provides a good user experience. However, when a user changes their work location to city B due to business trips or other reasons, they need to activate the cloud desktop service in city B. Since all data related to the user's cloud desktop is stored in resource pool A in city A, when the user uses the cloud desktop service in city B, they can only connect to the cloud desktop service in resource pool A. However, when city B is geographically far from resource pool A in city A, the connection latency to the cloud desktop service will be relatively high (e.g., 2ms). Figure 1 The 200ms shown indicates that users in city B often experience lag when using the cloud desktop service, resulting in a poor user experience.

[0075] On the other hand, the cloud service provider has built a resource pool B in the data center of city B. However, since the user's permanent workplace is not in city B, all data related to the cloud desktop is stored in the resource pool A in city A. Therefore, when the user uses the cloud desktop service in city B, he / she cannot use the cloud desktop service through the resource pool B in city B. The computing power of the resource pool B, which is physically closer, is not well utilized.

[0076] In view of this, this application proposes a cloud desktop data synchronization method. Figure 2 This application illustrates a flowchart of a cloud desktop data synchronization method according to an embodiment of the present application. Figure 2 As shown, the method includes the following steps:

[0077] S101. In response to the user's power-on command at the target location, determine the target resource pool, wherein the target resource pool is the resource pool with the lowest latency to the target location in the cloud platform.

[0078] In specific implementation step S101, in response to the user's power-on command at the target location, a target resource pool is determined, wherein the target resource pool is the resource pool in the cloud platform with the lowest latency relative to the target location. In this embodiment, the resource pool typically refers to a data center or server cluster of a cloud computing service, and the resource pool at each location is deployed in the server room of the cloud desktop service at the corresponding location; the target location is another geographical location different from the location of the resource pool where the user usually powers on the cloud desktop service. For example, the target location may be another workplace where the user temporarily or short-term stays due to business trips or other reasons from their usual workplace (original location).

[0079] In this embodiment, the cloud platform is a cloud computing service platform used to control the cloud desktop service provided by the target location. The cloud platform utilizes cloud computing technology to migrate the traditional desktop computing environment to the cloud. Users can access their cloud desktop environment anytime, anywhere through various terminal devices (such as personal computers, tablets, and smartphones). The cloud service provider deploys multiple data centers in different geographical locations to provide multiple resource pools for different locations, and manages these deployments through the cloud platform. Since there is a physical distance between the target location and the original location, when a user activates the cloud desktop service at the target location, in order to reduce the latency of using the cloud desktop service, it is necessary to determine a target resource pool with lower latency compared to the original resource pool at the original location.

[0080] In some optional implementations, the target resource pool is determined according to the following steps: First, in response to a user's power-on command at the target location, latency information between multiple resource pools at different locations in the cloud platform and the target location is obtained. The latency information between each resource pool at the target location and the target location represents the total time required for the user terminal device at the target location to send data to each resource pool and return a result. If the latency information between the resource pool and the target location is large, it indicates that when the resource pool is used as the target resource pool for running the cloud desktop service, there will be a significant delay in data transmission between the target resource pool and the user terminal device at the target location. Conversely, if the latency information between the resource pool and the target location is small, it indicates that when the resource pool is used as the target resource pool for running the cloud desktop service, there will be a smaller delay in data transmission between the target resource pool and the user terminal device at the target location. Subsequently, based on the latency information between the multiple resource pools and the target location, the resource pool with the smallest latency information with the target location is determined as the target resource pool.

[0081] In some alternative implementations, the target resource pool can be determined as follows: First, in response to a user's power-on command at the target location, distance information between multiple resource pools at different locations in the cloud platform and the target location is obtained. If the distance information between the resource pool and the target location is large, it indicates that when the resource pool is used as the target resource pool for running the cloud desktop service, the target resource pool needs to travel a long distance to the user terminal device at the target location, resulting in significant data transmission latency. Conversely, if the distance information between the resource pool and the target location is small, it indicates that when the resource pool is used as the target resource pool for running the cloud desktop service, the target resource pool needs to travel a short distance to the user terminal device at the target location, resulting in less data transmission latency. Subsequently, based on the distance information between the multiple resource pools and the target location, the resource pool with the smallest distance information to the target location is determined as the target resource pool.

[0082] S102. Allocate a shadow cloud desktop to the target resource pool. The shadow cloud desktop has the same original seed image as the original cloud desktop.

[0083] In specific implementation step S102, after determining the target resource pool, a shadow cloud desktop is allocated to the target resource pool. The shadow cloud desktop is configured so that the user can directly use the cloud desktop service through the shadow cloud desktop in the target resource pool. In this embodiment, to achieve data synchronization between resource pools in different locations, the shadow cloud desktop and the original cloud desktop have the same original seed image and specifications. The original seed image (or base image, parent image, etc.) refers to the initial image file used to create the cloud desktop instance. The original seed image typically contains the operating system, necessary drivers, pre-installed software, and configuration information, and is the cornerstone of the cloud desktop service environment. The original cloud desktop refers to the cloud desktop service used by the user in the original resource pool at the original location. By ensuring that the shadow cloud desktop and the original cloud desktop have the same original seed image and specifications, the system version, memory, CPU, and other operating environment of the cloud desktop service remain consistent when the user uses the cloud desktop service in the target resource pool.

[0084] S103. Based on the data difference between the original seed image in the original cloud desktop and the first disk corresponding to the original cloud desktop, determine the first difference data and transmit it to the target resource pool.

[0085] In specific implementation step S103, since most of the disk data of the cloud desktop is formed by cloning the template volume snapshot of the original seed image, and the original seed image corresponds to the initialization state of the cloud desktop application, the incremental modification data of the cloud desktop's disk data relative to the original seed image after the user uses the cloud desktop is relatively small. For example, the total actual data size of a cloud desktop's system disk is 50GB, and the actual data size of the template volume of the original seed image is 48GB, but the incremental modification data of this cloud desktop's system disk relative to the template volume of the original seed image may only be 2GB. It should be noted that the above example is only an optional example given to enable those skilled in the art to better understand the solution of the embodiments of this application. The specific data volume of the cloud desktop's system disk, original seed image, and incremental modification data can be determined according to the actual situation, and the embodiments of this application do not impose any limitations here.

[0086] In this embodiment of the application, since the shadow cloud desktop of the target resource pool and the original cloud desktop have the same original seed image, when synchronizing data between the target resource pool and the original resource pool, the incremental modification data relative to the original seed image in the cloud desktop system disk of the original resource pool can be transmitted only, thereby reducing the amount of data to be synchronized between different resource pools, which greatly reduces the time consumption of data synchronization, saves data transmission traffic, and significantly reduces the latency caused by data synchronization.

[0087] Specifically, firstly, the original seed image used to create the original cloud desktop is obtained from the original cloud desktop; based on the original seed image, an original seed image snapshot is generated, and based on the first disk of the original cloud desktop, a first disk snapshot is generated. The original seed image snapshot is a complete record or copy of the data in the original seed image at a specific point in time. The original seed image snapshot serves as the basis for subsequent template volume cloning operations; that is, the system disk of each cloud desktop in a different resource pool is cloned based on the original seed image snapshot. The first disk refers to the system disk of the original resource pool used to run the original cloud desktop service. The first disk snapshot is a complete record or copy of the data on the first disk at the time the user starts the cloud desktop service at the target location. The first disk snapshot is used to obtain the differential data of the original resource pool.

[0088] It should be noted that since the original seed image snapshot is obtained based on the original seed image, and subsequent other system disks are obtained only based on the original seed image snapshot, modifications to the system disks of other resource pools will not affect the original seed image.

[0089] Subsequently, based on the data differences between the original seed image snapshot and the first disk snapshot, the first difference data is determined. The first difference data is the data in the original resource pool that has been incrementally increased and / or modified relative to the original seed image during the user's operation of the original cloud desktop service. Specifically, the original seed image snapshot and the first disk snapshot are iteratively calculated to determine the difference between the data volume of the original seed image snapshot and the data volume of the first disk snapshot, which is used as the first difference data. The first difference data includes at least the newly added portion of the first disk snapshot relative to the original seed image snapshot, and the modified portion of the original seed image template volume in the first disk snapshot relative to the original seed image snapshot.

[0090] Optionally, the block device export command (rbd export-diff command) is used to iteratively calculate the difference between the original seed image snapshot and the first disk snapshot to determine the difference between the data volume of the original seed image snapshot and the data volume of the first disk snapshot, which is used as the first difference data. The export command (rbd export-diff command) is a tool used in Ceph distributed storage system to export incremental snapshots of RADOS Block Devices (rbd). At the block device layer, the export command allows users to export the changed data of the rbd image since its creation or since a specified snapshot, rather than a complete copy of the entire image, thereby greatly saving backup time and storage space.

[0091] Finally, the original resource pool transmits the first differential data to the target resource pool to support the target resource pool in constructing disk data identical to the first disk data in the target resource pool, thereby quickly achieving data synchronization of the cloud desktop. Optionally, the original resource pool transmits the first differential data to the target resource pool based on a transport protocol; for example, the transport protocol can be the SSH protocol.

[0092] For example, Figure 4 This illustration shows a schematic diagram of the first differential data synchronization principle in a cloud desktop data synchronization method according to an embodiment of this application, as follows: Figure 4As shown, resource pool A is the original resource pool, and resource pool B is the target resource pool. First, in resource pool A, the original seed image I and the original cloud desktop disk S1 (i.e., the first disk corresponding to the original cloud desktop) that create the original cloud desktop are found. The data of the original seed image I and the first disk S1 are quickly iterated and calculated to find the difference between the original seed image I and the first disk S1, that is, the first difference data S1-I. This first difference data is then transmitted to resource pool B via the SSH protocol.

[0093] S104. The target resource pool imports the first differential data, and obtains the target cloud desktop based on the original seed image of the shadow cloud desktop and the first differential data.

[0094] In specific implementation step S104, the target resource pool imports the first differential data and obtains the target cloud desktop based on the original seed image of the shadow cloud desktop and the first differential data. In this embodiment, since the shadow cloud desktop and the original cloud desktop have the same original seed image, the target resource pool obtains data synchronized with the original resource pool based on the local original seed image and the first differential data transmitted from the original resource pool, enabling the user to use the cloud desktop based on the target resource pool. Specifically, the target resource pool first receives the first differential data from the original resource pool corresponding to the original cloud desktop based on the transmission protocol. For example, the transmission protocol can be the SSH protocol.

[0095] Subsequently, based on the original seed image of the shadow cloud desktop, the first differential data is imported into the target resource pool using block device write commands. Optionally, the first differential data is imported into the target resource pool using a block device write command (rbd import-diff command), wherein the write command (rbd import-diff command) is a command used in the Ceph distributed storage system to import image difference files of rbd block devices. In the Ceph environment, rbd block devices provide block-level storage, similar to physical hard drives or partitions, and the write command (rbd import-diff command) is used to re-import the first differential data previously exported using the export command (rbd export-diff command) into the rbd image of the target resource pool.

[0096] After importing the first differential data into the target resource pool, the data of the second disk corresponding to the shadow cloud desktop is reconstructed based on the first differential data and the original seed image of the shadow cloud desktop to obtain the target cloud desktop. Specifically, the initial data of the second disk corresponding to the shadow cloud desktop is obtained. The initial data of the second disk includes the original seed image and initial incremental data. The initial incremental data refers to the incremental data generated when the user starts the cloud desktop service in the target resource pool at the target location. The second disk refers to the system disk of the target resource pool used to run the target cloud desktop service. The initial incremental data of the second disk is replaced with the first differential data to obtain the updated data of the second disk corresponding to the shadow cloud desktop.

[0097] For example, such as Figure 4 As shown, resource pool A is the original resource pool, and resource pool B is the target resource pool. In resource pool B, since the shadow cloud desktop and the original cloud desktop are the same original seed image, the same original seed image I as in resource pool A can definitely be found in resource pool B. Based on the original seed image I and the received first differential data S1-I, the data S2 of the second disk is obtained by combining the data S2 of the second disk. The data S2 of the second disk is I+S1-I=S1, that is, the data of the second disk is completely consistent with the data of the first disk corresponding to the original cloud desktop. Then, this data is replaced with the disk data of the shadow cloud desktop, so that the data of the shadow cloud desktop is completely the same as the data of the original cloud desktop, that is, the data synchronization between the target cloud desktop and the original cloud desktop is completed.

[0098] In this embodiment, when a cloud desktop user needs to change their work location, the cloud platform can automatically detect the target resource pool with the lowest access latency based on the user's target location. A shadow cloud desktop of the same specifications and image is then opened for the user in the target resource pool. Upon arrival at their destination, the user uses the newly opened shadow cloud desktop, achieving proximity access at the computing power level. Simultaneously, at the block device level, first differential data is extracted. The cloud platform automatically, quickly, and completely synchronizes the first differential data from the original cloud desktop to the shadow cloud desktop, achieving proximity access at the data level. The cloud desktop data synchronization method based on differential data proposed in this embodiment effectively ensures that the application and system data of the shadow cloud desktop remain completely consistent with the original cloud desktop, thus achieving cross-resource pool switching of cloud desktop services. This implementation ensures that the computing power and data of the cloud desktop can be obtained from the user's location, reducing interaction latency. Users do not need to manually migrate cloud desktop data, improving the overall user experience and achieving data and computing power that move with the user.

[0099] On the other hand, the method provided in this application rapidly iteratively calculates the data differences between the original seed image of the original cloud desktop and the first disk at the block device layer. The first differential data corresponding to the difference is then transmitted to the target resource pool using a transmission protocol. In the target resource pool, the first differential data is imported based on the same original seed image, and the resulting final data replaces the disk of the shadow cloud desktop, thus achieving data synchronization between the two cloud desktops. This method enables data synchronization efficiency by transmitting only the difference portion without copying the entire cloud desktop disk data, significantly improving data synchronization efficiency and reducing user waiting time.

[0100] In some optional implementations, after obtaining the target cloud desktop, since user operations on the target cloud desktop will generate new differential data, in order to ensure that when the user returns from the target location to the initial location of the original cloud desktop (e.g., the user's permanent workplace), they can directly use the original cloud desktop to obtain the operation data on the target cloud desktop, thus improving the user experience, this embodiment of the application will also return this new differential data for synchronization. Specifically, after obtaining the target cloud desktop, based on the data difference between the original seed image in the target cloud desktop and the second disk corresponding to the target cloud desktop, a second differential data is determined; the second differential data is transmitted to the original resource pool corresponding to the original cloud desktop based on the transmission protocol; the original resource pool imports the second differential data into the first disk to update the data on the first disk, thereby obtaining an updated original cloud desktop.

[0101] To enable those skilled in the art to more clearly understand this application, the cloud desktop data synchronization method described in this application will now be described in detail through the following embodiments.

[0102] Figure 3 A schematic diagram of a cloud desktop data synchronization method according to an embodiment of this application is shown, as follows: Figure 3As shown, the user's permanent workplace is city A, and the data center in city A has a raw resource pool running the raw cloud desktop. When the user travels to city B, city B is the target location. First, in response to the user's power-on command in city B, the system obtains latency information between multiple resource pools in different locations within the cloud platform and the target location. Then, it determines the resource pool B with the lowest latency information as the target resource pool for city B, and allocates a shadow cloud desktop of the raw cloud desktop to resource pool B. Next, it finds the original seed image and the first disk that created the raw cloud desktop, performs rapid iterative calculations on the snapshot data of the original seed image and the first disk, identifies the first difference data between the original seed image and the first disk, and transmits this first difference data to resource pool B. Resource pool B combines the first difference data with its local original seed image to form the data of the second disk, thus obtaining the target cloud desktop of resource pool B.

[0103] When a user travels to city C, which serves as the target location, the system first responds to the user's power-on command in city C by acquiring latency information between multiple resource pools in different locations within the cloud platform and the target location. It then determines the resource pool C with the lowest latency information as the target resource pool for city C and allocates a shadow cloud desktop of the original cloud desktop to resource pool C. Next, it finds the original seed image and the first disk that created the original cloud desktop, performs rapid iterative calculations on the snapshot data of the original seed image and the first disk, identifies the first difference data between the original seed image and the first disk, and transmits this first difference data to resource pool C. Resource pool C then combines the first difference data with its local original seed image to form the data for the second disk, thus obtaining the target cloud desktop of resource pool C.

[0104] This application provides a cloud desktop data synchronization method, apparatus, electronic device, and storage medium, relating to the field of cloud computing. The method includes: responding to a user's power-on command at a target location, determining a target resource pool, wherein the target resource pool is the resource pool with the lowest latency relative to the target location in the cloud platform; allocating a shadow cloud desktop in the target resource pool, wherein the shadow cloud desktop has the same original seed image as the original cloud desktop; determining first differential data based on the data difference between the original seed image in the original cloud desktop and the first disk corresponding to the original cloud desktop, and transmitting it to the target resource pool; importing the first differential data into the target resource pool, and obtaining the target cloud desktop based on the original seed image of the shadow cloud desktop and the first differential data. This application, by allocating a shadow cloud desktop in the target resource pool with the lowest latency to the target location and separating the differential data from the original cloud desktop and transmitting it to the target resource pool, can quickly and completely synchronize the data of the original cloud desktop to the target resource pool without copying the entire cloud desktop image, realizing fast switching of cloud desktop services across resource pools and improving user experience.

[0105] Based on the same inventive concept, embodiments of this application disclose a cloud desktop data synchronization device. Figure 5 A schematic diagram of the structure of a cloud desktop data synchronization device according to an embodiment of this application is shown, as follows: Figure 5 As shown, the device includes:

[0106] The target resource pool module is used to determine the target resource pool in response to the user's power-on command at the target location. The target resource pool is the resource pool with the lowest latency to the target location in the cloud platform.

[0107] The shadow cloud desktop module is used to allocate shadow cloud desktops in the target resource pool, wherein the shadow cloud desktops have the same original seed image as the original cloud desktops;

[0108] The first differential data module is used to determine the first differential data and transmit it to the target resource pool based on the data difference between the original seed image in the original cloud desktop and the first disk corresponding to the original cloud desktop.

[0109] The target cloud desktop module is used to import the first differential data into the target resource pool and obtain the target cloud desktop based on the original seed image of the shadow cloud desktop and the first differential data.

[0110] In one optional implementation, the first differential data module includes:

[0111] The original seed image acquisition submodule is used to acquire the original seed image in the original cloud desktop;

[0112] The snapshot generation submodule is used to generate an original seed image snapshot based on the original seed image, and to generate a first disk snapshot based on the first disk of the original cloud desktop;

[0113] The first differential data submodule is used to determine the first differential data based on the data difference between the original seed image snapshot and the first disk snapshot.

[0114] In one optional implementation, the first differential data submodule includes:

[0115] The first differential data unit is used to iteratively calculate the original seed image snapshot and the first disk snapshot to determine the difference between the data volume of the original seed image snapshot and the data volume of the first disk snapshot, which is used as the first differential data.

[0116] The first differential data includes at least the new portion of the first disk snapshot relative to the original seed image snapshot, and the modified portion of the original seed image template volume in the first disk snapshot relative to the original seed image snapshot.

[0117] In one optional implementation, the target cloud desktop module includes:

[0118] The first transmission submodule is used to receive the first differential data from the original resource pool corresponding to the original cloud desktop in the target resource pool based on the transmission protocol.

[0119] The first import submodule is used to import the first differential data into the target resource pool based on the original seed image of the shadow cloud desktop using block device write instructions;

[0120] The target cloud desktop submodule is used to reconstruct the data of the second disk corresponding to the shadow cloud desktop based on the first differential data and the original seed image of the shadow cloud desktop, so as to obtain the target cloud desktop.

[0121] In one optional implementation, the target cloud desktop submodule includes:

[0122] An initial data acquisition unit is used to acquire the initial data of the second disk corresponding to the shadow cloud desktop. The initial data of the second disk includes the original seed image and the initial incremental data.

[0123] The differential data update unit is used to replace the initial incremental data of the second disk with the first differential data to obtain the updated data of the second disk corresponding to the shadow cloud desktop.

[0124] In one optional implementation, the target resource pool module includes:

[0125] The latency information acquisition submodule is used to respond to the user's power-on command at the target location and acquire latency information between multiple resource pools at different locations in the cloud platform and the target location;

[0126] The target resource pool submodule is used to determine the resource pool with the smallest time delay information between the multiple resource pools and the target location, and use it as the target resource pool.

[0127] In one optional implementation, the cloud desktop data synchronization device further includes:

[0128] The second differential data module is used to determine the second differential data based on the data difference between the original seed image in the target cloud desktop and the second disk corresponding to the target cloud desktop;

[0129] The second transmission module is used to transmit the second differential data to the original resource pool corresponding to the original cloud desktop based on the transmission protocol.

[0130] The original cloud desktop update module is used to import the second differential data into the first disk from the original resource pool to update the data on the first disk and obtain the updated original cloud desktop.

[0131] Based on the same inventive concept, this application discloses an electronic device. Figure 6 A schematic diagram of an electronic device according to an embodiment of this application is shown, such as... Figure 6 As shown, the electronic device 100 includes a memory 110 and a processor 120. The memory 110 and the processor 120 are connected via a bus. The memory 110 stores at least one instruction, at least one program, code set, or instruction set. The at least one instruction, the at least one program, the code set, or the instruction set can be loaded and run on the processor 120 to implement the steps in the cloud desktop data synchronization method disclosed in the embodiments of this application.

[0132] Based on the same inventive concept, embodiments of this application disclose a computer-readable storage medium storing at least one instruction, at least one program, code set, or instruction set thereon. The at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the steps in the cloud desktop data synchronization method disclosed in embodiments of this application.

[0133] Based on the same inventive concept, this application discloses a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps in the cloud desktop data synchronization method disclosed in this application.

[0134] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Similar or identical parts between embodiments can be referred to mutually.

[0135] This application describes embodiments with reference to flowchart illustrations and / or block diagrams of methods, apparatuses, electronic devices, and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0136] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0137] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0138] Although preferred embodiments of the present application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present application.

[0139] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes said element.

[0140] The above provides a detailed description of the cloud desktop data synchronization method, apparatus, electronic device, and storage medium provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A cloud desktop data synchronization method, characterized in that, The method includes: In response to the user's power-on command at the target location, a target resource pool is determined, which is the resource pool in the cloud platform with the lowest latency to the target location; A shadow cloud desktop is allocated in the target resource pool, and the shadow cloud desktop has the same original seed image as the original cloud desktop. Based on the data difference between the original seed image in the original cloud desktop and the first disk corresponding to the original cloud desktop, the first difference data is determined and transmitted to the target resource pool; The target resource pool imports the first differential data, and the target cloud desktop is obtained based on the original seed image of the shadow cloud desktop and the first differential data; Based on the data difference between the original seed image in the target cloud desktop and the second disk corresponding to the target cloud desktop, the second difference data is determined; The second differential data is transmitted to the original resource pool corresponding to the original cloud desktop based on the transmission protocol. The original resource pool imports the second differential data into the first disk to update the data on the first disk and obtain the updated original cloud desktop.

2. The cloud desktop data synchronization method according to claim 1, characterized in that, The step of determining the first difference data based on the data difference between the original seed image in the original cloud desktop and the first disk corresponding to the original cloud desktop includes: Obtain the original seed image from the original cloud desktop; Based on the original seed image, an original seed image snapshot is generated, and based on the first disk of the original cloud desktop, a first disk snapshot is generated; The first difference data is determined based on the data difference between the original seed image snapshot and the first disk snapshot.

3. The cloud desktop data synchronization method according to claim 2, characterized in that, The step of determining the first difference data based on the data difference between the original seed image snapshot and the first disk snapshot includes: Iterative calculations are performed on the original seed image snapshot and the first disk snapshot to determine the difference between the data volume of the original seed image snapshot and the data volume of the first disk snapshot, which is used as the first difference data. The first differential data includes at least the new portion of the first disk snapshot relative to the original seed image snapshot, and the modified portion of the original seed image template volume in the first disk snapshot relative to the original seed image snapshot.

4. The cloud desktop data synchronization method according to claim 1, characterized in that, The target resource pool imports the first differential data, and based on the original seed image of the shadow cloud desktop and the first differential data, obtains the target cloud desktop, including: Based on the transmission protocol, the target resource pool receives the first differential data from the original resource pool corresponding to the original cloud desktop; Based on the original seed image of the shadow cloud desktop, the first differential data is imported into the target resource pool using the block device write instruction; Based on the first differential data and the original seed image of the shadow cloud desktop, the data of the second disk corresponding to the shadow cloud desktop is reconstructed to obtain the target cloud desktop.

5. The cloud desktop data synchronization method according to claim 4, characterized in that, The process of reconstructing the data of the second disk corresponding to the shadow cloud desktop based on the first differential data and the original seed image of the shadow cloud desktop includes: Obtain the initial data of the second disk corresponding to the shadow cloud desktop. The initial data of the second disk includes the original seed image and the initial incremental data. The first differential data is used to replace the initial incremental data of the second disk to obtain the updated data of the second disk corresponding to the shadow cloud desktop.

6. The cloud desktop data synchronization method according to claim 1, characterized in that, The step of determining the target resource pool in response to a user's power-on command at the target location includes: In response to a user's power-on command at the target location, the system obtains latency information between multiple resource pools at different locations in the cloud platform and the target location. Based on the latency information between the multiple resource pools and the target location, the resource pool with the smallest latency information between itself and the target location is determined as the target resource pool.

7. A cloud desktop data synchronization device, characterized in that, The device includes: The target resource pool module is used to determine the target resource pool in response to the user's power-on command at the target location. The target resource pool is the resource pool with the lowest latency to the target location in the cloud platform. The shadow cloud desktop module is used to allocate shadow cloud desktops in the target resource pool, wherein the shadow cloud desktops have the same original seed image as the original cloud desktops; The first differential data module is used to determine the first differential data and transmit it to the target resource pool based on the data difference between the original seed image in the original cloud desktop and the first disk corresponding to the original cloud desktop. The target cloud desktop module is used to import the first differential data into the target resource pool and obtain the target cloud desktop based on the original seed image of the shadow cloud desktop and the first differential data. The second differential data module is used to determine the second differential data based on the data difference between the original seed image in the target cloud desktop and the second disk corresponding to the target cloud desktop; The second transmission module is used to transmit the second differential data to the original resource pool corresponding to the original cloud desktop based on the transmission protocol. The original cloud desktop update module is used to import the second differential data into the first disk from the original resource pool to update the data on the first disk and obtain the updated original cloud desktop.

8. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored on the memory, wherein the processor executes the computer program to implement the steps of the cloud desktop data synchronization method according to any one of claims 1-6.

9. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instruction is executed by the processor, it implements the steps of the cloud desktop data synchronization method according to any one of claims 1-6.

Citation Information

Patent Citations

  • System mirror image file updating method of virtual machine, cloud data center and system

    CN105094948A

  • Method and system for switching cloud desktops

    CN105791400A

  • Cloud desktop data persistence method and system based on ZNBase database cluster

    CN114443774A