掌桥专利:专业的专利平台
掌桥专利
首页

基于比较模型的自适应网络故障诊断方法

文献发布时间:2023-06-19 09:32:16


基于比较模型的自适应网络故障诊断方法

技术领域

本发明属于网络故障诊断领域,尤其涉及一种基于比较模型的自适应网络故障诊断方法,该诊断方法适用于所有包含哈密顿环的网络。

背景技术

随着计算机网络的迅速发展,计算机网络中节点的个数越来越多。在一个庞大的网络中,部分节点发生故障在所难免。在发生网络故障时,如何快速找到故障节点,并对故障节点进行修复或者替换,使网络系统恢复正常,是一个重要的问题。为了更好地解决这个问题,研究者们提出了一系列故障诊断模型,比如PMC模型、比较模型等。在PMC模型下,系统中的相邻节点进行相互测试,作为测试者的节点通过被测试者返回的测试结果来判断被测试者是否发生故障。在比较模型下,系统中作为测试者的节点同时对与其相邻的两个节点进行测试,并通过比较这两个被测试节点返回的测试结果判断被测试者们的故障情况。在这两种模型中,如若测试者本身发生故障,那么该测试者得出的判断结果是不可靠的。

发明内容

为了填补现有技术的空白,本发明提出一种基于比较模型的自适应网络故障诊断方法,当指定一个包含哈密顿环的网络时,能够根据该哈密顿环的特点,将网络划分为若干个节点序列。根据节点序列的特点,可以将网络中的点初步划分为故障点、无故障点、未知点三大类。在比较模型的基础上,结合已获得的故障点、无故障点,可以在后续测试中获取未知点的状态,从而完成对网络中所有节点的故障状态的诊断。本发明根据哈密顿环和比较模型的特性,能够对任何包含哈密顿环的网络进行准确地诊断。本发明具有更好的普适性,能够应用于各种各样包含哈密顿环的网络,即便网络中存在较多的故障点,本发明也能维持较高的准确度。本发明在网络故障诊断的应用上有着广泛的市场前景。

本发明具体采用以下技术方案:

一种基于比较模型的自适应网络故障诊断方法,其特征在于,包括以下步骤:

步骤S1:构建待诊断网络的哈密顿环结构;

步骤S2:沿哈密顿环进行两轮测试,得到测试结果集;

步骤S3:根据所述测试结果集将哈密顿环划分为若干个序列;

步骤S4:根据所述序列的特征对序列中的节点进行初步分类,从而获得无故障节点集、故障节点集、未知节点集;

步骤S5:进行第三轮测试,利用已知的无故障节点集,判断未知节点集中的节点是否故障。

进一步地,步骤S2中,沿哈密顿环进行两轮测试的过程具体为:

步骤S21:在哈密顿环中选择一个紧跟在比较结果为1的节点之后的比较结果为0的节点,用p代表当前正在被访问节点的比较结果;

步骤S22:在哈密顿环中沿着顺时针方向检查与比较结果p相邻的比较结果,并用该比较结果更新p的值,如若p=0,则重新执行步骤S22,否则执行步骤S23;

步骤S23:在哈密顿环中沿着顺时针方向检查与比较结果p相邻的比较结果,并用该比较结果更新p的值,如若p=1,则重新执行步骤S23,如若p=0且p所对应的点未被标记,将该点标记并回到步骤S22,否则,步骤S2结束。

进一步地,步骤S3根据所述测试结果集将哈密顿环划分成s个序列;

步骤S4中,根据所述序列的特征对序列中的节点进行初步分类的过程具体为:

步骤S41:对于序列i(1≤i≤s),根据该序列的特征得到S

步骤S42:将仍未被标记的节点标记为未知节点,放入未知节点集。

进一步地,步骤S5具体包括以下步骤:

步骤S51:检查所述无故障节点集中的每个节点,若找到一个同时拥有无故障邻居和未知邻居的节点,且该节点在第三轮测试中未被使用过,则执行步骤S52,否则步骤S5结束;

步骤S52:利用步骤S51中找到的节点同时对一个无故障节点和一个未知节点进行测试,得到对应的比较结果:如若比较结果为0,说明该未知节点是无故障节点,将其移出除未知节点集并放入无故障节点集,返回步骤S51,否则该未知节点是故障节点,将其移出除未知节点集并放入故障节点集,返回步骤S51。

与现有技术相比,本发明及其优选方案立足网络系统的整体特征,适用于所有包含哈密顿环的网络,且在进行诊断时有较高的准确率。

附图说明

下面结合附图和具体实施方式对本发明进一步详细的说明:

图1为本发明实施例中待诊断网络的哈密顿环结构示意图;

图2为本发明实施例中划分哈密顿环得到的序列示意图;

图3为本发明划分哈密顿环后所得序列的类型示意图;

图4为本发明实例方法流程图;

图5为本发明实施例中N对正确率的影响示意图;

图6为本发明实施例中N对错误率的影响示意图;

图7为本发明实施例中N对虚警率的影响示意图;

图8为本发明实施例中W对正确率的影响(0.0≤W≤1.0)示意图;

图9为本发明实施例中W对错误率的影响(0.0≤W≤1.0)示意图;

图10为本发明实施例中W对虚警率的影响(0.0≤W≤1.0)示意图;

图11为本发明实施例中W对正确率的影响(1.0≤W≤2.5)示意图;

图12为本发明实施例中W对错误率的影响(1.0≤W≤2.5)示意图;

图13为本发明实施例中W对虚警率的影响(1.0≤W≤2.5)示意图;

图14为本发明实施例中[a,b]对正确率、错误率和虚警率的影响示意图。

具体实施方式

为让本专利的特征和优点能更明显易懂,下文特举实施例,作详细说明如下:

如图4所示,本实施例提供一种基于比较模型的自适应网络故障诊断方法,包括以下步骤:

步骤S1:构建待诊断网络的哈密顿环结构;

步骤S2:沿哈密顿环进行两轮测试,得到测试结果集;

步骤S3:根据所述测试结果集将哈密顿环划分为若干个序列;

步骤S4:根据所述序列的特征对序列中的节点进行初步分类,从而获得无故障节点集、故障节点集、未知节点集;

步骤S5:进行第三轮测试,利用已知的无故障节点集,判断未知节点集中的节点是否故障。

进一步地,步骤S2中,沿哈密顿环进行两轮测试的过程具体为:

步骤S21:在哈密顿环中选择一个紧跟在比较结果为1的节点之后的比较结果为0的节点,用p代表当前正在被访问节点的比较结果;

步骤S22:在哈密顿环中沿着顺时针方向检查与比较结果p相邻的比较结果,并用该比较结果更新p的值,如若p=0,则重新执行步骤S22,否则执行步骤S23;

步骤S23:在哈密顿环中沿着顺时针方向检查与比较结果p相邻的比较结果,并用该比较结果更新p的值,如若p=1,则重新执行步骤S23,如若p=0且p所对应的点未被标记,将该点标记并回到步骤S22,否则,步骤S2结束。

进一步地,步骤S3根据所述测试结果集将哈密顿环划分成s个序列;

步骤S4中,根据所述序列的特征对序列中的节点进行初步分类的过程具体为:

步骤S41:对于序列i(1≤i≤s),根据该序列的特征得到S

步骤S42:将仍未被标记的节点标记为未知节点,放入未知节点集。

进一步地,步骤S5具体包括以下步骤:

步骤S51:检查所述无故障节点集中的每个节点,若找到一个同时拥有无故障邻居和未知邻居的节点,且该节点在第三轮测试中未被使用过,则执行步骤S52,否则步骤S5结束;

步骤S52:利用步骤S51中找到的节点同时对一个无故障节点和一个未知节点进行测试,得到对应的比较结果:如若比较结果为0,说明该未知节点是无故障节点,将其移出除未知节点集并放入无故障节点集,返回步骤S51,否则该未知节点是故障节点,将其移出除未知节点集并放入故障节点集,返回步骤S51。

在本实施例中,给定一个包含N个节点的网络系统,若想使用该基于比较模型的自适应网络故障诊断方法诊断出网络中的节点是否发生故障,首先需要找到关于网络内节点的哈密顿环结构,具体结构如图1所示。

对于图1所示的结构,为了保证该诊断方法的准确性,该哈密顿环中最多存在的故障点个数

在得到关于网络内节点的哈密顿环结构后,需要先沿着哈密顿环进行两轮测试,得到测试结果集。根据测试结果集将该哈密顿环结构划分为若干个序列,划分得到的序列如图2所示。

划分哈密顿环结构得到的序列分为Type A和Type B两种类型,具体如图3所示。从图3的结构可以看出,不论是哪一种序列,序列的前x个节点的比较结果都是0,随后的y个节点的比较结果都是1,最后一个节点的比较结果是0。

对于图3所示的结构,有以下几个重要的概念:

设H是一个包含哈密顿环的网络系统,其有N个节点,可以划分为s个序列,对于序列i,1≤i≤s,有:

(1)x

(2)y

(3)

在本实施例中,优选的,为了提高诊断效率,设定了如下约束:

(1)只有网络系统中的两个节点均为同一个节点的邻居,这两个节点才可以被比较,且比较是相互的。

(2)邻居节点之间进行互相比较且每个节点的都可以通过一个正常节点与另一个正常节点进行比较。

(3)若用于测试的节点是故障的,那么测试结果取0或1是随机的,概率均为0.5。

(4)系统中不存在所有节点均故障的情况,且故障率应相对较低。

在本实施例中,设置了相应的实验进行验证,具体如下:

1.生成网络

生成网络模块即给定网络节点数量N、网络故障程度W、网络中节点的邻居个数区间[a,b],从而随机设置节点。在生成网络的时候,给每个网络节点一个初始的状态值(0代表正常,1代表故障)。初始值的选取根据网络故障程度确定。若设置网络故障程度为0.75,那么网络中故障点的个数为0.75T。然后在该网络中随机选取0.75T个节点,设置这些节点初始是故障的,并设置剩余节点为非故障。

随后,还需要确定网络中每个节点的邻居。对于网络中的某个节点,该节点的邻居个数是在网络中节点的邻居个数区间中随机选取的整数。完成网络中所有节点的邻居个数的选取后,对于某个特定节点,根据该节点的邻居个数以及其它节点的邻居个数,为该节点随机分配邻居。

2.故障诊断

故障诊断模块是该实验的核心,主要是对生成的网络中的所有节点进行诊断,判断节点的故障状态,并通过诊断结果的正确率、错误率和虚警率对该算法进行评价。

正确率、错误率、虚警率的定义如下:

3.影响条件

影响因素模块主要是模拟不同条件对该诊断方法的影响。本实施例主要研究网络节点数量N、网络故障程度W、网络中节点的邻居个数区间[a,b]对该诊断方法正确率、错误率、虚警率的影响。对于网络节点数量N,设置梯度为100;对于网络故障程度W,当网络故障程度在0.0到1.0之间,设置梯度为0.2,当网络故障程度在1.0到2.5之间,设置梯度为0.5;对于网络中节点的邻居个数区间[a,b],设置区间上限梯度和下限梯度均为20。

图5、图6和图7是对一系列网络故障程度为1、网络中节点的邻居个数区间为[2,18]且节点数量变化的网络中所有节点进行诊断后的正确率、故障率和虚警率,意在探究网络节点数量对实验结果的影响。图8、图9、图10、图11、图12和图13是对一系列网络节点数量为500、网络中节点的邻居个数区间为[2,18]且网络故障程度变化的网络中所有节点进行诊断后的正确率、故障率和虚警率,意在探究网络故障程度对实验结果的影响。图14是对一系列网络故障程度为1且节点数量和网络故障程度均变化的网络中所有节点进行诊断后的正确率、故障率和虚警率,意在探究在不同节点数量的网络中节点的邻居个数区间对实验结果的影响。

对于上述各子实验,每个子实验均重复1000次,将同一条件下获得的实验结果数据取平均值后,通过折线统计图或者表格,反映网络节点数量、网络故障程度、网络中节点的邻居个数区间对该诊断方法正确率、错误率、虚警率的影响。

在本实施例中,正确率、错误率、虚警率分析,具体如下:

从图5、图6和图7中可以明显看到,对于同一网络系统,随着网络中节点的数量增大,该诊断方法的正确率逐渐提高且接近或等于1,故障率逐渐降低且接近或等于0,而虚警率恒为零,受网络中节点数量的影响不大。从图8、图9和图10中可以看出,当网络故障程度在0.0到1.0之间时,网络故障程度的变化对该诊断方法的正确率、错误率、虚警率的影响不大。但是从图11、图12和图13中可以看出,当网络故障程度在1.0到2.5之间时,随着网络故障程度增大,该诊断方法的正确率降低(不低于0.9),错误率和虚警率均提高(不高于0.1)。从图14中可以观察到,在各种节点数量不同网络中,节点的邻居个数区间的变化对该诊断方法的正确率、错误率、虚警率的影响不大,且正确率恒接近或等于1,错误率和虚警率恒接近或等于0。从实验结果来看,本实施例提供的诊断方法在对各种网络的诊断中均有良好的表现。

本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的基于比较模型的自适应网络故障诊断方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。

技术分类

06120112203486