一种云计算环境下节点异常判断方法技术

技术编号:22661332 阅读:33 留言:0更新日期:2019-11-28 04:30
本发明专利技术公开了一种云计算环境下节点异常判断方法,本发明专利技术方法包括节点性能数据采集步骤;节点性能数据转换步骤;节点异常检测模型训练步骤;基于性能数据判断节点状态步骤;节点异常检测模型更新步骤。本发明专利技术通过采集、分析节点性能数据,并比较相邻节点的状态,及时判断出现异常的节点;本发明专利技术使用滑动时间窗口的模式,并不断更新异常检测模型,能够识别未知异常,实现了云计算环境下自适应判断节点异常。

A method to judge node anomaly in cloud computing environment

The invention discloses a node anomaly judgment method in the cloud computing environment. The method comprises a node performance data collection step, a node performance data conversion step, a node anomaly detection model training step, a node status judgment step based on performance data, and a node anomaly detection model update step. By collecting and analyzing node performance data, and comparing the states of adjacent nodes, the invention can timely determine the nodes with exceptions; the invention uses the mode of sliding time window, and constantly updates the anomaly detection model, which can identify unknown exceptions, and realizes the adaptive judgment of node exceptions in the cloud computing environment.

【技术实现步骤摘要】
一种云计算环境下节点异常判断方法
本专利技术涉及一种云计算环境下节点异常判断方法,属于云计算节点异常检测领域。
技术介绍
近年来,云计算的应用技术越来越广泛。节点是云计算环境中提供计算、存储、管理等服务的基本单位。然而,大量的恶意攻击和其自身的复杂性与大规模性使得云计算环境下节点经常发生异常,引起部分甚至所有服务的失效。节点异常检测技术是保证云计算环境下性能与可靠性的关键,管理员可以通过分析数据了解节点运行状态,从而采取措施及早发现并解决问题。LanZ等人针对大规模分布式系统提出了一种节点级异常识别的自动检测框架;呈现了一些技术实现自动分析采集到的性能指标数据:节点分组模块将系统资源动态地分组,使得处于同一组中的节点预期将呈现出相同的行为;采用基于单元的方法检测行为异于其它节点的节点。目前,针对云计算环境下节点的异常检测方法,通常从每个物理或虚拟节点上采集各个子系统(如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=[X1X2…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×nT*zeroMeanMatrixm×n(4)其中,矩阵zeroMeanMatrixm×nT为矩阵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)本文档来自技高网...

【技术保护点】
1.一种云计算环境下节点异常判断方法,其特征在于:所述方法步骤包括:/n节点性能数据采集步骤:采集云计算环境下节点的监测数据,提取、存储有效的性能数据;/n节点性能数据转换步骤:将有效的性能数据组合成为数据矩阵的统一格式;/n节点异常检测模型训练步骤:使用转换后的节点性能数据计算节点数据总贡献率、指标权重数组并训练异常检测模型;/n基于性能数据判断节点状态步骤:使用节点异常检测模型对节点状态进行判断,并标记数据;/n节点异常检测模型更新步骤:使用标记后的数据更新节点异常检测模型用于基于性能数据判断节点状态步骤。/n

【技术特征摘要】
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=[X1X2...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×nT*zeroMeanMatrixm×n(4)
其中,矩阵zeroMeanMatrixm×nT为矩阵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...

【专利技术属性】
技术研发人员:姜瑛雷阳汤守国李凌宇
申请(专利权)人:昆明理工大学
类型:发明
国别省市:云南;53

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1