技术新讯 > 电子通信装置的制造及其应用技术 > 转发网内计算报文的方法、转发节点及计算机存储介质与流程  >  正文

转发网内计算报文的方法、转发节点及计算机存储介质与流程

  • 国知局
  • 2024-08-02 14:13:41

本技术实施例涉及通信,特别涉及一种转发网内计算报文的方法、转发节点及计算机存储介质。

背景技术:

1、在分布式计算的场景中,多个计算节点之间相互通信以交互数据,进而实现通过多个计算节点执行同一计算任务的目的。进一步地,为了提高计算任务的执行效率,可以将计算任务中的部分任务下发至位于计算节点之间的转发节点上执行。也即转发节点在转发不同计算节点之间的数据时还进一步对数据进行了计算,该技术即为网内计算技术。在网内计算技术中,两个计算节点之间交互的某个报文可以称为一个网内计算报文,大量计算节点针对同一计算任务交互的网内计算报文可以统称为一个网内计算消息。

2、相关技术,不同计算节点之间通常是通过多层转发节点来交互数据的,这种场景下,底层转发节点在接收到计算节点发送的网内计算报文进行聚合计算后,转发聚合后的报文时采用的路径是预先静态配置的,这样可以保证不同底层转发节点将属于同一网内计算消息的聚合后的报文转发到同一个上层转发节点,以通过该上层转发节点对属于同一网内计算消息的不同网内计算报文继续进行聚合计算,也即满足网内计算技术的路径一致性特征。

3、上述方式中,当分布式计算场景中的计算节点的数量以及转发节点的数量较多时,静态配置路径需要耗费大量的精力。并且如果网络发生变化,则需要重新静态配置路径,同样需要耗费大量的精力。因此这种转发报文的方式灵活性较差。

技术实现思路

1、本技术实施例提供了一种转发网内计算报文的方法、转发节点及计算机存储介质,可以提高报文转发的灵活性。所述技术方案如下:

2、第一方面,提供了一种转发网内计算报文的方法,在该方法中,转发节点接收多个网内计算报文;转发节点确定多个网内计算报文中每个网内计算报文的网内计算标识,网内计算标识指示相应网内计算报文所属的网内计算消息;转发节点基于多个网内计算报文中每个网内计算报文的网内计算标识,将多个网内计算报文中属于同一网内计算消息的网内计算报文进行聚合计算,得到至少一个聚合报文,至少一个聚合报文与至少一个网内计算标识一一对应;转发节点基于至少一个聚合报文中每个聚合报文对应的网内计算标识通过哈希选路算法转发每个聚合报文。

3、在本技术实施例中,转发节点在将网内计算报文聚合后无需通过预先静态配置的路径转发,而是由转发节点通过网内计算报文的网内计算标识进行哈希选路,这样可以保证属于同一网内计算消息的网内计算报文路由至相同的下一跳,也即在通过动态选路的同时满足网内计算流量的路径一致性要求,提高了转发网内计算报文的灵活性。

4、并且,由于无需静态配置路径,因此转发节点的路由策略对计算节点而言是透明的,增强了网内计算流的传输安全性。另外,由于无需静态配置路径,因此无需额外配置一个集中管理节点来静态配置路径,网络设计简单化。后续即使网络发生变化,网络维护的代价也比较低。

5、基于第一方面提供的方法,在一种可能的实现方式中,转发节点存储有聚合信息映射关系,聚合信息映射关系包括至少一个网内计算标识以及与至少一个网内计算标识分别对应的数据流标识。

6、这种场景下,转发节点确定多个网内计算报文中每个网内计算报文的网内计算标识的实现过程可以为:对于多个网内计算报文中第一网内计算报文,确定第一网内计算报文对应的数据流标识,得到第一数据流标识,第一网内计算报文为多个网内计算报文中任一者;如果聚合信息映射关系中存在第一数据流标识,则从聚合信息映射关系中获取与第一数据流标识对应的网内计算标识,得到第一网内计算标识,将第一网内计算标识作为第一网内计算报文的网内计算标识。相应地,如果聚合信息映射关系中不存在第一数据流标识,转发节点则从第一网内计算报文的报文头中获取第一数据流标识和第一网内计算标识;将第一网内计算标识与第一数据流标识之间的对应关系添加至聚合信息映射关系中。

7、为了避免网内计算流占用过多带宽,在一条网内计算流的首包中携带网内计算标识,在非首包中则不用携带网内计算标识。这种场景下,转发节点在接收到每条网内计算流的首包时,可以从该首包中获取该网内计算流的数据流标识和该网内计算流所属的网内计算标识,然后在聚合信息映射关系中记录获取的数据流标识和网内计算标识之间的映射关系。以便于后续在接收到非首包时,从聚合信息映射关系中确定非首包的网内计算标识。

8、基于第一方面提供的方法,在一种可能的实现方式中,转发节点基于多个网内计算报文中每个网内计算报文的网内计算标识,将多个网内计算报文中属于同一网内计算消息的网内计算报文进行聚合计算的实现过程可以为:将第一网内计算报文与聚合信息映射关系中的第一数据流标识绑定;对聚合信息映射关系中与第一网内计算标识对应的多个数据流标识分别绑定的网内计算报文进行聚合计算,得到与第一网内计算标识对应的聚合报文。

9、由于聚合信息关系中存储有每个网内计算标识对应的数据流标识,因此可以根据聚合信息映射关系中与同一网内计算标识对应的各个数据流标识分别绑定的网内计算报文进行聚合计算,提高了转发节点的处理效率。

10、基于第一方面提供的方法,在一种可能的实现方式中,对聚合信息映射关系中与第一网内计算标识对应的多个数据流标识分别绑定的网内计算报文进行聚合计算的实现过程可以为:对于第一网内计算标识对应的多个数据流标识分别绑定的网内计算报文,确定绑定的每个网内计算报文的包序列号;基于第一网内计算标识对应的多个数据流标识中每个数据流标识对应的首包序列号,以及绑定的每个网内计算报文的包序列号,确定绑定的每个网内计算报文的偏移量;基于绑定的每个网内计算报文的偏移量,对偏移量相同的网内计算报文进行聚合计算。

11、通过上述方式,可以实现对于属于同一网内计算消息的不同网内计算流,将不同网内计算流中偏移量相同的网内计算报文进行聚合计算。

12、基于第一方面提供的方法,在一种可能的实现方式中,数据流标识包括首包序列号、通信操作标识和数据流长度。

13、通过上述方式,可以在网内计算报文中扩展上述字段来作为数据流标识,提高了本技术实施例的应用灵活性。

14、基于第一方面提供的方法,在一种可能的实现方式中,网内计算标识包括通信组标识和网内计算消息标识,通信组标识指示当前进行网内计算的通信组,网内计算消息标识指示在通信组内传输的一条网内计算消息。

15、考虑到不同通信组内传输的网内计算消息的网内计算消息标识可能相同,因此在本技术实施例中,可以将网内计算消息标识和通信组标识组合作为网内计算标识,用于唯一标识一条网内计算消息。

16、基于第一方面提供的方法,在一种可能的实现方式中,多个网内计算报文为基于融合以太网的远程直接内存访问roce报文,转发节点存储有至少一个远程直接内存访问rdma连接标识,rdma连接标识指示第一计算节点到第二计算节点之间的一条rdma连接,第一计算节点为转发节点的接入的计算节点。

17、这种场景下,在转发节点确定多个网内计算报文中每个网内计算报文的网内计算标识之前,对于多个网内计算报文中第二网内计算报文,转发节点获取第二网内计算报文携带的rdma连接标识,第二网内计算报文为多个网内计算报文中任一个;如果存储的至少一个rdma连接标识中存在第二网内计算报文携带的rdma连接标识,则执行确定第二网内计算报文的对应的网内计算标识的操作。

18、本技术实施例中,网内计算流可以通过基于融合以太网的远程直接内存访问(rdma over converged ethernet,roce)传输,而不是通过不可靠的udp传输,提高了网内流的传输可靠性。这种场景下,可以基于网内计算报文中携带的信息来判断网内计算报文是否是上行网内计算报文,在判断出是上行网内计算报文的前提下,再执行本技术实施例提供的方法,提高了转发节点的处理效率。

19、基于第一方面提供的方法,在一种可能的实现方式中,rdma连接标识包括源网际协议ip地址、源端口标识以及目的队列号qpn。

20、通过上述字段可以唯一标识一条rdma连接,提高了本技术实施例的灵活性。

21、基于第一方面提供的方法,在一种可能的实现方式中,在该方法中,转发节点接收来自上行通信链路的通告消息;转发节点获取通告消息携带的目标rdma连接标识,通告消息用于通告目标rdma连接标识指示的rdma连接用于传输网内计算报文;转发节点存储目标rdma连接标识。

22、通过上述方式,在网络初始化时,当转发节点的上行计算节点与其他计算节点之间创建rdma连接时,该转发节点便可基于创建的rdma连接自动存储至少一个rdma连接标识。

23、基于第一方面提供的方法,在一种可能的实现方式中,转发节点获取通告消息携带的目标rdma连接标识的实现过程可以为:转发节点获取通告消息携带的类型信息;如果类型信息指示通告消息是针对网内计算报文的通告消息,则执行获取通告消息携带的目标rdma连接标识的操作。

24、通告消息为控制层报文,为了区分本技术实施例中的控制层报文与其他控制报文,可以在通告消息中携带类型信息,该类型信息指示通告消息是否是针对网内计算报文的通告消息,以提高转发节点的处理效率。

25、基于第一方面提供的方法,在一种可能的实现方式中,转发节点基于至少一个聚合报文中每个聚合报文对应的网内计算标识通过哈希选路算法转发每个聚合报文的实现过程可以为:对于至少一个聚合报文中的第一聚合报文,确定第一哈希因子,第一哈希因子包括第一聚合报文对应的网内计算标识,第一聚合报文为至少一个聚合报文中的任一者;基于第一哈希因子通过哈希选路算法确定第一选路标识,第一选路标识指示一条转发路径;基于第一选路标识转发第一聚合报文。

26、当将聚合报文对应的网内计算标识作为哈希因子进行选路时,对于不同的两个底层转发节点聚合后的两个不同的聚合报文,不管聚合报文对应的网内计算报文来自哪里,只要不同的聚合报文对应的网内标识相同,基于本技术实施例提供的方法,这两个底层转发节点均会将聚合报文转发至相同的下一跳,从而保证网内计算流的路径一致性。

27、基于第一方面提供的方法,在一种可能的实现方式中,第一哈希因子还包括第一聚合报文对应的网内计算报文携带的协议版本号以及目的端口号。

28、其中,协议版本号以及目的端口号可以用来指示当前网内计算报文采用的通信协议。当哈希因子同时包括网内计算标识、协议版本号以及目的端口号时,可以实现将基于采用同一通信协议且属于同一网内计算消息的报文转发至同一个转发节点。

29、基于第一方面提供的方法,在一种可能的实现方式中,转发节点基于至少一个聚合报文中每个聚合报文对应的网内计算标识通过哈希选路算法转发每个聚合报文的实现过程可以为:对于至少一个聚合报文中的第二聚合报文,基于第二聚合报文对应的网内计算标识和转发表,通过哈希选路算法转发第二聚合报文,第二聚合报文为至少一个聚合报文中的任一者;其中,转发表包括多个目标转发表项,多个目标转发表项中的下一跳相同,且多个目标转发表项的总数量指示相应下一跳的网内计算能力,多个目标转发表项零散分布在转发表中。

30、由于转发表是根据下一跳的网内计算能力设置包括相同下一跳的转发表项的数量,这样对于下一跳为高配置转发节点的转发表项,包括该下一跳的转发表项的数量也就比较多,因此可以提高选中这些转发表项的概率,相应增加转发至该高配置转发节点的流量,从而充分发挥该高配置转发节点的网内计算能力。

31、并且,如果包括相同下一跳的目标转发表项集中放在转发表的同一个位置,假设目标转发表项的数量较多,这样将导致转发节点选中其他转发表项的概率非常低,容易造成目标转发表项对应的下一跳发生网络拥堵,而其他转发表项对应的下一跳发生零负载的情况。因此,在本技术实施例中,将包括相同下一跳的多个目标表项零散分布在转发表中,从而保证其他转发表项包括的下一跳上的负载量。

32、第二方面,提供了一种转发节点,所述转发节点具有实现上述第一方面中转发网内计算报文的方法行为的功能。所述转发节点包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的转发网内计算报文的方法。

33、第三方面,提供了一种转发节点,所述转发节点的结构中包括处理器和存储器,所述存储器用于存储支持转发节点执行上述第一方面所提供的转发网内计算报文的方法的程序,以及存储用于实现上述第一方面所提供的转发网内计算报文的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。

34、第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的转发网内计算报文的方法。

35、第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的转发网内计算报文的方法。

36、上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。

本文地址:https://www.jishuxx.com/zhuanli/20240801/242102.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。