A cross-cloud capacity expansion method and related device

By using cross-cloud scaling methods, application instances are created and traffic allocation is adjusted using public cloud resources, which solves the problem of resource waste in private clouds when dealing with sudden traffic surges and achieves efficient load balancing and resource utilization.

CN119603303BActive Publication Date: 2025-11-07新奥新智科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411722793.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-11-07
Estimated Expiration
2044-11-28

AI Technical Summary

Technical Problem

In existing technologies, private clouds need to reserve idle node resources when dealing with sudden traffic surges, which leads to resource waste and makes it difficult to effectively cope with peak loads.

Method used

By acquiring monitoring data of private and public cloud metrics, we can determine the timing for capacity expansion, create application instances in the public cloud, calculate load parameters, and dynamically adjust traffic allocation to achieve cross-cloud capacity expansion.

Benefits of technology

Effectively utilize public cloud resources to cope with peak loads, reduce resource waste, improve load balancing capabilities, and dynamically adapt to changes in business needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119603303B_ABST
    Figure CN119603303B_ABST
Patent Text Reader

Abstract

The application discloses a cross-cloud capacity expansion method and related device, and relates to the technical field of cloud services, and comprises the following steps: acquiring index monitoring data of a private cloud server, and determining whether a preset capacity expansion opportunity is reached based on the index monitoring data.If the capacity expansion opportunity is reached, an instance creation request is sent to a public cloud server.If an instance creation success event of the public cloud is listened to, load parameters are calculated based on load data of the private cloud and load data of the public cloud.The load parameters are used to allocate traffic for each application instance of the private cloud and the public cloud.The index monitoring data comprises statistical values of at least one state index, and the capacity expansion opportunity comprises that the statistical values of at least one state index exceed preset statistical value thresholds.In the case that the statistical values of at least one state index exceed the preset statistical value thresholds, the application automatically requests the public cloud to build application instances, and then allocates traffic according to the proportion of the number of application instances, so that the cross-cloud capacity expansion can adapt to changes in business requirements and cope with peak loads.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the cloud service technical field, and particularly relates to a cross-cloud capacity expansion method and a related device. BACKGROUND

[0002] Kubernetes (K8s for short) can automatically manage the deployment, expansion and management of containers, making large-scale data processing (such as batch processing, stream processing and machine learning, etc.) more easily deployed and managed. Therefore, enterprises build K8s clusters in private clouds to realize the running of application programs.

[0003] At present, in order to cope with the burst traffic of application programs, idle node resources need to be reserved in the private cloud, for example, physical machine resources are pre-built, and when the burst traffic occurs, the idle node resources are used to build application instance pods for K8s cluster expansion. Due to the uncertainty of burst traffic, the idle node resources are in an idle state most of the time, thereby causing high resource waste. SUMMARY

[0004] In view of the above problems, the present application provides a cross-cloud capacity expansion method and a related device to realize efficient dynamic expansion and cope with peak load. The specific scheme is as follows:

[0005] The first aspect of the present application provides a cross-cloud capacity expansion method applied to a private cloud server, comprising:

[0006] Obtaining index monitoring data of a target server, judging whether a preset capacity expansion opportunity is reached based on the index monitoring data, the target server comprising the private cloud server, the index monitoring data comprising a statistical value of at least one state index, and the capacity expansion opportunity comprising that the statistical value of at least one state index exceeds a preset statistical value threshold;

[0007] If the capacity expansion opportunity is reached, sending an instance creation request to a public cloud server, so that the public cloud server judges whether the available remaining resources of each virtual machine node are greater than the required resource amount for creating an instance in response to the instance creation request, and if yes, creating an application instance and generating an instance creation success event; the instance creation request is used to request the public cloud server to create at least one application instance;

[0008] If the instance creation success event of the public cloud server is listened to, calculating a load parameter based on the load data of the private cloud server and the load data of the public cloud server, the load data comprising the number of application instances, and the load parameter being positively correlated with the proportion of the number of application instances of the private cloud and the number of application instances of the public cloud;

[0009] Allocating traffic to each application instance of the private cloud server and the public cloud server based on the load parameter.

[0010] In a possible implementation, the target service end indicator monitoring data is acquired, including:

[0011] The state indicator sequence of the private cloud service end is acquired through a private cloud monitoring system according to a preset statistical period, and the state indicator sequence of the public cloud service end is acquired through a public cloud service end monitoring system, the state indicator sequence including the indicator values of each state indicator at each sampling time in the statistical period arranged in time sequence;

[0012] The statistical analysis is respectively performed on each state indicator sequence, and the statistical value of each state indicator in the statistical period is obtained.

[0013] In a possible implementation, the statistical analysis is respectively performed on each state indicator sequence, and the statistical value of each state indicator in the statistical period is obtained, including:

[0014] For each state indicator, the arithmetic mean value of the remaining state indicator indicator values is calculated after removing the maximum value and the minimum value of the state indicator in the state indicator sequence, to obtain the mean value of the state indicator, and the statistical value includes the mean value.

[0015] In a possible implementation, if the instance creation success event of the public cloud service end is monitored, the load parameter is calculated based on the load data of the private cloud service end and the load data of the public cloud service end, including:

[0016] The public cloud log is monitored through a public cloud monitoring system, if the instance creation success event of the public cloud service end is monitored, the application instance state checking task is started, if the application instance startup is checked to be successful, the proportion of the number of application instances of the private cloud service end and the number of application instances of the public cloud service end is calculated, and the proportion is taken as the load parameter.

[0017] In a possible implementation, the cross-cloud capacity expansion method further includes:

[0018] If the instance creation suspension event is monitored, a virtual machine node is created in the public cloud service end by calling a public cloud interface, so that the public cloud service end creates an application instance in the virtual machine node, and generates an instance creation success event.

[0019] The second aspect of the application provides a cross-cloud capacity expansion system, including a private cloud service end and a public cloud service end.

[0020] The private cloud server is configured to: acquire index monitoring data of a target server, determine whether a preset expansion occasion is reached based on the index monitoring data, the index monitoring data comprising statistical values of at least one state index, and the expansion occasion comprising that the statistical values of at least one state index exceed preset statistical value thresholds; if the expansion occasion is reached, send an instance creation request to a public cloud server; the instance creation request is configured to request the public cloud server to create at least one application instance;

[0021] The public cloud server is configured to: in response to the instance creation request, determine whether available remaining resources of each virtual machine node are greater than resource amounts required for creating instances, and if yes, create application instances and generate an instance creation success event;

[0022] The private cloud server is configured to: if the instance creation success event of the public cloud server is monitored, calculate a load parameter based on load data of the private cloud server and load data of the public cloud server, the load data comprising application instance numbers, and the load parameter being positively correlated with a ratio of the application instance number of the private cloud to the application instance number of the public cloud; and allocate traffic to each application instance of the private cloud server and the public cloud server based on the load parameter.

[0023] The third aspect of the present application provides a cross-cloud expansion device, comprising:

[0024] A data monitoring unit is configured to acquire index monitoring data of a target server, determine whether a preset expansion occasion is reached based on the index monitoring data, the index monitoring data comprising statistical values of at least one state index, and the expansion occasion comprising that the statistical values of at least one state index exceed preset statistical value thresholds;

[0025] An instance request unit is configured to, if the expansion occasion is reached, send an instance creation request to a public cloud server, so that the public cloud server determines whether available remaining resources of each virtual machine node are greater than resource amounts required for creating instances in response to the instance creation request, and if yes, creates application instances and generates an instance creation success event; the instance creation request is configured to request the public cloud server to create at least one application instance;

[0026] A load calculation unit is configured to, if the instance creation success event of the public cloud server is monitored, calculate a load parameter based on load data of the private cloud server and load data of the public cloud server, the load data comprising application instance numbers, and the load parameter being positively correlated with a ratio of the application instance number of the private cloud to the application instance number of the public cloud;

[0027] a load balancing unit configured to allocate traffic to each application instance of the private cloud server and the public cloud server based on the load parameter.

[0028] The fourth aspect of the present application provides a computer program product, comprising computer readable instructions, which, when executed on an electronic device, cause the electronic device to implement the cross-cloud capacity expansion method of the first aspect or any implementation manner of the first aspect.

[0029] The fifth aspect of the present application provides an electronic device, comprising at least one processor and a memory connected to the processor, wherein:

[0030] The memory is configured to store a computer program;

[0031] The processor is configured to execute the computer program to enable the electronic device to implement the cross-cloud capacity expansion method of the first aspect or any implementation manner of the first aspect.

[0032] The sixth aspect of the present application provides a computer storage medium, which carries one or more computer programs, which, when executed by an electronic device, can enable the electronic device to implement the cross-cloud capacity expansion method of the first aspect or any implementation manner of the first aspect.

[0033] By the above technical solution, the cross-cloud capacity expansion method and related device provided by the present application obtain index monitoring data of a private cloud server, determine whether a preset capacity expansion opportunity is reached based on the index monitoring data. If the capacity expansion opportunity is reached, an instance creation request is sent to a public cloud server. If an instance creation success event of the public cloud is listened to, a load parameter is calculated based on load data of the private cloud and load data of the public cloud. Traffic is allocated to each application instance of the private cloud and the public cloud based on the load parameter. The index monitoring data includes a statistical value of at least one state index, and the capacity expansion opportunity includes that the statistical value of the at least one state index exceeds a preset statistical value threshold. That is, the present application automatically requests the public cloud to build an application instance when the statistical value of the at least one state index exceeds the preset statistical value threshold, and allocates traffic based on the proportion of the number of application instances of the private cloud and the public cloud, to realize dynamic cross-cloud capacity expansion and cope with peak load. BRIEF DESCRIPTION OF DRAWINGS

[0034] The above and other features, advantages, and aspects of the present disclosure will become more apparent by describing in detail the following specific embodiments thereof with reference to the attached drawings. Throughout the drawings, the same or similar reference numerals refer to the same or similar elements. It should be understood that the drawings are schematic, and the sizes of the components and elements are not necessarily drawn to scale.

[0035] Figure 1 FIG. 1 is a schematic diagram of a private cloud cluster architecture provided by the present application.

[0036] Figure 2 A flowchart of a cross-cloud expansion method provided by the present application is shown in FIG. 1;

[0037] Figure 3 A structural diagram of a cross-cloud expansion system provided by the present application is shown in FIG. 2;

[0038] Figure 4 A specific implementation flowchart of a cross-cloud expansion method provided by the present application is shown in FIG. 3;

[0039] Figure 5 An architecture diagram of a cross-cloud cluster architecture deployment provided by the present application is shown in FIG. 4;

[0040] Figure 6 A structural diagram of a cross-cloud expansion device provided by the present application is shown in FIG. 5;

[0041] Figure 7 A structural diagram of an electronic device provided by the present application is shown in FIG. 6;

[0042] Figure 8 A structural diagram of a cross-cloud expansion system provided by an embodiment of the present application is shown in FIG. 7. DETAILED DESCRIPTION

[0043] The embodiments of the present application are described below in conjunction with the accompanying drawings. The terms used in the implementation part of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.

[0044] The embodiments of the present application are described below in conjunction with the accompanying drawings. Those skilled in the art can know that, as technology develops and new scenarios appear, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.

[0045] The terms "first", "second", and the like in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged under appropriate circumstances, and this is only a way of distinguishing the objects with the same attributes used in the description of the embodiments of the present application. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, so that the processes, methods, systems, products or devices containing a series of units do not necessarily limit to those units, but can include other units not clearly listed or inherent to these processes, methods, products or devices.

[0046] The cross-cloud expansion method provided by the embodiments of the present application is applied to a private cloud server to build an instance application by scheduling node resources of a public cloud, and to realize the scenario of cross-cloud expansion, Figure 1This example illustrates a cluster architecture deployed on a private cloud server, such as... Figure 1 As shown, the private cloud server is deployed in a local data center, and a Kubernetes cluster architecture is deployed in the local data center. The Kubernetes cluster architecture includes an Elastic Load Balancer (ELB) and distributed build nodes. A node includes a routing unit (ingress) and a distributed build application instance, i.e., an application Pod. Figure 1 Taking three application pods as an example, ELB provides traffic distribution control services, which allocate traffic to each application instance based on load balancing configuration parameters to achieve load balancing. Ingress routes the traffic allocated by ELB to the corresponding application pod.

[0047] based on Figure 1 The architecture shown involves a user initiating an access request for a domain name on the user's end. The user's end then uploads the access request to the private cloud server where the local data center is located. The ELB automatically distributes the access request to the ingress nodes based on the current network conditions and resource availability. The ingress then routes the access request to the corresponding application Pod, enabling the user to access the specific application service based on the domain name, thus achieving load balancing.

[0048] based on Figure 1 The architecture shown can automatically build new application instances within the local data center and perform load balancing via ELB to handle sudden traffic surges. However, due to the limited resources of the private cloud, it is difficult to cope with sudden traffic surges, and network congestion such as excessive occupancy caused by sudden traffic surges still exists.

[0049] To address the aforementioned issues, this application provides a cross-cloud scaling method. This application can be applied to private cloud servers. The cross-cloud scaling method of this application will be described in detail below with reference to the accompanying drawings.

[0050] Reference Figure 2 , Figure 2 This application provides a flowchart illustrating a cross-cloud scaling method, as shown in the embodiments below. Figure 2 As shown in the embodiment of this application, a data processing method may include steps S201 to S203, which are described in detail below.

[0051] S201. Obtain the target server's metric monitoring data and determine whether the preset expansion time has been reached based on the metric monitoring data.

[0052] In this embodiment, the target monitoring terminal includes a private cloud server. The indicator monitoring data includes statistical values ​​of at least one status indicator.

[0053] In this embodiment, the expansion opportunity includes that the statistical value of at least one state index exceeds a preset statistical value threshold.

[0054] In an optional embodiment, the target monitoring end further includes a public cloud server, the monitoring data of the target server includes the memory usage and the CPU usage of the private cloud, and further includes the memory usage and the CPU usage of the public cloud. If the statistical value of any one of the memory usage and the CPU usage of the private cloud and the memory usage and the CPU usage of the public cloud exceeds the corresponding statistical value threshold, it is determined that the expansion opportunity is reached. For example, the statistical value includes a mean value obtained by averaging the state index in a statistical period. When the mean value of the memory usage of the private cloud exceeds the usage threshold, it is indicated that there is a load peak, and it is determined that the expansion opportunity is reached.

[0055] S202, if the expansion opportunity is reached, an instance creation request is sent to the public cloud server.

[0056] In this embodiment, the instance creation request is used to request the public cloud server to create at least one application instance. The private cloud server sends the instance creation request to the public cloud server to make the public cloud server determine whether the available remaining resources of each virtual machine node are greater than the required resource amount for creating an instance in response to the instance creation request. If yes, the application instance is created and an instance creation success event is generated.

[0057] S203, if the instance creation success event of the public cloud server is listened to, a load parameter is calculated based on the load data of the private cloud server and the load data of the public cloud server.

[0058] In this embodiment, the load data includes the number of application instances, and the load parameter is positively correlated with the proportion of the number of application instances of the private cloud server and the number of application instances of the public cloud server.

[0059] In an optional embodiment, the load parameter is equal to the proportion of the number of application instances of the private cloud server and the number of application instances of the public cloud server.

[0060] S204, traffic is allocated to each application instance of the private cloud server and the public cloud server based on the load parameter.

[0061] In an optional embodiment, the load parameter is equal to the proportion of the number of application instances of the private cloud server and the number of application instances of the public cloud server. The traffic is allocated to each application instance of the private cloud server and the public cloud server based on the proportion.

[0062] As can be seen from the above technical solution, the cross-cloud scaling method provided in this application obtains the indicator monitoring data of the private cloud server and determines whether a preset scaling time has been reached based on the indicator monitoring data. If the scaling time has been reached, an instance creation request is sent to the public cloud server. If a successful instance creation event is detected on the public cloud server, load parameters are calculated based on the load data of the private cloud server and the public cloud server. Traffic is allocated to each application instance on both the private cloud server and the public cloud server based on the load parameters. The indicator monitoring data includes the statistical value of at least one status indicator, and the scaling time includes when the statistical value of at least one status indicator exceeds a preset statistical value threshold. That is, this application automatically requests the public cloud server to build application instances when the statistical value of at least one status indicator exceeds the preset statistical value threshold, and allocates traffic based on the ratio of the number of application instances on the private cloud server and the public cloud server, adapting to changes in business needs and coping with peak loads through dynamic cross-cloud scaling.

[0063] In one possible implementation, the cross-cloud scaling method provided in this application embodiment is applied to a cross-cloud scaling system. Figure 3 This example illustrates a specific structural diagram of a cross-cloud scaling system, such as... Figure 3 As shown, the cross-cloud scaling system includes a workbench, a monitoring system, and a cross-cloud load balancer deployed on a private cloud server, as well as a monitoring system deployed on a public cloud server. The workbench deploys a data aggregation module and an intelligent scheduling engine.

[0064] based on Figure 3 The cross-cloud scaling system shown in this application provides a specific implementation method for a cross-cloud scaling method. Figure 4 The specific implementation process of a cross-cloud scaling method provided in this application embodiment is as follows: Figure 4 As shown, this method specifically includes:

[0065] S401. The data aggregation module obtains the status indicator sequence of the private cloud server through the private cloud server monitoring system and the status indicator sequence of the public cloud server through the public cloud server monitoring system according to the preset statistical period.

[0066] In this embodiment, the statistical period includes multiple sampling times, and the status index sequence includes the index values ​​of each preset status index at each sampling time within the statistical period arranged in chronological order. The status indexes include memory utilization and / or CPU utilization.

[0067] In this embodiment, the monitoring system collects the values ​​of various status indicators by embedding points on the corresponding cloud server according to a preset collection frequency.

[0068] In this embodiment, the Prometheus monitoring system deployed in the private cloud server internally implants in the private cloud server, collects the CPU usage and the memory usage of the private cloud server once every minute, takes every 6 minutes as a statistical period, and the data aggregation module obtains the CPU usage and the memory usage of the private cloud server collected by the monitoring system at 6 collection time points every 6 minutes, arranges the CPU usage in the order of the collection time to obtain a CPU usage sequence corresponding to the statistical period, and arranges the memory usage in the order of the collection time to obtain a memory usage sequence corresponding to the statistical period.

[0069] In this embodiment, the Prometheus monitoring system deployed in the public cloud server internally implants in the public cloud server, collects the CPU usage and the memory usage of the public cloud server once every minute, takes every 6 minutes as a statistical period, and the data aggregation module obtains the CPU usage and the memory usage of the public cloud server collected by the monitoring system at 6 collection time points every 6 minutes, arranges the CPU usage in the order of the collection time to obtain a CPU usage sequence corresponding to the statistical period, and arranges the memory usage in the order of the collection time to obtain a memory usage sequence corresponding to the statistical period.

[0070] It should be noted that the data aggregation module obtains the monitoring data of the Prometheus monitoring system deployed in the public cloud server through a pre-constructed secure communication interface.

[0071] S402, the data aggregation module respectively performs statistical analysis on each state indicator sequence to obtain a plurality of statistical values of each state indicator in the statistical period.

[0072] In this embodiment, the statistical values include a mean value, an extreme value, and a change rate. The calculation method of the mean value includes: removing the maximum value and the minimum value, and calculating the arithmetic mean value of the remaining indicator values as the mean value.

[0073] S403, the data aggregation module determines whether a preset expansion condition is triggered based on the statistical values of each state indicator.

[0074] In this embodiment, the expansion condition includes that the indicator value of any one state indicator of the private cloud server exceeds the corresponding indicator threshold.

[0075] For example, when the mean value of the CPU usage of the private cloud server is greater than a preset mean value threshold, it indicates that the CPU usage of the private cloud server is out of limit in the statistical period, and the expansion condition is triggered.

[0076] S404, if the expansion condition is triggered, the data aggregation module sends an instance creation request to the public cloud server.

[0077] S405, the public cloud server determines whether the available remaining resources of each virtual machine node are greater than the required resource amount for creating the instance in response to the instance creation request.

[0078] S406, if yes, the public cloud server creates the application instance and generates an application instance creation success event.

[0079] S407, if no, the public cloud server generates an instance creation suspension event and starts timing, restarts the execution of S405 at the creation time of the preset creation period, until the application instance is successfully created, and generates an instance creation success event.

[0080] S408, the intelligent scheduling engine listens to the public cloud server log through the listening system of the public cloud server, and if the instance creation suspension event is listened to, the virtual machine node is created in the public cloud server through the public cloud interface, and the resources of the virtual machine node are added to the scheduling resource pool.

[0081] In the embodiment, the intelligent scheduling engine listens to the public cloud server log through the listening system of the public cloud server, and if the instance creation suspension event is listened to, the node creation instruction is sent to the public cloud server, so that the public cloud server creates the virtual machine node in response to the node creation instruction, and generates a node creation success event. After the intelligent scheduling engine listens to the node creation success event through the listening system of the public cloud server, the resources of the virtual machine node are added to the scheduling resource pool.

[0082] S409, after the intelligent scheduling engine listens to the instance creation success event, the application instance state checking task is started to check whether the application instance is successfully started.

[0083] S410, after the intelligent scheduling engine determines that the application instance is successfully started, the load parameter is calculated according to at least the number of application instances deployed in the private cloud server and the number of application instances deployed in the public cloud, and the load parameter is configured to the public balancer ELB.

[0084] In the embodiment, the load parameter is equal to the ratio of the number of application instances deployed in the private cloud server and the number of application instances deployed in the public cloud.

[0085] S411, the public balancer adjusts the traffic of the application instances distributed to the private cloud server and the application instances of the public cloud server based on the load parameter.

[0086] As can be seen from the above technical solutions, the cross-cloud scaling method provided in this application deploys an intelligent scheduling engine in the workbench of the private cloud server, and monitors resource changes on the public cloud server based on event listening. Load parameters are generated based on the ratio of application instances on the private cloud server and the public cloud server, and the traffic allocation ratio to the private cloud server and the public cloud server is adjusted according to the ratio indicated by the load parameters to achieve dynamic traffic load management, thereby enabling application instances on the public cloud server to share the traffic pressure of application instances on the private cloud server.

[0087] Figure 4 This is merely one optional implementation of a cross-cloud scaling method provided in this application embodiment; the application can also be implemented in other ways. In another optional embodiment, the method further includes: a data aggregation module monitoring the load status of the public load balancer and each node load balancer through a private cloud server monitoring system, and obtaining load metrics of the public load balancer and each node load balancer according to a statistical period. These load metrics include response time, throughput, and concurrent connections. Therefore, the scaling condition also includes the absence of load imbalance. Specifically, Figure 5 This application provides an architectural diagram illustrating a cross-cloud cluster deployment, such as... Figure 5 As shown, the cross-cloud cluster architecture includes, for example, Figure 3 The diagram illustrates a cross-cloud scaling system and the cluster architecture built upon it. The cluster architecture includes machine nodes (virtual machine nodes or physical machine nodes) created within the private cloud server and their corresponding node load balancers (ELBs), as well as virtual machine nodes expanded on the public cloud server and their corresponding node load balancers (LBs). Each machine node created within the private cloud server deploys two application Pods.

[0088] Reference Figure 5 The process of deploying a cluster architecture based on the cross-cloud scaling method provided in this application includes:

[0089] The Prometheus monitoring system, deployed within the cloud server, has embedded points in the cloud to collect CPU and memory usage data every minute. The data aggregation module obtains the CPU and memory usage data collected by each monitoring system at six collection times every six minutes. The CPU usage data is then arranged in chronological order of collection time to obtain the CPU usage sequence for that statistical period, and the memory usage data is also arranged in chronological order of collection time to obtain the memory usage sequence for that statistical period.

[0090] The data aggregation module performs statistical analysis on the memory usage rate sequence, the CPU usage rate sequence and the load index of the public load balancer of the private cloud server, and obtains the mean value of the memory usage rate sequence and the mean value of the CPU usage rate in the statistical period. It is determined that the mean value of the memory usage rate sequence exceeds the memory usage rate threshold and the load index of the public load balancer does not satisfy the load imbalance condition. It is determined whether the expansion condition is triggered. The data aggregation module sends an instance creation request to the public cloud server. The public cloud server responds to the instance creation request, judges whether the available remaining resources of each virtual machine node are greater than the required resource amount for creating an instance, generates an instance creation suspension event, and the intelligent scheduling engine listens to the public cloud server log through the listening system of the public cloud server. If the instance creation suspension event is listened to, a virtual machine node is created in the public cloud server by calling the public cloud interface, and the virtual machine resource is added to the scheduling resource pool. The public cloud server starts the instance creation task indicated by the instance creation suspension event according to the creation period. If it is determined that the available remaining resources of the virtual machine node are greater than the required resource amount for creating an instance, an application instance is created in the virtual machine node Node, as shown in Figure 5 , a virtual machine node Node is created in the public cloud server, and two application instances are created in the virtual machine node Node, so as to realize resource expansion to cope with traffic peak.

[0091] The above introduces a cross-cloud expansion method provided by the embodiment of the application. The following will introduce a device for executing the cross-cloud expansion method.

[0092] Please refer to Figure 6 , Figure 6 The structure diagram of a cross-cloud expansion device provided by the embodiment of the application. As shown in Figure 6 , the cross-cloud expansion device 600 comprises:

[0093] The data listening unit 601 is configured to obtain index monitoring data of a target server, and determine whether a preset expansion opportunity is reached based on the index monitoring data. The index monitoring data comprises a statistical value of at least one state index, and the expansion opportunity comprises that the statistical value of at least one state index exceeds a preset statistical value threshold.

[0094] The instance request unit 602 is configured to send an instance creation request to a public cloud server if the expansion opportunity is reached, so that the public cloud server judges whether the available remaining resources of each virtual machine node are greater than the required resource amount for creating an instance in response to the instance creation request. If yes, an application instance is created and an instance creation success event is generated. The instance creation request is used to request the public cloud server to create at least one application instance.

[0095] The load calculation unit 603 is configured to, if the instance creation success event of the public cloud server is monitored, calculate a load parameter based on the load data of the private cloud server and the load data of the public cloud server, wherein the load data comprises the number of application instances, and the load parameter is positively correlated with the ratio of the number of application instances of the private cloud to the number of application instances of the public cloud.

[0096] The load balancing unit 604 is configured to allocate traffic for each application instance of the private cloud server and the public cloud server based on the load parameter.

[0097] In a possible implementation, when the data monitoring unit is used to acquire the monitoring data of the target server, the data monitoring unit is specifically configured to:

[0098] acquire, through the private cloud monitoring system, a state index sequence of the private cloud server according to a preset statistical period, and acquire, through the public cloud monitoring system, a state index sequence of the public cloud server, wherein the state index sequence comprises index values of each state index at each sampling time in the statistical period arranged in time sequence;

[0099] statistically analyze each state index sequence to obtain a statistical value of each state index in the statistical period.

[0100] In a possible implementation, when the data monitoring unit is used to statistically analyze each state index sequence to obtain a statistical value of each state index in the statistical period, the data monitoring unit is specifically configured to:

[0101] for each state index, remove the maximum value and the minimum value of the state index in the state index sequence, and calculate the arithmetic mean of the remaining index values of the state index to obtain the mean value of the state index; and the statistical value comprises the mean value.

[0102] In a possible implementation, when the instance request unit is used to, if the instance creation success event of the public cloud server is monitored, calculate a load parameter based on the load data of the private cloud server and the load data of the public cloud server, the instance request unit is specifically configured to:

[0103] monitor the public cloud log through the public cloud monitoring system, if the instance creation success event of the public cloud server is monitored, start an application instance state checking task, if it is checked that the application instance is started successfully, calculate the ratio of the number of application instances of the private cloud server to the number of application instances of the public cloud server, and take the ratio as the load parameter.

[0104] In one possible implementation, the cross-cloud scaling device further includes a node request unit, which is used to: if an instance creation pending event is detected, call the public cloud interface to create a virtual machine node in the public cloud server, so that the public cloud server creates an application instance in the virtual machine node and generates an instance creation success event.

[0105] This application also provides an electronic device in its embodiments. (See reference...) Figure 7 The diagram illustrates a structural schematic suitable for implementing the electronic device in the embodiments of this application. The electronic device in the embodiments of this application may include, but is not limited to, servers such as single-point cloud servers or server clusters. Figure 7 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0106] like Figure 7 As shown, the electronic device may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. When the electronic device is powered on, the RAM 703 also stores various programs and data required for the operation of the electronic device. The processing unit 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0107] Typically, the following devices can be connected to I / O interface 705: input devices 706 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 707 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 708 including, for example, memory cards, hard drives, etc.; and communication devices 709. Communication device 709 allows electronic devices to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 6 Electronic devices with various devices are shown, but it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have alternatively.

[0108] This application also provides a cross-cloud scaling system. Figure 8 This application provides a schematic diagram of the structure of a cross-cloud expansion system, as shown in the embodiments. Figure 8As shown, the cross-cloud capacity expansion system 800 comprises a private cloud server 801 and a public cloud server 802; wherein the private cloud server is configured to: acquire index monitoring data of a target server, determine whether a preset capacity expansion opportunity is reached based on the index monitoring data, the index monitoring data comprises a statistical value of at least one state index, the capacity expansion opportunity comprises that the statistical value of at least one state index exceeds a preset statistical value threshold; if the capacity expansion opportunity is reached, send an instance creation request to the public cloud server; the instance creation request is used to request the public cloud server to create at least one application instance;

[0109] The public cloud server is configured to: in response to the instance creation request, determine whether the available remaining resources of each virtual machine node are greater than the required resource amount of creating an instance, if yes, create an application instance and generate an instance creation success event;

[0110] The private cloud server is configured to: if the instance creation success event of the public cloud server is listened to, calculate a load parameter based on the load data of the private cloud server and the load data of the public cloud server, the load data comprises the number of application instances, the load parameter is positively correlated with the proportion of the number of application instances of the private cloud and the number of application instances of the public cloud; allocate traffic for each application instance of the private cloud server and the public cloud server based on the load parameter.

[0111] The embodiment of the present application also provides a computer program product comprising computer readable instructions, when the computer readable instructions run on an electronic device, the electronic device implements any cross-cloud capacity expansion method provided by the embodiment of the present application.

[0112] The embodiment of the present application also provides a computer readable storage medium, the storage medium carries one or more computer programs, when the one or more computer programs are executed by an electronic device, the electronic device can implement any cross-cloud capacity expansion method provided by the embodiment of the present application.

[0113] In addition, it should be noted that the apparatus embodiments described above are only schematic, wherein the units shown as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., they can be located in one place, or distributed on multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the embodiment. In addition, the apparatus embodiments provided by the present application in the drawings, the connection relationship between the modules indicates that there is a communication connection between them, which can be realized as one or more communication buses or signal lines.

[0114] Those skilled in the art can clearly understand that the application can be implemented by means of software plus necessary universal hardware, and of course can also be implemented by means of dedicated hardware including special integrated circuit, special CPU, special memory, special component, etc. Generally, any function completed by computer program can be easily implemented by corresponding hardware, and the specific hardware structure for implementing the same function can also be various, such as analog circuit, digital circuit or special circuit, etc. However, for the application, software program implementation is a better embodiment. Based on such understanding, the technical solution of the application or the part of the application which makes contribution to the prior art can be embodied in the form of software product, which is stored in readable storage medium, such as computer floppy disk, U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., and includes a plurality of instructions for making a computer device (which can be personal computer, training device or network device, etc.) execute the method described in various embodiments of the application.

[0115] In the above embodiments, the implementation can be achieved by software, hardware, firmware or any combination thereof, entirely or partially. When implemented by software, the implementation can be achieved in the form of a computer program product, entirely or partially.

[0116] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the flow or function described in the embodiments of the application is generated entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another, for example, the computer instructions can be transmitted from one website, computer, training device or data center to another website, computer, training device or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that can be stored by a computer or a data storage device such as a training device, a data center, etc. integrated with one or more available media sets. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.

Claims

1. A method for cross-cloud capacity expansion, characterized in that, The application is applied to a private cloud server, and comprises the following steps: Obtaining index monitoring data of a target server, judging whether a preset expansion occasion is reached based on the index monitoring data, the target server comprising the private cloud server, the index monitoring data comprising statistical values of at least one state index, and the expansion occasion comprising that the statistical values of at least one state index exceed preset statistical value thresholds; If the expansion occasion is reached, sending an instance creation request to a public cloud server, so that the public cloud server judges whether available remaining resources of each virtual machine node are greater than resource amounts required for creating instances, and if yes, creating application instances and generating an instance creation success event; the instance creation request is used to request the public cloud server to create at least one application instance; If the instance creation success event of the public cloud server is listened to, calculating a load parameter based on load data of the private cloud server and load data of the public cloud server, the load data comprising application instance numbers, and the load parameter being positively correlated with a ratio of the application instance number of the private cloud to the application instance number of the public cloud; Allocating traffic for each application instance of the private cloud server and the public cloud server based on the load parameter.

2. The cross-cloud scaling method of claim 1, wherein, Obtaining index monitoring data of a target server comprises the following steps: Obtaining state index sequences of the private cloud server through a private cloud monitoring system and obtaining state index sequences of the public cloud server through a public cloud monitoring system according to a preset statistical period, the state index sequences comprising index values of each state index at each sampling time within the statistical period arranged in time sequence; Respectively performing statistical analysis on each state index sequence to obtain statistical values of each state index within the statistical period.

3. The cross-cloud scaling method of claim 2, wherein, Respectively performing statistical analysis on each state index sequence to obtain statistical values of each state index within the statistical period comprises the following steps: For each state index, removing the maximum value and the minimum value of the state index in the state index sequence, and calculating an arithmetic mean value of the index values of the remaining state index to obtain a mean value of the state index; the statistical value comprises the mean value.

4. The method of claim 1, wherein, The step of calculating the load parameter based on the load data of the private cloud server and the load data of the public cloud server if the instance creation success event of the public cloud server is listened to comprises the following steps: Listening to public cloud logs through a public cloud monitoring system, starting an application instance state checking task if the instance creation success event of the public cloud server is listened to, calculating a ratio of the application instance number of the private cloud server to the application instance number of the public cloud server if the application instance is checked to be successfully started, and taking the ratio as the load parameter.

5. The method of claim 1, wherein, The cross-cloud expansion method further comprises the following steps: If an instance creation suspension event is listened to, calling a public cloud interface to create a virtual machine node in the public cloud server, so that the public cloud server creates an application instance in the virtual machine node and generates an instance creation success event.

6. A cross-cloud scaling system, comprising: The application comprises the following steps: A private cloud server and a public cloud server; The private cloud server is configured to: acquire index monitoring data of a target server, determine whether a preset expansion occasion is reached based on the index monitoring data, the index monitoring data comprising statistical values of at least one state index, and the expansion occasion comprising that the statistical values of at least one state index exceed preset statistical value thresholds; and if the expansion occasion is reached, send an instance creation request to a public cloud server; The instance creation request is configured to request the public cloud server to create at least one application instance; The public cloud server is configured to: in response to the instance creation request, determine whether available remaining resources of each virtual machine node are greater than resource amounts required for creating instances, and if yes, create application instances and generate an instance creation success event; The private cloud server is configured to: if the instance creation success event of the public cloud server is monitored, calculate a load parameter based on load data of the private cloud server and load data of the public cloud server, the load data comprising application instance numbers, and the load parameter being positively correlated with a ratio of the application instance number of the private cloud to the application instance number of the public cloud; and allocate traffic to each application instance of the private cloud server and the public cloud server based on the load parameter.

7. A cross-cloud scaling device, comprising: Applied to a private cloud server, comprising: A data monitoring unit is configured to acquire index monitoring data of a target server, determine whether a preset expansion occasion is reached based on the index monitoring data, the index monitoring data comprising statistical values of at least one state index, and the expansion occasion comprising that the statistical values of at least one state index exceed preset statistical value thresholds; An instance request unit is configured to, if the expansion occasion is reached, send an instance creation request to a public cloud server, so that the public cloud server, in response to the instance creation request, determines whether available remaining resources of each virtual machine node are greater than resource amounts required for creating instances, and if yes, creates application instances and generates an instance creation success event; and the instance creation request is configured to request the public cloud server to create at least one application instance; A load calculation unit is configured to, if the instance creation success event of the public cloud server is monitored, calculate a load parameter based on load data of the private cloud server and load data of the public cloud server, the load data comprising application instance numbers, and the load parameter being positively correlated with a ratio of the application instance number of the private cloud to the application instance number of the public cloud; A load balancing unit is configured to allocate traffic to each application instance of the private cloud server and the public cloud server based on the load parameter.

8. A computer program product, characterised in that, The computer readable instructions, when executed on an electronic device, cause the electronic device to implement the cross-cloud expansion method of any one of claims 1 to 5.

9. An electronic device, comprising: The memory is configured to store computer programs; and the processor is configured to execute the computer programs, so that the electronic device can implement the cross-cloud expansion method of any one of claims 1 to 5. ​ ​ 10. A computer storage medium, characterized in that, The storage medium carries one or more computer programs, and when the one or more computer programs are executed by the electronic device, the electronic device can implement the cross-cloud capacity expansion method as claimed in any one of claims 1 to 5.

Citation Information

Patent Citations

  • System and method for automatically and elastically expanding and contracting resources, and cloud platform

    CN111796908A

  • Hybrid cloud elastic scaling method and device, equipment and storage medium

    CN115208891A