网络随流遥测方法、装置及网络设备
未命名
09-24
阅读:46
评论:0
1.本发明涉及通信技术领域,特别是指一种网络随流遥测方法、装置及网络设备。
背景技术:
2.为了实时感知网络状态,在网络发生链路拥塞或者故障时能及时响应,需要对网络状态进行实时测量。随着网络服务质量提升,运维精细化需求也在不断提高。直接对网络流量状态进行检测的网内测量技术受到关注。因此提出了一类技术是新兴的带内网络遥测int(in-band network telemetry)为代表的随流检测技术。
3.通常的网络随流遥测技术会产生大量的测量信息。在大规模高速网络中,同一时刻会有许多数据包经过相同链路和相同的网络设备缓冲区,时空上相近的数据包可能经历相似的网络状态。如果对每个数据包都产生并上传遥测数据,一方面数据量巨大,占用大量网络资源,另一方面许多信息是冗余的,对于网络运维并不重要。
技术实现要素:
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.在边缘节点向所述控制平面设备发送封装后的所述目标数据包。
37.可选地,所述方法还包括以下至少一项:
38.存储所述第二队列状态信息;
39.存储所述第二流状态信息。
40.可选地,所述方法还包括:
41.所述带内网络遥测信息不更新的情况下,丢弃所述目标遥测信息。
42.为达到上述目的,本发明的实施例提供一种网络随流遥测方法,应用于控制平面
设备,包括:
43.接收数据平面设备发送的目标数据包;
44.解析所述目标数据包,获取带内网络遥测信息的更新情况;
45.根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息。
46.可选地,所述解析所述目标数据包,获取带内网络遥测信息的更新情况,包括以下至少一项;
47.解析所述目标数据包,获取计数器的索引值和第一更改指示;
48.根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况;
49.其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
50.可选地,所述根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况,包括以下至少一项:
51.若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第一值,则确定数据平面设备中的队列状态信息发生更新,流状态信息未更新;
52.若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第二值,则确定所述数据平面设备中的流状态信息发生更新,队列状态信息未更新;
53.若解析所述目标数据包获得所述计数器的索引值以及目标遥测信息,且所述第一更改指示为第一值,则确定所述数据平面设备中的队列状态信息和流状态信息均发生更新。
54.可选地,根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息,包括以下至少一项:
55.在确定数据平面设备的队列状态信息发生更新且流状态信息未更新的情况下,获取所述目标数据包所在的数据流对应的流状态信息,根据所述流状态信息更新与所述计数器的索引值对应的队列状态信息;
56.在确定数据平面设备的流状态信息发生更新且队列状态信息未更新的情况下,获取所述计数器的索引值对应的队列状态信息,根据所述队列状态信息更新所述目标数据包所在的数据流对应的流状态信息;
57.在确定数据平面设备的流状态信息和队列状态信息均发生更新的情况下,根据所述目标遥测信息更新所述计数器的索引值对应的队列状态信息,并根据所述目标遥测信息更新所述目标数据包所在的数据流对应的流状态信息。
58.可选地,所述方法还包括:
59.根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息。
60.可选地,所述根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息,包括以下至少一项:
61.在确定队列状态信息发生更新且流状态信息未更新的情况下,根据当前记录的所述目标数据包所在的数据流对应的流状态信息,确定所述目标数据包的目标遥测信息;
62.在确定流状态信息发生更新且队列状态信息未更新的情况下,根据所述计数器的索引值对应的数据处理队列的队列状态信息,确定所述目标数据包的目标遥测信息。
63.可选地,所述控制平面设备存储至少一个数据处理队列的队列状态信息,每个所
述数据处理队列的索引分别对应一个计数器的索引值。
64.可选地,所述控制平面设备存储至少一个数据流的流状态信息,所述至少一个数据流包括所述目标数据包所属的数据流。
65.为达到上述目的,本发明的实施例提供一种网络随流遥测装置,应用于数据平面设备,包括:
66.第一获取模块,用于获取目标数据包的目标遥测信息;
67.第二获取模块,用于获取所述目标数据包所在的数据处理队列的第一队列状态信息,以及所述目标数据包所属的数据流的第一流状态信息;
68.第一确定模块,用于根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况;
69.第一处理模块,用于在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头;
70.第一发送模块,用于向控制平面设备发送封装后的所述目标数据包。
71.可选地,所述第二获取模块包括:
72.第一获取单元,用于获取所述目标数据包所在的数据处理队列中,所述目标数据包的前一个参与数据更新的数据包的第一遥测信息,
73.第一确定单元,用于根据所述第一遥测信息确定所述第一队列状态信息;
74.其中,所述数据平面设备内存储所述第一遥测信息。
75.可选地,所述第二获取模块包括:
76.第二获取单元,用于获取所述目标数据包所属的数据流中,所述目标数据包的前一个参与数据更新的数据包的第二遥测信息;
77.第二确定单元,用于根据所述第二遥测信息确定所述第一流状态信息;
78.其中,所述数据平面设备内存储所述第二遥测信息。
79.可选地,所述第一确定模块包括:
80.第三获取单元,用于获取所述目标遥测信息与所述第一队列状态信息之间的第一差值,以及所述目标遥测信息与所述第一流状态信息之间的第二差值;
81.第三确定单元,用于根据所述第一差值与预设阈值的比较结果,以及所述第二差值与所述预设阈值的比较结果,确定带内网络遥测信息的更新情况。
82.可选地,所述第三确定单元用于执行以下至少一项操作:
83.若所述第一差值和所述第二差值均小于所述预设阈值,则所述带内网络遥测信息不更新;
84.若所述第一差值大于所述预设阈值,所述第二差值小于所述预设阈值,则根据所述目标遥测信息更新所述第一队列状态信息,获得第二队列状态信息;
85.若所述第一差值小于所述预设阈值,所述第二差值大于所述预设阈值,则根据所述目标遥测信息更新所述第一流状态信息,获得第二流状态信息;
86.若所述第一差值和所述第二差值均大于所述预设阈值,则根据所述目标遥测信息分别更新所述第一队列状态信息和所述第一流状态信息,获得第二队列状态信息和第二流状态信息;
87.其中,所述带内网络遥测信息包括队列状态信息和/或流状态信息。
88.可选地,所述装置还包括:
89.第二更新模块,用于在更新所述第一队列状态信息的情况下,更新计数器的索引值;
90.其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
91.可选地,所述第一处理模块用于执行以下至少一项操作:
92.在更新所述第一队列状态信息的情况下,将更新后的计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第一值;
93.在更新所述第一流状态信息的情况下,将当前计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第二值;
94.在更新所述第一队列状态信息和所述第一流状态信息的情况下,将更新后的计数器、第一更改指示以及所述目标遥测信息封装在所述目标数据包的包头,所述第一更改指示设置为第一值。
95.可选地,所述第一发送模块具体用于:在边缘节点向所述控制平面设备发送封装后的所述目标数据包。
96.可选地,所述装置还包括存储模块,所述存储模块用于执行以下至少一项操作:
97.存储所述第二队列状态信息;
98.存储所述第二流状态信息。
99.可选地,所述装置还包括:
100.第三处理模块,用于所述带内网络遥测信息不更新的情况下,丢弃所述目标遥测信息。
101.为达到上述目的,本发明的实施例提供一种网络随流遥测装置,应用于控制平面设备,包括:
102.第一接收模块,用于接收数据平面设备发送的目标数据包;
103.第二处理模块,用于解析所述目标数据包,获取带内网络遥测信息的更新情况;
104.第一更新模块,用于根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息。
105.可选地,所述第二处理模块包括:
106.第四获取单元,用于解析所述目标数据包,获取计数器的索引值和第一更改指示;
107.第四确定单元,用于根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况;
108.其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
109.可选地,所述第四确定单元用于执行以下至少一项操作:
110.若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第一值,则确定数据平面设备中的队列状态信息发生更新,流状态信息未更新;
111.若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第二值,则确定所述数据平面设备中的流状态信息发生更新,队列状态信息未更新;
112.若解析所述目标数据包获得所述计数器的索引值以及目标遥测信息,且所述第一更改指示为第一值,则确定所述数据平面设备中的队列状态信息和流状态信息均发生更新。
113.可选地,所述第一更新模块用于执行以下至少一项操作:
114.在确定数据平面设备的队列状态信息发生更新且流状态信息未更新的情况下,获取所述目标数据包所在的数据流对应的流状态信息,根据所述流状态信息更新与所述计数器的索引值对应的队列状态信息;
115.在确定数据平面设备的流状态信息发生更新且队列状态信息未更新的情况下,获取所述计数器的索引值对应的队列状态信息,根据所述队列状态信息更新所述目标数据包所在的数据流对应的流状态信息;
116.在确定数据平面设备的流状态信息和队列状态信息均发生更新的情况下,根据所述目标遥测信息更新所述计数器的索引值对应的队列状态信息,并根据所述目标遥测信息更新所述目标数据包所在的数据流对应的流状态信息。
117.可选地,所述装置还包括:
118.第四处理模块,用于根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息。
119.可选地,所述第四处理模块用于执行以下至少一项操作:
120.在确定队列状态信息发生更新且流状态信息未更新的情况下,根据当前记录的所述目标数据包所在的数据流对应的流状态信息,确定所述目标数据包的目标遥测信息;
121.在确定流状态信息发生更新且队列状态信息未更新的情况下,根据所述计数器的索引值对应的数据处理队列的队列状态信息,确定所述目标数据包的目标遥测信息。
122.可选地,所述控制平面设备存储至少一个数据处理队列的队列状态信息,每个所述数据处理队列的索引分别对应一个计数器的索引值。
123.可选地,所述控制平面设备存储至少一个数据流的流状态信息,所述至少一个数据流包括所述目标数据包所属的数据流。
124.为达到上述目的,本发明的实施例提供一种网络随流遥测设备,包括:收发器和处理器;
125.所述处理器用于:获取目标数据包的目标遥测信息;
126.获取所述目标数据包所在的数据处理队列的第一队列状态信息,以及所述目标数据包所属的数据流的第一流状态信息;
127.根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况;
128.在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头;
129.所述收发器用于:向控制平面设备发送封装后的所述目标数据包。
130.可选地,所述处理器获取所述目标数据包所在的数据处理队列的第一队列状态信息,包括:
131.获取所述目标数据包所在的数据处理队列中,所述目标数据包的前一个参与数据更新的数据包的第一遥测信息,
132.根据所述第一遥测信息确定所述第一队列状态信息;
133.其中,所述数据平面设备内存储所述第一遥测信息。
134.可选地,所述处理器获取所述目标数据包所属的数据流的第一流状态信息,包括:
135.获取所述目标数据包所属的数据流中,所述目标数据包的前一个参与数据更新的数据包的第二遥测信息;
136.根据所述第二遥测信息确定所述第一流状态信息;
137.其中,所述数据平面设备内存储所述第二遥测信息。
138.可选地,所述处理器根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况,包括:
139.获取所述目标遥测信息与所述第一队列状态信息之间的第一差值,以及所述目标遥测信息与所述第一流状态信息之间的第二差值;
140.根据所述第一差值与预设阈值的比较结果,以及所述第二差值与所述预设阈值的比较结果,确定带内网络遥测信息的更新情况。
141.可选地,所述处理器根据所述第一差值与预设阈值的比较结果,以及所述第二差值与预设阈值的比较结果,确定带内网络遥测信息的更新情况,包括以下至少一项:
142.若所述第一差值和所述第二差值均小于所述预设阈值,则所述带内网络遥测信息不更新;
143.若所述第一差值大于所述预设阈值,所述第二差值小于所述预设阈值,则根据所述目标遥测信息更新所述第一队列状态信息,获得第二队列状态信息;
144.若所述第一差值小于所述预设阈值,所述第二差值大于所述预设阈值,则根据所述目标遥测信息更新所述第一流状态信息,获得第二流状态信息;
145.若所述第一差值和所述第二差值均大于所述预设阈值,则根据所述目标遥测信息分别更新所述第一队列状态信息和所述第一流状态信息,获得第二队列状态信息和第二流状态信息;
146.其中,所述带内网络遥测信息包括队列状态信息和/或流状态信息。
147.可选地,所述处理器还用于:
148.在更新所述第一队列状态信息的情况下,更新计数器的索引值;
149.其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
150.可选地,所述处理器在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头,包括以下至少一项:
151.在更新所述第一队列状态信息的情况下,将更新后的计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第一值;
152.在更新所述第一流状态信息的情况下,将当前计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第二值;
153.在更新所述第一队列状态信息和所述第一流状态信息的情况下,将更新后的计数器、第一更改指示以及所述目标遥测信息封装在所述目标数据包的包头,所述第一更改指示设置为第一值。
154.可选地,所述收发器向控制平面设备发送封装后的所述目标数据包,包括:
155.在边缘节点向所述控制平面设备发送封装后的所述目标数据包。
156.可选地,所述处理器还用于执行以下至少一项:
157.存储所述第二队列状态信息;
158.存储所述第二流状态信息。
159.可选地,所述处理器还用于:所述带内网络遥测信息不更新的情况下,丢弃所述目标遥测信息。
160.为达到上述目的,本发明的实施例提供一种网络随流遥测设备,包括:收发器和处理器;
161.所述收发器用于:接收数据平面设备发送的目标数据包;
162.所述处理器用于:解析所述目标数据包,获取带内网络遥测信息的更新情况;
163.根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息。
164.可选地,所述处理器解析所述目标数据包,获取带内网络遥测信息的更新情况,包括:
165.解析所述目标数据包,获取计数器的索引值和第一更改指示;
166.根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况;
167.其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
168.可选地,所述处理器根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况,包括以下至少一项:
169.若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第一值,则确定数据平面设备中的队列状态信息发生更新,流状态信息未更新;
170.若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第二值,则确定所述数据平面设备中的流状态信息发生更新,队列状态信息未更新;
171.若解析所述目标数据包获得所述计数器的索引值以及目标遥测信息,且所述第一更改指示为第一值,则确定所述数据平面设备中的队列状态信息和流状态信息均发生更新。
172.可选地,所述处理器根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息,包括以下至少一项:
173.在确定数据平面设备的队列状态信息发生更新且流状态信息未更新的情况下,获取所述目标数据包所在的数据流对应的流状态信息,根据所述流状态信息更新与所述计数器的索引值对应的队列状态信息;
174.在确定数据平面设备的流状态信息发生更新且队列状态信息未更新的情况下,获取所述计数器的索引值对应的队列状态信息,根据所述队列状态信息更新所述目标数据包所在的数据流对应的流状态信息;
175.在确定数据平面设备的流状态信息和队列状态信息均发生更新的情况下,根据所述目标遥测信息更新所述计数器的索引值对应的队列状态信息,并根据所述目标遥测信息更新所述目标数据包所在的数据流对应的流状态信息。
176.可选地,所述处理器还用于:根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息。
177.可选地,所述处理器根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息,包括以下至少一项:
178.在确定队列状态信息发生更新且流状态信息未更新的情况下,根据所述目标数据包所在的数据流对应的流状态信息,确定所述目标数据包的目标遥测信息;
179.在确定流状态信息发生更新且队列状态信息未更新的情况下,根据所述计数器的索引值对应的数据处理队列的队列状态信息,确定所述目标数据包的目标遥测信息。
180.可选地,所述控制平面设备存储至少一个数据处理队列的队列状态信息,每个所述数据处理队列的索引分别对应一个计数器的索引值。
181.可选地,所述控制平面设备存储至少一个数据流的流状态信息,所述至少一个数据流包括所述目标数据包所属的数据流。
182.为达到上述目的,本发明的实施例提供一种网络设备,包括:收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所述程序或指令时实现上述的网络随流遥测方法。
183.为达到上述目的,本发明的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现上述的网络随流遥测方法的步骤。
184.本发明的上述技术方案的有益效果如下:
185.本发明的实施例,数据平面在接收到目标数据包后,根据目标数据包的遥测信息、当前记录的队列状态信息和流状态信息,确定是否需要进行遥测信息更新,在需要更新的情况下将相关信息上报,能够去除单条流内的遥测信息冗余和多条流间的遥测信息冗余,进而减小数据平面向控制平面上报的数据包的数量和内容。
附图说明
186.图1为本发明实施例的网络随流遥测方法的流程示意图之一;
187.图2为本发明实施例的网络随流遥测方法的流程示意图之二;
188.图3为本发明实施例的网络随流遥测方法的流程示意图之三;
189.图4为本发明实施例的网络随流遥测装置的结构示意图之一;
190.图5为本发明实施例的网络随流遥测装置的结构示意图之二;
191.图6为本发明实施例的网络随流遥测设备的结构示意图之一;
192.图7为本发明实施例的网络随流遥测设备的结构示意图之二;
193.图8为本发明实施例的网络设备的结构示意图。
具体实施方式
194.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
195.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
196.在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
197.另外,本文中术语“系统”和“网络”在本文中常可互换使用。
198.在本技术所提供的实施例中,应理解,“与a相应的b”表示b与a相关联,根据a可以
确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
199.如图1所示,本发明实施例提供一种网络随流遥测方法,应用于数据平面设备,包括:
200.步骤11、获取目标数据包的目标遥测信息。
201.如图2所示,本技术的网络随流遥测方法分为数据平面的执行过程和控制平面的执行过程。所述数据平面设备例如交换机、路由器等,能够接收数据包并对数据包进行转发、路由处理。例如:所述数据平面设备为p4交换机,即将本技术的实现方法部署于现有的p4交换机,所述交换机还可以为其他定制交换机。
202.数据平面设备接收到数据包后,对数据包进行处理并发送至控制平面设备,所述控制平面设备例如控制器。所述数据平面设备将数据包的遥测信息通过带内网络遥测的方式上报给控制平面设备。
203.所述目标数据包为所述数据平面设备当前接收到的数据包。所述目标数据包可以是指一个或者多个数据包,所述数据平面设备对接收到的所有数据包进行int处理,解析出数据包的遥测信息,例如数据流的标识信息(例如流id)、数据包所在的数据处理队列的遥测信息(例如排队延时)等。以所述数据平面设备为交换机为例,所述交换机获取到数据包后解析获得该数据包的流信息(例如流id),在所述目标数据包出队列(即该目标数据包排队处理完成)后获取目标遥测信息,例如:该目标数据包的排队延时信息。
204.步骤12、获取所述目标数据包所在的数据处理队列的第一队列状态信息,以及所述目标数据包所属的数据流的第一流状态信息。
205.其中,所述数据处理队列为所述数据平面设备进行数据处理时数据包排列的队列,即多个数据包排列进行数据处理,需要说明的是,所述数据处理队列中的多个数据包,可能分别属于不同的数据流,也可能部分属于同一个数据流,同一个数据处理队列中的数据包共享相同链路和数据缓存区。所述数据流中可以包括多个数据包,该多个数据包可以分别在不同的数据处理队列进行数据处理。
206.在所述数据平面设备内,记录并存储多个数据流的流状态信息、多个数据处理队列的队列状态信息。所述流状态信息和所述队列状态信息均可以根据数据包的遥测信息确定。在所述数据平面设备接收到新的数据包时,根据数据包的遥测信息对该数据包所处的数据流进行状态更新(也可能流状态不变,则不需要更新);根据该数据包的遥测信息对该数据包所在的数据处理队列进行状态更新(也可能队列状态不变,则不需要更新)。
207.所述第一队列状态信息为所述目标数据包所在的数据处理队列的当前状态信息,即还未根据所述目标数据包进行状态更新;所述第一流状态信息为所述目标数据包所在的数据流的当前状态信息,即还未根据所述目标数据包进行状态更新。
208.在所述数据平面设备内,当前记录的所述目标数据包所在的数据流的流状态即为所述第一流状态信息对应的状态;当前记录的所述目标数据包所在的数据处理队列的队列状态即为所述第一队列状态信息对应的状态。
209.步骤13、根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况。
210.所述数据平面设备根据当前接收到的目标数据包的遥测信息、该目标数据包所在
的数据流的当前状态、该目标数据包所在的数据处理队列的当前状态确定是否需要更新遥测信息,即是否需要对当前记录的流状态和队列状态进行更新。
211.步骤14、在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头。
212.步骤15、向控制平面设备发送封装后的所述目标数据包。
213.该实施例中,若根据当前接收到的目标数据包的遥测信息、该目标数据包所在的数据流的当前状态、该目标数据包所在的数据处理队列的当前状态确定需要对当前记录的流状态和/或队列状态进行更新,则将需要更新的遥测信息的相关信息(例如计数器的索引、更改指示、遥测信息等)封装在该目标数据包的包头,并发送至控制平面。则在不需要对当前记录的流状态和/或队列状态进行更新时,不需要上报遥测信息。
214.本技术的实施例,数据平面在接收到目标数据包后,根据目标数据包的遥测信息、当前记录的队列状态信息和流状态信息,确定是否需要进行遥测信息更新,在需要更新的情况下将相关信息上报,能够去除单条流内的遥测信息冗余和多条流间的遥测信息冗余,进而减小数据平面向控制平面上报的数据包的数量和内容。
215.可选地,所述获取所述目标数据包所在的数据处理队列的第一队列状态信息,包括:
216.获取所述目标数据包所在的数据处理队列中,所述目标数据包的前一个参与数据更新的数据包的第一遥测信息,根据所述第一遥测信息确定所述第一队列状态信息;其中,所述数据平面设备内存储所述第一遥测信息
217.该实施例中,所述第一队列状态信息对应的队列状态即为所述数据平面设备记录的数据处理队列的当前状态,该当前状态是最近一次遥测信息更新后的状态,则所述第一队列状态信息为根据目标数据包所在的数据处理队列中的前一个参与数据更新的数据包的第一遥测信息更新后的队列状态,通过获取所述数据处理队列中的上一次参与更新状态的数据包的遥测信息,可以确定所述数据平面设备当前记录的队列状态信息。
218.可选地,所述获取所述目标数据包所属的数据流的第一流状态信息,包括:
219.获取所述目标数据包所属的数据流中,所述目标数据包的前一个参与数据更新的数据包的第二遥测信息;根据所述第二遥测信息确定所述第一流状态信息;其中,所述数据平面设备内存储所述第二遥测信息。
220.该实施例中,所述第一流状态信息对应的流状态即为所述数据平面设备记录的数据流的当前状态,该当前状态是最近一次遥测信息更新后的状态,则所述第一流状态信息为根据目标数据包所在的数据流中的前一个参与数据更新的数据包的第二遥测信息更新后的流状态,通过获取所述数据流中的上一次参与更新状态的数据包的遥测信息,可以确定所述数据平面设备当前记录的流状态信息。可选地,数据平面设备可以以流id(fid)作为散列函数的输入,通过散列表记录各条流上一次参与更新状态的数据包的遥测信息。
221.作为一个可选实施例,根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况,包括:
222.获取所述目标遥测信息与所述第一队列状态信息之间的第一差值,以及所述目标遥测信息与所述第一流状态信息之间的第二差值;根据所述第一差值与预设阈值的比较结果,以及所述第二差值与所述预设阈值的比较结果,确定带内网络遥测信息的更新情况。
223.如图2所示,该实施例中,所述数据平面设备计算所述目标遥测信息和所述目标数据包所在数据处理队列的第一队列状态信息之间的第一差值(即同队列多条流之间),并计算接收到的所述目标数据包的目标遥测信息与所述目标数据包所在数据流的第一流状态信息之间的第二差值(即同流之间),将同流之间的第二差值和同队列之间的第一差值进行阈值计算,即分别与预定阈值进行比较,根据比较结果确定是否需要更新当前记录的流状态和/或队列状态。
224.可选地,若所述目标遥测信息与流状态信息、所述目标遥测信息与队列状态信息之间的差别较大(与预定阈值比较),则表示流状态、队列状态需要更新;若差别较小,则表示不需要更新。例如:所述第一差值大于预定阈值,第二差值小于预定阈值,则认为所述目标遥测信息与当前记录的队列状态差别较大,所述目标遥测信息与当前记录的流状态差别较小,则需要对队列状态进行更新,不需要对流状态进行更新。可选地,在所述流状态和/或队列状态更新的情况下,对更新后的状态信息进行存储,否则丢弃。下面对确定带内网络遥测信息的更新情况的具体实施方式进行说明。
225.可选地,所述根据所述第一差值与预设阈值的比较结果,以及所述第二差值与预设阈值的比较结果,确定带内网络遥测信息的更新情况,包括以下至少一项:
226.1)若所述第一差值和所述第二差值均小于所述预设阈值,则所述带内网络遥测信息不更新。
227.该实施例中,若所述目标遥测信息与队列状态信息之间的第一差值、所述目标遥测信息与流状态信息之间的第二差值均小于所述预设阈值,表示所述目标数据包的遥测信息与当前记录的遥测信息相差较小,无需进行状态更新。可选地,所述带内网络遥测信息不更新的情况下,丢弃所述目标遥测信息。即若不需要进行状态更新,则所述目标数据包的遥测信息也无需上报。该实施例中,对于目标遥测信息与当前记录的遥测信息差别小于预设域值时,不需要进行遥测信息上报,可以避免同流或者同队列的遥测信息冗余,减少数据平面上报的数据量,节省网络资源。
228.2)若所述第一差值大于所述预设阈值,所述第二差值小于所述预设阈值,则根据所述目标遥测信息更新所述第一队列状态信息,获得第二队列状态信息。
229.该实施例中,若所述目标遥测信息与队列状态信息之间的第一差值大于所述预设阈值,所述目标遥测信息与流状态信息之间的第二差值小于预设阈值,表示队列状态需要更新,流状态无需更新,则根据所述目标遥测信息更新当前记录的所述第一队列状态信息并存储,更新后的队列状态信息为第二队列状态信息。可选地,所述数据平面可以只将更新的队列状态信息上报控制平面。该实施例中,仅需要对队列状态进行更新,流状态无需更新,则可以仅上报更新的队列状态信息,以使控制平面更新相应的队列状态,能够避免流内遥测信息的冗余上报。减少数据平面上报的数据量,节省网络资源。
230.3)若所述第一差值小于所述预设阈值,所述第二差值大于所述预设阈值,则根据所述目标遥测信息更新所述第一流状态信息,获得第二流状态信息。
231.该实施例中,若所述目标遥测信息与队列状态信息之间的第一差值小于所述预设阈值,所述目标遥测信息与流状态信息之间的第二差值大于预设阈值,表示流状态需要更新,队列状态无需更新,则根据所述目标遥测信息更新当前记录的所述第一流状态信息并存储,更新后的流状态信息为第二流状态信息。可选地,所述数据平面可以只将更新的流状
态信息上报控制平面。该实施例中,仅需要对流状态进行更新,队列状态无需更新,则可以仅上报更新的流状态信息,以使控制平面更新相应的流状态,能够避免队列内多条流间的遥测信息的冗余上报。减少数据平面上报的数据量,节省网络资源。
232.4)若所述第一差值和所述第二差值均大于所述预设阈值,则根据所述目标遥测信息分别更新所述第一队列状态信息和所述第一流状态信息,获得第二队列状态信息和第二流状态信息;其中,所述带内网络遥测信息包括队列状态信息和/或流状态信息。
233.该实施例中,若所述目标遥测信息与队列状态信息之间的第一差值大于所述预设阈值,所述目标遥测信息与流状态信息之间的第二差值大于预设阈值,表示队列状态和流状态均需要更新,则根据所述目标遥测信息更新当前记录的所述第一队列状态信息以及所述第一流状态信息并存储,更新后的队列状态信息为第二队列状态信息,更新后的流状态信息为第二流状态信息。可选地,在队列状态和流状态均需要更新的情况下,数据平面可以将所述目标数据包的目标遥测信息上报至控制平面,以使控制平面更新相应的队列状态和流状态。
234.可选地,所述方法还包括以下至少一项:
235.存储所述第二队列状态信息;
236.存储所述第二流状态信息。
237.若数据平面对队列状态和/或流状态进行更新,则需要记录并存储更新后的队列状态信息和/或流状态信息。
238.可选地,在根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况之后,所述方法还包括:
239.在更新所述第一队列状态信息的情况下,更新计数器的索引值;其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
240.该实施例中,设置计数器用于在队列状态更新时进行计数,所述计数器例如3bit无符号计数器,用于记录队列状态的更新顺序,所述数据平面设备每次更新队列状态,所述计数器实现索引值+1操作。所述计数器的索引值与数据处理队列的队列状态的索引相对应。在所述控制平面,记录n个队列状态和对应的顺序计数器,每个队列状态分别具有对应的索引,所述数据平面的队列每更新一次,计数器索引值+1,则控制平面根据上报的计数器索引值可以确定相对应的队列状态。
241.可选地,在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头,包括以下至少一项:
242.1)在更新所述第一队列状态信息的情况下,将更新后的计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第一值。
243.该实施例中,在队列状态进行更新、流状态未更新的情况下,计数器的索引值+1,所述第一更改指示用于指示队列状态是否更新,在所述第一更改指示为第一值表示队列状态更新,所述第一值可以设为“1”,数据平面将更新后的计数器和第一更改指示封装至所述目标数据包的包头对应位置,并上报给控制平面。
244.以所述第一队列状态为s,第一流状态为pi,目标遥测信息为a为例,a与s的差值大于预设阈值,a与pi的差值小于预设阈值。需要对队列状态进行更新和上报。则根据a的遥测信息更新第一队列状态s,并更新计数器ref。将ref和1bit队列状态更改指示flag封装至
int包头对应位置,并可以于尾节点上报给控制平面。
245.2)在更新所述第一流状态信息的情况下,将当前计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第二值。
246.该实施例中,在流状态进行更新、队列状态未更新的情况下,计数器的索引值不变,所述第一更改指示用于指示队列状态是否更新,在所述第一更改指示为第二值表示队列状态未更新,所述第二值可以设为“0”,数据平面将当前计数器和第一更改指示封装至所述目标数据包的包头对应位置,并上报给控制平面。
247.以所述第一队列状态为s,第一流状态为pi,目标遥测信息为a为例,a与s的差值小于预设阈值,a与pi的差值大于预设阈值。需要对流状态进行更新和上报。则根据a的遥测信息更新第一流状态pi,计数器ref不更新。将当前的ref和1bit队列状态更改指示flag封装至int包头对应位置,并可以于尾节点上报给控制平面。
248.3)在更新所述第一队列状态信息和所述第一流状态信息的情况下,将更新后的计数器、第一更改指示以及所述目标遥测信息封装在所述目标数据包的包头,所述第一更改指示设置为第一值。
249.该实施例中,在流状态和队列状态均更新的情况下,计数器的索引值+1,所述第一更改指示用于指示队列状态是否更新,在所述第一更改指示为第一值表示队列状态更新,所述第一值可以设为“1”,数据平面将更新后的计数器和第一更改指示封装至所述目标数据包的包头对应位置,并上报给控制平面。
250.以所述第一队列状态为s,第一流状态为pi,目标遥测信息为a为例,a与s的差值大于预设阈值,a与pi的差值大于预设阈值。需要对流状态和队列状态进行更新和上报。则根据a的遥测信息更新第一流状态pi并更新第一队列状态s,计数器ref+1。将更新后的ref、1bit队列状态更改指示flag以及所述目标遥测信息a封装至int包头对应位置,并可以于尾节点上报给控制平面。
251.可选地,所述向控制平面设备发送封装后的所述目标数据包,包括:在边缘节点向所述控制平面设备发送封装后的所述目标数据包。所述边缘节点即尾节点。
252.可选地,所述方法还包括:所述带内网络遥测信息不更新的情况下,丢弃所述目标遥测信息。
253.该实施例中,若带内网络遥测信息不更新,即队列状态和流状态均不更新,则丢弃该目标遥测信息,即数据平面不向控制平面上报该遥测信息,避免遥测信息冗余。
254.本技术的实施例,如图2所示,在带内网络遥测信息更新的情况下,数据平面将新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头,并在边缘节点上报至控制平面,以使所述控制平面接收到所述目标数据包后,解析数据包获得该数据包的流信息(如流id)和数据平面设备信息(如交换机switch_id),以及各交换机和流的压缩遥测信息(可能仅包含了更新的部分遥测信息、或者遥测信息的相关信息)。在控制平面设备中,维护着n个队列状态和对应的顺序计数器(如图2所示,所述n可以为8,即包括0至7共8个队列状态),并以与数据平面设备相同的散列函数和相同大小的散列表记录流状态。
255.所述控制平面设备可以根据当前维护的队列状态和流状态对压缩遥测信息恢复至完整的遥测信息,并可以根据解析出的遥测信息对维护的队列状态和/或流状态进行更新。尽可能的减少了经过相同设备接口的多条被监测流之间的冗余遥测信息,又能根据采
集的遥测信息恢复被监测流的全生命周期内的遥测信息。
256.本技术的实施例,数据平面在接收到目标数据包后,根据目标数据包的遥测信息、当前记录的队列状态信息和流状态信息,确定是否需要进行遥测信息更新,在需要更新的情况下将相关信息上报,能够去除单条流内的遥测信息冗余和多条流间的遥测信息冗余,进而减小数据平面向控制平面上报的数据包的数量和内容。
257.如图3所示,本技术实施例还提供一种网络随流遥测方法,应用于控制平面设备,包括:
258.步骤31、接收数据平面设备发送的目标数据包。
259.步骤32、解析所述目标数据包,获取带内网络遥测信息的更新情况。
260.所述数据平面设备对接收到的目标数据包进行int处理后,根据遥测信息对记录的队列状态和/或流状态进行更新,并将更新的遥测信息的相关信息封装在目标数据包的包头上报至所述控制平面设备,所述控制平面设备接收到所述数据平面设备上报的int数据包后,解析数据包获得上报该数据包的数据平面设备信息(例如交换机信息switch_id)和流信息(如fid),根据解析数据包获得的信息确定数据平面设备的带内遥测信息更新情况,从而确定自身记录的带内遥测信息的更新情况。
261.步骤33、根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息。所述控制平面设备根据所述带内遥测信息的更新情况,与数据平面相对应的更新队列状态和/或流状态。
262.本技术的实施例,控制平面设备接收数据平面设备上报的目标数据包,解析所述目标数据包获得遥测信息的更新情况,根据遥测信息的更新情况,与数据平面进行相对应的更新。由于数据平面设备将需要更新的相关信息上报,能够去除单条流内的遥测信息冗余和多条流间的遥测信息冗余,进而减小数据平面向控制平面上报的数据包的数量和内容。
263.可选地,所述解析所述目标数据包,获取带内网络遥测信息的更新情况,包括:
264.解析所述目标数据包,获取计数器的索引值和第一更改指示;根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况;其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
265.该实施例中,所述计数器可以为3bit无符号计数器,用于记录队列状态的更新顺序,队列状态没更新一次,该计数器的索引值+1,计数器的索引值与所述控制平面设备记录的队列状态的索引值相对应。所述第一更改指示用于指示队列状态是否更新,所述第一更改指示为第一值表示队列状态更新,所述第一值例如“1”,所述第一更改指示为第二值表示队列状态未更新,所述第二值例如“0”。所述控制平面设备通过解析所述目标数据包,根据计数器的索引以及第一更改指示的值确定遥测信息的更新情况。
266.所述控制平面设备内可以记录n个队列状态和对应的顺序计数器,每个队列状态具有对应的计数器索引;所述控制平面设备内以与数据平面设备相同的散列函数和相同大小的散列表记录流状态。
267.可选地,所述根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况,包括以下至少一项:
268.1)若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第一
值,则确定数据平面设备中的队列状态信息发生更新,流状态信息未更新。
269.该实施例中,若解析所述目标数据包获得的第一更改指示为第一值(例如“1”),且只包含计数器的索引值(未包含所述目标遥测信息),则表示数据平面的队列状态发生更新,流状态未更新;相应的,在控制平面设备也需要更新队列状态(更新与计数器的索引值对应的队列状态),无需更新流状态。
270.2)若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第二值,则确定所述数据平面设备中的流状态信息发生更新,队列状态信息未更新。
271.该实施例中,若解析所述目标数据包获得的第一更改指示为第二值(例如“0”),且只包含计数器的索引值(未包含所述目标遥测信息),则表示数据平面的队列状态未发生更新,流状态发生更新;相应的,在控制平面设备也需要更新流状态(更新与流id对应的流状态),无需更新队列状态。
272.3)若解析所述目标数据包获得所述计数器的索引值以及目标遥测信息,且所述第一更改指示为第一值,则确定所述数据平面设备中的队列状态信息和流状态信息均发生更新。
273.该实施例中,若解析所述目标数据包获得的第一更改指示为第一值(例如“1”),且包含计数器的索引值以及目标遥测信息,则表示数据平面的队列状态和流状态均发生更新;相应的,在控制平面设备也需要更新队列状态(与计数器的索引值对应的队列状态)和流状态(流id对应的流状态)。
274.可选地,根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息,包括以下至少一项:
275.a)在确定数据平面设备的队列状态信息发生更新且流状态信息未更新的情况下,获取所述目标数据包所在的数据流对应的流状态信息,根据所述流状态信息更新与所述计数器的索引值对应的队列状态信息。
276.该实施例中,在确定队列状态发生更新、流状态未更新的情况下,则可以调取当前记录的流id对应的流状态(即所述目标数据包所在的数据流的流状态),根据所述流状态对当前存储的与该计数器索引对应的队列状态进行更新。
277.以所述计数器为ref,所述第一更改指示为flag,所述目标数据包对应的流状态为pi,队列状态为s为例,如果解析数据包获得的flag为1,只包含ref,则说明数据平面的队列状态发生更新,流状态未发生更新,因此在控制平面调取流状态pi,更新至ref对应的队列状态s。
278.b)在确定数据平面设备的流状态信息发生更新且队列状态信息未更新的情况下,获取所述计数器的索引值对应的队列状态信息,根据所述队列状态信息更新所述目标数据包所在的数据流对应的流状态信息。
279.该实施例中,在确定流状态发生更新、队列状态未更新的情况下,则可以调取当前记录的与所述计数器的索引对应的队列状态,根据所述队列状态对当前存储的与所述目标数据包所属的数据流的流状态进行更新。
280.以所述计数器为ref,所述第一更改指示为flag,所述目标数据包对应的流状态为pi,队列状态为s为例,如果解析数据包获得的flag为0,只包含ref,则说明数据平面的队列状态未更新,流状态发生更新,因此在控制平面调取ref对应的队列状态s,根据队列状态s
对所述目标数据包所属的数据流的流状态进行更新。
281.c)在确定数据平面设备的流状态信息和队列状态信息均发生更新的情况下,根据所述目标遥测信息更新所述计数器的索引值对应的队列状态信息,并根据所述目标遥测信息更新所述目标数据包所在的数据流对应的流状态信息。
282.该实施例中,在确定流状态和队列状态均发生更新的情况下,由于数据平面设备上报了目标遥测信息,则可以直接根据所述目标遥测信息对所述计数器的索引对应的队列状态,并根据所述目标遥测信息对目标数据包所属的数据流的流状态进行更新。
283.以所述计数器为ref,所述第一更改指示为flag,所述目标数据包对应的流状态为pi,队列状态为s为例,如果解析数据包获得的flag为1,包含ref和目标遥测信息a,则说明数据平面的队列状态和流状态均发生更新,因此在控制平面根据所述目标遥测信息a对ref对应的队列状态s进行更新,根据目标遥测信息a对所述目标数据包所属的数据流的流状态pi进行更新。
284.作为一个可选实施例,所述方法还包括:根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息。
285.该实施例中,根据带内网络遥测信息更新的情况不同,数据平面设备可能仅上报部分遥测信息,或者仅上报了遥测信息的相关信息(如计数器的索引、第一更改指示),所述控制平面设备确定带内网络遥测信息的更新情况后,还可以根据自身维护的队列状态和/或流状态获得完整的目标数据包的目标遥测信息,即根据维护的队列状态和/或流状态补充在数据平面被丢弃的遥测信息,恢复至完整的逐流遥测信息。
286.可选地,所述根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息,包括以下至少一项:
287.a)在确定队列状态信息发生更新且流状态信息未更新的情况下,根据当前记录的所述目标数据包所在的数据流对应的流状态信息,确定所述目标数据包的目标遥测信息。
288.该实施例中,若队列状态发生更新,流状态未更新,即所述控制平面设备维护的目标数据包对应的数据流的流状态不需要更新,则可以根据的当前记录的所述目标数据包对应的数据流的流状态对所述计数器的索引值对应的队列状态进行更新,获得更新的队列状态,基于更新的队列状态以及所述流状态可以获得完整的所述目标数据包的目标遥测信息。
289.b)在确定流状态信息发生更新且队列状态信息未更新的情况下,根据所述计数器的索引值对应的数据处理队列的队列状态信息,确定所述目标数据包的目标遥测信息。
290.该实施例中,若流状态发生更新,队列状态未更新,即所述控制平面设备维护的目标数据包所在的数据处理队列的队列状态不需要更新,则可以根据的当前记录的所述计数器的索引值对应的队列状态对所述目标数据包所属的数据流的流状态进行更新,获得更新的流状态,基于更新的流状态以及所述队列状态可以获得完整的所述目标数据包的目标遥测信息。
291.可选地,所述控制平面设备存储至少一个数据处理队列的队列状态信息,每个所述数据处理队列的索引分别对应一个计数器的索引值。该实施例中,所述控制平面设备内维护n个队列状态和对应的顺序计数器,每个队列状态分别具有对应的计数器索引值,如图2所示,n可以为8,即所述控制平面设备维护8个队列状态以及对应的顺序计数器。
292.可选地,所述控制平面设备存储至少一个数据流的流状态信息,所述至少一个数据流包括所述目标数据包所属的数据流。该实施例中,所述控制平面设备维护多个数据流的流状态,可以以与数据平面设备相同的散列函数和相同大小的散列表记录流状态,如图2所示。在流状态需要更新时,更新列表中与当前目标数据包所属的数据对应的流状态。其中,所述控制平面设备在接收到所述目标数据包时,通过解析所述目标数据包可以获得流信息(如流id),则可以确定所述目标数据包对应的流状态。
293.本技术的实施例,使用数据平面和控制平面内部的存储资源储存队列状态和流状态,在接收到目标数据包后,根据目标数据包的遥测信息确定是否需要对维护的队列状态和流状态进行更新,所述数据平面在上报遥测信息时,去除单条流内的遥测信息冗余和共享相同链路和数据缓存区的多条流间的遥测信息冗余,进而减小数据平面向控制平面上报的int数据包的数量和内容;控制平面可以根据记录的参考状态和接收的部分int遥测信息,恢复出逐流的完整遥测信息。
294.需要说明的是,本技术的实施例能够实现上述应用于数据平面设备的方法实施例中控制平面实现的所有步骤,并能达到相应的技术效果,在此不做赘述。
295.如图4所示,本发明实施例还提供一种网络随流遥测装置400,应用于数据平面设备,包括:
296.第一获取模块410,用于获取目标数据包的目标遥测信息;
297.第二获取模块420,用于获取所述目标数据包所在的数据处理队列的第一队列状态信息,以及所述目标数据包所属的数据流的第一流状态信息;
298.第一确定模块430,用于根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况;
299.第一处理模块440,用于在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头;
300.第一发送模块450,用于向控制平面设备发送封装后的所述目标数据包。
301.可选地,所述第二获取模块包括:
302.第一获取单元,用于获取所述目标数据包所在的数据处理队列中,所述目标数据包的前一个参与数据更新的数据包的第一遥测信息,
303.第一确定单元,用于根据所述第一遥测信息确定所述第一队列状态信息;
304.其中,所述数据平面设备内存储所述第一遥测信息。
305.可选地,所述第二获取模块包括:
306.第二获取单元,用于获取所述目标数据包所属的数据流中,所述目标数据包的前一个参与数据更新的数据包的第二遥测信息;
307.第二确定单元,用于根据所述第二遥测信息确定所述第一流状态信息;
308.其中,所述数据平面设备内存储所述第二遥测信息。
309.可选地,所述第一确定模块包括:
310.第三获取单元,用于获取所述目标遥测信息与所述第一队列状态信息之间的第一差值,以及所述目标遥测信息与所述第一流状态信息之间的第二差值;
311.第三确定单元,用于根据所述第一差值与预设阈值的比较结果,以及所述第二差值与所述预设阈值的比较结果,确定带内网络遥测信息的更新情况。
312.可选地,所述第三确定单元用于执行以下至少一项操作:
313.若所述第一差值和所述第二差值均小于所述预设阈值,则所述带内网络遥测信息不更新;
314.若所述第一差值大于所述预设阈值,所述第二差值小于所述预设阈值,则根据所述目标遥测信息更新所述第一队列状态信息,获得第二队列状态信息;
315.若所述第一差值小于所述预设阈值,所述第二差值大于所述预设阈值,则根据所述目标遥测信息更新所述第一流状态信息,获得第二流状态信息;
316.若所述第一差值和所述第二差值均大于所述预设阈值,则根据所述目标遥测信息分别更新所述第一队列状态信息和所述第一流状态信息,获得第二队列状态信息和第二流状态信息;
317.其中,所述带内网络遥测信息包括队列状态信息和/或流状态信息。
318.可选地,所述装置还包括:
319.第二更新模块,用于在更新所述第一队列状态信息的情况下,更新计数器的索引值;
320.其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
321.可选地,所述第一处理模块用于执行以下至少一项操作:
322.在更新所述第一队列状态信息的情况下,将更新后的计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第一值;
323.在更新所述第一流状态信息的情况下,将当前计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第二值;
324.在更新所述第一队列状态信息和所述第一流状态信息的情况下,将更新后的计数器、第一更改指示以及所述目标遥测信息封装在所述目标数据包的包头,所述第一更改指示设置为第一值。
325.可选地,所述第一发送模块具体用于:在边缘节点向所述控制平面设备发送封装后的所述目标数据包。
326.可选地,所述装置还包括存储模块,所述存储模块用于执行以下至少一项操作:
327.存储所述第二队列状态信息;
328.存储所述第二流状态信息。
329.可选地,所述装置还包括:
330.第三处理模块,用于所述带内网络遥测信息不更新的情况下,丢弃所述目标遥测信息。
331.本技术的实施例,数据平面在接收到目标数据包后,根据目标数据包的遥测信息、当前记录的队列状态信息和流状态信息,确定是否需要进行遥测信息更新,在需要更新的情况下将相关信息上报,能够去除单条流内的遥测信息冗余和多条流间的遥测信息冗余,进而减小数据平面向控制平面上报的数据包的数量和内容。
332.在此需要说明的是,本发明实施例提供的上述网络随流遥测装置,能够实现上述应用于数据平面设备的方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
333.为达到上述目的,如图5所示,本发明的实施例提供一种网络随流遥测装置500,应
用于控制平面设备,包括:
334.第一接收模块510,用于接收数据平面设备发送的目标数据包;
335.第二处理模块520,用于解析所述目标数据包,获取带内网络遥测信息的更新情况;
336.第一更新模块530,用于根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息。
337.可选地,所述第二处理模块包括:
338.第四获取单元,用于解析所述目标数据包,获取计数器的索引值和第一更改指示;
339.第四确定单元,用于根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况;
340.其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
341.可选地,所述第四确定单元用于执行以下至少一项操作:
342.若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第一值,则确定数据平面设备中的队列状态信息发生更新,流状态信息未更新;
343.若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第二值,则确定所述数据平面设备中的流状态信息发生更新,队列状态信息未更新;
344.若解析所述目标数据包获得所述计数器的索引值以及目标遥测信息,且所述第一更改指示为第一值,则确定所述数据平面设备中的队列状态信息和流状态信息均发生更新。
345.可选地,所述第一更新模块用于执行以下至少一项操作:
346.在确定数据平面设备的队列状态信息发生更新且流状态信息未更新的情况下,获取所述目标数据包所在的数据流对应的流状态信息,根据所述流状态信息更新与所述计数器的索引值对应的队列状态信息;
347.在确定数据平面设备的流状态信息发生更新且队列状态信息未更新的情况下,获取所述计数器的索引值对应的队列状态信息,根据所述队列状态信息更新所述目标数据包所在的数据流对应的流状态信息;
348.在确定数据平面设备的流状态信息和队列状态信息均发生更新的情况下,根据所述目标遥测信息更新所述计数器的索引值对应的队列状态信息,并根据所述目标遥测信息更新所述目标数据包所在的数据流对应的流状态信息。
349.可选地,所述装置还包括:
350.第四处理模块,用于根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息。
351.可选地,所述第四处理模块用于执行以下至少一项操作:
352.在确定队列状态信息发生更新且流状态信息未更新的情况下,根据当前记录的所述目标数据包所在的数据流对应的流状态信息,确定所述目标数据包的目标遥测信息;
353.在确定流状态信息发生更新且队列状态信息未更新的情况下,根据所述计数器的索引值对应的数据处理队列的队列状态信息,确定所述目标数据包的目标遥测信息。
354.可选地,所述控制平面设备存储至少一个数据处理队列的队列状态信息,每个所述数据处理队列的索引分别对应一个计数器的索引值。
355.可选地,所述控制平面设备存储至少一个数据流的流状态信息,所述至少一个数据流包括所述目标数据包所属的数据流。
356.本技术的实施例,控制平面设备接收数据平面设备上报的目标数据包,解析所述目标数据包获得遥测信息的更新情况,根据遥测信息的更新情况,与数据平面进行相对应的更新。由于数据平面设备将需要更新的相关信息上报,能够去除单条流内的遥测信息冗余和多条流间的遥测信息冗余,进而减小数据平面向控制平面上报的数据包的数量和内容。
357.在此需要说明的是,本发明实施例提供的上述网络随流遥测装置,能够实现上述应用于控制平面设备的方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
358.如图6所示,本发明实施例的一种网络随流遥测设备600,所述网络随流遥测设备可以为数据平面设备,包括处理器610和收发器620,其中,
359.所述处理器610用于:获取目标数据包的目标遥测信息;
360.获取所述目标数据包所在的数据处理队列的第一队列状态信息,以及所述目标数据包所属的数据流的第一流状态信息;
361.根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况;
362.在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头;
363.所述收发器620用于:向控制平面设备发送封装后的所述目标数据包。
364.可选地,所述处理器获取所述目标数据包所在的数据处理队列的第一队列状态信息,包括:
365.获取所述目标数据包所在的数据处理队列中,所述目标数据包的前一个参与数据更新的数据包的第一遥测信息,
366.根据所述第一遥测信息确定所述第一队列状态信息;
367.其中,所述数据平面设备内存储所述第一遥测信息。
368.可选地,所述处理器获取所述目标数据包所属的数据流的第一流状态信息,包括:
369.获取所述目标数据包所属的数据流中,所述目标数据包的前一个参与数据更新的数据包的第二遥测信息;
370.根据所述第二遥测信息确定所述第一流状态信息;
371.其中,所述数据平面设备内存储所述第二遥测信息。
372.可选地,所述处理器根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况,包括:
373.获取所述目标遥测信息与所述第一队列状态信息之间的第一差值,以及所述目标遥测信息与所述第一流状态信息之间的第二差值;
374.根据所述第一差值与预设阈值的比较结果,以及所述第二差值与所述预设阈值的比较结果,确定带内网络遥测信息的更新情况。
375.可选地,所述处理器根据所述第一差值与预设阈值的比较结果,以及所述第二差值与预设阈值的比较结果,确定带内网络遥测信息的更新情况,包括以下至少一项:
376.若所述第一差值和所述第二差值均小于所述预设阈值,则所述带内网络遥测信息不更新;
377.若所述第一差值大于所述预设阈值,所述第二差值小于所述预设阈值,则根据所述目标遥测信息更新所述第一队列状态信息,获得第二队列状态信息;
378.若所述第一差值小于所述预设阈值,所述第二差值大于所述预设阈值,则根据所述目标遥测信息更新所述第一流状态信息,获得第二流状态信息;
379.若所述第一差值和所述第二差值均大于所述预设阈值,则根据所述目标遥测信息分别更新所述第一队列状态信息和所述第一流状态信息,获得第二队列状态信息和第二流状态信息;
380.其中,所述带内网络遥测信息包括队列状态信息和/或流状态信息。
381.可选地,所述处理器还用于:
382.在更新所述第一队列状态信息的情况下,更新计数器的索引值;
383.其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
384.可选地,所述处理器在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头,包括以下至少一项:
385.在更新所述第一队列状态信息的情况下,将更新后的计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第一值;
386.在更新所述第一流状态信息的情况下,将当前计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第二值;
387.在更新所述第一队列状态信息和所述第一流状态信息的情况下,将更新后的计数器、第一更改指示以及所述目标遥测信息封装在所述目标数据包的包头,所述第一更改指示设置为第一值。
388.可选地,所述收发器向控制平面设备发送封装后的所述目标数据包,包括:
389.在边缘节点向所述控制平面设备发送封装后的所述目标数据包。
390.可选地,所述处理器还用于执行以下至少一项:
391.存储所述第二队列状态信息;
392.存储所述第二流状态信息。
393.可选地,所述处理器还用于:所述带内网络遥测信息不更新的情况下,丢弃所述目标遥测信息。
394.本技术的实施例,数据平面在接收到目标数据包后,根据目标数据包的遥测信息、当前记录的队列状态信息和流状态信息,确定是否需要进行遥测信息更新,在需要更新的情况下将相关信息上报,能够去除单条流内的遥测信息冗余和多条流间的遥测信息冗余,进而减小数据平面向控制平面上报的数据包的数量和内容。
395.需要说明的是,本发明实施例提供的上述网络随流遥测设备,能够实现上述应用于数据平面设备的方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
396.如图7所示,本发明实施例的一种网络随流遥测设备700,所述网络随流遥测设备可以为控制平面设备,包括处理器710和收发器720,其中,
397.所述收发器720用于:接收数据平面设备发送的目标数据包;
398.所述处理器710用于:解析所述目标数据包,获取带内网络遥测信息的更新情况;
399.根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息。
400.可选地,所述处理器解析所述目标数据包,获取带内网络遥测信息的更新情况,包括:
401.解析所述目标数据包,获取计数器的索引值和第一更改指示;
402.根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况;
403.其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。
404.可选地,所述处理器根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况,包括以下至少一项:
405.若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第一值,则确定数据平面设备中的队列状态信息发生更新,流状态信息未更新;
406.若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第二值,则确定所述数据平面设备中的流状态信息发生更新,队列状态信息未更新;
407.若解析所述目标数据包获得所述计数器的索引值以及目标遥测信息,且所述第一更改指示为第一值,则确定所述数据平面设备中的队列状态信息和流状态信息均发生更新。
408.可选地,所述处理器根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息,包括以下至少一项:
409.在确定数据平面设备的队列状态信息发生更新且流状态信息未更新的情况下,获取所述目标数据包所在的数据流对应的流状态信息,根据所述流状态信息更新与所述计数器的索引值对应的队列状态信息;
410.在确定数据平面设备的流状态信息发生更新且队列状态信息未更新的情况下,获取所述计数器的索引值对应的队列状态信息,根据所述队列状态信息更新所述目标数据包所在的数据流对应的流状态信息;
411.在确定数据平面设备的流状态信息和队列状态信息均发生更新的情况下,根据所述目标遥测信息更新所述计数器的索引值对应的队列状态信息,并根据所述目标遥测信息更新所述目标数据包所在的数据流对应的流状态信息。
412.可选地,所述处理器还用于:根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息。
413.可选地,所述处理器根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息,包括以下至少一项:
414.在确定队列状态信息发生更新且流状态信息未更新的情况下,根据所述目标数据包所在的数据流对应的流状态信息,确定所述目标数据包的目标遥测信息;
415.在确定流状态信息发生更新且队列状态信息未更新的情况下,根据所述计数器的索引值对应的数据处理队列的队列状态信息,确定所述目标数据包的目标遥测信息。
416.可选地,所述控制平面设备存储至少一个数据处理队列的队列状态信息,每个所述数据处理队列的索引分别对应一个计数器的索引值。
417.可选地,所述控制平面设备存储至少一个数据流的流状态信息,所述至少一个数
据流包括所述目标数据包所属的数据流。
418.本技术的实施例,控制平面设备接收数据平面设备上报的目标数据包,解析所述目标数据包获得遥测信息的更新情况,根据遥测信息的更新情况,与数据平面进行相对应的更新。由于数据平面设备将需要更新的相关信息上报,能够去除单条流内的遥测信息冗余和多条流间的遥测信息冗余,进而减小数据平面向控制平面上报的数据包的数量和内容。
419.需要说明的是,本发明实施例提供的上述网络随流遥测设备,能够实现上述应用于控制平面设备的方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
420.本发明另一实施例的网络设备,如图8所示,包括收发器810、处理器800、存储器820及存储在所述存储器820上并可在所述处理器800上运行的程序或指令;所述处理器800执行所述程序或指令时实现上述应用于数据平面设备的网络随流遥测方法,或者实现上述应用于控制平面设备的网络随流遥测方法。
421.所述收发器810,用于在处理器800的控制下接收和发送数据。
422.其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器800代表的一个或多个处理器和存储器820代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器810可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器800负责管理总线架构和通常的处理,存储器820可以存储处理器800在执行操作时所使用的数据。
423.本发明实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的网络随流遥测方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
424.其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
425.进一步需要说明的是,此说明书中所描述的电子设备包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
426.本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
427.实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上
(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
428.在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(vlsi)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
429.上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
430.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种网络随流遥测方法,应用于数据平面设备,其特征在于,包括:获取目标数据包的目标遥测信息;获取所述目标数据包所在的数据处理队列的第一队列状态信息,以及所述目标数据包所属的数据流的第一流状态信息;根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况;在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头;向控制平面设备发送封装后的所述目标数据包。2.根据权利要求1所述的方法,其特征在于,所述获取所述目标数据包所在的数据处理队列的第一队列状态信息,包括:获取所述目标数据包所在的数据处理队列中,所述目标数据包的前一个参与数据更新的数据包的第一遥测信息,根据所述第一遥测信息确定所述第一队列状态信息;其中,所述数据平面设备内存储所述第一遥测信息。3.根据权利要求1所述的方法,其特征在于,所述获取所述目标数据包所属的数据流的第一流状态信息,包括:获取所述目标数据包所属的数据流中,所述目标数据包的前一个参与数据更新的数据包的第二遥测信息;根据所述第二遥测信息确定所述第一流状态信息;其中,所述数据平面设备内存储所述第二遥测信息。4.根据权利要求1所述的方法,其特征在于,根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况,包括:获取所述目标遥测信息与所述第一队列状态信息之间的第一差值,以及所述目标遥测信息与所述第一流状态信息之间的第二差值;根据所述第一差值与预设阈值的比较结果,以及所述第二差值与所述预设阈值的比较结果,确定带内网络遥测信息的更新情况。5.根据权利要求4所述的方法,其特征在于,所述根据所述第一差值与预设阈值的比较结果,以及所述第二差值与预设阈值的比较结果,确定带内网络遥测信息的更新情况,包括以下至少一项:若所述第一差值和所述第二差值均小于所述预设阈值,则所述带内网络遥测信息不更新;若所述第一差值大于所述预设阈值,所述第二差值小于所述预设阈值,则根据所述目标遥测信息更新所述第一队列状态信息,获得第二队列状态信息;若所述第一差值小于所述预设阈值,所述第二差值大于所述预设阈值,则根据所述目标遥测信息更新所述第一流状态信息,获得第二流状态信息;若所述第一差值和所述第二差值均大于所述预设阈值,则根据所述目标遥测信息分别更新所述第一队列状态信息和所述第一流状态信息,获得第二队列状态信息和第二流状态信息;
其中,所述带内网络遥测信息包括队列状态信息和/或流状态信息。6.根据权利要求5所述的方法,其特征在于,在根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况之后,所述方法还包括:在更新所述第一队列状态信息的情况下,更新计数器的索引值;其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。7.根据权利要求5所述的方法,其特征在于,在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头,包括以下至少一项:在更新所述第一队列状态信息的情况下,将更新后的计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第一值;在更新所述第一流状态信息的情况下,将当前计数器和第一更改指示封装在所述目标数据包的包头,所述第一更改指示设置为第二值;在更新所述第一队列状态信息和所述第一流状态信息的情况下,将更新后的计数器、第一更改指示以及所述目标遥测信息封装在所述目标数据包的包头,所述第一更改指示设置为第一值。8.根据权利要求7所述的方法,其特征在于,所述向控制平面设备发送封装后的所述目标数据包,包括:在边缘节点向所述控制平面设备发送封装后的所述目标数据包。9.根据权利要求5所述的方法,其特征在于,所述方法还包括以下至少一项:存储所述第二队列状态信息;存储所述第二流状态信息。10.根据权利要求5所述的方法,其特征在于,所述方法还包括:所述带内网络遥测信息不更新的情况下,丢弃所述目标遥测信息。11.一种网络随流遥测方法,应用于控制平面设备,其特征在于,包括:接收数据平面设备发送的目标数据包;解析所述目标数据包,获取带内网络遥测信息的更新情况;根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息。12.根据权利要求11所述的方法,其特征在于,所述解析所述目标数据包,获取带内网络遥测信息的更新情况,包括:解析所述目标数据包,获取计数器的索引值和第一更改指示;根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况;其中,所述计数器的索引值与数据处理队列的队列状态的索引相对应。13.根据权利要求12所述的方法,其特征在于,所述根据计数器的索引值和所述第一更改指示,确定带内网络遥测信息的更新情况,包括以下至少一项:若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第一值,则确定数据平面设备中的队列状态信息发生更新,流状态信息未更新;若解析所述目标数据包获得所述计数器的索引值,且所述第一更改指示为第二值,则确定所述数据平面设备中的流状态信息发生更新,队列状态信息未更新;
若解析所述目标数据包获得所述计数器的索引值以及目标遥测信息,且所述第一更改指示为第一值,则确定所述数据平面设备中的队列状态信息和流状态信息均发生更新。14.根据权利要求13所述的方法,其特征在于,根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息,包括以下至少一项:在确定数据平面设备的队列状态信息发生更新且流状态信息未更新的情况下,获取所述目标数据包所在的数据流对应的流状态信息,根据所述流状态信息更新与所述计数器的索引值对应的队列状态信息;在确定数据平面设备的流状态信息发生更新且队列状态信息未更新的情况下,获取所述计数器的索引值对应的队列状态信息,根据所述队列状态信息更新所述目标数据包所在的数据流对应的流状态信息;在确定数据平面设备的流状态信息和队列状态信息均发生更新的情况下,根据所述目标遥测信息更新所述计数器的索引值对应的队列状态信息,并根据所述目标遥测信息更新所述目标数据包所在的数据流对应的流状态信息。15.根据权利要求12所述的方法,其特征在于,所述方法还包括:根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息。16.根据权利要求15所述的方法,其特征在于,所述根据所述带内网络遥测信息的更新情况,确定所述目标数据包的目标遥测信息,包括以下至少一项:在确定队列状态信息发生更新且流状态信息未更新的情况下,根据当前记录的所述目标数据包所在的数据流对应的流状态信息,确定所述目标数据包的目标遥测信息;在确定流状态信息发生更新且队列状态信息未更新的情况下,根据所述计数器的索引值对应的数据处理队列的队列状态信息,确定所述目标数据包的目标遥测信息。17.根据权利要求13所述的方法,其特征在于,所述控制平面设备存储至少一个数据处理队列的队列状态信息,每个所述数据处理队列的索引分别对应一个计数器的索引值。18.根据权利要求13所述的方法,其特征在于,所述控制平面设备存储至少一个数据流的流状态信息,所述至少一个数据流包括所述目标数据包所属的数据流。19.一种网络随流遥测装置,其特征在于,包括:第一获取模块,用于获取目标数据包的目标遥测信息;第二获取模块,用于获取所述目标数据包所在的数据处理队列的第一队列状态信息,以及所述目标数据包所属的数据流的第一流状态信息;第一确定模块,用于根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况;第一处理模块,用于在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头;第一发送模块,用于向控制平面设备发送封装后的所述目标数据包。20.一种网络随流遥测装置,其特征在于,包括:第一接收模块,用于接收数据平面设备发送的目标数据包;第二处理模块,用于解析所述目标数据包,获取带内网络遥测信息的更新情况;第一更新模块,用于根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息。
21.一种网络随流遥测设备,其特征在于,包括:收发器和处理器;所述处理器用于:获取目标数据包的目标遥测信息;获取所述目标数据包所在的数据处理队列的第一队列状态信息,以及所述目标数据包所属的数据流的第一流状态信息;根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况;在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头;所述收发器用于:向控制平面设备发送封装后的所述目标数据包。22.一种网络随流遥测设备,其特征在于,包括:收发器和处理器;所述收发器用于:接收数据平面设备发送的目标数据包;所述处理器用于:解析所述目标数据包,获取带内网络遥测信息的更新情况;根据所述带内网络遥测信息的更新情况,更新存储的队列状态信息和/或流状态信息。23.一种网络设备,包括:收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;其特征在于,所述处理器执行所述程序或指令时实现如权利要求1-10任一项所述的网络随流遥测方法,或者实现如权利要求10-18任一项所述的网络随流遥测方法。24.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1-10任一项所述的网络随流遥测方法的步骤,或者实现如权利要求10-18任一项所述的网络随流遥测方法的步骤。
技术总结
本发明提供一种网络随流遥测方法、装置及网络设备。所述方法包括:获取目标数据包的目标遥测信息;获取所述目标数据包所在的数据处理队列的第一队列状态信息,以及所述目标数据包所属的数据流的第一流状态信息;根据所述目标遥测信息、所述第一队列状态信息以及所述第一流状态信息,确定带内网络遥测信息的更新情况;在所述带内网络遥测信息更新的情况下,将更新的所述带内网络遥测信息的相关信息封装在所述目标数据包的包头;向控制平面设备发送封装后的所述目标数据包。本发明能够去除单条流内的遥测信息冗余和多条流间的遥测信息冗余,进而减小数据平面向控制平面上报的数据包的数量和内容。的数量和内容。的数量和内容。
技术研发人员:王旸旸 王瑞浩 徐明伟 林耘森箫 王豪杰 刘毅松 程伟强 李志强
受保护的技术使用者:清华大学 中国移动通信集团有限公司
技术研发日:2022.03.18
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种空心叶片的制备方法与流程 下一篇:一种控制阀的制作方法