基于探针预测的网络故障定位方法

文档序号:7613646阅读:305来源:国知局
专利名称:基于探针预测的网络故障定位方法
技术领域
本发明涉及网络探测技术领域,尤其涉及一种基于探针预测的网络故障定位方法。
背景技术
随着互联网信息化的普及,计算机系统网络的规模不断扩大和复杂程度不断增大,网络管理的难度也越来越大,如何及时有效地对网络进行管理已经成为我们目前亟待解决的问题。目前,被普遍接受的网络管理功能必须包含以下五个方面故障管理、计费管理、配置管理、性能管理和安全管理。故障管理又是网络管理中最为基本最为重要的功能之一。当网络中的某个组件发生故障时,网络管理器必须及时准确地找到故障源并进行排除,以保障网络的可靠性。当网络规模比较小时,网络管理器能根据有关信息对警报进行处理,排除故障。而当网络规模复杂度比较高时,网络管理器就应该执行一些诊断测试来辨别故障原因。而随着网络规模的不断扩大和网络复杂度的日益提高,故障管理的难度也就越来越大。故障诊断作为故障管理的一个核心功能,在当今的网络管理中发挥着越来越大的作用。目前最常用的故障诊断技术是主动探测技术。主动探测技术首先从选定的基站向其它所有的网络设备发送探测,接着通过计算探测的熵值,然后应用到贝叶斯网络模型中,通过进一步的计算定位到网络中的故障源。然而随着网络规模的不断扩大,各类业务应用量的加大,以及故障在不同协议层的出现,对网络探测的要求也越来越高。当前解决网络故障定位难题的方法主要是利用主动探针的技术。探针是专门用来收集系统网络性能信息的端到端测试事务集,而主动探针则是利用概率推理技术并结合信息论方法来从探针集中主动选择出少量最具有信息量的探针,以对系统网络的状态进行快速推理。现有技术的发展状况如下技术方案I :申请号为200510074911. X的中国专利申请,涉及一种识别网络故障节点的方法,其核心技术是首先系统的网络节点发送检测报文给与其相关联的网络节点,然后监测所述相关联网络节点的响应报文,当确认未收到所述相关联的网络节点的响应报文时,则确定该关联网络节点为故障网络节点。技术方案2 :申请号为200710188015. 5的中国专利申请公开了一种基于主动探针的服务故障诊断系统及其方法,使用主动探针有效监测网络中的服务性能,保证在各个接入网内使用服务的性能,当监测发现异常时,根据监测到的症状快速准确地定位出故障根源。该发明专利申请监测开销小,有良好的故障诊断性能,同时该发明专利申请基于不确定性模型选取探针,能够以较 小的探针开销保证对每个故障的检测率,而且获得了很好的诊断性能。文献方案I :《Adaptive diagnosis in distributed systems》,该文献最早提出了主动探针技术。探针是专门用来收集系统网络性能信息的端到端测试事务集,而主动探针技术则是利用概率推理技术并结合信息论方法来从探针集中主动选择出少量最具有信息量的探针,以对系统网络的状态进行快速推理。这种算法不仅在发送的探针数量上要比传统算法的少很多,而且在故障定位所耗费的时间上也大为减少。文献方案2:《Fault diagnosis in IP Networks via Noiseless MulticastProbing)),该文献提出了一个基于多播技术的析取故障模型,来解决故障定位难题。在这个析取故障模型中,当且仅当一个接收探针的某个祖先节点出现故障,这个接收探针才会记录这个故障测量。利用这个模型并通过探测值可以计算出最可能的故障节点。该文献提出的模型处理方法充分利用多播树的底层结构特点,与普通的概率推理相比要更加有效。下面论述现有技术的缺陷。目前,从计算机科学这门学科中派生出多种多样的网络监听方法,总的来说可以分为两类被动收集信息的探测方法和主动探测的网络探测方法。采用被动的收集信息进 行网络探测的这种方法的网络管理系统要求网络组件向网管系统提供内部消息的功能,以将自己收集到的消息主动上报给网管系统。但是随着网络规模的不断增大及复杂度的增力口,被动收集信息的网络管理系统由于其实现的难度大及较低的运行效率,已经无法满足管理越来越复杂的网络的需要。同时,诸如被第三方组件、中间件或其它主机开发的被管实体根本就不具有管理接口,无法实现上报消息的功能。这就要求我们提供更好的模型来对网络进行探测,在这种背景下,主动探测技术被提了出来。基于主动探测的网络管理系统使用主动探测的方法对被管设备进行探测并对探测结果进行分析,以完成故障定位,无需被管设备上报其所收集的消息,具有主动、高效以及自适应的特性,并能以很小的代价尽早地获知网络、系统故障、服务失败以及性能衰退等症状,从而为根源故障的定位分析提供了依据。尽管主动探测的方法与被动收集信息的方法相比具有很大优势,但是其为网络带来了额外的配置开销和流量负载。首先,主动探测的方法需要在网络中配置一定数量的探测基站以保证从基站发出的探针能覆盖整个网络,并能有效地定位网络中发生的故障。而这样的特殊节点的存在就会引入对节点的配置以及维护开销。其次,发送的探针实际上也是一种网络开销,过大的网络探测集合虽然对于探测结果来说是有好处的,但是也对网络带来了更大的负载,造成了某些网络节点的拥塞。因此,如何从候选探针集合中选择出一个高效并且网络负载较小的探测集合就显得尤为重要了。即探针选择算法选出的探针集合既要能将网络状态的不确定度降低到最小,同时探针集合的规模要尽可能的小。具体来说,上述技术方案I的缺陷为该方案通过网络节点向其相关联的网络节点发送监听报文来判断其相关联的网络节点的状态,这种方案需要在网络中发送大量监听报文,对网络的流量负载影响很大,并且当网络拥塞而无法接收到监听报文时,不能确定是相关联的网络节点一定处于故障状态。上述技术方案2的缺陷为该方案先向所监测网络中发送一定数量的监测探针,以检验网络中是否有故障产生,当网络中有故障产生时再发送一定数量的诊断探针来进行故障定位,这种方案需要向网络中发送大量的探针,当网络越复杂,所需要发送的探针数量就越多,这也增加了网络中的流量,对网络的负载影响比较大。上述文献方案I的缺陷为该文献最早提出了主动探测的技术,该算法的优点是利用了概率论的技术并结合信息论方法对网络状态进行了推理,相比于被动收集消息的方法来说网络负载开销小,定位准确。但是这种算法需要对探针的熵进行复杂的计算,计算代价很高,并且只适用于网络中出现单故障的情况。所以这种算法并不适用于当前这种网络环境比较复杂、故障比较多的情况。上述文献方案2的缺陷为在主动探测的技术上加入了时间因素的考虑,使得探针集合所能获得的互信息尽可能的大,不仅故障定位更加准备,网络的平均开销也更加小。但是这种算法需要向网络中发送大量探针,对网络资源的占用量仍然比较大。

发明内容
(一)要解决的技术问题针对现有网络探测技术中需要向网络中发送大量探针的问题,本发明要解决的技术问题是减少主动探测技术所需发送的探针数量,并快速定位到网络中的故障。

( 二 )技术方案为了解决上述技术问题,本发明提供了一种基于探针预测的网络故障定位方法,包括以下步骤步骤101 :初始化当前的已探测集合A与故障节点集合F为空;其中,已探测集合A表示从探针集合M中选出的、已发出的探针;故障节点集合F表示已经定位到的故障节点集合;探针集合M由向待定位网络中的网络设备发送的探针组成;步骤102 :从探针集合M中选出K个探针进行发送;步骤103 :通过已探测集合A获得一个稀疏矩阵,并从所述探针集合M中移除已发送的探针;步骤104 :对所得到的稀疏矩阵进行预测,得到一个完全矩阵;步骤105 :从所述完全矩阵中选出最不确定的N个探针进行发送;步骤106 :利用步骤105中发送的探针的结果对所述完全矩阵进行更新;步骤107 :进行故障节点的定位,计算得到故障节点集合。其中,步骤104中,利用最大边缘矩阵分解MMMF对所得到的稀疏矩阵进行预测。其中,步骤107中,利用贝叶斯网络模型进行故障节点的定位。其中,步骤107之后还包括判断最新通过贝叶斯网络模型计算得到的故障节点集合与当前的故障节点集合相比是否有变化,若无变化则最新得到的故障节点集合即为要得到的结果,否则进入步骤104进行下一轮的故障定位。其中,在进行下一轮的故障定位之前,首先将最新得到的完全矩阵变换成二分矩阵,然后执行步骤104 107进行下一轮的故障定位,直到故障节点集合不再有变化。其中201 :学习稀疏矩阵的特征向量u和系数向量ν ;202 :计算u与ν的乘积,得到完全矩阵。其中,步骤107具体包括步骤301、根据待定位的参数计算所有网络节点的条件概率;步骤302 :计算出使所述条件概率最大时的条件,满足该条件的所有节点集合即为要计算得到的故障节点集合。其中,采用MMMF预测方法进行预测时得到的完全矩阵中,元素被填充为[_1,1]区间中的实数,实数的绝对值越小,探针的不确定度就越高。其中,所述待定位的參数包括所有网络节点的先验概率及所有探针的結果。(三)有益效果
本发明将实际的网络建模成ー个二分的贝叶斯网络模型,该模型有利于确定网络节点与其余节点之间的关系,依据模型的特点,选出所要发送的探针的集合,但并不完全发送而只是发送其中极少的一部分,然后利用已经提出的端到端的性能预测算法MMMF对其余未发送探针的结果进行预测,然后再选出少量探測进行发送,以提高预测的准确度,不仅使得网络中所需要发送的探针数量较少,从而避免网络故障定位所造成的不必要的网络开销,而且故障定位的准确度也很高,实现高效率低开销的故障定位。其技术关键点在于I)将实际网络利用贝叶斯理论进行建摸。通过建立贝叶斯模型,可以让各个网络节点不用上报它们各自的状态就可以进行故障定位,減少了因上报而产生的网络流量。2)采用探针预测的方法来进行故障定位,而不发送已选的所有探针。通过发送少量的探针来预测所有探针的結果,从而进行故障定位,这样就进ー步减轻了网络中的流量负担。3)采用从已经预测的探测结果中选择预测结果最不确定的探针进行重新发送,提高预测的准确度。在进行探针预测的过程中,若不选择部分探针重新进行发送,则探针预测的准确度很低,故障定位的结果就不一定准确。若随机选择部分探针重新进行发送,则可能选择那些已经发送过的探针,实际探针预测的准确度提高很少。而选择预测结果中最不确定的探针重新发送,避免了选择那些已经发送过的探针,也最大程度的提高了探针预测的准确度,从而能更快的定位到故障网络节点。


图I是本发明实施例的方法流程图;图2是本发明实施例的方法中粒子进行位置更新的示意 图3是ー个贝叶斯网络模型的示例;
图4是利用贝叶斯网络模型进行故障定位的流程 图5不出了实验结果。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进ー步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。本发明的设计思路为首先向网络中发送少量的探针,得到探测结果后利用端到端的探针预测技术预测出剩下的探针的结果,最后利用主动探测技术中的贝叶斯网络模型计算网络中出现故障的节点。首先对实施本发明实施例的定位方法时要用到的參数进行说明网络拓扑即待故障定位的网络的拓扑结构,包括网络终端设备、通信设备以及传输介质,网络终端设备和通信设备可以统称为网络设备。其中,网络终端设备可以为计算机、服务器等;通信设备可以为路由器、交換机等;传输介质可以为光纤、双绞线及无线等;探针集合M :随机选出多个(本实施例中取10)计算机作为探针基站,从这些探针基站向其它所有网络终端设备和通信设备按照最短路径法发送Ping探针以检测各网络设备之间的丢包率,即用Ping探针向其它所有网络终端设备和通信设备发送多个(本实施例中取100个)包,然后检测收到了多少个包,探针的结果定义为收到的包数除以发送的包数,向待定位网络中的网络设备发送的探针的集合组成了探针集合M ;其中,ping探针是用于测量端到端连通性的计算机网络程序,它通过向对端发送一个请求数据包并等待接收ー个响应数据包来确认是否与对端连通。最初发送的探针数量K :本实施例中设最初发送的探针数量为总探针数量的四分之一(由经验得到),或为总探针数量的四分之一加上20或为总探针数量的四分之ー减去20 ;毎次选择下一轮要发送的探针数量N 由于最初发送的探针数量比较少,造成探针集合M的结果的预测准确度很低,所以需要从探针集合M中选择出一定数量的、最不确定预测结果的探针进行发送,本实施例中N的取值为5、10、20或30。依据本发明实施例的方法流程图如图I所示,包括如下步骤 步骤101 :初始化当前的已探测集合A与故障节点集合F为空。其中,已探测集合A表示从探针集合M中选出的已发出的探针;故障节点集合F表示已经利用主动探测技术定位到的故障节点集合。步骤102 :从探针集合M中选出K个探针进行发送。探针的选择方法随机从探针集合M中选出,保证与探针对应的矩阵中每一行和每一列均是非全零。步骤103 :通过已探针集合A获得ー个稀疏矩阵,并从探针集合M中移除已发送的探针。通过已探针集合A可以得到ー个稀疏矩阵,获得的方式为这个稀疏矩阵的行对应于已发送的探针的起始节点,列对应于已发送的探针的终节点,若这个探针返回的结果为正常,则对应稀疏矩阵中元素的值为-1,为故障则对应的元素值为1,没有发送的探针对应稀疏矩阵中的元素值为0,也就是说稀疏矩阵中的元素由1、0、-1组成。步骤104 :利用 MMMF(Max Margin Matrix Factorization,最大边缘矩阵分解)对所得到的稀疏矩阵进行预测,得到ー个完全矩阵。通过MMMF计算步骤103所得到的稀疏矩阵(该矩阵是ー个不完全矩阵),得到一个完全矩阵,该计算过程也就是将上述稀疏矩阵中所有元素为O的探针均预测出来。MMMF是ー个同步学习特征向量V和系数向量u的过程。计算过程是利用矩阵中元素之间的非独立性计算出一个特征向量V和一个系数向量U,然后利用这两个向量的乘积得到ー个完全矩阵B = uv,而这个完全矩阵即为不完全矩阵的近似估计。详细的MMMF预测不完全矩阵的步骤如图2所示,包括步骤201 :学习出待预测的不完全矩阵(也就是稀疏矩阵)的特征向量u和系数向量V ;步骤202 :计算u*v,得到该不完全矩阵的近似估计,即完全矩阵,这个完全矩阵中的元素组成为[_1,1]区间中的实数。步骤105 :从步骤104中预测得到的完全矩阵中选出最不确定的N个探针进行发送。最不确定的探针定义为采用MMMF预测方法进行预测的时候得到的完全矩阵中,元素被填充为[-1,1]区间中的实数,离O越近(即实数的绝对值越小),不确定度越高,选择不确定度最高的N个探针进行发送。N的取值在进行提高预测准确度的时候,需要从已经预测出的完全矩阵中选出一定数量的探针进行下一轮的发送,毎次选择的探測的数量不同,预测准确度提高程度就不同。由下表I可以看出,选出的探针数量越小,预测的准确度提高程度就越高,但选出的探针数量越小,计算的近似矩阵的重复次数就越多,所消耗的时间就越多,所以需要平衡选出的探针数量与计算近似矩阵次数之间的关系。本发明中N的取值为5、10、20或30,与初始的N值对应。步骤106 :利用步骤105发送的探针对已经预测出的完全矩阵进行更新。用本轮发送的探针的结果替换已经预测出的完全矩阵中对应的元素值。步骤107 :利用贝叶斯网络模型进行故障节点的定位。贝叶斯网络模型贝叶斯网络模型将网络中的节点和探测联系起来,形成ー个ニ 层直接有向图,其中网络中的节点视为父节点,探针视为子节点,探针的结果依赖于其父节点的結果,当且仅当其所有的父节点正确时该探针才为正确,图3表示为ー个贝叶斯网络模型的示例。通过计算每个节点的故障概率可以定位最有可能出现故障的节点。图3所示为所建立的一个贝叶斯网络模型示例。利用贝叶斯网络模型进行故障定位的流程如图4所示,包括步骤301、根据待定位的參数(包括所有网络节点的先验概率及所有探针的結果,所述先验概率是根据以往经验和分析得到的网络节点出故障的概率,为ー个估计值,不同网络系统中的取值不一样,在本实施例中这个值为O. 9)计算所有网络节点的条件概率,即计算P(t1; t2,. . .,tn,X1, X2,. . .,Xm)的概率,其中h为第i个网络节点,Xj为第j条探针,η为网络节点个数,m为探针条数。P(t1; t2, , tn, X1, X2, , Xm)的计算公式为P(t1; t2, . . . , tn, X1, X2, . . . , Xm)= P (X11 Pa (X1)) P (X21 Pa (X2)) · · · P (Xm | Pa (Xm)) P U1) P (t2) ...P (tn),上式中,Pa(Xi)表示探针Xi经过的所有链路。当探针Xi中有节点故障吋,P(Xi=11 Pa (Xi)) = I,P (Xi = O I Pa (Xi)) = O,无故 β早的时候 P (Xi = 11 Pa (Xi)) = O,P (Xi =OlPa(Xi)) =1。而P(UPa2Uan) = O. lk*0.9n_k,其中k对应于网络中出现的节点的故障数,即ti = O的个数。然后计算P(t1; t2, . . . , tn, X1, X2,…,Xm)中ti = O和ti = I情况下的概率。上面提到的先验概率具体指根据以往经验和分析得到网络节点出故障的概率,为ー个估计值。步骤302 :计算出所有情况下的Pai,t2,…,tn,X1, X2,…,Xm)值后,找出P(t1;t2,. . .,tn,X1, X2,. . .,Xm)值在最大时的条件,即ti的取值(为O或I)。所有ti = O的节点集合即为计算得到的故障节点集合。本实施例还可以包括以下步骤步骤108 :判断最新通过贝叶斯网络模型计算得到的故障节点集合与当前的故障节点集合相比是否有变化,若无变化则该最新得到的故障节点集合即为所要得到的结果,否则进入步骤104进行下ー轮的故障定位。在进行下ー轮的故障定位时,首先将最新得到的完全矩阵变换成二分矩阵,即把矩阵中大于O的变换成1,小于O的变换成-1,再一次运行MMMF方法,并应用贝叶斯网络模型方法进行节点故障概率的计算,重复以上步骤直到故障节点集合不再变化。
下面说明
具体实施例方式我们在NS2这个网络仿真环境中测试了本发明。首先利用GI-ITM这个工具随机生成了ー个拓扑图,节点数量为100,链路数量服从随机分布,拓扑图的链路数分别为99。为了模拟网络中的故障,在仿真中加入了差错模型,正常链路的丢包率设定为O. 001,故障链路的丢包率设定为O. 9。设定每次选择下一轮要发送的探针数量N为10,在100个节点的拓扑中K为220,并初始化已探测集合A和故障节点集合F为空。然后从探针集合M中选出220个探针进行发送,得到ー个稀疏矩阵
权利要求
1.一种基于探针预测的网络故障定位方法,其特征在于,包括以下步骤 步骤101 :初始化当前的已探测集合A与故障节点集合F为空;其中,已探测集合A表示从探针集合M中选出的、已发出的探针;故障节点集合F表示已经定位到的故障节点集合;探针集合M由向待定位网络中的网络设备发送的探针组成; 步骤102 :从探针集合M中选出K个探针进行发送; 步骤103 :通过已探测集合A获得一个稀疏矩阵,并从所述探针集合M中移除已发送的探针; 步骤104 :对所得到的稀疏矩阵进行预测,得到一个完全矩阵; 步骤105 :从所述完全矩阵中选出最不确定的N个探针进行发送; 步骤106 :利用步骤105中发送的探针的结果对所述完全矩阵进行更新; 步骤107 :进行故障节点的定位,计算得到故障节点集合。
2.如权利要求I所述的方法,其特征在于,步骤104中,利用最大边缘矩阵分解MMMF对所得到的稀疏矩阵进行预测。
3.如权利要求2所述的方法,其特征在于,步骤107中,利用贝叶斯网络模型进行故障节点的定位。
4.如权利要求3所述的方法,其特征在于,步骤107之后还包括判断最新通过贝叶斯网络模型计算得到的故障节点集合与当前的故障节点集合相比是否有变化,若无变化则最新得到的故障节点集合即为要得到的结果,否则进入步骤104进行下一轮的故障定位。
5.如权利要求4所述的方法,其特征在于,在进行下一轮的故障定位之前,首先将最新得到的完全矩阵变换成二分矩阵,然后执行步骤104 107进行下一轮的故障定位,直到故障节点集合不再有变化。
6.如权利要求3所述的方法,其特征在于,步骤104具体包括201:学习稀疏矩阵的特征向量u和系数向量V ;202 :计算u与V的乘积,得到完全矩阵。
7.如权利要求3所述的方法,其特征在于,步骤107具体包括 步骤301、根据待定位的参数计算所有网络节点的条件概率; 步骤302:计算出使所述条件概率最大时的条件,满足该条件的所有节点集合即为要计算得到的故障节点集合。
8.如权利要求2所述的方法,其特征在于,采用MMMF预测方法进行预测时得到的完全矩阵中,元素被填充为[_1,1]区间中的实数,实数的绝对值越小,探针的不确定度就越高。
9.如权利要求I 8任一项所述的方法,其特征在于,所述待定位的参数包括所有网络节点的先验概率及所有探针的结果。
全文摘要
本发明公开了一种基于探针预测的网络故障定位方法,包括步骤步骤101初始化当前的已探测集合A与故障节点集合F为空;其中,已探测集合A表示从探针集合M中选出的已发出的探针;故障节点集合F表示已经定位到的故障节点集合;步骤102从探针集合M中选出K个探针进行发送;步骤103通过已探针集合A获得一个稀疏矩阵,并从所述探针集合M中移除已发送的探针;步骤104对所得到的稀疏矩阵进行预测,得到一个完全矩阵;步骤105从所述完全矩阵中选出最不确定的N个探针进行发送;步骤106利用步骤105中发送的探针的结果对所述完全矩阵进行更新;步骤107进行故障节点的定位,计算得到故障节点集合。该方法减少了主动探测技术所需发送的探针数量。
文档编号H04L12/26GK102684902SQ20111006694
公开日2012年9月19日 申请日期2011年3月18日 优先权日2011年3月18日
发明者乔焰, 吴顺安, 李文璟, 王智立, 王颖, 邱雪松, 高志鹏 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1