一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

定位网络故障的方法、装置和设备与流程

2023-03-01 11:04:56 来源:中国专利 TAG:


1.本技术涉及互联网领域,尤其涉及一种定位网络故障的方法、装置和设备。


背景技术:

2.随着数据业务的发展,承载数据业务的网络的规模越来越大,则网络运维难度也随之增加,网络故障导致数据业务受损的比例也越来越高。因此,网络运维人员迫切需要快速准确地定位网络故障,以便于处理网络故障恢复数据业务,降低数据业务的故障率。
3.通常,网络运维人员可以在每个网络设备上部署网络探针(net probe),网络设备基于网络探针探测从该网络设备到网络中其他网络设备之间的链路是否存在故障。但是,该种定位网络故障方法是在网络设备上部署网络探针,会导致网络设备的负载过重,且在该种部署下一般会采用稀疏矩阵计算定位网络故障,该计算方法的复杂程度较高。因此,如何快速准确地定位网络故障,以及降低定位复杂度是一个亟待解决的问题。


技术实现要素:

4.本技术提供一种定位网络故障的方法、装置和设备,解决了如何快速准确地定位网络故障,以及降低定位复杂度的问题。
5.第一方面,提供了一种定位网络故障的方法,该方法由控制器执行,所述方法包括控制器获取到网络拓扑信息后,根据网络拓扑信息向业务服务器发送探测请求,指示业务服务器探测网络的故障。进而,控制器接收业务服务器发送的探测结果,基于探测结果确定故障设备。故障设备包括网络设备和业务服务器中至少一种。网络拓扑信息用于描述网络的拓扑结构,网络包括网络设备和业务服务器,网络设备用于传输业务服务器提供的业务数据。
6.本技术实施例提供的定位网络故障方法,在业务服务器上部署探针,控制器根据网络拓扑信息描述的拓扑结构,分别针对网络中每层包含的网络设备,指示业务服务器传输探测报文,以得到探测结果。无需对网络设备部署探针,降低了网络设备的负载。控制器依据探测结果针对每层分别定位网络故障,从而,有效地提高了定位网络故障的速率,以及降低了定位复杂度。
7.其中,业务服务器可以是应用服务器或存储设备。应用服务器主要用于运行应用程序,为用户提供服务。存储设备主要用于存储数据。业务服务器部署有探针,探针用于实现发送探测报文以及接收探测报文的功能。从而,使业务服务器可以根据探测请求发送探测报文。
8.在一种可能的实现方式中,探测请求具体用于指示源业务服务器向目的业务服务器发送探测报文,探测请求包括源业务服务器的标识和目的业务服务器的标识。从而,使业务服务器依据探测请求探测网络的故障。
9.示例地,控制器根据网络拓扑信息向业务服务器发送探测请求包括:控制器根据网络拓扑信息确定探测策略,探测策略用于指示源业务服务器和目的业务服务器;根据探
测策略向源业务服务器发送探测请求。
10.在另一种可能的实现方式中,探测请求还包括探测力度,探测力度用于指示源业务服务器发送探测报文的次数。探测力度越大,探测结果的数据越丰富,控制器定位故障设备的精度越高。控制器可以根据网络负载情况和探测精度自适应地设置探测力度,从而,提高控制器定位网络故障的准确度。
11.在另一种可能的实现方式中,基于探测结果确定故障设备包括:控制器基于探测结果确定多个发生故障的探测路径,基于多个发生故障的探测路径确定故障设备。例如,控制器基于双平滑曲线机制,根据探测结果确定每条探测路径的评价指标,当评价指标大于预设阈值时确定探测路径故障。从而,控制器分层分对象定位故障设备,有效地降低了定位复杂度。
12.其中,探测结果包括丢包率和时延中至少一个。探测报文可以包括网际互连协议报文和业务报文。业务报文包括网际互连协议报文中载荷。
13.第二方面,提供了一种定位网络故障的方法,该方法由业务服务器执行,所述方法包括业务服务器接收控制器发送的探测请求,与探测请求指示的目的业务服务器传输探测报文得到探测结果。进而,业务服务器向控制器发送探测结果。探测请求用于指示业务服务器探测网络的故障。网络包括网络设备和业务服务器,网络设备用于传输业务服务器提供的业务数据。
14.本技术实施例提供的定位网络故障方法,业务服务器上部署了探针,业务服务器接收到探测请求后,可以依据探测请求指示的目的业务服务器发送探测报文,以得到探测结果。以便于控制器依据探测结果针对每层分别定位网络故障,提高定位网络故障的速率,以及降低定位复杂度。无需对网络设备部署探针,减少了对网络的依赖,降低了网络设备的负载。
15.其中,探测请求还包括探测力度,探测力度用于指示业务服务器发送探测报文的次数。
16.第三方面,提供了一种定位网络故障装置,所述装置包括用于执行第一方面或第一方面任一种可能设计中的定位网络故障的方法的各个模块。
17.第四方面,提供了一种定位网络故障装置,所述装置包括用于执行第二方面或第二方面任一种可能设计中的定位网络故障的方法的各个模块。
18.第五方面,提供一种设备,该设备包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器作为第一方面或第一方面任一种可能实现方式中的控制器执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的定位网络故障方法的操作步骤;当处理器作为第二方面或第二方面任一种可能实现方式中的业务服务器执行所述一组计算机指令时,执行第二方面或第二方面任一种可能实现方式中的定位网络故障方法的操作步骤。
19.第六方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在控制器中运行时,使得控制器执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
20.第七方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在业务服务器中运行时,使得业务服务器执行如第二方面或第二方面任意一种可能的
实现方式中所述方法的操作步骤。
21.第八方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得控制器执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
22.第九方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得业务服务器执行如第二方面或第二方面任意一种可能的实现方式中所述方法的操作步骤。
23.本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
24.图1为本技术实施例提供的一种网络的架构示例图;
25.图2为本技术实施例提供的一种发送探测报文的示意图;
26.图3为本技术实施例提供的另一种发送探测报文的示意图;
27.图4为本技术实施例提供的一种定位网络故障的方法的流程图;
28.图5为本技术实施例提供的一种探测结果的拟合曲线示意图;
29.图6为本技术实施例提供的一种定位网络故障装置的结构示意图;
30.图7为本技术实施例提供的一种控制器的结构示意图。
具体实施方式
31.网络是指通过网络设备和传输介质将地理位置不同、功能独立的多个计算机进行互联,基于网络软件使计算机之间通信,实现计算机之间的资源共享和数据传输的系统。网络设备包括网络接口卡(network interface card,nic)、集线器(hub)、交换机和路由器等。传输介质包括有线传输介质(如:双绞线、同轴电缆、光纤等)和无线传输介质(如:无线电波、微波、红外光等)。计算机包括用户工作站和服务器(server)。用户工作站也可以称为客户机。客户机可以是终端设备或个人计算机(personal computer,pc)。服务器是一种高性能计算机,为客户机提供计算或者应用服务。客户机可以通过服务器享受网络上提供的各种资源。网络软件包括网络操作系统(如unix、netware、windows new technology等)、客户连接软件(如:dos、windows操作系统、unix操作系统等)和网络管理软件等。
32.网络故障(network failure)是指由于网络中硬件问题、软件问题或病毒侵入等引起网络无法提供正常服务或降低服务质量的状态。
33.随着数据业务的发展,数据量呈现了指数增长,导致网络越来越庞大复杂。如何监控网络,及时准确地定位网络故障,快速地处理网络故障,确保业务正常运行,提高业务质量,成为业务提供方的一个重要诉求。
34.随着软件定义网络(software defined network,sdn)、网络功能虚拟化(network functions virtualization,nfv)网络的流行,通过在网络设备中部署网络探针实现发送、接收和分析探测报文的功能。网络探针的功能可以由功能模块、软件、硬件或固件来实现。在网络设备中部署探针,可以理解为在网络设备中部署探针模块以实现发送、接收和分析探测报文的功能。网络探针可以简称探针。网络设备可以基于探针采集网络状态,使用贝叶斯网络对网络状态进行分析,检测网络故障。例如,网络包含n个网络设备,可能需要部署n*(n-1)个探针。而且每个网络设备进行复杂的影响因子选择以及稀疏矩阵求解来定位网络
故障。因此,该种定位网络故障的方法不仅导致网络设备的负载过重,且确定故障的计算复杂度较高。
35.本技术实施例提供一种定位网络故障的方法,在业务服务器上部署探针,控制器根据网络拓扑信息描述的拓扑结构,分别针对网络中每层的网络设备,指示业务服务器传输探测报文,以得到探测结果。进而,控制器依据探测结果针对每层分别定位网络故障。与现有技术相比,无需对网络设备部署探针,降低了网络设备的负载,提高了故障分析的效率。
36.网络拓扑(network topology)是指构成网络的设备间物理的或者逻辑的排列方式,用传输介质互连各种设备的物理布局。如果两个网络的连接结构相同,虽然两个网络中的设备间的距离不同,也可以确定两个网络的网络拓扑相同。网络拓扑的结构包括星型结构、环型结构、树型结构、网型结构、总线型结构和混合型结构。
37.本技术实施例所述的网络拓扑是指分层化网络拓扑。例如网络拓扑的结构是树型结构。网络拓扑可以包含k层网络层,k为大于或等于2的整数。第1层至第k-1层中每层包含至少一个网络设备。第k层包含业务服务器。第k-1层中每个网络设备连接至少一个业务服务器。网络设备用于传输业务服务器提供的业务数据。为便于描述,用lx.y.z标识网络层中的网元,lx表示第x层,y表示第x-1层的第y个网元,z表示与第y个网元连接的第x层中第z个网元。其中,x为大于等于1且小于等于k的整数,y为大于等于0的整数,z为大于等于1的整数。例如,l2.1.1表示与第1层的第1个网元相连的第2层中第1个网元。需要说明的是,由于第1层为首层,因此,对于第1层中网元的标识无需体现上层网络的网元,则y取0。例如,第1层中的第1个网元用l1.0.1或l1.1表示。
38.假设k=3,网络拓扑包含3层,即第1层(l1)、第2层(l2)和第3层(l3)。第1层和第2层均包含网络设备,第3层包含至少一个业务服务器。示例地,如图1所示,第1层包含一个网络设备。第2层包含m个网络设备。m个网络设备与第1层中的网络设备相连。m个网络设备中每个网络设备还连接n个业务服务器,则第3层包含m*n个业务服务器。为便于描述,用l1.1表示第1层中的第1个网络设备。用于l2.1.1表示与第1层中第1个网络设备连接的第2层中第1个网络设备。由于第1层包含一个网络设备,可以省略第2层中网元的标识中y的取值,例如,用l2.1表示第2层中的第1个网络设备,用l2.2表示第2层中的第2个网络设备,以此类推,用l2.m表示第2层中的第m个网络设备。在第3层中,与第2层中第1个网络设备连接的第1个业务服务器至第n个业务服务器可以用l3.1.1至l3.1.n表示;与第2层中第2个网络设备连接的第1个业务服务器至第n个业务服务器可以用l3.2.1至l3.2.n表示;与第2层中第m个网络设备连接的第1个业务服务器至第n个业务服务器可以用l3.m.1至l3.m.n表示。
39.在一种可能的示例中,网络拓扑可以表示为l3.1.1-l2.1-l1.1至l3.1.n-l2.1-l1.1,l3.2.1-l2.2-l1.1至l3.2.n-l2.2-l1.1

l3.m.1-l2.m-l1.1至l3.m.n-l2.m-l1.1。
40.在另一种可能的示例中,网络拓扑可以表示为l1.1-l2.1
‑‑
l2.m,l2.1-l3.1.1
‑‑
l3.1.n,l2.2-l3.2.1
‑‑
l3.2.n

l2.m-l3.m.1
‑‑
l3.m.n。
41.可理解的,l2.1至l2.m归属于l1.1,即l1.1是父节点,l2.1至l2.m是l1.1的子节点。l3.1.1至l3.1.n归属l2.1,即l2.1是父节点,l3.1.1至l3.1.n是l1.2的子节点。l3.2.1至l3.2.n归属l2.2,即l2.2是父节点,l3.2.1至l3.2.n是l2.2的子节点。以此类推,l3.m.1至l3.m.n归属l2.m,即l2.m是父节点,l3.m.1至l3.m.n是l2.m的子节点。
42.本技术实施例所述的网络可以是指数据链路层或网际互连协议(internet protocol,ip)层的物理网络或服务器与存储阵列之间的存储网络。网络存储(network storage)是数据存储的一种方式。网络存储结构大致分为三种,即直连式存储(direct attached storage,das)、网络附加存储(network attached storage,nas)和存储区域网(storage area network,san)。例如,图1中所示的网络拓扑,第1层包含一个网络设备可以是汇聚交换机,第2层包含m个网络设备可以是接入交换机,m个网络设备中每个网络设备连接n个业务服务器可以是存储网元。
43.可选地,第k层中的业务服务器也可以是应用服务器。例如,与l2.1连接的l3.1.1至l3.1.n是应用服务器,与l2.m连接的l3.m.1至l3.m.n是存储设备。
44.另外,本技术实施例对网络的规模大小不予限定。例如,网络可以是局域网(local area network,lan)、城域网(metropolitan area network,man)和广域网(wide area network,wan)。局域网的网络覆盖范围一般为几米到几十公里。广域网的网络覆盖范围一般为几十公里到几千公里。城域网的网络覆盖范围介于局域网与广域网之间。网络拓扑是依据网络的规模大小确定的。网络规模较大,树型网络拓扑的层数较多;网络规模较小,树型网络拓扑的层数较少。
45.本技术实施例提供的定位网络故障方案中控制器用于控制业务服务器发送探测报文和定位网络故障。控制器可以是一个独立的设备,例如控制器部署在第k层,控制器连接第k层中的每个业务服务器。或者,控制器的功能和业务服务器的功能集成在一个独立的设备,例如网络中的一个服务器提供了业务服务器的功能和控制器的功能。
46.需要说明的是,第k层中每个业务服务器上部署探针,使得业务服务器可以依据控制器发送的探测请求发送探测报文。控制器可以依据探测策略指示第k层中的业务服务器发送探测报文进行探测。探测策略用于指示业务服务器传输探测报文的规则。
47.在第一种探测策略中,探测策略用于指示源网元和目的网元之间间隔0个网元传输探测报文。可理解的,源网元和目的网元是相邻的两个网元。网元可以是指业务服务器或网络设备。
48.对于第k-1层中每个网络设备,与第k-1层中每个网络设备相连的业务服务器依据第一种探测策略发送探测报文,即源业务服务器间隔0个业务服务器向目的业务服务器之间传输探测报文。源业务服务器和目的业务服务器是相邻的两个业务服务器。
49.例如,如图2中的(a)所示,与第2层中的第1个网络设备l2.1连接的第3层中的每个业务服务器发送探测报文,源业务服务器和目的业务服务器间隔0个业务服务器传输探测报文。可理解的,l3.1.1向l3.1.2发送探测报文;又如,l3.1.2向l3.1.3发送探测报文;又如,l3.1.n-1向l3.1.n发送探测报文;又如,l3.1.n向l3.1.1发送探测报文。从而,l3.1.1至l3.1.n实现了环形探测。因此,l2.1的探测组包括l3.1.1-l3.1.2、l3.1.2-l3.1.3、...l3.1.n-1-l3.1.n,以及l3.1.n-l3.1.1。由l3.1.1和l3.1.2探测路径l3.1.1-》l2.1-》l3.1.2。由l3.1.2和l3.1.3探测路径l3.1.2-》l2.1-》l3.1.3。由l3.1.n-1和l3.1.n探测路径l3.1.n-1-》l2.1-》l3.1.n。由l3.1.n和l3.1.1探测路径l3.1.n-》l2.1-》l3.1.1。
50.又如,与第2层中的第2个网络设备l2.2连接的第3层中的每个业务服务器发送探测报文。可理解的,l3.2.1向l3.2.2发送探测报文;又如,l3.2.2向l3.2.3发送探测报文;又如,l3.2.n-1向l3.2.n发送探测报文;又如,l3.2.n向l3.2.1发送探测报文。从而,l3.2.1至
l3.2.n实现了环形探测。因此,l2.2的探测组包括l3.2.1-l3.2.2、l3.2.2-l3.2.3、...l3.2.n-1-l3.2.n,以及l3.2.n-l3.2.1。由l3.2.1和l3.2.2探测路径l3.2.1-》l2.2-》l3.2.2。由l3.2.2和l3.2.3探测路径l3.2.2-》l2.2-》l3.2.3。由l3.2.n-1和l3.2.n探测路径l3.2.n-1-》l2.2-》l3.2.n。由l3.2.n和l3.2.1探测路径l3.2.n-》l2.2-》l3.2.1。
51.对于第1层至第k-2层中每个网络设备,与该网络设备(父节点)相连的网络设备(子节点)间隔0个网络设备传输探测报文,并且由该子节点分支下的业务服务器发送探测报文。
52.例如,如图2中的(b)所示,对于第1层中的第1个网络设备l1.1,与l1.1相连的l2.1至l2.m中每个网络设备间隔0个网络设备传输探测报文,由于发出的探测报文需要是业务服务器,则由在l2.1至l2.m中每个网络设备分支下任选一个业务服务器发送探测报文。比如,由于l2.1归属于l1.1,l2.2归属于l1.1,可以由与l2.1和l2.2连接的业务服务器探测l1.1,即由归属于l2.1和l2.2的业务服务器发送探测报文。l3.1.1归属于l2.1,l3.2.1归属于l2.2,可以由与l2.1连接的l3.1.1发送向与l2.2连接的l3.2.1探测报文,则由l3.1.1和l3.2.1探测路径l3.1.1-》l2.1-》l1.1-》l2.2-》l3.2.1。因此,l1.1的探测组可以包括l2.1-l2.2、l2.2-l2.3、...l2.m-1-l2.m,以及l2.m-l2.1。用业务服务器替换网络设备,则l1.1的探测组包括l3.1.n-l3.2.n、l3.2.n-l3.3.n、...l3.m-1.n-l3.m.n,以及l3.m.n-l3.1.n。n为1至n中任一个取值。比如,由l3.1.1和l3.2.1探测路径l3.1.1-》l2.1-》l1.1-》l2.2-》l3.2.1。由l3.2.1和l3.3.1探测路径l3.2.1-》l2.2-》l1.1-》l2.3-》l3.3.1。由l3.m-1.1和l3.m.1探测路径l3.m-1.1-》l2.m-1-》l1.1-》l2.m-》l3.m.1。由l3.m.1和l3.1.1探测路径l3.m.1-》l2.m-》l1.1-》l2.1-》l3.1.1。
53.在第二种探测策略中,探测策略用于指示源网元和目的网元之间间隔i个以上网元传输探测报文。网元可以是指业务服务器或网络设备。i为大于等于1的整数。
54.对于第k-1层中每个网络设备,与第k-1层中每个网络设备相连的业务服务器依据第二种探测策略发送探测报文,即源业务服务器间隔i个业务服务器向目的业务服务器之间传输探测报文。
55.例如,当i=1时,如图3中的(a)所示,对于l2.1,与l2.1连接的第3层中的每个业务服务器发送探测报文,源业务服务器和目的业务服务器间隔1个业务服务器传输探测报文。例如,l3.1.1向l3.1.3发送探测报文;又如,l3.1.2向l3.1.4发送探测报文;又如,l3.1.n-2向l3.1.n发送探测报文;又如,l3.1.n向l3.1.2发送探测报文。因此,l2.1的探测组包括l3.1.1-l3.1.3、l3.1.2-l3.1.4、...l3.1.n-2-l3.1.n,以及l3.1.n-l3.1.2。由l3.1.1和l3.1.3探测路径l3.1.1-》l2.1-》l3.1.3。由l3.1.2和l3.1.4探测路径l3.1.2-》l2.1-》l3.1.4。由l3.1.n-2和l3.1.n探测路径l3.1.n-2-》l2.1-》l3.1.n。由l3.1.n和l3.1.2探测路径l3.1.n-》l2.1-》l3.1.2。
56.对于第1层至第k-2层中每个网络设备,与该网络设备(父节点)相连的网络设备(子节点)间隔i个网络设备传输探测报文,并且由该子节点分支下的业务服务器发送探测报文。
57.又如,当i=1时,如图3中的(b)所示,对于l1.1,l1的探测组包括l3.1.n-l3.3.n、l3.2.n-l3.4.n、...l3.m-2.n-l3.m.n,以及l3.m.n-l3.2.n。n为1至n中任一个取值。比如,由l3.1.1和l3.3.1探测路径l3.1.1-》l2.1-》l1.1-》l2.3-》l3.3.1。由l3.2.1和l3.4.1探测
路径l3.2.1-》l2.2-》l1.1-》l2.4-》l3.4.1。由l3.m-2.1和l3.m.1探测路径l3.m-2.1-》l2.m-2-》l1.1-》l2.m-》l3.m.1。由l3.m.1和l3.2.1探测路径l3.m.1-》l2.m-》l1.1-》l2.2-》l3.2.1。
58.接下来,对本技术提供的定位网络故障的方法进行详细说明。图4为本技术实施例提供的定位网络故障的方法的流程图。该方法由网络中的控制器和业务服务器执行。如图4所示,该方法包括以下步骤。
59.s410、控制器获取网络拓扑信息。
60.控制器可以基于静态方式获取网络拓扑信息。网络拓扑信息用于描述网络的拓扑结构。例如,网络拓扑信息可以是由运维人员预先配置到控制器,控制器可以从本地获取所管理的网络拓扑信息。
61.控制器还可以基于动态方式获取网络拓扑信息。例如控制器基于链路层发现协议(link layer discovery protocol,lldp)或跟踪路由(tracert)确定报文的转发路径,获取网络拓扑信息。关于网络拓扑的具体解释可以参考上述实施例的阐述。
62.s420、控制器向第k层中的业务服务器发送探测请求。
63.由于控制器需要探测网络中每个网络设备是否故障以及网络设备间的链路是否故障,因此,控制器遍历网络中每层中的网络设备,向网络中包含网络设备的每条路径上的业务服务器发送探测请求。
64.控制器可以依据探测策略向业务服务器发送探测请求。探测请求可以包括源业务服务器的标识和目的业务服务器的标识。源业务服务器为发送探测报文的业务服务器。目的业务服务器为接收探测报文的业务服务器。源业务服务器的标识可以是源业务服务器的地址。目的业务服务器的标识可以是目的业务服务器的地址。
65.在一些实施例中,控制器可以依据第一种探测策略向业务服务器发送探测请求。
66.对于第k-1层中每个网络设备,控制器可以依据第一种探测策略,向与第k-1层中每个网络设备连接的每个业务服务器发送探测请求,指示业务服务器间隔0个业务服务器传输探测报文。例如,控制器向与l2.1连接的l3.1.1至l3.1.n发送探测请求。控制器向l3.1.1发送的探测请求包括l3.1.1的地址和l3.1.2的地址,指示l3.1.1向l3.1.2发送探测报文。又如,控制器向与l2.1连接的l3.1.2发送探测请求,探测请求包括l3.1.2的地址和l3.1.3的地址,指示l3.1.2向l3.1.3发送探测报文。又如,控制器向与l2.1连接的l3.1.n发送探测请求,探测请求包括l3.1.n的地址和l3.1.1的地址,指示l3.1.n向l3.1.1发送探测报文。
67.对于第1层至第k-2层中每个网络设备,控制器从与第k-1层中每个网络设备连接的业务服务器中任选一个业务服务器发送探测请求。例如,对于l1.1,l2.1至l2.m归属于l1.1。l2.1至l2.m中每个网络设备间隔0个网络设备发送探测报文。因此,控制器向与l2.1连接的l3.1.1发送探测请求,探测请求包括l3.1.1的地址和l3.2.1的地址,指示l3.1.1向l3.2.1发送探测报文。控制器向与l2.2连接的l3.2.1发送探测请求,探测请求包括l3.2.1的地址和l3.3.1的地址,指示l3.2.1向l3.3.1发送探测报文。
68.在另一些实施例中,控制器可以依据第二种探测策略向业务服务器发送探测请求。
69.对于第k-1层中每个网络设备,控制器可以依据第二种探测策略,向与第k-1层中
每个网络设备连接的每个业务服务器发送探测请求,指示业务服务器间隔1个业务服务器传输探测报文。例如,控制器向与l2.1连接的l3.1.1至l3.1.n发送探测请求。控制器向l3.1.1发送的探测请求包括l3.1.1的地址和l3.1.3的地址,指示l3.1.1向l3.1.3发送探测报文。又如,控制器向与l2.1连接的l3.1.2发送探测请求,探测请求包括l3.1.2的地址和l3.1.4的地址,指示l3.1.2向l3.1.4发送探测报文。又如,控制器向与l2.1连接的l3.1.n发送探测请求,探测请求包括l3.1.n的地址和l3.1.2的地址,指示l3.1.n向l3.1.2发送探测报文。
70.对于第1层至第k-2层中每个网络设备,控制器从与第k-1层中每个网络设备连接的业务服务器中任选一个业务服务器发送探测请求。例如,对于l1.1,l2.1至l2.m归属于l1.1。l2.1至l2.m中每个网络设备间隔1个网络设备发送探测报文。因此,控制器向与l2.1连接的l3.1.1发送探测请求,探测请求包括l3.1.1的地址和l3.3.1的地址,指示l3.1.1向l3.3.1发送探测报文。控制器向与l2.2连接的l3.2.1发送探测请求,探测请求包括l3.2.1的地址和l3.4.1的地址,指示l3.2.1向l3.4.1发送探测报文。
71.另外,控制器也可以依据探测力度向业务服务器发送探测请求。
72.探测力度用于指示源业务服务器发送探测报文的次数。可理解的,探测力度用于指示探测基于k层中至少一层的网络设备传输业务数据的次数。运维人员可以根据业务需要设置探测力度。探测力度越大,探测结果的数据越丰富,控制器定位故障设备的精度越高。控制器可以根据网络负载情况和探测精度自适应地设置探测力度。
73.例如,若探测力度为2,表示对一个网络设备部署两组探测组,两组探测组可以是由不同探测策略确定。可理解的,每组探测组包含发送探测报文的路径信息。示例地,控制器依据第一种探测策略向业务服务器发送探测请求,控制器依据第二种探测策略向业务服务器发送探测请求使得业务服务器按照上述探测策略发送相应的探测报文。如表1所示,对于图1所示的网络拓扑中第1层和第2层中的每个网络设备,覆盖两组探测组。第一探测组由第一种探测策略确定的。第二探针组由第二种探测策略确定的。
74.表1
[0075][0076]
可选地,如果网络中存在一个网络设备的备份设备,控制器可以根据探测网络设备的方法,探测备份设备。例如,图1所示的网络还包括l2.1的备份设备l2.1’,l2.1’连接l3.1.1至l3.1.n。控制器向与l2.1’连接的l3.1.1至l3.1.n发送探测请求。控制器向l3.1.1发送的探测请求包括l3.1.1的地址和l3.1.2的地址,指示l3.1.1向l3.1.2发送探测报文。l3.1.1向l2.1’发送探测报文,l2.1’转发探测报文至l3.1.2。
[0077]
需要说明的是,如果控制器的功能和业务服务器的功能集成在一个独立的设备,即网络中的一个服务器提供了业务服务器的功能和控制器的功能,则服务器无需向自己发送探测请求,根据探测策略向其他业务服务器发送探测报文,以及服务器根据探测策略向其他业务服务器发送探测请求,指示其他业务服务器发送探测报文。例如,控制器的功能集成在业务服务器l3.1.1,则l3.1.1无需向自己发送探测请求,根据探测策略向其他业务服务器发送探测报文,以及l3.1.1根据探测策略向其他业务服务器发送探测请求,指示其他业务服务器发送探测报文。关于l3.1.1发送探测请求的具体方式参考s420的阐述。
[0078]
s430、第一业务服务器接收控制器发送的探测请求。
[0079]
s440、第一业务服务器向探测请求指示的第二业务服务器发送探测报文。
[0080]
第一业务服务器可以是指源业务服务器。第二业务服务器可以是指目的业务服务器。探测请求可以包括第一业务服务器的地址和第二业务服务器的地址。
[0081]
例如,第一业务服务器为l3.1.2,第二业务服务器为l3.1.3(如图2中的(a)所示)。探测请求指示l3.1.2向l3.1.3发送探测报文,探测请求包括l3.1.2的地址和l3.1.3的地址。由于l3.1.2和l3.1.3分别与l2.1连接,l3.1.2接收到探测请求后,l3.1.2向l2.1发送探测报文,l2.1向l3.1.3发送探测报文。
[0082]
又如,第一业务服务器为l3.1.2,第二业务服务器为l3.1.4(如图3中的(a)所示)。探测请求指示l3.1.2向l3.1.4发送探测报文,探测请求包括l3.1.2的地址和l3.1.4的地址。由于l3.1.2和l3.1.4分别与l2.1连接,l3.1.2接收到探测请求后,向l2.1发送探测报文,l2.1向l3.1.4发送探测报文。
[0083]
又如,第一业务服务器为l3.1.1,第二业务服务器为l3.2.1(如图2中的(b)所示)。探测请求指示l3.1.1向l3.2.1发送探测报文,探测请求包括l3.1.1的地址和l3.2.1的地址。l3.1.1与l2.1连接,l3.2.1与l2.2连接,l3.1.1接收到探测请求后,向l2.1发送探测报文,l2.1向l1.1发送探测报文,l1.1向l2.2发送探测报文,l2.2向l3.2.1发送探测报文。
[0084]
又如,第一业务服务器为l3.1.1,第二业务服务器为l3.3.1(如图3中的(b)所示)。探测请求指示l3.1.1向l3.3.1发送探测报文,探测请求包括l3.1.1的地址和l3.3.1的地址。l3.1.1与l2.1连接,l3.3.1与l2.3连接,l3.1.1接收到探测请求后,向l2.1发送探测报文,l2.1向l1.1发送探测报文,l1.1向l2.3发送探测报文,l2.3向l3.3.1发送探测报文。
[0085]
本技术实施例所述的探测报文可以包括网际互连协议报文和业务报文,业务报文包括网际互连协议报文中载荷。
[0086]
s450、第一业务服务器获取探测结果。
[0087]
探测结果用于指示第一业务服务器与第二业务服务器发送探测报文的路径的网络状况。探测结果可以包括丢包率(loss tolerance或packet loss rate)和时延。
[0088]
丢包率是指测试中所丢失数据包的数量占所发送数据包的比率。丢包率与数据包长度以及包发送频率相关。
[0089]
时延是指报文从源端传送到目的端所需的时长。时延包括处理时延、排队时延、发送时延和传播时延。可理解的,时延等于处理时延、排队时延、发送时延和传播时延之和。
[0090]
处理时延是指网络设备处理数据报,确定目的设备所用的时长。
[0091]
排队时延是指网络设备处理数据报排队所消耗的时长。排队时延取决于先到达的、正在排队等待传输数据报的数量。如果队列为空,并且没有其它数据报传输,则排队时
延为0。
[0092]
发送时延是指网络设备将数据报传输到信道上所用的时长,也可以称信道带宽。发送时延取决于数据包的长度和链路传输速率。
[0093]
传播时延是指数据在信道上传播所用的时长。传播时延取决于传播的距离及传播速度,传播速度则取决于链路的物理媒介,如光纤,双绞线等。传播速度一般等于或者小于光速。
[0094]
示例地,第一业务服务器获取到的探测结果可以包括第一业务服务器处理探测报文的处理时延、第一业务服务器接收探测报文的响应报文的排队时延、第一业务服务器发送探测报文的发送时延、探测报文从第一业务服务器传输到第二业务服务器的传播时延、第一业务服务器在一段时长内发送探测报文的丢包率。
[0095]
s460、第一业务服务器向控制器发送探测结果。
[0096]
s470、控制器接收第k层中的业务服务器发送的探测结果。
[0097]
控制器接收第一业务服务器发送的探测结果。在一些实施例中,由第一业务服务器确定探测结果,控制器接收第一服务器发送的探测结果。例如,探测结果可以包括处理时延、排队时延、发送时延、传播时延和丢包率。在另一些实施例中,控制器接收第一业务服务器和第二业务服务器发送的报文信息(如:时延和报文数量),根据报文信息确定探测结果。例如,第一业务服务器向控制器发送了发出的探测报文的数量和接收响应报文的数量,控制器根据发出的探测报文的数量和接收响应报文的数量确定丢包率。
[0098]
需要说明的是,探测结果是针对网络中包含网络设备的路径的探测结果。探测结果可以包括探测组中每条探测路径的网络状况。示例地,对于l2.1,探测结果包括l3.1.1-l3.1.2,l3.1.2-l3.1.3

l3.1.n-l3.1.1的网络状况。例如,探测结果包括路径l3.1.1-》l2.1-》l3.1.2的时延和丢包率,l3.1.2-》l2.1-》l3.1.3的时延和丢包率,

l3.1.n-》l2.1-》l3.1.1的时延和丢包率。
[0099]
s480、控制器根据第k层中的业务服务器发送的探测结果确定故障设备。
[0100]
控制器可以从第k层至第1层分层依次对每层中的网络设备的探测结果进行检测,即基于探测结果确定多个发生故障的探测路径,基于多个发生故障的探测路径确定故障设备。故障设备包括网络设备和业务服务器中至少一个。
[0101]
具体地,控制器基于双平滑曲线机制,对探测组中每个探测路径的探测结果确定评价指标,根据评价指标和预设阈值确定故障设备。评价指标用于表示网络故障的程度。
[0102]
示例地,控制器根据业务服务器发送的探测结果(如:时延或丢包率)确定第一类取值和第二类取值。第一类取值表示探测结果的长期拟合数据,例如,第一类取值可以是探测结果的2个小时拟合数据。第二类取值表示探测结果的短期拟合数据,例如,第二类取值可以是探测结果的2分钟拟合数据。第一类取值满足公式(1)。第二类取值满足公式(2)。
[0103]st
=s
t-1
p*(x
t-s
t-1
)
ꢀꢀꢀꢀ
公式(1)
[0104]s′
t
=s

t-1
p

*(x
t-s

t-1
)
ꢀꢀꢀ
公式(2)
[0105]
其中,s
t-1
表示t-1时刻的拟合值,x
t
表示t时刻的探测结果,s
t
表示t时刻的拟合值。p表示第一调节因子,0《p《1。例如若第一类取值是探测结果的2个小时拟合数据,p的取值可以为1/(2*60)。
[0106]s′
t-1
表示t-1时刻的拟合值,x
t
表示t时刻的探测结果,s

t
表示t时刻的拟合值。p

表示第二调节因子,0《p

《1,0《w《1。例如若第二类取值是探测结果的2分钟拟合数据,p

的取值可以为1/2。
[0107]
应理解,p的取值越趋近于1表示t时刻的拟合值s
t
越趋近于t时刻的探测结果x
t
,p的取值越趋近于0表示t时刻的拟合值s
t
越趋近于t-1时刻的拟合值s
t-1
。p

的取值越趋近于1表示t时刻的拟合值s

t
越趋近于t时刻的探测结果x
t
,p的取值越趋近于0表示t时刻的拟合值s

t
越趋近于t-1时刻的拟合值s

t-1
。因此,由于p

》p,若t时刻的探测结果x
t
出现较大波动,在短期拟合中t时刻的拟合值s

t
也出现较大波动,在长期拟合中t时刻的拟合值s
t
也会出现波动,但波动可能较小。
[0108]
由第一类取值绘制得到第一曲线,第一曲线表示长期拟合数据的变化趋势。由第二类取值绘制得到第二曲线,第二曲线表示短期拟合数据的变化趋势。如果网络中不存在故障设备,第一曲线和第二曲线的变化基本一致。如果网络中存在故障设备,第一曲线和第二曲线出现抖动现象。由于p

》p,则第二曲线的抖动现象比第一曲线的抖动现象明显。曲线抖动越大,路径中发生故障的可能性越大。示例地,假设探测结果指示业务服务器发送探测报文的丢包率。图5中的(a)所示的曲线表示未做任何处理的原数据。图5中的(b)所示的第一曲线表示长期拟合结果,第二曲线表示短期拟合结果。在t1时刻,第二曲线出现的抖动现象(如图5中箭头所指),比第一曲线的抖动现象明显。
[0109]
因此,控制器可以根据第一类取值和第二类取值确定评价指标;根据评价指标和n-sigma机制确定故障设备。例如,评价指标满足公式(3)。
[0110]
δ
t
=s

t-s
t
ꢀꢀ
公式(3)
[0111]
δ
t
表示双平滑曲线的差值,即评价指标。
[0112]
控制器根据评价指标和预设阈值nσ确定故障设备。其中,n的取值可以为3,σ=std(x),std(x)表示探测结果的标准差,即绘制第一曲线和第二曲线所使用的原数据的标准差。控制器判断δ
t
是否满足公式(4)δ
t
>nσ。若δ
t
>nσ,表示探测路径上存在故障设备的概率较高;若δ
t
≤nσ,表示探测路径上存在故障设备的概率较低。可以理解的,针对每条探测路径都会计算该探测路径的评价指标,根据评价指标和预设阈值nσ确定故障设备。
[0113]
假设以下路径的探测报文出现丢包/时延突增,控制器依据双平滑曲线机制和n-sigma机制判定异常的路径包括l3.1.1-l3.1.2,l3.1.1-l3.1.4,l3.1.5-l3.1.1,l3.1.3-l3.1.1。由于这些异常的路径中均包含l3.1.1,则控制器确定故障设备为l3.1.1。
[0114]
又如,l1层出现以下异常路径包括l2.1-l2.2,l2.1-l2.4,l2.100-l2.1,l2.98-l2.1,则控制器确定故障设备为l2.1。
[0115]
本技术实施例提供的确定故障设备的方法可以判定整个网络不同层级的网元故障。由于控制器确定故障设备所需的数据量远小于解稀疏矩阵方案所需的数据量,因此可有效地减少计算资源消耗及定位网络故障的时长。以图1所示的三层网络为例,以定位每个网络设备故障为目标,若使用解稀疏矩阵的方法需要所有业务服务器全量探测的数据,数据量为y*(y-1),y为业务服务器的数量。随网络规模增加数据量呈指数级上升。使用本技术实施例提供的方案只需对每层的网络设备进行环形探测,数据量为nxy nx,x为网络设备的数量,y为业务服务器的数量,n为探测力度,随网络规模增加数据量呈线性上升。
[0116]
如图1所示,假设m为100,n为5,即网络规模为l1层1个交换机、l2层100个交换机、
l3层500个存储节点,解稀疏矩阵需要数据量为500*(500-1)=249500;本技术实施例提供的方案,设置最小探测力度为2次,数据量为2*100*5 2*100=1200。
[0117]
本技术实施例提供的定位网络故障方法,在业务服务器上部署探针,控制器根据网络拓扑信息描述的拓扑结构,分别针对网络中每层包含的网络设备,指示业务服务器传输探测报文,以得到探测结果。无需对网络设备部署探针,降低了网络设备的负载。控制器依据探测结果针对每层分别定位网络故障,从而,有效地提高了定位网络故障的速率,以及降低了定位复杂度。
[0118]
可以理解的是,为了实现上述实施例中的功能,控制器包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本技术中所公开的实施例描述的各示例的单元及方法步骤,本技术能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
[0119]
上文中结合图1至图5,详细描述了根据本实施例所提供的定位网络故障的方法,下面将结合图6,描述根据本实施例所提供的定位网络故障装置。
[0120]
图6为本实施例提供的可能的定位网络故障装置的结构示意图。这些定位网络故障装置可以用于实现上述方法实施例中控制器的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该定位网络故障装置可以是如图4所示的控制器,还可以是应用于服务器的模块(如芯片)。
[0121]
如图6所示,定位网络故障装置600包括通信模块610、探测模块620、故障定位模块630和存储模块640。定位网络故障装置600用于实现上述图4中所示的方法实施例中控制器的功能。
[0122]
通信模块610用于获取网络拓扑信息。网络拓扑包含k层网络层,所述k层网络层中第1层至第k-1层均包含网络设备,第k层包含业务服务器。网络设备用于传输业务服务器提供的业务数据,k为大于或等于2的整数。例如,通信模块610用于执行图4中s410。
[0123]
探测模块620用于根据所述网络拓扑信息向所述业务服务器发送探测请求,所述探测请求用于指示所述业务服务器探测所述网络的故障。例如,探测模块620用于执行图4中s420至s470。
[0124]
故障定位模块630用于基于所述探测结果确定故障设备,所述故障设备包括所述网络设备和所述业务服务器中至少一种。例如,故障定位模块630用于执行图4中s480。
[0125]
可选地,探测模块620用于根据所述网络拓扑信息获取探测策略,所述探测策略用于指示所述源业务服务器和所述目的业务服务器;根据所述探测策略向所述源业务服务器发送所述探测请求。
[0126]
可选地,探测请求具体用于指示源业务服务器向目的业务服务器发送探测报文,所述探测请求包括所述源业务服务器的标识和所述目的业务服务器的标识。
[0127]
可选地,所述探测请求还包括探测力度,所述探测力度用于指示所述源业务服务器发送探测报文的次数。
[0128]
可选地,故障定位模块630用于基于所述探测结果确定多个发生故障的探测路径,基于所述多个发生故障的探测路径确定故障设备。例如,故障定位模块630基于双平滑曲线机制,根据所述探测结果确定评价指标;根据所述评价指标和预设阈值确定所述故障设备。
[0129]
存储模块640用于存储与本技术实施例相关的程序指令,以及网络拓扑信息和探测策略等。
[0130]
应理解的是,本技术实施例的定位网络故障装置600可以通过asic实现,或可编程逻辑器件(programmable logic device,pld)实现,上述pld可以是复杂程序逻辑器件(complex programmable logical device,cpld),现场可编程门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。也可以通过软件实现图4所示的定位网络故障的方法时,定位网络故障装置600及其各个模块也可以为软件模块。
[0131]
根据本技术实施例的定位网络故障装置600可对应于执行本技术实施例中描述的方法,并且定位网络故障装置600中的各个单元的上述和其它操作和/或功能分别为了实现图4中的各个方法的相应流程,为了简洁,在此不再赘述。
[0132]
图7为本实施例提供的一种控制器700的结构示意图。如图所示,控制器700包括处理器710、总线720、存储器730和通信接口740。
[0133]
应理解,在本实施例中,处理器710可以是cpu,该处理器710还可以是其他通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
[0134]
处理器还可以是gpu、npu、微处理器、asic、或一个或多个用于控制本技术方案程序执行的集成电路。
[0135]
通信接口740用于实现控制器700与外部设备或器件的通信。在本实施例中,通信接口740用于获取网络拓扑信息。
[0136]
总线720可以包括一通路,用于在上述组件(如处理器710和存储器730)之间传送信息。总线720除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线720。
[0137]
作为一个示例,控制器700可以包括多个处理器。处理器可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。处理器710可以调用存储器730存储的计算机指令根据所述探测结果确定故障设备。
[0138]
值得说明的是,图7中仅以控制器700包括1个处理器710和1个存储器730为例,此处,处理器710和存储器730分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
[0139]
存储器730可以对应上述方法实施例中用于存储探测结果等信息的存储介质,例如,磁盘,如机械硬盘或固态硬盘。
[0140]
上述控制器700可以是一个通用设备或者是一个专用设备。例如,控制器700可以是服务器或其他具有计算能力的设备。
[0141]
应理解,根据本实施例的控制器700可对应于本实施例中的定位网络故障装置600,并可以对应于执行根据图4中任一方法中的相应主体,并且定位网络故障装置600中的各个模块的上述和其它操作和/或功能分别为了实现图4中的各个方法的相应流程,为了简洁,在此不再赘述。
[0142]
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指
令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
[0143]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,dvd);还可以是半导体介质,例如,固态硬盘(solid state drive,ssd)。
[0144]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献