一种网络故障诊断方法、装置及可读存储介质
技术领域
本发明涉及通信技术领域,特别是一种网络故障诊断方法、装置及可读存储介质。
背景技术
4G网络时代实现了人与智能手机的快速连接和移动互联网的快速发展。但是,在5G网络环境下,基于高带宽、低时延的网络特点,将实现万物互联,用于承载高带宽、低时延、高连接数等不同的业务。由于业务类型多样、业务特点不同,网络切片技术已成为5G网络设备商和网络运营商共同支持的一项关键技术。在网络切片环境下,通过采用网络功能虚拟化技术、软件定义网络技术,5G网络的无线子网、传输子网、核心子网的网络设备从原来的独立专用设备,变为通用服务器上的虚拟机,显著降低了网络建设成本。为保证5G业务的可靠性和稳定性,当业务发生故障时,快速准确的故障定位技术已成为当前一个重要的研究重点。
故障诊断技术一般可以分为基于被动监测的故障诊断和基于主动探测的故障诊断两种。前者主要根据网络管理系统的告警数据和网络拓扑信息,进行故障推断,执行简单,对网络业务影响小。后者主要采用主动部署探测站点、执行探测,从而获得特定的症状和故障信息,提高了故障诊断算法的性能。文献[Gontara,S.,Boufaied,A.,&Korbaa,O.AUnified approach for Selecting Probes and Probing Stations for FaultDetection and Localization in Computer Networks[C]//Proceedings of the 2019IEEE International Conference on Systems,Man and Cybernetics(SMC),2019:2071-2076).]提出一种对探测站点和探测同时进行优化的主动探测算法,提升了探测站点和探测选择结果的价值,降低了部署探测站点和执行探测对网络带来的负面影响。为提高故障诊断算法性能,故障诊断算法一般都会基于网络特征构建故障依赖矩阵,从而方便将故障诊断问题使用数学理论进行求解。对于网络虚拟化环境下的故障诊断问题,主要方法是将网络模型从多层模型分解为两层模型,从而简化问题的求解,当前已有研究以被动接受症状,建立故障诊断模型进行故障诊断为主,存在故障诊断准确率低的问题。
发明内容
有鉴于现有技术的上述缺陷,本发明的目的就是提供一种网络故障诊断方法、装置及可读存储介质,用以提高故障诊断的效率。
本发明的目的之一是通过这样的技术方案实现的,一种网络故障诊断方法,包括如下步骤:
根据确定的底层网络资源的业务相关性构建备选探测节点集合;
基于所述备选探测节点集合对网络状态进行探测;
根据探测结果构建诊断模型;
基于历史故障概率、探测性能以及所述诊断模型进行可信度评估,以获得故障集合。
可选的,所述根据确定的底层网络资源的业务相关性构建备选探测节点集合,包括:
根据业务对网络的需求对网络进行切分,以获得切片网络;
基于所述切片网络构建网络拓扑;
基于所述网络拓扑确定底层网络资源的业务相关性;
根据所述业务相关性的大小对底层网络资源进行排序,以获得备选探测节点集合。
可选的,所述基于所述网络拓扑确定底层网络资源的业务相关性,包括:
根据所述网络拓扑中底层网络资源上的虚拟资源以及所述虚拟资源对应的业务数量确定底层网络资源的业务相关性,满足:
其中,
可选的,所述根据确定的底层网络资源的业务相关性构建备选探测节点集合之后,还包括:
根据所述备选探测节点集合与已有探测集合之间的独立性确定优化探测集合。
可选的,根据所述备选探测节点集合与已有探测集合之间的独立性确定优化探测集合,包括:
基于所述备选探测节点集合中的备选探测节点对所有的底层网络节点进行探测;
根据对所有的底层网络节点完成探测的备选探测节点构建优化探测节点集合。
可选的,所述基于所述备选探测节点集合中的备选探测节点对所有的底层网络节点进行探测,包括:
确定所述备选探测节点集合中的备选探测节点与已有探测集合的独立性,满足:
其中,p(tx,ni)表示网络节点ni被探测tx经过的概率,p(ty,nj)表示网络节点nj被探测ty经过的概率,EV(tx,ty)表示探测tx与探测ty的独立性;
根据所述备选探测节点的独立性之和的大小对所有的底层网络节点进行探测。
可选的,基于历史故障概率、探测性能以及所述诊断模型进行可信度评估,包括:
根据预先构建的多种类型的异常集合基于历史故障概率和探测性能确定异常集合对应的性能指标,满足:
其中,Okj表示异常集合,
基于所述性能指标和所述诊断模型进行可信度评估,以获得故障集合。
可选的,所述基于所述性能指标和所述诊断模型进行可信度评估以获得故障集合,包括:
基于所述性能指标选取与所述探测结果匹配的异常集合;
根据所述诊断模型确定所述异常集合的可信度,满足:
其中,
选取所述异常集合中可信度大于预设阈值的异常探测作为故障集合。
本发明的目的之二是通过这样的技术方案实现的,一种网络故障诊断装置,包括:
集合构建单元,用于根据确定的底层网络资源的业务相关性构建备选探测节点集合;
探测单元,用于基于所述备选探测节点集合对网络状态进行探测;
模型构建单元,用于根据探测结果构建诊断模型;
评估单元,用于基于历史故障概率、探测性能以及所述诊断模型进行可信度评估,以获得故障集合。
本发明的目的之三是通过这样的技术方案实现的,一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如前述的网络故障诊断方法。
由于采用了上述技术方案,本发明具有如下的优点:根据确定的底层网络资源的业务相关性构建备选探测节点集合,基于历史故障概率和探测性能对探测结果进行可信度评估,能够将虚假症状和虚拟故障进行过滤,从而提升故障诊断模型的准确度,提高了故障诊断的效率。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。
附图说明
本发明的附图说明如下:
图1为本发明第一实施例流程图;
图2为本发明第一实施例构建探测节点集合流程图;
图3为本发明第一实施例诊断模型示意图;
图4为本发明第一实施例获得故障集合流程图;
图5为本发明第一实施例故障诊断准确率比较示意图;
图6为本发明第一实施例故障诊断误报率比较示意图;
图7为本发明第一实施例故障诊断时长比较示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
实施例一
本发明第一实施例提出一种网络故障诊断方法,如图1所示,包括如下步骤:
S10、根据确定的底层网络资源的业务相关性构建备选探测节点集合;
S20、基于所述备选探测节点集合对网络状态进行探测;
S30、根据探测结果构建诊断模型;
S40、基于历史故障概率、探测性能以及所述诊断模型进行可信度评估,以获得故障集合。
本发明方法根据确定的底层网络资源的业务相关性构建备选探测节点集合,基于历史故障概率和探测性能对探测结果进行可信度评估,能够将虚假症状和虚拟故障进行过滤,从而提升故障诊断模型的准确度,提高了故障诊断的效率。
可选的,如图2所示,所述根据确定的底层网络资源的业务相关性构建备选探测节点集合,包括:
S101、根据业务对网络的需求对网络进行切分,以获得切片网络;
具体的说,根据业务对网络的不同需求,可以把网络切分为移动宽带切片(承载通信业务和互联网业务等)、海量物联网切片(承载智能农业和智慧安防等)和任务关键性物联网切片(承载无人驾驶和智慧工厂等)。
S102、基于所述切片网络构建网络拓扑;
具体的,本实施例中以5G核心网为主要研究对象,使用G=(N,E)表示底层网络拓扑,其中,N表示底层网络节点集合,包括底层网络节点ni∈N。E表示底层网络链路集合,包括底层链路ej∈E。使用GV=(NV,EV)表示虚拟网络拓扑,其中,NV表示虚拟网络节点集合,包括虚拟网络节点
S103、基于所述网络拓扑确定底层网络资源的业务相关性;
可选的,所述基于所述网络拓扑确定底层网络资源的业务相关性,包括:
根据所述网络拓扑中底层网络资源上的虚拟资源以及所述虚拟资源对应的业务数量确定底层网络资源的业务相关性,满足:
其中,
具体的,基于前述拓扑结构,每个底层网络资源G=(N,E)会承载多个虚拟网络。每个虚拟网络GV=(NV,EV)上可以同时运行多个5G业务。所以,基于每个底层网络资源上的虚拟资源数量,以及每个虚拟资源上的业务数量,可以获得当前底层网络资源的业务相关性。底层网络资源的业务相关性使用
该值越大,说明其上的业务数量越多,z表示底层网络资源上承载的虚拟网数量,λj表示第j个虚拟网上承载的业务数量。
S104、根据所述业务相关性的大小对底层网络资源进行排序,以获得备选探测节点集合。
具体的,通过计算底层网络资源的业务相关性
可选的,所述根据确定的底层网络根据确定的底层网络资源的业务相关性构建备选探测节点集合之后,还包括:
根据所述备选探测节点集合与已有探测集合之间的独立性确定优化探测集合。
具体地说,在获得备选探测节点集合之后,本实施例中进一步对备选探测节点集合进行优化,以获得优化探测集合。
可选的,根据所述备选探测节点集合与已有探测集合之间的独立性确定优化探测集合,包括:
S105、基于所述备选探测节点集合中的备选探测节点对所有的底层网络节点进行探测;
S106、根据对所有的底层网络节点完成探测的备选探测节点构建优化探测节点集合。
具体地说,在本实施例中,基于路由协议以动态路由协议为主,探测经过网络节点ni存在不确定性,使用p(tx,ni)表示网络节点ni被探测tx经过的概率,计算方法为探测运行一定次数中,经过网络节点ni所占的比例。使用node(tx)表示探测tx经过的节点的集合。如果网络节点nj是探测tx、ty共同经过的节点,将网络节点nj称为探测tx、ty的阴影节点。本实施例中定义探测tx、ty的独立性评估函数EV(tx,ty),满足:
其中,nj∈node(tx)∩node(ty),表示探测tx、ty经过节点的交集。
具体的,将所有的底层网络节点放入待探测集合NS。首先,取出Tstar中的第一个节点
可选的,所述基于所述备选探测节点集合中的备选探测节点对所有的底层网络节点进行探测,包括:
确定所述备选探测节点集合中的备选探测节点与已有探测集合的独立性,满足:
其中,p(tx,ni)表示网络节点ni被探测tx经过的概率,p(ty,nj)表示网络节点nj被探测ty经过的概率,EV(tx,ty)表示探测tx与探测ty的独立性;
根据所述备选探测节点的独立性之和的大小对所有的底层网络节点进行探测。
具体地说,在本实施例中获取优化探测节点集合包括:
首先,计算Tstar集合中每个节点构成的探测与已有探测集合的独立性;
然后将独立性之和最大的网络节点作为探测节点,放入探测节点集合Tend;
将新放入探测节点的所有探测经过的网络节点,从待探测集合NS中取出,直到待探测集合NS为空,由此获得优化探测节点集合。
在获得优化探测节点集合之后,S20、基于所述备选探测节点集合对网络状态进行探测,包括:通过基于优化探测节点集合发送探测,可以得到网络的状态。
S30、根据探测结果构建诊断模型;
具体地说,在本实施例中,为提高探测结果的分析效果,一般采用探测矩阵对探测结果进行管理。探测矩阵是一个二维矩阵,矩阵的行由探测经过的网络节点和探测结果构成。矩阵的列由网络节点构成。根据探测结果,可以基于贝叶斯理论建立故障诊断模型。如图3所示,模型中的上层节点表示网络节点,下层节点表示探测节点,上层节点到下层节点的有向线表示上层节点出现异常时,下层的探测结果为异常的概率。
可选的,基于历史故障概率、探测性能以及所述诊断模型进行可信度评估,包括:
S41、根据预先构建的多种类型的异常集合基于历史故障概率和探测性能确定异常集合对应的性能指标,满足:
其中,Okj表示异常集合,
本实施例中,为提升构建疑似故障集合的效率,本发明基于历史故障概率和探测性能结合,分析故障集合的性能指标,具体的,本实施例在构建疑似故障集合时,从故障节点集合X中基于历史故障概率、探测能力构建疑似故障集合,假设同时发生故障的数量为k,构建故障数量为1到k的k个疑似故障集合。
然后基于历史故障概率和探测性能确定异常集合对应的性能指标,满足:
其中,
S42、基于所述性能指标和所述诊断模型进行可信度评估,以获得故障集合。
可选的,如图4所示,所述基于所述性能指标和所述诊断模型进行可信度评估以获得故障集合,包括:
S421,基于所述性能指标选取与所述探测结果匹配的异常集合;
S422,根据所述诊断模型确定所述异常集合的可信度,满足:
其中,
S423,选取所述异常集合中可信度大于预设阈值的异常探测作为故障集合。
具体地说,在本实施例中,为提高故障诊断的性能,本发明构造k种类型的故障集合,每种类型的故障集合中包含j个网络节点。为了从k*j个故障节点集合中选择最好的故障集合,定义可信度计算公式进行可信度评估,满足:
其中,
在具体实施过程中,若故障集合导致的异常探测都被发现,说明该故障集合发生真正故障的概率较高,则可以CL(Okj)取值大于预设阈值的疑似故障集合,作为最终的故障集合。
为了验证本发明的性能,本实施例中进一步与基于故障诊断模型的故障诊断算法(Fault diagnosis algorithm based on fault diagnosis model,FDAoFDM)进行比较。本实施例中FDAoFDM采用底层网络和虚拟网络的映射关系,将服务状态与底层网络资源进行关联,构建故障传播模型进行故障定位。
在性能指标方面,从诊断准确度、误判率以及诊断时长三个方面进行分析。诊断准确度是指算法识别出的真实故障数量在总的真实故障数量中的占比。误判率是指诊断出的故障中虚假故障在总的诊断出的故障中的占比。诊断时长是指算法从接收服务状态和网络拓扑数据后,到输出故障节点集合所用的时长。诊断准确度越高,表明算法识别故障的能力越强。诊断误报率越低,说明算法识别出的故障为真实故障的能力越强。诊断时长越短,表明算法能够在较短的时间内求解出故障,为网络管理人员节省故障定位时长。
故障诊断准确率比较结果如图5所示。X轴表示网络节点数量,Y轴表示诊断准确率。从图可知,两个算法的诊断准确率受网络规模的影响较小。本发明方法的诊断准确率比传统算法显著提升。表明本发明方法对故障诊断模型的优化效果较好。
故障诊断误报率比较结果如图6所示,X轴表示网络节点数量,Y轴表示误报率。从图可知,网络规模对两个算法的影响都比较小,本发明算法的误报率低于传统算法。这是因为本发明方法采取主动探测技术,能够将虚假症状和虚拟故障进行过滤,从而提升故障诊断模型的准确度。
故障诊断时长比较结果如图7所示。X轴表示网络节点数量,Y轴表示诊断的时长。从图可知,随着网络规模的增加,两个算法的诊断时长都快速增加,说明网络规模增加,需要处理的故障诊断模型数据量快速增加,延长了故障诊断的时间。由于本发明方法需要选择探测节点并进行主动探测,所以故障诊断时间较长。
实施例二
本发明第二实施例提出一种网络故障诊断装置,包括:
集合构建单元,用于根据确定的底层网络资源的业务相关性构建备选探测节点集合;
探测单元,用于基于所述备选探测节点集合对网络状态进行探测;
模型构建单元,用于根据探测结果构建诊断模型;
评估单元,用于基于历史故障概率、探测性能以及所述诊断模型进行可信度评估,以获得故障集合。
本发明根据确定的底层网络资源的业务相关性构建备选探测节点集合,基于历史故障概率和探测性能对探测结果进行可信度评估,能够将虚假症状和虚拟故障进行过滤,从而提升故障诊断模型的准确度,提高了故障诊断的效率。
实施例三
本发明第三实施例提出一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如前述的网络故障诊断方法。
具体的,在一个可选的实施例中,所述程序被处理器执行时实现:
根据确定的底层网络资源的业务相关性构建备选探测节点集合;
基于所述备选探测节点集合对网络状态进行探测;
根据探测结果构建诊断模型;
基于历史故障概率、探测性能以及所述诊断模型进行可信度评估,以获得故障集合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的保护范围之内。