Cloud server migration and resource management method and device, and storage medium

By identifying and utilizing the excess resources available on the host machine, cloud servers are migrated to target host machines that meet the resource requirements, thus solving the problem of cloud server migration failure and achieving a fast and reliable migration process.

CN114356584BActive Publication Date: 2026-07-07ALIBABA (CHINA) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ALIBABA (CHINA) CO LTD
Filing Date
2022-01-14
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

When the host machine of the cloud server fails, existing technologies struggle to achieve reliable migration, especially when the target host machine lacks sufficient resources, leading to migration failure.

Method used

By acquiring the computing resource status of each host machine, the system determines unallocated and allocated resources, identifies resources that can be over-allocated, and migrates cloud servers to target host machines that meet resource requirements.

Benefits of technology

It improves the utilization efficiency of the allocated resources of the target host machine, avoids additional impact on the resources of the target host machine, and realizes fast and reliable migration of cloud servers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114356584B_ABST
    Figure CN114356584B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a cloud server migration and resource management method and device, and a storage medium. The cloud server migration method comprises: obtaining the computing resource state of each host computer, the computing resource state indicating unallocated resources and allocated resources; determining the over-allocatable resources of each host computer when the unallocated resources do not meet the resource requirement of the cloud server in the failed host computer; determining the target host computer whose over-allocatable resources meet the resource requirement; and migrating the cloud server from the failed host computer to the target host computer. The scheme of the embodiments of the present application improves the utilization efficiency of the allocated resources of the target host computer, and avoids affecting the resource use of the target host computer itself. The over-allocatable resources belong to the allocated resources, and do not need to be additionally deployed, which is conducive to the rapid and reliable migration of the cloud server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of cloud computing technology, and in particular to a cloud server migration and resource management method, apparatus and storage medium. Background Technology

[0002] Cloud computing services represent a completely new infrastructure, usage, and delivery model. In cloud computing, virtual machines are created within physical machines using server virtualization technology and then used as application servers for users or businesses. This enables finer-grained resource utilization and improves overall data processing efficiency. Compared to traditional physical machines, cloud servers, which function as virtual machines, are deployed within host machines, making the deployment process more convenient and efficient.

[0003] When the host machine hosting a cloud server experiences a failure, it needs to be migrated to another normally functioning host machine. If the resources of the normally functioning host machine are insufficient, the cloud server migration will fail. Therefore, a reliable cloud service migration solution is required. Summary of the Invention

[0004] In view of this, embodiments of the present invention provide a cloud server migration and resource management method, apparatus, and storage medium to at least partially solve the above-mentioned problems.

[0005] According to a first aspect of the present invention, a cloud server migration method is provided, the cloud server migration method comprising: acquiring the computing resource status of each host machine, the computing resource status indicating unallocated resources and allocated resources; when the unallocated resources do not meet the computing resource requirements of the cloud server in the faulty host machine, determining the excess allocated resources of each host machine, the excess allocated resources including at least a portion of the allocated resources; determining a target host machine whose excess allocated resources meet the resource requirements; and migrating the cloud server from the faulty host machine to the target host machine.

[0006] According to a second aspect of the present invention, a resource management method is provided. The resource management method includes: obtaining the current computing resource status of a host machine, the computing resource status indicating unallocated resources and allocated resources; reporting the current computing resource status of the host machine; obtaining a cloud server to be migrated to the host machine; and running the cloud server based on the excess allocable resources among the allocated resources.

[0007] According to a third aspect of the present invention, a cloud server migration apparatus is provided, comprising: an acquisition module for acquiring the computing resource status of each host machine, the computing resource status indicating unallocated resources and allocated resources; a first determination module for determining the available excess resources of each host machine when the unallocated resources do not meet the resource requirements of the cloud server in the faulty host machine, the excess resources including at least a portion of the allocated resources; a second determination module for determining a target host machine whose available excess resources meet the resource requirements; and a migration module for migrating the cloud server from the faulty host machine to the target host machine.

[0008] According to a fourth aspect of the present invention, a resource management device is provided, comprising: a first acquisition module for acquiring the current computing resource status of a host machine, the computing resource status indicating unallocated resources and allocated resources; a reporting module for reporting the current computing resource status of the host machine; a second acquisition module for acquiring cloud servers to be migrated to the host machine; and a running module for running the cloud servers based on the over-allocated resources among the allocated resources.

[0009] According to a fifth aspect of the present invention, an electronic device is provided, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; the memory is used to store at least one executable instruction, wherein the executable instruction causes the processor to perform an operation corresponding to the method described in the first or second aspect.

[0010] According to a sixth aspect of the present invention, a computer storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method as described in the first or second aspect.

[0011] In the solution of this invention embodiment, since the over-allocated resources can be used on cloud servers other than the cloud servers with allocated resources on the target host, the utilization efficiency of the allocated resources on the target host is improved, and the impact on the resource usage of the target host itself is avoided. In addition, the over-allocated resources are already allocated resources and do not require additional deployment, which is conducive to the rapid and reliable migration of cloud servers. Attached Figure Description

[0012] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings.

[0013] Figure 1A system architecture diagram applicable to an example cloud service migration.

[0014] Figure 2 This is a flowchart of the steps of a cloud server migration method according to an embodiment of the present invention.

[0015] Figure 3 This is a flowchart of the steps of a resource management method according to another embodiment of the present invention.

[0016] Figure 4A This is a schematic diagram of the resource status of a host machine according to another embodiment of the present invention.

[0017] Figure 4B This is a schematic diagram of the resource status of a host machine according to another embodiment of the present invention.

[0018] Figure 4C This is a schematic diagram of a cloud service system according to another embodiment of the present invention.

[0019] Figure 5 This is a structural block diagram of a cloud server migration apparatus according to another embodiment of the present invention.

[0020] Figure 6 This is a structural block diagram of a resource management device according to another embodiment of the present invention.

[0021] Figure 7 This is a schematic diagram of the structure of an electronic device according to another embodiment of the present invention. Detailed Implementation

[0022] To enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art should fall within the protection scope of the present invention.

[0023] The specific implementation of the embodiments of the present invention will be further described below with reference to the accompanying drawings.

[0024] Figure 1 This is a network architecture diagram applicable to an example cloud service migration. Figure 1The system architecture exemplifies a cloud service deployment center 110 and host machines 120 as physical machines. Each host machine 1-N is an example of a host machine 120. Generally, there are multiple host machines, and each host machine can deploy one or more virtual machines. Such virtual machines can be implemented using virtualization technologies such as the Java Virtual Machine. In the cloud service architecture, virtual machines are implemented as cloud servers. The various cloud servers on different host machines can perform distributed computing through communication interfaces between host machines or between different cloud servers. It should be understood that each cloud server does not necessarily communicate with any other cloud server.

[0025] It should be understood that although in this example, the cloud service deployment center 110 is presented as a device outside the host machine 120, the functions of the cloud service deployment center 110 can be deployed on the host machine 120 or other hosts like a cloud server, or it can be installed as a software program on a physical machine, or it can be installed as a software program on at least one host machine 120.

[0026] It should also be understood that the cloud service deployment center 110 is used to create, manage, monitor, or destroy cloud servers in each host machine 120.

[0027] As an example, host machine 1 runs cloud servers 1 and X as virtual machines, and host machine 3 runs cloud server 3. When host machine 1 fails, cloud servers 1 and X need to be migrated to other host machines. For example, if the resources in host machine 3 are sufficient to run cloud server X, then cloud server X will be migrated from host machine 1 to host machine 3.

[0028] It should be understood that if the resources in host machine 3 are sufficient to run server 1, cloud server 1 can be further migrated to host machine 3. Generally, all cloud servers on a failed host machine need to be migrated to other host machines. When storing multiple cloud servers, these cloud servers can be migrated to the same host machine or to different host machines. If a host machine failure leads to resource constraints but some cloud servers can still run, only some cloud servers can be migrated.

[0029] Migrating cloud servers through the cloud service deployment center 110 greatly improves the fault tolerance of cloud services. However, timely migration of cloud services from faulty host machines is a critical issue that urgently needs to be addressed.

[0030] Figure 2 This is a flowchart illustrating the steps of a cloud server migration method according to an embodiment of the present invention. The cloud service migration method of this embodiment can... Figure 1 The cloud service deployment center 110 in this embodiment is implemented. Each host machine in this embodiment can be... Figure 1 The host machine in the middle is 120.

[0031] The cloud server migration method in this embodiment includes:

[0032] S210: Obtain the computing resource status of each host machine, which indicates unallocated and allocated resources.

[0033] It should be understood that the computing resource status of a host machine can be its local computing resource status. Each host machine can be configured with a reporting module for reporting computing resource status. This reporting module can be implemented as an agent program for cloud server migration. The computing resource status can include indicators indicating unallocated and allocated resources, such as the percentage of used resources and the percentage of available resources.

[0034] S220: When unallocated resources do not meet the resource requirements of cloud servers in a faulty host, determine the excess resources that can be allocated to each host. The excess resources shall include at least a portion of the already allocated resources.

[0035] It should be understood that the resource requirements of a cloud server can include both shared and non-shared resources. As an example, if the non-shared resources in the unallocated resources do not meet the resource requirements, it can be directly determined that excess resources can be allocated. If the non-shared resources in the unallocated resources meet the resource requirements, then it can be further determined whether the shared resources in the unallocated resources meet the resource requirements.

[0036] It should also be understood that, in one example, the over-allocated resources of each host include the allocated resources of each host. In another example, the over-allocated resources of each host include the allocated resources and a portion of the unallocated resources of each host.

[0037] S230: Identify the target host machine that can be allocated more resources to meet resource requirements.

[0038] It should be understood that the target host can be a single host or multiple host machines. When there are multiple cloud servers in the faulty host machine, the target host machine can be identified for each cloud server at most.

[0039] S240: Migrate the cloud server from the faulty host to the target host.

[0040] It should be understood that each host machine can be configured with a migration module for cloud server migration, which can be implemented as an agent program. The migration module and the reporting module can be configured in the same agent program or in different agent programs. The agent program can communicate with the cloud service deployment center. Accordingly, the cloud service deployment center obtains the computing resource status of each host machine, determines whether each host machine is running normally or has failed, identifies the target host machine, and executes the cloud server migration. The cloud service deployment center can send migration instructions through the agent program on the failed host machine or the target host machine.

[0041] In the solution of this invention embodiment, since the over-allocated resources can be used on cloud servers other than the cloud servers with allocated resources on the target host, the utilization efficiency of the allocated resources on the target host is improved, and the impact on the resource usage of the target host itself is avoided. In addition, the over-allocated resources are already allocated resources and do not require additional deployment, which is conducive to the rapid and reliable migration of cloud servers.

[0042] In other examples, determining the over-allocatable resources among the allocated resources of each host machine includes: determining the shared resources corresponding to the allocated resources of each host machine; and determining the over-allocatable resources among the shared resources of each host machine. Although shared resources have already been allocated to cloud servers already running on the host machine, the efficiency of determining over-allocatable resources is improved because shared resources facilitate resource over-allocation, further facilitating the migration of cloud servers on faulty host machines. Specifically, shared resources can also be considered compressible resources that can be shared among different cloud servers. More specifically, shared resources can be shared by multiple cloud servers on the target host machine before cloud server migration, or can be shared by these cloud servers and the migrated cloud servers. Shared resources include, but are not limited to, resources related to the host machine's processor (e.g., CPU) and communication bandwidth, including the communication bandwidth of the bus within the host machine, and also the communication bandwidth used for data transmission between different host machines.

[0043] In other examples, determining the available over-allocation resources for shared resources on each host machine includes: determining the load status of the shared resources on each host machine; and determining the available over-allocation resources based on the load status of the shared resources. Since the load status reflects the occupancy status of shared resources, this improves the efficiency of determining available over-allocation resources. Specifically, the load status includes, but is not limited to, processor usage, disk I / O usage, and network bandwidth usage.

[0044] In other examples, identifying the target host machine with sufficient over-allocated resources to meet resource requirements includes: identifying the non-shared resources among the unallocated resources of each host machine; and identifying the host machine whose resource requirements are met by both the non-shared resources and the over-allocated resources, as the target host machine. Specifically, whether the over-allocated resources (as allocated resources) can meet the resource requirements of the cloud server is crucial. However, if the non-shared resources (as unallocated resources) cannot meet the resource requirements of the cloud service, the operational reliability of the cloud server on the target host machine will be poor, and performance competition with other cloud servers on the target host machine will occur. A host machine whose resource requirements are met by both the non-shared resources and the over-allocated resources can provide sufficient computing resources for the cloud server to be migrated, ensuring the operational reliability of the cloud server after migration.

[0045] It should be understood that non-shared resources can also be called incompressible resources. Non-shared resources include, but are not limited to, storage resources such as memory resources and hard disk resources. More specifically, non-shared resources include memory usage, disk inode usage, and the number of threads.

[0046] In other examples, the resource requirements of the cloud server include both shared and non-shared resource requirements. The non-shared resources of the target host are no less than the non-shared resource requirements of the cloud server. The shared resources of the target host are no less than the shared resource requirements of the cloud server. Because both the non-shared and shared resource requirements of the cloud server can be met on the target host, the operational reliability of the cloud server on the target host is improved.

[0047] In other examples, the cloud server migration method also includes determining, upon discovering a faulty host, whether the unallocated resources of each host meet the resource requirements of the cloud servers on the faulty host. This avoids prematurely determining the resource requirements of the cloud servers before a faulty host is discovered, and conserves computing resources related to calculating resource requirements when no faulty host is found.

[0048] Alternatively, it can be determined in real time whether the unallocated resources of each host meet the resource requirements of the cloud server, or the unallocated resources of each host can be calculated periodically based on the first time period. As an example, the computing resource status of each host can be obtained periodically based on the second time period, where the second time period is shorter than the first time period. Thus, when a faulty host is discovered, it is possible to promptly determine whether to perform cloud server migration. At the same time, it avoids performing the above-mentioned judgment process based on the first time period, saving computing resources related to resource requirement calculation.

[0049] In other examples, the cloud server migration method also includes migrating the cloud server from the faulty host to the target host if the unallocated resources of the target host meet the resource requirements of the cloud server. If the unallocated resources of the target host meet the resource requirements of the cloud server, then the resource requirements of the cloud server can be met without over-allocating allocated resources, thus facilitating timely cloud server migration and improving the flexibility of cloud server migration.

[0050] The examples above describe in detail various scenarios of cloud service migration methods, and correspondingly, each host machine can execute... Figure 3 The steps and flow of the resource management method described above. Specifically, Figure 3 Resource management methods include:

[0051] S310: Obtain the current computing resource status of the host machine. The computing resource status indicates unallocated resources and allocated resources.

[0052] It should be understood that the computing resource status of the host machine can be monitored in real time, for example, the current computing resource status can be obtained based on a second time period.

[0053] S320: Reports the current computing resource status of the host machine.

[0054] It should be understood that the current computing resource status can be reported in real time, for example, based on the second time period.

[0055] S330: Obtain the cloud server to be migrated to the host machine.

[0056] It should be understood that a cloud server can be obtained according to the cloud server migration instructions.

[0057] S340: Runs cloud servers based on the excess resources available from the allocated resources.

[0058] It should be understood that cloud servers can be configured based on the availability of over-allocated resources, and then the cloud servers can be started.

[0059] In the solution of this invention embodiment, since the over-allocated resources can be used on cloud servers other than the cloud servers with allocated resources on the target host, the utilization efficiency of the allocated resources on the target host is improved, and the impact on the resource usage of the target host itself is avoided. In addition, the over-allocated resources are already allocated resources and do not require additional deployment, which is conducive to the rapid and reliable migration of cloud servers.

[0060] In other examples, resource management methods also include updating the current computing resource status based on the availability of over-allocated resources.

[0061] Figure 4AThis is a schematic diagram of the resource status of a host machine according to another embodiment of the present invention. In this embodiment, the host machine 420 includes non-shared resources and shared resources. For shared resources, the shaded area represents the proportion of occupied resources relative to the allocated resources; for non-shared resources, the shaded area represents the proportion of allocated resources occupied.

[0062] Non-shared resources are not fully allocated and can be further allocated to other cloud servers. Although shared resources can be allocated to other cloud servers, in this embodiment, at least some of the allocated resources of the shared resources are fully occupied, and the shared resources are still unavailable to other cloud servers.

[0063] Therefore, it is not suitable to migrate the cloud server to the host machine of this embodiment.

[0064] Figure 4B This is a schematic diagram of the resource status of a host machine according to another embodiment of the present invention. In this embodiment, the host machine 420 includes non-shared resources and shared resources. For shared resources, the shaded area represents the proportion of occupied resources relative to the allocated resources; for non-shared resources, the shaded area represents the proportion of allocated resources occupied.

[0065] Non-shared resources, not fully allocated, can be further distributed to other cloud servers. Furthermore, shared resources in this embodiment can be allocated to other cloud servers through over-allocation. Therefore, cloud servers can be migrated to the host machine of this embodiment.

[0066] Figure 4C This is a schematic diagram of a cloud service system according to another embodiment of the present invention. In this embodiment, the cloud service system includes a downtime detection / migration unit 111, a resource level control unit 112, and a host machine 420. The downtime detection / migration unit 111 and the resource level control unit 112 can be configured in the cloud service deployment center 110.

[0067] Specifically, host machine 420 includes a crash detection / migration module, a resource load monitoring module, and multiple cloud servers. The crash detection / migration module can be implemented as the aforementioned agent program, and the resource load monitoring module can also be implemented as the aforementioned agent program. The multiple cloud servers are implemented as virtual machines VM1-3.

[0068] In addition, downtime detection is used to determine whether the host machine is functioning normally or has malfunctioned. The resource level control unit is used to control the over-allocation of resources within shared resources.

[0069] It should be understood that the non-shared resource level indicates the amount of shared resources within the allocated resources, while the shared resource level indicates the amount of shared resources within the allocated resources, including those that can be over-allocated. These resource quantities are indicators used to determine resource demand.

[0070] It should also be understood that the resource levels of different non-shared resources can be allocated and determined, and the levels of different shared resources can also be determined separately. For example, the CPU utilization rate is 80%, and the average network bandwidth usage is 1000 Mbps. When the resource levels of different non-shared resources and different shared resources meet the resource requirements of the cloud server, a more reliable migration of the cloud server can be performed.

[0071] The downtime detection / migration unit 111 is used to obtain the computing resource status reported by each host machine 420 through the resource load monitoring module, and then determine whether the resources of each host machine 420 match the resource requirements of the cloud server in the faulty host machine to obtain the target host machine.

[0072] Furthermore, the downtime detection / migration unit 111 performs migration control through the downtime detection / migration module in the target host or the faulty host, migrating the cloud server from the faulty host to the target host.

[0073] In other examples, when determining the target host, it can be determined based on the resource requirements of multiple cloud servers themselves. Furthermore, it can be determined based on the service priorities of multiple cloud servers, with higher service priorities being migrated earlier.

[0074] In other examples, the target host can be a group of hosts corresponding to multiple cloud servers. As many hosts as possible can be determined. Preferably, a different host is determined for each cloud server so as to add as few cloud servers as possible to the already running host.

[0075] In other examples, when, under the current cloud server deployment conditions, there is no host machine that can meet the resource requirements of at least one of the multiple cloud servers, the cloud servers in the normally functioning host machine are redeployed so that a host machine that meets the resource requirements exists. For example, in a group of host machines serving as the target host, the excess resources allocated to any one host are insufficient to meet the resource requirements of the first cloud server on the faulty host machine. The group of host machines includes a first host machine and a second host machine. The excess resources of the first host machine meet the resource requirements of the second cloud server on the second host machine. The sum of the resource requirements of the second server on the second host machine and the excess resources meets the resource requirements of the first cloud server. Therefore, the second server can be migrated from the second host machine to the first host machine, and then the first cloud server can be migrated from the faulty host machine to the second host machine.

[0076] The cloud server migration in the above example involves a faulty host, a first host, and a second host. It should be understood that more hosts can also be involved to achieve cloud server migration as much as possible without increasing the number of hosts.

[0077] In other examples, after the cloud server is migrated from the faulty host to the target host, a new host can be deployed, and after the new host is deployed, the cloud server can be further migrated from the target host to the new host.

[0078] Alternatively, after the cloud server is migrated from the faulty host to the target host, maintenance can be performed on the faulty host. After the faulty host is resolved, the cloud server can be migrated from the target host back to the resolved host.

[0079] Figure 5 This is a structural block diagram of a cloud server migration apparatus according to another embodiment of the present invention. Figure 5 The cloud server migration device includes:

[0080] The acquisition module 510 acquires the computing resource status of each host machine, wherein the computing resource status indicates unallocated resources and allocated resources.

[0081] The first determining module 520 determines the excess resources available for each host machine when the unallocated resources do not meet the resource requirements of the cloud server in the faulty host machine. The excess resources include at least a portion of the already allocated resources.

[0082] The second determining module 530 determines the target host machine that can be allocated more resources to meet the resource requirements.

[0083] Migration module 540 migrates the cloud server from the faulty host machine to the target host machine.

[0084] In the solution of this invention embodiment, since the over-allocated resources can be used on cloud servers other than the cloud servers with allocated resources on the target host, the utilization efficiency of the allocated resources on the target host is improved, and the impact on the resource usage of the target host itself is avoided. In addition, the over-allocated resources are already allocated resources and do not require additional deployment, which is conducive to the rapid and reliable migration of cloud servers.

[0085] In other examples, the first determining module is specifically used to: determine the shared resources corresponding to the allocated resources of each host machine; and determine the over-allocated resources of the shared resources of each host machine.

[0086] In other examples, the first determining module is specifically used to: determine the load status of the shared resources of each host machine; and determine the resources that can be over-allocated based on the load status of the shared resources.

[0087] In other examples, the second determining module is specifically used to: determine the non-shared resources among the unallocated resources in each of the host machines; and determine the host machine whose resource requirements are met by both the non-shared resources and the over-allocated resources, as the target host machine.

[0088] In other examples, the resource requirements of the cloud server include shared resource requirements and non-shared resource requirements. The non-shared resources of the target host are not less than the non-shared resource requirements of the cloud server. The shared resources of the target host are not less than the shared resource requirements of the cloud server.

[0089] In other examples, the cloud service migration apparatus further includes a judgment module that, upon discovering the faulty host machine, determines whether the unallocated resources of each host machine meet the resource requirements of the cloud server.

[0090] In other examples, the migration module is also used to migrate the cloud server in the faulty host to the target host if the unallocated resources of the target host meet the resource requirements of the cloud server.

[0091] The apparatus of this embodiment is used to implement the corresponding methods in the foregoing method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be repeated here. Furthermore, the functional implementation of each module in the apparatus of this embodiment can be referred to the description of the corresponding part in the foregoing method embodiments, which will also not be repeated here.

[0092] Figure 6 This is a structural block diagram of a resource management device according to another embodiment of the present invention. Figure 6 Resource management devices include:

[0093] The first acquisition module 610 acquires the current computing resource status of the host machine, wherein the computing resource status indicates unallocated resources and allocated resources.

[0094] The reporting module 620 reports the current computing resource status of the host machine.

[0095] The second acquisition module 630 acquires the cloud server to be migrated to the host machine.

[0096] The running module 640 runs the cloud server based on the excess resources among the allocated resources.

[0097] In the solution of this invention embodiment, since the over-allocated resources can be used on cloud servers other than the cloud servers with allocated resources on the target host, the utilization efficiency of the allocated resources on the target host is improved, and the impact on the resource usage of the target host itself is avoided. In addition, the over-allocated resources are already allocated resources and do not require additional deployment, which is conducive to the rapid and reliable migration of cloud servers.

[0098] In other examples, the resource management method further includes an update module that updates the current computing resource status based on the over-allocatable resources.

[0099] The apparatus of this embodiment is used to implement the corresponding methods in the foregoing method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be repeated here. Furthermore, the functional implementation of each module in the apparatus of this embodiment can be referred to the description of the corresponding part in the foregoing method embodiments, which will also not be repeated here.

[0100] Reference Figure 7 The diagram shows a schematic of an electronic device according to another embodiment of the present invention. The specific embodiments of the present invention do not limit the specific implementation of the electronic device.

[0101] like Figure 7 As shown, the electronic device may include: a processor 702, a communications interface 704, a memory 706, and a communications bus 708.

[0102] The processor 702, communication interface 704, and memory 706 communicate with each other via communication bus 708.

[0103] Communication interface 704 is used to communicate with other electronic devices or servers.

[0104] The processor 702 is used to execute program 710, specifically the relevant steps in the above method embodiments.

[0105] Specifically, program 710 may include program code that includes computer operation instructions.

[0106] Processor 702 may be a CPU, an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention. The smart device may include one or more processors of the same type, such as one or more CPUs; or it may include processors of different types, such as one or more CPUs and one or more ASICs.

[0107] Memory 706 is used to store program 710. Memory 706 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.

[0108] Specifically, program 710 can be used to cause processor 702 to perform the following operations: obtain the computing resource status of each host machine, the computing resource status indicating unallocated resources and allocated resources; when the unallocated resources do not meet the computing resource requirements of the cloud server in the faulty host machine, determine the excess allocated resources of each host machine, the excess allocated resources including at least some allocated resources; determine the target host machine whose excess allocated resources meet the resource requirements; and migrate the cloud server from the faulty host machine to the target host machine.

[0109] Alternatively, program 710 may specifically be used to cause processor 702 to perform the following operations: obtain the current computing resource status of the host machine, the computing resource status indicating unallocated resources and allocated resources; report the current computing resource status of the host machine; obtain cloud servers to be migrated to the host machine; and run the cloud servers based on the overallocated resources in the allocated resources.

[0110] Furthermore, the specific implementation of each step in procedure 710 can be found in the corresponding descriptions of the steps and units in the above method embodiments, and will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.

[0111] It should be noted that, depending on the implementation needs, the various components / steps described in the embodiments of the present invention can be broken down into more components / steps, or two or more components / steps or parts of the operation of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present invention.

[0112] The methods described above according to embodiments of the present invention can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD-ROM, RAM, floppy disk, hard disk, or magneto-optical disk), or as computer code originally stored on a remote recording medium or a non-transitory machine-readable medium and subsequently stored on a local recording medium, downloaded via a network. Thus, the methods described herein can be processed by software stored on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware (such as an ASIC or FPGA). It is understood that the computer, processor, microprocessor controller, or programmable hardware includes storage components (e.g., RAM, ROM, flash memory, etc.) capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods described herein. Furthermore, when a general-purpose computer accesses code used to implement the methods shown herein, the execution of the code transforms the general-purpose computer into a dedicated computer for executing the methods shown herein.

[0113] Those skilled in the art will recognize that the units and method steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of the embodiments of the present invention.

[0114] The above embodiments are only used to illustrate the embodiments of the present invention, and are not intended to limit the embodiments of the present invention. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the embodiments of the present invention. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of the present invention, and the patent protection scope of the embodiments of the present invention should be defined by the claims.

Claims

1. A cloud server migration method, comprising: Obtain the computing resource status of each host machine, wherein the computing resource status indicates unallocated resources and allocated resources; When the unallocated resources do not meet the computing resource requirements of the cloud servers in the faulty host, the shared resources corresponding to the allocated resources of each host are determined. Determine the excess allocable resources of the shared resources of each host machine; Identify the target host machine that can be allocated excess resources to meet the resource requirements; The cloud server is migrated from the faulty host machine to the target host machine.

2. The method of claim 1, wherein, The determination of the over-allocationable shared resources of each host machine includes: Determine the load status of the shared resources of each host machine; The resources that can be over-allocated are determined based on the load status of the shared resources.

3. The method of claim 1, wherein, The process of determining the target host machine that can be allocated excess resources to meet the resource requirements includes: Identify the non-shared resources among the unallocated resources in each of the host machines; The host machine that meets the resource requirements in terms of both non-shared resources and resources that can be over-allocated is identified as the target host machine.

4. The method of claim 3, wherein, The resource requirements of the cloud server include shared resource requirements and non-shared resource requirements. The non-shared resources of the target host machine are not less than the non-shared resource requirements of the cloud server. The shared resources of the target host machine are not less than the shared resource requirements of the cloud server.

5. The method of claim 1, wherein, The method further includes: Upon discovering the faulty host machine, determine whether the unallocated resources of each host machine meet the resource requirements of the cloud server.

6. The method of claim 5, wherein, The method further includes: If the unallocated resources of the target host meet the resource requirements of the cloud server, then the cloud server in the faulty host will be migrated to the target host.

7. A resource management method, comprising: Obtain the current computing resource status of the host machine, wherein the computing resource status indicates unallocated resources and allocated resources; Report the current computing resource status of the host machine; Obtain the cloud server to be migrated to the host machine; the excess resources in the host machine meet the computing resource requirements of the cloud server, and the excess resources are determined based on the shared resources corresponding to the allocated resources of the host machine; The cloud server is run based on the excess resources available from the allocated resources.

8. The method of claim 7, wherein, The method further includes: Based on the aforementioned resources that can be over-allocated, update the current computing resource status.

9. A cloud server migration device, comprising: The acquisition module acquires the computing resource status of each host machine, wherein the computing resource status indicates unallocated resources and allocated resources; The first determining module determines the shared resources corresponding to the allocated resources of each host machine when the unallocated resources do not meet the resource requirements of the cloud server in the faulty host machine; and determines the excess allocated resources of the shared resources of each host machine. The second determining module determines the target host machine that can be allocated more resources to meet the resource requirements; The migration module migrates the cloud server from the faulty host machine to the target host machine.

10. A resource management device, comprising: The first obtaining module obtains a current computing resource state of a host computer, the computing resource state indicating unallocated resources and allocated resources; The reporting module reports the current computing resource state of the host computer; The second obtaining module obtains a cloud server to be migrated to the host computer; the over-allocatable resources in the host computer meet the computing resource requirement of the cloud server, and the over-allocatable resources are determined based on shared resources corresponding to the allocated resources of the host computer; The running module runs the cloud server based on the over-allocatable resources in the allocated resources.

11. A computer storage medium having stored thereon a computer program, which, when executed by a processor, implements the method of any one of claims 1-8.