一种自适应网络故障监控定位安全模型的构建方法
技术领域
本发明涉及核心网技术领域,具体提供了一种自适应网络故障监控定位安全模型的构建方法。
背景技术
随着网络规模的不断扩大,使得网络的维护和操作变得相当复杂,如何保证网络安全、稳定和可靠地运行,一直是网络维护领域的热门课题。由于网络固有的复杂性、不确定性,通常情况下无法获得所有与网络故障相关的信息,如何尽快定位故障那个仍然是一个棘手的问题。如何通过多维立体监控、综合一切可以获取到的数据信息(可能是不确定、不完整的信息)以最少的操作、最低的代价获得确切故障的进一部信息,通过诊断操作,最终准确定位故障,所以提出要构建自适应重大故障定位安全模型。
发明内容
本发明的目的是提供一种自适应网络故障监控定位安全模型的构建方法。
本发明的方法是按以下方式实现的,安全模型的数据源是来自于告警监控、性能监控、信令监控、系统拨测,告警监控系统把输入的数据源送入安全模型进行处理,安全模型中有定义好的故障集和症状集组成的矩阵,在安全模型的初始矩阵中,数据较多,里面保存了较多的故障集数据和症状集数据,为了能提高效率准确定位,安全模型根据输入的数据利用数学中矩阵粗糙集属性约简求核的模型对矩阵进行划简,求出该矩阵的最简解数据,即一个故障集与症状集对应关系的最简集合,根据输入的症状快速定位到所对应的故障,把对应出的结果进行故障诊断,把经过安全模型诊断后的结果显示给监控人员,监控人员根据输出结果能够快速、准确地发现、定位故障,重大故障定位安全模型定位步骤如下:
名字定义
故障表现症状集E={e1,e2,…,em},表示网络潜在的所有故障症状,Ec为E的子集,表示当前观测到的所有故障表现症状;
候选故障集F={f1,f2,…,fn},表示所有可能导致故障发生的原因/因素,Fc为F的子集,表示可能导致Ec故障集合;
诊断操作集0={o1,o2,…,ok},为确定Ec由Fc导致,所需的诊断操作;模型的技术方案描述:
安全模型描述:
1)故障症状发生:通过多维立体监控,包括信令监测、设备告警、性能指标、自动拨测等途径,获取网络运行实时状况信息,对网络运行进行实时监测和分析,当出现故障表现症状集E中某个或某些表现症状时,触发故障定位安全模型,把症状集数据数据送入到安全模型进行处理;
2)候选故障判定
针对输入的故障表现症状集Ec中的表现症状ei(1≤i≤s),系统进行处理,故障集和症状集中的数据存在着多对多的关系,首先对故障集和症状集组成的矩阵进行划简求Core,具体描述如下:
把故障集和症状集按照逻辑关系进行矩阵排列,故障和症状有关联关系的在矩阵中填写1,没有关联关系的填写0;
把故障集和症状集地矩阵称为矩阵F[m,n],把每一列看成一个列向量;首先检索所有的列向量,把只包含一个“1”的单位列向量找出来,对于单位列向量,可以直接看出故障和症状的对应关系,发生症状En,对所对应的故障就是F1,找出单位列向量后进行下面的操作:
(1)首先取矩阵F[m,n]第K(n>K>0)列的列向量,与第K+1列进行逻辑与运算,计算得出一个中间结果向量[a,b,c,d,…],(a,b,c,d的取值范围是0或者1),判断中间结果向量是否为单位向量,是单位向量[0,…,1,…]则单位向量中为1的元素的序号j,则F[j]=E[k]E[k+1];不是单位向量,第K列向量再与第K+2列进行逻辑与运算,直到最后的列向量En,把中间结果按照运算顺序组成一个新的矩阵R1[m,n];
(2)把第一步计算的中间结果R1(m,n)中的第i(0<i<n)列向量与矩阵F[m,n]的第K+2列列向量进行逻辑与运算,计算得出一个中间结果向量(A,B,C,D),(A,B,C,D)的取值范围是0或者1,判断中间结果向量是否为单位向量,是单位向量(0,…,1,…),单位向量中为1的元素的序号为j,则Fj=E(k)E(k+1)E(K+2);不是单位向量,再与第K+3列进行逻辑与运算,直到最后的列向量En,把中间结果按照运算顺序组成一个新的矩阵R2[m,n],再把R2[m,n]做为新矩阵从K+3列开始与矩阵F[m,n]进行逻辑与运算,循环进行运算直到R[n-1]与F[m,n]的第n列进行运算;
(3)再次取矩阵F[m,n]第K+1(n>K>0)列的列向量,与第K+2列进行逻辑与运算,计算得出一个中间结果向量[a,b,c,d,…],[a,b,c,d]的取值范围是0或者1,判断中间结果向量是否为单位向量,是单位向量[0,…,1,…]则单位向量中为1的元素的序号j,则F[j]=E[k+1]E[k+2];不是单位向量,第K+1列向量再与第K+3列进行逻辑与运算,直到最后的列向量En,把中间结果按照运算顺序组成一个新的矩阵B1[m,n];
(4)把新矩阵B1[m,n]中的第i(0<i<n)列向量与矩阵F[m,n]的第K+3列列向量进行逻辑与运算,计算得出一个中间结果向量(A,B,C,D),(A,B,C,D)的取值范围是0或者1,判断中间结果向量是否为单位向量,是单位向量(0,…,1,…)单位向量中为1的元素的序号为j,则Fj=E(k)E(k+2)E(K+3);不是单位向量,再与第K+4列进行逻辑与运算,直到最后的列向量En,把中间结果按照运算顺序组成一个新的矩阵B2[m,n],在把B2[m,n]做为新矩阵从K+4列开始与矩阵F[m,n]进行逻辑与运算,循环进行运算直到R[n-1]与F[m,n]的第n列进行运算;
(5)重复以上步骤,每重复一次K增加1,直到k=n-1;这样就实现了矩阵F[m,n]中的任何一列向量与其他的列向量都进行了逻辑运算;
(6)经过以上运算后,得出一个最简的矩阵,即是矩阵F[m,n]的Core,根据矩阵的Core的看出,Fj={En,Em}的最为直接的关联关系,在计算结果中,有几组都得到同一个单位向量,则从其中选择向量个数最少的一个,根据求出的Core得出一个症状集和故障集的最简矩阵,得到对应ei的候选故障Fi,从而进一步建立针对当前故障表现症状集Ec的候选故障集,划简后的Core的结果如下:
F1=[E1,E6]
F2=[E0,E7]
F3=[E0,E8]
F4=[E1,E3]
F5=[E5]
F6=[E0,E6]
3)诊断操作
对于候选故障集Fc={f1,f2,…,ft}中每个故障fj(1≤j≤t),通过其中一个或多个诊断操作进行故障定位,对应诊断操作序列集0j={o1,o2,…,ok},根据症状的严重程度,找到对应的关联故障进行逐一诊断;
4)安全模型扩展:
(1)发生概率自学习:当模型初始化时,表现症状ei与候选故障fj之间的发生概率需要维护人员根据历史经验进行设定,但是此模型作为一个训练模型,随着故障数据的积累,不断训练模型,根据表现症状ei与故障fj的发生次数和关联情况对发生概率值进行反馈修定;
(2)学习规则:对于一个表现症状ei的候选故障发生次数之和设定初始值Cei=10,则候选故障fj的初始次数为Cfj=10*p(fj/ei),模型运行后,针对表现症状ei定位到故障fj,故障fj的发生次数Cfj+1,同时候选故障发生次数之和Cei+1,则故障fj的发生概率修订为:p(fj/ei)=Cfj/Cei,根据故障和症状发生概率来进行矩阵的排列。
本发明的优异效果是:
高灵敏度:安全模型具有高灵敏度,当网络运行发生异常,安全模型必须在最短的时间内发现,并进行故障准确定位。
可扩展性:安全模型的规则可以自动调整,不断进行完善,包括数据源接入、规则算法进行灵活扩展。
同步性:针对同一故障不同数据源,由于监测机制不同,可能输入安全模型的时间不会完全同步,存在时间差,所以安全模型对于表现症状的诊断必须有个时间范围3分钟。
通过多维立体监控,包括信令监测、设备告警、性能指标和自动拨测途径,获取网络运行实时状况信息,作为安全模型的数据输入;当网络运行出现某个或某些故障表现症状时,某网络指标突然成倍下降,根据获取到的相关信息,通过规则定义推理获得最有可能引起表现症状的故障假设列表;然后对于每种可能的故障按照优先级进行诊断操作,通过诊断操作最终准确定位故障,作为模型的输出结果,监控人员根据输出结果能够快速、准确地发现、定位故障,为网络故障的快速修复提供了有力的保障和支撑。
附图说明
图1是模型技术方案描述图:
图2是安全模型流程图;
图3是矩阵划简求Core描述图;
图4故障集和症状集矩阵图;
图5故障集和症状集矩阵实例图。
具体实施方式
参照附图对本发明的方法作以下详细的说明;
包括以下步骤:
名字定义
故障表现症状集E={e1,e2,…,em},表示网络潜在的所有故障症状,Ec为E的子集,表示当前观测到的所有故障表现症状;
候选故障集F={f1,f2,…,fn},表示所有可能导致故障发生的原因/因素,Fc为F的子集,表示可能导致Ec故障集合;
诊断操作集O={o1,o2,…,ok},为确定Ec由Fc导致,所需的诊断操作;模型的技术方案描述:
安全模型描述:
1、故障症状发生
通过多维立体监控,包括信令监测、设备告警、性能指标、自动拨测等途径,获取网络运行实时状况信息。对网络运行进行实时监测和分析,当出现故障表现症状集E中某个或某些表现症状时,触发故障定位安全模型,把症状集数据数据送入到安全模型进行处理。
2、候选故障判定
针对输入的故障表现症状集Ec中的表现症状ei(1≤i≤s),系统进行处理,故障集和症状集中的数据存在着多对多的关系,首先对故障集和症状集组成的矩阵进行划简求Core,具体描述如下:
把故障集和症状集按照逻辑关系进行矩阵排列,故障和症状有关联关系的在矩阵中填写1,没有关联关系的填写0。
把故障集和症状集地矩阵称为矩阵F[m,n],把每一列看成一个列向量。首先检索所有的列向量,把只包含一个“1”的单位列向量找出来,对于单位列向量,可以直接看出故障和症状的对应关系,例如:如果发生症状En,对所对应的故障就是F1。找出单位列向量后进行下面的操作:
(1)首先取矩阵F[m,n]第K(n>K>0)列的列向量,与第K+1列进行逻辑与运算,可以计算得出一个中间结果向量[a,b,c,d,…],(a,b,c,d的取值范围是0或者1)。判断中间结果向量是否为单位向量,如果是单位向量[0,…,1,…]则单位向量中为1的元素的序号j,则F[j]=E[k]E[k+1];如果不是单位向量,第K列向量再与第K+2列进行逻辑与运算,直到最后的列向量En。把中间结果按照运算顺序组成一个新的矩阵R1[m,n]。
(2)把第一步计算的中间结果R1(m,n)中的第i(0<i<n)列向量与矩阵F[m,n]的第K+2列列向量进行逻辑与运算,可以计算得出一个中间结果向量(A,B,C,D),(A,B,C,D的取值范围是0或者1)。判断中间结果向量是否为单位向量,如果是单位向量(0,…,1,…)单位向量中为1的元素的序号为j,则Fj=E(k)E(k+1)E(K+2);如果不是单位向量,再与第K+3列进行逻辑与运算,直到最后的列向量En。把中间结果按照运算顺序组成一个新的矩阵R2[m,n]。在把R2[m,n]做为新矩阵从K+3列开始与矩阵F[m,n]进行逻辑与运算,循环进行运算直到R[n-1]与F[m,n]的第n列进行运算。
(3)再次取矩阵F[m,n]第K+1(n>K>0)列的列向量,与第K+2列进行逻辑与运算,可以计算得出一个中间结果向量[a,b,c,d,…],(a,b,c,d的取值范围是0或者1)。判断中间结果向量是否为单位向量,如果是单位向量[0,…,1,…]则单位向量中为1的元素的序号j,则F[j]=E[k+1]E[k+2];如果不是单位向量,第K+1列向量再与第K+3列进行逻辑与运算,直到最后的列向量En。把中间结果按照运算顺序组成一个新的矩阵B1[m,n]。
(4)把新矩阵B1[m,n]中的第i(0<i<n)列向量与矩阵F[m,n]的第K+3列列向量进行逻辑与运算,可以计算得出一个中间结果向量(A,B,C,D),(A,B,C,D的取值范围是0或者1)。判断中间结果向量是否为单位向量,如果是单位向量(0,…,1,…)单位向量中为1的元素的序号为j,则Fj=E(k)E(k+2)E(K+3);如果不是单位向量,再与第K+4列进行逻辑与运算,直到最后的列向量En。把中间结果按照运算顺序组成一个新的矩阵B2[m,n]。在把B2[m,n]做为新矩阵从K+4列开始与矩阵F[m,n]进行逻辑与运算,循环进行运算直到R[n-1]与F[m,n]的第n列进行运算。
(5)重复以上步骤,每重复一次K增加1,直到k=n-1;这样就实现了矩阵F[m,n]中的任何一列向量与其他的列向量都进行了逻辑运算。
经过以上运算后,可以得出一个最简的矩阵,即是矩阵F[m,n]的Core。根据矩阵的Core的可以看出Fj={En,Em}的最为直接的关联关系。在计算结果如果有几组都可以得到同一个单位向量,则从其中选择向量个数最少的一个。根据求出的Core得出一个症状集和故障集的最简矩阵,得到对应ei的候选故障Fi,从而进一步可以建立针对当前故障表现症状集Ec的候选故障集。
划简后的Core的结果:
F1=[E1,E6]
F2=[E0,E7]
F3=[E0,E8]
F4=[E1,E3]
F5=[E5]
F6=[E0,E6]
3、诊断操作
对于候选故障集Fc={f1,f2,…,ft}中每个故障fj(1≤j≤t),可以通过其中一个或多个诊断操作进行故障定位,对应诊断操作序列集0j={o1,o2,…,ok}。根据症状的严重程度,找到对应的关联故障进行逐一诊断。
实施例
某个ERICSSON交换机出现CP负荷过高的症状,对交换机发送PLLDP的指令可以显示出当前交换机的负荷情况,根据操作结果进一步判定故障fj是否确实发生。
如果故障fj确实已发生,则故障准确定位,诊断结束,不再对其它f进行诊断,直接输出故障fj。如Fc中所有故障都诊断结束,但是未准确定位,提示用户进行候选故障集数据不足,需要进行数据补充。
模型要求
安全模型扩展:发生概率自学习:当模型初始化时,表现症状ei与候选故障fj之间的发生概率需要维护人员根据历史经验进行设定,但是此模型也可以作为一个训练模型,随着故障数据的积累,不断训练模型,根据表现症状ei与故障fj的发生次数和关联情况对发生概率值进行反馈修定。
学习规则:对于一个表现症状ei的候选故障发生次数之和设定初始值Cei=10,则候选故障fj的初始次数为Cfj=10*p(fj/ei)。模型运行后,针对表现症状ei如定位到故障fj,故障fj的发生次数Cfj+1,同时候选故障发生次数之和Cei+1,则故障fj的发生概率修订为:p(fj/ei)=Cfj/Cei。根据故障和症状发生概率来进行矩阵的排列。
本发明实施例提供的故障定位方法,包括两个阶段:对故障集和症状集的关联关系矩阵的化简阶段,以及利用化简后的矩阵对监控到的故障进行定位的阶段。其中,矩阵化简阶段相对独立,在每次更新故障集(如增加或删除元素)、更新症状集(如增加或删除元素),或更新故障与症状的关联关系时,可以及时对更新后的故障集和症状集的关联关系矩阵进行化简,以便在网络或设备运行时,可利用更新后的矩阵进行故障定位。
以上所述的实施例,只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。