1.一种基于深度动态贝叶斯网络的服务功能链故障诊断方法,其特征在于:包括以下步骤:S1:根据服务功能链的分层网络架构中的故障传播关系,构建故障诊断模型;
S2:在物理节点监测其上多个虚拟网络功能VNF性能数据,并收集症状的高维数据;
S3:针对基于SDN/NFV架构下网络观测数据的多样性以及物理节点和VNF的空间相关性,建立相关的深度信念网络DBN模型对观测数据进行特征提取和降维,通过k步对比散度算法CD‑k对历史观测数据集进行近似采样,并使用加入动量项的自适应BP算法对模型进行微调;
S4:利用故障间存在的时间相关性,建立动态贝叶斯网络DBN模型来实时诊断故障根源,使用1.5时间片联合树推理算法对故障根源进行定位;具体包括:动态贝叶斯网络DBN模型定义为(B0,B→),其中B0表示深度信念网络的在线学习阶段初始时间片的先验网络,即最初时刻物理节点状态;B→表示由两个以上时间片段的BN组成的隐藏状态转移模型;
动态贝叶斯网络DBN是根据观测数据Yt={y1,y2,…,ym}推导出隐变量Xt={x1,x2,…,xn}最大可能取值的概率,其中Y表示SFC虚拟节点的症状信息,具有m种可能的取值,X表示基础设施层物理节点状态,具有n种可能的实际结果;
设初始隐变量先验分布矩阵为π,则
π=(πi)1×n,i=1,2,…,n
其中 对应于初始时刻基础设施层节点工作状态的先验概率;使用深度信息网
络的在线学习阶段初始时间片估计的后验概率作为节点状态的先验概率;
故障节点间状态转移矩阵为A,则
A=(aik)n×n,aik=P(Xt=i|Xt‑1=k),i,k=1,2,…,n其中aij表示故障节点某一故障因素在t‑1时刻的状态对t时刻状态的影响;
故障节点与症状信息间的状态转移矩阵为B,则
B=(bij)n×m,bij=P(Yt=j|Xt=i),i=1,2,…,n,j=1,2,…,m.
其中bij表示t时刻i故障发生时,故障对虚拟节点工作性能数据的影响;
动态贝叶斯网络模型经典假设下,观测和状态的联合概率由下式给出:
其中 表示DDBN推理所需的观测的发射概率;采用对高维数据特征提取良好的深度信念网络DBN来对观测的发射概率进行建模;
最后,进行SFC故障的推理,在给定故障症状的条件下,计算故障根源的概率分布,采用
1.5时间片联合树推理算法来最大化故障可能的取值P(xt=i|y1:T);
根据动态贝叶斯网络的马尔可夫性,故障节点的集合在下一时间片都有子节点,在已知这些子节点取值的情况下,过去节点的状态和将来节点的状态没有任何关系,这样的子节点称为接口节点;设JTt是时间t内的联合树,Ct是JTt中含有It的团,Dt是JTt中含有It‑1的团,时间片中的接口节点It收到前一时间片接口It‑1的影响,并且还影响下一时间片接口It+1,接口之间通过消息传播进行推理,推理的过程如下:步骤1:将基于DBN的SFC故障推理模型通过执行正规化、三角化步骤构造一个1.5时间片联合树JTt;把故障节点间的转移概率矩阵A通过三角化建立团树,找到三角化后的最大团,每个最大团间通过两个团的交集形成的分隔节点相连形成联结树;其中每个团都有一个势函数ψ,是各个团中节点的CPT条件概率表乘积;
步骤2:信息前向传播,当前时间片的联合树JTt从前一时间片的联合树JTt‑1中获取新的证据;
步骤3:信息后向传播,当前时间片的联合树JTt从后一时间片的联合树JTt+1中吸收证据,并实现对当前时间片JTt的联合树的概率分布进行更新。
2.根据权利要求1所述的基于深度动态贝叶斯网络的服务功能链故障诊断方法,其特征在于:在步骤S1中,所述服务功能链场景下,虚拟化层的NFVMANO根据用户服务请求,确定服务所需的VNF及其逻辑链路,并保证VNF的运行占用的通用服务器的资源和路径上的特定带宽,所述通用服务器的资源包括计算、网络、存储,然后由SDN控制器将VNF连接起来,形成SFC并控制传输连接;应用层包括服务于各类业务流的多条SFC,每条SFC由不同的网络功能按某种次序链式构成,为业务流提供端到端的服务。
3.根据权利要求1所述的基于深度动态贝叶斯网络的服务功能链故障诊断方法,其特征在于:在步骤S1中,根据服务功能链的分层网络架构中的故障传播关系,建立的故障诊断模型,需要先在应用层定位可能发生故障的VNF节点,然后根据应用层故障的VNF节点和基础设施层之间的映射关系定位故障的根源;针对分层的网络架构,采用能够在时间上因果关联并适应环境动态变化的动态贝叶斯网络(DBN)来进行故障的诊断。
4.根据权利要求1所述的基于深度动态贝叶斯网络的服务功能链故障诊断方法,其特征在于:在步骤S2中,还包括在物理节点监测其上多个VNF性能数据,并收集症状的高维数据;为了提高模型参数的学习效率并提高模型的准确性,需要对数据进行归一化预处理,消除症状信息量纲不同所带来的影响,采用线性的最大最小值方法进行数据的预处理,其转换函数为:
5.根据权利要求1所述的基于深度动态贝叶斯网络的服务功能链故障诊断方法,其特征在于:在步骤S3中,针对基于SDN/NFV架构下网络观测数据的多样性以及物理节点和VNF的空间相关性,建立相关的深度信念网络DBN模型:S31:使用三层堆叠的受限玻尔兹曼机RBM组成的多隐含层神经网络,以无监督学习的方式对网络进行贪婪的逐层训练,仅使用SFC虚拟节点历史观测数据集来学习物理节点的故障高级特征;
S32:在三层RBM模型之上添加一个softmax层,形成深度信念网络DBN来对节点故障进行分类,结合标签数据进行反向的有监督微调,得出初始时间片的分类模型;
S33:利用实时症状数据对参数进一步优化。
6.根据权利要求5所述的基于深度动态贝叶斯网络的服务功能链故障诊断方法,其特征在于:步骤S3中,具体包括以下内容:需要学习的参数为θ,在SFC场景中,θ即为需要得出的故障症状与实际故障间的概率依赖关系,即θ={wij,ai,bj:1 i m,1 j n}
其中,wij表示可视层节点i与隐含层节点j之间的权重,ai表示可视层节点a的偏置,bj表示隐含层节点j的偏置,n为物理节点各种故障因素X的个数,m为虚拟节点观测数据Y的个数;
对于单个时间片内的SFC故障诊断模型的参数,采用深度信念网络来进行学习,通过离线和在线学习的方式进行参数的训练:首先把故障节点的历史观测数据集进行采集,作为训练样本,并分为标记样本和未标记样本;给定S和U分别表示标记样本和未标记样本的集合,Y和X分别表示故障的VNF节点各种类型的症状信息和故障类型的标签输出;对于同一物理节点上VNF节点的历史观测数据的集合表示为Q={…Qi…},其中Qi=[Yt,Yt‑1,…,Yt‑d+1],d表示模型输入的样本的维度;最后,把无监督学习的无标记样本记为U(Y),监督学习的有标记样本记为S(Y,X),并把所有数据样本都划分为小批量数据集,以便通过批处理训练来提高DBN模型的训练速度;
随后,按比例将样本集合划分为训练集、验证集和测试集,使用未标记和标记的小批量数据集来对模型进行训练;其中,使用未标记数据集U(Y)以无监督学习的方式来对RBM的参数进行学习,使得RBM的网络概率分布可以更好的拟合训练样本;采用k步对比散度(CD)算法来对样本进行近似采样,通过求解对数似然函数的梯度,更新参数θ;
RBM1模型经过CD‑K快速学习算法迭代调整之后,得到初步的模型参数;然后把RBM1训练得到的隐藏层神经元节点的激活状态,作为RBM2的网络输入,如此依次训练后续的RBM3模型,直到DBN模型中的所有RBM都训练完为止;将最后一层RBM的隐藏层输出作为softmax分类器的输入;
在得到无监督的预训练阶段的最佳模型参数之后,结合标签数据S(Y,X)进行有监督的反向微调,建立故障特征与节点状态标签之间的复杂非线性关系,标签值表示SFC每个VNF故障的真实状态;将自适应学习率下降的BP算法用于反向微调深度信念网络的整体模型参数,并将无监督阶段的参数视为初始化参数,其表达式为:其中,θt和θt‑1分别表示第t和t‑1次迭代中参数的修正量,b为动量项系数,α为学习率,lnL/lnθ为当前样本对数似然函数的梯度;
在使用同类型VNF节点历史观测数据得到DBN模型之后,使用该VNF故障节点在切片周期内的实时观测数据对模型进行实时优化;采样滑动窗口机制实时更新样本Rt=[Yt,Yt‑1,…,Yt‑d+1],其中d表示滑动窗口的长度,即每经过一个时间片t,引入t时刻的观测数据Yt,同时删除Yt‑d,保持输入样本大小不变;运用单样本集训练方式进行模型的参数优化,同时在时刻t输出故障症状为Yt‑d+1:t条件下预测的基础设施层节点状态为p(Xt|Yt‑d+1:t),其中Xt={x1,x2,…,xn}。
7.根据权利要求1所述的基于深度动态贝叶斯网络的服务功能链故障诊断方法,其特征在于:步骤S4所述接口之间通过消息传播进行推理的过程中,所述步骤2具体包括以下步骤:步骤21)初始化联结树JTt的势函数ψ;
步骤22)首先对症状节点进行赋值,然后将t时间片之前的症状作为先验信息P(It‑1|Y1:t‑1),将症状信息收集到Ct‑1,执行边缘化,得到It‑1的概率分布;通过接口It‑1从Ct‑1向Dt传递;
其中It‑1∈Ct‑1∩Dt,表示故障节点在时间片间的传播;
步骤23)把采集到的当前时间片的SFC的故障节点的症状数据Yt作为证据输入到联结树;
步骤24)对根Ct进行证据的采集和添加;
步骤25)返回JTt中所有团的概率分布,当t=T时结束过程,否则,t=t+1转到步骤22)。
8.根据权利要求7所述的基于深度动态贝叶斯网络的服务功能链故障诊断方法,其特征在于:步骤S4所述接口之间通过消息传播进行推理的过程中,所述步骤3具体包括以下步骤:步骤31)如果t=T,则进行证据的分发;
步骤32)边缘化Dt+1,得到It的概率分布;
步骤33)通过吸收Dt+1的概率分布来更新JTt中Ct的It;
其中, 和 表示原来的势;
步骤34)从根Ct进行证据的分发;
步骤35)返回JTt中所有团,包括分割团的概率分布,当t=1时结束过程,否则,t=t‑1转到步骤31)。