本申请属于报文处理领域,尤其涉及一种传输报文的方法、装置、电子设备及存储介质。
背景技术:
1、在当前算力网络的全新理念的背景下,算为中心,网为根基,算网底座至关重要。算网底座不仅需要具备转发能力,还需具备高性能的路由交互能力。在算网中,vpp(vectorpacket processing,矢量包处理)可作为linux内核的转发面来实现报文的转发,其中,vpp只有转发面功能,不具有路由协议等控制面功能,而控制面路由协议由开源的路由协议栈frr(fast reroute,快速重路由)来确定,通常采用vppsb(vpp sandbox,vpp沙箱)组件来实现vpp与frr之间的对接,从而实现转发面和控制面通道的数据报文的收发和处理工作。
2、在报文转发过程中,vpp的主线程同时调度命令行处理流程、调度路由下发等控制消息的流程,vpp的多个工作线程用于处理网口的收发包流程。然而,主线程只有一个,其不仅需要处理数据报文的转发,还需处理各种控制消息的事件,因此,当主线程同时处理的控制消息的事件较多时,导致主线程繁忙,甚至拥塞,则必然会影响主线程的数据报文收发速率,降低转发面与控制面通道之间的报文传输速率。
技术实现思路
1、本申请实施例提供一种传输报文的方法、装置、电子设备及存储介质,能够提高转发面与控制面通道之间的报文传输速率。
2、第一方面,本申请实施例提供一种传输报文的方法,应用于矢量包处理引擎vpp中,该方法包括:在vpp接收到数据报文时,通过第一工作线程将数据报文发送至系统内核中,以使系统内核处理数据报文,和/或将数据报文转发至控制面设备,由控制面设备处理数据报文,得到目标数据报文;在确定监听目标数据报文的监听方式为第一监听方式的情况下,通过第二工作线程调用第一事件触发节点,以使第一事件触发节点对系统内核进行监控;在第一事件触发节点监控到系统内核中的目标数据报文的情况下,调用在第一事件触发节点中完成注册的报文接收节点,以使报文接收节点从系统内核中提取目标数据报文;通过第二工作线程调用至少一个数据转发节点,并通过至少一个数据转发节点将目标数据报文转发至与目标网口对应的设备中,其中,目标网口是由主线程所调用的路由下发节点所下发的路由规则所确定的,路由下发节点为在主线程对应的第二事件触发节点中注册的节点,第二事件触发节点用于监听路由下发请求。
3、第二方面,本申请实施例提供了一种传输报文的装置,应用于矢量包处理引擎vpp中,该装置包括:第一报文处理模块,用于在vpp接收到数据报文时,通过第一工作线程将数据报文发送至系统内核中,以使系统内核处理数据报文,和/或将数据报文转发至控制面设备,由控制面设备处理数据报文,得到目标数据报文;第一节点调用模块,用于在确定监听目标数据报文的监听方式为第一监听方式的情况下,通过第二工作线程调用第一事件触发节点,以使第一事件触发节点对系统内核进行监控;第二节点调用模块,用于在第一事件触发节点监控到系统内核中的目标数据报文的情况下,调用在第一事件触发节点中完成注册的报文接收节点,以使报文接收节点从系统内核中提取目标数据报文;报文转发模块,用于通过第二工作线程调用至少一个数据转发节点,并通过至少一个数据转发节点将目标数据报文转发至与目标网口对应的设备中,其中,目标网口是由主线程所调用的路由下发节点所下发的路由规则所确定的,路由下发节点为在主线程对应的第二事件触发节点中注册的节点,第二事件触发节点用于监听路由下发请求。
4、第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面所述的传输报文的方法。
5、第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面所述的传输报文的方法。
6、第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如第一方面所述的传输报文的方法。
7、由上述内容可知,本申请将与报文转发相关的业务从主线程的业务中分离出来,由工作线程来完成,从而主线程可仅处理与控制面相关的业务,例如,路由规则的下发,因此,即使主线程再繁忙,也不会影响工作线程的报文传输,从而提高了报文传输速率。另外,由于主线程的报文转发业务由工作线程来完成,因此,主线程可以专心处理控制面相关的业务,从而能够缓解主线程的拥塞。
1.一种传输报文的方法,其特征在于,应用于矢量包处理引擎vpp中,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,确定监听所述目标数据报文的监听方式,包括:
4.根据权利要求3所述的方法,其特征在于,所述配置文件中还包括多个工作线程对应的线程索引与多个事件触发节点之间的关联关系,其中,所述vpp所对应的配置文件通过如下方式配置得到:
5.根据权利要求4所述的方法,其特征在于,在调用在所述第一事件触发节点中完成注册的报文接收节点之前,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,在每个事件触发节点中注册与所述每个事件触发节点对应的报文事件,包括:
7.根据权利要求4所述的方法,其特征在于,通过第二工作线程调用第一事件触发节点,包括:
8.一种传输报文的装置,其特征在于,应用于矢量包处理引擎vpp中,所述装置包括:
9.一种电子设备,其特征在于,电子设备包括:处理器以及存储有计算机程序指令的存储器;
10.一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的传输报文的方法。
