一种网络遥测方法、系统、存储介质及电子设备

文档序号:33181723发布日期:2023-02-04 05:10阅读:93来源:国知局
一种网络遥测方法、系统、存储介质及电子设备

1.本发明涉及计算机技术领域,特别是涉及一种网络遥测方法、系统、存储介质及电子设备。


背景技术:

2.近年来,随着网络规模的不断扩大,流量工程、故障检测、负载均衡等应用在网络性能提升和网络管理中发挥着重要的作用,这些应用都需要通过网络测量获取网络信息。基于可编程数据平面的带内网络遥测(in-band network telemetry,int)可以将数据包转发与网络测量结合在一起,使用业务数据包承载交换机嵌入数据包的遥测指令和遥测数据。为了检测不同的网络行为,需要追踪多个交换机的状态,使得数据包收集较多数据,这将导致数据包有效负载率较低。
3.采用概率带内网络遥测技术(probabilistic in-band network telemetry,pint)可以使数据包的有效负载率不随路径长度的增加而减少,并能同时执行多个任务进行信息收集。然而,pint技术需要足够的数据包数量以收集路径上所有交换机的信息,如果数据包按任务个数分配,可能导致数据包数量较少的数据流无法完成任务。


技术实现要素:

4.本发明实施例的目的在于提供一种网络遥测方法、系统、存储介质及电子设备。具体技术方案如下:
5.本发明提供了一种网络遥测方法,包括:
6.位于数据包转发路径上的首端交换机获取具有测量任务的已转发数据包的累加个数;
7.在所述累加个数不满足目标测量任务所需的数据包数量的情况下,所述首端交换机在待转发数据包中嵌入与所述目标测量任务对应的网络遥测数据以及测量任务标识信息,位于所述数据包转发路径上的其他交换机利用所述测量任务标识信息在所述待转发数据包内嵌入与所述目标测量任务对应的网络遥测数据。
8.可选的,在所述首端交换机获取具有测量任务的已转发数据包的累加个数之后,所述方法,还包括:
9.在所述累加个数满足所述目标测量任务所需的数据包数量的情况下,将所述累加个数置零,更新所述目标测量任务和所述测量任务标识信息。
10.可选的,所述目标测量任务的确定方法,包括:
11.基于多个测量任务的重要程度获得各测量任务的执行概率;
12.基于所述执行概率和所述测量任务标识信息的对应关系确定所述目标测量任务。
13.可选的,所述基于多个测量任务的重要程度获得各测量任务的执行概率,包括:
14.基于所述数据包转发路径上交换机的个数计算完成测量任务所需数据包数量的期望值;
15.基于所述期望值、多个测量任务的重要程度和执行概率构建目标函数,并以最大化目标函数值为目标获得各测量任务的执行概率。
16.可选的,所述位于所述数据包转发路径上的其他交换机利用所述测量任务标识信息在所述待转发数据包内嵌入与所述目标测量任务对应的网络遥测数据,包括:
17.位于所述数据包转发路径上的其他交换机利用所述测量任务标识信息和交换机所处数据包转发路径的跳数判断是否在所述待转发数据包内嵌入网络遥测数据,若是,则在所述待转发数据包内嵌入与所述目标测量任务对应的网络遥测数据,否则,则保持所述待转发数据包内的网络遥测数据不变。
18.可选的,所述位于所述数据包转发路径上的其他交换机利用所述测量任务标识信息和交换机所处数据包转发路径的跳数判断是否在所述待转发数据包内嵌入网络遥测数据,包括:
19.所述其他交换机利用所述测量任务标识信息和交换机所处数据包转发路径的跳数计算哈希值;
20.若所述哈希值不大于所述跳数的倒数,则确定在所述待转发数据包内嵌入与所述目标测量任务对应的网络遥测数据;
21.若所述哈希值大于所述跳数的倒数,则确定保持所述待转发数据包内的网络遥测数据不变。
22.可选的,在所述位于所述数据包转发路径上的其他交换机利用所述测量任务标识信息在所述待转发数据包内嵌入与所述目标测量任务对应的网络遥测数据之后,还包括:
23.若所述其他交换机为末端交换机,则对网络遥测数据进行提取并发送至遥测终端;
24.若所述其他交换机为中间交换机,则将所述待转发数据包转发至后一个交换机。
25.本发明还提供一种网络遥测系统,包括:
26.数据获取模块,用于位于数据包转发路径上的首端交换机获取具有测量任务的已转发数据包的累加个数;
27.数据嵌入模块,用于在所述累加个数不满足目标测量任务所需的数据包数量的情况下,所述首端交换机在待转发数据包中嵌入与所述目标测量任务对应的网络遥测数据以及测量任务标识信息,位于所述数据包转发路径上的其他交换机利用所述测量任务标识信息在所述待转发数据包内嵌入与所述目标测量任务对应的网络遥测数据。
28.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有程序,所述程序被处理器执行时实现上述的网络遥测方法。
29.本发明还提供一种电子设备,包括:
30.至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;
31.所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述的网络遥测方法。
32.本发明实施例提供的一种网络遥测方法、系统、存储介质及电子设备,通过在已转发数据包的累加个数不满足目标测量任务所需的数据包数量的情况下,首端交换机在待转发数据包中嵌入网络遥测数据及测量任务标识信息,可以便于后续交换机在该数据包内嵌入与目标测量任务对应的网络遥测数据,提高测量任务完成概率,降低在数据包数量较少
的情况下无法完成测量任务情况的发生率。
33.此外,在满足目标测量任务所需的数据包数量的情况下,更新目标测量任务和测量任务标识信息,可以实现多任务测量,并且基于多个测量任务的重要程度获得各测量任务的执行概率,可以提高重要程度高的测量任务的完成概率。
34.当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本发明实施例提供的网络遥测方法流程图;
37.图2为本发明实施例提供的测量任务执行概率示意图;
38.图3为本发明实施例提供的遥测头部结构示意图;
39.图4为本发明实施例提供的首端交换机处理流程示意图;
40.图5为本发明实施例提供的中间交换机处理流程示意图;
41.图6为本发明实施例提供的末端交换机处理流程示意图;
42.图7为本发明实施例提供的网络遥测系统结构图;
43.图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
44.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.在int的处理机制中,第一跳交换机被称为int source节点,最后一跳交换机被称为int sink节点,中间的交换机被称为transit节点。业务数据包到达数据平面后,int source节点在业务数据包中嵌入int头部,头部携带遥测指令以指示需要测量的网络信息,同时将自己的遥测数据填充到数据包中。transit节点依据数据包的int头部携带的遥测指令,也将自己的遥测数据填充到数据包中,int sink节点取出数据包携带的所有遥测数据并将其发送给远端的遥测服务器,原始数据包则被发送给接收端。然而,int的处理机制存在缺陷,数据包的有效负载率会随着插入遥测数据的增加而降低,路径越长,插入的遥测数据越多。如果数据包携带一个很大的int头部,会导致流的有效负载率降低,并且数据流完成时间会变长。
46.pint是采用概率方法保障测量准确性的带内网络遥测技术,pint可以提供与int相似的网络可见性,同时可以将存储遥测数据的数据包头部空间开销限制为用户指定的值,数据包的有效负载率不会随着路径长度的增加而减少。在pint的处理机制中,数据包到达pint source时,该交换机为数据包添加一个摘要,该摘要记录交换机的遥测数据,摘要
的长度可以由用户预先定义。路径上的交换机会用自己的遥测数据覆盖之前交换机写入的遥测数据。pint sink将遥测信息提取出来并发送给记录与分析模块进行数据存储与分析。
47.pint技术使得一条数据流可以承载多个测量任务。pint交换机使用hash函数h计算一个落入[0,1]的hash值,根据hash值决定执行哪个任务。pint还提出了global hash技术,采用储层采样算法进行交换机间的分布式协作,即交换机使用hash函数g对数据包和其当前所处跳数计算一个落入[0,1]的hash值,如果hash值≤1/hop(hop为交换机处于路径的跳数),则覆盖写入自己的遥测数据,否则不进行操作。这个技术使得每个数据包等概率地携带路径上的交换机的信息。
[0048]
在网络测量中,为了实时检测不同的网络行为,需要追踪多个交换机的状态。例如交换机id、端口号、端口利用率、队列占用率等信息。当数据包同时收集较多数据时,也会导致数据包有效负载率较低,可以将收集每一项信息作为一个任务,采用pint技术同时执行多个任务达到收集所有信息的目的。然而,pint技术需要足够的数据包数量以收集路径上所有交换机的信息,其缺乏多任务调度机制,无法根据各项信息的重要程度合理分配各任务的执行概率。而且每次下发测量任务,pint需要修改路径上的所有交换机的流表项,改动数据平面处理规则具有较大的开销。
[0049]
基于此,本发明提供一种网络遥测方法,如图1所示,该方法,包括:
[0050]
步骤101:位于数据包转发路径上的首端交换机获取具有测量任务的已转发数据包的累加个数。
[0051]
数据包转发路径上会有多个交换机,位于数据包转发路径上的首端交换机可以为int source节点,也即第一跳交换机,位于数据包转发路径上的末端交换机可以为int sink节点,位于数据包转发路径上的中间交换机可以为transit节点。
[0052]
对于首端交换机来说,每到来一个数据包,基于数据包携带的五元组信息确定该数据包是否具有测量任务,若该数据包具有测量任务,则说明该数据包属于承担测量任务的数据流。
[0053]
为了获取网络信息,需要对交换机下发相应的网络测量任务,获取交换机记录的遥测信息。遥测信息包括但不限于交换机id、入端口号、出端口号、入队时间戳、出队时间戳、端口带宽利用率、队列占用率等。每一个测量任务获取一项交换机记录的信息。测量任务包含四个属性:承载任务的数据流的五元组、任务要收集的遥测数据、完成任务可得到的效用值、任务的执行概率。
[0054]
由于一项测量任务可能需要多个数据包携带的网络遥测数据才可以完成任务,因此本发明可以利用首端交换机对具有测量任务的已转发数据包进行计数,以便判断已转发数据包是否满足完成测量任务的需要。
[0055]
步骤102:在累加个数不满足目标测量任务所需的数据包数量的情况下,首端交换机在待转发数据包中嵌入与目标测量任务对应的网络遥测数据以及测量任务标识信息,位于数据包转发路径上的其他交换机利用测量任务标识信息在待转发数据包内嵌入与目标测量任务对应的网络遥测数据。
[0056]
具有相同目标测量任务的各数据包携带的测量任务标识信息相同,不同测量任务对应的测量任务标识信息可以不同。通过测量任务标识信息可以确定目标测量任务,以便于将与目标测量任务对应的网络遥测数据嵌入数据包中。
[0057]
对于一条由n个数据包组成的数据流,将n个数据包记为p1,p2,

,pn。假设该数据流经过的路径上的m个交换机分别为s1,s2,

,sm。每个数据包在交换机会执行某个测量任务,设为tk。当获得了测量任务tk要收集的所有交换机的信息,即完成了任务tk。
[0058]
作为一可选的实施方式,目标测量任务的确定方法,包括:
[0059]
基于多个测量任务的重要程度获得各测量任务的执行概率;
[0060]
基于执行概率和测量任务标识信息的对应关系确定目标测量任务。
[0061]
本发明为了提高重要程度高的测量任务的完成概率,可以基于多个测量任务的重要程度获得各测量任务的执行概率,测量任务的重要程度越高,该测量任务的执行概率越大,而测量任务的重要程度越低,该测量任务的执行概率越小。
[0062]
可选的,该测量任务标识信息可以为对数据包进行哈希计算获得的哈希值,该哈希值可以为0-1范围的数值。进行哈希计算的数据包可以为在进行目标测量任务时第一个到达首端交换机的数据包。
[0063]
在基于执行概率和测量任务标识信息的对应关系确定目标测量任务时,假设四个测量任务a、b、c、d的执行概率比为4:3:2:1,这四个测量任务标识信息对应的区间分别为[0-0.4),[0.4-0.7),[0.7-0.9),[0.9-0.1],若测量任务标识信息为0.3,则将测量任务a作为目标测量任务;若测量任务标识信息为0.8,则将测量任务c为目标测量任务。
[0064]
作为一可选的实施方式,基于各测量任务的重要程度获得各测量任务的执行概率,包括:
[0065]
基于数据包转发路径上交换机的个数计算完成测量任务所需数据包数量的期望值;
[0066]
基于期望值、各测量任务的重要程度和执行概率构建目标函数,并以最大化目标函数值为目标获得各测量任务的执行概率。
[0067]
假设总测量任务数为k,测量任务tk被执行的概率为qk,各测量任务执行概率之和为1。
[0068]
基于数据包转发路径上交换机的个数计算完成测量任务所需数据包数量的期望值可以作为一个奖券收集的问题,成功执行一个测量任务所需的数据包数量期望值为:
[0069][0070]
式中,hm为成功执行一个测量任务所需的数据包数量期望值,m为交换机个数,γ为欧拉常数,γ≈0.5772156649,o(
·
)表示误差,o(1/m)表示的绝对值不超过1/m的常倍数。
[0071]
根据马尔可夫不等式可得到当x个数据包被分配给一个任务时,任务成功执行的概率下界为:
[0072][0073]
式中,sm(x)为使用x个数据包收集m个交换机的信息时,可以收集到所有交换机的信息的概率下界。
[0074]
在基于期望值、各测量任务的重要程度和执行概率构建目标函数时,目标是最大
化所有测量任务的总体效用值。
[0075][0076]
式中,u为所有测量任务的总体效用值,k为第k个测量任务,k为测量任务的总个数,nk是分配给测量任务tk的数据包数量,uk是测量任务tk的效用值,该效用值反映测量任务的重要程度,效用值越大说明测量任务的重要程度越高。
[0077]
目标函数为u,可以将其形式化为一个整数优化问题:
[0078]
max u
[0079][0080][0081]
所有测量任务被分配的数据包数据总和为一条数据流上数据包的总个数n,并且分配给测量任务tk的数据包数量nk为非负整数。
[0082]
为了以最大化目标函数值为目标获得各测量任务的执行概率,可以采用松弛化方法,用测量任务的执行概率代替测量任务分配的数据包数量,其形式化如下所示:
[0083]
max u
[0084][0085]
qk≥0
[0086]
对于该松弛化的问题,其拉格朗日函数如下:
[0087][0088]
式中,λ为拉格朗日函数,λ为拉格朗日系数。
[0089]
由于这是一个凸优化问题,所以应用kkt条件(karush kuhn tucker,有约束的优化问题求解)可得:
[0090][0091]
可得最优解如下:
[0092][0093]
式中,qk是任务tk的执行概率。
[0094]
如图2所示,三个测量任务分别为测量任务1、测量任务2和测量任务3,其中,测量任务1的效用值为4,测量任务2的效用值为9,测量任务3的效用值为16,经过上述qk公式计算可得,测量任务1的执行概率为0.22,测量任务2的执行概率为0.33,测量任务3的执行概率为0.45。可见,测量任务的效用值越高,该测量任务的执行概率越高,即测量任务的重要程度越高,该测量任务的执行概率越高。
[0095]
如果数据包按个分配,可能导致数据包数量较少的流无法完成任务,例如,一条数据流有50个数据包,执行10个任务,其效用值都相同,但执行一个任务需要20个数据包才能
成功。如果按个分配,则每个任务只能分配到5个数据包,任何一个任务都不能成功执行。但实际上可以成功执行两个任务。所以采用本发明的方法按批分配数据包,即,按照测量任务的执行概率qk决定要执行的测量任务,然后基于数据包的数量期望值为该测量任务分配b个数据包,其大小为:
[0096][0097]
式中,hm为成功执行一个任务所需数据包数量的期望值,c为预设常数。
[0098]
如图3所示,数据包的头部包括3个域,分别为8位hash域记录赋予数据包的hash值;16位的task域作为遥测指令,被置1的位指明要收集的遥测数据;metadata域记录遥测数据。
[0099]
在累加个数不满足目标测量任务所需的数据包数量的情况下,首端交换机在待转发数据包的头部的metadata域嵌入与目标测量任务对应的网络遥测数据,在待转发数据包的头部的hash域嵌入测量任务标识信息,该测量任务标识信息为hash值,同一目标测量任务的hash值相同,该hash值用于标识测量任务。位于数据包转发路径上的其他交换机利用数据包的头部hash域中的测量任务标识信息可以确定目标测量任务,并在待转发数据包的头部的metadata域内嵌入与目标测量任务对应的网络遥测数据。
[0100]
作为一可选的实施方式,位于数据包转发路径上的其他交换机利用测量任务标识信息在待转发数据包内嵌入与目标测量任务对应的网络遥测数据,包括:
[0101]
位于数据包转发路径上的其他交换机利用测量任务标识信息和交换机所处数据包转发路径的跳数判断是否在待转发数据包内嵌入网络遥测数据,若是,则在待转发数据包内嵌入与目标测量任务对应的网络遥测数据,否则,则保持待转发数据包内的网络遥测数据不变。
[0102]
可选的,位于数据包转发路径上的其他交换机利用测量任务标识信息和交换机所处数据包转发路径的跳数判断是否在待转发数据包内嵌入网络遥测数据,包括:
[0103]
其他交换机利用测量任务标识信息和交换机所处数据包转发路径的跳数计算哈希值;
[0104]
若哈希值不大于跳数的倒数,则确定在待转发数据包内嵌入与目标测量任务对应的网络遥测数据;
[0105]
若哈希值大于跳数的倒数,则确定保持待转发数据包内的网络遥测数据不变。
[0106]
若数据包转发路径上有3个交换机,首端交换机所处数据包转发路径的跳数为1,中间交换机所处数据包转发路径的跳数为2,末端交换机所处数据包转发路径的跳数为3。通过上述判断是否在待转发数据包内嵌入网络遥测数据的方法,可以使得每个数据包等概率的携带数据包转发路径上的交换机的信息。
[0107]
作为一可选的实施方式,在位于数据包转发路径上的其他交换机利用测量任务标识信息在待转发数据包内嵌入与目标测量任务对应的网络遥测数据之后,还包括:
[0108]
若其他交换机为末端交换机,则对网络遥测数据进行提取并发送至遥测终端;
[0109]
若其他交换机为中间交换机,则将待转发数据包转发至后一个交换机。
[0110]
对于中间交换机和末端交换机来说,每到来一个数据包,首先要利用数据包的五元组信息确定该数据包是否属于承担测量任务的数据流,再根据数据包头部的hash域的值和当前交换机所处数据包转发路径的跳数hop计算hash值,若计算的hash值小于或等于1/
hop,则覆盖自身的遥测数据,否则不改变数据包携带的遥测数据。
[0111]
作为一可选的实施方式,在累加个数满足目标测量任务所需的数据包数量的情况下,将累加个数置零,更新目标测量任务和测量任务标识信息。
[0112]
在累加个数满足目标测量任务所需的数据包数量时,可以进行下一个测量任务,重新进行数据包的计数操作,以便于在下一个测量任务所需的数据包数据满足要求的情况下,再进行另一个测量任务。在累加个数置零后,为了使得数据包转发路径上的交换机分辨当前是哪个测量任务,首端交换机需要更新目标测量任务的同时,更新测量任务标识信息,其他交换机利用更新的测量任务标识信息可以将遥测数据嵌入数据包中。
[0113]
在更新目标测量任务时,可以利用数据包计算哈希值,之后利用哈希值与测量任务的执行概率的对应关系确定更新的目标测量任务。该执行概率无需重新计算,利用之前通过测量任务的重要程度获得的测量任务的执行概率即可,节省了计算量。将计算出的哈希值嵌入数据包的头部的hash域,在将哈希值嵌入hash域后,头部的task域指示测量任务要收集的元数据,首端交换机在数据包头部的metadata域中嵌入遥测数据。其他交换机通过hash域记录的哈希值确定目标测量任务,通过task域确定该目标测量任务要收集的元数据,并将遥测数据嵌入数据包头部的metadata域中。
[0114]
本发明采用概率带内网络遥测方法同时执行多个测量任务以收集交换机的各项信息。每个测量任务只收集一项信息,使得每个数据包只携带一跳交换机的信息,避免数据包的有效负载率过低。同时,对在一条数据流上执行的多个测量任务进行调度,为各任务分配数据包,使得各任务具有与其重要程度相匹配的成功概率。
[0115]
为了进一步说明本发明提供的网络遥测方法,如图4所示,示出了本发明实施例提供的首端交换机的处理过程,该过程包括如下步骤:
[0116]
步骤401:收到数据包。
[0117]
步骤402:在收到数据包后,匹配数据包的五元组,判断数据包是否属于承载测量任务的数据流,如果属于承载测量任务的数据流则执行步骤403,否则执行步骤411。
[0118]
步骤403:判断计数器的计数值是否达到batch值,若达到则执行步骤404,否则执行步骤405。该batch值为
[0119]
步骤404:对数据包计算hash并用寄存器记录,执行步骤406。
[0120]
步骤405:提取寄存器记录的hash值作为该数据包的hash值,执行步骤408。
[0121]
步骤406:对hash值执行范围匹配计算得到要执行的任务,具体是基于hash值落入的取值区间确定该数据包应执行的任务。
[0122]
步骤407:插入相应的遥测头部,头部的hash域记录计算得到的hash值,task域中对应要执行的任务的位置1,剩余位置0,并将计数器置0,执行步骤410。
[0123]
步骤408:对hash值执行范围匹配计算得到要执行的任务,具体是基于hash值落入的取值区间确定该数据包应执行的任务。
[0124]
步骤409:插入相应的遥测头部,头部的hash域记录提取得到的hash值,task域中对应要执行的任务的位置1,剩余位置0,并递增计数器,执行步骤410。
[0125]
步骤410:将自身的遥测数据写入到数据包头部的metadata域,执行步骤411。
[0126]
步骤411:转发数据包。
[0127]
参考图5,示出了中间交换机的处理过程,该过程包括如下步骤:
[0128]
步骤501:收到数据包。
[0129]
步骤502:在收到数据包后,匹配数据包的五元组,判断数据包是否属于承载测量任务的数据流,如果属于承载测量任务的数据流则执行步骤503,否则执行步骤506。
[0130]
步骤503:根据数据包携带的遥测头部的hash域的值和当前交换机所处路径中的跳数hop计算hash值,执行步骤504。
[0131]
步骤504:判断hash值是否小于或等于1/hop,如果hash值小于或等于1/hop,执行步骤505,否则执行步骤506。
[0132]
步骤505:将自身的遥测数据覆盖写入到数据包遥测头部的metadata域,执行步骤506。
[0133]
步骤506:转发数据包。
[0134]
参考图6,示出了末端交换机的处理过程,该过程包括如下步骤:
[0135]
步骤601:收到数据包。
[0136]
步骤602:在收到数据包后,匹配数据包的五元组,判断数据包是否属于承载测量任务的数据流,如果属于承载测量任务的数据流则执行步骤603,否则执行步骤607。
[0137]
步骤603:根据数据包携带的遥测头部的hash域的值和当前交换机所处路径中的跳数hop计算hash值,执行步骤604。
[0138]
步骤604:判断hash值是否小于或等于1/hop,如果hash值小于或等于1/hop,执行步骤605,否则执行步骤606。
[0139]
步骤605:覆盖写入自己的遥测数据,即将自身的遥测数据覆盖写入到数据包遥测头部的metadata域,执行步骤606。
[0140]
步骤606:提取数据包头部的遥测数据并发送到遥测终端,执行步骤607。
[0141]
步骤607:转发数据包。
[0142]
本发明实施例提供的支持多测量任务调度的概率带内网络遥测技术可以基于各测量任务的重要程度进行合理的执行概率分配,可以通过只改变一个交换机的流表项达到下发各测量任务的目的。
[0143]
本发明还提供一种网络遥测系统,如图7所示,该系统,包括:
[0144]
数据获取模块701,用于位于数据包转发路径上的首端交换机获取具有测量任务的已转发数据包的累加个数。
[0145]
数据嵌入模块702,用于在累加个数不满足目标测量任务所需的数据包数量的情况下,首端交换机在待转发数据包中嵌入与目标测量任务对应的网络遥测数据以及测量任务标识信息,位于数据包转发路径上的其他交换机利用测量任务标识信息在待转发数据包内嵌入与目标测量任务对应的网络遥测数据。
[0146]
在一可选的实施方式中,本发明提供的网络遥测系统,还包括:
[0147]
更新模块,用于在首端交换机获取具有测量任务的已转发数据包的累加个数之后,在累加个数满足目标测量任务所需的数据包数量的情况下,将累加个数置零,更新目标测量任务和测量任务标识信息。
[0148]
数据嵌入模块702,具体包括:
[0149]
目标测量任务确定单元,用于基于多个测量任务的重要程度获得各测量任务的执行概率;基于执行概率和测量任务标识信息的对应关系确定目标测量任务。
[0150]
可选的,目标测量任务确定单元,具体用于基于数据包转发路径上交换机的个数计算完成测量任务所需数据包数量的期望值;基于期望值、各测量任务的重要程度和执行概率构建目标函数,并以最大化目标函数值为目标获得各测量任务的执行概率。
[0151]
数据嵌入模块702,还包括:
[0152]
判断单元,被配置为位于数据包转发路径上的其他交换机利用测量任务标识信息和交换机所处数据包转发路径的跳数判断是否在待转发数据包内嵌入网络遥测数据,若是,则在待转发数据包内嵌入与目标测量任务对应的网络遥测数据,否则,则保持待转发数据包内的网络遥测数据不变。
[0153]
可选的,判断单元,具体被配置为其他交换机利用测量任务标识信息和交换机所处数据包转发路径的跳数计算哈希值;若哈希值不大于跳数的倒数,则确定在待转发数据包内嵌入与目标测量任务对应的网络遥测数据;若哈希值大于跳数的倒数,则确定保持待转发数据包内的网络遥测数据不变。
[0154]
数据嵌入模块702,还包括:
[0155]
数据嵌入单元,被配置为若其他交换机为末端交换机,则对网络遥测数据进行提取并发送至遥测终端;若其他交换机为中间交换机,则将待转发数据包转发至后一个交换机。
[0156]
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述网络遥测方法。
[0157]
本发明实施例提供了一种电子设备,如图8所示,电子设备80包括至少一个处理器801、以及与处理器801连接的至少一个存储器802、总线803;其中,处理器801、存储器802通过总线803完成相互间的通信;处理器801用于调用存储器802中的程序指令,以执行上述的网络遥测方法。本文中的电子设备可以是服务器、pc、pad、手机等。
[0158]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有上述的网络遥测方法包括的步骤的程序。
[0159]
本技术是参照根据本技术实施例的方法、系统和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0160]
在一个典型的配置中,设备包括一个或多个处理器(cpu)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
[0161]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
[0162]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除
可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0163]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0164]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0165]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0166]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1