Application migration method, device, electronic device and storage medium

By dynamically migrating applications based on computing power parameters in the cloud desktop system, the problem of low terminal computing power utilization is solved, and more efficient computing power utilization and improved user experience are achieved.

CN116257341BActive Publication Date: 2025-09-23ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310162182.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-21
Publication Date
2025-09-23
Estimated Expiration
2043-02-21

Smart Images

  • Figure CN116257341B_ABST
    Figure CN116257341B_ABST
Patent Text Reader

Abstract

This application discloses an application migration method, apparatus, electronic device, and storage medium. The method comprises: determining a target application's migration-out node and migration-in node from the terminal and a cloud host based on the terminal's computing power parameters; and migrating the target application from the migration-out node to the migration-in node. Embodiments of this application can address the technical issue of low terminal computing power utilization during use in cloud desktop systems.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud computing technology, and in particular to an application migration method, device, electronic device, and storage medium. Background Art

[0002] Cloud desktop systems are a typical application in the era of virtualization and cloud computing. They typically include a cloud desktop client and a cloud host corresponding to the client. A cloud host is a virtual machine created by cloud vendors using virtualization technology to partition cloud servers located in data center computer rooms. An actual cloud server can be divided into multiple cloud hosts for independent use by multiple users. Cloud hosts have relatively independent processor and memory resources. In related technologies, during the use of cloud desktop systems, user terminals running cloud desktop clients sometimes experience insufficient computing power or idle computing power. This means that the computing power of user terminals cannot be effectively and flexibly utilized, resulting in low computing power utilization of user terminals. Summary of the Invention

[0003] In view of the above problems, the present application provides an application migration method, device, electronic device and storage medium to at least solve the technical problem in the related art that the cloud desktop system has low computing power utilization of the terminal during use.

[0004] According to the first aspect of an embodiment of the present application, an application migration method is provided, comprising: determining an outgoing node and an incoming node of a target application from the terminal and the cloud host based on computing power parameters of the terminal; and migrating the target application from the outgoing node to the incoming node.

[0005] According to the second aspect of the embodiment of the present application, an application migration method is also provided, which is applied to a terminal or a cloud server, wherein the terminal runs a cloud desktop client, and the cloud server runs at least one cloud host, and the method includes: obtaining computing power parameters of the terminal; when the computing power parameters meet a preset overload condition, migrating the target application from the terminal to the target cloud host, so that the target application runs on the target cloud host, and the target cloud host receives and processes operation instructions for the target application through the cloud desktop client; wherein the target cloud host is the cloud host corresponding to the cloud desktop client; when the computing power parameters meet a preset sufficient computing power condition, migrating the target application from the target cloud host to the terminal, so that the target application runs on the terminal, and the terminal processes operation instructions for the target application.

[0006] According to the third aspect of an embodiment of the present application, an application migration device is provided, including: a determination unit, used to determine the migration node and the migration node of the target application from the above-mentioned terminal and the cloud host based on the computing power parameters of the terminal; a migration unit, used to migrate the above-mentioned target application from the above-mentioned migration node to the above-mentioned migration node.

[0007] According to a fourth aspect of an embodiment of the present application, an electronic device is further provided, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the application migration method of the first aspect through the computer program.

[0008] According to a fifth aspect of an embodiment of the present application, a computer-readable storage medium is further provided, in which a computer program is stored, wherein the computer program is configured to execute the application migration method of the first aspect mentioned above when running.

[0009] In an embodiment of the present application, based on the computing power parameters of the terminal, the migration node and the migration node of the target application are determined from the above-mentioned terminal and the cloud host, and the above-mentioned target application is migrated from the above-mentioned migration node to the above-mentioned migration node. In this way, the running node can be selected for the target application based on the computing power parameters of the terminal, and the computing power of the terminal can be fully utilized, avoiding the idleness of the terminal computing power and the poor customer experience when the terminal computing power is insufficient. It can not only improve the computing power utilization rate of the terminal during the use of the cloud desktop system, but also further improve the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiment below. The accompanying drawings are for illustration purposes only and are not to be considered as limiting the present application. The same reference numerals are used throughout the drawings to represent the same components. In the drawings:

[0011] Figure 1 is a schematic diagram of an application environment of an optional application migration method according to an embodiment of the present application;

[0012] Figure 2 is a schematic diagram of an application environment of another optional application migration method according to an embodiment of the present application;

[0013] Figure 3 is a schematic diagram of an application environment of another optional application migration method according to an embodiment of the present application;

[0014] Figure 4 is a schematic diagram of an application environment of another optional application migration method according to an embodiment of the present application;

[0015] Figure 5is a flowchart of an optional application migration method according to an embodiment of the present application;

[0016] Figure 6 is a flowchart of another optional application migration method according to an embodiment of the present application;

[0017] Figure 7 is a flowchart of another optional application migration method according to an embodiment of the present application;

[0018] Figure 8 is a flowchart of another optional application migration method according to an embodiment of the present application;

[0019] Figure 9 is a flowchart of another optional application migration method according to an embodiment of the present application;

[0020] Figure 10 is a flowchart of another optional application migration method according to an embodiment of the present application;

[0021] Figure 11 is a flowchart of another optional application migration method according to an embodiment of the present application;

[0022] Figure 12 is a flowchart of another optional application migration method according to an embodiment of the present application;

[0023] Figure 13 This is a schematic diagram of the structure of an application migration device provided in an embodiment of the present application;

[0024] Figure 14 1 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0025] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.

[0026] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0027] Optionally, according to one aspect of the embodiment of the present application, an application migration method is provided. As an optional implementation, the application migration method can be applied to, but is not limited to, Figure 1 In the application environment shown. The application environment may include but is not limited to: a terminal device 102 for human-computer interaction with the user, a network 110, and a cloud host 112. A cloud desktop client is running in the terminal device 102. The terminal device 102 includes a display 108, a processor 106, and a memory 104. The display 108 is used to present the target application and the computing power parameters of the terminal. The processor 106 is used to obtain the computing power parameters of the terminal. The memory 104 is used to store the computing power parameters of the terminal device 102 and the user profile of the target application in the terminal device 102. In addition, the cloud host 112 includes a database 114 and a processing engine 116. The database is used to store the user profile of the target application installed in the cloud host 112. The processing engine 116 is used to determine the migration node and the migration node of the target application from the terminal device 102 and the cloud host 112 based on the computing power parameters of the terminal, and migrate the target application from the migration node to the migration node.

[0028] In one or more embodiments, the application migration method described above can be applied to Figure 2 In the application environment shown. Figure 2 As shown, human-computer interaction can be performed between user 202 and user device 204. User device 204 includes memory 206 and processor 208. In this embodiment, user device 204 can, but is not limited to, determine an outgoing node and an incoming node for a target application from user device 204 and cloud host 210, and migrate the target application from the outgoing node to the incoming node.

[0029] Optionally, the terminal device 102 and the user device 204 include but are not limited to mobile phones, laptops, tablet computers, PDAs, MIDs (Mobile Internet Devices), desktop computers, smart TVs, etc. The cloud desktop client in the embodiment of the present application includes but is not limited to a client that provides application migration services for video clients, instant messaging clients, browser clients, educational clients, etc. The network may include but is not limited to: a wired network, a wireless network, wherein the wired network includes: a local area network, a metropolitan area network and a wide area network, and the wireless network includes: Bluetooth, WIFI and other networks that implement wireless communication. The cloud host 112 and the cloud host 210 may be a single cloud server or a server cluster composed of multiple cloud servers. The above is only an example and is not limited to this in this embodiment.

[0030] In the related art, when the cloud desktop client runs in the terminal, the terminal sometimes has insufficient computing power, or sometimes has idle computing power, which leads to low computing power utilization of the terminal.

[0031] In order to solve the above technical problems, as an optional implementation method, Figure 5 As shown, the embodiment of the present application provides an application migration method, including the following steps:

[0032] S502: Based on the computing power parameters of the terminal, determine the migration-out node and the migration-in node of the target application from the above-mentioned terminal and the cloud host.

[0033] Specifically, in an embodiment of the present invention, the computing power parameters of the terminal include but are not limited to the utilization rate of the terminal's processor or memory, where the processor includes but is not limited to a general-purpose processor or a graphics processor; the memory utilization here includes but is not limited to the utilization rate of the internal memory or video memory, and this application does not impose any restrictions on this. By judging the computing power parameters of the terminal, when the computing power of the terminal is sufficient, the target application is migrated from the cloud host to the terminal for operation; or, when the computing power of the terminal is insufficient, the target application is migrated from the terminal to the cloud host for operation.

[0034] S504: Migrate the target application from the migration-out node to the migration-in node.

[0035] Specifically, in the embodiments of the present application, it includes but is not limited to migrating the target application's installation program and user profile (Profile data) from the outgoing node to the above-mentioned incoming node, or only migrating the user profile (Profile data) from the outgoing node to the above-mentioned incoming node.

[0036] In an embodiment of the present application, based on the computing power parameters of the terminal, the migration node and the migration node of the target application are determined from the above-mentioned terminal and the cloud host, and the above-mentioned target application is migrated from the above-mentioned migration node to the above-mentioned migration node. In this way, the running node can be selected for the target application based on the computing power parameters of the terminal, and the computing power of the terminal can be fully utilized, avoiding the idleness of the terminal computing power and the poor customer experience when the terminal computing power is insufficient. It can not only improve the computing power utilization rate of the terminal during the use of the cloud desktop, but also further improve the user experience.

[0037] In one or more embodiments, step S502, determining the migration-out node and the migration-in node of the target application from the terminal and the cloud host based on the computing power parameters of the terminal, includes:

[0038] If the computing power parameters meet the preset computing power sufficient condition, the cloud host is determined as the migration-out node of the target application and the terminal is determined as the migration-in node of the target application;

[0039] When the computing power parameters meet the preset overload condition, the terminal is determined as the migration node of the target application and the cloud host is determined as the migration node of the target application.

[0040] Specifically, if Figure 3 As shown, Figure 3 When the computing power parameters of the terminal meet the preset computing power sufficient conditions, the cloud host is determined as the migration node of the target application A, and the terminal is determined as the migration node of the above target application A.

[0041] like Figure 4 As shown, Figure 4 When the computing power parameters of the terminal meet the preset overload conditions, the terminal is determined as the migration node of the target application A, and the cloud host is determined as the migration node of the above target application A.

[0042] In the embodiment of the application, by determining whether the terminal's computing power parameters meet the preset computing power sufficient condition or the preset overload condition, the target application is migrated, which not only fully utilizes the terminal's computing power, but also improves the utilization rate of the terminal's computing power. In addition, compared with the operating system granularity migration method in the related art, the data migration method based on application granularity in this application not only eliminates the process of setting up the virtualization environment, but also reduces the amount of application data migration, improves the efficiency of application migration, and enhances the user experience.

[0043] In one or more embodiments, Figure 6 As shown, the above application migration method also includes:

[0044] S602: If the computing power parameter satisfies a preset overload condition, determining the terminal as a migration-out node for the target application and determining the cloud host as a migration-in node for the target application;

[0045] S604: If the computing power parameter satisfies a preset computing power sufficient condition, the cloud host is determined as a migration-out node for the target application and the terminal is determined as a migration-in node for the target application.

[0046] S606 , migrating the account data of the target application from the migration-out node to the migration-in node; wherein the target application is an application whose account data has been updated, and the account data is data used to store user configuration information.

[0047] Optionally, in one example, Figure 3 As shown, the cloud desktop client determines the cloud host as the migration node of the target application (application A), and the terminal is determined as the migration node of the above-mentioned application A. Assuming that application A is an application that the user performs editing operations on the cloud host, the account data (Profile data) of application A has been updated. At this time, it is only necessary to migrate the account data of application A from the cloud host to the terminal and replace the account data of application A in the terminal. Then, the editing operation of application A can be realized in the terminal, and any operation and configuration information of the user on application A in the cloud host can be synchronized.

[0048] Alternatively, in another example, for example Figure 4 As shown, the cloud desktop client determines the terminal as the migration node of the target application (application A), and the cloud host is determined as the migration node of the above-mentioned application A. Assuming that application A is an application that the user performs editing operations on in the terminal, the account data of application A has been updated. At this time, it is only necessary to migrate the account data of application A from the terminal to the cloud host and replace the account data of application A in the cloud host. This can achieve synchronization of any operations and configuration information of the user on application A in the terminal in the cloud host.

[0049] The above steps S602 and S604 have been clearly explained above and will not be repeated here.

[0050] In one or more embodiments, Figure 7 As shown, the above application migration method also includes:

[0051] S702. Set a unique identifier for each application in the application set. The application set includes applications in the terminal and applications in the cloud host. The same application in the terminal and the cloud host has the same unique identifier. The unique identifier is used to determine the storage path of the application's account data configuration in the terminal and the cloud host.

[0052] Specifically, for example Figure 3 As shown, the application set is the applications in the terminal and the applications in the above-mentioned cloud host, including {application A, application B...application N}, where {1001, 1002...100N} is the unique identifier of each application, for example, the unique identifier corresponding to application A is 1001, and the unique identifier corresponding to application N is 100N; each unique identifier corresponds to the storage path of the account data of the application configured in the above-mentioned terminal and cloud host; in one embodiment, by setting a mapping table between the above-mentioned unique identifiers and storage paths, the storage path of the current application and its account data configured in the above-mentioned terminal or cloud host can be determined.

[0053] S704: Based on the computing power parameters of the terminal, determine the migration-out node and the migration-in node of the target application from the above-mentioned terminal and the cloud host.

[0054] S706 , migrating the account data of the target application from the migration-out node to the migration-in node; wherein the target application is an application whose account data has been updated, and the account data is data used to store user configuration information.

[0055] The above steps S704-S706 have been clearly explained in the previous text and will not be repeated here.

[0056] In one or more embodiments, Figure 8 As shown, the above application migration method also includes:

[0057] S802. Set a unique identifier for each application in the application set. The application set includes applications in the terminal and applications in the cloud host. The same application in the terminal and the cloud host has the same unique identifier. The unique identifier is used to determine the storage path of the application's account data configuration in the terminal and the cloud host.

[0058] S804: Based on the computing power parameters of the terminal, determine the migration-out node and the migration-in node of the target application from the above-mentioned terminal and the cloud host.

[0059] S806, determining the storage path of the target application on the migration node according to the unique identifier of the target application;

[0060] S808 , when the operating systems of the migrated-out node and the migrated-in node are the same, the account data under the storage path in the migrated-in node is replaced with the account data of the target application in the migrated-out node.

[0061] Specifically, for example Figure 3As shown, the target application is application A. According to the unique identifier 1001 of the above application A, the storage path of the above application A in the above migration node (terminal) is determined to be "D:\Program Files\software\APP-A\profile". When the operating systems of the above migration node (cloud host) and the above migration node (terminal) are the same (assuming that they are both Windows operating systems), the account data under the above storage path in the terminal is replaced with the account data (Profile data) of application A in the above cloud host.

[0062] For example Figure 4 As shown, the target application is application A. According to the unique identifier 1001 of the above application A, the storage path of the above application A in the above migration node (cloud host) is determined to be "D:\Program Files\software\APP-A\profile". When the operating systems of the above migration node (terminal) and the above migration node (cloud host) are the same (assuming that they are both MAC operating systems), the account data under the above storage path in the cloud host is replaced with the account data (Profile data) of application A in the above terminal.

[0063] The above steps S802-S804 have been clearly explained in the previous text and will not be repeated here.

[0064] In one or more embodiments, Figure 9 As shown, the above application migration method also includes:

[0065] S902. Set a unique identifier for each application in the application set. The application set includes applications in the terminal and applications in the cloud host. The same application in the terminal and the cloud host has the same unique identifier. The unique identifier is used to determine the storage path of the application's account data configuration in the terminal and the cloud host.

[0066] S904: Based on the computing power parameters of the terminal, determine the migration-out node and the migration-in node of the target application from the above-mentioned terminal and the cloud host.

[0067] S906, determining the storage path of the target application on the migration node according to the unique identifier of the target application;

[0068] S908 , when the operating systems of the migrated-out node and the migrated-in node are the same, the account data under the storage path in the migrated-in node is replaced with the account data of the target application in the migrated-out node.

[0069] S910, when the operating systems of the migration-out node and the migration-in node are different, obtaining the account data of the target application from the migration-out node, and converting the data format of the account data into a data format corresponding to the operating system of the migration-in node;

[0070] S912: Replace the account data in the storage path of the migrated node with the account data in the converted format.

[0071] Specifically, for example Figure 3 As shown, the target application is application A, and the storage path of the application A in the migration node (terminal) is determined to be "D:\Program Files\software\APP-A\profile" according to the unique identifier 1001 of the application A. In the case where the operating systems of the migration node (cloud host) and the migration node (terminal) are different, assuming that the system environment of the cloud host is the Windows operating system and the terminal is the MAC operating system, the data format of the account data of application A in the cloud host is converted to the data format corresponding to the MAC operating system, and the account data under the storage path "D:\Program Files\software\APP-A\profile" in the terminal is replaced with the account data (Profile data) converted to the MAC operating system format.

[0072] The above steps S902-S908 have been clearly explained in the previous text and will not be repeated here.

[0073] In one or more embodiments, Figure 10 As shown, the above application migration method also includes:

[0074] S1002, set a unique identifier for each application in the application set, the application set including the application in the terminal and the application in the cloud host, the same application in the terminal and the cloud host has the same unique identifier, and the unique identifier is used to determine the storage path of the application account data configuration in the terminal and the cloud host.

[0075] S1004: Based on the computing power parameters of the terminal, determine the migration-out node and the migration-in node of the target application from the above-mentioned terminal and the cloud host.

[0076] S1006, determining the installation path of the target application on the migration node according to the unique identifier of the target application;

[0077] S1008: If the installation path only includes the installation package of the target application, then install the installation package to the installation path; wherein the storage path is a sub-path of the installation path.

[0078] Specifically, in order to save storage space in the memory of the terminal or cloud host, the present application may store the installation package of the application only in the terminal or cloud host, for example Figure 3 As shown in the figure, when the terminal is determined as a migration node, the target application (application A) is not installed on the terminal at this time. Only the installation package of application A is stored under its installation path "D:\Program Files\software\APP-A". The above installation package is installed to the above installation path "D:\Program Files\software\APP-A", and then the account data of application A in the cloud host replaces the account data under the storage path "D:\Program Files\software\APP-A\profile" in the terminal.

[0079] S1010 , migrating the account data of the target application from the migration-out node to the migration-in node; wherein the target application is an application whose account data has been updated, and the account data is data used to store user configuration information.

[0080] The above steps S1002-S1004 and step S1010 have been clearly explained in the previous text and will not be repeated here.

[0081] In one or more embodiments, the computing power parameter includes at least one of processor utilization and memory utilization, and the computing power parameter satisfies the preset computing power sufficiency condition including:

[0082] The utilization rate of the processor is less than or equal to a first threshold, and / or the utilization rate of the memory is less than or equal to a second threshold.

[0083] Specifically, for example, when the utilization rate of the terminal's processor is less than or equal to 30%, or the utilization rate of the above-mentioned memory is less than or equal to 50%, it is determined that the computing power parameters of the terminal meet the preset computing power sufficiency conditions. It should be noted that the first threshold and the second threshold here can be adjusted accordingly according to user needs.

[0084] The computing power parameter meeting the preset overload condition includes: the utilization rate of the processor being greater than or equal to a third threshold, and / or the utilization rate of the memory being greater than or equal to a fourth threshold.

[0085] Specifically, for example, when the utilization rate of the terminal's processor is greater than or equal to 90%, or the utilization rate of the above-mentioned memory is greater than or equal to 95%, it is determined that the computing power parameters of the terminal meet the preset overload conditions. Accordingly, the third threshold and the fourth threshold here can be adjusted accordingly according to user needs.

[0086] In one or more embodiments, step S502, determining the migration-out node and the migration-in node of the target application from the terminal and the cloud host based on the computing power parameters of the terminal, further includes:

[0087] Based on the computing power parameters of the terminal and the network delay between the terminal and the cloud host, the migration-out node and the migration-in node of the target application are determined from the terminal and the cloud host.

[0088] Specifically, since the cloud desktop system is highly dependent on network speed, when the network environment is poor, freezes and other phenomena will occur. At this time, the target application's migration-out node and migration-in node can be determined by obtaining the terminal's computing power parameters and the network delay between the terminal and the cloud host. For example, when the terminal's computing power is sufficient and the network delay between the terminal and the cloud host is large, the target application can be migrated from the cloud host to the terminal for operation, which not only improves the utilization rate of the terminal's computing power but also improves the user experience.

[0089] In one or more embodiments, determining the migration-out node and the migration-in node of the target application from the terminal and the cloud host based on the computing power parameters of the terminal and the network latency between the terminal and the cloud host includes:

[0090] When the computing power parameter satisfies a preset computing power sufficiency condition and the network latency is greater than or equal to a fifth threshold, determining the cloud host as a migration-out node for the target application and determining the terminal as a migration-in node for the target application;

[0091] When the computing power parameters meet the preset overload condition and the network delay is less than the sixth threshold, the terminal is determined as the migration node of the target application and the cloud host is determined as the migration node of the target application.

[0092] Specifically, for example, when the network latency is greater than 90ms and the processor utilization of the terminal is less than or equal to 30% or the memory utilization is less than or equal to 50%, the target application is migrated from the cloud host to the terminal. When the network latency is less than 60ms and the processor utilization of the terminal is greater than or equal to 90% or the memory utilization is greater than or equal to 95%, the target application is migrated from the terminal to the cloud host. It should be noted that the fifth and sixth thresholds here can be adjusted accordingly based on user needs.

[0093] In one or more embodiments, the above application migration method is applied to a terminal or a cloud server, wherein the terminal runs a cloud desktop client, and the server runs at least one cloud host, such as Figure 11 As shown, the method includes the following steps:

[0094] S1102: Obtain computing power parameters of the terminal.

[0095] Specifically, this includes but is not limited to obtaining the computing power parameters of the terminal through the above-mentioned cloud desktop client or cloud server.

[0096] S1104, when the computing power parameters meet the preset overload conditions, migrate the target application from the terminal to the target cloud host, so that the target application runs on the target cloud host, and the target cloud host receives and processes the operation instructions for the target application through the cloud desktop client; wherein, the target cloud host is the cloud host corresponding to the cloud desktop client.

[0097] Optionally, in one example, Figure 4 As shown, at this time, when the computing power parameters of the terminal meet the preset overload conditions, for example, when the utilization rate of the terminal's processor is greater than or equal to 90%, or the utilization rate of the terminal's memory is greater than or equal to 95%, the terminal is determined as the migration node of the target application A, and the cloud host is determined as the migration node of the above-mentioned target application A; after the target application A is migrated from the terminal to the target cloud host, the target application can be run on the target cloud host, and the user accesses and operates the target application running on the target cloud host in the desktop of the cloud desktop client. The target cloud host processes the operation instructions for the target application sent by the user through the cloud desktop client to return feedback information corresponding to the operation instructions. It should be noted that the target cloud host here includes but is not limited to the cloud host corresponding to the current user using the cloud desktop system. For example, the target host can be a cloud host bound to the user who logged in to the cloud desktop client.

[0098] S1106, when the computing power parameter meets the preset computing power sufficient condition, migrate the target application from the target cloud host to the terminal, so that the target application runs on the terminal and the terminal processes the operation instructions for the target application.

[0099] Optionally, in one example, Figure 3 As shown, at this time, when the computing power parameters of the terminal meet the preset computing power sufficiency conditions, for example, when the utilization rate of the terminal's processor is less than or equal to 30%, or the utilization rate of the terminal's memory is less than or equal to 50%, the cloud host is determined as the migration node of the target application A, and the terminal is determined as the migration node of the above-mentioned target application A. After migrating the target application A from the target cloud host to the terminal, the target application can run on the terminal, and the user can access and operate the target application in the terminal. The terminal processes the user's operation instructions for the target application and returns feedback information corresponding to the operation instructions. In other words, the user can edit the target application in the local desktop of the terminal.

[0100] In an application embodiment, if Figure 12 As shown, the embodiment of the present application also provides an application migration method, including the following steps:

[0101] S1202, based on the computing power of the terminal, determine whether application migration is required. If so, proceed to step S1204; if not, proceed to step S1206.

[0102] S1204, determine whether the system environments of the two nodes (the migrating-in node and the migrating-out node) are the same, if so, proceed to step S1210, if not, proceed to step S1208.

[0103] S1206: If computing power migration is not required, end the current operation.

[0104] S1208 , according to the conversion rules of user data of different platforms, convert the user data of the application to be migrated into data that matches the format of the migration node system environment.

[0105] S1210 , the ID of the application to be migrated and the user data of the application are sent from the migration-out node to the migration-in node.

[0106] S1212: Utilize the migrated user data on the migration node and run the application.

[0107] In one or more embodiments, before step S1202, the following steps may also be included:

[0108] Collect application installation packages and generate application IDs (unique identifiers) for the applications. The application IDs can be shared between personal computers (terminals) and public clouds (cloud hosts). That is, the same application has the same ID on personal computers and in the public cloud.

[0109] Determine whether to store or install the application installation package on the PC or public cloud based on the storage capacity of the PC and public cloud.

[0110] Locate the location (storage path) where the application stores user-related data, and replace the user-related data at the location of the migrated node with the user-related data of the application at the migrated node according to the location.

[0111] When the application supports cross-platform (such as Linux platform and Windows platform), determine the conversion rules of user data on different platforms.

[0112] In one or more embodiments, step S1202 includes:

[0113] When the computing power of the personal node is insufficient (processor utilization or memory usage is greater than 90%), it is determined to migrate the target application from the personal computer to the public cloud.

[0114] When the processor utilization of the personal node computing power is less than 30% or the memory usage is less than 30%, it is determined to migrate the target application from the public cloud to the personal computer.

[0115] In an embodiment of the present application, by migrating based on application granularity, the construction of a virtualization environment can be eliminated, thereby improving the utilization of terminal computing power; and by migrating applications based on the unique identification of the application, the bandwidth occupied by the application itself in transmitting between networks can be reduced, thereby improving migration efficiency.

[0116] It should be noted that for the aforementioned method embodiments, for simplicity of description, they are all expressed as a series of action combinations. However, those skilled in the art should be aware that the present invention is not limited by the order of the actions described, because according to the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.

[0117] According to another aspect of the embodiment of the present application, an application migration device for implementing the above application migration method is also provided. Figure 13 As shown, the device includes:

[0118] A determining unit 1302 is configured to determine an outgoing node and an incoming node for a target application from the terminal and the cloud host based on the computing power parameters of the terminal;

[0119] The migration unit 1304 is configured to migrate the target application from the migration-out node to the migration-in node.

[0120] In an embodiment of the present application, based on the terminal-based computing power parameters, the migration node and the migration node of the target application are determined from the above-mentioned terminal and the cloud host, and the above-mentioned target application is migrated from the above-mentioned migration node to the above-mentioned migration node. In this way, the running node can be selected for the target application based on the computing power parameters of the terminal, and the computing power of the terminal can be fully utilized, avoiding the idleness of the terminal computing power and the poor customer experience when the terminal computing power is insufficient. It can not only improve the computing power utilization rate of the terminal during the use of the cloud desktop, but also further improve the user experience.

[0121] In one or more embodiments, the determining unit 1302 includes:

[0122] A first determining module is configured to determine the cloud host as a migration-out node for a target application and the terminal as a migration-in node for the target application when the computing power parameter satisfies a preset computing power sufficiency condition;

[0123] The second determination module is used to determine the terminal as the migration node of the target application and the cloud host as the migration node of the target application when the computing power parameter meets the preset overload condition.

[0124] In one or more embodiments, the migration unit 1304 includes:

[0125] The migration module is used to migrate the account data of the target application from the above-mentioned migration-out node to the above-mentioned migration-in node; wherein the above-mentioned target application is an application whose account data is updated, and the above-mentioned account data is data used to store user configuration information.

[0126] In one or more embodiments, the application migration apparatus further includes:

[0127] A configuration identification unit is used to set a unique identifier for each application in the application set. The above application set includes applications in the above terminal and applications in the above cloud host. The same application in the above terminal and the cloud host has the same unique identifier. The above unique identifier is used to determine the storage path of the application's account data configuration in the above terminal and the cloud host.

[0128] In one or more embodiments, the migration module includes:

[0129] A first determining subunit is configured to determine a storage path of the target application on the migration node according to the unique identifier of the target application;

[0130] The first replacement subunit is configured to replace the account data under the storage path in the migration-in node with the account data of the target application in the migration-out node when the operating systems of the migration-out node and the migration-in node are the same.

[0131] In one or more embodiments, the migration module further includes:

[0132] a format conversion subunit, configured to obtain the account data of the target application from the migrating node and convert the data format of the account data into a data format corresponding to the operating system of the migrating node, when the operating systems of the migrating node and the migrating node are different;

[0133] The second replacement subunit is configured to replace the account data in the storage path of the migrated node with the account data in a converted format.

[0134] In one or more embodiments, the application migration apparatus further includes:

[0135] A path determination unit, configured to determine an installation path of the target application on the migration node according to the unique identifier of the target application;

[0136] The installation unit is configured to install the installation package to the installation path if the installation path only includes the installation package of the target application; wherein the storage path is a sub-path of the installation path.

[0137] In one or more embodiments, the computing power parameter includes at least one of a processor utilization and a memory utilization, and the computing power parameter satisfies a preset computing power sufficiency condition including: the processor utilization is less than or equal to a first threshold, and / or the memory utilization is less than or equal to a second threshold;

[0138] The computing power parameter satisfies the preset overload condition, including at least one of the following: the utilization rate of the processor is greater than or equal to the third threshold, and / or the utilization rate of the memory is greater than or equal to the fourth threshold.

[0139] In one or more embodiments, the determining unit 1302 further includes:

[0140] The third determination module is used to determine the migration-out node and the migration-in node of the target application from the above-mentioned terminal and the cloud host based on the computing power parameters of the terminal and the network delay of the above-mentioned terminal connecting to the above-mentioned cloud host.

[0141] In one or more embodiments, the third determining module includes:

[0142] a second determining subunit, configured to determine the cloud host as a migration-out node for the target application and the terminal as a migration-in node for the target application when the computing power parameter satisfies a preset computing power sufficiency condition and the network latency is greater than or equal to a fifth threshold;

[0143] The third determination subunit is used to determine the terminal as the migration node of the target application and the cloud host as the migration node of the target application when the computing power parameter meets the preset overload condition and the network delay is less than the fifth threshold.

[0144] According to another aspect of the embodiment of the present application, an electronic device for implementing the above-mentioned application migration method is also provided. The electronic device may be Figure 1 The terminal device or cloud host shown in FIG. This embodiment is described by taking the electronic device as the terminal device as an example. Figure 14 As shown, the electronic device includes a memory 1402 and a processor 1404. The memory 1402 stores a computer program, and the processor 1404 is configured to execute the steps in any of the above method embodiments through the computer program.

[0145] Optionally, in this embodiment, the electronic device may be at least one network device among a plurality of network devices of a computer network.

[0146] Optionally, in this embodiment, the processor may be configured to execute the following steps through a computer program:

[0147] S1, based on the computing power parameters of the terminal, determine the migration node and migration node of the target application from the above terminal and cloud host;

[0148] S2: Migrate the target application from the migration-out node to the migration-in node.

[0149] Alternatively, those skilled in the art will appreciate that Figure 14 The structure shown is for illustration only, and the electronic device may also be a terminal device such as a smart phone, a tablet computer, a PDA, or a mobile Internet device. Figure 14 It does not limit the structure of the above electronic device. For example, the electronic device may also include Figure 14 More or fewer components (such as network interfaces, etc.) as shown in, or with Figure 14 Different configurations shown.

[0150] Among them, the memory 1402 can be used to store software programs and modules, such as the program instructions / modules corresponding to the application migration method and device in the embodiments of the present application. The processor 1404 executes various functional applications and data processing by running the software programs and modules stored in the memory 1402, that is, realizing the above-mentioned application migration method. The memory 1402 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 1402 may further include a memory remotely located relative to the processor 1404, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include but are not limited to the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 1402 can be specifically, but not limited to, used to store determined outgoing nodes and incoming nodes.

[0151] As an example, Figure 14 As shown, the memory 1402 may include, but is not limited to, the determining unit 1302 and the migrating unit 1304 in the application migration apparatus. Furthermore, it may also include, but is not limited to, other module units in the application migration apparatus, which will not be described in detail in this example.

[0152] Optionally, the transmission device 1406 is configured to receive or send data via a network. Specific examples of the network may include a wired network and a wireless network. In one embodiment, the transmission device 1406 includes a network interface controller (NIC), which can be connected to other network devices and a router via a network cable to communicate with the Internet or a local area network. In one embodiment, the transmission device 1406 is a radio frequency (RF) module, which is configured to communicate with the Internet wirelessly.

[0153] In addition, the electronic device further includes: a display 1408 for displaying the outgoing nodes and the incoming nodes; and a connection bus 1410 for connecting the various module components in the electronic device.

[0154] In other embodiments, the terminal device or server may be a node in a distributed system, wherein the distributed system may be a blockchain system, and the blockchain system may be a distributed system formed by connecting multiple nodes through network communication. The nodes may form a peer-to-peer (P2P) network, and any computing device, such as a server, terminal, or other electronic device, may become a node in the blockchain system by joining the peer-to-peer network.

[0155] In one or more embodiments, the present application further provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the above-described application migration method. The computer program is configured to execute the steps of any of the above-described method embodiments when executed.

[0156] Optionally, in this embodiment, the computer-readable storage medium may be configured to store a computer program for performing the following steps:

[0157] S1, based on the computing power parameters of the terminal, determine the migration node and migration node of the target application from the above terminal and cloud host;

[0158] S2: Migrate the target application from the migration-out node to the migration-in node.

[0159] Optionally, in this embodiment, a person of ordinary skill in the art may understand that all or part of the steps in the various methods of the above embodiments may be completed by instructing the hardware related to the terminal device through a program, and the program may be stored in a computer-readable storage medium, which may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0160] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0161] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above-mentioned computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing one or more computer devices (such as personal computers, servers, or network devices) to execute all or part of the steps of the methods of various embodiments of the present invention.

[0162] In the above embodiments of the present invention, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0163] In the several embodiments provided in this application, it should be understood that the disclosed client can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is merely a logical functional division. In actual implementation, there may be other division methods, such as combining or integrating multiple units or components into another system, or ignoring or not implementing some features. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interface, indirect coupling or communication connection of units or modules, and may be electrical or other forms.

[0164] Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0165] In addition, the functional units in the various embodiments of the present invention may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0166] The above are only preferred embodiments of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. An application migration method, characterized in that: include: Based on the computing power parameters of the terminal, determining the migration-out node and the migration-in node of the target application from the terminal and the cloud host; Migrating the target application from the outgoing node to the incoming node; The determining of the migration-out node and the migration-in node of the target application from the terminal and the cloud host based on the computing power parameter of the terminal includes: When the computing power parameter satisfies a preset overload condition, determining the terminal as a migration-out node for the target application and determining the cloud host as a migration-in node for the target application; When the computing power parameter satisfies a preset computing power sufficiency condition, determining the cloud host as a migration-out node for the target application and determining the terminal as a migration-in node for the target application; Before determining the migration-out node and the migration-in node of the target application from the terminal and the cloud host based on the computing power parameter of the terminal, the method includes: Setting a unique identifier for each application in an application set, the application set including applications in the terminal and applications in the cloud host, wherein the same application in the terminal and the cloud host has the same unique identifier, and the unique identifier is used to determine the storage path of the application account data configuration in the terminal and the cloud host; Migrating the target application from the outgoing node to the incoming node includes: Migrating the target application's account data from the outgoing node to the incoming node; wherein the target application is an application whose account data is updated, and the account data is data used to store user configuration information; and determining a storage path for the target application on the incoming node based on the target application's unique identifier; When the operating systems of the outgoing node and the incoming node are the same, the account data under the storage path in the incoming node is replaced with the account data of the target application in the outgoing node; when the operating systems of the outgoing node and the incoming node are different, the account data of the target application is obtained from the outgoing node, and the data format of the account data is converted into the data format corresponding to the operating system of the incoming node; the account data under the storage path of the incoming node is replaced with the account data in the converted format.

2. The method according to claim 1, characterized in that Before migrating the target application's account data from the migration-out node to the migration-in node, the method further includes: Determining an installation path of the target application on the migration node according to the unique identifier of the target application; If the installation path only includes the installation package of the target application, the installation package is installed correspondingly to the installation path; wherein the storage path is a sub-path of the installation path.

3. The method according to claim 1, characterized in that The computing power parameter includes at least one of a processor utilization and a memory utilization, and the computing power parameter satisfies a preset computing power sufficiency condition including that the processor utilization is less than or equal to a first threshold, and / or that the memory utilization is less than or equal to a second threshold; The computing power parameter satisfies the preset overload condition, including that the utilization rate of the processor is greater than or equal to a third threshold, and / or that the utilization rate of the memory is greater than or equal to a fourth threshold.

4. The method according to claim 1, wherein The method of determining the migration-out node and the migration-in node of the target application from the terminal and the cloud host based on the computing power parameter of the terminal further includes: Based on the computing power parameters of the terminal and the network delay of the terminal connecting to the cloud host, the migration-out node and the migration-in node of the target application are determined from the terminal and the cloud host.

5. The method according to claim 4, characterized in that The determining, based on the computing power parameter of the terminal and the network delay between the terminal and the cloud host, a migration-out node and a migration-in node of the target application from the terminal and the cloud host, includes: When the computing power parameter satisfies a preset computing power sufficiency condition and the network latency is greater than or equal to a fifth threshold, determining the cloud host as a migration-out node for the target application and determining the terminal as a migration-in node for the target application; When the computing power parameter meets a preset overload condition and the network delay is less than a sixth threshold, the terminal is determined as a migration-out node of the target application and the cloud host is determined as a migration-in node of the target application.

6. An application migration method, characterized in that: Applied to a terminal or a cloud server, the terminal running a cloud desktop client, and the cloud server running at least one cloud host, the method includes: Obtaining computing power parameters of the terminal; When the computing power parameter satisfies a preset overload condition, migrating the target application from the terminal to a target cloud host, so that the target application runs on the target cloud host, and the target cloud host receives and processes operation instructions for the target application through the cloud desktop client; wherein the target cloud host is the cloud host corresponding to the cloud desktop client; When the computing power parameter satisfies a preset computing power sufficiency condition, migrating the target application from the target cloud host to the terminal, so that the target application runs on the terminal and the terminal processes an operation instruction for the target application; Before migrating the target application from the target cloud host to the terminal, the method includes: setting a unique identifier for each application in an application set, the application set including applications in the terminal and applications in the cloud host, the same application in the terminal and the cloud host having the same unique identifier, and the unique identifier being used to determine a storage path for configuring account data of the application in the terminal and the cloud host; Migrating the target application from the target cloud host to the terminal includes: migrating the account data of the target application from the target cloud host to the terminal; wherein, the target application is an application whose account data is updated, and the account data is data for storing user configuration information; determining the storage path of the target application in the terminal according to the unique identifier of the target application; when the operating systems of the target cloud host and the terminal are the same, replacing the account data under the storage path in the terminal with the account data of the target application in the target cloud host; when the operating systems of the target cloud host and the terminal are different, obtaining the account data of the target application from the target cloud host, converting the data format of the account data into the data format corresponding to the operating system of the terminal; and replacing the account data under the storage path of the terminal with the account data in the converted format.

7. An application migration device, characterized in that: include: a determination unit, configured to determine, based on the computing power parameters of the terminal, an outgoing node and an incoming node of the target application from the terminal and the cloud host; A migration unit, configured to migrate the target application from the migration-out node to the migration-in node; The determining unit includes: a first determining module for determining the cloud host as a migration-out node for a target application and the terminal as a migration-in node for the target application if the computing power parameter satisfies a preset computing power sufficient condition; a second determining module for determining the terminal as a migration-out node for a target application and the cloud host as a migration-in node for the target application if the computing power parameter satisfies a preset overload condition; a configuration identification unit, configured to set a unique identifier for each application in an application set, the application set including applications in the terminal and applications in the cloud host, the same application in the terminal and the cloud host having the same unique identifier, the unique identifier being used to determine a storage path for the application's account data configuration in the terminal and the cloud host; The migration unit includes: a migration module for migrating the account data of a target application from the migration-out node to the migration-in node; wherein the target application is an application whose account data is updated, and the account data is data used to store user configuration information; and determining a storage path of the target application on the migration-in node based on a unique identifier of the target application; a first replacing subunit, configured to replace the account data under the storage path in the migrating node with the account data of the target application in the migrating node, when the operating systems of the migrating-out node and the migrating-in node are the same; The migration module also includes: a format conversion subunit, configured to obtain the account data of the target application from the migrating node and convert the data format of the account data into a data format corresponding to the operating system of the migrating node when the operating systems of the migrating node and the migrating node are different; The second replacement subunit is configured to replace the account data in the storage path of the migrated node with the account data in a converted format.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: The processor runs the computer program to implement the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: The program is executed by a processor to implement the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Cloud desktop migration method and apparatus, and distributed cloud desktop system

    CN105100150A

  • Application migration method, device and system, storage medium, and cloud tool on application

    CN110134489A