A method and device for generating second read-write frequency data IOPS prediction results

By combining clustering of historical read/write operations per second (IOPS) data with a neural network model, the problem of unpredictable access code usage was solved, achieving efficient and accurate IOPS prediction, reducing maintenance costs and improving access code operating efficiency.

CN116244615BActive Publication Date: 2026-01-06CHINA TELECOM CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211582024.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-09
Publication Date
2026-01-06
Estimated Expiration
2042-12-09

Smart Images

  • Figure CN116244615B_ABST
    Figure CN116244615B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a kind of second read-write frequency data IOPS prediction result generation method and device, by obtaining historical second read-write frequency data IOPS, and generate the timestamp corresponding to the historical second read-write frequency data IOPS;Multiple historical data time series for the historical second read-write frequency data IOPS are generated based on the timestamp;The historical second read-write frequency data IOPS is divided into multiple IOPS data clusters by multiple historical data time series;According to multiple IOPS data clusters, clustering attribution model is established;Determine neural network initialization parameter, and generate IOPS prediction model by the clustering attribution model and the neural network initialization parameter;IOPS prediction result is generated based on the IOPS prediction model, so as to realize the efficiency and accuracy for IOPS prediction are improved, IOPS maintenance cost is reduced, and the normal bright code rate of access code is further improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of IOPS prediction results generation technology, and in particular to a method for generating IOPS prediction results, a device for generating IOPS prediction results, an electronic device, and a computer-readable storage medium. Background Technology

[0002] To ensure the sustainable and normal operation of the access code, a large amount of manpower and resources are needed to monitor and maintain the access code business equipment. However, since the use of access codes is affected by many factors, if the usage of access codes cannot be accurately predicted, it is still impossible to adjust the underlying equipment in a timely manner according to the usage to ensure the normal use of access codes. Once the access code system malfunctions, it is very easy to cause queuing and congestion in areas with high traffic, such as subway stations and hospitals, causing inconvenience or even chaos.

[0003] Therefore, predicting the usage of access codes has become a problem that needs to be overcome by those skilled in the art. Summary of the Invention

[0004] The present invention provides a method, apparatus, electronic device, and computer-readable storage medium for generating IOPS prediction results of read / write operations per second, in order to solve the problem of how to predict the usage of access codes.

[0005] This invention discloses a method for generating IOPS prediction results for read / write operations per second, which may include:

[0006] Obtain historical read / write operations per second (IOPS) and generate a timestamp corresponding to the historical read / write operations per second (IOPS);

[0007] Based on the timestamp, generate multiple historical data time series for the historical read / write count data IOPS;

[0008] The historical read / write frequency data (IOPS) per second is divided into multiple IOPS data clusters using multiple historical data time series.

[0009] A clustering attribution model is established based on the clustering of multiple IOPS data;

[0010] Determine the neural network initialization parameters, and generate an IOPS prediction model using the clustering attribution model and the neural network initialization parameters;

[0011] IOPS prediction results are generated based on the IOPS prediction model.

[0012] Optionally, the step of dividing the historical second read / write count data IOPS into multiple IOPS data clusters using multiple historical data time series may include:

[0013] Determine the initial Q-learning parameters and basic parameters, wherein the basic parameters include the maximum deviation distance parameter, the similarity parameter, and the deviation parameter, and the initial Q-learning parameters include the initial state parameters;

[0014] The historical data time series is normalized to generate target historical data time series, and the first Euclidean distance between each pair of the target historical data time series is determined.

[0015] Identify the comparison center sequence and other center sequences that are related to the comparison center sequence from multiple historical data time series;

[0016] Based on the initial state parameters, the maximum number of similar points and the maximum number of deviation points for the comparison center sequence and the other center sequences are determined.

[0017] Based on the maximum number of similar points and the maximum number of deviation points, the multiple historical data time series are divided into multiple initial IOPS data clusters according to a preset standard;

[0018] Based on the first Euclidean distance, the total error value for clustering multiple initial IOPS data is determined according to a preset algorithm;

[0019] The current state parameters corresponding to the initial IOPS data cluster are determined based on the initial IOPS data cluster.

[0020] Based on the total error and the current state parameters, generate the maximum deviation similarity parameter for clustering multiple initial IOPS data;

[0021] The historical data time series are divided into multiple IOPS data clusters based on the maximum deviation similarity parameter.

[0022] Optionally, the step of establishing a clustering affiliation model based on clustering multiple IOPS data may include:

[0023] From the IOPS data clustering, determine the predicted cluster center sequence and multiple other cluster center sequences that are associated with the predicted cluster center sequence;

[0024] Calculate the second Euclidean distance between the predicted cluster center sequence and multiple other cluster center sequences; the second Euclidean distance has a corresponding Euclidean distance parameter; the Euclidean distance parameter corresponds one-to-one with the other cluster center sequences;

[0025] Select the smallest Euclidean distance parameter from the Euclidean distance parameters, and determine the other cluster center sequences corresponding to the smallest Euclidean distance parameter as the target cluster center sequence;

[0026] Determine the target IOPS data clustering based on the target cluster center sequence;

[0027] The clustering affiliation model is established based on the target IOPS data clustering.

[0028] Optionally, the clustering attribution model has corresponding clustering attribution data, and the step of generating an IOPS prediction model using the clustering attribution model and the neural network initialization parameters may include:

[0029] An initialization matrix for the clustering data is generated using a mapping formula; the initialization matrix contains multiple genes for expressing the clustering of the IOPS data.

[0030] The population fitness value is determined using the initialization matrix, and the optimal gene is determined from the genes.

[0031] The neural network model is trained based on the optimal gene, the neural network initialization parameters, and the clustering data to generate an IOPS prediction model.

[0032] Optionally, the neural network initialization parameters may include an input layer number parameter, which is determined based on the number of timestamps.

[0033] Optionally, the step of generating IOPS prediction results based on the IOPS prediction model may include:

[0034] The source data to be predicted is normalized to generate the data to be predicted.

[0035] The predicted data is obtained by training the IOPS prediction model on the data to be predicted.

[0036] The predicted data is inversely normalized to generate IOPS prediction results.

[0037] This invention also discloses a device for generating IOPS prediction results for read / write operations per second, which may include:

[0038] The second read / write count data acquisition module is used to acquire historical second read / write count data (IOPS) and generate a timestamp corresponding to the historical second read / write count data (IOPS).

[0039] The time series generation module is used to generate multiple historical data time series for the historical read / write count data IOPS based on the timestamp;

[0040] The data clustering and partitioning module is used to divide the historical read / write count data (IOPS) into multiple IOPS data clusters using multiple historical data time series.

[0041] The clustering attribution model building module is used to build a clustering attribution model based on the clustering of multiple IOPS data.

[0042] The prediction model generation module is used to determine the neural network initialization parameters and generate an IOPS prediction model using the clustering attribution model and the neural network initialization parameters.

[0043] The prediction result generation module is used to generate IOPS prediction results based on the IOPS prediction model.

[0044] Optionally, the data clustering and partitioning module may include:

[0045] The parameter determination submodule is used to determine the initial Q-learning parameters and basic parameters. The basic parameters include the maximum deviation distance parameter, similarity parameter, and deviation parameter. The initial Q-learning parameters include the initial state parameter.

[0046] The target historical data time series generation submodule is used to normalize the historical data time series, generate target historical data time series, and determine the first Euclidean distance between each pair of the target historical data time series.

[0047] Other center sequence determination submodule is used to determine the comparison center sequence and other center sequences that are related to the comparison center sequence from multiple historical data time series;

[0048] The point determination submodule is used to determine the maximum number of similar points and the maximum number of deviation points for the comparison center sequence and the other center sequences based on the initial state parameters;

[0049] The initial data clustering submodule is used to divide the multiple historical data time series into multiple initial IOPS data clusters according to the maximum number of similar points and the maximum number of deviation points based on a preset standard.

[0050] The total error determination submodule is used to determine the total error for clustering multiple initial IOPS data based on the first Euclidean distance according to a preset algorithm;

[0051] The current state parameter determination submodule is used to determine the current state parameter corresponding to the initial IOPS data cluster based on the initial IOPS data cluster;

[0052] The maximum deviation similarity parameter generation submodule is used to generate the maximum deviation similarity parameter for multiple initial IOPS data clusters based on the total error value and the current state parameter.

[0053] The data clustering submodule is used to divide the multiple historical data time series into multiple IOPS data clusters based on the maximum deviation similarity parameter.

[0054] Optionally, the clustering attribution model building module may include:

[0055] The other cluster center sequence determination submodule is used to determine the predicted cluster center sequence and multiple other cluster center sequences that are associated with the predicted cluster center sequence from the IOPS data clustering;

[0056] The second Euclidean distance calculation submodule is used to calculate the second Euclidean distance between the predicted cluster center sequence and multiple other cluster center sequences; the second Euclidean distance has a corresponding Euclidean distance parameter; the Euclidean distance parameter corresponds one-to-one with the other cluster center sequences;

[0057] The minimum Euclidean distance parameter selection submodule is used to select the minimum Euclidean distance parameter from the Euclidean distance parameters and determine the other cluster center sequence corresponding to the minimum Euclidean distance parameter as the target cluster center sequence;

[0058] The target IOPS data clustering determination submodule is used to determine the target IOPS data cluster based on the target cluster center sequence;

[0059] The clustering attribution model establishment submodule is used to establish the clustering attribution model based on the target IOPS data clustering.

[0060] Optionally, the clustering attribution model has corresponding clustering attribution data, and the prediction model generation module may include:

[0061] An initialization matrix generation submodule is used to generate an initialization matrix for the clustering data using a mapping formula; the initialization matrix contains multiple genes for expressing the clustering of the IOPS data;

[0062] The optimal gene determination submodule is used to determine the population fitness value through the initialization matrix and to determine the optimal gene from the genes;

[0063] The IOPS prediction model generation submodule is used to train a neural network model based on the optimal gene, the neural network initialization parameters, and the clustering affiliation data to generate an IOPS prediction model.

[0064] Optionally, the neural network initialization parameters may include an input layer number parameter, which is determined based on the number of timestamps.

[0065] Optionally, the prediction result generation module may include:

[0066] The data to be predicted generation submodule is used to normalize the source data to be predicted and generate the data to be predicted.

[0067] The predicted value data generation submodule is used to train the data to be predicted based on the IOPS prediction model to obtain the predicted value data;

[0068] The IOPS prediction result generation submodule is used to perform inverse normalization processing on the predicted value data to generate IOPS prediction results.

[0069] This invention also discloses an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus;

[0070] The memory is used to store computer programs;

[0071] When the processor executes a program stored in the memory, it implements the method described in the embodiments of the present invention.

[0072] This invention also discloses a computer-readable storage medium storing instructions that, when executed by one or more processors, cause the processors to perform the methods described in this invention.

[0073] The embodiments of the present invention have the following advantages:

[0074] This invention, in its embodiments, acquires historical read / write operations per second (IOPS) data and generates a timestamp corresponding to the historical IOPS data; generates multiple historical data time series for the historical IOPS data based on the timestamps; divides the historical IOPS data into multiple IOPS data clusters using the multiple historical data time series; establishes a clustering model based on the multiple IOPS data clusters; determines neural network initialization parameters, and generates an IOPS prediction model using the clustering model and the neural network initialization parameters; and generates IOPS prediction results based on the IOPS prediction model. This improves the efficiency and accuracy of IOPS prediction, reduces IOPS maintenance costs, and further increases the normal code display rate of access codes. Attached Figure Description

[0075] Figure 1This is a flowchart of the steps in a method for generating IOPS prediction results for read / write operations per second provided in an embodiment of the present invention;

[0076] Figure 2 This is a flowchart of another method for generating IOPS prediction results for read / write operations per second provided in this embodiment of the invention;

[0077] Figure 3 This is a structural block diagram of a device for generating IOPS prediction results for read / write operations per second provided in an embodiment of the present invention;

[0078] Figure 4 This is a hardware structure block diagram of an electronic device provided in various embodiments of the present invention. Detailed Implementation

[0079] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0080] The normal operation of the access code service relies on cloud-based servers and underlying storage devices. The normal operation of these storage devices depends on IOPS data. As a crucial indicator for regulating these devices, IOPS data determines whether they can function properly under different conditions. There is a positive correlation between the size of IOPS data and the number of real-time visitors. The number of visitors varies depending on factors such as weather, holidays, and time of day (e.g., peak commuting hours). For example, peak commuting hours are peak times for access code display, resulting in more visitors, while the early morning hours are low times with fewer visitors. Therefore, during peak periods, higher IOPS is required to support the normal operation of the access code service, while during low periods, lower IOPS is sufficient. Since the usage of access codes is affected by various factors, operators and maintenance personnel need to invest a lot of manpower and resources to monitor the IOPS of the underlying equipment in real time. However, since the factors affecting the IOPS usage of access codes are complex and changeable, if manual maintenance is to accurately predict and process the IOPS usage, more manpower is needed, which will also generate more costs. Moreover, due to the limited computing power of humans, it is still difficult to accurately predict the IOPS usage of access codes. The embodiments of the present invention combine neural network algorithms and clustering attribution models to predict IOPS, so as to improve the efficiency and accuracy of IOPS prediction.

[0081] Reference Figure 1 The diagram illustrates a flowchart of a method for generating IOPS prediction results for read / write operations per second, as provided in an embodiment of the present invention. Specifically, the method may include the following steps:

[0082] Step 101: Obtain historical read / write operations per second (IOPS) data and generate a timestamp corresponding to the historical read / write operations per second (IOPS) data;

[0083] Step 102: Generate multiple historical data time series for the historical read / write count data IOPS based on the timestamp;

[0084] Step 103: Divide the historical read / write count data (IOPS) into multiple IOPS data clusters using multiple historical data time series;

[0085] Step 104: Establish a clustering affiliation model based on the clustering of multiple IOPS data;

[0086] Step 105: Determine the neural network initialization parameters, and generate an IOPS prediction model using the clustering attribution model and the neural network initialization parameters;

[0087] Step 106: Generate IOPS prediction results based on the IOPS prediction model.

[0088] In practical applications, IOPS stands for Input / Output Operations Per Second, a metric used to test the performance of computer storage devices (such as hard disk drives (HDDs), solid-state drives (SSDs), or storage area networks (SANs). It can be considered as the number of read and write operations per second. Changes in IOPS data reflect changes in the number of users accessing the access code during its usage, and also provide a basis for the maintenance and adjustment of the underlying storage devices for the access code. Therefore, achieving accurate prediction of IOPS can effectively enhance the ability to anticipate access code usage in advance.

[0089] In a specific implementation, embodiments of the present invention can acquire historical read / write operations per second (IOPS) data and generate a timestamp corresponding to the historical IOPS data. Based on the timestamp, multiple historical data time series for the historical IOPS data can be generated. For example, the historical IOPS data may include the average access code usage for the two years prior to the prediction date and the prediction date. Maximum pass code usage Minimum pass code usage Daily access code usage Data including ambient temperature (e5), ambient humidity (e6), holiday information (e7), and weather conditions (e8) are used. The average access code for the two years prior to the forecast date and the forecast date is used in this data. Maximum pass code usage Minimum pass code usage Daily access code usage Data can be obtained from a passcode node database. Ambient temperature (e5), ambient humidity (e6), holiday information (e7), and weather conditions (e8) can be obtained from weather forecast websites. Then, a time resolution can be set for the obtained historical read / write operations per second (IOPS) data. This time resolution can be a time-based scale used to generate timestamps corresponding to the historical IOPS data. The time unit can be microseconds, milliseconds, centimeters, minutes, seconds, hours, days, weeks, months, years, etc. For example, the time resolution for historical IOPS data can be set to 5 minutes, resulting in historical IOPS data with a 5-minute time interval. One day's historical IOPS data can generate 292 timestamps, each with a corresponding historical IOPS data, which may include the average passcode usage over the two years prior to the prediction date and the prediction date. Maximum pass code usage Minimum pass code usage Daily access code usage Data such as ambient temperature (e5), ambient humidity (e6), holiday information (e7), and weather conditions (e8) can be collected. Then, based on the timestamp, the data can be sorted in chronological order from morning to night to generate multiple sequences containing historical read / write counts (IOPS) as historical data time series.

[0090] Of course, the above examples are merely illustrative. Those skilled in the art can obtain historical read / write count data from other local and / or internet databases. This embodiment of the invention does not limit this. Those skilled in the art can use any time unit as the time resolution to generate timestamps. This embodiment of the invention also does not limit this.

[0091] This invention, through obtaining historical read / write operations per second (IOPS) data and generating a timestamp corresponding to the historical IOPS data, generates multiple historical data time series for the historical IOPS data based on the timestamps. This achieves the association and subdivision of historical IOPS data with time, assigns a time dimension identifier to the historical IOPS data, and sorts it according to certain rules, generating multiple historical data time series for the historical IOPS data, thereby further facilitating subsequent data processing.

[0092] In practical applications, Q-learning is a method of reinforcement learning. Q-learning records learned policies, thus informing the agent which action will yield the maximum reward under what circumstances. Q-learning is advantageous because it doesn't require modeling the environment and can be performed even with transition or reward functions containing random factors without significant modifications. During Q-learning, with continuous training and reinforcement, it becomes easier to find the fastest path to the target state. Therefore, using Q-learning to analyze historical IOPS (Instantaneous Intervals per Second) data helps to quickly segment this data, improving segmentation efficiency. Furthermore, the maximum deviation similarity criterion can be introduced to cluster historical IOPS data. This criterion effectively characterizes the similarity between data points with strong randomness and frequent fluctuations, offering simplicity, rationality, and flexibility. It allows for clustering without pre-specifying the number of categories, ensuring both inter-class differences and intra-class similarities.

[0093] In specific implementations, embodiments of the present invention can divide historical read / write operations per second (IOPS) into multiple IOPS data clusters using multiple historical data time series. For example, historical read / write operations per second (IOPS) can be divided into multiple IOPS data clusters based on Q-learning parameters and the maximum deviation similarity criterion using multiple historical data time series.

[0094] In this embodiment of the invention, the historical read / write operations per second (IOPS) data is divided into multiple IOPS data clusters through multiple historical data time series. This achieves efficient clustering of historical read / write operations per second (IOPS) data, while ensuring that each cluster has differences between clusters and similarities within clusters. This lays a data foundation for improving the efficiency of subsequent data analysis and the accuracy of the final IOPS prediction results.

[0095] In practical applications, the BP neural network, also known as the Back Propagation neural network, is a multi-layer feedforward neural network trained using an error backpropagation algorithm. It is one of the most widely used neural network models, and its theory and performance are relatively mature. Its outstanding advantages are its strong nonlinear mapping capability and flexible network structure. The number of intermediate layers and the number of neurons in each layer can be arbitrarily set according to specific circumstances, and its performance varies with different structures.

[0096] In a specific implementation, embodiments of the present invention can establish a clustering attribution model based on multiple IOPS data clusters; determine neural network initialization parameters, and generate an IOPS prediction model through the clustering attribution model and the neural network initialization parameters; generate IOPS prediction results based on the IOPS prediction model. For example, after obtaining multiple IOPS data clusters based on the maximum deviation similarity criterion, a clustering attribution model can be established based on selecting IOPS data clusters with minimal Euclidean distance. Euclidean distance, also known as Euclidean distance or Euclidean metric, is a commonly used distance definition; it is the true distance between two points in m-dimensional space. Then, the neural network initialization parameters can be determined based on the timestamps corresponding to the historical read / write count data (IOPS) in the IOPS data clusters. An IOPS prediction model is generated through the clustering attribution model and the neural network initialization parameters, and finally, an IOPS prediction result is generated based on the IOPS prediction model.

[0097] This invention, through obtaining historical read / write operations per second (IOPS) data and generating a timestamp corresponding to the historical IOPS data, generates multiple historical data time series for the historical IOPS data based on the timestamps. The historical IOPS data is then divided into multiple IOPS data clusters using these multiple historical data time series. A clustering model is established based on these multiple IOPS data clusters. Neural network initialization parameters are determined, and an IOPS prediction model is generated using the clustering model and the neural network initialization parameters. An IOPS prediction result is generated based on the IOPS prediction model, thereby improving the efficiency and accuracy of IOPS prediction, reducing IOPS maintenance costs, and further increasing the normal code display rate of access codes.

[0098] Based on the above embodiments, modified embodiments of the above embodiments are proposed. It should be noted that, in order to keep the description brief, only the differences from the above embodiments are described in the modified embodiments.

[0099] In an optional embodiment of the present invention, the step of dividing the historical read / write count data (IOPS) into multiple IOPS data clusters using multiple historical data time series includes:

[0100] Determine the initial Q-learning parameters and basic parameters, wherein the basic parameters include the maximum deviation distance parameter, the similarity parameter, and the deviation parameter, and the initial Q-learning parameters include the initial state parameters;

[0101] The historical data time series is normalized to generate target historical data time series, and the first Euclidean distance between each pair of the target historical data time series is determined.

[0102] Identify the comparison center sequence and other center sequences that are related to the comparison center sequence from multiple historical data time series;

[0103] Based on the initial state parameters, the maximum number of similar points and the maximum number of deviation points for the comparison center sequence and the other center sequences are determined.

[0104] Based on the maximum number of similar points and the maximum number of deviation points, the multiple historical data time series are divided into multiple initial IOPS data clusters according to a preset standard;

[0105] Based on the first Euclidean distance, the total error value for clustering multiple initial IOPS data is determined according to a preset algorithm;

[0106] The current state parameters corresponding to the initial IOPS data cluster are determined based on the initial IOPS data cluster.

[0107] Based on the total error and the current state parameters, generate the maximum deviation similarity parameter for clustering multiple initial IOPS data;

[0108] The historical data time series are divided into multiple IOPS data clusters based on the maximum deviation similarity parameter.

[0109] In a specific implementation, embodiments of the present invention can determine initial Q-learning parameters and basic parameters. For example, the initial Q-learning parameters may include initial state parameters S, and the basic parameters may include maximum deviation distance parameter γ, similarity parameter α, and deviation parameter β. The maximum deviation distance parameter γ, similarity parameter α, and deviation parameter β can be calculated using the following formula:

[0110] Formula 1:

[0111] γ = 0.05 + 0.2*rand

[0112] α = 0.7 + 0.2 * rand

[0113] β=m -1 +(1-α-m -1 )*rand

[0114] In this embodiment of the invention, historical data time series can be normalized to generate target historical data time series, and the first Euclidean distance between each pair of target historical data time series can be determined. Normalization is a simplified calculation method, transforming a dimensional expression into a dimensionless expression, becoming a scalar. Euclidean distance, also known as Euclidean distance or Euclidean metric, is a commonly used distance definition; it is the true distance between two points in m-dimensional space. For example, multiple historical data time series of access codes can be normalized to generate target historical data time series, and the pairwise Euclidean distance between each target historical data time series can be calculated as the first Euclidean distance. Then, a comparison center sequence and other center sequences associated with the comparison center sequence can be determined from the multiple historical data time series. For example, one historical data time series from multiple historical data time series generated based on timestamps for historical read / write operations per second (IOPS) can be used as the comparison center x. i That is, by comparing the central sequence, other historical data time series are used as other time series x. j That is, other central sequences.

[0115] In a specific implementation, embodiments of the present invention can determine the maximum number of similar points and the maximum number of deviation points for the comparison center sequence and other center sequences based on initial state parameters; for example, when the initial state parameter is S, and the comparison center sequence is comparison center x i Other central sequences are other time series x j When the maximum number of similar points is n, the maximum number of similar points is denoted as the maximum number of similar points. ij The maximum deviation point is denoted as the maximum deviation point number m. ij Then, the maximum number of similar points and the maximum number of deviation points can be calculated using the following formula:

[0116] Formula 2:

[0117]

[0118]

[0119] In a specific implementation, embodiments of the present invention can divide multiple historical data time series into multiple initial IOPS data clusters according to a preset standard based on the maximum number of similar points and the maximum number of deviation points; for example, if the initial state parameter S is known, the comparison center sequence x i Other central sequences x j The maximum number of similar points n ij Maximum deviation point m ijIf the maximum deviation distance parameter is γ, the similarity parameter is α, and the deviation parameter is β, then multiple initial IOPS data clusters can be generated based on preset criteria, which are as follows:

[0120] n ij >n0,n0=[α×m],α(1≤α≤1-m -1 ); 1≤m ij ≤m0, m0=[β×m], β(m -1 ≤α≤1-α)

[0121] For example, other central sequences x that meet preset criteria j Assigned to S(x) i ), where S(x) i (to be related to the analogy center x) i Similar time series, and the pass codes that meet the conditions can be used with IOPS time series x j Remove the original passcode from the set U of IOPS time series and repeat the partitioning steps according to the preset criteria until the original passcode IOPS time series set U is empty. The partitioning is then complete, and the generated passcode IOPS time series clustering is used as the initial IOPS data clustering.

[0122] In a specific implementation, embodiments of the present invention can determine the total error value for clustering multiple initial IOPS data based on a first Euclidean distance according to a preset algorithm. For example, the cluster centers of each category after clustering can be calculated, wherein the calculation formula for the cluster centers is as follows:

[0123] Formula 3:

[0124]

[0125]

[0126] The formula for calculating the total error is as follows:

[0127] Formula 4:

[0128]

[0129] The current state parameter corresponding to the initial IOPS data cluster can be determined based on the initial IOPS data cluster. When the current state parameter is determined to be S, the corresponding Q-learning parameter can be calculated based on the current state parameter S. The Q-learning parameter can have a corresponding step number parameter M, and the calculation formula is as follows:

[0130] Formula 5:

[0131]

[0132] r(S,a)=F p (S,a)-F0(S,a)

[0133] Update the current state parameter S*, and return to the point where the maximum number of similar points n corresponding to the current state parameter S* is calculated. ij Maximum deviation point m ij The steps are as follows: let the step number parameter M* = M-1 corresponding to the Q learning parameter, until M* = 0. When M* = 0, calculate the total profit, where the formula for calculating the total profit Q is as follows:

[0134] Formula 6:

[0135] Q(a)=F p (a)-(1-r)F0(a)-r(1-r)F0(a (1) )-…-r m F0(a (m) )

[0136] For example, the current state S* corresponding to the maximum total return Q can be selected as the parameter of the maximum deviation similarity criterion. The historical data time series can be clustered, and the steps contained in formulas 1-3 can be repeated. The final cluster is used as the IOPS data cluster.

[0137] In embodiments of the present invention, initial Q-learning parameters and basic parameters are determined, the basic parameters including a maximum deviation distance parameter, a similarity parameter, and a deviation parameter, and the initial Q-learning parameters include an initial state parameter; the historical data time series are normalized to generate target historical data time series, and the first Euclidean distance between each pair of the target historical data time series is determined; a comparison center sequence and other center sequences associated with the comparison center sequence are determined from the multiple historical data time series; based on the initial state parameter, the maximum number of similar points and the maximum number of similar points for the comparison center sequence and the other center sequences are determined. The algorithm involves: determining the maximum number of similar points and the maximum number of deviation points; dividing multiple historical data time series into multiple initial IOPS data clusters according to a preset standard; determining the total error value for the multiple initial IOPS data clusters based on the first Euclidean distance using a preset algorithm; determining the current state parameters corresponding to the initial IOPS data clusters; generating the maximum deviation similarity parameter for the multiple initial IOPS data clusters based on the total error value and the current state parameters; and dividing the multiple historical data time series into multiple IOPS data clusters according to the maximum deviation similarity parameter. This approach achieves improved efficiency in cluster division through Q-learning training of clusters. Furthermore, by calculating the maximum number of similar points and the maximum number of deviation points, it solves the problem that traditional maximum deviation similarity clustering algorithms cannot determine similarity and deviation, thus improving clustering accuracy and providing data support for further improving the efficiency and accuracy of IOPS prediction.

[0138] In an optional embodiment of the present invention, the step of establishing a clustering affiliation model based on the clustering of the plurality of IOPS data includes:

[0139] From the IOPS data clustering, determine the predicted cluster center sequence and multiple other cluster center sequences that are associated with the predicted cluster center sequence;

[0140] Calculate the second Euclidean distance between the predicted cluster center sequence and multiple other cluster center sequences; the second Euclidean distance has a corresponding Euclidean distance parameter; the Euclidean distance parameter corresponds one-to-one with the other cluster center sequences;

[0141] Select the smallest Euclidean distance parameter from the Euclidean distance parameters, and determine the other cluster center sequences corresponding to the smallest Euclidean distance parameter as the target cluster center sequence;

[0142] Determine the target IOPS data clustering based on the target cluster center sequence;

[0143] The clustering affiliation model is established based on the target IOPS data clustering.

[0144] In a specific implementation, embodiments of the present invention can determine that the access code uses the IOPS data clustering center x. i As a predicted cluster center sequence, other cluster centers x j As other cluster center sequences, calculate the predicted cluster center sequence x. i and multiple other cluster center sequences x j Euclidean distance x ijc As the second Euclidean distance, where the Euclidean distance x ijc The Euclidean distance parameter is x ijc The calculation formula is as follows:

[0145] Formula 7:

[0146] x ijk =||x ik -x jk ||

[0147] Where i, j = 1, 2, ..., n; k = 1, 2, ..., m; x ik x is the value of the i-th predicted data at the k-th time point; jk This represents the value at the k-th time point for the j-th cluster center.

[0148] Compare the Euclidean distance parameter x ijc Select the smallest x from the selected area. ijc Determine with x ijc The corresponding other cluster center sequences x j With the predicted cluster center sequence x i The data is classified as Class C and used as the target cluster center sequence. Based on the target cluster center sequence, the target IOPS data is clustered, and a clustering affiliation model is established.

[0149] This invention provides an embodiment that determines a predicted cluster center sequence and multiple other cluster center sequences that are associated with the predicted cluster center sequence from the IOPS data clustering.

[0150] Calculate the second Euclidean distance between the predicted cluster center sequence and multiple other cluster center sequences; the second Euclidean distance has a corresponding Euclidean distance parameter; the Euclidean distance parameter corresponds one-to-one with the other cluster center sequences; select the minimum Euclidean distance parameter from the Euclidean distance parameters, and determine the other cluster center sequence corresponding to the minimum Euclidean distance parameter as the target cluster center sequence; determine the target IOPS data cluster based on the target cluster center sequence; establish the clustering attribution model based on the target IOPS data cluster, thereby realizing the establishment of the clustering attribution model and establishing a data foundation for subsequent data calculation and IOPS prediction.

[0151] In an optional embodiment of the present invention, the step of generating an IOPS prediction model using the clustering attribution model and the neural network initialization parameters includes: generating an initialization matrix for the clustering attribution data using a mapping formula; the initialization matrix containing a plurality of genes for expressing the clustering of the IOPS data; determining a group fitness value using the initialization matrix and determining the optimal gene from the genes; training a neural network model based on the optimal gene, the neural network initialization parameters, and the clustering attribution data to generate an IOPS prediction model.

[0152] In an optional embodiment of the present invention, the neural network initialization parameters include an input layer number parameter, which is determined based on the number of timestamps.

[0153] In practical applications, BP neural networks have a technical flaw that makes them prone to getting trapped in local optima. That is, when a local optimum exists, if the search step size is small, all solutions may point to the optimal solution in this local solution, which will cause the BP neural network training to stagnate. Therefore, this problem should be considered when using BP neural networks to train data.

[0154] In specific implementations, the clustering attribution model can have corresponding clustering attribution data. The neural network initialization parameters can include parameters such as the number of input layers, hidden layers, output layers, and convergence error. These initialization parameters can be determined based on timestamps. For example, when the number of timestamps is 292, the number of input layers can be determined to be 292, and the corresponding hidden layer parameters can be set to 25, the output layer parameters to 288, and the convergence error parameter to 10*-6. Simultaneously, genetic algorithm parameters can be initialized. These parameters can include parameters such as the maximum number of iterations, population size, mutation probability, maximum deviation coefficient, and maximum error. For example, the maximum number of iterations can be set to 10000, the population size to 20, the mutation probability to 0.09, and the maximum deviation coefficient to 0.00001. When the clustering attribution model is C, it has corresponding clustering attribution data X. ij For example, chaotic sequences can be generated using a mapping formula and processed using a chaotic algorithm to cluster and assign them to data X. ijThe initialization matrix is ​​constructed by mapping to the solution space. The solution space refers to the set of all solutions to the homogeneous linear equation system, forming a vector space, i.e., a set. The chaotic algorithm refers to a chaotic sequence encryption algorithm. This algorithm first uses a one-way hash function to hash the key into the initial value of the chaotic mapping iteration. The chaotic sequence is only used after several iterations. Then, the chaotic sequence value generated by the iteration is mapped to ASCII code and XORed byte-by-byte with the map data. Considering the finite precision effect in actual calculations, the chaotic mapping parameters are changed with the step size. Using actual map data, the chaotic algorithm can quickly find the global coverage optimum. For example, a 1*D dimensional random matrix can be randomly generated in the interval (0, 1) as particle P1. The cubic mapping formula can be used as the mapping formula. For each number in particle P1, a chaotic sequence is generated using the cubic mapping, resulting in N initial particles. The mapping formula is as follows:

[0155] Formula 8:

[0156] x n+1 =4(x n ) 3 -3x n

[0157] The clustering data X can be assigned using the following formula. ij The resulting chaotic sequence is mapped to the solution space to construct an initialization matrix:

[0158] Formula 9:

[0159]

[0160] x i =z i (x imax -x imin )+x imin

[0161] The initialization matrix can be an N*D matrix B:

[0162]

[0163] Where, x ij It can be used as a gene in the initialization matrix to express IOPS data clustering, x ij Let represent the value of the j-th dimension of the i-th gene, where i = 1...n, j = 1...d.

[0164] The population fitness value is calculated based on matrix B. Population fitness refers to the relative ability of an individual with a known genotype to pass on its genes to its offspring gene pool under certain environmental conditions. It is a measure of an individual's survival and reproductive chances. By calculating the population fitness value, the optimal gene can be selected. Then, a selection operation can be performed. For example, a roulette wheel selection algorithm can be chosen. Based on the population fitness value, the selection probability pi of each individual i is calculated according to the fitness value proportion. The formula is as follows:

[0165] Formula 10:

[0166] f i =k / F i

[0167]

[0168] Where Fi is the fitness value of individual i, k is the coefficient, and N is the number of individuals in the population.

[0169] Then, mutation operations can be performed, using the following formula:

[0170] Formula 11:

[0171]

[0172] Among them, a max For gene a ij The upper bound; a min For gene a ij The lower bound; f(g) = r2(1-g / G) max ) 2 r2 is a random number; g is the current iteration number; G max is the maximum number of evolutions; r is a random number between [0, 1].

[0173] It can also perform cross-sectional and cross-sectional operations, which include horizontal cross-sectional and vertical cross-sectional operations.

[0174] The horizontal crossover operation can be calculated using the following formula:

[0175] Formula 12:

[0176] M hc (i,d)=r1X(i,d)+(1-r1)X(j,d)+c1(X(i,d)-X(j,d))

[0177] M hc (j,d)=r2X(j,d)+(1-r2)X(i,d)+c2(X(j,d)-X(i,d))

[0178] Where c1 and c2 are random numbers in the interval [-1, 1]; r1 and r2 are random numbers in the interval [-1, 1]; X(i) and X(j) are the d-th dimensions of the parent genes X(i) and X(j), respectively; M hc (i,d),M hc (j,d) represent the d-th dimensional offspring of X(i,d) and X(j,d) through horizontal crossover.

[0179] The vertical crossover operation can be calculated using the following formula:

[0180] Formula 13:

[0181] M vc (i,d1)=rX(i,d1)+(1-r)X(i,d2)

[0182] Where r is a random number on [0, 1]; Mvc(i, d1) is the offspring gene generated by the vertical crossover of the d1 and d2 dimensions of gene i.

[0183] After the calculation is complete, the optimal gene is input into the BP neural network as the initial weight and threshold, and the clustering data X is assigned accordingly. ij The IOPS prediction model was obtained by training the BP neural network using the training dataset.

[0184] This invention generates an initialization matrix for the clustering data using a mapping formula. The initialization matrix contains multiple genes representing the IOPS data clusters. The initialization matrix determines the group fitness value, and the optimal gene is selected from these genes. Based on the optimal gene, the neural network initialization parameters, and the clustering data, a neural network model is trained to generate an IOPS prediction model. This achieves the generation of an initialization matrix based on a mapping formula, the determination of the optimal gene, and the training of the neural network model based on the optimal gene. This solves the problem of BP neural networks easily getting trapped in local optima during prediction, further improving the feasibility and accuracy of IOPS prediction.

[0185] In an optional embodiment of the present invention, the step of generating IOPS prediction results based on the IOPS prediction model includes:

[0186] The source data to be predicted is normalized to generate the data to be predicted.

[0187] The predicted data is obtained by training the IOPS prediction model on the data to be predicted.

[0188] The predicted data is inversely normalized to generate IOPS prediction results.

[0189] In a specific implementation, the access code for the day to be predicted can be used as the source data for prediction using IOPS data. The access code for the day to be predicted is then normalized using IOPS data. The normalized access code is then used as the data to be predicted using IOPS data. The normalized access code is then fed into the prediction model, and the resulting predicted value is used as the predicted value data. The predicted value data is then denormalized, and the actual predicted value of the access code using IOPS is used as the IOPS prediction result.

[0190] This invention generates prediction data by normalizing the source data to be predicted; training the prediction data based on the IOPS prediction model to obtain predicted value data; and performing inverse normalization on the predicted value data to generate IOPS prediction results. This achieves the generation of IOPS prediction results based on the IOPS prediction model, thereby improving the accuracy and efficiency of predicting IOPS for read / write operations per second.

[0191] To enable those skilled in the art to better understand the embodiments of the present invention, a complete example is used below to illustrate the embodiments of the present invention.

[0192] Because the use of access codes is affected by various uncertainties, operators and their maintenance personnel need to invest significant manpower and resources in real-time monitoring of the underlying equipment. Furthermore, even with this approach, it's not guaranteed that access codes will function normally during peak periods, posing a severe challenge to access code maintenance units. However, if access code usage IOPS could be predicted in advance, maintenance units could prepare accordingly. During peak periods, they could adjust the IOPS of the underlying equipment in real-time by adjusting QoS (Quality of Service). QoS refers to a network's ability to provide better service for specified network communications using various basic technologies; it's a network security mechanism used to address network latency and congestion. Therefore, accurate IOPS prediction for access codes is essential to ensure their normal use. It allows maintenance units to anticipate equipment status and make necessary resource adjustments in advance, thereby improving the normal activation rate of access codes. The factors influencing access code IOPS prediction are diverse, including social, policy, weather, and even economic factors. Therefore, it is necessary to study precise and reasonable algorithms for IOPS prediction of access codes, which can involve many factors. A comprehensive and accurate access code using IOPS prediction algorithms can be an important guarantee for the flexible regulation of normal social operation.

[0193] refer to Figure 2 , Figure 2 This is a flowchart of another method for generating IOPS prediction results for read / write operations per second provided in this embodiment of the invention;

[0194] To achieve the above objectives, the present invention provides the following technical solution: an improved maximum deviation similarity algorithm using an IOPS prediction method for access codes, comprising the following steps:

[0195] Step S1: Construct the pass code using the IOPS dataset;

[0196] Step S2: Construct a passcode for the improved maximum deviation similarity criterion using IOPS data clustering;

[0197] Specifically, the steps for constructing a passcode for improving the maximum deviation similarity criterion using IOPS data clustering may include:

[0198] Initialize the Q-learning parameters. The Q-learning parameters are primarily the number of steps M to look forward.

[0199] The access code history is normalized using IOPS time series.

[0200] The Euclidean distance between pairs of sequences is calculated using IOPS time series analysis on the normalized access code history.

[0201] Initialize the basic parameters for Q-learning and the maximum deviation similarity criterion. The basic parameters for Q-learning are primarily the number of forward steps M and the initial state S; the basic parameters for the maximum deviation similarity criterion include the maximum deviation distance λ, the similarity α, and the deviation β. The formula for calculating the initial state is as follows:

[0202] γ = 0.05 + 0.2*rand

[0203] α = 0.7 + 0.2 * rand

[0204] β=m -1 +(1-α-m -1 )*rand

[0205] Clustering of different time series is performed based on the maximum deviation similarity criterion.

[0206] Using a certain time series x i As a center of comparison, calculate other time series x. j The maximum number of similar points n with the comparison center ij and the maximum number of deviation points m ij Maximum number of similar points n ij and the maximum number of deviation points m ij The calculation method is as follows:

[0207]

[0208]

[0209] Where, n ij >n0,n0=[α×m],α(1≤α≤1-m -1 ); 1≤m ij ≤m0, m0=[β×m], β(m -1 ≤α≤1-α).

[0210] After calculating the maximum deviation similarity between the comparison center and the j-th pass code using IOPS time series analysis, if the condition is met, x is set to... j Assigned to S(x) i ), where S(x) i (to be related to the analogy center x) i Similar time series.

[0211] The pass code that meets the conditions will be used with IOPS time series x j Remove the original pass codes from the set U of IOPS time series until the set U of IOPS time series of the original pass codes is empty. Otherwise, repeat the step of normalizing the pass code history using IOPS time series.

[0212] Calculate the cluster centers for each category after clustering. The formula for calculating the cluster centers is as follows:

[0213]

[0214]

[0215] The total clustering error for the current state is calculated using the following formula:

[0216]

[0217] Calculate the Q value of the current state S, where the formula for calculating the Q value is:

[0218]

[0219] r(S,a)=F p (S,a)-F0(S,a)

[0220] Update state S, return to step S2, M = M-1, until M = 0.

[0221] Calculate the total revenue, where the formula for calculating the total revenue is as follows.

[0222] Q(a)=F p (a)-(1-r)F0(a)-r(1-r)F0(a (1) )-…-r m F0(a (m) )

[0223] The state S corresponding to the maximum total return Q value is selected as the parameter of the maximum deviation similarity criterion. The IOPS time series of the pass code history is used for clustering. The clustering process is as in step S2 until the cluster centers of each category are calculated.

[0224] Step S3: Construct a clustering and attribution model for the predicted data;

[0225] Specifically, the steps for constructing a predictive data clustering attribution model may include:

[0226] Building predictive pass codes using IOPS data x i With each cluster center x j The corresponding Euclidean distance x ijc Specifically, the predicted pass code is constructed using IOPS data x i With each cluster center x j The corresponding Euclidean distance x ijc The Euclidean distance is calculated using the following formula:

[0227] x ijk =||x ik -x jk ||

[0228] In the formula, i, j = 1, 2, ..., n, k = 1, 2, ..., m; x ik x is the value of the i-th predicted data at the k-th time point; jk This represents the value at the k-th time point for the j-th cluster center.

[0229] Compare Euclidean distance x ijc Select the smallest x ijc The corresponding cluster c will classify the predicted data as c-class data.

[0230] Step S4: Construct the pass code using the IOPS prediction model;

[0231] Specifically, the steps for constructing a pass code using an IOPS prediction model may include:

[0232] Initialize the BP neural network parameters and the genetic algorithm parameters.

[0233] Specifically, the steps for initializing the BP neural network parameters include: the number of input layers, the number of hidden layers, the number of output layers, and the convergence error. In this example, the number of input layers is set to 292, the number of hidden layers is set to 25, the number of output layers is set to 288, and the convergence error is set to 10*-6.

[0234] Specifically, the genetic algorithm parameters are initialized. These initialization parameters include the maximum number of iterations, population size, mutation probability, maximum deviation coefficient, and maximum error. In this embodiment of the invention, the maximum number of iterations can be set to 10000, the population size to 50, the mutation probability to 0.09, and the maximum error to 0.00001.

[0235] The initial genes are subjected to chaotic processing. Specifically, the genes are restored to the solution range using a mapping formula, forming the improved genetic algorithm initialization matrix, denoted by matrix B:

[0236]

[0237] Where x ij Let represent the value of the j-th dimension of the i-th gene, where i = 1...n, j = 1...d.

[0238] Specifically, the steps of mapping the initial population to the solution space through chaotic processing may include:

[0239] A 1*D dimensional random matrix is ​​randomly generated in the interval (0, 1) as particle P1.

[0240] A chaotic sequence is generated by applying a cubic mapping to each data point in particle P1. This yields N initialized particles.

[0241] The formula for the cubic mapping is:

[0242] x n+1 =4(x n ) 3 -3x n

[0243] The chaotic space is mapped to the solution space using the following formula.

[0244] The formula is:

[0245]

[0246] x i =z i (x imax -x imin )+x imin

[0247] The resulting solution space can be represented by an N*D matrix B:

[0248]

[0249] Where, x ij Let be the value of the j-th dimension of the i-th particle.

[0250] Calculate the fitness value of the population.

[0251] Specifically, record the best individual.

[0252] Choose an action.

[0253] Specifically, in this case, the roulette wheel selection method is chosen, based on a fitness-proportional selection strategy, where the selection probability of each individual i is pi.

[0254] f i =k / F i

[0255]

[0256] In the formula, Fi is the fitness value of individual i, k is the coefficient, and N is the number of individuals in the population.

[0257] Mutation operation.

[0258] Specifically, the mutation operation uses the following formula:

[0259]

[0260] Among them, a max For gene a ij The upper bound; a min For gene a ij The lower bound; f(g) = r2(1-g / G) max ) 2 r2 is a random number; g is the current iteration number; G max is the maximum number of evolutions; r is a random number between [0, 1].

[0261] Cross-sectional and cross-sectional operations.

[0262] Specifically, the cross-operation includes horizontal cross-operation and vertical cross-operation.

[0263] Horizontal intersection. Formula used:

[0264] M hc (i,d)=r1X(i,d)+(1-r1)X(j,d)+c1(X(i,d)-X(j,d))

[0265] M hc (j,d)=r2X(j,d)+(1-r2)X(i,d)+c2(X(j,d)-X(i,d))

[0266] In the formula, c1 and c2 are random numbers on [-1, 1]; r1 and r2 are random numbers on [-1, 1]; X(i) and X(j) are the d-th dimensions of the parent genes X(i) and X(j), respectively; M hc(i,d),M hc (j,d) represent the d-th dimensional offspring of X(i,d) and X(j,d) through horizontal crossover.

[0267] Vertical intersection. Formula used:

[0268] M vc (i,d1)=rX(i,d1)+(1-r)X(i,d2)

[0269] r is a random number on [0, 1]; Mvc(i, d1) is the offspring gene generated by the vertical crossover of the d1 and d2 dimensions of gene i.

[0270] After the iteration ends, the optimal gene is input into the BP neural network as the initial weights and threshold of the BP neural network.

[0271] Train a BP neural network to obtain a pass code and use the IOPS prediction model.

[0272] Specifically, the optimal individual is used as the initial weight and threshold of the BP neural network.

[0273] Specifically, the calculated predicted data classification data is used as the training dataset for the BP neural network to train the BP neural network, thereby obtaining the predicted data clustering classification model.

[0274] When using IOPS to predict access codes, the IOPS data of the access codes for the day to be predicted is put into the prediction model, the IOPS of the access codes for the prediction day is predicted, and the predicted values ​​are inversely normalized to obtain the actual predicted values ​​of the access codes using IOPS.

[0275] Step S5: Perform IOPS prediction for the pass code.

[0276] Specifically, the steps for predicting access codes using IOPS may include:

[0277] The forecast date data is normalized.

[0278] The normalized access code is fed into the obtained prediction model using IOPS for training.

[0279] The pass code for the predicted date is predicted using IOPS. The predicted value is then denormalized to obtain the actual predicted value of the pass code using IOPS.

[0280] This invention first employs an improved maximum deviation similarity criterion clustering algorithm to cluster historical access codes using IOPS time series. The improved algorithm primarily utilizes Q-learning to refine the maximum deviation similarity criterion, selecting optimal parameters for clustering by employing different forward-looking strategies. After clustering, the algorithm minimizes the distance of predicted data from the cluster center to determine the appropriate cluster. Finally, an improved backpropagation (BP) neural network is used to predict access codes using IOPS, enabling accurate classification of original access codes using IOPS time series and reducing training data. Furthermore, an improved genetic algorithm optimizes the BP neural network, resulting in faster training and higher prediction accuracy. This invention demonstrates high practicality and rationality. Simultaneously, it addresses the problems of traditional BP neural network algorithms, such as local minima, slow convergence, low prediction accuracy, and long training times.

[0281] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.

[0282] Reference Figure 3 The diagram illustrates a structural block diagram of a device for generating IOPS (Instant Read / Write Count) prediction results according to an embodiment of the present invention, which may specifically include the following modules:

[0283] The second read / write count data acquisition module 301 is used to acquire historical second read / write count data IOPS and generate a timestamp corresponding to the historical second read / write count data IOPS;

[0284] Time series generation module 302 is used to generate multiple historical data time series for the historical read / write count data IOPS based on the timestamp;

[0285] The data clustering and partitioning module 303 is used to divide the historical read / write count data IOPS into multiple IOPS data clusters through multiple historical data time series;

[0286] Clustering attribution model building module 304 is used to build a clustering attribution model based on multiple IOPS data clusters;

[0287] The prediction model generation module 305 is used to determine the neural network initialization parameters and generate an IOPS prediction model through the clustering attribution model and the neural network initialization parameters.

[0288] The prediction result generation module 306 is used to generate IOPS prediction results based on the IOPS prediction model.

[0289] Optionally, the data clustering and partitioning module may include:

[0290] The parameter determination submodule is used to determine the initial Q-learning parameters and basic parameters. The basic parameters include the maximum deviation distance parameter, similarity parameter, and deviation parameter. The initial Q-learning parameters include the initial state parameter.

[0291] The target historical data time series generation submodule is used to normalize the historical data time series, generate target historical data time series, and determine the first Euclidean distance between each pair of the target historical data time series.

[0292] Other center sequence determination submodule is used to determine the comparison center sequence and other center sequences that are related to the comparison center sequence from multiple historical data time series;

[0293] The point determination submodule is used to determine the maximum number of similar points and the maximum number of deviation points for the comparison center sequence and the other center sequences based on the initial state parameters;

[0294] The initial data clustering submodule is used to divide the multiple historical data time series into multiple initial IOPS data clusters according to the maximum number of similar points and the maximum number of deviation points based on a preset standard.

[0295] The total error determination submodule is used to determine the total error for clustering multiple initial IOPS data based on the first Euclidean distance according to a preset algorithm;

[0296] The current state parameter determination submodule is used to determine the current state parameter corresponding to the initial IOPS data cluster based on the initial IOPS data cluster;

[0297] The maximum deviation similarity parameter generation submodule is used to generate the maximum deviation similarity parameter for multiple initial IOPS data clusters based on the total error value and the current state parameter.

[0298] The data clustering submodule is used to divide the multiple historical data time series into multiple IOPS data clusters based on the maximum deviation similarity parameter.

[0299] Optionally, the clustering attribution model building module may include:

[0300] The other cluster center sequence determination submodule is used to determine the predicted cluster center sequence and multiple other cluster center sequences that are associated with the predicted cluster center sequence from the IOPS data clustering;

[0301] The second Euclidean distance calculation submodule is used to calculate the second Euclidean distance between the predicted cluster center sequence and multiple other cluster center sequences; the second Euclidean distance has a corresponding Euclidean distance parameter; the Euclidean distance parameter corresponds one-to-one with the other cluster center sequences;

[0302] The minimum Euclidean distance parameter selection submodule is used to select the minimum Euclidean distance parameter from the Euclidean distance parameters and determine the other cluster center sequence corresponding to the minimum Euclidean distance parameter as the target cluster center sequence;

[0303] The target IOPS data clustering determination submodule is used to determine the target IOPS data cluster based on the target cluster center sequence;

[0304] The clustering attribution model establishment submodule is used to establish the clustering attribution model based on the target IOPS data clustering.

[0305] Optionally, the clustering attribution model has corresponding clustering attribution data, and the prediction model generation module may include:

[0306] An initialization matrix generation submodule is used to generate an initialization matrix for the clustering data using a mapping formula; the initialization matrix contains multiple genes for expressing the clustering of the IOPS data;

[0307] The optimal gene determination submodule is used to determine the population fitness value through the initialization matrix and to determine the optimal gene from the genes;

[0308] The IOPS prediction model generation submodule is used to train a neural network model based on the optimal gene, the neural network initialization parameters, and the clustering affiliation data to generate an IOPS prediction model.

[0309] Optionally, the neural network initialization parameters may include an input layer number parameter, which is determined based on the number of timestamps.

[0310] Optionally, the prediction result generation module may include:

[0311] The data to be predicted generation submodule is used to normalize the source data to be predicted and generate the data to be predicted.

[0312] The predicted value data generation submodule is used to train the data to be predicted based on the IOPS prediction model to obtain the predicted value data;

[0313] The IOPS prediction result generation submodule is used to perform inverse normalization processing on the predicted value data to generate IOPS prediction results.

[0314] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0315] In addition, this invention also provides an electronic device, including: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the various processes of the above-described method embodiment for generating IOPS prediction results of read / write count data, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0316] This invention also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the above-described method for generating IOPS prediction results for read / write operations per second, achieving the same technical effect. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0317] Figure 4 A schematic diagram of the hardware structure of an electronic device for implementing various embodiments of the present invention.

[0318] The electronic device 400 includes, but is not limited to, components such as: a radio frequency unit 401, a network module 402, an audio output unit 403, an input unit 404, a sensor 405, a display unit 406, a user input unit 407, an interface unit 408, a memory 409, a processor 410, and a power supply 411. Those skilled in the art will understand that... Figure 4 The electronic device structures shown are not intended to limit the electronic device. An electronic device may include more or fewer components than shown, or combine certain components, or have different component arrangements. In embodiments of the present invention, the electronic device includes, but is not limited to, mobile phones, tablet computers, laptops, PDAs, in-vehicle terminals, wearable devices, and pedometers.

[0319] It should be understood that, in this embodiment of the invention, the radio frequency unit 401 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink data from the base station and processes it with the processor 410; additionally, it transmits uplink data to the base station. Typically, the radio frequency unit 401 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, etc. Furthermore, the radio frequency unit 401 can also communicate with networks and other devices through a wireless communication system.

[0320] The electronic device provides users with wireless broadband internet access through network module 402, such as helping users send and receive emails, browse web pages, and access streaming media.

[0321] The audio output unit 403 can convert audio data received by the radio frequency unit 401 or the network module 402 or stored in the memory 409 into audio signals and output them as sound. Furthermore, the audio output unit 403 can also provide audio output related to specific functions performed by the electronic device 400 (e.g., call signal reception sound, message reception sound, etc.). The audio output unit 403 includes a speaker, a buzzer, and a receiver, etc.

[0322] Input unit 404 is used to receive audio or video signals. Input unit 404 may include a graphics processing unit (GPU) 4041 and a microphone 4042. The GPU 4041 processes image data of still images or videos acquired by an image capture device (such as a camera) in video capture mode or image capture mode. The processed image frames can be displayed on display unit 406. The image frames processed by GPU 4041 can be stored in memory 409 (or other storage medium) or transmitted via radio frequency unit 401 or network module 402. Microphone 4042 can receive sound and process such sound into audio data. The processed audio data can be converted into a format that can be transmitted to a mobile communication base station via radio frequency unit 401 in telephone call mode.

[0323] The electronic device 400 also includes at least one sensor 405, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor and a proximity sensor. The ambient light sensor can adjust the brightness of the display panel 4061 according to the ambient light level, and the proximity sensor can turn off the display panel 4061 and / or backlight when the electronic device 400 is moved to the ear. As a type of motion sensor, an accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes). When stationary, it can detect the magnitude and direction of gravity and can be used to identify the posture of the electronic device (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc. The sensor 405 may also include a fingerprint sensor, pressure sensor, iris sensor, molecular sensor, gyroscope, barometer, hygrometer, thermometer, infrared sensor, etc., which will not be described in detail here.

[0324] The display unit 406 is used to display information input by the user or information provided to the user. The display unit 406 may include a display panel 4061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.

[0325] User input unit 407 can be used to receive input numerical or character information, and generate key signal inputs related to user settings and function control of electronic devices. Specifically, user input unit 407 includes a touch panel 4071 and other input devices 4072. Touch panel 4071, also known as a touch screen, can collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near touch panel 4071). Touch panel 4071 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, and sends it to the processor 410, which receives and executes commands from the processor 410. In addition, touch panel 4071 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. Besides touch panel 4071, user input unit 407 may also include other input devices 4072. Specifically, other input devices 4072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, joysticks, etc., which will not be described in detail here.

[0326] Furthermore, the touch panel 4071 can cover the display panel 4061. When the touch panel 4071 detects a touch operation on or near it, it transmits the information to the processor 410 to determine the type of touch event. Subsequently, the processor 410 provides corresponding visual output on the display panel 4061 based on the type of touch event. Although in Figure 4 In this embodiment, the touch panel 4071 and the display panel 4061 are two independent components to realize the input and output functions of the electronic device. However, in some embodiments, the touch panel 4071 and the display panel 4061 can be integrated to realize the input and output functions of the electronic device. The specific implementation is not limited here.

[0327] Interface unit 408 serves as an interface for connecting external devices to electronic device 400. For example, external devices may include a wired or wireless headphone port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, and so on. Interface unit 408 can be used to receive input from external devices (e.g., data, power, etc.) and transmit the received input to one or more components within electronic device 400, or it can be used to transmit data between electronic device 400 and external devices.

[0328] The memory 409 can be used to store software programs and various data. The memory 409 may primarily include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function (such as sound playback, image playback, etc.), etc.; the data storage area may store data created based on the use of the mobile phone (such as audio data, phonebook, etc.). Furthermore, the memory 409 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0329] The processor 410 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 409, and by calling data stored in the memory 409, it performs various functions and processes data, thereby providing overall monitoring of the electronic device. The processor 410 may include one or more processing units; preferably, the processor 410 may integrate an application processor and a modem processor. The application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 410.

[0330] The electronic device 400 may also include a power supply 411 (such as a battery) for supplying power to various components. Preferably, the power supply 411 can be logically connected to the processor 410 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system.

[0331] In addition, the electronic device 400 includes some functional modules not shown, which will not be described in detail here.

[0332] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0333] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0334] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of the present invention.

[0335] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed in this invention can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0336] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0337] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0338] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0339] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0340] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0341] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for generating second read-write frequency data IOPS prediction results, characterized in that, The method comprises the following steps: obtaining historical second read-write frequency data IOPS and generating a timestamp corresponding to the historical second read-write frequency data IOPS; generating a plurality of historical data time series for the historical second read-write frequency data IOPS based on the timestamp; dividing the historical second read-write frequency data IOPS into a plurality of IOPS data clusters through the plurality of historical data time series; establishing a cluster attribution model according to the plurality of IOPS data clusters; determining neural network initialization parameters and generating an IOPS prediction model through the cluster attribution model and the neural network initialization parameters; generating an IOPS prediction result based on the IOPS prediction model; wherein the step of establishing a cluster attribution model according to the plurality of IOPS data clusters comprises: determining a prediction cluster center sequence and a plurality of other cluster center sequences having an associated relationship with the prediction cluster center sequence from the IOPS data clusters; calculating the second Euclidean distance of the prediction cluster center sequence and the plurality of other cluster center sequences; the second Euclidean distance has corresponding Euclidean distance parameters; the Euclidean distance parameters correspond to the other cluster center sequences one by one; selecting the minimum Euclidean distance parameter from the Euclidean distance parameters to determine the other cluster center sequence corresponding to the minimum Euclidean distance parameter as the target cluster center sequence; determining a target IOPS data cluster based on the target cluster center sequence; establishing the cluster attribution model based on the target IOPS data cluster; the cluster attribution model has corresponding cluster attribution data, and the step of generating an IOPS prediction model through the cluster attribution model and the neural network initialization parameters comprises: generating an initialization matrix for the cluster attribution data through a mapping formula; the initialization matrix contains a plurality of genes for expressing the IOPS data cluster; determining a population fitness value through the initialization matrix, and determining an optimal gene from the genes; training a neural network model based on the optimal gene, the neural network initialization parameters and the cluster attribution data to generate an IOPS prediction model.

2. The method of claim 1, wherein, The step of dividing the historical second read-write frequency data IOPS into a plurality of IOPS data clusters through the plurality of historical data time series comprises: determining an initial Q learning parameter and a basic parameter, the basic parameter including a maximum deviation distance parameter, a similarity parameter and a deviation parameter, and the initial Q learning parameter including an initial state parameter; normalizing the historical data time series to generate target historical data time series and determining the first Euclidean distance between each two of the plurality of target historical data time series; determining a comparison center sequence and other center sequences having an associated relationship with the comparison center sequence from the plurality of historical data time series; determining the maximum number of similar points and the maximum number of deviation points for the comparison center sequence and the other center sequences based on the initial state parameter; According to the maximum number of similar points and the maximum number of deviating points, a plurality of the historical data time series are divided into a plurality of initial IOPS data clusters according to a preset standard; Based on the first Euclidean distance, an error total value for a plurality of the initial IOPS data clusters is determined according to a preset algorithm; According to the initial IOPS data cluster, a current state parameter corresponding to the initial IOPS data cluster is determined; Based on the error total value and the current state parameter, a maximum deviation similarity parameter for a plurality of the initial IOPS data clusters is generated; According to the maximum deviation similarity parameter, a plurality of the historical data time series are divided into a plurality of IOPS data clusters.

3. The method of claim 1, wherein, The neural network initialization parameter includes an input layer number parameter, which is determined according to the number of time stamps.

4. The method of claim 1, wherein, The step of generating an IOPS prediction result based on the IOPS prediction model includes: Normalizing the to-be-predicted source data to generate to-be-predicted data; Predicting the to-be-predicted data based on the IOPS prediction model to obtain prediction value data; De-normalizing the prediction value data to generate an IOPS prediction result.

5. A second read-write frequency data IOPS prediction result generation device, characterized in that, It includes: A second read-write frequency data acquisition module is configured to acquire historical second read-write frequency data IOPS and generate time stamps corresponding to the historical second read-write frequency data IOPS; A time series generation module is configured to generate a plurality of historical data time series for the historical second read-write frequency data IOPS based on the time stamps; A data cluster division module is configured to divide the historical second read-write frequency data IOPS into a plurality of IOPS data clusters through a plurality of the historical data time series; A cluster attribution model establishment module is configured to establish a cluster attribution model according to a plurality of the IOPS data clusters; A prediction model generation module is configured to determine neural network initialization parameters and generate an IOPS prediction model through the cluster attribution model and the neural network initialization parameters; A prediction result generation module is configured to generate an IOPS prediction result based on the IOPS prediction model; The cluster attribution model establishment module includes: An other cluster center sequence determination submodule is configured to determine a prediction cluster center sequence and a plurality of other cluster center sequences having an association relationship with the prediction cluster center sequence from the IOPS data clusters; A second Euclidean distance calculation submodule is configured to calculate a second Euclidean distance of the prediction cluster center sequence and a plurality of the other cluster center sequences; the second Euclidean distance has a corresponding Euclidean distance parameter; the Euclidean distance parameter corresponds to the other cluster center sequence one by one; A minimum Euclidean distance parameter selection submodule is configured to select a minimum Euclidean distance parameter from the Euclidean distance parameters, and determine the other cluster center sequence corresponding to the minimum Euclidean distance parameter as a target cluster center sequence; A target IOPS data cluster determination submodule is configured to determine a target IOPS data cluster based on the target cluster center sequence; A cluster attribution model establishment submodule is configured to establish the cluster attribution model based on the target IOPS data cluster. The cluster attribution model has corresponding cluster attribution data, and the prediction model generation module comprises: An initialization matrix generation submodule is configured to generate an initialization matrix for the cluster attribution data through a mapping formula; the initialization matrix comprises a plurality of genes for expressing the IOPS data clusters; An optimal gene determination submodule is configured to determine a population fitness value through the initialization matrix and determine an optimal gene from the genes; An IOPS prediction model generation submodule is configured to train a neural network model based on the optimal gene, the neural network initialization parameter, and the cluster attribution data, and generate an IOPS prediction model.

6. The apparatus of claim 5, wherein, The data cluster division module comprises: A parameter determination submodule is configured to determine initial Q-learning parameters and basic parameters, wherein the basic parameters comprise a maximum deviation distance parameter, a similarity parameter, and a deviation parameter, and the initial Q-learning parameters comprise an initial state parameter; A target historical data time series generation submodule is configured to normalize the historical data time series, generate target historical data time series, and determine a first Euclidean distance between each two of the target historical data time series; An other center sequence determination submodule is configured to determine a comparison center sequence and other center sequences having an association relationship with the comparison center sequence from the historical data time series; A point determination submodule is configured to determine a maximum similar point number and a maximum deviation point number for the comparison center sequence and the other center sequences based on the initial state parameter; An initial data cluster division submodule is configured to divide the historical data time series into a plurality of initial IOPS data clusters according to a preset standard based on the maximum similar point number and the maximum deviation point number; An error total value determination submodule is configured to determine error total values for the initial IOPS data clusters based on the first Euclidean distance according to a preset algorithm; A current state parameter determination submodule is configured to determine current state parameters corresponding to the initial IOPS data clusters based on the initial IOPS data clusters; A maximum deviation similarity parameter generation submodule is configured to generate maximum deviation similarity parameters for the initial IOPS data clusters based on the error total values and the current state parameters; A data cluster division submodule is configured to divide the historical data time series into a plurality of IOPS data clusters based on the maximum deviation similarity parameters.

7. The apparatus of claim 5, wherein, The neural network initialization parameter comprises an input layer number parameter, and the input layer number parameter is determined according to the number of the timestamps.

8. The apparatus of claim 5, wherein, The prediction result generation module comprises: A to-be-predicted data generation submodule is configured to normalize to-be-predicted source data to generate to-be-predicted data; A predicted value data generation submodule is configured to predict the to-be-predicted data based on the IOPS prediction model to obtain predicted value data; An IOPS prediction result generation submodule is configured to perform inverse normalization processing on the predicted value data to generate an IOPS prediction result.

9. An electronic device, comprising: comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory accomplish mutual communication through the communication bus; the memory, configured to store a computer program; the processor, configured to execute the program stored on the memory, so as to realize the method in any one of claims 1-4.

10. A computer readable storage medium having stored thereon instructions which, when executed by one or more processors, cause the processors to perform the method of any one of claims 1-4.

Citation Information

Patent Citations

  • Cloud disk allocation method and device, electronic equipment and storage medium

    CN111722806A

  • Storage system performance prediction method and device based on convolutional neural network

    CN113886207A