System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 报文处理方法和服务器技术_技高网

报文处理方法和服务器技术

技术编号:40350367 阅读:8 留言:0更新日期:2024-02-09 14:34
本申请公开了报文处理方法和服务器,涉及通信技术领域,能够避免采用多核中央处理器处理及转发报文时,造成多核转发性能急剧下降。应用于服务器,服务器运行有虚拟化装置,服务器包括智能网卡和至少一个中央处理器,智能网卡包括至少一个硬件队列,至少一个硬件队列与至少一个中央处理器一一对应,至少一个中央处理器与虚拟化装置绑定,该方法包括:首先智能网卡接收报文。然后智能网卡根据报文特征将报文分发至第一队列。之后第一中央处理器从第一队列获取报文,对报文进行处理。其中,至少一个硬件队列包括第一队列,至少一个中央处理器包括第一中央处理器。

【技术实现步骤摘要】

本申请实施例涉及通信,尤其涉及报文处理方法和服务器


技术介绍

1、报文是网络中交换与传输的数据单元,目前常采用多核中央处理器处理及转发报文,然而多核中央处理器处理及转发报文容易产生报文乱序的现象。因此,在采用多核中央处理器处理及转发报文时需要进行保序处理以避免发生报文乱序的现象。

2、相关技术中,可以通过建立保序队列进行保序处理,然而保序队列是一种先进先出(first input first output,fifo)队列,交换结构在每一个时隙中将输入队列队头的报文发送到其对应的中央处理器中,队列后部的报文就只能等待前面传输完后再排到队列前面,然后才可以传输。如果某一缓存头部的报文由于拥塞而不能交换到目的中央处理器,那么后面的报文就会被它阻塞,该缓存中余下的报文也会被队头的报文所阻塞而无法到达这些报文本身的目的中央处理器,从而打断这些目的中央处理器的流水线,造成多核中央处理器转发性能急剧下降。


技术实现思路

1、本申请实施例提供了报文处理方法和服务器,能够避免采用多核中央处理器处理及转发报文时,造成多核转发性能急剧下降。为达到上述目的,本申请实施例采用如下技术方案:

2、第一方面,本申请实施例提供了一种报文处理方法,应用于服务器,所述服务器运行有虚拟化装置,所述服务器包括智能网卡和至少一个中央处理器,所述智能网卡包括至少一个硬件队列,所述至少一个硬件队列与所述至少一个中央处理器一一对应,所述至少一个中央处理器与虚拟化装置绑定,该方法包括:首先所述智能网卡接收报文。然后所述智能网卡根据所述报文特征将所述报文分发至第一队列。之后第一中央处理器从所述第一队列获取所述报文,对所述报文进行处理。其中,所述至少一个硬件队列包括所述第一队列,所述至少一个中央处理器包括所述第一中央处理器。

3、相关技术中,可以通过建立保序队列进行保序处理,然而保序队列是一种fifo队列,交换结构在每一个时隙中将输入队列队头的报文发送到其对应的中央处理器中,队列后部的报文就只能等待前面传输完后再排到队列前面,然后才可以传输。如果某一缓存头部的报文由于拥塞而不能交换到目的中央处理器,那么后面的报文就会被它阻塞,该缓存中余下的报文也会被队头的报文所阻塞而无法到达这些报文本身的目的中央处理器,从而打断这些目的中央处理器的流水线,造成多核中央处理器转发性能急剧下降。

4、而本申请实施例提供的报文处理方法中,一方面服务器的智能网卡在收到报文后会根据报文特征将报文分发至相应的硬件队列中,由于服务器的中央处理和智能网卡的硬件队列一一对应,因此服务器的每个中央处理器只能接收自身对应的硬件队列中的报文,服务器的多核中央处理器相互之间由此可以实现无锁化并行收包处理,送往不同中央处理器的报文也不会因队头的报文所阻塞而无法到达这些报文对应的中央处理器,由此避免采用多核中央处理器在处理及转发报文时,发生多核转发性能急剧下降情况。且多队列分流架构能够实现较好的可扩展性,转发性能与多核数量保持较好的线性度。

5、另一方面,相较于现有运行有虚拟化装置的服务器通过中央处理器进行报文分发,本申请实施例中运行有虚拟化装置的服务器,将中央处理器的报文分发业务卸载至智能网卡,由此减少服务器的多核中央处理器的损耗,释放了多核中央处理器的性能。

6、可选地,所述虚拟化装置可以包括至少一个软件队列,所述至少一个软件队列与所述至少一个中央处理器一一对应。

7、在一种可能的实现方式中,所述方法还可以包括:所述智能网卡将所述报文转发至第二队列。第二中央处理器从所述第二队列获取报文。所述第二中央处理器根据所述报文特征将所述报文分发至第三队列。所述第一中央处理器从所述第三队列获取所述报文,对所述报文进行处理。其中,所述至少一个硬件队列包括所述第二队列,所述至少一个中央处理器包括所述第二中央处理器,所述至少一个软件队列包括所述第三队列。

8、可以看出,本申请实施例提供的报文处理方法中,智能网卡也可以不对报文进行分发,而是将报文转发至自身的某个硬件队列中,然后由该硬件队列对应的中央处理器从该硬件队列读取报文并根据报文特征对报文进行分发。这样使智能网卡与多核中央处理转发协同处理,以优化提升服务器整体的业务转发性能,且后续的转发系统优化可以从智能网卡和多核中央处理器系统两个维度提升。

9、示例性地,所述智能网卡可以在报文为目标报文的情况下将所述报文转发至第二队列,在报文为非目标报文的情况下将所述报文转发至第一队列。其中,目标报文包括多协议标签交换(multi-protocol label switching,mpls)报文。

10、需要说明的是,智能网卡可能不具备分发目标报文(如mpls报文)的能力,因此智能网卡在收到目标报文后可以将目标报文送入第二队列交由中央处理器对目标报文进行分发。智能网卡在收到非目标报文后,分发非目标报文的业务由智能网卡完成,无需中央处理器分发,以充分发挥智能网卡硬件能力。

11、在一种可能的实现方式中,可以在智能网卡的利用率高于第一阈值的情况下,将所述报文转发至第二队列。

12、可以理解的是,智能网卡的利用率高于第一阈值说明智能网卡当前负载较高,这时智能网卡在收到报文后可以将报文送入第二队列交由中央处理器对报文进行分发,从而降低智能网卡的负载,避免智能网卡因负载率较高而宕机。

13、可选地,所述报文特征包括源ip地址、目的ip地址、协议号、源端口、目的端口、服务类型或界面索引中的至少一项。

14、需要说明的是,根据报文特征将报文分发至不同的队列可以使多核中央处理器能够实现基于流的保序。

15、第二方面,本申请实施例提供了一种报文处理方法,应用于服务器,所述服务器运行有虚拟化装置,所述服务器包括至少一个中央处理器,虚拟化装置包括至少一个软件队列,所述至少一个软件队列与所述至少一个中央处理器一一对应,所述至少一个中央处理器与虚拟化装置绑定。第一中央处理器接收报文。所述第一中央处理器根据所述报文特征将所述报文分发至第一队列。第二中央处理器从所述第一队列获取所述报文,对所述报文进行处理。其中,所述至少一个中央处理器包括所述第一中央处理器,所述至少一个软件队列包括所述第一队列,所述至少一个中央处理器包括所述第二中央处理器。

16、相关技术中,可以通过建立保序队列进行保序处理,然而保序队列是一种fifo队列,交换结构在每一个时隙中将输入队列队头的报文发送到其对应的中央处理器中,队列后部的报文就只能等待前面传输完后再排到队列前面,然后才可以传输。如果某一缓存头部的报文由于拥塞而不能交换到目的中央处理器,那么后面的报文就会被它阻塞,该缓存中余下的报文也会被队头的报文所阻塞而无法到达这些报文本身的目的中央处理器,从而打断这些目的中央处理器的流水线,造成多核中央处理器转发性能急剧下降。

17、而本申请实施例提供的报文处理方法中,虚拟装置中央处理器在收到报文后会根据报文特征将报文分发至相应的软件队列中,本文档来自技高网...

【技术保护点】

1.一种报文处理方法,所述方法应用于服务器,所述服务器运行有虚拟化装置,所述服务器包括智能网卡和至少一个中央处理器,所述智能网卡包括至少一个硬件队列,所述至少一个硬件队列与所述至少一个中央处理器一一对应,所述至少一个中央处理器与虚拟化装置绑定,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述虚拟化装置包括至少一个软件队列,所述至少一个软件队列与所述至少一个中央处理器一一对应,所述方法还包括:

3.一种报文处理方法,所述方法应用于服务器,所述服务器运行有虚拟化装置,所述服务器包括至少一个中央处理器,虚拟化装置包括至少一个软件队列,所述至少一个软件队列与所述至少一个中央处理器一一对应,所述至少一个中央处理器与虚拟化装置绑定:

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述报文特征包括源网际互连协议IP地址、目的IP地址、协议号、源端口、目的端口、服务类型或界面索引中的至少一项。

5.一种服务器,其特征在于,所述服务器运行有虚拟化装置,所述服务器包括智能网卡和至少一个中央处理器,所述智能网卡包括至少一个硬件队列,所述至少一个硬件队列与所述至少一个中央处理器一一对应,所述至少一个中央处理器与虚拟化装置绑定;

6.根据权利要求5所述的服务器,其特征在于,所述虚拟化装置包括至少一个软件队列,所述至少一个软件队列与所述至少一个中央处理器一一对应,所述智能网卡还用于:

7.一种服务器,其特征在于,所述服务器运行有虚拟化装置,所述服务器包括至少一个中央处理器,虚拟化装置包括至少一个软件队列,所述至少一个软件队列与所述至少一个中央处理器一一对应,所述至少一个中央处理器与虚拟化装置绑定:

8.根据权利要求5至7中任一项所述的服务器,其特征在于,所述报文特征包括源网际互连协议IP地址、目的IP地址、协议号、源端口、目的端口、服务类型或界面索引中的至少一项。

9.一种服务器,包括至少一个处理器和存储器,其特征在于,所述至少一个处理器执行存储在存储器中的程序或指令,以使得所述服务器实现上述权利要求1至4中任一项所述的方法。

10.一种计算机可读存储介质,用于存储计算机程序,其特征在于,当所述计算机程序在计算机或处理器运行时,使得所述计算机或所述处理器实现上述权利要求1至4中任一项所述的方法。

11.一种计算机程序产品,所述计算机程序产品中包含指令,其特征在于,当所述指令在计算机或处理器上运行时,使得所述计算机或所述处理器实现上述权利要求1至4中任一项所述的方法。

...

【技术特征摘要】

1.一种报文处理方法,所述方法应用于服务器,所述服务器运行有虚拟化装置,所述服务器包括智能网卡和至少一个中央处理器,所述智能网卡包括至少一个硬件队列,所述至少一个硬件队列与所述至少一个中央处理器一一对应,所述至少一个中央处理器与虚拟化装置绑定,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述虚拟化装置包括至少一个软件队列,所述至少一个软件队列与所述至少一个中央处理器一一对应,所述方法还包括:

3.一种报文处理方法,所述方法应用于服务器,所述服务器运行有虚拟化装置,所述服务器包括至少一个中央处理器,虚拟化装置包括至少一个软件队列,所述至少一个软件队列与所述至少一个中央处理器一一对应,所述至少一个中央处理器与虚拟化装置绑定:

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述报文特征包括源网际互连协议ip地址、目的ip地址、协议号、源端口、目的端口、服务类型或界面索引中的至少一项。

5.一种服务器,其特征在于,所述服务器运行有虚拟化装置,所述服务器包括智能网卡和至少一个中央处理器,所述智能网卡包括至少一个硬件队列,所述至少一个硬件队列与所述至少一个中央处理器一一对应,所述至少一个中央处理器与虚拟化装置绑定;

6.根...

【专利技术属性】
技术研发人员:邵元浩
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1