Virtual instance deployment method and system based on cloud service

By adopting host pool and resource pool structures in cloud services and combining dynamic adjustments of resource management components, the problem of insufficient resource sharing and flexibility of virtual instances is solved, and efficient resource utilization and cost reduction are achieved.

CN119248462APending Publication Date: 2025-01-03HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311264812.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-07-03
Filing Date
2023-09-27
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

In the prior art, virtual instances have poor resource flexibility in using external devices and cannot effectively share resources across multiple hosts, resulting in low resource utilization and high cost.

Method used

By introducing a structure of host pool and resource pool in cloud services, the physical resources of external devices are provided to the host in the form of a physical resource group. The host can create virtual devices and virtual instances based on the physical resource group of multiple external devices and use resources The management component dynamically adjusts resource specifications to realize fine-grained management and sharing of resources by virtual instances.

Benefits of technology

Improves the flexibility and utilization of virtual instances for external device resources, reduces costs, and can dynamically adjust resources when business load changes, meet sudden demands and save resource consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119248462A_ABST
    Figure CN119248462A_ABST
Patent Text Reader

Abstract

The invention discloses a virtual instance deployment method and system based on cloud service, and belongs to the technical field of cloud service. The system comprises a host pool and a resource pool, the resource pool comprises a plurality of external devices, the external devices comprise one or more physical resource groups, the external devices are used for providing the physical resource groups for the host, and the physical resource groups are obtained based on physical resource division of the external devices; the host pool comprises a plurality of hosts, and the hosts are used for creating a first virtual device based on physical resource groups of a plurality of target external devices in the plurality of external devices, creating a first virtual instance based on the first virtual device, and deploying services of the first cloud tenant in the first virtual instance. The flexibility of using the resources of the external equipment by the virtual instance is improved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese patent application No. 202310806874.5, filed on July 3, 2023, with invention name “Virtual Instance Management Method and System”, the entire contents of which are incorporated by reference in this disclosure. Technical Field

[0002] The present application relates to the technical field of cloud services, and in particular to a method and system for deploying a virtual instance based on cloud services. Background Art

[0003] Data centers are the core infrastructure of cloud computing and big data. They provide massive computing, storage, and network resources and support a variety of online services and applications. Data centers are equipped with hosts and external devices. External devices can provide hosts with the physical resources needed to create virtual instances. Hosts can use the physical resources to create virtual instances and deploy cloud tenants' services in the virtual instances to provide cloud services to cloud tenants.

[0004] Peripheral component interconnect express (PCIe) single root input / output virtualization (SR-IOV) and PCIe multi root input / output virtualization (MR-IOV) provide standard specifications for providing independent memory space, interrupts, direct memory access (DMA) channels, etc. for virtual machines (VMs). SR-IOV supports a single physical PCIe device to virtualize multiple virtual PCIe devices, and then directly connects the virtual PCIe devices to each virtual machine to enable multiple virtual machines in a single host to share PCIe device resources, but does not allow virtual machines across multiple hosts to share. MR-IOV supports multiple hosts to share a PCIe device to achieve efficient utilization and isolation of I / O resources.

[0005] However, in both methods, the flexibility of virtual instances in using resources of external devices is poor. Summary of the invention

[0006] The present application provides a method and system for deploying a virtual instance based on cloud services. The present application improves the flexibility of virtual instances in using resources of external devices. The technical solutions provided by the present application are as follows:

[0007] In a first aspect, the present application provides a virtual instance deployment system based on cloud services. The system includes: a host pool and a resource pool. The resource pool includes multiple external devices, the external devices include one or more physical resource groups, the external devices are used to provide physical resource groups to the host, and the physical resource groups are obtained based on the physical resource division of the external devices; the host pool includes multiple hosts, the host is used to create a first virtual device based on the physical resource groups of multiple target external devices in the multiple external devices, create a first virtual instance based on the first virtual device, and deploy the services of the first cloud tenant in the first virtual instance.

[0008] That is, in the virtual instance deployment system based on cloud services, the physical resources of the external devices are provided to the host in the form of physical resource groups. In addition, the host pool includes multiple hosts. The host is used to create a first virtual device based on the physical resource groups of multiple target external devices among the multiple external devices, create a first virtual instance based on the first virtual device, and deploy the services of the first cloud tenant in the first virtual instance. That is, the host can create a virtual instance based on the physical resource groups of multiple target external devices in the resource pool. Among them, the virtual device has the virtual hardware required to create the virtual instance. In this way, it is equivalent to the host being able to create a virtual instance based on the physical resource groups of at least two external devices in the resource pool, so that the same virtual instance can share the resources of different external devices, thereby improving the flexibility of the virtual instance in using the resources of the external device.

[0009] Optionally, the host is further used to create a second virtual device based on a physical resource group of at least one of the multiple target external devices, create a second virtual instance based on the second virtual device, and deploy services of a second cloud tenant in the second virtual instance.

[0010] In this way, the at least one target external device can provide virtual hardware to both the first virtual device and the second virtual device, so that the physical resources of the same external device can be shared by different virtual instances. Furthermore, when the first virtual device and the second virtual device are created on different hosts, the physical resources of the same external device can also be shared by different hosts, further improving the flexibility of the virtual instance in using the resources of the external device.

[0011] In order to support the implementation of the system provided in the embodiment of the present application, the external device needs to support fine-grained management of device resources. For example, the physical resources of the external device can be finely divided according to the function to obtain multiple functional units. For example, the physical resources of the external device include multiple functional units, and the external device is used to divide at least part of the multiple functional units into one or more physical resource groups, and the physical resource group includes one or more functional units.

[0012] In one implementation, the external device is further used to adjust the total number of physical resource groups included in the external device, and / or adjust the total number of functional units included in the physical resource group. When the external device has the function of adjusting the physical resource group, it can adjust the total number of physical resource groups included in the external device and / or the total number of functional units included in the physical resource group according to application requirements, so that the resource pool provides the adjusted physical resource group to the host pool, thereby improving the degree of adaptation between the resource specifications of the physical resource group and the host's demand for resources.

[0013] Optionally, the external device is a network card, and the functional unit includes: a work queue and a command register; the external device is a storage card, and the functional unit includes: a work queue and a command register; the external device is a disk, and the functional unit includes: a work queue and a command register; the external device is a sound card, and the functional unit includes: a work queue and a command register; the external device is a processor, and the functional unit includes: a work queue and a command register; the external device is a disk controller, and the functional unit includes: a work queue and a command register.

[0014] In one implementation, the function of the system 11 to manage resources can be implemented through multiple components. For example, the system further includes: a cloud platform management component and a resource management component; the cloud platform management component is used to indicate the specifications of the physical resources required by the cloud tenant's virtual instance to the resource management component based on the cloud tenant's instructions; the resource management component is used to schedule the physical resource group to the host for deploying the virtual instance from the physical resource groups of multiple external devices based on the specifications; the external device is specifically used to provide the scheduled physical resource group to the host for deploying the virtual instance based on the scheduling of the resource management component.

[0015] Optionally, the cloud tenant's instruction is a virtual instance creation request. The virtual instance creation request indicates creation of a virtual instance for the cloud tenant. And / or, the cloud tenant's instruction is a resource adjustment request, which indicates adjustment of specifications of physical resources used by the virtual instance owned by the cloud tenant.

[0016] When the cloud tenant's instruction is a resource adjustment request, since the resource adjustment request is triggered by the cloud tenant when it needs to adjust the specifications of the resources used by the virtual instance it owns, the resource management component adjusts the resources based on the resource adjustment request, and the specifications of the resources used by the virtual instance can be dynamically adjusted based on the cloud tenant's wishes. When the resource specifications are increased based on the resource adjustment request, it helps to meet the sudden demand for resources by the cloud tenant and ensure the performance of the cloud service. When the resource specifications are reduced based on the resource adjustment request, it helps to save the cost of resource consumption for the cloud tenant and reduce the cost of the cloud tenant using cloud services.

[0017] In another possible implementation, the resource adjustment request may be optionally triggered by a virtual instance. For example, when the business load of the virtual instance is large, the virtual instance spontaneously triggers a resource adjustment request to indicate an increase in the specifications of the physical resources it uses. When the business load of the virtual instance decreases, the virtual instance spontaneously triggers a resource adjustment request to indicate a decrease in the specifications of the physical resources it uses. At this time, the resource management component is used to schedule a physical resource group to a host used to deploy the virtual instance from among the physical resource groups of multiple external devices based on the resource adjustment request sent by the virtual instance. Accordingly, the external device is specifically used to provide a scheduled physical resource group to the host used to deploy the virtual instance based on the scheduling of the resource management component. In this way, when the business load of the virtual instance varies greatly, the resource management component can dynamically adjust the specifications of the resources used by the virtual instance based on the resource adjustment request triggered by the virtual instance.

[0018] In one implementation, the resource management component is also used to send a hot plug command to the host after adding physical resources to the virtual instance, and the hot plug command is used to indicate the added resources of the host; the host is specifically used to hot plug and add resources for the virtual device used to deploy the virtual instance based on the hot plug command, and send a notification message indicating the added resources to the virtual instance; the virtual instance is used to perform the added processing based on the notification message.

[0019] Similarly, the resource management component is also used to send a hot pull command to the host after reducing physical resources for the virtual instance, and the hot pull command is used to indicate the reduction of resources of the host; the host is specifically used to hot pull the reduced resources from the virtual device used to deploy the virtual instance based on the hot pull command, and send a notification message indicating the reduction of resources to the virtual instance; the virtual instance is used to perform the reduction processing based on the notification message.

[0020] By hot-plugging or hot-unplugging resources for virtual instances, physical resources can be dynamically and flexibly allocated to the host without being perceived by the business scenario, which helps to solve the sudden resource demands of users in cloud scenarios and further improves the flexibility of virtual instances in using resources from external devices.

[0021] Optionally, the system further includes: a forwarding device, the forwarding device being used to forward messages between the host and a physical resource group allocated to the host.

[0022] In a second aspect, the present application provides a method for deploying a virtual instance based on a cloud service. The method is applied to a virtual instance deployment system based on a cloud service. The system includes: a host pool and a resource pool. The host pool includes multiple hosts. The resource pool includes multiple external devices. The method includes: the external device provides a physical resource group to the host, the external device includes one or more physical resource groups, and the physical resource group is obtained based on the physical resource division of the external device; the host creates a first virtual device based on the physical resource groups of multiple target external devices among the multiple external devices, creates a first virtual instance based on the first virtual device, and deploys the business of the first cloud tenant in the first virtual instance.

[0023] Optionally, the method also includes: the host creates a second virtual device based on a physical resource group of at least one of the multiple target external devices, creates a second virtual instance based on the second virtual device, and deploys the service of the second cloud tenant in the second virtual instance.

[0024] Optionally, the physical resources of the external device include a plurality of functional units, and before the external device provides the physical resource group to the host, the method further includes:

[0025] The external device divides at least part of the plurality of functional units into one or more physical resource groups, and the physical resource group includes the one or more functional units.

[0026] Optionally, the method further includes: the external device adjusting the total number of physical resource groups included in the external device, and / or adjusting the total number of functional units included in the physical resource groups.

[0027] Optionally, the external device is a network card, and the functional unit includes: a work queue and a command register; the external device is a storage card, and the functional unit includes: a work queue and a command register; the external device is a disk, and the functional unit includes: a work queue and a command register; the external device is a sound card, and the functional unit includes: a work queue and a command register; the external device is a processor, and the functional unit includes: a work queue and a command register; the external device is a disk controller, and the functional unit includes: a work queue and a command register.

[0028] Optionally, the system further includes: a cloud platform management component and a resource management component. The method further includes: the cloud platform management component indicates the specifications of the physical resources required by the cloud tenant's virtual instance to the resource management component based on the cloud tenant's instructions; the resource management component schedules the physical resource group from the physical resource groups of multiple external devices to the host for deploying the virtual instance based on the specifications. The external device then provides the physical resource group to the host, including: the external device provides the scheduled physical resource group to the host for deploying the virtual instance based on the scheduling of the resource management component.

[0029] Optionally, the cloud tenant's instruction is a virtual instance creation request, which indicates creation of a virtual instance for the cloud tenant; and / or, the cloud tenant's instruction is a resource adjustment request, which indicates adjustment of specifications of physical resources used by the virtual instance owned by the cloud tenant.

[0030] Optionally, the system further includes: a resource management component. The method further includes: the resource management component schedules a physical resource group from the physical resource groups of multiple external devices to the host for deploying the virtual instance based on the resource adjustment request sent by the virtual instance, and the resource adjustment request indicates to adjust the specifications of the physical resources used by the virtual instance owned by the cloud tenant. Then the external device provides the physical resource group to the host, including: the external device provides the scheduled physical resource group to the host for deploying the virtual instance based on the scheduling of the resource management component.

[0031] Optionally, the method also includes: after the resource management component adds physical resources to the virtual instance, the resource management component sends a hot plug command to the host, and the hot plug command is used to indicate the added resources of the host; based on the hot plug command, the host hot plugs and adds resources for the virtual device used to deploy the virtual instance, and sends a notification message indicating the added resources to the virtual instance; the virtual instance performs the added processing based on the notification message.

[0032] Optionally, the method also includes: after reducing physical resources for the virtual instance, the resource management component sends a hot pull command to the host, and the hot pull command is used to indicate the host's resource reduction; based on the hot pull command, the host hot pulls the reduced resources from the virtual device used to deploy the virtual instance, and sends a notification message indicating the resource reduction to the virtual instance; the virtual instance performs the reduction processing based on the notification message.

[0033] Optionally, the system further comprises: a forwarding device. The method further comprises: the forwarding device forwarding the message between the host and the physical resource group allocated to the host.

[0034] In a third aspect, the present application provides a computing device including a memory and a processor, wherein the memory stores program instructions, and the processor runs the program instructions to execute the method provided in the second aspect of the present application and any possible implementation thereof.

[0035] In a fourth aspect, the present application provides a computing device cluster, including multiple computing devices, the multiple computing devices including multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors running the program instructions, so that the computing device cluster executes the method provided in the second aspect of the present application and any possible implementation thereof.

[0036] In a fifth aspect, the present application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium, and the computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device executes the method provided in the second aspect of the present application and any possible implementation thereof.

[0037] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method provided in the second aspect of the present application and any possible implementation thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 It is a structural diagram of an implementation environment provided by an embodiment of the present application;

[0039] Figure 2 It is a structural diagram of another implementation environment provided by an embodiment of the present application;

[0040] Figure 3 It is a structural diagram of a virtual instance deployment system based on cloud services provided in an embodiment of the present application;

[0041] Figure 4 is a schematic diagram of a host creating a first virtual device based on an external device and a physical resource group provided by the external device, provided by an embodiment of the present application;

[0042] Figure 5 It is a schematic diagram of the composition of a functional entity provided in an embodiment of the present application;

[0043] Figure 6 It is a schematic diagram of a relationship between an external device and a physical resource group of the external device and its functional unit, and a relationship between a first virtual device created by a host and the external device and a physical resource group provided by the external device, provided by an embodiment of the present application;

[0044] Figure 7 It is a structural diagram of another cloud service-based virtual instance deployment system provided in an embodiment of the present application;

[0045] Figure 8 It is a structural diagram of another cloud service-based virtual instance deployment system provided in an embodiment of the present application;

[0046] Fig. 9 It is a flowchart of a system for initializing a virtual instance deployment based on a cloud service provided by an embodiment of the present application;

[0047] Fig.10 It is a structural diagram of another cloud service-based virtual instance deployment system provided in an embodiment of the present application;

[0048] Fig.11 This is a flowchart of creating a virtual instance provided by an embodiment of the present application;

[0049] Fig.12 This is a flow chart of increasing resource specifications provided by an embodiment of the present application;

[0050] Fig.13 is a flow chart of reducing resource specifications provided by an embodiment of the present application;

[0051] Fig.14 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0052] Fig.15 It is a structural diagram of a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION

[0053] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0054] To facilitate understanding, the technology and background involved in the embodiments of the present application are first explained below.

[0055] Cloud computing: Cloud computing is a type of distributed computing, which refers to a network that manages and schedules a large number of computing resources and storage resources in a unified manner to provide on-demand services to users. The computing resources and storage resources are provided by a cluster of computing devices set up in a data center. In addition, cloud computing can provide users with a variety of service types, such as infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS).

[0056] Virtualization is a resource management technology that abstracts and transforms the various physical resources of the host, such as computing resources, network resources, and storage resources, to break the inseparable barriers between the physical structures of the host, so that users can use these resources in a better way than the original configuration. The resources used through virtualization are called virtualized resources, which are not restricted by the construction method, setting region or physical configuration of existing physical resources.

[0057] Host (physical machine, PM): A physical resource used to carry virtualization technology. A host is also called a physical machine. Usually, a host used to deploy a virtual instance is a physical server. A physical machine has multiple physical devices. For example, a physical server has physical devices such as a processor and a memory. Multiple virtual instances can be deployed in a host, and multiple virtual instances deployed on the same host share the physical resources of the host. According to different usage scenarios, a host can deploy virtual instances belonging to only one user, or it can deploy virtual instances belonging to multiple users.

[0058] A resource pool is a collection of various hardware resources and software resources involved in a cloud computing data center. Generally, by resource type, resources in a resource pool can be divided into computing resources, storage resources, and network resources.

[0059] The virtual instance runs on the host's operating system, and the virtual instance itself is equipped with an operating system. The operating system of the virtual instance runs an application program, which is used to implement the user's business. The virtual instance can use the host's hardware resources, and different virtual instances are isolated from each other. Generally, the virtual instance can be a virtual machine, a container, or an independent process.

[0060] Virtual machine (VM): refers to a complete computer system that is simulated by virtualization technology and has complete hardware system functions and runs in a completely isolated environment. Some instruction subsets of the virtual machine can be processed in the host machine, and other instructions can be executed in a simulated manner. A virtual machine is also called a virtual server.

[0061] A virtual machine can be considered as a collection of several virtual devices, which is a complete computer system with complete hardware system functions and running in a completely isolated environment. Virtual devices are virtualized based on physical devices that can share resources based on virtualization technology. For example, a virtual processor virtualized based on a processor based on virtualization technology is a virtual device. For another example, a training card virtualized based on a field-programmable gate array (FPGA) based on virtualization technology is also a virtual device.

[0062] The container provides a lightweight virtual operating environment. The container can be obtained by packaging all the code, libraries, and dependencies of the user's application into an image. When the image is executed, the image runs in the virtual operating environment. At this time, the container is a runtime instance of the image, similar to a lightweight sandbox, which can be started, started, stopped, and deleted. The image will not share the host's memory, processor (such as the central processing unit (CPU)) and disk resources with other images, realizing container isolation between the image and the host, and between the image and other images, ensuring that the process in the container cannot monitor any process or resources outside the container.

[0063] Direct memory access (DMA): It can also be called direct memory operation or group data transmission mode. It refers to a data interaction mode that directly accesses data from the computer's memory without passing through the computer's central processing unit (CPU). When transmitting data in DMA mode, the computer's CPU issues instructions to the DMA controller to instruct the DMA controller to control the data transmission. After completing the data transmission, the DMA controller feeds back the information that the transmission is completed to the CPU. It can be seen that in the process of DMA data transmission, the computer's CPU does not need to perform the transmission operation, which can save the computer's CPU from fetching instructions, fetching data, sending data and other operations, reducing the resource occupancy of the computer's CPU and saving system resources.

[0064] DMA can include remote direct memory access (RDMA) and local DMA. RDMA refers to a data transmission method that directly transfers data from the memory of one computer to another computer through a network without the intervention of the operating systems of both parties. Local DMA refers to a data transmission method that does not require a network.

[0065] Peripheral Component Interconnect Express (PCIe) bus: A high-speed serial computer expansion bus standard.

[0066] Network card: also known as network interface controller (NIC), network adapter, or local area network receiver, is a computer hardware designed to allow a host or computing device to communicate over a network.

[0067] Memory: It can also be called internal memory or main memory. Its function is to temporarily store the calculation data in the CPU and the data exchanged with external memory such as hard disk.

[0068] Data centers are the core infrastructure of cloud computing and big data. They provide massive computing, storage, and network resources and support a variety of online services and applications. However, traditional data centers face problems such as low resource utilization, high cost, and poor scalability. The main reason is the physical integration and hard coding of resources. For example, in traditional data centers, each server contains a fixed number and type of central processing unit (CPU), memory, network card, storage and other resources. These resources cannot be dynamically adjusted and allocated according to different workloads, resulting in resource fragmentation and waste.

[0069] To solve these problems, a new data center architecture has been proposed, namely resource disaggregation. Resource disaggregation refers to decoupling different types of resources (such as CPU, memory, and storage) from the server, deploying them on dedicated resource blades, and connecting them through high-speed networks. In this way, each resource can be managed and expanded independently without being restricted by other resources. At the same time, each resource can be dynamically combined and allocated on demand to meet the needs of different workloads. Therefore, resource disaggregation can improve the resource utilization and flexibility of the data center, reduce costs and power consumption, and simplify system upgrades and maintenance.

[0070] At present, resource separation is still in the exploratory stage in data centers and has not yet been widely used. Its implementation challenges include: how to ensure the efficient sharing of physical resources of external devices in different virtual instances (virtual machines, containers, etc.). Its benefits include the following aspects: 1) Maximizing the resource utilization of device pooling without static configuration; 2) Making the resources of a single instance fully flexible. For example, a single card is a 200G single card, and there are 5 cards in the pool, with a maximum bandwidth of 1T; 3) For cloud service providers, it can provide declarative capabilities to support users to configure the network bandwidth of instances on demand; 4) When a single card fails, it will not cause the entire system to crash and become unavailable, and only requires flexible replacement of the failed card.

[0071] Despite these challenges, resource separation still has great application prospects in data centers, and it can bring many advantages and potential to data centers. With the continuous growth and diversification of cloud computing and big data services, data centers need to manage and utilize their large and complex resource pools more flexibly and efficiently. Resource separation provides an effective solution to this problem, which can enable data centers to adapt to changing needs and provide better service quality. In addition, resource separation can also promote the rapid deployment and integration of new hardware devices (such as non-volatile memory, quantum computers, etc.) in data centers, thereby promoting technological innovation and development.

[0072] The peripheral component interconnect special interest group (PCI-SIG) defines the extended specifications of the PCIe specification, PCIe SR-IOV and MR-IOV. SR-IOV and MR-IOV are used to provide independent memory space, interrupts, direct memory access (DMA) channels, etc. for virtual machines (VMs). SR-IOV supports a single physical PCIe device to virtualize multiple virtual PCIe devices, and then directly connects the virtual PCIe devices to each virtual machine, so that multiple virtual machines in a single host can share PCIe device resources, but sharing of virtual machines across multiple hosts is not allowed. MR-IOV supports multiple hosts sharing a PCIe device to achieve efficient utilization and isolation of I / O resources.

[0073] However, in both methods, the flexibility of virtual instances in using resources of external devices is poor. For example, both methods only support PCIe specifications and only support sharing at the virtual function (VF) granularity. If elasticity needs to be supported, business awareness is required, such as through hot-plugging VFs. Different VFs of the same physical function (PF) are not supported to be assigned to different hosts. Among them, PF and VF are the concepts of two types of functions introduced by the SR-IOV protocol. PF is used to support PCI functions with SR-IOV functions. As defined in the SR-IOV specification, PF contains an SR-IOV function configuration structure for managing SR-IOV functions. PF is a full-featured PCIe function that can be discovered, managed, and processed like other PCIe devices. PF has fully configured resources and can be used to configure or control PCIe devices. VF is a function associated with PF. It is a lightweight PCIe function that can share one or more physical resources with physical functions and other VFs associated with the same physical function. VF is only allowed to have configuration resources for its own behavior.

[0074] In addition, PCIe MR-IOV requires complex configuration and management, involving concepts such as multiple hierarchical structures, switches, devices, and address spaces. Since the standard was released, no commercial product has announced support.

[0075] To this end, an embodiment of the present application provides a virtual instance deployment method based on cloud services and a system thereof. The virtual instance deployment system based on cloud services includes: a host pool and a resource pool. The resource pool includes multiple external devices. The external device includes one or more physical resource groups. The physical resource group is obtained based on the physical resource division of the external device. That is, in the virtual instance deployment system based on cloud services, the physical resources of the external device are provided to the host in the form of a physical resource group. In addition, the host pool includes multiple hosts. The host is used to create a first virtual device based on the physical resource groups of multiple target external devices in the multiple external devices, create a first virtual instance based on the first virtual device, and deploy the services of the first cloud tenant in the first virtual instance. That is, the host can create a virtual instance based on the physical resource groups of multiple target external devices in the resource pool. Among them, the virtual device has the virtual hardware required to create the virtual instance. In this way, it is equivalent to that the host can create a virtual instance based on the physical resource groups of at least two external devices in the resource pool, so that the same virtual instance can share the resources of different external devices, and improve the flexibility of the virtual instance in using the resources of the external device.

[0076] This article provides a detailed introduction to the technical solution of this application from multiple perspectives, including implementation scenarios, system architecture, method flow, and hardware devices.

[0077] The following first describes an implementation scenario of the embodiment of the present application with examples.

[0078] Figure 1 It is a schematic diagram of the structure of the implementation environment involved in this application. Figure 1 As shown, the implementation environment includes: a cloud platform 1 and a client 2. A communication connection can be established between the cloud platform 1 and the client 2 through a network. Optionally, the network can be a local area network, the Internet, or other networks, which is not limited in the embodiments of the present application. Users (also referred to as tenants or cloud tenants) can interact with the cloud platform 1 through the client 2. For example, a user can send instructions and cloud service request information to the cloud platform 1 through the client 2. The cloud platform 1 is used to provide corresponding cloud services to users based on the information sent by the client 2 to the cloud platform 1. The cloud service can be provided as an independent cloud service or as an additional service to other cloud services, which is not specifically limited in the embodiments of the present application.

[0079] A large number of basic resources owned by the cloud service provider are deployed in the cloud platform 1, such as computing resources, storage resources, and network resources. For example, computing resources can be computing devices (such as servers, etc.) that can provide computing capabilities. Clients 2 can be computers, personal computers, laptops, mobile phones, smart phones, tablet computers, cloud hosts, portable mobile terminals, multimedia players, e-book readers, wearable devices, smart home appliances, artificial intelligence devices, smart wearable devices, smart car devices, or Internet of Things devices.

[0080] In the embodiment of the present application, cloud platform 1 can be a cloud platform of a central cloud, a cloud platform of an edge cloud, or a cloud platform including a central cloud and an edge cloud, and the embodiment of the present application does not specifically limit it. In addition, when cloud platform 1 is a cloud platform including a central cloud and an edge cloud, the technical solution provided in the embodiment of the present application can be partially executed by a cloud platform deployed in an edge cloud and partially executed by a cloud platform deployed in a central cloud. In addition, cloud platform 1 can be a cloud platform of a private cloud or a public cloud, and the embodiment of the present application does not specifically limit it.

[0081] The cloud platform 1 can deploy a cloud system using the basic resources deployed in the cloud platform 1, so as to provide corresponding cloud services to users using the cloud system. The cloud platform 1 includes: one or more cloud systems. Communication connections can be established between each cloud system, and each cloud system can also establish communication connections with systems outside the cloud platform 1. Optionally, the cloud system can be implemented by one or more devices such as physical machines, bare metal servers, cloud servers, virtual machines or containers.

[0082] For example, Figure 1 As shown, the cloud platform 1 includes a cloud service-based virtual instance deployment system 11. The cloud service-based virtual instance deployment system 11 is used to manage the resources owned by the cloud platform 1, deploy virtual instances based on the resources, and use the virtual instances to provide cloud services to users. Figure 1 As shown, the cloud service-based virtual instance deployment system 11 includes a host pool 111 and a resource pool 112. The resource pool 112 includes multiple external devices. The external devices may be network cards, disks, sound cards, processors, and the like. These external devices may be regarded as dedicated resource slices. The external devices include one or more physical resource groups, and the external devices are used to provide physical resource groups to the host. The physical resource groups are obtained based on the physical resource division of the external devices. The host pool 111 includes multiple hosts. The host is used to create a first virtual device based on the physical resource groups of multiple target external devices in the multiple external devices, create a first virtual instance based on the first virtual device, and deploy the services of the first cloud tenant in the first virtual instance.

[0083] Optionally, the resource management function of the cloud service-based virtual instance deployment system 11 can be implemented by multiple components. Figure 2 As shown, the cloud service-based virtual instance deployment system 11 also includes a cloud platform management component 113 and a resource management component 114. The cloud platform management component 113 is used to indicate the specifications of the physical resources required for the virtual instance of the cloud tenant to the resource management component 114 based on the instructions of the cloud tenant. The resource management component 114 is used to schedule a physical resource group to a host for deploying a virtual instance from a physical resource group of multiple external devices based on the specifications. And / or, the resource management component 114 is used to schedule a physical resource group to a host for deploying a virtual instance from a physical resource group of multiple external devices based on a resource adjustment request sent by the virtual instance. Among them, the resource adjustment request indicates the adjustment of the specifications of the physical resources used by the virtual instance owned by the cloud tenant. At this time, the external device is specifically used to provide a scheduled physical resource group to the host for deploying the virtual instance based on the scheduling of the resource management component 114.

[0084] Furthermore, if Figure 2 As shown, the cloud service-based virtual instance deployment system 11 further includes a forwarding device 115. The forwarding device 115 is used to forward messages between a host and a physical resource group allocated to the host.

[0085] In one implementation, the cloud service-based virtual instance deployment method provided in the embodiment of the present application can be implemented by running an executable program on a computing device in the cloud platform 1. For example, the functions of the host, external device, cloud platform management component 113, and resource management component 114 in the cloud service-based virtual instance deployment method can be optionally presented in the form of an application installation package. After the computing device in the cloud platform 1 installs the application installation package, it can implement the corresponding functions by running the executable program therein.

[0086] It should be noted that resource separation has different levels in the data center, including partial disaggregation, semi-full disaggregation and full disaggregation. Partial separation refers to separating the storage and network devices from the server, while keeping the CPU and memory in the same server. Semi-full separation refers to separating the CPU and memory from the server, but still keeping them in the same rack. Full separation refers to separating all the CPU, memory, storage and network devices from the server and deploying them in different racks. The data center involved in this application may optionally include a data center with one or more resources that are not separated, partially separated, semi-fully separated or fully separated. In addition, each device in the cloud service-based virtual instance deployment system 11 provided in the embodiment of the present application can be optionally deployed through a high-speed interconnect bus pool.

[0087] It should be understood that the above content is an illustrative description of the application scenarios of the virtual instance deployment method based on cloud services provided in the embodiments of the present application, and does not constitute a limitation on the application scenarios of the virtual instance deployment method based on cloud services. Ordinary technicians in this field can know that as business needs change, its application scenarios can be adjusted according to application needs, and the embodiments of the present application do not list them one by one.

[0088] The following describes the system architecture of a cloud service-based virtual instance deployment system 11 (hereinafter referred to as system 11) provided in an embodiment of the present application.

[0089] Figure 3 1 is a schematic diagram of a virtual instance deployment system 11 based on cloud services provided in an embodiment of the present application. Figure 3 As shown, the system 11 includes: a host pool 111 and a resource pool 112. The resource pool 112 includes a plurality of external devices 1121. The external device 1121 includes one or more physical resource groups 1121a. The external device 1121 is used to provide the physical resource group 1121a to the host 1111. The external device 1121 is used to provide the physical resource group 1121a to the host 1111. The physical resource group 1121a is obtained based on the physical resource division of the external device 1121. The host pool 111 includes a plurality of hosts 1111. Figure 4 As shown, the host 1111 is used to create a virtual device 1111a based on a physical resource group 1121a of multiple target external devices 1121 among the multiple external devices 1121, create a virtual instance 1111b based on the virtual device 1111a, and deploy the cloud tenant's service in the virtual instance 1111b. For example, the host 1111 is used to create a first virtual device 1111a based on the physical resource group 1121a of the multiple target external devices 1121, create a first virtual instance 1111b based on the first virtual device 1111a, and deploy the first cloud tenant's service in the first virtual instance 1111b.

[0090] It can be seen that the physical resources of the external device 1121 are provided to the host 1111 in the form of a physical resource group 1121a, and the host 1111 is used to create a first virtual device 1111a based on the physical resource groups 1121a of multiple target external devices 1121 in the multiple external devices 1121, and create a first virtual instance 1111b based on the first virtual device 1111a. Figure 4 1 is a schematic diagram of the host 1111 creating a first virtual device 1111a based on the physical resource group 1121a provided by the external device X and the external device Y. Figure 4As shown, external device X provides two physical resource groups 1121a to host 1111, and external device Y provides three physical resource groups 1121a to host 1111. Host 1111 creates a first virtual device 1111a based on the five physical resource groups 1121a, and creates a first virtual instance 1111b based on the first virtual device 1111a. Therefore, host 1111 can create a virtual instance 1111b based on the physical resource groups 1121a of at least two external devices 1121 in resource pool 112 without perceiving the specific external devices, so that the same virtual instance 1111b can share the resources of different external devices 1121, thereby improving the flexibility of virtual instance 1111b in using the resources of external device 1121. Among them, virtual device 1111a can be a PCIe device or other types of devices, which are not specifically limited in the embodiments of the present application.

[0091] In the embodiment of the present application, since the physical resources of the external device 1121 are used to create virtual instances 1111b for all hosts 1111 in the host pool 111, the external device 1121 can be regarded as a device that shares physical resources with all hosts 1111 in the host pool 111, and the external device 1121 can be called a share aware device (SAD). The external device 1121 can be implemented as a device that supports different functions. For example, the external device 1121 can be selected as a network card, a disk, a sound card, a processor, etc. Since the present application provides the physical resources of the external device 1121 to the host 1111 in a physical resource group 1121a as a unit, the physical resource group 1121a is also called a function entity (FE).

[0092] The external device 1121 includes at least two types of resources. The at least two types of resources include: device configuration space and device resource space. The device configuration space includes capability descriptions and configuration interfaces related to device management. The device resource space includes physical resources that the external device 1121 can provide. For example, the device resource space of the external device 1121 includes: physical resources such as work queues and command registers. The external device 1121 also has a port (Port) for interconnection with other devices in the system 11. For example, the port of the external device 1121 is connected to the host 1111 through an interconnection bus. When the system 11 also includes a forwarding device 115, the port of the external device 1121 is also connected to the forwarding device 115 through the interconnection bus to connect to the host 1111 through the forwarding device 115. In addition, the external device 1121 also has a unique identification (ID) within the bus interconnection range, which is used to support the forwarding and interconnection access of requests (such as requests of the transaction layer type).

[0093] In order to support the implementation of the system 11 provided in the embodiment of the present application, the external device 1121 needs to support fine-grained management of device resources. For example, the physical resources of the external device 1121 can be finely divided according to the function to obtain multiple functional units. For example, when the external device 1121 is a network card, the physical resources of the external device 1121 can be divided into multiple functional units such as work queues and command registers according to the function. For another example, when the external device 1121 is a memory card, the physical resources of the external device 1121 can be divided into multiple functional units such as work queues (such as send queues and completion queues) and command registers according to the function. For another example, when the external device 1121 is a disk, the physical resources of the external device 1121 can be divided into multiple functional units such as work queues (WQ) and command registers according to the function. For another example, when the external device 1121 is a sound card, the physical resources of the external device 1121 can be divided into multiple functional units such as work queues and command registers according to the function. For another example, when the external device 1121 is a processor, the physical resources of the external device 1121 can be divided into multiple functional units such as work queues and command registers according to their functions. For another example, when the external device 1121 is a disk controller, the physical resources of the external device 1121 can be divided into multiple functional units such as work queues and command registers according to their functions. Among them, the processor includes various types of processors, such as a data processor (data processing unit, DPU), a graphics processor (graphics processing unit, GPU), a tensor processor (tensor processing unit, TPU) and a neural network processor (neural network processing unit, NPU). A work queue is a queue for storing work requests. It should be noted that the functional units after the physical resources are divided can also have other presentation forms. For example, physical resources can also be divided into queue pairs (Queue Pair, QP), and a queue pair is a "pair" of work queues, which are not listed one by one in the embodiments of the present application.

[0094] As mentioned above, the physical resources of the external device 1121 include multiple functional units. The external device 1121 can divide at least part of the multiple functional units into one or more physical resource groups 1121a. Each physical resource group 1121a includes one or more functional units. In one implementation, the number of functional units included in the physical resource group 1121a can be obtained according to the business load configuration. For example, the external device 1121 can determine the first total number of physical resource groups 1121a that need to be divided, as well as the specifications and the second total number of functional units included in each physical resource group 1121a according to the business load situation, and obtain multiple physical resource groups 1121a based on the division of multiple functional units according to the first total number, the specification and the second total number. Figure 5 Schematic diagram of the composition of a functional entity provided in the embodiment of the present application. Figure 5 As shown, the physical resources of the external device 1121 include multiple QPs, where some QPs are divided into multiple FEs, each FE includes one or more QPs, such as one FE includes three QPs, and multiple FEs include one QP. Figure 6 The physical resource group 1121a of the external device X and the external device Y and its functional units ( Figure 6 , and the relationship between the first virtual device 1111a created by the host 1111 and the physical resource group 1121a provided by the external device X and the external device Y.

[0095] Optionally, after the external device 1121 divides the functional units into the physical resource groups 1121a, it can also adjust the total number of physical resource groups 1121a included in the external device 1121. For example, the external device 1121 cancels the divided physical resource groups 1121a according to the service load to reduce the total number of physical resource groups 1121a included in the external device 1121. Alternatively, the external device 1121 divides the functional units that are not divided into the physical resource groups 1121a into new physical resource groups 1121a according to the service load to increase the total number of physical resource groups 1121a included in the external device 1121.

[0096] Similarly, after dividing the functional units into the physical resource group 1121a, the external device 1121 can also adjust the total number of functional units included in the physical resource group 1121a. For example, the external device 1121 increases or decreases the total number of functional units included in the divided physical resource group 1121a according to the service load.

[0097] When the external device 1121 has the function of adjusting the physical resource group 1121a, it can adjust the total number of physical resource groups 1121a included in the external device 1121 and / or the total number of functional units included in the physical resource group 1121a according to application requirements, so that the resource pool 112 provides the adjusted physical resource group 1121a to the host pool 111, thereby improving the degree of adaptation of the resource specifications of the physical resource group 1121a and the resource requirements of the host 1111.

[0098] Optionally, the host 1111 is also used to create a second virtual device 1111a based on a physical resource group 1121a of at least one of the multiple target external devices used to create the first virtual device, create a second virtual instance 1111b based on the second virtual device 1111a, and deploy the services of the second cloud tenant in the second virtual instance 1111b. In this way, the at least one target external device 1121 can provide virtual hardware to the first virtual device 1111a and to provide virtual hardware to the second virtual device 1111a, so that the physical resources of the same external device 1121 can be shared with different virtual instances 1111b. In addition, when the first virtual device 1111a and the second virtual device 1111a are created on different hosts 1111, the physical resources of the same external device 1121 can also be shared with different hosts 1111, further improving the flexibility of the virtual instance 1111b in using the resources of the external device 1121.

[0099] In one implementation, the resource management function of the system 11 may be implemented through multiple components. Figure 7As shown, the system 11 also includes: a cloud platform management component 113 and a resource management component 114. The cloud platform management component 113 is used to indicate the specifications of the physical resources required by the virtual instance 1111b of the cloud tenant to the resource management component 114 based on the instructions of the cloud tenant. The resource management component 114 is used to schedule the physical resource group 1121a to the host 1111 for deploying the virtual instance 1111b in the physical resource group 1121a of multiple external devices 1121 based on the specifications. Then the external device 1121 is specifically used to provide the scheduled physical resource group 1121a to the host 1111 for deploying the virtual instance 1111b based on the scheduling of the resource management component 114. In one implementation, the cloud platform management component 113 and the resource management component 114 can be implemented by a single server or by a cluster including multiple servers. For example, the cloud platform management component 113 and the resource management component 114 are both implemented by separating the cabinets in the data center. Alternatively, the resource management component 114 may be software deployed in the system 11 , and the software may be deployed at any location in the system 11 , such as a software processing unit connected to a private interface provided by any host 1111 , an external device 1121 , or an external device 1121 . Figure 7 Schematic diagram of resource management component 114 deployed in host 1111.

[0100] Optionally, the cloud tenant's instruction is a virtual instance creation request. The virtual instance creation request indicates the creation of a virtual instance 1111b for the cloud tenant. By way of example, the virtual instance creation request may be triggered by the cloud tenant purchasing a cloud service on the cloud platform. For example, the cloud platform may deploy the cloud tenant's business in the virtual instance 1111b to provide cloud services to the cloud tenant. When the cloud tenant purchases cloud services on the cloud platform, a virtual instance creation request may be triggered to indicate the creation of a virtual instance 1111b for deploying the cloud service of the cloud tenant. Optionally, the virtual instance creation request carries the specifications of the physical resources required by the virtual instance 1111b. For example, when the cloud tenant purchases cloud services on the cloud platform, if the specifications of the virtual resources such as the virtual processor, virtual memory, virtual bandwidth and virtual storage used by the virtual instance 1111b are specified, the virtual instance creation request may carry the specifications of these virtual resources. At this time, the specifications indicated by the cloud platform management component 113 to the resource management component 114 are the specifications carried by the virtual instance creation request. Alternatively, the virtual instance creation request does not carry the specifications of the physical resources required by the virtual instance 1111b. In this case, the cloud platform management component 113 can optionally adaptively determine the specifications of the physical resources required by the virtual instance 1111b based on the virtual instance creation request, and indicate the specifications to the resource management component 114.

[0101] And / or, the cloud tenant's indication is a resource adjustment request. The resource adjustment request indicates adjustment of the specifications of the physical resources used by the virtual instance 1111b owned by the cloud tenant. For example, when the cloud tenant's business load increases, the cloud tenant sends a resource adjustment request to the cloud platform management component 113 to indicate an increase in the specifications of the physical resources used by the virtual instance 1111b owned by the cloud tenant. When the cloud tenant's business load decreases, the cloud tenant sends a resource adjustment request to the cloud platform management component 113 to indicate a reduction in the specifications of the physical resources used by the virtual instance 1111b owned by the cloud tenant. The cloud tenant may choose to indicate or not indicate the numerical value of the specifications of the physical resources that need to be adjusted in the resource adjustment request according to its wishes. When the cloud tenant indicates the numerical value of the specifications of the physical resources that need to be adjusted in the resource adjustment request, the specifications indicated by the cloud platform management component 113 to the resource management component 114 are the specifications indicated by the resource adjustment request. Alternatively, when the cloud tenant does not indicate the numerical value of the specification of the physical resource that needs to be adjusted in the resource adjustment request, the cloud platform management component 113 can optionally adaptively determine the numerical value of the specification of the physical resource that needs to be adjusted and indicate the specification to the resource management component 114.

[0102] When the cloud tenant's instruction is a resource adjustment request, since the resource adjustment request is triggered by the cloud tenant when it needs to adjust the specifications of the resources used by the virtual instance 1111b it owns, the resource management component 114 adjusts the resources based on the resource adjustment request, and the specifications of the resources used by the virtual instance 1111b can be dynamically adjusted based on the cloud tenant's wishes. When the specifications of the resources are increased based on the resource adjustment request, it helps to meet the sudden demand for resources by the cloud tenant and ensure the performance of the cloud service. When the specifications of the resources are reduced based on the resource adjustment request, it helps to save the cost of resource consumption for the cloud tenant and reduce the cost of the cloud tenant using the cloud service.

[0103] In another possible implementation, the resource adjustment request may be optionally triggered by the virtual instance 1111b. For example, when the business load of the virtual instance 1111b is large, the virtual instance 1111b spontaneously triggers the resource adjustment request to indicate an increase in the specifications of the physical resources it uses. When the business load of the virtual instance 1111b decreases, the virtual instance 1111b spontaneously triggers the resource adjustment request to indicate a decrease in the specifications of the physical resources it uses. At this time, the resource management component 114 is used to schedule the physical resource group 1121a to the host 1111 used to deploy the virtual instance 1111b in the physical resource group 1121a of the multiple external devices 1121 based on the resource adjustment request sent by the virtual instance 1111b. Accordingly, the external device 1121 is specifically used to provide the scheduled physical resource group 1121a to the host 1111 used to deploy the virtual instance 1111b based on the scheduling of the resource management component 114. In this way, when the business load of the virtual instance 1111b changes greatly, the resource management component 114 can dynamically adjust the specifications of the resources used by the virtual instance 1111b based on the resource adjustment request triggered by the virtual instance 1111b.

[0104] Since the resource management component 114 is used to schedule the physical resource group 1121a, the resource management component 114 is also called a fabric manager. The resource management component 114 has a control function (CF), which is used to manage various matters of the external device 1121 sharing physical resources with the host 1111. For example, the control function manages the process management of the external device 1121 sharing its physical resources by managing the port of the external device 1121. Among them, the implementation of the control function can be selected to be similar to the implementation of SR-IOV's PF or the implementation of MR-IOV's base function (BF), or the implementation of the control function can also be selected to be adjusted according to the characteristics of the external device 1121, and the embodiment of the present application does not specifically limit it.

[0105] When scheduling the physical resource group 1121a, the resource management component 114 may first obtain the usage and business demand of all resources in the resource pool 112, and make decisions based on the usage and business demand. In addition, there are multiple scheduling strategies available. For example, the resource management component 114 may schedule the physical resource group 1121a for the host 1111 based on the load balancing strategy, or schedule the physical resource group 1121a for the host 1111 based on the single-machine performance priority strategy. The strategy for scheduling resource usage can be selected from the multiple scheduling strategies according to application requirements.

[0106] Scheduling the physical resource group 1121a for the host 1111 based on the load balancing strategy means that the resource management component 114 performs resource scheduling according to the principle of load balancing among all resources that can be provided by the resource pool 112 according to the resource usage recorded in the global resource table. For example, when it is necessary to increase the specifications of the physical resources used by the virtual instance 1111b, based on the load balancing strategy, the physical resource group 1121a of the external device 1121 that does not provide physical resources to the virtual instance 1111b can be preferentially added to the host 1111 used to deploy the virtual instance 1111b, or the physical resource group 1121a of the external device 1121 with the most unused resources can be preferentially added to the host 1111 used to deploy the virtual instance 1111b. Similarly, when it is necessary to reduce the specifications of the physical resources used by the virtual instance 1111b, the physical resource group 1121a of the external device 1121 with a larger total specification among all the external devices 1121 providing resources to the virtual instance 1111b can be preferentially reduced based on the load balancing strategy, or the physical resource group 1121a of the external device 1121 with the least unused resources can be preferentially reduced to the host 1111 used to deploy the virtual instance 1111b. The global resource table is used to record information such as the total amount of all resources in the resource pool 112 and their usage. For example, when it is necessary to reduce the specifications of the physical resources used by the virtual instance 1111b, the global resource table indicates that the amount of unused resources of the external device X is 80%, and the amount of unused resources of the external device Y is 0%. Based on the load balancing strategy, the resource management component 114 indicates to reduce the physical resource group 1121a provided by the external device Y to the virtual instance 1111b. By scheduling the physical resource group 1121a for the host 1111 based on the load balancing strategy, the impact of a large load of a single external device 1121 on the performance can be avoided, thereby ensuring the implementation performance of the cloud service.

[0107] Scheduling the physical resource group 1121a for the host 1111 based on the single-machine performance priority strategy means that when the resources of a single external device 1121 are sufficient, the physical resources used by the virtual instance 1111b are made to come from the same external device 1121 as much as possible. For example, when it is necessary to increase the specifications of the physical resources used by the virtual instance 1111b, if the resources of the external device 1121 are sufficient, if the physical resources used by the virtual instance 1111b are all provided by one external device 1121, it is preferred to add the physical resource group 1121a of the external device 1121 to the host 1111 used to deploy the virtual instance 1111b; if the physical resources used by the virtual instance 1111b are provided by multiple external devices 1121, it is preferred to add the physical resource group 1121a of the external device 1121 with the largest specifications to the host 1111 used to deploy the virtual instance 1111b. Similarly, when it is necessary to reduce the specifications of the physical resources used by the virtual instance 1111b, if the physical resources used by the virtual instance 1111b are provided by multiple external devices 1121, the physical resource group 1121a that provides the smallest specifications of the external device 1121 is preferentially reduced to the host 1111 used to deploy the virtual instance 1111b. By scheduling the physical resource group 1121a for the host 1111 based on the single-machine performance priority strategy, the cache capacity can be fully utilized and the switch routing time can be shortened, which helps to achieve the highest performance of a single external device 1121.

[0108] It should be noted that, in order to support resource scheduling, the resource management component 114 needs to obtain in advance the global resource table of the resource pool 112, the topological relationship between all hosts 1111 in the host pool 111 and all external devices 1121 in the resource pool 112, and the routing configuration of each device in the system 11. In one implementation, the resource management component 114 may optionally perform a device enumeration operation on all devices in the system 11 to obtain information and topological relationships of all devices in the system 11. Then, based on the topological relationship of the devices, a routing calculation is performed to obtain the routing configuration of each device in the system 11 to open up the communication path between the devices.

[0109] The resource management component 114 performs the device enumeration operation including: after the system 11 is powered on, the resource management component 114 broadcasts the enumeration configuration message in the system 11 based on the bus protocol, receives the message fed back by each device in the system 11 based on the enumeration configuration message, and then discovers and identifies each device in the system 11 based on the fed back message, such as identifying the host 1111, the forwarding device 115 and the external device 1121, etc., obtains the resources of each device in the system 11, such as obtaining what types of physical resources the external device 1121 has, the number of each physical resource (such as QP and FE), etc., and then obtains the entire resource table of the system 11 based on the resources of each device, obtains the connection relationship between each device, and draws a global topology map reflecting the topological relationship between each device in the system 11 based on the connection relationship. The implementation process of discovering and identifying each device in the system 11 can be: after the bus link is established, each device in the system 11 exchanges the device information (such as the global identification number and the port number, etc.) connected at both ends of the link through the link layer protocol, and saves the received opposite device information in the configuration space corresponding to the local port.

[0110] After the resource management component 114 obtains the global topology of the entire system 11, it can perform routing calculations according to the interconnection relationship between the devices in the system 11, and obtain a full routing table based on the results of the routing calculations. The routing calculation needs to traverse all paths that can reach the destination device, adopt the shortest path principle in the process, and execute relevant strategies to avoid routing loops. Among them, the adoption of the shortest path principle means that when each device traverses all reachable paths to other device ports, it is necessary to record the total number of hops from the local outbound port to the destination device during each traversal process, and take the minimum total number of hops in the total number of hops of all paths as the distance from the port to the destination device, and select the port with the shortest distance from all ports as the routing exit to the destination device in the routing configuration. Executing relevant strategies to avoid routing loops means that because the system 11 supports physical ring topology, there may be routing loops. When scanning all paths, it is necessary to add restrictions and actively close some paths to prevent messages from forming an infinite loop on the link.

[0111] After completing the full routing calculation, the resource management component 114 needs to assign device addresses to each device in the system 11, determine the routing configuration of each device, and send the assigned device address and routing configuration to each device to complete the configuration. After the configuration is completed, the network relationship between the devices in the entire system 11 is opened, and the devices can access and communicate with each other through the device address. It should be noted that the resource management component 114 can also be responsible for the acquisition and management of information such as logs, which will not be explained in detail here.

[0112] Optionally, after the resource management resource adds physical resources to the host 1111 for deploying the virtual instance 1111b, the resource management component 114 is further used to send a hot plug command to the host 1111, and the hot plug command is used to indicate the additional resources of the host 1111. Accordingly, the host 1111 is specifically used to hot plug and add resources for the virtual device 1111a for deploying the virtual instance 1111b based on the hot plug command, and send a notification message indicating the additional resources to the virtual instance 1111b. The virtual instance 1111b performs the additional processing based on the notification message.

[0113] Similarly, after the resource management resource reduces the resources of the host 1111 used to deploy the virtual instance 1111b, the resource management component 114 is also used to send a hot pull command to the host 1111, and the hot pull command is used to indicate the reduction of resources of the host 1111. Accordingly, the host 1111 is specifically used to hot pull the reduced resources from the virtual device 1111a used to deploy the virtual instance 1111b based on the hot pull command, and send a notification message indicating the reduction of resources to the virtual instance 1111b. The virtual instance 1111b performs the reduction processing based on the notification message.

[0114] By hot-plugging or hot-unplugging resources adjusted for virtual instance 1111b, physical resources allocated to host 1111 can be dynamically and flexibly allocated without being perceived by the business scenario, which helps to solve the sudden resource demands of users in cloud scenarios and further improves the flexibility of virtual instance 1111b in using the resources of external device 1121.

[0115] Alternatively, if Figure 8 As shown, the system 11 also includes: a forwarding device 115. The forwarding device 115 is used to forward messages between the host 1111 and the physical resource group 1121a assigned to the host 1111. For example, assuming that the physical resource group 1 of the external device 1 is assigned to the host 1, and the host 1 uses the physical resource group 1 to store the data received when the host 1 implements a certain cloud service, then when the host 1 receives the data belonging to the cloud service, it needs to forward the data to the physical resource group 1 so that the physical resource group 1 stores the data. After the host 1 sends the data to the physical resource group 1, according to the routing relationship, the data will be first sent to the forwarding device 115, and then sent to the physical resource group 1 by the forwarding device 115. Among them, the devices in the system 11 support the use of a step-by-step routing method. Each device in the system 11 maintains a local routing table. The routing table describes the routing relationship between the address of the destination device and the local port (Port), indicating which local ports can reach the destination device. After the message is sent from the port, the subsequent path is forwarded hop by hop by the device through which the message passes according to the local routing table, and finally reaches the destination device.

[0116] Optionally, the forwarding device 115 is also used to forward messages between different external devices 1121. For example, the physical resource group 2 of the host 1 is used to implement the virtual machine 1, and the physical resource group 3 of the host 2 is used to implement the virtual machine 2. When virtual machines 1 and 2 need to communicate, the messages to be transmitted between the two can be forwarded through the forwarding device 115.

[0117] Since the forwarding device 115 realizes the interconnection between the host pool 111 and the resource pool 112, and the host pool 111 includes multiple hosts 1111, and the resource pool 112 includes multiple external devices 1121, the forwarding device 115 needs to support multi-path message forwarding and routing functions. In addition, since the external device 1121 is used to share physical resources with all hosts 1111 in the host pool 111, in order to support the implementation of the sharing function, the forwarding device 115 also needs to have a sharing function. For example, the forwarding device 115 supports the sharing protocol. At this time, the data link layer and the transaction layer need to add a label so that when sending data, the destination of the transmission is determined based on the label, thereby determining the transmission path. Accordingly, the forwarding device 115 can be called a share aware switch (SAS). Further, since the resource management component 114 can be deployed in the system 11, the forwarding device 115 also needs to have a port that supports the resource management component 114 to implement the management function.

[0118] In addition, the system 11 may optionally include one or more forwarding devices 115. When the system 11 includes multiple forwarding devices 115, the multiple forwarding devices 115 may be interconnected in various topologies, and the connection method may be set according to application requirements. For example, the multiple forwarding devices 115 may be interconnected in a tree, fat tree, star, or mesh manner.

[0119] The above describes the system 11 architecture and various components of the virtual instance deployment system 11 based on cloud services, but does not describe the implementation process of creating a virtual instance 1111b and adjusting the specifications of the resources used by the virtual instance 1111b. For ease of understanding, this part of the content is described in the following method embodiment.

[0120] The present application provides a method for deploying a virtual instance based on a cloud service. The method is applied to a virtual instance deployment system based on a cloud service provided in an embodiment of the present application. The system includes: a host pool and a resource pool. The host pool includes a plurality of hosts. The resource pool includes a plurality of external devices. The method includes: an external device provides a physical resource group to a host, the external device includes one or more physical resource groups, and the physical resource group is obtained based on the physical resource division of the external device; the host creates a first virtual device based on the physical resource groups of a plurality of target external devices among the plurality of external devices, creates a first virtual instance based on the first virtual device, and deploys the services of a first cloud tenant in the first virtual instance.

[0121] Optionally, the method also includes: the host creates a second virtual device based on a physical resource group of at least one of the multiple target external devices, creates a second virtual instance based on the second virtual device, and deploys the service of the second cloud tenant in the second virtual instance.

[0122] Optionally, the physical resources of the external device include a plurality of functional units, and before the external device provides the physical resource group to the host, the method further includes:

[0123] The external device divides at least part of the plurality of functional units into one or more physical resource groups, and the physical resource group includes the one or more functional units.

[0124] Optionally, the method further includes: the external device adjusting the total number of physical resource groups included in the external device, and / or adjusting the total number of functional units included in the physical resource groups.

[0125] Optionally, the external device is a network card, and the functional unit includes: a work queue and a command register; the external device is a storage card, and the functional unit includes: a work queue and a command register; the external device is a disk, and the functional unit includes: a work queue and a command register; the external device is a sound card, and the functional unit includes: a work queue and a command register; the external device is a processor, and the functional unit includes: a work queue and a command register; the external device is a disk controller, and the functional unit includes: a work queue and a command register.

[0126] Optionally, the system further includes: a cloud platform management component and a resource management component. The method further includes: the cloud platform management component indicates the specifications of the physical resources required by the cloud tenant's virtual instance to the resource management component based on the cloud tenant's instructions; the resource management component schedules the physical resource group from the physical resource groups of multiple external devices to the host for deploying the virtual instance based on the specifications. The external device then provides the physical resource group to the host, including: the external device provides the scheduled physical resource group to the host for deploying the virtual instance based on the scheduling of the resource management component.

[0127] Optionally, the cloud tenant's instruction is a virtual instance creation request, which indicates creation of a virtual instance for the cloud tenant; and / or, the cloud tenant's instruction is a resource adjustment request, which indicates adjustment of specifications of physical resources used by the virtual instance owned by the cloud tenant.

[0128] Optionally, the system further includes: a resource management component. The method further includes: the resource management component schedules a physical resource group from the physical resource groups of multiple external devices to the host for deploying the virtual instance based on the resource adjustment request sent by the virtual instance, and the resource adjustment request indicates to adjust the specifications of the physical resources used by the virtual instance owned by the cloud tenant. Then the external device provides the physical resource group to the host, including: the external device provides the scheduled physical resource group to the host for deploying the virtual instance based on the scheduling of the resource management component.

[0129] Optionally, the method also includes: after the resource management component adds physical resources to the virtual instance, the resource management component sends a hot plug command to the host, and the hot plug command is used to indicate the added resources of the host; based on the hot plug command, the host hot plugs and adds resources for the virtual device used to deploy the virtual instance, and sends a notification message indicating the added resources to the virtual instance; the virtual instance performs the added processing based on the notification message.

[0130] Optionally, the method also includes: after reducing physical resources for the virtual instance, the resource management component sends a hot pull command to the host, and the hot pull command is used to indicate the host's resource reduction; based on the hot pull command, the host hot pulls the reduced resources from the virtual device used to deploy the virtual instance, and sends a notification message indicating the resource reduction to the virtual instance; the virtual instance performs the reduction processing based on the notification message.

[0131] Optionally, the system further comprises: a forwarding device. The method further comprises: the forwarding device forwarding the message between the host and the physical resource group allocated to the host.

[0132] Below Figure 8 Taking the virtual instance deployment system based on cloud service as an example, the implementation process of the virtual instance deployment method based on cloud service provided by the embodiment of the present application is described. The method mainly includes: initializing the virtual instance deployment system based on cloud service, creating a virtual instance and adjusting the resource specifications of the virtual instance. The implementation process of these three parts is described below.

[0133] The following is an explanation of the process of initializing the virtual instance deployment system based on cloud services. Fig. 9 As shown, the implementation process includes the following steps:

[0134] Step 901: After the system is powered on, receive an administrator's instruction on the deployment location of the resource management component, and deploy the resource management component based on the instruction.

[0135] According to the previous description, the resource management component can be implemented by a single server or by a cluster including multiple servers. For example, the resource management component is implemented by a cabinet in a separate data center. Alternatively, the resource management resource can be software deployed in the system 11, and the software can be deployed at any location in the system 11. Therefore, the deployment location of the resource management component can be optionally indicated by the administrator. After the system is powered on, the system can receive the administrator's instructions on the deployment location of the resource management component, and deploy the resource management component at the location indicated by the administrator. In one implementation, when the resource management component is software, deploying the resource management component is actually the process of loading the software package of the resource management component. For example, if Fig.10 As shown, the system includes multiple hosts 1111. When an administrator instructs to deploy a resource management component 114 on one of the multiple hosts 1111, the host 1111 can load the software package of the resource management component 114 in the host 1111 based on the administrator's instruction to deploy the resource management component 114 in the host 1111.

[0136] Step 902: The resource management component obtains the global resource table of the resource pool, the topological relationship between all hosts in the host pool and all external devices in the resource pool, and the routing configuration of each device in the system.

[0137] In one implementation, the resource management component may optionally perform device enumeration operations on all devices in the system 11 to obtain information and topological relationships of all devices in the system. Then, based on the topological relationships of the devices, routing calculations are performed to obtain routing configurations of each device in the system 11 to open up communication paths between devices. The implementation process of step 902 is described in the previous system embodiment, and will not be repeated here.

[0138] Step 903: The resource management component provides the cloud platform management component with the resource status of the external devices in the resource pool.

[0139] After obtaining the global resource table, topology relationship and routing configuration, the resource management component can optionally provide the cloud platform management component with the resource status of external devices in the resource pool so that the cloud platform management component can understand the resource configuration status of the resource pool.

[0140] Step 904: Host initialization.

[0141] In this process, after the administrator powers on the host, he needs to install the operating system on the host and load the host device driver (Host Device Driver, HDD) to make the host enter the initialization state. Among them, the host driver is usually loaded and executed as part of the host OS or management program software. The functions of the host driver include the following aspects: supporting the enumeration, configuration and management of FE of SAD devices; supporting sending resource request messages to FM to request physical resources of FE; responsible for configuring each FE, such as resource identification, interrupt vector table, memory-mapped input / output (MMIO) or command register resources, etc.

[0142] It should be noted that the execution order of step 904 can be determined according to application requirements. For example, in some implementation scenarios, step 904 can be executed before or after the resource management component is deployed, and this embodiment of the application does not specifically limit it.

[0143] The following describes the process of creating a virtual instance. Fig.11 As shown, the implementation process includes the following steps:

[0144] Step 1101: The cloud platform management component indicates to the resource management component the specifications of the physical resources required for the virtual instance of the cloud tenant based on the virtual instance creation request, and the virtual instance creation request indicates the creation of a virtual instance for the cloud tenant.

[0145] When a cloud tenant needs the cloud platform to provide cloud services to it, it can perform operations on the client it uses to trigger a virtual instance creation request. After receiving the virtual instance creation request, the cloud platform management component can determine the specifications of the physical resources required for the virtual instance used to implement the cloud tenant's business, and then indicate the specifications to the resource management component so that the resource management component can perform resource scheduling based on the specifications. Among them, the virtual instance creation request indicates the creation of a virtual instance for the cloud tenant. And, according to the previous description, it can be seen that the virtual instance creation request may or may not carry the specifications of the physical resources required for the virtual instance. When the virtual instance creation request carries the specification, the cloud platform management component can directly indicate the specification to the resource management component. When the virtual instance creation request does not carry the specification, the cloud platform management component can optionally determine the specifications of the physical resources required for the virtual instance based on the virtual instance creation request, and indicate the specification to the resource management component.

[0146] Step 1102: The resource management component schedules a physical resource group from among the physical resource groups of multiple external devices to a host for deploying a virtual instance based on the specification.

[0147] After receiving the specification indicated by the cloud platform management component, the resource management component can schedule physical resources of corresponding specifications in the physical resource group of the resource pool to the host for deploying the virtual instance based on the specification. In one implementation, the cloud platform management component indicates the specification to the resource management component in the form of a configuration file. After receiving the configuration file, the resource management component can parse the configuration file to obtain the specification indicated by the cloud platform management component. For example, assuming that the resource management component obtains that a network card device needs to be configured by parsing the configuration file, and the basic bandwidth requirement of the network card device is 2G, the resource management component determines that a physical resource group of the external device 1 needs to be allocated to the host for deploying the virtual instance according to the specification, so as to provide a basic bandwidth of 2G by using the QP resources included in the physical resource group. After determining the physical resources that need to be scheduled to the host, the resource management component sends a scheduling indication to the external device to which the physical resource belongs to notify the resource scheduling matter, and sends a virtual instance creation command to the host to instruct the host to create a virtual instance based on the scheduled physical resources. After receiving the scheduling indication, the host first allocates the address of the host to the physical resource indicated by the scheduling indication, etc., to indicate the allocation relationship between the physical resource and the host, and then creates a virtual instance based on the physical resource. Optionally, the scheduling instruction sent by the resource management component to the host can be a hot plug command. In addition, after the resource management component receives the specification indicated by the cloud platform management component, it can first query the global resource table to determine whether there are idle resources for scheduling. When there are idle resources for scheduling, the physical resource group is scheduled to the host for deploying the virtual instance.

[0148] Step 1103: The external device provides a scheduled physical resource group to a host for deploying a virtual instance based on the scheduling of the resource management component.

[0149] After receiving the scheduling instruction from the resource management component, the external device will provide the scheduled physical resource group to the host for deploying the virtual instance according to the scheduling instruction.

[0150] Step 1104: The host creates a first virtual device based on the physical resource groups of multiple target external devices among the multiple external devices, creates a first virtual instance based on the first virtual device, and deploys the services of the first cloud tenant in the first virtual instance.

[0151] After the host receives the virtual instance creation command of the resource management component, it will create a virtual instance based on the allocated physical resources according to the virtual instance creation command. In one implementation, in the process of the host creating a virtual instance, the host's Hypervisor (management program, also known as a virtual machine monitor) first starts the virtual machine simulator process, and calls the management component in the host to create a virtual device (virtual device, VD) based on the scheduled physical resources, and then starts the basic input output system (basic input output system, BIOS) of the virtual instance, uses the BIOS to identify the virtual device, allocates resources such as memory addresses to the virtual device, and then starts the operating system of the virtual instance, uses it to load the virtual device driver (virtual device driver, VDD), and then the virtual device driver enables the device, such as driving the virtual device, to complete the creation process of the virtual instance. Among them, the management component in the host can be a device share management unit (device share manage unit, DSMU), which can be selected as a part independent of the Hypervisor, or as a part of the Hypervisor. In addition, the DSMU can also use the software simulation function of the DSMU for separation management, and abstract the virtual device based on the physical resources. For the slow path of VD operation, the software simulation function of DSMU simulates and abstracts the virtual device. For the fast path, the virtual device driver directly connects with the allocated physical resource group to abstract the virtual device.

[0152] The following describes the process of adjusting the resource specifications of a virtual instance. The following describes the implementation process of increasing and decreasing resource specifications. Fig.12 As shown, the implementation process of increasing resource specifications includes the following steps:

[0153] Step 1201: Based on a resource adjustment request, the cloud platform management component indicates to the resource management component the specifications of the physical resources required for the virtual instance indicated by the resource adjustment request, and the resource adjustment request indicates the specifications of the physical resources to be increased for the virtual instance.

[0154] Resource adjustment requests can be triggered by cloud tenants or virtual instances. For example, when the business load of a cloud tenant increases, the cloud tenant can trigger a resource adjustment request through the client it uses to indicate that the specifications of the physical resources used by the virtual instance owned by the cloud tenant should be increased to meet the increased business needs. For another example, when the business load of a virtual instance increases, the virtual instance can send a resource adjustment request, such as sending a resource adjustment request through a virtual device driver, to indicate that the specifications of the physical resources used by itself should be increased to meet the increased business needs.

[0155] After receiving the resource adjustment request, the cloud platform management component can determine the specifications of the physical resources that need to be adjusted to the virtual instance indicated by the resource adjustment request, and then indicate the specifications to the resource management component, so that the resource management component can perform resource scheduling based on the specifications. Optionally, the resource adjustment request may carry or not carry the specifications of the physical resources that need to be adjusted to the virtual instance. When the resource adjustment request carries the specifications, the cloud platform management component can directly indicate the specifications to the resource management component. When the resource adjustment request does not carry the specifications, the cloud platform management component can optionally determine the specifications of the physical resources that need to be adjusted to the virtual instance according to the resource adjustment request, and indicate the specifications to the resource management component. Optionally, the cloud platform management component determines the specifications of the physical resources that need to be adjusted to the virtual instance, and can first query whether the idle physical resources in the resource pool can meet the specifications. When the idle physical resources in the resource pool can meet the specifications, the cloud platform management component indicates the specifications to the resource management component. In addition, when the cloud platform management component indicates the specifications to the resource management component, it can also carry the identification information of the virtual instance whose resource specifications need to be adjusted, so that the resource management component can determine the object whose resource specifications need to be adjusted.

[0156] It should be noted that when a resource adjustment request is triggered by the virtual instance itself, the resource adjustment request will be intercepted and parsed by the Hypervisor of the host where the virtual instance is deployed. The Hypervisor will indicate the specifications of the physical resources required by the virtual instance indicated by the resource adjustment request to the resource management component through DSMU.

[0157] Step 1202: The resource management component schedules a physical resource group from among the physical resource groups of multiple external devices to a host for deploying a virtual instance based on the specification, and sends a hot plug command to the host, where the hot plug command is used to instruct the host to add resources.

[0158] After the resource management component receives the specifications indicated by the cloud platform management component, it can schedule physical resources of corresponding specifications in the physical resource group of the resource pool to the host used to deploy the virtual instance based on the specifications. In one implementation, the cloud platform management component indicates the specifications to the resource management component in the form of a configuration file. After the resource management component receives the configuration file, it can parse the configuration file to obtain the specifications indicated by the cloud platform management component. After the resource management component determines the physical resources that need to be scheduled to the host, it sends a scheduling instruction to the external device to which the physical resources belong to notify the resource scheduling matter, and sends a hot plug command to the host, which is used to indicate the additional resources of the host. For example, the resource management component sends a hot plug command to the Hypervisor of the host. Optionally, after the resource management component receives the specifications indicated by the cloud platform management component, it can first query the global resource table to determine whether there are idle resources for scheduling. When there are idle resources for scheduling, the physical resource group is scheduled to the host used to deploy the virtual instance. Among them, please refer to the relevant content in the previous system embodiment for the strategy used for scheduling resources, which will not be repeated here.

[0159] Step 1203: The external device provides a scheduled physical resource group to a host for deploying a virtual instance based on the scheduling of the resource management component.

[0160] After receiving the scheduling instruction from the resource management component, the external device will provide the scheduled physical resource group to the host for deploying the virtual instance according to the scheduling instruction.

[0161] Step 1204: The host is specifically used to hot-plug and add resources for the virtual device used to deploy the virtual instance based on the hot-plug command, and send a notification message indicating the added resources to the virtual instance.

[0162] After receiving the hot plug command, the host can process the hot plug command, add resources to the virtual device of the virtual instance by hot plugging, and send a notification message to the virtual instance to notify the virtual instance of the resource adjustment event. In one implementation, after receiving the hot plug command, the host's hypervisor can optionally call DSMU to add resources to the virtual device by hot plugging, and send a hot plug interrupt message to the virtual instance.

[0163] Step 1205: The virtual instance is used to perform additional configuration processing based on the notification message.

[0164] After the virtual instance receives the notification message indicating the additional resources, its virtual device driver can process based on the notification message to complete the additional resource configuration process. For example, when the notification message is a hot plug interrupt message, after the virtual device driver receives the hot plug interrupt message, it can use the terminal processing function to perform hot plug processing on the hot plug interrupt message to configure the additional resources for the virtual device, so that the virtual instance can dynamically use the additional resources. It should be noted that after completing the additional processing, the host can notify the resource management component to refresh the global resource table.

[0165] like Fig.13 As shown, the implementation process of reducing resource specifications includes the following steps:

[0166] Step 1301: Based on a resource adjustment request, the cloud platform management component indicates to the resource management component the specifications of the physical resources required by the virtual instance indicated by the resource adjustment request, and the resource adjustment request indicates a reduction in the specifications of the physical resources used by the virtual instance.

[0167] For the implementation process of step 1301, please refer to step 1201 and the relevant content in the previous system embodiment, which will not be repeated here.

[0168] Step 1302: The resource management component schedules a physical resource group from among the physical resource groups of multiple external devices to a host for deploying a virtual instance based on the specification, and sends a hot-plug command to the host, where the hot-plug command is used to instruct the host to reduce resources.

[0169] After the resource management component receives the specifications indicated by the cloud platform management component, it can schedule physical resources of corresponding specifications in the physical resource group of the resource pool to the host used to deploy the virtual instance based on the specifications. In one implementation, the cloud platform management component indicates the specifications to the resource management component in the form of a configuration file. After the resource management component receives the configuration file, it can parse the configuration file to obtain the specifications indicated by the cloud platform management component. After the resource management component determines the physical resources that need to be scheduled to the host, it sends a scheduling instruction to the external device to which the physical resources belong to notify the resource scheduling matter, and sends a hot pull command to the host. The hot pull command is used to instruct the host to reduce resources. For example, the resource management component sends a hot pull command to the host's Hypervisor. Among them, please refer to the relevant content in the previous system embodiment for the strategy used for scheduling resources, which will not be repeated here.

[0170] Step 1303: The external device provides a scheduled physical resource group to a host for deploying a virtual instance based on the scheduling of the resource management component.

[0171] After receiving the scheduling instruction from the resource management component, the external device will provide the scheduled physical resource group to the host for deploying the virtual instance according to the scheduling instruction.

[0172] Step 1304: The host is specifically configured to hot-plug the reduced resources from the virtual device used to deploy the virtual instance based on the hot-plug command, and send a notification message indicating the reduced resources to the virtual instance.

[0173] After receiving the hot-plug command, the host can process the hot-plug command, hot-plug the reduced resources for the virtual device of the virtual instance, and send a notification message to the virtual instance to notify the virtual instance of the resource adjustment event. In one implementation, after receiving the hot-plug command, the host's hypervisor can optionally call the DSMU to hot-plug the reduced resources for the virtual device, and send a hot-plug interrupt message to the virtual instance.

[0174] Step 1305: The virtual instance is used to perform configuration reduction processing based on the notification message.

[0175] After a virtual instance receives a notification message indicating a reduction in resources, its virtual device driver can process the notification message to complete the reduction process of the reduced resources. For example, when the notification message is a plug-in-drop interrupt message, after receiving the hot-plug interrupt message, the virtual device driver can use a terminal processing function to perform hot-plug processing on the hot-plug interrupt message to configure the reduced resources for the virtual device, so as to provide the reduced resources to other virtual instances. It should be noted that after completing the increase in configuration, the host can notify the resource management component to refresh the global resource table.

[0176] It should be noted that the sequence of steps in the cloud service-based virtual instance deployment method provided in the embodiment of the present application can be appropriately adjusted, and the steps can be increased or decreased accordingly according to the situation. Any technician familiar with the technical field can easily think of a change within the technical scope disclosed in this application, and it should be included in the protection scope of this application, so it will not be repeated.

[0177] The embodiment of the present application also provides a resource pool. The resource pool includes multiple external devices. The external devices include one or more physical resource groups. The external devices are used to provide physical resource groups to the host, and the physical resource groups are obtained based on the physical resource division of the external devices.

[0178] In one implementation, the physical resources of the external device include multiple functional units, and the external device is used to divide at least part of the multiple functional units into one or more physical resource groups, and the physical resource group includes one or more functional units.

[0179] Optionally, the external device is further used to adjust the total number of physical resource groups included in the external device and / or adjust the total number of functional units included in the physical resource groups.

[0180] For example, the external device is a network card, and the functional unit includes: a work queue and a command register; the external device is a storage card, and the functional unit includes: a work queue and a command register; the external device is a disk, and the functional unit includes: a work queue and a command register; the external device is a sound card, and the functional unit includes: a work queue and a command register; the external device is a processor, and the functional unit includes: a work queue and a command register; the external device is a disk controller, and the functional unit includes: a work queue and a command register.

[0181] Optionally, the virtual instance deployment system based on cloud services also includes: a cloud platform management component and a resource management component. The cloud platform management component is used to indicate the specifications of the physical resources required by the virtual instance of the cloud tenant to the resource management component based on the instructions of the cloud tenant. The resource management component is used to schedule the physical resource group to the host used to deploy the virtual instance from the physical resource groups of multiple external devices based on the specifications. The external device is specifically used to provide the scheduled physical resource group to the host used to deploy the virtual instance based on the scheduling of the resource management component.

[0182] The cloud tenant's instruction is a virtual instance creation request, which indicates creation of a virtual instance for the cloud tenant; and / or the cloud tenant's instruction is a resource adjustment request, which indicates adjustment of specifications of physical resources used by the virtual instance owned by the cloud tenant.

[0183] In another implementation, the resource management component is used to schedule a physical resource group from among the physical resource groups of multiple external devices to a host for deploying the virtual instance based on a resource adjustment request sent by the virtual instance, and the resource adjustment request indicates adjusting the specifications of the physical resources used by the virtual instance owned by the cloud tenant. The external device is then specifically used to provide the scheduled physical resource group to the host for deploying the virtual instance based on the scheduling of the resource management component.

[0184] The embodiment of the present application also provides a host pool. The host pool includes multiple hosts. The host is used to create a first virtual device based on a physical resource group of multiple target external devices in multiple external devices, create a first virtual instance based on the first virtual device, and deploy the service of the first cloud tenant in the first virtual instance.

[0185] Optionally, the host is further used to create a second virtual device based on a physical resource group of at least one of the multiple target external devices, create a second virtual instance based on the second virtual device, and deploy services of a second cloud tenant in the second virtual instance.

[0186] In one implementation, the host is further configured to receive a hot plug command sent by the resource management component, the hot plug command being used to instruct the host to add resources. The host is then specifically configured to hot plug and add resources for the virtual device used to deploy the virtual instance based on the hot plug command, and to send a notification message indicating the additional resources to the virtual instance, so that the virtual instance is configured to perform additional processing based on the notification message.

[0187] Similarly, the host is also used to receive a hot-plug command sent by the resource management component, and the hot-plug command is used to instruct the host to reduce resources. The host is specifically used to hot-plug the reduced resources from the virtual device used to deploy the virtual instance based on the hot-plug command, and send a notification message indicating the reduced resources to the virtual instance, so that the virtual instance is used to perform the reduction processing based on the notification message.

[0188] The embodiment of the present application also provides a virtual instance deployment method based on cloud services. The method is applied to a resource pool. The resource pool includes multiple external devices. The method includes: the external device provides a physical resource group to the host, the external device includes one or more physical resource groups, and the physical resource group is obtained based on the physical resource division of the external device.

[0189] In one implementation, the physical resources of the external device include multiple functional units. Before the external device provides a physical resource group to the host, the method further includes: the external device divides at least part of the multiple functional units into one or more physical resource groups, and the physical resource group includes one or more functional units.

[0190] Optionally, the method further includes: the external device adjusting the total number of physical resource groups included in the external device, and / or adjusting the total number of functional units included in the physical resource groups.

[0191] For example, the external device is a network card, and the functional unit includes: a work queue and a command register; the external device is a storage card, and the functional unit includes: a work queue and a command register; the external device is a disk, and the functional unit includes: a work queue and a command register; the external device is a sound card, and the functional unit includes: a work queue and a command register; the external device is a processor, and the functional unit includes: a work queue and a command register; the external device is a disk controller, and the functional unit includes: a work queue and a command register.

[0192] Optionally, the virtual instance deployment system based on cloud services also includes: a cloud platform management component and a resource management component. The cloud platform management component is used to indicate the specifications of the physical resources required by the virtual instance of the cloud tenant to the resource management component based on the instruction of the cloud tenant. The resource management component is used to schedule the physical resource group to the host for deploying the virtual instance from the physical resource groups of multiple external devices based on the specifications. Then the external device provides the physical resource group to the host, including: the external device provides the scheduled physical resource group to the host for deploying the virtual instance based on the scheduling of the resource management component.

[0193] The cloud tenant's instruction is a virtual instance creation request, which indicates creation of a virtual instance for the cloud tenant; and / or the cloud tenant's instruction is a resource adjustment request, which indicates adjustment of specifications of physical resources used by the virtual instance owned by the cloud tenant.

[0194] In another implementation, the resource management component is used to schedule a physical resource group from among the physical resource groups of multiple external devices to a host for deploying the virtual instance based on a resource adjustment request sent by the virtual instance, and the resource adjustment request indicates adjusting the specifications of the physical resources used by the virtual instance owned by the cloud tenant. Then the external device provides the physical resource group to the host, including: the external device provides the scheduled physical resource group to the host for deploying the virtual instance based on the scheduling of the resource management component.

[0195] The embodiment of the present application also provides a method for deploying a virtual instance based on a cloud service. The method is applied to a host pool. The host pool includes multiple hosts. The method includes: the host creates a first virtual device based on a physical resource group of multiple target external devices in multiple external devices, creates a first virtual instance based on the first virtual device, and deploys a service of a first cloud tenant in the first virtual instance.

[0196] Optionally, the method also includes: the host creates a second virtual device based on a physical resource group of at least one of the multiple target external devices, creates a second virtual instance based on the second virtual device, and deploys the service of the second cloud tenant in the second virtual instance.

[0197] In one implementation, the method further includes: the host receives a hot plug command sent by the resource management component, based on the hot plug command, hot plugs and adds resources for the virtual device used to deploy the virtual instance, and sends a notification message indicating the added resources to the virtual instance, so that the virtual instance is used to perform the additional processing based on the notification message. The hot plug command is used to indicate the additional resources of the host.

[0198] Similarly, the method further includes: the host receives a hot-plug command sent by the resource management component, based on the hot-plug command, hot-plugs the reduced resources from the virtual device used to deploy the virtual instance, and sends a notification message indicating the reduced resources to the virtual instance, so that the virtual instance is used to perform the reduced resources processing based on the notification message. The hot-plug command is used to indicate the reduced resources of the host.

[0199] Here, please refer to the description in the previous method embodiment for the detailed working process of the host in the host pool and the external device in the resource pool. For example, the external device provides the physical resource group for scheduling to the host for deploying the virtual instance in the manner of the aforementioned steps 1102 and 1103; the host creates the first virtual device based on the physical resource group in the manner of the aforementioned step 1104. The present application embodiment will not be described again here.

[0200] Among them, multiple external devices in the resource pool can be distributed in the same region or in different regions. Furthermore, multiple external devices in the resource pool can be distributed in the same availability zone (AZ) or in different AZs, and each AZ includes a data center or multiple data centers with close geographical locations. Among them, usually a region can include multiple AZs. Similarly, multiple external devices in the resource pool can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Among them, usually a VPC is set in a region, and cross-region communication between two VPCs in the same region and between VPCs in different regions requires the setting of a communication gateway in each VPC, and the interconnection between VPCs is realized through the communication gateway.

[0201] Similarly, multiple hosts in a host pool can be distributed in the same region or in different regions. Multiple external devices in a resource pool can also be distributed in the same AZ or in different AZs. Similarly, multiple external devices in a resource pool can be distributed in the same VPC or in multiple VPCs.

[0202] Furthermore, the host and external devices can be distributed in the same region or in different regions. The host and external devices can also be distributed in the same AZ or in different AZs. Similarly, the host and external devices can be distributed in the same VPC or in multiple VPCs.

[0203] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the components of the system such as the host and external devices described above can refer to the corresponding contents in the aforementioned method embodiments and will not be repeated here.

[0204] The following is an illustration of the basic hardware structure involved in the embodiments of the present application.

[0205] The embodiment of the present application provides a computing device. The computing device is used to implement part or all of the functions of the cloud service-based virtual instance deployment method provided in the embodiment of the present application. Fig.14 Schematic diagram of a computing device provided in an embodiment of the present application. Fig.14 As shown, the computing device 1400 includes a processor 1401, a memory 1402, a communication interface 1403 and a bus 1404. The processor 1401, the memory 1402 and the communication interface 1403 are connected to each other through the bus 1404.

[0206] Processor 1401 may include a general-purpose processor and / or a dedicated hardware chip. A general-purpose processor may include: a central processing unit (CPU), a microprocessor or a graphics processing unit (GPU). The CPU is, for example, a single-core processor (single-CPU), or a multi-core processor (multi-CPU). A dedicated hardware chip is a hardware module for high-performance processing. A dedicated hardware chip includes at least one of a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or a network processor (NP). Processor 1401 may also be an integrated circuit chip having signal processing capabilities. In the implementation process, some or all of the functions of the virtual instance deployment method based on cloud services of the present application may be completed by hardware integrated logic circuits in processor 1401 or instructions in software form.

[0207] The memory 1402 is used to store computer programs, and the computer programs include an operating system 1402a and executable codes (i.e., program instructions) 1402b. The memory 1402 is, for example, a read-only memory or other types of static storage devices that can store static information and instructions, or a random access memory or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory, a read-only optical disc or other optical disc storage, an optical disc storage (including a compressed optical disc, a laser disc, an optical disc, a digital versatile disc, a blue-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired executable code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. For example, the memory 1402 is used to store an outbound port queue, etc. The memory 1402 is, for example, independent and connected to the processor 1401 via a bus 1404. Or the memory 1402 and the processor 1401 are integrated together. The memory 1402 can store executable code. When the executable code stored in the memory 1402 is executed by the processor 1401, the processor 1401 is used to perform some or all functions of the virtual instance deployment method based on cloud services provided in the embodiment of the present application. For the implementation of the process executed by the processor 1401, please refer to the relevant description in the aforementioned embodiment. The memory 1402 may also include software modules and data required for other running processes such as an operating system.

[0208] The communication interface 1403 uses a transceiver module such as, but not limited to, a transceiver to achieve communication with other devices or communication networks. For example, the communication interface 1403 can be any one or any combination of the following devices: a network interface (such as an Ethernet interface), a wireless network card, and other devices with network access functions.

[0209] The bus 1404 is any type of communication bus for interconnecting the internal devices of the computing device (e.g., the memory 1402, the processor 1401, and the communication interface 1403). For example, a system bus. The embodiment of the present application takes the interconnection of the above-mentioned devices inside the computing device through the bus 1404 as an example. Optionally, the above-mentioned devices inside the computing device 1400 can also be connected to each other in communication with each other using other connection methods other than the bus 1404. For example, the above-mentioned devices inside the computing device 1400 are interconnected through an internal logical interface.

[0210] It should be noted that the above-mentioned multiple devices can be respectively arranged on independent chips, or at least partially or completely arranged on the same chip. Whether to independently arrange each device on different chips or to integrate and arrange it on one or more chips often depends on the needs of product design. The embodiments of the present application do not limit the specific implementation form of the above-mentioned devices. The descriptions of the processes corresponding to the above-mentioned figures have different focuses. For the parts not described in detail in a certain process, please refer to the relevant descriptions of other processes.

[0211] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product providing the program development platform includes one or more computer instructions, and when these computer program instructions are loaded and executed on a computing device, all or part of the functions of the virtual instance deployment method based on cloud services provided in the embodiments of the present application are implemented.

[0212] Furthermore, computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, computer instructions may be transmitted from one website, computer, server or data center to another website, computer, server or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium stores computer program instructions that provide a program development platform.

[0213] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0214] Optionally, the structure of at least one computing device included in the computing device cluster can be found in Fig.14 The computing device 1400 is shown. The memory 1402 in one or more computing devices 1400 in the computing device cluster may store the same instructions for executing the virtual instance deployment method based on cloud services.

[0215] In some possible implementations, the memory 1402 of one or more computing devices 1400 in the computing device cluster may also store partial instructions for executing the virtual instance deployment method based on cloud services. In other words, the combination of one or more computing devices 1400 may jointly execute instructions for executing the virtual instance deployment method based on cloud services.

[0216] It should be noted that the memory 1402 in different computing devices 1400 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the virtual instance deployment device based on cloud services. That is, the instructions stored in the memory 1402 in different computing devices 1400 can implement the functions of one or more components in the virtual instance deployment system based on cloud services provided by the present application.

[0217] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig.15 A possible implementation is shown. Fig.15 As shown, two computing devices 1500A and 1500B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device. In this type of possible implementation, computing devices 1500A and 1500B include a bus 1502, a processor 1504, a memory 1506, and a communication interface 1508.

[0218] It should be understood that Fig.15 The functions of the computing device 1500A shown in the figure can also be completed by multiple computing devices 1500. Similarly, the functions of the computing device 1500B can also be completed by multiple computing devices 1500. And the deployment mode of the module for implementing the virtual instance deployment method based on cloud service in the computing device can also be adjusted according to the application requirements.

[0219] An embodiment of the present application also provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device implements a virtual instance deployment method based on cloud services as provided in an embodiment of the present application.

[0220] The embodiment of the present application also provides a computer program product including instructions. When the computer program product is executed on a computer, the computer implements the cloud service-based virtual instance deployment method provided in the embodiment of the present application.

[0221] A person skilled in the art will appreciate that all or part of the steps for implementing the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk, or an optical disk, etc.

[0222] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions. For example, the original data and executable code involved in this application are all obtained with full authorization.

[0223] In the embodiments of the present application, the terms "first", "second" and "third" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance. The term "at least one" means one or more, and the term "plurality" means two or more, unless otherwise expressly defined.

[0224] The term "and / or" in this application is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0225] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the concept and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A virtual instance deployment system based on cloud services, characterized in that: The system comprises: a host pool and a resource pool; The resource pool includes a plurality of external devices, each of which includes one or more physical resource groups, and each of which is used to provide the physical resource groups to the host, wherein the physical resource groups are obtained based on the physical resource division of the external devices; The host pool includes multiple hosts, and the hosts are used to create a first virtual device based on a physical resource group of multiple target external devices among the multiple external devices, create a first virtual instance based on the first virtual device, and deploy a first cloud tenant's service in the first virtual instance.

2. The system according to claim 1, characterized in that The host is also used to create a second virtual device based on the physical resource group of at least one of the multiple target external devices, create a second virtual instance based on the second virtual device, and deploy the service of the second cloud tenant in the second virtual instance.

3. The system according to claim 1 or 2, characterized in that: The physical resources of the external device include a plurality of functional units, and the external device is configured to divide at least part of the plurality of functional units into one or more physical resource groups, wherein the physical resource groups include one or more functional units.

4. The system according to claim 3, characterized in that The external device is further used to adjust the total number of physical resource groups included in the external device and / or adjust the total number of functional units included in the physical resource groups.

5. The system according to claim 3 or 4, characterized in that The external device is a network card, and the functional unit includes: a work queue and a command register; The external device is a memory card, and the functional unit includes: a work queue and a command register; The external device is a disk, and the functional unit includes: a work queue and a command register; The external device is a sound card, and the functional unit includes: a work queue and a command register; The external device is a processor, and the functional unit includes: a work queue and a command register; The external device is a disk controller, and the functional unit includes: a work queue and a command register.

6. The system according to any one of claims 1 to 5, characterized in that: The system also includes: a cloud platform management component and a resource management component; The cloud platform management component is used to indicate the specifications of the physical resources required by the virtual instance of the cloud tenant to the resource management component based on the instruction of the cloud tenant; The resource management component is used to schedule a physical resource group from among the physical resource groups of the plurality of external devices to a host for deploying the virtual instance based on the specification; The external device is specifically used to provide a scheduled physical resource group to a host for deploying the virtual instance based on the scheduling of the resource management component.

7. The system according to claim 6, characterized in that The instruction of the cloud tenant is a virtual instance creation request, and the virtual instance creation request indicates creation of a virtual instance for the cloud tenant; And / or, the instruction of the cloud tenant is a resource adjustment request, and the resource adjustment request indicates adjusting the specification of physical resources used by the virtual instance owned by the cloud tenant.

8. The system according to any one of claims 1 to 7, characterized in that: The system also includes: a resource management component; The resource management component is used to schedule a physical resource group from the physical resource groups of the multiple external devices to a host for deploying the virtual instance based on a resource adjustment request sent by the virtual instance, wherein the resource adjustment request indicates adjusting the specification of the physical resources used by the virtual instance owned by the cloud tenant; The external device is specifically used to provide a scheduled physical resource group to a host for deploying the virtual instance based on the scheduling of the resource management component.

9. The system according to any one of claims 6 to 8, characterized in that: The resource management component is further used to send a hot plug command to the host after adding physical resources to the virtual instance, wherein the hot plug command is used to indicate the additional resources of the host; The host is specifically used to hot-plug the additional resources for the virtual device used to deploy the virtual instance based on the hot-plug command, and send a notification message indicating the additional resources to the virtual instance; The virtual instance is used to perform additional configuration processing based on the notification message.

10. The system according to any one of claims 6 to 8, characterized in that: The resource management component is further used to send a hot pull command to the host after reducing physical resources for the virtual instance, wherein the hot pull command is used to instruct the host to reduce resources; The host is specifically used to hot-pull the reduced resources from the virtual device used to deploy the virtual instance based on the hot-pull command, and send a notification message indicating the reduced resources to the virtual instance; The virtual instance is used to perform configuration reduction processing based on the notification message.

11. The system according to any one of claims 1 to 10, characterized in that: The system further comprises: a forwarding device, wherein the forwarding device is used to forward messages between the host and a physical resource group allocated to the host.

12. A virtual instance deployment method based on cloud service, characterized in that: The method is applied to a virtual instance deployment system based on cloud services, the system comprising: a host pool and a resource pool, the host pool comprising a plurality of hosts, the resource pool comprising a plurality of external devices, the method comprising: The external device provides a physical resource group to the host, the external device includes one or more physical resource groups, and the physical resource group is obtained based on the physical resource division of the external device; The host creates a first virtual device based on a physical resource group of multiple target external devices among the multiple external devices, creates a first virtual instance based on the first virtual device, and deploys a service of a first cloud tenant in the first virtual instance.

13. The method according to claim 12, characterized in that The method further comprises: The host creates a second virtual device based on a physical resource group of at least one of the multiple target external devices, creates a second virtual instance based on the second virtual device, and deploys a service of a second cloud tenant in the second virtual instance.

14. The method according to claim 12 or 13, characterized in that The physical resources of the external device include a plurality of functional units. Before the external device provides the physical resource group to the host, the method further includes: The external device divides at least part of the plurality of functional units into one or more physical resource groups, wherein the physical resource group includes the one or more functional units.

15. The method according to claim 14, characterized in that The method further comprises: The external device adjusts the total number of physical resource groups included in the external device and / or adjusts the total number of functional units included in the physical resource groups.

16. The method according to claim 14 or 15, characterized in that The external device is a network card, and the functional unit includes: a work queue and a command register; The external device is a memory card, and the functional unit includes: a work queue and a command register; The external device is a disk, and the functional unit includes: a work queue and a command register; The external device is a sound card, and the functional unit includes: a work queue and a command register; The external device is a processor, and the functional unit includes: a work queue and a command register; The external device is a disk controller, and the functional unit includes: a work queue and a command register.

17. The method according to any one of claims 12 to 16, characterized in that: The system further includes: a cloud platform management component and a resource management component, and the method further includes: The cloud platform management component indicates to the resource management component the specifications of the physical resources required by the virtual instance of the cloud tenant based on the instruction of the cloud tenant; The resource management component schedules a physical resource group from among the physical resource groups of the plurality of external devices to a host for deploying the virtual instance based on the specification; The external device provides the physical resource group to the host, including: The external device provides a scheduled physical resource group to a host for deploying the virtual instance based on the scheduling of the resource management component.

18. The method according to claim 17, characterized in that The instruction of the cloud tenant is a virtual instance creation request, and the virtual instance creation request indicates creation of a virtual instance for the cloud tenant; And / or, the instruction of the cloud tenant is a resource adjustment request, and the resource adjustment request indicates adjusting the specification of physical resources used by the virtual instance owned by the cloud tenant.

19. The method according to any one of claims 12 to 18, characterized in that: The system further comprises: a resource management component, and the method further comprises: The resource management component schedules a physical resource group from among the physical resource groups of the plurality of external devices to a host for deploying the virtual instance based on a resource adjustment request sent by the virtual instance, wherein the resource adjustment request indicates adjusting specifications of physical resources used by the virtual instance owned by the cloud tenant; The external device provides the physical resource group to the host, including: The external device provides a scheduled physical resource group to a host for deploying the virtual instance based on the scheduling of the resource management component.

20. The method according to any one of claims 17 to 19, characterized in that: The method further comprises: After adding physical resources to the virtual instance, the resource management component sends a hot plug command to the host, where the hot plug command is used to indicate the additional resources of the host; The host hot-plugs the additional resources for the virtual device used to deploy the virtual instance based on the hot-plug command, and sends a notification message indicating the additional resources to the virtual instance; The virtual instance performs additional configuration processing based on the notification message.

21. The method according to any one of claims 17 to 19, characterized in that: The method further comprises: After reducing physical resources for the virtual instance, the resource management component sends a hot pull command to the host, where the hot pull command is used to instruct the host to reduce resources; The host hot-plugs the reduced resources from the virtual device used to deploy the virtual instance based on the hot-plug command, and sends a notification message indicating the reduced resources to the virtual instance; The virtual instance performs configuration reduction processing based on the notification message.

22. The method according to any one of claims 12 to 21, characterized in that: The system further includes: a forwarding device, and the method further includes: The forwarding device forwards messages between the host and a physical resource group allocated to the host.

23. A computing device cluster, characterized in that: The method comprises a plurality of computing devices, wherein the plurality of computing devices comprises a plurality of processors and a plurality of memories, wherein program instructions are stored in the plurality of memories, and the plurality of processors execute the program instructions, so that the computing device cluster executes any one of the methods described in claims 12 to 22.

24. A computer-readable storage medium, characterized in that: The method comprises program instructions, which, when executed on a computing device, cause the computing device to execute the method according to any one of claims 12 to 22.

25. A computer program product comprising instructions, characterized in that When the computer program product is executed on a computer, the computer is caused to execute the method according to any one of claims 12 to 22.

Citation Information

Cited By

  • Method and device for creating resource pool, readable storage medium and chip

    CN120050175A

  • Method and apparatus for creating resource pool, readable storage medium, and chip

    WO2026158019A1