一种云计算系统节点失效预警装置和方法
技术领域
本发明涉及计算机云计算领域,尤其涉及一种云计算系统节点失效预警装置和方法。
背景技术
云计算是一种基于互联网的计算方式,通过过种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。相对于传统的软件和计算形态,云计算具有松散耦合、随需应变、成本可控、资源虚拟、异构协同等显著的优势,使其更适应现今的电子商务、柔性制造、移动互联网等应用。
大型的云计算系统一般包含许多计算节点,这些节点为整个云计算系统提供计算资源,在计算逻辑上通过云虚拟化技术成为一个整体,但在物理上,仍然是独立的个体。整个云计算系统的可靠性和稳定性均依赖于这些计算节点的稳定性;计算节点越稳定,则云计算系统的可靠性和稳定性越高。由于这些节点在空间上距离可能非常遥远(同为一个云计算系统提供计算资源的计算节点可能相距数百公里),因此,使用人工或者电子监控方式对单一节点的稳定性进行监控,不能从云计算系统整体出发,进行全局的统筹与分析。
因此,如何针对大型云计算系统中的计算节点,结合其运行状态历史情况,从云计算整体系统角度出发,进行符合统计规律、准确度高的节点失效分析与预警,是云计算领域中亟待解决的一个关键技术问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种云计算系统节点失效预警装置和方法。
为了实现本发明的上述目的,本发明提供了云计算系统节点失效预警装置,其包括:
接收模块,用于接收服务器采集的计算节点运行状态历史数据和运行状态实时数据,并指示数据模块对接收的数据进行存储;
数据模块,用于存储由接收模块接收的计算节点运行状态历史数据和运行状态实时数据,以及装置提取的节点失效特征和节点实时特征;其中节点运行状态数据存储单元,用于存储接收模块接收的计算节点运行状态历史数据和运行状态实时数据;节点失效特征存储单元,用于存储装置提取的节点失效特征;节点实时特征存储单元,用于存储装置提取的节点实时特征;
特征提取模块,用于执行云计算节点失效特征提取过程,和云计算节点实时特征提取过程,并将提取的特征分别存入数据模块中的节点失效特征存储单元,和节点实时特征存储单元;
节点失效预警模块,用于执行云计算节点失效预警过程,输出失效的云计算节点序号列表。
所述的云计算系统节点失效预警装置,优选的,所述特征提取模块包括:
初始化单元,用于初始化云计算节点失效特征提取过程,和云计算节点实时特征提取过程中涉及的相关参数;
提取单元,用于根据数据模块中,节点运行状态数据存储单元,存储接收模块接收的计算节点运行状态历史数据,和运行状态实时数据,分别进行云计算节点失效特征提取,和云计算节点实时特征提取;
输出单元,用于将提取单元提取的云计算节点失效特征,和云计算节点实时特征,分别存储至数据模块中的节点失效特征存储单元,和节点实时特征存储单元。
所述的云计算系统节点失效预警装置,优选的,所述提取单元中云计算节点失效特征提取包括:
接收服务器提取云计算节点失效特征的指令;
初始化相关参数;
对节点运行状态属性a对应的运行状态历史矩阵Ra,关于其对应的节点特征矩阵Da和时间特征矩阵Ea,构造训练目标函数Fa;
判断提取迭代控制变量k已达到上限K;
判断Fa对Ea和Da收敛;
关于Ea和Da对Fa进行迭代优化;
判断已处理完所有的节点运行状态属性;
对于所有云计算节点1~N,对其运行状态属性1~A,在时间点1~T,根据节点失效历史记录矩阵Y,和提取的节点特征矩阵D1~DA和时间特征矩阵E1~EA,构造并输出所有失效节点实例的特征,存入数据模块中的节点失效特征存储单元。
所述的云计算系统节点失效预警装置,优选的,所述提取单元中云计算节点实时特征提取过程包括:
接收服务器提取云计算节点实时特征的指令;
结合云计算节点实时运行状态向量组{B1,B2,…,BA},和云计算节点历史运行状态矩阵组{R1,R2,…,RA},构造云计算节点最近窗口运行状态矩阵{C1,C2,…,CA};
初始化相关参数;
对节点运行状态属性a对应的最近窗口运行状态矩阵Ca,关于其对应的节点特征矩阵Da和时间特征矩阵Ea,构造训练目标函数Fa;
判断提取迭代控制变量k已达到上限K;
判断Fa对Ea和Da收敛;
关于Ea和Da对Fa进行迭代优化;
判断已处理完所有的节点运行状态属性;
对于所有云计算节点1~N,对其运行状态属性1~A,构造并输出其运行状态实时特征,数据模块中的节点实时特征存储单元。
所述的云计算系统节点失效预警装置,优选的,所述节点失效预警模块包括:
接收服务器进行云计算节点失效预警的指令;
从节点失效特征存储单元取出节点失效特征;
从节点实时特征存储单中取出节点实时特征;
对节点1~N,根据其节点失效特征和节点实时特征,判断其当前时刻是否会失效;
将可能失效的云计算节点序号列表输出,作为预警判断结果。
所述的云计算系统节点失效预警装置,优选的,所述提取单元中云计算节点失效特征提取包括:
接收服务器提取云计算节点失效特征的指令;
服务器向装置发送指令的方式为:定期、或根据所述装置的通知、或根据某服务器的通知,将要求从云计算节点运行状态历史数据中提取云计算节点失效特征的指令发送给装置;
初始化相关参数;
需要初始化的参数包括:特征空间维数D、节点特征矩阵组{D1,D2,…,DA}、时间特征矩阵组{E1,E2,…,EA}、提取迭代控制变量k、提取迭代上限K和收敛判定阈值r;其中:
特征空间维数D:是控制需要提取的特征的维数的变量,初始化为正整数,如20;
节点特征矩阵组{D1,D2,…,DA}:对应节点运行状态属性{1,2,…,A},根据云计算节点个数N和特征空间维数D,建立的A个N行,D列的矩阵,其中每个元素初始化为为开区间(0,0.1)内的随机数;
时间特征矩阵组{E1,E2,…,EA}:对应节点运行状态属性{1,2,…,A},根据云计算节点运行状态历史数据涉及的时间节点数T和特征空间维数D,建立的A个T行,D列的矩阵,其中每个元素初始化为开区间(0,0.1)内的随机数;
提取迭代控制变量k:控制提取迭代过程的变量,初始化为0;
提取迭代上限K:控制提取迭代过程中,迭代次数上限的变量,初始化为正整数;
收敛判定阈值r:判断提取迭代过程是否已收敛的阈值参数,初始化为极小正数;
对节点运行状态属性a对应的运行状态历史矩阵Ra,关于其对应的节点特征矩阵Da和时间特征矩阵Ea,构造训练目标函数Fa;
训练目标函数Fa以下式表示:
Fa=||Ra-DaEa T||2
其中||Ra-DaEa T||2表示计算矩阵Ra和DaEa T间的欧式距离的平方。该目标函数的物理意义为,使用欧式距离衡量矩阵Ra和DaEa T间的差异,并通过优化方法使该差异最小化;
判断提取迭代控制变量k已达到上限K;
首先在提取迭代控制变量k上累加1,然后判断提取迭代控制变量k是否大于提取迭代上限K;
判断Fa对Ea和Da收敛;
判断Fa对Ea和Da收敛为,本轮迭代开始前,Fa的数值,对比上轮迭代开始前,Fa的数值,其差的绝对值是否小于收敛判定阈值r;如果小于,则判定为已收敛,反之,则判定为未收敛;
关于Ea和Da对Fa进行迭代优化;
关于Ea和Da对Fa进行迭代优化,迭代优化的计算公式如下:
其中Da(n,k)表示矩阵Da的第n行,第k列的元素;Ea(t,k)表示矩阵Ea的第t行,第k列的元素;Da T表示矩阵Da的转置;Ea T表示矩阵Ea的转置;使用非负矩阵因式分解的非负参数乘积更新方法,在Fa上对Ea和Da相对于Ra进行迭代优化;
判断已处理完所有的节点运行状态属性;
判断当前处理的节点运行状态属性a是否是所有待处理节点运行状态属性{1,2,…,A}的最后一个属性,如果是,则判定已处理完所有属性,反之,则判定还未处理完所有属性;
对于所有云计算节点1~N,对其运行状态属性1~A,在时间点1~T,根据节点失效历史记录矩阵Y,和提取的节点特征矩阵D1~DA和时间特征矩阵E1~EA,构造并输出所有失效节点实例的特征,存入数据模块中的节点失效特征存储单元;
构造节点失效特征的方法为:
遍历节点失效历史记录矩阵Y,如果节点n在时间点t上被标记为失效,即Y(n,t)=1,则从节点特征矩阵组{D1,D2,…,DA}的每个矩阵中提取第n行,即对应于节点n的特征向量,总共提取A个向量,构造一个A行,D列的节点特征矩阵J;
同时,从时间特征矩阵组{E1,E2,…,EA}中,提取第t行,即对应于时刻t的特征向量,总共提取A个向量,构造一个A行,D列的时刻特征矩阵S;
然后,将J和S按列进行合并,构造节点n在时刻t的失效特征矩阵L,如下式所示
L(n,t)={J S}
根据云计算系统中节点1~N,时刻1~T的历史运行状态整体数据对各节点和各时刻的特征进行建模,并使用符合统计规律的优化方法进行特征提取,最后用该特征描述特定节点在特定时刻的失效状态;
将构造完成的节点失效特征存入数据模块中的节点失效特征存储单元。
所述的云计算系统节点失效预警装置,优选的,所述提取单元中云计算节点实时特征提取包括:
接收服务器提取云计算节点实时特征的指令;
服务器向装置发送指令的方式为:定期、或根据所述装置的通知、或根据某服务器的通知,将要求从云计算节点运行状态实时数据中提取云计算节点失效特征的指令发送给装置;
结合云计算节点实时运行状态向量组{B1,B2,…,BA},和云计算节点历史运行状态矩阵组{R1,R2,…,RA},构造云计算节点最近窗口运行状态矩阵{C1,C2,…,CA};
结合云计算节点实时运行状态向量组{B1,B2,…,BA},和云计算节点历史运行状态矩阵组{R1,R2,…,RA},构造云计算节点最近窗口运行状态矩阵组{C1,C2,…,CA}是:
将云计算节点历史运行状态矩阵组{R1,R2,…,RA}和云计算节点实时运行状态向量组{B1,B2,…,BA}按列进行合并,以下式表示:
其中,表示云计算节点实时运行状态向量Ba转置而成的N行,1列的矩阵。其物理意义为,将当前的云计算节点实时运行状态向量组{B1,B2,…,BA},结合云计算节点历史运行状态矩阵组{R1,R2,…,RA},构造云计算节点最近窗口运行状态矩阵组{C1,C2,…,CA};
初始化相关参数;
需要初始化的参数包括:特征空间维数D、节点特征矩阵组{D1,D2,…,DA}、时间特征矩阵组{E1,E2,…,EA}、提取迭代控制变量k、提取迭代上限K和收敛判定阈值r;其中:
特征空间维数D:是控制需要提取的特征的维数的变量,初始化为正整数;
节点特征矩阵组{D1,D2,…,DA}:对应节点运行状态属性{1,2,…,A},根据云计算节点个数N和特征空间维数D,建立的A个N行,D列的矩阵;
时间特征矩阵组{E1,E2,…,EA}:对应节点运行状态属性{1,2,…,A},根据云计算节点运行状态历史数据涉及的时间节点数T、当前时间点和特征空间维数D,建立的A个T+1行,D列的矩阵;
提取迭代控制变量k:控制提取迭代过程的变量;
提取迭代上限K:控制提取迭代过程中,迭代次数上限的变量,初始化为正整数;
收敛判定阈值r:判断提取迭代过程是否已收敛的阈值参数,初始化为极小正数;
对节点运行状态属性a对应的最近窗口运行状态矩阵Ca,关于其对应的节点特征矩阵Da和时间特征矩阵Ea,构造训练目标函数Fa;
训练目标函数Fa以下式表示:
Fa=||Ca-DaEa T||2
其中||Ca-DaEa T||2表示计算矩阵Ca和DaEa T间的欧式距离的平方。该目标函数的物理意义为,使用欧式距离衡量矩阵Ca和DaEa T间的差异,并通过优化方法使该差异最小化;
判断提取迭代控制变量k已达到上限K;
首先在提取迭代控制变量k上累加1,然后判断提取迭代控制变量k是否大于提取迭代上限K;
判断Fa对Ea和Da收敛为,本轮迭代开始前,Fa的数值,对比上轮迭代开始前,Fa的数值,其差的绝对值是否小于收敛判定阈值r;如果小于,则判定为已收敛,反之,则判定为未收敛。
关于Ea和Da对Fa进行迭代优化,迭代优化的计算公式如下:
其中Da(n,k)表示矩阵Da的第n行,第k列的元素;Ea(t,k)表示矩阵Ea的第t行,第k列的元素;Da T表示矩阵Da的转置;Ea T表示矩阵Ea的转置。其物理含义为,使用非负矩阵因式分解的非负参数乘积更新方法,在Fa上对Ea和Da相对于Ca进行迭代优化;
判断已处理完所有的节点运行状态属性;
判断当前处理的节点运行状态属性a是否是所有待处理节点运行状态属性{1,2,…,A}的最后一个属性,如果是,则判定已处理完所有属性,反之,则判定还未处理完所有属性;
对于所有云计算节点1~N,对其运行状态属性1~A,构造并输出其运行状态实时特征,数据模块中的节点实时特征存储单元;
构造节点实时特征为:
从节点特征矩阵组{D1,D2,…,DA}的每个矩阵中提取第n行,即对应于节点n的特征向量,总共提取A个向量,构造一个A行,D列的节点特征矩阵H;
同时,从时间特征矩阵组{E1,E2,…,EA}中,提取第t+1行,即对应于当前时间点的特征向量,总共提取A个向量,构造一个A行,D列的时刻特征矩阵Q;
然后,将H和Q按列进行合并,构造节点n在当前时间点的实时特征矩阵Z,如下式所示
Z(n)={H Q}
根据云计算系统中节点1~N,时间点1~T的历史运行状态整体数据,和当前时间点的实时运行状态数据,对各节点和各时刻的特征进行建模,并使用符合统计规律的优化方法进行特征提取,最后用该特征描述特定节点在当前时间点的实时状态;
将构造完成的节点实时特征存入数据模块中的节点实时特征存储单元。
所述的云计算系统节点失效预警装置,优选的,所述节点失效预警模块包括:
接收服务器进行云计算节点失效预警的指令;
服务器向装置发送指令的方式为:定期、或根据所述装置的通知、或根据某服务器的通知,将要求进行云计算节点失效预警的指令发送给装置;
从节点失效特征存储单元取出节点失效特征;
从节点失效特征存储单元取出的节点失效特征包括,云计算节点失效特征提取过程提取,并存储至节点失效特征存储单元的所有节点失效特征;
从节点实时特征存储单元中取出节点实时特征;
从节点实时特征存储单元取出的节点实时特征包括,云计算节点实时特征提取过程在最近一个时间点提取,并存储至节点实时特征存储单元的所有节点实时特征;
对节点1~N,根据其节点失效特征和节点实时特征,判断其当前时刻是否会失效;
对节点1~N,根据其节点失效特征和节点实时特征,判断其当前时刻是否会失效的依据为,
对于节点n,对其实时特征矩阵Z(n),和所有失效特征L(n,t),其中T为该节点在节点历史状态运行数据中记录的所有失效时刻,求其平均的欧式距离:
其物理意义为,根据节点n的实时特征矩阵Z(n),和所有失效特征L(n,t)的平均欧式距离,判断其当前状态与失效状态的距离平均值;其中Y(n,t)表示节点失效历史记录矩阵Y中节点n在时间点t上被标记为失效;如果un小于阈值p=0.5*A*D,则认为节点n在当前时刻可能会失效,对其进行标记;A表示实时特征矩阵的行数;D表示实时特征矩阵的列数;
将可能失效的云计算节点序号列表输出,作为预警判断结果;
输出的云计算节点序号列表包括,所有被标记为可能会失效的节点。
本发明还公开一种云计算系统节点失效预警方法,其包括如下步骤:
S1,接收模块接收服务器采集的计算节点运行状态历史数据和运行状态实时数据,并指示数据模块对接收的数据进行存储;
S2,数据模块存储由接收模块接收的计算节点运行状态历史数据和运行状态实时数据,以及装置提取的节点失效特征和节点实时特征;包括节点运行状态数据存储单元,存储接收模块接收的计算节点运行状态历史数据和运行状态实时数据;节点失效特征存储单元,存储装置提取的节点失效特征;节点实时特征存储单元,存储装置提取的节点实时特征;
S3,特征提取模块执行云计算节点失效特征提取过程,和云计算节点实时特征提取过程,并将提取的特征分别存入数据模块中的节点失效特征存储单元,和节点实时特征存储单元;
S4,节点失效预警模块执行云计算节点失效预警过程,输出有可能失效的云计算节点序号列表。
所述的云计算系统节点失效预警方法,优选的,所述S3包括:
初始化单元初始化云计算节点失效特征提取过程,和云计算节点实时特征提取过程中涉及的相关参数;
提取单元根据数据模块中,节点运行状态数据存储单元,存储接收模块接收的计算节点运行状态历史数据,和运行状态实时数据,分别提取云计算节点失效特征,和云计算节点实时特征;
输出单元将提取单元提取的云计算节点失效特征,和云计算节点实时特征,分别存储至数据模块中的节点失效特征存储单元,和节点实时特征存储单元。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明能够进行符合统计规律、准确度高的云计算节点失效预警,以解决针对大型云计算系统中的计算节点,结合其运行状态历史情况,从云计算整体系统角度出发,进行符合统计规律、准确度高的节点失效分析与预警问题。
本发明提供了一种云计算节点失效预警装置,其专门作用于大型云计算系统中的计算节点运行状态历史数据,能够进行符合统计规律、准确度高的云计算节点失效预警,以解决针对大型云计算系统中的计算节点,结合其运行状态历史情况,从云计算整体系统角度出发,进行符合统计规律、准确度高的节点失效分析与预警问题。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一种云计算节点失效预警装置结构示意图;
图2为云计算节点失效特征提取过程;
图3为云计算节点实时特征提取过程;
图4为云计算节点失效预警过程;
图5为应用本发明实施例前后,云计算节点失效预警的准确率对比。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明提供一种云计算节点失效预警方法和装置,其专门作用于大型云计算系统中的计算节点运行状态历史数据,能够进行符合统计规律、准确度高的云计算节点失效预警,以解决大型云计算系统中的计算节点,结合其历史失效情况,从云计算整体系统角度出发,进行符合统计规律、准确度高的节点失效分析与预警问题。
图1为本发明一种云计算节点失效预警装置(以下简称装置)结构示意图。装置包括:
接收模块110:接收服务器采集的计算节点运行状态历史数据和运行状态实时数据,并指示数据模块120对接收的数据进行存储。
其中,接收模块110接收的计算节点运行状态历史数据包括
1)一组共A个,T行,N列的矩阵{R1,R2,…,RA},其中T表示运行状态历史数据记录的时间点个数,N表示云计算系统节点总数;{R1,R2,…,RA}代表了从时间点1~T,系统全部共N个节点的历史运行状态。该组矩阵共A个,A表示记录的节点运行状态属性,如CPU温度、CPU使用率、内存使用率等。需要指出的是,由于计算节点的运行状态变化十分频繁,故接收模块110接收的这组矩阵中,每个矩阵元素表示的均为对应时间点向前回溯一段时间,如1小时,内的平均值,如接收模块110接收的节点n在时间点t的CPU使用率为76.5%,表示节点n在时间点t向前回溯一段时间,如1小时,内的平均CPU使用率为76.5%。
2)一个T行,N列的矩阵Y,其中T表示运行状态历史数据记录的时间点个数,N表示云计算系统节点总数;Y代表了从时间点1~T,系统全部共N个节点的失效情况。节点n在时间点t失效,则Y中的对应元素Yn,t=1,否则,Yn,t=0。
其中,接收模块110接收的计算节点运行状态实时数据包括
一组共A个,包含N个元素的向量{B1,B2,…,BA},其中N表示云计算系统节点总数;{B1,B2,…,BA}代表了在当前时间点,系统全部共N个节点的运行状态。该组向量共A个,A表示记录的节点运行状态属性,如CPU温度、CPU使用率、内存使用率等。需要指出的是,由于计算节点的运行状态变化十分频繁,故接收模块110接收的这组向量中,每个向量元素表示的均为对应时间点向前回溯一段时间,如1小时,内的平均值,如接收模块110接收的节点n在当前时间点的CPU使用率为76.5%,表示节点n在当前时间点向前回溯一段时间,如1小时,内存的平均CPU使用率为76.5%。
数据模块120:存储由接收模块接收的计算节点运行状态历史数据和运行状态实时数据,以及装置提取的节点失效特征和节点实时特征;包括节点运行状态数据存储单元121,存储接收模块接收的计算节点运行状态历史数据和运行状态实时数据;节点失效特征存储单元122,存储装置提取的节点失效特征;节点实时特征存储单元123,存储装置提取的节点实时特征。
特征提取模块130:执行云计算节点失效特征提取过程,和云计算节点实时特征提取过程,并将提取的特征分别存入数据模块中的节点失效特征存储单元122,和节点实时特征存储单元123;包括:初始化单元131,初始化云计算节点失效特征提取过程,和云计算节点实时特征提取过程中涉及的相关参数;提取单元132,根据数据模块中,节点运行状态数据存储单元121,存储接收模块接收的计算节点运行状态历史数据,和运行状态实时数据,分别提取云计算节点失效特征,和云计算节点实时特征;输出单元133,将提取单元提取的云计算节点失效特征,和云计算节点实时特征,分别存储至数据模块中的节点失效特征存储单元122,和节点实时特征存储单元123。
节点失效预警模块140:执行云计算节点失效预警过程,输出有可能失效的云计算节点序号列表。
本装置可部署于一个现有的服务器中,也可部署于一个单独设置的、专用于进行云计算节点失效预警的服务器中。
如图2所示为云计算节点失效特征提取过程。云计算节点失效特征提取过程包括:
(1)装置接收服务器提取云计算节点失效特征的指令;
(2)装置初始化相关参数;
(3)装置对节点运行状态属性a对应的运行状态历史矩阵Ra,关于其对应的节点特征矩阵Da和时间特征矩阵Ea,构造训练目标函数Fa。
(4)装置判断提取迭代控制变量k已达到上限K。
(5)装置判断Fa对Ea和Da收敛。
(6)装置关于Ea和Da对Fa进行迭代优化。
(7)装置判断已处理完所有的节点运行状态属性。
(8)对于所有云计算节点1~N,对其运行状态属性1~A,在时间点1~T,根据节点失效历史记录矩阵Y,和提取的节点特征矩阵D1~DA和时间特征矩阵E1~EA,构造并输出所有失效节点实例的特征,存入数据模块中的节点失效特征存储单元122。
如图3所示为云计算节点实时特征提取过程。云计算节点实时特征提取过程包括:
(1)装置接收服务器提取云计算节点实时特征的指令;
(2)装置结合云计算节点实时运行状态向量组{B1,B2,…,BA},和云计算节点历史运行状态矩阵组{R1,R2,…,RA},构造云计算节点最近窗口运行状态矩阵{C1,C2,…,CA};
(3)装置初始化相关参数;
(4)对节点运行状态属性a对应的最近窗口运行状态矩阵Ca,关于其对应的节点特征矩阵Da和时间特征矩阵Ea,构造训练目标函数Fa;
(5)装置判断提取迭代控制变量k已达到上限K。
(6)装置判断Fa对Ea和Da收敛。
(7)装置关于Ea和Da对Fa进行迭代优化。
(8)装置判断已处理完所有的节点运行状态属性。
(9)对于所有云计算节点1~N,对其运行状态属性1~A,构造并输出其运行状态实时特征,数据模块中的节点实时特征存储单元123。
如图4所示为云计算节点失效预警过程。云计算节点失效预警过程包括:
(1)装置接收服务器进行云计算节点失效预警的指令;
(2)装置从节点失效特征存储单元122取出节点失效特征;
(3)装置从节点实时特征存储单元123中取出节点实时特征;
(4)装置对节点1~N,根据其节点失效特征和节点实时特征,判断其当前时刻是否会失效;
(5)装置将可能失效的云计算节点序号列表输出,作为预警判断结果;
本发明专门作用于计算节点运行状态历史数据,能够进行符合统计规律、准确度高、复杂度低的一种云计算节点失效预警。下面,对本发明所提供的一种云计算节点失效预警装置和方法进行详细说明。
图2为本发明实施例中云计算节点失效特征提取流程示意图。参见图2,该过程包括:
步骤201:装置接收服务器提取云计算节点失效特征的指令。
本步骤中,服务器向装置发送指令的方式为:定期、或根据所述装置的通知、或根据某服务器的通知,将要求从云计算节点运行状态历史数据中提取云计算节点失效特征的指令发送给装置。
步骤202:装置初始化相关参数。
本步骤中,装置需要初始化的参数包括:特征空间维数D、节点特征矩阵组{D1,D2,…,DA}、时间特征矩阵组{E1,E2,…,EA}、提取迭代控制变量k、提取迭代上限K和收敛判定阈值r。其中:
特征空间维数D:是控制需要提取的特征的维数的变量,初始化为正整数,如20。
节点特征矩阵组{D1,D2,…,DA}:对应节点运行状态属性{1,2,…,A},根据云计算节点个数N和特征空间维数D,建立的A个N行,D列的矩阵,其中每个元素初始化为为开区间(0,0.1)内的随机数。
时间特征矩阵组{E1,E2,…,EA}:对应节点运行状态属性{1,2,…,A},根据云计算节点运行状态历史数据涉及的时间节点数T和特征空间维数D,建立的A个T行,D列的矩阵,其中每个元素初始化为为开区间(0,0.1)内的随机数。
提取迭代控制变量k:控制提取迭代过程的变量,初始化为0。
提取迭代上限K:控制提取迭代过程中,迭代次数上限的变量,初始化为正整数,如100。
收敛判定阈值r:判断提取迭代过程是否已收敛的阈值参数,初始化为极小正数,如0.01。
步骤203:对节点运行状态属性a对应的运行状态历史矩阵Ra,关于其对应的节点特征矩阵Da和时间特征矩阵Ea,构造训练目标函数Fa。
本步骤中,训练目标函数Fa以下式表示:
Fa=||Ra-DaEa T||2
其中||Ra-DaEa T||2表示计算矩阵Ra和DaEa T间的欧式距离的平方。该目标函数的物理意义为,使用欧式距离衡量矩阵Ra和DaEa T间的差异,并通过优化方法使该差异最小化;
步骤204:装置判断提取迭代控制变量k已达到上限K。
本步骤中,装置首先在提取迭代控制变量k上累加1,然后判断提取迭代控制变量k是否大于提取迭代上限K。
步骤205:装置判断Fa对Ea和Da收敛。
本步骤中,装置判断Fa对Ea和Da收敛为,本轮迭代开始前,Fa的数值,对比上轮迭代开始前,Fa的数值,其差的绝对值是否小于收敛判定阈值r;如果小于,则判定为已收敛,反之,则判定为未收敛。
步骤206:装置关于Ea和Da对Fa进行迭代优化。
本步骤中,关于Ea和Da对Fa进行迭代优化,迭代优化的计算公式如下:
其中Da(n,k)表示矩阵Da的第n行,第k列的元素;Ea(t,k)表示矩阵Ea的第t行,第k列的元素;Da T表示矩阵Da的转置;Ea T表示矩阵Ea的转置;使用非负矩阵因式分解的非负参数乘积更新方法,在Fa上对Ea和Da相对于Ra进行迭代优化;
步骤207:装置判断已处理完所有的节点运行状态属性。
本步骤中,装置判断当前处理的节点运行状态属性a是否是所有待处理节点运行状态属性{1,2,…,A}的最后一个属性,如果是,则判定已处理完所有属性,反之,则判定还未处理完所有属性。
步骤208:对于所有云计算节点1~N,对其运行状态属性1~A,在时间点1~T,根据节点失效历史记录矩阵Y,和提取的节点特征矩阵D1~DA和时间特征矩阵E1~EA,构造并输出所有失效节点实例的特征,存入数据模块中的节点失效特征存储单元122。
本步骤中,装置构造节点失效特征的方法为:
遍历节点失效历史记录矩阵Y,如果节点n在时间点t上被标记为失效,即Y(n,t)=1,则从节点特征矩阵组{D1,D2,…,DA}的每个矩阵中提取第n行,即对应于节点n的特征向量,总共提取A个向量,构造一个A行,D列的节点特征矩阵J;
同时,从时间特征矩阵组{E1,E2,…,EA}中,提取第t行,即对应于时刻t的特征向量,总共提取A个向量,构造一个A行,D列的时刻特征矩阵S;
然后,将J和S按列进行合并,构造节点n在时刻t的失效特征矩阵L,如下式所示
L(n,t)={J S}
其物理意义为,根据云计算系统中节点1~N,时刻1~T的历史运行状态整体数据对各节点和各时刻的特征进行建模,并使用符合统计规律的优化方法进行特征提取,最后用该特征描述特定节点在特定时刻的失效状态。
最后,装置将构造完成的节点失效特征存入数据模块中的节点失效特征存储单元122。
图3为本发明实施例中,云计算节点实时特征提取过程示意图。该过程包括:
步骤301:装置接收服务器提取云计算节点实时特征的指令;
本步骤中,服务器向装置发送指令的方式为:定期、或根据所述装置的通知、或根据某服务器的通知,将要求从云计算节点运行状态实时数据中提取云计算节点实时特征的指令发送给装置。
步骤302:装置结合云计算节点实时运行状态向量组{B1,B2,…,BA},和云计算节点历史运行状态矩阵组{R1,R2,…,RA},构造云计算节点最近窗口运行状态矩阵{C1,C2,…,CA}。
本步骤中,装置结合云计算节点实时运行状态向量组{B1,B2,…,BA},和云计算节点历史运行状态矩阵组{R1,R2,…,RA},构造云计算节点最近窗口运行状态矩阵组{C1,C2,…,CA}是:
将云计算节点历史运行状态矩阵组{R1,R2,…,RA}和云计算节点实时运行状态向量组{B1,B2,…,BA}按列进行合并,以下式表示:
其中,表示云计算节点实时运行状态向量Ba转置而成的n行,1列的矩阵。其物理意义为,将当前的云计算节点实时运行状态向量组{B1,B2,…,BA},结合云计算节点历史运行状态矩阵组{R1,R2,…,RA},构造云计算节点最近窗口运行状态矩阵组{C1,C2,…,CA}。
步骤303:装置初始化相关参数;
本步骤中,装置需要初始化的参数包括:特征空间维数D、节点特征矩阵组{D1,D2,…,DA}、时间特征矩阵组{E1,E2,…,EA}、提取迭代控制变量k、提取迭代上限K和收敛判定阈值r。其中:
特征空间维数D:是控制需要提取的特征的维数的变量,初始化为正整数,如20。
节点特征矩阵组{D1,D2,…,DA}:对应节点运行状态属性{1,2,…,A},根据云计算节点个数N和特征空间维数D,建立的A个N行,D列的矩阵,其中每个元素初始化为为开区间(0,0.1)内的随机数。
时间特征矩阵组{E1,E2,…,EA}:对应节点运行状态属性{1,2,…,A},根据云计算节点运行状态历史数据涉及的时间节点数T、当前时间点和特征空间维数D,建立的A个T+1行,D列的矩阵,其中每个元素初始化为为开区间(0,0.1)内的随机数。
提取迭代控制变量k:控制提取迭代过程的变量,初始化为0。
提取迭代上限K:控制提取迭代过程中,迭代次数上限的变量,初始化为正整数,如100。
收敛判定阈值r:判断提取迭代过程是否已收敛的阈值参数,初始化为极小正数,如0.01。
步骤304:对节点运行状态属性a对应的最近窗口运行状态矩阵Ca,关于其对应的节点特征矩阵Da和时间特征矩阵Ea,构造训练目标函数Fa;
本步骤中,训练目标函数Fa以下式表示:
Fa=||Ca-DaEa T||2
其中||Ca-DaEa T||2表示计算矩阵Ca和DaEa T间的欧式距离的平方。该目标函数的物理意义为,使用欧式距离衡量矩阵Ca和DaEa T间的差异,并通过优化方法使该差异最小化;
步骤305:装置判断提取迭代控制变量k已达到上限K。
本步骤中,装置首先在提取迭代控制变量k上累加1,然后判断提取迭代控制变量k是否大于提取迭代上限K。
步骤306:装置判断Fa对Ea和Da收敛。
本步骤中,装置判断Fa对Ea和Da收敛为,本轮迭代开始前,Fa的数值,对比上轮迭代开始前,Fa的数值,其差的绝对值是否小于收敛判定阈值r;如果小于,则判定为已收敛,反之,则判定为未收敛。
步骤307:装置关于Ea和Da对Fa进行迭代优化。
本步骤中,关于Ea和Da对Fa进行迭代优化,迭代优化的计算公式如下:
其中Da(n,k)表示矩阵Da的第n行,第k列的元素;Ea(t,k)表示矩阵Ea的第t行,第k列的元素;Da T表示矩阵Da的转置;Ea T表示矩阵Ea的转置。其物理含义为,使用非负矩阵因式分解的非负参数乘积更新方法,在Fa上对Ea和Da相对于Ca进行迭代优化。
步骤308:装置判断已处理完所有的节点运行状态属性。
本步骤中,装置判断当前处理的节点运行状态属性a是否是所有待处理节点运行状态属性{1,2,…,A}的最后一个属性,如果是,则判定已处理完所有属性,反之,则判定还未处理完所有属性。
步骤309:对于所有云计算节点1~N,对其运行状态属性1~A,构造并输出其运行状态实时特征,数据模块中的节点实时特征存储单元123。
本步骤中,装置构造节点实时特征的方法为:
从节点特征矩阵组{D1,D2,…,DA}的每个矩阵中提取第n行,即对应于节点n的特征向量,总共提取A个向量,构造一个A行,D列的节点特征矩阵H;
同时,从时间特征矩阵组{E1,E2,…,EA}中,提取第t+1行,即对应于当前时间点的特征向量,总共提取A个向量,构造一个A行,D列的时刻特征矩阵Q;
然后,将H和Q按列进行合并,构造节点n在当前时间点的实时特征矩阵Z,如下式所示
Z(n)={H Q}
其物理意义为,根据云计算系统中节点1~N,时间点1~T的历史运行状态整体数据,和当前时间点的实时运行状态数据,对各节点和各时刻的特征进行建模,并使用符合统计规律的优化方法进行特征提取,最后用该特征描述特定节点在当前时间点的失效状态。
最后,装置将构造完成的节点实时特征存入数据模块中的节点实时特征存储单元123。
图4为本发明实施例中,云计算节点失效预警过程示意图。该过程包括:
步骤401:装置接收服务器进行云计算节点失效预警的指令;
本步骤中,服务器向装置发送指令的方式为:定期、或根据所述装置的通知、或根据某服务器的通知,将要求进行云计算节点失效预警的指令发送给装置。
步骤402:装置从节点失效特征存储单元122取出节点失效特征;
本步骤中,装置从节点失效特征存储单元122取出的节点失效特征包括,云计算节点失效特征提取过程提取,并存储至节点失效特征存储单元122的所有节点失效特征。
步骤403:装置从节点实时特征存储单元123中取出节点实时特征;
本步骤中,装置从节点实时特征存储单元123取出的节点实时特征包括,云计算节点实时特征提取过程在最近一个时间点提取,并存储至节点实时特征存储单元123的所有节点实时特征。
步骤404:装置对节点1~N,根据其节点失效特征和节点实时特征,判断其当前时刻是否会失效;
本步骤中,装置对节点1~N,根据其节点失效特征和节点实时特征,判断其当前时刻是否会失效的依据为,
对于节点n,对其实时特征矩阵Z(n),和所有失效特征L(n,t),其中T为该节点在节点历史状态运行数据中记录的所有失效时刻,求其平均的欧式距离:
其物理意义为,根据节点n的实时特征矩阵Z(n),和所有失效特征L(n,t)的平均欧式距离,判断其当前状态与失效状态的距离平均值;其中Y(n,t)表示节点失效历史记录矩阵Y中节点n在时间点t上被标记为失效;如果un小于阈值p=0.5*A*D,则认为节点n在当前时刻可能会失效,对其进行标记;A表示实时特征矩阵的行数;D表示实时特征矩阵的列数;
步骤405:装置将可能失效的云计算节点序号列表输出,作为预警判断结果;
本步骤中,装置输出的云计算节点序号列表包括,所有在步骤(4)中被标记为可能会失效的节点。
为了验证上述一种云计算节点失效预警装置和方法的性能,我们在某云计算系统上安装了本装置。在实例分析中,采用的计算节点运行状态历史数据该系统在为期一周的运营过程中产生的计算节点运行状态数据,其中涉及的节点运行状态属性包括CPU使用率、CPU温度、内存使用率、每秒上行数据量、每秒下行数据量。
图5为应用本发明实施例前后,对该云计算系统进行计算节点失效预警的准确率对比。参见图3,应用本发明实施例后,进行云计算节点失效预警时,预警准确率有明显提高。
由上述技术方案可见,本发明实施例提供了一种云计算节点失效预警方法,其专门作用于大型云计算系统中的计算节点运行状态历史数据,能够进行符合统计规律、准确度高的云计算节点失效预警,以解决针对大型云计算系统中的计算节点,结合其运行状态历史情况,从云计算整体系统角度出发,进行符合统计规律、准确度高的节点失效分析与预警问题。