数据传输方法、装置及系统与流程

文档序号:37680290发布日期:2024-04-18 20:53阅读:23来源:国知局
数据传输方法、装置及系统与流程

本技术涉及网络,特别涉及一种数据传输方法、装置及系统。


背景技术:

1、在视频会议或直播等通信场景中,同一用户的音视频数据通常需要分发给多个接收者,这会导致数据传输量较大,从而网络开销较大。


技术实现思路

1、本技术提供了一种数据传输方法、装置及系统,可以通过减少报文传输数据量来减少网络带宽的开销。

2、第一方面,提供了一种数据传输方法。该方法包括:第一节点获取发送方为选择性转发单元(selective forwarding unit,sfu)服务器的第一报文,第一节点为第一报文的传输路径上支持数据去重的首个节点。如果第一节点向第二节点发送的历史报文中存在目标报文,目标报文的载荷部分与第一报文的载荷部分具有重复内容,第一节点对第一报文的载荷部分进行去重处理,得到第二报文。第二报文不包括重复内容,且第二报文携带有去重标记以及对重复内容的指示信息。该去重标记用于指示第二报文为去重报文。第二节点为第一报文在第一节点上的下一跳。第一节点向第二节点发送第二报文。

3、本技术中,第一节点在接收到发送方为sfu服务器的报文之后,可以判断是否向该报文的下一跳发送过载荷部分与该报文的载荷部分具有重复内容的历史报文。如果第一节点向该报文的下一跳发送过载荷部分与该报文的载荷部分具有重复内容的历史报文,则第一节点可以对该报文进行数据去重,然后向下级节点发送去重报文。由于去重报文的数据量相较于未去重报文的数据量较小,因此可以减少报文传输数据量,从而减少网络带宽的开销。

4、可选地,重复内容包括一个或多个重复数据块,对该重复内容的指示信息包括一个或多个指示。该一个或多个指示与重复内容中的一个或多个重复数据块一一对应。每个指示用于指示对应的重复数据块的哈希值。

5、一种可能实现方式,第一节点中存储有数据集合,该数据集合包括第一节点向第二节点发送的历史报文的载荷部分。第一节点对第一报文的载荷部分与该数据集合中的载荷部分进行内容匹配。如果该数据集合中存在与第一报文的载荷部分具有重复数据块的目标载荷部分,第一节点确定历史报文中存在目标报文。相应地,第一节点对第一报文的载荷部分进行去重处理的实现过程,包括:针对第一报文的载荷部分与目标载荷部分之间的每个重复数据块,第一节点计算该重复数据块的哈希值。第一节点去除第一报文的载荷部分的该重复数据块,并在第一报文的载荷部分添加该重复数据块对应的指示,该指示用于指示该重复数据块的哈希值以及该重复数据块在第一报文的载荷部分中的位置。

6、本技术中,第一节点可以对获取的报文的载荷部分与已存储的历史报文的载荷部分进行内容匹配。如果该报文的载荷部分与历史报文的载荷部分有重复数据块,则第一节点计算该重复数据块的哈希值,并去除该报文中的该重复数据块得到去重报文,进一步在该去重报文中携带对该重复数据块的哈希值以及该重复数据块的位置的指示,以实现对报文的数据去重。

7、可选地,如果数据集合中不存在与第一报文的载荷部分具有重复数据块的载荷部分,第一节点确定历史报文中不存在目标报文。第一节点在数据集合中添加第一报文的载荷部分。更新后的数据集合可以用于第一节点对后续获取的发送方为该sfu服务器的报文进行去重处理。

8、另一种可能实现方式,载荷部分包括协议部分和数据部分,一个或多个重复数据块位于第一报文的数据部分。

9、可选地,第一节点中存储有采样标签集合,该采样标签集合包括历史数据块的哈希值,历史数据块为对第一节点向第二节点发送的历史报文的数据部分的预设位置采样得到的数据块。第一节点对第一报文的数据部分的预设位置进行采样,得到采样数据块。第一节点计算该采样数据块的哈希值。如果该采样标签集合中包括该采样数据块的哈希值,第一节点确定历史报文中存在目标报文。相应地,第一节点对第一报文的载荷部分进行去重处理的实现过程,包括:第一节点将哈希值属于该采样标签集合的采样数据块作为重复数据块,去除第一报文的数据部分的该重复数据块,并在第一报文的载荷部分添加该重复数据块对应的指示,该指示用于指示该重复数据块的哈希值。

10、本技术中,第一节点可以计算获取的报文的数据部分的预设位置的采样数据块的哈希值,并将其与已存储的历史数据块的哈希值进行比较。如果该报文中某个采样数据块的哈希值与第一节点已存储的哈希值相同,则第一节点去除该报文中的该采样数据块得到去重报文,进一步在该去重报文中携带该采样数据块的哈希值,以实现对报文的数据去重。

11、可选地,上述预设位置有多个,第一节点对第一报文的数据部分的预设位置采样得到的采样数据块有多个,重复数据块对应的指示还用于指示该重复数据块在第一报文的数据部分中的位置。

12、本技术中,在预先设置的数据部分的采样位置有多个的情况下,第一节点对报文的数据部分进行采样会得到多个采样数据块,这种情况下需要指示去重报文中被去除的重复数据块在原始报文中的位置,以便后续节点对去重报文进行数据恢复。

13、可选地,如果采样标签集合中不包括采样数据块的哈希值,第一节点确定历史报文中不存在目标报文。第一节点在采样标签集合中添加采样数据块的哈希值。更新后的采样标签集合可以用于第一节点对后续获取的发送方为该sfu服务器的报文进行去重处理。

14、可选地,采样标签集合还包括哈希值所指示的历史数据块。如果采样标签集合中包括采样数据块的哈希值,第一节点确定历史报文中存在目标报文的实现方式,包括:如果采样标签集合中包括采样数据块的哈希值,第一节点对采样数据块与采样数据块的哈希值所指示的历史数据块进行内容匹配。当采样数据块与该采样数据块的哈希值所指示的历史数据块的内容相同时,第一节点确定历史报文中存在目标报文。

15、由于哈希值相同的两个数据块的数据内容有可能不同,通过在采样标签集合中存储历史数据块与历史数据块的哈希值的对应关系,可以使得第一节点在确定报文的采样数据块的哈希值与某个历史数据块的哈希值相同之后,进一步对该采样数据块与该历史数据块进行内容匹配,以实现精确匹配,进而提高对报文的去重准确率。

16、可选地,第一节点中还存储有第一节点向第二节点发送的历史报文的协议部分。上述重复内容还包括位于第一报文的协议部分的协议信息,对重复内容的指示信息还包括差异指示,该差异指示用于指示第一报文的协议部分与目标报文的协议部分的差异。

17、本技术中,第一节点除了可以对报文的数据部分的预设位置的数据块进行去重以外,还可以对报文的协议部分进行去重,通过在报文的载荷部分携带差异指示以替代协议部分,可以进一步减少报文传输数据量,从而减少网络带宽的开销。

18、可选地,第一节点中存储有第二节点对应的一个或多个流分组集合。每个流分组集合包括流经第二节点的多条流的流标识。在第一节点获取第一报文之后,如果第二节点对应的流分组集合中存在包括第一报文所属流的流标识的目标流分组集合,第一节点判断向第二节点发送的目标历史报文中是否存在目标报文,目标历史报文所属流的流标识属于目标流分组集合。如果第二节点对应的所有流分组集合均不包括第一报文所属流的流标识,第一节点向第二节点发送第一报文。

19、本技术中,第一节点可以根据下级节点对应的流分组集合,判断是否需要对向该下级节点发送的报文进行去重处理。如果该报文所属流的流标识不在该下级节点对应的流分组集合中,那么第一节点直接向下级节点转发该报文,而无需再执行报文去重流程,这样可以减小第一节点的处理开销。另外,当下级节点对应的流分组集合有多个时,这种实现方式下,第一节点只需对属于一个流分组集合所指示的多条流的历史报文的载荷部分与报文的载荷部分进行重复内容判断,减少了第一节点所需判断的历史报文的数量,从而减少了第一节点的处理开销,同时提高了第一节点的报文处理效率,从而可以提高报文传输效率。

20、可选地,第一节点接收第二节点发送的分组信息,该分组信息包括第二节点的节点标识与第二节点对应的一个或多个流分组集合的对应关系。

21、可选地,第一节点不为sfu服务器。第一节点接收到目的端口号为sfu服务端口号的第三报文之后,向第三节点发送第一节点发现报文,第三节点为第三报文在第一节点上的下一跳,第三报文的目的地为sfu服务器,第一节点发现报文携带有该sfu服务器的标识,且第一节点发现报文指示第一节点为第三节点在以该sfu服务器为起点的传输路径上的下级节点。响应于未接收到第三节点发送的第一节点发现报文对应的第一节点发现响应报文,第一节点确定第一节点为以该sfu服务器为起点的传输路径上支持数据去重的首个节点。

22、可选地,第一节点根据第三报文生成第一节点发现报文,第一节点发现报文的报文头与第三报文的报文头相同,第一节点发现报文的载荷部分携带有对第一节点发现报文的报文类型的指示。

23、可选地,第一节点接收第四节点发送的第二节点发现报文,第二节点发现报文携带有sfu服务器的标识,且第二节点发现报文指示第四节点为第一节点在以该sfu服务器为起点的传输路径上的下级节点。第一节点根据第二节点发现报文确定第四节点支持数据去重,并向第四节点发送第二节点发现报文对应的第二节点发现响应报文,第二节点发现响应报文指示第一节点支持数据去重。

24、本技术中,在由目的地为sfu服务器的报文触发节点发现流程的方案中,如果某个节点接收到下级节点发送的节点发现报文,且未接收到上级节点发送的节点发现响应报文,那么该节点可以确定自身为以该sfu服务器为起点的传输路径上的首个节点。

25、可选地,第一节点接收到源端口号为sfu服务端口号的第四报文之后,向第五节点发送第三节点发现报文,第五节点为第四报文在第一节点上的下一跳,第四报文的发送方为sfu服务器,第三节点发现报文携带有该sfu服务器的标识,且第三节点发现报文指示第一节点为第五节点在以该sfu服务器为起点的传输路径上的上级节点。响应于接收到第五节点发送的第三节点发现报文对应的第三节点发现响应报文,第一节点确定第五节点支持数据去重。

26、本技术中,在由发送方为sfu服务器的报文触发节点发现流程的方案中,如果某个节点接收到下级节点发送的节点发现响应报文,且未接收到上级节点发送的节点发现报文,那么该节点可以确定自身为以该sfu服务器为起点的传输路径上的首个节点。

27、可选地,如果第一节点向第二节点发送的历史报文中不存在目标报文,第一节点向第二节点发送第一报文。

28、第二方面,提供了一种数据传输方法。该方法包括:第一节点接收第二节点发送的第一报文。第一报文的发送方为sfu服务器。第一报文携带有去重标记以及对重复内容的指示信息。该去重标记用于指示第一报文为去重报文。第一节点为第一报文的传输路径上支持数据去重的最后一个节点。第一节点基于第一报文中的去重标记确定第一报文为去重报文。第一节点根据该指示信息从数据集合中获取该重复内容,数据集合包括第一节点接收到的来自第二节点的历史报文的载荷部分的至少部分内容。第一节点根据该重复内容对第一报文的载荷部分进行去重恢复处理,得到第二报文。第二报文的载荷部分包括该重复内容。第一节点向第三节点发送第二报文,第三节点为第一报文在第一节点上的下一跳。

29、本技术中,第一节点可以对发送方为sfu服务器的去重报文进行数据恢复,使得用户能够接收到携带有完整数据内容的原始报文,从而实现对用户业务的保障。

30、可选地,重复内容包括一个或多个重复数据块。对该重复内容的指示信息包括一个或多个指示。该一个或多个指示与重复内容中的一个或多个重复数据块一一对应。每个指示用于指示对应的重复数据块的哈希值。

31、一种可能实现方式,每个指示还用于指示对应的重复数据块在第一报文对应的原始报文的载荷部分中的位置,数据集合包括第一节点接收到的来自第二节点的历史报文的载荷部分。第一节点根据指示信息从数据集合中获取重复内容的实现过程,包括:对于指示信息中的每个指示,第一节点根据该指示所指示的位置,获取数据集合中的载荷部分的该位置的待匹配数据块。第一节点计算待匹配数据块的哈希值。第一节点将哈希值与指示所指示的哈希值一致的待匹配数据块,确定为指示对应的重复数据块。

32、本技术中,第一节点可以根据去重报文中携带的指示所指示的重复数据块在原始报文的载荷部分的位置,分别计算已存储的多个载荷部分的该位置的数据块的哈希值,以获取哈希值与该指示所指示的哈希值一致的存储数据块,然后将该存储数据块添加至该指示所指示的位置,以实现对去重报文的数据恢复。

33、另一种可能实现方式,载荷部分包括协议部分和数据部分,一个或多个重复数据块位于数据部分。

34、可选地,数据集合包括历史数据块的哈希值与历史数据块的对应关系,历史数据块为对第一节点接收到的来自第二节点的历史报文的数据部分的预设位置采样得到的数据块。第一节点根据指示信息从数据集合中获取重复内容的实现方式,包括:第一节点将数据集合中与指示信息中的指示所指示的哈希值对应的历史数据块,确定为指示对应的重复数据块。

35、可选地,对重复内容的指示信息中的指示还用于指示对应的重复数据块在第一报文对应的原始报文的数据部分中的位置。第一节点根据重复内容对第一报文的载荷部分进行去重恢复处理的实现方式,包括:对于指示信息中的每个指示,第一节点在第一报文的数据部分中该指示所指示的位置,添加该指示对应的重复数据块。

36、本技术中,第一节点可以在已存储的历史数据块的哈希值中查找去重报文中携带的哈希值,并将命中的哈希值所对应的历史数据块添加到去重报文的数据部分,以实现对去重报文的数据部分的恢复。

37、可选地,重复内容还包括位于协议部分的协议信息,指示信息还包括差异指示,差异指示用于指示第一报文对应的原始报文的协议部分与目标报文的协议部分的差异,目标报文为第一节点接收到的来自第二节点的历史报文中数据部分与原始报文的数据部分具有一个或多个重复数据块的历史报文。数据集合还包括历史数据块所属报文的协议部分。第一节点根据指示信息从数据集合中获取重复内容的实现过程,还包括:第一节点从数据集合中获取一个或多个重复数据块所属的目标报文的协议部分。相应地,第一节点根据重复内容对第一报文的载荷部分进行去重恢复处理的实现过程,还包括:第一节点根据差异指示修改目标报文的协议部分,并将修改后的目标报文的协议部分作为第二报文的协议部分。

38、本技术中,第一节点可以获取命中的哈希值对应的历史数据块所属的历史报文的协议部分,结合去重报文中针对协议部分的差异指示还原得到去重报文对应的原始报文的协议部分,以实现对去重报文的协议部分的恢复。

39、可选地,去重标记位于第一报文的载荷部分。第一节点中存储有一个或多个流分组集合,每个流分组集合包括流经第一节点的多条流的流标识。在第一节点基于去重标记确定第一报文为去重报文之前,第一节点确定该一个或多个流分组集合中存在包括第一报文所属流的流标识的目标流分组集合。第一节点解析第一报文的载荷部分,得到去重标记。

40、可选地,第一节点根据指示信息从数据集合中获取重复内容的实现方式,包括:第一节点根据指示信息,从数据集合中的目标历史报文的载荷内容中获取重复内容,目标历史报文所属流的流标识属于目标流分组集合。

41、这种实现方式下,当第一节点对应的流分组集合有多个时,第一节点只需查找属于一个流分组集合所指示的多条流的历史报文的载荷部分以获取重复内容,减少了第一节点所需检索的历史报文的数量,从而减少了第一节点的处理开销,同时提高了第一节点的报文处理效率,从而可以提高报文传输效率。

42、可选地,第一节点接收第三报文,第三报文所属流的流标识不属于任一流分组集合。第一节点转发第三报文。

43、本技术中,由于上级节点只会对属于下级节点对应的流分组集合所指示的流中的报文进行数据去重,因此第一节点在接收到报文之后,可以先判断该报文所属流的流标识是否属于自身对应的某个流分组集合。如果该报文所属流的流标识属于自身对应的某个流分组集合,则说明该报文有可能是经过上级节点去重处理的去重报文,第一节点需要进一步解析该报文的载荷部分以判断该报文是否为去重报文。如果该报文所属流的流标识不属于自身对应的任一流分组集合,则说明上级节点不会对该报文进行数据去重,即该报文不可能为去重报文,因此第一节点可以直接转发该报文,而无需解析该报文的载荷部分以判断该报文是否为去重报文。这样可以减少底部节点的处理开销。

44、可选地,第一节点接收第四报文,第四报文所属流的流标识属于流分组集合。第一节点解析第四报文的载荷部分,确定第四报文的载荷部分未携带有去重标记。第一节点在数据集合中添加第四报文的载荷部分的至少部分内容,并转发第四报文。这里的第四报文可视为第一节点接收到的一组可去重报文中的首包,第一节点通过在数据集合中存储第四报文的载荷部分的至少部分内容,以便对后续接收到的去重报文进行数据恢复。

45、可选地,第一节点将接收到的属于不同流的多个报文中,载荷部分存在重复内容的报文所属流的流标识添加至同一流分组集合中,该不同流的发送方均为sfu服务器。

46、可选地,第一节点向第二节点发送分组信息,分组信息包括第一节点的节点标识与一个或多个流分组集合的对应关系。

47、可选地,第一节点接收到目的端口号为sfu服务端口号的第五报文之后,向第四节点发送第一节点发现报文,第四节点为第五报文在第一节点上的下一跳,第五报文的目的地为sfu服务器,第一节点发现报文携带有该sfu服务器的标识,且第一节点发现报文指示第一节点为第四节点在以该sfu服务器为起点的传输路径上的下级节点。响应于接收到第四节点发送的第一节点发现报文对应的第一节点发现响应报文,第一节点确定第四节点支持数据去重。

48、可选地,第一节点根据第五报文生成第一节点发现报文,第一节点发现报文的报文头与第五报文的报文头相同,第一节点发现报文的载荷部分携带有对第一节点发现报文的报文类型的指示。

49、本技术中,在由目的地为sfu服务器的报文触发节点发现流程的方案中,如果某个节点接收到上级节点发送的节点发现响应报文,且未接收到下级节点发送的节点发现报文,那么该节点可以确定自身为以该sfu服务器为起点的传输路径上的最后一个节点。

50、可选地,第一节点接收第五节点发送的第二节点发现报文,第二节点发现报文携带有sfu服务器的标识,且第二节点发现报文指示第五节点为第一节点在以该sfu服务器为起点的传输路径上的上级节点。第一节点根据第二节点发现报文确定第五节点支持数据去重,并向第五节点发送第二节点发现报文对应的第二节点发现响应报文,第二节点发现响应报文指示第一节点支持数据去重。

51、可选地,第一节点接收到源端口号为sfu服务端口号的第六报文之后,向第六节点发送第三节点发现报文,第六节点为第六报文在第一节点上的下一跳,第六报文的发送方为sfu服务器,第三节点发现报文携带有该sfu服务器的标识,且第三节点发现报文指示第一节点为第六节点在以该sfu服务器为起点的传输路径上的上级节点。响应于未接收到第六节点发送的第三节点发现报文对应的第三节点发现响应报文,第一节点确定第一节点为以该sfu服务器为起点的传输路径上支持数据去重的最后一个节点。

52、本技术中,在由发送方为sfu服务器的报文触发节点发现流程的方案中,如果某个节点接收到上级节点发送的节点发现报文,且未接收到下级节点发送的节点发现响应报文,那么该节点可以确定自身为以该sfu服务器为起点的传输路径上的最后一个节点。

53、第三方面,提供了一种数据传输方法。该方法包括:第一节点接收第二节点发送的第一报文。第一报文的发送方为sfu服务器。第一节点为第一报文的传输路径上支持数据去重的中间节点。如果第一报文为未去重报文,且第一节点向第三节点发送的历史报文中存在第一原始报文,第一原始报文的载荷部分与第一报文的载荷部分具有第一重复内容,第一节点对第一报文的载荷部分进行去重处理,得到第二报文,第二报文不包括第一重复内容,且第二报文携带有去重标记以及对第一重复内容的第一指示信息,去重标记用于指示第二报文为去重报文,第三节点为第一报文在第一节点上的下一跳。第一节点向第三节点发送第二报文。

54、本技术中,第一节点可以对发送方为sfu服务器的未去重报文进行数据去重,以向下级节点发送去重报文。由于去重报文的数据量相较于未去重报文的数据量较小,因此可以减少报文传输数据量,从而减少网络带宽的开销。第一节点在向下级节点发送去重报文时,只需保证向该下级节点发送过载荷部分携带有该去重报文相对于原始报文被去除的内容的历史报文即可,以保证后续传输路径上存在节点能够对该去重报文进行数据恢复,使得用户最终接收到携带有完整数据内容的原始报文,保障用户业务。

55、可选地,如果第一报文为未去重报文,且第一节点向第三节点发送的历史报文中不存在第一原始报文,第一节点向第三节点发送第一报文。

56、可选地,第一重复内容包括一个或多个重复数据块,第一指示信息包括一个或多个指示。第一指示信息中的一个或多个指示与第一重复内容中的一个或多个重复数据块一一对应,每个指示用于指示对应的重复数据块的哈希值。

57、一种可能实现方式,第一节点中存储有第一数据集合,第一数据集合包括第一节点向第三节点发送的历史报文的载荷部分。第一节点对第一报文的载荷部分与第一数据集合中的载荷部分进行内容匹配。如果第一数据集合中存在与第一报文的载荷部分具有重复数据块的目标载荷部分,第一节点确定历史报文中存在第一原始报文。如果第一数据集合中不存在与第一报文的载荷部分具有重复数据块的载荷部分,第一节点确定历史报文中不存在第一原始报文,并且,第一节点在第一数据集合中添加第一报文的载荷部分。

58、可选地,第一数据集合包括目标载荷部分,第一节点对第一报文的载荷部分进行去重处理的实现过程,包括:针对第一报文的载荷部分与目标载荷部分之间的每个重复数据块,第一节点计算该重复数据块的哈希值。第一节点去除第一报文的载荷部分的该重复数据块,并在第一报文的载荷部分添加该重复数据块对应的指示,该指示用于指示该重复数据块的哈希值以及该重复数据块在第一报文的载荷部分中的位置。

59、另一种可能实现方式,载荷部分包括协议部分和数据部分。第一重复内容中的一个或多个重复数据块位于第一报文的数据部分。第一节点中存储有采样标签集合,采样标签集合包括历史数据块的哈希值,历史数据块为对第一节点向第三节点发送的历史报文的数据部分的预设位置采样得到的数据块。第一节点对第一报文的数据部分的预设位置进行采样,得到采样数据块。第一节点计算采样数据块的哈希值。如果采样标签集合中包括采样数据块的哈希值,第一节点确定历史报文中存在第一原始报文。如果采样标签集合中不包括采样数据块的哈希值,第一节点确定历史报文中不存在第一原始报文,并且,第一节点在采样标签集合中添加采样数据块的哈希值。

60、可选地,采样标签集合中包括采样数据块的哈希值,第一节点对第一报文的载荷部分进行去重处理的实现方式,包括:第一节点将哈希值属于采样标签集合的采样数据块作为重复数据块,去除第一报文的数据部分的该重复数据块,并在第一报文的载荷部分添加该重复数据块对应的指示,该指示用于指示该重复数据块的哈希值。

61、可选地,第一节点中还存储有第一节点向第三节点发送的历史报文的协议部分;第一重复内容还包括位于第一报文的协议部分的协议信息,第一指示信息还包括差异指示,差异指示用于指示第一报文的协议部分与第一原始报文的协议部分的差异。

62、可选地,如果第一报文为去重报文,第一报文携带有对第二重复内容的第二指示信息,且第一节点向第三节点发送的历史报文中存在第二原始报文,第二原始报文的载荷部分包括第二重复内容,第一节点向第三节点发送第一报文。

63、可选地,如果第一报文为去重报文,第一报文携带有对第二重复内容的第二指示信息,且第一节点向第三节点发送的历史报文中不存在第二原始报文,第二原始报文的载荷部分包括第二重复内容,第一节点根据第二指示信息从第二数据集合中获取第二重复内容,第二数据集合包括第一节点接收到的来自第二节点的历史报文的载荷部分的至少部分内容。第一节点根据第二重复内容对第一报文的载荷部分进行去重恢复处理,得到第三报文,第三报文的载荷部分包括第二重复内容。第一节点向第三节点发送第三报文。

64、可选地,第二重复内容包括一个或多个重复数据块,第二指示信息包括一个或多个指示,第二指示信息中的一个或多个指示与第二重复内容中的一个或多个重复数据块一一对应,每个指示用于指示对应的重复数据块的哈希值。

65、一种可能实现方式,每个指示还用于指示对应的重复数据块在第一报文对应的原始报文的载荷部分中的位置,第二数据集合包括第一节点接收到的来自第二节点的历史报文的载荷部分。第一节点根据第二指示信息从第二数据集合中获取第二重复内容的实现方式,包括:对于第二指示信息中的每个指示,第一节点根据该指示所指示的位置,获取第二数据集合中的载荷部分的该位置的待匹配数据块。第一节点计算待匹配数据块的哈希值。第一节点将哈希值与该指示所指示的哈希值一致的待匹配数据块,确定为该指示对应的重复数据块。

66、另一种可能实现方式,载荷部分包括协议部分和数据部分,第二重复内容中的一个或多个重复数据块位于数据部分。第二数据集合包括历史数据块的哈希值与历史数据块的对应关系,历史数据块为对第一节点接收到的来自第二节点的历史报文的数据部分的预设位置采样得到的数据块。第一节点根据第二指示信息从第二数据集合中获取第二重复内容的实现方式,包括:第一节点将第二数据集合中与第二指示信息中的指示所指示的哈希值对应的历史数据块,确定为该指示对应的重复数据块。

67、可选地,第二指示信息中的指示还用于指示对应的重复数据块在第一报文对应的原始报文的数据部分中的位置。第一节点根据第二重复内容对第一报文的载荷部分进行去重恢复处理的实现方式,包括:对于第二指示信息中的每个指示,第一节点在第一报文的数据部分中该指示所指示的位置,添加该指示对应的重复数据块。

68、可选地,第二重复内容还包括位于协议部分的协议信息,第二指示信息还包括差异指示,差异指示用于指示第一报文对应的原始报文的协议部分与目标报文的协议部分的差异,目标报文为第一节点接收到的来自第二节点的历史报文中数据部分与原始报文的数据部分具有一个或多个重复数据块的历史报文。第二数据集合还包括历史数据块所属报文的协议部分。第一节点根据第二指示信息从第二数据集合中获取第二重复内容的实现过程,还包括:第一节点从第二数据集合中获取一个或多个重复数据块所属的目标报文的协议部分。相应地,第一节点根据第二重复内容对第一报文的载荷部分进行去重恢复处理的实现过程,包括:第一节点根据差异指示修改目标报文的协议部分,并将修改后的目标报文的协议部分作为第三报文的协议部分。

69、可选地,第一节点中存储有一个或多个本地流分组集合,每个本地流分组集合包括流经第一节点的多条流的流标识。第一节点在确定一个或多个本地流分组集合中存在包括第一报文所属流的流标识的目标流分组集合之后,解析第一报文的载荷部分。如果第一报文的载荷部分携带有去重标记,第一节点确定第一报文为去重报文。如果第一报文的载荷部分未携带有去重标记,第一节点确定第一报文为未去重报文。

70、可选地,第一节点将接收到的属于不同流的多个报文中,载荷部分存在重复内容的报文所属流的流标识添加至同一本地流分组集合中,该不同流的发送方均为sfu服务器。

71、可选地,第一节点向第二节点发送第一分组信息,第一分组信息包括第一节点的节点标识与一个或多个本地流分组集合的对应关系。

72、可选地,第一节点中存储有第三节点对应的一个或多个下级流分组集合,每个下级流分组集合包括流经第三节点的多条流的流标识。在第一节点接收第二节点发送的第一报文之后,如果第三节点对应的下级流分组集合中存在包括第一报文所属流的流标识的目标流分组集合,第一节点判断向第三节点发送的目标历史报文中是否存在载荷部分与第一报文的载荷部分具有重复内容的报文,目标历史报文所属流的流标识属于目标流分组集合。如果第三节点对应的所有下级流分组集合均不包括第一报文所属流的流标识,第一节点向第三节点发送第一报文。

73、可选地,第一节点接收第三节点发送的第二分组信息,第二分组信息包括第三节点的节点标识与一个或多个下级流分组集合的对应关系。

74、可选地,第一节点接收到目的端口号为sfu服务端口号的第四报文之后,向第四节点发送第一节点发现报文,第四节点为第四报文在第一节点上的下一跳,第四报文的目的地为sfu服务器,第一节点发现报文携带有该sfu服务器的标识,且第一节点发现报文指示第一节点为第四节点在以该sfu服务器为起点的传输路径上的下级节点。响应于接收到第四节点发送的第一节点发现报文对应的第一节点发现响应报文,第一节点确定第四节点支持数据去重。

75、可选地,第一节点接收第七节点发送的第四节点发现报文,第四节点发现报文携带有sfu服务器的标识,且第四节点发现报文指示第七节点为第一节点在以该sfu服务器为起点的传输路径上的下级节点。第一节点根据第四节点发现报文确定第七节点支持数据去重,并向第七节点发送第四节点发现报文对应的第四节点发现响应报文,第四节点发现响应报文指示第一节点支持数据去重。

76、本技术中,在由目的地为sfu服务器的报文触发节点发现流程的方案中,如果某个节点接收到上级节点发送的节点发现响应报文,且接收到下级节点发送的节点发现报文,那么该节点可以确定自身为以该sfu服务器为起点的传输路径上的中间节点。

77、可选地,第一节点接收到源端口号为sfu服务端口号的第五报文之后,向第六节点发送第三节点发现报文,第六节点为第五报文在第一节点上的下一跳,第五报文的发送方为sfu服务器,第三节点发现报文携带有该sfu服务器的标识,且第三节点发现报文指示第一节点为第六节点在以该sfu服务器为起点的传输路径上的上级节点。响应于接收到第六节点发送的第三节点发现报文对应的第三节点发现响应报文,第一节点确定第六节点支持数据去重。

78、可选地,第一节点接收第五节点发送的第二节点发现报文,第二节点发现报文携带有sfu服务器的标识,且第二节点发现报文指示第五节点为第一节点在以该sfu服务器为起点的传输路径上的上级节点。第一节点根据第二节点发现报文确定第五节点支持数据去重,并向第五节点发送第二节点发现报文对应的第二节点发现响应报文,第二节点发现响应报文指示第一节点支持数据去重。

79、本技术中,在由发送方为sfu服务器的报文触发节点发现流程的方案中,如果某个节点接收到上级节点发送的节点发现报文,且接收到下级节点发送的节点发现响应报文,那么该节点可以确定自身为以该sfu服务器为起点的传输路径上的中间节点。

80、第四方面,提供了一种节点。所述节点包括多个功能模块,所述多个功能模块相互作用,实现上述第一方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。

81、具体地,该节点为第一节点,第一节点包括:获取模块,用于获取发送方为sfu服务器的第一报文,所述第一节点为所述第一报文的传输路径上支持数据去重的首个节点。处理模块,用于如果所述第一节点向第二节点发送的历史报文中存在目标报文,所述目标报文的载荷部分与所述第一报文的载荷部分具有重复内容,对所述第一报文的载荷部分进行去重处理,得到第二报文,所述第二报文不包括所述重复内容,且所述第二报文携带有去重标记以及对所述重复内容的指示信息,所述去重标记用于指示所述第二报文为去重报文,所述第二节点为所述第一报文在所述第一节点上的下一跳。发送模块,用于向所述第二节点发送所述第二报文。

82、可选地,所述重复内容包括一个或多个重复数据块,所述指示信息包括一个或多个指示,所述一个或多个指示与所述一个或多个重复数据块一一对应,每个所述指示用于指示对应的重复数据块的哈希值。

83、可选地,所述第一节点中存储有数据集合,所述数据集合包括所述第一节点向所述第二节点发送的历史报文的载荷部分,所述处理模块,用于:对所述第一报文的载荷部分与所述数据集合中的载荷部分进行内容匹配;如果所述数据集合中存在与所述第一报文的载荷部分具有重复数据块的目标载荷部分,确定所述历史报文中存在所述目标报文;针对所述第一报文的载荷部分与所述目标载荷部分之间的每个重复数据块,所述第一节点计算所述重复数据块的哈希值;去除所述第一报文的载荷部分的所述重复数据块,并在所述第一报文的载荷部分添加所述重复数据块对应的指示,所述指示用于指示所述重复数据块的哈希值以及所述重复数据块在所述第一报文的载荷部分中的位置。

84、可选地,所述处理模块,用于:如果所述数据集合中不存在与所述第一报文的载荷部分具有重复数据块的载荷部分,确定所述历史报文中不存在所述目标报文;在所述数据集合中添加所述第一报文的载荷部分。

85、可选地,所述载荷部分包括协议部分和数据部分,所述一个或多个重复数据块位于所述第一报文的数据部分。

86、可选地,所述第一节点中存储有采样标签集合,所述采样标签集合包括历史数据块的哈希值,所述历史数据块为对所述第一节点向所述第二节点发送的历史报文的数据部分的预设位置采样得到的数据块;所述处理模块,用于:对所述第一报文的数据部分的所述预设位置进行采样,得到采样数据块;计算所述采样数据块的哈希值;如果所述采样标签集合中包括所述采样数据块的哈希值,确定所述历史报文中存在所述目标报文;将哈希值属于所述采样标签集合的所述采样数据块作为重复数据块,去除所述第一报文的数据部分的所述重复数据块,并在所述第一报文的载荷部分添加所述重复数据块对应的指示,所述指示用于指示所述重复数据块的哈希值。

87、可选地,所述预设位置有多个,所述第一节点对所述第一报文的数据部分的所述预设位置采样得到的采样数据块有多个,所述指示还用于指示所述重复数据块在所述第一报文的数据部分中的位置。

88、可选地,所述处理模块,用于:如果所述采样标签集合中不包括所述采样数据块的哈希值,确定所述历史报文中不存在所述目标报文;在所述采样标签集合中添加所述采样数据块的哈希值。

89、可选地,所述采样标签集合还包括哈希值所指示的历史数据块,如果所述采样标签集合中包括所述采样数据块的哈希值,所述处理模块,用于:如果所述采样标签集合中包括所述采样数据块的哈希值,对所述采样数据块与所述采样数据块的哈希值所指示的历史数据块进行内容匹配;当所述采样数据块与所述采样数据块的哈希值所指示的历史数据块的内容相同时,确定所述历史报文中存在所述目标报文。

90、可选地,所述第一节点中还存储有所述第一节点向所述第二节点发送的历史报文的协议部分;所述重复内容还包括位于所述第一报文的协议部分的协议信息,所述指示信息还包括差异指示,所述差异指示用于指示所述第一报文的协议部分与所述目标报文的协议部分的差异。

91、可选地,所述第一节点中存储有所述第二节点对应的一个或多个流分组集合,每个所述流分组集合包括流经所述第二节点的多条流的流标识;所述处理模块,还用于在所述第一节点获取第一报文之后,如果所述第二节点对应的流分组集合中存在包括所述第一报文所属流的流标识的目标流分组集合,判断向所述第二节点发送的目标历史报文中是否存在所述目标报文,所述目标历史报文所属流的流标识属于所述目标流分组集合;所述发送模块,还用于如果所述第二节点对应的所有流分组集合均不包括所述第一报文所属流的流标识,向所述第二节点发送所述第一报文。

92、可选地,所述第一节点还包括接收模块;所述接收模块,用于接收所述第二节点发送的分组信息,所述分组信息包括所述第二节点的节点标识与所述一个或多个流分组集合的对应关系。

93、可选地,所述第一节点不为所述sfu服务器;所述发送模块,还用于接收到目的端口号为sfu服务端口号的第三报文之后,向第三节点发送第一节点发现报文,所述第三节点为所述第三报文在所述第一节点上的下一跳,所述第三报文的目的地为所述sfu服务器,所述第一节点发现报文携带有所述sfu服务器的标识,且所述第一节点发现报文指示所述第一节点为所述第三节点在以所述sfu服务器为起点的传输路径上的下级节点;所述处理模块,还用于响应于未接收到所述第三节点发送的所述第一节点发现报文对应的第一节点发现响应报文,确定所述第一节点为以所述sfu服务器为起点的传输路径上支持数据去重的首个节点。

94、可选地,所述处理模块,还用于:根据所述第三报文生成所述第一节点发现报文,所述第一节点发现报文的报文头与所述第三报文的报文头相同,所述第一节点发现报文的载荷部分携带有对所述第一节点发现报文的报文类型的指示。

95、可选地,所述第一节点还包括接收模块;所述接收模块,用于接收第四节点发送的第二节点发现报文,所述第二节点发现报文携带有所述sfu服务器的标识,且所述第二节点发现报文指示所述第四节点为所述第一节点在以所述sfu服务器为起点的传输路径上的下级节点;所述处理模块,还用于根据所述第二节点发现报文确定所述第四节点支持数据去重;所述发送模块,还用于向所述第四节点发送所述第二节点发现报文对应的第二节点发现响应报文,所述第二节点发现响应报文指示所述第一节点支持数据去重。

96、可选地,所述发送模块,还用于接收到源端口号为sfu服务端口号的第四报文之后,向第五节点发送第三节点发现报文,所述第五节点为所述第四报文在所述第一节点上的下一跳,所述第四报文的发送方为所述sfu服务器,所述第三节点发现报文携带有所述sfu服务器的标识,且所述第三节点发现报文指示所述第一节点为所述第五节点在以所述sfu服务器为起点的传输路径上的上级节点;所述处理模块,还用于响应于接收到所述第五节点发送的所述第三节点发现报文对应的第三节点发现响应报文,确定所述第五节点支持数据去重。

97、可选地,所述发送模块,还用于如果所述第一节点向所述第二节点发送的历史报文中不存在所述目标报文,向所述第二节点发送所述第一报文。

98、第五方面,提供了一种节点。所述节点包括多个功能模块,所述多个功能模块相互作用,实现上述第二方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。

99、具体地,该节点为第一节点,第一节点包括:接收模块,用于接收第二节点发送的第一报文,所述第一报文的发送方为sfu服务器,所述第一报文携带有去重标记以及对重复内容的指示信息,所述去重标记用于指示所述第一报文为去重报文,所述第一节点为所述第一报文的传输路径上支持数据去重的最后一个节点;处理模块,用于基于所述去重标记确定所述第一报文为去重报文;根据所述指示信息从数据集合中获取所述重复内容,所述数据集合包括所述第一节点接收到的来自所述第二节点的历史报文的载荷部分的至少部分内容;根据所述重复内容对所述第一报文的载荷部分进行去重恢复处理,得到第二报文,所述第二报文的载荷部分包括所述重复内容;发送模块,用于向第三节点发送所述第二报文,所述第三节点为所述第一报文在所述第一节点上的下一跳。

100、可选地,所述重复内容包括一个或多个重复数据块,所述指示信息包括一个或多个指示,所述一个或多个指示与所述一个或多个重复数据块一一对应,每个所述指示用于指示对应的重复数据块的哈希值。

101、可选地,每个所述指示还用于指示对应的重复数据块在所述第一报文对应的原始报文的载荷部分中的位置,所述数据集合包括所述第一节点接收到的来自所述第二节点的历史报文的载荷部分;所述处理模块,用于:对于所述指示信息中的每个指示,根据所述指示所指示的位置,获取所述数据集合中的载荷部分的所述位置的待匹配数据块;计算所述待匹配数据块的哈希值;将哈希值与所述指示所指示的哈希值一致的待匹配数据块,确定为所述指示对应的重复数据块。

102、可选地,所述载荷部分包括协议部分和数据部分,所述一个或多个重复数据块位于数据部分。

103、可选地,所述数据集合包括历史数据块的哈希值与所述历史数据块的对应关系,所述历史数据块为对所述第一节点接收到的来自所述第二节点的历史报文的数据部分的预设位置采样得到的数据块;所述处理模块,用于将所述数据集合中与所述指示信息中的指示所指示的哈希值对应的历史数据块,确定为所述指示对应的重复数据块。

104、可选地,所述指示还用于指示对应的重复数据块在所述第一报文对应的原始报文的数据部分中的位置;所述处理模块,用于对于所述指示信息中的每个指示,在所述第一报文的数据部分中所述指示所指示的位置,添加所述指示对应的重复数据块。

105、可选地,所述重复内容还包括位于协议部分的协议信息,所述指示信息还包括差异指示,所述差异指示用于指示所述第一报文对应的原始报文的协议部分与目标报文的协议部分的差异,所述目标报文为所述第一节点接收到的来自所述第二节点的历史报文中数据部分与所述原始报文的数据部分具有所述一个或多个重复数据块的历史报文;所述数据集合还包括所述历史数据块所属报文的协议部分;所述处理模块,还用于:从所述数据集合中获取所述一个或多个重复数据块所属的所述目标报文的协议部分;根据所述差异指示修改所述目标报文的协议部分,并将修改后的所述目标报文的协议部分作为所述第二报文的协议部分。

106、可选地,所述去重标记位于所述第一报文的载荷部分,所述第一节点中存储有一个或多个流分组集合,每个所述流分组集合包括流经所述第一节点的多条流的流标识;所述处理模块,还用于在所述第一节点基于所述去重标记确定所述第一报文为去重报文之前,确定所述一个或多个流分组集合中存在包括所述第一报文所属流的流标识的目标流分组集合;解析所述第一报文的载荷部分,得到所述去重标记。

107、可选地,所述处理模块,用于:根据所述指示信息,从所述数据集合中的目标历史报文的载荷内容中获取所述重复内容,所述目标历史报文所属流的流标识属于所述目标流分组集合。

108、可选地,所述接收模块,还用于接收第三报文,所述第三报文所属流的流标识不属于任一所述流分组集合;所述发送模块,还用于转发所述第三报文。

109、可选地,所述接收模块,还用于接收第四报文,所述第四报文所属流的流标识属于所述流分组集合;所述处理模块,还用于解析所述第四报文的载荷部分,确定所述第四报文的载荷部分未携带有所述去重标记;在所述数据集合中添加所述第四报文的载荷部分的至少部分内容,并转发所述第四报文。

110、可选地,所述处理模块,还用于:将接收到的属于不同流的多个报文中,载荷部分存在重复内容的报文所属流的流标识添加至同一流分组集合中,所述不同流的发送方均为所述sfu服务器。

111、可选地,所述发送模块,还用于向所述第二节点发送分组信息,所述分组信息包括所述第一节点的节点标识与所述一个或多个流分组集合的对应关系。

112、可选地,所述发送模块,还用于接收到目的端口号为sfu服务端口号的第五报文之后,向第四节点发送第一节点发现报文,所述第四节点为所述第五报文在所述第一节点上的下一跳,所述第五报文的目的地为所述sfu服务器,所述第一节点发现报文携带有所述sfu服务器的标识,且所述第一节点发现报文指示所述第一节点为所述第四节点在以所述sfu服务器为起点的传输路径上的下级节点;所述处理模块,还用于响应于接收到所述第四节点发送的所述第一节点发现报文对应的第一节点发现响应报文,确定所述第四节点支持数据去重。

113、可选地,所述处理模块,还用于:根据所述第五报文生成所述第一节点发现报文,所述第一节点发现报文的报文头与所述第五报文的报文头相同,所述第一节点发现报文的载荷部分携带有对所述第一节点发现报文的报文类型的指示。

114、可选地,所述接收模块,还用于接收第五节点发送的第二节点发现报文,所述第二节点发现报文携带有所述sfu服务器的标识,且所述第二节点发现报文指示所述第五节点为所述第一节点在以所述sfu服务器为起点的传输路径上的上级节点;所述处理模块,还用于根据所述第二节点发现报文确定所述第五节点支持数据去重;所述发送模块,还用于向所述第五节点发送所述第二节点发现报文对应的第二节点发现响应报文,所述第二节点发现响应报文指示所述第一节点支持数据去重。

115、可选地,所述发送模块,还用于接收到源端口号为sfu服务端口号的第六报文之后,向第六节点发送第三节点发现报文,所述第六节点为所述第六报文在所述第一节点上的下一跳,所述第六报文的发送方为所述sfu服务器,所述第三节点发现报文携带有所述sfu服务器的标识,且所述第三节点发现报文指示所述第一节点为所述第六节点在以所述sfu服务器为起点的传输路径上的上级节点;所述处理模块,还用于响应于未接收到所述第六节点发送的所述第三节点发现报文对应的第三节点发现响应报文,确定所述第一节点为以所述sfu服务器为起点的传输路径上支持数据去重的最后一个节点。

116、第六方面,提供了一种节点。所述节点包括多个功能模块,所述多个功能模块相互作用,实现上述第三方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。

117、具体地,该节点为第一节点,第一节点包括:接收模块,用于接收第二节点发送的第一报文,所述第一报文的发送方为sfu服务器,所述第一节点为所述第一报文的传输路径上支持数据去重的中间节点;处理模块,用于如果所述第一报文为未去重报文,且所述第一节点向第三节点发送的历史报文中存在第一原始报文,所述第一原始报文的载荷部分与所述第一报文的载荷部分具有第一重复内容,对所述第一报文的载荷部分进行去重处理,得到第二报文,所述第二报文不包括所述第一重复内容,且所述第二报文携带有去重标记以及对所述第一重复内容的第一指示信息,所述去重标记用于指示所述第二报文为去重报文,所述第三节点为所述第一报文在所述第一节点上的下一跳;发送模块,用于向所述第三节点发送所述第二报文。

118、可选地,所述发送模块,还用于如果所述第一报文为未去重报文,且所述第一节点向所述第三节点发送的历史报文中不存在所述第一原始报文,向所述第三节点发送所述第一报文。

119、可选地,所述第一重复内容包括一个或多个重复数据块,所述第一指示信息包括一个或多个指示,所述一个或多个指示与所述一个或多个重复数据块一一对应,每个所述指示用于指示对应的重复数据块的哈希值。

120、可选地,所述第一节点中存储有第一数据集合,所述第一数据集合包括所述第一节点向所述第三节点发送的历史报文的载荷部分,所述处理模块,还用于:对所述第一报文的载荷部分与所述第一数据集合中的载荷部分进行内容匹配;如果所述第一数据集合中存在与所述第一报文的载荷部分具有重复数据块的目标载荷部分,确定所述历史报文中存在所述第一原始报文;如果所述第一数据集合中不存在与所述第一报文的载荷部分具有重复数据块的载荷部分,确定所述历史报文中不存在所述第一原始报文,并且,所述第一节点在所述第一数据集合中添加所述第一报文的载荷部分。

121、可选地,所述第一数据集合包括所述目标载荷部分,所述处理模块,用于:针对所述第一报文的载荷部分与所述目标载荷部分之间的每个重复数据块,计算所述重复数据块的哈希值;去除所述第一报文的载荷部分的所述重复数据块,并在所述第一报文的载荷部分添加所述重复数据块对应的指示,所述指示用于指示所述重复数据块的哈希值以及所述重复数据块在所述第一报文的载荷部分中的位置。

122、可选地,所述载荷部分包括协议部分和数据部分,所述一个或多个重复数据块位于所述第一报文的数据部分;所述第一节点中存储有采样标签集合,所述采样标签集合包括历史数据块的哈希值,所述历史数据块为对所述第一节点向所述第三节点发送的历史报文的数据部分的预设位置采样得到的数据块;所述处理模块,还用于:对所述第一报文的数据部分的所述预设位置进行采样,得到采样数据块;计算所述采样数据块的哈希值;如果所述采样标签集合中包括所述采样数据块的哈希值,确定所述历史报文中存在所述第一原始报文;如果所述采样标签集合中不包括所述采样数据块的哈希值,确定所述历史报文中不存在所述第一原始报文,并且,所述第一节点在所述采样标签集合中添加所述采样数据块的哈希值。

123、可选地,所述采样标签集合中包括所述采样数据块的哈希值,所述处理模块,用于:将哈希值属于所述采样标签集合的所述采样数据块作为重复数据块,去除所述第一报文的数据部分的所述重复数据块,并在所述第一报文的载荷部分添加所述重复数据块对应的指示,所述指示用于指示所述重复数据块的哈希值。

124、可选地,所述第一节点中还存储有所述第一节点向所述第三节点发送的历史报文的协议部分;所述第一重复内容还包括位于所述第一报文的协议部分的协议信息,所述第一指示信息还包括差异指示,所述差异指示用于指示所述第一报文的协议部分与所述第一原始报文的协议部分的差异。

125、可选地,所述发送模块,还用于如果所述第一报文为去重报文,所述第一报文携带有对第二重复内容的第二指示信息,且所述第一节点向所述第三节点发送的历史报文中存在第二原始报文,所述第二原始报文的载荷部分包括所述第二重复内容,向所述第三节点发送所述第一报文。

126、可选地,所述处理模块,还用于如果所述第一报文为去重报文,所述第一报文携带有对第二重复内容的第二指示信息,且所述第一节点向所述第三节点发送的历史报文中不存在第二原始报文,所述第二原始报文的载荷部分包括所述第二重复内容,根据所述第二指示信息从第二数据集合中获取所述第二重复内容,所述第二数据集合包括所述第一节点接收到的来自所述第二节点的历史报文的载荷部分的至少部分内容;根据所述第二重复内容对所述第一报文的载荷部分进行去重恢复处理,得到第三报文,所述第三报文的载荷部分包括所述第二重复内容;所述发送模块,还用于向所述第三节点发送所述第三报文。

127、可选地,所述第二重复内容包括一个或多个重复数据块,所述第二指示信息包括一个或多个指示,所述一个或多个指示与所述一个或多个重复数据块一一对应,每个所述指示用于指示对应的重复数据块的哈希值。

128、可选地,每个所述指示还用于指示对应的重复数据块在所述第一报文对应的原始报文的载荷部分中的位置,所述第二数据集合包括所述第一节点接收到的来自所述第二节点的历史报文的载荷部分;所述处理模块,用于:对于所述第二指示信息中的每个指示,根据所述指示所指示的位置,获取所述第二数据集合中的载荷部分的所述位置的待匹配数据块;计算所述待匹配数据块的哈希值;将哈希值与所述指示所指示的哈希值一致的待匹配数据块,确定为所述指示对应的重复数据块。

129、可选地,所述载荷部分包括协议部分和数据部分,所述一个或多个重复数据块位于数据部分;所述第二数据集合包括历史数据块的哈希值与所述历史数据块的对应关系,所述历史数据块为对所述第一节点接收到的来自所述第二节点的历史报文的数据部分的预设位置采样得到的数据块;所述处理模块,用于将所述第二数据集合中与所述第二指示信息中的指示所指示的哈希值对应的历史数据块,确定为所述指示对应的重复数据块。

130、可选地,所述指示还用于指示对应的重复数据块在所述第一报文对应的原始报文的数据部分中的位置;所述处理模块,用于对于所述第二指示信息中的每个指示,在所述第一报文的数据部分中所述指示所指示的位置,添加所述指示对应的重复数据块。

131、可选地,所述第二重复内容还包括位于协议部分的协议信息,所述第二指示信息还包括差异指示,所述差异指示用于指示所述第一报文对应的原始报文的协议部分与目标报文的协议部分的差异,所述目标报文为所述第一节点接收到的来自所述第二节点的历史报文中数据部分与所述原始报文的数据部分具有所述一个或多个重复数据块的历史报文;所述第二数据集合还包括所述历史数据块所属报文的协议部分;所述处理模块,还用于:从所述第二数据集合中获取所述一个或多个重复数据块所属的所述目标报文的协议部分;根据所述差异指示修改所述目标报文的协议部分,并将修改后的所述目标报文的协议部分作为所述第三报文的协议部分。

132、可选地,所述第一节点中存储有一个或多个本地流分组集合,每个所述本地流分组集合包括流经所述第一节点的多条流的流标识;所述处理模块,还用于:在确定所述一个或多个本地流分组集合中存在包括所述第一报文所属流的流标识的目标流分组集合之后,解析所述第一报文的载荷部分;如果所述第一报文的载荷部分携带有去重标记,确定所述第一报文为去重报文;如果所述第一报文的载荷部分未携带有去重标记,确定所述第一报文为未去重报文。

133、可选地,所述处理模块,还用于:将接收到的属于不同流的多个报文中,载荷部分存在重复内容的报文所属流的流标识添加至同一本地流分组集合中,所述不同流的发送方均为所述sfu服务器。

134、可选地,所述发送模块,还用于向所述第二节点发送第一分组信息,所述第一分组信息包括所述第一节点的节点标识与所述一个或多个本地流分组集合的对应关系。

135、可选地,所述第一节点中存储有所述第三节点对应的一个或多个下级流分组集合,每个所述下级流分组集合包括流经所述第三节点的多条流的流标识,所述处理模块,还用于在所述第一节点接收第二节点发送的第一报文之后,如果所述第三节点对应的下级流分组集合中存在包括所述第一报文所属流的流标识的目标流分组集合,判断向所述第三节点发送的目标历史报文中是否存在载荷部分与所述第一报文的载荷部分具有重复内容的报文,所述目标历史报文所属流的流标识属于所述目标流分组集合;所述发送模块,还用于如果所述第三节点对应的所有下级流分组集合均不包括所述第一报文所属流的流标识,向所述第三节点发送所述第一报文。

136、可选地,所述接收模块,还用于接收所述第三节点发送的第二分组信息,所述第二分组信息包括所述第三节点的节点标识与所述一个或多个下级流分组集合的对应关系。

137、可选地,所述发送模块,还用于接收到目的端口号为sfu服务端口号的第四报文之后,向第四节点发送第一节点发现报文,所述第四节点为所述第四报文在所述第一节点上的下一跳,所述第四报文的目的地为所述sfu服务器,所述第一节点发现报文携带有所述sfu服务器的标识,且所述第一节点发现报文指示所述第一节点为所述第四节点在以所述sfu服务器为起点的传输路径上的下级节点;所述处理模块,还用于响应于接收到所述第四节点发送的所述第一节点发现报文对应的第一节点发现响应报文,确定所述第四节点支持数据去重。

138、可选地,所述接收模块,还用于接收第五节点发送的第二节点发现报文,所述第二节点发现报文携带有所述sfu服务器的标识,且所述第二节点发现报文指示所述第五节点为所述第一节点在以所述sfu服务器为起点的传输路径上的上级节点;所述处理模块,还用于根据所述第二节点发现报文确定所述第五节点支持数据去重;所述发送模块,还用于向所述第五节点发送所述第二节点发现报文对应的第二节点发现响应报文,所述第二节点发现响应报文指示所述第一节点支持数据去重。

139、可选地,所述发送模块,还用于接收到源端口号为sfu服务端口号的第五报文之后,向第六节点发送第三节点发现报文,所述第六节点为所述第五报文在所述第一节点上的下一跳,所述第五报文的发送方为所述sfu服务器,所述第三节点发现报文携带有所述sfu服务器的标识,且所述第三节点发现报文指示所述第一节点为所述第六节点在以所述sfu服务器为起点的传输路径上的上级节点;所述处理模块,还用于响应于接收到所述第六节点发送的所述第三节点发现报文对应的第三节点发现响应报文,确定所述第六节点支持数据去重。

140、可选地,所述接收模块,还用于接收第七节点发送的第四节点发现报文,所述第四节点发现报文携带有所述sfu服务器的标识,且所述第四节点发现报文指示所述第七节点为所述第一节点在以所述sfu服务器为起点的传输路径上的下级节点;所述处理模块,还用于根据所述第四节点发现报文确定所述第七节点支持数据去重;所述发送模块,还用于向所述第七节点发送所述第四节点发现报文对应的第四节点发现响应报文,所述第四节点发现响应报文指示所述第一节点支持数据去重。

141、第七方面,提供了一种数据传输系统,包括:sfu服务器和通信网络中的多个节点,所述多个节点包括第一节点和第二节点,所述第一节点位于所述sfu服务器与所述第二节点之间。所述sfu服务器用于向所述第一节点发送报文,所述第一节点用于执行上述第一方面及其各实施方式中的方法,所述第二节点用于执行上述第二方面及其各实施方式中的方法。

142、可选地,所述多个节点还包括第三节点,所述第三节点位于所述第一节点与所述第二节点之间,所述第三节点用于执行上述第三方面及其各实施方式中的方法。

143、第八方面,提供了另一种数据传输系统,包括:sfu服务器和通信网络中的第一节点。所述sfu服务器用于执行上述第一方面及其各实施方式中的方法,所述第一节点用于执行上述第二方面及其各实施方式中的方法。

144、可选地,所述通信网络还包括第二节点,所述第二节点位于所述sfu服务器与所述第一节点之间,所述第二节点用于执行上述第三方面及其各实施方式中的方法。

145、第九方面,提供了一种通信节点,包括:处理器和存储器。所述存储器,用于存储计算机程序,所述计算机程序包括程序指令。所述处理器,用于调用所述计算机程序,实现上述第一方面及其各实施方式中的方法,或者实现上述第二方面及其各实施方式中的方法,又或者实现上述第三方面及其各实施方式中的方法。

146、第十方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现上述第一方面及其各实施方式中的方法,或者实现上述第二方面及其各实施方式中的方法,又或者实现上述第三方面及其各实施方式中的方法。

147、第十一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现上述第一方面及其各实施方式中的方法,或者实现上述第二方面及其各实施方式中的方法,又或者实现上述第三方面及其各实施方式中的方法。

148、第十二方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现上述第一方面及其各实施方式中的方法,或者实现上述第二方面及其各实施方式中的方法,又或者实现上述第三方面及其各实施方式中的方法。

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