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

一种数据中心网络时延探测方法、装置、设备及介质与流程

2021-12-07 21:55:00 来源:中国专利 TAG:


1.本技术涉及电子信息技术领域,特别涉及一种数据中心网络时延探测方法、装置、一种数据中心网络时延探测设备及一种可读存储介质。


背景技术:

2.数据中心网络故障是一种常见的现象,其中,时延问题尤为突出。一旦数据中心网络出现时延问题,相依而来的就是对业务性能、可靠性、稳定性造成严重的影响。数据中心网络时延问题可能是其他网络问题导致的,比如大量数据包乱序造成的大规模重传,链路拥塞,带宽负载过高,也可能是器件转发能力瓶颈等造成的,数据中心网络时延问题的影响因素非常复杂,排查难度大。
3.目前时延探测机制中存在一些工具可以实现时延探测的功能,比如ping和traceroute,通过在链路中收发数据包,获取到往返探测时延(rtt),从而分析链路时延是否有问题,该数据包具备携带数据片段(用于记录时间戳)的功能往返于两个主机之间的链路。
4.前面有提及到现有的时延探测机制中存在一些工具可以实现时延探测的功能,比如ping和traceroute,通过携带数据片段(payload)来实现记录收发时间的功能的,在大规模的数据中心网络中,收发包路径复杂繁多,对每条收发包进行路径时延探测会极大的抬高了定位问题的时间成本以及资源开销,而且时间成本以及资源成本的抬升进一步导致时延探测检测机制的实时性差,一般当网络出现了明显的卡顿、超时、断线重连等问题后,业务系统才会启动ping时延探测机制去排查链路问题,无法实现对于网络故障的预先排查,用户体验差。


技术实现要素:

5.本技术的目的是提供一种数据中心网络时延探测方法,该方法可以确保全网设备的安全的同时降低对硬件acl资源占用;本技术的另一目的是提供一种数据中心网络时延探测装置、设备及可读存储介质。
6.为解决上述技术问题,本技术提供一种数据中心网络时延探测方法,包括:
7.确定目标探测系统;
8.将连接于相同机架交换机间的主机、连接于相同聚合交换机间层数相同的主机、连接于不同聚合交换机且不同的机架交换机内的主机作为收发端,确定所述目标探测系统中的探测路径;
9.根据确定的探测路径进行时延探针的收发,得到各路径时延探测结果。
10.可选地,根据确定的探测路径进行时延探针的收发,包括:
11.在所述探测路径的发送端生成指定探针;其中,所述指定探针中包括:探测数据包发送的顺序号、本端探测数据包发送和本日0:0的相对时间、对端主机接收探测数据包和本日0:0的相对时间、ip头部的tos字段以及保留字段;
12.在所述探测路径中对所述指定探针进行数据填充。
13.可选地,所述指定探针中包括:占用32字节的探测数据包发送的顺序号、占用32字节的本端探测数据包发送和本日0:0的相对时间、占用32字节的对端主机接收探测数据包和本日0:0的相对时间、占用8字节的ip头部的tos字段以及占用8字节的保留字段。
14.可选地,所述根据确定的探测路径进行时延探针的收发,包括:
15.根据确定的探测路径,调用基于tcp协议构造的探针,进行时延探针的收发。
16.可选地,所述数据中心网络时延探测方法还包括:根据所述各路径探测结果进行数据中心网络时延分析。
17.可选地,根据所述各路径探测结果进行数据中心网络时延分析,包括:
18.回收各所述探测路径中时延探针的发送端的轮转日志;其中,所述轮转日志为所述发送端根据对应的时延探针接收端返回的时延探针中数据生成;
19.根据所述轮转日志中的发送路径以及采集时间进行网络时延大小的可视化处理。
20.可选地,回收各所述探测路径中时延探针的发送端的轮转日志,包括:
21.回收各所述探测路径中时延探针的发送端的轮转日志,存储至临时日志回收端;
22.将所述临时日志回收端中日志保存时间超过第一阈值的日志,存储至第一日志回收端;
23.将所述第一日志回收端中日志保存时间超过第二阈值的日志,存储至第二日志回收端。
24.可选地,根据所述轮转日志中的发送路径以及采集时间进行网络时延大小的可视化处理,包括:
25.统计第一主机及与所述第一主机进行时延探测的主机间的路径上在指定时间间隔内的时延,生成单路径时延图。
26.可选地,根据所述轮转日志中的发送路径以及采集时间进行网络时延大小的可视化处理,包括:
27.统计第一主机与第二主机间的指定探测路径上在指定时间间隔内的时延,生成端对端时延图。
28.可选地,根据所述轮转日志中的发送路径以及采集时间进行网络时延大小的可视化处理,包括:
29.统计指定时间间隔内各所述探测路径的时延,生成全路径时延图。
30.可选地,所述数据中心网络时延探测方法还包括:
31.标记所述端对端时延图内按时延从小到大排序后的第n个时延,生成单路径99百分位时延图;其中,所述n为99%与所述端对端时延图内集合元素个数的乘积。
32.为解决上述技术问题,本技术还提供一种数据中心网络时延探测装置,包括:
33.系统确定单元,用于确定目标探测系统;
34.路径确定单元,用于将连接于相同机架交换机间的主机、连接于相同聚合交换机间层数相同的主机、连接于不同聚合交换机且不同的机架交换机内的主机作为收发端,确定所述目标探测系统中的探测路径;
35.探针收发单元,用于根据确定的探测路径进行时延探针的收发,得到各路径时延探测结果。
36.为解决上述技术问题,本技术还提供一种数据中心网络时延探测设备,包括:
37.存储器,用于存储程序;
38.处理器,用于执行所述程序时实现所述数据中心网络时延探测方法的步骤。
39.为解决上述技术问题,本技术还提供一种可读存储介质,,所述可读存储介质上存储有程序,所述程序被处理器执行时实现所述数据中心网络时延探测方法的步骤。
40.本技术提出了一种数据中心网络时延探测方法,令同机架交换机内主机间互相收发时延探针、同聚合交换机内层数相同的主机间相互收发时延探针、不同聚合交换机间选取两个不同的机架交换机内的主机间相互收发时延探针,在可以实现对于主机间各种交换机连接方式下的全路径探测的基础上,减少了相同聚合交换机间层数不同的主机间、连接于不同聚合交换机间且相同的机架交换机内的主机间的路径探测,既保证了完整的数据中心网络时延探测,又可以大幅降低时延探测路径数,降低网络时延探测对于网络带宽的占用,极大降低资源开销以及时间成本,提升了时延探测的实时性,有效保障了数据中心网络时延问题的及时发现。
41.本技术还提供了一种数据中心网络时延探测装置、设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.图1为本技术实施例提供的一种数据中心网络时延探测方法的流程图;
44.图2为本技术实施例提供的一种大规模数据中心结构示意图;
45.图3为本技术实施例提供的一种探针的基本结构示意图;
46.图4为本技术实施例提供的一种探测工具的日志类别组成示意图;
47.图5为本技术实施例提供的一种日志持久化、回收流程图;
48.图6为本技术实施例提供的一种单路径99百分位时延图;
49.图7为本技术实施例提供的一种单路径第99个时延示意图;
50.图8为本技术实施例提供的一种端对端99百分位的第99个时延图;
51.图9为本技术实施例提供的一种端对端99百分位的第99%时延图;
52.图10为本技术实施例提供的一种某段时间内全路径99百分位时延图;
53.图11为本技术实施例提供的一种往返时延的可视化示意图;
54.图12为本技术实施例提供的一种大规模数据中心网络时延探测工具探针收发原理图;
55.图13为本技术实施例提供的一种数据中心网络时延探测装置的结构框图;
56.图14为本技术实施例提供的一种数据中心网络时延探测设备的结构示意图。
具体实施方式
57.本技术的核心是提供一种数据中心网络时延探测方法,该方法可以降低时延探测
路径数,极大降低资源开销以及时间成本;本技术的另一核心是提供一种数据中心网络时延探测装置、设备及可读存储介质。
58.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.实施例一:
60.请参考图1,图1为本实施例提供的一种数据中心网络时延探测方法的流程图;该方法主要包括:
61.步骤s110、确定目标探测系统;
62.目标探测系统即待进行网络时延探测的数据中心,本实施例中对目标探测系统的网络架构不做限定,如图2所示为一种大规模数据中心结构示意图,本技术中主要以图2中的数据中心进行网络时延的探测为例进行介绍,其他结构或类型下的数据中心均可参照下述介绍。
63.图中的core代表核心交换层,aggregation代表聚合交换层,edga代表边缘交换层。
64.其中每一个图标代表一个物理实体设备(比如终端主机、机架交换机(tor)、聚合交换机(agg)、核心交换机(core))。边缘交换层直接通过机架交换机(tor)连接终端主机,pod是由聚合交换机(agg)和机架交换机(tor)组成的,pod通常代表这个一个子网的划分,pod1和pod2之间是不能直接通信的,需要经过核心交换机(core)的转发才能够通信,pod内部的物理主机间可以实现互相通信。tor表示一个机架内部的所有物理主机和与之相连的机架交换机。
65.步骤s120、将连接于相同机架交换机间的主机、连接于相同聚合交换机间的层数相同的主机、连接于不同聚合交换机且不同的机架交换机内的主机作为收发端,确定目标探测系统中的探测路径;
66.本实施例中探测路径的确定规则主要有以下三点:
67.1、同tor内主机间互相收发时延探针;
68.同tor内主机比如h1和h2,h3和h4。通过对同tor内主机间进行时延探测,可以全面探测发送端——tor——接收端的传输路径,以这样的简单传输路径下可以针对所有tor的传输时延状态进行全面精准分析。
69.2、同pod内层数相同的主机间收发时延探针;
70.一个tor下连接的各主机的层数不同,比如pod1下连接有两个tor,分别为tor1与tor2,其中tor1下连接有三个主机,分别为主机1、主机2以及主机3,主机1连接于第一层,主机2连接于第二层,主机3连接于第三层;tor2下连接有两个主机,分别为主机4以及主机5,主机4连接于第一层,主机5连接于第二层,层数相同指主机连接的层数相同(层数想通过也可以称为对等,即层数相同的主机也可以称为对等主机),主机1与主机4为层数相同的主机(均为第一层),主机2与主机5为层数相同的主机(均为第二层),而由于tor2下没有第三层的主机,因此不存在与主机3层数相同的主机,则同pod内层数相同的主机包括两组:主机1与主机4、主机2与主机5。
71.以图2为例,同pod内层数相同的主机间包括h1和h3,h2和h4。
72.通过对同pod内层数相同的主机间进行时延探测,可以全面探测发送端——tor——pod——tor——接收端的传输路径,既保证了对于各tor与各pod间路径的全面分析,又减少了相同聚合交换机间层数不同的主机间(比如h1和h4)的路径探测,降低了探测成本。
73.3、不同pod间选取两个不同的tor内的主机收发时延探针;
74.各pod内连接的相同位置的tor可以认为是相同tor,比如pod1中的tor1与pod2中的tor1、pod1中的tor2与pod2中的tor2等,则不同pod间的不同tor比如pod1中的tor1与pod2中的tor2。不同pod间选取两个不同的tor内的主机比如h1和h5,h3和h7,h1和h9,h3和h9。
75.不同pod间选取两个不同的tor内的主机间进行时延探测,可以全面探测发送端——tor——pod——core——pod——tor——接收端的传输路径,既保证了对于各pod与各core间路径的全面分析,又减少了连接于不同聚合交换机间且相同的机架交换机内的主机间(比如)的路径探测,降低了探测成本。
76.基于上述三个规则,可以大幅降低时延探测路径数,并且抽样选取tor、pod及不同pod间的主机可以避免单点故障的问题,保证了完整的数据中心网络时延探测,又可以大幅降低时延探测路径数,降低网络时延探测对于网络带宽的占用,极大降低资源开销以及时间成本。
77.步骤s130、根据确定的探测路径进行时延探针的收发,得到各路径时延探测结果。
78.选取探测路径后,每个被选取的主机agent(发送端)会启动任务进程核线程,按预先约定好的配置进行时延探针的收发。其中,具体的时延探针的收发过程本实施例中不做具体限定,可以根据实际探测的需要进行相应设定。
79.基于上述介绍,本实施例提供的数据中心网络时延探测方法,令同机架交换机内主机间互相收发时延探针、同聚合交换机内层数相同的主机间相互收发时延探针、不同聚合交换机间选取两个不同的机架交换机内的主机间相互收发时延探针,在可以实现对于主机间各种交换机连接方式下的全路径探测的基础上,减少了相同聚合交换机间非层数相同的主机间、连接于不同聚合交换机间且相同的机架交换机内的主机间的路径探测,既保证了完整的数据中心网络时延探测,又可以大幅降低时延探测路径数,降低网络时延探测对于网络带宽的占用,极大降低资源开销以及时间成本,提升了时延探测的实时性,有效保障了数据中心网络时延问题的及时发现。
80.实施例二:
81.区别于实施例一,本实例主要从时延探针的收发的角度出发,在实施例一的基础上,进行了进一步的介绍。上述实施例中对路径中流转的时延探针不做限定,可以根据实际配置需要进行相应设置,本实施例中主要介绍一种时延探针的结构,其它结构形式均可参照本实施例的介绍,在此不再赘述。
82.现有的时延探测工具,比如ping和traceroute等,都是通过携带数据片段(payload)来实现记录收发时间的功能的,其中,ping和traceroute携带的探针(payload)都非常的笨重,比如ping的payload达到了64字节。如果在网络拥塞的场景下对链路进行时延探测,反而可能会加重网络的拥塞并且探测的结果也会因为本身payload的问题造成干
扰。也正是因为此问题,ping检测机制不可能是实时探测的,一定是要被动触发的,当网络出现了明显的卡顿、超时、断线重连等问题后,业务系统才会启动ping时延探测机制去排查链路问题。
83.为避免现有的时延探测机制中存在的payload笨重导致的实时性差以及网络负担重等问题,本实施例中介绍一种指定时延探针的结构。
84.指定探针中包括:探测数据包发送的顺序号、本端探测数据包发送和本日0:0的相对时间、对端主机接收探测数据包和本日0:0的相对时间、ip头部的tos字段以及保留字段。
85.则相应地,根据确定的探测路径进行时延探针的收发的过程具体可以为:
86.(1)在探测路径的发送端生成指定探针;
87.(2)在探测路径中对指定探针进行数据填充。
88.上述限定了收发过程需要的携带、记录保留的信息内容,即探针结构。具体地,时延探针中变量可以包括:
89.(1)某条路径上探测数据包发送的顺序号(sequence);
90.(2)本端探测数据包发送和本日0:0的相对时间(pinger_send_time),可以用于计算往返时延(rtt);
91.(3)对端主机接收探测数据包的时间(target_recv_time),与pinger_send_time一样是相对时间,可以用于后续分析是否是单向时延异常问题;
92.(4)ip头部的tos字段(tos),可以反映当前路径是否有网络拥塞及拥塞标记;
93.(5)保留字段(reserve),用于后续功能拓展。
94.通过以上五个变量的设置,既可以保障时延探测过程中信息的有效全面获取,留关键信息,又避免了冗余无关数据的存储,通过对有用数据的提炼定义探针数据片段,实现了探针轻量化。
95.进一步地,为保证探针中各变量对于空间占用的最小化的同时保证信息的有效存储,可选地,指定探针中具体可以包括:占用32字节的探测数据包发送的顺序号、占用32字节的本端探测数据包发送和本日0:0的相对时间、占用32字节的对端主机接收探测数据包和本日0:0的相对时间、占用8字节的ip头部的tos字段以及占用8字节的保留字段。
96.如图3所示为一种探针的基本结构示意图,其中包括时延探测工具收发过程需要的携带、记录保留的信息内容以及空间占用。其中,0、7、8等数字代表探针内容中的变量所占用的空间大小,单位是字节,比如sequence的占用位置为0-31,那么sequence占用的空间大小则是32字节,对应着整型变量(int)的有效范围,其他的变量可以此类推。
97.探针数据片段很大程度上决定了探针的负载的大小,通过上述极致精简化、轻量化探针(payload),在保留关键信息的同时,相对于ping的payload有4~5倍的容量缩减,实现了探针的轻量化。
98.本实施例介绍的上述内容,在最小化时延探测路径外,进一步实现了探针轻量化,在探针payload和探测路径两个维度降低网络带宽的占用,大大减少了cpu及内存开销在服务器占比。
99.实施例三:
100.本实例主要从减少探针运行对于系统的干扰的角度,在实施例一的基础上,进行了进一步的扩充。
101.目前,数据中心网络中为了保证数据传输过程中稳定、可靠的目的,大部分采用的是当前主流的通信协议——传输控制协议(tcp)。而ping本身是采用的是网络控制报文协议(icmp),在网络时延探测上并不能完全的和tcp协议的产生的时延问题完全契合,有可能网络问题会对icmp协议的传输造成时延不稳定现象的发生,因此ping并不能完全的反映出数据中心的网络问题。
102.由于系统运行对tcp协议是很友好的,本实施例采用的时延探测工具是基于tcp协议构造的探针,在时延探测的过程中,和普通的网络数据包收发是一样的,数据包片段差异只是表明数据包携带的信息不同,并不会对网络质量造成干扰,也不会造成不必要的网络问题加重。同时,探针轻量化也把网络带宽的影响降到最低。总而言之,时延探测的探针将自身对网络时延问题的干扰最小化,不会对探测过程造成严重的干扰。
103.而目前,静默错误如果不在特定条件下,是无法触发的,这类问题却是数据中心网络时延问题的未知隐患,比如包黑洞问题、sla违规等。本实施例的时延探测工具正是因为与传统的数据中心网络传输协议tcp完美契合,在降低系统干扰的前提下,还可以有效的发现静默错误,起到静默检测的作用。
104.而若在实施例一的技术上基于tcp协议构造实施例二中的探测探针,就可以显著减小探针探测过程的资源以及时间占用,已经可以满足实时探测的关键性能指标,具备实时主动探测的功能拓展,可以实现实时探测,提升时延异常的检测时效性,有利于稳定系统运行,保证系统长效稳定运行。
105.实施例四:
106.基于上述实施例,在对目标探测系统进行有效的时延探测后,为进一步实现对于系统运行故障的有效分析,可选地,可以进一步根据各路径探测结果进行数据中心网络时延分析。其中,对于具体采用的时延分析方式不做限定。
107.需要说明的是,时延问题不像丢包问题,丢包问题只有两种固定且单纯的两种结果,有丢包和无丢包,因此链路丢包定位只需要在路径收发数据包并判断该路径上是否有丢包,利用链路故障定位算法找到丢包故障点即可,而时延问题则不是离散化的结果,而是一个区间化问题,所以链路丢包故障定位算法无法满足时延问题的处理,而现今没有完整的有效时延分析方式,为实现对于网络时延的精准分析,保障后续对于系统网络时延的精准优化,提升用户体验,本实施例中进一步提出了一种有效的数据分析方式,可以解决上述问题。
108.可选地,根据各路径探测结果进行数据中心网络时延分析的过程可以具体包括以下步骤:
109.(1)回收各探测路径中时延探针的发送端的轮转日志;
110.其中,轮转日志为发送端根据对应的时延探针接收端返回的时延探针中数据生成,下表所示为一种日志的基本结构表,与上述实施例二中的探针结构对应,日志中具体可以包括以下信息:
111.versionseqsend_timerecv_timedest_ipdportsrc_ipsportprobe_sizerttecn
112.其中,version代表是第几次轮转的日志,seq代表该路径第几个收发的数据包,和探针内的sequence等价,同理,send_time和recv_time、ecn(对应tos)也和探针内的等价,src_ip、src_port(sport)、dest_ip、dest_port(dport)代表收发数据包的主机ip和使用的
端口,rtt代表测量的往返时延,probe_size则是探针payload的占用空间大小。
113.需要说明的是,本实施例中仅以上述日志结构为例进行介绍,其他日志内容结构下均可参照本实施例的介绍,在此不再赘述。
114.(2)根据轮转日志中的发送路径以及采集时间进行网络时延大小的可视化处理。
115.如何定位探测到的往返时延(rtt)需要根据不同的网络环境来设置不同的范围,所有需要将探测到的往返时延(rtt)回收处理,判定当前网络的总体状况,可以根据当下的网络状况给出一定的容忍范围,并利用时延可视化工具直观的呈现出当前的网络状态,暴露出网络问题发生地,并供被动检测工具做进一步的排查处理。
116.本实施例提供的上述时延分析方法,可以支持从不同角度分析当前网络的时延状况,从全网分析到链路分析再到时序分析,逐步细化、简单化、标准化分析过程,便于运维人员理解和判定问题的根源所在。
117.而其中,回收各探测路径中时延探针的发送端的轮转日志可以按照以下方式进行:
118.(1)回收各探测路径中时延探针的发送端的轮转日志,存储至临时日志回收端;
119.(2)将临时日志回收端中日志保存时间超过第一阈值的日志,存储至第一日志回收端;
120.(3)将第一日志回收端中日志保存时间超过第二阈值的日志,存储至第二日志回收端。
121.图4为一种探测工具的日志类别组成示意图,其中hshot_log为集中归档用日志(只在master回收端产生),hshot_time对应着归档日志的时间,单位是秒(s),rollover_log为多次日志采集的集中轮转备份,用于日志回收处理,rollover_time对应着日志轮转的时间,单位是秒(s),lastet_log则是小于rollover_time时间内临时保存轮转日志的日志文件,因此日志的保存路线如下:lastet_log->rollover_time->hshot_log。
122.图5为一种日志持久化、回收流程图,其中每一个流程都代表着一个agent端的日志采集、轮转过程,当curr_time-start_time>rollover_time时,日志会由lastet_log轮转为rollover_log,回收端(master端)会存在一个定时回收线程(recycler)定时地(时间是rollover_time)回收每个agent端的轮转日志,master端也会根据预先设定的hshot_time定时地备份日志到hshot_log、可视化数据处理及其他额外的接口调用。
123.本实施例中仅以上述阈值设定下的日志回收方式进行介绍,其他阈值设定下的实现均可参照上述介绍,在此不再赘述。
124.本实施例中介绍的上述日志回收方式主要以时间作为划分标准进行日志的差异性回收,可以实现时延数据根据不同的时间阶段的有效分析,当然,也可以按照其他的日志回收方式,比如以发送端或者接收端作为日志回收标准等,在此不再赘述。
125.本实施例中对于具体的可视化处理方式不做限定,可以根据实际试验数据查看的需要进行相应设定,本实施例中主要介绍三种可视化分析手段,通过获取定时日志回收线程(recycler)的采集结果,可以按路径(src_ip和dest_ip)、version分类采集的结果并按seq排序,得到可视化结果,其他可视化分析手段均可参照下述介绍,在此不再赘述。
126.1、根据轮转日志中的发送路径以及采集时间进行网络时延大小的可视化处理过程具体可以为:统计第一主机及与第一主机进行时延探测的主机间的路径上在指定时间间
隔内的时延,生成单路径时延图。
127.单路径时延即一台主机及与之进行过时延探测的主机间的多条路径上在一段时间内的时延,比如h1与h2是path1,h1与h3是path2,h1与h4是path3,那么单路径99百分位时延则是path1、path2、path3上在一段时间(假设是30s)采集时延集合的99百分位时延,可以反映指定源主机的数据包的时延情况,排除源主机端单点故障问题、挑选个别物理设备特殊故障问题。
128.2、根据轮转日志中的发送路径以及采集时间进行网络时延大小的可视化处理过程具体可以为:统计第一主机与第二主机间的指定探测路径上在指定时间间隔内的时延,生成端对端时延图。
129.端对端位时延即一台主机与另一台主机在一段时间内的时延,比如h1与h2是path1,那么端对端的99百分位时延则是path1在一段时间内(假设是30s)采集时延集合的99百分位时延,可以评估单条链路上的网络质量(往返时延),排除单条链路上的物理设备问题。
130.3、根据轮转日志中的发送路径以及采集时间进行网络时延大小的可视化处理过程具体可以为:统计指定时间间隔内各探测路径的时延,生成全路径时延图。
131.某段时间内全路径时延即所有路径上(path1-pathn)在一段时间内(假设是5s)的时延,用于评估一段时间内全网的网络质量问题,进一步判定是否是大规模网络故障问题。
132.进一步地,还可以在上述三类时延图的基础上标记时延图内按时延从小到大排序后的第n个时延,生成99百分位时延图,以单路径时延图为例,标记端对端时延图内按时延从小到大排序后的第n个时延,生成单路径99百分位时延图,如图6所示;其中,n为99%与端对端时延图内集合元素个数的乘积。
133.通过获取定时日志回收线程(recycler)的采集结果,按路径(src_ip和dest_ip)、version分类采集的结果并按seq排序,对应的做99百分位时延的数据处理,得到99百分位时延的可视化结果,该方法对于时延是否过大,或者时延大的链路是否过多进行有效显示,方便用户的查看。
134.需要说明的是,99百分位时延还可以以集合内按时延从小到大排序后的第99个时延作为划分标准(不足99个则可以取最后一个作为99百分位时延),如图7所示为单路径第99个时延示意图,在此对99百分位时延的划分方式不做限定,可以根据实际查看需要进行设定。
135.另外,本实施例中仅以单路径99百分位时延的划分方式为例进行介绍,端对端99百分位时延、某段时间内全路径99百分位时延的划分方式均可参照单路径99百分位时延的划分方式,在此不再赘述,得到的一种端对端99百分位的第99个时延图如图8所示,得到的一种端对端99百分位的第99%时延图如图9所示,得到的一种某段时间内全路径99百分位时延图如图10所示。
136.通过三类时延,还可以进一步绘制时延时序图,可以在多种角度直观的观察在一段时间内(比如1小时)数据中心网络的时延变化趋势,便于问题的分析。图11所示为一种往返时延的可视化示意图,其中可以根据颜色的深浅(绿色->红色或浅灰到深灰)代表着时延低->高,横纵坐标代表发送端ip和接收端ip。很显然可以看出左边的图中,某一段源ip段发送的数据包都有高时延的特征,某一段目标ip端接收的数据包都有高时延的特征,此时应
检查此ip段经过链路的物理设备,并由单路径99百分位时延时序图、端对端99百分位时延时序图辅助排除健康的物理设备。右边图中有大面积的高时延,可以很明确的知晓当前的数据中心网络发生了严重的故障问题,考虑排查高层的交换机(core)是否出现故障为最高的排障优先级。
137.基于上述介绍,本实施例介绍的时延探测分析方法,利用时延探测后payload中记录的信息,持久化信息到日志系统中,定期回收日志系统中的内容,通过数据处理及可视化接口,将一段时间内的网络时延直观的呈现在前端显示界面,时延可视化工具根据时延的严重程度,采用不同的颜色显示,可视化、直观化,清晰定位故障链路及故障点,给观察者最直观化的视觉感受,以便更加敏感的发现网络时延问题。
138.实施例五:
139.为加深对于上述实施例中介绍的数据中心网络时延探测方法的介绍,本实施例中以一种具体的数据流转方式为例对整体实现过程进行介绍。
140.具体地,实现过程包括以下步骤:
141.基于实施例一的方法选取探测路径后,每个被选取的主机agent会启动中提及的任务进程核线程,按预先约定好的配置进行时延探针的收发。
142.图12是一种大规模数据中心网络时延探测工具探针收发原理图。虚线代表参数传递,实线代表数据的传输,左侧三个框与最右侧框分属不同主机。pinger、tcp_pinger、tcp_receiver、ponger均会存在于时延探测工具的agent端,这四个对象实现时延探测工具收发包的核心功能。其中,pinger是进程,tcp_pinger、tcp_receiver、ponger是pinger下的三个线程,这四个对象的详细功能如下:
143.pinger:负责创建tcp_pinger和tcp_receiver及ponger线程,与线程共用虚拟地址空间,定时接收、处理、上报探测结果;
144.tcp_pinger:发送线程,负责构造时延探测的探针内容,定时对目标端发送时延探测的探针payload;
145.其中探针可以按照实施例二以及实施例三的结构进行构造。
146.tcp_receiver:接收线程,负责接收ponger重构后的探针,并解析探针内容,定时或定量持久化解析内容、并酌情上报内容给pinger进程;
147.ponger:虽然每个agent都有ponger,但是其作用是接收源端(发送端)的探针内容,特殊情况下会在探针预留位中添加关键采集信息,重构探针(添加记录接收发送端探针的时间)内容后再次应答给源端主机,供源端主机的tcp_receiver线程接收,起到一个消息数据包中转的作用。
148.图中的sport,rport则是主机间时延探测进行数据交互使用的端口,sip,sport,dip,rport(dport)可以表明时延探测工具的探针的来源和去向(是从哪发送,由谁接收后应答,再由谁接收此应答),可以根据业务系统的不同选择合适的、可用的端口供时延探测工具使用。
149.经过上述流转后可以根据实施例四的介绍进行数据回收以及处理。
150.本实施例介绍的实现方式弥补了现有时延探测工具的不足以及达到了时延探测工具的几个关键指标(实时主动探测、探针轻量化、资源开销最小化、自身干扰最小化、时延分析可视化、直观化),具备主动时延探测的实时性。同时,包黑洞检测算法可以减少重复探
测路径,检测包黑洞、sla违规等静默错误,也明显的减少数据中心网络的带宽压力,和业务系统间能够相对独立,无需特定网络问题爆发时才触发其启动,除此之外,通过多角度的时延可视化分析,可以直观的观察全网的网络质量及故障位置,方便、快速、有效,能够很好地排查数据中心的网络时延问题。
151.实施例六:
152.请参考图13,图13为本实施例提供的一种数据中心网络时延探测装置的结构框图;可以包括:系统确定单元110、路径确定单元120以及探针收发单元130。本实施例提供的数据中心网络时延探测装置可与上述实施例中介绍的数据中心网络时延探测方法相互对照。
153.其中,系统确定单元110主要用于确定目标探测系统;
154.路径确定单元120主要用于将连接于相同机架交换机间的主机、连接于相同聚合交换机间层数相同的主机、连接于不同聚合交换机且不同的机架交换机内的主机作为收发端,确定目标探测系统中的探测路径;
155.探针收发单元130主要用于根据确定的探测路径进行时延探针的收发,得到各路径时延探测结果。
156.本实施例介绍的数据中心网络时延探测装置可以降低资源开销以及时间成本。
157.实施例七:
158.本实施例提供一种数据中心网络时延探测设备,包括:存储器以及处理器。
159.其中,存储器用于存储程序;
160.处理器用于执行程序时实现如上述数据中心网络时延探测方法的步骤,具体可参照上述实施例中对数据中心网络时延探测方法的介绍,在此不再赘述。
161.请参考图14,为本实施例提供的一种数据中心网络时延探测设备的结构示意图,该数据中心网络时延探测设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在数据中心网络时延探测设备301上执行存储介质330中的一系列指令操作。
162.数据中心网络时延探测设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
163.上述实施例中所描述的数据中心网络时延探测方法中的步骤可以由本实施例中数据中心网络时延探测设备的结构实现。
164.实施例八:
165.本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行时实现如数据中心网络时延探测方法的步骤,具体可参照上述实施例中对数据中心网络时延探测方法的介绍。
166.该可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-only memory,
rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
167.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
168.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
169.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
170.以上对本技术所提供的数据中心网络时延探测方法、装置、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献