Load forecasting methods, systems, devices, and computer-readable storage media

By constructing historical load sequences in cloud application systems and combining offline trend and online fluctuation predictions, and using adaptive sliding windows and multi-class regression ensemble strategies, the model reliability and adaptability issues in cloud-native microservice load prediction are solved, resulting in an efficient load prediction tool.

CN114168419BActive Publication Date: 2026-04-03TONGJI UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-09
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

Existing cloud-native microservice load prediction technologies suffer from insufficient model reliability in scenarios with highly volatile cloud loads. Prediction models based on fixed sliding windows cannot adapt to different load patterns, and integrated model combination strategies struggle to maximize model advantages.

Method used

By acquiring historical tracking load data from cloud application systems, a historical load sequence is constructed, and offline trend prediction and online fluctuation prediction are performed. Combined with an adaptive sliding window algorithm and a multi-class regression ensemble strategy, a comprehensive prediction result is generated.

Benefits of technology

It improves the reliability of models in scenarios with highly volatile cloud loads, enables prediction models to adapt to different load patterns, and maximizes the advantages of integrated model combination strategies, thus realizing a load prediction tool for service resource management systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114168419B_ABST
    Figure CN114168419B_ABST
Patent Text Reader

Abstract

This invention provides a load forecasting method, system, device, and computer-readable storage medium. The load forecasting method includes: acquiring historical tracking load data from a cloud application system and constructing a historical load sequence; performing offline trend forecasting on the historical load sequence to generate a forecasting result based on the offline trend forecast; performing online fluctuation forecasting on the historical load sequence to generate a forecasting result based on the online fluctuation forecast; and combining the forecasting results based on the offline trend forecast and the forecasting results based on the online fluctuation forecast to integrate and synthesize a comprehensive forecasting result. This invention improves the reliability of models in scenarios with highly volatile cloud loads. The forecasting model based on a sliding window can adapt to different load patterns, and the integrated model combination strategy maximizes the advantages of the models. Furthermore, it provides a load forecasting tool that can be practically applied to service resource management systems, effectively providing executable middleware support.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of computer technology and relates to a prediction method and system, particularly to a load prediction method, system, device, and computer-readable storage medium. Background Technology

[0002] Existing cloud-native load forecasting methods still have shortcomings in three aspects:

[0003] First, there is the issue of highly volatile cloud load. Historical load data stored in time series format is usually chaotic. Therefore, due to the characteristics of chaotic time series, it is usually difficult to further improve the performance of models that make predictions based solely on the original load series data.

[0004] Secondly, the sliding window size affects model performance. An excessively large sliding window may cause the model to discover irrelevant load information and fail to pay attention to the details of load changes. An excessively small sliding window may prevent the model from discovering the dependencies of load sequences and may easily cause the model's performance to fluctuate. Most existing prediction schemes use a fixed-size sliding window based on experience or experiments for model training and prediction, which is difficult to adapt to highly dynamic load changes.

[0005] Thirdly, the integration strategy of the ensemble model. Existing load forecasting models usually adopt simple strategies such as weighted averaging or error-based methods, without paying attention to the differences in the performance of the base forecasters over time, and without maximizing the advantages of the ensemble model.

[0006] It is worth noting that load forecasting techniques based on time series decomposition address the issue of highly volatile cloud loads, with wavelet decomposition and reconstruction being the most popular. This technique utilizes scalable, shiftable wavelets to decompose chaotic time series, obtaining low-frequency and high-frequency components of the original sequence. The low-frequency components describe the trend information of the original time series, while the high-frequency components describe the detailed information. Prediction models are then built for each component separately, and the final prediction result is obtained by integrating the prediction results of different component models at each prediction time. However, it has been proven that the detailed information obtained by time series decomposition techniques such as wavelet decomposition contains significant heteroscedasticity and noise. Therefore, adding detailed components to the prediction model does not significantly help, and in extreme cases, may even degrade the model's predictive performance.

[0007] Therefore, how to provide a load forecasting method, system, device, and computer-readable storage medium to address the shortcomings of existing cloud-native microservice load forecasting technologies, such as insufficient model reliability in scenarios with highly volatile cloud loads, the inability of forecasting models based on fixed sliding windows to adapt to different load modes, and the difficulty in maximizing the advantages of integrated model combination strategies, has become a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0008] In view of the shortcomings of the prior art described above, the purpose of this invention is to provide a load prediction method, system, device and computer-readable storage medium to solve the problems of insufficient model reliability in cloud-native microservice load prediction technologies, the inability of prediction models based on fixed sliding windows to adapt to different load modes, and the difficulty in maximizing the advantages of integrated model combination strategies.

[0009] To achieve the above and other related objectives, the present invention provides a load forecasting method, comprising: acquiring historical tracking load data from a cloud application system and constructing a historical load sequence; performing offline trend forecasting on the historical load sequence to generate a forecasting result based on the offline trend forecast; performing online fluctuation forecasting on the historical load sequence to generate a forecasting result based on the online fluctuation forecast; and combining the forecasting result based on the offline trend forecast and the forecasting result based on the online fluctuation forecast to integrate and synthesize a comprehensive forecasting result.

[0010] In one embodiment of the present invention, the historical tracking load data includes various loads of the cloud application system; the various loads of the cloud application system include request load and / or resource load.

[0011] In one embodiment of the present invention, the step of performing offline trend prediction of the load on a historical load sequence to generate a prediction result based on the offline trend prediction includes: extracting low-frequency information of the historical load sequence; and performing trend prediction for the next future cycle based on the historical trend information of the previous cycle to predict the prediction result based on the offline trend prediction.

[0012] In one embodiment of the present invention, the step of performing online fluctuation prediction on historical load sequences to generate prediction results based on online fluctuation prediction includes: at an initial moment, based on the minimum size of a preset sliding window, expanding the window size according to the trend correlation of adjacent windows, expanding the window size to twice the original size, repeating the expansion until adjacent windows are no longer trend-correlated, and the expansion stops; determining whether the current window size after expansion is greater than the boundary size of the preset sliding window; if yes, it indicates that the recent load has a significant trend, and the minimum size of the preset sliding window is used as the final selected sliding window size; if no, it indicates that the recent load does not have a significant trend, and proceeding to the next step: expanding the window size based on the time correlation of the historical load sequence.

[0013] In one embodiment of the present invention, the step of expanding the window size based on the temporal correlation of historical load sequences includes: calculating the temporal correlation of recent historical load sequences within the field of view of the window based on the maximum size of a preset sliding window to obtain the autocorrelation function value; gradually increasing the time lag value until the time lag at which the autocorrelation function value first crosses the confidence interval is found, and using the time lag at which the first crosses the confidence interval is used as the expanded current window size; determining whether the expanded current window size is greater than the boundary size of the preset sliding window; if so, it indicates that the recent load has significant temporal correlation, and the expanded current window size is used as the final selected sliding window size; if not, it indicates that the recent load does not have significant temporal correlation, and the maximum size of the preset sliding window is directly used as the final selected sliding window size; and constructing training samples based on the final selected sliding window size for training to predict the online fluctuation of the load in the next cycle.

[0014] In one embodiment of the present invention, the step of combining the prediction results based on offline trend prediction and the prediction results based on online fluctuation prediction to integrate the comprehensive prediction results includes: constructing error samples for M historical time points based on the prediction results based on offline trend prediction, the prediction results based on online fluctuation prediction, and real data; the input feature of the error samples is a sample matrix comprising 2 rows and M columns; wherein, the first row is the prediction error based on offline trend prediction, and the second row is the prediction error based on online fluctuation prediction; the label of the error sample is the category of the base predictor with better performance, that is, the error of the offline trend base predictor is smaller, which is 0, and the error of the online fluctuation base predictor is smaller, which is 1; calculating the historical performance stability of the base predictor based on the error sample labels of the M historical time points; comparing the historical performance stability of the base predictor with a stability threshold to determine whether the historical prediction is correct. If stable, then based on temporal locality (if a recent base predictor can predict the load situation well in the near future, then that base predictor is likely to still give good prediction results in the near future), a weighting algorithm is used to assign different weight coefficients to each sample in the error samples to train the first multi-class regression model; the weight coefficients of the offline trend base predictor and the online fluctuation base predictor are predicted according to the trained first multi-class regression model and the error input feature matrix at the current time; the comprehensive prediction result is integrated based on the weight coefficients of each base predictor and the load prediction results; if not, then the second multi-class regression model is trained directly based on the error samples at the historical M times; the weight coefficients of the offline trend base predictor and the online fluctuation base predictor are predicted according to the second multi-class regression model and the error input feature matrix at the current time, and the comprehensive prediction result is further integrated.

[0015] In one embodiment of the present invention, the labels engraved on the error samples at M historical time points are a label sequence consisting of 1 and / or 0; the step of calculating the historical performance stability of the base predictor includes: calculating the variance corresponding to the label sequence and the reciprocal of the variance; the reciprocal of the variance corresponding to the label sequence is the historical performance stability of the base predictor.

[0016] Another aspect of the present invention provides a load forecasting system, comprising: a data acquisition module for acquiring historical tracking load data from a cloud application system and constructing a historical load sequence; an offline forecasting module for performing offline trend forecasting on the historical load sequence to generate a forecasting result based on the offline trend forecast; an online forecasting module for performing online fluctuation forecasting on the historical load sequence to generate a forecasting result based on the online fluctuation forecast; and an integration module for combining the forecasting result based on the offline trend forecast and the forecasting result based on the online fluctuation forecast to integrate a comprehensive forecasting result.

[0017] In another aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the load prediction method.

[0018] A final aspect of the present invention provides a load forecasting device, comprising: a processor and a memory; the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to cause the load forecasting device to perform the load forecasting method.

[0019] As described above, the load prediction method, system, device, and computer-readable storage medium of the present invention have the following beneficial effects:

[0020] The load prediction method, system, device, and computer-readable storage medium described in this invention improve the reliability of models in scenarios with highly volatile cloud loads. The prediction model based on a sliding window can adapt to different load modes, and the integrated model combination strategy maximizes the advantages of the model. On the other hand, it realizes a load prediction tool that can be practically applied to service resource management systems, and provides effective middleware support. Attached Figure Description

[0021] Figure 1 The diagram shown is a flowchart of the load prediction method of the present invention in one embodiment.

[0022] Figure 2 The diagram shown is a flowchart of S13 in the load prediction method of the present invention.

[0023] Figure 3 The diagram shows the principle of the multi-class regression ensemble strategy that considers the temporal locality of the base predictor, as proposed in this invention.

[0024] Figure 4 The diagram shown is a schematic representation of the principle structure of the load prediction system of the present invention in one embodiment.

[0025] Component designation explanation

[0026] 1. Load forecasting system

[0027] 51 Data Acquisition Module

[0028] 52. Offline Prediction Module

[0029] 53 Online Prediction Module

[0030] 54 Integrated Modules

[0031] Steps S11 to S14 Detailed Implementation

[0032] The following specific examples illustrate the implementation of the present invention. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that, unless otherwise specified, the following embodiments and features described therein can be combined with each other.

[0033] It should be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of the present invention. Therefore, the drawings only show the components related to the present invention and are not drawn according to the actual number, shape and size of the components in the actual implementation. In the actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.

[0034] Example 1

[0035] This embodiment provides a load forecasting method, including:

[0036] Obtain historical tracking load data from cloud application systems and construct historical load sequences;

[0037] Perform offline trend forecasting of load on historical load sequences to generate forecast results based on offline trend forecasting;

[0038] Perform online volatility prediction on historical load sequences to generate prediction results based on online volatility prediction;

[0039] The forecast results are combined with those based on offline trend prediction and those based on online fluctuation prediction to form an integrated forecast.

[0040] The following section provides a detailed description of the load forecasting method provided in this embodiment, using illustrations. Please refer to... Figure 1 The diagram shows a flowchart of a load forecasting method in one embodiment. Figure 1 As shown, the load forecasting method specifically includes the following steps:

[0041] S11: Obtain historical tracking load data from the cloud application system and construct a historical load sequence.

[0042] In this embodiment, a historical load sequence is constructed with a period of t. The historical tracking load data includes various loads of the cloud application system; these loads include request load and / or resource load (CPU, memory, disk), etc.

[0043] S12, perform offline trend prediction of the historical load sequence to generate prediction results based on the offline trend prediction. In this embodiment, the WAVE-SARIMA model can be used to perform offline trend prediction of the historical load sequence with a period of T (one T period contains multiple t periods).

[0044] S12 includes:

[0045] S121, Extract low-frequency information from historical load sequences;

[0046] Specifically, low-frequency information, i.e. trend information, of historical load sequences is extracted based on wavelet decomposition technology.

[0047] S122, based on the historical trend information of the previous cycle, makes a trend prediction for the next cycle, so as to predict the prediction result based on offline trend prediction.

[0048] Specifically, based on the trend information extracted by the wavelet decomposition model of the previous cycle, the SARIMA model is used to learn the trend changes of the load offline and to make offline trend predictions for the next cycle, generating prediction results based on offline trend predictions.

[0049] S13, perform online fluctuation prediction on the historical load sequence to generate prediction results based on online fluctuation prediction.

[0050] In this embodiment, the OnS-GBDT model can be used to predict the fluctuations of historical load sequences online with a period of t. In this embodiment, the online fluctuation prediction uses the original load sequence as the training and prediction object. The purpose is that the high-frequency information obtained by wavelet decomposition usually contains too much noise, which has little effect on improving the model's capabilities. Therefore, an online prediction model is built based on the original load sequence. Since the purpose of offline trend prediction in step (2) is to control the future load change trend, it can effectively assist the online regression prediction model. Specifically, an adaptive sliding window algorithm based on trend correlation and time correlation is first proposed to enable the online regression model to have reliable prediction performance. Furthermore, the adaptive sliding window algorithm is combined with the GBDT online regression model to achieve single-step online prediction of the load. Therefore, the method is based on the original load sequence for online fluctuation prediction. In order to enable the model to effectively adapt to the dynamic changes of the load sequence.

[0051] In this embodiment, three variables sw are first preset to ensure an effective sliding window size. min ,sw th ,sw max These represent the minimum size, the boundary size, and the maximum size of the sliding window, respectively, and their relationship is sw. min <swth <sw max

[0052] Please see Figure 2 The flowchart shown is for S13. Figure 2 As shown, S13 includes:

[0053] Extended window size based on trend correlation of historical load series.

[0054] Specifically, it includes:

[0055] Initially, based on the preset minimum size sw of the sliding window min The window size is expanded to twice its original size based on the trend correlation between adjacent windows. This expansion is repeated until adjacent windows are no longer trend-correlated, at which point the expansion stops. The current expanded window size is denoted as sw. cur .

[0056] Determine if the expanded current window size is greater than the preset sliding window boundary size sw th If so, it indicates that the recent load has a clear trend, and therefore the historical load sequence is very likely to maintain this trend in the future. In this case, the minimum size of the preset sliding window is used as the final selected sliding window size because the trend of the most recent window is consistent with the recent load trend. Only the sw... min The load trend can be learned from samples within a sliding window size, thus maintaining the model's prediction accuracy while reducing training overhead. Otherwise, the expanded current window size sw... cur <sw th If the recent load does not show a clear trend, then proceed to the next step. In this embodiment, if the historical data analysis is insufficient, the model will have difficulty uncovering useful dependencies between load data.

[0057] The window size is expanded based on the time correlation of historical load sequences, specifically including:

[0058] Based on the preset maximum size of the sliding window sw max Calculate the time correlation of recent historical load sequences within the window's field of view to obtain the sequence autocorrelation function value. Clearly, it is not necessary to start the calculation from a time lag of 1, but rather from (sw... cur +1) is used to calculate the autocorrelation function value of the sequence starting from the time lag, because trend correlation has more stringent requirements on the relationship between the sequence data compared to time correlation.

[0059] Gradually increase the time delay value until the time delay at which the autocorrelation function value of the sequence first crosses the confidence interval is found, and use the time delay at which the first cross-confidence interval is crossed as the expanded current window size sw.cur ;

[0060] Determine the current window size after expansion (sw) cur Is it larger than the preset sliding window boundary size sw? th If so, it indicates that the load sequence has a significant time correlation, and therefore the load sequence is highly likely to maintain this time correlation in the future. In this case, the expanded current window size sw will be... cur The sliding window size was chosen because historical load trends are not significant. Therefore, it's desirable to fully exploit the temporal correlation of load sequence data to ensure the model's prediction accuracy. If not, it indicates that recent loads do not have significant temporal correlation, suggesting that recent loads are highly dynamic and random. In this case, the maximum size of the preset sliding window, sw, is directly used. max The sliding window size is chosen as the final selection to ensure the model fully utilizes historical load sequence information and prevents excessive fluctuations in model prediction performance.

[0061] Finally, at each time step, after the adaptive sliding window algorithm determines the optimal sliding window size based on the historical load sequence, the GBDT model is trained using training samples constructed based on the finally selected sliding window size to predict the online load fluctuations in the next cycle.

[0062] S14 combines the prediction results based on offline trend forecasting and the prediction results based on online fluctuation forecasting to integrate the comprehensive prediction results.

[0063] Please see Figure 3 This is a schematic diagram illustrating the principle of the multi-class regression ensemble strategy proposed in S14, which considers the temporal locality of the base predictor's performance. Figure 3 As shown, the ensemble strategy for the comprehensive prediction results transforms the "evaluation of base predictor performance problem" into a "multi-class regression problem." The multi-class regression problem provides the probability of whether an observation belongs to a set of classes. First, a base predictor performance matrix PV is constructed using the historical prediction errors of the base predictors. PV is the basic element of the training and prediction input datasets of the multi-class regression model in the base predictor evaluation step. It is a 2×m feature matrix composed of the prediction errors of the base predictors in historical predictions. The first and second rows are the prediction errors of the WAVE-SARIMA model and the OnS-GBDT model over m historical time steps, respectively. Therefore, by constructing the training dataset and prediction input dataset for the classification model using the PV matrix from multiple historical time steps, a multi-class regression model is generated. This model is then used to predict the probability that each base predictor is the best predictor at the next time step. Finally, the calculated probabilities are used as weighting coefficients for the base predictor prediction results to obtain the comprehensive prediction result of the ensemble model.

[0064] Specifically, S14 includes the following steps:

[0065] Based on the prediction results of offline trend prediction, the prediction results of online fluctuation prediction, and real data, error samples are constructed for M historical time points. The input feature of the error sample is a matrix consisting of 2 rows and M columns, where M is greater than 1. The first row represents the prediction error based on offline trend prediction, and the second row represents the prediction error based on online fluctuation prediction. The label of the error sample is the category of the better-performing base predictor, i.e., 0 for the offline trend base predictor with a smaller error, and 1 for the online fluctuation base predictor with a smaller error.

[0066] The historical performance stability of the base predictor is calculated based on the error sample labels for M historical time points.

[0067] The historical performance stability of the base predictors is compared with a stability threshold to determine whether historical predictions are stable. If so, based on temporal locality (if a base predictor in the recent past can predict the load situation in the near future, then it is likely to still give good prediction results in the near future), a weighting algorithm is used to assign different weight coefficients to each sample in the error samples to train the first multi-class regression model. The weight coefficients of the offline trend base predictor and the online fluctuation base predictor are predicted based on the trained first multi-class regression model and the error input feature matrix at the current moment. Based on the weight coefficients of each base predictor and the prediction results, the comprehensive prediction results are integrated. If not, the second multi-class regression model is trained directly based on the error samples at M historical moments. The weight coefficients of the offline trend base predictor and the online fluctuation base predictor are predicted based on the second multi-class regression model and the error input feature matrix at the current moment, and the comprehensive prediction results are further integrated.

[0068] In this embodiment, the temporal locality of base predictor performance refers to the fact that if a base predictor in the recent past can predict the load situation in the near future well, then that base predictor is likely to continue to give good prediction results in the near future. Therefore, if the base predictors exhibit temporal locality over a certain period of time, then using an effective ensemble strategy can enhance the prediction accuracy of the ensemble model. To measure whether the performance of base predictors exhibits temporal locality over a historical period, the prediction method proposes a measure called base predictor performance stability to measure the stability of a base predictor as the best predictor over a past period. This is the reciprocal of the variance corresponding to the label sequence of the best-performing predictor in history. The larger the variance value, the greater the data volatility, and the more the base predictor performance tends to be random, with weaker temporal locality; the smaller the variance value, the smaller the data volatility, and the more the base predictor performance tends to be stable, with more significant temporal locality. Furthermore, the calculated base predictor performance stability (PPD) is used to determine whether the temporal locality of base predictor performance should be considered in this update. According to the temporal locality theorem, the temporal importance of each base predictor performance matrix is ​​consistent with its distance from the prediction point. In simple terms, the closer the performance matrix is ​​to the prediction point, the greater its importance and corresponding weight; conversely, the farther away the performance matrix is ​​from the prediction point, the less important it is and the smaller its corresponding weight. Therefore, when it is determined that the temporal locality of the base predictor's performance needs to be considered, different weights can be assigned to each sample in the training sample set PVs. The proposed method uses the sigmoid function to implement the weight allocation of training samples. By leveraging the proposed temporal locality of the base predictor's performance, the multi-class regression ensemble strategy can consciously focus on more important training samples, thereby improving the performance and generalization ability of the ensemble model.

[0069] The load prediction method described in this embodiment improves the reliability of models in scenarios with highly volatile cloud loads. The prediction model based on a sliding window can adapt to different load modes, and the integrated model combination strategy maximizes the advantages of the model. On the other hand, it realizes a load prediction tool that can be practically applied to service resource management systems, and provides effective middleware support.

[0070] This embodiment also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the following... Figure 1 The load prediction method.

[0071] At any possible level of technical detail, this application can be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement various aspects of this application.

[0072] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example, (but not limited to) electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.

[0073] The computer-readable program described herein can be downloaded from a computer-readable storage medium to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer-readable program instructions from the network and forwards these instructions to a computer-readable storage medium in the respective computing / processing device. The computer program instructions used to perform the operations of this application may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and procedural programming languages ​​such as "C" or similar programming languages. Computer-readable program instructions may execute entirely on a user's computer, partially on a user's computer, as a standalone software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing state information from the computer-readable program instructions. This electronic circuitry can execute the computer-readable program instructions to implement various aspects of this application.

[0074] Example 2

[0075] This embodiment provides a load prediction system, including:

[0076] The data acquisition module is used to acquire historical tracking load data from cloud application systems and construct historical load sequences.

[0077] The offline forecasting module is used to perform offline trend forecasting of the load on historical load sequences to generate forecasting results based on offline trend forecasting.

[0078] The online forecasting module is used to perform online fluctuation forecasting on historical load sequences to generate forecast results based on online fluctuation forecasting;

[0079] The integration module combines the forecast results based on offline trend prediction with the forecast results based on online fluctuation prediction to create a comprehensive forecast result.

[0080] The load prediction system described in this embodiment will be described in detail below with reference to the accompanying drawings. Please refer to... Figure 4 The diagram shows a schematic representation of the principle structure of a load prediction system in one embodiment. Figure 4 As shown, the load prediction system 4 includes a data acquisition module 41, an offline prediction module 42, an online prediction module 43, and an integration module 44.

[0081] The data acquisition module 41 is used to acquire historical tracking load data in the cloud application system and construct a historical load sequence.

[0082] In this embodiment, a historical load sequence is constructed with a period of t. The historical tracking load data includes various loads of the cloud application system; these loads include request load and / or resource load (CPU, memory, disk), etc.

[0083] The offline prediction module 42 is used to perform offline trend prediction of the load on historical load sequences to generate prediction results based on the offline trend prediction. In this embodiment, the offline prediction module 42 can utilize, for example, Figure 2 The upper part shows the WAVE-SARIMA model, which uses a period of T (one T period contains multiple t periods) to perform offline trend prediction on historical load sequences.

[0084] The offline prediction module 42 extracts low-frequency information from the historical load sequence; based on the historical trend information of the previous period, it performs trend prediction for the next period to predict the prediction result based on the offline trend prediction.

[0085] The online prediction module 43 is used to perform online fluctuation prediction on historical load sequences to generate prediction results based on online fluctuation prediction.

[0086] In this embodiment, the online prediction module 43 can utilize, for example... Figure 2The lower part shows the OnS-GBDT model, which performs online fluctuation prediction on historical load sequences with a period of t. In this embodiment, the online fluctuation prediction uses the original load sequence as the training and prediction object because the high-frequency information obtained by wavelet decomposition usually contains too much noise, which has little effect on improving the model's capabilities. Therefore, an online prediction model is built based on the original load sequence. Since the purpose of offline trend prediction in step (2) is to control the future load change trend, it can effectively assist the online regression prediction model. Specifically, an adaptive sliding window algorithm based on trend correlation and time correlation is first proposed to enable the online regression model to have reliable prediction performance. Furthermore, the adaptive sliding window algorithm is combined with the GBDT online regression model to achieve single-step online prediction of the load. Therefore, the method performs online fluctuation prediction based on the original load sequence. In order to enable the model to effectively adapt to the dynamic changes of the load sequence.

[0087] In this embodiment, three variables sw are first set in advance to effectively define the size of the window. min ,sw th ,sw max These represent the minimum size, the boundary size, and the maximum size of the sliding window, respectively, and their relationship is sw. min <sw th <sw max

[0088] The online prediction module 43 expands the window size based on the trend correlation of the historical load sequence and the time correlation of the historical load sequence.

[0089] Specifically, at the initial moment, the online prediction module 43 predicts based on the minimum size sw of a preset sliding window. min The window size is expanded to twice its original size based on the trend correlation between adjacent windows. This expansion is repeated until adjacent windows are no longer trend-correlated, at which point the expansion stops. The current expanded window size is denoted as sw. cur Determine if the expanded current window size is greater than the preset sliding window boundary size sw. th If so, it indicates that the recent load has a clear trend, and therefore the historical load sequence is very likely to maintain this trend in the future. In this case, the minimum size of the preset sliding window is used as the final selected sliding window size because the trend of the most recent window is consistent with the recent load trend. Only the sw... min The load trend can be learned from samples within a sliding window size, thus maintaining the model's prediction accuracy while reducing training overhead. Otherwise, the expanded current window size sw... cur <sw thIf the recent load does not show a clear trend, then proceed to the next step. In this embodiment, if the historical data analysis is insufficient, the model will have difficulty uncovering useful dependencies between load data.

[0090] The online prediction module 43 is based on the maximum size of a preset sliding window. max Calculate the time correlation of recent historical load sequences within the window's field of view to obtain the sequence autocorrelation function value. Clearly, it is not necessary to start the calculation from a time lag of 1, but rather from (sw... cur +1) Start calculating the autocorrelation function value of the series with a time lag, because trend correlation has more stringent requirements on the relationship between the series data compared to time correlation. Gradually increase the time lag value until the time lag at which the series autocorrelation function value first crosses the confidence interval is found, and use the time lag at which the first cross-confidence interval is found as the expanded current window size sw. cur Determine the expanded current window size (sw) cur Is it larger than the preset sliding window boundary size sw? th If so, it indicates that the load sequence has a significant time correlation, and therefore the load sequence is highly likely to maintain this time correlation in the future. In this case, the expanded current window size sw will be... cur The sliding window size was chosen because historical load trends are not significant. Therefore, it's desirable to fully exploit the temporal correlation of load sequence data to ensure the model's prediction accuracy. If not, it indicates that recent loads do not have significant temporal correlation, suggesting that recent loads are highly dynamic and random. In this case, the maximum size of the preset sliding window, sw, is directly used. max The sliding window size is chosen as the final selection to ensure the model fully utilizes historical load sequence information and prevents excessive fluctuations in model prediction performance.

[0091] Finally, at each time step, after the adaptive sliding window algorithm determines the optimal sliding window size based on the historical load sequence, the GBDT model is trained using training samples constructed based on the finally selected sliding window size to predict the online load fluctuations in the next cycle.

[0092] The integration module 44 is used to combine the prediction results based on offline trend prediction and the prediction results based on online fluctuation prediction to integrate the comprehensive prediction results.

[0093] In this embodiment, the integration strategy of the integrated module 44 for the comprehensive prediction results is to transform the "evaluation of base predictor performance problem" into a "multi-class regression problem." The multi-class regression problem gives the probability of whether an observation belongs to a set of categories. First, the base predictor performance matrix PV is constructed using the historical prediction errors of the base predictors. PV is the basic element of the multi-class regression model training and prediction input dataset in the base predictor evaluation step. It is a 2×m feature matrix composed of the prediction errors of the base predictors in historical predictions. The first and second rows are the prediction errors of the WAVE-SARIMA model and the OnS-GBDT model at m historical time points, respectively. Therefore, by constructing the training dataset and prediction input dataset of the classification model using the PV matrix at multiple historical time points, the multi-class regression model is generated and used to predict the probability that each base predictor is the best predictor at the next time point. Then, the calculated probabilities are used as weighting coefficients for the base predictor prediction results to obtain the comprehensive prediction result of the integrated model.

[0094] Specifically, the integration module 44 is used to construct error samples for M historical time points based on the prediction results of offline trend prediction, the prediction results of online fluctuation prediction, and the actual load data. The input feature of the error samples is a sample matrix consisting of 2 rows and M columns, where M is greater than 1. The first row represents the prediction error based on offline trend prediction, and the second row represents the prediction error based on online fluctuation prediction. The label of the error samples is the category of the better-performing base predictor; that is, if the offline trend base predictor has a smaller error, it is 0; if the online fluctuation base predictor has a smaller error, it is 1. Based on the labels of the error samples for the M historical time points, the historical performance stability of the base predictor is calculated. The historical performance stability of the base predictor is compared with a stability threshold to determine whether the historical prediction is stable. If so, based on temporal locality (if the most recent...),... If a base predictor in the past can predict load conditions well in the near future, then it is likely that the base predictor will still give good prediction results in the near future. A weighting algorithm is used to assign different weight coefficients to each sample in the error samples to train a first multi-class regression model. Based on the trained first multi-class regression model and the error input feature matrix at the current time, the weight coefficients of the offline trend base predictor and the online fluctuation base predictor are predicted. Based on the weight coefficients of each base predictor and the prediction results, a comprehensive prediction result is integrated. If not, a second multi-class regression model is directly trained based on the error samples from the past M time points. Based on the second multi-class regression model and the error input feature matrix at the current time, the weight coefficients of the offline trend base predictor and the online fluctuation base predictor are predicted, and the comprehensive prediction result is further integrated.

[0095] It should be noted that the division of the various modules in the above system is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, these modules can be implemented entirely in software via processing element calls, entirely in hardware, or partially in software calls via processing element calls, with some modules implemented in hardware. For example, module x can be a separate processing element or integrated into a chip within the system. Additionally, module x can be stored as program code in the system's memory, invoked and executed by a processing element. The implementation of other modules is similar. These modules can be fully or partially integrated together or implemented independently. The processing element mentioned here can be an integrated circuit with signal processing capabilities. During implementation, each step of the above method or each of the above modules can be completed through integrated logic circuits in the processor element or through software instructions. These modules can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more Digital Signal Processors (DSPs), one or more Field Programmable Gate Arrays (FPGAs), etc. When a module is implemented through processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. These modules can be integrated together to form a System-on-a-Chip (SOC).

[0096] The load forecasting system described in this embodiment is based on the load forecasting method, providing a specific load forecast value at each forecasting time and updating the model according to a determined strategy. Simultaneously, the load forecast values ​​provided by the load forecasting system will be interfaced with the service resource management system, providing reliable and beneficial resource management decision-making basis for service resource management operations, thereby achieving proactive service resource management.

[0097] Example 3

[0098] This embodiment provides a load forecasting device, including: a processor, a memory, a transceiver, a communication interface and / or a system bus; the memory and the communication interface are connected to the processor and the transceiver through the system bus and complete mutual communication; the memory is used to store computer programs; the communication interface is used to communicate with other devices; the processor and the transceiver are used to run the computer programs, so that the load forecasting device performs the various steps of the load forecasting method as described in Embodiment 1.

[0099] The system bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This system bus can be divided into address bus, data bus, control bus, etc. For ease of representation, only one thick line is used in the diagram, but this does not indicate that there is only one bus or one type of bus. The communication interface is used to enable communication between the database access device and other devices (such as clients, read-write libraries, and read-only libraries). Memory may include Random Access Memory (RAM) and may also include non-volatile memory, such as at least one disk drive.

[0100] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0101] The scope of protection of the load prediction method described in this invention is not limited to the execution order of the steps listed in this embodiment. Any solution implemented by adding, subtracting, or replacing steps in the prior art based on the principles of this invention is included within the scope of protection of this invention.

[0102] The present invention also provides a load prediction system, which can implement the load prediction method described in the present invention. However, the implementation device of the large data access method described in the present invention includes, but is not limited to, the structure of the large data access system listed in this embodiment. All structural modifications and substitutions of the prior art made in accordance with the principles of the present invention are included within the protection scope of the present invention.

[0103] In summary, the load forecasting method, system, device, and computer-readable storage medium described in this invention improve the reliability of models in scenarios with highly volatile cloud loads. The forecasting model based on a sliding window can adapt to different load patterns, and the integrated model combination strategy maximizes the advantages of the models. Furthermore, it enables load forecasting tools that can be practically applied to service resource management systems, providing truly executable middleware support. Therefore, this invention effectively overcomes the various shortcomings of existing technologies and has high industrial applicability.

[0104] The above embodiments are merely illustrative of the principles and effects of the present invention and are not intended to limit the invention. Any person skilled in the art can modify or alter the above embodiments without departing from the spirit and scope of the present invention. Therefore, all equivalent modifications or alterations made by those skilled in the art without departing from the spirit and technical concept disclosed in the present invention should still be covered by the claims of the present invention.

Claims

1. A load forecasting method, characterized in that, include: Obtain historical tracking load data from cloud application systems and construct historical load sequences; Perform offline trend forecasting of load on historical load sequences to generate forecast results based on offline trend forecasting; Perform online volatility prediction on historical load sequences to generate prediction results based on online volatility prediction; The steps for generating online fluctuation prediction results based on historical load sequences include: at the initial moment, based on the minimum size of a preset sliding window, expanding the window size to twice its original size according to the trend correlation of adjacent windows, repeating the expansion until adjacent windows are no longer trend-correlated, at which point the expansion stops; determining whether the expanded current window size is greater than the boundary size of the preset sliding window; if so, it indicates that the recent load has a significant trend, and the minimum size of the preset sliding window is used as the final selected sliding window size; if not, it indicates that the recent load does not have a significant trend, and proceeding to the next step: expanding the window size based on the time correlation of the historical load sequence; The steps for expanding the window size based on the temporal correlation of historical load sequences include: calculating the temporal correlation of recent historical load sequences within the window's field of view based on the maximum size of a preset sliding window to obtain the autocorrelation function value; gradually increasing the time lag value until the time lag at which the autocorrelation function value first crosses the confidence interval is found, and using the time lag at which the first crosses the confidence interval is used as the expanded current window size; determining whether the expanded current window size is greater than the boundary size of the preset sliding window; if so, it indicates that the recent load has significant temporal correlation, and the expanded current window size is used as the final selected sliding window size; if not, it indicates that the recent load does not have significant temporal correlation, and the maximum size of the preset sliding window is directly used as the final selected sliding window size; and constructing training samples based on the final selected sliding window size for training to predict online load fluctuations in the next cycle. The forecast results are combined with those based on offline trend prediction and those based on online fluctuation prediction to form an integrated forecast.

2. The load forecasting method according to claim 1, characterized in that, The historical tracking load data includes various loads of the cloud application system; the various loads of the cloud application system include request load and / or resource load.

3. The load forecasting method according to claim 1, characterized in that, The steps for performing offline trend forecasting of historical load sequences to generate forecast results based on offline trend forecasting include: Extract low-frequency information from historical load sequences; Based on historical trend information from the previous cycle, trend prediction is made for the next cycle to predict the forecast results based on offline trend prediction.

4. The load forecasting method according to claim 1, characterized in that, The steps to integrate and synthesize forecast results by combining forecasts based on offline trend predictions and forecasts based on online fluctuation predictions include: Based on the prediction results of offline trend prediction, the prediction results of online fluctuation prediction, and real data, error samples for M historical time points are constructed. The input feature of the error samples is a sample matrix consisting of 2 rows and M columns. The first row represents the prediction error based on offline trend prediction, and the second row represents the prediction error based on online fluctuation prediction. The label of the error sample is the category of the better-performing base predictor. That is, if the offline trend base predictor has a smaller error, it is 0, and if the online fluctuation base predictor has a smaller error, it is 1. Calculate the historical performance stability of the base predictor based on the error sample labels of M historical time points; The historical stability of the base predictor is compared with a stability threshold to determine whether the historical predictions are stable. If so, based on temporal locality, a weighting algorithm is used to assign different weight coefficients to each sample in the error sample set to train the first multi-class regression model. The weight coefficients of the offline trend base predictor and the online volatility base predictor are predicted based on the trained first multi-class regression model and the error input feature matrix at the current moment. The comprehensive prediction result is integrated based on the weight coefficients of each base predictor and the load prediction result. If not, the second multi-class regression model is trained directly based on the error samples at M historical moments. The weight coefficients of the offline trend base predictor and the online volatility base predictor are predicted based on the second multi-class regression model and the error input feature matrix at the current moment, and the comprehensive prediction result is further integrated.

5. The load forecasting method according to claim 4, characterized in that, The labels engraved on the error samples at M historical time points are a sequence of labels consisting of 1 and / or 0; The steps for calculating the historical performance stability of the base predictor include: Calculate the variance and the reciprocal of the variance corresponding to the label sequence; The reciprocal of the variance corresponding to the label sequence is the historical performance stability of the base predictor.

6. A load forecasting system, characterized in that, include: The data acquisition module is used to acquire historical tracking load data from cloud application systems and construct historical load sequences. The offline forecasting module is used to perform offline trend forecasting of the load on historical load sequences to generate forecasting results based on offline trend forecasting. The online forecasting module is used to perform online fluctuation forecasting on historical load sequences to generate forecast results based on online fluctuation forecasting; The steps for performing online fluctuation prediction on historical load sequences to generate prediction results based on online fluctuation prediction include: at the initial moment, based on the minimum size of a preset sliding window, expanding the window size according to the trend correlation of adjacent windows, expanding the window size to twice the original size, repeating the expansion until adjacent windows are no longer trend correlated, and then stopping the expansion; Determine whether the expanded current window size is greater than the preset sliding window boundary size; if yes, it indicates that the recent load has a clear trend, and the minimum size of the preset sliding window is used as the final selected sliding window size; if no, it indicates that the recent load does not have a clear trend, and proceed to the next step: expand the window size based on the time correlation of historical load sequences. The steps for expanding the window size based on the temporal correlation of historical load sequences include: calculating the temporal correlation of recent historical load sequences within the window's field of view based on the maximum size of a preset sliding window to obtain the autocorrelation function value; gradually increasing the time lag value until the time lag at which the autocorrelation function value first crosses the confidence interval is found, and using the time lag at which the first crosses the confidence interval is used as the expanded current window size; determining whether the expanded current window size is greater than the boundary size of the preset sliding window; if so, it indicates that the recent load has significant temporal correlation, and the expanded current window size is used as the final selected sliding window size; if not, it indicates that the recent load does not have significant temporal correlation, and the maximum size of the preset sliding window is directly used as the final selected sliding window size; and constructing training samples based on the final selected sliding window size for training to predict online load fluctuations in the next cycle. The integration module combines the forecast results based on offline trend prediction with the forecast results based on online fluctuation prediction to create a comprehensive forecast result.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the program implements the load prediction method according to any one of claims 1 to 5.

8. A load prediction device, characterized in that, include: Processor and memory; The memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to cause the load forecasting device to perform the load forecasting method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Resource needs prediction in virtualized systems: generic proactive and self-adaptive solution

    WO2019150343A1