一种针对复杂网络的网络故障分析方法和系统与流程

文档序号:21719199发布日期:2020-08-05 01:08阅读:345来源:国知局
一种针对复杂网络的网络故障分析方法和系统与流程

本发明属于网络故障分析领域,更具体地,涉及一种针对复杂网络的网络故障分析方法和系统。



背景技术:

通信网网络由多个路由、设备等依次相连接,将连接主体(路由、设备等)当作一个个节点,构成一个环形网,例如,电力通信网。当网络发生故障时,往往是一个或多个节点出现问题,需要对整个网络进行分析从而找到故障的节点以及故障类型。专业网管采集到网络故障告警信息数据,包含:故障类型、故障级别、告警名称、告警源、定位信息、发生时间等字段。告警信息数据具有衍生性、传播性,这对真实的故障告警判断增添了难度。

随着科学技术的发展,网络规模不断扩大,网络动态性日益加剧,对网络管理带来了巨大的冲击力。现有的通信网网络故障分析难以覆盖到所有网络和设备,难以应对网络规模的日益增长,尤其是从未出现过的网络故障。此外,由于传统网络故障分析是对网络拓扑进行编号处理,一旦设备编号改变则网络的表示图也变化了,因此对于相同的拓扑结构但是不同编号的网络,系统无法智能化地进行分析。需要大量模型训练的时间,并产生了相同或相似网络的重复性训练。



技术实现要素:

针对现有技术的缺陷和改进需求,本发明提供了一种针对复杂网络的网络故障分析方法和系统,其目的在于将复杂网络合理地、唯一地分割为多个具有特征的子网拓扑,将各子网拓扑结合其告警信息输入到卷积神经网络进行训练并得到故障模型,联合多个模型则可实现复杂网络的故障分析。

为实现上述目的,按照本发明的一个方面,提供了一种针对复杂网络的网络故障分析方法,该方法包括以下步骤:

s1.根据节点的度和连接关系,将复杂网络拓扑图分解为紧密相邻的多个子网拓扑图;

s2.将每个子网拓扑图对应的序列化矩阵和该子网拓扑图每次故障信息结合为一个故障矩阵;

s3.将每个子网拓扑图的所有故障矩阵输入卷积神经网络模型进行训练,得到该子网拓扑图的故障诊断模型;

s4.将待测复杂网络拓扑通过步骤s1的方式进行分割,得到该复杂网络拓扑的各子网拓扑,结合告警信息分别引入已训练好的多个子网拓扑图的故障诊断模型进行综合分析,得到网络故障诊断结果。

优选地,步骤s1包括以下子步骤:

s11.遍历复杂通信网络中所有节点,根据网络节点在网络中的重要程度,对所有网络节点进行降序排序;

s12.选取排序后序列化顺序中的第一个节点,取ω个邻居节点构成序列化链表,对依据度最大节点的ω个邻居节点按照重要程度降序排列,将其转换成长度为(ω+1)的序列,ω≥排序后序列化顺序中的第一个节点的一阶邻居数量;

s13.针对序列化链表中的每个顺序节点,取k个邻居节点按照重要程度进行降序排序,得到包含节点id、大小为(ω+1)*(k+1)的代表一个中心结构的序列化矩阵,k≥排序后序列化顺序中的第一个节点的一阶邻居数量;

s14.去除序列化矩阵中的所有节点,重复遍历网络中剩余节点直至所有节点为空,若剩余节点的最大的度大于α,则进入步骤s12,继续进行序列化矩阵构造操作;若剩余节点的最大的度小于等于α,则舍弃剩余节点。

优选地,所述重要程度是指网络节点的度和节点之间的最短路径长度。

优选地,所述序列化矩阵的第一个节点是根据各阶邻居数目得到度最大的节点,第一列是度最大的节点和其相邻的邻居节点,每一行都是行头和其相邻的邻居节点;排列的顺序都依照节点各阶邻居数目排序,若没有排满,则用0填充。

优选地,步骤s2包括以下步骤:

s21.将所有序列化矩阵生成的子网拓扑图,并获取各子网络拓扑图的告警信息;

s22.每个子网络拓扑图的告警信息结合序列化矩阵,定义故障矩阵。

优选地,所述故障信息为告警故障信息、节点名称和故障时间。

优选地,将一段时间内,筛选出来的节点名称和故障信息,转换为节点对应的告警编码;将序列化矩阵内各站点的值用其对应的告警编码替代,无告警信息的填充为0,获得表征子网各站点故障状态的矩阵。

为实现上述目的,按照本发明的另一个方面,提供了一种针对复杂网络的网络故障分析系统,所述系统采用如第一方面所述的针对复杂网络的网络故障分析方法。

总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

(1)本发明根据节点的度和连接关系,将复杂网络拓扑进行合理的序列化分割为多个具有特征的子网,每个子网都是同构图,保持了同构性质(依据拓扑形成的序列不随节点名称的变化而改变)以及连接关系(利于神经网络的特征挖掘),提取具有特征的子网拓扑,由于特征子网较小,有利于告警信息数据的获取以及神经网络的训练,从而对子网进行分析,实现了大面积网络覆盖网络故障分析的可行性。

(2)本发明将大型网络拓扑分割后的序列化矩阵和告警信息结合起来,充分利用了各子网的特性,使得系统对故障分析具有很强的扩展性和适应性,可以解决目前基于机器学习的网络故障分析技术中存在的网络拓扑表征不具有唯一性、网络拓扑训练模型不具有普适性的问题,能够实现复杂网络拓扑的网络故障分析。

(3)本发明通过神经网络系统的训练,可以提高故障判断的时间和准确性,同时结合了大型网络拓扑合理的序列化分割,增强了对于动态网络的适应性,保留了重要的子网特征,避免了重复性的网络模型参数训练工作,可以节省大量训练成本和时间。

附图说明

图1为本发明实施例提供的复杂网络网络拓扑示意图;

图2为本发明实施例提供的序列化矩阵示意图;

图3为本发明实施例提供的特征子网拓扑图示意图;

图4为本发明实施例提供的从告警信息筛选出的字段示意图;

图5为本发明实施例提供的故障信息的对应编码示意图;

图6为本发明实施例提供的告警编码示意图;

图7为本发明实施例提供的点故障状态的矩阵示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明提供了一种针对复杂网络的网络故障分析方法,该方法包括以下步骤:

步骤s1.根据节点的度和连接关系,将复杂网络拓扑图分解为紧密相邻的多个子网拓扑图。

通信网络由多个路由、设备等依次相连接构成一个环形网。本发明将连接主体(路由、设备等)简化为节点,两个节点是否相互连接确定边,形成有向网络拓扑图。本发明中,“复杂网络”是指节点数量较多的网络,例如,节点数≥20。复杂的网络拓扑由多个路由、设备相互连接,由于故障告警信息的衍生性和传播性,故障诊断的规则具有一定的原理。因此发生故障时与之相关联的设备、数据都有一定的信息量。通过对复杂网络进行智能化分析,合理分割为多个紧密联系的特征子网,由于特征子网较小,有利于告警信息数据的获取以及神经网络的训练。采用本发明设计的分割方法,能够将复杂网络唯一地分割为多个紧密相邻的子网拓扑图。

步骤s2.将每个子网拓扑图对应的序列化矩阵和该子网拓扑图每次故障信息结合为一个故障矩阵。

将序列化图和告警信息结合,即某个节点出现了告警信息,则写入序列化图中对应的节点位置,形成故障矩阵,用于神经网络的输入。利用分割后的各个子网拓扑同构以及邻接的性质,网络中的告警信息加权编码,生成故障矩阵。

步骤s3.将每个子网拓扑图的所有故障矩阵输入卷积神经网络模型进行训练,得到该子网拓扑图的故障诊断模型。

以每个子网为单位,利用卷积神经网络对子网告警信息进行特征的提取,自动地学习故障与告警之间的特征关联。将划分后的多个特征子网,依次进行神经网络的训练,得到对应的模型并保存,方便后期对新的网络进行分析。

步骤s4.将待测复杂网络拓扑通过步骤s1的方式进行分割,得到该复杂网络拓扑的各子网拓扑,结合告警信息分别引入已训练好的多个子网拓扑图的故障诊断模型进行综合分析,得到网络故障诊断结果。

若输入未经过训练的复杂网络拓扑,利用序列化分割出新的子网拓扑,通过输入已训练好的神经网络模型进行诊断,提取与已训练的子网相似或相同的特征,则能自动化地学习到故障与数据之间的特征关联。

实施例

本实施例以图1的网络拓扑为例,其包含12个节点,默认是双向连接,的网络故障分析经过以下过程:

(1)遍历复杂通信网络中所有节点,根据网络节点在网络中的重要程度,对所有网络节点进行降序排序。

重要程度是指网络节点的“度”和“长度”(节点之间的最短路径长度)。其中,一阶邻居的数量就是“度”,意义是节点通过一步所到达的其他节点数目;二阶邻居的数量是节点通过两步所到达的其他节点数目,以此类推,依据各阶邻居数目进行比较,数目大的排在前面。

表1是对图1网络拓扑进行一阶邻居、二阶邻居、三阶邻居数量的计算,各阶邻居数目如下所示:

表1

由此得出网络节点排序为:4,7,5,10,6,3,8,11,2,9,12,1。

(2)选取排序后序列化顺序中的第一个节点,取ω个邻居节点构成序列化链表。对依据度最大节点的ω个邻居节点按照重要程度降序排列,将其转换成长度为(ω+1)的序列,ω≥排序后序列化顺序中的第一个节点的一阶邻居数量。

ω是依据网络大小以及节点数综合选取的。例如,网络有20个节点,ω可以选择4、5或者6。排序后序列化顺序中的第一个节点,即度最大节点为④,由于度最大节点的一阶邻居数量是4,所以ω≥4都可以,这里取ω=4,节点④的邻居节点有:3,5,6,7。按照度大小的排序顺序依次排列,转换长度为5的序列:4,7,5,6,3。

(3)针对序列化链表中的每个顺序节点,取k个邻居节点按照重要程度进行降序排序,得到包含节点id、大小为(ω+1)*(k+1)的代表一个中心结构的序列化矩阵,k≥排序后序列化顺序中的第一个节点的一阶邻居数量。如若在排序时,没有达到ω或k个节点则用空节点填充。

k是依据网络大小综合选取,例如,网络有20个节点,k可以选择5。将序列的每个节点按照顺序,由于度最大节点的一阶邻居数量是4,k≥4都可以,这里取k=4,依次选取该节点(每一行第一个节点)的4个邻居节点,并根据各阶邻居数目进行排序,得到5*5的序列,序列化矩阵为(数字为节点名称)如图2所示。

第一个节点是根据各阶邻居数目得到度最大的节点,第一列是度最大的节点+其相邻的邻居节点,每一行都是行头+其相邻的邻居节点。排列的顺序都依照节点各阶邻居数目排序,若没有排满,则用0填充。

由此得到如图2所示的第一个序列化矩阵,由这个图可以唯一生成一个如图3所示的具有特征、紧密相邻的特征子网拓扑图。

(4)去除序列化矩阵中的所有节点,重复遍历网络中剩余节点,若剩余节点的最大的度大于α,则进入步骤(2),继续进行序列化矩阵构造操作;若剩余节点的最大的度小于等于α,则舍弃剩余节点。直至所有节点为空,实现将整张大型网络合理分为n张序列化矩阵。

α的取值依赖于ω,本实施例中取值ω/2。

除去之前得到的序列化矩阵中的所有节点,继续提取剩余的特征子网,还剩下几个节点:1,9,11,12。由于剩余节点的度都小于2,不满足构成子网的条件,因此舍弃。最后如图1所示的网络分为了1张序列化矩阵,n=1。

如果剩余节点度大于2,则可以继续上面的序列化矩阵构造操作,生成特征子网。

(5)处理批量的复杂网络拓扑结构,将其分解为多张序列化矩阵。

得到大量的具有特征子网的拓扑,有利于对新的未知网络的分析,丰富模型知识库。

(6)将所有序列化矩阵生成的子网拓扑图,获取各子网络拓扑图的告警信息的获取。

获得子网拓扑后,自行搭建子网的实验环境,依据之前的经验人工制造故障(例如已知设备异常掉电故障、接收测光信号丢失故障),采集告警信息数据,从而对数据进行分析。

告警信息数据包含很多字段,本实施例只选择有用的几个字段进行分析,例如在某一段时间范围内,将告警信息内的节点名称和故障信息筛选出来即可。图4为筛选出来的字段,三列分别表示为:告警故障信息、节点名称、故障时间。

定义告警故障信息对应的编码(告警编码),例如“告警指示信号”(英文为ms_ais)编码为唯一的二进制编码,如00000001,十进制为1。故障信息的对应编码如图5所示。

因此将一段时间内,筛选出来的节点名称和故障信息,可以转换为节点对应的告警编码(各站点的告警编码)。例如,将故障信息(例如“设备异常掉电故障”)编码为唯一的二进制编码,如00000001,十进制为1。

(7)每个子网络拓扑图的告警信息结合序列化矩阵,定义故障矩阵f(g)∈r(w+1)×(k+1)

将序列化矩阵内各站点的值用其对应的告警编码替代,无告警信息的填充为0,获得表征子网各站点故障状态的矩阵f(g)。

设告警编码如图6所示,则故障状态的矩阵f(g)如图7所示。

(8)打上相应标签,构成神经网络样本集。

以上生成的故障状态矩阵f(g)就是一个样本,由于本实施例是人为制造故障进行采集的,所以知道是什么故障,放在确定的文件夹内。

通过多次制造故障,获得多个数据处理成故障状态矩阵f(g),将其分类放入不同的文件夹中,则构成样本集。

(9)将神经网络样本集分为训练集和测试集两部分,训练集用于训练卷积神经网络模型,验证集则用于测试网络模型的准确值和损失值。通过卷积神经网络发掘样本矩阵的不同特征从而对故障进行分类,并通过不断修改模型参数直到模型的准确值和损失值达到目标要求,即可输出训练好的神经网络模型,实现故障数据进行分类并得到故障结果的功能。

卷积神经网络的具体实现有:利用卷积层以及激活函数提取矩阵特征;用池化层对图像进行压缩,但保留了重要特征;全连接层将池化层输出的所有特征类型排列组合,输入到softmax分类层,得到最终的分类结果,维度为1×n。

神经网络模型在对新的故障矩阵进行训练验证时,会给出分类结果,也就是属于哪一个文件夹(标签)。

神经网络模型的相关参数:

c1,c2为卷积层,每个卷积层都有32个filter核函数用于提取特征并采用relu激活函数;p1,p2为池化层,用于特征压缩;fc1,fc2为全连接层;softmax为分类层。输入层是故障状态矩阵经过变换后的多通道灰度bmp图片,其大小是3*5*5的维度。c1层采用了32个大小为3*3的卷积核,并将步长和填充都设为1,这样输出特征图长宽为(5+2-3)/1+1=5,保持了c1输出特征图大小不变。p1层输入是c1层输出,其采用2*2窗口最大池化,步长为1,p1层输出特征图长宽为(5-2)/1+1=4。c2层c1层参数一致,其输出特征图长宽为(4+2-3)/1+1=4,p2层采用2*2窗口最大池化,步长为2,p2层输出特征图长宽为(4-2)/2+1=2,通道数不变。fc1共有1024个神经元,其输出为1*1024,fc2有512个神经元,其输出为1*512,softmax层有8个神经元,用于输出为最终的分类结果,输出的是维度为1*8故障标签向量。

(10)将新的复杂网络拓扑通过序列化的方法合理分割为多个序列化矩阵,结合告警信息依据上述操作获得表征各子网的故障矩阵f(g),分别引入训练好的多个卷积神经网络故障诊断模型,如具有与已训练的子网相同或相似的结构,则能通过卷积神经网络自动地学习到相关特征以及在该网络下故障与告警信息之间的关联,再通过综合分析得到故障诊断结果。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1