WO2021051945A1 - 服务器性能监控方法、装置、计算机设备及存储介质 - Google Patents

服务器性能监控方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
WO2021051945A1
WO2021051945A1 PCT/CN2020/099516 CN2020099516W WO2021051945A1 WO 2021051945 A1 WO2021051945 A1 WO 2021051945A1 CN 2020099516 W CN2020099516 W CN 2020099516W WO 2021051945 A1 WO2021051945 A1 WO 2021051945A1
Authority
WO
WIPO (PCT)
Prior art keywords
basic
sequence
target
subsequence
performance data
Prior art date
Application number
PCT/CN2020/099516
Other languages
English (en)
French (fr)
Inventor
李正洋
张鹏
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021051945A1 publication Critical patent/WO2021051945A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis

Definitions

  • This application relates to the field of intelligent monitoring, and in particular to a server performance monitoring method, device, computer equipment and storage medium.
  • the existing methods some use statistical methods and historical performance data to predict server performance trends, and some use hidden Markov models to evaluate server resource occupancy trends.
  • the purpose of these predictions is , Are for early warning of possible obstacles to server performance, and to take corresponding measures to ensure the normal operation of the server, and to realize the supervision of server performance.
  • the inventor realized that the existing methods have at least the following problems: under the current asymmetry of network information (the instability of the number of users and unexpected traffic impacts), statistical analysis Or use hidden Markov model to predict the trend of resource occupancy.
  • the accuracy of prediction is often difficult to meet the requirements, and it is often found when performance failures occur, which makes server performance monitoring efficiency low. Therefore, look for an efficient server Performance monitoring methods to realize timely warning before server performance failures have become a problem that needs to be solved urgently.
  • the embodiments of the present application provide a server performance monitoring method, device, computer equipment, and storage medium to improve the efficiency of current server performance monitoring.
  • a server performance monitoring method including:
  • the target performance data set is input into the trained Gaussian mixture hidden Markov model, where the trained Gaussian mixture hidden Markov model includes a basic annotation sequence and a basic duration sequence corresponding to the basic annotation sequence, so
  • the basic time sequence includes a number of basic sub-sequences, and the trained Gaussian mixture hidden Markov model is obtained through training on historical performance data of the server;
  • Target duration sequence includes at least two target subsequences
  • the basic sub-sequence corresponding to the target sub-sequence is obtained as a reference sub-sequence
  • the performance trend information corresponding to the reference sub-sequence is obtained as the performance prediction information of the server at the current point in time, where ,
  • the state label corresponding to the next basic sub-sequence of the basic sub-sequence corresponding to each time point is the performance trend information corresponding to the basic sub-sequence at that time point;
  • the performance prediction information is compared with a preset threshold range, and if the performance prediction information is outside the preset threshold range, a preset emergency measure is executed.
  • a server performance monitoring device including:
  • the first acquisition module is used to acquire the performance data of the server from the current time point to the preset time interval as a target performance data set;
  • the data input module is used to input the target performance data set into the trained Gaussian mixture hidden Markov model, where the trained Gaussian mixture hidden Markov model includes a basic annotation sequence and a corresponding basic annotation sequence
  • the basic duration sequence of, the basic duration sequence includes a number of basic sub-sequences, and the trained Gaussian mixture hidden Markov model is obtained through training on historical performance data of the server;
  • the first labeling module is configured to use the trained Gaussian mixture hidden Markov model to perform state labeling on each performance data in the target performance data set to obtain a target labeling sequence;
  • the first segmentation module is configured to perform data segmentation on the target annotation sequence according to a preset duration segmentation method to obtain a target duration sequence corresponding to the target performance data set, wherein the target duration sequence includes at least Two target subsequences;
  • the trend prediction module is used to obtain the basic sub-sequence corresponding to the target sub-sequence by means of dynamic programming as a reference sub-sequence, and obtain the performance trend information corresponding to the reference sub-sequence as the server at the current time point
  • the early warning module is configured to compare the performance prediction information with a preset threshold range, and if the performance prediction information is outside the preset threshold range, execute a preset emergency measure.
  • a computer device includes a memory, a processor, and computer readable instructions stored in the memory and capable of running on the processor, and the processor implements the following server performance monitoring method when the processor executes the computer readable instructions A step of:
  • the target performance data set is input into the trained Gaussian mixture hidden Markov model, where the trained Gaussian mixture hidden Markov model includes a basic annotation sequence and a basic duration sequence corresponding to the basic annotation sequence, so
  • the basic time sequence includes a number of basic sub-sequences, and the trained Gaussian mixture hidden Markov model is obtained through training on historical performance data of the server;
  • Target duration sequence includes at least two target subsequences
  • the basic sub-sequence corresponding to the target sub-sequence is obtained as a reference sub-sequence
  • the performance trend information corresponding to the reference sub-sequence is obtained as the performance prediction information of the server at the current point in time, where ,
  • the state label corresponding to the next basic sub-sequence of the basic sub-sequence corresponding to each time point is the performance trend information corresponding to the basic sub-sequence at that time point;
  • the performance prediction information is compared with a preset threshold range, and if the performance prediction information is outside the preset threshold range, a preset emergency measure is executed.
  • a computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the following steps of a server performance monitoring method are implemented:
  • the target performance data set is input into the trained Gaussian mixture hidden Markov model, where the trained Gaussian mixture hidden Markov model includes a basic annotation sequence and a basic duration sequence corresponding to the basic annotation sequence, so
  • the basic time sequence includes a number of basic sub-sequences, and the trained Gaussian mixture hidden Markov model is obtained through training on historical performance data of the server;
  • Target duration sequence includes at least two target subsequences
  • the basic sub-sequence corresponding to the target sub-sequence is obtained as a reference sub-sequence
  • the performance trend information corresponding to the reference sub-sequence is obtained as the performance prediction information of the server at the current point in time, where ,
  • the state label corresponding to the next basic sub-sequence of the basic sub-sequence corresponding to each time point is the performance trend information corresponding to the basic sub-sequence at that time point;
  • the performance prediction information is compared with a preset threshold range, and if the performance prediction information is outside the preset threshold range, a preset emergency measure is executed.
  • the server performance monitoring method, device, computer equipment, and storage medium provided in the embodiments of the application evaluate the server performance through the trained Gaussian mixture hidden Markov model and the changes in the performance data of the server in the current time sequence. , Improves the efficiency of server performance prediction, and is also conducive to timely early warning when the performance trend is abnormal, and the timeliness of early warning is improved.
  • FIG. 1 is an implementation flowchart of a server performance monitoring method provided by an embodiment of the present application
  • FIG. 2 is a flowchart of training a Gaussian mixture hidden Markov model in the server performance monitoring method provided by an embodiment of the present application;
  • FIG. 3 is a flowchart of the implementation of step S72 in the server performance monitoring method provided by the embodiment of the present application;
  • FIG. 4 is an implementation flowchart of step S721 in the server performance monitoring method provided by the embodiment of the present application.
  • FIG. 5 is a flowchart of the implementation of step S50 in the server performance monitoring method provided by the embodiment of the present application.
  • FIG. 6 is a flowchart of the implementation of step S51 in the server performance monitoring method provided by the embodiment of the present application.
  • FIG. 7 is a schematic diagram of a server performance monitoring device provided by an embodiment of the present application.
  • Fig. 8 is a schematic diagram of a computer device provided by an embodiment of the present application.
  • the server performance monitoring method provided by the embodiment of the present application is applied in a scenario where the performance of each node server in a cluster server is monitored.
  • the monitoring scenario includes the node server and the server. Among them, the node server and the server are connected through the network.
  • the server obtains the performance data of the node server in real time, and predicts the performance trend based on the obtained performance data. When the performance trend appears In case of abnormality, an early warning is given.
  • the server can be implemented by an independent server or a server cluster composed of multiple servers.
  • FIG. 1 shows a server performance monitoring method provided by an embodiment of the present application.
  • the application of the method on the server side is taken as an example for description. The details are as follows:
  • S10 Obtain the performance data of the server from the current time point to the preset time interval as a target performance data set.
  • the preset path obtain the performance data of the server from the current time point to the preset time interval, and perform data preprocessing on the performance performance data to obtain a target performance data set with a standardized format and range for subsequent use of the target performance
  • the data set is used for performance prediction.
  • the preset time interval can be set according to actual needs, and there is no restriction here.
  • performance data refers to data used for current performance status (resource occupancy) evaluation, such as service identification occupying server resources, the number of server resources occupied by each service, and the number of real-time online users for each service, etc.
  • the preset path refers to the path to obtain performance data, which can be a network path, for example, a server running log file stored in the cloud, or a local path, for example, the log file stored by the server itself, which can be performed according to actual needs.
  • a network path for example, a server running log file stored in the cloud
  • a local path for example, the log file stored by the server itself, which can be performed according to actual needs.
  • the monitoring of server performance in this embodiment can target a single server or a cluster server.
  • the server can store performance data in a database connected to the server as needed, or , Through the log collection framework in the server cluster, the performance log information is collected and stored in a preset path.
  • the server reads performance data from the preset uniform resource locator through the network transmission protocol.
  • the server obtains the corresponding local path. The physical address from which the performance data is obtained.
  • network transmission protocols include but are not limited to: Internet Control Message Protocol (ICMP), Address Resolution Protocol (ARP Address Resolution Protocol, ARP), File Transfer Protocol (File Transfer Protocol, FTP), etc.
  • ICMP Internet Control Message Protocol
  • ARP Address Resolution Protocol ARP
  • FTP File Transfer Protocol
  • the server performs data preprocessing on the acquired performance data according to a preset data preprocessing method to obtain a target performance data set.
  • data preprocessing refers to the necessary processing such as verification, screening, and sorting before the collected data is classified or grouped, so that the processed data meets the requirements of use.
  • Common data preprocessing methods include but are not limited to : Data cleaning, data integration, data transformation, data reduction and data normalization, etc.
  • the preset data preprocessing method in this embodiment selects data transformation processing and data normalization processing.
  • the data is converted into a data form suitable for model recognition through smooth aggregation, data generalization, and normalization. Normalization processing, which normalizes performance data of different dimensions to a scalar within the same threshold range, and improves the fault tolerance of subsequent target performance data sets.
  • S20 Input the target performance data set into the trained Gaussian mixture hidden Markov model, where the trained Gaussian mixture hidden Markov model includes the basic annotation sequence and the basic duration sequence corresponding to the basic annotation sequence, and the basic duration sequence Including several basic subsequences, the trained Gaussian Mixture Hidden Markov Model is obtained by training the historical performance data of the server.
  • the target performance data set is input into the trained Gaussian mixture hidden Markov model, so that the trained Gaussian mixture hidden Markov model is subsequently used to analyze and evaluate the current target performance data set to determine The performance status of the current server.
  • the trained Gaussian mixture hidden Markov model includes the basic annotation sequence and the basic duration sequence corresponding to the basic annotation sequence.
  • the basic duration sequence includes several basic subsequences.
  • the trained Gaussian mixture hidden Markov model is the history through the server Performance data is obtained through training.
  • the basic duration sequence refers to a sequence composed of time point information corresponding to historical performance data.
  • the basic labeling information refers to the state labeling information corresponding to each historical performance data.
  • the Gaussian of Mixture Hidden Markov (GM-HMM) model is a Hidden Markov clustering model, which is used to describe the non-stationarity of the time series based on the state sequence of clustering annotations. Movement changes, effectively capture the laws and patterns of performance changes, and provide an index criterion between quantitative analysis and qualitative analysis. A very obvious advantage is that it provides a more general time series similarity metric, and the calculation is simple, which is convenient for comparison, analysis and query.
  • Hidden Markov Model (HMM) is a statistical model. Used to describe a Markov process with hidden unknown parameters. The difficulty is to determine the hidden parameters of the process from the observable parameters, and then use these parameters for further analysis.
  • the performance data of the server is affected by many factors, such as the size of the current access traffic, the size of the reserved memory on the server, the occupancy of network bandwidth, the degradation of server performance, and the attack of abnormal network processes, etc.
  • the Gaussian mixture hidden Markov model trained through historical performance data can effectively analyze and evaluate the current performance and improve the accuracy of the evaluation of the future trend of the current performance.
  • the performance of the server changes over time and has a certain degree of sudden change, that is, some unexpected changes will occur.
  • the business when a business is planning an event with high user concerns, the business The corresponding user data has increased sharply, making it possible for the state in adjacent windows to change style.
  • the state before the style change is used for weighting, which will cause the state to lag and lead to incorrect predictions.
  • a rolling training method is adopted to cover each time sequence before and after the style change, so as to reduce the influence of the style change on the prediction accuracy. For the specific process of training using the rolling method, refer to step S71 to step S76. To avoid repetition, I won’t repeat it here.
  • S30 Use the trained Gaussian mixture hidden Markov model to perform state labeling on each performance data in the target performance data set to obtain the target label sequence.
  • a trained Gaussian Mixture Hidden Markov Model is used to perform state labeling on each performance data in the target performance data set to obtain the target labeling sequence.
  • state labeling refers to labeling the possible states of the target performance data (that is, the hidden state in the Gaussian mixture hidden Markov model), and calculating the probability of the hidden state.
  • the state The label can be information related to server performance, such as normal, busy, idle, suspended animation, downtime, etc., which can be set according to actual needs.
  • the probability of the hidden state will change as the time sequence of the performance data changes.
  • S40 Perform data segmentation on the target label sequence according to the preset duration segmentation method to obtain a target duration sequence corresponding to the target performance data set, where the target duration sequence includes at least two target subsequences.
  • the length of time from the current time point to the preset time interval is generally set to be longer, and the trained Gaussian mixture hidden Markov model is used to label the target corresponding to this period of time.
  • the target is divided according to the preset duration.
  • the labeling sequence is used for data segmentation, and the target duration sequence corresponding to the target performance data set is obtained.
  • the preset time segmentation method can be set according to the actual performance requirements of the server, and there is no limitation here.
  • the preset time segmentation method adopted in this embodiment is a timing duration of 20 minutes,
  • the target labeling sequence is divided into several target duration sequences.
  • S50 Obtain the basic subsequence corresponding to the target subsequence as a reference subsequence by means of dynamic programming, and obtain the performance trend information corresponding to the reference subsequence as the performance prediction information of the server at the current point in time, where each time The state label corresponding to the next basic sub-sequence of the basic sub-sequence corresponding to a point is the performance trend information corresponding to the basic sub-sequence at the time point.
  • the most similar basic subsequence of each target subsequence is obtained as the basic subsequence corresponding to the target subsequence, and the performance trend information corresponding to these basic subsequences is used as the server's current time Point of performance prediction information.
  • dynamic programming is a way and a method to solve the optimization problem.
  • the dynamic programming method used may be the Longest Common Subsequence (LCS) method. , By solving the longest common subsequence, obtain the basic subsequence corresponding to the target subsequence.
  • LCS Longest Common Subsequence
  • the performance trend information refers to the state label corresponding to the next basic subsequence of the basic subsequence, that is, the state label with the maximum probability of the next basic subsequence of the basic subsequence.
  • S60 Compare the performance prediction information with a preset threshold range, and if the performance prediction information is outside the preset threshold range, execute a preset emergency measure.
  • the performance prediction information is compared with the preset threshold range. If the performance prediction information is outside the preset threshold range, it is determined that the server performance may tend to be abnormal, and the preset emergency measures are executed at this time.
  • the preset emergency measures include, but are not limited to: enabling the emergency server, limiting the maximum resource occupancy ratio, clearing the cache, clearing the unresponsive visits that exceed the preset duration, and so on.
  • the performance data of the server from the current time point to the preset time interval is obtained as the target performance data set, and then the target performance data set is input into the trained Gaussian mixture hidden Markov model, and then the training A good Gaussian Mixture Hidden Markov Model performs state labeling on each performance data in the target performance data set to obtain the target label sequence, which realizes the state labeling of the performance data, which is conducive to the subsequent performance evaluation and trend prediction based on the state label
  • the target label sequence is data segmented, and the target duration sequence corresponding to the target performance data set is obtained.
  • the basic subsequence corresponding to the target subsequence is obtained through dynamic programming, as Refer to the sub-sequence and obtain the performance trend information corresponding to the reference sub-sequence as the server's performance prediction information at the current time point, and then compare the performance prediction information with the preset threshold range, if the performance prediction information is outside the preset threshold range , Execute the preset emergency measures, realize that through the trained Gaussian Mixture Hidden Markov Model, combined with the server performance data changes in the current time sequence, the server performance is evaluated, which improves the accuracy and accuracy of server performance prediction. The efficiency is also conducive to timely warning when the performance trend is abnormal, and the timeliness of the warning is improved.
  • the server performance monitoring method before step S20, further includes a process of training a Gaussian mixture hidden Markov model to obtain a trained Gaussian mixture hidden Markov model.
  • FIG. 2 shows a specific implementation process of training a Gaussian mixture hidden Markov model provided by an embodiment of the present application to obtain a trained Gaussian mixture hidden Markov model, which is described in detail as follows:
  • S71 Obtain a historical performance data set of the server, where the historical performance data set includes historical performance data and time point information corresponding to the historical performance data.
  • the historical performance data set of the server is acquired, and the historical performance data set includes historical performance data and time point information corresponding to the historical performance data.
  • S72 Perform rolling training on the initial Gaussian mixture hidden Markov model according to the time point information and historical performance data to obtain the target Gaussian mixture hidden Markov model.
  • rolling training is performed on the initial Gaussian mixture hidden Markov model to obtain the target Gaussian mixture hidden Markov model.
  • step S721 For details, please refer to the description of step S721 to step S724. In order to avoid repetition, it will not be repeated here.
  • S73 Use the target Gaussian mixture hidden Markov model to label the historical performance data corresponding to the time point information according to the time sequence in the time point information to obtain a basic label sequence.
  • the target Gaussian mixture hidden Markov model is used to label the historical performance data corresponding to the time point information according to the time sequence in the time point information to obtain the basic annotation sequence.
  • S74 Perform data segmentation on the basic annotation sequence according to the preset duration segmentation method to obtain a basic duration sequence corresponding to the historical performance data set, where the basic duration sequence includes a number of basic subsequences.
  • the basic annotation sequence is divided into data according to the preset time length segmentation method, and the basic time length sequence corresponding to the historical performance data set is obtained.
  • the duration sequence includes several basic subsequences.
  • segmentation process please refer to the description of step S40. To avoid repetition, details are not described here.
  • S75 Obtain a preset number of basic subsequences after each basic subsequence as a trend reference sequence, and obtain label information corresponding to the trend reference sequence as performance trend information corresponding to the basic subsequence.
  • a preset number of basic subsequences after each basic subsequence are acquired as the trend reference sequence, and label information corresponding to the trend reference sequence is acquired as performance trend information corresponding to the basic subsequence.
  • S76 Store the basic label sequence, basic duration sequence, and performance trend information into the target Gaussian mixture hidden Markov model to obtain a trained Gaussian mixture hidden Markov model.
  • the basic annotation sequence, basic duration sequence, and performance trend information are stored in the target Gaussian mixture hidden Markov model to obtain a trained Gaussian mixture hidden Markov model
  • the target Gaussian mixture hidden Markov model with higher state labeling ability for continuous time series changes is obtained, and then the target Gaussian mixture hidden Markov model is obtained.
  • the target Gaussian Mixture Hidden Markov Model performs state labeling on the historical performance data, and performs segmentation according to the preset time segmentation method to obtain the basic sub-sequence and the performance trend information of the basic sub-sequence, and combine the basic sub-sequence and performance trend
  • the information is stored in the target Gaussian mixture hidden Markov model, and a trained Gaussian mixture hidden Markov model is obtained, so that the trained Gaussian mixture hidden Markov model can be used to directly perform real-time server performance data. Analyze and monitor to improve the efficiency of server performance monitoring.
  • the following uses a specific embodiment to analyze the initial Gaussian mixture hidden Marl according to the time point information and historical performance data mentioned in step S72.
  • the Koff model is trained in rolling mode, and the specific implementation method of the target Gaussian mixture hidden Markov model is described in detail.
  • FIG. 3 shows a specific implementation process of step S72 provided by an embodiment of the present application, which is described in detail as follows:
  • S721 Perform rolling segmentation on the historical performance data set according to the time point information according to the preset time interval to obtain several basic data sets and the basic time sequence corresponding to each basic data set.
  • the server presets a default time interval in advance.
  • the time interval the time sequence interval formed by the time point information corresponding to each historical performance data set is subjected to rolling segmentation to obtain several basic data sets, and , The basic timing corresponding to each basic data set.
  • the rolling segmentation refers to the rolling segmentation according to the preset time interval within the time sequence interval, and the amplitude of each sliding is a fixed duration, which can be set according to actual needs, for example, the fixed duration is set to 1. Duration.
  • the time sequence interval is a duration unit of 1-10
  • the preset time interval is 6 duration units
  • the fixed rolling duration is 1 duration unit
  • the first segmentation is obtained, and 1-6 are obtained.
  • Scroll backward for a fixed duration of 1 duration unit and perform the second split to obtain a timing interval of 2-7.
  • a timing interval of 3-8 is obtained.
  • the 4th segmentation obtains a 4-9 timing interval
  • the 5th segmentation obtains a 5-10 timing interval.
  • S722 Acquire historical performance data of each basic data set as basic observation data corresponding to the basic data set.
  • the historical performance data of each basic data set is acquired as the basic observation data corresponding to the basic data set.
  • the basic observation data in this embodiment refers to the visible state chain used as the initial Gaussian mixture hidden Markov model. According to the visible state chain, it is used to derive the hidden state chain and the occurrence of the hidden state chain. Probability.
  • the implicit state chain is used to indicate the labeled states of various server performance, such as normal, busy, idle, suspended animation, and downtime.
  • the basic time series and basic observation data corresponding to the basic data set are used as a set of time series observation data.
  • the time series observation data refers to the basic observation data with time series, that is, the implicit state chain is related to the time sequence, and the same observation data but the time sequence is different, the corresponding implicit state chain may also be different.
  • S724 Use the time series observation data in turn to train and update the initial Gaussian mixture hidden Markov model until each group of time series observation data participates in the training to obtain the target Gaussian mixture hidden Markov model.
  • the obtained time series observation data are respectively used and sequentially input into the initial Gaussian mixture hidden Markov model for training to obtain the target Gaussian mixture hidden Markov model.
  • the historical performance data set is segmented in a rolling manner to obtain several basic data sets, and the basic time series corresponding to each basic data set, and then obtain each basic data set.
  • the historical performance data of the basic data set is used as the basic observation data corresponding to the basic data set, and then for each basic data set, the basic time series and basic observation data corresponding to the basic data set are used as a set of time series observation data and used in turn Time series observation data, the initial Gaussian mixture hidden Markov model is trained and updated, until each group of time series observation data participates in the training, and the target Gaussian mixture hidden Markov model is obtained, and the rolling segmentation is adopted to obtain the basis with continuously changing time series.
  • the data set and basic time sequence enable the trained target Gaussian mixture hidden Markov model to observe and predict the performance data of continuous time series changes, which is beneficial to improve the target Gaussian mixture hidden Markov model performance data for continuous time series changes The labeling ability.
  • the following uses a specific embodiment to perform the rolling segmentation of the historical performance data set according to the preset time interval and the time point information mentioned in step S721.
  • Several basic data sets are obtained, and the specific implementation method of the basic time series corresponding to each basic data set is described in detail.
  • FIG. 4 shows a specific implementation process of step S721 provided in an embodiment of the present application, which is described in detail as follows:
  • the server is preset with a preset time interval, the duration T1 of the preset time interval is acquired, and the historical performance data set can be segmented by the duration T1 later.
  • S7212 Determine the time series interval corresponding to the historical performance data set according to all time point information, and calculate the duration T2 of the time series interval, where T2>T1.
  • T2-T1+1 basic time series From the time series interval, sequentially obtain T2-T1+1 basic time series with a duration of T1, and obtain the historical performance data of each basic time series as the basic data set corresponding to the basic time series, where the i-th basic time series is The time sequence from the i-th time unit to the T1+i-1th time unit, i is a positive integer, and i ⁇ T2-T1+1.
  • the time sequence interval is divided by the preset time interval T1 to obtain a basic time sequence, and each time it moves forward by a unit time, the division is continued to obtain another basic time sequence, and a total of T2-T1 is obtained. +1 time sequence, and obtain the historical performance data corresponding to each basic sequence as the basic data set corresponding to the basic sequence.
  • the characteristic of sexual change is beneficial to improve the observation and prediction ability of the target Gaussian Mixture Hidden Markov Model on continuously changing performance data when the basic time sequence is used for subsequent training.
  • the following uses a specific embodiment to obtain the basic subsequence corresponding to the target subsequence by means of dynamic programming mentioned in step S50 as the specific reference subsequence.
  • the realization method is explained in detail.
  • FIG. 5 shows a specific implementation process of step S50 provided in an embodiment of the present application, which is described in detail as follows:
  • S51 For any target subsequence, calculate the similarity between the target subsequence and each basic subsequence, and use the basic subsequence with the largest similarity value as the basic subsequence corresponding to the target subsequence.
  • the similarity between the target subsequence and each basic subsequence is calculated separately, and the basic subsequence corresponding to the obtained maximum similarity value is obtained as the basic subsequence corresponding to the target subsequence.
  • S52 Perform summary processing on the basic subsequences corresponding to all target subsequences to obtain a reference subsequence.
  • each basic subsequence corresponds to a trend reference sequence
  • the basic subsequence corresponding to each target subsequence is obtained
  • the trend reference sequences corresponding to these basic subsequences are summarized as the reference subsequence.
  • any target subsequence calculate the similarity between the target subsequence and each basic subsequence, and use the basic subsequence with the largest similarity value as the basic subsequence corresponding to the target subsequence, and then compare The basic sub-sequences corresponding to all the target sub-sequences are summarized and processed to obtain the reference sub-sequence, so that the performance trend information can be determined subsequently based on the reference sub-sequence.
  • a specific embodiment is used to calculate the similarity between the target subsequence and each basic subsequence for any target subsequence mentioned in step S51.
  • the specific implementation method is described in detail.
  • FIG. 6 shows a specific implementation process of step S51 provided in an embodiment of the present application, which is described in detail as follows:
  • S511 Store the target subsequence in a one-dimensional array X a , and store the basic subsequence in a one-dimensional array Y b , where a is the amount of time point information of the target subsequence, and b is the time point of the basic subsequence The amount of information.
  • the quantity a of the time point information of the target subsequence and the b of the time point information of the basic subsequence are obtained, and the status of the performance data corresponding to the time point information of the target subsequence is marked, and stored in the order from front to back.
  • Enter the one-dimensional array X a label the status of the performance data corresponding to the time point information of the basic sub-sequence, and store them in the one-dimensional array Y b in the order from first to last.
  • the length of the common subsequence before the i-th bit of X a and the j-th bit of Y b is calculated by the above formula.
  • the common subsequence refers to the common state label included in both X a and Y b.
  • maximum ⁇ means to remove the maximum value in the braces as the value of the expression.
  • S513 Perform recursive backtracking on the length of the common subsequence to obtain a set of common subsequence lengths, and obtain the common subsequence length l with the largest value from the set as the target length, where l is a positive integer less than or equal to b.
  • the lengths of all common subsequences obtained in step S512 are stored in a matrix of row a and column b, and the matrix is recursively traced in a preset manner, and each length is calculated and updated according to the above formula.
  • the length of all common subsequences is obtained, and the common subsequence length with the largest value is selected as the target length.
  • the preset method can be from right to left, then from bottom to top, or from bottom to top, and then from right to left, which can be selected according to the actual situation, and there is no specific limitation here.
  • recursion refers to a method of directly or indirectly calling itself in a process or function in its definition or description. It usually transforms a large and complex problem into a smaller problem similar to the original problem.
  • the recursive strategy requires only a few computer-readable instructions to describe the multiple repetitive calculations required in the process of solving the problem, which greatly reduces the amount of computer-readable instructions. For example, in this embodiment, when calculating L(i,j), it only needs to be based on L(i-1,j), L(i,j-1), L(i-1,j) each time.
  • L(i,j) can be used as L(i+1,j), L(i,j+1) or The calculation factor of L(i+1,j+1) is used for subsequent calculations.
  • backtracking is also called heuristics. It is a search attempt process similar to enumeration, which is mainly to find the solution of the problem during the search attempt. When it is found that the solution conditions are not met, it will "backtrack" to return and try something else. path. At the same time, the backtracking method is also an optimal search method, which searches forward according to the optimal conditions to achieve the goal. But when you explore a certain step, you find that the original choice is not good or the goal is not achieved, so you go back one step and choose again.
  • This technique of going back and going again is the backtracking method, and the point of a certain state that satisfies the backtracking condition Called the "backtracking point", in this embodiment, taking the length of the 26x29 matrix as an example, you can start from the left of the first row, that is, L(1,1), to the right of the first row, that is, L(1, 29) Perform recursive calculations and update the 29 lengths of the first row. After updating the length of the first row of the matrix, perform recursive calculations from the left to the right of the second row. Continue to update according to this method until the complete one is updated. Up to the matrix, in the updated matrix, the length with the largest value is selected as the target length.
  • is the similarity value between the target subsequence and the basic subsequence, ⁇ [0,1].
  • Fig. 7 shows a functional block diagram of a server performance monitoring device corresponding to the server performance monitoring method of the above-mentioned embodiment one-to-one.
  • the server performance monitoring device includes a first collection module 10, a data input module 20, a first labeling module 30, a first segmentation module 40, a trend prediction module 50 and an early warning unit 60.
  • the detailed description of each functional module is as follows:
  • the first acquisition module 10 is configured to acquire the performance data of the server from the current time point to the preset time interval as a target performance data set;
  • the data input module 20 is used to input the target performance data set into the trained Gaussian mixture hidden Markov model, where the trained Gaussian mixture hidden Markov model includes the basic annotation sequence and the basic duration corresponding to the basic annotation sequence Sequence, the basic duration sequence includes several basic sub-sequences, and the trained Gaussian mixture hidden Markov model is obtained through the historical performance data training of the server;
  • the first labeling module 30 is configured to use the trained Gaussian mixture hidden Markov model to perform state labeling on each performance data in the target performance data set to obtain the target labeling sequence;
  • the first segmentation module 40 is used for data segmentation of the target labeling sequence according to the preset duration segmentation method to obtain the target duration sequence corresponding to the target performance data set, wherein the target duration sequence includes at least two target subsequences ;
  • the trend prediction module 50 is used to obtain the basic sub-sequence corresponding to the target sub-sequence by means of dynamic programming as a reference sub-sequence, and obtain the performance trend information corresponding to the reference sub-sequence as the server's performance prediction information at the current time point,
  • the state label corresponding to the next basic sub-sequence of the basic sub-sequence corresponding to each time point is the performance trend information corresponding to the basic sub-sequence at that time point;
  • the early warning module 60 is used to compare the performance prediction information with a preset threshold range, and if the performance prediction information is outside the preset threshold range, execute a preset emergency measure.
  • the server performance monitoring device also includes:
  • the second acquisition module is used to acquire the historical performance data set of the server, the historical performance data set contains historical performance data and time point information corresponding to the historical performance data;
  • the rolling training module is used to perform rolling training on the initial Gaussian mixture hidden Markov model according to time point information and historical performance data to obtain the target Gaussian mixture hidden Markov model;
  • the second labeling module is used to use the target Gaussian mixture hidden Markov model to label the historical performance data corresponding to the time point information according to the time sequence in the time point information to obtain the basic labeling sequence;
  • the second segmentation module is used to segment the basic annotation sequence according to the preset duration segmentation method to obtain the basic duration sequence corresponding to the historical performance data set, where the basic duration sequence includes a number of basic subsequences;
  • the trend information determination module is used to obtain a preset number of basic sub-sequences after each basic sub-sequence as the trend reference sequence, and obtain the label information corresponding to the trend reference sequence as the performance trend information corresponding to the basic sub-sequence;
  • the model determination module is used to store the basic annotation sequence, basic duration sequence and performance trend information into the target Gaussian mixture hidden Markov model to obtain a trained Gaussian mixture hidden Markov model.
  • the rolling training module includes:
  • the rolling segmentation unit is used to perform rolling segmentation of the historical performance data set according to the time point information according to the preset time interval to obtain several basic data sets and the basic time sequence corresponding to each basic data set;
  • the basic observation data acquisition unit is used to acquire historical performance data of each basic data set as the basic observation data corresponding to the basic data set;
  • the time series observation data determining unit is used to, for each basic data set, use the basic time series and basic observation data corresponding to the basic data set as a set of time series observation data;
  • the target model generating unit is used to sequentially use time series observation data to train and update the initial Gaussian mixture hidden Markov model until each set of time series observation data participates in the training to obtain the target Gaussian mixture hidden Markov model.
  • the rolling segmentation unit includes:
  • the first time length determining subunit is used to obtain the time length T1 of the preset time interval
  • the second time length determination subunit is used to determine the time series interval corresponding to the historical performance data set according to all time point information, and calculate the time length T2 of the time series interval, where T2>T1;
  • the rolling segmentation subunit is used to sequentially obtain T2-T1+1 basic time series with a duration of T1 from the time series interval, and obtain the historical performance data of each basic time series as the basic data set corresponding to the basic time series.
  • the i basic time sequence is the time sequence from the i-th time unit to the T1+i-1 time unit, i is a positive integer, and i ⁇ T2-T1+1.
  • the trend prediction module 50 includes:
  • the similarity determination unit is configured to calculate the similarity between the target subsequence and each basic subsequence for any target subsequence, and use the basic subsequence with the largest similarity value as the basic subsequence corresponding to the target subsequence;
  • the reference subsequence obtaining unit is configured to perform summary processing on the basic subsequences corresponding to all target subsequences to obtain the reference subsequence.
  • the similarity determination unit includes:
  • the array construction subunit is used to store the target subsequence in a one-dimensional array X a , and store the basic subsequence in a one-dimensional array Y b , where a is the number of time point information of the target subsequence, and b is the basis The amount of time point information of the sub-sequence;
  • the common sequence length calculation subunit is used to calculate the common subsequence length L(i,j) before the i-th position of X a and the j-th position of Y b using the following formula:
  • the recursive backtracking subunit is used to recursively backtrack the length of the common subsequence to obtain the set of common subsequence lengths, and obtain the common subsequence length l with the largest value from the set as the target length, where l is less than or equal to b Positive integer
  • the similarity calculation subunit is used to calculate the similarity value between the target subsequence and the basic subsequence using the following formula:
  • is the similarity value between the target subsequence and the basic subsequence, ⁇ [0,1].
  • the server performance monitoring device For the specific limitation of the server performance monitoring device, please refer to the above limitation of the server performance monitoring method, which will not be repeated here.
  • the various modules in the above server performance monitoring device can be implemented in whole or in part by software, hardware, and combinations thereof.
  • the above-mentioned modules may be embedded in the form of hardware or independent of the processor in the computer equipment, or may be stored in the memory of the computer equipment in the form of software, so that the processor can call and execute the operations corresponding to the above-mentioned modules.
  • Fig. 8 is a schematic diagram of a computer device provided by an embodiment of the present application.
  • the computer device may be a server, and its internal structure diagram may be as shown in Figure 8.
  • the computer equipment includes a processor, a memory, a network interface, and a database connected through a system bus. Among them, the processor of the computer device is used to provide calculation and control capabilities.
  • the memory of the computer device includes a non-volatile storage medium and an internal memory.
  • the non-volatile storage medium stores an operating system, computer readable instructions, and a database.
  • the internal memory provides an environment for the operation of the operating system and computer-readable instructions in the non-volatile storage medium.
  • the database of the computer equipment is used to store historical performance data sets and Gaussian mixture hidden Markov models.
  • the network interface of the computer device is used to communicate with an external terminal through a network connection.
  • the computer readable instruction is executed by the processor to realize a server performance monitoring method.
  • a computer device including a memory, a processor, and computer-readable instructions stored in the memory and running on the processor.
  • the processor executes the computer-readable instructions to realize the server performance of the foregoing embodiment.
  • the steps of the monitoring method are, for example, step S10 to step S60 shown in FIG. 2.
  • the processor implements the functions of the modules/units of the server performance monitoring apparatus in the foregoing embodiment when executing the computer-readable instructions, for example, the functions of the modules 10 to 60 shown in FIG. 7. To avoid repetition, I won’t repeat them here.
  • a computer-readable storage medium is provided.
  • the computer-readable storage medium may be non-volatile or volatile.
  • the computer-readable storage medium stores computer-readable instructions, and the computer may The read instruction is executed by the processor to implement the steps of the server performance monitoring method in the foregoing embodiment, or the computer-readable instruction is executed by the processor to implement the function of each module/unit in the server performance monitoring apparatus of the foregoing embodiment. To avoid repetition, I won’t repeat them here.
  • the computer-readable storage medium may include: any entity or device capable of carrying the computer-readable instruction code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory ( Read-Only Memory, ROM), Random Access Memory (RAM), electrical carrier signal and telecommunications signal, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种服务器性能监控方法、装置、计算机设备及存储介质,所述方法包括:获取服务器目标性能数据集,并采用训练好的高斯混合隐马尔可夫模型,对目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列,实现了对性能数据的状态标注,有利于后续根据状态标注进行性能评估与走势预测,同时,对目标标注序列进行数据切分,得到目标性能数据集对应的目标子序列,最后通过动态规划的方式,获取目标子序列对应的性能走势信息,作为性能预测信息,并将性能预测信息与预设阈值范围进行比较,根据比较结果确定是否预警,提高了服务器性能监控的效率,也有利于在性能走势出现异常时进行及时预警,提高预警的及时性。

Description

服务器性能监控方法、装置、计算机设备及存储介质
本申请要求于2019年9月18日提交中国专利局、申请号为201910882569.8,发明名称为“服务器性能监控方法、装置、计算机设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及智能监控领域,尤其涉及一种服务器性能监控方法、装置、计算机设备及存储介质。
背景技术
随着科技的进步和经济的社会发展,一些网络科技公司涉及的业务范围越来越广,也即意味着,服务器对接的业务种类和用户数量越来越多,这对服务器的性能要求更为苛刻。
不同的业务种类,对服务器的资源占用情况不同,而不同时间段,使用服务器的用户数量也在变化,为确保服务器性质能达到要求,我们需要对服务器的性能进行实时监控预测,在服务器性能达不到生产环境的要求之前,采取启用备用服务器或者其他服务器性能优化的措施,保证服务器的正常运转。
在现有的一些方法中,有一些通过统计学的方式,结合历史性能数据来对服务器性能变化趋势进行预测,也有通过隐马尔科夫模型来对服务器资源占用的趋势进行评估,这些预测的目的,都是为了提前对服务器性能可能出现的障碍进行预警,并采取相应措施确保服务器的正常运行,实现服务器性能的监管。在实现本申请的过程中,发明人意识到现有的方法至少存在如下问题:在当前网络信息的不对称(用户数量的不稳定性和非预期的流量冲击)的因素下,通过统计学的方式或者使用隐马尔科夫模型进行资源占用情况的趋势预测,预测准确率往往难以达到要求,往往在出现性能故障时才被发现,使得服务器性能监控效率较低,因而,寻找一种高效的服务器性能监控方法,以实现在服务器性能出现故障之前进行及时预警,成了一个亟待解决的难题。
发明内容
本申请实施例提供一种服务器性能监控方法、装置、计算机设备和存储介质,以提高当前服务器性能监控的效率。
一种服务器性能监控方法,包括:
获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集;
将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,其中,所述训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,所述基础时长序列包括若干基础子序列,所述训练好的高斯混合隐马尔可夫模型为通过所述服务器的历史性能数据训练得到;
采用所述训练好的高斯混合隐马尔可夫模型,对所述目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列;
根据预设的时长切分方式,对所述目标标注序列进行数据切分,得到所述目标性能数据集对应的目标时长序列,其中,所述目标时长序列包括至少两个目标子序列;
通过动态规划的方式,获取所述目标子序列对应的基础子序列,作为参考子序列,并获取所述参考子序列对应的性能走势信息,作为所述服务器在当前时间点的性能预测信息,其中,每一时间点对应的所述基础子序列的下一基础子序列对应的状态标注,为该时 间点的基础子序列对应的性能走势信息;
将所述性能预测信息与预设阈值范围进行比较,若所述性能预测信息处于所述预设阈值范围之外,则执行预设应急措施。
一种服务器性能监控装置,包括:
第一采集模块,用于获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集;
数据输入模块,用于将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,其中,所述训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,所述基础时长序列包括若干基础子序列,所述训练好的高斯混合隐马尔可夫模型为通过所述服务器的历史性能数据训练得到;
第一标注模块,用于采用所述训练好的高斯混合隐马尔可夫模型,对所述目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列;
第一切分模块,用于根据预设的时长切分方式,对所述目标标注序列进行数据切分,得到所述目标性能数据集对应的目标时长序列,其中,所述目标时长序列包括至少两个目标子序列;
趋势预测模块,用于通过动态规划的方式,获取所述目标子序列对应的基础子序列,作为参考子序列,并获取所述参考子序列对应的性能走势信息,作为所述服务器在当前时间点的性能预测信息,其中,每一时间点对应的所述基础子序列的下一基础子序列对应的状态标注,为该时间点的基础子序列对应的性能走势信息;
预警模块,用于将所述性能预测信息与预设阈值范围进行比较,若所述性能预测信息处于所述预设阈值范围之外,则执行预设应急措施。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下服务器性能监控方法的步骤:
获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集;
将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,其中,所述训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,所述基础时长序列包括若干基础子序列,所述训练好的高斯混合隐马尔可夫模型为通过所述服务器的历史性能数据训练得到;
采用所述训练好的高斯混合隐马尔可夫模型,对所述目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列;
根据预设的时长切分方式,对所述目标标注序列进行数据切分,得到所述目标性能数据集对应的目标时长序列,其中,所述目标时长序列包括至少两个目标子序列;
通过动态规划的方式,获取所述目标子序列对应的基础子序列,作为参考子序列,并获取所述参考子序列对应的性能走势信息,作为所述服务器在当前时间点的性能预测信息,其中,每一时间点对应的所述基础子序列的下一基础子序列对应的状态标注,为该时间点的基础子序列对应的性能走势信息;
将所述性能预测信息与预设阈值范围进行比较,若所述性能预测信息处于所述预设阈值范围之外,则执行预设应急措施。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如下服务器性能监控方法的步骤:
获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集;
将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,其中,所述训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,所述基础时长序列包括若干基础子序列,所述训练好的高斯混合隐马尔可夫模型为通过所述 服务器的历史性能数据训练得到;
采用所述训练好的高斯混合隐马尔可夫模型,对所述目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列;
根据预设的时长切分方式,对所述目标标注序列进行数据切分,得到所述目标性能数据集对应的目标时长序列,其中,所述目标时长序列包括至少两个目标子序列;
通过动态规划的方式,获取所述目标子序列对应的基础子序列,作为参考子序列,并获取所述参考子序列对应的性能走势信息,作为所述服务器在当前时间点的性能预测信息,其中,每一时间点对应的所述基础子序列的下一基础子序列对应的状态标注,为该时间点的基础子序列对应的性能走势信息;
将所述性能预测信息与预设阈值范围进行比较,若所述性能预测信息处于所述预设阈值范围之外,则执行预设应急措施。
本申请实施例提供的服务器性能监控方法、装置、计算机设备及存储介质,通过训练好的高斯混合隐马尔可夫模型,结合服务器在当前的时长序列内性能数据的变化情况,对服务器性能进行评估,提高了服务器性能预测的效率,也有利于在性能走势出现异常时进行及时预警,提高预警的及时性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的服务器性能监控方法的实现流程图;
图2是本申请实施例提供的服务器性能监控方法中对高斯混合隐马尔可夫模型进行训练的实现流程图;
图3是本申请实施例提供的服务器性能监控方法中步骤S72的实现流程图;
图4是本申请实施例提供的服务器性能监控方法中步骤S721的实现流程图;
图5是本申请实施例提供的服务器性能监控方法中步骤S50的实现流程图;
图6是本申请实施例提供的服务器性能监控方法中步骤S51的实现流程图;
图7是本申请实施例提供的服务器性能监控装置的示意图;
图8是本申请实施例提供的计算机设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的服务器性能监控方法应用在对集群服务器中每个节点服务器的性能进行监控场景中。该监控场景包括节点服务器和服务端,其中,节点服务器和服务端之间通过网络进行连接,服务端实时获取节点服务器的性能数据,并根据获取到的性能数据进行性能走势预测,在性能走势出现异常时,提前进行预警。服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。
请参阅图1,图1示出本申请实施例提供的一种服务器性能监控方法,以该方法应用在服务端为例进行说明,详述如下:
S10:获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集。
具体地,通过预设路径,获取服务器从当前时间点到预设时间间隔的性能数据,并对 该性能性能数据进行数据预处理,得到格式和范围规范的目标性能数据集,以便后续使用目标性能数据集进行性能的性能预测。
其中,预设时间间隔可根据实际需求进行设定,此处不做限制。
其中,性能数据是指用于当前性能状况(资源占用情况)评估的数据,例如占用服务器资源的业务标识、每种业务占用服务器资源的数量、每种业务实时在线用户数量等。
其中,预设路径是指获取性能数据的路径,具体可以是网络路径,例如,云端存储的服务器运行记录文件,也可以是本地路径,例如,服务端自身存储的日志文件,可依据实际需求进行设定,此处不做限制。
需要说明的是,本实施例中对服务器性能的监控,其对象可以是对单个服务器,也可以是对集群服务器,服务端可根据需要,将性能数据存储到与服务端连接的数据库中,或者,通过服务器集群中的日志收集框架,将性能日志信息采集并存储到预设路径。
容易理解地,在预设路径为网络路径时,服务端通过网络传输协议,从预设的统一资源定位符,读取性能数据,在预设路径为本地路径时,服务端获取本地路径对应的物理地址,从该物理地址中获取性能数据。
其中,网络传输协议包括但不限于:互联网控制报文协议(Internet Control Message Protocol,ICMP)、地址解析协议(ARPAddress Resolution Protocol,ARP)和文件传输协议(File Transfer Protocol,FTP)等。
进一步地,服务端按照预设数据预处理方式,对获取到的性能数据进行数据预处理,得到目标性能数据集。
其中,数据预处理是指对所收集数据进行分类或分组前所做的校验、筛选、排序等必要的处理,以使处理之后的数据符合使用要求,常见的数据预处理方式包括但不限于:数据清理,数据集成,数据变换,数据归约和数据归一化等。
优选地,本实施例中预设数据预处理方式选用数据变换处理和数据归一化处理,先通过平滑聚集,数据概化,规范化等方式将数据转换成适用于模型识别的数据形式,再通过归一化处理,将不同维度的性能数据归一到同一阈值范围内的标量,提高后续目标性能数据集的容错性。
S20:将目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,其中,训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,基础时长序列包括若干基础子序列,训练好的高斯混合隐马尔可夫模型为通过服务器的历史性能数据训练得到。
具体地,将目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,以使后续通过该训练好的高斯混合隐马尔可夫模型,对当前的目标性能数据集进行分析评估,确定当前服务器的性能状态。
其中,训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,基础时长序列包括若干基础子序列,训练好的高斯混合隐马尔可夫模型为通过服务器的历史性能数据训练得到。
其中,基础时长序列是指历史性能数据对应的时间点信息组成的序列。
其中,基础标注信息是指每个历史性能数据对应的状态标注信息。
其中,高斯混合隐马尔可夫(Gaussian of Mixture Hidden Markov Model,GM-HMM)模型是一种隐马尔可夫的聚类模型,用于基于聚类标注的状态序列,刻画出时间序列的非平稳运动变化,有效捕捉性能变动的规律和模式,提供介于定量化分析和定性分析之间的指标判据。一个非常明显的优势是,它提供了一种较为通用的时间序列相似度量标准,且计算简单,便于比较分析和查询,隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数,然后利用这些参数来作进一步的分析。
在本实施例中,服务器的性能数据收到众多因素影响,例如,当前访问流量的大小、服务端预留内存的大小、网络宽带的占用情况、服务器性能的折耗、异常网络流程的攻击等,采用通过历史性能数据进行训练的高斯混合隐马尔科夫模型,可以有效对当前性能进行分析评估,提升对当前性能未来走势评估的准确程度。
需要说明的是,服务器的性能随着时间变化,具有一定的突变性,也即,会发生一些非预期的变化,例如,在某个业务做一个用户关注点较高的活动策划时,该业务对应的用户数据剧增,使得相邻窗口内状态存在风格变化的可能,在相邻窗口内状态发生风格变化时,使用风格变化之前的状态进行加权,会导致状态滞后,导致预测不正确,在本实施例中,采用滚动式的训练方式,涵盖风格变化前后的每个时序,降低风格变化对预测准确率带来的影响,采用滚动式的方式进行训练的具体过程可参考步骤S71至步骤S76的描述,为避免重复,此处不再赘述。
S30:采用训练好的高斯混合隐马尔可夫模型,对目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列。
具体地,采用训练好的高斯混合隐马尔可夫模型,对目标性能数据集中每个性能数据进行状态标注,得到目标标注序列。
其中,状态标注是指对该目标性能数据可能出现的状态(也即,高斯混合隐马尔可夫模型中的隐藏状态)进行标注,并计算出现该隐藏状态的概率,在本实施例中,状态标注具体可以是服务器性能相关的信息,例如正常、繁忙、空闲、假死、宕机等,具体可根据实际需要进行设定。
需要说明的是,本实施例中,隐藏状态的概率,会随性能数据的时序改变而发生变化。
S40:根据预设的时长切分方式,对目标标注序列进行数据切分,得到目标性能数据集对应的目标时长序列,其中,目标时长序列包括至少两个目标子序列。
具体地,为提高分能分析的准确程度,从当前时间点到预设时间间隔的时长一般设置较长,而在使用训练好的高斯混合隐马尔可夫模型,对该段时间对应的目标标注序列对应的性能走势进行分析预测时,过长的时长会导致只能对整体概括进行分析,而无法对短时间的突发状态进行监控,因而,先根据预设的时长切分方式,对目标标注序列进行数据切分,得到目标性能数据集对应的目标时长序列。
其中,预设的时长切分方式可根据服务端的实际性能需求进行设定,此处不做限制,优选地,本实施例采用的预设的时长切分方式为,以20分钟的定时时长,将目标标注序列切分为若干个目标时长序列。
S50:通过动态规划的方式,获取目标子序列对应的基础子序列,作为参考子序列,并获取参考子序列对应的性能走势信息,作为服务器在当前时间点的性能预测信息,其中,每一时间点对应的基础子序列的下一基础子序列对应的状态标注,为该时间点的基础子序列对应的性能走势信息。
具体地,通过动态规划的方式,获取每个目标子序列最相似的基础子序列,作为该目标子序列对应的基础子序列,并将这些基础子序列对应的性能走势信息,作为服务器在当前时间点的性能预测信息。
其中,动态规划(dynamic programming)是对解最优化问题的一种途径、一种方法,在本实施例中,采用的动态规划方式可以是最长公共子序列(Longest Common Subsequence,LCS)的方式,通过求解最长公共子序列的方式,获取目标子序列对应的基础子序列。
其中,性能走势信息是指该基础子序列的下一基础子序列对应的状态标注,也即,该基础子序列的下一基础子序列的最大概率的状态标注。
S60:将性能预测信息与预设阈值范围进行比较,若性能预测信息处于预设阈值范围之外,则执行预设应急措施。
具体地,将性能预测信息与预设阈值范围进行比较,若性能预测信息处于预设阈值范 围之外,则确定服务器性能可能会趋向不正常,此时执行预设应急措施。
其中,所述预设应急措施包括但不限于:启用应急服务器、限制最大资源占用比例、清理缓存、清理超过预设时长未响应的访问等。
在本实施例中,获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集,进而将目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,再采用训练好的高斯混合隐马尔可夫模型,对目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列,实现了对性能数据的状态标注,有利于后续根据状态标注进行性能评估与走势预测,同时,根据预设的时长切分方式,对目标标注序列进行数据切分,得到目标性能数据集对应的目标时长序列,最后通过动态规划的方式,获取目标子序列对应的基础子序列,作为参考子序列,并获取参考子序列对应的性能走势信息,作为服务器在当前时间点的性能预测信息,进而将性能预测信息与预设阈值范围进行比较,若性能预测信息处于预设阈值范围之外,则执行预设应急措施,实现通过训练好的高斯混合隐马尔可夫模型,结合服务器在当前的时长序列内性能数据的变化情况,对服务器性能进行评估,提高了服务器性能预测的准确率和效率,也有利于在性能走势出现异常时,进行及时预警,提高预警的及时性。
在一实施例中,步骤S20之前,该服务器性能监控方法还包括对高斯混合隐马尔可夫模型进行训练,得到训练好的高斯混合隐马尔可夫模型的过程。
请参阅图2,图2示出了本申请实施例提供的对高斯混合隐马尔可夫模型进行训练,得到训练好的高斯混合隐马尔可夫模型的具体实现流程,详述如下:
S71:获取服务器的历史性能数据集,历史性能数据集包含历史性能数据和历史性能数据对应的时间点信息。
具体地,获取服务器的历史性能数据集,历史性能数据集包含历史性能数据和历史性能数据对应的时间点信息。
S72:根据时间点信息和历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到目标高斯混合隐马尔可夫模型。
具体地,根据时间点信息和历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到目标高斯混合隐马尔可夫模型。
具体可参考步骤S721至步骤S724的描述,为避免重复,此处不再赘述。
S73:使用目标高斯混合隐马尔可夫模型,按照时间点信息中的时间顺序,对时间点信息对应的历史性能数据进行标注,得到基础标注序列。
具体地,使用目标高斯混合隐马尔可夫模型,按照时间点信息中的时间顺序,对时间点信息对应的历史性能数据进行标注,得到基础标注序列。
S74:根据预设的时长切分方式,对基础标注序列进行数据切分,得到历史性能数据集对应的基础时长序列,其中,基础时长序列包括若干基础子序列。
具体地,为确保对突发性的状况具有更好的预测能力,对基础标注序列按照预设的时长切分方式,进行数据切分,得到历史性能数据集对应的基础时长序列,其中,基础时长序列包括若干基础子序列,具体切分过程,可参考步骤S40的描述,为避免重复,此处不再赘述。
S75:获取每个基础子序列之后预设数量的基础子序列,作为走势参考序列,并获取走势参考序列对应的标注信息,作为基础子序列对应的性能走势信息。
具体地,获取每个基础子序列之后预设数量的基础子序列,作为走势参考序列,并获取走势参考序列对应的标注信息,作为基础子序列对应的性能走势信息。
S76:将基础标注序列、基础时长序列和性能走势信息存入到目标高斯混合隐马尔可夫模型,得到训练好的高斯混合隐马尔可夫模型。
具体地,将基础标注序列、基础时长序列和性能走势信息存入到目标高斯混合隐马尔 可夫模型,得到训练好的高斯混合隐马尔可夫模型
在本实施例中,通过采用历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到对连续时序变化具有较高状态标注能力的目标高斯混合隐马尔可夫模型,进而采用该目标高斯混合隐马尔可夫模型对历史性能数据进行状态标注,并按照预设的时长切分方式进行切分,得到基础子序列以及基础子序列的性能走势信息,并将基础子序列及性能走势信息存入到目标高斯混合隐马尔可夫模型,得到训练好的高斯混合隐马尔可夫模型,以使可续可直接通过该训练好的高斯混合隐马尔可夫模型对实时的服务器性能数据进行分析监控,提高服务器性能监控的效率。
在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S72中所提及的根据时间点信息和历史性能数据,对初始高斯混合隐马尔
可夫模型进行滚动式训练,得到目标高斯混合隐马尔可夫模型的具体实现方法进行详细说明。
请参阅图3,图3示出了本申请实施例提供的步骤S72的具体实现流程,详述如下:
S721:按照预设时间间隔,根据时间点信息,对历史性能数据集进行滚动式切分,得到若干个基础数据集,以及每个基础数据集对应的基础时序。
具体地,服务端预先设置有默认的时间间隔,按照该时间间隔,对每个历史性能数据集对应的时间点信息组合成的时序区间,进行滚动式切分,得到若干个基础数据集,以及,每个基础数据集对应的基础时序。
其中,滚动式切分是指在时序区间内,按照预设时间间隔,进行滚动切分,每次滑动的幅度为固定时长,具体可根据实际需求来设定,例如,设定固定时长为1个时长。
例如,在一具体实施方式中,时序区间为1-10的时长单位,预设时间间隔为6个时长单位,固定的滚动时长为1个时长单位,则第1次切分,得到1-6的时序区间,进而向后滚动1个时长单位的固定时长,并进行第2次切分,得到2-7的时序区间,依次,在第3次切分得到3-8的时序区间,在第4次切分得到4-9的时序区间,在第5次切分得到5-10的时序区间。
S722:获取每个基础数据集的历史性能数据,作为基础数据集对应的基础观测数据。
具体地,获取每个基础数据集的历史性能数据,作为基础数据集对应的基础观测数据。
其中,基础观测数据在本实施例中,是指用于作为初始高斯混合隐马尔可夫模型的可见状态链,根据该可见状态链,用以推导隐含状态链,以及出现隐含状态链的概率。在本实施例中,隐含状态链用于表示各种服务器性能的标注状态,例如正常、繁忙、空闲、假死、宕机等。
S723:针对每个基础数据集,将该基础数据集对应的基础时序和基础观测数据,作为一组时序观测数据。
具体地,针对每个基础数据集,将该基础数据集对应的基础时序和基础观测数据,作为一组时序观测数据。
其中,时序观测数据是指带有时序的基础观测数据,也即,隐含状态链与时序相关,相同观测数据,时序不同,其对应的隐含状态链也可能不同。
S724:依次使用时序观测数据,对初始高斯混合隐马尔可夫模型进行训练更新,直到每组时序观测数据均参与训练,得到目标高斯混合隐马尔可夫模型。
具体地,按照时序的顺序,分别采用得到的时序观测数据,依次输入到初始高斯混合隐马尔可夫模型中进行训练,得到目标高斯混合隐马尔可夫模型。
在本实施例中,按照预设时间间隔,根据时间点信息,对历史性能数据集进行滚动式切分,得到若干个基础数据集,以及每个基础数据集对应的基础时序,进而获取每个基础数据集的历史性能数据,作为基础数据集对应的基础观测数据,再针对每个基础数据集,将该基础数据集对应的基础时序和基础观测数据,作为一组时序观测数据,并依次使用时 序观测数据,对初始高斯混合隐马尔可夫模型进行训练更新,直到每组时序观测数据均参与训练,得到目标高斯混合隐马尔可夫模型,采用滚动式切分,得到具有连续变化时序的基础数据集和基础时序,使得训练得到的目标高斯混合隐马尔可夫模型对连续时序变化的性能数据的观测和预判能力,有利于提高目标高斯混合隐马尔可夫模型对于连续时序变化的性能数据的标注能力。
在图3对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S721中所提及的按照预设时间间隔,根据时间点信息,对历史性能数据集进行滚动式切分,得到若干个基础数据集,以及每个基础数据集对应的基础时序的具体实现方法进行详细说明。
请参阅图4,图4示出了本申请实施例提供的步骤S721的具体实现流程,详述如下:
S7211:获取预设时间间隔的时长T1。
具体地,服务端预设设置有预设时间间隔,获取该预设时间间隔的时长T1,在后续可通过该时长T1对历史性能数据集进行切分。
S7212:根据所有时间点信息,确定历史性能数据集对应的时序区间,并计算时序区间的时长T2,其中,T2>T1。
具体地,从所有时间点信息中,获取最大时间点和最小时间点,进而根据最大时间点和最小时间点,确定历史性能数据集对应的时序区间,并计算时序区间的时长T2,其中,T2>T1。
S7213:从时序区间中,依次获取T2-T1+1个时长为T1的基础时序,并获取每个基础时序的历史性能数据,作为基础时序对应的基础数据集,其中,第i个基础时序为从第i个时间单位到第T1+i-1个时间单位的时序,i为正整数,且i≤T2-T1+1。
具体地,通过预设时间间隔的时长T1,对时序区间进行切分,得到一个基础时序,并每次向前移动一个单位时长,继续进行切分,得到另外一个基础时序,一共得到T2-T1+1个时长序列,并获取每个基础序列对应的历史性能数据,作为该基础时序对应的基础数据集。
在本实施例中,通过获取历史数据集对应的时序区间和预设时间间隔,并按照预设时间间隔为长度,每隔一个单位时序,进行一个基础时序的获取,使得得到的基础时序具有连续性变化的特性,在后续使用该基础时序进行训练时,有利于提高目标高斯混合隐马尔可夫模型对连续时序变化的性能数据的观测和预判能力。
在图1对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S50中所提及的通过动态规划的方式,获取目标子序列对应的基础子序列,作为参考子序列的具体实现方法进行详细说明。
请参阅图5,图5示出了本申请实施例提供的步骤S50的具体实现流程,详述如下:
S51:针对任一目标子序列,计算该目标子序列与每个基础子序列的相似度,并将相似度值最大的基础子序列作为目标子序列对应的基础子序列。
具体地,对于每个目标子序列,分别计算该目标子序列与每个基础子序列的相似度,并获取得到的最大相似值对应的基础子序列,作为该目标子序列对应的基础子序列。
S52:对所有目标子序列对应的基础子序列进行汇总处理,得到参考子序列。
具体地,每个基础子序列对应有走势参考序列,获取每个目标子序列对应的基础子序列,并将这些基础子序列对应的走势参考序列进行汇总,作为参考子序列。
在本实施例中,针对任一目标子序列,计算该目标子序列与每个基础子序列的相似度,并将相似度值最大的基础子序列作为目标子序列对应的基础子序列,进而对所有目标子序列对应的基础子序列进行汇总处理,得到参考子序列,以使后续可以根据参考子序列确定性能走势信息。
在图5对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S51中所提及 的针对任一目标子序列,计算该目标子序列与每个基础子序列的相似度的具体实现方法进行详细说明。
请参阅图6,图6示出了本申请实施例提供的步骤S51的具体实现流程,详述如下:
S511:将目标子序列存入一维数组X a中,将基础子序列存入一维数组Y b中,其中,a为目标子序列的时间点信息的数量,b为基础子序列的时间点信息的数量。
具体地,获取目标子序列的时间点信息的数量a和基础子序列的时间点信息的b,并将目标子序列的时间点信息对应的性能数据的状态标注,按照从前往后的顺序依次存入一维数组X a中,将基础子序列的时间点信息对应的性能数据的状态标注,按照从前往后的顺序依次存入一维数组Y b中。
S512:使用如下公式计算X a的第i位与Y b的第j位之前的公共子序列长度L(i,j):
Figure PCTCN2020099516-appb-000001
其中,若same(X i,Y j)在X i与Y j相同时,取值为1,否则,same(X i,Y j)在X i与Y j不相同时,取值为0,max{L(i-1,j-1)+same(X i,Y j),L(i-1,j),L(i,j-1)}为取L(i-1,j-1)+same(X i,Y j)、L(i-1,j)和L(i,j-1)三个表达式中的最大值,i和j均为正整数,且i≤a,j≤b。
具体地,通过上述公式来计算X a的第i位与Y b第j位之前中公共子序列的长度。
其中,公共子序列是指X a和Y b都包含的公共状态标注。
其中,“max{}”表示去大括号中的最大值作为表达式的值。
值得说明的是,公共子序列长度的初始值均为0。
S513:对公共子序列长度进行递归回溯,得到公共子序列长度的集合,并从集合中获取值最大的公共子序列长度l,作为目标长度,其中,l为小于等于b的正整数。
具体地,将步骤S512中得到的所有公共子序列长度存入到a行b列的矩阵中,采用预设的方式,对这个矩阵进行递归回溯,并按照上述公式对每一个长度进行计算更新,得出所有公共子序列长度,并选取值最大的公共子序列长度,作为目标长度。
其中,预设的方式可以是从右到左,再从下到上,也可以是从下到上,再从右到左,可以根据实际情形选取,此处不作具体限制。
其中,递归是指在一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的计算机可读指令就可描述出解题过程所需要的多次重复计算,大大地减少了计算机可读指令的代码量。例如,在本实施例中,在对L(i,j)进行计算时,每次只需根据L(i-1,j)、L(i,j-1)、L(i-1,j-1)和same(X i,Y j)的值来计算即可,然后可将得到的L(i,j)来作为L(i+1,j)、L(i,j+1)或L(i+1,j+1)的计算因子来进行后续计算。
其中,回溯是也叫试探法,它是一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。同时,回溯法也是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”,在本实施例中,以针对由长度构成的26x29的矩阵为例,可以先从第一行左边即L(1,1)向第一行的右边即L(1, 29)进行递归计算,并对第一行的29个长度进行更新,在更新完矩阵第一行的长度后,再第二行左边向右边进行递归计算,按照此方法继续更新,直到更新完整个矩阵为止,在更新后的矩阵中,选取值最大的长度作为目标长度。
S514:使用如下公式计算目标子序列与基础子序列的相似度值:
Figure PCTCN2020099516-appb-000002
其中,θ为目标子序列与基础子序列的相似度值,θ∈[0,1]。
在本实施例中,通过将目标子序列中的状态标注存入到一个数组,将基础子序列中的状态标注存入到另一个数组,进而对这两个数组进行遍历计算公共子序列长度,并获取值最大的公共子序列长度,作为目标长度,进而将目标长度与基础子序列中时间点信息数量的比值作为相似度值,通过该方法可以快速准确得到目标子序列与基础子序列的相似度,提升了计算相似度值的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图7示出与上述实施例服务器性能监控方法一一对应的服务器性能监控装置的原理框图。如图7所示,该服务器性能监控装置包括第一采集模块10、数据输入模块20、第一标注模块30、第一切分模块40、趋势预测模块50和预警单元60。各功能模块详细说明如下:
第一采集模块10,用于获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集;
数据输入模块20,用于将目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,其中,训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,基础时长序列包括若干基础子序列,训练好的高斯混合隐马尔可夫模型为通过服务器的历史性能数据训练得到;
第一标注模块30,用于采用训练好的高斯混合隐马尔可夫模型,对目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列;
第一切分模块40,用于根据预设的时长切分方式,对目标标注序列进行数据切分,得到目标性能数据集对应的目标时长序列,其中,目标时长序列包括至少两个目标子序列;
趋势预测模块50,用于通过动态规划的方式,获取目标子序列对应的基础子序列,作为参考子序列,并获取参考子序列对应的性能走势信息,作为服务器在当前时间点的性能预测信息,其中,每一时间点对应的基础子序列的下一基础子序列对应的状态标注,为该时间点的基础子序列对应的性能走势信息;
预警模块60,用于将性能预测信息与预设阈值范围进行比较,若性能预测信息处于预设阈值范围之外,则执行预设应急措施。
该服务器性能监控装置还包括:
第二采集模块,用于获取服务器的历史性能数据集,历史性能数据集包含历史性能数据和历史性能数据对应的时间点信息;
滚动训练模块,用于根据时间点信息和历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到目标高斯混合隐马尔可夫模型;
第二标注模块,用于使用目标高斯混合隐马尔可夫模型,按照时间点信息中的时间顺序,对时间点信息对应的历史性能数据进行标注,得到基础标注序列;
第二切分模块,用于根据预设的时长切分方式,对基础标注序列进行数据切分,得到历史性能数据集对应的基础时长序列,其中,基础时长序列包括若干基础子序列;
走势信息确定模块,用于获取每个基础子序列之后预设数量的基础子序列,作为走势参考序列,并获取走势参考序列对应的标注信息,作为基础子序列对应的性能走势信息;
模型确定模块,用于将基础标注序列、基础时长序列和性能走势信息存入到目标高斯混合隐马尔可夫模型,得到训练好的高斯混合隐马尔可夫模型。
进一步地,滚动训练模块包括:
滚动切分单元,用于按照预设时间间隔,根据时间点信息,对历史性能数据集进行滚动式切分,得到若干个基础数据集,以及每个基础数据集对应的基础时序;
基础观测数据获取单元,用于获取每个基础数据集的历史性能数据,作为基础数据集对应的基础观测数据;
时序观测数据确定单元,用于针对每个基础数据集,将该基础数据集对应的基础时序和基础观测数据,作为一组时序观测数据;
目标模型生成单元,用于依次使用时序观测数据,对初始高斯混合隐马尔可夫模型进行训练更新,直到每组时序观测数据均参与训练,得到目标高斯混合隐马尔可夫模型。
进一步地,滚动切分单元包括:
第一时长确定子单元,用于获取预设时间间隔的时长T1;
第二时长确定子单元,用于根据所有时间点信息,确定历史性能数据集对应的时序区间,并计算时序区间的时长T2,其中,T2>T1;
滚动分割子单元,用于从时序区间中,依次获取T2-T1+1个时长为T1的基础时序,并获取每个基础时序的历史性能数据,作为基础时序对应的基础数据集,其中,第i个基础时序为从第i个时间单位到第T1+i-1个时间单位的时序,i为正整数,且i≤T2-T1+1。
进一步地,趋势预测模块50包括:
相似度确定单元,用于针对任一目标子序列,计算该目标子序列与每个基础子序列的相似度,并将相似度值最大的基础子序列作为目标子序列对应的基础子序列;
参考子序列获取单元,用于对所有目标子序列对应的基础子序列进行汇总处理,得到参考子序列。
进一步地,相似度确定单元包括:
数组构建子单元,用于将目标子序列存入一维数组X a中,将基础子序列存入一维数组Y b中,其中,a为目标子序列的时间点信息的数量,b为基础子序列的时间点信息的数量;
公共序列长度计算子单元,用于使用如下公式计算X a的第i位与Y b的第j位之前的公共子序列长度L(i,j):
Figure PCTCN2020099516-appb-000003
其中,若same(X i,Y j)在X i与Y j相同时,取值为1,否则,same(X i,Y j)在X i与Y j不相同时,取值为0,max{L(i-1,j-1)+same(X i,Y j),L(i-1,j),L(i,j-1)}为取L(i-1,j-1)+same(X i,Y j)、L(i-1,j)和L(i,j-1)三个表达式中的最大值,i和j均为正整数,且i≤a,j≤b;
递归回溯子单元,用于对公共子序列长度进行递归回溯,得到公共子序列长度的集合,并从集合中获取值最大的公共子序列长度l,作为目标长度,其中,l为小于等于b的正整数;
相似度计算子单元,用于使用如下公式计算目标子序列与基础子序列的相似度值:
Figure PCTCN2020099516-appb-000004
其中,θ为目标子序列与基础子序列的相似度值,θ∈[0,1]。
关于服务器性能监控装置的具体限定可以参见上文中对于服务器性能监控方法的限定,在此不再赘述。上述服务器性能监控装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图8是本申请一实施例提供的计算机设备的示意图。该计算机设备可以是服务端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储历史性能数据集和高斯混合隐马尔可夫模型。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种服务器性能监控方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现上述实施例服务器性能监控方法的步骤,例如图2所示的步骤S10至步骤S60。或者,处理器执行计算机可读指令时实现上述实施例服务器性能监控装置的各模块/单元的功能,例如图7所示的模块10至模块60的功能。为避免重复,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质可以是非易失性,也可以是易失性,该计算机可读存储介质上存储有计算机可读指令,该计算机可读指令被处理器执行时实现上述实施例服务器性能监控方法的步骤,或者,该计算机可读指令被处理器执行时实现上述实施例服务器性能监控装置中各模块/单元的功能。为避免重复,这里不再赘述。
可以理解地,所述计算机可读存储介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号和电信信号等。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (20)

  1. 一种服务器性能监控方法,其中,所述服务器性能监控方法包括:
    获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集;
    将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,其中,所述训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,所述基础时长序列包括若干基础子序列,所述训练好的高斯混合隐马尔可夫模型为通过所述服务器的历史性能数据训练得到;
    采用所述训练好的高斯混合隐马尔可夫模型,对所述目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列;
    根据预设的时长切分方式,对所述目标标注序列进行数据切分,得到所述目标性能数据集对应的目标时长序列,其中,所述目标时长序列包括至少两个目标子序列;
    通过动态规划的方式,获取所述目标子序列对应的基础子序列,作为参考子序列,并获取所述参考子序列对应的性能走势信息,作为所述服务器在当前时间点的性能预测信息,其中,每一时间点对应的所述基础子序列的下一基础子序列对应的状态标注,为该时间点的基础子序列对应的性能走势信息;
    将所述性能预测信息与预设阈值范围进行比较,若所述性能预测信息处于所述预设阈值范围之外,则执行预设应急措施。
  2. 如权利要求1所述的服务器性能监控方法,其中,在所述将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中之前,所述服务器性能监控方法还包括:
    获取所述服务器的历史性能数据集,所述历史性能数据集包含历史性能数据和所述历史性能数据对应的时间点信息;
    根据所述时间点信息和所述历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到所述目标高斯混合隐马尔可夫模型;
    使用所述目标高斯混合隐马尔可夫模型,按照所述时间点信息中的时间顺序,对所述时间点信息对应的历史性能数据进行标注,得到基础标注序列;
    根据所述预设的时长切分方式,对所述基础标注序列进行数据切分,得到所述历史性能数据集对应的基础时长序列,其中,所述基础时长序列包括若干基础子序列;
    获取每个所述基础子序列之后预设数量的基础子序列,作为走势参考序列,并获取所述走势参考序列对应的标注信息,作为所述基础子序列对应的性能走势信息;
    将所述基础标注序列、所述基础时长序列和所述性能走势信息存入到所述目标高斯混合隐马尔可夫模型,得到所述训练好的高斯混合隐马尔可夫模型。
  3. 如权利要求2所述的服务器性能监控方法,其中,所述根据所述时间点信息和所述历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到所述目标高斯混合隐马尔可夫模型包括:
    按照预设时间间隔,根据所述时间点信息,对所述历史性能数据集进行滚动式切分,得到若干个基础数据集,以及每个所述基础数据集对应的基础时序;
    获取每个所述基础数据集的历史性能数据,作为所述基础数据集对应的基础观测数据;
    针对每个所述基础数据集,将该基础数据集对应的基础时序和所述基础观测数据,作为一组时序观测数据;
    依次使用所述时序观测数据,对所述初始高斯混合隐马尔可夫模型进行训练更新,直到每组所述时序观测数据均参与训练,得到所述目标高斯混合隐马尔可夫模型。
  4. 如权利要求3所述的服务器性能监控方法,其中,所述按照预设时间间隔,根据所述时间点信息,对所述历史性能数据集进行滚动式切分,得到若干个基础数据集,以及每 个所述基础数据集对应的基础时序包括:
    获取所述预设时间间隔的时长T1;
    根据所有所述时间点信息,确定所述历史性能数据集对应的时序区间,并计算所述时序区间的时长T2,其中,T2>T1;
    从所述时序区间中,依次获取T2-T1+1个时长为T1的所述基础时序,并获取每个所述基础时序的历史性能数据,作为所述基础时序对应的基础数据集,其中,第i个所述基础时序为从第i个时间单位到第T1+i-1个时间单位的时序,i为正整数,且i≤T2-T1+1。
  5. 如权利要求1所述的服务器性能监控方法,其中,所述通过动态规划的方式,获取所述目标子序列对应的基础子序列,作为参考子序列包括:
    针对任一所述目标子序列,计算该目标子序列与每个所述基础子序列的相似度,并将相似度值最大的基础子序列作为目标子序列对应的基础子序列;
    对所有所述目标子序列对应的基础子序列进行汇总处理,得到所述参考子序列。
  6. 如权利要求5所述的服务器性能监控方法,其中,所述针对任一所述目标子序列,计算该目标子序列与每个所述基础子序列的相似度包括:
    将所述目标子序列存入一维数组X a中,将所述基础子序列存入一维数组Y b中,其中,a为所述目标子序列的时间点信息的数量,b为所述基础子序列的时间点信息的数量;
    使用如下公式计算X a的第i位与Y b的第j位之前的公共子序列长度L(i,j):
    Figure PCTCN2020099516-appb-100001
    其中,same(X i,Y j)在X i与Y j相同时,取值为1,same(X i,Y j)在X i与Y j不相同时,取值为0,max{L(i-1,j-1)+same(X i,Y j),L(i-1,j),L(i,j-1)}表示取L(i-1,j-1)+same(X i,Y j)、L(i-1,j)和L(i,j-1)三个表达式中的最大值,i和j均为正整数,且i≤a,j≤b;
    对所述公共子序列长度进行递归回溯,得到所述公共子序列长度的集合,并从所述集合中获取值最大的公共子序列长度l,作为目标长度,其中,l为小于等于b的正整数;
    使用如下公式计算所述目标子序列与所述基础子序列的相似度值:
    Figure PCTCN2020099516-appb-100002
    其中,θ为所述目标子序列与所述基础子序列的相似度值,θ∈[0,1]。
  7. 一种服务器性能监控装置,其中,所述服务器性能监控装置包括:
    第一采集模块,用于获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集;
    数据输入模块,用于将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,其中,所述训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,所述基础时长序列包括若干基础子序列,所述训练好的高斯混合隐马尔可夫模型为通过所述服务器的历史性能数据训练得到;
    第一标注模块,用于采用所述训练好的高斯混合隐马尔可夫模型,对所述目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列;
    第一切分模块,用于根据预设的时长切分方式,对所述目标标注序列进行数据切分,得到所述目标性能数据集对应的目标时长序列,其中,所述目标时长序列包括至少两个目标子序列;
    趋势预测模块,用于通过动态规划的方式,获取所述目标子序列对应的基础子序列, 作为参考子序列,并获取所述参考子序列对应的性能走势信息,作为所述服务器在当前时间点的性能预测信息,其中,每一时间点对应的所述基础子序列的下一基础子序列对应的状态标注,为该时间点的基础子序列对应的性能走势信息;
    预警模块,用于将所述性能预测信息与预设阈值范围进行比较,若所述性能预测信息处于所述预设阈值范围之外,则执行预设应急措施。
  8. 如权利要求7所述的服务器性能监控装置,其中,所述服务器性能监控装置还包括:
    第二采集模块,用于获取所述服务器的历史性能数据集,所述历史性能数据集包含历史性能数据和所述历史性能数据对应的时间点信息;
    滚动训练模块,用于根据所述时间点信息和所述历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到所述目标高斯混合隐马尔可夫模型;
    第二标注模块,用于使用所述目标高斯混合隐马尔可夫模型,按照所述时间点信息中的时间顺序,对所述时间点信息对应的历史性能数据进行标注,得到基础标注序列;
    第二切分模块,用于根据所述预设的时长切分方式,对所述基础标注序列进行数据切分,得到所述历史性能数据集对应的基础时长序列,其中,所述基础时长序列包括若干基础子序列;
    走势信息确定模块,用于获取每个所述基础子序列之后预设数量的基础子序列,作为走势参考序列,并获取所述走势参考序列对应的标注信息,作为所述基础子序列对应的性能走势信息;
    模型确定模块,用于将所述基础标注序列、所述基础时长序列和所述性能走势信息存入到所述目标高斯混合隐马尔可夫模型,得到所述训练好的高斯混合隐马尔可夫模型。
  9. 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其中,所述处理器执行所述计算机可读指令时实现如下服务器性能监控方法:
    获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集;
    将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,其中,所述训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,所述基础时长序列包括若干基础子序列,所述训练好的高斯混合隐马尔可夫模型为通过所述服务器的历史性能数据训练得到;
    采用所述训练好的高斯混合隐马尔可夫模型,对所述目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列;
    根据预设的时长切分方式,对所述目标标注序列进行数据切分,得到所述目标性能数据集对应的目标时长序列,其中,所述目标时长序列包括至少两个目标子序列;
    通过动态规划的方式,获取所述目标子序列对应的基础子序列,作为参考子序列,并获取所述参考子序列对应的性能走势信息,作为所述服务器在当前时间点的性能预测信息,其中,每一时间点对应的所述基础子序列的下一基础子序列对应的状态标注,为该时间点的基础子序列对应的性能走势信息;
    将所述性能预测信息与预设阈值范围进行比较,若所述性能预测信息处于所述预设阈值范围之外,则执行预设应急措施。
  10. 如权利要求9所述的计算机设备,其中,在所述将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中之前,所述处理器执行所述计算机可读指令时还实现如下服务器性能监控方法:
    获取所述服务器的历史性能数据集,所述历史性能数据集包含历史性能数据和所述历史性能数据对应的时间点信息;
    根据所述时间点信息和所述历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到所述目标高斯混合隐马尔可夫模型;
    使用所述目标高斯混合隐马尔可夫模型,按照所述时间点信息中的时间顺序,对所述时间点信息对应的历史性能数据进行标注,得到基础标注序列;
    根据所述预设的时长切分方式,对所述基础标注序列进行数据切分,得到所述历史性能数据集对应的基础时长序列,其中,所述基础时长序列包括若干基础子序列;
    获取每个所述基础子序列之后预设数量的基础子序列,作为走势参考序列,并获取所述走势参考序列对应的标注信息,作为所述基础子序列对应的性能走势信息;
    将所述基础标注序列、所述基础时长序列和所述性能走势信息存入到所述目标高斯混合隐马尔可夫模型,得到所述训练好的高斯混合隐马尔可夫模型。
  11. 如权利要求10所述的计算机设备,其中,所述根据所述时间点信息和所述历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到所述目标高斯混合隐马尔可夫模型包括:
    按照预设时间间隔,根据所述时间点信息,对所述历史性能数据集进行滚动式切分,得到若干个基础数据集,以及每个所述基础数据集对应的基础时序;
    获取每个所述基础数据集的历史性能数据,作为所述基础数据集对应的基础观测数据;
    针对每个所述基础数据集,将该基础数据集对应的基础时序和所述基础观测数据,作为一组时序观测数据;
    依次使用所述时序观测数据,对所述初始高斯混合隐马尔可夫模型进行训练更新,直到每组所述时序观测数据均参与训练,得到所述目标高斯混合隐马尔可夫模型。
  12. 如权利要求11所述的计算机设备,其中,所述按照预设时间间隔,根据所述时间点信息,对所述历史性能数据集进行滚动式切分,得到若干个基础数据集,以及每个所述基础数据集对应的基础时序包括:
    获取所述预设时间间隔的时长T1;
    根据所有所述时间点信息,确定所述历史性能数据集对应的时序区间,并计算所述时序区间的时长T2,其中,T2>T1;
    从所述时序区间中,依次获取T2-T1+1个时长为T1的所述基础时序,并获取每个所述基础时序的历史性能数据,作为所述基础时序对应的基础数据集,其中,第i个所述基础时序为从第i个时间单位到第T1+i-1个时间单位的时序,i为正整数,且i≤T2-T1+1。
  13. 如权利要求12所述的计算机设备,其中,所述通过动态规划的方式,获取所述目标子序列对应的基础子序列,作为参考子序列包括:
    针对任一所述目标子序列,计算该目标子序列与每个所述基础子序列的相似度,并将相似度值最大的基础子序列作为目标子序列对应的基础子序列;
    对所有所述目标子序列对应的基础子序列进行汇总处理,得到所述参考子序列。
  14. 如权利要求9所述的计算机设备,其中,所述针对任一所述目标子序列,计算该目标子序列与每个所述基础子序列的相似度包括:
    将所述目标子序列存入一维数组X a中,将所述基础子序列存入一维数组Y b中,其中,a为所述目标子序列的时间点信息的数量,b为所述基础子序列的时间点信息的数量;
    使用如下公式计算X a的第i位与Y b的第j位之前的公共子序列长度L(i,j):
    Figure PCTCN2020099516-appb-100003
    其中,same(X i,Y j)在X i与Y j相同时,取值为1,same(X i,Y j)在X i与Y j不相同时,取值为0,max{L(i-1,j-1)+same(X i,Y j),L(i-1,j),L(i,j-1)}表示取 L(i-1,j-1)+same(X i,Y j)、L(i-1,j)和L(i,j-1)三个表达式中的最大值,i和j均为正整数,且i≤a,j≤b;
    对所述公共子序列长度进行递归回溯,得到所述公共子序列长度的集合,并从所述集合中获取值最大的公共子序列长度l,作为目标长度,其中,l为小于等于b的正整数;
    使用如下公式计算所述目标子序列与所述基础子序列的相似度值:
    Figure PCTCN2020099516-appb-100004
    其中,θ为所述目标子序列与所述基础子序列的相似度值,θ∈[0,1]。
  15. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其中,所述计算机可读指令被处理器执行时实现如下服务器性能监控方法:
    获取服务器从当前时间点到预设时间间隔的性能数据,作为目标性能数据集;
    将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中,其中,所述训练好的高斯混合隐马尔可夫模型包括基础标注序列和基础标注序列对应的基础时长序列,所述基础时长序列包括若干基础子序列,所述训练好的高斯混合隐马尔可夫模型为通过所述服务器的历史性能数据训练得到;
    采用所述训练好的高斯混合隐马尔可夫模型,对所述目标性能数据集中的每个性能数据进行状态标注,得到目标标注序列;
    根据预设的时长切分方式,对所述目标标注序列进行数据切分,得到所述目标性能数据集对应的目标时长序列,其中,所述目标时长序列包括至少两个目标子序列;
    通过动态规划的方式,获取所述目标子序列对应的基础子序列,作为参考子序列,并获取所述参考子序列对应的性能走势信息,作为所述服务器在当前时间点的性能预测信息,其中,每一时间点对应的所述基础子序列的下一基础子序列对应的状态标注,为该时间点的基础子序列对应的性能走势信息;
    将所述性能预测信息与预设阈值范围进行比较,若所述性能预测信息处于所述预设阈值范围之外,则执行预设应急措施。
  16. 如权利要求15所述的计算机可读存储介质,其中,在所述将所述目标性能数据集输入到训练好的高斯混合隐马尔可夫模型中之前,所述计算机可读指令被处理器执行时还实现如下服务器性能监控方法:
    获取所述服务器的历史性能数据集,所述历史性能数据集包含历史性能数据和所述历史性能数据对应的时间点信息;
    根据所述时间点信息和所述历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到所述目标高斯混合隐马尔可夫模型;
    使用所述目标高斯混合隐马尔可夫模型,按照所述时间点信息中的时间顺序,对所述时间点信息对应的历史性能数据进行标注,得到基础标注序列;
    根据所述预设的时长切分方式,对所述基础标注序列进行数据切分,得到所述历史性能数据集对应的基础时长序列,其中,所述基础时长序列包括若干基础子序列;
    获取每个所述基础子序列之后预设数量的基础子序列,作为走势参考序列,并获取所述走势参考序列对应的标注信息,作为所述基础子序列对应的性能走势信息;
    将所述基础标注序列、所述基础时长序列和所述性能走势信息存入到所述目标高斯混合隐马尔可夫模型,得到所述训练好的高斯混合隐马尔可夫模型。
  17. 如权利要求16所述的计算机可读存储介质,其中,所述根据所述时间点信息和所述历史性能数据,对初始高斯混合隐马尔可夫模型进行滚动式训练,得到所述目标高斯混合隐马尔可夫模型包括:
    按照预设时间间隔,根据所述时间点信息,对所述历史性能数据集进行滚动式切分,得到若干个基础数据集,以及每个所述基础数据集对应的基础时序;
    获取每个所述基础数据集的历史性能数据,作为所述基础数据集对应的基础观测数据;
    针对每个所述基础数据集,将该基础数据集对应的基础时序和所述基础观测数据,作为一组时序观测数据;
    依次使用所述时序观测数据,对所述初始高斯混合隐马尔可夫模型进行训练更新,直到每组所述时序观测数据均参与训练,得到所述目标高斯混合隐马尔可夫模型。
  18. 如权利要求17所述的计算机可读存储介质,其中,所述按照预设时间间隔,根据所述时间点信息,对所述历史性能数据集进行滚动式切分,得到若干个基础数据集,以及每个所述基础数据集对应的基础时序包括:
    获取所述预设时间间隔的时长T1;
    根据所有所述时间点信息,确定所述历史性能数据集对应的时序区间,并计算所述时序区间的时长T2,其中,T2>T1;
    从所述时序区间中,依次获取T2-T1+1个时长为T1的所述基础时序,并获取每个所述基础时序的历史性能数据,作为所述基础时序对应的基础数据集,其中,第i个所述基础时序为从第i个时间单位到第T1+i-1个时间单位的时序,i为正整数,且i≤T2-T1+1。
  19. 如权利要求15所述的计算机可读存储介质,其中,所述通过动态规划的方式,获取所述目标子序列对应的基础子序列,作为参考子序列包括:
    针对任一所述目标子序列,计算该目标子序列与每个所述基础子序列的相似度,并将相似度值最大的基础子序列作为目标子序列对应的基础子序列;
    对所有所述目标子序列对应的基础子序列进行汇总处理,得到所述参考子序列。
  20. 如权利要求19所述的计算机可读存储介质,其中,所述针对任一所述目标子序列,计算该目标子序列与每个所述基础子序列的相似度包括:
    将所述目标子序列存入一维数组X a中,将所述基础子序列存入一维数组Y b中,其中,a为所述目标子序列的时间点信息的数量,b为所述基础子序列的时间点信息的数量;
    使用如下公式计算X a的第i位与Y b的第j位之前的公共子序列长度L(i,j):
    Figure PCTCN2020099516-appb-100005
    其中,same(X i,Y j)在X i与Y j相同时,取值为1,same(X i,Y j)在X i与Y j不相同时,取值为0,max{L(i-1,j-1)+same(X i,Y j),L(i-1,j),L(i,j-1)}表示取L(i-1,j-1)+same(X i,Y j)、L(i-1,j)和L(i,j-1)三个表达式中的最大值,i和j均为正整数,且i≤a,j≤b;
    对所述公共子序列长度进行递归回溯,得到所述公共子序列长度的集合,并从所述集合中获取值最大的公共子序列长度l,作为目标长度,其中,l为小于等于b的正整数;
    使用如下公式计算所述目标子序列与所述基础子序列的相似度值:
    Figure PCTCN2020099516-appb-100006
    其中,θ为所述目标子序列与所述基础子序列的相似度值,θ∈[0,1]。
PCT/CN2020/099516 2019-09-18 2020-06-30 服务器性能监控方法、装置、计算机设备及存储介质 WO2021051945A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910882569.8A CN110825579B (zh) 2019-09-18 2019-09-18 服务器性能监控方法、装置、计算机设备及存储介质
CN201910882569.8 2019-09-18

Publications (1)

Publication Number Publication Date
WO2021051945A1 true WO2021051945A1 (zh) 2021-03-25

Family

ID=69548023

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/099516 WO2021051945A1 (zh) 2019-09-18 2020-06-30 服务器性能监控方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN110825579B (zh)
WO (1) WO2021051945A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220551A (zh) * 2021-05-12 2021-08-06 康键信息技术(深圳)有限公司 指标趋势预测及预警方法、装置、电子设备及存储介质
CN113704071A (zh) * 2021-07-30 2021-11-26 济南浪潮数据技术有限公司 一种服务器健康状况预测的方法、装置、设备及可读介质
CN113704048A (zh) * 2021-03-31 2021-11-26 腾讯科技(深圳)有限公司 数据动态监测方法、装置、计算机设备和存储介质
CN114338458A (zh) * 2021-12-24 2022-04-12 山石网科通信技术股份有限公司 数据安全检测方法及装置
CN114860542A (zh) * 2022-04-28 2022-08-05 中国电信股份有限公司 趋势预测模型的优化方法、优化装置、电子设备和介质
CN115169756A (zh) * 2022-09-07 2022-10-11 深圳市信润富联数字科技有限公司 电芯水份预测方法、装置、设备及存储介质
CN115495702A (zh) * 2022-11-16 2022-12-20 浪潮电子信息产业股份有限公司 一种模型训练能耗计算方法、装置、系统及可读存储介质
CN115859366A (zh) * 2023-02-06 2023-03-28 青岛新比特电子科技有限公司 基于城市大脑的多源云计算集群数据的智能规划方法
CN116090916A (zh) * 2023-04-10 2023-05-09 淄博海草软件服务有限公司 一种企业内部采购资金核算预警系统
CN113704048B (zh) * 2021-03-31 2024-06-07 腾讯科技(深圳)有限公司 数据动态监测方法、装置、计算机设备和存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825579B (zh) * 2019-09-18 2022-03-08 平安科技(深圳)有限公司 服务器性能监控方法、装置、计算机设备及存储介质
US11797372B2 (en) 2020-03-26 2023-10-24 Shenzhen Institutes Of Advanced Technology Method and apparatus for generating time series data based on multi-condition constraints, and medium
CN111475496B (zh) * 2020-03-26 2023-07-21 深圳先进技术研究院 基于多条件约束的时间序列数据生成方法、装置及介质
CN111858267B (zh) * 2020-07-29 2024-01-05 中国工商银行股份有限公司 预警方法、装置、电子设备及存储介质
CN111861418A (zh) * 2020-07-30 2020-10-30 上海妙一生物科技有限公司 一种任务生成方法、装置及电子设备
CN114363153B (zh) * 2020-09-27 2024-01-26 中国电信股份有限公司 熔断器和服务的自适应熔断方法
CN112115031A (zh) * 2020-09-29 2020-12-22 中国银行股份有限公司 集群状态监控方法及装置
CN114444827B (zh) * 2020-10-30 2023-09-08 中国移动通信集团四川有限公司 一种集群性能的评估方法和装置
CN113762647A (zh) * 2021-10-19 2021-12-07 咪咕文化科技有限公司 一种数据的预测方法、装置及设备
CN114428709B (zh) * 2022-01-17 2022-08-05 广州鲁邦通物联网科技股份有限公司 一种云管理平台中sds状态检测方法和系统
CN115576502B (zh) * 2022-12-07 2023-04-28 苏州浪潮智能科技有限公司 一种数据存储的方法、装置、电子设备以及存储介质
CN116071366B (zh) * 2023-04-04 2023-06-16 北京城建集团有限责任公司 基于图像处理的逆作法监测方法、系统、设备及存储介质
CN117354171B (zh) * 2023-12-06 2024-03-12 北京智麟科技有限公司 基于物联网平台的平台健康状况预警方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104504296A (zh) * 2015-01-16 2015-04-08 湖南科技大学 高斯混合隐马尔可夫模型和回归分析的剩余寿命预测方法
CN105511944A (zh) * 2016-01-07 2016-04-20 上海海事大学 一种云系统内部虚拟机的异常检测方法
CN105843733A (zh) * 2016-03-17 2016-08-10 北京邮电大学 一种大数据平台的性能检测方法及装置
CN107409075A (zh) * 2015-03-24 2017-11-28 华为技术有限公司 用于网络时间序列数据的自适应的基于异常检测的预测器
US20190228324A1 (en) * 2018-01-19 2019-07-25 Siemens Aktiengesellschaft System and method for detecting and forecasting the behavior of a system
CN110825579A (zh) * 2019-09-18 2020-02-21 平安科技(深圳)有限公司 服务器性能监控方法、装置、计算机设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10832150B2 (en) * 2016-07-28 2020-11-10 International Business Machines Corporation Optimized re-training for analytic models
CN108009506A (zh) * 2017-12-07 2018-05-08 平安科技(深圳)有限公司 入侵检测方法、应用服务器及计算机可读存储介质
CN109697155B (zh) * 2018-08-20 2023-10-31 新疆北斗同创信息科技有限公司 It系统性能评估方法、装置、设备及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104504296A (zh) * 2015-01-16 2015-04-08 湖南科技大学 高斯混合隐马尔可夫模型和回归分析的剩余寿命预测方法
CN107409075A (zh) * 2015-03-24 2017-11-28 华为技术有限公司 用于网络时间序列数据的自适应的基于异常检测的预测器
CN105511944A (zh) * 2016-01-07 2016-04-20 上海海事大学 一种云系统内部虚拟机的异常检测方法
CN105843733A (zh) * 2016-03-17 2016-08-10 北京邮电大学 一种大数据平台的性能检测方法及装置
US20190228324A1 (en) * 2018-01-19 2019-07-25 Siemens Aktiengesellschaft System and method for detecting and forecasting the behavior of a system
CN110825579A (zh) * 2019-09-18 2020-02-21 平安科技(深圳)有限公司 服务器性能监控方法、装置、计算机设备及存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704048A (zh) * 2021-03-31 2021-11-26 腾讯科技(深圳)有限公司 数据动态监测方法、装置、计算机设备和存储介质
CN113704048B (zh) * 2021-03-31 2024-06-07 腾讯科技(深圳)有限公司 数据动态监测方法、装置、计算机设备和存储介质
CN113220551A (zh) * 2021-05-12 2021-08-06 康键信息技术(深圳)有限公司 指标趋势预测及预警方法、装置、电子设备及存储介质
CN113704071A (zh) * 2021-07-30 2021-11-26 济南浪潮数据技术有限公司 一种服务器健康状况预测的方法、装置、设备及可读介质
CN114338458A (zh) * 2021-12-24 2022-04-12 山石网科通信技术股份有限公司 数据安全检测方法及装置
CN114860542A (zh) * 2022-04-28 2022-08-05 中国电信股份有限公司 趋势预测模型的优化方法、优化装置、电子设备和介质
CN115169756A (zh) * 2022-09-07 2022-10-11 深圳市信润富联数字科技有限公司 电芯水份预测方法、装置、设备及存储介质
CN115169756B (zh) * 2022-09-07 2022-12-09 深圳市信润富联数字科技有限公司 电芯水份预测方法、装置、设备及存储介质
CN115495702A (zh) * 2022-11-16 2022-12-20 浪潮电子信息产业股份有限公司 一种模型训练能耗计算方法、装置、系统及可读存储介质
CN115859366A (zh) * 2023-02-06 2023-03-28 青岛新比特电子科技有限公司 基于城市大脑的多源云计算集群数据的智能规划方法
CN116090916A (zh) * 2023-04-10 2023-05-09 淄博海草软件服务有限公司 一种企业内部采购资金核算预警系统

Also Published As

Publication number Publication date
CN110825579B (zh) 2022-03-08
CN110825579A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
WO2021051945A1 (zh) 服务器性能监控方法、装置、计算机设备及存储介质
CN114422381B (zh) 通信网络流量预测方法、系统、存储介质及计算机设备
WO2021027697A1 (zh) 一种流量异常检测的方法、模型训练方法和装置
US7724784B2 (en) System and method for classifying data streams using high-order models
CN111694879A (zh) 一种多元时间序列异常模式预测方法及数据采集监控装置
US11841839B1 (en) Preprocessing and imputing method for structural data
CN114090601B (zh) 一种数据筛选方法、装置、设备以及存储介质
Nuiaa et al. Evolving Dynamic Fuzzy Clustering (EDFC) to Enhance DRDoS_DNS Attacks Detection Mechnism.
CN117240632B (zh) 一种基于知识图谱的攻击检测方法和系统
CN114897085A (zh) 一种基于封闭子图链路预测的聚类方法及计算机设备
CN112418269B (zh) 社交媒体网络事件传播关键时间预测方法、系统、介质
Yang et al. FP-STE: a novel node failure prediction method based on spatio-temporal feature extraction in data centers
CN116127400B (zh) 基于异构计算的敏感数据识别系统、方法及存储介质
CN117421994A (zh) 一种边缘应用健康度的监测方法和监测系统
Lee et al. Clinical event time-series modeling with periodic events
CN110874601B (zh) 识别设备运行状态的方法、状态识别模型训练方法及装置
CN116521495A (zh) 一种基于强化学习的系统性能瓶颈检测方法
CN116016288A (zh) 工业设备的流量监测方法、装置、设备及存储介质
CN115600116A (zh) 时间序列异常的动态检测方法、系统、存储介质及终端
CN116186603A (zh) 异常用户的识别方法及装置、计算机存储介质、电子设备
CN112732690B (zh) 一种用于慢病检测及风险评估的稳定系统及方法
US8930362B2 (en) System and method for streak discovery and prediction
Huo et al. Traffic anomaly detection method based on improved GRU and EFMS-Kmeans clustering
CN112769619A (zh) 一种基于决策树的多分类网络故障预测方法
CN111859164A (zh) 基于局部结构的微博网络重要节点发现方法、装置及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20866852

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20866852

Country of ref document: EP

Kind code of ref document: A1