Flow control method based on cloud management platform and cloud management platform
Through the cloud management platform providing a setting interface, tenants can configure thresholds for the first cloud instance and the second cloud instance, solving the problem of single traffic control strategy factors in the prior art, and achieving global and high-quality traffic control effects.
Patent Information
- Application Number
- CN202410013326.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-19
- Filing Date
- 2024-01-04
- Publication Date
- 2025-04-22
AI Technical Summary
In existing cloud service systems, the traffic control strategy formulated by the cloud management platform for cloud instances usually takes into account a single factor and cannot achieve the best flow limiting effect globally.
Through the cloud management platform providing a setting interface, tenants can configure thresholds for the first cloud instance and the second cloud instance, and the cloud management platform adjusts the traffic of the first cloud instance and the second cloud instance based on these thresholds to ensure the globality and quality of traffic control.
It realizes traffic control that takes into account more comprehensive factors globally, effectively avoids overload status of cloud instances and ensures the stability and quality of cloud service systems.
Smart Images

Figure CN119865457A_ABST
Abstract
Description
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on October 19, 2023, with application number 202311364340.8 and application name “A traffic control method based on cloud management platform and cloud management platform”, all contents of which are incorporated by reference in this application. Technical Field
[0002] The embodiments of the present application relate to the field of cloud technology, and in particular to a traffic control method based on a cloud management platform and a cloud management platform. Background Art
[0003] In a cloud service system, in order to cope with a sudden increase in traffic in a tenant's business, it is often necessary to customize a traffic control strategy in the cloud service system to ensure, to a certain extent, that the cloud service system can operate the tenant's core business normally, thereby ensuring the quality of the cloud services provided by the cloud service system to the tenant.
[0004] The cloud service system provided by the related technology includes a cloud management platform and multiple cloud instances. The cloud management platform can manage multiple cloud instances used to provide cloud services to tenants, and set a dedicated traffic control strategy for each cloud instance. Specifically, the cloud management platform sets a dedicated token bucket for each cloud instance, and the number of tokens in each token bucket is the quota of traffic that the corresponding cloud instance can receive. Based on this, when there is traffic about to enter a cloud instance, the cloud instance will apply for a token from its token bucket. If a token is applied for, the traffic will be received. If a token is not applied for, the traffic will be rejected.
[0005] In the above cloud service system, the traffic control strategy formulated by the cloud management platform for the cloud instance is usually determined by the situation of the cloud instance itself, and the factors considered are relatively single. From a global perspective, it is often unable to achieve the best flow control effect. Summary of the invention
[0006] The embodiment of the present application provides a traffic control method based on a cloud management platform and a cloud management platform, which considers more comprehensive factors when performing traffic control and can achieve high-quality traffic control globally.
[0007] A first aspect of an embodiment of the present application provides a traffic control method based on a cloud management platform, wherein the cloud management platform is used to manage an infrastructure that provides cloud services, wherein the infrastructure includes multiple cloud instances, wherein the multiple cloud instances include a first cloud instance and a second cloud instance accessible to the first cloud instance, and the method includes:
[0008] When the tenant needs to configure a flow control policy for the first cloud instance, the cloud management platform can provide the tenant with a setting interface, so the tenant can send the first threshold set by the tenant for the first parameter of the first cloud instance and the second threshold set by the tenant for the second parameter of the second cloud instance to the setting interface, so that the cloud management platform receives the first threshold of the first parameter and the second threshold of the second parameter sent by the tenant's client through the setting interface. The first parameter is affected by the first flow input to the first cloud instance, and the second parameter is affected by the second flow output from the first cloud instance.
[0009] After obtaining the first threshold of the first parameter and the second threshold of the second parameter, the cloud management platform can configure the first threshold of the first parameter and the second threshold of the second parameter to the first cloud instance. Therefore, the first cloud instance successfully obtains the first threshold of the first parameter and the second threshold of the second parameter, which can be regarded as the tenant successfully configuring the traffic control policy for the first cloud instance through the cloud management platform.
[0010] Then, the cloud management platform configures a traffic control strategy for the first cloud instance, which is equivalent to the cloud management platform configuring a traffic control function for the first cloud instance. Therefore, the first cloud instance can read the first parameter from itself and collect the second parameter from the second cloud instance, and then based on the relationship between the first parameter and the first threshold and the relationship between the second parameter and the second threshold, it can adjust the first traffic input to the first cloud instance and / or the second traffic output from the first cloud instance, thereby completing traffic control.
[0011] It can be seen from the above method that the traffic control policy formulated by the tenant for the first cloud instance through the cloud management platform may include a first threshold value of a first parameter of the first cloud instance and a second threshold value of a second parameter of a second cloud instance accessible to the first cloud instance. Therefore, when the first cloud instance performs traffic control according to the traffic control policy, it will adjust the relationship between the first parameter and the first threshold value and the relationship between the second parameter and the second threshold value for the purpose of traffic control, so as to adjust the first traffic input to the first cloud instance and the second traffic output from the first cloud instance. It can be seen that when the first cloud instance performs traffic control, it not only considers the impact of the first cloud instance itself, but also considers the impact of the second cloud instance associated with it. The factors considered are relatively comprehensive, and high-quality traffic control is achieved globally.
[0012] In one possible implementation, the first parameter is affected by the first traffic, including: the first traffic input to the first cloud instance may affect the first parameter of the first cloud instance in the following manner: if the first traffic input to the first cloud instance is smaller, the first parameter of the first cloud instance is smaller; if the first traffic input to the first cloud instance is larger, the first parameter of the first cloud instance is larger; the second parameter is affected by the second traffic, including: if the second traffic output by the first cloud instance is smaller, the second parameter of the second cloud instance is smaller; if the second traffic output by the first cloud instance is larger, the second parameter of the second cloud instance is larger.
[0013] In a possible implementation, the cloud management platform configures the first cloud instance to adjust the first flow and / or the second flow based on the relationship between the first parameter and the first threshold and the relationship between the second parameter and the second threshold, including: if the cloud management platform configures the first cloud instance to determine that the first parameter is greater than or equal to the first threshold and the second parameter is less than the second threshold, then reduce the first flow to reduce the first parameter, and the reduced first parameter is less than the first threshold; if the cloud management platform configures the first cloud instance to determine that the first parameter is less than the first threshold and the second parameter is greater than or equal to the second threshold, then reduce the second flow to reduce the second parameter, and the reduced second parameter is less than the second threshold; if the cloud management platform configures the first cloud instance to determine that the first parameter is greater than or equal to the first threshold and the second parameter is greater than or equal to the second threshold, then reduce the first flow and the second flow to reduce the first parameter and the second parameter, and the reduced first parameter is less than the first threshold, and the reduced second parameter is less than the second threshold. In the aforementioned implementation, after collecting and obtaining the first parameter and the second parameter, the first cloud instance can detect whether the first parameter is less than the first threshold and whether the second parameter is less than the second threshold. If it is determined that the first parameter is greater than or equal to the first threshold, and the second parameter is less than the second threshold, it means that the first flow input to the first cloud instance has caused the first cloud instance to be in an overloaded state, so the first cloud instance can reduce the first flow input to the first cloud instance to reduce the first parameter, so that the reduced first parameter is less than the first threshold, which is equivalent to getting the first cloud instance out of the overloaded state. If it is determined that the first parameter is less than the first threshold, and the second parameter is greater than or equal to the second threshold, it means that the second flow output by the first cloud instance has caused the second cloud instance to be in an overloaded state, so the first cloud instance can reduce the second flow to reduce the second parameter, so that the reduced second parameter is less than the second threshold, which is equivalent to getting the second cloud instance out of the overloaded state. If it is determined that the first parameter is greater than or equal to the first threshold, and the second parameter is greater than or equal to the second threshold, it means that the first flow input to the first cloud instance has caused the first cloud instance to be in an overloaded state, and the second flow output from the first cloud instance has caused the second cloud instance to be in an overloaded state. Therefore, the first cloud instance can reduce the first flow and the second flow to reduce the first parameter and the second parameter, so that the reduced first parameter is less than the first threshold, and the reduced second parameter is less than the second threshold, which is equivalent to making the first cloud instance and the second cloud instance out of the overloaded state. It can be seen from this that once the first cloud instance finds that the first cloud instance or the second cloud instance is in an overloaded state, it can immediately reduce the first flow input to itself and the second flow output from itself to ensure that these flows will not cause the first cloud instance and the second cloud instance to enter an overloaded state, thereby achieving a high-quality flow limiting effect to maintain the stability of the entire cloud service system.
[0014] In a possible implementation, the method further includes: the cloud management platform receives multiple first categories set by the tenant for the first traffic through a setting interface; the cloud management platform configures the first cloud instance to divide the first traffic into multiple first sub-traffics corresponding to the multiple first categories; the cloud management platform configures the first cloud instance to reduce the first traffic, including: the cloud management platform configures the first cloud instance to select at least one first sub-traffic with the greatest impact on the first parameter from the multiple first sub-traffics, and reduce the at least one first sub-traffic. In the aforementioned implementation, the traffic control strategy configured by the tenant for the first cloud instance through the cloud management platform also includes multiple first categories set by the tenant for the first traffic, so when it is necessary to reduce the first traffic, the first cloud instance can divide the first traffic into multiple first sub-traffics corresponding to the multiple first categories. Then, the first cloud instance can select at least one first sub-traffic with the greatest impact on the first parameter from the multiple first sub-traffics, and reduce the at least one first sub-traffic to reduce the first parameter, so that the reduced first parameter is less than the first threshold. It can be seen from this that the first cloud management can specifically reduce the first sub-traffic that most affects the first parameter contained in the first traffic, so as to achieve the effect of quickly reducing the first parameter, thereby quickly getting the first cloud instance out of overload filling.
[0015] In a possible implementation, the method further includes: the cloud management platform receives multiple second categories set by the tenant for the second traffic through a setting interface; the cloud management platform configures the first cloud instance to divide the second traffic into multiple second sub-traffic corresponding to the multiple second categories; the cloud management platform configures the first cloud instance to reduce the second traffic including: the cloud management platform configures the first cloud instance to select at least one second sub-traffic with the greatest impact on the second parameter from the multiple second sub-traffic, and reduce at least one second sub-traffic. In the aforementioned implementation, the traffic control strategy configured by the tenant for the first cloud instance through the cloud management platform also includes multiple second categories set by the tenant for the second traffic, so when it is necessary to reduce the second traffic, the first cloud instance can divide the second traffic into multiple second sub-traffic corresponding to the multiple second categories. Then, the first cloud instance can select at least one second sub-traffic with the greatest impact on the second parameter from the multiple second sub-traffic, and reduce the at least one second sub-traffic to reduce the second parameter, so that the reduced second parameter is less than the second threshold. It can be seen from this that the first cloud management can specifically reduce the second sub-traffic that most affects the second parameter contained in the second traffic, so as to achieve the effect of quickly reducing the second parameter, thereby quickly getting the second cloud instance out of overload filling.
[0016] In a possible implementation, the method further includes: the cloud management platform receives the third threshold value set by the tenant for the first parameter through the setting interface, and the third threshold value is less than the first threshold value; the cloud management platform configures the first cloud instance to increase the reduced first flow rate if it is determined that the reduced first parameter is less than the third threshold value, so as to increase the reduced first parameter, and the increased first parameter is less than the first threshold value and greater than the third threshold value. In the aforementioned implementation, the flow control strategy configured by the tenant for the first cloud instance through the cloud management platform also includes the third threshold value of the first parameter for the tenant. If it is determined that the reduced first parameter is less than the third threshold value, it means that the reduced first flow rate has caused the first cloud instance to be in an underloaded state. The first cloud instance can increase the reduced first flow rate to increase the reduced first parameter, so that the increased first parameter is less than the first threshold value and greater than the third threshold value, which is equivalent to making the first cloud instance in a normal load state. It can be seen from this that once the first cloud instance finds that the first cloud instance is in an underloaded state, it can immediately increase the first flow rate input to itself to ensure that these flows make the first cloud instance in a normal load state, thereby achieving a good flow control effect, so that the entire cloud service system can provide high-quality cloud services to the outside world.
[0017] In a possible implementation, the method further includes: the cloud management platform receives the fourth threshold value set by the tenant for the second parameter through the setting interface, and the fourth threshold value is less than the second threshold value; the cloud management platform configures the first cloud instance to increase the reduced second flow rate if it is determined that the reduced second parameter is less than the fourth threshold value, so as to increase the reduced second parameter, and the increased second parameter is less than the second threshold value and greater than the fourth threshold value. In the aforementioned implementation, the flow control strategy configured by the tenant for the first cloud instance through the cloud management platform also includes the fourth threshold value of the second parameter for the tenant. If it is determined that the reduced second parameter is less than the fourth threshold value, it means that the reduced second flow rate has caused the second cloud instance to be in an underloaded state. The first cloud instance can increase the reduced second flow rate to increase the reduced second parameter, so that the increased second parameter is less than the second threshold value and greater than the fourth threshold value, which is equivalent to making the second cloud instance in a normal load state. It can be seen from this that once the first cloud instance finds that the second cloud instance is in an underloaded state, it can immediately increase the second flow rate output by itself to ensure that these flows make the second cloud instance in a normal load state, thereby achieving a good flow control effect, so that the entire cloud service system can provide high-quality cloud services to the outside world.
[0018] In a possible implementation, the first parameter includes at least one of the following: processor utilization, memory utilization, hard disk utilization, request throughput, request latency, and number of concurrent connections.
[0019] In one possible implementation, the first cloud instance includes any one of the following: a physical server, a virtual machine, a micro virtual machine, a container, and a bare metal server.
[0020] A second aspect of an embodiment of the present application provides a cloud management platform, which is used to manage an infrastructure that provides cloud services. The infrastructure includes multiple cloud instances, and the multiple cloud instances include a first cloud instance and a second cloud instance accessible to the first cloud instance. The cloud management platform includes: a receiving module, which is used to receive a first threshold set by a tenant for a first parameter of the first cloud instance and a second threshold set for a second parameter of the second cloud instance through a setting interface, wherein the first parameter is affected by a first flow input to the first cloud instance, and the second parameter is affected by a second flow output from the first cloud instance; and a configuration module, which is used to configure the first cloud instance to adjust the first flow and / or the second flow based on the relationship between the first parameter and the first threshold and the relationship between the second parameter and the second threshold.
[0021] In one possible implementation, the first parameter is affected by the first flow rate, including: if the first flow rate is smaller, the first parameter is smaller, and if the first flow rate is larger, the first parameter is larger; the second parameter is affected by the second flow rate, including: if the second flow rate is smaller, the second parameter is smaller, and if the second flow rate is larger, the second parameter is larger.
[0022] In one possible implementation, the configuration module is used to: configure the first cloud instance to reduce the first flow to reduce the first parameter if it is determined that the first parameter is greater than or equal to a first threshold value and the second parameter is less than a second threshold value, and the first parameter after the reduction is less than the first threshold value; configure the first cloud instance to reduce the second flow to reduce the second parameter if it is determined that the first parameter is less than the first threshold value and the second parameter is greater than or equal to the second threshold value, and the second parameter after the reduction is less than the second threshold value; configure the first cloud instance to reduce the first flow and the second flow to reduce the first parameter and the second parameter if it is determined that the first parameter is greater than or equal to the first threshold value and the second parameter is greater than or equal to the second threshold value, and the first parameter after the reduction is less than the first threshold value and the second parameter after the reduction is less than the second threshold value.
[0023] In one possible implementation, the receiving module is further used to receive multiple first categories set by the tenant for the first traffic through a setting interface; the configuration module is further used to configure the first cloud instance to divide the first traffic into multiple first sub-flows corresponding to the multiple first categories; the configuration module is used to configure the first cloud instance to select at least one first sub-flow that has the greatest impact on the first parameter from the multiple first sub-flows, and reduce at least one first sub-flow.
[0024] In one possible implementation, the receiving module is further used to receive multiple second categories set by the tenant for the second traffic through a setting interface; the configuration module is further used to configure the first cloud instance to divide the second traffic into multiple second sub-flows corresponding to the multiple second categories; the configuration module is used to configure the first cloud instance to select at least one second sub-flow that has the greatest impact on the second parameter from the multiple second sub-flows, and reduce at least one second sub-flow.
[0025] In one possible implementation, the receiving module is further used to receive a third threshold value set by the tenant for the first parameter through a setting interface, and the third threshold value is smaller than the first threshold value; the configuration module is further used to configure the first cloud instance to increase the reduced first flow if it is determined that the reduced first parameter is smaller than the third threshold value, so as to increase the reduced first parameter, and the increased first parameter is smaller than the first threshold value and larger than the third threshold value.
[0026] In one possible implementation, the receiving module is further used to receive a fourth threshold value set by the tenant for the second parameter through a setting interface, and the fourth threshold value is smaller than the second threshold value; the configuration module is further used to configure the first cloud instance to increase the reduced second flow if it is determined that the reduced second parameter is smaller than the fourth threshold value, so as to increase the reduced second parameter, and the increased second parameter is smaller than the second threshold value and larger than the fourth threshold value.
[0027] In a possible implementation, the first parameter includes at least one of the following: processor utilization, memory utilization, hard disk utilization, request throughput, request latency, and number of concurrent connections.
[0028] In one possible implementation, the first cloud instance includes any one of the following: a physical server, a virtual machine, a micro virtual machine, a container, and a bare metal server.
[0029] A third aspect of an embodiment of the present application provides a computing device cluster, the computing device cluster includes at least one computing device, each computing device includes a processor and a memory: the memory is used to store instructions; the processor is used to enable the computing device cluster to execute the method described in the first aspect or any possible implementation method of the first aspect according to the instructions.
[0030] A fourth aspect of an embodiment of the present application provides a computer storage medium, which stores one or more instructions. When the instructions are executed by one or more computers, the one or more computers implement the method described in the first aspect or any possible implementation method of the first aspect.
[0031] A fifth aspect of the embodiments of the present application provides a computer program product, which stores instructions. When the instructions are executed by a computer, the computer implements the method described in the first aspect or any possible implementation method of the first aspect.
[0032] In an embodiment of the present application, when a tenant needs to configure a traffic control policy for a first cloud instance, the cloud management platform may provide a setting interface for the tenant to receive, through the setting interface, a first threshold value set by the tenant for a first parameter of the first cloud instance and a second threshold value set by the tenant for a second parameter of a second cloud instance accessible to the first cloud instance, wherein the first parameter is affected by the first traffic input to the first cloud instance, and the second parameter is affected by the second traffic output from the first cloud instance. Then, the cloud management platform may configure the first threshold value and the second threshold value into the first cloud instance, which is equivalent to successfully configuring a traffic control policy for the first cloud instance. Therefore, the first cloud instance may adjust the first traffic input to the first cloud instance and / or the second traffic output from the first cloud instance according to the relationship between the first parameter and the first threshold value and the relationship between the second parameter and the second threshold value, thereby completing traffic control. In the above process, the traffic control policy formulated by the tenant for the first cloud instance through the cloud management platform may include a first threshold value of a first parameter of the first cloud instance and a second threshold value of a second parameter of a second cloud instance accessible to the first cloud instance. Therefore, when the first cloud instance performs traffic control according to the traffic control policy, it will adjust the relationship between the first parameter and the first threshold value and the relationship between the second parameter and the second threshold value for the purpose of traffic control, so as to adjust the first traffic input to the first cloud instance and the second traffic output from the first cloud instance. It can be seen that when the first cloud instance performs traffic control, it not only considers the impact of the first cloud instance itself, but also the impact of the second cloud instance associated with it. The factors considered are relatively comprehensive, and high-quality traffic control is achieved globally. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1 A schematic diagram of the structure of a cloud service system provided in an embodiment of the present application;
[0034] Figure 2 A schematic diagram of a cloud instance topology structure provided in an embodiment of the present application;
[0035] Figure 3 Another schematic diagram of the cloud instance topology provided in an embodiment of the present application;
[0036] Figure 4 A flow chart of a traffic control method based on a cloud management platform provided in an embodiment of the present application;
[0037] Figure 5 Another schematic diagram of the cloud instance topology provided in an embodiment of the present application;
[0038] Figure 6 A schematic diagram of the structure of the cloud management platform provided in the embodiment of the present application;
[0039] Figure 7 A schematic diagram of a structure of a computing device provided in an embodiment of the present application;
[0040] Figure 8 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;
[0041] Fig. 9 A schematic diagram of computer devices in a computer cluster provided in an embodiment of the present application being connected via a network. DETAILED DESCRIPTION
[0042] The embodiment of the present application provides a traffic control method based on a cloud management platform and a cloud management platform, which considers more comprehensive factors when performing traffic control and can achieve high-quality traffic control globally.
[0043] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, which is only to describe the distinction mode adopted by the objects of the same attributes when describing in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0044] In a cloud service system, in order to cope with a sudden increase in traffic in a tenant's business, it is often necessary to customize a traffic control strategy in the cloud service system to ensure, to a certain extent, that the cloud service system can operate the tenant's core business normally, thereby ensuring the quality of the cloud services provided by the cloud service system to the tenant.
[0045] The cloud service system provided by the related technology includes a cloud management platform and multiple cloud instances. The cloud management platform can manage multiple cloud instances used to provide cloud services to tenants, and set a dedicated traffic control strategy for each cloud instance. Specifically, the cloud management platform sets a dedicated token bucket for each cloud instance, and the number of tokens in each token bucket is the quota of traffic that the corresponding cloud instance can receive. Based on this, when there is traffic about to enter a cloud instance, the cloud instance will apply for a token from its token bucket. If a token is applied for, the traffic will be received. If a token is not applied for, the traffic will be rejected.
[0046] In the above-mentioned cloud service system, the flow control strategy (that is, the number of tokens in the token bucket) formulated by the cloud management platform for the cloud instance is usually determined by the situation of the cloud instance itself, and the factors considered are relatively single. From a global perspective (that is, the entire cloud service system), it is often impossible to achieve the best flow limiting effect.
[0047] In order to solve the above problems, the embodiment of the present application provides a flow control method based on a cloud management platform, which can be implemented through a cloud service system. Figure 1 A schematic diagram of the structure of the cloud service system provided in the embodiment of the present application is as follows: Figure 1 As shown in the figure, the cloud service system includes the infrastructure that can provide cloud services and the cloud management platform that manages these infrastructures. The cloud management platform and infrastructure are introduced separately below:
[0048] The cloud management platform can coordinate and manage multiple cloud instances in the entire cloud service system (for example, creating a dedicated cloud instance for a tenant so that the cloud instance runs the microservice specified by the tenant, or configuring a traffic control policy for the cloud instance so that the cloud instance can implement traffic control for the microservice it runs, etc.), and can also be open to tenants outside the system and respond to their requests. For example, the cloud management platform can provide various interfaces such as login interface, creation interface, and setting interface for access by the tenant's client (for example, the terminal device used by the tenant or the browser on the terminal device, etc.). Among them, the cloud management platform can authenticate the tenant's client through the login interface, and after the authentication is successful, the tenant's client can be allowed to log in to the cloud management platform. For example, the cloud management platform can also allow the tenant's client to send a tenant's creation request for a cloud instance to the cloud management platform through the creation interface (the request can usually indicate not only the cloud instance required by the tenant, but also the microservice that the tenant needs to run on the cloud instance), and then create a cloud instance for the tenant based on the request, so that the cloud instance runs the microservice specified by the tenant, thereby completing the tenant's business needs. For example, the cloud management platform can also set up an interface to allow the tenant's client to send the tenant's traffic control policy for the cloud instance to the cloud management platform, and configure the traffic control policy to the tenant's cloud instance, so that the cloud instance can implement traffic control for the microservices it runs based on the traffic control policy during the process of running the microservice.
[0049] The infrastructure includes multiple cloud instances created by the cloud management platform for tenants. It should be noted that for any one of the multiple cloud instances, the cloud instance can be presented in a variety of ways. For example, the cloud instance can be a physical server designated by the cloud management platform. In another example, the cloud instance can also be a virtual machine (VM) created by the cloud management platform on the physical server through virtualization technology. In another example, the cloud instance can also be a container (docker) created by the cloud management platform on the physical server through virtualization technology. In another example, the cloud instance can also be a micro virtual machine (microVM) created by the cloud management platform on the physical server through virtualization technology. In another example, the cloud instance can also be a container (docker) created by the cloud management platform on the physical server through virtualization technology. In another example, the cloud instance can also be a bare metal server designated by the cloud management platform, etc. In addition, Figure 2 As shown ( Figure 2 A schematic diagram of the cloud instance topology structure provided in the embodiment of the present application) is provided. For any one of the multiple cloud instances, the cloud management platform may deploy a microservice specified by a tenant on the cloud instance when creating the cloud instance. Therefore, the cloud management platform may deploy multiple microservices on multiple cloud instances. These multiple microservices may belong to the same tenant or to different tenants, which is not limited here. Generally, there is a one-way calling relationship between these multiple microservices, so there is a one-way access relationship between these multiple cloud instances. It can also be understood that these multiple cloud instances constitute a cloud instance topology structure. In the cloud instance topology structure, these multiple cloud instances constitute multiple levels of cloud instances due to the one-way connection relationship.
[0050] It is worth noting that Figure 3 As shown ( Figure 3Another schematic diagram of the cloud instance topology provided in the embodiment of the present application) For any one of the multiple cloud instances, when creating the cloud instance, the cloud management platform can not only deploy the microservices specified by the tenant in the cloud instance, but also deploy the proxy (envoy) module and the traffic control module (also referred to as the traffic control component) in the cloud instance, wherein the traffic control module contains the traffic control policy formulated by the tenant for the cloud instance. The same is true for the rest of the multiple cloud instances, which can be connected through the proxy modules of the multiple cloud instances to achieve traffic transmission. It should be noted that, for any one of the multiple cloud instances, since the cloud management platform deploys a proxy module and a traffic control module in the cloud instance, it is equivalent to the cloud management platform configuring a traffic control function for the cloud instance. The traffic control function has the following features: for the traffic input to the cloud instance and the traffic output from the cloud instance, the traffic control module of the cloud instance can determine how to adjust (for example, reduce or increase) the traffic input to the cloud instance and the traffic output from the cloud instance according to the traffic control strategy. After determining how to adjust the traffic input to the cloud instance and the traffic output from the cloud instance, the traffic control module of the cloud instance can call the proxy module of the cloud instance to adjust the traffic input to the cloud instance and the traffic output from the cloud instance.
[0051] Further, for any one of the multiple cloud instances, the traffic input to the cloud instance can be understood as information that the microservice on the cloud instance at the previous level needs the microservice on the cloud instance to process, and the traffic output by the cloud instance can be understood as information that the microservice on the cloud instance needs the microservice on the cloud instance at the next level to process, etc. Moreover, the traffic input to the cloud instance usually affects certain parameters of the cloud instance, and the traffic output by the cloud instance usually affects certain parameters of the cloud instance at the next level. Therefore, the traffic control strategy for the cloud instance can usually include thresholds set by the tenant for certain parameters of the cloud instance, and can also include thresholds set by the tenant for certain parameters of the cloud instance at the next level (or, the cloud instance obtains the thresholds of certain parameters of the cloud instance at the next level from the cloud instance at the next level, etc.). Therefore, the traffic control module of the cloud instance can determine how to adjust the traffic input to the cloud instance and the traffic output of the cloud instance based on the size relationship between these parameters and the corresponding thresholds, and hand it over to the proxy module of the cloud instance for execution, thereby realizing traffic control.
[0052] Furthermore, these multiple cloud instances can be set up at one or more sites, and the sites can be presented in various forms. For example, one or more sites can be multiple regions in the infrastructure. For another example, one or more sites can be multiple availability zones in the infrastructure. For another example, one or more sites can be at least one edge site and at least one central cloud site in the infrastructure, and so on.
[0053] It can be seen that in the above cloud service system, after creating multiple cloud instances, the cloud management platform can configure exclusive traffic control strategies for each cloud instance under the instructions of the tenant, so that each cloud instance can control the traffic input to itself and the traffic output by itself based on its own traffic control strategy, thereby achieving coordinated control of global traffic, ensuring the stable operation of the tenant's microservices, meeting the tenant's business needs, and providing tenants with sufficiently high-quality cloud services. In order to further understand the workflow of the cloud service system, the following is combined with Figure 4 To further introduce this workflow, Figure 4 A flow chart of a flow control method based on a cloud management platform provided in an embodiment of the present application is as follows: Figure 4 As shown, this method can be achieved by Figure 1 The cloud service system shown in the figure is implemented, and the cloud service system includes a cloud management platform and the infrastructure for providing cloud services managed by the cloud management platform. These basic devices include multiple cloud instances that constitute the cloud instance topology structure. Since the operations performed by the cloud management platform on each of the multiple cloud instances are similar, and the operations of each cloud instance to implement traffic control by itself are also similar, the following is a schematic introduction using any one of the multiple cloud instances, and the cloud instance is referred to as the first cloud instance, the cloud instance at the next level of the cloud instance is referred to as the second cloud instance, and the cloud instance at the previous level of the cloud instance is referred to as the third cloud instance. It can be seen that the third cloud instance can directly access the first cloud instance, and the first cloud instance can directly access the second cloud instance. The method includes:
[0054] 401. The cloud management platform receives, through a setting interface, a first threshold value set by a tenant for a first parameter of a first cloud instance and a second threshold value set for a second parameter of a second cloud instance, wherein the first parameter is affected by a first flow input into the first cloud instance, and the second parameter is affected by a second flow output from the first cloud instance.
[0055] In this embodiment, when the tenant needs to configure a traffic control policy for the first cloud instance, the cloud management platform can provide a setting interface to the client used by the tenant (for example, a traffic control policy input bar in the user interface, etc.), so the tenant can send the first threshold value (which can also be understood as the upper limit value of the first parameter) set by the tenant for the first parameter of the first cloud instance and the second threshold value (which can also be understood as the upper limit value of the second parameter) set by the tenant for the second parameter of the second cloud instance to the setting interface through the client, so that the cloud management platform receives the first threshold value of the first parameter and the second threshold value of the second parameter sent by the tenant's client through the setting interface.
[0056] Among them, the first parameter usually refers to a parameter affected by the first traffic input to the first cloud instance (that is, the traffic transmitted from the third cloud instance to the first cloud instance), and the first parameter may include at least one of the following: the processor utilization (for example, central processing unit (CPU) and graphics processing unit (GPU), etc.) of the first cloud instance, the memory utilization of the first cloud instance, the hard disk utilization of the first cloud instance, the request throughput of the first cloud instance, the request latency of the first cloud instance, and the number of concurrent connections of the first cloud instance, etc. Similarly, the second parameter usually refers to a parameter affected by the second traffic output from the first cloud instance (that is, the traffic transmitted from the first cloud instance to the second cloud instance), and the second parameter may also include at least one of the following: the processor utilization of the second cloud instance, the memory utilization of the second cloud instance, the hard disk utilization of the second cloud instance, the request throughput of the second cloud instance, the request latency of the second cloud instance, and the number of concurrent connections of the second cloud instance, etc.
[0057] After obtaining the first threshold of the first parameter and the second threshold of the second parameter, the cloud management platform can send both the first threshold of the first parameter and the second threshold of the second parameter to the first cloud instance. Of course, the cloud management platform can also only send the first threshold of the first parameter to the first cloud instance and the second threshold of the second parameter to the second cloud instance, and then notify the first cloud instance to obtain the second threshold of the second parameter from the second cloud instance. There is no restriction here. Then, the first cloud instance successfully obtains the first threshold of the first parameter and the second threshold of the second parameter, which can be regarded as the tenant successfully configuring the traffic control policy for the first cloud instance through the cloud management platform.
[0058] For example, Figure 5 As shown ( Figure 5Another schematic diagram of the cloud instance topology provided in the embodiment of the present application) assumes that the cloud management platform has created cloud instances 1 to 6 for a tenant, and cloud instance 1 runs microservice 1, proxy module 1, and flow control module 1, ..., and cloud instance 6 runs microservice 6, proxy module 6, and flow control module 6. The tenant can enter the optimization goals for cloud instances 1 to 6 in the flow control policy input field of the user interface provided by the cloud management platform, where the optimization goals for cloud instance 5 include: the CPU usage of cloud instance 5 is less than 70%, the memory usage is less than 70%, and the request latency is less than 200ms, and the optimization goals for cloud instance 6 include: the CPU usage of cloud instance 6 is less than 60%, the memory usage is less than 60%, and the request latency is less than 150ms, etc.
[0059] Among them, the CPU usage, memory usage and request latency of cloud instance 5 are affected by the traffic transmitted from cloud instance 3 and cloud instance 2 to cloud instance 5, and the CPU usage, memory usage and request latency of cloud instance 6 are affected by the traffic transmitted from cloud instance 5 to cloud instance 6.
[0060] Then, the cloud management platform can send the optimization targets for cloud instances 1 to 6 to cloud instances 1 to 6 respectively. Among them, cloud instance 5 can obtain the optimization target of cloud instance 6 from cloud instance 6, so cloud instance 5 can obtain the optimization target of cloud instance 5 and the optimization target of cloud instance 6. The combination of these two optimization targets is the traffic control strategy configured by the tenant for cloud instance 5 (it should be noted that the traffic control strategy configured by the tenant for cloud instance 2 is composed of the optimization targets of cloud instance 2, cloud instance 4 and cloud instance 5, which will not be expanded here).
[0061] Specifically, when configuring the traffic control policy for the first cloud instance, the tenant may also perform the following operations:
[0062] The tenant may also send the third threshold value (also understood as the lower limit value of the first parameter) set by the tenant for the first parameter of the first cloud instance and the fourth threshold value (also understood as the lower limit value of the second parameter) set by the tenant for the second parameter of the second cloud instance to the setting interface through the client, so that the cloud management platform receives the third threshold value of the first parameter and the fourth threshold value of the second parameter sent by the tenant's client through the setting interface. Among them, the third threshold value of the first parameter is less than the first threshold value of the first parameter, and the fourth threshold value of the second parameter is less than the second threshold value of the second parameter.
[0063] After obtaining the third threshold value of the first parameter and the fourth threshold value of the second parameter, the cloud management platform can send both the third threshold value of the first parameter and the fourth threshold value of the second parameter to the first cloud instance. Of course, the cloud management platform can also only send the third threshold value of the first parameter to the first cloud instance and send the fourth threshold value of the second parameter to the second cloud instance, and then notify the first cloud instance to obtain the fourth threshold value of the second parameter from the second cloud instance. There is no restriction here. Then, the first cloud instance not only successfully obtains the first threshold value of the first parameter and the second threshold value of the second parameter, but also successfully obtains the third threshold value of the first parameter and the fourth threshold value of the second parameter. It can be regarded that the tenant has successfully configured the traffic control policy for the first cloud instance through the cloud management platform.
[0064] Still as in the above example, the optimization goal of cloud instance 5 includes not only: the CPU usage of cloud instance 5 is less than 70%, the memory usage is less than 70%, and the request latency is less than 200ms, but also: the CPU usage of cloud instance 5 is greater than or equal to 30%, the memory usage is greater than or equal to 30%, and the request latency is greater than or equal to 10ms. The optimization goal of cloud instance 6 includes not only: the CPU usage of cloud instance 6 is less than 60%, the memory usage is less than 60%, and the request latency is less than 150ms, but also: the CPU usage of cloud instance 6 is greater than or equal to 20%, the memory usage is greater than or equal to 20%, and the request latency is greater than or equal to 20ms.
[0065] More specifically, when configuring the traffic control policy for the first cloud instance, the tenant can also perform the following operations:
[0066] The tenant can also send multiple first categories set by the tenant for the first traffic and multiple second categories set by the tenant for the second traffic to the setting interface through the client, so that the cloud management platform receives multiple first categories corresponding to the first traffic and multiple second categories corresponding to the second traffic sent by the tenant's client through the setting interface.
[0067] It should be noted that, since the first cloud instance can provide multiple interfaces for the third cloud instance to call, and the number of the third cloud instances may be multiple, etc., the tenant can voluntarily divide the first traffic transmitted from the third cloud instance to the first cloud instance into multiple first sub-traffic corresponding to multiple first categories, wherein any two first sub-traffic in the multiple first sub-traffic can be the traffic sent by a third cloud instance calling two interfaces of the first cloud instance, or the traffic sent by two third cloud instances belonging to the same tenant to the first cloud instance, or the traffic sent by two third cloud instances belonging to different tenants to the first cloud instance, etc. Similarly, since the second cloud instance can provide multiple interfaces for the first cloud instance to call, and the number of the second cloud instances may be multiple, etc., the tenant can voluntarily divide the second traffic transmitted from the first cloud instance to the second cloud instance into multiple second sub-traffic corresponding to multiple second categories, wherein any two second sub-traffic in the multiple second sub-traffic can be the traffic sent by the first cloud instance calling two interfaces of a second cloud instance, or the traffic sent by the first cloud instance to two second cloud instances belonging to the same tenant, or the traffic sent by the first cloud instance to two second cloud instances belonging to different tenants, etc.
[0068] After obtaining multiple first categories corresponding to the first traffic and multiple second categories corresponding to the second traffic, the cloud management platform can send the multiple first categories corresponding to the first traffic and the multiple second categories corresponding to the second traffic to the first cloud instance. Then, the first cloud instance successfully obtains the first threshold of the first parameter and the second threshold of the second parameter, and also successfully obtains the third threshold of the first parameter and the fourth threshold of the second parameter. It also successfully obtains the multiple first categories corresponding to the first traffic and the multiple second categories corresponding to the second traffic. It can be regarded that the tenant has successfully configured the traffic control policy for the first cloud instance through the cloud management platform.
[0069] It should be understood that in this embodiment, the first threshold of the first parameter and the second threshold of the second parameter may come from the same tenant or from different tenants, which depends on whether the first cloud instance and the second cloud instance belong to the same tenant, that is, whether the first microservice on the first cloud instance and the second microservice on the second cloud instance belong to the same tenant. Similarly, the third threshold of the first parameter and the fourth threshold of the second parameter are also the same, which will not be repeated here.
[0070] It should also be understood that in this embodiment, the number of the third cloud instances can be one or more, and similarly, the number of the second cloud instances can also be one or more, which is not limited here.
[0071] It should also be understood that in this embodiment, the microservices on the cloud instance (for example, the first microservice on the first cloud instance, the second microservice on the second cloud instance, and so on) can be components of the application, databases, middleware, etc., and there is no limitation here.
[0072] 402. The cloud management platform configures the first cloud instance to adjust the first flow and / or the second flow based on the relationship between the first parameter and the first threshold and the relationship between the second parameter and the second threshold.
[0073] Since the cloud management platform has configured a traffic control strategy for the first cloud instance, it is equivalent to that the cloud management platform has configured a traffic control function for the first cloud instance. The traffic control function is specifically manifested as follows: after obtaining the first threshold of the first parameter and the second threshold of the second parameter, the first cloud instance can read the first parameter from itself and collect the second parameter from the second cloud instance, and then based on the relationship between the first parameter and the first threshold and the relationship between the second parameter and the second threshold, the first cloud instance can adjust the first traffic input to the first cloud instance and / or the second traffic output from the first cloud instance by itself, thereby completing traffic control.
[0074] Specifically, the first traffic input to the first cloud instance can affect the first parameter of the first cloud instance in the following way: if the first traffic input to the first cloud instance is smaller, the first parameter of the first cloud instance is smaller; if the first traffic input to the first cloud instance is larger, the first parameter of the first cloud instance is larger.
[0075] Still in the above example, when the traffic from cloud instance 3 and cloud instance 2 to cloud instance 5 is larger, the CPU usage of cloud instance 5 is larger, the memory usage is larger, and the request latency is larger. When the traffic from cloud instance 3 and cloud instance 2 to cloud instance 5 is smaller, the CPU usage of cloud instance 5 is smaller, the memory usage is smaller, and the request latency is smaller.
[0076] More specifically, the second traffic output by the first cloud instance can affect the second parameter of the second cloud instance in the following way: if the second traffic output by the first cloud instance is smaller, the second parameter of the second cloud instance is smaller; if the second traffic output by the first cloud instance is larger, the second parameter of the second cloud instance is larger.
[0077] Still in the above example, when the traffic from cloud instance 5 to cloud instance 6 is larger, the CPU usage of cloud instance 6 is larger, the memory usage is larger, and the request latency is larger. When the traffic from cloud instance 5 to cloud instance 6 is smaller, the CPU usage of cloud instance 6 is smaller, the memory usage is smaller, and the request latency is smaller.
[0078] More specifically, the first cloud instance may adjust the first flow and / or the second flow in the following manner:
[0079] After the first parameter and the second parameter are collected, the first cloud instance can detect whether the first parameter is less than the first threshold value and whether the second parameter is less than the second threshold value. The following three situations may occur:
[0080] (1) If the first cloud instance determines that the first parameter is greater than or equal to the first threshold value, and the second parameter is less than the second threshold value, it means that the first traffic input to the first cloud instance has caused the first cloud instance to be in an overloaded state. Therefore, the first cloud instance can reduce the first traffic input to the first cloud instance to a certain extent to reduce the first parameter to a certain extent, so that the reduced first parameter is less than the first threshold value, which is equivalent to making the first cloud instance out of the overloaded state.
[0081] (2) If the first cloud instance determines that the first parameter is less than the first threshold value and the second parameter is greater than or equal to the second threshold value, it means that the second traffic output by the first cloud instance has caused the second cloud instance to be in an overloaded state. Therefore, the first cloud instance can reduce the second traffic to a certain extent to reduce the second parameter to a certain extent, so that the reduced second parameter is less than the second threshold value, which is equivalent to making the second cloud instance out of the overloaded state.
[0082] (3) If the first cloud instance determines that the first parameter is greater than or equal to the first threshold value, and the second parameter is greater than or equal to the second threshold value, it means that the first flow input to the first cloud instance has caused the first cloud instance to be in an overloaded state, and the second flow output from the first cloud instance has caused the second cloud instance to be in an overloaded state. Therefore, the first cloud instance can reduce the first flow and the second flow to a certain extent to reduce the first parameter and the second parameter to a certain extent, so that the reduced first parameter is less than the first threshold value, and the reduced second parameter is less than the second threshold value, which is equivalent to making the first cloud instance and the second cloud instance out of the overloaded state.
[0083] Still as in the above example, after obtaining the optimization targets of cloud instance 5 and cloud instance 6, cloud instance 5 can collect in real time that the CPU usage of cloud instance 5 is 80% and the CPU usage of cloud instance 6 is 70%. At this time, the CPU usage of cloud instance 5 is greater than the 70% specified in the optimization target of cloud instance 5, and the CPU usage of cloud instance 6 is greater than the 60% specified in the optimization target of cloud instance 6, indicating that both cloud instance 5 and cloud instance 6 are overloaded. Therefore, cloud instance 5 can reduce the traffic input to cloud instance 5 and the traffic output from cloud instance 5 by itself to reduce the CPU usage of cloud instance 5 to 20%, and reduce the CPU usage of cloud instance 6 to 15%.
[0084] More specifically, the first cloud instance may further reduce the first traffic and the second traffic in the following manner:
[0085] (1) Since the first cloud instance has obtained multiple first subcategories corresponding to the first traffic, when the first traffic needs to be reduced, the first cloud instance can divide the first traffic into multiple first sub-traffics corresponding to the multiple first categories. Then, the first cloud instance can select at least one first sub-traffic that has the greatest impact on the first parameter from the multiple first sub-traffics, and reduce the at least one first sub-traffic to a certain extent, so as to reduce the first parameter to a certain extent, so that the reduced first parameter is less than the first threshold.
[0086] Still in the above example, assume that cloud instance 5 opens three interfaces to cloud instance 2 and cloud instance 3, namely interface 1, interface 2 and interface 3. Therefore, the traffic transmitted from cloud instance 2 to cloud instance 5 may include sub-flow 1 transmitted from cloud instance 2 to cloud instance 5 through interface 1, sub-flow 2 transmitted from cloud instance 2 to cloud instance 5 through interface 2, and sub-flow 3 transmitted from cloud instance 2 to cloud instance 5 through interface 3. Similarly, the traffic transmitted from cloud instance 3 to cloud instance 5 may include sub-flow 4 transmitted from cloud instance 3 to cloud instance 5 through interface 1, sub-flow 5 transmitted from cloud instance 3 to cloud instance 5 through interface 2, and sub-flow 6 transmitted from cloud instance 3 to cloud instance 5 through interface 3. Among these six types of sub-flows, since sub-flow 1 and sub-flow 4 each occupy more than 30% of the CPU usage of cloud instance 5, they have the greatest impact on the CPU usage of cloud instance 5. Therefore, cloud instance 5 may refuse to receive part of sub-flow 1 and sub-flow 4 to reduce the CPU usage of cloud instance 5 to 20%.
[0087] (2) Since the first cloud instance has obtained multiple second subcategories corresponding to the second traffic, when the second traffic needs to be reduced, the first cloud instance can divide the second traffic into multiple second sub-traffics corresponding to the multiple second categories. Then, the first cloud instance can select at least one second sub-traffic that has the greatest impact on the second parameter from the multiple second sub-traffics, and reduce the at least one second sub-traffic to a certain extent, so as to reduce the second parameter to a certain extent, so that the reduced second parameter is less than the second threshold.
[0088] Still in the above example, assume that cloud instance 6 opens 4 interfaces to cloud instance 5, namely interface 4, interface 5, interface 6 and interface 7. Therefore, the traffic transmitted from cloud instance 5 to cloud instance 6 may include sub-flow 7 transmitted from cloud instance 5 to cloud instance 6 through interface 4, sub-flow 8 transmitted from cloud instance 5 to cloud instance 6 through interface 5, sub-flow 9 transmitted from cloud instance 5 to cloud instance 6 through interface 6, and sub-flow 9 transmitted from cloud instance 5 to cloud instance 6 through interface 7. Among these 4 types of sub-flows, sub-flow 8 has the greatest impact on the CPU usage of cloud instance 5 because it occupies more than 60% of the CPU usage of cloud instance 6. Therefore, cloud instance 5 can reduce the output of a part of sub-flow 8 to reduce the CPU usage of cloud instance 6 to 15%.
[0089] More specifically, the first cloud instance may further adjust the first flow and / or the second flow in the following manner:
[0090] If the first cloud instance determines that the reduced first parameter is less than the third threshold, it means that the reduced first flow has caused the first cloud instance to be in an underloaded state. The first cloud instance may increase the reduced first flow to a certain extent to increase the reduced first parameter to a certain extent, so that the increased first parameter is less than the first threshold and greater than the third threshold, which is equivalent to putting the first cloud instance in a normal load state.
[0091] Similarly, if the first cloud instance determines that the reduced second parameter is less than the fourth threshold, it means that the reduced second flow has caused the second cloud instance to be in an underloaded state. The first cloud instance may increase the reduced second flow to a certain extent to increase the reduced second parameter to a certain extent, so that the increased second parameter is less than the second threshold and greater than the fourth threshold, which is equivalent to putting the second cloud instance in a normal load state.
[0092] Still in the above example, since the CPU usage of cloud instance 5 is reduced to 20%, at this time, the CPU usage of cloud instance 5 is less than 30% specified in the optimization target of cloud instance 5, so cloud instance 5 can appropriately increase the traffic received input to cloud instance 5 to increase the CPU usage of cloud instance 5 to 50%. Similarly, since the CPU usage of cloud instance 6 is reduced to 15%, at this time, the CPU usage of cloud instance 6 is less than 20% specified in the optimization target of cloud instance 6, so cloud instance 5 can appropriately increase the traffic received output from cloud instance 5 to increase the CPU usage of cloud instance 6 to 45%. In this way, cloud instance 5 can automatically put itself and cloud instance 6 in a normal load state.
[0093] It should be understood that in this embodiment, when the first cloud instance increases the reduced first flow, it may also select at least one first sub-flow that has the greatest impact on the first parameter from the multiple first sub-flows to increase. Similarly, when the first cloud instance increases the reduced second flow, it may also select at least one second sub-flow that has the greatest impact on the second parameter from the multiple second sub-flows to increase, which will not be described in detail here.
[0094] In an embodiment of the present application, when a tenant needs to configure a traffic control policy for a first cloud instance, the cloud management platform may provide a setting interface for the tenant to receive, through the setting interface, a first threshold value set by the tenant for a first parameter of the first cloud instance and a second threshold value set by the tenant for a second parameter of a second cloud instance accessible to the first cloud instance, wherein the first parameter is affected by the first traffic input to the first cloud instance, and the second parameter is affected by the second traffic output from the first cloud instance. Then, the cloud management platform may configure the first threshold value and the second threshold value into the first cloud instance, which is equivalent to successfully configuring a traffic control policy for the first cloud instance. Therefore, the first cloud instance may adjust the first traffic input to the first cloud instance and / or the second traffic output from the first cloud instance according to the relationship between the first parameter and the first threshold value and the relationship between the second parameter and the second threshold value, thereby completing traffic control. In the above process, the traffic control policy formulated by the tenant for the first cloud instance through the cloud management platform may include a first threshold value of a first parameter of the first cloud instance and a second threshold value of a second parameter of a second cloud instance accessible to the first cloud instance. Therefore, when the first cloud instance performs traffic control according to the traffic control policy, it will adjust the relationship between the first parameter and the first threshold value and the relationship between the second parameter and the second threshold value for the purpose of traffic control, so as to adjust the first traffic input to the first cloud instance and the second traffic output from the first cloud instance. It can be seen that when the first cloud instance performs traffic control, it not only considers the impact of the first cloud instance itself, but also the impact of the second cloud instance associated with it. The factors considered are relatively comprehensive, and high-quality traffic control is achieved globally.
[0095] Furthermore, in the embodiment of the present application, the cloud management platform deploys a proxy module and a flow control module in each cloud instance, and the flow control module includes the flow control strategy formulated by the tenant for each cloud instance. Based on this, each cloud instance (for example, the first cloud instance, the second cloud instance, and the third cloud instance, etc.) can complete the flow control by itself according to the flow control strategy formulated by the tenant, thus forming a decentralized flow control architecture, which is conducive to reducing the delay of flow control and solving the timeliness problem of flow control.
[0096] The above is a detailed description of the traffic control method based on the cloud management platform provided in the embodiment of the present application. The cloud management platform provided in the embodiment of the present application will be introduced below. Figure 6 A schematic diagram of the structure of the cloud management platform provided in the embodiment of the present application is shown in FIG. Figure 6 As shown, the cloud management platform is used to manage the infrastructure for providing cloud services, the infrastructure includes multiple cloud instances, the multiple cloud instances include a first cloud instance and a second cloud instance accessible to the first cloud instance, and the cloud management platform includes:
[0097] The receiving module 601 is used to receive, through a setting interface, a first threshold value set by a tenant for a first parameter of a first cloud instance and a second threshold value set for a second parameter of a second cloud instance, wherein the first parameter is affected by a first flow input to the first cloud instance, and the second parameter is affected by a second flow output from the first cloud instance; for example, the receiving module 601 can be used to implement Figure 4 Step 401 in the illustrated embodiment.
[0098] Configuration module 602 is used to configure the first cloud instance to adjust the first flow and / or the second flow based on the relationship between the first parameter and the first threshold and the relationship between the second parameter and the second threshold. For example, configuration module 602 can be used to implement Figure 4 Step 402 in the illustrated embodiment.
[0099] In one possible implementation, the first parameter is affected by the first flow rate, including: if the first flow rate is smaller, the first parameter is smaller, and if the first flow rate is larger, the first parameter is larger; the second parameter is affected by the second flow rate, including: if the second flow rate is smaller, the second parameter is smaller, and if the second flow rate is larger, the second parameter is larger.
[0100] In one possible implementation, the configuration module 602 is used to: configure the first cloud instance to reduce the first flow to reduce the first parameter if it is determined that the first parameter is greater than or equal to the first threshold and the second parameter is less than the second threshold, and the first parameter after the reduction is less than the first threshold; configure the first cloud instance to reduce the second flow to reduce the second parameter if it is determined that the first parameter is less than the first threshold and the second parameter is greater than or equal to the second threshold, and the second parameter after the reduction is less than the second threshold; configure the first cloud instance to reduce the first flow and the second flow to reduce the first parameter and the second parameter if it is determined that the first parameter is greater than or equal to the first threshold and the second parameter is greater than or equal to the second threshold, and the first parameter after the reduction is less than the first threshold.
[0101] In one possible implementation, the receiving module 601 is further used to receive multiple first categories set by the tenant for the first traffic through a setting interface; the configuration module 602 is further used to configure the first cloud instance to divide the first traffic into multiple first sub-flows corresponding to the multiple first categories; the configuration module 602 is used to configure the first cloud instance to select at least one first sub-flow that has the greatest impact on the first parameter from the multiple first sub-flows, and reduce at least one first sub-flow.
[0102] In one possible implementation, the receiving module 601 is further used to receive multiple second categories set by the tenant for the second traffic through a setting interface; the configuration module 602 is further used to configure the first cloud instance to divide the second traffic into multiple second sub-traffics corresponding to the multiple second categories; the configuration module 602 is used to configure the first cloud instance to select at least one second sub-traffic that has the greatest impact on the second parameter from the multiple second sub-traffics, and reduce at least one second sub-traffic.
[0103] In one possible implementation, the receiving module 601 is further used to receive a third threshold value set by the tenant for the first parameter through a setting interface, and the third threshold value is smaller than the first threshold value; the configuration module 602 is further used to configure the first cloud instance to increase the reduced first flow if it is determined that the reduced first parameter is smaller than the third threshold value, so as to increase the reduced first parameter, and the increased first parameter is smaller than the first threshold value and larger than the third threshold value.
[0104] In one possible implementation, the receiving module 601 is further used to receive a fourth threshold value set by the tenant for the second parameter through a setting interface, and the fourth threshold value is less than the second threshold value; the configuration module 602 is further used to configure the first cloud instance to increase the reduced second flow if it is determined that the reduced second parameter is less than the fourth threshold value, so as to increase the reduced second parameter, and the increased second parameter is less than the second threshold value and greater than the fourth threshold value.
[0105] In a possible implementation, the first parameter includes at least one of the following: processor utilization, memory utilization, hard disk utilization, request throughput, request latency, and number of concurrent connections.
[0106] In one possible implementation, the first cloud instance includes any one of the following: a physical server, a virtual machine, a micro virtual machine, a container, and a bare metal server.
[0107] It should be noted that the information interaction, implementation process, etc. between the modules / units of the above-mentioned device are based on the same concept as the method embodiment of the present application, and the technical effects they bring are the same as those of the method embodiment of the present application. For specific contents, please refer to the description in the method embodiment shown above in the embodiment of the present application, and will not be repeated here.
[0108] See also Figure 7 , Figure 7 A schematic diagram of a computing device provided in an embodiment of the present application. Figure 7As shown, the computing device 700 (which can be used to present the aforementioned cloud management platform) includes: a processor 701, a memory 702, a communication interface 703 and a bus 704. The processor 701, the memory 702 and the communication interface 703 are coupled via a bus (not marked in the figure). The memory 702 stores instructions. When the execution instructions in the memory 702 are executed, the computing device 700 executes the method executed by the cloud management platform in the above method embodiment.
[0109] The computing device 700 may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASIC), or one or more digital signal processors (DSP), or one or more field programmable gate arrays (FPGA), or a combination of at least two of these integrated circuit forms. For another example, when the unit in the device can be implemented in the form of a processing element scheduler, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For another example, these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0110] The processor 701 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.
[0111] The memory 702 may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0112] The memory 702 stores executable program codes, and the processor 701 executes the executable program codes to respectively implement the functions of the aforementioned receiving module and configuration module, thereby implementing the aforementioned flow control method based on the cloud management platform. That is, the memory 702 stores instructions for executing the aforementioned flow control method based on the cloud management platform.
[0113] The communication interface 703 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 700 and other devices or a communication network.
[0114] In addition to the data bus, the bus 704 may also include a power bus, a control bus, a status signal bus, etc. The bus may be a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. The bus may be divided into an address bus, a data bus, a control bus, etc.
[0115] See also Figure 8 , Figure 8 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application. Figure 8 As shown, the computing device cluster 800 includes at least one computing device 700 .
[0116] like Figure 8 As shown, the computing device cluster 800 includes at least one computing device 700. The memory 702 in one or more computing devices 700 in the computing device cluster 800 may store the same instructions for executing the above-mentioned traffic control method based on the cloud management platform.
[0117] In some possible implementations, the memory 702 of one or more computing devices 700 in the computing device cluster 800 may also respectively store some instructions for executing the above-mentioned cloud management platform-based flow control method. In other words, the combination of one or more computing devices 700 can jointly execute the above-mentioned cloud management platform-based flow control method.
[0118] It should be noted that the memory 702 in different computing devices 700 in the computing device cluster 800 can store different instructions, which are respectively used to execute part of the functions of the above-mentioned cloud management platform. That is, the instructions stored in the memory 702 in different computing devices 700 can implement the functions of one or more modules such as the receiving module and the configuration module.
[0119] In some possible implementations, one or more computing devices 700 in the computing device cluster 800 may be connected via a network, which may be a wide area network or a local area network.
[0120] See also Fig. 9 , Fig. 9A schematic diagram of computer devices in a computer cluster provided in an embodiment of the present application being connected via a network. Fig. 9 As shown, two computing devices 700A and 700B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device.
[0121] In a possible implementation, the memory in the computing device 700A stores instructions for executing functions of the receiving module and the like. Meanwhile, the memory in the computing device 700B stores instructions for executing functions of the configuration module and the like.
[0122] It should be understood that Fig. 9 The functions of the computing device 700A shown in FIG. 7 may also be completed by multiple computing devices. Similarly, the functions of the computing device 700B may also be completed by multiple computing devices.
[0123] The embodiment of the present application also relates to a computer storage medium, in which a program for signal processing is stored. When the program is run on a computer, the computer executes the following steps: Figure 4 The steps performed by the cloud management platform in the illustrated embodiment.
[0124] The present application also relates to a computer program product, which stores instructions, which, when executed by a computer, enable the computer to execute the following Figure 4 The steps performed by the cloud management platform in the illustrated embodiment.
[0125] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0126] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0127] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0128] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0129] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), disk or optical disk and other media that can store program code.
Claims
1. A traffic control method based on a cloud management platform, characterized in that: The cloud management platform is used to manage an infrastructure for providing cloud services, the infrastructure includes multiple cloud instances, the multiple cloud instances include a first cloud instance and a second cloud instance accessible to the first cloud instance, and the method includes: The cloud management platform receives, through a setting interface, a first threshold set by the tenant for a first parameter of the first cloud instance and a second threshold set for a second parameter of the second cloud instance, wherein the first parameter is affected by a first flow input to the first cloud instance, and the second parameter is affected by a second flow output from the first cloud instance; The cloud management platform configures the first cloud instance to adjust the first flow and / or the second flow based on the relationship between the first parameter and the first threshold and the relationship between the second parameter and the second threshold.
2. The method according to claim 1, characterized in that The first parameter is affected by the first flow rate, including: if the first flow rate is smaller, the first parameter is smaller, and if the first flow rate is larger, the first parameter is larger; The second parameter is affected by the second flow rate, including: if the second flow rate is smaller, the second parameter is smaller, and if the second flow rate is larger, the second parameter is larger.
3. The method according to claim 2, characterized in that The cloud management platform configuring the first cloud instance to adjust the first flow and / or the second flow based on the relationship between the first parameter and the first threshold and the relationship between the second parameter and the second threshold includes: If the cloud management platform configures the first cloud instance and determines that the first parameter is greater than or equal to the first threshold and the second parameter is less than the second threshold, then the first flow is reduced to reduce the first parameter, and the reduced first parameter is less than the first threshold; If the cloud management platform configures the first cloud instance to determine that the first parameter is less than the first threshold and the second parameter is greater than or equal to the second threshold, then reduce the second flow to reduce the second parameter, and the reduced second parameter is less than the second threshold; The cloud management platform configures the first cloud instance and if it is determined that the first parameter is greater than or equal to the first threshold, and the second parameter is greater than or equal to the second threshold, the first flow and the second flow are reduced to reduce the first parameter and the second parameter, and the reduced first parameter is less than the first threshold, and the reduced second parameter is less than the second threshold.
4. The method according to claim 3, characterized in that: The method further comprises: The cloud management platform receives, through the setting interface, a plurality of first categories set by the tenant for the first traffic; The cloud management platform configures the first cloud instance to divide the first traffic into a plurality of first sub-traffics corresponding to the plurality of first categories; The cloud management platform configuring the first cloud instance to reduce the first traffic includes: The cloud management platform configures the first cloud instance to select at least one first sub-flow that has the greatest impact on the first parameter from the multiple first sub-flows, and reduce the at least one first sub-flow.
5. The method according to claim 3 or 4, characterized in that: The method further comprises: The cloud management platform receives, through the setting interface, a plurality of second categories set by the tenant for the second traffic; The cloud management platform configures the first cloud instance to divide the second traffic into a plurality of second sub-traffics corresponding to the plurality of second categories; The cloud management platform configuring the first cloud instance to reduce the second traffic includes: The cloud management platform configures the first cloud instance to select at least one second sub-flow that has the greatest impact on the second parameter from the multiple second sub-flows, and reduce the at least one second sub-flow.
6. The method according to any one of claims 3 to 5, characterized in that: The method further comprises: The cloud management platform receives, through the setting interface, a third threshold value set by the tenant for the first parameter, wherein the third threshold value is less than the first threshold value; The cloud management platform configures the first cloud instance and if it is determined that the reduced first parameter is less than the third threshold, increases the reduced first flow to increase the reduced first parameter, and the increased first parameter is less than the first threshold and greater than the third threshold.
7. The method according to any one of claims 3 to 6, characterized in that: The method further comprises: The cloud management platform receives, through the setting interface, a fourth threshold value set by the tenant for the second parameter, where the fourth threshold value is less than the second threshold value; The cloud management platform configures the first cloud instance and, if it is determined that the reduced second parameter is less than the fourth threshold, increases the reduced second flow to increase the reduced second parameter, and the increased second parameter is less than the second threshold and greater than the fourth threshold.
8. The method according to any one of claims 1 to 7, characterized in that: The first parameter includes at least one of the following: processor utilization, memory utilization, hard disk utilization, request throughput, request latency, and number of concurrent connections.
9. The method according to any one of claims 1 to 8, characterized in that: The first cloud instance includes any one of the following: a physical server, a virtual machine, a micro virtual machine, a container, and a bare metal server.
10. A cloud management platform, characterized in that: The cloud management platform is used to manage an infrastructure for providing cloud services, the infrastructure includes multiple cloud instances, the multiple cloud instances include a first cloud instance and a second cloud instance accessible to the first cloud instance, and the cloud management platform includes: a receiving module, configured to receive, through a setting interface, a first threshold value set by the tenant for a first parameter of the first cloud instance and a second threshold value set for a second parameter of the second cloud instance, wherein the first parameter is affected by a first flow input to the first cloud instance, and the second parameter is affected by a second flow output from the first cloud instance; A configuration module is used to configure the first cloud instance to adjust the first flow and / or the second flow based on the relationship between the first parameter and the first threshold and the relationship between the second parameter and the second threshold.
11. The cloud management platform according to claim 10, characterized in that: The first parameter is affected by the first flow rate, including: if the first flow rate is smaller, the first parameter is smaller, and if the first flow rate is larger, the first parameter is larger; The second parameter is affected by the second flow rate, including: if the second flow rate is smaller, the second parameter is smaller, and if the second flow rate is larger, the second parameter is larger.
12. The cloud management platform according to claim 11, characterized in that: The configuration module is used to: If it is determined that the first parameter is greater than or equal to the first threshold value and the second parameter is less than the second threshold value, the first traffic is reduced to reduce the first parameter, and the reduced first parameter is less than the first threshold value; If it is determined that the first parameter is less than the first threshold value and the second parameter is greater than or equal to the second threshold value, the first cloud instance is configured to reduce the second flow rate to reduce the second parameter, and the reduced second parameter is less than the second threshold value; If it is determined that the first parameter is greater than or equal to the first threshold value and the second parameter is greater than or equal to the second threshold value when configuring the first cloud instance, the first flow and the second flow are reduced to reduce the first parameter and the second parameter, and the reduced first parameter is less than the first threshold value and the reduced second parameter is less than the second threshold value.
13. The cloud management platform according to claim 12, characterized in that: The receiving module is further configured to receive, through the setting interface, a plurality of first categories set by the tenant for the first traffic; The configuration module is further used to configure the first cloud instance to divide the first traffic into a plurality of first sub-traffics corresponding to the plurality of first categories; The configuration module is used to configure the first cloud instance to select at least one first sub-flow that has the greatest impact on the first parameter from the multiple first sub-flows, and reduce the at least one first sub-flow.
14. The cloud management platform according to claim 12 or 13, characterized in that: The receiving module is further configured to receive, through the setting interface, a plurality of second categories set by the tenant for the second traffic; The configuration module is further used to configure the first cloud instance to divide the second traffic into a plurality of second sub-traffics corresponding to the plurality of second categories; The configuration module is used to configure the first cloud instance to select at least one second sub-flow that has the greatest impact on the second parameter from the multiple second sub-flows, and reduce the at least one second sub-flow.
15. The cloud management platform according to any one of claims 12 to 14, characterized in that: The receiving module is further configured to receive, through the setting interface, a third threshold value set by the tenant for the first parameter, wherein the third threshold value is smaller than the first threshold value; The configuration module is also used to configure the first cloud instance to increase the reduced first flow if it is determined that the reduced first parameter is less than the third threshold, so as to increase the reduced first parameter, and the increased first parameter is less than the first threshold and greater than the third threshold.
16. The cloud management platform according to any one of claims 12 to 15, characterized in that: The receiving module is further configured to receive, through the setting interface, a fourth threshold value set by the tenant for the second parameter, wherein the fourth threshold value is smaller than the second threshold value; The configuration module is also used to configure the first cloud instance to increase the reduced second flow if it is determined that the reduced second parameter is less than the fourth threshold, so as to increase the reduced second parameter, and the increased second parameter is less than the second threshold and greater than the fourth threshold.
17. The cloud management platform according to any one of claims 10 to 16, characterized in that: The first parameter includes at least one of the following: processor utilization, memory utilization, hard disk utilization, request throughput, request latency, and number of concurrent connections.
18. The cloud management platform according to any one of claims 10 to 17, characterized in that: The first cloud instance includes any one of the following: a physical server, a virtual machine, a micro virtual machine, a container, and a bare metal server.
19. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, each computing device including a processor and a memory: The memory is used to store instructions; The processor is configured to cause the computing device cluster to execute the method according to any one of claims 1 to 9 according to the instructions.
20. A computer storage medium, characterized in that The computer storage medium stores one or more instructions, which, when executed by one or more computers, enable the one or more computers to implement the method of any one of claims 1 to 9.
21. A computer program product, characterized in that The computer program product stores instructions, which, when executed by a computer, enable the computer to implement the method according to any one of claims 1 to 9.