A software performance real-time monitoring system and method based on edge computing

By utilizing performance evaluation modules, benchmark node correction, and community detection algorithms in distributed systems and IoT environments, combined with performance fluctuation prediction models, we have achieved refined management of software performance and high-precision anomaly detection. This solves the problems of inaccurate evaluation and delayed identification in existing technologies, and improves the stability and responsiveness of the system.

CN120256239BActive Publication Date: 2026-02-13QINGDAO RUBIKS CUBE INTERACTIVE SOFTWARE TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510140009.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-08
Publication Date
2026-02-13
Estimated Expiration
2045-02-08

AI Technical Summary

Technical Problem

Existing performance evaluation methods are difficult to fully and in real-time reflect the impact of complex and ever-changing workloads and environments on software performance in distributed systems and IoT environments. Furthermore, they fail to fully consider the internal differences between different communities, resulting in insufficient sensitivity and accuracy in evaluation, delayed identification of anomalies, and impact on the real-time performance and reliability of the system.

Method used

The system uses a performance evaluation module to acquire key data, dynamically selects benchmark nodes for correction, uses a community detection algorithm to group and train a performance fluctuation prediction model, and identifies abnormal nodes by the difference between the predicted performance value and the actual monitoring result, thus achieving refined management and high-precision detection.

Benefits of technology

It improves the comprehensiveness and accuracy of performance evaluation, enhances the system's predictability and real-time response capabilities, and ensures the stable operation of the software under various workloads.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120256239B_ABST
    Figure CN120256239B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of edge computing in distributed systems and Internet of Things environments, and discloses a software performance real-time monitoring system and method fusing edge computing, in particular to a technology for reflecting software performance by monitoring the performance of edge nodes, comprising: obtaining key data of each edge node to obtain a preliminary performance evaluation vector of each edge node; dynamically selecting a reference node to correct the preliminary performance evaluation vector of each edge node to obtain a performance evaluation vector; grouping each edge node by using a community detection algorithm to obtain a comprehensive feature vector; training a performance fluctuation prediction model by using the comprehensive feature vector, and predicting a predicted performance value based on the performance fluctuation prediction model; obtaining an actual performance monitoring result according to the predicted performance value, comparing the predicted performance value with the actual monitoring result, and determining an abnormal node.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of edge computing in distributed systems and Internet of Things (IoT) environments, and more particularly, to a software performance real-time monitoring system and method integrated with edge computing. BACKGROUND

[0002] In modern distributed systems and Internet of Things (IoT) environments, monitoring the performance of edge nodes to reflect software performance is crucial to ensure application stability and efficient operation. Existing performance evaluation methods usually rely on static thresholds or single indicator analysis, which is difficult to comprehensively and real-time reflect the influence of complex and variable workloads and environmental conditions on software performance.

[0003] Most existing methods use fixed thresholds to determine whether the node performance is normal, which cannot adapt to dynamic changes in workload and environment, resulting in insufficient sensitivity and accuracy in evaluating software performance; traditional performance evaluation often relies on a single performance indicator (such as CPU utilization), ignoring the mutual influence between other key performance indicators (such as memory usage, network latency, etc.), which cannot comprehensively reflect the real running state of software; the internal differences of different communities (i.e. a group of nodes with similar characteristics) are not fully considered, resulting in inaccurate performance evaluation and inability to accurately reflect software performance under different workloads; many existing technologies have a delay in identifying abnormalities, which cannot respond to performance fluctuations in a timely manner, affecting the real-time and reliability of the system, and further affecting the rapid diagnosis and repair of software performance. SUMMARY

[0004] In order to overcome the above-mentioned defects of the prior art, in order to achieve the above-mentioned purpose, the present application provides the following technical scheme: a software performance real-time monitoring system and method integrated with edge computing, comprising:

[0005] Performance evaluation module: obtain key data of each edge node, and calculate a preliminary performance evaluation vector of each edge node;

[0006] Evaluation correction module: dynamically select a reference node, and use the reference performance indicator vector of the reference node to correct the preliminary performance evaluation vector of each edge node to obtain a performance evaluation vector;

[0007] Feature construction module: used for grouping each edge node using a community detection algorithm to obtain different communities, and obtaining a comprehensive feature vector of each community according to the performance evaluation vector;

[0008] Model construction module: use the comprehensive feature vector of each community to train a performance fluctuation prediction model, and predict a predicted performance value of each community in a future period based on the performance fluctuation prediction model;

[0009] The actual performance evaluation module: according to the predicted performance value of the future time period, the actual performance monitoring result is obtained after the actual time period comes, the expected difference value is calculated by the predicted performance value and the actual monitoring result to identify the abnormal community, and the deviation value of each edge node in the abnormal community is calculated, the corresponding predicted performance value and actual performance value are adjusted according to the deviation value, and then the abnormal node is obtained.

[0010] Further, the way of obtaining the key data of each edge node and calculating the preliminary performance evaluation vector of each edge node comprises:

[0011] Each edge device is regarded as an edge node, and a compatible monitoring agent is used according to the operating system of the edge node.

[0012] The time length of a time period is defined as sd, and the key data of each edge node in each time period is obtained through the monitoring agent, including application response time data, CPU utilization rate data, average memory usage, throughput data and average error rate.

[0013] Among them, the application response time data includes the average response time and the 95th percentile response time; the CPU utilization rate data includes the average utilization rate and the maximum CPU utilization rate; the throughput data includes the average throughput and the maximum throughput;

[0014] The representative index is calculated according to the key data, including user experience index, resource utilization efficiency and software stability index;

[0015] Among them, the average of the average response time and the 95th percentile response time in t time period is taken as the user experience index;

[0016] The average utilization, maximum CPU utilization rate and average memory usage in t time period are standardized, and then the resource utilization efficiency is calculated by using the weighted average method;

[0017] The average throughput, maximum throughput and average error rate in t time period are combined to calculate the software stability index , wherein JJTL represents the average throughput, MAXTTL represents the maximum throughput, JCWL represents the average error rate, and SSI represents the software stability index;

[0018] The user experience index, resource utilization efficiency and software stability index of t time period are horizontally spliced as the performance index of the edge node to form the preliminary performance evaluation vector of the edge node in t time period.

[0019] Further, the way of dynamically selecting the reference node comprises:

[0020] Collecting preliminary performance evaluation vectors of all edge nodes in the last bt time periods before the t time period to form a performance index dataset;

[0021] Performing data cleaning on the performance index dataset and using difference filling method to handle missing values;

[0022] According to the processed performance index dataset, dynamically selecting benchmark nodes, including:

[0023] Defining decision variables as jz i , indicating whether the ith edge node is selected as a benchmark node, where jz i =1 indicates that the ith edge node is selected, and jz i =0 indicates that the ith edge node is not selected;

[0024] Defining the objective function as minimizing the performance difference between all edge nodes and selected benchmark nodes , where, represents the jth performance index of the ith edge node, i represents the index of the edge node, I represents the number of edge nodes, j represents the index of the performance index, and J represents the number of performance indexes, represents the average value of the jth performance index of all benchmark nodes, represents the weight of the jth performance index;

[0025] Based on the entropy concept in information theory, the information entropy of each performance index is calculated , where, represents the information entropy of the jth performance index;

[0026] According to the information entropy of each performance index, the weight is calculated ;

[0027] Defining the constraint conditions as quantity limitation, geographical distribution uniformity, hardware configuration diversity, and time stability;

[0028] Wherein, the quantity limitation is defined as limiting the number of selected benchmark nodes to be less than or equal to jds, and the mathematical expression is: , jds represents the maximum number of benchmark nodes allowed to be selected;

[0029] Geographical distribution uniformity is defined as ensuring that benchmark nodes are uniformly distributed in different geographical locations, obtaining the geographical location of each edge node, and for each geographical location, at least one benchmark node is ensured;

[0030] Hardware configuration diversity is defined as ensuring that benchmark nodes have different hardware configurations, obtaining the hardware configuration of each edge node, and classifying all hardware configurations of edge nodes, and for each hardware configuration, at least one benchmark node is ensured;

[0031] The time stability is defined as the standard deviation of the performance index of each edge node in the t-th period before the bt periods, and the standard deviation of the performance index of the selected reference node is less than or equal to a preset performance index standard deviation threshold value;

[0032] Based on the decision variable, the objective function and the constraint condition, a linear programming solver is used to solve and obtain an optimal solution as the best reference node combination.

[0033] Further, the performance evaluation vector is obtained in the following manner:

[0034] According to all selected reference nodes in the best reference node combination, the mean of the preliminary performance evaluation vectors of all reference nodes in the t-th period is taken as the reference performance index vector;

[0035] A historical performance data set is collected, including the preliminary performance evaluation vectors of all edge nodes and reference nodes;

[0036] The historical performance data set is identified and processed using statistical analysis techniques to identify and determine whether there is a long-term trend and periodic fluctuation in the performance index of the edge node and the reference node;

[0037] If the performance index of the edge node and the reference node has a long-term trend and periodic fluctuation, an ARIMA model is used as a time series model;

[0038] If the performance index of the edge node and the reference node does not have a long-term trend and periodic fluctuation, an exponential smoothing method is used as a time series model;

[0039] According to the selected time series model, the historical performance data set is used to train the selected time series model, and the preliminary performance evaluation prediction vector of the edge node in the future period is output;

[0040] The preliminary performance evaluation prediction vector of the t-th period is compared with the reference performance index vector of the t-th period to obtain an adjustment factor;

[0041] For each period t, the performance ratio of the edge node to the reference node is calculated, and the adjustment factor is introduced to correct the preliminary performance evaluation vector to obtain the performance evaluation vector , wherein, represents the preliminary performance evaluation vector of the i-th edge node in the t-th period, represents the performance evaluation vector, represents the reference performance index vector of the t-th period, represents the adjustment factor of the t-th period, represents the performance ratio of the edge node to the reference node.

[0042] Further, the grouping of the edge nodes by using the community detection algorithm to obtain different communities and obtaining the comprehensive feature vector of each community according to the performance evaluation vector comprises:

[0043] The network topology information of each edge node is read and collected, including IP address, subnet, routing path, bandwidth and delay;

[0044] A network graph is constructed by the network topology information of each edge node, and the similarity between the edge nodes is calculated according to the network graph to form a similarity matrix;

[0045] According to the similarity matrix, the edge nodes are grouped by using the community detection algorithm and taking the edge node performance evaluation vector as an additional load weight, different communities are obtained, and a comprehensive feature vector is obtained according to different communities.

[0046] Further, the network graph is constructed by the network topology information of each edge node, and the similarity between the edge nodes is calculated according to the network graph to form a similarity matrix, which comprises:

[0047] The connection relationship between the nodes is determined by the routing path of each edge node, and for the edge nodes whose IP addresses belong to the same subnet, an edge with no weight is added between each two edge nodes;

[0048] For edge nodes whose IP addresses do not belong to the same subnet, the edge node pairs with connection paths are identified according to the routing path, and an edge with weight is added for these edge node pairs;

[0049] The edge weight is defined and obtained by the bandwidth and the delay , wherein, represents the edge weight between the ith edge node and the rth edge node, represents a proportional factor adjusting the importance of the bandwidth and the delay, represents the bandwidth between the ith edge node and the rth edge node, represents the delay;

[0050] The network graph is constructed based on all the edge nodes and corresponding edges;

[0051] The similarity between any edge node pair (i, r) is calculated according to the network graph, and if the edge node i and the edge node r belong to the same subnet, an unweighted similarity measure is used, and if i and r do not belong to the same subnet, a weighted similarity measure is used;

[0052] ;

[0053] wherein, denotes the similarity between any edge node pair i and r, denotes the similarity between edge node pair i and r within the same subnet, denotes the similarity between edge node pair i and r within the same subnet, denotes the neighbor set of edge node i, denotes the neighbor set of edge node r, all nodes directly connected to edge node i in the network graph are regarded as the neighbor set of edge node i, denotes the similarity between edge node pair i and r not belonging to the same subnet, denotes the edge weight between edge node i and edge node c, denotes the edge weight between edge node r and edge node c;

[0054] Based on the similarity between all edge node pairs, a similarity matrix SSJ is formed, each position in the similarity matrix denotes the similarity between edge node i and edge node r.

[0055] Further, the method for obtaining the comprehensive feature vector comprises:

[0056] The load weight is obtained by using a weighted summation formula to calculate all performance indicators in the performance evaluation vector;

[0057] The spectral clustering algorithm is used as the community detection algorithm, the load weight is introduced into the modularity function of the community detection algorithm, and the grouping target of the community detection algorithm is defined as making the nodes with high load more inclined to be divided into the same community;

[0058] The modularity function after introducing the load weight is ;

[0059] wherein, denotes the modified modularity function, zzq denotes the total weight of all edges in the network graph, and denote the load weight of edge node i and edge node r respectively, and denote the degree of i and r respectively, the number of edges connected to i is regarded as the degree of i, denotes the indicator function for judging whether i and r belong to the same community, and denote the community label of i and r in the community detection algorithm respectively, if , it is determined that i and r belong to the same community, then , if , it is determined that i and r do not belong to the same community, then , denotes whether there is an edge between i and r, if there is an edge between i and r, then , if there is no edge between i and r, then ;

[0060] The modified modularity function Apply the similarity matrix SSJ to the community detection algorithm to group the edge nodes and obtain different communities, each of which contains a group of edge nodes that are closely connected in network topology and have similar loads;

[0061] For each community, calculate the average value of the corresponding performance indicators in the performance evaluation vector of each edge node to form a comprehensive feature vector of the community.

[0062] Further, the training method of the performance fluctuation prediction model comprises:

[0063] Step A1: Collect a sample set, including the comprehensive feature vector sequence of each community and the corresponding label, and the label is the real performance value of the next period of the comprehensive feature vector corresponding period;

[0064] According to the comprehensive feature vector of each community, the comprehensive feature vectors of any period and the previous qc periods are integrated in time sequence to form a comprehensive feature vector sequence of each community at any period;

[0065] Step A2: Normalize the sample set and use interpolation method to process missing values, and divide the processed sample set into training set and test set according to the proportion;

[0066] Step A3: Construct a performance fluctuation prediction model, take the comprehensive feature vector sequence of each community as input, take the predicted performance value of the community in the future period as output, and take the predicted performance of the community as the predicted performance value of all edge nodes in the community. The performance fluctuation prediction model is an LSTM model;

[0067] Step A4: Initialize the hyperparameters of the model, and use Bayesian optimization to optimize the hyperparameters. Use k-fold cross-validation to evaluate the cross-validation scores of the model under different hyperparameter combinations, and select the optimal parameter combination;

[0068] Step A5: Take the optimal parameter combination as the initial parameters of the model, define Adam as the optimizer, and define the mean absolute error as the loss function for evaluating the prediction accuracy of the model , wherein, represents the predicted performance value of the ve sample, represents the real performance value of the ve sample;

[0069] Step A6: Input the comprehensive feature vector sequence in the training set into the model, perform forward propagation, calculate the predicted performance value, and then use the loss function to calculate the loss between the predicted performance value and the real performance value. Update the model parameters through back propagation, and repeat the forward propagation and back propagation.

[0070] Step A7: For each iteration, use R 2 The score is used as the evaluation metric, and R is calculated on the validation set. 2 Score;

[0071] Based on R on the validation set 2 The fractional value is used to calculate R after the current iteration. 2 The score and R from the previous iteration 2 The difference in score values ​​is denoted as the iteration difference;

[0072] Set an iteration difference threshold. If the iteration difference is greater than the iteration difference threshold, it is determined that the model's performance has improved.

[0073] If the iteration difference is less than or equal to the iteration difference threshold, it is determined that the model's performance has not improved.

[0074] If the model's performance on the validation set does not improve in consecutive DC iterations, training is stopped, and a well-trained performance fluctuation prediction model is obtained.

[0075] Furthermore, the methods for obtaining abnormal nodes include:

[0076] Step B1: Based on the predicted performance value of each community for a future period obtained from the performance fluctuation prediction model, after the actual arrival of the future period, the monitoring results of the actual performance value of each community are obtained through the real-time monitoring system.

[0077] Step B2: For each community, calculate the absolute difference between its predicted performance value and actual performance value as the expected difference in actual performance;

[0078] Set an expected difference threshold. If the expected difference is less than or equal to the expected difference threshold, the actual performance of the community is determined to be within the normal range. The actual performance value of the community is then used as the final performance evaluation value of each edge node within the community.

[0079] If the expected difference is greater than the expected difference threshold, the community's actual performance value is determined to have deviated from the normal range, and the community is marked as an abnormal community.

[0080] Step B3: For an anomalous community, for each performance metric of the edge nodes within the anomalous community, calculate the standard deviation of that performance metric for all edge nodes within the anomalous community.

[0081] By combining the expected difference threshold and standard deviation of the community, a node threshold is set for each edge node within the abnormal community. ,in, Indicates the node threshold. This represents the expected difference threshold for the community. a constant term representing an adjustment threshold looseness, representing a standard deviation;

[0082] Step B4: For each abnormal community, collect the historical performance evaluation vectors of each edge node in the past PCD time periods, integrate the historical performance evaluation vectors of each edge node into an overall vector, and calculate the historical average performance;

[0083] Step B5: Calculate the historical average performance of each edge node and the actual performance value of the abnormal community using the Euclidean distance formula to obtain the performance deviation value of the edge node relative to the abnormal community;

[0084] Sum the predicted performance value and the actual performance value of the abnormal community with the performance deviation value to obtain the predicted performance value and the actual performance value of each edge node in the abnormal community;

[0085] Step B6: Calculate the absolute difference between the predicted performance value and the actual performance value of each edge node in the abnormal community, respectively, and compare it with the node threshold value. If it is greater than the node threshold value, it is considered that the performance of the edge node deviates from the normal range, and it is marked as an abnormal node.

[0086] Further, a software performance real-time monitoring method based on edge computing, characterized in that it comprises:

[0087] Step S1: Obtain the key data of each edge node, and calculate the preliminary performance evaluation vector of each edge node;

[0088] Step S2: Dynamically select a reference node, and use the reference performance index vector of the reference node to correct the preliminary performance evaluation vector of each edge node to obtain the performance evaluation vector;

[0089] Step S3: Use a community detection algorithm to group the edge nodes to obtain different communities, and obtain a comprehensive feature vector of each community according to the performance evaluation vector;

[0090] Step S4: Use the comprehensive feature vector of each community to train a performance fluctuation prediction model, and predict the predicted performance value of each community in a future time period based on the performance fluctuation prediction model;

[0091] Step S5: According to the predicted performance value in a future time period, obtain the actual performance monitoring result after the actual time period arrives, calculate the expected difference value by comparing the predicted performance value with the actual monitoring result to identify an abnormal community. For the abnormal community, adjust the predicted and actual performance values of the edge nodes by calculating the deviation value, and determine the abnormal nodes based on the set node threshold value.

[0092] The technical effects and advantages of the software performance real-time monitoring system and method combined with edge computing of the present application are as follows:

[0093] The present application accurately reflects software performance by using performance monitoring of edge nodes: first, multi-dimensional key data (such as CPU utilization, memory usage, disk I / O, network bandwidth, etc.) is collected to calculate a preliminary performance evaluation vector of each edge node, which comprehensively reflects the actual performance of the node and avoids the limitations of a single indicator; second, a benchmark node is dynamically selected, and its benchmark performance indicator vector is used to correct the preliminary performance evaluation vector of each edge node, improving evaluation flexibility and accuracy and reducing errors caused by environmental changes; then, a community detection algorithm is used to group edge nodes and construct a comprehensive feature vector for each community, enabling fine-grained management and adapting to different workload patterns to more accurately reflect software performance in different scenarios; next, a machine learning model is trained based on the community comprehensive feature vector to predict future performance values, identify potential problems in advance, optimize system predictability and proactivity, and reduce the probability of unexpected failures; finally, the predicted value is compared with the actual monitoring result to calculate the expected difference to identify abnormal communities, and the overall deviation value is adjusted to determine abnormal nodes, ensuring immediate response and high-precision anomaly detection to timely solve problems affecting software performance. This method not only improves the comprehensiveness and accuracy of performance evaluation, but also enhances the predictability and real-time response capability of the system, ensuring stable operation of software under various workloads. BRIEF DESCRIPTION OF DRAWINGS

[0094] Figure 1 A schematic diagram of a software performance real-time monitoring system combined with edge computing of the present application is shown in the figure.

[0095] Figure 2 A schematic diagram of a software performance real-time monitoring method combined with edge computing of the present application is shown in the figure. DETAILED DESCRIPTION

[0096] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.

[0097] Embodiment One

[0098] Please refer to Figure 1 The software performance real-time monitoring system combined with edge computing described in the present embodiment includes:

[0099] The performance evaluation module obtains key data of each edge node and calculates a preliminary performance evaluation vector of each edge node (to provide basic data for subsequent correction and analysis);

[0100] The evaluation correction module dynamically selects a reference node, corrects the preliminary performance evaluation vector of each edge node by using the reference performance index vector of the reference node, and obtains a performance evaluation vector (to ensure the accuracy and consistency of performance evaluation and eliminate errors caused by environmental differences);

[0101] The feature construction module is used to group each edge node by using a community detection algorithm to obtain different communities and obtain a comprehensive feature vector of each community according to the performance evaluation vector (to capture the spatial correlation between nodes and enhance the effectiveness of feature representation);

[0102] The model construction module trains a performance fluctuation prediction model by using the comprehensive feature vector of each community and predicts a predicted performance value of each community in a future period based on the performance fluctuation prediction model (to realize the prediction of future performance and discover potential problems in advance);

[0103] The actual performance evaluation module obtains actual performance monitoring results after a future period according to the predicted performance value of the future period, compares the predicted performance value with the actual monitoring results, calculates an expected difference to identify an abnormal community, adjusts the predicted and actual performance values of the edge nodes of the abnormal community according to a deviation value, and determines an abnormal node based on a set node threshold;

[0104] It should be noted that the edge node is a key component of the software system, and the software system in the edge computing environment usually depends on multiple edge nodes to perform tasks, therefore, the performance of the edge node directly reflects the running status of the entire software system, if some edge nodes are nodes on the critical path of the software system, the performance change of the nodes will have a significant impact on the performance of the entire system, by monitoring the performance of all edge nodes, a comprehensive performance view can be obtained, and the comprehensive evaluation can help identify system bottlenecks and optimization points, for a distributed application, the performance monitoring of the edge node helps to understand the health status and service quality of the entire application;

[0105] This method can effectively reflect the performance status of the entire software system, especially in the edge computing environment, by monitoring and evaluating the performance of the edge node, the overall monitoring of the software performance can be indirectly realized, and the stability and efficient operation of the system are ensured;

[0106] The way of obtaining key data of each edge node and calculating a preliminary performance evaluation vector of each edge node includes:

[0107] It should be noted that the traditional performance evaluation is often based on a single performance indicator (such as CPU utilization), ignoring the mutual influence between other key performance indicators (such as memory usage, network delay, etc.), and cannot fully reflect the real running state of the software; based on this, the solution of the application is:

[0108] Each edge device is regarded as an edge node, and a compatible monitoring agent is used according to the operating system (such as Linux, Windows, RTOS, etc.) of the edge node (to ensure that the agent supports multiple data collection methods, such as SNMP (Simple Network Management Protocol), WMI (Windows Management Instrumentation), syslog (system log), JMX (Java Management Extension), etc., to adapt to different operating systems and application environments);

[0109] The time length of a period is defined as sd, and the key data of each edge node in each period is obtained through the monitoring agent, including application response time data (from the time when the user sends a request to the time when the complete response is received), CPU utilization data (the percentage of CPU occupied during software running), average memory usage (the amount of memory used during software running), throughput data (the number of requests processed per unit time), and average error rate (the proportion of failed requests);

[0110] Among them, the application response time data includes average response time (used to reflect the overall performance) and 95th percentile response time (indicating that in the t period, the response time of 95% of the requests does not exceed this value, that is, only 5% of the requests will exceed this value, which is a statistical quantity used to describe the response time distribution of the software, and the 95th percentile response time covers 95% of the requests, which means that it can well represent the experience of most users, especially in high concurrency scenarios, which can better reflect the stability and consistency of the system, and the reason for using the 95th percentile response time is that the average response time may be affected by a small number of abnormal slow requests, resulting in that it cannot accurately reflect the actual experience of most users, and the 95th percentile response time can better exclude these extreme values, and provide real feedback close to user experience); CPU utilization data includes average utilization (used to reflect the use of overall computing resources in the t period) and maximum CPU utilization (used to identify high load moments and help find possible overload problems); throughput data includes average throughput (used to evaluate the processing efficiency in the t period) and maximum throughput (used to identify peak periods and help evaluate the limit processing capacity of the software);

[0111] According to the key data, representative indexes are calculated, including a user experience index (for measuring the overall experience of the user), a resource utilization efficiency (for measuring the resource utilization of the system), and a software stability index (for measuring the stability and reliability of the software);

[0112] Among them, the average of the average response time and the 95th percentile response time in the t period is taken as the user experience index;

[0113] The average utilization, maximum CPU utilization and average memory usage in the t period are standardized, and then the resource utilization efficiency is calculated by using the weighted average method (the standardized weighted average can eliminate the dimensional difference, so that different indexes can be compared on the same scale, and the result is more intuitive and easy to explain, so as to reflect the relative importance);

[0114] The software stability index is calculated in combination with the average throughput, maximum throughput and average error rate in the t period Among them, JJTL represents the average throughput, MAXTTL represents the maximum throughput, JCWL represents the average error rate, and SSI represents the software stability index;

[0115] The user experience index, resource utilization efficiency and software stability index of the t period are horizontally spliced as the performance index of the edge node to form the preliminary performance evaluation vector of the edge node in the t period;

[0116] It should be noted that the key data of each edge node in each period is obtained, including application response time, CPU utilization, average memory usage, throughput and average error rate. These multi-dimensional data are calculated to obtain the user experience index, resource utilization efficiency and software stability index to form the preliminary performance evaluation vector of the edge node. Compared with single index analysis, multi-dimensional performance evaluation can more comprehensively reflect the real running state of the software, avoid the influence of ignoring key performance indexes, and provide more accurate performance evaluation;

[0117] The dynamic selection of the reference node includes:

[0118] It should be noted that in the existing edge computing and distributed system management, most of the existing methods use fixed thresholds to determine whether the node performance is normal. This method cannot adapt to the dynamic changes of the workload and environment, resulting in that the evaluation of software performance is not sensitive and accurate. Based on this, in order to solve the problem of static threshold, the solution of the present application is:

[0119] The preliminary performance evaluation vectors of all edge nodes in the t period before the bt period (such as the past week or month) are collected to form a performance index data set;

[0120] Data cleaning is performed on the performance index dataset, and the difference filling method is used for missing value processing.

[0121] Based on the processed performance index dataset, a reference node is dynamically selected, including:

[0122] Define the decision variable as jz i represents whether the i-th edge node is selected as a reference node, where jz i =1 indicates that the i-th edge node is selected, jz i =0 indicates that the i-th edge node is not selected;

[0123] Define the objective function as minimizing the performance difference between all edge nodes and the selected reference nodes , where, represents the j-th performance index of the i-th edge node, i represents the index of the edge node, I represents the number of edge nodes, j represents the index of the performance index, and J represents the number of performance indexes, represents the average value of the j-th performance index of all reference nodes, represents the weight of the j-th performance index;

[0124] Based on the entropy concept in information theory, the information entropy of each performance index is calculated , where, represents the information entropy of the j-th performance index;

[0125] According to the information entropy of each performance index, the weight is calculated (Through the entropy concept in information theory, the weight of each index is calculated to ensure that the selected reference node not only has stable performance but also has sufficient representativeness, thereby improving the accuracy of performance evaluation and correction, avoiding the interference of human factors, reducing the influence of personal experience and preference on the results compared to human judgment or AHP method, making the weight more fair and scientific, capable of handling multiple performance indexes, and automatically adjusting the weight of each index according to the variation of the data, without pre-setting fixed weight values);

[0126] Define the constraint conditions as quantity limit, geographical distribution uniformity, hardware configuration diversity and time stability;

[0127] Wherein, the quantity limit is to limit the number of selected reference nodes to be less than or equal to jds (control the number of reference nodes to avoid too many or too few selection, ensure the result has operability and management feasibility), the mathematical expression is: , jds represents the maximum number of reference nodes allowed to be selected;

[0128] Geographical distribution uniformity is to ensure that the reference nodes are distributed in different geographical locations (such as data centers 1, 2 and 3 for covering a wider area), to obtain the geographical location of each edge node, and to ensure that there is at least one reference node for each geographical location (to increase the comprehensiveness of the evaluation and ensure that the performance difference under different hardware configurations can be fully considered, avoiding the bias caused by hardware difference), that is , Geographical location, and wherein, represents the set of nodes located in the geographical location gd, represents a binary variable, indicating whether there is at least one reference node in the geographical location gd, =1 means that there is, =0 means that there is not, and xzl represents the minimum number of geographical locations required for coverage;

[0129] Hardware configuration diversity is to ensure that the reference nodes have different hardware configurations (such as server types 1, 2 and 3 for reflecting the performance under different hardware conditions), to obtain the hardware configuration of each edge node, and to classify all the hardware configurations of the edge nodes, and to ensure that there is at least one reference node for each hardware configuration (to increase the comprehensiveness of the evaluation and ensure that the performance difference under different hardware configurations can be fully considered, avoiding the bias caused by hardware difference), that is , Hardware configuration, wherein, represents the set of edge nodes with hardware configuration hv, represents a binary variable, indicating whether there is at least one reference node in the hardware configuration hv, =1 means that there is, =0 means that there is not, and zxy represents the minimum number of hardware configurations required for coverage;

[0130] Time stability is to calculate the standard deviation of the performance indicators of each edge node in the last bt time periods before t time period, to ensure that the standard deviation of the performance indicators of the selected reference nodes is less than or equal to the preset performance indicator standard deviation threshold (the performance indicator standard deviation threshold is a small value, which is used to measure the performance stability of the edge nodes, to ensure that the performance of the selected reference nodes in the last BT time periods is relatively stable, to avoid selecting nodes with large fluctuations, to improve the reliability of the reference nodes, and to ensure that they can represent the stable state of the system, rather than temporary peak or trough), that is , , represents the standard deviation of the performance indicators of the i-th edge node, which is used to measure the performance fluctuation of the node, yz represents the set performance indicator standard deviation threshold, and i represents the index of the candidate node, that is, all edge nodes are taken as candidate nodes, so that all edge nodes have the opportunity to be selected as reference nodes;

[0131] Based on the decision variables, objective function and constraints, use linear programming solver (such as GLPK, CPLEX, Gurobi) to solve, get the optimal solution, as the best benchmark node combination;

[0132] The performance evaluation vector is obtained in the following way:

[0133] According to the best benchmark node combination, take the mean of the preliminary performance evaluation vector of all benchmark nodes in the t period, as the benchmark performance index vector;

[0134] Collect historical performance data set (such as historical data in the past year), including the preliminary performance evaluation vector of all edge nodes and benchmark nodes;

[0135] Use statistical analysis techniques (by systematic collection, arrangement, analysis and interpretation of historical data, to identify patterns, trends and relationships in the data, in this method, statistical analysis techniques are mainly used to process historical performance data of edge nodes and benchmark nodes, to identify whether there are long-term trends and periodic fluctuations) to identify and process historical performance data set, identify and judge whether there are long-term trends and periodic fluctuations in the performance indicators of edge nodes and benchmark nodes;

[0136] If the performance indicators of edge nodes and benchmark nodes have long-term trends and periodic fluctuations, use ARIMA model as time series model;

[0137] If the performance indicators of edge nodes and benchmark nodes do not have long-term trends and periodic fluctuations, use exponential smoothing method as time series model;

[0138] According to the selected time series model, use historical performance data set to train the selected time series model, output the preliminary performance evaluation prediction vector of edge nodes in the future period;

[0139] Calculate the ratio of the preliminary performance evaluation prediction vector of the next period after t period and the benchmark performance index vector of t period, to get the adjustment factor;

[0140] For each period t, calculate the performance ratio of edge nodes relative to benchmark nodes, and introduce adjustment factor to correct the preliminary performance evaluation vector, get the performance evaluation vector , wherein, represents the preliminary performance evaluation vector of the i-th edge node in the t period, represents the performance evaluation vector, represents the benchmark performance index vector of t period, represents the adjustment factor of t period;

[0141] It should be noted that by collecting the preliminary performance evaluation vectors of all edge nodes in the bt period before the t period, a performance index dataset is formed, and a linear programming solver is used to dynamically select the benchmark nodes, which ensures that the selection process can adapt to the changing workloads and environmental conditions, and the preliminary performance evaluation vectors of each edge node are corrected using the benchmark performance index vectors of the selected benchmark nodes to obtain the final performance evaluation vectors, and the dynamic adjustment mechanism improves the sensitivity and accuracy of the evaluation results; compared with the fixed threshold, the dynamic benchmark node selection and performance evaluation correction mechanism of the application can better reflect the changes of real-time workloads, and improve the flexibility and accuracy of performance evaluation;

[0142] Specifically, by collecting the preliminary performance evaluation vectors of all edge nodes in the bt period before the t period, a performance index dataset is formed, and a linear programming solver is used to dynamically select the benchmark nodes, which ensures that the selection process can adapt to the changing workloads and environmental conditions;

[0143] Detailed constraints are defined, including quantity limits, geographical distribution uniformity, hardware configuration diversity and time stability. These constraints ensure the representativeness of the selected benchmark nodes and improve the comprehensiveness and accuracy of performance evaluation;

[0144] The objective function is defined as minimizing the performance difference between all edge nodes and the selected benchmark nodes, which ensures that the selection of benchmark nodes can best reflect the actual performance, and improves the accuracy of the evaluation results;

[0145] The linear programming solver is used for solving, and the optimal solution is obtained as the best benchmark node combination, which ensures that the solving process is efficient and the result is optimal;

[0146] The method of grouping each edge node using a community detection algorithm to obtain different communities and obtaining a comprehensive feature vector of each community according to the performance evaluation vector comprises:

[0147] It should be noted that most of the existing methods do not fully consider the internal differences of different communities (i.e. a group of nodes with similar characteristics), resulting in inaccurate performance evaluation and inability to accurately reflect the performance of software under different workloads; based on this, the solution of the application is:

[0148] The network topology information of each edge node is read and collected, including IP address, subnet, routing path, bandwidth and delay;

[0149] A network graph is constructed through the network topology information of each edge node, and the similarity between each edge node is calculated according to the network graph to form a similarity matrix;

[0150] According to the similarity matrix, the community detection algorithm (such as Louvain algorithm, Girvan-Newman algorithm, for example, assuming that we have multiple edge nodes distributed in different subnets, using Louvain algorithm to identify the community structure in the network, first constructing a network graph, then running the Louvain algorithm, and finally obtaining several communities, each community contains a group of nodes that are closely connected in network topology, the community detection algorithm aims to analyze the connection relationship and similarity between nodes in the network graph, combined with load weight, using spectral clustering method to divide the nodes into several communities with tight internal connection and similar performance, so as to realize the fine management and efficient performance evaluation of complex network, this method not only considers the topology structure of nodes, but also integrates performance indicators, ensuring that the nodes in each community have high consistency in network and load, providing a solid foundation for subsequent detection) is used to group the edge nodes (so that the edge nodes with high load are grouped into the same group), and the edge node performance evaluation vector is used as an additional load weight to obtain different communities, and the comprehensive feature vector of each community is obtained according to different communities.

[0151] It should be noted that the community detection algorithm is used to group the edge nodes to obtain different communities, and the comprehensive feature vector of each community is obtained according to the performance evaluation vector, the community detection algorithm combines network topology information and performance evaluation vector to ensure that the nodes in each community are closely connected in network topology and have similar load, compared with the method without considering the difference between communities, the community detection and grouping strategy of the method improves the accuracy of performance evaluation, which can more accurately reflect the performance of software under different workloads, and realizes fine management.

[0152] The method of constructing a network graph through the network topology information of each edge node, calculating the similarity between each edge node according to the network graph, and forming a similarity matrix comprises:

[0153] The connection relationship between nodes is determined through the routing path of each edge node. For edge nodes with IP addresses belonging to the same subnet, an edge with no edge weight is added between each two edge nodes (if the IP addresses of two nodes belong to the same subnet (i.e. the same prefix), they can usually communicate directly through the second layer switch, without going through the router, which indicates that there is a direct connection relationship between them);

[0154] For edge nodes with IP addresses not belonging to the same subnet, the edge node pairs with connection paths are identified according to the routing path, and an edge with edge weight is added for these edge node pairs (if the IP addresses of two nodes do not belong to the same subnet, the communication between them needs to go through the router, at this time, the connection path between them can be determined according to the routing table or other information);

[0155] It should be noted that the existing method can only identify simple direct connection relationship, and cannot accurately reflect the complex network topology structure, and through distinguishing the connection mode of the same subnet and different subnets, the connection relationship between nodes can be more accurately identified, especially for indirect connection across subnets, and the accuracy of the network diagram is ensured;

[0156] The edge weight is defined and obtained by bandwidth and delay , wherein, represents the edge weight between the ith edge node and the rth edge node, represents a proportional factor for adjusting the importance of bandwidth and delay (freely adjusted according to actual needs, and 0 <1), represents the bandwidth between the ith edge node and the rth edge node, represents the delay;

[0157] It should be noted that most of the existing methods ignore the influence of key performance indicators such as bandwidth and delay, resulting in inaccurate similarity calculation, by introducing bandwidth and delay as a component of edge weight, and allowing the proportional factor to be adjusted according to actual needs , so that the similarity calculation is more close to the actual network performance, and the evaluation accuracy is improved;

[0158] Based on all edge nodes and corresponding edges, a network diagram is constructed;

[0159] It should be noted that the existing method has low efficiency and is prone to errors when calculating the similarity matrix, by using an efficient algorithm based on the network diagram, the similarity between all node pairs is quickly calculated, and an accurate similarity matrix is formed, thereby improving the calculation efficiency and the reliability of the results;

[0160] According to the network diagram, the similarity between any edge node pair (i, r) is calculated, and if the edge node i and the edge node r belong to the same subnet, the weightless similarity measure is used, and if i and r do not belong to the same subnet, the weighted similarity measure is used;

[0161] ;

[0162] , wherein, represents the similarity between any edge node pair i and r, represents the similarity of the edge node pair in the same subnet, represents the neighbor set of the edge node i, represents the neighbor set of the edge node r, all nodes directly connected to the edge node i in the network diagram are taken as the neighbor set of the edge node i, represents the similarity of the edge node pair not belonging to the same subnet, represents the edge weight of the edge between edge node i and edge node c, represents the edge weight of the edge between edge node r and edge node c;

[0163] Based on the similarity between all edge node pairs, a similarity matrix SSJ is formed, and each position in the similarity matrix represents the similarity between edge node i and edge node r;

[0164] It should be noted that the traditional method often uses a single similarity measurement method, which cannot adapt to different network environments. The piecewise similarity measurement method is adopted, and the weightless or weighted similarity measurement is selected according to the different subnet conditions, which ensures the flexibility and adaptability of the similarity calculation;

[0165] The existing method often ignores some important network characteristics such as bandwidth and delay when constructing a network graph. By comprehensively considering the connection relationship and performance indicators between nodes, a more comprehensive and accurate network graph is constructed, which provides a solid foundation for subsequent community detection and performance evaluation;

[0166] The method of the present application constructs a network graph through network topology information and calculates the similarity between edge nodes to form a similarity matrix, which solves the problems of inaccurate connection relationship recognition, single edge weight definition, inflexible similarity measurement, incomplete network graph construction and low efficiency of similarity matrix formation in the prior art. Specifically:

[0167] The fine connection relationship recognition improves the accuracy of the network graph, the dynamic edge weight definition makes the similarity calculation more close to the actual network performance, the flexible similarity measurement enhances the adaptability and flexibility of the method, the comprehensive network graph construction provides a reliable basis for subsequent analysis, and the efficient similarity matrix formation improves the calculation efficiency and the reliability of the results;

[0168] The method for obtaining the comprehensive feature vector comprises:

[0169] The weighted summation formula is used to calculate all performance indicators in the performance evaluation vector to obtain the comprehensive value of the performance evaluation vector as the load weight (this step ensures that nodes with high load have higher weights in subsequent analysis);

[0170] It should be noted that most existing methods ignore the difference in node load when detecting communities, resulting in inaccurate grouping. By introducing the load weight, the load difference of the nodes is considered in the modularity function, so that nodes with high load are more likely to be divided into the same community, improving the rationality and accuracy of the grouping;

[0171] The spectral clustering algorithm is used as the community detection algorithm, load weights are introduced into a modularity function of the community detection algorithm, and a grouping target of the community detection algorithm is defined as that nodes with high load are more inclined to be grouped into the same community.

[0172] It should be noted that the traditional community detection method is only based on network topology and cannot fully reflect the actual performance of nodes. By combining the performance evaluation vector and the load weight, the accuracy of community detection is enhanced, and it is ensured that the nodes in each community are not only closely connected in network topology, but also have similarity in performance.

[0173] The modularity function after introducing the load weight is .

[0174] wherein, represents the modified modularity function, zzq represents the total weight of all edges in the network graph, and respectively represent the load weight of the edge node i and the edge node r, and respectively represent the degree of the edge node i and the edge node r, and the number of edges connected to the edge node i is taken as the degree of the edge node i, represents an indicator function for judging whether the edge node i and the edge node r belong to the same community, and respectively represent the community label of the edge node i and the edge node r in the community detection algorithm, if , it is determined that the edge node i and the edge node r belong to the same community, then , if , it is determined that the edge node i and the edge node r do not belong to the same community, then , represents whether there is an edge between the edge node i and the edge node r, if there is an edge between the edge node i and the edge node r, then , if there is no edge between the edge node i and the edge node r, then .

[0175] It should be noted that the existing modularity function generally only considers the connection relationship between nodes and ignores the performance difference between nodes. The modified modularity function not only considers the connection relationship between nodes, but also introduces the load weight, optimizes the objective function of community division, and makes the grouping more reasonable and effective.

[0176] The modified modularity function is applied to the community detection algorithm together with the similarity matrix SSJ to group the edge nodes and obtain different communities, each of which contains a group of nodes that are closely connected in network topology and have similar load.

[0177] For each community, the average value of the corresponding performance indicators in the edge node performance evaluation vector is calculated to form a comprehensive feature vector of the community (this step ensures that the comprehensive feature vector of each community can represent the overall performance characteristics of the community);

[0178] It should be noted that the traditional method is low in efficiency when calculating the comprehensive feature vector, and it is difficult to process large-scale data sets. By efficiently calculating the comprehensive value of the performance evaluation vector and combining the spectral clustering algorithm, the calculation efficiency is improved, which can process large-scale data sets in a short time and generate accurate comprehensive feature vectors. The comprehensive feature vectors generated by the existing method often cannot fully reflect the characteristics of the community. By calculating the average value of the edge node performance evaluation vector in each community, the comprehensive feature vector generated can fully reflect the overall performance characteristics of the community, providing a reliable basis for subsequent analysis;

[0179] The training method of the performance fluctuation prediction model comprises:

[0180] A1: Collect a sample set, including the comprehensive feature vector sequence of each community and the corresponding label, and the label is the real performance value of the next period of the comprehensive feature vector corresponding period;

[0181] According to the comprehensive feature vector of each community, the comprehensive feature vectors of any one period and the previous qc periods are integrated in time sequence to form a comprehensive feature vector sequence of each community at any one period;

[0182] A2: Normalize the sample set and use interpolation method to process missing values, and divide the processed sample set into training set and test set according to the proportion;

[0183] A3: Construct a performance fluctuation prediction model, take the comprehensive feature vector sequence of each community as input, take the predicted performance value of the community in the future period as output, and take the predicted performance of the community as the predicted performance value of all edge nodes in the community, and the performance fluctuation prediction model is an LSTM model;

[0184] A4: Initialize the hyperparameters of the model, and use Bayesian optimization to optimize the hyperparameters, use k-fold cross-validation to evaluate the cross-validation scores of the model under different hyperparameter combinations, and select the optimal parameter combination;

[0185] A5: Take the optimal parameter combination as the initial parameters of the model, define Adam as the optimizer, and define the mean absolute error as the loss function for evaluating the prediction accuracy of the model , wherein, represents the predicted performance value of the ve sample, represents the real performance value of the ve sample;

[0186] A6: input the integrated feature vector sequence in the training set into the model, perform forward propagation, calculate the predicted performance value, and then use the loss function to calculate the loss between the predicted performance value and the true performance value, update the model parameters through back propagation, and repeat the forward propagation and back propagation;

[0187] A7: for each iteration, use R 2 score as an evaluation index, calculate R 2 score value on the validation set;

[0188] According to the R 2 score value on the validation set, calculate the R 2 score value after the current iteration and the R 2 score value of the last iteration, and record the difference as the iteration difference value;

[0189] Set the iteration difference value threshold, if the iteration difference value is greater than the iteration difference value threshold, it is determined that the performance of the model is improved;

[0190] If the iteration difference value is less than or equal to the iteration difference value threshold, it is determined that the performance of the model is not improved;

[0191] If the performance of the model on the validation set does not improve in continuous DC iterations, stop training, and obtain the trained performance fluctuation prediction model;

[0192] The method of obtaining the abnormal node comprises:

[0193] B1: according to the predicted performance value of each community in the future period obtained by the performance fluctuation prediction model, after the actual arrival of the future period, obtain the monitoring result of the actual performance value of each community through real-time monitoring system;

[0194] B2: for each community, calculate the absolute difference value between the predicted performance value and the actual performance value as the expected difference value of the actual performance;

[0195] Set the expected difference value threshold (set by industry professionals according to experience), if the expected difference value is less than or equal to the expected difference value threshold, it is determined that the actual performance of the community belongs to the normal range, and the actual performance value of the community is taken as the final performance evaluation value of each edge node in the community;

[0196] If the expected difference value is greater than the expected difference value threshold, it is determined that the actual performance value of the community deviates from the normal range, and the community is marked as an abnormal community;

[0197] B3: for the abnormal community, for each performance index of the edge node in the abnormal community, calculate the standard deviation of all edge nodes in the abnormal community for the performance index;

[0198] set a node threshold value for each edge node in the abnormal community in combination with the expected difference threshold value and the standard deviation of the community wherein, represents the node threshold value, represents the expected difference threshold value of the community, represents a constant term (such as 1 or 2) adjusting the threshold looseness, represents the standard deviation;

[0199] B4: For each abnormal community, collect the historical performance evaluation vectors of each edge node in the past PCD time periods, integrate the historical performance evaluation vectors of each edge node into an overall vector, and calculate the historical average performance;

[0200] B5: Calculate the historical average performance of each edge node and the actual performance value of the abnormal community using the Euclidean distance formula to obtain the performance deviation value of the edge node relative to the abnormal community;

[0201] Sum the predicted performance value and the actual performance value of the abnormal community with the performance deviation value to obtain the predicted performance value and the actual performance value of each edge node in the abnormal community;

[0202] B6: Calculate the absolute difference between the predicted performance value and the actual performance value of each edge node in the abnormal community, respectively, and compare it with the node threshold value. If it is greater than the node threshold value, it is considered that the performance of the edge node deviates from the normal range, and it is marked as an abnormal node;

[0203] If there is an abnormal node, it is determined that the software performance is abnormal.

[0204] The embodiment uses the performance monitoring of the edge nodes to accurately reflect the software performance. First, multi-dimensional key data (such as CPU utilization, memory usage, disk I / O, network bandwidth, etc.) is collected, and a preliminary performance evaluation vector of each edge node is calculated to comprehensively reflect the actual performance of the node and avoid the limitations of a single indicator. Second, a benchmark node is dynamically selected, and the preliminary performance evaluation vector of each edge node is corrected based on the benchmark performance indicator vector of the benchmark node to improve the evaluation flexibility and accuracy and reduce the error caused by environmental changes. Third, a community detection algorithm is used to group the edge nodes, a comprehensive feature vector of each community is constructed, fine-grained management is realized, different workload modes are adapted to, and the performance of the software in different scenarios is more accurately reflected. Fourth, a machine learning model is trained based on the comprehensive feature vector of the community to predict the performance value in the future period, identify potential problems in advance, optimize the predictability and initiative of the system, and reduce the probability of unexpected failures. Finally, the predicted value is compared with the actual monitoring result, the expected difference is calculated to identify abnormal communities, and the abnormal nodes are adjusted and determined through the overall deviation value to ensure immediate response and high-precision anomaly detection and timely solve the problems affecting the software performance. This method not only improves the comprehensiveness and accuracy of performance evaluation, but also enhances the predictability and real-time response capability of the system to ensure the stable operation of the software under various workloads.

[0205] Embodiment two

[0206] Please refer to Figure 2 The embodiment does not describe some parts in detail, and a software performance real-time monitoring method based on edge computing is provided, which includes the following steps:

[0207] S1: Obtain the key data of each edge node, and calculate a preliminary performance evaluation vector of each edge node;

[0208] S2: Dynamically select a benchmark node, and use the benchmark performance indicator vector of the benchmark node to correct the preliminary performance evaluation vector of each edge node to obtain a performance evaluation vector;

[0209] S3: Use a community detection algorithm to group the edge nodes to obtain different communities, and obtain a comprehensive feature vector of each community according to the performance evaluation vector;

[0210] S4: Use the comprehensive feature vector of each community to train a performance fluctuation prediction model, and predict the predicted performance value of each community in a future period based on the performance fluctuation prediction model;

[0211] S5: Based on the predicted performance value for a future period, after the actual period arrives, obtain the actual performance monitoring results. By comparing the predicted performance value with the actual monitoring results, calculate the expected difference to identify abnormal communities. For abnormal communities, adjust their predicted and actual performance values ​​by calculating the deviation value of edge nodes, and determine abnormal nodes based on the set node threshold.

[0212] Example 3

[0213] This embodiment discloses an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the operation mode of the above-described real-time monitoring method for integrated edge computing software performance.

[0214] Since the electronic device described in this embodiment is the electronic device used to implement the real-time software performance monitoring method integrating edge computing described in this application embodiment, those skilled in the art can understand the specific implementation method and various variations of the electronic device in this embodiment based on the real-time software performance monitoring method integrating edge computing described in this application embodiment. Therefore, how the electronic device implements the method in this application embodiment will not be described in detail here. Any electronic device used by those skilled in the art to implement the real-time software performance monitoring method integrating edge computing described in this application embodiment falls within the scope of protection of this application.

[0215] The above formulas are all dimensionless calculations. The formulas are derived from software simulations based on a large amount of collected data to obtain the most recent real-world results. The preset parameters and thresholds in the formulas are set by those skilled in the art according to the actual situation.

[0216] The above description is merely a preferred embodiment of the present invention, and the scope of protection of the present invention is not limited to the above embodiments. All technical solutions falling within the scope of the present invention's concept are within the scope of protection of the present invention. It should be noted that for users of ordinary technical skills, any improvements and modifications made without departing from the principles of the present invention should also be considered within the scope of protection of the present invention.

Claims

1. A software performance real-time monitoring system fused with edge computing, characterized in that, The application comprises: a performance evaluation module for obtaining key data of each edge node and calculating a preliminary performance evaluation vector of each edge node; the obtaining of the key data of each edge node and the calculation of the preliminary performance evaluation vector of each edge node specifically comprises: taking each edge device as an edge node and using a compatible monitoring agent according to the operating system of the edge node; defining the time length of a time period as sd, and obtaining the key data of each edge node in each time period through the monitoring agent, including application response time data, CPU utilization rate data, average memory usage, throughput data and average error rate; wherein the application response time data includes average response time and 95th percentile response time; the CPU utilization rate data includes average utilization and maximum CPU utilization; and the throughput data includes average throughput and maximum throughput; calculating representative indexes according to the key data, including a user experience index, a resource utilization efficiency and a software stability index; wherein the average of the average response time and the 95th percentile response time in the t period is taken as the user experience index; standardizing the average utilization, the maximum CPU utilization and the average memory usage in the t period, and then calculating the resource utilization efficiency by using the weighted average method; In combination with the average throughput, the maximum throughput and the average error rate in the t period of time, the software stability index is calculated ; wherein JTTL represents the average throughput, MAXTTL represents the maximum throughput, JCWL represents the average error rate, and SSI represents the software stability index; concatenating the user experience index, the resource utilization efficiency and the software stability index of the t period as the performance indexes of the edge node to form a preliminary performance evaluation vector of the edge node in the t period; an evaluation correction module for dynamically selecting a reference node, using the reference performance index vector of the reference node to correct the preliminary performance evaluation vector of each edge node to obtain a performance evaluation vector; a feature construction module for grouping each edge node by using a community detection algorithm to obtain different communities and obtaining a comprehensive feature vector of each community according to the performance evaluation vector; a model construction module for training a performance fluctuation prediction model by using the comprehensive feature vector of each community and predicting a predicted performance value of each community in a future time period based on the performance fluctuation prediction model; an actual performance evaluation module for obtaining actual performance monitoring results after the actual time period arrives according to the predicted performance value of the future time period, calculating an expected difference value by the predicted performance value and the actual monitoring results to identify an abnormal community, calculating a deviation value of each edge node in the abnormal community, adjusting the predicted performance value and the actual performance value according to the deviation value, and then obtaining an abnormal node. 2.The software performance real-time monitoring system of converged edge computing according to claim 1, wherein, the dynamic selection of the reference node specifically comprises: collecting preliminary performance evaluation vectors of all edge nodes in bt time periods before the t period to form a performance index dataset; performing data cleaning on the performance index dataset and using a difference filling method to process missing values; dynamically selecting the reference node according to the processed performance index dataset, including: Define decision variable as jz i denotes whether the ith edge node is selected as a reference node, where jz i = 1 denotes that the ith edge node is selected, jz i = 0 denotes that the ith edge node is not selected; The objective function is defined to minimize the performance difference between all edge nodes and the selected reference nodes wherein, represents the jth performance indicator of the ith edge node, i represents the index of the edge node, I represents the number of edge nodes, j represents the index of the performance indicator, J represents the number of performance indicators, represents the average value of the jth performance indicator of all reference nodes, represents the weight of the jth performance indicator; Based on the concept of entropy in information theory, the information entropy of each performance indicator is calculated wherein denotes the information entropy of the jth performance indicator According to the information entropy of each performance index, the weight is calculated ; defining constraint conditions as quantity limitation, uniform geographical distribution, diverse hardware configuration and time stability; Wherein, the quantity limit is defined as limiting the number of selected reference nodes to be less than or equal to jds, and the mathematical expression is: , jds represents the maximum number of reference nodes allowed to be selected. The geographical distribution uniformity is that the reference nodes are uniformly distributed in different geographical positions, the geographical positions of each edge node are obtained, and for each geographical position, at least one reference node is ensured; The hardware configuration diversity is that the reference nodes have different hardware configurations, the hardware configurations of each edge node are obtained, the hardware configurations of all edge nodes are classified, and for each hardware configuration, at least one reference node is ensured; The time stability is that the standard deviation of the performance indicators of each edge node in the t time period is calculated, and the standard deviation of the performance indicators of the selected reference nodes is less than or equal to the preset performance indicator standard deviation threshold; Based on the decision variables, the objective function and the constraint conditions, a linear programming solver is used to solve and obtain an optimal solution as the best reference node combination.

3. The software performance real-time monitoring system of fused edge computing according to claim 2, wherein, The obtained performance evaluation vector specifically includes: According to all selected reference nodes in the best reference node combination, the mean of the preliminary performance evaluation vectors of all reference nodes in the t time period is taken as the reference performance indicator vector; A historical performance data set is collected, including the preliminary performance evaluation vectors of all edge nodes and reference nodes; Using statistical analysis techniques, the historical performance data set is identified and processed to identify and determine whether the performance indicators of the edge nodes and the reference nodes have long-term trends and periodic fluctuations; If the performance indicators of the edge nodes and the reference nodes have long-term trends and periodic fluctuations, an ARIMA model is used as a time series model; If the performance indicators of the edge nodes and the reference nodes do not have long-term trends and periodic fluctuations, an exponential smoothing method is used as a time series model; According to the selected time series model, the historical performance data set is used to train the selected time series model, and a preliminary performance evaluation prediction vector of the edge nodes in a future time period is output; The preliminary performance evaluation prediction vector of the next time period after the t time period is compared with the reference performance indicator vector of the t time period to obtain an adjustment factor; For each time period t, the performance ratio of the edge node relative to the reference node is calculated, and an adjustment factor is introduced to correct the preliminary performance evaluation vector, to obtain the performance evaluation vector ; wherein, represents a preliminary performance evaluation vector of the i-th edge node at time t, represents a performance evaluation vector, represents a reference performance index vector at time t, represents an adjustment factor at time t, represents a performance ratio of the edge node relative to the reference node.

4. The software performance real-time monitoring system of claim 3, wherein, The community detection algorithm is used to group the edge nodes to obtain different communities, and according to the performance evaluation vector, a comprehensive feature vector of each community is obtained, specifically including: The network topology information of each edge node is read and collected, including IP addresses, subnets, routing paths, bandwidths and delays; A network graph is constructed through the network topology information of each edge node, the similarity between the edge nodes is calculated according to the network graph, and a similarity matrix is formed; According to the similarity matrix, the community detection algorithm is used, and the edge node performance evaluation vector is used as an additional load weight to group the edge nodes to obtain different communities, and a comprehensive feature vector is obtained according to different communities.

5. The software performance real-time monitoring system of fused edge computing according to claim 4, wherein, The network graph is constructed through the network topology information of each edge node, the similarity between the edge nodes is calculated according to the network graph, and a similarity matrix is formed, specifically including: The connection relationship between nodes is determined through the routing paths of each edge node, and for edge nodes with IP addresses belonging to the same subnet, an edge with no edge weight is added between each two edge nodes. For edge nodes with IP addresses not belonging to the same subnet, according to the route path recognition, the edge node pair with the connection path is obtained, and an edge with a weight is added to the edge node pair; defined by bandwidth and delay and get edge weight wherein, denotes the edge weight between the ith edge node and the rth edge node, denotes a scaling factor that adjusts the importance of bandwidth and delay, denotes the bandwidth between the ith edge node and the rth edge node, denotes the delay; Based on all the edge nodes and the corresponding edges, a network graph is constructed; According to the network graph, the similarity between any edge node pair (i, r) is calculated, and if the edge node i and the edge node r belong to the same subnet, a weightless similarity measure is used, and if i and r do not belong to the same subnet, a weighted similarity measure is used; ; wherein, denotes the similarity between an arbitrary edge node pair i and r, denotes the similarity between an edge node pair i and r within the same subnet, denotes the neighbor set of edge node i, denotes the neighbor set of edge node r, all nodes directly connected to edge node i in the network graph are considered as the neighbor set of edge node i, denotes the similarity between an edge node pair i and r not belonging to the same subnet, denotes the edge weight of the edge between edge node i and edge node c, denotes the edge weight of the edge between edge node r and edge node c;​ Based on the similarity between all pairs of edge nodes, a similarity matrix SSJ is formed, where each position in the similarity matrix SSJ represents the similarity between edge node i and edge node r. represents the similarity between edge node i and edge node r.

6. The software performance real-time monitoring system of fused edge computing according to claim 5, wherein, The comprehensive feature vector is obtained, specifically including: The load weight is obtained by using a weighted sum formula to calculate all performance indicators in the performance evaluation vector; The spectral clustering algorithm is used as the community detection algorithm, and the load weight is introduced into the modularity function of the community detection algorithm, and the grouping target of the community detection algorithm is defined as making the nodes with high load more inclined to be divided into the same community; The modularity function after introducing the load weight is ; wherein, denotes the modified modularity function, zzq denotes the total weight of all edges in the network graph, and denote the load weight of edge node i and edge node r, respectively, and denote the degree of i and r, respectively, the number of edges connected to i as the degree of i, denotes an indicator function that judges whether i and r belong to the same community, and denote the community label of i and r within the community detection algorithm, respectively, if i and r are determined to belong to the same community, then if i and r are determined not to belong to the same community, then , denotes whether there is an edge between i and r, if there is an edge between i and r, then if there is no edge between i and r, then ; The modified modularity function The similarity matrix SSJ is applied to the community detection algorithm to group the edge nodes to obtain different communities, and each community contains a group of edge nodes that are closely connected in network topology and have similar loads. For each community, the average value of the corresponding performance indicator in the performance evaluation vector of each edge node is calculated to form the comprehensive feature vector of the community.

7. The software performance real-time monitoring system of claim 6, wherein, The training of the performance fluctuation prediction model specifically includes: Step A1: Collect a sample set, including the comprehensive feature vector sequence of each community and the corresponding label, and the label is the real performance value of the next period corresponding to the comprehensive feature vector; According to the comprehensive feature vector of each community, the comprehensive feature vectors of any one period and the previous qc periods are integrated in time sequence to form the comprehensive feature vector sequence of each community at any one period; Step A2: Normalize the sample set and use interpolation method to process missing values, and divide the processed sample set into training set and test set according to the proportion; Step A3: Construct the performance fluctuation prediction model, use the comprehensive feature vector sequence of each community as input, and use the predicted performance value of the community in the future one period as output, and use the predicted performance of the community as the predicted performance value of all edge nodes in the community, and the performance fluctuation prediction model is an LSTM model; Step A4: Initialize the hyperparameters of the model, and use Bayesian optimization to optimize the hyperparameters, use k-fold cross-validation to evaluate the cross-validation scores of the model under different hyperparameter combinations, and select the optimal parameter combination; Step A5: Optimal parameter combination as the initial parameters of the model, define Adam as the optimizer, and define the mean absolute error as the loss function to evaluate the prediction accuracy of the model wherein, represents the prediction performance value of the ve-th sample, represents the true performance value of the ve-th sample; Step A6: Input the comprehensive feature vector sequence in the training set into the model, perform forward propagation, calculate the predicted performance value, and then use the loss function to calculate the loss between the predicted performance value and the real performance value, update the model parameters through back propagation, and repeat the forward propagation and back propagation; Step A7: For each iteration, use R 2 Score as the evaluation metric, compute R 2 Score values on the validation set; According to the R 2 score value on the validation set, calculate the R 2 score value after the current iteration and the R 2 score value of the previous iteration, denoted as the iteration difference. Set the iteration difference threshold, if the iteration difference is greater than the iteration difference threshold, it is determined that the performance of the model is improved; If the iteration difference is less than or equal to the iteration difference threshold, it is determined that the performance of the model is not improved; If the performance of the model on the validation set does not improve in continuous DC iterations, stop training, and obtain the trained performance fluctuation prediction model.

8. The software performance real-time monitoring system of fused edge computing according to claim 7, wherein, The abnormal node is obtained, specifically including: Step B1: According to the predicted performance value of each community in the future one period obtained by the performance fluctuation prediction model, after the future one period actually comes, the monitoring results of the actual performance value of each community are obtained through real-time monitoring system; Step B2: For each community, calculate the absolute difference between its predicted performance value and actual performance value as the expected difference value of actual performance; Set an expected difference value threshold, if the expected difference value is less than or equal to the expected difference value threshold, it is determined that the actual performance of the community belongs to the normal range, and the actual performance value of the community is taken as the final performance evaluation value of each edge node in the community; If the expected difference value is greater than the expected difference value threshold, it is determined that the actual performance value of the community deviates from the normal range, and the community is marked as an abnormal community; Step B3: For each performance indicator of the edge nodes in the abnormal community, calculate the standard deviation of the performance indicator of all edge nodes in the abnormal community; Set a node threshold value for each edge node in the abnormal community in combination with the expected difference threshold value and the standard deviation of the community wherein, represents the node threshold value, represents the expected difference threshold value of the community, represents a constant term for adjusting the threshold value looseness, represents the standard deviation; Step B4: For each abnormal community, collect the historical performance evaluation vectors of each edge node in the past PCD time periods, integrate the historical performance evaluation vectors of each edge node into a whole vector, and calculate the historical average performance; Step B5: Calculate the performance deviation value of each edge node relative to the abnormal community using the Euclidean distance formula to calculate the historical average performance of each edge node and the actual performance value of the abnormal community; Sum the predicted performance value and the actual performance value of each edge node in the abnormal community with the performance deviation value to obtain the predicted performance value and the actual performance value of each edge node in the abnormal community; Step B6: Calculate the absolute difference between the predicted performance value and the actual performance value of each edge node in the abnormal community, and compare it with the node threshold value, if it is greater than the node threshold value, it is determined that the performance of the edge node deviates from the normal range, and it is marked as an abnormal node. 9.A method for software performance real-time monitoring of converged edge computing, implemented based on the software performance real-time monitoring system of converged edge computing according to any one of claims 1 to 8, characterized in that, Comprise: Step S1: Obtain the key data of each edge node, and calculate the preliminary performance evaluation vector of each edge node; Step S2: Dynamically select a reference node, and use the reference performance indicator vector of the reference node to correct the preliminary performance evaluation vector of each edge node to obtain a performance evaluation vector; Step S3: Grouping each edge node using a community detection algorithm to obtain different communities, and obtaining a comprehensive feature vector of each community according to the performance evaluation vector; Step S4: Use the comprehensive feature vector of each community to train a performance fluctuation prediction model, and predict the predicted performance value of each community in a future time period based on the performance fluctuation prediction model; Step S5: According to the predicted performance value in the future time period, obtain the actual performance monitoring result after the actual time period comes, calculate the expected difference value by comparing the predicted performance value with the actual monitoring result to identify abnormal communities, for the abnormal communities, adjust the predicted and actual performance values of the edge nodes by calculating the deviation value, and determine the abnormal nodes based on the set node threshold value.

Citation Information

Patent Citations

  • Edge node anomaly positioning method, device, equipment and computer program product

    CN115437858A

  • Metering equipment performance monitoring system

    CN117668774A