Cloud system based on cloud computing technology and charging method

By adjusting hardware resource specifications within the cloud host, the problems of cloud instance resource waste and complex hot-scaling processes are solved, enabling fast and uninterrupted elastic scaling of resources and improving business performance and cost efficiency.

CN121644252APending Publication Date: 2026-03-10HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing cloud instances suffer from significant resource waste during business peaks and troughs, and the existing hot-scaling process is complex and cannot quickly scale resources elastically, impacting business performance and cost efficiency.

Method used

By implementing in-band resource adjustment within the cloud host, and utilizing the resource allocation and adjustment modules, hardware resource specifications can be adjusted without interrupting business operations. Resources can be expanded or reduced directly within the cloud instance, reducing interaction with the cloud management platform and improving the speed of resource elastic scaling.

Benefits of technology

It enables the adjustment of hardware resource specifications without shutting down the cloud instance while it is running, shortening the adjustment time, improving the speed of resource elastic scaling and business continuity, and reducing resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121644252A_ABST
    Figure CN121644252A_ABST
Patent Text Reader

Abstract

The invention discloses a cloud system based on a cloud computing technology and a charging method, and belongs to the technical field of cloud services. The cloud system comprises a resource charging module and a first cloud host, a first cloud instance and a resource allocation module run on the first cloud host, and an application and resource adjustment module runs in the first cloud instance. And the application sends the first hardware resource capacity expansion demand to the resource allocation module through the resource adjustment module. The resource allocation module allocates idle hardware resources matched with the first hardware resource capacity expansion demand on the first cloud host to the first cloud instance under the condition that the first cloud host has the idle hardware resources matched with the first hardware resource capacity expansion demand; and sending a first message that the first cloud instance has expanded idle hardware resources matched with the first hardware resource expansion demand to a resource charging module. And the resource charging module performs charging in response to the first message. According to the method and the device, the resource elastic scaling speed of the service realized by the first cloud instance is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud service technology, and in particular to a cloud system and billing method based on cloud computing technology. Background Technology

[0002] Cloud instances requested by cloud tenants are typically statically configured. Whether it's compute, storage, or network resources, cloud tenants generally request resources for cloud instances based on the peak demand of the services the instance will provide. However, this leads to significant resource waste during off-peak hours. Therefore, elastically scaling the resources used by cloud instances while they are running effectively reduces the cost of cloud resource usage for cloud tenants.

[0003] Currently, cloud vendors can adjust the specifications of cloud instances while they are powered off. This method is called cold provisioning. However, this method requires interrupting the services provided by the cloud instance, and the cold provisioning process is quite complex. In recent years, although some cloud vendors have provided hot provisioning capabilities, which can adjust the specifications of cloud instances without interrupting services, their hot provisioning process remains complex, requiring multiple management systems to work together to achieve resource changes. The overall execution time is long and the process is cumbersome, making it unsuitable for scenarios where services require rapid resource elastic scaling. Summary of the Invention

[0004] This application provides a cloud system and billing method based on cloud computing technology. This application improves the speed of elastic resource scaling for services implemented through a first cloud instance. The technical solution provided by this application is as follows:

[0005] Firstly, this application provides a cloud system based on cloud computing technology. The cloud system includes a cloud management platform and infrastructure. The infrastructure includes multiple cloud hosts. The cloud management platform manages the infrastructure and includes a resource billing module. The multiple cloud hosts include a first cloud host. The first cloud host runs a first cloud instance and a resource allocation module. The first cloud instance runs an application and a resource adjustment module. Specifically: the resource billing module bills for the hardware resources used by the first cloud instance on the first cloud host. The application sends a first hardware resource expansion request to the resource adjustment module when business pressure increases. The resource adjustment module sends the first hardware resource expansion request to the resource allocation module. The resource allocation module, when the first cloud host has idle hardware resources matching the first hardware resource expansion request, allocates the idle hardware resources on the first cloud host matching the first hardware resource expansion request to the first cloud instance, and sends a first message to the resource billing module that the first cloud instance has expanded with idle hardware resources matching the first hardware resource expansion request. The resource billing module is also used to bill the first cloud instance for the hardware resources it occupies on the first cloud host and the usage of the expanded idle hardware resources in response to the first message.

[0006] In the process of adjusting the specifications of the hardware resources used by the first cloud instance in this application, since the adjustment of the hardware resource specifications by the resource allocation module is triggered by the first hardware resource expansion request, which is triggered by the application running in the first cloud instance and sent to the resource allocation module via the resource adjustment module running in the first cloud instance, the transmission of the first hardware resource expansion request is an in-band transmission within the first cloud host. The first hardware resource expansion request does not need to be transmitted out of band to the resource allocation module via the cloud management platform. Furthermore, the application running in the first cloud instance does not need to interact with the cloud management platform during the entire process of adjusting the specifications of the hardware resources used by the first cloud instance, shortening the execution time of the entire specification adjustment process and improving the speed of resource elastic scaling for services implemented through the first cloud instance. Simultaneously, the process of the resource allocation module adjusting the specifications of the hardware resources used by the first cloud instance can be executed while the first cloud instance is running, allowing the adjustment of the hardware resource specifications without shutting down the first cloud instance, without interrupting or affecting the services implemented by the cloud instance, further ensuring the speed of resource elastic scaling for services implemented through the first cloud instance.

[0007] In one possible implementation, the multiple cloud hosts also include a second cloud host. A first resource scheduling module runs on the first cloud host, and a second resource scheduling module runs on the second cloud host. Specifically: An application sends a second hardware resource expansion request to the resource adjustment module when business pressure increases again. The resource adjustment module sends the second hardware resource expansion request to the resource allocation module. The resource allocation module sends the second hardware resource expansion request to the first resource scheduling module when the first cloud host does not have available free hardware resources matching the second hardware resource expansion request. The first resource scheduling module sends the second hardware resource expansion request to the second resource scheduling module. The second resource scheduling module, upon confirming that the second cloud host has available free hardware resources matching the second hardware resource expansion request, allocates the available free hardware resources on the second cloud host matching the second hardware resource expansion request to the first cloud instance via a high-speed interconnect bus. The resource allocation module sends a second message to the resource billing module indicating that the first cloud instance has expanded its available free hardware resources matching the second hardware resource expansion request. The resource billing module is also used to bill in response to the second message based on the usage of hardware resources occupied by the first cloud instance on the first cloud host and the usage of idle hardware resources on the second cloud host that have been expanded to match the expansion needs of the second hardware resources.

[0008] In this way, the first cloud instance can directly use various hardware resources such as processors, memory, disks, network cards, graphics processing units (GPUs), and XPUs on other cloud hosts through the high-speed interconnect bus, thereby ensuring the business performance of the first cloud instance.

[0009] In one possible implementation, the multiple cloud hosts also include a second cloud host. A first resource scheduling module runs on the first cloud host, and a second cloud instance also runs on the first cloud host. Specifically: the application sends a second hardware resource expansion request to the resource adjustment module when business pressure increases again. The resource adjustment module sends the second hardware resource expansion request to the resource allocation module. The resource allocation module sends the second hardware resource expansion request to the first resource scheduling module when the first cloud host does not have available free hardware resources matching the second hardware resource expansion request. The first resource scheduling module migrates the second cloud instance from the first cloud host to the second cloud host to release available free hardware resources on the first cloud host matching the second hardware resource expansion request, and notifies the resource allocation module that available free hardware resources on the first cloud host matching the second hardware resource expansion request have been released. The resource allocation module allocates the available free hardware resources on the first cloud host matching the second hardware resource expansion request to the first cloud instance. The resource allocation module also sends a second message to the resource billing module indicating that the first cloud instance has expanded with available free hardware resources matching the second hardware resource expansion request. The resource billing module is also used to bill in response to the second message based on the hardware resources occupied by the first cloud instance on the first cloud host and the usage of idle hardware resources on the first cloud host that have been expanded to match the expansion needs of the second hardware resources.

[0010] In one possible implementation, the multiple cloud hosts also include a second cloud host, and a first resource scheduling module runs on the first cloud host. Specifically: the application sends a second hardware resource expansion request to the resource adjustment module when business pressure increases again. The resource adjustment module sends the second hardware resource expansion request to the resource allocation module. The resource allocation module sends the second hardware resource expansion request to the first resource scheduling module when the first cloud host does not have available hardware resources matching the second hardware resource expansion request. The first resource scheduling module migrates the first cloud instance to the second cloud host when the second cloud host has available hardware resources matching the sum of the second hardware resource expansion request and the hardware resources occupied by the first cloud instance on the first cloud host. The first resource scheduling module also notifies the resource allocation module that the first cloud instance has expanded with available hardware resources matching the second hardware resource expansion request. The resource allocation module sends a second message to the resource billing module indicating that the first cloud instance has expanded with available hardware resources matching the second hardware resource expansion request. The resource billing module further bills for the hardware resources occupied by the first cloud instance on the second cloud host in response to the second message.

[0011] In one possible implementation, the multiple cloud hosts also include a second cloud host. The application sends a hardware resource scaling-down request to the resource adjustment module when business pressure decreases. The resource adjustment module sends this hardware resource scaling-down request to the resource allocation module. The resource allocation module releases the hardware resources occupied by the first cloud instance on the first or second cloud host that match the hardware resource scaling-down request, and sends a third message to the resource billing module confirming that the first cloud instance has scaled down the hardware resources matching the scaling-down request. The resource billing module also bills for the remaining hardware resources after deducting the hardware resources already scaled down to match the scaling-down request from the hardware resources occupied by the first cloud instance on the first or second cloud host.

[0012] Secondly, this application provides a billing method based on cloud computing technology. This method is applied to a cloud system. The cloud system includes a cloud management platform and infrastructure. The infrastructure includes multiple cloud hosts. The cloud management platform is used to manage the infrastructure and includes a resource billing module. The multiple cloud hosts include a first cloud host, on which a first cloud instance and a resource allocation module run. The first cloud instance runs an application and a resource adjustment module. The method includes: a resource billing module billing for the usage of hardware resources occupied by the first cloud instance on the first cloud host; when the application experiences increased business pressure, it sends a first hardware resource expansion request to the resource adjustment module; the resource adjustment module sends the first hardware resource expansion request to the resource allocation module; if the first cloud host has idle hardware resources matching the first hardware resource expansion request, the resource allocation module allocates the idle hardware resources matching the first hardware resource expansion request on the first cloud host to the first cloud instance, and sends a first message to the resource billing module that the first cloud instance has expanded the idle hardware resources matching the first hardware resource expansion request; the resource billing module responds to the first message by billing for the usage of hardware resources occupied by the first cloud instance on the first cloud host and the expanded idle hardware resources.

[0013] In one possible implementation, the multiple cloud hosts also include a second cloud host. A first resource scheduling module runs on the first cloud host, and a second resource scheduling module runs on the second cloud host. The method further includes: when the application experiences increased business pressure, it sends a second hardware resource expansion request to the resource adjustment module; the resource adjustment module sends the second hardware resource expansion request to the resource allocation module; if the first cloud host does not have available idle hardware resources matching the second hardware resource expansion request, the resource allocation module sends the second hardware resource expansion request to the first resource scheduling module; the first resource scheduling module sends the second hardware resource expansion request to the second resource scheduling module. The second resource scheduling module confirms that the second cloud host has idle hardware resources matching the expansion requirements of the second hardware resources, and allocates the idle hardware resources on the second cloud host that match the expansion requirements of the second hardware resources to the first cloud instance through the high-speed interconnect bus; the resource allocation module sends a second message to the resource billing module indicating that the first cloud instance has expanded the idle hardware resources that match the expansion requirements of the second hardware resources; the resource billing module responds to the second message and bills according to the usage of the hardware resources occupied by the first cloud instance on the first cloud host and the idle hardware resources that have been expanded on the second cloud host that match the expansion requirements of the second hardware resources.

[0014] In one possible implementation, the multiple cloud hosts also include a second cloud host. A first cloud host runs a first resource scheduling module, and a second cloud instance also runs on the first cloud host. The method further includes: when the application experiences increased business pressure, it sends a second hardware resource expansion request to a resource adjustment module; the resource adjustment module sends the second hardware resource expansion request to a resource allocation module; if the first cloud host does not have available hardware resources matching the second hardware resource expansion request, the resource allocation module sends the second hardware resource expansion request to the first resource scheduling module; the first resource scheduling module migrates the second cloud instance from the first cloud host to the second cloud host to release the second cloud instance on the first cloud host. The resource allocation module notifies the resource allocation module that the available hardware resources on the first cloud host that match the second hardware resource expansion requirement have been released. The resource allocation module then allocates the available hardware resources on the first cloud host that match the second hardware resource expansion requirement to the first cloud instance. The resource allocation module sends a second message to the resource billing module indicating that the first cloud instance has expanded its available hardware resources that match the second hardware resource expansion requirement. In response to the second message, the resource billing module performs billing based on the usage of the hardware resources occupied by the first cloud instance on the first cloud host and the available hardware resources on the first cloud host that match the second hardware resource expansion requirement.

[0015] In one possible implementation, the multiple cloud hosts also include a second cloud host, and a first resource scheduling module runs on the first cloud host. The method further includes: when the application experiences increased business pressure, it sends a second hardware resource expansion request to the resource adjustment module; the resource adjustment module sends the second hardware resource expansion request to the resource allocation module; if the first cloud host does not have available hardware resources matching the second hardware resource expansion request, the resource allocation module sends the second hardware resource expansion request to the first resource scheduling module; if the second cloud host has available hardware resources matching the sum of the second hardware resource expansion request and the hardware resources occupied by the first cloud instance on the first cloud host, the first resource scheduling module migrates the first cloud instance to the second cloud host; the first resource scheduling module notifies the resource allocation module that the first cloud instance has expanded to available hardware resources matching the second hardware resource expansion request; the resource allocation module sends a second message to the resource billing module indicating that the first cloud instance has expanded to available hardware resources matching the second hardware resource expansion request; and the resource billing module, in response to the second message, bills for the hardware resources occupied by the first cloud instance on the second cloud host.

[0016] In one possible implementation, the multiple cloud hosts also include a second cloud host. The method further includes: when the application experiences reduced business pressure, it sends a hardware resource scaling-down request to the resource adjustment module; the resource adjustment module sends the hardware resource scaling-down request to the resource allocation module; the resource allocation module releases the hardware resources occupied by the first cloud instance on the first cloud host or the second cloud host that match the hardware resource scaling-down request, and sends a third message to the resource billing module indicating that the first cloud instance has scaled down the hardware resources that match the hardware resource scaling-down request; the resource billing module bills for the usage of the remaining hardware resources after deducting the hardware resources that the first cloud instance has scaled down to match the hardware resource scaling-down request from the hardware resources occupied by the first cloud instance on the first cloud host or the second cloud host.

[0017] Thirdly, this application provides a computing device including a memory and a processor, the memory storing program instructions, and the processor executing the program instructions to perform the methods provided in the first aspect of this application and any possible implementation thereof.

[0018] Fourthly, this application provides a computing device cluster, including multiple computing devices, each computing device including multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors executing the program instructions, causing the computing device cluster to perform the methods provided in the first aspect of this application and any possible implementation thereof.

[0019] Fifthly, this application provides a computer-readable storage medium that is a non-volatile computer-readable storage medium, the computer-readable storage medium including program instructions that, when executed on a computing device, cause the computing device to perform the methods provided in the first aspect of this application and any possible implementation thereof.

[0020] Sixthly, this application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the methods provided in the first aspect of this application and any possible implementation thereof. Attached Figure Description

[0021] Figure 1 This is a structural diagram of an implementation scenario of a cloud system based on cloud computing technology provided in an embodiment of this application;

[0022] Figure 2 This is a schematic diagram illustrating the deployment of cloud resources according to an embodiment of this application;

[0023] Figure 3 This is a schematic diagram of the structure of a cloud system based on cloud computing technology provided in an embodiment of this application;

[0024] Figure 4 This is a schematic diagram of another cloud system based on cloud computing technology provided in an embodiment of this application;

[0025] Figure 5 This is a flowchart illustrating a billing method based on cloud computing technology provided in an embodiment of this application;

[0026] Figure 6 This is a flowchart of another billing method based on cloud computing technology provided in an embodiment of this application;

[0027] Figure 7 This is a flowchart of another billing method based on cloud computing technology provided in the embodiments of this application;

[0028] Figure 8 This is a flowchart of another billing method based on cloud computing technology provided in the embodiments of this application;

[0029] Figure 9 This is a flowchart of another billing method based on cloud computing technology provided in the embodiments of this application;

[0030] Figure 10 This is a schematic diagram of the structure of a computing device provided in an embodiment of this application;

[0031] Figure 11 This is a schematic diagram of the structure of a computing device cluster provided in an embodiment of this application;

[0032] Figure 12 This is a schematic diagram of another computing device cluster structure provided in an embodiment of this application. Detailed Implementation

[0033] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0034] To facilitate understanding, the technologies and background involved in the embodiments of this application will be introduced below.

[0035] Cloud computing is a type of distributed computing that refers to a network that centrally manages and schedules a large number of computing and storage resources to provide on-demand services to users. These computing and storage resources are provided through clusters of computing devices located in data centers. Furthermore, cloud computing can provide users with various types of services, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Infrastructure as a Service provides virtual machines or other resources as a service to tenants. Platform as a Service provides a development platform as a service to tenants. Software as a Service provides applications (Apps) as a service to customers.

[0036] An Internet Data Center (IDC) is a facility and related service system that provides operation and maintenance for equipment that centrally collects, stores, processes, and transmits data, based on the Internet. Conceptually, it can be understood as a public, commercial Internet "server room," and it is also a professional IT service and a crucial infrastructure for the IT industry. IDC is not only a service concept but also a network concept; it constitutes part of the network infrastructure resources, like backbone networks and access networks, providing high-end data delivery and high-speed access services. Generally, a tenant's on-premises IDC can be understood as their physical server room, where the tenant utilizes existing Internet communication lines and bandwidth resources to establish a standardized, telecommunications-grade server room environment to provide comprehensive services such as server hosting, leasing, and related value-added services. A cloud data center is an Internet data center deployed using the infrastructure resources owned by cloud vendors.

[0037] A resource pool is a collection of various hardware and software resources involved in a cloud data center. Typically, resources in a resource pool can be categorized by type, such as computing resources, storage resources, and network resources.

[0038] A physical machine (PM) is the physical resource used to host virtualization technology. It is also called a physical server. Typically, a physical machine is used to deploy virtual instances. A physical machine has multiple physical devices. For example, a physical server has physical devices such as processors and memory. Multiple virtual instances can be deployed on a single physical machine, sharing the machine's physical resources. Depending on the use case, multiple virtual instances deployed on a single physical machine can belong to the same tenant or to different tenants.

[0039] Virtualization is a resource management technology. Virtualization abstracts and transforms various physical resources of a host, such as computing, network, and storage resources, breaking down the indivisible barriers between the host's physical structures. This allows tenants to utilize these resources in a better way than the original configuration. Resources obtained through virtualization are called virtualized resources, and virtualized resources are not limited by the existing physical resource deployment methods, geographical location, or physical configuration.

[0040] Virtualized resources are typically provided to tenants in the form of virtual instances. Virtual instances utilize the host's hardware resources and run on the host's operating system (OS). Applications run within the virtual instance to implement the tenant's business logic. The host's hardware resources can be allocated to one or more tenants at the virtual instance level. Different virtual instances are isolated from each other, allowing tenants to use physical resources conveniently and flexibly while maintaining security and isolation, and significantly improving the utilization of physical resources. Typically, virtual instances can be virtual machines, containers, or independent processes (such as functions). Virtual instances can also be called Elastic Compute Service (ECS) or Elastic Instances (different cloud service providers may use different names).

[0041] A virtual machine (VM) is a complete computer system with full hardware system functionality, simulated using virtualization technology and running in a completely isolated environment. A subset of the instructions in a VM can be processed on the host machine, while other instructions can be executed in a simulated manner. A VM is also called a virtual server. A VM can be viewed as a collection of virtual devices, which possess full hardware system functionality and run in a completely isolated environment. Virtual devices are created by virtualizing physical devices that can share resources. For example, a virtual processor, created by virtualizing a processor, is a virtual device. Similarly, a training card, created by virtualizing a field-programmable gate array (FPGA), is also a virtual device. For instance, the VM in this application can be a kernel-based virtual machine (KVM). Any task that can be performed on a server can also be performed in a VM. When creating a virtual machine on a server, a portion of the physical machine's hard drive and memory capacity is used as the virtual machine's hard drive and memory capacity. Each virtual machine has its own independent hard drive and operating system, and virtual machine tenants can operate the virtual machine as if it were a server. The runtime environments (such as virtual machine applications, operating systems, and virtual hardware) in different virtual machines are completely isolated, and communication between different virtual machines requires the virtual machine manager to forward network packets.

[0042] Containers utilize the namespace and cgroup technologies supported by the Linux kernel to isolate application processes and their dependencies (the runtime environment's bins / libs, specifically all files required to run the application) within an independent runtime environment. Containers provide a lightweight virtual runtime environment. Containers are created by packaging all the code, libraries, and dependencies of a tenant's application into an image. When the image is executed, it runs in a virtual runtime environment. At this point, the container is a runtime instance of the image, similar to a lightweight sandbox, which can be started, stopped, and deleted. The infrastructure for containers can be server hardware or virtual machines in the cloud (i.e., containers can also be deployed within virtual machines). The operating system uses the Linux kernel and supports namespaces and cgroups. Namespaces are used to isolate processes, while cgroups are used to allocate process resources, specifically virtual processors and memory allocated to the process. The container engine, similar to a virtual machine manager, runs within the operating system and is used to manage containers. Compared to virtual machines, which come with their own operating system, containers do not have an operating system. Instead, containers run as processes within the host machine's operating system. As a result, containers start up faster than virtual machines, making them particularly suitable for lightweight applications. Furthermore, a single host machine can run thousands of containers (processes) simultaneously.

[0043] In the field of computer science, orchestration refers to the automated arrangement, coordination, and management of complex computer systems, middleware, and business processes. Orchestration typically involves three aspects: 1) resource orchestration, responsible for resource allocation; 2) workload orchestration, responsible for sharing workloads among resources and managing their lifecycles; and 3) service orchestration, responsible for service discovery and high availability, etc.

[0044] An image file is a template used to create servers or disks, containing operating systems, business data, or application software. It's a file storage format, similar to a compressed file, that combines a specific series of files into a single file for easy download and use by users, such as an operating system or a game. Its most important feature is that it can be recognized by specific software and directly burned to CDs. Most burning software can directly burn the contents of a supported image file to a CD. An image file can be considered an "extract" from a CD. Image files are widely used in data backup, system installation, and software distribution. Using an image file is similar to using a physical CD; simply load the image file into a virtual drive and operate it just like a physical CD.

[0045] Network interface card (NIC): also known as network interface controller, network adapter, or local area network receiver, is a type of computer hardware designed to allow hosts or computing devices to communicate over a network.

[0046] Memory (RAM): Also known as internal memory or main memory, its function is to temporarily store the data processed by the CPU, as well as the data exchanged with external storage devices such as hard drives.

[0047] Quality of Service (QoS) is a technology for effectively managing network resources. QoS provides end-to-end quality of service guarantees to meet the diverse needs of various services. With limited bandwidth resources, QoS allows different traffic flows to compete for network resources unequally, enabling better service capabilities for specific network communications. For example, voice, video, and critical data applications can receive priority service in network devices.

[0048] Resource pooling refers to integrating various computing and storage resources into a unified resource pool for unified dynamic allocation and management. Resource pooling enables high resource sharing, improves resource utilization, simplifies resource management, and provides users with flexible on-demand allocation services.

[0049] Cloud instances requested by cloud tenants are typically statically configured. Whether it's compute, storage, or network resources, cloud tenants generally request resources for cloud instances based on the peak demand of the services the instance will provide. However, this leads to significant resource waste during off-peak hours. Therefore, elastically scaling the resources used by cloud instances while they are running effectively reduces the cost of cloud resource usage for cloud tenants.

[0050] Currently, cloud vendors can adjust the specifications of cloud instances while they are powered off. This method is called cold provisioning. However, this method requires interrupting the services provided by the cloud instance, and the cold provisioning process is quite complex. In recent years, although some cloud vendors have provided hot provisioning capabilities, which can adjust the specifications of cloud instances without interrupting services, their hot provisioning process remains complex, requiring multiple management systems to work together to achieve resource changes. The overall execution time is long and the process is cumbersome, making it unsuitable for scenarios where services require rapid resource elastic scaling.

[0051] For example, in one hot-scaling approach, when the specifications of a cloud instance need to be adjusted, the cloud instance first needs to send a resource adjustment request to the cloud management platform. The cloud management platform determines the server where the cloud instance resides based on the resource adjustment request and then sends the request to that server. The server receiving the request then adjusts the cloud instance's specifications accordingly. However, this process involves sequentially passing through the cloud instance, the cloud management platform, and the server, resulting in a long execution time and slow resource elastic scaling for services implemented through the first cloud instance. Furthermore, this implementation requires modifications to the applications running on the cloud instance so that they send resource adjustment requests to the cloud management platform when specifications need to be adjusted, and the cloud management platform needs to detect resource changes and proactively call interfaces to adjust resources.

[0052] In view of this, this application provides a cloud system based on cloud computing technology. The cloud system includes a cloud management platform and infrastructure. The infrastructure includes multiple cloud hosts. The cloud management platform is used to manage the infrastructure. The cloud management platform includes a resource billing module. The multiple cloud hosts include a first cloud host. A first cloud instance and a resource allocation module run on the first cloud host. An application and a resource adjustment module run in the first cloud instance. The resource billing module is used to bill the usage of hardware resources occupied by the first cloud instance on the first cloud host. The application is used to send a first hardware resource expansion request to the resource adjustment module when business pressure increases. The resource adjustment module is used to send the first hardware resource expansion request to the resource allocation module. The resource allocation module is used to allocate the idle hardware resources on the first cloud host that match the first hardware resource expansion request to the first cloud instance when the first cloud host has idle hardware resources that match the first hardware resource expansion request, and send a first message to the resource billing module that the first cloud instance has expanded the idle hardware resources that match the first hardware resource expansion request. The resource billing module is also used to bill the first cloud instance for the hardware resources it occupies on the first cloud host and the usage of the expanded idle hardware resources in response to the first message.

[0053] In the process of adjusting the specifications of the hardware resources used by the first cloud instance in this application, since the adjustment of the hardware resource specifications by the resource allocation module is triggered by the first hardware resource expansion request, which is triggered by the application running in the first cloud instance and sent to the resource allocation module via the resource adjustment module running in the first cloud instance, the transmission of the first hardware resource expansion request is an in-band transmission within the first cloud host. The first hardware resource expansion request does not need to be transmitted out of band to the resource allocation module via the cloud management platform. Furthermore, the application running in the first cloud instance does not need to interact with the cloud management platform during the entire process of adjusting the specifications of the hardware resources used by the first cloud instance, shortening the execution time of the entire specification adjustment process and improving the speed of resource elastic scaling for services implemented through the first cloud instance. Simultaneously, the process of the resource allocation module adjusting the specifications of the hardware resources used by the first cloud instance can be executed while the first cloud instance is running, allowing the adjustment of the hardware resource specifications without shutting down the first cloud instance, without interrupting or affecting the services implemented by the cloud instance, further ensuring the speed of resource elastic scaling for services implemented through the first cloud instance.

[0054] This article provides a detailed introduction to the technical solution of this application from multiple perspectives, including implementation scenarios, methods and processes, hardware devices, and software devices.

[0055] The following are examples illustrating the implementation scenarios of the embodiments of this application.

[0056] Figure 1 This is a structural diagram illustrating an implementation scenario of a cloud system and billing method based on cloud computing technology provided in this application embodiment. For example... Figure 1 As shown, the implementation scenario includes: data center 1 and client 2. Data center 1 and client 2 can establish a communication connection via a network. Optionally, this network can be the Internet, or other networks; this embodiment is not limited to any particular network. Tenants can interact with data center 1 through client 2. For example, a tenant can send cloud service requests and other information to data center 1 through client 2. Data center 1 responds based on the information sent by client 2.

[0057] Data Center 1 houses a large amount of infrastructure owned by the cloud service provider, such as computing resources, storage resources, and network resources. For example, computing resources can be computing devices (such as servers) capable of providing computing power. Figure 1 As shown, data center 1 includes a cloud management platform and infrastructure ( Figure 1(Not shown in the diagram). The cloud management platform and the infrastructure are connected via an internal data center network. The cloud management platform is used to manage the infrastructure. The infrastructure is used to provide public cloud services. The infrastructure includes multiple servers. Cloud services are optionally deployed on the servers. Cloud services are implemented by running virtual instances, and are therefore also referred to as virtual instances deployed on servers to implement tenant services. Tenants can send cloud service requests and related information to the server through their client 2. The server can process the cloud service requests and related information and provide cloud services to the tenant based on the processed cloud service requests and related information. For example, the cloud management platform can provide cloud services to tenants through the cloud computing-based billing method provided in the embodiments of this application.

[0058] The cloud management platform can be logically divided into: tenant console, compute management service, network management service, storage management service, authentication service, and image management service. The tenant console provides a user interface or application programming interface (API) for interaction with tenants. The compute management service manages servers running virtual instances and bare metal servers. The network management service manages network services (such as gateways and firewalls). The storage management service manages storage services (such as data bucket services). The authentication service manages tenant accounts and passwords. The image management service manages virtual instance images.

[0059] exist Figure 1 In the illustrated implementation scenario, a data center contains multiple servers. The servers consist of a hardware layer and a software layer. The hardware layer comprises the standard server configuration, including processors, memory, network interface cards (NICs), disks, and buses. The software layer includes the operating system installed and running on the server. This operating system, relative to the virtual machine, can be called the host operating system. The host operating system runs a virtual machine manager (also known as a hypervisor). The hypervisor's role is to implement compute virtualization, network virtualization, and storage virtualization, and to manage the virtual machines.

[0060] The virtual machine manager runs a cloud management platform client. This client receives control plane commands from the cloud management platform, creates virtual instances on the server based on these commands, and manages the virtual instances throughout their lifecycle. For example, the client can monitor the hardware resource usage of the server in real time and report it to the cloud management platform. When the cloud management platform confirms that a virtual instance needs to be created on a specific server, it sends a virtual instance creation command to the client on that server. Upon receiving the command, the client creates the virtual instance on that server. In this way, tenants can create, manage, log in to, and operate virtual instances within the data center through the cloud management platform.

[0061] Servers can run virtual machines of different specifications. Virtual machine specifications are categorized as: general-purpose computing, memory-optimized, ultra-large memory, etc., with specific specifications under each type. After a tenant selects a virtual machine specification, the cloud management platform selects a server in the data center that supports that specification and ensures sufficient idle hardware resources on that server. Then, it creates and configures the virtual machine with that specification on that server. Configuring servers through the cloud management platform allows for the analysis and planning of server hardware resources. Based on the server's hardware performance, it plans the corresponding computing products for the physical hardware, such as planning virtual machines of different specifications, to meet the diverse needs of different tenants. Furthermore, differentiated pricing strategies can be implemented based on the performance differences of virtual machines of different specifications. For example, high-performance virtual instances can be sold at a higher price, while ordinary performance virtual instances can be sold at a lower price, allowing tenants to purchase virtual instances as needed.

[0062] In one implementation, such as Figure 2 As shown, the location of basic resources in a data center can be described using cloud resource deployment regions (regions) and availability zones (AZs). Tenants can choose to deploy cloud services based on resources within a specific region or AZ. A region is defined by geographical location and network latency. Using the same resource pool within the same region can be understood as sharing common services such as elastic computing, block storage, object storage, virtual private cloud (VPC) networks, elastic internet protocol (EIP) addresses, and images. Regions are divided into general-purpose regions and dedicated regions. A general-purpose region refers to a region that provides general cloud services to public tenants. A dedicated region refers to a region that hosts the same type of business or provides business services to specific tenants. A region typically includes multiple AZs. Multiple AZs within a region are connected via high-speed fiber optic cables to meet the needs of tenants building high-availability systems across AZs. An AZ is one or more... Figure 2 The data center shown is a collection of data centers. Within an Availability Zone (AZ), computing, networking, and storage resources are logically divided into multiple clusters.

[0063] Tenants can send instructions to the cloud management platform through their client 2 to create, manage, log in to, and operate virtual instances on the server, and use the cloud services provided by these virtual instances. For example, the cloud management platform can provide an access interface. This interface can be provided either as a user interface or an API. Tenants can operate their client to remotely access the access interface to register a cloud account and password on the cloud management platform, and then log in using these accounts and passwords. The cloud management platform can also authenticate the cloud account and password. After successful authentication, the tenant can further select and purchase a virtual instance with specific specifications (processor, memory, disk) on the cloud management platform. After the tenant successfully purchases the virtual instance, the cloud management platform provides the tenant with a remote login account and password for the purchased virtual instance. The tenant can use the remote login account and password to remotely log in to the virtual instance on their client, install and run their application within the virtual instance, and use the application to implement their business operations.

[0064] Client 2 can be selected from computers, personal computers, laptops, mobile phones, smartphones, tablets, cloud servers, portable mobile terminals, multimedia players, e-book readers, wearable devices, smart home appliances, artificial intelligence devices, smart wearable devices, smart in-vehicle devices, or Internet of Things devices, etc.

[0065] In one implementation, the functions of the cloud system and billing method based on cloud computing technology provided in this application embodiment can be implemented by running an executable program on a computing device in data center 1. Furthermore, the executable program implementing this function can optionally be presented in the form of an application installation package. After the server installs the application installation package, it can implement the function by running the executable program within it.

[0066] It should be understood that the above content is an exemplary description of the implementation scenarios involved in the embodiments of this application, and does not constitute a limitation on the implementation scenarios involved in the embodiments of this application. As those skilled in the art know, as business needs change, the implementation scenarios can be adjusted according to application requirements, and the embodiments of this application do not specifically limit them.

[0067] The implementation method of the cloud system based on cloud computing technology provided in this application will be introduced below.

[0068] Figure 3 This is a schematic diagram of the structure of a cloud system based on cloud computing technology provided in an embodiment of this application. Figure 3 As shown, the first cloud host runs a first cloud instance and a resource allocation module. The first cloud instance runs application and resource adjustment modules. The first cloud host also has various hardware components. The various virtual hardware components required for the first cloud instance to run are simulated by the virtual machine manager based on these hardware components. The functions of each component are as follows:

[0069] The resource billing module is used to bill the hardware resources used by the first cloud instance on the first cloud host.

[0070] The application is used to send the first hardware resource expansion request to the resource adjustment module when business pressure increases.

[0071] The resource adjustment module is used to send the first hardware resource expansion request to the resource allocation module.

[0072] The resource allocation module is used to allocate the available hardware resources on the first cloud host that match the first hardware resource expansion requirement to the first cloud instance, and to send a first message to the resource billing module that the first cloud instance has expanded its available hardware resources to match the first hardware resource expansion requirement. Here, "the first cloud host has available hardware resources that match the first hardware resource expansion requirement" means that the first cloud host has available hardware resources sufficient to meet the first hardware resource expansion requirement. For example, if the first hardware resource expansion requirement indicates increasing the specifications of the hardware resources occupied by the first cloud instance on the first cloud host to a first specification, then the available hardware resources matching the first hardware resource expansion requirement are available hardware resources with specifications greater than or equal to the first specification.

[0073] The resource billing module is also used to bill the first cloud instance for the hardware resources it occupies on the first cloud host and the usage of the expanded idle hardware resources in response to the first message.

[0074] In this way, when the application experiences increased business pressure, it sends a first hardware resource expansion request to the resource allocation module through the resource adjustment module. Based on this first hardware resource expansion request, and assuming the first cloud host has sufficient idle hardware resources, the resource allocation module allocates idle hardware resources matching the first hardware resource expansion request to the first cloud instance running in the application, thereby adjusting the specifications of the hardware resources used by the first cloud instance. In the process of adjusting the specifications of the hardware resources used by the first cloud instance in this application, since the resource allocation module's adjustment of the hardware resource specifications is triggered by the first hardware resource expansion request, which is triggered by the application running in the first cloud instance and sent to the resource allocation module via the resource adjustment module running in the first cloud instance, the transmission of the first hardware resource expansion request is in-band transmission within the first cloud host. The first hardware resource expansion request does not need to go through out-of-band transmission to the resource allocation module via the cloud management platform. Furthermore, the application running in the first cloud instance does not need to interact with the cloud management platform during the entire process of adjusting the specifications of the hardware resources used by the first cloud instance, shortening the execution time of the entire specification adjustment process and improving the speed of resource elastic scaling for services implemented through the first cloud instance. Meanwhile, the process of adjusting the specifications of the hardware resources used by the resource allocation module can be performed while the first cloud instance is running. This allows the specifications of the hardware resources used by the first cloud instance to be adjusted without shutting down the first cloud instance, without interrupting or affecting the services implemented by the cloud instance. This further ensures the speed of elastic scaling of resources for services implemented through the first cloud instance.

[0075] In one possible implementation, the resource adjustment module may be a software program running on the first cloud instance. For example, the resource adjustment module may be an independent middleware, independent process, dynamic library, static library, operating system (OS) resident service, or OS kernel component running on the first cloud instance. The OS resident service may be a resident process running on the OS. The OS kernel component may be a component running on the kernel. The implementation process of adjusting hardware resource specifications in this application is equivalent to the application calling the resource adjustment module to send a first hardware resource expansion request to the resource allocation module, causing the resource allocation module to adjust resources based on this first hardware resource expansion request. Optionally, the resource adjustment module may provide an API to the application, which can then call this API to send the first hardware resource expansion request to the resource allocation module. The API implementation may include, but is not limited to, remote procedure call (RPC) interfaces, socket interfaces, programming language interfaces, or command-line interfaces.

[0076] likeFigure 3 As shown, the resource allocation module is located in the virtual instance manager. The virtual instance manager runs on the hardware of the first cloud host, which also runs a host operating system. The virtual instance manager is used to simulate the hardware of the first cloud host using virtualization technology to obtain virtual hardware, and manages the cloud instances running on the cloud host. The operating system of the first cloud instance is used to identify the virtual hardware and run based on the virtual hardware. The first cloud instance can be a virtual machine or container issued to a tenant, or it can be a cloud service used within the cloud. For example, the first cloud instance is a high-level cloud service such as a database cloud service or an artificial intelligence (AI) cloud service. The type of the virtual instance manager matches the type of the cloud instance. For example, when the first cloud instance is a virtual machine, the virtual instance manager is, for example, a virtual machine manager; when the first cloud instance is a container, the virtual instance manager is, for example, a container manager. Similar to the resource adjustment module, the resource allocation module can also be an independent middleware, an independent process, a dynamic library, a static library, an OS-resident service, or an OS kernel component, etc.

[0077] The first cloud instance requires various virtual hardware components, including but not limited to virtual processors (such as vCPUs), virtual memory, virtual network interface cards (NICs), and virtual storage. Virtual processors provide computing power for the first cloud instance. Virtual processor specifications include the number of cores. Virtual memory temporarily stores data processed by the virtual processor and data exchanged with external storage. Virtual memory specifications include capacity and read / write speed. Virtual NICs are used for data transmission for the first cloud instance. Virtual NIC specifications include network bandwidth. Virtual storage serves as external storage for the first cloud instance. Virtual storage specifications include storage capacity and read / write speed. The read / write speed of virtual storage can be represented by the number of input / output operations per second (IOPS).

[0078] In one possible implementation, a communication connection is established between the resource adjustment module and the resource allocation module. After obtaining the first hardware resource expansion request, the resource adjustment module sends the first hardware resource expansion request to the resource allocation module based on this communication connection. The communication connection can be implemented via shared memory presented to the first cloud instance by the first cloud host, a simulated device (such as a serial port), or a virtual interrupt. The resource adjustment module and the resource allocation module transmit the first hardware resource expansion request through this communication connection, enabling the first hardware resource expansion request to be transmitted within the first cloud host without needing to be transmitted out of band to the resource allocation module via the cloud management platform. Furthermore, the entire process of adjusting the specifications of the cloud instance does not require interaction with the cloud management platform, thus shortening the execution time of the entire specification adjustment process and improving the speed of resource elastic scaling for services implemented through the first cloud instance.

[0079] Based on the first hardware resource expansion requirement, while the first cloud instance is running, the resource allocation module allocates idle hardware resources on the first cloud host that match the first hardware resource expansion requirement to the first cloud instance. This can be referred to as the resource allocation module performing hot-swapping of the hardware resource specifications used by the first cloud instance based on the first hardware resource expansion requirement. Since this is an expansion, this hot-swapping is actually a hot-incrementing configuration. In one possible implementation, in response to the first hardware resource expansion requirement indicating that the specifications of the hardware resources used by the first cloud instance be increased to a first specification, the resource allocation module may choose to use a dynamic hot-incrementing method to hot-increase the specifications of the hardware resources used by the first cloud instance to the first specification. The dynamic hot-incrementing method can adjust the specifications of different virtual hardware in different ways. For example, the specifications of virtual processors can be increased by hot-plugging. The specifications of virtual memory can be increased by hot-plugging or by using memory balloons. The specifications of virtual memory can be increased by adjusting storage QoS. The specifications of virtual network cards can be increased by adjusting network QoS.

[0080] The resource billing module is a software program running on the cloud management platform. By running this software program, the computing devices on the cloud management platform can bill the cloud instances based on their usage of hardware resources on the cloud host. A communication connection is established between the resource allocation module and the resource billing module. Through this communication connection, the resource allocation module sends a message to the resource billing module indicating that the first cloud instance has been expanded with available hardware resources matching the first hardware resource expansion requirement. There are various ways to implement the communication connection between the resource allocation module and the resource billing module, such as transmitting messages via a network or high-speed interconnect bus. This application embodiment does not specifically limit the specific implementation method.

[0081] In the above description, the first hardware resource expansion request is generated by the application running in the first cloud instance and sent to the resource adjustment module by the application. In one possible implementation, the application may choose to determine whether to generate the first hardware resource expansion request based on business pressure. For example, the application obtains business metrics, and if the business metrics exceed a preset upper limit threshold, it determines that the application's business pressure has increased and generates the first hardware resource expansion request. The upper limit threshold is the maximum value of a preset metric range, which can be selected to reflect a range that reflects moderate business operating pressure. When the business metrics exceed the upper limit threshold, it indicates that the business operating pressure is high, the current hardware resources of the first cloud instance are insufficient, and it is necessary to increase the specifications of the hardware resources used by the first cloud instance. In this case, the application generates the first hardware resource expansion request indicating an increase in the specifications of the hardware resources used by the first cloud instance. Here, the business metrics are used to reflect the operating status of the business. For example, the business metrics are the number of threads used by the application to implement the business. As another example, when the first cloud instance is used to implement database cloud services, the business metrics can be selected as the number of database connections. When the first cloud instance is used to implement the rendering cloud service, the business metrics can be selected as the utilization rate of virtual processing and / or the amount of virtual memory used by the first cloud instance. The operating system of the first cloud instance may optionally run a process for obtaining business metrics, thereby enabling the acquisition of business metrics for services implemented through the first cloud instance.

[0082] In one possible implementation, when generating a first hardware resource expansion request, the application needs to determine the first virtual hardware whose specifications need to be adjusted, and also determine the first specification to which the first virtual hardware used by the first cloud instance needs to be adjusted. For example, when the first cloud instance uses multiple virtual hardwares, the application needs to obtain business metrics including multiple business sub-metrics corresponding to the multiple virtual hardwares, and a preset metric range including multiple sub-metric ranges corresponding to the multiple business sub-metrics. When any business sub-metric obtained by the application exceeds the maximum value of its corresponding preset sub-metric range, the application generates a first hardware resource expansion request instructing the adjustment of the specifications of the virtual hardware corresponding to that business sub-metric. Optionally, the first cloud instance records the correspondence between the specifications of virtual hardware used by the application during historical operation and business metrics. After obtaining real-time business metrics, the application can optionally combine the real-time business metrics and this correspondence to predict the first specification to which the virtual hardware needs to be adjusted. For example, when the correspondence records the specifications corresponding to real-time business metrics, the application determines the specifications corresponding to those real-time business metrics as the first specification. For example, when the correspondence does not record the specification corresponding to the real-time business indicator, the application determines the historical business indicator in the correspondence that is closest to the real-time business indicator, obtains the specification corresponding to the historical business indicator, and then predicts the degree to which the specification corresponding to the real-time business indicator will fluctuate based on the specification corresponding to the historical business indicator. Then, the first specification is obtained based on the degree and the specification corresponding to the historical business indicator.

[0083] In the scenario of adjusting hardware resource specifications described above, if the first cloud host has available space hardware resources matching the first hardware resource expansion requirement, the resource allocation module directly allocates the available free hardware resources on the first cloud host to the first cloud instance, thereby expanding the hardware resource specifications used by the first cloud instance. However, the first cloud host may also have situations where it does not have space hardware resources matching the first hardware resource expansion requirement. In this case, it is necessary to expand the hardware resource specifications of the first cloud instance through other methods. Therefore, in addition to the scenario of adjusting hardware resource specifications mentioned above, there are other scenarios where the hardware resource specifications of the first cloud instance can be adjusted. The following examples illustrate these scenarios.

[0084] In a capacity expansion scenario, such as Figure 4As shown, the cloud management platform manages multiple cloud hosts, including a second cloud host. A first resource scheduling module runs on the first cloud host, and a second resource scheduling module runs on the second cloud host. In this expansion scenario, the application sends a second hardware resource expansion request to the resource adjustment module when business pressure increases again. The resource adjustment module sends the second hardware resource expansion request to the resource allocation module. The resource allocation module sends the second hardware resource expansion request to the first resource scheduling module when the first cloud host does not have available hardware resources matching the second hardware resource expansion request. The first resource scheduling module sends the second hardware resource expansion request to the second resource scheduling module. The second resource scheduling module confirms that the second cloud host has available hardware resources matching the second hardware resource expansion request, and then allocates the available hardware resources matching the second hardware resource expansion request on the second cloud host to the first cloud instance via a high-speed interconnect bus. The resource allocation module also sends a second message to the resource billing module indicating that the first cloud instance has expanded with available hardware resources matching the second hardware resource expansion request. Correspondingly, the resource billing module is also used to bill in response to the second message based on the usage of hardware resources occupied by the first cloud instance on the first cloud host and the usage of idle hardware resources on the second cloud host that have been expanded to match the expansion needs of the second hardware resources.

[0085] In this expansion scenario, when the first cloud host lacks available hardware resources matching the expansion requirement of the second hardware resource, the resource allocation module sends a second hardware resource expansion request to the first resource scheduling module. The first resource scheduling module then schedules resources to expand the hardware resources used by the first cloud instance. The first resource scheduling module schedules the hardware resources on the second cloud host. The second resource scheduling module of the second cloud host allocates available hardware resources matching the second hardware resource expansion request to the first cloud instance via a high-speed interconnect bus. In one possible implementation, the application sends a second hardware resource expansion request instruction to adjust the specifications of the first virtual hardware used by the first cloud instance to the second specification. The second hardware resource expansion request instruction received by the first resource scheduling module adjusts the specifications of the first virtual hardware used by the first cloud instance to the second specification. The specifications of the second hardware resource expansion request instruction sent by the first resource scheduling module to the second resource scheduling module can be selected as the specifications that the second cloud host needs to provide to the first cloud host after deducting the specifications that the available hardware resources of the first cloud host can provide from the second specification. Alternatively, the application sends a second hardware resource expansion request instruction to adjust the specifications of the first virtual hardware used by the first cloud instance to the second specifications. The specifications of the second hardware resource expansion request instruction received by the first resource scheduling module can be selected as the specifications that the second cloud host needs to provide to the first cloud host after deducting the specifications that the idle hardware resources of the first cloud host can provide based on the second specifications. This application embodiment does not specifically limit it.

[0086] This implementation is equivalent to the first resource scheduling module mounting hardware resources deployed outside the first cloud host to the first cloud host based on the second hardware resource expansion requirement. It should be noted that the hardware resources deployed outside the first cloud host here refer to hardware resources deployed on other cloud hosts, but can also be hardware resources deployed in other forms outside the first cloud host. These hardware resources deployed outside the first cloud host can be collectively referred to as hardware resources in the resource pool. The resource pool integrates various resources required for cloud instance operation, such as computing power resources, storage resources, and network resources. The resource pool may include multiple cloud hosts. When the first resource scheduling module mounts hardware resources from the resource pool to the first cloud host, it can borrow resources from other cloud hosts through a high-speed interconnect bus. The high-speed interconnect bus is, for example, a compute expresslink (CXL) bus, an interface bus (IB), or other high-speed parallel buses with a bandwidth of no less than 40 gigabytes per second (GB / s). This allows the first cloud instance to directly utilize various hardware resources on other cloud hosts, such as processors, memory, disks, network cards, graphics processing units (GPUs), and XPUs, via a high-speed interconnect bus, thereby ensuring the business performance of the first cloud instance.

[0087] In one possible implementation, such as Figure 4 As shown, the first resource scheduling module is located in the virtual instance manager of the first cloud host. The virtual instance manager of the first cloud host runs on the hardware of the first cloud host. Similar to the resource adjustment module, the first resource scheduling module can also be an independent middleware, an independent process, a dynamic library, a static library, an OS-resident service, or an OS kernel component, etc. Figure 4 As shown, the second resource scheduling module is located in the virtual instance manager of the second cloud host. The virtual instance manager of the second cloud host runs on the hardware of the second cloud host. Similar to the resource adjustment module, the second resource scheduling module can also be an independent middleware, an independent process, a dynamic library, a static library, an OS-resident service, or an OS kernel component, etc.

[0088] There are several communication methods that can be selected between the resource allocation module and the first resource scheduling module. For example, if the resource allocation module and the first resource scheduling module are connected via a bus, the resource allocation module can send the second hardware resource expansion request to the first resource scheduling module via the bus if the first cloud host does not have idle hardware resources that match the second hardware resource expansion requirement.

[0089] There are several communication methods that can be selected between the first resource scheduling module and the second resource scheduling module. For example, the first resource scheduling module and the second resource scheduling module are connected via a bus. In this case, if the first cloud host does not have idle hardware resources that match the second hardware resource expansion requirement, the first resource scheduling module sends the second hardware resource expansion requirement to the second resource scheduling module through the bus.

[0090] The implementation method for the resource allocation module to send the second message to the resource billing module is similar to the implementation method for the resource allocation module to send the first message to the resource billing module. There are several possible timings for the resource allocation module to send the second message to the resource billing module. For example, the resource allocation module may send the second message to the resource billing module after sending the second hardware resource expansion request to the first resource scheduling module. Another example is that after the second resource scheduling module allocates idle hardware resources on the second cloud host that match the second hardware resource expansion request to the first cloud instance via the high-speed interconnect bus, it sends a third message to the first resource scheduling module indicating that the first cloud instance has expanded its idle hardware resources that match the second hardware resource expansion request. After receiving the third message, the first resource scheduling module sends a fourth message to the resource allocation module indicating that the first cloud instance has expanded its idle hardware resources that match the second hardware resource expansion request. After receiving the fourth message, the resource allocation module sends the second message to the resource billing module.

[0091] In this expansion scenario, the implementation method for the application generating a second hardware resource expansion request is the same as the implementation method for the application generating a first hardware resource expansion request. The implementation method for the application sending the second hardware resource expansion request to the resource adjustment module is the same as the implementation method for the application sending the first hardware resource expansion request to the resource adjustment module. The implementation method for the resource adjustment module sending the second hardware resource expansion request to the resource allocation module is the same as the implementation method for the resource adjustment module sending the first hardware resource expansion request to the resource allocation module.

[0092] In another expansion scenario, such as Figure 4 As shown, the cloud management platform manages multiple cloud hosts, including a second cloud host. A first resource scheduling module runs on the first cloud host, and a second cloud instance also runs on the first cloud host. In this expansion scenario, the application sends a second hardware resource expansion request to the resource adjustment module when business pressure increases again. The resource adjustment module sends the second hardware resource expansion request to the resource allocation module. The resource allocation module sends the second hardware resource expansion request to the first resource scheduling module when the first cloud host does not have idle hardware resources matching the second hardware resource expansion request. The first resource scheduling module migrates the second cloud instance from the first cloud host to the second cloud host to release idle hardware resources on the first cloud host that match the second hardware resource expansion request, and notifies the resource allocation module that the idle hardware resources on the first cloud host matching the second hardware resource expansion request have been released. The resource allocation module allocates the idle hardware resources on the first cloud host matching the second hardware resource expansion request to the first cloud instance. The resource allocation module also sends a second message to the resource billing module indicating that the first cloud instance has expanded with idle hardware resources matching the second hardware resource expansion request. Correspondingly, the resource billing module is also used to bill in response to the second message based on the hardware resources occupied by the first cloud instance on the first cloud host and the usage of idle hardware resources on the first cloud host that have been expanded to match the expansion needs of the second hardware resources.

[0093] In this expansion scenario, if the first cloud host does not have idle hardware resources that match the expansion requirements of the second hardware resources, the first resource scheduling module will migrate the second cloud instance on the first cloud host to the second cloud host to release the idle hardware resources on the first cloud host that match the expansion requirements of the second hardware resources. This will allow the resource allocation module to allocate the idle hardware resources on the first cloud host that match the expansion requirements of the second hardware resources to the first cloud instance, thereby expanding the hardware resources used by the first cloud instance.

[0094] In one possible form, the application sends a second hardware resource expansion request instruction to adjust the specifications of the first virtual hardware used by the first cloud instance to a second specification. The first resource scheduling module receives the second hardware resource expansion request instruction to adjust the specifications of the first virtual hardware used by the first cloud instance to a second specification, and the first resource scheduling module determines the specifications of the hardware resources that need to be released by the first cloud host based on the second specification. Alternatively, the application sends a second hardware resource expansion request instruction to adjust the specifications of the first virtual hardware used by the first cloud instance to a second specification. The specifications of the second hardware resource expansion request instruction received by the first resource scheduling module can be selected as the specifications of the hardware resources that need to be released by the first cloud host after deducting the specifications that can be provided by the idle hardware resources of the first cloud host from the second specifications. This application embodiment does not specifically limit this. After determining the specifications of the hardware resources that need to be released by the first cloud host, the first resource scheduling module determines a second cloud instance from multiple cloud instances deployed on the first cloud host, and then migrates the second cloud instance to the second cloud host. The second cloud instance can be one or more cloud instances, and the resource specifications released after the second cloud instance is migrated to the second cloud host are greater than or equal to the specifications of the hardware resources that need to be released by the first cloud host. In one possible implementation, the resource scheduling module can optionally predict the resource specifications to be released after the second cloud instance is migrated to other cloud hosts based on the specifications of the second cloud instance.

[0095] For other aspects not described in this implementation scenario, such as the implementation method of the first resource scheduling module, the communication method between the resource allocation module and the first resource scheduling module, and the implementation method of the resource allocation module sending the second message to the resource billing module, please refer to the relevant descriptions in the preceding content. They will not be elaborated here.

[0096] In another expansion scenario, such as Figure 4As shown, the cloud management platform manages multiple cloud hosts, including a second cloud host, and the first cloud host runs a first resource scheduling module. In this expansion scenario, the application sends a second hardware resource expansion request to the resource adjustment module when business pressure increases again. The resource adjustment module sends the second hardware resource expansion request to the resource allocation module. The resource allocation module sends the second hardware resource expansion request to the first resource scheduling module when the first cloud host does not have idle hardware resources matching the second hardware resource expansion request. The first resource scheduling module migrates the first cloud instance to the second cloud host when the second cloud host has idle hardware resources matching the sum of the second hardware resource expansion request and the hardware resources occupied by the first cloud instance on the first cloud host. The first resource scheduling module also notifies the resource allocation module that the first cloud instance has expanded with idle hardware resources matching the second hardware resource expansion request. The resource allocation module sends a second message to the resource billing module indicating that the first cloud instance has expanded with idle hardware resources matching the second hardware resource expansion request. The resource billing module also bills for the hardware resources occupied by the first cloud instance on the second cloud host in response to the second message.

[0097] In one possible implementation, the first resource scheduling module determines, based on the second hardware resource expansion requirement, to migrate the first cloud instance to the second cloud host. Then, it migrates the first cloud instance to the second cloud host and sends an instruction to the second cloud host to increase the specifications of the hardware resources used by the first cloud instance to the specifications indicated by the second hardware resource expansion requirement. Upon receiving this instruction, the second cloud host increases the specifications of the hardware resources used by the first cloud instance to the specifications indicated by the second hardware resource expansion requirement. For example, if the resource allocation module sends a second hardware resource expansion requirement instruction to the first resource scheduling module to adjust the specifications of the first virtual hardware used by the first cloud instance to the second specification, then upon receiving the second hardware resource expansion requirement, the first resource scheduling module can determine, based on the second specification and the specifications that the idle hardware resources of the first cloud host can provide, that the idle resources of the first cloud host cannot meet the requirement of increasing the specifications of the hardware resources used by the first cloud instance to the second specification. It then determines a second cloud host that can provide the second specification, migrates the first cloud instance to the second cloud host, and sends an instruction to the second cloud host to increase the specifications of the hardware resources used by the first cloud instance to the second specification. This achieves the goal of expanding the hardware resources used by the first cloud instance.

[0098] For other aspects not described in this implementation scenario, such as the implementation method of the first resource scheduling module, the communication method between the resource allocation module and the first resource scheduling module, and the implementation method of the resource allocation module sending the second message to the resource billing module, please refer to the relevant descriptions in the preceding content. They will not be elaborated here.

[0099] It should be noted that the above expansion scenarios describe applications sending a second hardware resource expansion request to the resource adjustment module when business pressure increases again. However, it is possible that these expansion scenarios could also involve applications sending a second hardware resource expansion request when business pressure first increases. That is, for the above expansion scenarios, as long as the first cloud host does not have available space hardware resources matching the first hardware resource expansion request, expansion can be performed according to the expansion methods provided in the above scenarios. This application embodiment does not impose specific limitations on this. Furthermore, the above expansion scenarios describe the resource allocation module sending a second hardware resource expansion request to the first resource scheduling module when the first cloud host does not have available idle hardware resources matching the second hardware resource expansion request. It is also possible that the resource allocation module sends a second hardware resource expansion request to the first resource scheduling module in other situations. For example, after receiving a second hardware resource expansion request, the resource allocation module directly sends the second hardware resource expansion request to the first resource scheduling module. The first resource scheduling module then determines whether the first cloud host has resources that match the second hardware resource expansion request based on the second hardware resource expansion request. If the first resource scheduling module determines that the first cloud host does not have idle hardware resources that match the second hardware resource expansion request, it sends the second hardware resource expansion request to the second resource scheduling module.

[0100] Corresponding to the expansion scenario, the first cloud instance may also have a need for scaling down, thus there are scenarios where the first cloud instance needs to be scaled down. In the scaling down scenario, the multiple cloud hosts managed by the cloud management platform also include a second cloud host. In this scaling down scenario, the application sends a hardware resource scaling down request to the resource adjustment module when business pressure decreases. The resource adjustment module sends the hardware resource scaling down request to the resource allocation module. The resource allocation module releases the hardware resources occupied by the first cloud instance on the first or second cloud host that match the hardware resource scaling down request, and sends a third message to the resource billing module confirming that the first cloud instance has scaled down the hardware resources that match the hardware resource scaling down request. The resource billing module also bills for the remaining hardware resources after deducting the hardware resources that the first cloud instance has scaled down to match the hardware resource scaling down request from the hardware resources occupied by the first cloud instance on the first or second cloud host.

[0101] In one possible form, the hardware resource scaling-down request instruction sent by the application adjusts the specifications of the first virtual hardware used by the first cloud instance to a third specification. The resource allocation module receives the hardware resource scaling-down request instruction, adjusts the specifications of the first virtual hardware used by the first cloud instance to a third specification, and determines the specifications of the hardware resources that need to be released based on the third specification. Alternatively, the hardware resource scaling-down request instruction sent by the application adjusts the specifications of the first virtual hardware used by the first cloud instance to a third specification, and the specifications of the hardware resource scaling-down request instruction received by the resource allocation module can be selected as the specifications of the hardware resources that need to be released. This embodiment of the application does not specifically limit this.

[0102] When the first cloud instance uses only the hardware resources of the first cloud host, the resource allocation module releases the hardware resources on the first cloud host that match the hardware resource scaling-down requirements occupied by the first cloud instance. When the first cloud instance uses the hardware resources of both the first and second cloud hosts, the resource allocation module prioritizes releasing the hardware resources on the second cloud host that match the hardware resource scaling-down requirements occupied by the first cloud instance, and then releases the hardware resources on the second cloud host that match the hardware resource scaling-down requirements occupied by the first cloud instance. Alternatively, the resource allocation module prioritizes releasing the hardware resources on the first cloud host that match the hardware resource scaling-down requirements occupied by the first cloud instance, and then releases the hardware resources on the first cloud host that match the hardware resource scaling-down requirements occupied by the first cloud instance.

[0103] Based on hardware resource scaling requirements, the resource allocation module releases hardware resources on the first cloud host or second cloud host that match the scaling requirements while the first cloud instance is running. This can be described as the resource allocation module performing hot-scaling of the hardware resources used by the first cloud instance based on hardware resource scaling requirements. Since this is scaling down, this hot-scaling is actually hot-reducing. In one possible implementation, in response to a hardware resource scaling requirement indicating that the hardware resources used by the first cloud instance be reduced to a third specification, the resource allocation module can optionally use a dynamic hot-reduction method to hot-reduce the specifications of the hardware resources used by the first cloud instance to the third specification. Dynamic hot-reduction allows for different methods to adjust specifications for different virtual hardware. For example, hot-swapping can be used to reduce the specifications of the virtual processor. Hot-swapping or expanding memory balloons can be used to reduce the specifications of the virtual memory. Adjusting storage QoS can reduce the specifications of the virtual memory. Adjusting network QoS can reduce the specifications of the virtual network interface card.

[0104] In one possible implementation, the application can optionally determine whether to generate a hardware resource scaling-down request based on business pressure. For example, the application obtains business metrics. If the business metrics are lower than a preset lower threshold, it determines that the application's business pressure has decreased, and then generates a first hardware resource scaling-up request. The lower threshold is the minimum value of a preset metric range, which can be selected to reflect a moderate level of business operating pressure. When the business metrics are lower than the lower threshold, it indicates that the business operating pressure is low, and the current hardware resources of the first cloud instance are surplus. Therefore, it is necessary to reduce the specifications of the hardware resources used by the first cloud instance, and the application generates a hardware resource scaling-down request indicating a reduction in the specifications of the hardware resources used by the first cloud instance.

[0105] For other aspects not described in this implementation scenario, such as the implementation method of the first resource scheduling module, the communication method between the resource allocation module and the first resource scheduling module, and the implementation method of the resource allocation module sending the second message to the resource billing module, please refer to the relevant descriptions in the preceding content; they will not be elaborated here. For example, the implementation method of the application sending a hardware resource scaling-down request to the resource adjustment module should refer to the implementation method of the application sending a first hardware resource scaling-up request to the resource adjustment module. Similarly, the implementation method of the resource adjustment module sending a hardware resource scaling-down request to the resource allocation module should refer to the implementation method of the resource adjustment module sending a first hardware resource scaling-up request to the resource allocation module.

[0106] It should be noted that in the above scenarios of adjusting hardware resource specifications, the implementation of the first resource scheduling module and the second resource scheduling module can be either distributed or centralized. For example... Figure 4 As shown, when the first and second resource scheduling modules are implemented in a distributed manner, different cloud hosts store their own resource information, and the resource scheduling modules deployed on different cloud hosts synchronize the resource information of their respective cloud hosts through heartbeats. When the resource scheduling modules are implemented in a centralized manner, the resource information of different cloud hosts is stored in a unified location, such as a location specified by the cloud management platform, and the resource scheduling modules deployed on different cloud hosts uniformly request and release resources from this location.

[0107] In the above implementation scenarios, adjusting the specifications of the hardware resources used by the first cloud instance is achieved through resource allocation module in conjunction with the first resource scheduling module. This eliminates the need for applications to be concerned with the actual distribution of underlying resources on the first cloud host, reducing application management complexity. Furthermore, when the hardware resources of the first cloud host are insufficient, the first resource scheduling module makes the decision to schedule resources, eliminating the need for resource scheduling by the cloud management platform. For example, it eliminates the need for the cloud management platform to trigger hot migration, enabling rapid decision-making locally on the first cloud host. This further ensures the speed of elastic scaling of resources for services implemented through the first cloud instance.

[0108] In some possible implementations, hardware resource expansion and / or reduction requirements can also be generated by the resource adjustment module. The resource adjustment module can optionally determine whether to generate a hardware resource expansion requirement based on business pressure. For example, the resource adjustment module is also used to obtain business metrics, and generate a hardware resource expansion requirement when the business metrics exceed the maximum value of a preset metric range. The preset metric range can be a range reflecting a moderate level of business operating pressure. When the business metrics are greater than the maximum value of this range, it indicates that the business operating pressure is high, the current resources of the first cloud instance are insufficient, and the specifications of the hardware resources used by the first cloud instance need to be increased. In this case, the resource adjustment module generates a hardware resource expansion requirement indicating an increase in the specifications of the hardware resources used by the first cloud instance. When the business metrics are less than the minimum value of this range, it indicates that the business operating pressure is low, the current resources of the first cloud instance are surplus, and the specifications of the hardware resources used by the first cloud instance need to be reduced. In this case, the resource adjustment module generates a hardware resource reduction requirement indicating a reduction in the specifications of the hardware resources used by the first cloud instance. In this implementation, adjusting hardware resource specifications is equivalent to the resource adjustment module automatically detecting business pressure and requesting resource adjustments based on that pressure. This process requires no application involvement, making the adjustment of the first cloud instance's specifications transparent to the application. The application doesn't need to adjust resources itself; the entire resource adjustment process is fully automated for the business implemented through the first cloud instance. When the resource adjustment module generates hardware resource scaling-down requirements, it first needs to determine the first virtual hardware whose specifications need adjustment and the desired scaling-up level. For details on how the resource adjustment module determines the first virtual hardware to be adjusted and the desired scaling-up level, as well as the business metrics and their acquisition methods, please refer to the relevant descriptions of the corresponding functions implemented in the application; these will not be elaborated here. It should be noted that in this implementation, because the resource adjustment module also needs to acquire real-time business metrics, historical business metrics, and the specifications of hardware resources used during historical operation, and generate hardware resource expansion and / or scaling-down requirements based on these business metrics and historical operating data, it serves to obtain a profile of the resources used by the first cloud instance. Therefore, the resource adjustment module is also called the resource profiling module.

[0109] In this implementation, since the resource adjustment module does not need to be invoked by the application, it can be deployed either inside the first cloud instance or outside the first cloud instance on the first cloud host. Furthermore, when the resource adjustment module is deployed outside the first cloud instance on the first cloud host, if multiple cloud instances are deployed on the cloud host, the resource adjustment module can also obtain the business metrics of the applications running in the multiple cloud instances and generate hardware resource expansion and / or hardware resource reduction requirements based on these metrics to adjust the specifications of the hardware resources used by the multiple cloud instances. For the implementation method of adjusting the specifications of the hardware resources used by the multiple cloud instances, please refer to the relevant description of adjusting the specifications of the hardware resources used by the first cloud instance; it will not be elaborated here.

[0110] It should be noted that the first cloud host running a first cloud instance, and the first cloud host running a second cloud instance, are merely examples. The number of cloud instances deployed on the first cloud host can be adjusted based on application requirements, and this application embodiment does not impose specific limitations on it. For example, more cloud instances may be deployed on the first cloud host according to application requirements, such as deploying at least one cloud instance on the first cloud host. When at least one cloud instance is deployed on the first cloud host, the specifications of the hardware resources used by any cloud instance can be adjusted in accordance with the method provided in this application. Figure 3 This is a diagram illustrating the deployment of a cloud instance on the first cloud host.

[0111] As can be seen from the above, in the process of adjusting the specifications of the hardware resources used by the first cloud instance in this application, since the adjustment of the hardware resources used by the resource allocation module is triggered by the first hardware resource expansion demand, and the first hardware resource expansion demand is triggered by the application running in the first cloud instance, and sent to the resource allocation module through the resource adjustment module running in the first cloud instance, the transmission of the first hardware resource expansion demand is an in-band transmission within the first cloud host. The first hardware resource expansion demand does not need to go through the out-of-band transmission to the resource allocation module via the cloud management platform. Moreover, the application running in the first cloud instance does not need to interact with the cloud management platform during the entire process of adjusting the specifications of the hardware resources used by the first cloud instance, which shortens the execution time of the entire specification adjustment process and improves the speed of resource elastic scaling for services implemented through the first cloud instance. At the same time, the process of the resource allocation module adjusting the specifications of the hardware resources used by the first cloud instance can be executed while the first cloud instance is running, so that the specifications of the hardware resources used by the first cloud instance can be adjusted without shutting down the first cloud instance, without interrupting or affecting the services implemented by the cloud instance, further ensuring the speed of resource elastic scaling for services implemented through the first cloud instance.

[0112] Corresponding to the aforementioned cloud system based on cloud computing technology, this application also provides a billing method based on cloud computing technology. This method is applied to a cloud system. The cloud system includes a cloud management platform and infrastructure. The infrastructure includes multiple cloud hosts. The cloud management platform is used to manage the infrastructure. The cloud management platform includes a resource billing module. The multiple cloud hosts include a first cloud host. A first cloud instance and a resource allocation module run on the first cloud host. An application and resource adjustment module run in the first cloud instance. The implementation process of the billing method based on cloud computing technology is described below. Figure 5 This is a flowchart illustrating a billing method based on cloud computing technology provided in an embodiment of this application. Figure 5 As shown, the billing method based on cloud computing technology includes the following steps:

[0113] Step 501: The resource billing module bills for the hardware resources used by the first cloud instance on the first cloud host.

[0114] Step 502: When business pressure increases, the application sends the first hardware resource expansion request to the resource adjustment module.

[0115] Step 503: The resource adjustment module sends the first hardware resource expansion request to the resource allocation module.

[0116] Step 504: If the first cloud host has idle hardware resources that match the first hardware resource expansion requirement, the resource allocation module allocates the idle hardware resources on the first cloud host that match the first hardware resource expansion requirement to the first cloud instance, and sends a first message to the resource billing module that the first cloud instance has expanded idle hardware resources that match the first hardware resource expansion requirement.

[0117] Step 505: The resource billing module responds to the first message and bills for the hardware resources occupied by the first cloud instance on the first cloud host and the usage of the expanded idle hardware resources.

[0118] In one possible implementation, the cloud management platform manages multiple cloud hosts, including a second cloud host. The first cloud host runs a first resource scheduling module, and the second cloud host runs a second resource scheduling module. For example... Figure 6 As shown, the billing method based on cloud computing technology provided in this application also includes the following steps:

[0119] Step 506: When the business pressure increases again, the application sends a second hardware resource expansion request to the resource adjustment module.

[0120] Step 507: The resource adjustment module sends a second hardware resource expansion request to the resource allocation module.

[0121] Step 508: If the first cloud host does not have any idle hardware resources that match the second hardware resource expansion requirement, the resource allocation module sends the second hardware resource expansion requirement to the first resource scheduling module.

[0122] Step 509: The first resource scheduling module sends the second hardware resource expansion request to the second resource scheduling module.

[0123] Step 510: If the second resource scheduling module confirms that the second cloud host has idle hardware resources that match the expansion requirements of the second hardware resources, it allocates the idle hardware resources on the second cloud host that match the expansion requirements of the second hardware resources to the first cloud instance through the high-speed interconnect bus.

[0124] Step 511: The resource allocation module sends a second message to the resource billing module, indicating that the first cloud instance has been expanded to include idle hardware resources that match the expansion needs of the second hardware resource.

[0125] Step 512: The resource billing module responds to the second message and bills based on the usage of the hardware resources occupied by the first cloud instance on the first cloud host and the usage of the idle hardware resources on the second cloud host that have been expanded to match the expansion needs of the second hardware resources.

[0126] In one possible implementation, the cloud management platform manages multiple cloud hosts, including a second cloud host. The first cloud host runs a first resource scheduling module, and the first cloud host also runs a second cloud instance. For example... Figure 7 As shown, the billing method based on cloud computing technology provided in this application also includes the following steps:

[0127] Step 513: When the application faces increased business pressure again, it sends a second hardware resource expansion request to the resource adjustment module.

[0128] Step 514: The resource adjustment module sends a second hardware resource expansion request to the resource allocation module.

[0129] Step 515: If the first cloud host does not have any idle hardware resources that match the second hardware resource expansion requirement, the resource allocation module sends the second hardware resource expansion requirement to the first resource scheduling module.

[0130] Step 516: The first resource scheduling module migrates the second cloud instance on the first cloud host to the second cloud host to release the idle hardware resources on the first cloud host that match the expansion needs of the second hardware resources, and notifies the resource allocation module that the idle hardware resources on the first cloud host that match the expansion needs of the second hardware resources have been released.

[0131] Step 517: The resource allocation module allocates the idle hardware resources on the first cloud host that match the expansion needs of the second hardware resources to the first cloud instance.

[0132] Step 518: The resource allocation module sends a second message to the resource billing module, indicating that the first cloud instance has been expanded to include idle hardware resources that match the expansion needs of the second hardware resource.

[0133] Step 519: The resource billing module responds to the second message and bills based on the hardware resources occupied by the first cloud instance on the first cloud host and the usage of idle hardware resources on the first cloud host that have been expanded to match the expansion needs of the second hardware resources.

[0134] In one possible implementation, the cloud management platform manages multiple cloud hosts, including a second cloud host, while the first cloud host runs a first resource scheduling module. For example... Figure 8 As shown, the billing method based on cloud computing technology provided in this application also includes the following steps:

[0135] Step 520: When the application faces increased business pressure again, it sends a second hardware resource expansion request to the resource adjustment module.

[0136] Step 521: The resource adjustment module sends a second hardware resource expansion request to the resource allocation module.

[0137] Step 522: If the first cloud host does not have any idle hardware resources that match the second hardware resource expansion requirement, the resource allocation module sends the second hardware resource expansion requirement to the first resource scheduling module.

[0138] Step 523: If the first resource scheduling module has idle hardware resources on the second cloud host that match the sum of the second hardware resource expansion needs and the hardware resources occupied by the first cloud instance on the first cloud host, the first resource scheduling module will migrate the first cloud instance to the second cloud host.

[0139] Step 524: The first resource scheduling module notifies the resource allocation module that the first cloud instance has been expanded to match the second hardware resource expansion requirement with available idle hardware resources.

[0140] Step 525: The resource allocation module sends a second message to the resource billing module, indicating that the first cloud instance has been expanded to include idle hardware resources that match the expansion needs of the second hardware resource.

[0141] Step 526: The resource billing module responds to the second message and bills for the hardware resources occupied by the first cloud instance on the second cloud host.

[0142] In one possible implementation, the cloud management platform manages multiple cloud hosts, which may also include a second cloud host. For example... Figure 9As shown, the billing method based on cloud computing technology provided in this application also includes the following steps:

[0143] Step 527: When the business pressure decreases, the application sends a hardware resource scaling-down request to the resource adjustment module.

[0144] Step 528: The resource adjustment module sends a hardware resource reduction request to the resource allocation module.

[0145] Step 529: The resource allocation module releases the hardware resources occupied by the first cloud instance on the first cloud host or the second cloud host that match the hardware resource scaling-down requirements, and sends a third message to the resource billing module that the first cloud instance has scaled down the hardware resources that match the hardware resource scaling-down requirements.

[0146] Step 530: The resource billing module bills for the usage of the hardware resources occupied by the first cloud instance on the first cloud host or the second cloud host, after deducting the hardware resources that the first cloud instance has scaled down to match the hardware resource scaling-down requirements.

[0147] For details on the implementation of steps 501 to 530 above, please refer to the relevant descriptions in cloud systems based on cloud computing technology; they will not be elaborated upon here.

[0148] Furthermore, the order of steps in the billing method based on cloud computing technology provided in this application can be appropriately adjusted, and steps can be added or removed as needed. Any variations that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application, and therefore will not be elaborated further.

[0149] The following provides examples illustrating the basic hardware structures involved in the embodiments of this application.

[0150] This application also provides a computing device 1000. For example... Figure 10 As shown, the computing device 1000 includes a bus 1002, a processor 1004, a memory 1006, and a communication interface 1008. The processor 1004, the memory 1006, and the communication interface 1008 communicate with each other via the bus 1002. The computing device 1000 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 1000.

[0151] Bus 1002 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 10 The bus 1002 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 1002 may include a path for transmitting information between various components of the computing device 1000 (e.g., memory 1006, processor 1004, communication interface 1008).

[0152] The processor 1004 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0153] The memory 1006 may include volatile memory, such as random access memory (RAM). The processor 1004 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0154] The memory 1006 stores executable program code, and the processor 1004 executes the executable program code to implement the functions of the aforementioned acquisition unit 601, selection unit 602, and creation unit 603, thereby realizing the billing method based on cloud computing technology. That is, the memory 1006 stores instructions for executing the billing method based on cloud computing technology.

[0155] The communication interface 1008 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 1000 and other devices or communication networks.

[0156] This 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 smartphone.

[0157] like Figure 11 As shown, the computing device cluster includes at least one computing device 1000. The memory 1006 of one or more computing devices 1000 in the computing device cluster may store the same instructions for executing a billing method based on cloud computing technology.

[0158] In some possible implementations, the memory 1006 of one or more computing devices 1000 in the computing device cluster may also store partial instructions for executing the billing method based on cloud computing technology. In other words, a combination of one or more computing devices 1000 can jointly execute instructions for executing the billing method based on cloud computing technology.

[0159] It should be noted that the memory 1006 in different computing devices 1000 in the computing device cluster can store different instructions, which are used to execute some functions of the billing method based on cloud computing technology.

[0160] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN), a local area network (LAN), or similar. Figure 12 One possible implementation is shown. For example... Figure 12 As shown, the two computing devices 1000A and 1000B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.

[0161] It should be understood that Figure 12 The functions of computing device 1000A shown can also be performed by multiple computing devices 1000. Similarly, the functions of computing device 1000B can also be performed by multiple computing devices 1000.

[0162] This application also provides another computing device cluster. The connection relationships between the computing devices in this computing device cluster can be similarly referred to... Figure 11 and Figure 12 The connection method of the computing device cluster. The difference is that the memory 1006 of one or more computing devices 1000 in the computing device cluster can store the same instructions for executing the billing method based on cloud computing technology.

[0163] In some possible implementations, the memory 1006 of one or more computing devices 1000 in the computing device cluster may also store partial instructions for executing the billing method based on cloud computing technology. In other words, a combination of one or more computing devices 1000 can jointly execute instructions for executing the billing method based on cloud computing technology.

[0164] This application also provides a computer program product containing instructions. The computer program product may be software or program products containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product runs on at least one computing device, it causes the at least one computing device to execute the cloud computing-based billing method provided in this application.

[0165] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the cloud computing-based billing method provided in this application, or instruct the computing device to execute the cloud computing-based billing method provided in this application.

[0166] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0167] It should be noted that all 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 have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the raw data and executable code involved in this application were obtained with full authorization.

[0168] In the embodiments of this application, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance. The term "at least one" refers to one or more, and the term "multiple" refers to two or more, unless otherwise expressly defined.

[0169] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.

[0170] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A cloud system based on cloud computing technology, characterized by, The cloud system comprises a cloud management platform and an infrastructure, the infrastructure comprises a plurality of cloud hosts, the cloud management platform is used for managing the infrastructure, the cloud management platform comprises a resource charging module, the plurality of cloud hosts comprise a first cloud host, the first cloud host runs a first cloud instance and a resource allocation module, the first cloud instance runs an application and a resource adjustment module, and wherein: The resource charging module is configured to charge the use of the hardware resources occupied by the first cloud instance on the first cloud host. The application is configured to send a first hardware resource expansion requirement to the resource adjustment module when the business pressure increases. The resource adjustment module is configured to send the first hardware resource expansion requirement to the resource allocation module. The resource allocation module is configured to allocate the idle hardware resources on the first cloud host that match the first hardware resource expansion requirement to the first cloud instance when the first cloud host has the idle hardware resources that match the first hardware resource expansion requirement, and send a first message to the resource charging module, indicating that the first cloud instance has expanded the idle hardware resources that match the first hardware resource expansion requirement. The resource charging module is further configured to charge the use of the hardware resources occupied by the first cloud instance on the first cloud host and the expanded idle hardware resources in response to the first message.

2. The system of claim 1, wherein, The plurality of cloud hosts further comprise a second cloud host, the first cloud host runs a first resource scheduling module, and the second cloud host runs a second resource scheduling module, and wherein: The application is configured to send a second hardware resource expansion requirement to the resource adjustment module when the business pressure increases again. The resource adjustment module is configured to send the second hardware resource expansion requirement to the resource allocation module. The resource allocation module is configured to send the second hardware resource expansion requirement to the first resource scheduling module when the first cloud host does not have the idle hardware resources that match the second hardware resource expansion requirement. The first resource scheduling module is configured to send the second hardware resource expansion requirement to the second resource scheduling module. The second resource scheduling module is configured to confirm that the idle hardware resources on the second cloud host that match the second hardware resource expansion requirement are allocated to the first cloud instance through a high-speed interconnection bus when the second cloud host has the idle hardware resources that match the second hardware resource expansion requirement. The resource allocation module is configured to send a second message to the resource charging module, indicating that the first cloud instance has expanded the idle hardware resources that match the second hardware resource expansion requirement. The resource charging module is further configured to charge the use of the hardware resources occupied by the first cloud instance on the first cloud host and the expanded idle hardware resources on the second cloud host that match the second hardware resource expansion requirement in response to the second message.

3. The system of claim 1, wherein, The multiple cloud hosts further include a second cloud host, the first cloud host runs a first resource scheduling module, and the first cloud host further runs a second cloud instance, wherein: The application is configured to send a second hardware resource expansion requirement to the resource adjustment module in the case that the service pressure increases again. The resource adjustment module is configured to send the second hardware resource expansion requirement to the resource allocation module. The resource allocation module is configured to send the second hardware resource expansion requirement to the first resource scheduling module in the case that the first cloud host does not have idle hardware resources matching the second hardware resource expansion requirement. The first resource scheduling module is configured to migrate the second cloud instance on the first cloud host to the second cloud host to release idle hardware resources on the first cloud host matching the second hardware resource expansion requirement, and notify the resource allocation module that the idle hardware resources on the first cloud host matching the second hardware resource expansion requirement have been released. The resource allocation module is configured to allocate the idle hardware resources on the first cloud host matching the second hardware resource expansion requirement to the first cloud instance. The resource allocation module is further configured to send a second message indicating that the first cloud instance has expanded the idle hardware resources matching the second hardware resource expansion requirement to the resource charging module. The resource charging module is further configured to charge according to the use of the hardware resources occupied by the first cloud instance on the first cloud host and the idle hardware resources matching the second hardware resource expansion requirement that have been expanded on the first cloud host in response to the second message.

4. The system of claim 1, wherein, The multiple cloud hosts further include a second cloud host, and the first cloud host runs a first resource scheduling module, wherein: The application is configured to send a second hardware resource expansion requirement to the resource adjustment module in the case that the service pressure increases again. The resource adjustment module is configured to send the second hardware resource expansion requirement to the resource allocation module. The resource allocation module is configured to send the second hardware resource expansion requirement to the first resource scheduling module in the case that the first cloud host does not have idle hardware resources matching the second hardware resource expansion requirement. The first resource scheduling module is configured to migrate the first cloud instance to the second cloud host in the case that the second cloud host has idle hardware resources matching the sum of the second hardware resource expansion requirement and the hardware resources occupied by the first cloud instance on the first cloud host. The first resource scheduling module is further configured to notify the resource allocation module that the first cloud instance has expanded idle hardware resources matching the second hardware resource expansion requirement. The resource allocation module is configured to send a second message indicating that the first cloud instance has expanded idle hardware resources matching the second hardware resource expansion requirement to the resource charging module. The resource charging module is further configured to charge according to the use of the hardware resources occupied by the first cloud instance on the first cloud host and the idle hardware resources matching the second hardware resource expansion requirement that have been expanded on the first cloud host in response to the second message. The resource charging module is further configured to charge, in response to the second message, for the hardware resources occupied by the first cloud instance on the second cloud host.

5. The system of claim 1, wherein, The plurality of cloud hosts further comprises a second cloud host, The application is configured to send, in a case where the service pressure is reduced, a hardware resource capacity reduction demand to the resource adjustment module. The resource adjustment module is configured to send the hardware resource capacity reduction demand to the resource allocation module. The resource allocation module is configured to release the hardware resources occupied by the first cloud instance on the first cloud host or the second cloud host and match the hardware resource capacity reduction demand, and send a third message to the resource charging module, indicating that the first cloud instance has reduced the hardware resources matched with the hardware resource capacity reduction demand. The resource charging module is further configured to charge, in response to the second message, for the hardware resources occupied by the first cloud instance on the second cloud host.

6. A billing method based on cloud computing technology, characterized by, The method is applied to a cloud system, the cloud system comprising a cloud management platform and an infrastructure, the infrastructure comprising a plurality of cloud hosts, the cloud management platform being configured to manage the infrastructure, the cloud management platform comprising a resource charging module, the plurality of cloud hosts comprising a first cloud host, the first cloud host running a first cloud instance and a resource allocation module, the first cloud instance running an application and a resource adjustment module, the method comprising: The resource charging module charges for the use of the hardware resources occupied by the first cloud instance on the first cloud host; The application is configured to send, in a case where the service pressure is reduced, a hardware resource capacity reduction demand to the resource adjustment module. The resource adjustment module is configured to send the hardware resource capacity reduction demand to the resource allocation module. The resource allocation module is configured to release the hardware resources occupied by the first cloud instance on the first cloud host or the second cloud host and match the hardware resource capacity reduction demand, and send a third message to the resource charging module, indicating that the first cloud instance has reduced the hardware resources matched with the hardware resource capacity reduction demand. The resource charging module is further configured to charge, in response to the second message, for the hardware resources occupied by the first cloud instance on the second cloud host.

7. The method of claim 6, wherein, The plurality of cloud hosts further comprises a second cloud host, the first cloud host running a first resource scheduling module, and the second cloud host running a second resource scheduling module, the method further comprising: The application is configured to send, in a case where the service pressure is reduced, a hardware resource capacity reduction demand to the resource adjustment module. The resource adjustment module is configured to send the hardware resource capacity reduction demand to the resource allocation module. The resource allocation module is configured to release the hardware resources occupied by the first cloud instance on the first cloud host or the second cloud host and match the hardware resource capacity reduction demand, and send a third message to the resource charging module, indicating that the first cloud instance has reduced the hardware resources matched with the hardware resource capacity reduction demand. The resource allocation module sends the second hardware resource expansion demand to the first resource scheduling module in a case that the first cloud host does not have idle hardware resources matching the second hardware resource expansion demand; The first resource scheduling module sends the second hardware resource expansion demand to the second resource scheduling module; The second resource scheduling module confirms that, in a case that the second cloud host has idle hardware resources matching the second hardware resource expansion demand, the idle hardware resources matching the second hardware resource expansion demand on the second cloud host are allocated to the first cloud instance through a high-speed interconnection bus; The resource allocation module sends a second message indicating that the first cloud instance has expanded idle hardware resources matching the second hardware resource expansion demand to the resource charging module; The resource charging module charges according to the usage of the hardware resources occupied by the first cloud instance on the first cloud host and the expanded idle hardware resources matching the second hardware resource expansion demand on the second cloud host in response to the second message.

8. The method of claim 6, wherein, The plurality of cloud hosts further include a second cloud host, the first cloud host runs a first resource scheduling module, and the first cloud host further runs a second cloud instance, and the method further includes: The application sends a second hardware resource expansion demand to the resource adjustment module in a case that the business pressure increases again; The resource adjustment module sends the second hardware resource expansion demand to the resource allocation module; The resource allocation module sends the second hardware resource expansion demand to the first resource scheduling module in a case that the first cloud host does not have idle hardware resources matching the second hardware resource expansion demand; The first resource scheduling module migrates the second cloud instance on the first cloud host to the second cloud host to release the idle hardware resources matching the second hardware resource expansion demand on the first cloud host, and notifies the resource allocation module that the idle hardware resources matching the second hardware resource expansion demand on the first cloud host have been released; The resource allocation module allocates the idle hardware resources matching the second hardware resource expansion demand on the first cloud host to the first cloud instance; The resource allocation module sends a second message indicating that the first cloud instance has expanded idle hardware resources matching the second hardware resource expansion demand to the resource charging module; The resource charging module charges according to the usage of the hardware resources occupied by the first cloud instance on the first cloud host and the expanded idle hardware resources matching the second hardware resource expansion demand on the first cloud host in response to the second message.

9. The method of claim 6, wherein, The plurality of cloud hosts further include a second cloud host, the first cloud host runs a first resource scheduling module, and the method further includes: The application sends a second hardware resource expansion demand to the resource adjustment module in a case that the business pressure increases again; The resource adjustment module sends the second hardware resource expansion requirement to the resource allocation module; The resource allocation module sends the second hardware resource expansion requirement to the first resource scheduling module in a case that the first cloud host does not have idle hardware resources matching the second hardware resource expansion requirement; The first resource scheduling module migrates the first cloud instance to the second cloud host in a case that the second cloud host has idle hardware resources matching the sum of the second hardware resource expansion requirement and the hardware resources occupied by the first cloud instance on the first cloud host; The first resource scheduling module notifies the resource allocation module that the first cloud instance has expanded idle hardware resources matching the second hardware resource expansion requirement; The resource allocation module sends a second message indicating that the first cloud instance has expanded idle hardware resources matching the second hardware resource expansion requirement to the resource charging module; The resource charging module charges for the hardware resources occupied by the first cloud instance on the second cloud host in response to the second message.

10. The method of claim 6, wherein, The plurality of cloud hosts further include a second cloud host, and the method further includes: The application sends a hardware resource contraction requirement to the resource adjustment module in a case that the business pressure is reduced; The resource adjustment module sends the hardware resource contraction requirement to the resource allocation module; The resource allocation module releases the hardware resources occupied by the first cloud instance on the first cloud host or the second cloud host matching the hardware resource contraction requirement, and sends a third message indicating that the first cloud instance has contracted hardware resources matching the hardware resource contraction requirement to the resource charging module; The resource charging module charges for the use of the hardware resources remaining after the first cloud instance has contracted hardware resources matching the hardware resource contraction requirement from the hardware resources occupied by the first cloud instance on the first cloud host or the second cloud host.

11. A cluster of computing devices, characterized in that, The plurality of computing devices include a plurality of processors and a plurality of memories, and the plurality of memories store program instructions, and the plurality of processors execute the program instructions, so that the computing device cluster executes the method of any one of claims 6 to 10.

12. A computer-readable storage medium, characterized in that, The program instructions, when executed on a computing device, cause the computing device to execute the method of any one of claims 6 to 10.

13. A computer program product comprising instructions, characterized in that, The instructions, when executed on a computing device cluster, cause the computing device cluster to execute the method of any one of claims 6 to 10.