CN110505114A - 一种云计算环境下节点异常判断方法 - Google Patents
一种云计算环境下节点异常判断方法 Download PDFInfo
- Publication number
- CN110505114A CN110505114A CN201910665457.7A CN201910665457A CN110505114A CN 110505114 A CN110505114 A CN 110505114A CN 201910665457 A CN201910665457 A CN 201910665457A CN 110505114 A CN110505114 A CN 110505114A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- executing
- matrix
- column
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000005856 abnormality Effects 0.000 title claims abstract description 13
- 230000002159 abnormal effect Effects 0.000 claims abstract description 62
- 238000001514 detection method Methods 0.000 claims abstract description 46
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000006243 chemical reaction Methods 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 107
- 238000013499 data model Methods 0.000 claims description 48
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000010606 normalization Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- 239000002131 composite material Substances 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000013480 data collection Methods 0.000 abstract description 2
- 230000003044 adaptive effect Effects 0.000 abstract 1
- 238000012986 modification Methods 0.000 abstract 1
- 230000004048 modification Effects 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种云计算环境下节点异常判断方法,本发明方法包括节点性能数据采集步骤;节点性能数据转换步骤;节点异常检测模型训练步骤;基于性能数据判断节点状态步骤;节点异常检测模型更新步骤。本发明通过采集、分析节点性能数据,并比较相邻节点的状态,及时判断出现异常的节点;本发明使用滑动时间窗口的模式,并不断更新异常检测模型,能够识别未知异常,实现了云计算环境下自适应判断节点异常。
Description
技术领域
本发明涉及一种云计算环境下节点异常判断方法,属于云计算节点异常检测领域。
背景技术
近年来,云计算的应用技术越来越广泛。节点是云计算环境中提供计算、存储、管理等服务的基本单位。然而,大量的恶意攻击和其自身的复杂性与大规模性使得云计算环境下节点经常发生异常,引起部分甚至所有服务的失效。节点异常检测技术是保证云计算环境下性能与可靠性的关键,管理员可以通过分析数据了解节点运行状态,从而采取措施及早发现并解决问题。Lan Z等人针对大规模分布式系统提出了一种节点级异常识别的自动检测框架;呈现了一些技术实现自动分析采集到的性能指标数据:节点分组模块将系统资源动态地分组,使得处于同一组中的节点预期将呈现出相同的行为;采用基于单元的方法检测行为异于其它节点的节点。
目前,针对云计算环境下节点的异常检测方法,通常从每个物理或虚拟节点上采集各个子系统(如CPU、内存、I/O和网络)的性能指标数据来表征节点的状态,通过节点状态来判断节点是否出现异常,未通过多个节点的综合状态判断存在异常的节点。
发明内容
本发明提供了一种云计算环境下节点异常判断方法,旨在寻找云计算环境中的异常节点。
本发明的技术方案是:一种云计算环境下节点异常判断方法,所述方法步骤包括:节点性能数据采集步骤:采集云计算环境下节点的监测数据,提取、存储有效的性能数据;节点性能数据转换步骤:将有效的性能数据组合成为数据矩阵的统一格式;节点异常检测模型训练步骤:使用转换后的节点性能数据计算节点数据总贡献率、指标权重数组并训练异常检测模型;基于性能数据判断节点状态步骤:使用节点异常检测模型对节点状态进行判断,并标记数据;节点异常检测模型更新步骤:使用标记后的数据更新节点异常检测模型用于基于性能数据判断节点状态步骤。
所述节点性能数据采集步骤具体如下:
Step1.1、以周期T采集云计算环境下第t个节点的监测数据,t∈[1,l],l为节点个数,然后从监测数据中提取出有效的性能数据PerformanceData,PerformanceData=[x1,x2,...,xn],n为每条性能数据的性能指标个数,xn为第n个性能指标的值,接着执行Step1.2;其中性能指标为云计算环境下节点的CPU、内存、I/O、网络的使用情况;
Step1.2、将第t个节点的性能数据PerformanceData存入二维数组HDataArraym×n中;其中m为第t个节点的性能数据的条数,n为每条性能数据的性能指标个数。
所述节点性能数据转换步骤具体如下:
Step2.1、设置i=0,执行Step2.2;
Step2.2、判断i<l:如果是,执行Step2.3;否则,执行Step2.7;
Step2.3、i++,执行Step2.4;
Step2.4、获取节点i的二维数组HDataArraym×n,执行Step2.5;
Step2.5、格式化节点i的二维数组HDataArraym×n中每个元素,得到数据矩阵Yi,执行Step2.6;其中,格式化具体为:如果元素为整数,不做变换;如果为元素为小数,小数点后保留3位,最后一位采用四舍五入方式获取;
Step2.6、对数据矩阵Yi每列使用公式(1)进行归一化,得到归一化后的矩阵Normalize_Nodem×n,执行Step2.2;
其中,Normalize_Node[rowi][columni]为归一化矩阵Normalize_Nodem×n的第rowi行columni列元素;Y[rowi][columni]为数据矩阵Yi的第rowi行columni列元素;rowi∈[1,m],columni∈[1,n];maxi为数据矩阵Yi的第columni列所有性能指标的最大值,mini为数据矩阵Yi的第columni列所有性能指标的最小值:
Step2.7、将l个节点归一化后矩阵Normalize_Nodem×n转换成统一的数据矩阵格式得到矩阵Normalize_Nodesl×m×n=[X1 X2 … Xl],执行Step3;
其中,Xl表示第l个节点的归一化矩阵。
所述节点异常检测模型训练步骤具体如下:
Step3.1、获取归一化矩阵Normalize_Nodesl×m×n;初始化:异常检测模型AnomalyModelSet=null,j=0,k=0,执行Step3.2;
Step3.2、判断j<l:如果是,执行Step3.3;否则,执行Step3.11;
Step3.3、j++,执行Step3.4;
Step3.4、判断k<n:如果是,执行Step3.5;否则,执行Step3.7;
Step3.5、k++,执行Step3.6;
Step3.6、使用DBSCAN算法对第j个节点数据矩阵Yj的第k列数据进行训练,选出其中核心点和边缘点并去重后存入AnomalyModelSet[k]中,执行Step3.4;
Step3.7、使用公式(2)、(3)对矩阵Normalize_Nodesl×m×n中第j个节点归一化矩阵Xj进行列零均值计算得到零均值矩阵zeroMeanMatrixm×n,执行Step3.8;
zeroMeanMatrix[rowj][columnj]=X[rowj][columnj]-Q[columnj] (2)
其中,zeroMeanMatrix[rowj][columnj]为zeroMeanMatrixm×n中第[rowj]行[columnj]列的值,rowj∈[1,m];X[rowj][columnj]为Xj中第[rowj]行[columnj]列的值;Q[columnj]为Xj第[columnj]列的平均值,columnj∈[1,n];
Step3.8、使用公式(4)计算矩阵zeroMeanMatrixm×n的协方差矩阵covarianceMatrixn×n,执行Step3.9;
covarianceMatrixn×n=zeroMeanMatrixm×n T*zeroMeanMatrixm×n (4)
其中,矩阵zeroMeanMatrixm×n T为矩阵zeroMeanMatrixm×n的转置矩阵;
Step3.9、使用雅可比方法计算covarianceMatrixn×n的特征值矩阵eigenvalueMatrixn×n,执行Step3.10;
Step3.10、使用公式(5)、(6)计算矩阵eigenvalueMatrixn×n的指标权重数组weightArray[v],执行Step3.2;
其中,λv表示第v个性能指标的特征值,该值是矩阵eigenvalueMatrixn×n的主对角线中第v个元素的值;count(v)表示第v个性能指标的指标权重,即方差贡献率,该值所能解释的信息占总的信息量的百分比,该值的大小,决定该指标在节点数据中的重要程度;D(j)表示第j个节点数据的方差;
Step3.11、使用公式(5)、(7)计算l个节点的数据总贡献率NodePer_now=[total(1),total(2),...,total(j),...,total(l)],并将其存入矩阵NodePerArrayb×l中,执行Step4;
其中,total(j)表示第j个节点的数据总贡献率,在所有节点中该节点所占的百分比,该值越大表示节点波动越大,越容易出现异常;其中b为每个节点贡献率的样本数且b≥2。
所述基于性能数据判断节点状态步骤具体如下:
Step4.1、获取节点的数据总贡献率二维数组NodePerArrayb×l,初始化:p=0,执行Step4.2;
Step4.2、判断p<l:如果是,执行Step4.3;否则,执行Step5;
Step4.3、p++,执行Step4.4;
Step4.4、NodePerArrayb×l中第b行第p列元素是否大于b-1行第p列元素:如果是,执行Step4.5;否则,执行Step4.2;
Step4.5、获取第p个节点的异常检测模型AnomalyModelSet[1],AnomalyModelSet[2],...,AnomalyModelSet[n],第p个节点的指标权重数组weightArray[v],初始化:异常特征模型AnomalyArray=null,q=0,outlierNum=0,执行Step4.6;
Step4.6、判断q<m:如果是,执行Step4.7;否则,执行Step4.19;
Step4.7、q++,执行Step4.8;
Step4.8、判断当前节点p的第q条数据是否在异常特征模型AnomalyArray中,分别计算第q条数据和异常特征模型AnomalyArray中每条数据的曼哈顿距离,如果曼哈顿距离小于Sim,则说明第q条数据在异常特征模型AnomalyArray中:如果是,则执行Step4.18;否则,执行Step4.9;其中,Sim为曼哈顿距离阈值,第q条数据为根据步骤Step1、Step2获取的Step2.5格式的新数据;
Step4.9、令s=0,执行Step4.10;
Step4.10、判断s<n:如果是,执行Step4.11;否则,执行Step4.13;
Step4.11、s++,执行Step4.12;
Step4.12、使用公式(8)计算第q条数据的第s个性能指标与AnomalyModelSet[s]中元素的距离,从dist(num)中选取最小值并存入存入数组mindist(s)中,执行Step4.10;
其中,AnomalyModelSet[s]中共有tolalnum个元素,S为第q条数据中第s个性能指标的值,E[num]为AnomalyModelSet[s]中第num个元素的值,num∈[1,totalnum],dist(num)为第s个性能指标与第num个元素的距离;
Step4.13、使用公式(9)计算数据的综合评分com_score,执行Step4.14;
Step4.14、判断com_score<Nthreshold:如果是,执行Step4.15;否则,执行Step4.17;
其中,Nthreshold为异常数据的阈值,该条数据的综合评分超过此值则认为此条数据是异常数据;
Step4.15、将当前节点p的第q条数据标记为正常数据,执行Step4.16;
Step4.16、将当前节点p的第q条数据存入数组DataArray中,执行Step4.6;
Step4.17、将当前节点p的第q条数据存入异常特征模型AnomalyArray中,执行Step4.18;
Step4.18、将当前节点p的第q条数据标记为异常数据,outlierNum++,执行Step4.16;
Step4.19、判断outlierNum<Qthreshold:如果是,执行Step4.2;否则执行Step4.20;
其中,Qthreshold为异常节点的阈值,当一定时间周期内异常数据的个数超过此值则认为节点是异常节点;
Step4.20、将第p个节点标记为异常节点,则执行Step4.2。
所述节点异常检测模型更新步骤具体如下:
Step5.1、当前节点nowNode=0,执行Step5.2;;
Step5.2、判断NowNode<l:如果是,则执行Step5.3;否则,执行Step1、Step3、Step4或者结束;
Step5.3、NowNode++,执行Step5.4;
Step5.4、定义滑动时间窗口长度为U_num,r=0,w=0;获取节点NowNode滑动时间窗口内为数据U_datamodel、U_data,U_datamodel为训练异常检测模型的数据,U_data为计算指标权重的数据;异常检测模型AnomalyModelSet[1],AnomalyModelSet[2],...,AnomalyModelSet[n];U_datamodel内数据的长度seq_modelcount,U_data内数据的长度seq_count,执行Step5.5;
Step5.5、获取当前节点nowNode标记后数据DataArray[u],其中u为DataArray[u]中存储的性能数据条数,执行Step5.6;
Step5.6、判断w<u:如果是,则执行Step5.7;否则,执行Step5.2;
Step5.7、w++,执行Step5.8;
Step5.8、判断DataArray[u]中第w行数据是否被标记为异常数据:如果是,执行Step5.9;否则,执行Step5.16;
Step5.9、判断U_data内数据的长度seq_count<U_num:如果是,则执行Step5.10;否则,执行Step5.11;
Step5.10、seq_count++,向滑动时间窗口内数据U_data的第seq_count个位置加入DataArray[u]中第w行数据,执行Step5.6;
Step5.11、采用先进先出的原则更新滑动时间窗口U_data中的数据,执行Step5.12;
Step5.12、使用公式(2)、(3)对U_data进行零均值计算得到零均值矩阵UzeroMeanMatrixU_num×n,其中U_num为滑动时间窗口长度,n为每条性能数据的性能指标个数,执行Step5.13;
Step5.13、使用公式(4)计算矩阵UzeroMeanMatrixu_num×n的协方差矩阵UcovarianceMatrixn×n,执行Step5.14;
Step5.14、使用雅可比方法计算计算UcovarianceMatrixn×n的特征值矩阵UeigenvalueMatrixn×n,执行Step5.15;
Step5.15、使用公式(5)、(6)计算矩阵UeigenvalueMatrixn×n的指标权重数组weightArray[v]用于传至Step4.5,执行Step5.6;
Step5.16、判断r=0:如果是,执行Step5.17;否则,执行Step5.20;
Step5.17、判断U_datamodel内数据的长度seq_modelcount<U_num:如果是,则执行Step5.18;否则,执行Step5.21;
Step5.18、seq_modelcount++,向滑动时间窗口内数据U_datamodel的第seq_modelcount个位置加入DataArray[u]中第w行数据,执行Step5.19;
Step5.19、r++,执行Step5.16;
Step5.20、令r=0,执行Step5.9;
Step5.21、采用先进先出的原则更新滑动时间窗口U_datamodel中的数据,执行Step5.22;
Step5.22、使用DBSCAN算法对U_datamodel每列数据进行训练,选出其中核心点和边缘点作为异常检测模型并存入对应列的AnomalyModelSet[1],AnomalyModelSet[2],...,AnomalyModelSet[n]中用于传至Step4.5,执行Step5.6。
本发明的有益效果是:
(1)本发明通过采集、分析节点性能数据,并比较相邻节点的状态,及时判断出现异常的节点;
(2)本发明使用滑动时间窗口的模式,并不断更新异常检测模型,能够识别未知异常,实现了云计算环境下自适应判断节点异常。
附图说明
图1是本发明的流程图;
图2为图1中步骤Step2的具体流程;
图3为图1中步骤Step3的具体流程;
图4为图1中步骤Step4的具体流程;
图5为图1中步骤Step5的具体流程。
具体实施方式
实施例1:如图1-5所示,一种云计算环境下节点异常判断方法,所述方法在执行过程中,首先,按照Step1-Step2-Step3-Step4-Step5的流程一次遍历,然后,按照Step1-Step2-Step4-Step5的流程一次一次遍历直至终止执行。
所述方法步骤如下:节点性能数据采集步骤:采集云计算环境下节点的监测数据,提取、存储有效的性能数据;节点性能数据转换步骤:将有效的性能数据组合成为数据矩阵的统一格式;节点异常检测模型训练步骤:使用转换后的节点性能数据计算节点数据总贡献率、指标权重数组并训练异常检测模型;基于性能数据判断节点状态步骤:使用节点异常检测模型对节点状态进行判断,并标记数据;节点异常检测模型更新步骤:使用标记后的数据更新节点异常检测模型用于基于性能数据判断节点状态步骤。
进一步地,可以设置所述方法具体步骤如下:
Step1、节点性能数据采集;
Step1.1、使用linux下性能数据监控工具(如sigar、sysstat等),以周期T采集云计算环境下节点t的监测数据,t∈[1,l],l=5为节点个数,然后从监测数据中提取出有效的性能数据PerformanceData=x1x2...xn],其中l=5为节点数,n=10为该条数据的性能指标的个数,xn为第n个性能指标的值,其中性能指标为云计算环境下节点的CPU、内存、I/O、网络等资源的使用情况,表1数据指标表主要描述PefformanceData中数据指标的含义与对应的指标序号1到10,多个节点的多条性能数据如表2所示,执行Step1.2;
表1数据指标表
1 | cpu_usr | 用户进程消耗的CPU时间百分比 |
2 | cpu_sys | 内核进程消耗的CPU时间百分比 |
3 | cpu_wai | I/O等待消耗的CPU时间百分比 |
4 | mem | 内存使用率 |
5 | io_r | I/O从块设备读入的数据总量(读磁盘)(KB/s) |
6 | io_w | I/O写入到块设备的数据总量(写磁盘)(KB/s) |
7 | net_r | 网卡接收的数据量(KB/s) |
8 | net_s | 网卡发送的数据量(KB/s) |
9 | sys_int | CPU每秒产生的中断次数 |
10 | sys_csw | CPU每秒产生的上下文切换次数 |
表2多个节点的多条性能数据
Step1.2、将第t=1个节点的性能数据PerformanceData存入二维数组HDataArray20×10中,HDataArray20×10数组(1);
循环执行Step1.1、Step1.2直到l=5个节点的性能数据采集完成,执行Step2;
Step2、节点性能数据转换步骤:
Step2.1、将节点数设为l=5,i=0,执行Step2.2;
Step2.2、判断i<l:0<5,则执行Step2.3;
Step2.3、i++:i=1,则执行Step2.4;
Step2.4、获取节点i=1的历史数据二维数组HDataArraym×n,其中m=20为第1个节点的历史性能数据的条数,n=10为每条性能数据的性能指标个数;执行Step2.5;
Step2.5、格式化二维数组HDataArray20×10中每个元素,小数点后保留3位小数;其中HDataArray20×10为如下:
对HDataArray20×10进行格式化后得到如下:
对第1行数据格式化后为:
[55,2,0,29.11,0.2,1.6,10,57,28,50]
对第2行数据格式化后为:
[54,2,0,29.01242,0,0.8,11,62,28,52]
依次对第3至第20行数据格式化后得矩阵(1),执行Step2.6:
Step2.6、对Yi=Y1每列使用公式(1)进行归一化得到归一化后的矩阵Normalize_Node20×10;
由公式(1)得到矩阵(2):
循环执行Step2.2、Step2.3、Step2.4、Step2.5、Step2.6直到i=5,则执行Step2.7;
Step2.7、将l=5个节点归一化后矩阵Normalize_Node20×10转换成统一的数据矩阵格式得到矩阵Normalize_Nodesl×m×n(l×m×n指节点号×行号×列号),转换过程如下公式所示。
将上文所求得X1、X2、X3、X4、X5转换成数据矩阵Normalize_Nodesl×m×n:
Normalize_Nodes5×20×10=[X1 X2 X3 X4 X5]
其中,表示矩阵中的元素,即第l个节点中第m条数据的第n个性能指标。
Step3、节点异常检测模型训练步骤:
Step3.1、获取归一化矩阵Normalize_Nodes5×20×10;初始化:异常检测模型AnomalyModelSet=null,j=0,k=0;执行Step3.2;
Step3.2、判断j<l:0<5,则执行Step3.3;
Step3.3、j++:j=1,执行Step3.4;
Step3.4、判断k<n:0<10,则执行Step3.5;
Step3.5、k++:k=1,执行Step3.6;
Step3.6、使用DBSCAN算法对第j=1个节点矩阵Yj=Y1第k=1列数据进行训练,选出其中核心点和边缘点作为异常检测模型并存入AnomalyModelSet[k]中(其中,DBSCAN算法描述如下:所有数据点分为三类:核心点,边缘点和异常点。检测模型的训练仅需要两个参数:最小包含点数minPts和扫描半径eps。如果至少minPts个点在eps的距离内,则点p是核心点。如果至少一个点在eps的距离内,则点p是边缘点。如果其他点无法从任何其他点到达,则点是异常点。在训练过程中,核心点和边缘点被保留异常检测模型);
经DBSCAN算法训练后核心点为55.0、54.0、53.0,无边缘点;
AnomalyModelSet[1]={55.0}{54.0}{53.0};
执行Step3.4;
Step3.4、判断k<n:1<10,则执行Step3.5;
循环执行Step3.4、Step3.5直到k=10,AnomalyModelSet为:
AnomalyModelSet[1]={55.0}{54.0}{53.0};
AnomalyModelSet[2]={2.0};
AnomalyModelSet[3]={0};
AnomalyModelSet[4]={29.183}{29.109}{29.11}{29.012}{29.006}{28.988}{28.939}{28.925}{28.924}{28.926}{28.923}{28.927}{28.931}{28.928};
AnomalyModelSet[5]={0.0}{0.2};
AnomalyModelSet[6]={2.2}{1.0}{1.6}{0.8}{0.4}{0.6}{4.6}{1.4};
AnomalyModelSet[7]={14.0}{9.278}{10.0}{11.0}{13.0}{12.0}{9.588}{9.22}{9.468}{9.704}{9.463}{9.532}{9.198};
AnomalyModelSet[8]={53.0}{48.0}{57.0}{62.0}{72.0}{89.0}{47.0}{43.0}{42.0}{44.0}{45.0}{46.0}{52.0};
AnomalyModelSet[9]={28.0}{29.0}{27.0};
AnomalyModelSet[10]={56.0}{55.0}{50.0}{52.0}{62.0}{54.0}{53.0};
则执行Step3.7;
Step3.7、使用公式(2)、(3)对矩阵Normalize_Nodesl×m×n第j=1个节点归一化矩阵Xj=X1进行列零均值计算得到零均值矩阵zeroMeanMatrix20×10;
zeroMeanMatrix[rowj][columnj]=X[rowj][columnj]-Q[columnj] 公式(2)
zeroMeanMatrix[1][1]=X[1][1]-Q[1]=0.875
由公式(2)、公式(3)计算得到矩阵(3),执行Step3.8:
Step3.8、使用公式(4)计算矩阵zeroMeanMatrix20×10的协方差矩阵covarianceMatrix10×10;
covarianceMatrixn×n=zeroMeanMatrixm×n T*zeroMeanMatrixm×n公式(4)
由公式(4)得到矩阵(4),执行Step3.9:
Step3.9、使用雅可比方法计算covarianceMatrix10×10的特征值矩阵eigenvalueMatrixn×n,其中雅可比方法使用平面旋转矩阵做covarianceMatrix10×10相似变换,使covarianceMatrix10×10变换为对角矩阵,变换矩阵为特征向量矩阵,变换的对角矩阵的值为特征值,其中特征值矩阵为矩阵(5):执行Step3.10;
Step3.10、使用公式(5)、(6)计算矩阵eigenvalueMatrix10×10的指标权重数组weightArray[v];
由公式(5)、公式(6)计算得到weightArray:
weightArray[10]=[0,0,0.4%,0.8%,3.3%,6.6%,9.6%,13.8%,19.3%,46.2%];
执行Step3.2;
循环执行Step3.2,直到j=5,则执行Step3.11;
Step3.11、使用公式(5)、(7)计算l=5个节点的数据总贡献率NodePer_now并将其存入矩阵NodePerArrayb×l中;
total(1)=31.08%,total(2)=15.35%,total(3)=18.11%,total(4)=17.17%,total(5)=18.30%;
总贡献率NodePer_now为:
NodePer_now=[31.08% 15.35% 18.11% 17.17% 18.30%];
NodePerArrayb×l为:
NodePerArray1×5=[31.08% 15.35% 18.11% 17.17% 18.30%];
接着获得新数据,根据步骤Step1、Step2、Step3顺序执行,获取下一个样本的总贡献率,直到b≥2,接着执行步骤Step4、Step5,
如,获取b=2的情况下的,数据如下所示:
NodePer_now=[38.65%,19.22%,15.27%,10.13%,16.72%]
在b≥2情况下对上一次步骤Step1、Step2、Step3获取的数据执行Step4。
Step4、基于性能数据判断节点状态:
Step4.1、获取节点的数据总贡献率矩阵NodePerArrayb×l,即
执行Step4.2;
Step4.2、判断p<l:0<5,则执行Step4.3;
Step4.3、p++,p=1,执行Step4.4;
Step4.4、NodePerArray2×5中第b=2行第p=1列元素是否大于b-1=1行第p=1列元素:38.65%>31.08%,执行Step4.5;
Step4.5、获取异常检测模型AnomalyModelSet[1],AnomalyModelSet[2],...,AnomalyModelSet[n]:
AnomalyModelSet[1]={55.0}{54.0}{53.0};
AnomalyModelSet[2]={2.0};
AnomalyModelSet[3]={0};
AnomalyModelSet[4]={29.183}{29.109}{29.11}{29.012}{29.006}{28.988}{28.939}{28.925}{28.924}{28.926}{28.923}{28.927}{28.931}{28.928};
AnomalyModelSet[5]={0.0}{0.2};
AnomalyModelSet[6]={2.2}{1.0}{1.6}{0.8}{0.4}{0.6}{4.6}{1.4};
AnomalyModelSet[7]={14.0}{9.278}{10.0}{11.0}{13.0}{12.0}{9.588}{9.22}{9.468}{9.704}{9.463}{9.532}{9.198};
AnomalyModelSet[8]={53.0}{48.0}{57.0}{62.0}{72.0}{89.0}{47.0}{43.0}{42.0}{44.0}{45.0}{46.0}{52.0};
AnomalyModelSet[9]={28.0}{29.0}{27.0};
AnomalyModelSet[10]={56.0}{55.0}{50.0}{52.0}{62.0}{54.0}{53.0};
异常特征模型AnomalyArray为:
AnomalyArray=null。
指标权重数组weightArray[10]=[0,0,0.4%,0.8%,3.3%,6.6%,9.6%,13.8%,19.3%,46.2%],q=0,outlierNum=0,执行Step4.6;
Step4.6、判断q<m:0<20,则执行Step4.7;
Step4.7、q++:q=1,执行Step4.8;
Step4.8、判断当前节点p=1第q=1条数据是否在异常特征模型AnomalyArray中:
计算第q=1条数据和异常特征模型AnomalyArray中每条数据的曼哈顿距离,如果曼哈顿距离小于Sim=28,则说明第q条数据在异常特征模型AnomalyArray中。Sim的值由实验得出;
第1条数据为[54,2,0,29.197,0,5.2,28,52,29,56],AnomalyArray=null;
第1条数据不在异常特征模型中,则执行Step4.9;
Step4.9、令s=0,执行Step4.10;
Step4.10、判断s<n:0<10,则执行Step4.11;
Step4.11、s++:s=1,执行Step4.12;
Step4.12、使用公式(8)计算第q=1条数据的第s=1个性能指标与AnomalyModelSet[1]的最短距离,并存入存入数组mindist(1)中:
其中,dist(1)的值最小,将其存入数组mindist(1)中,mindist(1)=0;
执行Step4.10;
循环执行Step4.10、Step4.11、Step4.12,直到s=10,则执行Step4.13;
Step4.13、使用公式(9)计算数据的综合评分com_score,
com_score=0×0+0×0+0×0.4%+0.087×0.8%+0×3.3%+0.6×6.6%+14×9.6%+0×13.8%+0×19.3%+0×46.2%≈1.38
执行Step4.14;
Step4.14、判断com_score<Nthreshold:1.38<2,其中Nthreshold的值为2,则执行Step4.15;
Step4.15、将当前节点p=1的第q=1条数据标记为正常数据,执行Step4.16;
Step4.16、将当前节点p=1的第q=1条数据存入数组DataArray中,执行Step4.6;
Step4.6、判断q<m:1<20,则执行Step4.7;
Step4.7、q++:q=2,执行Step4.8;
Step4.8、判断当前节点p=1的第q=2条数据是否在异常特征模型AnomalyArray中:第2条数据为[53,2,0,13.115,0.6,7.60,6.325,16,23,45],AnomalyArray=null;
第2条数据不在异常特征模型中,则执行Step4.9;
Step4.9、令s=0,执行Step4.10;
循环执行Step4.10、Step4.11、Step4.12,直到s=10,则执行Step4.13;
Step4.13、使用公式(9)计算数据的综合评分com_score,
com_score=0×0+0×0+0×0.4%+15.807×0.8%+0.4×3.3%+4×6.6%+2.873×9.6%+26×13.8%+4×19.3%+5×46.2%≈7.34944
执行Step4.14;
Step4.14、判断com_score<Nthreshold:7.34944>2,则执行Step4.17;
Step4.17、将当前节点p=1的第q=2条数据存入异常特征模型AnomalyArray中,执行Step4.18;
AnomalyArray=[53,2,0,13.115,0.6,7.60,6.325,16,23,45];
Step4.18、将当前节点p=1的第q=2条数据标记为异常数据,outlierNum++:outlierNum=1,执行Step4.16;
Step4.16、将当前节点p=1的第q=2条数据存入数组DataArray中,执行Step4.6;
Step4.6、判断q<m:2<20,则执行Step4.7;
Step4.7、q++:q=3,执行Step4.8;
Step4.8、判断当前节点p=1的第q=3条数据是否在异常特征模型AnomalyArray中:
第3条数据为[53,2,0,16.209,0.2,1.0,9.35,15,23,44],
AnomalyArray=[53,2,0,13.115,0.6,7.60,6.325,16,23,45];
第3条数据和异常特征模型AnomalyArray曼哈顿距离为15,15<sim=28,说明第3条数据数据在异常特征模型中,则执行Step4.18;
Step4.18、将当前节点p=1的第q=3条数据标记为异常数据,outlierNum++:outlierNum=2,执行Step4.16;
Step4.16、将当前节点p=1的第q=3条数据存入数组DataArray中,执行Step4.6;
重复执行Step4.6,直到q=20,其中outlierNum=7,则执行Step4.19;
Step4.19、判断outlierNum<Qthreshold:7<8,其中Qthreshold的值为8,则执行Step4.2;
Step4.2、判断p<l:1<5,则执行Step4.3;
Step4.3、p++,p=2,执行Step4.4;
Step4.4、NodePerArray2×5中第b=2行第p=2列元素是否大于b-1=1行第p=2列元素:19.22%>15.35%,执行Step4.5;
执行Step4.5、Step4.6直到q=20,其中outlierNum=12,则执行Step4.19;
Step4.19、判断outlierNum<Qthreshold:12>8,则执行Step4.20;
Step4.20、将第p=2个节点标记为异常节点,则执行Step4.2;
Step4.2、判断p<l:2<5,则执行Step4.3;
Step4.3、p++,p=3,执行Step4.4;
Step4.4、NodePerArray2×5中第b=2行第p=3列元素是否大于b-1=1行第p=3列元素:15.27%<18.11%,执行Step4.2;
循环执行Step4.2、Step4.3、Step4.4、Step4.5、Step4.6直到p=5,执行Step4.2;
Step4.2、判断p<l:5=5,则执行Step5;
Step5、节点异常检测模型更新
Step5.1、当前节点nowNode=0,执行Step5.2;
Step5.2、判断NowNode<l:0<5,则执行Step5.3;
Step5.3、NowNode++:NowNode=1,执行Step5.4;
Step5.4、滑动时间窗口长度U_num=10,获取节点NowNode=1滑动时间窗口内数据U_datamodel=null,U_data=null,异常检测模型异常检测模型AnomalyModelSet[k],r=0,w=0,seq_modelcount=0,seq_count=0,执行Step5.5;
Step5.5、获取标记后数据DataArray[20];执行Step5.6;
Step5.6、判断w<u:0<20,则执行Step5.7;
Step5.7、w++:w=1,执行Step5.8;
Step5.8、判断DataArray[u]中第w=1行数据是否被标记为异常数据:第1行数据未被标记为异常数据,则执行Step5.16;
Step5.16、判断r=0:r=0,执行Step5.17;
Step5.17、判断U_datamodel内数据的长度seq_modelcount<U_num:0<10,则执行Step5.18;
Step5.18、seq_modelcount++:seq_modelcount=1,向滑动时间窗口U_datamodel的第seq_modelcount=1个位置加入一条数据:执行Step5.19;
U_datamodel[1]=[54 2 0 29.197 0 5.2 28 52 29 56]
Step5.19、r++:r=1,执行Step5.16;
Step5.16、判断r=0:r=1,执行Step5.20;
Step5.20、令r=0,执行Step5.9;
Step5.9、判断U_data内数据的长度seq_count<U_num:0<10,则执行Step5.10;
Step5.10、seq_count++:seq_count=1,向滑动时间窗口U_data的第seq_count=1个位置加入一条数据为如下,执行Step5.6;
U_data[1]=[54 2 0 29.197 0 5.2 28 52 29 56];
Step5.6、判断w<u:1<20,则执行Step5.7;
Step5.7、w++:w=2,执行Step5.8;
Step5.8、判断DataArray[u]中中第w=2行数据是否被标记为异常数据:第2行数据被标记为异常数据,则执行Step5.9;
Step5.9、判断U_data内数据的长度seq_count<U_num:1<10,则执行Step5.10;
Step5.10、seq_count++:seq_count=2,向滑动时间窗口U_data的第seq_count=2个位置加入一条数据为如下,执行Step5.6;
U_data[2]=[53 2 0 13.115 0.6 7.6 6.325 16 23 45];
Step5.6、判断w<u:2<20,则执行Step5.7;
Step5.7、w++:w=3,执行Step5.8;
Step5.8、判断DataArray[u]中第w=3行数据是否被标记为异常数据:第3行数据被标记为异常数据,则执行Step5.9;
Step5.9、判断U_data内数据的长度seq_count<U_num:2<10,则执行Step5.10;
Step5.10、seq_count++:seq_count=3,向滑动时间窗口U_data的第seq_count=3个位置加入一条数据为如下,执行Step5.6;
U_data[3]=[53 2 0 16.209 0.2 1.0 9.35 15 23 44];
重复执行步骤Step5.6、Step5.7、Step5.8、Step5.9、Step 5.10、Step5.11直到seq_count=10,此时w=11,滑动时间窗口U_data中的数据:
U_data[1]=[54 2 0 29.197 0 5.2 28 52 29 56]U_data[2]=[53 2 0 13.1150.6 7.6 6.325 16 23 45]
U_data[3]=[53 2 0 16.209 0.2 1.0 9.35 15 23 44]U_data[4]=[69 2 019.446 0 18.553 51 32 51]
U_data[5]=[69 1 0 29.445 0 0.4 9.489 49 31 50]U_data[6]=[65 2 029.144 0.4 19.082 50 30 51]
U_data[7]=[52 2 0 29.442 0 1 11 53 28 58]U_data[8]=[53 2 0 29.445 078.828 51 28 56]
U_data[9]=[55 2 0 29.443 2 4.6 16 127 27 51]U_data[10]=[54 2029.394 0 0.4 15 58 28 52]
seq_modelcount=5,滑动时间窗口U_datamodel中的数据为如下,执行Step5.9;
U_datamodel[1]=[54 2 0 29.197 0 5.2 28 52 29 56]U_datamodel[2]=[522 0 29.442 0 1 11 53 28 58]
U_datamodel[3]=[53 2 0 29.445 0 78.828 51 28 56]U_datamodel[4]=[552 0 29.443 2 4.6 16 127 27 51]
U_datamodel[5]=[54 2 0 29.39 4 0 0.4 15 58 28 52]
Step5.9、判断U_data内数据的长度seq_count<U_num:10<10,则执行Step5.11;
Step5.11、更新滑动时间窗口U_data中的数据,此时滑动时间窗口中的数据为如下,接着执行Step5.12;
U_data[1]=[53 2 0 13.115 0.6 7.6 6.325 16 23 45]U_data[2]=[53 2 016.209 0.2 1.0 9.35 15 23 44]
U_data[3]=[69 2 0 19.446 0 18.553 51 32 51]U_data[4]=[69 1 0 29.4450 0.4 9.489 49 31 50]
U_data[5]=[65 2 0 29.144 0.4 19.082 50 30 51]U_data[6]=[52 2 029.442 0 1 11 53 28 58]
U_data[7]=[53 2 0 29.445 0 78.828 51 28 56]U_data[8]=[55 2 0 29.4432 4.6 16 127 27 51]
U_data[9]=[54 2 0 29.394 0 0.4 15 58 28 52]U_data[10]=[53 2 029.384 0 0.6 11 54 28 56]
Step5.12、使用公式(2)、(3)对U_data进行零均值计算得到零均值矩阵UzeroMeanMatrixU_num×n;
由公式(2)、公式(3)计算得到矩阵(6),执行Step5.13:
Step5.13、使用公式(4)计算矩阵UzeroMeanMatrix10×10的协方差矩阵UcovarianceMatrix10×10;
由公式(4)得到矩阵(7),执行Step5.14:
Step5.14、使用雅可比方法计算UcovarianceMatrix10×10的特征值矩阵UeigenvalueMatrix10×10,其中雅可比方法使用平面旋转矩阵做UcovarianceMatrix10×10相似变换,使UcovarianceMatrix10×10变换为对角矩阵,变换矩阵为特征向量矩阵,变换的对角矩阵为特征值矩阵,得到得到矩阵(8):
执行Step5.15;
Step5.15、使用公式(5)、(6)计算矩阵UeigenvalueMatrix10×10的指标权重数组weightArray[v];
由公式(6)、公式(7)计算得到数组weightArray[v],执行Step5.6;
weightArray[10]=[0,0,0,0.1%,0.1%,0.3%,1.3%,16%,30.5%,51.7%]
Step5.6、判断w<u:11<20,则执行Step5.7;
Step5.7、w++:w=12,执行Step5.8;
Step5.8、DataArray[20]中第w=12列数据是否被标记:第12列数据未被标记,则执行Step5.16;
Step5.16、判断r=0:r=0,执行Step5.17;
重复执行步骤Step5.17、Step5.18、Step5.19、Step5.16直到seq_modelcount=10,此时滑动时间窗口U_datamodel中的数据为如下,接着执行Step5.17:
U_datamodel[1]=[54 2 0 29.197 0 5.2 28 52 29 56]U_datamodel[2]=[522 0 29.442 0 1 11 53 28 58]
U_datamodel[3]=[53 2 0 29.445 0 78.828 51 28 56]U_datamodel[4]=[5520 29.443 2 4.6 16 127 27 51]
U_datamodel[5]=[54 2 0 29.394 0 0.4 15 58 28 52]U_datamodel[6]=[532 0 29.384 0 0.611 54 28 56]
U_datamodel[7]=[53 2 0 29.389 0 0 21 56 28 55]U_datamodel[8]=[55 20 29.372 0 0.6 26 72 29 55]
U_datamodel[9]=[54 2 0 29.191 0 1.2 12 51 28 54]U_datamodel[10]=[532 0 29.358 0.6 0.6 11 53 28 54]
Step5.17、判断U_datamodel内数据的长度seq_modelcount<U_num:10<10,则执行Step5.21;
Step5.21、更新滑动时间窗口U_datamodel中的数据,此时滑动时间窗口中的数据为如下,接着执行执行Step5.22;
U_datamodel[1]=[52 2 0 29.442 0 1 11 53 28 58]U_datamodel[2]=[53 20 29.445 0 78.828 51 28 56]
U_datamodel[2]=[55 2 0 29.443 2 4.6 16 127 27 51]U_datamodel[4]=[542 0 29.394 0 0.4 15 58 28 52]
U_datamodel[5]=[53 2 0 29.384 0 0.6 11 54 28 56]U_datamodel[6]=[532 0 29.389 0 0 21 56 28 55]
U_datamodel[7]=[55 2 0 29.372 0 0.6 26 72 29 55]U_datamodel[8]=[542 0 29.191 0 1.2 12 51 28 54]
U_datamodel[9]=[53 2 0 29.358 0.6 0.6 11 53 28 54]U_datamodel[10]=[53 2 0 29.344 0 0.6 14 76 28 55]
Step5.22、使用DBSCAN算法对U_datamodel每列数据进行训练,选出其中核心点和边缘点作为异常检测模型并存入AnomalyModelSet[k]中,执行Step5.6。
重复执行Step5.6直到w=20,执行Step5.6;
Step5.6、判断w<u:20=20,则执行Step5.2;
重复执行Step5.2直到NowNode=5,执行Step5.2;
Step5.2、判断NowNode<l:5=5,结束。
上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (6)
1.一种云计算环境下节点异常判断方法,其特征在于:所述方法步骤包括:
节点性能数据采集步骤:采集云计算环境下节点的监测数据,提取、存储有效的性能数据;
节点性能数据转换步骤:将有效的性能数据组合成为数据矩阵的统一格式;
节点异常检测模型训练步骤:使用转换后的节点性能数据计算节点数据总贡献率、指标权重数组并训练异常检测模型;
基于性能数据判断节点状态步骤:使用节点异常检测模型对节点状态进行判断,并标记数据;
节点异常检测模型更新步骤:使用标记后的数据更新节点异常检测模型用于基于性能数据判断节点状态步骤。
2.根据权利要求1所述的针对云计算环境下节点异常判断方法,其特征在于:所述节点性能数据采集步骤具体如下:
Step1.1、以周期T采集云计算环境下第t个节点的监测数据,t∈[1,l],l为节点个数,然后从监测数据中提取出有效的性能数据PerformanceData,PerformanceData=[x1,x2,...,xn],n为每条性能数据的性能指标个数,xn为第n个性能指标的值,接着执行Step1.2;其中性能指标为云计算环境下节点的CPU、内存、I/O、网络的使用情况;
Step1.2、将第t个节点的性能数据PerformanceData存入二维数组HDataArraym×n中;其中m为第t个节点的性能数据的条数,n为每条性能数据的性能指标个数。
3.根据权利要求2所述的针对云计算环境下节点异常判断方法,其特征在于:所述节点性能数据转换步骤具体如下:
Step2.1、设置i=0,执行Step2.2;
Step2.2、判断i<l:如果是,执行Step2.3;否则,执行Step2.7;
Step2.3、i++,执行Step2.4;
Step2.4、获取节点i的二维数组HDataArraym×n,执行Step2.5;
Step2.5、格式化节点i的二维数组HDataArraym×n中每个元素,得到数据矩阵Yi,执行Step2.6;其中,格式化具体为:如果元素为整数,不做变换;如果为元素为小数,小数点后保留3位,最后一位采用四舍五入方式获取;
Step2.6、对数据矩阵Yi每列使用公式(1)进行归一化,得到归一化后的矩阵Normalize_Nodem×n,执行Step2.2;
其中,Normalize_Node[rowi][columni]为归一化矩阵Normalize_Nodem×n的第rowi行columni列元素;Y[rowi][columni]为数据矩阵Yi的第rowi行columni列元素;rowi∈[1,m],columni∈[1,n];maxi为数据矩阵Yi的第columni列所有性能指标的最大值,mini为数据矩阵Yi的第columni列所有性能指标的最小值:
Step2.7、将l个节点归一化后矩阵Normalize_Nodem×n转换成统一的数据矩阵格式得到矩阵Normalize_Nodesl×m×n=[X1 X2 ... Xl],执行Step3;
其中,Xl表示第l个节点的归一化矩阵。
4.根据权利要求3所述的针对云计算环境下节点异常判断方法,其特征在于:所述节点异常检测模型训练步骤具体如下:
Step3.1、获取归一化矩阵Normalize_Nodesl×m×n;初始化:异常检测模型AnomalyModelSet=null,j=0,k=0,执行Step3.2;
Step3.2、判断j<l:如果是,执行Step3.3;否则,执行Step3.11;
Step3.3、j++,执行Step3.4;
Step3.4、判断k<n:如果是,执行Step3.5;否则,执行Step3.7;
Step3.5、k++,执行Step3.6;
Step3.6、使用DBSCAN算法对第j个节点数据矩阵Yj的第k列数据进行训练,选出其中核心点和边缘点并去重后存入AnomalyModelSet[k]中,执行Step3.4;
Step3.7、使用公式(2)、(3)对矩阵Normalize_Nodesl×m×n中第j个节点归一化矩阵Xj进行列零均值计算得到零均值矩阵zeroMeanMatrixm×n,执行Step3.8;
zeroMeanMatrix[rowj][columnj]=X[rowj][columnj]-Q[columnj] (2)
其中,zeroMeanMatrix[rowj][columnj]为zeroMeanMatrixm×n中第[rowj]行[columnj]列的值,rowj∈[1,m];X[rowj][columnj]为Xj中第[rowj]行[columnj]列的值;Q[columnj]为Xj第[columnj]列的平均值,columnj∈[1,n];
Step3.8、使用公式(4)计算矩阵zeroMeanMatrixm×n的协方差矩阵covarianceMatrixn×n,执行Step3.9;
covarianceMatrixn×n=zeroMeanMatrixm×n T*zeroMeanMatrixm×n (4)
其中,矩阵zeroMeanMatrixm×n T为矩阵zeroMeanMatrixm×n的转置矩阵;
Step3.9、使用雅可比方法计算covarianceMatrixn×n的特征值矩阵eigenvalueMatrixn×n,执行Step3.10;
Step3.10、使用公式(5)、(6)计算矩阵eigenvalueMatrixn×n的指标权重数组weightArray[v],执行Step3.2;
其中,λv表示第v个性能指标的特征值,该值是矩阵eigenvalueMatrixn×n的主对角线中第v个元素的值;count(v)表示第v个性能指标的指标权重,即方差贡献率,该值所能解释的信息占总的信息量的百分比,该值的大小,决定该指标在节点数据中的重要程度;D(j)表示第j个节点数据的方差;
Step3.11、使用公式(5)、(7)计算l个节点的数据总贡献率NodePer_now=[total(1),total(2),...,total(j),...,total(l)],并将其存入矩阵NodePerArrayb×l中,执行Step4;
其中,total(j)表示第j个节点的数据总贡献率,在所有节点中该节点所占的百分比,该值越大表示节点波动越大,越容易出现异常;其中b为每个节点贡献率的样本数且b≥2。
5.根据权利要求4所述的针对云计算环境下节点异常判断方法,其特征在于:所述基于性能数据判断节点状态步骤具体如下:
Step4.1、获取节点的数据总贡献率二维数组NodePerArrayb×l,初始化:p=0,执行Step4.2;
Step4.2、判断p<l:如果是,执行Step4.3;否则,执行Step5;
Step4.3、p++,执行Step4.4;
Step4.4、NodePerArrayb×l中第b行第p列元素是否大于b-1行第p列元素:如果是,执行Step4.5;否则,执行Step4.2;
Step4.5、获取第p个节点的异常检测模型AnomalyModelSet[1],AnomalyModelSet[2],...,AnomalyModelSet[n],第p个节点的指标权重数组weightArray[v],初始化:异常特征模型AnomalyArray=null,q=0,outlierNum=0,执行Step4.6;
Step4.6、判断q<m:如果是,执行Step4.7;否则,执行Step4.19;
Step4.7、q++,执行Step4.8;
Step4.8、判断当前节点p的第q条数据是否在异常特征模型AnomalyArray中,分别计算第q条数据和异常特征模型AnomalyArray中每条数据的曼哈顿距离,如果曼哈顿距离小于Sim,则说明第q条数据在异常特征模型AnomalyArray中:如果是,则执行Step4.18;否则,执行Step4.9;其中,Sim为曼哈顿距离阈值,第q条数据为根据步骤Step1、Step2获取的Step2.5格式的新数据;
Step4.9、令s=0,执行Step4.10;
Step4.10、判断s<n:如果是,执行Step4.11;否则,执行Step4.13;
Step4.11、s++,执行Step4.12;
Step4.12、使用公式(8)计算第q条数据的第s个性能指标与AnomalyModelSet[s]中元素的距离,从dist(num)中选取最小值并存入存入数组mindist(s)中,执行Step4.10;
其中,AnomalyModelSet[s]中共有tolalnum个元素,S为第q条数据中第s个性能指标的值,E[num]为AnomalyModelSet[s]中第num个元素的值,num∈[1,totalnum],dist(num)为第s个性能指标与第num个元素的距离;
Step4.13、使用公式(9)计算数据的综合评分com_score,执行Step4.14;
Step4.14、判断com_score<Nthreshold:如果是,执行Step4.15;否则,执行Step4.17;
其中,Nthreshold为异常数据的阈值,该条数据的综合评分超过此值则认为此条数据是异常数据;
Step4.15、将当前节点p的第q条数据标记为正常数据,执行Step4.16;
Step4.16、将当前节点p的第q条数据存入数组DataArray中,执行Step4.6;
Step4.17、将当前节点p的第q条数据存入异常特征模型AnomalyArray中,执行Step4.18;
Step4.18、将当前节点p的第q条数据标记为异常数据,outlierNum++,执行Step4.16;
Step4.19、判断outlierNum<Qthreshold:如果是,执行Step4.2;否则执行Step4.20;
其中,Qthreshold为异常节点的阈值,当一定时间周期内异常数据的个数超过此值则认为节点是异常节点;
Step4.20、将第p个节点标记为异常节点,则执行Step4.2。
6.根据权利要求5所述的针对云计算环境下节点异常判断方法,其特征在于:所述节点异常检测模型更新步骤具体如下:
Step5.1、当前节点nowNode=0,执行Step5.2;;
Step5.2、判断NowNode<l:如果是,则执行Step5.3;否则,执行Step1、Step3、Step4或者结束;
Step5.3、NowNode++,执行Step5.4;
Step5.4、定义滑动时间窗口长度为U_num,r=0,w=0;获取节点NowNode滑动时间窗口内为数据U_datamodel、U_data,U_datamodel为训练异常检测模型的数据,U_data为计算指标权重的数据;异常检测模型AnomalyModelSet[1],AnomalyModelSet[2],...,AnomalyModelSet[n];U_datamodel内数据的长度seq_modelcount,U_data内数据的长度seq_count,执行Step5.5;
Step5.5、获取当前节点nowNode标记后数据DataArray[u],其中u为DataArray[u]中存储的性能数据条数,执行Step5.6;
Step5.6、判断w<u:如果是,则执行Step5.7;否则,执行Step5.2;
Step5.7、w++,执行Step5.8;
Step5.8、判断DataArray[u]中第w行数据是否被标记为异常数据:如果是,执行Step5.9;否则,执行Step5.16;
Step5.9、判断U_data内数据的长度seq_count<U_num:如果是,则执行Step5.10;否则,执行Step5.11;
Step5.10、seq_count++,向滑动时间窗口内数据U_data的第seq_count个位置加入DataArray[u]中第w行数据,执行Step5.6;
Step5.11、采用先进先出的原则更新滑动时间窗口U_data中的数据,执行Step5.12;
Step5.12、使用公式(2)、(3)对U_data进行零均值计算得到零均值矩阵UzeroMeanMatrixU_num×n,其中U_num为滑动时间窗口长度,n为每条性能数据的性能指标个数,执行Step5.13;
Step5.13、使用公式(4)计算矩阵UzeroMeanMatrixU_num×n的协方差矩阵UcovarianceMatrixn×n,执行Step5.14;
Step5.14、使用雅可比方法计算计算UcovarianceMatrixn×n的特征值矩阵UeigenvalueMatrixn×n,执行Step5.15;
Step5.15、使用公式(5)、(6)计算矩阵UeigenvalueMatrixn×n的指标权重数组weightArray[v]用于传至Step4.5,执行Step5.6;
Step5.16、判断r=0:如果是,执行Step5.17;否则,执行Step5.20;
Step5.17、判断U_datamodel内数据的长度seq_modelcount<U_num:如果是,则执行Step5.18;否则,执行Step5.21;
Step5.18、seq_modelcount++,向滑动时间窗口内数据U_datamodel的第seq_modelcount个位置加入DataArray[u]中第w行数据,执行Step5.19;
Step5.19、r++,执行Step5.16;
Step5.20、令r=0,执行Step5.9;
Step5.21、采用先进先出的原则更新滑动时间窗口U_datamodel中的数据,执行Step5.22;
Step5.22、使用DBSCAN算法对U_datamodel每列数据进行训练,选出其中核心点和边缘点作为异常检测模型并存入对应列的AnomalyModelSet[1],AnomalyModelSet[2],...,AnomalyModelSet[n]中用于传至Step4.5,执行Step5.6。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910665457.7A CN110505114B (zh) | 2019-07-23 | 2019-07-23 | 一种云计算环境下节点异常判断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910665457.7A CN110505114B (zh) | 2019-07-23 | 2019-07-23 | 一种云计算环境下节点异常判断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110505114A true CN110505114A (zh) | 2019-11-26 |
CN110505114B CN110505114B (zh) | 2022-08-09 |
Family
ID=68586278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910665457.7A Active CN110505114B (zh) | 2019-07-23 | 2019-07-23 | 一种云计算环境下节点异常判断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110505114B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111355775A (zh) * | 2019-12-30 | 2020-06-30 | 深圳创新科技术有限公司 | CloudStack集群子服务器状态判断方法、装置、设备及存储介质 |
CN112995193A (zh) * | 2021-03-17 | 2021-06-18 | 北京安天网络安全技术有限公司 | 异常节点识别方法、安全查询方法和装置 |
CN113094249A (zh) * | 2021-04-30 | 2021-07-09 | 杭州安恒信息技术股份有限公司 | 一种节点异常检测方法、装置及介质 |
CN114257495A (zh) * | 2021-11-16 | 2022-03-29 | 国家电网有限公司客户服务中心 | 一种云平台计算节点异常自动处置系统 |
CN114599054A (zh) * | 2022-03-08 | 2022-06-07 | 北京百度网讯科技有限公司 | 一种设备异常检测方法、装置、电子设备、介质及产品 |
CN115914052A (zh) * | 2022-10-28 | 2023-04-04 | 京东科技信息技术有限公司 | 域名健康状况的检测方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040174A1 (en) * | 2012-08-01 | 2014-02-06 | Empire Technology Development Llc | Anomaly detection for cloud monitoring |
CN106713472A (zh) * | 2016-12-30 | 2017-05-24 | 重庆安迈科技有限公司 | 物联网监测系统及方法 |
CN108023876A (zh) * | 2017-11-20 | 2018-05-11 | 西安电子科技大学 | 基于可持续性集成学习的入侵检测方法及入侵检测系统 |
US20180365278A1 (en) * | 2017-06-14 | 2018-12-20 | Salesforce.Com, Inc. | Automated image-based record creation and related database systems |
CN109921938A (zh) * | 2019-03-15 | 2019-06-21 | 昆明理工大学 | 一种云计算环境下故障检测方法 |
-
2019
- 2019-07-23 CN CN201910665457.7A patent/CN110505114B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040174A1 (en) * | 2012-08-01 | 2014-02-06 | Empire Technology Development Llc | Anomaly detection for cloud monitoring |
CN106713472A (zh) * | 2016-12-30 | 2017-05-24 | 重庆安迈科技有限公司 | 物联网监测系统及方法 |
US20180365278A1 (en) * | 2017-06-14 | 2018-12-20 | Salesforce.Com, Inc. | Automated image-based record creation and related database systems |
CN108023876A (zh) * | 2017-11-20 | 2018-05-11 | 西安电子科技大学 | 基于可持续性集成学习的入侵检测方法及入侵检测系统 |
CN109921938A (zh) * | 2019-03-15 | 2019-06-21 | 昆明理工大学 | 一种云计算环境下故障检测方法 |
Non-Patent Citations (3)
Title |
---|
DEREK SMITH 等: "An Anomaly Detection Framework for Autonomic Management of Compute Cloud Systems", 《IEEE》 * |
GP WANG 等: "An anomaly detection framework for detecting anomalous virtual machines under cloud computing environment", 《INTERNATIONAL JOURNAL OF SECURITY& TTS APPLICATION》 * |
田帅: "针对Hadoop集群的异常节点实时监测与诊断研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111355775A (zh) * | 2019-12-30 | 2020-06-30 | 深圳创新科技术有限公司 | CloudStack集群子服务器状态判断方法、装置、设备及存储介质 |
CN111355775B (zh) * | 2019-12-30 | 2022-11-18 | 深圳创新科技术有限公司 | CloudStack集群子服务器状态判断方法、装置、设备及存储介质 |
CN112995193A (zh) * | 2021-03-17 | 2021-06-18 | 北京安天网络安全技术有限公司 | 异常节点识别方法、安全查询方法和装置 |
CN112995193B (zh) * | 2021-03-17 | 2022-10-28 | 北京安天网络安全技术有限公司 | 异常节点识别方法、安全查询方法和装置 |
CN113094249A (zh) * | 2021-04-30 | 2021-07-09 | 杭州安恒信息技术股份有限公司 | 一种节点异常检测方法、装置及介质 |
CN114257495A (zh) * | 2021-11-16 | 2022-03-29 | 国家电网有限公司客户服务中心 | 一种云平台计算节点异常自动处置系统 |
CN114599054A (zh) * | 2022-03-08 | 2022-06-07 | 北京百度网讯科技有限公司 | 一种设备异常检测方法、装置、电子设备、介质及产品 |
CN114599054B (zh) * | 2022-03-08 | 2023-10-13 | 北京百度网讯科技有限公司 | 一种设备异常检测方法、装置、电子设备、介质及产品 |
CN115914052A (zh) * | 2022-10-28 | 2023-04-04 | 京东科技信息技术有限公司 | 域名健康状况的检测方法和装置 |
CN115914052B (zh) * | 2022-10-28 | 2024-05-17 | 京东科技信息技术有限公司 | 域名健康状况的检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110505114B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110505114B (zh) | 一种云计算环境下节点异常判断方法 | |
CN104699606B (zh) | 一种基于隐马尔科夫模型的软件系统状态预测方法 | |
Liang et al. | An equivalent measure of partial correlation coefficients for high-dimensional gaussian graphical models | |
CN104869126B (zh) | 一种网络入侵异常检测方法 | |
CN109460793A (zh) | 一种节点分类的方法、模型训练的方法及装置 | |
CN108595585A (zh) | 样本数据分类方法、模型训练方法、电子设备及存储介质 | |
CN113259331B (zh) | 一种基于增量学习的未知异常流量在线检测方法及系统 | |
CN112911627B (zh) | 无线网络性能检测方法、装置以及存储介质 | |
CN110097123B (zh) | 一种快件物流过程状态检测多分类系统 | |
CN110781595B (zh) | 能源使用效率pue的预测方法、装置、终端及介质 | |
CN101295177A (zh) | 用于检测传感器采样流中的变化的方法和系统 | |
CN112232495A (zh) | 预测模型的训练方法、装置、介质和计算设备 | |
CN109921938B (zh) | 一种云计算环境下故障检测方法 | |
CN108805174A (zh) | 聚类方法及装置 | |
CN112527448A (zh) | 基于openstack的动态负载调整方法及其系统 | |
CN114359738A (zh) | 一种跨场景鲁棒的室内人数无线检测方法及系统 | |
CN107451562A (zh) | 一种基于混沌二进制引力搜索算法的波段选择方法 | |
CN106067034A (zh) | 一种基于高维矩阵特征根的配电网负荷曲线聚类方法 | |
CN104378371A (zh) | 基于MapReduce并行AP聚类的网络入侵检测方法 | |
CN112486767A (zh) | 云资源的智能监控方法、系统、服务器以及存储介质 | |
CN109376790A (zh) | 一种基于渗流分析的二元分类方法 | |
Yan et al. | A clustering algorithm for multi-modal heterogeneous big data with abnormal data | |
CN114463587A (zh) | 一种异常数据检测方法、装置、设备及存储介质 | |
CN102697491B (zh) | 心电图特征波形识别方法和系统 | |
US11829442B2 (en) | Methods and systems for efficient batch active learning of a deep neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |