网络故障定位方法、装置及交互装置与流程

文档序号:14993339发布日期:2018-07-20 22:57阅读:151来源:国知局

本发明涉及网络故障领域,具体而言,涉及一种网络故障定位方法、装置及交互装置。



背景技术:

在复杂的网络环境中,有许多的网络设备或智能设备存在网络故障,这时,需要快速的找到网络故障,并能准确的定位出故障位置。当前,需要快速的找到网络设备故障的影响范围,并尝试自动、或者半自动的方式找到故障根源,一般的故障定位包括如下三种方法:

1.基于规则库的故障发现和定位。例如,维护一个故障专家系统,先收集曾经发生过的故障,记录这些故障的原因、现象和影响面,并将这些信息录入故障专家系统,当网络发生异常时,在专家系统中尝试找到故障原因。在该方案中,前期需要大量的人力去梳理已有故障,而且故障类型多种多样,很难事先穷举故障类型。

2.向网络中注入一些检查故障的消息(如,报文或者数据包),设备对这些查询消息做出反馈,再由采集设备采集检查出的故障的消息,以及处理设备对检查故障消息的应答消息,最后汇总这些消息,并判断当前设备的故障是否与采集到的故障相同,该方案需要对现在的网络设备做一定的改造,检测成本高。

3.结合拓扑信息进行故障检测,该方案从端口和端口之间的关联出发,但是现有的方案只能找到两个端口之间的故障,也即,该方案只能做到相邻设备之间的故障发现,故障检测范围有很大的局限,无法准确定位出网络的故障根源。

针对上述的在网络出现故障时,无法准确定位出网络故障所在的位置的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种网络故障定位方法、装置及交互装置,以至少解决在网络出现故障时,无法准确定位出网络故障所在的位置的技术问题。

根据本发明实施例的一个方面,提供了一种网络故障定位方法,包括:获取所述网络中设备拓扑数据和所述网络中的异常事件,其中,所述异常事件用于记录所述网络中部分或全部设备上发生的软件或硬件异常;基于所述设备拓扑数据和所述异常事件确定所述网络中存在故障的故障域;和定位所述故障域中引起网络故障的设备。

根据本发明实施例的另一方面,还提供了一种网络故障定位装置,包括:获取单元,用于获取所述网络中的设备拓扑数据和所述网络中的异常事件,其中,所述异常事件用于记录所述网络中部分或全部设备上发生的软件或硬件异常;确定单元,用于基于所述设备拓扑数据和所述异常事件确定所述网络中存在故障的故障域;和定位单元,用于定位所述故障域中引起网络故障的设备。

根据本发明实施例的另一方面,还提供了一种交互装置,包括:输入单元,用于接收用户输入的目标网段;故障域计算单元,用于获取在目标网段的网络中的设备拓扑数据和所述网络中的异常事件,并且,基于所述设备拓扑数据和所述异常事件确定所述网络中存在故障的故障域,其中,所述异常事件用于记录所述网络中部分或全部设备上发生的软件或硬件异常;定位单元,用于定位所述故障域中引起网络故障的设备;和显示单元,与获取单元和定位单元分别耦接,用于显示所述故障域以及所述引起网络故障的设备。

在本发明实施例中,可以获取网络中的设备拓扑数据和网络中的异常事件,其中,异常事件用于记录网络中部分或全部设备上发生的软件或硬件异常,在获取到设备拓扑数据和异常事件后,可以基于该拓扑数据和异常事件确定网络中存在故障的故障域,最后,可以根据确定的故障域定位出引起网络故障的设备。在本发明实施例中,可以根据获取到的拓扑数据和异常事件确定出现故障的各个设备所对应的故障域,并能准确定位出故障域中引起网络故障的节点(即故障设备),解决了在网络出现故障时,无法准确定位出网络故障所在的位置的技术问题,可以帮助用户(如网络运维工程师)快速的定位故障发生的位置。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本申请实施例的一种网络故障定位方法的计算机终端的硬件结构框图;

图2是根据本申请实施例的网络故障定位方法的流程图;

图3是根据本发明实施例的一种可选的网络设备拓扑示意图;

图4是根据本发明实施例的一种可选的网络故障定位系统的示意图;

图5是根据本发明实施例的另一种可选的网络故障定位的方法的流程图;

图6是根据本发明实施例的一种可选的网络故障定位示意图一;

图7是根据本发明实施例的一种可选的网络故障定位示意图二;

图8是根据本发明实施例的另一种可选的网络故障定位装置的结构图;

图9是根据本发明实施例的另一种可选的交互装置的结构图;以及

图10是根据本发明实施例的一种可选的网络故障定位的网络环境图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种网络故障定位的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

对本发明中的部分术语做出解释:

网络拓扑:是指用传输媒体互连各种设备的物理布局,拓扑是一种不考虑物体的大小、形状等物理属性,而仅仅使用点或者线描述多个物体实际位置与关系的抽象表示方法。拓扑不关心事物的细节,也不在乎相互的比例关系,而只是以图的形式表示一定范围内多个物体之间的相互关系。

连通图:在无向图中,两节点a,b之间有路径相连,则确定出a和b是连通的。如果一个图中任意两点之间都是连通的,则该图被称为连通图。

连通分支:一个无向图中,一个极大连通子图称为无向图中的一个连通分支。

故障子图:故障子图是由有异常事件的、或者可能有异常事件的节点,以及这些节点之间的边构成的网络设备拓扑的子图。

故障域:在故障子图中提取连通分支,每个连通分支叫做一个故障域。

本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是根据本申请实施例的一种网络故障定位方法的计算机终端的硬件结构框图。

如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如网络故障定位方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的网络故障定位。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

本领域技术人员可以理解,上述对计算机终端结构的描述,也可以应用在服务器结构上,这里不再赘述。

可选地,在连通的网络中,设备与设备之间都是通过端口和端口之间的线路连通起来的,在本发明实施例中,可以将连通的网络抽象为一个由设备节点、端口节点、设备端口边等组成的网络拓扑图。在该网络拓扑图中,网络的设备、节点或端口可能发生故障,导致该网络不能正常传输数据,这时,就需要服务器定位出网络中的故障所在的位置,以方便网络运维人员进行维修。其中,服务器的设备故障可能是板卡故障、端口故障等;在服务器的设备发生故障后,可以检测是否影响整个网络出现故障,即可能在一个设备出现故障后,导致整个服务器的网络出现故障,也可能是服务器的一个设备出现故障后,导致该设备所在的一个网络线路出现故障,但是网络的其他线路不会出现故障。

可选的,每一个服务器可以有一个对应的网络拓扑图,在服务器的设备出现故障后,可以在服务器对应的网络拓扑中定位出该网络的故障根源,即可以将服务器中出现故障的设备或节点定位出来。

可选的,服务器中可以设置有拓扑采集模块和事件状态采集模块,其中服务器可以通过拓扑采集模块预先采集服务器的网络拓扑,并获取设备拓扑数据;通过事件状态采集模块获取网络中的异常事件和每个设备的状态信息;通过流式处理模块定期从拓扑采集模块和事件状态采集模块中获取设备拓扑数据和异常事件,根据该设备拓扑数据得到网络拓扑图,基于该网络拓扑图和异常事件确定该网络中发生了故障的故障域,并准确定位网络中的故障发生的位置。

可选地,拓扑采集模块定时去轮询网络中的每台网络设备,拉取网络设备的拓扑信息,并将这些数据汇总在一起供流式处理模块使用。通过事件状态采集模块开启事件收集服务,网络设备将其发生的事件和状态推送到事件状态采集模块中,供流式处理模块定时拉取。

通过流式处理模块每隔一段时间拉取一次数据,并将拉取到的各种异常事件和状态尽可能收敛到故障根源上。

在上述运行环境下,根据本申请一个实施例,提供了如图2所示的网络故障定位方法。图2是根据本申请实施例的网络故障定位方法的流程图,如图2所示,该方法包括如下步骤:

步骤s202,获取网络中的设备拓扑数据和网络中的异常事件,其中,异常事件用于记录网络中部分或全部设备上发生的软件或硬件异常。

本实施例中的设备拓扑数据,可以是将网络设备之间的网络抽象成的各个数据。在连通的网络当中,设备与设备之间都是通过端口,以及端口之间的线路连通起来的,可以将连通网络抽象成是一个包括各个设备节点(如设备节点、端口节点、设备端口边等)组成的图,这个图就是网络设备的拓扑。网络中的异常事件可以是指导致网络通信出现故障的各种事件,例如,设备出现故障、设备断开连接等。可选的,可以在预定时间间隔内获取网络设备拓扑数据和异常事件,在本发明实施例中,对网络设备的拓扑数据的获取可以是每隔一个时间段(例如,3分钟)获取一次。

通过上述技术方案,可以实时反馈网络设备的状态,在获取网络设备的拓扑数据和网络中的异常事件后,可以根据该数据和时间及时的分析出网络设备中存在的问题。

步骤s204,基于设备拓扑数据和异常事件确定网络中存在故障的故障域。

其中,故障域可以是指网络设备出现故障时,根据拓扑数据确定的网络设备出现故障的区域,在该故障域中,可以包括引起网络故障的设备节点。在故障域中,可以将各个设备或者端口的位置用节点表示,其中,该设备节点和端口节点可以区分开。可选的,在确定故障域时,可以利用获取到的拓扑数据,结合异常事件所在的位置,确定故障域中引起网络故障的设备节点。各个异常事件对应的设备或节点可以在故障域中显示出来,每个异常事件和设备在故障域对应的位置可以用不同的方式表示出来;例如,用各个颜色区分出设备故障、端口故障、异常事件。

通过上述步骤将设备的拓扑数据和异常事件在故障域中表示出来,各个设备和端口所在的位置用不同的方式表示出来。

步骤s206,定位故障域中引起网络故障的设备。

其中,在故障域可能存在各个故障,包括设备故障、端口故障等。在故障域中可能存在一个或多个设备,其中,可能有一个或多个设备导致其他设备出现故障,则该设备可以为故障根源。

通过上述实施例,可以在网络拓扑中聚合网络设备异常,适应性很好,能根据网络拓扑数据和异常事件确定出故障域,并根据故障域定位出引起网络故障的设备。本实施例中,可以设定该设备为故障根源,这样,可以使得用户能及时的知道在网络出现故障时,发生故障的位置。

另一种可选的实施方式,基于设备拓扑数据和异常事件确定网络中存在故障的故障域包括:基于异常事件,确定发生了异常事件的异常节点,其中,异常节点包括发生了异常事件的设备节点和端口节点;在异常节点转发异常事件之后,确定接收到异常事件的相邻节点;基于异常节点和相邻节点,得到网络中的故障域。

可选的,在确定异常节点时,其可以将异常事件对应的设备在故障域中一一表示出来,异常节点中的设备节点和端口节点可以是各个设备和端口在故障域中对应表示的位置节点,在本发明实施例中,各个网络设备可以与端口连接,其中,设备节点在故障域中的位置可以较为明显的显示,端口节点可以与设备节点区分开。这是由于网络设备故障可能是导致网络出现故障的主要原因。可选的,异常节点在转发异常事件之前,各个节点与故障域中的其它节点可以提前建立连接关系,该连接关系可以是网络设备之间的通信。

可选的,可以通过网络拓扑图记录设备拓扑数据,其中,网络拓扑图中的节点用于记录网络中的设备或端口,网络拓扑图中的边用于记录两个节点之间的关联关系。

对于上述实施例中网络拓扑图,可以是实时变化的,在预定的时间间隔内,根据获取到的拓扑数据,形成相应的拓扑图,该拓扑图中可以包括出现故障的节点,也可以包括没有出现故障的节点;可以在获取到拓扑数据后,结合异常事件确定出故障节点,从而形成故障域。

可选的,对于网络拓扑图中的边和节点之间的关联关系,可以是与获取到的各个网络设备和端口之间的关联关系一一对应的。在本发明实施例中,网络拓扑图中的各个边可以是设备节点与设备节点之间的连通关系,或者是端口节点与端口节点之间的连通关系,也可以是设备节点与端口节点之间的连通关系。

另一种可选的实施方式,在确定接收到异常事件的相邻节点之前,控制网络拓扑图中的异常节点向与异常节点相连的节点转发异常事件,其中,若转发的异常事件到达的目标节点为端口节点,则端口节点继续向与端口节点相连的节点转发异常事件;若转发的异常事件到达的目标节点为设备节点,则设备节点中止转发异常事件。

通过上述实施例,可以将异常事件送达到各个设备节点中,端口节点在接收到异常事件后,将异常事件转发,从而可以确定出各个拓扑图中的各个设备存在的异常事件。其中,拓扑图中的设备可以包括一个或多个异常事件。通过转发异常事件可以定位出现故障的网络设备,并确定出故障域中的异常设备节点。

另一种可选的实施方式,基于异常节点和相邻节点,得到网络中的故障域包括:提取网络拓扑图中记录的异常节点、目标节点以及异常节点和目标节点之间的边,得到故障图;查找故障图中的连通分支,将查找到的连通分支确定为故障域,其中,在连通分支为多个的情况下,每个连通分支作为一个故障域。

其中,在确定故障图时,异常节点可以是出现故障的节点,而目标节点可以包括出现故障的节点,也可以包括没有出现故障的节点。在故障图中,可以包括一个或多个故障域,故障图中通过节点与边的连接关系确定出各个故障域,各个故障域组合成一个故障图。在确定故障域时,可以将连接的各个故障域拆分开,每一个故障域都可以表示一个连通分支,根据拆分的连通分支找到各个故障域。

可选的,确定发生了设备异常事件的异常节点包括:在网络拓扑图上标记发生了异常事件的异常节点;确定接收到转发的异常事件的目标节点包括:在网络拓扑图上标记接收到异常事件的目标节点。

在标记异常节点和目标节点的过程中,可以通过不同的标记符号标记处各个节点,这里标记符号可以包括颜色、框图、数字等。

另一种可选的实施方式,定位故障域中引起网络故障的设备包括:获取预先设置的定位规则;按照定位规则,定位故障域中引起网络故障的设备。其中,定位规则包括:在故障域中的多个节点上发生的异常事件的级别相同的情况下,节点的重要程度越高,引起网络故障的概率越大,其中,节点包括网络中的设备节点和端口节点,各个节点的重要程度为预先设置的,异常事件的级别为预先设置的。

对于上述实施例,可以预先设置定位规则,可以预先确定节点的级别或者确定异常事件的级别。可选的,在确定各个异常事件所在的节点的级别时,可以根据各个设备或端口在网络设备中的重要程度确定,例如,在网络设备中存在板卡、端口等,可以确定板卡的重要度高于端口,即可以在板卡与端口同时出现故障时,板卡故障被确定为引起网络故障的概率要大于端口故障。

可选的,定位规则还可以包括在故障域中的多个节点上发生的异常事件的情况下,节点上发生的异常事件的数量越多,引起网络故障的概率越大。

通过上述实施例,可以提高定位网络故障的根源的效率,在网络设备出现故障时,可以在得到故障域后,根据上述的定位规则确定出各个故障域中引起网络故障的设备节点,达到了有效定位出网络故障的效果。

另一种可选的实施方式,获取网络的设备拓扑数据和网络中的异常事件包括:间隔从拓扑采集模块中读取设备拓扑数据,其中,设备拓扑数据为拓扑采集模块轮询网络中的端口和/或设备而拉取到的数据;间隔从事件状态采集模块中拉取异常事件,其中,异常事件为在事件状态采集模块中开启事件收集服务之后,网络中的端口和/或设备推送至事件状态采集模块的。

可选的,对于间隔从拓扑采集模块中读取设备拓扑数据,可以是每隔一个时间段读取一次拓扑数据;对于间隔从事件状态采集模块中拉取异常事件,也可以是与读取设备拓扑数据的间隔时间一致,也可以是不一致的。

可选的,网络中的端口和/或设备可以设置一定的唤醒程序,在接收到事件收集服务后,将预定时间段内的各个设备或端口的事件状态发送到时间采集模块中。其中,事件状态包含流量、以及cpu使用率等。

在本发明实施例,除了需要在网络中添加接收网络设备的事件状态(包含流量,cpu使用率等)的采集系统外,不需要对现有网络设备和架构进行任何修改。本发明关注的拓扑不仅仅是相邻设备,而是考虑一个故障区域,这样可以站在一个全局的视角上来推导引起网络故障的原因。

通过上述实施例,可以获取网络中的设备拓扑数据和网络中的异常事件,其中,异常事件用于记录网络中部分或全部设备上发生的软件或硬件异常,在获取到设备拓扑数据和异常事件后,可以基于该拓扑数据和异常事件确定网络中存在故障的故障域,最后,可以根据确定的故障域定位出引起网络故障的设备或节点。通过本发明实施例,可以根据获取到的拓扑数据和异常事件确定出现故障的各个设备所对应的故障域,并能准确定位出故障域中引起网络故障的故障设备,从而解决了在网络出现故障时,无法准确定位出网络故障所在的位置的技术问题,从而帮助用户(如网络运维工程师)快速的定位出引起网络故障的设备的位置。

对于上述实施例,其可以应用于各个网络设备中,该网络设备可以是进行网络通信的设备,在通信过程中,可能会出现通信故障;网络设备中的各个部件也可能出现故障,在网络设备的各个部件出现故障时,需要准确定位出故障根源所在的设备,以方便对出现故障的设备进行相应的维修,使用本发明实施例,能在出现网络故障时,准确的定位出引起网络故障的设备的位置。

图3是根据本发明实施例的一种可选的网络设备拓扑示意图,如图3所示,在连通的网络中,设备与设备之间都是通过端口,以及端口之间的线路连通起来的。在该实施例中,将这样的连通网络抽象成是一个由设备节点、端口节点、设备端口边、以及端口的端口边组成的无向图。如图3中示出的:路由器1和路由器2是设备节点,端口1和端口2是端口节点,设备端口边包括设备端口边1和设备端口边2,图3中还展示了端口的端口边。

通过上述实施例,可以得到网络设备的拓扑图,该拓扑图可以是实时变化的,可以获取网络的设备拓扑数据和网络中的异常事件的拓扑图,并基于该拓扑图和异常事件确定网络中存在故障的故障域,最后,可以根据确定的故障域定位出引起网络故障的设备的位置。

图4是根据本发明实施例的一种可选的网络故障定位系统的示意图,在图4中,直角矩形代表系统模块,该系统模块可以输入数据,其中,输入的数据包括:网络设备拓扑数据和设备事件状态数据,其中,设备事件状态可以是网络中一些设备或者端口上发生的异常事件。例如,设备重启、端口流量突跌、以及一些设备的状态,例如,cpu使用率等。如图4所示,该系统包括:拓扑采集模块41,事件状态采集模块42,流式处理模块43。

可选地,拓扑采集模块41可以用一些普通服务器定时去轮询每台网络设备,拉取网络设备的拓扑信息来实现信息的获取,在获取到各个设备的拓扑信息之后,将这些数据汇总在一起供流式处理模块使用。

可选地,事件状态采集模块42用于收集网络中每个设备汇报出的事件与状态,进一步可选地,事件状态采集模块42用于收集网络中每个设备汇报出的异常事件。在一个可选的实施例中,可以使用服务器开启事件收集服务,在开启事件收集服务之后,网络设备会将其发生的异常事件推送到这些事件收集服务中。通过事件状态采集模块将异常事件汇总到一起,供流式处理模块定时拉取。

可选地,流式处理模块43的主体逻辑是循环执行一套故障定位逻辑,这套故障定位逻辑会每隔一段时间执行一次。每次执行会从拓扑采集模块中读取最新的完整的网络设备拓扑数据,并且从事件状态采集模块中拉取还没处理过的设备事件和状态。最后,将各种异常事件和状态尽可能收敛到一些主事件(或者叫故障根源)上。

对于上述实施例,在定位故障时,可以每隔一段时间(如4分钟)执行一次定位故障,主要功能是从一段时间的网络异常事件和状态当中想办法找到引起网络故障的设备节点,并将其他相关异常事件关联到这个设备节点,从而减少报警量,方便快速定位。

图5是根据本发明实施例的另一种可选的网络故障定位的方法的流程图,如图5所示,该方法包括如下步骤:

步骤s501,将网络设备的各种异常事件对应到网络拓扑相应的节点上。

可选地,服务器在每次执行该步骤时,可以从拓扑采集模块中读取最新的完整的网络设备拓扑数据(即上述的设备拓扑数据),并且从事件状态采集模块中拉取还没处理过的设备异常事件。拓扑上每个节点(如设备节点、端口节点)会缓存一段时间内这个节点上发生的所有事件状态,并标记异常事件。这些缓存的异常事件作为后面做异常事件收敛的对象。

步骤s503,控制异常节点将异常事件向周围节点转发,直到到达此节点相邻的设备节点。

可选地,上述步骤中每个节点上缓存的异常事件和状态,会向周围相连的节点发送。周围的节点接收到这些异常事件和状态后,判断当前节点是否为设备节点,若当前节点是设备节点,则不再转发这些异常事件和状态;若当前节点是端口节点,可以继续向其他相邻节点转发收到的消息。

步骤s505,提取拓扑中有故障或者接收到其他节点故障信息的节点,以及这些节点之间的边,将这些节点和边构建为故障子图。

其中,将网络设备拓扑中缓存有异常事件的节点(如异常节点)、或者接收到异常事件的节点(如相邻节点)标记出来,然后提取出这些标记节点,以及这些标记节点之间的边,从而构建网络设备拓扑的子图(即故障子图)。

步骤s507,从网络拓扑图中查找故障子图中的所有连通分支,每个连通分支作为一个故障域。

可选地,在得到故障子图后,找到所有的连通分支,每个连通分支作为一个故障域。

步骤s509,将一个故障域中的所有异常事件收集起来,通过预设规则,筛选出最重要的异常,并将该重要异常作为故障根源。

可选地,将每个故障域里面的故障分别收集在一起,并且通过预设的一些规则尝试找出最重要的异常。其中,预设规则可以是提前设定的,例如,对所有网络告警的事件做了级别划分,告警级别由整机告警,板卡告警,端口告警以及协议告警等依次降低。同时,可以设定在告警级别相同的情况下,越重要的设备上的告警越重要;告警数越多的设备,越可能是故障根源节点。通过以上的规则,可以确定出故障根源,返回结果时,将故障根源直接推送报警,隐去别的次要异常,可选地,该隐去别的次要异常可以为将非故障根源的异常节点和/或相邻节点使用其他标记标注,或者不标注,其中,该其他标记为不同于上述实施例中用于标记异常节点和/或相邻节点的标记。在找到故障根源后,可以将其他次要故障收敛到故障根源上,同时,在需要时还可以追查次要告警。

通过上述实施例,可以在网络拓扑中聚合网络设备异常,适应性很好,能根据网络拓扑数据和异常事件确定出故障域,并根据故障域定位出故障根源。

通过上述实施例,可以将故障区域做聚合,并且将次要告警收敛到主告警上。

根据本申请一个实施例,如图6所示,设备2上有插槽告警,在这里可以将插槽告警归为板卡报警,设备2的端口2a、端口2b都出现端口告警,设备1的端口1a出现端口告警,设备3的端口3a出现端口告警,不规则矩形框61是根据本发明实施例的得到的故障域,根据预设的告警优先级规则,可以推理出插槽告警是引起端口告警的原因。最后直接推送插槽告警这条故障根源告警,隐去其他4个端口告警,并标记收敛关系。这样,可以大大减少发生故障时的报警量,而且故障域将可能发生故障的节点与相关告警都收集(和/或标记)在一起,方便查看故障的关联关系。

根据本申请一个实施例,还可以推断出可能出现故障的节点,如图7所示,设备1的端口1a存在端口告警,设备3的端口3a存在端口告警,图7示出的不规则矩形框71是故障域。由图7可知,尽管设备2以及它的两个端口2a和端口2b没有告警,通过上述实施例,可以将该设备2以及它的两个端口2a和端口2b作为相邻节点划入故障域。通过上述实施例,可以将图7所示的设备2以及他的两个端口设为潜在故障点,可选地,一个设备出了问题,就相当于这个设备与外界隔绝,该设备可能无法与其它设备通信,可能无法传输报警信息,这时可以通过其他的设备来推测该设备出了问题。这里,由于其他端口的告警事件都与设备2的端口有关,可以直接定位出该设备故障,导致别的设备端口也出现故障。

图8是根据本发明实施例的另一种可选的网络故障定位装置的结构图,包括:获取单元81,用于获取网络中的设备拓扑数据和网络中的异常事件,其中,异常事件用于记录网络中部分或全部设备上发生的软件或硬件异常;确定单元83,用于基于设备拓扑数据和异常事件确定网络中存在故障的故障域;定位单元85,用于定位故障域中引起网络故障的设备。

通过上述实施例,可以通过获取单元81获取网络中的设备拓扑数据和网络中的异常事件,其中,异常事件用于记录网络中部分或全部设备上发生的软件或硬件异常,在获取到设备拓扑数据和异常事件后,可以通过确定单元83确定网络中存在故障的故障域,最后,可以通过定位单元85根据确定的故障域定位出引起网络故障的设备。通过上述实施例,可以根据获取到的拓扑数据和异常事件确定出现故障的各个设备所在的故障域,并能准确定位出故障域引起网络故障的故障根源,从而解决了在发生网络故障时,无法准确定位故障所在的位置的技术问题,可以帮助用户快速的定位引起网络故障的设备节点。

在上述实施例提供的技术方案中,获取网络的设备拓扑数据和网络中的异常事件,其中,异常事件用于记录网络中部分或全部设备上发生的异常事件。网络中的异常事件可以是指导致网络通信出现故障的各种事件,例如,设备出现故障、设备断开连接等。可选的,可以在预定时间间隔内获取网络设备拓扑数据和异常事件,在本发明实施例中,对网络设备的拓扑数据的获取可以是每隔一个时间段(例如,3分钟)获取一次。

通过上述技术方案,可以实时反馈网络设备的状态,在获取网络设备的拓扑数据和网络中的异常事件后,可以根据该数据和时间及时的分析出网络设备中存在的问题。

在上述实施例提供的技术方案中,基于设备拓扑数据和异常事件确定网络中存在故障的故障域。其中,故障域可以是指网络设备出现故障时,根据拓扑数据确定的网络设备出现故障的区域,在该故障域中,可以包括引起网络故障的设备。其中,在故障域中,可以将各个设备或者端口的位置用各个节点表示,设备节点和端口节点可以区分开,在确定故障域时,可以根据异常事件和各个拓扑数据得到该故障域,结合异常事件所在的位置,能确定出故障域中引起网络故障的设备节点,各个异常事件对应的设备或节点可以在故障域中显示出来,每个异常事件和设备在故障域对应的位置可以用不同的方式表示出来;例如,用各个颜色区分出设备故障、端口故障、异常事件。

通过上述实施例,可以将设备的拓扑数据和异常事件在故障域中表示出来,各个设备和端口所在的位置用不同的方式表示出来。

在上述技术方案中,可以在确定出故障域后,定位故障域中引起网络故障的设备的位置。该设备可以是导致当前网络设备出现故障的最重要的故障设备,在故障域可能存在各个故障,包括设备故障、端口故障等。在故障域中可能存在一个或多个设备,其中,可能有一个或多个设备导致其他设备出现故障,则该设备可以为故障根源。

通过上述实施例,可以在网络拓扑中聚合网络设备异常,适应性很好,能根据网络拓扑数据和异常事件确定出故障域,并根据故障域定位出故障根源,这样,可以使得用户能及时的知道在网络出现故障时,引起网络故障的设备所在的位置。

可选的,确定单元包括:第一确定模块,用于基于异常事件,确定发生了异常事件的异常节点,其中,异常节点包括发生了异常事件的设备节点和端口节点;第二确定模块,用于在异常节点转发异常事件之后,确定接收到转发的异常事件的目标节点;第三确定模块,用于基于异常节点和目标节点,确定网络中的故障域。其中,确定单元还包括:记录模块,用于通过网络拓扑图记录设备拓扑数据,其中,网络拓扑图中的节点用于记录网络中的设备或端口,网络拓扑图中的边用于记录两个节点的关联关系。

对于上述实施例中的网络拓扑图,可以在预定的时间间隔内,根据获取单元获取到拓扑数据和异常事件,并根据确定单元确定出对应的网络拓扑图,该网络拓扑图中可以包括出现故障的节点,也可以包括没有出现故障的节点。

在本发明实施例中,网络拓扑图中的各个边可以用于表示设备节点与设备节点之间的连通关系,或者是表示端口节点与端口节点之间的连通关系,也可以用于表示设备节点与端口节点之间的连通关系。

可选的,装置还包括:控制单元,用于在确定接收到异常事件的相邻节点之前,控制网络拓扑图中的异常节点向与异常节点相连的节点转发异常事件,其中,若转发的异常事件到达的目标节点为端口节点,则端口节点继续向与端口节点相连的节点转发异常事件;若转发的异常事件到达的目标节点为设备节点,则设备节点中止转发异常事件。

通过上述实施例,可以通过控制单元将异常事件送达到各个设备节点中,端口节点在接收到异常事件后,将异常事件转发,从而可以确定出各个拓扑图中对应的设备存在的异常事件。通过转发异常事件定位出引起网络故障的设备,并确定出故障域中的异常设备节点。

可选的,第三确定模块包括:第一提取模块,用于提取网络拓扑图中记录的异常节点、目标节点以及异常节点和目标节点之间的边,得到故障图;第一查找模块,用于查找故障图中的连通分支,将查找到的连通分支确定为故障域,其中,在连通分支为多个的情况下,每个连通分支作为一个故障域。

其中,在第三确定模块确定故障图时,异常节点可以是出现故障的节点,而目标节点可以包括出现故障的节点,也可以包括没有出现故障的节点。在上述实施例中的各个故障图中,可以包括一个或多个故障域,故障图中通过节点与边的连接关系确定出各个故障域,通过各个故障域组合成对应的故障图。在通过确定模块确定故障域时,可以将连接的各个故障域拆分开,每一个故障域都可以表示一个连通分支,从而根据拆分的连通分支找到各个故障域。

进一步地,第一确定模块包括:第一标记模块,用于在网络拓扑图上标记发生了异常事件的异常节点;第二确定模块包括:第二标记模块,用于在网络拓扑图上标记接收到异常事件的目标节点。

在第一标记模块或者第二标记模块标记异常节点和目标节点的过程中,可以通过不同的标记符号标记处各个节点,这里标记符号可以包括颜色、框图、数字等。

另一种可选的实施方式,定位单元包括:获取模块,用于获取预先设置的定位规则;第一定位模块,用于按照定位规则,定位故障域中引起网络故障的设备。

通过上述实施例,可以根据获取模块获取到预定设置的定位规则,从而根据定位规则确定出引起网络故障的设备,通过本发明实施例,可以达到提高确定引起网络故障的设备的技术效果,在网络设备出现故障时,可以在得到故障域后,根据上述的定位规则确定出各个故障域中引起网络故障的设备,达到了有效定位出网络故障的效果。

另一种可选的实施方式,上述定位规则包括:在故障域中的多个节点上发生的异常事件的级别相同的情况下,节点的重要程度越高,引起网络故障的概率越大,其中,节点包括网络中的设备节点和端口节点,各个节点的重要程度为预先设置的,异常事件的级别为预先设置的。

可选的,获取单元包括:读取模块,用于间隔从拓扑采集模块中读取设备拓扑数据,其中,设备拓扑数据为拓扑采集模块轮询网络中的端口和/或设备而拉取到的数据;间隔从事件状态采集模块中拉取异常事件,其中,异常事件为在事件状态采集模块中开启事件收集服务之后,网络中的端口和/或设备推送至事件状态采集模块的。

对于上述实施例,可以通过读取模块间隔从拓扑采集模块中读取设备拓扑数据,其可以应用于各个网络设备中,该网络设备可以是进行网络通信的设备,在通信过程中,可能会出现通信故障;网络设备中的各个部件也可能出现故障,在网络设备的各个部件出现故障时,需要准确定位出引起网络故障的设备,以方便对出现故障的设备进行相应的维修。

图9是根据本发明实施例的另一种可选的交互装置的结构图,包括:输入单元91,用于接收用户输入的目标网段;故障域计算单元93,用于获取在目标网段的网络中的设备拓扑数据和网络中的异常事件,并且,基于设备拓扑数据和异常事件确定网络中存在故障的故障域,其中,异常事件用于记录网络中部分或全部设备上发生的软件或硬件异常;定位单元95,用于定位故障域中引起网络故障的设备;和显示单元97,与获取单元和定位单元分别耦接,用于显示故障域以及引起网络故障的设备。

通过上述实施例,可以通过输入单元91接收用户输入的目标网段,其中,该目标网段可以为用户当前使用的网络的所在位置;可以通过故障域计算单元93获取在该目标网段的网络中的设备拓扑数据和网络中的异常事件,并且,基于设备拓扑数据和异常事件确定网络中存在故障的故障域,其中,异常事件用于记录网络中部分或全部设备上发生的软件或硬件异常。

可选的,在通过故障域计算单元93确定网络中存在故障的故障域后,可以通过定位单元95得到该故障域中引起网络故障的设备,并将该故障域以及引起网络故障的设备通过显示单元97显示出来。

通过上述实施例,可以根据获取到的拓扑数据和异常事件确定出现故障的各个设备所对应的故障域,并能准确定位出故障域中引起网络故障的设备,从而解决了在网络出现故障时,无法准确定位出网络故障所在的位置的技术问题,从而帮助用户快速的定位出引起网络故障的故障设备的位置。

本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。

本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备,如图10所示的网络环境图中的终端97与服务器93通过网络连接。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行网络故障定位方法中以下步骤:

获取网络的设备拓扑数据和网络中的异常事件,其中,异常事件用于记录网络中部分或全部设备上发生的异常事件;基于设备拓扑数据和异常事件确定网络中存在故障的故障域;定位故障域中的故障根源。

在本实施例中,上述计算机终端可以执行网络故障定位方法中以下步骤:

基于设备拓扑数据和异常事件确定网络中存在故障的故障域包括:确定发生了异常事件的异常节点,其中,异常节点包括发生了异常事件的设备节点和端口节点;在异常节点转发异常事件之后,确定接收到异常事件的目标节点;基于异常节点和目标节点,得到网络中的故障域。

在本实施例中,上述计算机终端可以执行网络故障定位方法中以下步骤:

通过网络拓扑图记录设备拓扑数据,其中,网络拓扑图中的节点用于记录网络中的设备或端口,网络拓扑图中的边用于记录两个节点的关联关系。

在本实施例中,上述计算机终端可以执行网络故障定位方法中以下步骤:

控制网络拓扑图中的异常节点向与异常节点相连的节点转发异常事件,其中,若转发的异常事件到达的当前节点为端口节点,则端口节点继续向与端口节点相连的节点转发异常事件;若转发的异常事件到达的目标节点为设备节点,则设备节点不再转发异常事件。在本实施例中,上述计算机终端还可以执行网络故障定位方法中以下步骤:提取网络拓扑图中记录的异常节点、目标节点以及异常节点和目标节点之间的边,得到故障图;查找故障图中的连通分支,将查找到的连通分支确定为故障域,其中,在连通分支为多个的情况下,每个连通分支作为一个故障域。

在本实施例中,上述计算机终端可以执行网络故障定位方法中以下步骤:

在网络拓扑图上标记发生了异常事件的异常节点;确定接收到异常事件的目标节点包括:在网络拓扑图上标记接收到异常事件的目标节点。

在本实施例中,上述计算机终端可以执行网络故障定位方法中以下步骤:

获取预先设置的定位规则;按照定位规则,定位故障域中引起网络故障的设备。进一步地,定位规则包括:在故障域中的多个节点上发生的异常事件的级别相同的情况下,节点的重要程度越高,引起网络故障的概率越大,其中,节点包括网络中的设备节点和端口节点,各个节点的重要程度为预先设置的,异常事件的级别为预先设置的。可选的,定位规则还可以在故障域中的多个节点上发生的异常事件的情况下,节点上发生的异常事件的数量越多,引起网络故障的概率越大。

在本实施例中,上述计算机终端可以执行网络故障定位方法中以下步骤:

获取网络的设备拓扑数据和网络中的异常事件包括:间隔从拓扑采集模块中读取设备拓扑数据,其中,设备拓扑数据为拓扑采集模块轮询网络中的端口和/或设备而拉取到的数据;间隔从事件状态采集模块中拉取异常事件,其中,异常事件为在事件状态采集模块中开启事件收集服务之后,网络中的端口和/或设备推送至事件状态采集模块的。

本领域普通技术人员可以理解,上述图10所示的网络结构仅为示意。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例所提供的方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

在本实施例中,上述计算机终端可以执行网络故障定位方法中以下步骤:

获取所述网络中设备拓扑数据和所述网络中的异常事件,其中,所述异常事件用于记录所述网络中部分或全部设备上发生的软件或硬件异常;基于所述设备拓扑数据和所述异常事件确定所述网络中存在故障的故障域;和定位所述故障域中引起网络故障的设备。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

基于设备拓扑数据和异常事件确定网络中存在故障的故障域包括:基于异常事件,确定发生了异常事件的异常节点,其中,异常节点包括发生了异常事件的设备节点和端口节点;在异常节点转发异常事件之后,确定接收到转发的异常事件的目标节点;基于异常节点和目标节点,确定网络中的故障域。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

通过网络拓扑图记录设备拓扑数据,其中,网络拓扑图中的节点用于记录网络中的设备或端口,网络拓扑图中的边用于记录两个节点之间的关联关系。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

控制网络拓扑图中的异常节点向与异常节点相连的节点转发异常事件,其中,若转发的异常事件到达的目标节点为端口节点,则端口节点继续向与端口节点相连的节点转发异常事件;若转发的异常事件到达的目标节点为设备节点,则设备节点中止转发异常事件。在本实施例中,上述计算机终端还可以执行网络故障定位方法中以下步骤:提取网络拓扑图中记录的异常节点、目标节点以及异常节点和目标节点之间的边,得到故障图;查找所述故障图中的连通分支,将查找到的连通分支确定为所述故障域,其中,在所述连通分支为多个的情况下,每个所述连通分支作为一个所述故障域。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

在网络拓扑图上标记发生了异常事件的异常节点;确定接收到异常事件的目标节点包括:在网络拓扑图上标记接收到异常事件的目标节点。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

获取预先设置的定位规则;按照定位规则,定位故障域中引起网络故障的设备。进一步地,定位规则包括:在故障域中的多个节点上发生的异常事件的级别相同的情况下,节点的重要程度越高,引起网络故障的概率越大,其中,节点包括网络中的设备节点和端口节点,各个节点的重要程度为预先设置的,异常事件的级别为预先设置的。可选的,定位规则还可以在故障域中的多个节点上发生的异常事件的情况下,节点上发生的异常事件的数量越多,引起网络故障的概率越大。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

获取网络的设备拓扑数据和网络中的异常事件包括:间隔从拓扑采集模块中读取设备拓扑数据,其中,设备拓扑数据为拓扑采集模块轮询网络中的端口和/或设备而拉取到的数据;间隔从事件状态采集模块中拉取异常事件,其中,异常事件为在事件状态采集模块中开启事件收集服务之后,网络中的端口和/或设备推送至事件状态采集模块的。

采用上述实施例,可以获取网络中的设备拓扑数据和网络中的异常事件,其中,异常事件用于记录网络中部分或全部设备上发生的软件或硬件异常,在获取到设备拓扑数据和异常事件后,可以基于该拓扑数据和异常事件确定网络中存在故障的故障域,最后,可以根据确定的故障域定位出引起网络故障的设备。从而解决了在网络出现故障时,无法准确定位出网络故障所在的位置的技术问题,帮助用户快速的定位引起网络故障的设备节点。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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