Virtual machine migration method, system, device, storage medium and program product

HK40135579APending Publication Date: 2026-07-31CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
HK42026123451
Authority / Receiving Office
HK · HK
Patent Type
Applications
Current Assignee / Owner
Filing Date
2026-05-14
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

During virtual machine migration, virtual machine data packets preempt the CPU cores of virtual machines already deployed on the physical machine, causing migration failure and reducing the migration success rate.

Method used

By pre-binding the target interrupt identifier to the target core of the receiving device, the data of the virtual machine to be migrated is ensured to be processed by the bound target core, avoiding drift between other cores and improving the migration success rate and processing speed.

Benefits of technology

This effectively avoids preemption of other virtual machine cores in the receiving device, improving the success rate of virtual machine migration and data processing speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The invention discloses a virtual machine migration method, system and device, a storage medium and a program product, and relates to the technical field of cloud computing, and the method comprises the steps: sending an interrupt request to at least one target core bound with a target interrupt identifier under the condition of receiving data of a to-be-migrated virtual machine; triggering the target core to process data of the to-be-migrated virtual machine; the target interruption identifier is an interruption identifier of a communication component for transmitting virtual machine data in the receiving equipment, and the at least one target core is a core containing residual resources in a plurality of cores included in the receiving equipment. The core preemption phenomenon is avoided, and the migration success rate of the virtual machine is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of cloud computing, and in particular to a virtual machine migration method, system, device, storage medium and program product. BACKGROUND

[0002] A device cluster can include multiple physical machines, and multiple virtual machines can be deployed in each physical machine. When a physical machine A in the device cluster needs to be maintained or upgraded, or for the purpose of optimizing resources and the like, the virtual machines in the physical machine A often need to be migrated to a physical machine B in the device cluster. However, in the migration process of the virtual machines, when the data packets of the virtual machines are transmitted from the physical machine A to the physical machine B, the processor (Central Processing Unit, CPU) cores of the deployed virtual machines in the physical machine B are often preempted, and when different data packets are transmitted, the CPU cores of different deployed virtual machines can be preempted, that is, preemption drifts among multiple CPU cores. This not only affects the running of multiple deployed virtual machines, but also easily leads to the failure of virtual machine migration, thereby reducing the success rate of virtual machine migration. SUMMARY

[0003] The present application provides a virtual machine migration method, system, device, storage medium and program product to solve the problem of reducing the success rate of virtual machine migration due to preemption drift among multiple CPU cores in the related art.

[0004] The first aspect of the present application provides a virtual machine migration method applied to a receiving device, which comprises the following steps.

[0005] In the case that data of a virtual machine to be migrated is received, an interrupt request is sent to at least one target core bound to a target interrupt identifier, the target interrupt identifier being an interrupt identifier of a communication component in the receiving device for transmitting virtual machine data, and the at least one target core being a core containing remaining resources among multiple cores included in the receiving device;

[0006] The at least one target core is triggered to process the data of the virtual machine to be migrated.

[0007] The second aspect of the present application provides a virtual machine migration device applied to a receiving device, which comprises the following modules.

[0008] The transceiving module is configured to, in the case that data of a virtual machine to be migrated is received, send an interrupt request to at least one target core bound to a target interrupt identifier, the target interrupt identifier being an interrupt identifier of a communication component in the receiving device for transmitting virtual machine data, and the at least one target core being a core containing remaining resources among multiple cores included in the receiving device;

[0009] The triggering module is configured to trigger the at least one target core to process the data of the virtual machine to be migrated.

[0010] A third aspect of this application provides a virtual system comprising: a host device for a virtual machine to be migrated and a device cluster, wherein any device in the device cluster includes multiple cores and any device in the device cluster has at least one virtual machine deployed on it.

[0011] The host device is used to send data of the virtual machines to be migrated to the receiving device. The receiving device is any device in the device cluster.

[0012] Upon receiving data of the virtual machine to be migrated, the receiving device sends an interrupt request to at least one target core bound to the target interrupt identifier; triggers at least one target core to process the data of the virtual machine to be migrated; the target interrupt identifier is the interrupt identifier of the communication component in the receiving device that transmits virtual machine data, and the at least one target core is a core containing remaining resources among the multiple cores included in the receiving device.

[0013] A fourth aspect of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, the processor executing the program to implement the method described in the first aspect above.

[0014] The fifth aspect of this application provides a computer-readable storage medium having a computer program stored thereon, the program being executed by a processor to implement the method described in the first aspect above.

[0015] A sixth aspect of this application provides a computer program product including a computer program that is executed by a processor to implement the method described in the first aspect above.

[0016] This application has at least the following beneficial effects or advantages:

[0017] In this embodiment, by pre-binding the target core with the target interrupt identifier of the communication component transmitting virtual machine data in the receiving device, when the receiving device receives data of the virtual machine to be migrated, it sends an interrupt request to the target core bound to the target interrupt identifier, triggering the target core to process the data of the virtual machine to be migrated. This ensures that each data transmission of the virtual machine to be migrated is processed by the bound target core when it reaches the receiving device, and does not drift between other cores. In other words, it avoids preemption of cores of other virtual machines in the receiving device, thereby improving the migration success rate of the virtual machine to be migrated. Furthermore, since the target core pauses its current task to specifically process the data of the virtual machine to be migrated after receiving the interrupt request, the processing speed of the data of the virtual machine to be migrated is improved, thus improving the migration speed of the virtual machine to be migrated.

[0018] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application, it can be implemented according to the contents of the specification. In order to make the above and other objects, features and advantages of this application more obvious and understandable, specific embodiments of this application are given below. Attached Figure Description

[0019] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0020] Figure 1 This is a schematic diagram illustrating an application scenario of a virtual machine migration method provided in an embodiment of this application;

[0021] Figure 2 This is a first flowchart of a virtual machine migration method provided in an embodiment of this application;

[0022] Figure 3 This is a second flowchart of a virtual machine migration method provided in an embodiment of this application;

[0023] Figure 4 This is a third flowchart of a virtual machine migration method provided in an embodiment of this application;

[0024] Figure 5 This is a fourth flowchart of a virtual machine migration method provided in an embodiment of this application;

[0025] Figure 6 A fifth flowchart of a virtual machine migration method provided in an embodiment of this application;

[0026] Figure 7 A sixth flowchart of a virtual machine migration method provided in an embodiment of this application;

[0027] Figure 8 This is a schematic diagram of the structure of a virtual machine migration device provided in an embodiment of this application;

[0028] Figure 9 This is a schematic diagram of a first composition of a virtual machine migration system provided in an embodiment of this application;

[0029] Figure 10 This is a schematic diagram illustrating a second composition of a virtual machine migration system provided in an embodiment of this application;

[0030] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0031] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0032] First, some of the nouns or terms that appear in the description of the embodiments in this application shall be interpreted as follows:

[0033] Virtual machine hot migration: The process of migrating a virtual machine from physical machine A to physical node B without service interruption. Virtual machine hot migration involves virtual machine configuration synchronization, memory copying, and device status synchronization.

[0034] CPU core: The basic unit of a processor, responsible for executing instructions in a program.

[0035] NUMA (Non-Uniform Memory Access): A memory organization method for multiprocessor systems. In this architecture, processors are assigned to different NUMA nodes, meaning each NUMA node has its own set of processors and tightly coupled local memory. Processors can access their local memory and the memory of other nodes, but accessing local memory is faster than accessing the memory of other NUMA nodes.

[0036] NPS (Node Per Socket): This is a term used in multi-NUMA node server configurations, especially in the context of hardware platforms. It refers to the number of NUMA nodes that can be configured per CPU socket. For example, NPS2 means that the number of NUMA nodes that can be configured per CPU socket is 2.

[0037] QEMU: An open-source virtualization solution that can emulate different hardware systems and supports various types of virtual machines.

[0038] Virtio: A paravirtualization technology that defines a standard that enables device drivers in virtual machines to communicate efficiently with virtual devices on the host machine. VirtIO devices can be network interfaces (virtio-net), block devices (virtio-blk), consoles (virtio-console), etc. These devices are simulated on the host machine by virtual machine monitors such as QEMU and driven by corresponding VirtIO drivers within the virtual machine.

[0039] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.

[0040] It should be understood that although the terms first, second, third, etc., may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination," etc.

[0041] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.

[0042] During virtual machine migration, such as migrating a virtual machine from server A to server B, the transfer of data from server A to server B often results in preemption of CPU cores already deployed on server B. Furthermore, when transferring different data, preemption may occur across different deployed virtual machines' CPU cores, meaning preemption can shift between multiple CPU cores. This preemption phenomenon is particularly prevalent in scenarios with multiple NUMA nodes. For example, in a 256-core dual-socket server with NPS4, each NUMA node is allocated 32 CPU cores. In this situation, a single NUMA node can easily reach full or near-full CPU utilization. If a virtual machine migrates into a near-full NUMA node, the new virtual machine will compete for CPU cores already deployed on that NUMA node, often preempting different deployed virtual machines' CPU cores when transferring different data packets. This not only affects the operation of multiple deployed virtual machines but also reduces the data migration rate, increasing the risk of data rollback and thus lowering the migration success rate.

[0043] Based on this, embodiments of this application provide a virtual machine migration method.Figure 1 This is a schematic diagram illustrating an application scenario of a virtual machine migration method provided in an embodiment of this application. For example... Figure 1 As shown, this scenario can include the virtual machine's host device, device cluster, and control platform.

[0044] The host device can be either a terminal device or a server. Terminal devices can be mobile phones, tablets, desktop computers, laptops, vehicle terminals, etc., while servers can be physical servers, cloud servers, etc. The host device can be a device within a device cluster, or it may not be a device within a device cluster. Figure 1 (The example shown is an instance where the host device is not a device in the device cluster.) The host device can maintain a data transmission policy, which instructs the sending of the virtual machine's data to be migrated to the receiving device of the virtual machine to be migrated when a data transmission command is received. The receiving device can be any device in the device cluster.

[0045] Any device in the device cluster can be a physical device, which can be a terminal device or a server. Terminal devices can be mobile phones, tablets, desktop computers, laptops, vehicle terminals, etc. Servers can be physical servers, cloud servers, etc. Each device includes multiple CPU cores, which can be divided into M core groups. The number of cores in different core groups can be the same or different, where M is an integer greater than 1. Each device can be divided into M logical nodes, each logical node including one core group. Each device can also deploy N virtual machines, where N is an integer greater than 1. Each virtual machine can be configured to run on a target logical node among the M logical nodes; for example, virtual machine 1 runs on logical node 1, virtual machines 2 and 3 run on logical node 2, etc. Logical nodes can be NUMA nodes, etc.

[0046] Each device in the device cluster can maintain core allocation policies, binding policies, migration data processing policies, etc. The core allocation policy instructs, upon receiving a virtual machine migration instruction, to determine at least one target core to allocate to the virtual machine to be migrated. The target core is a core among the multiple cores included in the device that contains remaining resources. The binding policy instructs, upon receiving data from the virtual machine to be migrated, to send an interrupt request to the target core bound to the target interrupt identifier, triggering the target core to process the data of the virtual machine to be migrated.

[0047] A control platform can be independent of the host device and device cluster, used to manage virtual machine devices. The control platform can be implemented as an application or a web application; it can be configured on a terminal device or a server. The control platform can communicate with any device in the device cluster via a network, which can be a wired or wireless network. The control platform may integrate a display screen configured to show the control platform's user interface (UI) and provide an interface for interaction and information exchange between the control platform and the user. A common form of UI is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the screen, where controls can include visual interface elements such as icons, buttons, menus, tabs, and text boxes. Controls can be implemented as visual functional interfaces; when a control receives a corresponding trigger operation from the user, the corresponding functional interface receives the corresponding processing instruction, thereby enabling the control platform to respond to the processing instruction and perform functional processing. Users can operate the control platform to view the logical node partitioning of any device, view the running status and configuration information of any virtual machine, and initiate virtual machine migration. When the control platform obtains the virtual machine migration information input by the user through the user interface, it sends a virtual machine migration command to the receiving device of the virtual machine to be migrated.

[0048] Therefore, by binding the target core to the target interrupt identifier of the communication component transmitting virtual machine data in the receiving device, when the receiving device receives data from the virtual machine to be migrated, it sends an interrupt request to the target core bound to the target interrupt identifier, triggering the target core to process the data. This ensures that all data transmissions of the virtual machine to be migrated are processed by the bound target core when they reach the receiving device, without drifting between other cores. In other words, it avoids preemption of cores of other virtual machines in the receiving device. Even if the processor cores in the receiving device are near full capacity, it is less likely to cause data rollback, thus improving the migration success rate of the virtual machine to be migrated. Furthermore, since the target core pauses its current task to process the data of the virtual machine to be migrated after receiving the interrupt request, the processing speed of the data of the virtual machine to be migrated is improved, thereby improving the migration speed of the virtual machine to be migrated. In addition, even if the cores of the receiving device...

[0049] It should be understood that Figure 1 The diagram illustrates the configuration of the control platform on a desktop computer, and only shows the internal structure of any one device in the device cluster. Figure 1The illustrations are merely illustrative representations of application scenarios for the virtual machine migration method involved in this application and do not constitute a limitation on the technical solutions of this application. In some embodiments, the host device can also communicate with the control platform, and the user can also operate the host device to send virtual machine migration requests to the control platform. In other embodiments, the application scenarios of the virtual machine migration method involved in this application may include more or fewer components.

[0050] The technical solution of this application and how it solves the aforementioned technical problems are described in detail below with specific embodiments. The listed specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0051] Figure 2 This is a flowchart of a virtual machine migration method provided in an embodiment of this application. Figure 2 The method shown can be used by Figure 1 Execute on any device in the device cluster shown. For example... Figure 2 As shown, the method includes steps 101 and 102.

[0052] Step 101: Upon receiving data of the virtual machine to be migrated, send an interrupt request to at least one target core bound to the target interrupt identifier. The target interrupt identifier is the interrupt identifier of the communication component transmitting virtual machine data in the receiving device, and the at least one target core is a core containing remaining resources among the multiple cores included in the receiving device.

[0053] Step 102: Trigger at least one target core to process the data of the virtual machine to be migrated.

[0054] It is understood that when a virtual machine to be migrated is migrated from device 1 to device 2, device 1 is the host device of the virtual machine to be migrated, and device 2 is the receiving device of the virtual machine to be migrated. Therefore, the device performing steps 101 and 102 above can also be called the receiving device. To avoid the aforementioned CPU core preemption phenomenon when the receiving device receives data from the virtual machine to be migrated, in this embodiment, interrupt identifiers of at least one target core allocated to the virtual machine to be migrated and the communication components in the receiving device that transmit virtual machine data are pre-bound. Thus, when the receiving device receives data from the virtual machine to be migrated, it sends an interrupt request to at least one target core bound to the target interrupt identifier, triggering the bound at least one target core to process the received data from the virtual machine to be migrated.

[0055] The target core can be a CPU core or a CPU core instance; both are referred to as a core in this application. A core containing remaining resources can be a completely idle core (i.e., not assigned any tasks) or a core assigned other tasks but containing remaining resources (i.e., a non-idle core). Communication components can be network interface cards (NICs), wireless access points, etc. The target core processes data from the virtual machine to be migrated, such as creating applications or configuring the virtual machine's configuration information. This application does not impose specific limitations on these aspects; they can be configured as needed in practical applications.

[0056] In the virtual machine migration method provided in this application, the target core is pre-bound to the target interrupt identifier of the communication component transmitting virtual machine data in the receiving device. When the receiving device receives data from the virtual machine to be migrated, it sends an interrupt request to the target core bound to the target interrupt identifier, triggering the target core to process the data. This ensures that each data transmission of the virtual machine to be migrated is processed by the bound target core when it reaches the receiving device, preventing data from drifting between other cores. In other words, it avoids core preemption for other virtual machines in the receiving device, thereby improving the migration success rate of the virtual machine to be migrated. Furthermore, since the target core pauses its current task to specifically process the data of the virtual machine to be migrated after receiving the interrupt request, the processing speed of the data is increased, thus improving the migration speed of the virtual machine to be migrated.

[0057] In some implementations, the receiving device can bind a target interrupt identifier and at least one target core upon receiving a virtual machine migration instruction. Specifically, such as... Figure 3 As shown, before step 101, the steps 1001 and 1002 may also be included.

[0058] Step 1001: In response to the virtual machine migration instruction, determine at least one target core to be allocated to the virtual machine to be migrated.

[0059] Step 1002: Bind the target interrupt identifier to at least one target core.

[0060] In some implementations, a user can initiate virtual machine migration by operating a control platform for managing virtual machines. Accordingly, upon receiving migration information for the virtual machine to be migrated from the user, the control platform sends a virtual machine migration command to the receiving device. Upon receiving the virtual machine migration command from the control platform, the receiving device determines at least one target core assigned to the virtual machine to be migrated and binds the target interrupt identifier of the communication component in the receiving device that transmits virtual machine data to the at least one target core.

[0061] By identifying at least one target core to be assigned to the virtual machine to be migrated and binding the target core with a target interrupt identifier, it is ensured that each data transmission of the virtual machine to be migrated is processed by the bound target core when it is sent to the receiving device, and will not drift between other cores. This avoids the core preemption phenomenon of other virtual machines in the receiving device, thereby improving the migration success rate of the virtual machine to be migrated.

[0062] In some implementations, the cores of the receiving device are divided into multiple core groups, each core group comprising multiple cores, and each core group can directly and quickly access associated memory. Correspondingly, such as Figure 4 As shown, step 1001 may include steps 1001-1 and 1001-2.

[0063] Step 1001-1: In response to the core selection criteria that match the virtual machine migration instruction, determine the target core group that matches the core selection criteria among multiple core groups.

[0064] In some implementations, any core group can be a core group included in a MUNA node, and correspondingly, the core group can directly and quickly access the associated memory, which can be the memory of the MUNA node.

[0065] Step 1001-2: Select the cores that meet the core selection criteria from the target core group and determine them as at least one target core.

[0066] In some implementations, a first preset script can be invoked to execute steps 1001-1 and 1001-2. The specific form of the first preset script can be set as needed in actual applications, and this application does not impose specific limitations on it.

[0067] Since the access speed of a core in any core group to the associated memory of that core group is greater than the access speed to the associated memory of other core groups, the target core group that matches the core selection criteria is first identified from multiple core groups. Then, the target core is selected from the target core group. This ensures that the target core accesses the associated memory of the target core group when processing the data of the virtual machine to be migrated, without needing to access the associated memory of other core groups. This improves memory access speed and, consequently, improves the processing speed of the data of the virtual machine to be migrated.

[0068] Considering that in practical applications, some users may want to allocate idle cores (cores without any assigned tasks) to the virtual machines being migrated to ensure migration efficiency, in some implementations, the core selection condition in step 1001-1 can be selecting a first number of idle cores. Correspondingly, such as... Figure 5As shown, step 1001-1 may include the following steps 1001-11.

[0069] Steps 1001-11: In response to the virtual machine migration instruction, if the core selection condition matching the virtual machine migration instruction is to select a first number of vacant cores, the core groups that contain vacant cores and whose number of vacant cores is not less than the first number are determined as the target core groups.

[0070] In some implementations, the migration information of the virtual machine to be migrated received by the control platform may include a first number of target cores, group information of the target core group, and configuration information of the virtual machine to be migrated. Accordingly, in steps 1001-11, the receiving device determines the core group corresponding to the group information included in the migration instruction as the target core group. Each core in the target core group may be an idle core, and the target core group may also include at least a first number of idle cores.

[0071] Specifically, the user interface of the control platform may include a target core quantity input control, a target core group selection control, and migration controls. Accordingly, the user can pre-determine the initial number of cores to be allocated to the virtual machine to be migrated based on its configuration information on the host device, and input this initial number using the quantity input control. The user can also pre-operate on each device in the device cluster to query the core allocation information of each core group on each device, and determine the target core group containing empty cores, with the number of empty cores not less than the initial number, by inputting the group information of the target core group using the selection control. Alternatively, the user can operate the target core group selection control to input a query command. Accordingly, the control platform queries and displays the core allocation information of each core group contained in multiple communication-connected devices based on the query command. The user can select core allocation information indicating that the core group contains empty cores, with the number of empty cores not less than the initial number. In response to the user's selection, the control platform displays the group information of the corresponding core group in the selection control. Furthermore, in response to user operations on the migration control, the control platform identifies the device containing the core group corresponding to the received group information as the receiving device, and determines the received quantity, group information, and configuration information of the virtual machine to be migrated as migration information. Based on the migration information, it sends a virtual machine migration command to the receiving device. The receiving device identifies the core group corresponding to the group information included in the migration command as the target core group. The group information can be a group name, group identifier, etc. When the core group is a core group included in a logical node, the group information can also be the identifier of the corresponding logical node. Core allocation information includes cores with assigned tasks, task information, and cores without assigned tasks.

[0072] In some implementations, the migration information of the virtual machine to be migrated received by the control platform may not include at least one of the first number of target cores and the group information of the target core group. When the migration information does not include the first number, after receiving the migration information input by the user, the control platform can determine the first number of target cores based on the configuration information of the virtual machine to be migrated included in the migration information, and send a virtual machine migration command to the receiving device based on the user-input migration information and the first number. When the migration information does not include the group information of the target core group, the control platform obtains the first number from the user-input migration information, and obtains the core allocation information of each core group contained in the multiple devices connected to the communication, and determines the core group containing vacant cores and whose number of vacant cores is not less than the first number as the target core group based on the core allocation information; and sends a virtual machine migration command to the receiving device based on the group information of the target core group and the migration information, etc. When the migration information does not include the first number and the group information, the control platform determines the first number and the group information of the target core group in the aforementioned manner, and sends a virtual machine migration command to the receiving device based on the first number, the group information, and the migration information, etc. The receiving device determines the core group corresponding to the group information included in the virtual machine migration command as the target core group.

[0073] In some implementations, the migration information of the virtual machine to be migrated received by the control platform may include the configuration information of the virtual machine to be migrated, the device information of the receiving device, and a selection identifier indicating that the core selection condition is to select idle cores. The control platform sends a virtual machine migration command to the receiving device according to the received migration information. Accordingly, in steps 1001-11, the receiving device determines a first number based on the configuration information of the virtual machine to be migrated included in the migration command, and obtains the core allocation information of each core group in the receiving device. Based on the core allocation information, it determines a target core group that includes idle cores and whose number of idle cores is not less than the first target number.

[0074] The determination of the first quantity based on the configuration information of the virtual machines to be migrated can be based on information such as the workload and running applications of the virtual machines to be migrated contained in the configuration information. The method for determining the first quantity, as well as the specific style of the user interface of the control platform, can be set as needed in actual applications, and this application does not impose specific limitations on them.

[0075] Corresponding to steps 1001-11, such as Figure 5 As shown, step 1001-2 may include steps 1001-21 and 1001-22.

[0076] Steps 1001-21: Determine the first candidate core that is in an idle state among the multiple cores included in the target core group.

[0077] Specifically, based on the core allocation information of the target core group, the first candidate core that is in an idle state among the multiple cores included in the target core group is determined.

[0078] Steps 1001-22: Select a first number of first candidate cores from the first candidate cores to determine at least one target core.

[0079] In some implementations, a first number of first candidate cores may be randomly selected from the first candidate cores, and the selected first number of first candidate cores may be determined as the target cores.

[0080] Therefore, when the core selection condition is to select a first number of empty cores, the core groups that include multiple core groups of the receiving device and contain empty cores, and the number of empty cores is not less than the first number, are determined as the target core groups. The target cores in the target core groups are determined according to the first number, which ensures that the target cores can meet the migration requirements of the virtual machines to be migrated, and provides a guarantee for improving the migration success rate of virtual machines.

[0081] Considering that in practical applications, some cores may be allocated tasks but still have surplus resources, in order to improve resource utilization, some implementations allow the core selection criterion to select cores containing surplus resources, i.e., non-idle cores. Correspondingly, such as... Figure 6 As shown, step 1001-1 may include the following steps 1001-12.

[0082] Steps 1001-12: In response to the virtual machine migration instruction, if the core selection condition matching the virtual machine migration instruction is to select a core containing remaining resources and the total amount of remaining resources is a second quantity, then the core groups containing remaining resources and the total amount of remaining resources is not less than the second quantity are determined as the target core groups.

[0083] In some implementations, the migration information of the virtual machine to be migrated received by the control platform may include a second quantity of core resources required by the virtual machine to be migrated, group information of the target core group, and configuration information of the virtual machine to be migrated. Accordingly, in steps 1001-12, the receiving device determines the core group corresponding to the group information included in the virtual machine migration instruction as the target core group. The second quantity may be determined by the user in advance based on the configuration information of the virtual machine to be migrated and input through the input control for the number of core resources on the control platform. The method for determining the group information of the target core group is similar to the method for determining the group information when the core selection condition is to select an empty core, and can be referred to the relevant description above. The difference is that here it is determined based on the resource allocation information of each core group; repetitions will not be repeated here. The resource allocation information of any core group includes the number of remaining resources of each core in the corresponding core group. Core resources may include arithmetic logic units, floating-point units, registers, caches, etc.

[0084] In some implementations, the migration information of the virtual machine to be migrated received by the control platform may include a second quantity of core resources required by the virtual machine to be migrated, configuration information of the virtual machine to be migrated, etc. Accordingly, the control platform can obtain resource allocation information of each core group contained in multiple communication-connected devices, determine at least one core group with remaining resources not less than the second quantity based on the resource allocation information, and send a virtual machine migration command to the receiving device based on the group information of any one of the at least one core group, the second quantity, and the configuration information of the virtual machine to be migrated, etc. Accordingly, the receiving device determines any one of the core groups corresponding to the group information in the virtual machine migration command as the target core group.

[0085] In some implementations, the migration information of the virtual machine to be migrated received by the control platform may include a second quantity of core resources required by the virtual machine to be migrated, device information of the receiving device, configuration information of the virtual machine to be migrated, etc. The control platform sends a virtual machine migration command to the receiving device based on the migration information. Accordingly, in steps 1001-12, the receiving device, in response to the virtual machine migration command, can obtain resource allocation information of its multiple core groups and determine a target core group that includes remaining resources and whose total remaining resources are not less than the second quantity based on the resource allocation information.

[0086] In some implementations, the migration information of the virtual machine to be migrated received by the control platform may include device information of the receiving device, a selection identifier indicating that the core selection condition is to select cores containing remaining resources, and configuration information of the virtual machine to be migrated. The control platform sends a virtual machine migration command to the receiving device based on the migration information. Accordingly, in steps 1001-12, the receiving device responds to the virtual machine migration command, determines a second number of core resources required by the virtual machine to be migrated based on the configuration information of the virtual machine to be migrated, and obtains resource allocation information of the multiple core groups it includes; based on the resource allocation information, it determines a target core group that includes remaining resources and whose total remaining resources are not less than the second number.

[0087] Corresponding to steps 1001-12 above, such as Figure 6 As shown, step 1001-2 may include the following steps 1001-23 and 1001-24.

[0088] Steps 1001-23: Identify the second candidate core containing remaining resources in the target core group.

[0089] Specifically, based on the resource allocation information of the target core group, a second candidate core containing remaining resources is determined within the target core group.

[0090] Steps 1001-24: Select at least one second candidate core from the second candidate cores and determine it as at least one target core; the total amount of remaining resources of at least one second candidate core is not less than the second number.

[0091] Specifically, based on the remaining resources of each second candidate core and the second quantity, at least one second candidate core is selected such that the total remaining resources of at least one second candidate core are not less than the second quantity; and the selected at least one second candidate core is determined as at least one target core.

[0092] It is evident that when the resource selection criteria are to select cores containing remaining resources and the total amount of remaining resources is the second quantity, by first determining the target core group containing remaining resources and the total amount of remaining resources is not less than the second quantity, and then selecting the target core containing remaining resources among the target cores, not only can the effective migration of the virtual machines to be migrated be ensured, but the utilization rate of resources can also be improved.

[0093] To ensure effective communication between the virtual machine's operating system and the receiving device, the receiving device will have at least one virtual network device configured, and a mapping relationship will be established between at least one communication component of the receiving device and the virtual network device. Correspondingly, such as... Figure 7 As shown, step 1002 may include steps 1002-1 to 1002-4.

[0094] Step 1002-1: Obtain the mapping identifier of the communication component that transmits virtual machine data.

[0095] In some implementations, after establishing a mapping relationship between at least one communication component of the receiving device and the virtual network device, a mapping identifier for each mapping relationship can be determined, and the mapping relationship and mapping identifier are saved accordingly. The mapping identifier is then saved in the configuration information of the communication component transmitting virtual machine data. For example, the mapping relationship can be saved in a mapping relationship table, and each mapping relationship can be assigned a number, which can be determined as the mapping identifier of the mapping relationship. Correspondingly, the receiving device can obtain the mapping identifier of the communication component from the configuration information of the communication component transmitting virtual machine data.

[0096] Furthermore, when the receiving device is configured with multiple communication components, step 1002-1 may further include: obtaining the configuration information of each communication component, and identifying the communication component corresponding to the configuration information containing the target identifier as the communication component for transmitting virtual machine data. Here, the target identifier indicates that it is used for transmitting virtual machine data.

[0097] It should be noted that the method of saving and retrieving the mapping identifier is not limited to this, and can be set as needed in actual application.

[0098] Step 1002-2: Determine the virtual network device corresponding to the communication component that transmits virtual machine data based on the mapping identifier.

[0099] Specifically, the device identifier of the virtual network device is obtained from the mapping relationship corresponding to the mapping identifier. The device identifier can be a device name or a unique identifier pre-assigned for obtaining the virtual network device. In some implementations, the virtual network device can be a Virtio device.

[0100] Step 1002-3: Obtain the interrupt identifier corresponding to the virtual network device and determine it as the target interrupt identifier of the receiving device.

[0101] In some implementations, the system interrupt file of the receiving device can be accessed. This system interrupt file contains interrupt information for each system interrupt of the receiving device. The target interrupt information associated with the device identifier of the target virtual network device is queried from the system interrupt file. The value of the interrupt identifier field is extracted from the target interrupt information to obtain the interrupt identifier corresponding to the virtual network device. The interrupt identifier corresponding to the virtual network device is then determined as the target interrupt identifier of the receiving device. In some implementations, the system interrupt file may be the proc / interrupts file, and the interrupt identifier may be an interrupt number.

[0102] In some implementations, the receiving device may call a second preset script to execute steps 1002-1 to 1002-3. The specific form of the second preset script can be set as needed in actual applications, and this application does not impose specific limitations on it.

[0103] Step 1002-4: Establish a binding relationship between the target interruption identifier and at least one target core.

[0104] In some implementations, an interrupt configuration file corresponding to the communication component transmitting virtual machine data can be determined, and the target interrupt identifier and the identifier of at least one target core can be written into the interrupt configuration file. It is understood that writing the target interrupt identifier and the identifier of at least one target core into the interrupt configuration file establishes a binding relationship between the target interrupt identifier and at least one target core. The interrupt configuration file can be an smp_affinity_list file.

[0105] Furthermore, in order to ensure that the communication component transmitting virtual machine data can accurately determine the target core when it receives the migration data of the virtual machine to be migrated, in some embodiments, before writing the target interrupt identifier and the identifier of at least one target core into the interrupt configuration file, it may also include: if it is determined that the interrupt configuration file is not empty, then clear the interrupt configuration file.

[0106] Therefore, in the process of establishing the binding relationship, the virtual network device corresponding to the communication component that transmits virtual machine data is first determined, and the interrupt identifier corresponding to the virtual network device is determined as the target interrupt identifier of the receiving device. The target interrupt identifier and the identifier of the target core are written into the interrupt configuration file of the communication component. On the one hand, this ensures the accuracy of the determined target interrupt number, and on the other hand, it ensures that when the communication component receives the data of the virtual machine to be migrated, it can process the data of the virtual machine to be migrated through the bound target core, avoiding the preemption of the cores of other virtual machines in the receiving device.

[0107] To ensure timely data transmission from the host device to which the virtual machine to be migrated resides, in some embodiments, step 1002 may further include sending a data transmission command to the host device. In some embodiments, the receiving device may directly send the data transmission command to the host device; in other embodiments, the receiving device may also send the data transmission command to a control platform, which then forwards the command to the host device.

[0108] To ensure that the data of the virtual machine to be migrated can be processed in a timely manner when it is transmitted to the receiving device, in some embodiments, the aforementioned step 101 may include: triggering the communication component to send an interrupt request to at least one target core bound to the target interrupt identifier when the data of the virtual machine to be migrated is received through the communication component that transmits virtual machine data.

[0109] When the communication component receives data from the virtual machine to be migrated, it triggers the communication component to send an interrupt request to at least one target core bound to the target interrupt identifier, without having to send the interrupt request to the target core through other components. This shortens the transmission time of the interrupt request and improves the overall processing efficiency of the data of the virtual machine to be migrated.

[0110] In some implementations, if at least one target core being bound contains a non-empty core, step 102 may include: interrupting a program running in a non-empty core via the non-empty core and processing data of the virtual machine to be migrated.

[0111] When at least one target core being bound contains a non-empty core, the target core will interrupt its running program and dedicate itself to processing the data of the virtual machine to be migrated after an interrupt request is sent to it. This improves the data processing efficiency of the virtual machine to be migrated, thereby increasing the migration efficiency and success rate of the virtual machine to be migrated.

[0112] Corresponding to the embodiments of the aforementioned virtual machine migration method, this application also provides embodiments of a virtual machine migration apparatus. Figure 8 This is a schematic diagram illustrating the structure of a virtual machine migration apparatus according to an exemplary embodiment. The apparatus can be configured in... Figure 1 In any of the devices in the device cluster shown. This device is used to execute the virtual machine migration method provided in any of the above embodiments, such as... Figure 8 As shown, the virtual machine migration device includes:

[0113] The transceiver module 201 is used to send an interrupt request to at least one target core bound to a target interrupt identifier when receiving data of a virtual machine to be migrated. The target interrupt identifier is the interrupt identifier of the communication component in the receiving device that transmits virtual machine data, and the at least one target core is a core containing remaining resources among multiple cores included in the receiving device.

[0114] Trigger module 202 is used to trigger at least one target core process. The data of the virtual machine to be migrated.

[0115] In some embodiments, the device further includes a determination module and a binding module.

[0116] The determination module is used to determine at least one target core to be allocated to the virtual machine to be migrated in response to the virtual machine migration instruction before the transceiver module 201 receives the data of the virtual machine to be migrated.

[0117] The binding module is used to bind the target interrupt identifier to at least one target core.

[0118] In some implementations, the determining module is specifically used for:

[0119] In response to the core selection criteria that match the virtual machine migration instruction, the target core group that matches the core selection criteria is determined from among multiple core groups.

[0120] Select the cores that meet the core selection criteria from the target core group and determine them as at least one target core.

[0121] In some implementations, the determining module is further specifically used for:

[0122] If the core selection condition is to select a first number of empty cores, then the core groups that contain empty cores and whose number of empty cores is not less than the first number are determined as the target core groups.

[0123] If the core selection criteria are to select cores containing remaining resources and the total amount of remaining resources is the second quantity, then the core groups containing remaining resources and whose total amount of remaining resources is not less than the second quantity are determined as the target core groups.

[0124] In some implementations, the determining module is further specifically used for:

[0125] When the core selection condition is to select a first number of vacant cores, determine the first candidate core in an idle state among the multiple cores included in the target core group, select a first target number of first candidate cores from the first candidate cores, and determine them as at least one target core.

[0126] Alternatively, if the core selection condition is to select a core containing remaining resources and the total amount of remaining resources is a second quantity, determine the second candidate cores containing remaining resources in the target core group, select at least one second candidate core from the second candidate cores, and determine it as at least one target core; the total amount of remaining resources of at least one second candidate core is not less than the second quantity.

[0127] In some implementations, the binding module is specifically used for:

[0128] Obtain the mapping identifier of the communication component that transmits virtual machine data.

[0129] Based on the mapping identifier, determine the virtual network device corresponding to the communication component that transmits virtual machine data.

[0130] Obtain the interrupt identifier corresponding to the virtual network device and determine it as the target interrupt identifier of the receiving device.

[0131] Establish a binding relationship between the target interruption identifier and at least one target core.

[0132] In some implementations, the binding module is further specifically used for:

[0133] Determine the interrupt configuration file corresponding to the communication component that transmits virtual machine data.

[0134] Write the target interrupt identifier and the identifier of at least one target core into the interrupt configuration file.

[0135] In some implementations, the transceiver module 201 is specifically used for:

[0136] Upon receiving data of the virtual machine to be migrated through the communication component, the communication component is triggered to send an interrupt request to at least one target core bound to the target interrupt identifier.

[0137] In some implementations, where at least one target core includes a non-idle core, the triggering module 202 is further configured to interrupt the program running in the non-idle core via the non-idle core after the transceiver module 201 sends an interrupt request to at least one target core bound to the target interrupt identifier.

[0138] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate. The components illustrated as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this application according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0139] Corresponding to the aforementioned embodiments of the virtual machine migration method, this application also provides a schematic diagram of the virtual system structure, such as... Figure 9 As shown, the system includes: a device cluster 30 and a host device 31 for the virtual machines to be migrated. Any device 301 in the device cluster 30 includes multiple cores 3011, and at least one virtual machine 3012 is deployed in any device 301.

[0140] Host device 31 is used to send data of the virtual machines to be migrated to the receiving device. The receiving device is any device 301 in the device cluster 30.

[0141] A receiving device is configured to, upon receiving data of a virtual machine to be migrated, send an interrupt request to at least one target core bound to a target interrupt identifier; trigger at least one target core to process the data of the virtual machine to be migrated; the target interrupt identifier is the interrupt identifier of the communication component in the receiving device that transmits virtual machine data, and the at least one target core is a core containing remaining resources among the multiple cores included in the receiving device.

[0142] In some implementations, such as Figure 10 As shown, the system also includes: a control platform 32;

[0143] Control platform 32 is used to send virtual machine migration instructions to receiving device in response to virtual machine migration request;

[0144] The receiving device is also configured to, in response to a virtual machine migration command, determine at least one target core to be allocated to the virtual machine to be migrated, and bind a target interrupt identifier to at least one target core.

[0145] The virtual machine migration system and the virtual machine migration method provided in this application are based on the same inventive concept and have the same beneficial effects as the methods they adopt, run or implement.

[0146] It is understandable that the above division of modules is merely a logical functional division. In actual implementation, the functions of these modules can be integrated into hardware entities. For example, the function of the aforementioned transceiver module 201 can be integrated into a transceiver, and the function of the trigger module 202 can be integrated into a processor, etc.

[0147] Based on this, some embodiments of this application also provide an electronic device corresponding to the virtual machine migration method provided in the foregoing embodiments, which can be configured as follows: Figure 1 Any device in the device cluster shown can be used to perform the virtual machine migration method described above.

[0148] Figure 11 The present invention illustrates a hardware structure diagram of an electronic device according to an exemplary embodiment. The electronic device includes a communication interface 401, a processor 402, a memory 403, and a bus 404. The communication interface 401, processor 402, and memory 403 communicate with each other via the bus 404. The processor 402 can execute the virtual machine migration method described above by reading and executing machine-executable instructions corresponding to the control logic of the virtual machine migration method stored in the memory 403. The specific content of this method is described in the above embodiment and will not be repeated here.

[0149] The memory 403 mentioned in this embodiment can be any electronic, magnetic, optical, or other physical storage device, and can contain stored information such as executable instructions, data, etc. Specifically, the memory 403 can be RAM (Random Access Memory), flash memory, storage drive (such as hard disk drive), any type of storage disk (such as optical disk), or similar storage media, or combinations thereof. Communication between the system network element and at least one other network element is achieved through at least one communication interface 401 (which can be wired or wireless), such as the Internet, wide area network, local area network, metropolitan area network, etc.

[0150] Bus 404 can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. The memory 403 is used to store programs, and the processor 402 executes the programs after receiving execution instructions.

[0151] Processor 402 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of processor 402 or by instructions in software form. The processor 402 can be a general-purpose processor, including a network processor (NP), digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware controls, etc. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor.

[0152] The electronic device provided in this application embodiment and the virtual machine migration method provided in this application embodiment are based on the same inventive concept and have the same beneficial effects as the methods they adopt, run or implement.

[0153] This application also provides a computer-readable storage medium corresponding to the virtual machine migration method provided in the foregoing embodiments, which stores a computer program (i.e., a program product) thereon. When the computer program is run by a processor, it executes the virtual machine migration method provided in any of the foregoing embodiments.

[0154] It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical and magnetic storage media, which will not be elaborated here.

[0155] The computer-readable storage medium provided in the above embodiments of this application and the virtual machine migration method provided in the embodiments of this application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by the applications stored therein.

[0156] This application also provides a computer program product corresponding to the virtual machine migration method provided in the foregoing embodiments. The computer program product includes a computer program that is executed by a processor to implement the virtual machine migration method provided in the foregoing embodiments.

[0157] The computer program products provided in the above embodiments of this application and the virtual machine migration methods provided in the embodiments of this application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by the applications they store.

[0158] In this application specification and embodiments, any solutions involving the processing of personal information will be processed only under the premise of legality (such as obtaining the consent of the personal information subject, or being necessary for the performance of a contract), and will only be processed within the scope stipulated or agreed upon. A user's refusal to process personal information beyond that required for basic functions will not affect the user's use of basic functions.

[0159] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the claims.

[0160] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0161] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A virtual machine migration method, characterized in that, Applied to a receiving device, the method includes: Upon receiving data of the virtual machine to be migrated, an interrupt request is sent to at least one target core bound to a target interrupt identifier, wherein the target interrupt identifier is the interrupt identifier of the communication component transmitting virtual machine data in the receiving device, and the at least one target core is a core containing remaining resources among the multiple cores included in the receiving device. The at least one target core is triggered to process the data of the virtual machine to be migrated.

2. The method according to claim 1, characterized in that, Before receiving the data for the virtual machine to be migrated, the method further includes: In response to a virtual machine migration command, determine the at least one target core to be allocated to the virtual machine to be migrated; The target interrupt identifier is bound to the at least one target core.

3. The method according to claim 2, characterized in that, The receiving device includes multiple core groups, and determining at least one target core to be allocated to the virtual machine to be migrated includes: In response to a core selection condition that matches the virtual machine migration instruction, a target core group that matches the core selection condition is determined from among the plurality of core groups; Select a core that meets the core selection criteria from the target core group, and determine it as the at least one target core.

4. The method according to claim 3, characterized in that, The step of determining the target core group among the plurality of core groups that matches the core selection criteria includes: When the core selection condition is to select a first number of vacant cores, the core groups that contain vacant cores and whose number of vacant cores is not less than the first number are determined as the target core groups. When the core selection condition is to select non-empty cores containing remaining resources and the total amount of remaining resources is a second quantity, the core groups containing remaining resources and the total amount of remaining resources is not less than the second quantity are determined as the target core group.

5. The method according to claim 3, characterized in that, The step of selecting a core from the target core group that satisfies the core selection criteria and determining it as the at least one target core includes: When the core selection condition is to select a first number of vacant cores, determine the first candidate core that is in an idle state among the multiple cores included in the target core group; Select the first number of first candidate cores from the first candidate cores, and determine them as the at least one target core; or, When the core selection condition is to select a non-empty core containing remaining resources and the total amount of remaining resources is equal to the second quantity, a second candidate core containing remaining resources is determined in the target core group, and at least one second candidate core is selected from the second candidate cores to be determined as the at least one target core; the total amount of remaining resources of the at least one second candidate core is not less than the second quantity.

6. The method according to claim 2, characterized in that, The binding of the target interrupt identifier and the at least one target core includes: Obtain the mapping identifier of the communication component; Based on the mapping identifier, the virtual network device corresponding to the communication component is determined; Obtain the interrupt identifier corresponding to the virtual network device and determine it as the target interrupt identifier of the receiving device; Establish a binding relationship between the target interrupt identifier and the at least one target core.

7. The method according to claim 5, characterized in that, Establishing the binding relationship between the target interrupt identifier and the at least one target core includes: Determine the interrupt configuration file corresponding to the communication component; Write the target interrupt identifier and the identifier of at least one target core into the interrupt configuration file.

8. The method according to claim 1, characterized in that, Upon receiving data from the virtual machine to be migrated, sending an interrupt request to at least one target core bound to the target interrupt identifier includes: Upon receiving data of the virtual machine to be migrated through the communication component, the communication component is triggered to send an interrupt request to at least one target core bound to the target interrupt identifier.

9. The method according to claim 4, characterized in that, If at least one target core contains a non-idle core, after sending the interrupt request to at least one target core bound to the target interrupt identifier, the method further includes: The program running in the non-idle core is interrupted by the non-idle core.

10. A virtual machine migration device, characterized in that, Applied to a receiving device, the apparatus includes: The transceiver module is used to send an interrupt request to at least one target core bound to a target interrupt identifier when receiving data of a virtual machine to be migrated. The target interrupt identifier is the interrupt identifier of the communication component in the receiving device that transmits virtual machine data, and the at least one target core is a core containing remaining resources among multiple cores included in the receiving device. A triggering module is used to trigger the at least one target core to process the data of the virtual machine to be migrated.

11. A virtual system, characterized in that, The system includes: a host device for the virtual machine to be migrated and a device cluster, wherein any device in the device cluster includes multiple cores and any device deploys at least one virtual machine; The host device is used to send the data of the virtual machine to be migrated to the device to which it is being migrated. The device to which it is being migrated is the receiving device, and the receiving device is any device in the device cluster. Upon receiving the data of the virtual machine to be migrated, the receiving device sends an interrupt request to at least one target core bound to the target interrupt identifier; triggering the at least one target core to process the data of the virtual machine to be migrated; the target interrupt identifier is the interrupt identifier of the communication component in the receiving device that transmits virtual machine data, and the at least one target core is a core containing remaining resources among the multiple cores included in the receiving device.

12. The system according to claim 11, characterized in that, The system also includes: a control platform; The control platform is used to send virtual machine migration instructions to the receiving device in response to a virtual machine migration request. The receiving device is further configured to, in response to a virtual machine migration instruction, determine the at least one target core allocated to the virtual machine to be migrated, and bind the target interrupt identifier to the at least one target core.

13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor executes the program to implement the method as described in any one of claims 1-9.

14. 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 as described in any one of claims 1-9.

15. A computer program product, comprising a computer program, characterized in that, The computer program is executed by a processor to implement the method of any one of claims 1-9.