Cloud service management method and device

By obtaining the first feature data provided by tenants in the cloud management platform, the problem of insufficient timeliness of obtaining virtual instance information is solved, more efficient virtual instance management and resource utilization are achieved, and more personalized service guarantees are provided.

CN120223741APending Publication Date: 2025-06-27HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410382789.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-12-27
Filing Date
2024-03-29
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

The existing cloud management platform has poor timeliness when obtaining virtual instance information, resulting in the inability to effectively predict and avoid the operation of virtual instances.

Method used

By obtaining the first feature data from the tenant, it is used to indicate the expected running status of the virtual instance and obtaining the data before the virtual instance is created, the accuracy and timeliness of the data are improved. At the same time, based on the degree of matching between the actual operating status and the expected status, sales discounts are determined to motivate tenants to provide more accurate information.

Benefits of technology

It improves the management efficiency of virtual instances, ensures efficient utilization of cloud resources, and provides more personalized guarantees through more accurate information, promoting cloud vendors to better operate their resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120223741A_ABST
    Figure CN120223741A_ABST
Patent Text Reader

Abstract

The invention discloses a cloud service management method and device, and belongs to the technical field of cloud services. The cloud service management method comprises the following steps: a cloud management platform obtains a virtual instance specification set by a tenant from a virtual instance creation interface, and creates a virtual instance conforming to the virtual instance specification according to the virtual instance specification; the cloud management platform acquires first feature data set by a tenant from the information acquisition interface, wherein the first feature data is used for indicating an expected running state of the virtual instance in a preset time period; and the cloud management platform detects the actual operation state of the virtual instance in the preset time period, determines a selling discount according to the target matching degree of the actual operation state and the expected operation state, and charges the tenant using the virtual instance in the preset time period according to the selling discount. According to the method and the device, the accuracy and the timeliness of the obtained first feature data of the virtual instance can be ensured, and the cloud management platform can better run the virtual instance based on the first feature data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims the priority of a Chinese patent application with the application number 202311839564.X and the invention title "Cloud Service Provision Method and Device" filed on December 27, 2023, the entire content of which is incorporated herein by reference. Technical Field

[0002] This application relates to the technical field of cloud services, and particularly to a cloud service management method and device. Background Art

[0003] With the development of cloud computing technology, the types of cloud services provided by cloud providers are increasing, and using cloud services to implement business has become a trend. At this time, how to manage cloud services more efficiently is a problem worthy of research for cloud providers. When a cloud management platform provides cloud services to tenants using virtual instances, the cloud management platform can obtain relevant information about the virtual instances and better utilize the energy efficiency of cloud resources and provide better personalized guarantees to tenants based on this relevant information, promoting better resource operation by cloud providers.

[0004] Currently, the cloud management platform can detect virtual instances during their operation to obtain relevant information about the virtual instances. For example, during the operation of a virtual machine, the cloud management platform can detect the CPU utilization rate of the virtual machine and perform hotspot prediction and fault avoidance in advance based on this CPU utilization rate.

[0005] However, the timeliness of this way of obtaining virtual instance information is poor. Summary of the Invention

[0006] This application provides a cloud service management method and device. This application can ensure the accuracy and timeliness of the first characteristic data of the obtained virtual instances, which helps the cloud management platform to better run the virtual instances based on this first characteristic data. The technical solutions provided by this application are as follows:

[0007] In a first aspect, the present application provides a cloud service management method. The cloud service management method is executed by a cloud management platform. The cloud management platform is used to manage the infrastructure that provides cloud services. The infrastructure includes multiple servers. Virtual instances for implementing tenant services are deployed in the servers. The cloud service management method includes: the cloud management platform obtains the virtual instance specifications set by the tenant from the virtual instance creation interface, and calls resources in the infrastructure according to the virtual instance specifications to create virtual instances that meet the virtual instance specifications; the cloud management platform obtains first feature data set by the tenant from the information acquisition interface, and the first feature data is used to indicate the expected operating state of the virtual instance within a preset time period; the cloud management platform detects the actual operating state of the virtual instance within the preset time period, determines the selling discount according to the target matching degree between the actual operating state and the expected operating state, and charges the tenant for using the virtual instance within the preset time period according to the selling discount.

[0008] In this way, since the tenant has a certain understanding of their own business, the cloud management platform obtains the first feature data from the tenant. On the one hand, it can ensure the accuracy of the first feature data. On the other hand, it can obtain the first feature data before the cloud management platform runs the virtual instance, improving the timeliness of obtaining the first feature data, which helps the cloud management platform to better run the virtual instance based on the first feature data. For example, after the cloud platform obtains the virtual machine information, it can make advance operation plans and guarantees for the virtual machine based on the virtual machine information to better utilize the energy efficiency of cloud resources and provide better personalized guarantees to tenants. At the same time, the cloud management platform determines the selling discount for the virtual instance based on the target matching degree between the operating state indicated by the first feature data and the actual operating state of the virtual instance, which is equivalent to compensating the tenant for providing the first feature data according to the target matching degree, helping to encourage the tenant to provide more accurate relevant information about the virtual instance to the cloud management platform.

[0009] In a possible implementation manner, the cloud service management method further includes: the cloud management platform determines the initial discount of the virtual instance based on the first feature data. Correspondingly, the cloud management platform determines the selling discount according to the target matching degree between the actual operating state and the expected operating state, including: the cloud management platform determines the selling discount based on the target matching degree and the initial discount, and the initial discount is positively correlated with the selling discount. At this time, the cloud management platform determines the initial discount of the virtual instance based on the first feature data, which is equivalent to determining the value of the first feature data. Determining the selling discount of the virtual instance based on the initial discount is equivalent to using the initial discount reflecting this value to affect the selling discount of the virtual instance. In this way, it can more prominently highlight the influence degree of the first feature data set by the tenant on the selling discount, and can further encourage the tenant to provide more accurate information about the virtual instance to the cloud management platform.

[0010] In a possible implementation, the cloud management platform determines an initial discount for a virtual instance based on first feature data, including: the cloud management platform determines the refinement degree of the running state indicated by the first feature data; the cloud management platform determines the initial discount based on the refinement degree, and the refinement degree is positively correlated with the initial discount. When the refinement degree is higher, the first feature data can provide more detailed reference information for the cloud management platform. As a feedback for the tenant to set the first feature data, the cloud management platform can offer a larger discount to the tenant, and this larger discount can be reflected by the initial discount. This helps to encourage tenants to provide more detailed first feature data to the cloud management platform.

[0011] In a possible implementation, the first feature data indicates the resource demand of the virtual instance for the server. The cloud management platform determines an initial discount for the virtual instance based on the first feature data, including: the cloud management platform determines the initial discount for the virtual instance based on the resource demand, and the resource demand is negatively correlated with the initial discount. When the resource demand of the virtual instance for the service is larger, the cost for the cloud management platform to manage the virtual instance is higher, so the resource demand and the initial discount can have a negative correlation relationship.

[0012] In a possible implementation, the cloud service management method further includes: the cloud management platform displays the initial discount to the tenant and receives feedback from the tenant indicating whether to accept the initial discount. Correspondingly, the cloud management platform detects the actual running state of the virtual instance within a preset time period, including: the cloud management platform detects the actual running state of the virtual instance within a preset time period when the tenant accepts the initial discount.

[0013] In a possible implementation, the cloud service management method further includes: the cloud management platform displays a selling discount to the tenant.

[0014] In a possible implementation, the content indicated by the running state of the virtual instance includes one or more of the following: the application program running on the virtual instance, the creation time and deletion time of the virtual instance, the power-on time and power-off time of the virtual instance, the load condition of the virtual instance.

[0015] In a possible implementation, in response to the running state indicating the application program running on the virtual instance, and the application program is indicated by at least one first metric, the cloud service management method further includes: the cloud management platform obtains the overlapping degree between the numerical range of the target first metric indicated by the first feature data and the numerical range of the target first metric indicated by the actual running state, where the target first metric is any one of the at least one first metric; the cloud management platform obtains the first matching degree between the target first metric indicated by the actual running state and the target first metric indicated by the expected running state based on the overlapping degree corresponding to the target first metric; the cloud management platform obtains the target matching degree based on the first matching degree.

[0016] In a possible implementation, the first matching degree and the coincidence degree satisfy that when the first coincidence degree is greater than the second coincidence degree, the first matching degree corresponding to the first coincidence degree is greater than or equal to the first matching degree corresponding to the second coincidence degree.

[0017] In a possible implementation, in response to a target period in the first period and the second period of the running state indicating a virtual instance, the start point of the first period is the creation time of the virtual instance, the end point of the first period is the deletion time of the virtual instance, the start point of the second period is the boot time of the virtual instance, and the end point of the second period is the shutdown time of the virtual instance. The cloud service management method further includes: the cloud management platform obtains the excess duration of the target period indicated by the actual running state exceeding the target period indicated by the first characteristic data; the cloud management platform obtains a second matching degree between the target period indicated by the actual running state and the target period indicated by the expected running state based on the excess duration; the cloud management platform obtains a target matching degree based on the second matching degree.

[0018] In a possible implementation, the second matching degree and the excess duration satisfy that when the first excess duration is greater than the second excess duration, the second matching degree corresponding to the first excess duration is less than or equal to the second matching degree corresponding to the excess duration.

[0019] In a possible implementation, in response to the running state indicating the load condition of the virtual instance, and the load condition is indicated by at least one second metric, the cloud service management method further includes: the cloud management platform obtains the magnitude relationship between the target value of the target second metric indicated by the first characteristic data and the target value of the target second metric indicated by the actual running state, where the target second metric is any one of the at least one second metric; the cloud management platform obtains a third matching degree between the target second metric indicated by the actual running state and the target second metric indicated by the expected running state based on the magnitude relationship corresponding to the target second metric; the cloud management platform obtains a target matching degree based on the third matching degree.

[0020] In a possible implementation, when the target value of the target second metric indicated by the first characteristic data within a specified time period is greater than or equal to the target value of the target second metric indicated by the actual running state within the specified time period, the target second metric indicated by the actual running state matches the target second metric indicated by the expected running state within the specified time period, and the preset time period includes the specified time period.

[0021] In a possible implementation, in response to the expected operating state indicating multiple metrics and the actual operating state indicating multiple metrics, the cloud management platform determines the selling discount according to the target matching degree between the actual operating state and the expected operating state, including: the cloud management platform obtains the impact weight of each metric among the multiple metrics; the cloud management platform obtains the selling discount based on the impact weights of the multiple metrics and the matching degrees corresponding to the multiple metrics, and the matching degree corresponding to any one of the multiple metrics is the matching degree between any one metric indicated by the actual operating state and any one metric indicated by the expected operating state.

[0022] In a second aspect, the present application provides a cloud service management device, which is executed by the cloud management platform. The cloud management platform is used to manage the infrastructure that provides cloud services. The infrastructure includes multiple servers, and virtual instances for implementing tenant services are deployed in the servers. The cloud service management device includes: an interaction module, configured to obtain the virtual instance specifications set by the tenant from the virtual instance creation interface; a processing module, configured to call resources in the infrastructure according to the virtual instance specifications to create virtual instances that meet the virtual instance specifications; the interaction module is further configured to obtain first feature data set by the tenant from the information acquisition interface, and the first feature data is used to indicate the expected operating state of the virtual instance within a preset time period; the processing module is further configured to detect the actual operating state of the virtual instance within the preset time period, determine the selling discount according to the target matching degree between the actual operating state and the expected operating state, and charge the tenant for using the virtual instance within the preset time period according to the selling discount.

[0023] In a possible implementation, the processing module is specifically configured to: determine the initial discount of the virtual instance based on the first feature data; determine the selling discount based on the target matching degree and the initial discount, and the initial discount is positively correlated with the selling discount.

[0024] In a possible implementation, the processing module is specifically configured to: determine the refinement degree of the operating state indicated by the first feature data; determine the initial discount based on the refinement degree, and the refinement degree is positively correlated with the initial discount.

[0025] In a possible implementation, the first feature data indicates the resource demand of the virtual instance for the server, and the processing module is specifically configured to: determine the initial discount of the virtual instance based on the resource demand, and the resource demand is negatively correlated with the initial discount.

[0026] In a possible implementation, the interaction module is further configured to display the initial discount to the tenant and receive feedback from the tenant indicating whether to accept the initial discount. Correspondingly, the processing module is specifically configured to detect the actual operating state of the virtual instance within the preset time period when the tenant accepts the initial discount.

[0027] In a possible implementation, the interaction module is further configured to display the sales discount to the tenant.

[0028] In a possible implementation, the running state indicates one or more of the following: the application running on the virtual instance, the creation time and deletion time of the virtual instance, the power-on time and power-off time of the virtual instance, and the load condition of the virtual instance.

[0029] In a possible implementation, the content indicated by the running state of the virtual instance includes one or more of the following: the application running on the virtual instance, the creation time and deletion time of the virtual instance, the power-on time and power-off time of the virtual instance, and the load condition of the virtual instance.

[0030] In a possible implementation, in response to the running state indicating the application running on the virtual instance, and the application is indicated by at least one first metric, the processing module is specifically configured to: obtain the coincidence degree between the numerical range of the target first metric indicated by the first feature data and the numerical range of the target first metric indicated by the actual running state, where the target first metric is any one of the at least one first metric; obtain the first matching degree between the target first metric indicated by the actual running state and the target first metric indicated by the expected running state based on the coincidence degree corresponding to the target first metric; and obtain the target matching degree based on the first matching degree.

[0031] In a possible implementation, the first matching degree and the coincidence degree satisfy: when the first coincidence degree is greater than the second coincidence degree, the first matching degree corresponding to the first coincidence degree is greater than or equal to the first matching degree corresponding to the second coincidence degree.

[0032] In a possible implementation, in response to the running state indicating the target time period among the first time period and the second time period of the virtual instance, the start point of the first time period is the creation time of the virtual instance, the end point of the first time period is the deletion time of the virtual instance, the start point of the second time period is the power-on time of the virtual instance, and the end point of the second time period is the power-off time of the virtual instance, the processing module is specifically configured to: obtain the excess duration of the target time period indicated by the actual running state exceeding the target time period indicated by the first feature data; obtain the second matching degree between the target time period indicated by the actual running state and the target time period indicated by the expected running state based on the excess duration; and obtain the target matching degree based on the second matching degree.

[0033] In a possible implementation, the second matching degree and the excess duration satisfy: when the first excess duration is greater than the second excess duration, the second matching degree corresponding to the first excess duration is less than or equal to the second matching degree corresponding to the excess duration.

[0034] In a possible implementation, in response to the load condition of the virtual instance indicated by the running state, and the load condition is indicated by at least one second metric, the processing module is specifically configured to: obtain the magnitude relationship between the target value of the target second metric indicated by the first feature data and the target value of the target second metric indicated by the actual running state, where the target second metric is any one of the at least one second metric; based on the magnitude relationship corresponding to the target second metric, obtain the third matching degree between the target second metric indicated by the actual running state and the target second metric indicated by the expected running state; and obtain the target matching degree based on the third matching degree.

[0035] In a possible implementation, when the target value of the target second metric indicated by the first feature data within the specified time period is greater than or equal to the target value of the target second metric indicated by the actual running state within the specified time period, the target second metric indicated by the actual running state matches the target second metric indicated by the expected running state within the specified time period, and the preset time period includes the specified time period.

[0036] In a possible implementation, in response to the expected running state indicating multiple metrics and the actual running state indicating multiple metrics, the processing module is specifically configured to: obtain the influence weight of each metric among the multiple metrics; and obtain the selling discount based on the influence weights of the multiple metrics and the matching degrees corresponding to the multiple metrics, where the matching degree corresponding to any one of the multiple metrics is the matching degree between any one of the metrics indicated by the actual running state and any one of the metrics indicated by the expected running state.

[0037] In a third aspect, the present application provides a computing device, including a memory and a processor. The memory stores program instructions, and the processor runs the program instructions to execute the method provided in the first aspect of the present application and any of its possible implementations.

[0038] In a fourth aspect, the present application provides a computing device cluster, including multiple computing devices. The multiple computing devices include multiple processors and multiple memories. Program instructions are stored in the multiple memories, and the multiple processors run the program instructions, so that the computing device cluster executes the method provided in the first aspect of the present application and any of its possible implementations.

[0039] In a fifth aspect, the present application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes program instructions, and when the program instructions run on a computing device, the computing device is caused to execute the method provided in the first aspect of the present application and any of its possible implementations.

[0040] Sixthly, the present application provides a computer program product containing instructions. When the computer program product runs on a computer, it causes the computer to execute the method provided in the first aspect of the present application and any possible implementation thereof.

[0041] It should be understood that for the beneficial effects obtained by the technical solutions of the second to sixth aspects of the embodiments of the present application and the corresponding possible implementation manners, reference may be made to the technical effects of the first aspect and its corresponding possible implementation manners described above, and details are not described herein again. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Figure 1 is a schematic structural diagram of an implementation scenario involved in a cloud service management method provided by an embodiment of the present application;

[0043] Figure 2 is a schematic deployment diagram of basic resources provided by an embodiment of the present application;

[0044] Figure 3 is a schematic diagram of an implementation scenario involved in another cloud service management method provided by an embodiment of the present application;

[0045] Figure 4 is a flowchart of a cloud service management method provided by an embodiment of the present application;

[0046] Figure 5 is a schematic diagram of a configuration interface of a virtual instance provided by an embodiment of the present application;

[0047] Figure 6 is a schematic diagram of a configuration interface of a first feature data provided by an embodiment of the present application;

[0048] Figure 7 is a schematic diagram of an interaction process between a cloud management platform and a tenant provided by an embodiment of the present application;

[0049] Figure 8 is a flowchart of another cloud service management method provided by an embodiment of the present application;

[0050] Figure 9 is a flowchart of determining an initial discount provided by an embodiment of the present application;

[0051] Figure 10 is a flowchart of yet another cloud service management method provided by an embodiment of the present application;

[0052] Figure 11 is a schematic diagram of a cloud service management device provided by an embodiment of the present application;

[0053] Figure 12 is a schematic structural diagram of a computing device provided by an embodiment of the present application;

[0054] Figure 13 It is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application;

[0055] Figure 14 It is a schematic structural diagram of another computing device cluster provided by an embodiment of the present application. Detailed implementation manners

[0056] To make the objectives, technical solutions and advantages of the present application clearer, the following will further describe the embodiments of the present application in detail with reference to the accompanying drawings.

[0057] For ease of understanding, the technologies and backgrounds involved in the embodiments of the present application will be introduced first below.

[0058] An Internet data center (IDC) is a facility and related service system that provides operation and maintenance for devices that centrally collect, store, process, and send data based on the Internet network. Conceptually, it can be understood as a public commercial Internet "computer room", and at the same time it is also a type of IT professional service and an important infrastructure of the IT industry. IDC is not only a service concept but also a network concept. It constitutes a part of the network's basic resources, just like the backbone network and the access network, providing a high-end data delivery service and a high-speed access service. Generally, a user's offline IDC can be understood as the user's offline computer room. The user uses the existing Internet communication lines and bandwidth resources to establish a standardized telecommunications professional-level computer room environment for providing all-round services such as server hosting, leasing, and related value-added services. A cloud data center is an Internet data center deployed using the basic resources owned by cloud providers.

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

[0060] Host (physical machine, PM): The physical resource used to carry virtualization technology. A host is also called a physical machine. Generally, the host used to deploy virtual instances is a physical server. A physical machine has multiple physical devices. For example, a physical server has physical devices such as a processor and a memory. Multiple virtual instances can be deployed on one host, and the multiple virtual instances deployed on the same host share the physical resources of the host. According to different usage situations, the multiple virtual instances deployed on one host can optionally belong to the same user or different users respectively.

[0061] Virtualization is a resource management technology. Virtualization can abstract and transform various physical resources of a host, such as computing resources, network resources, and storage resources, etc., and present them, so as to break the non-separable barriers between the physical structures of the host, enabling users to apply these resources in a better way than the original configuration. The resources obtained through virtualization are called virtualized resources, and virtualized resources are not restricted by the installation method, setting location, or physical configuration of the existing physical resources.

[0062] Virtualized resources are usually provided to tenants in the form of virtual instances. A virtual instance can use the hardware resources of the host and run on the operating system of the host. An application program runs in the virtual instance, and this application program is used to implement the business of the user. The hardware resources of the host can be used by one or more tenants at the granularity of virtual instances. Different virtual instances are isolated from each other, enabling tenants to use physical resources conveniently and flexibly on the premise of security isolation, and greatly improving the utilization rate of physical resources. Generally, virtual instances can be virtual machines, containers, or independent processes (such as functions), etc. Virtual instances can also be called elastic compute services (ECS), elastic instances (with different names in different cloud service providers).

[0063] Virtual machine (VM): A complete computer system with the functions of a complete hardware system obtained through virtualization technology and running in a completely isolated environment. A partial subset of the instructions of the virtual machine can be processed in the host machine, and the other part of the instructions can be executed in an emulated manner. A virtual machine is also called a virtual server. A virtual machine can be regarded as a collection of several virtual devices. This collection of several virtual devices has the functions of a complete hardware system and runs in a completely isolated environment. Virtual devices are obtained through virtualization technology based on physical devices that can share resources. For example, based on virtualization technology, a virtual processor virtualized on the basis of a processor is a virtual device. Another example is that based on virtualization technology, a training card virtualized on the basis of a field-programmable gate array (FPGA) is also a virtual device. By way of example, the virtual machine in the present application can be a kernel-based virtual machine (KVM). Everything that can be done in a server can be achieved in a virtual machine. When creating a virtual machine in a server, it is necessary to use a part of the hard disk and memory capacity of the physical machine as the hard disk and memory capacity of the virtual machine. Each virtual machine has an independent hard disk and operating system. The tenant of the virtual machine can operate the virtual machine just like using a server. The running environments (such as virtual machine applications, operating systems, and virtual hardware) in different virtual machines are completely isolated. To communicate between different virtual machines, it is necessary to forward network packets through a virtual manager.

[0064] The container utilizes the namespace and cgroup technologies supported by the Linux kernel to isolate the application APP process and its dependent packages (runtime environment bins / libs, specifically all files required to run the APP) in an independent runtime environment. The container provides a lightweight virtual runtime environment. The container can be obtained by packaging all the code, libraries, and dependencies of the user's application into an image. When the image is executed, the image runs in the virtual runtime environment. At this time, the container is the runtime instance of the image, similar to a lightweight sandbox, and it can be started, stopped, and deleted. The infrastructure of the container can be the hardware of the server or a virtual machine on the cloud (i.e., containers can also be deployed in virtual machines). The operating system uses the Linux kernel, which supports namespace and cgroup. Among them, namespace is used to achieve isolation between processes, and cgroup is used to allocate process resources. The resources are specifically the virtual processors and memory allocated to the process. The container engine is similar to a virtual machine manager and runs in the operating system to manage containers. Compared with the characteristics of virtual machines with their own operating systems, containers do not have an operating system. Containers run as processes in the host operating system, so the startup speed of containers is faster than that of virtual machines, which is especially suitable for lightweight applications. Moreover, a single host can run thousands of containers (processes) simultaneously.

[0065] A service level agreement (SLA) is an agreement signed between a service provider and a customer, which details the service levels, service grades, and terms of the relationship that the service provider undertakes to provide.

[0066] Quality of service (QoS) is a technology for effectively managing network resources. QoS provides end-to-end service quality guarantees for the different requirements of various services. Under limited bandwidth resources, QoS allows different traffic to compete for network resources unequally and can provide better service capabilities for specified network communications. For example, voice, video, and important data applications can be given priority services in network devices.

[0067] With the development of cloud computing technology, cloud service providers offer more and more types of cloud services, and using cloud services to implement business has become a trend. At this time, how to manage cloud services more efficiently is a problem worthy of research for cloud service providers. When the cloud management platform provides cloud services to tenants using virtual instances, the cloud management platform can obtain relevant information about the virtual instances and, based on this relevant information, better utilize the energy efficiency of cloud resources and provide better personalized guarantees to tenants, promoting better resource operation by cloud service providers. For example, the cloud management platform can obtain the applications running inside the virtual machine and guide the scheduling strategy according to the characteristics of the corresponding applications. For example, for virtual machines running memory-intensive applications such as Redis, the cloud management platform should try to avoid performing live migration on them to prevent affecting the customer's business. Another example is that the cloud management platform can obtain the expected creation, deletion, power-on, and power-off times of the virtual machines to more accurately estimate the expected available quantity in the resource pool and ensure resource supply. Another example is that the cloud management platform can obtain the load fluctuation characteristics of the virtual machines, such as CPU utilization, memory bandwidth, network read / write bandwidth, and storage read / write bandwidth. Based on the load fluctuation characteristics to obtain the law of the load fluctuation characteristics of the virtual machines, on the one hand, the cloud management platform can perform peak-shifting matching for virtual machines with different characteristics based on this law to improve the utilization rate of resources. On the other hand, the cloud management platform can perform hotspot prediction and fault avoidance in advance to ensure SLA / QoS. Based on the analysis of in-network data, it is found that the load fluctuations of a considerable proportion of virtual machines are regular.

[0068] Currently, the cloud management platform can detect virtual instances during their operation and use the detected information as the relevant information about the virtual instances. Or, the cloud management platform predicts the relevant information about the virtual instances based on the detected information. For example, during the operation of the virtual machine, the cloud management platform can detect the CPU utilization of the virtual machine and perform hotspot prediction and fault avoidance in advance based on this CPU utilization. However, the timeliness of this way of obtaining the relevant information of virtual instances is poor. And when the relevant information of the virtual instance is obtained based on prediction, on the one hand, the obtained relevant information of the virtual instance may be inaccurate, and on the other hand, newly created virtual instances do not have enough historical information as the input for prediction, and prediction cannot be achieved.

[0069] Based on this, an embodiment of the present application provides a cloud service management method. In this cloud service management method, the cloud management platform can obtain the virtual instance specifications set by the tenant from the virtual instance creation interface, and call resources in the infrastructure according to the virtual instance specifications to create virtual instances that meet the virtual instance specifications. Moreover, the cloud management platform can obtain the first characteristic data set by the tenant from the information acquisition interface, detect the actual running state of the virtual instance within a preset time period, determine the selling discount according to the degree of target matching between the actual running state and the expected running state, and then charge the tenant for using the virtual instance within the preset time period according to the selling discount. Among them, the first characteristic data is used to indicate the expected running state of the virtual instance within the preset time period.

[0070] In this way, since the tenant has a certain understanding of their own business, the cloud management platform obtains the first characteristic data from the tenant. On the one hand, it can ensure the accuracy of the first characteristic data. On the other hand, it can obtain the first characteristic data before the cloud management platform runs the virtual instance, improving the timeliness of obtaining the first characteristic data, which helps the cloud management platform to better run the virtual instance based on the first characteristic data. For example, after the cloud platform obtains the virtual machine information, it can make a running plan and guarantee in advance for the virtual machine based on this virtual machine information, so as to better exert the energy efficiency of the cloud resources and provide better personalized guarantee to the tenant. At the same time, the cloud management platform determines the selling discount for charging the virtual instance based on the degree of target matching between the running state indicated by the first characteristic data and the actual running state of the virtual instance, which is equivalent to compensating the tenant's behavior of setting the first characteristic data according to the degree of target matching, helping to encourage the tenant to provide more accurate relevant information of the virtual instance to the cloud management platform.

[0071] This article introduces the technical solution of the present application in detail from multiple perspectives such as implementation scenarios, method flows, hardware devices, software devices, etc.

[0072] First, the application scenarios of the embodiments of the present application will be illustrated by examples.

[0073] Figure 1 It is a schematic structural diagram of the implementation scenario involved in a cloud service management method provided by an embodiment of the present application. As Figure 1 shown, the implementation environment includes: a data center 1 and a client 2. A communication connection can be established between the data center 1 and the client 2 through a network. Optionally, the network can be the Internet or other networks, which is not limited in the embodiments of the present application. The tenant can interact with the data center 1 through the client 2. For example, the tenant can send information such as a cloud service request to the data center 1 through the client 2. The data center 1 is used to respond based on the information sent by the client 2 to the data center 1.

[0074] A large number of infrastructures owned by a cloud service provider are deployed in Data Center 1, such as computing resources, storage resources, and network resources. For example, the computing resources can be computing devices (such as servers, etc.) that can provide computing capabilities. As Figure 1 shown, Data Center 1 includes a cloud management platform and infrastructures ( Figure 1 not shown in the figure). The cloud management platform and the infrastructures are connected through the internal network of the data center. The cloud management platform is used to manage the infrastructures. The infrastructures are used to provide public cloud services. The infrastructure includes multiple servers. The cloud services can be optionally deployed in the servers. The cloud services are implemented by running virtual instances, so they are also called virtual instances for implementing tenant services deployed in the servers. The tenant can send cloud service requests and related information to the server through the client 2 it uses. 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 tenant can provide the first feature data of the virtual instance to Server 1 through Client 2. Server 1 can use the cloud service management method provided in the embodiments of the present application to obtain the target matching degree between the expected running state of the virtual instance indicated by the first feature data and the actual running state of the virtual instance, and determine the selling discount of the virtual instance based on the target matching degree, and bill the virtual instance according to the selling discount.

[0075] Logically, the cloud management platform can be divided into: a tenant console, a computing management service, a network management service, a storage management service, an authentication service, and an image management service. The tenant console provides an interface or an application program interface (API) to interact with the tenant. The computing management service is used to manage the servers running virtual instances and bare metal servers. The network management service is used to manage network services (such as gateways, firewalls, etc.). The storage management service is used to manage storage services (such as data bucket services). The authentication service is used to manage the tenant's account and password. The image management service is used to manage the images of virtual instances.

[0076] In Figure 1 the shown implementation scenario, multiple servers are set in a data center. The server includes a hardware layer and a software layer. The hardware layer is the conventional configuration of the server. Hardware devices such as a processor, a memory, a network card, a disk, and a bus are deployed in the hardware layer. The software layer includes an operating system installed and running on the server. The operating system of the relative virtual machine can be called the host operating system. A virtual machine manager (also called a Hypervisor) runs in the host operating system. The role of the virtual machine manager is to implement the computing virtualization, network virtualization, and storage virtualization of the virtual machine and be responsible for managing the virtual machine.

[0077] The cloud management platform client runs in the virtual machine manager. The cloud management platform client can receive the control plane commands sent by the cloud management platform, create virtual instances on the server according to the control plane control commands, and perform full life cycle management on the virtual instances. For example, the cloud management platform client can detect the usage of the hardware resources of the server where it is located in real time and report it to the cloud management platform. When the cloud management platform confirms to create a virtual instance on a certain server, it will send a virtual instance creation command to the cloud management platform client on that server. After receiving the command, the cloud management platform client creates a virtual instance on that server. In this way, tenants can create, manage, log in to, and operate virtual instances in the data center through the cloud management platform.

[0078] The server can be used to run virtual machines of different specifications. The virtual machine specifications are divided into: general computing type, memory optimized type, extra large memory type, etc. There are specific specifications under each type. After the tenant selects the virtual machine specification, the cloud management platform selects a server in the data center that supports this specification and determines that there is enough free hardware resource on this server, and then creates a virtual machine with this specification set on this server. By configuring the server through the cloud management platform, it is possible to achieve the analysis and planning of the server hardware resources, plan the corresponding computing products of the physical hardware according to the hardware performance of the server, such as planning virtual machines of different specifications, to meet the different demands of different tenants. Moreover, according to the performance differences of virtual machines of different specifications, a differential pricing strategy can be implemented. For example, sell virtual instances with high-performance specifications at a higher price and sell virtual instances with ordinary performance specifications at a lower price, so that tenants can purchase virtual instances according to their needs.

[0079] In one implementation, such as Figure 2As shown, the location of the basic resources in the data center can be described by the cloud resource deployment region (region) and the availability zone (AZ). Tenants can choose to deploy cloud services based on the resources in a specific region and AZ. Among them, regions are divided from the dimensions of geographical location and network latency. The same resources pool is used within the same region, which can be understood as sharing common services such as elastic computing, block storage, object storage, virtual private cloud (VPC) network, elastic internet protocol (EIP) address, and images. Regions are divided into general regions and exclusive regions. A general region refers to a region that provides general cloud services for public tenants. An exclusive region refers to a dedicated region that hosts the same type of business or provides business services for specific tenants. A region usually includes multiple AZs. Multiple AZs in a region are connected by high-speed optical fibers to meet the needs of tenants to build highly available systems across AZs. An AZ is a collection of one or more Figure 2 data centers as shown. The computing, network, storage, and other resources within an AZ are logically divided into multiple clusters.

[0080] Tenants can send instructions to the cloud management platform through the client 2 they use to create, manage, log in to, and operate virtual instances on the server, and use the cloud services provided by the virtual instances. For example, the cloud management platform can provide an access interface. The access interface can be provided in the form of an interface or an API. Tenants can operate the client to remotely access the access interface to register cloud accounts and passwords on the cloud management platform and use the cloud accounts and passwords to log in to the cloud management platform. The cloud management platform can also authenticate the cloud accounts and passwords. After successful authentication, tenants can further select and purchase virtual instances of specific specifications (processors, memory, disks) on the cloud management platform. After tenants successfully purchase virtual instances, the cloud management platform provides the remote login accounts and passwords of the purchased virtual instances to tenants. Tenants can use the remote login accounts and passwords to remotely log in to the virtual instances on the client, install and run the tenants' applications in the virtual instances, and implement the tenants' business through the applications.

[0081] The client 2 can be a computer, personal computer, laptop, mobile phone, smartphone, tablet, cloud host, portable mobile terminal, multimedia player, e-book reader, wearable device, smart home appliance, artificial intelligence device, smart wearable device, smart vehicle device, or Internet of Things device, etc.

[0082] In one implementation, the cloud service management method provided by the embodiments of the present application can be implemented by a computing device in Data Center 1 running an executable program. Optionally, the cloud service management method provided by the embodiments of the present application can be optionally applied to a cloud service management system. The cloud service management system is deployed in a server managed by a cloud management platform. By running the executable program of the cloud service management method provided by the embodiments of the present application, the cloud service management system can implement the cloud service management method provided by the embodiments of the present application. Moreover, the executable program for implementing the cloud service management method can be optionally presented in the form of an application installation package. After the server installs the application installation package, it can implement the cloud service management method provided by the embodiments of the present application by running the executable program therein.

[0083] Exemplarily, Figure 3 is a schematic diagram of another implementation scenario provided by the embodiments of the present application. As Figure 3 shown, in the implementation scenario of the present application, the cloud management platform can obtain first feature data input by a tenant from a client, and schedule resources for a virtual instance from a resource pool based on the first feature data. During the running of the virtual instance, the cloud management platform can detect the actual running state of the virtual instance, and then optimize the resource scheduling of the cloud management platform and provide better personalized guarantee to the tenant according to the target matching degree between the actual running state and the expected running state indicated by the first feature data. At the same time, according to the target matching degree between the actual running state and the expected running state, the cloud management platform can calculate the selling discount of the virtual instance, and bill the tenant for the virtual instance used according to the selling discount, so as to compensate the tenant for setting the first feature data, which helps to motivate the tenant to provide more accurate information about the virtual instance to the cloud management platform. It should be noted that the cloud management platform can also compensate the tenant in other ways according to the target matching degree between the actual running state and the expected running state, and no further examples are given here.

[0084] It should be understood that the above content is an exemplary description of the implementation scenario of the cloud service management method provided by the embodiments of the present application, and does not constitute a limitation on the implementation scenario of the cloud service management method. Those of ordinary skill in the art know that with the change of business requirements, its implementation scenario can be adjusted according to application requirements, and the embodiments of the present application do not make specific limitations thereto. Moreover, when the cloud service management method provided by the embodiments of the present application is applied to other scenarios, the executable program of the method can also be presented in the form of an application installation package or in other ways, and the embodiments of the present application do not list them one by one.

[0085] Next, taking the cloud service management method provided by the embodiments of the present application applied to a cloud management platform as an example, the implementation process of the method will be described.

[0086] Figure 4It is a flowchart of a cloud service management method provided by an embodiment of this application. As Figure 4 shown, the cloud service management method includes the following steps:

[0087] Step 401: The cloud management platform obtains the virtual instance specifications set by the tenant from the virtual instance creation interface, and calls resources in the infrastructure according to the virtual instance specifications to create a virtual instance that meets the virtual instance specifications.

[0088] When the tenant needs to create a virtual instance based on the infrastructure managed by the cloud management platform, the tenant can perform a specified operation on the client used by the tenant to trigger a virtual instance creation request, so that the cloud management platform creates a virtual instance for the tenant under the indication of the virtual instance creation request. In a possible implementation manner, the cloud management platform can provide a virtual instance creation interface to the tenant, and the tenant can trigger a virtual instance creation request based on the virtual instance creation interface. The virtual instance creation request carries the virtual instance specifications. After the tenant triggers the virtual instance creation request, the cloud management platform can obtain the virtual instance creation request through the virtual instance creation interface and obtain the virtual instance specifications from the virtual instance creation request. After the cloud management platform obtains the virtual instance specifications set by the tenant, it can select a server that can provide the specifications in the infrastructure and create a virtual instance that meets the virtual instance specifications in the selected server.

[0089] Exemplarily, the virtual instance creation interface is implemented through one or more of the following: application programming interface (API), interaction template, and configuration interface. Among them, the interaction template is a template provided by the cloud management platform to the tenant for implementing different functions. When the tenant needs to use a certain function, the tenant can download the template for implementing the function, add the relevant information of the tenant in the template, and then feedback the template with the relevant information of the tenant to the cloud management platform. After receiving the template with the relevant information of the tenant, the cloud management platform can obtain the function that the template needs to implement and customize the implementation of the function according to the information of the tenant. The configuration interface means that the tenant can operate in the configuration interface to indicate the function that the tenant needs to implement. For example, Figure 5 is a schematic diagram of a configuration interface of a virtual instance provided by an embodiment of this application. As Figure 5 shown, the configuration interface includes multiple configuration items. The multiple configuration items include the payment method, CPU architecture, and virtual instance specifications of the virtual instance that the tenant needs to create. The tenant can fill in information in the multiple configuration items according to the requirements, and after completing the filling, the tenant can trigger a virtual instance creation request by clicking submit.

[0090] Step 402: The cloud management platform obtains the first feature data set by the tenant from the information acquisition interface. The first feature data is used to indicate the expected operating state of the virtual instance within a preset time period.

[0091] The cloud management platform can provide the information acquisition interface to the tenant. The tenant can use this information acquisition interface to set the first feature data of the virtual instance to provide the first feature data to the cloud management platform. After the tenant provides the first feature data to the cloud management platform through the information acquisition interface, the cloud management platform can obtain the first feature data from the information acquisition interface. The first feature data is used to indicate the expected operating state of the virtual instance within a preset time period. After obtaining the first feature data, the cloud management platform can perform operations such as resource scheduling on the virtual instance based on the first feature data, which helps the cloud management platform to better run the virtual instance and manage the infrastructure. The operating state of the virtual instance can indicate multiple contents. The first feature data indicating the expected operating state of the virtual instance within a preset time period can be regarded as the first feature data actually indicating the multiple contents. Exemplarily, the contents indicated by the operating state of the virtual instance include one or more of the following: the application program running on the virtual instance, the creation time and deletion time of the virtual instance, the power-on time and power-off time of the virtual instance, and the load condition of the virtual instance.

[0092] The application program running on the virtual instance is used to implement the tenant's business. When the application programs running on the virtual instance are different, there will be differences in the server resources used by the virtual instance and the consumption of server resources. When the content indicated by the operating state of the virtual instance includes the application program running on the virtual instance, by obtaining the first feature data indicating the application program, the cloud management platform can facilitate better resource scheduling of the virtual instance based on it, which helps to improve the operating performance of the virtual instance and the resource management efficiency of the cloud management platform.

[0093] The creation time and deletion time of the virtual instance, and the power-on time and power-off time of the virtual instance all reflect the time when the virtual instance needs to use server resources. When the content indicated by the operating state of the virtual instance includes one or more of the creation time and deletion time, and the power-on time and power-off time of the virtual instance, by obtaining the first feature data indicating it, the cloud management platform can facilitate more accurate measurement of the expected available quantity of the resource pool, ensure resource supply, and help to improve the operating performance of the virtual instance and the resource management efficiency of the cloud management platform.

[0094] The load condition of a virtual instance is used to reflect the consumption of server resources by the virtual instance. When the content indicated by the running state of the virtual instance includes the load condition of the virtual instance, the cloud management platform can, by obtaining the first feature data indicating the load condition, on the one hand, perform off-peak matching for different virtual instances to improve resource utilization, and on the other hand, perform hotspot prediction and fault avoidance in advance to ensure SLA / QoS. Optionally, the load condition of the virtual instance may include CPU utilization, memory bandwidth, network read / write bandwidth, and storage read / write bandwidth, etc. The network read / write bandwidth can be represented by network throughput. For example, the network read / write bandwidth is represented by the number of packets that the network can transmit per second (packets per second, PPS). The storage read / write bandwidth can be represented by the number of input / output operations per second (input / output per second, IOPS).

[0095] Optionally, the cloud management platform can also provide the refinement level of the first feature data for tenants to choose. When setting the first feature data through the information acquisition interface, the tenant can select the refinement level of the first feature data as needed and input the first feature data corresponding to the refinement level. For example, when the refinement level of the first feature data includes fine-grained and coarse-grained indications of the application program, the fine-grained indicates a specific application program, such as indicating that the application program running in the virtual instance is Redis or Nginx, etc. The coarse-grained indicates the type to which the application program belongs, such as indicating that the application program running in the virtual instance belongs to the delay-sensitive type or the throughput type, etc. Another example is that when the refinement level of the first feature data includes fine-grained and coarse-grained indications of the creation time of the virtual instance, the fine-grained indicates the date of the creation time of the virtual instance. The coarse-grained indicates the moment of the creation time of the virtual instance, and the moment can be further subdivided according to different refinement levels. For example, the minimum unit of the moment is hours, or the minimum unit of the moment is minutes, or the minimum unit of the moment is seconds.

[0096] It should be noted that the content indicated by the first feature data is not limited to the content exemplified above, and can also be other content. Moreover, the refinement degree of the first feature data is not limited to the refinement degree exemplified above, and can also be other refinement degrees. The embodiments of the present application do not give examples one by one. In addition, there can be various ways to indicate the first feature data. For example, when the first feature data indicates the application program running on the virtual instance, the first feature data can be indicated by the name of the application program, or can be indicated in other forms, such as by the value (or value range) of the indicator that can indicate the application program. When the value range of the application program indicated in the first feature data is the first range, the application program it indicates is Application 1, and when the value range of the application program indicated in the first feature data is the second range, the application program it indicates is Application 2. Also, for example, when the first feature data indicates the load condition of the virtual instance, the first feature data can be indicated by the fluctuation range of the load, or can be indicated in other forms, such as by the upper limit value or average value of the load to indicate the load condition of the virtual instance. By way of example, assuming that the content indicated by the first feature data includes the CPU utilization rate of the virtual instance, and the first feature data indicates the upper limit values of the CPU utilization rate in multiple time periods during the running cycle of the virtual instance. If the running cycle of a certain virtual instance is one day and the duration of one time period is three hours, then the upper limit values of the CPU utilization rate indicated by the first feature data in six time periods of the virtual instance in one day are shown in Table 1.

[0097] Table 1

[0098] Time period 1 2 3 4 5 6 Upper limit value of CPU utilization rate 0.3 0.3 0.7 0.8 0.7 0.3

[0099] In some possible implementation manners, the implementation manner of the information acquisition interface can refer to the implementation manner of the virtual instance creation interface accordingly. Moreover, the virtual instance creation interface and the information acquisition interface can be implemented separately, or can be implemented through the same interaction interface. By way of example, when the tenant selects to create a virtual instance on the client it uses, the configuration interface for creating the virtual instance displayed on the client may include a configuration item for the first feature data. At this time, it is said that the virtual instance creation interface and the information acquisition interface are implemented through the same interaction interface. When the tenant selects to create a virtual instance on the client it uses, the configuration interface displayed on the client does not include the configuration item for the first feature data. When the tenant selects to input the first feature data on the client it uses, the configuration interface displayed on the client includes the configuration item for the first feature data. At this time, it is said that the virtual instance creation interface and the information acquisition interface are implemented through different interaction interfaces. For example, Figure 6 is a schematic diagram of a configuration interface for the first feature data provided by an embodiment of the present application. As Figure 6As shown in the figure, the configuration interface includes multiple configuration items. The tenant can select the refinement level from multiple configuration items according to the requirements and fill in the first feature data corresponding to the refinement level to provide the corresponding first feature data to the cloud management platform.

[0100] When the virtual instance creation interface and the information acquisition interface are implemented separately, the timing for the cloud management platform to provide the information acquisition interface to the tenant can be determined according to the application requirements. In one implementation, the cloud management platform provides the information acquisition interface to the tenant when the tenant instructs to create a virtual machine. For example, after receiving the virtual instance creation request from the tenant, the cloud management platform provides the information acquisition interface to the tenant. Figure 7 It is a schematic diagram of an interaction process between a cloud management platform and a tenant provided by an embodiment of the present application. As Figure 7 shown, after the cloud management platform receives the virtual instance creation request sent by the tenant and can determine that the tenant needs to create a virtual instance, the cloud management platform can provide the information acquisition interface to the tenant to ask whether the tenant provides the first feature data. In another implementation, when the virtual instance runs in multiple operation cycles, the cloud management platform can provide the information acquisition interface to the tenant before the start of the operation cycle. And the information acquisition interface can be provided to the tenant before the start of each operation cycle. Or, the information acquisition interface is provided to the tenant before the start of the first operation cycle. Or, the information acquisition interface is provided to the tenant before the start of the first operation cycle. After the start of the first operation cycle, if the cloud management platform receives the instruction from the tenant to update the first feature data, the information acquisition interface is provided to the tenant again. Among them, the operation cycle can be divided based on the application requirements. In one implementation, each natural day is regarded as an operation cycle.

[0101] Step 403: The cloud management platform detects the actual running state of the virtual instance within a preset time period.

[0102] After the cloud management platform runs a virtual instance, it can optionally obtain the actual running state during the running process of the virtual instance to obtain second feature data indicating the actual running state. In one implementation, the cloud management platform can detect the running state of the virtual instance and obtain the second feature data of the virtual instance according to the detection result. The running state can indicate at least one metric of the virtual instance. When the cloud management platform detects the actual running state of the virtual instance, it can first determine the metric indicated by the first feature data, and then detect the metric during the running process of the virtual instance to obtain the corresponding second feature data. The second feature data can be optionally the data detected by the cloud management platform, or the data obtained after processing the data detected by the cloud management platform. For example, when the metric indicated by the running state is represented by a range, the second feature data can be the range composed of the data detected by the cloud management platform, or the range obtained after processing the data detected by the cloud management platform. When the metric indicated by the running state is represented by a numerical value, the second feature data can be the numerical value detected by the cloud management platform, or the data obtained after processing the data detected by the cloud management platform. By way of example, assuming that the second feature data indicates the load condition of the virtual instance, the cloud management platform can periodically collect the load data of the virtual instance during the running cycle of the virtual instance, and determine the average value of the load data collected during the cycle as the load data during the running cycle. And when the first feature data indicates the expected running state of the virtual instance within a preset time period, the cloud management platform can correspondingly detect the actual running state of the virtual instance within the preset time period.

[0103] Step 404: The cloud management platform determines the selling discount according to the target matching degree between the actual running state and the expected running state, and bills the tenant for using the virtual instance within a preset time period according to the selling discount.

[0104] After obtaining the second feature data indicating the actual running state of the virtual instance, the cloud management platform can further obtain the target matching degree between the first feature data and the second feature data, and determine the selling discount of the virtual instance according to the target matching degree, so as to bill the tenant for using the virtual instance within a preset time period based on the selling discount. The cloud management platform determines the target matching degree between the first feature data and the second feature data, which is equivalent to determining the validity of the first feature data based on the second feature data. When the target matching degree between the first feature data and the second data is higher, it indicates that the validity of the first feature data is higher, and the information set by the tenant is more valuable for reference to the cloud management platform. Therefore, the selling discount of the virtual instance can be set higher. That is to say, the target matching degree between the first feature data and the second feature data is positively correlated with the selling discount. The positive correlation between the target matching degree and the selling discount can be determined according to application requirements. For example, the selling discount is an increasing function of the target matching degree.

[0105] As can be seen from the foregoing, both the expected operating state and the actual operating state can indicate multiple metrics. For different metrics, the methods for determining the matching degree between the metric indicated by the expected operating state and the metric indicated by the actual operating state are different. Taking the following implementation methods as examples, the methods for determining the matching degree between the metric indicated by the expected operating state and the metric indicated by the actual operating state will be described below.

[0106] In the first implementation method, the metrics indicated by the expected operating state and the actual operating state indicate the static characteristics of the virtual instance. The static characteristics of the virtual instance do not change with the operating state of the virtual instance, but can be reflected by the operating state of the virtual instance. For example, the static characteristic is the application program running on the virtual instance. The application program running on the virtual instance does not change with the operating state of the virtual instance, but can be reflected by the operating state of the virtual instance. Here, taking the static characteristic being indicated by at least one first metric and the first metric being represented by a numerical range as an example, the implementation process of the cloud management platform for determining the first matching degree between the target first metric indicated by the actual operating state and the target first metric indicated by the expected operating state will be described. The target first metric is any one of at least one first metric. Then the implementation process for determining this first matching degree includes: the cloud management platform first obtains the overlapping degree between the numerical range of the target first metric indicated by the first characteristic data and the numerical range of the target first metric indicated by the actual operating state, and then based on the overlapping degree corresponding to the target first metric, obtains the first matching degree between the target first metric indicated by the actual operating state and the target first metric indicated by the expected operating state. Among them, the overlapping degree corresponding to the target first metric is the overlapping degree between the numerical range of the target first metric indicated by the first characteristic data and the numerical range of the target first metric indicated by the actual operating state.

[0107] In a possible implementation, the coincidence degree corresponding to the first matching degree and the target first indicator satisfies that when the first coincidence degree is greater than the second coincidence degree, the first matching degree corresponding to the first coincidence degree is greater than or equal to the first matching degree corresponding to the second coincidence degree. By way of example, the first matching degree is a non-decreasing function of the coincidence degree corresponding to the target first indicator. At this time, when the coincidence degree corresponding to the target first indicator is less than the first threshold, it means that the application program actually running on the virtual instance is completely different from the expected application program, so the first matching degree is 0 (i.e., not matching). When the coincidence degree corresponding to the target first indicator is greater than or equal to the first threshold, it means that the application program actually running on the virtual instance is relatively close to the expected application program, so the first matching degree is positively correlated with the coincidence degree corresponding to the target first indicator, or the first matching degree is 1 (i.e., matching). Among them, the positive correlation relationship between the first matching degree and the change of the coincidence degree can be determined according to application requirements, and no specific limitation is made here. For example, assume that the fluctuation range [a, b] of an indicator in the first feature data indicates the application program running in the virtual instance, and the fluctuation range of this indicator in the second feature data is [x, y]. If both a <= x and y >= b are satisfied, that is, [x, y] is completely within [a, b], it is considered that the indicator indicated by the actual running state is completely matched with the indicator indicated by the expected running state, and the first matching degree is obtained as 1; otherwise, the first matching degree of the indicator indicated by the actual running state and the indicator indicated by the expected running state is considered to be 0.

[0108] In the second implementation, the indicators indicated by the expected running state and the actual running state indicate the time characteristics of the virtual instance. For example, the time characteristic is the target time period among the first time period and the second time period of the virtual instance. The starting point of the first time period is the creation time of the virtual instance, and the ending point of the first time period is the deletion time of the virtual instance. At this time, the first time period is also called the creation-deletion window of the virtual instance. The starting point of the second time period is the power-on time of the virtual instance, and the ending point of the second time period is the power-off time of the virtual instance. At this time, the second time period is also called the power-on / off window of the virtual instance. Then the implementation process of determining the second matching degree between the target time period indicated by the actual running state and the target time period indicated by the expected running state includes: the cloud management platform obtains the excess duration of the target time period indicated by the actual running state exceeding the target time period indicated by the first feature data, and then based on this excess duration, obtains the second matching degree between the target time period indicated by the actual running state and the target time period indicated by the expected running state. At this time, it is equivalent to determining the second matching degree based on the remaining duration of the target time period indicated by the second feature data outside the target time period indicated by the first feature data.

[0109] In a possible implementation, the second matching degree and the exceeding duration satisfy that when the first exceeding duration is greater than the second exceeding duration, the second matching degree corresponding to the first exceeding duration is less than or equal to the second matching degree corresponding to the exceeding duration. Exemplarily, the second matching degree is a non-increasing function of the exceeding duration of the target time period. At this time, when the exceeding duration of the target time period is greater than or equal to the second threshold, it means that the difference between the actual target time period and the expected target time period is relatively large, and the second matching degree is 0 (i.e., not matching). When the exceeding duration of the target time period is less than the first threshold, it means that the difference between the actual target time period and the expected target time period is relatively small, and the second matching degree is positively correlated with the exceeding duration of the target time period, or the second matching degree is 1 (i.e., matching). Among them, the positive correlation relationship between the second matching degree and the exceeding duration can be determined according to application requirements, and no specific limitation is imposed here. For example, assume that the first feature data indicates that the expected creation and deletion time points of the virtual machine are a and b respectively, that is, the expected creation and deletion window it indicates is [a, b], and the second feature data indicates that the actual creation and deletion time points of the virtual machine are x and y respectively, that is, the actual creation and deletion window it indicates is [x, y]. Then the remaining survival duration e outside the expected creation and deletion window of this virtual machine is e = max{y - b, 0} + max{a - x, 0}. max(m, n) represents taking the maximum value of m and n. Then the second matching degree between the expected creation and deletion window indicated by the first feature data and the actual creation and deletion window indicated by the second feature data can be obtained as f(e). This f(e) is a non-increasing function of e, and when the remaining survival duration e is greater than the specified threshold, it can be considered that the difference between the actual creation and deletion duration of the virtual instance and the expected creation and deletion duration is relatively large, and the second matching degree f(e) is 0.

[0110] In the third implementation, the metrics indicated by the expected operating state and the actual operating state both indicate the dynamic characteristics of the virtual instance. The dynamic characteristics of the virtual instance change with the operating state of the virtual instance and can be reflected by the operating state of the virtual instance. For example, the dynamic characteristics reflect the characteristics of the load situation of the virtual instance, such as the CPU utilization rate of the virtual machine. Here, taking the example that the dynamic characteristics are indicated by at least one second metric and the second metric is represented by a target value, the implementation process of the cloud management platform for determining the third matching degree between the target second metric indicated by the actual operating state and the target second metric indicated by the expected operating state is described. The target second metric is any one of at least one second metric. Then the implementation process for determining the third matching degree includes: the cloud management platform obtains the magnitude relationship between the target value of the target second metric indicated by the first feature data and the target value of the target second metric indicated by the actual operating state, and then based on the magnitude relationship corresponding to the target second metric, obtains the third matching degree between the target second metric indicated by the actual operating state and the target second metric indicated by the expected operating state. The magnitude relationship corresponding to the target second metric is the magnitude relationship between the target value of the target second metric indicated by the first feature data and the target value of the target second metric indicated by the actual operating state.

[0111] In a possible implementation, when the target value of the target second indicator indicated by the first feature data within the specified time period is greater than or equal to the target value of the target second indicator indicated by the actual operating state within the specified time period, the target second indicator indicated by the actual operating state matches the target second indicator indicated by the expected operating state within the specified time period. When the target value of the target second indicator indicated by the first feature data within the specified time period is less than the target value of the target second indicator indicated by the actual operating state within the specified time period, the target second indicator indicated by the actual operating state does not match the target second indicator indicated by the expected operating state within the specified time period. Among them, the preset time period includes the specified time period. For example, the specified time period is the preset time period. Or, the preset time period includes multiple specified time periods, such as the preset time period includes multiple specified time periods with equal durations. The target value can be optionally the average value or the extreme value indicating the dynamic feature. For example, the target value is the upper limit value of the load. When the upper limit value of the load indicated by the first feature data within the specified time period is greater than or equal to the upper limit value of the load indicated by the actual operating state within the specified time period, it means that the actual upper limit value of the load within the specified time period does not exceed the expected upper limit value of the load within the specified time period, and the virtual instance can operate well by using the resources scheduled according to the first feature data, then the load indicated by the actual operating state matches the load indicated by the expected operating state within the specified time period. When the upper limit value of the load indicated by the first feature data within the specified time period is less than the upper limit value of the load indicated by the actual operating state within the specified time period, it means that the actual upper limit value of the load within the specified time period exceeds the expected upper limit value of the load within the specified time period, and performance bottlenecks or outages may occur when the virtual instance uses the resources scheduled according to the first feature data, then it is considered that the load indicated by the actual operating state does not match the load indicated by the expected operating state within the specified time period. Another example is that the target value is the average value of the load within the specified time period. The average value can be the average value of multiple sampling values within the specified time period. Exemplarily, the cloud management platform can collect the CPU utilization rate of the virtual machine every 10 seconds, and then use the average value of the CPU utilization rate of the virtual machine collected within the specified time period as the target value of the CPU utilization rate of the virtual machine within the specified time period. Among them, the method for determining the third matching degree according to the average value can refer to the implementation method for determining the third matching degree according to the upper limit value accordingly.

[0112] When the preset time period includes multiple specified time periods, the third matching degree corresponding to each specified time period can be determined separately, and then the third matching degree of the preset time period can be obtained according to the third matching degrees corresponding to the multiple specified time periods. In the first implementation manner, assuming that there are only two cases for the third matching degree, namely matching and non-matching, after the cloud management platform determines the third matching degrees of the multiple specified time periods, it can first count the first total number of specified time periods with a third matching degree of matching among the multiple specified time periods, and count the second total number of specified time periods included in the preset time period, and then determine the third matching degree of the preset time period according to the ratio of the first total number to the second total number. Exemplarily, the third matching degree of the preset time period is equal to the ratio of the first total number to the second total number. In the second implementation manner, assuming that there are only two cases for the third matching degree, namely matching and non-matching, after the cloud management platform determines the third matching degrees of the multiple specified time periods, it counts the first total duration of the specified time periods with a third matching degree of matching among the multiple specified time periods, and counts the second total duration of the specified time periods included in the preset time period, and then determines the third matching degree of the preset time period according to the proportion of the first total duration in the second total duration. Exemplarily, the third matching degree of the preset time period is equal to the proportion of the first total duration in the second total duration. In the third implementation manner, assuming that the third matching degree is a specific value, after the cloud management platform determines the third matching degrees of the multiple specified time periods, it can determine the third matching degree of the preset time period according to the weighted value of the third matching degrees of the multiple specified time periods. Exemplarily, the third matching degree of the preset time period is equal to the weighted sum of the third matching degrees of the multiple specified time periods. Among them, the weight corresponding to any specified time period can be obtained based on the duration of the specified time period. For example, the weight corresponding to the specified time period can be equal to the proportion of the duration of the specified time period in the duration of the preset time period.

[0113] Exemplarily, corresponding to the six time periods in Table 1, the actual upper limit values of the CPU utilization rate of the virtual instance in these six time periods indicated by the second characteristic data are shown in Table 2.

[0114] Table 2

[0115] Time period 1 2 3 4 5 6 Upper limit value of CPU utilization rate 0.29 0.2 0.7 0.82 0.68 0.35

[0116] It can be seen from Table 1 and Table 2 that the actual upper limit values of the load of the virtual instance do not exceed the corresponding predicted upper limit values in time periods 1, 2, 3, and 5. According to the second implementation manner of determining the third matching degree above, the proportion of the durations of time periods 1, 2, 3, and 5 in the six time periods is 2 / 3, so the third matching degree of the preset time period can be determined to be 2 / 3.

[0117] When the expected operating state indicates multiple metrics and the actual operating state indicates these multiple metrics, the cloud management platform may first obtain the matching degree corresponding to each metric among the multiple metrics, and then determine the target matching degree between the actual operating state and the expected operating state according to the matching degrees corresponding to the multiple metrics, so as to determine the selling discount of the virtual instance according to the target matching degree. In one implementation, on the one hand, the cloud management platform obtains the matching degree corresponding to each metric, and on the other hand, obtains the influence weight of each metric on the selling discount, and then determines the target matching degree according to the matching degrees and influence weights corresponding to the multiple metrics. Exemplarily, the weighted sum of the matching degrees and influence weights corresponding to the multiple metrics is determined as the target matching degree. Among them, the matching degree corresponding to any one of the multiple metrics is the matching degree between the actual operating state indicating this one metric and the first feature data indicating this one metric. The influence weight corresponding to the metric can be determined according to the reference value of the metric affecting the operating state of the virtual instance. For example, when the reference values of the multiple metrics affecting the operating state of the virtual instance are the same, the influence weight of each metric among the multiple metrics on the selling discount can be the reciprocal of the total number of the multiple metrics. At this time, if there are only matching and non-matching situations for the matching degrees corresponding to the multiple metrics indicated by the first feature data, the total number of matching metrics can be optionally counted, and then the ratio of the total number of matching metrics to the total number of metrics indicated by the first metric data is determined as the target matching degree.

[0118] Optionally, the selling discount can be determined not only according to the target matching degree between the first feature data and the second feature data, but also according to other factors. In one possible implementation, the selling discount can also be determined according to the specific content indicated by the first feature data. For example, as Figure 8 shown, the method further includes: Step 405, the cloud management platform determines the initial discount of the virtual instance based on the first feature data. Then Step 404 includes: Step 4041, the cloud management platform determines the selling discount according to the initial discount and the target matching degree between the actual operating state and the expected operating state, and bills the tenant for using the virtual instance within a preset time period according to the selling discount. The initial discount is positively correlated with the selling discount. At this time, the cloud management platform determines the initial discount of the virtual instance based on the first feature data, which is equivalent to determining the value of the first feature data. Determining the selling discount of the virtual instance based on the initial discount is equivalent to using the initial discount reflecting this value to affect the selling discount of the virtual instance. In this way, it can highlight to a greater extent the influence degree of the first feature data set by the tenant on the selling discount, and can further encourage the tenant to provide more accurate information about the virtual instance to the cloud management platform.

[0119] There are multiple implementation manners for Step 405. The following takes the following two implementation manners as examples to illustrate it.

[0120] In a possible implementation, the cloud management platform can determine an initial discount based on the degree of refinement of the operating state indicated by the first characteristic data. For example, Figure 9 As shown, its implementation process includes step 4051 and step 4052.

[0121] Step 4051: The cloud management platform determines the degree of refinement of the operating state indicated by the first characteristic data.

[0122] According to the foregoing description, the cloud management platform can provide the degree of refinement of the first characteristic data for the tenant to select. After the cloud management platform obtains the first characteristic data from the information acquisition interface, it can obtain the degree of refinement of the first characteristic data. For example, the cloud management platform determines the degree of refinement selected by the tenant as the degree of refinement of the first characteristic data.

[0123] Step 4052: The cloud management platform determines an initial discount based on the degree of refinement, and the degree of refinement is positively correlated with the initial discount.

[0124] After the cloud management platform determines the degree of refinement of the operating state indicated by the first characteristic data, it can determine the initial discount of the virtual instance based on this degree of refinement. In one implementation, when the degree of refinement of the first characteristic data is higher, the initial discount is higher, that is, the degree of refinement is positively correlated with the initial discount. The positive correlation between the degree of refinement and the initial discount can be determined according to application requirements. For example, the initial discount is an increasing function of the degree of refinement, such as an exponential function of the degree of refinement, and the exponent of this exponential function is a decimal greater than 0. When the degree of refinement is higher, the first characteristic data can provide more detailed reference information for the cloud management platform. As a feedback for the tenant to set this first characteristic data, the cloud management platform can provide a greater discount to the tenant, and this greater discount can be reflected by the initial discount. This helps to encourage tenants to provide more detailed first characteristic data to the cloud management platform.

[0125] In another possible implementation, the first feature data can also indicate the resource requirements of the virtual instance for the server. For example, the first feature data indicates the upper limit value of the load of the virtual instance, and this upper limit value indicates the maximum resource requirements of the virtual instance for the server. At this time, the cloud management platform can also determine the initial discount of the virtual instance according to this resource requirement. In one implementation, when the resource requirements of the virtual instance for the service are greater, the cost for the cloud management platform to manage this virtual instance is higher, so the resource requirement and the initial discount can be optionally negatively correlated. For example, the initial discount y and the resource requirement x satisfy: y = 1 - x (x > 0 and y > 0). Also, for example, considering that when the resource requirement is greater than a specified threshold, the cost for the cloud management platform to manage this virtual instance increases sharply, the initial discount is an exponential function of the resource requirement, and the exponent of this exponential function is negative. In addition, since the cloud management platform can provide cloud services to a large number of tenants simultaneously, the use of resources by the virtual instance has a time characteristic. For example, most tenants may need to use cloud services in the same time period. Therefore, when the first feature data also indicates the resource requirements of the virtual instance for the service in different time periods, weights can also be determined based on the time characteristic of the virtual instance using resources, and the initial discount determined according to the resource requirement can be optimized according to this weight. In addition, the initial discount can also be determined according to other factors such as the status and scheduling ability of the resource pool managed by the cloud management, and the embodiments of the present application do not give examples one by one for this.

[0126] Exemplarily, for the CPU utilization rate shown in Table 1, assuming that the weights corresponding to six time periods in the running cycle are as shown in Table 3, the relationship between the initial discount y and the resource requirement x is y = 1 - x (x > 0 and y > 0), and the initial discount of the running cycle is equal to the weighted sum of the initial discounts of the six time periods. Then, according to Table 3, it can be known that the initial discount A of the running cycle = 0.125×(1 – 0.3) + 0.125×(1 – 0.3) + 0.25×(1 – 0.7) + 0.25×(1 – 0.8) + 0.125×(1 – 0.7) + 0.125×(1 – 0.3) = 0.375.

[0127] Table 3

[0128] Time period 1 2 3 4 5 6 Time period weight 0.125 0.125 0.25 0.25 0.125 0.125

[0129] There are multiple implementation manners for step 4041, and the following takes the following two implementation manners as examples to illustrate it.

[0130] When the cloud management platform determines the selling discount based on the target matching degree and the initial discount, it may first determine the selling discount based on the target matching degree, and then optimize the selling discount according to the initial discount to obtain the optimized selling discount. In one implementable manner, the initial discount is positively correlated with the optimized selling discount. For example, the optimized selling discount is equal to the product of the initial discount and the selling discount determined based on the target matching degree.

[0131] Optionally, during the above execution process, the cloud management platform can also interact with the tenant multiple times to inform the tenant of the phased results of the above execution process, or determine whether to execute the subsequent process according to the tenant's feedback on the phased results. For example, after obtaining the initial discount, the cloud management platform can also feedback the initial discount to the tenant, receive the tenant's feedback on the initial discount, and then decide whether to execute step 403 above according to the feedback. For example, as Figure 10 shown, the method further includes: step 406, the cloud management platform displays the initial discount to the tenant and receives the tenant's feedback indicating whether to accept the initial discount. Then, as Figure 10 shown, the above step 403 includes: step 4031, when the tenant accepts the initial discount, the cloud management platform detects the actual running state of the virtual instance within a preset time period. Similarly, after obtaining the selling discount, the cloud management platform can also feedback the selling discount to the tenant. Then, as Figure 10 shown, the method further includes: step 407, the cloud management platform displays the selling discount to the tenant. Correspondingly, step 4041 includes step 4041a executed before step 407 and step 4041b executed after step 407. Step 4041a, the cloud management platform determines the selling discount according to the initial discount and the target matching degree between the actual running state and the expected running state, and the initial discount is positively correlated with the selling discount. Step 4041b, when the tenant accepts the selling discount, the cloud management platform charges the tenant for using the virtual instance within a preset time period according to the selling discount. For example, as Figure 7 shown, after the cloud management platform sets the first feature data by the tenant, it determines the initial discount of the virtual instance based on the first feature data, then displays the initial discount to the tenant. After the tenant indicates to accept the initial discount, it runs the virtual instance and obtains the second feature data of the feature indicated by the first feature data during the running process of the virtual instance. Then, it determines the selling discount of the virtual instance according to the target matching degree between the second feature data and the first feature data, and then displays the selling discount to the tenant. In addition, in addition to displaying the selling discount to the tenant, the cloud management platform can also ask the tenant whether to accept the selling discount, and can also display the calculation method of the selling discount to the tenant, such as how the selling discount is calculated according to which indicators, etc. The embodiments of the present application do not make specific limitations on its display method.

[0132] As can be seen from the above, in the cloud service management method provided in the embodiments of the present application, the cloud management platform can obtain the virtual instance specifications set by the tenant from the virtual instance creation interface, and call resources in the infrastructure according to the virtual instance specifications to create virtual instances that meet the virtual instance specifications. Moreover, the cloud management platform can obtain the first characteristic data set by the tenant from the information acquisition interface, detect the actual running status of the virtual instance within a preset time period, determine the selling discount according to the target matching degree between the actual running status and the expected running status, and then charge the tenant for using the virtual instance within the preset time period according to the selling discount. In this way, since the tenant has a certain understanding of their own business, the cloud management platform obtains the first characteristic data from the tenant, which can ensure the accuracy of the first characteristic data on the one hand, and obtain the first characteristic data before the cloud management platform runs the virtual instance on the other hand, improving the timeliness of obtaining the first characteristic data and helping the cloud management platform to better run the virtual instance based on the first characteristic data. For example, after the cloud platform obtains the virtual machine information, it can make a running plan and guarantee for the virtual machine in advance based on the virtual machine information to better exert the energy efficiency of the cloud resources and provide better personalized guarantee for the tenant. At the same time, the cloud management platform determines the selling discount for charging the virtual instance based on the target matching degree between the running status indicated by the first characteristic data and the actual running status of the virtual instance, which is equivalent to compensating the tenant's behavior of setting the first characteristic data according to the target matching degree, helping to encourage the tenant to provide more accurate relevant information about the virtual instance to the cloud management platform.

[0133] It should be noted that the sequence of steps of the cloud service management method provided in the embodiments of the present application can be appropriately adjusted, and the steps can also be increased or decreased accordingly according to the situation. For example, the execution sequence of step 405 can be adjusted according to the application requirements. Any method of change that can be easily thought of by any person skilled in the art within the technical scope disclosed in the present application should be covered by the protection scope of the present application, so it will not be elaborated here.

[0134] The following is an example of the virtual device in the embodiments of the present application.

[0135] The cloud service management method in the embodiments of the present application has been introduced above. Corresponding to the above method, the embodiments of the present application also provide a cloud service management device. Figure 11 It is a schematic structural diagram of a cloud service management device provided in the embodiments of the present application. Based on Figure 11 the following multiple components shown, the Figure 11 cloud service management device shown can execute the above Figure 4 , Figure 8 or Figure 10All or part of the operations shown. It should be understood that the device may include additional components more than those shown or omit some of the components shown, and the embodiments of the present application do not limit this. Optionally, the cloud service management device can be applied to a cloud management platform. The cloud management platform is used to manage the infrastructure that provides cloud services. The infrastructure includes multiple servers, and virtual instances for implementing tenant services are deployed in the servers. As Figure 11 shown, the cloud service management device 110 may include:

[0136] An interaction module 1101, configured to obtain the virtual instance specifications set by the tenant from the virtual instance creation interface.

[0137] A processing module 1102, configured to call resources in the infrastructure according to the virtual instance specifications to create a virtual instance that meets the virtual instance specifications.

[0138] The interaction module 1101 is further configured to obtain the first feature data set by the tenant from the information acquisition interface, and the first feature data is used to indicate the expected operating state of the virtual instance within a preset time period.

[0139] The processing module 1102 is further configured to detect the actual operating state of the virtual instance within a preset time period, determine the selling discount according to the target matching degree between the actual operating state and the expected operating state, and charge the tenant for using the virtual instance within the preset time period according to the selling discount.

[0140] In a possible implementation manner, the processing module 1102 is specifically configured to: determine the initial discount of the virtual instance based on the first feature data; determine the selling discount based on the target matching degree and the initial discount, and the initial discount is positively correlated with the selling discount.

[0141] In a possible implementation manner, the processing module 1102 is specifically configured to: determine the refinement degree of the operating state indicated by the first feature data; determine the initial discount based on the refinement degree, and the refinement degree is positively correlated with the initial discount.

[0142] In a possible implementation manner, the first feature data indicates the resource demand of the virtual instance for the server, and the processing module 1102 is specifically configured to: determine the initial discount of the virtual instance based on the resource demand, and the resource demand is negatively correlated with the initial discount.

[0143] In a possible implementation manner, the interaction module 1101 is further configured to display the initial discount to the tenant and receive the feedback indicating whether the tenant accepts the initial discount. Correspondingly, the processing module 1102 is specifically configured to detect the actual operating state of the virtual instance within a preset time period when the tenant accepts the initial discount.

[0144] In a possible implementation, the interaction module 1101 is further configured to display the sales discount to the tenant.

[0145] In a possible implementation, the running state indicates one or more of the following: the application running on the virtual instance, the creation time and deletion time of the virtual instance, the power-on time and power-off time of the virtual instance, and the load condition of the virtual instance.

[0146] In a possible implementation, the content indicated by the running state of the virtual instance includes one or more of the following: the application running on the virtual instance, the creation time and deletion time of the virtual instance, the power-on time and power-off time of the virtual instance, and the load condition of the virtual instance.

[0147] In a possible implementation, in response to the running state indicating the application running on the virtual instance, and the application being indicated by at least one first metric, the processing module 1102 is specifically configured to: obtain the overlapping degree between the numerical range of the target first metric indicated by the first feature data and the numerical range of the target first metric indicated by the actual running state, where the target first metric is any one of the at least one first metric; based on the overlapping degree corresponding to the target first metric, obtain the first matching degree between the target first metric indicated by the actual running state and the target first metric indicated by the expected running state; and obtain the target matching degree based on the first matching degree.

[0148] In a possible implementation, the first matching degree and the overlapping degree satisfy: when the first overlapping degree is greater than the second overlapping degree, the first matching degree corresponding to the first overlapping degree is greater than or equal to the first matching degree corresponding to the second overlapping degree.

[0149] In a possible implementation, in response to the running state indicating the target time period among the first time period and the second time period of the virtual instance, the starting point of the first time period is the creation time of the virtual instance, the ending point of the first time period is the deletion time of the virtual instance, the starting point of the second time period is the power-on time of the virtual instance, and the ending point of the second time period is the power-off time of the virtual instance, the processing module 1102 is specifically configured to: obtain the excess duration by which the target time period indicated by the actual running state exceeds the target time period indicated by the first feature data; based on the excess duration, obtain the second matching degree between the target time period indicated by the actual running state and the target time period indicated by the expected running state; and obtain the target matching degree based on the second matching degree.

[0150] In a possible implementation, the second matching degree and the excess duration satisfy: when the first excess duration is greater than the second excess duration, the second matching degree corresponding to the first excess duration is less than or equal to the second matching degree corresponding to the excess duration.

[0151] In a possible implementation, in response to the load condition of the virtual instance indicated by the running state, and the load condition is indicated by at least one second metric, the processing module 1102 is specifically configured to: obtain the magnitude relationship between the target value of the target second metric indicated by the first feature data and the target value of the target second metric indicated by the actual running state, where the target second metric is any one of the at least one second metric; based on the magnitude relationship corresponding to the target second metric, obtain the third matching degree between the target second metric indicated by the actual running state and the target second metric indicated by the expected running state; and obtain the target matching degree based on the third matching degree.

[0152] In a possible implementation, when the target value of the target second metric indicated by the first feature data within a specified time period is greater than or equal to the target value of the target second metric indicated by the actual running state within the specified time period, the target second metric indicated by the actual running state matches the target second metric indicated by the expected running state within the specified time period, and the preset time period includes the specified time period.

[0153] In a possible implementation, in response to the expected running state indicating multiple metrics and the actual running state indicating multiple metrics, the processing module 1102 is specifically configured to: obtain the influence weight of each metric among the multiple metrics; and obtain the selling discount based on the influence weights of the multiple metrics and the matching degrees corresponding to the multiple metrics, where the matching degree corresponding to any one of the multiple metrics is the matching degree between any one of the metrics indicated by the actual running state and any one of the metrics indicated by the expected running state.

[0154] Here, for the detailed working processes of the interaction module 1101 and the processing module 1102, please refer to the descriptions in the foregoing method embodiments. For example, the interaction module 1101 obtains the virtual instance specifications set by the tenant from the virtual instance creation interface using the foregoing step 401, and obtains the first feature data set by the tenant from the information acquisition interface using the foregoing step 402. The processing module 1102 creates a virtual instance that conforms to the virtual instance specifications by invoking resources in the infrastructure according to the virtual instance specifications using the foregoing step 401, detects the actual running state of the virtual instance within the preset time period using the foregoing step 403, determines the selling discount according to the target matching degree between the actual running state and the expected running state using the foregoing step 404, and bills the tenant for using the virtual instance within the preset time period according to the selling discount. The embodiments of the present application will not be described repeatedly herein.

[0155] Among them, both the interaction module 1101 and the processing module 1102 can be implemented by software or can be implemented by hardware. Exemplarily, next, taking the interaction module 1101 as an example, the implementation manner of the interaction module 1101 will be introduced. Similarly, the implementation manner of the processing module 1102 can refer to the implementation manner of the interaction module 1101.

[0156] As an example of a software functional unit, the interaction module 1101 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above computing instance may be one or more. For example, the interaction module 1101 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers for running this code may be distributed in the same region, or may be distributed in different regions. Further, the multiple hosts / virtual machines / containers for running this code may be distributed in the same availability zone (AZ), or may be distributed in different AZs, and each AZ includes one cloud data center or multiple geographically proximate cloud data centers. Among them, generally one region may include multiple AZs.

[0157] Similarly, the multiple hosts / virtual machines / containers for running this code may be distributed in the same virtual private cloud (VPC), or may be distributed in multiple VPCs. Among them, generally one VPC is set within one region. For cross-region communication between two VPCs within the same region and between VPCs in different regions, a communication gateway needs to be set in each VPC, and the interconnection between VPCs is achieved through the communication gateway.

[0158] As an example of a hardware functional unit, the interaction module 1101 may include at least one computing device, such as a server, etc. Or, the interaction module 1101 may also be a device implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). Among them, the above PLD may be implemented by a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0159] The multiple computing devices included in the interaction module 1101 can be distributed in the same region or in different regions. The multiple computing devices included in the interaction module 1101 can be distributed in the same availability zone (AZ) or in different AZs. Similarly, the multiple computing devices included in the interaction module 1101 can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Among them, the multiple computing devices can be any combination of computing devices such as servers, application-specific integrated circuits (ASICs), programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), and generic array logic (GALs).

[0160] It should be noted that in other embodiments, either the interaction module 1101 or the processing module 1102 can be used to execute any step in the cloud service management method. The steps to be implemented by the interaction module 1101 and the processing module 1102 can be specified as needed, and the entire function of the cloud service management device can be realized by implementing different steps in the cloud service management method through the interaction module 1101 and the processing module 1102 respectively.

[0161] Those skilled in the art can clearly understand that for the convenience and conciseness of description, the specific working processes of the above-described respective components can refer to the corresponding content in the foregoing method embodiments, and will not be elaborated herein.

[0162] Next, an example of the basic hardware structure involved in the embodiments of the present application will be described.

[0163] The present application also provides a computing device 1200. As Figure 12 shown, the computing device 1200 includes: a bus 1202, a processor 1204, a memory 1206, and a communication interface 1208. The processor 1204, the memory 1206, and the communication interface 1208 communicate with each other through the bus 1202. The computing device 1200 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 1200.

[0164] The bus 1202 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of convenience of representation,[[]] Figure 12 only one line is shown herein, but it does not mean that there is only one bus or one type of bus. The bus 1202 can include a path for transmitting information between various components (for example, the memory 1206, the processor 1204, and the communication interface 1208) of the computing device 1200.

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

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

[0167] The memory 1206 stores executable program code, and the processor 1204 executes the executable program code to respectively implement the functions of the foregoing interaction module 1101 and processing module 1102, thereby implementing the cloud service management method. That is, the memory 1206 stores instructions for executing the cloud service management method.

[0168] The communication interface 1208 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1200 and other devices or a communication network.

[0169] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may 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 may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0170] As Figure 13 shown, the computing device cluster includes at least one computing device 1200. The memory 1206 in one or more computing devices 1200 in the computing device cluster may store the same instructions for executing the cloud service management method.

[0171] In some possible implementation manners, the memory 1206 in one or more computing devices 1200 in the computing device cluster may also respectively store partial instructions for executing the cloud service management method. In other words, a combination of one or more computing devices 1200 may jointly execute the instructions for executing the cloud service management method.

[0172] It should be noted that the memories 1206 in different computing devices 1200 in the computing device cluster may store different instructions respectively for executing some functions of the cloud service management device. That is, the instructions stored in the memories 1206 in different computing devices 1200 can implement the functions of one or more modules in the interaction module 1101 and the processing module 1102.

[0173] In some possible implementation manners, one or more computing devices in the computing device cluster may be connected through a network. Among them, the network may be a wide area network or a local area network, etc. Figure 14 A possible implementation manner is shown. As Figure 14 shown, two computing devices 1200A and 1200B are connected through a network. Specifically, they are connected to the network through the communication interfaces in each computing device. In this type of possible implementation manner, the memory 1206 in the computing device 1200A stores instructions for executing the function of the interaction module 1101. At the same time, the memory 1206 in the computing device 1200B stores instructions for executing the function of the processing module 1102.

[0174] Figure 14 The connection manner between the computing device clusters shown may be considered that since the cloud service management method provided in this application needs to store a large amount of data, it is considered to hand over the function implemented by the processing module 1102 to the computing device 1200B for execution.

[0175] It should be understood that Figure 14 the function of the computing device 1200A shown in

[0176] This application embodiment also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similarly referred to Figure 13 and Figure 14 the connection manner of the computing device cluster. The difference is that the memories 1206 in one or more computing devices 1200 in this computing device cluster may store the same instructions for executing the cloud service management method.

[0177] In some possible implementation manners, the memories 1206 in one or more computing devices 1200 in this computing device cluster may also respectively store some instructions for executing the cloud service management method. In other words, a combination of one or more computing devices 1200 can jointly execute the instructions for executing the cloud service management method.

[0178] The embodiments of the present application also provide a computer program product containing instructions. The computer program product can be software or a program product containing instructions that can run on a computing device or be stored in any available medium. When the computer program product runs on at least one computing device, at least one computing device is caused to execute the cloud service management method.

[0179] The embodiments of the present application also provide 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., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive), etc. The computer-readable storage medium includes instructions that instruct the computing device to execute the cloud service management method, or instruct the computing device to execute the cloud service management method.

[0180] Those of ordinary skill in the art can understand that all or part of the steps of implementing the above embodiments can be completed by hardware, or can be completed by a program instructing relevant hardware. The program can be stored in a computer-readable storage medium, and the above-mentioned storage medium can be a read-only memory, a magnetic disk, an optical disc, etc.

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

[0182] In the embodiments of the present application, the terms "first", "second", and "third" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance. The term "at least one" means one or more, and the term "multiple" means two or more, unless otherwise clearly defined.

[0183] The term "and / or" in the present application is merely a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this article generally represents an "or" relationship between the associated objects before and after.

[0184] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features. However, such modifications or replacements 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 service management method, characterized in that: The method is performed by a cloud management platform, the cloud management platform is used to manage the infrastructure for providing cloud services, the infrastructure includes multiple servers, and virtual instances for implementing tenant services are deployed in the servers. The method includes: The cloud management platform obtains the virtual instance specifications set by the tenant from the virtual instance creation interface, and calls resources in the infrastructure according to the virtual instance specifications to create a virtual instance that meets the virtual instance specifications; The cloud management platform acquires first characteristic data set by the tenant from the information acquisition interface, where the first characteristic data is used to indicate an expected running state of the virtual instance within a preset time period; The cloud management platform detects the actual operating status of the virtual instance within the preset time period, determines a sales discount based on a target matching degree between the actual operating status and the expected operating status, and charges the tenant for using the virtual instance within the preset time period based on the sales discount.

2. The method according to claim 1, characterized in that The method further comprises: The cloud management platform determines an initial discount for the virtual instance based on the first characteristic data; The cloud management platform determines the sales discount according to the target matching degree between the actual operation state and the expected operation state, including: The cloud management platform determines the sales discount based on the target matching degree and the initial discount, and the initial discount is positively correlated with the sales discount.

3. The method according to claim 2, characterized in that The cloud management platform determines, based on the first characteristic data, an initial discount for the virtual instance, including: The cloud management platform determines the degree of refinement of the operating status indicated by the first characteristic data; The cloud management platform determines the initial discount based on the degree of refinement, and the degree of refinement is positively correlated with the initial discount.

4. The method according to claim 2 or 3, characterized in that The first characteristic data indicates the resource demand of the virtual instance on the server, and the cloud management platform determines the initial discount of the virtual instance based on the first characteristic data, including: The cloud management platform determines an initial discount for the virtual instance based on the resource demand, and the resource demand is negatively correlated with the initial discount.

5. The method according to any one of claims 2 to 4, characterized in that: The method further comprises: The cloud management platform displays the initial discount to the tenant, and receives feedback from the tenant indicating whether to accept the initial discount; The cloud management platform detects the actual running status of the virtual instance within the preset time period, including: When the tenant accepts the initial discount, the cloud management platform detects the actual running status of the virtual instance within the preset time period.

6. The method according to any one of claims 1 to 5, characterized in that: The running status indicates one or more of the following: an application program running on the virtual instance, a creation time and a deletion time of the virtual instance, a startup time and a shutdown time of the virtual instance, and a load condition of the virtual instance.

7. The method according to claim 6, characterized in that In response to the running state indicating an application running on the virtual instance, and the application being indicated by at least one first indicator, the method further includes: The cloud management platform obtains a degree of overlap between a numerical range of a target first indicator indicated by the first feature data and a numerical range of the target first indicator indicated by the actual operating status, the target first indicator being any one of the at least one first indicator; The cloud management platform obtains a first matching degree between the target first indicator indicated by the actual operating status and the target first indicator indicated by the expected operating status based on the corresponding overlap degree of the target first indicator; The cloud management platform obtains the target matching degree based on the first matching degree.

8. The method according to claim 7, characterized in that The first matching degree and the overlap degree satisfy: when the first overlap degree is greater than the second overlap degree, the first matching degree corresponding to the first overlap degree is greater than or equal to the first matching degree corresponding to the second overlap degree.

9. The method according to any one of claims 6 to 8, characterized in that: In response to the target time period of the first time period and the second time period of the virtual instance indicated by the running status, the starting point of the first time period is the creation time of the virtual instance, the end point of the first time period is the deletion time of the virtual instance, the starting point of the second time period is the startup time of the virtual instance, and the end point of the second time period is the shutdown time of the virtual instance, the method further includes: The cloud management platform obtains, as the case may be, a time period during which the target time period indicated by the actual operation status exceeds the target time period indicated by the first characteristic data; The cloud management platform obtains, based on the exceeded time, a second matching degree between the target time period indicated by the actual operating status and the target time period indicated by the expected operating status; The cloud management platform obtains the target matching degree based on the second matching degree.

10. The method according to claim 9, characterized in that The second matching degree and the excess time duration satisfy: when the first excess time duration is greater than the second excess time duration, the second matching degree corresponding to the first excess time duration is less than or equal to the second matching degree corresponding to the excess time duration.

11. The method according to any one of claims 6 to 10, characterized in that: In response to the running status indicating a load condition of the virtual instance, and the load condition is indicated by at least one second indicator, the method further includes: The cloud management platform obtains a magnitude relationship between a target value of a target second indicator indicated by the first feature data and a target value of the target second indicator indicated by the actual operating status, wherein the target second indicator is any one of the at least one second indicator; The cloud management platform obtains a third matching degree between the target second indicator indicated by the actual operating status and the target second indicator indicated by the expected operating status based on the size relationship corresponding to the target second indicator; The cloud management platform obtains the target matching degree based on the third matching degree.

12. The method according to claim 11, characterized in that When the target value of the target second indicator indicated by the first characteristic data within the specified time period is greater than or equal to the target value of the target second indicator indicated by the actual operating status within the specified time period, the target second indicator indicated by the actual operating status matches the target second indicator indicated by the expected operating status within the specified time period, and the preset time period includes the specified time period.

13. The method according to any one of claims 1 to 12, characterized in that: In response to the expected operating state indicating a plurality of indicators, the actual operating state indicating the plurality of indicators, the cloud management platform determining a sales discount according to a target matching degree between the actual operating state and the expected operating state, including: The cloud management platform obtains the influence weight of each indicator among the multiple indicators; The cloud management platform obtains the sales discount based on the influence weights of the multiple indicators and the matching degrees corresponding to the multiple indicators, and the matching degree corresponding to any indicator of the multiple indicators is the matching degree between any indicator indicated by the actual operating status and any indicator indicated by the expected operating status.

14. A cloud service management device, characterized in that: The device is deployed on a cloud management platform, and the cloud management platform is used to manage the infrastructure for providing cloud services, and the infrastructure includes multiple servers, and virtual instances for implementing tenant services are deployed in the servers. The device includes: An interaction module, used to obtain the virtual instance specifications set by the tenant from a virtual instance creation interface; A processing module, configured to call resources in the infrastructure according to the virtual instance specification to create a virtual instance that meets the virtual instance specification; The interaction module is further used to obtain first characteristic data set by the tenant from the information acquisition interface, where the first characteristic data is used to indicate the expected running state of the virtual instance within a preset time period; The processing module is further used to detect the actual operating status of the virtual instance within the preset time period, determine a sales discount based on the target matching degree between the actual operating status and the expected operating status, and charge the tenant for using the virtual instance within the preset time period based on the sales discount.

15. The device according to claim 14, characterized in that The processing module is specifically used for: determining an initial discount for the virtual instance based on the first characteristic data; The selling discount is determined based on the target matching degree and the initial discount, and the initial discount is positively correlated with the selling discount.

16. The device according to claim 15, characterized in that The processing module is specifically used for: determining a degree of refinement of the operating state indicated by the first characteristic data; The initial discount is determined based on the refinement level, and the refinement level is positively correlated with the initial discount.

17. The device according to claim 15 or 16, characterized in that The first characteristic data indicates the resource demand of the virtual instance for the server, and the processing module is specifically used to determine an initial discount of the virtual instance based on the resource demand, and the resource demand is negatively correlated with the initial discount.

18. The device according to any one of claims 15 to 17, characterized in that: The interaction module is further configured to display the initial discount to the tenant and receive feedback from the tenant indicating whether to accept the initial discount; The processing module is specifically configured to detect the actual operating status of the virtual instance within the preset time period when the tenant accepts the initial discount.

19. The device according to any one of claims 14 to 18, characterized in that The running status indicates one or more of the following: an application program running on the virtual instance, a creation time and a deletion time of the virtual instance, a startup time and a shutdown time of the virtual instance, and a load condition of the virtual instance.

20. The device according to claim 19, characterized in that In response to the running status indicating an application running on the virtual instance, and the application being indicated by at least one first indicator, the processing module is specifically configured to: Obtaining a degree of overlap between a numerical range of a target first indicator indicated by the first characteristic data and a numerical range of the target first indicator indicated by the actual operating state, the target first indicator being any one of the at least one first indicator; Based on the overlap degree corresponding to the target first indicator, obtaining a first matching degree between the target first indicator indicated by the actual operating state and the target first indicator indicated by the expected operating state; The target matching degree is obtained based on the first matching degree.

21. The device according to claim 20, characterized in that The first matching degree and the overlap degree satisfy: when the first overlap degree is greater than the second overlap degree, the first matching degree corresponding to the first overlap degree is greater than or equal to the first matching degree corresponding to the second overlap degree.

22. The device according to any one of claims 19 to 21, characterized in that In response to the target time period in the first time period and the second time period of the virtual instance indicated by the running status, the starting point of the first time period is the creation time of the virtual instance, the end point of the first time period is the deletion time of the virtual instance, the starting point of the second time period is the startup time of the virtual instance, and the end point of the second time period is the shutdown time of the virtual instance, the processing module is specifically used to: Obtaining a time duration during which the target time period indicated by the actual operating status exceeds the target time period indicated by the first characteristic data; Based on the exceeding time, obtaining a second matching degree between the target time period indicated by the actual operation status and the target time period indicated by the expected operation status; The target matching degree is obtained based on the second matching degree.

23. The device according to claim 22, characterized in that The second matching degree and the excess time duration satisfy: when the first excess time duration is greater than the second excess time duration, the second matching degree corresponding to the first excess time duration is less than or equal to the second matching degree corresponding to the excess time duration.

24. The device according to any one of claims 19 to 23, characterized in that In response to the operating status indicating the load condition of the virtual instance, and the load condition is indicated by at least one second indicator, the processing module is specifically configured to: Acquire a magnitude relationship between a target value of a target second indicator indicated by the first characteristic data and a target value of the target second indicator indicated by the actual operating state, wherein the target second indicator is any one of the at least one second indicator; Based on the size relationship corresponding to the target second indicator, obtaining a third matching degree between the target second indicator indicated by the actual operating state and the target second indicator indicated by the expected operating state; The target matching degree is obtained based on the third matching degree.

25. The device according to claim 24, characterized in that When the target value of the target second indicator indicated by the first characteristic data within the specified time period is greater than or equal to the target value of the target second indicator indicated by the actual operating status within the specified time period, the target second indicator indicated by the actual operating status matches the target second indicator indicated by the expected operating status within the specified time period, and the preset time period includes the specified time period.

26. The device according to any one of claims 14 to 25, characterized in that In response to the expected operating state indicating a plurality of indicators, the actual operating state indicating the plurality of indicators, the processing module is specifically configured to: Obtaining an influence weight of each of the multiple indicators; The sales discount is obtained based on the influence weights of the multiple indicators and the matching degrees corresponding to the multiple indicators, and the matching degree corresponding to any indicator among the multiple indicators is the matching degree between any indicator indicated by the actual operating status and any indicator indicated by the expected operating status.

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

28. A computer-readable storage medium, characterized in that: The method comprises program instructions, and when the program instructions are executed on a computing device, the computing device is caused to execute the method according to any one of claims 1 to 13.

29. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 13.