一种报文转发方法及装置转让专利

申请号 : CN202010072416.X

文献号 : CN113225253B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王震王小忠宋健杨文斌赵喜全郑德高

申请人 : 华为技术有限公司

摘要 :

本申请实施例公开了一种报文转发方法,可以改善大象流的传输时延。在该方法中,对于作为大象流的第一报文流而言,网络设备可以接收第一报文流的多个报文,并根据该多个报文确定第一报文流的特征参数,第一报文流的特征参数用于指示第一报文流的传输时延。确定第一报文流的特征参数之后,网络设备根据第一报文流的特征参数确定第一报文流的转发策略,第一报文流的转发策略用于指示第一报文流的时延敏感程度。由于确定的第一报文流的转发策略能够指示第一报文流的时延敏感程度,因此,根据第一报文流的转发策略转发第一报文流,可以使得第一报文流的实际传输时延与第一报文流的时延敏感程度相匹配,从而改善了作为大象流的第一报文流的传输时延。

权利要求 :

1.一种报文转发方法,其特征在于,所述方法包括:

网络设备接收第一报文流的多个报文,所述第一报文流为大象流;

所述网络设备根据所述多个报文确定所述第一报文流的特征参数,所述特征参数用于指示所述第一报文流的传输时延;

所述网络设备根据所述第一报文流的特征参数确定所述第一报文流的转发策略,所述转发策略用于指示所述第一报文流的时延敏感程度;

所述转发策略包括:

报文流优先级和/或转发路径,其中,报文流优先级和报文流的时延敏感程度成正比,转发路径的传输质量与报文流的时延敏感程度成正比。

2.根据权利要求1所述的方法,其特征在于,所述特征参数包括:报文时间间隔,和/或,速率波动系数,所述报文时间间隔为所述网络设备接收所述多个报文中的两个相邻报文的时刻的差值,所述速率波动系数用于指示所述第一报文流的速率的变化。

3.根据权利要求2所述的方法,其特征在于,当所述第一报文流的特征参数包括所述第一报文流的报文时间间隔时,所述网络设备根据所述多个报文确定所述第一报文流的特征参数,包括:所述网络设备在第一时间段内按照第一周期确定所获取的属于所述第一报文流的报文数量,若连续K次获取的报文数量均未发生改变,则确定报文时间间隔为第一周期的K倍,所述多个报文为在所述第一时间段内获取的报文。

4.根据权利要求2所述的方法,其特征在于,当所述第一报文流的特征参数包括所述第一报文流的速率波动系数时,所述网络设备根据所述多个报文确定所述第一报文流的特征参数,包括:所述网络设备在第一时间段内按照第二周期根据所获取的属于所述第一报文流的报文确定所述第一报文流的速率,所述多个报文为在所述第一时间段内获取的报文,所述第一时间段包括多个所述第二周期;

所述网络设备根据在所述第一时间段内确定的多个速率计算所述第一报文流的速率波动系数。

5.根据权利要求2所述的方法,其特征在于,

当所述特征参数包括报文时间间隔、不包括速率波动系数时,所述网络设备根据所述第一报文流的特征参数确定所述第一报文流的转发策略,包括:当所述第一报文流的报文时间间隔小于第一阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高;

当所述特征参数包括速率波动系数、不包括报文时间间隔时,所述网络设备根据所述第一报文流的特征参数确定所述第一报文流的转发策略,包括:当所述第一报文流的速率波动系数小于第二阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高;

当所述特征参数包括报文时间间隔和所述速率波动系数时,所述网络设备根据所述第一报文流的特征参数确定所述第一报文流的转发策略,包括:当所述第一报文流的报文时间间隔小于第一阈值、且所述第一报文流的速率波动系数小于第二阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高。

6.根据权利要求1‑5任意一项所述的方法,其特征在于,所述方法还包括:所述网络设备接收第二报文流,所述第二报文流为大象流;

所述网络设备根据所述第一报文流的转发策略转发所述第一报文流,并根据第二报文流的转发策略转发所述第二报文流,所述第一报文流的转发策略指示的报文流优先级,高于所述第二报文流的转发策略指示的报文流优先级。

7.根据权利要求1‑5任意一项所述的方法,其特征在于,所述方法还包括:所述网络设备接收第二报文流,所述第二报文流为大象流,所述第二报文流的目的设备与所述第一报文流的目的设备相同;

所述网络设备根据所述第一报文流的转发策略转发所述第一报文流,并根据第二报文流的转发策略转发所述第二报文流,所述第一报文流的转发策略指示的转发路径的开销,低于所述第二报文流的转发策略指示的转发路径的开销。

8.一种报文转发装置,其特征在于,所述装置包括:

第一接收单元,用于接收第一报文流的多个报文,所述第一报文流为大象流;

第一确定单元,用于根据所述多个报文确定所述第一报文流的特征参数,所述特征参数用于指示所述第一报文流的传输时延;

第二确定单元,用于根据所述第一报文流的特征参数确定所述第一报文流的转发策略,所述转发策略用于指示所述第一报文流的时延敏感程度;

所述转发策略包括:

报文流优先级和/或转发路径,其中,报文流优先级和报文流的时延敏感程度成正比,转发路径的传输质量与报文流的时延敏感程度成正比。

9.根据权利要求8所述的装置,其特征在于,所述特征参数包括:报文时间间隔,和/或,速率波动系数,所述报文时间间隔为接收所述多个报文中的两个相邻报文的时刻的差值,所述速率波动系数用于指示所述第一报文流的速率的变化。

10.根据权利要求9所述的装置,其特征在于,当所述第一报文流的特征参数包括所述第一报文流的报文时间间隔时,所述第一确定单元,具体用于:在第一时间段内按照第一周期确定所获取的属于所述第一报文流的报文数量,若连续K次获取的报文数量均未发生改变,则确定报文时间间隔为第一周期的K倍,所述多个报文为在所述第一时间段内获取的报文。

11.根据权利要求9所述的装置,其特征在于,当所述第一报文流的特征参数包括所述第一报文流的速率波动系数时,所述第一确定单元,具体用于:在第一时间段内按照第二周期根据所获取的属于所述第一报文流的报文确定所述第一报文流的速率,所述多个报文为在所述第一时间段内获取的报文,所述第一时间段包括多个所述第二周期;

根据在所述第一时间段内确定的多个速率计算所述第一报文流的速率波动系数。

12.根据权利要求9所述的装置,其特征在于,

当所述特征参数包括报文时间间隔、不包括速率波动系数时,所述第二确定单元,具体用于:当所述第一报文流的报文时间间隔小于第一阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高;

当所述特征参数包括速率波动系数、不包括报文时间间隔时,所述第二确定单元,具体用于:当所述第一报文流的速率波动系数小于第二阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高;

当所述特征参数包括报文时间间隔和所述速率波动系数时,所述第二确定单元,具体用于:当所述第一报文流的报文时间间隔小于第一阈值、且所述第一报文流的速率波动系数小于第二阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高。

13.根据权利要求8‑12任意一项所述的装置,其特征在于,所述装置还包括:第二接收单元,用于接收第二报文流,所述第二报文流为大象流;

转发单元,用于根据所述第一报文流的转发策略转发所述第一报文流,并根据第二报文流的转发策略转发所述第二报文流,所述第一报文流的转发策略指示的报文流优先级,高于所述第二报文流的转发策略指示的报文流优先级。

14.根据权利要求8‑12任意一项所述的装置,其特征在于,所述装置还包括:第二接收单元,用于接收第二报文流,所述第二报文流为大象流,所述第二报文流的目的设备与所述第一报文流的目的设备相同;

转发单元,用于根据所述第一报文流的转发策略转发所述第一报文流,并根据第二报文流的转发策略转发所述第二报文流,所述第一报文流的转发策略指示的转发路径的开销,低于所述第二报文流的转发策略指示的转发路径的开销。

15.一种报文转发设备,其特征在于,包括:处理器和存储器;

所述存储器,用于存储指令或计算机程序;

所述处理器,用于执行所述指令或计算机程序,执行权利要求1‑7任意一项所述的方法。

16.一种计算机可读存储介质,其特征在于,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上权利要求1‑7任意一项所述的方法。

说明书 :

一种报文转发方法及装置

技术领域

[0001] 本申请涉及通信领域,尤其涉及一种报文转发方法及装置。

背景技术

[0002] 网络设备可以对报文进行转发,具体地,网络设备可以转发多种业务报文。网络设备在对报文进行转发时,可以采用相应的转发策略,从而保证业务的服务质量(quality of service,QoS)。关于网络设备采用转发策略转发报文,现举例说明:对于待转发的报文,网络设备可以确定报文的优先级,并根据报文的优先级对报文进行转发。其中,业务的服务质量可以通过业务报文的传输时延来体现。
[0003] 传统技术中网络设备所采用的转发策略,并不能满足部分业务报文对传输时延的要求。

发明内容

[0004] 本申请实施例提供了一种报文转发方法,可以改善报文的传输时延。
[0005] 第一方面,本申请实施例提供了一种报文转发方法,该报文转发方法可以改善大象流的传输时延。该方法中,对于作为大象流的第一报文流而言,网络设备可以接收第一报文流的多个报文,并根据该多个报文确定第一报文流的特征参数,其中,第一报文流的特征参数用于指示第一报文流的传输时延。确定第一报文流的特征参数之后,网络设备根据第一报文流的特征参数确定第一报文流的转发策略,其中,第一报文流的转发策略用于指示第一报文流的时延敏感程度。可以理解的是,由于确定的第一报文流的转发策略能够指示第一报文流的时延敏感程度,因此,根据第一报文流的转发策略转发第一报文流,可以使得第一报文流的实际传输时延与第一报文流的时延敏感程度相匹配,从而改善了作为大象流的第一报文流的传输时延。
[0006] 在一种可能的实现方式中,第一报文流的特征参数可以是第一报文流的统计特征,该第一报文流的特征参数可以用于指示第一报文流的传输时延,根据第一报文流的特征参数可以确定第一报文流的时延敏感程度。在一些实施例中,对于一些时延敏感程度不高的大象流而言,该大象流的报文时间间隔例如最大报文时间间隔或者报文时间间隔的波动系数较大。而对于一些时延敏感程度高的大象流而言,该大象流的报文时间间隔例如最大报文时间间隔比较小。因此,根据报文时间间隔可以确定出大象流的时延敏感程度,因此,在一个实施例中,前述特征参数可以包括报文时间间隔。在一些实施例中,考虑到时延敏感程度高的大象流的速率一般会比较平稳,而时延敏感程度低的大象流的速率波动比较大。因此,根据大象流的速率波动系数,可以确定大象流的时延敏感程度。因此,前述特征参数还可以包括速率波动系数。
[0007] 在一种可能的实现方式中,转发策略用于指示报文流的具体转发方式。网络设备对报文流进行转发时,往往需要确定报文流优先级,从而确定报文流进入哪一个报文出口队列。另外,在对报文流进行转发的过程中,还可以确定报文流的转发路径。因此,转发策略可以包括报文优先级和转发路径中的任意一项或者两项。
[0008] 在一种可能的实现方式中,当第一报文流的特征参数包括第一报文流的报文时间间隔时,网络设备每接收到一个报文,则可以记录接收该报文的时刻,并计算当前时刻与接收上一个报文的时刻之间的差值,从而得到报文时间间隔。但是,由于网络设备接收的报文数量比较多,若网络设备每接收到一个报文,则对应记录接收该报文的时刻并计算报文时间间隔,则耗费的计算资源比较多。为了解决这个问题,在一个实施例中,网络设备可以分配一个计数器用于记录接收的属于第一报文流的报文的数量,并在第一时间段内按照第一周期确定该计数器的值,若连续K个周期该计数器的值均未发生改变,则表示在K个周期内网络设备均未接收到新的报文,故而可以确定报文时间间隔为第一周期的K倍。其中,第一时间段也可以理解成前述多个报文流的持续时间。
[0009] 在一种可能的实现方式中,当第一报文流的特征参数包括第一报文流的速率波动系数时,网络设备可以在第一时间段内按照第二周期根据所获取的属于第一报文流的报文,确定第一报文流的速率。第一时间段可以包括多个第二周期,因此,网络设备在第一时间段内可以确定出多个速率。网络设备确定出多个速率之后,即可根据该多个速率计算第一报文流的速率波动系数。
[0010] 在一种可能的实现方式中,网络设备根据第一报文流的特征参数确定第一报文流的转发策略,可以包括多种实现方式。第一种实现方式:第一报文流的特征参数包括第一报文流的报文时间间隔,不包括第一报文流的速率波动系数。对于这种情况,网络设备可以将第一报文流的时间间隔和第一阈值进行比较,当第一报文流的时间间隔小于第一阈值时,可以确定第一报文流的转发策略为第一转发策略,其中,第一转发策略指示的第一报文流的时延敏感程度为高。相应的,当网络设备确定第一报文流的报文时间间隔大于或者等于第一阈值时,网络设备可以确定第一报文流的转发策略为第二转发策略,其中,第二转发策略指示的第一报文流的时延敏感程度为低。第二种实现方式:第一报文流的特征参数包括第一报文流的速率波动系数,不包括第一报文流的报文时间间隔。对于这种情况,网络设备可以将第一报文流的速率波动系数和第二阈值进行比较,当第一报文流的速率波动系数小于第二阈值时,可以确定第一报文流的转发策略为第一转发策略,其中,第一转发策略指示的第一报文流的时延敏感程度为高。相应的,当网络设备确定第一报文流的速率波动系数大于或者等于第二阈值时,网络设备可以确定第一报文流的转发策略为第二转发策略,其中,第二转发策略指示的第一报文流的时延敏感程度为低。第三种实现方式:第一报文流的特征参数包括第一报文流的报文时间间隔和第一报文流的速率波动系数。对于这种情况,网络设备可以将第一报文流的时间间隔和第一阈值进行比较,并将第一报文流的速率波动系数和第二阈值进行比较。当第一报文流的报文时间间隔小于第一阈值,且第一报文流的速率波动系数小于第二阈值时,可以确定第一报文流的转发策略为第一转发策略,其中,第一转发策略指示的第一报文流的时延敏感程度为高。
[0011] 在一种可能的实现方式中,网络设备除了可以接收第一报文流之外,还可以接收第二报文流,第二报文流也为大象流。网络设备接收到属于第二报文流的多个报文之后,可以根据第二报文流的多个报文,计算第二报文流的特征参数,并根据第二报文流的特征参数确定第二报文流的转发策略。其中,第二报文流的特征参数用于指示第二报文流的传输时延,第二报文流的转发策略用于指示第二报文流的时延敏感程度。网络设备确定第一报文流的转发策略之后,可以根据第一报文流的转发策略转发第一报文流。相应的,网络设备确定第二报文流的转发策略之后,可以根据第二报文流的转发策略转发第二报文流。若第一报文流的时延敏感程度与第二报文流的时延敏感程度不同,则第一报文流的转发策略指示的报文流优先级和第二报文流的转发策略指示的报文流优先级不同,或者,第一报文流的转发策略指示的转发路径的开销和第二报文流的转发策略指示的转发路径的开销也不同。在一个实施例中,第一报文流的时延敏感程度高于第二报文流的时延敏感程度,则所述第一报文流的转发策略指示的报文流优先级,高于所述第二报文流的转发策略指示的报文流优先级。或者,第一报文流的转发策略指示的转发路径的开销,低于第二报文流的转发策略指示的转发路径的开销。从而使得网络设备转发第一报文流的时延低于网络设备转发第二报文流的时延,从而使得网络设备转发报文流的时延与报文流的时延敏感程度相匹配。
[0012] 第二方面,本申请实施例提供了一种报文转发装置,所述装置包括:第一接收单元,用于接收第一报文流的多个报文,所述第一报文流为大象流;第一确定单元,用于根据所述多个报文确定所述第一报文流的特征参数,所述特征参数用于指示所述第一报文流的传输时延;第二确定单元,用于根据所述第一报文流的特征参数确定所述第一报文流的转发策略,所述转发策略用于指示所述第一报文流的时延敏感程度。
[0013] 在一种可能的实现方式中,所述特征参数包括:报文时间间隔,和/或,速率波动系数,所述报文时间间隔为接收所述多个报文中的两个相邻报文的时刻的差值,所述速率波动系数用于指示所述第一报文流的速率的变化。
[0014] 在一种可能的实现方式中,所述转发策略包括:报文流优先级和/或转发路径,其中,报文流优先级和报文流的时延敏感程度成正比,转发路径的传输质量与报文流的时延敏感程度成正比。
[0015] 在一种可能的实现方式中,当所述第一报文流的特征参数包括所述第一报文流的报文时间间隔时,所述第一确定单元,具体用于:在第一时间段内按照第一周期确定所获取的属于所述第一报文流的报文数量,若连续K次获取的报文数量均未发生改变,则确定报文时间间隔为第一周期的K倍,所述多个报文为在所述第一时间段内获取的报文。
[0016] 在一种可能的实现方式中,当所述第一报文流的特征参数包括所述第一报文流的速率波动系数时,所述第一确定单元,具体用于:在第一时间段内按照第二周期根据所获取的属于所述第一报文流的报文确定所述第一报文流的速率,所述多个报文为在所述第一时间段内获取的报文;根据在所述第一时间段内确定的多个速率计算所述第一报文流的速率波动系数。
[0017] 在一种可能的实现方式中,当所述特征参数包括报文时间间隔、不包括速率波动系数时,所述第二确定单元,具体用于:当所述第一报文流的报文时间间隔小于第一阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高;当所述特征参数包括速率波动系数、不包括报文时间间隔时,所述第二确定单元,具体用于:当所述第一报文流的速率波动系数小于第二阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高;当所述特征参数包括报文时间间隔和所述速率波动系数时,所述第二确定单元,具体用于:
当所述第一报文流的报文时间间隔小于第一阈值、且所述第一报文流的速率波动系数小于第二阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高。
[0018] 在一种可能的实现方式中,所述装置还包括:第二接收单元,用于接收第二报文流,所述第二报文流为大象流;转发单元,用于根据所述第一报文流的转发策略转发所述第一报文流,并根据第二报文流的转发策略转发所述第二报文流,所述第一报文流的转发策略指示的报文流优先级,高于所述第二报文流的转发策略指示的报文流优先级。
[0019] 在一种可能的实现方式中,所述装置还包括:第二接收单元,用于接收第二报文流,所述第二报文流为大象流,所述第二报文流的目的设备与所述第一报文流的目的设备相同;
[0020] 转发单元,用于根据所述第一报文流的转发策略转发所述第一报文流,并根据第二报文流的转发策略转发所述第二报文流,所述第一报文流的转发策略指示的转发路径的开销,低于所述第二报文流的转发策略指示的转发路径的开销。
[0021] 第三方面,本申请实施例提供了一种报文转发设备,包括处理器和存储器;所述存储器,用于存储指令或计算机程序;所述处理器,用于执行所述指令或计算机程序,执行以上第一方面任意一项所述的方法。
[0022] 第四方面,本申请实施例提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上第一方面任意一项所述的方法。
[0023] 第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行以上第一方面任意一项所述的方法。

附图说明

[0024] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025] 图1为一个示例性应用场景示意图;
[0026] 图2为本申请实施例提供的一种报文转发方法的流程示意图;
[0027] 图3为本申请实施例提供的一种网络结构示意图;
[0028] 图4为本申请实施例提供的一种报文转发装置的结构示意图;
[0029] 图5为本申请实施例提供的一种报文转发设备的结构示意图。

具体实施方式

[0030] 本申请实施例提供了一种报文转发方法,用于改善时延敏感程度高的大象流的传输时延。
[0031] 为方便理解,首先对本申请实施例的可能的应用场景进行介绍。参见图1,该图为一个示例性应用场景示意图。在介绍图1所示的场景之前,首先对以下实施例涉及的“报文流”的概念进行介绍。
[0032] 报文在传输的过程中,可以携带与报文传输相关的信息,该信息可以为二元组、五元组或者七元组。其中,二元组包括源互联网协议(Internet Protocol,IP)地址和目的IP地址。五元组包括源IP地址、源端口号、目的IP地址、目的端口号和传输层协议号。七元组包括源媒体接入控制(media access control,MAC)地址、目的MAC地址、源IP地址、目的IP地址、协议号、源端口号和目的端口号。若在两个节点之间连续传输的多个报文,其携带的上述信息均相同,则该连续报文也可以被称为报文流。因此,可以通过报文携带的信息例如二元组、五元组、七元组或者可以用于区分报文流的其它信息来确定该报文所属的报文流。
[0033] 接下来对图1所示的场景进行介绍。
[0034] 在图1所示的场景中,设备101可以从设备102处获取报文,并将该报文转发至设备103。本申请实施例不具体限定设备101、设备102以及设备103的具体形态。作为一种示例,设备101例如可以为路由器或者交换机等网络设备。设备102可以为路由器、交换机等网络设备,也可以为服务器或者终端设备等设备。设备103可以为路由器或者交换机等网络设备,也可以为服务器或者终端设备等设备。设备101在转发报文时,可以根据转发策略对报文进行转发。此处提及的转发策略,例如可以用于指示报文流优先级和转发路径中的其中一项或者两项。
[0035] 需要说明的是,图1只是为了方便理解本申请实施例的应用场景而示出,其并不构成对本申请实施例的限定。
[0036] 设备101获取的报文可以对应多个业务,例如视频会议业务、虚拟现实(virtual reality,VR)业务或者视频点播业务等等。不同业务对应的报文流的时延敏感程度不同,例如,视频会议业务和VR业务对应的报文流的时延敏感程度较高,即视频会议业务和VR业务对应的报文流要求报文流完成时间比较短。而视频点播业务对应的报文流的时延敏感程度比较低,则视频点播业务对应的报文流允许流完成时间比较长。
[0037] 在传统技术中,若报文流为大象流,则设备101无法识别大象流的时延敏感程度,而且,由于网络中老鼠流的数量比较多,为了保证老鼠流的传输时延比较低,设备101往往会按照较低的报文优先级对大象流进行转发。因此,在传统技术中,对于大象流而言,该大象流对应的业务的服务质量难以得到保证。
[0038] 鉴于此,本申请实施例提供了一种报文转发方法,利用该方法,可以使得作为大象流的第一报文流的实际传输时延与第一报文流的时延敏感程度相匹配,从而改善了作为大象流的第一报文流的传输时延。以下结合附图对本申请实施例提供的报文处理方法进行介绍。
[0039] 参见图2,该图为本申请实施例提供的一种报文转发方法的流程示意图。图2所示的报文转发方法,例如可以通过如下S101‑S103实现。
[0040] S101:网络设备接收第一报文流的多个报文,第一报文流为大象流。
[0041] 在本申请实施例中,网络设备可以为对第一报文流进行转发的中间节点。网络设备可以从其它设备处接收该多个报文,网络设备接收到该多个报文之后,可以将该多个报文转发给其它设备。本申请实施例中提及的网络设备例如可以为图1所示的设备101。
[0042] S102:网络设备根据该多个报文确定第一报文流的特征参数,该特征参数用于指示第一报文流的传输时延。
[0043] 在本申请实施例中,第一报文流的特征参数可以是第一报文流的统计特征,该第一报文流的特征参数可以用于指示第一报文流的传输时延,根据第一报文流的特征参数可以确定第一报文流的时延敏感程度。换言之,第一报文流的特征参数,可以是能够确定第一报文流的时延敏感程度的一个或者多个参数。其中,第一报文流时延敏感程度,可以对应第一报文流对传输时延的要求。第一报文流的时延敏感程度越高,则第一报文流要求传输时延越低,第一报文流的时延敏感程度越低,则第一报文流可以允许传输时延越高。
[0044] 在一些实施例中,对于一些时延敏感程度不高的大象流而言,其会产生比较大的数据流量,为了减少处理这些数据流量所需的中央处理器(central processing unit,CPU)开销,处理该大象流的服务器往往会阶段性批量发送大量的报文,这就导致该大象流的报文时间间隔例如最大报文时间间隔或者报文时间间隔的波动系数较大。此处提及的报文时间间隔指的是网络设备接收相邻报文的时刻的差值。而对于一些时延敏感程度高的大象流而言,由于对实时性要求比较高,因此,处理该大象流的服务器往往会实时地、连续不断地发送报文,这就导致该大象流的报文时间间隔例如最大报文时间间隔比较小。因此,根据报文时间间隔可以确定出大象流的时延敏感程度,因此,在一个实施例中,前述特征参数可以包括报文时间间隔。此处提及的报文时间间隔包括但不限于最大报文时间间隔或者报文时间间隔的波动系数,此处提及的报文时间间隔的波动系数例如用于指示报文时间间隔的变化,报文时间间隔的波动系数例如可以为报文时间间隔的方差。
[0045] 在一种实现方式中,当第一报文流的特征参数包括第一报文流的报文时间间隔时,S102在具体实现时,例如可以为:网络设备每接收到一个报文,则可以记录接收该报文的时刻,并计算当前时刻与接收上一个报文的时刻之间的差值,从而得到报文时间间隔。但是,由于网络设备接收的报文数量比较多,若网络设备每接收到一个报文,则对应记录接收该报文的时刻并计算报文时间间隔,则耗费的计算资源比较多。为了解决这个问题,在一个实施例中,网络设备可以分配一个计数器用于记录接收的属于第一报文流的报文的数量,并在第一时间段内按照第一周期确定该计数器的值,若连续K个周期该计数器的值均未发生改变,则表示在K个周期内网络设备均未接收到新的报文,故而可以确定报文时间间隔为第一周期的K倍。其中,S101中提及的多个报文均为网络设备在第一时间段内接收的报文,第一时间段也可以理解成前述多个报文流的持续时间。本申请实施例不具体限定第一周期,考虑到在实际应用中,报文时间间隔精确到百毫秒级别即可达到对报文时间间隔的准确性要求,因此,第一周期例如可以为一百毫秒。具体地,在实际应用中,网络设备可以包括网络处理器(network processor,NP)和中央处理器(central processing unit,CPU),其中,NP为转发面的转发器,CPU为控制面的控制器。前述记录接收的属于第一报文流的报文的数量的操作可以由NP执行,而计算报文时间间隔的步骤可以由CPU执行。需要说明的是,前述K为整数,可以理解的是,当K为0时,表示在一个第一周期内网络设备接收到了新的属于第一报文流的报文,对于这种情况,由于报文时间间隔小于一百毫秒,可以将该报文时间间隔当成0处理。
[0046] 在一些实施例中,考虑到时延敏感程度高的大象流的速率一般会比较平稳,而时延敏感程度低的大象流的速率波动比较大。因此,根据大象流的速率波动系数,可以确定大象流的时延敏感程度。其中,速率波动系数用于指示报文流的速率的变化,也可以用于指示报文流的速率的平稳程度。因此,在本申请实施例的又一种实现方式中,前述特征参数还可以包括速率波动系数,该速率波动系数例如可以为速率的方差,又如可以为速率的标准差,再如可以为标准差与报文流平均速率的比值。
[0047] 在一种实现方式中,当第一报文流的特征参数包括第一报文流的速率波动系数时,S102在具体实现时,例如可以为:网络设备可以在第一时间段内按照第二周期根据所获取的属于第一报文流的报文,确定第一报文流的速率。在实际应用中,第一时间段可以包括多个第二周期,因此,网络设备在第一时间段内可以确定出多个速率。例如,网络设备在第一时间段的t1时刻根据获取的多个报文确定出速率v0,并在第一时间段内的t1+T时刻根据获取的多个报文确定出速率v1,依次类推,网络设备可以在第一时间段内的t1+n*T时刻根据获取的多个报文确定出速率vn。网络设备确定出(n+1)个速率之后,即可根据该(n+1)个速率计算第一报文流的速率波动系数。具体地,当第一报文流的速率波动系数为速率的方差时,网络设备可以根据方差计算公式计算得到速率的方差。当第一报文流的速率波动系数为速率的标准差时,网络设备可以根据标准差计算公式计算得到速率的标准差。当然,为了避免网络设备缓存(n+1)个速率而占用较多的存储资源,在本申请实施例中,网络设备还可以根据方差的递推公式计算得到速率的方差,采用递推公式的方式,网络设备可以不必保存该(n+1)个速率,而是保存一个方差和一个速率平均值即可,当继续计算得到一个速率时,网络设备可以根据保存的速率平均值、保存的方差和当前计算得到的速率计算得到一个方差值。例如,当计算得到速率vn时,可以根据速率vn以及保存的速率平均值计算得到一个新的速率平均值,然后根据该新的速率的平均值和保存的方差计算得到一个新的方差值。关于平均值和方差的递推公式,由于是统计学上的经典公式,故在此不做详细说明。需要说明的是,前述按照第二周期计算第一报文流的速率可以是由前述CPU计算的,具体地,可以由NP将按照第二周期将当前周期内接收的报文的总字节数发送给CPU,由CPU根据接收到的总字节数进行速率的计算。
[0048] 在一个实施例中,第一报文流的特征参数,可以包括第一报文流的报文时间间隔和第一报文流的速率波动系数中的其中一项或者两项。
[0049] S103:网络设备根据第一报文流的特征参数确定第一报文流的转发策略,第一报文流的转发策略用于指示第一报文流的时延敏感程度。
[0050] 在本申请实施例中,转发策略用于指示报文流的具体转发方式。考虑到在实际应用中,网络设备对报文流进行转发时,往往需要确定报文流优先级,从而确定报文流进入哪一个报文出口队列。另外,在对报文流进行转发的过程中,还可以确定报文流的转发路径,例如,按照最短路径转发报文流,又如,按照时延最优路径转发报文流,又如,按照带宽最优路径转发,再如,利用隧道转发报文流。因此,在一些实施例中,转发策略可以包括报文优先级和转发路径中的任意一项或者两项。其中,报文流优先级和报文流的时延敏感程度成正比,即报文流的时延敏感程度越高,对应的报文流优先级越高,这样一来,报文流的实际传输时延即可与报文流的时延敏感程度相匹配。转发路径的传输质量与报文流的时延敏感程度成正比,即时延报文流的时延敏感程度越高,转发路径的传输质量越高,此处提及的传输质量,可以包括传输时延。传输质量越高,对应传输时延越低。这样一来,报文流的实际传输时延即可与报文流的时延敏感程度相匹配。
[0051] 如前文,第一报文流的特征参数包括第一报文流的报文时间间隔和/或第一报文流的速率波动系数。以下结合第一报文流的特征参数具体包括的内容,介绍S103的具体实现方式。
[0052] 第一种实现方式:第一报文流的特征参数包括第一报文流的报文时间间隔,不包括第一报文流的速率波动系数。
[0053] 如前文,时延敏感程度不高的报文流的报文时间间隔例如最大报文时间间隔较大。而时延敏感程度较低的报文流的报文时间间隔较小。因此,网络设备可以将第一报文流的时间间隔和第一阈值进行比较,当第一报文流的时间间隔小于第一阈值时,可以确定第一报文流的转发策略为第一转发策略,其中,第一转发策略指示的第一报文流的时延敏感程度为高。例如,第一转发策略指示第一报文流的报文流优先级为高,或者,第一转发策略指示第一报文流的转发路径为最优路径转发。此处提及的第一阈值,可以是网络管理设备下发给网络设备的,也可以是网络管理人员预先配置在网络设备上的,本申请实施例不做具体限定。相应的,当网络设备确定第一报文流的报文时间间隔大于或者等于第一阈值时,网络设备可以确定第一报文流的转发策略为第二转发策略,其中,第二转发策略指示的第一报文流的时延敏感程度为低。例如,第二转发策略指示第一报文流的报文流优先级为低,或者,第二转发策略指示第一报文流的转发路径为较优路径转发。
[0054] 在一些实施例中,为了使得所确定的第一报文流的转发策略能够与第一报文流的时延敏感程度的吻合程度更高,在本申请实施例中,对第一报文流的时延敏感程度的划分粒度还可以更细。例如,当第一报文流的报文时间间隔大于或者等于第一阈值,且小于或者等于第三阈值时,确定第一报文流的转发策略为第三转发策略,第三转发策略指示第一报文流的时延敏感程度为较高。当第一报文流的报文时间间隔大于第三阈值时,确定第一报文流的转发策略为第二转发策略,第二转发策略指示第一报文流的时延敏感程度为低。
[0055] 第二种实现方式:第一报文流的特征参数包括第一报文流的速率波动系数,不包括第一报文流的报文时间间隔。
[0056] 如前文,时延敏感程度高的报文流的速率一般会比较平稳,而时延敏感程度低的报文流的速率波动比较大。换言之,时延敏感程度高的报文流的速率波动系数较小,而时延敏感程度较低的报文流的速率波动系数较大。因此,网络设备可以将第一报文流的速率波动系数和第二阈值进行比较,当第一报文流的速率波动系数小于第二阈值时,可以确定第一报文流的转发策略为第一转发策略,其中,第一转发策略指示的第一报文流的时延敏感程度为高。此处提及的第二阈值,可以是网络管理设备下发给网络设备的,也可以是网络管理人员预先配置在网络设备上的,本申请实施例不做具体限定。相应的,当网络设备确定第一报文流的速率波动系数大于或者等于第二阈值时,网络设备可以确定第一报文流的转发策略为第二转发策略,其中,第二转发策略指示的第一报文流的时延敏感程度为低。
[0057] 在一些实施例中,为了使得所确定的第一报文流的转发策略能够与第一报文流的时延敏感程度的吻合程度更高,在本申请实施例中,对第一报文流的时延敏感程度的划分粒度还可以更细。例如,当第一报文流的速率波动系数大于或者等于第二阈值,且小于或者等于第四阈值时,确定第一报文流的转发策略为第三转发策略,第三转发策略指示第一报文流的时延敏感程度为较高。当第一报文流的速率波动系数大于第四阈值时,确定第一报文流的转发策略为第二转发策略,第二转发策略指示第一报文流的时延敏感程度为低。
[0058] 第三种实现方式:第一报文流的特征参数包括第一报文流的报文时间间隔和第一报文流的速率波动系数。
[0059] 当第一报文流的特征参数包括第一报文流的报文时间间隔和第一报文流的速率波动系数时,网络设备可以将第一报文流的时间间隔和第一阈值进行比较,并将第一报文流的速率波动系数和第二阈值进行比较。当第一报文流的报文时间间隔小于第一阈值,且第一报文流的速率波动系数小于第二阈值时,可以确定第一报文流的转发策略为第一转发策略,其中,第一转发策略指示的第一报文流的时延敏感程度为高。
[0060] 当然,为了使得所确定的第一报文流的转发策略能够与第一报文流的时延敏感程度的吻合程度更高,在本申请实施例中,对第一报文流的时延敏感程度的划分粒度还可以更细。具体地,当第一报文流的报文时间间隔大于或者等于第一阈值时,还可以引入第三阈值,将第一报文流的报文时间间隔与第三阈值进行比较,得到第一比较结果。相应的,当第一报文流的速率波动系数大于或者等于第二阈值时,还可以引入第四阈值,将第一报文流的速率波动系数与第四阈值进行比较,并得到第二比较结果,而后根据第一比较结果和第二比较结果确定第一报文流的转发策略。例如,第一比较结果为第一报文流的报文时间间隔,大于或者等于第一阈值且小于或者等于第三阈值,第二比较结果为第一报文流的速率波动系数,大于或者等于第二阈值且小于或者等于第四阈值,则确定第一报文流的转发策略为第三转发策略,第三转发策略指示第一报文流的时延敏感程度为较高。又如,第一比较结果为第一报文流的报文时间间隔,大于或者等于第一阈值且小于或者等于第三阈值,第二比较结果为第一报文流的速率波动系数大于第四阈值,则确定第一报文流的转发策略为第二转发策略,第二转发策略指示第一报文流的时延敏感程度为低。再如,第一比较结果为第一报文流的报文时间间隔大于第三阈值,第二比较结果为第一报文流的速率波动系数,大于或者等于第二阈值且小于或者等于第四阈值,则确定第一报文流的转发策略为第二转发策略,第二转发策略指示第一报文流的时延敏感程度为低。
[0061] 在本申请实施例中,网络设备确定出第一报文流的转发策略之后,可以存储第一报文流的流标识和第一报文流的转发策略之间的对应关系,例如,网络设备可以将该对应关系存储在流表中。这样一来,当网络设备继续获取到属于第一报文流的第一报文时,网络设备可以根据该对应关系确定第一报文流的转发策略,从而根据该第一报文流的转发策略转发第一报文。关于S101中提及的属于第一报文流的多个报文,在本申请实施例中,网络设备可以先缓存该多个报文,在S103确定出第一报文流的转发策略之后,根据第一报文流的转发策略转发该多个报文。当然,网络设备也可以根据传统的大象流转发策略转发该多个报文。另外,在本申请实施例中,网络设备可以周期性执行S101‑S103,以对前述对应关系进行更新,因此,关于S101中提及的多个报文,网络设备可以根据获取该多个报文时,网络设备中存储的第一报文流的转发策略来对该多个报文进行转发。例如,该多个报文包括第二报文,在获取第二报文时,网络设备中存储有第一报文流的流标识和第一转发策略的对应关系,因此,获取到第二报文之后,网络设备可以根据第一转发策略转发第二报文。在执行S103之后,网络设备确定第一报文流的转发策略为第二转发策略,故而,网络设备将第一报文流的流标识和第一转发策略的对应关系,更新为第一报文流的流标识和第二转发策略的对应关系,若继续获取到属于第一报文流的第一报文,则网络设备可以根据第二转发策略转发第一报文。
[0062] 通过以上描述可知,利用本申请实施例提供的方案,可以使得作为大象流的第一报文流的实际传输时延与第一报文流的时延敏感程度相匹配,从而改善了作为大象流的第一报文流的传输时延。
[0063] 如前文,在一个实施例中,前述第一阈值和第二阈值可以是网络管理设备下发给网络设备的。具体地,网络设备可以首先确定该第一阈值和第二阈值,然后将第一阈值和第二阈值下发给网络设备。在一个实施例中,网络设备例如可以获取对应某一时延敏感程度的多个报文流,并对该多个报文流的报文时间间隔和速率波动系数进行统计,并根据统计结果得到前述第一阈值和第二阈值。例如,网络管理设备对时延敏感程度高的业务对应的报文流进行统计,得到这些报文流的报文时间间隔的分布范围,以及得到这些报文流的速率波动系数的分布范围。而后网络管理设备即可根据报文时间间隔的分布范围得到前述第一阈值,并根据速率波动系数的分布范围得到前述第二阈值。举例说明,网络管理设备对多个视频会议业务的报文流进行统计,确定该多个报文流的报文时间间隔均小于m,该多个报文流的速率波动系数均小于p,则网络管理设备可以将m确定为第一阈值,将p确定为第二阈值。
[0064] 在一些实施例中,网络设备除了可以接收第一报文流之外,还可以接收第二报文流,第二报文流也为大象流。网络设备接收到属于第二报文流的多个报文之后,可以根据第二报文流的多个报文,计算第二报文流的特征参数,并根据第二报文流的特征参数确定第二报文流的转发策略。其中,第二报文流的特征参数用于指示第二报文流的传输时延,第二报文流的转发策略用于指示第二报文流的时延敏感程度。关于网络设备根据第二报文流的多个报文计算第二报文流的特征参数的具体实现方式,与网络设备根据第一报文流的多个报文计算第一报文流的特征参数的具体实现方式相同,可以参考前述S102的相关描述部分,此处不再重复说明。关于网络设备根据第二报文流的特征参数确定第二报文流的转发策略的具体实现方式,与网络设备根据第一报文流的特征参数确定第一报文流的转发策略的具体实现方式相同,可以参考前述S103的相关描述部分,此处不再重复说明。
[0065] 如前文,网络设备确定第一报文流的转发策略之后,可以根据第一报文流的转发策略转发第一报文流。相应的,网络设备确定第二报文流的转发策略之后,可以根据第二报文流的转发策略转发第二报文流。在一些实施例中,若第一报文流的时延敏感程度与第二报文流的时延敏感程度不同,例如,第一报文流为视频会议业务的报文流,而第二报文流为视频点播业务的报文流。则第一报文流的转发策略指示的报文流优先级和第二报文流的转发策略指示的报文流优先级不同,或者,第一报文流的转发策略指示的转发路径的开销(cost)和第二报文流的转发策略指示的转发路径的开销也不同。在一个实施例中,第一报文流的时延敏感程度高于第二报文流的时延敏感程度,则所述第一报文流的转发策略指示的报文流优先级,高于所述第二报文流的转发策略指示的报文流优先级。或者,第一报文流的转发策略指示的转发路径的开销,低于第二报文流的转发策略指示的转发路径的开销。从而使得网络设备转发第一报文流的时延低于网络设备转发第二报文流的时延,从而使得网络设备转发报文流的时延与报文流的时延敏感程度相匹配。
[0066] 在一些实施例中,网络设备在执行S101之前,还可以执行确定第一报文流为大象流的步骤。具体地,网络设备可以根据该多个报文确定第一报文流的速率,并根据第一报文流的速率确定第一报文流是否为大象流。例如,当第一报文流的速率大于一定的速率阈值时,网络设备可以确定第一报文流为大象流。或者,网络设备可以将获取的多个报文流的速率进行排序,当第一报文流的速率属于该多个速率中的前N个较高速率时,网络设备确定第一报文流为大象流。
[0067] 在一些实施例中,考虑到网络设备获取的报文流的数量很多,为了减轻网络设备对报文流的速率进行排序的工作量,网络设备在对报文流的速率进行排序之前,还可以对该报文流进行预筛选,考虑到属于大象流的报文的长度一般比较长。因此,网络设备例如可以根据报文的长度,对报文流进行预筛选,当报文的长度大于一定长度阈值时,才对该报文所属的报文流的速率进行排序。否则,直接将该报文流确定为老鼠流。从而筛选掉一部分老鼠流,从而减少参与排序的报文流的数量。换言之,在本申请实施例中,当第一报文流的多个报文的报文长度均大于或者等于前述长度阈值时,网络设备可以继续执行根据属于第一报文流的多个报文计算第一报文流的速率,并根据第一报文流的速率进行速率排序,从而进一步确定第一报文流是否为大象流的步骤。
[0068] 在一些实施例中,考虑到第一报文流的持续时间可能比较长,而且第一报文流的速率的波动也可能比较大。而前述第一时间段(即S101中接收的多个报文的持续时间)可能为第一报文流的持续时间的一部分。因此,仅根据S101中接收的多个报文所计算的速率,可能并不能准确的表示第一报文流的速率。因此,在本申请实施例中,对报文流的速率进行排序时,除了根据S101中接收的多个报文计算速率之外,还可以考虑第一报文流的历史速率。具体地,由于网络设备可以周期性执行S101‑S103,因此,网络设备可以根据当前周期计算得到的第一速率,与上一周期计算得到的第二速率,得到第一报文流的综合速率,在根据报文流速率进行排序时,可以利用该综合速率进行排序。具体地,第一报文流的综合速率可以通过公式综合速率=第二速率*衰减系数+第一速率计算得到。其中,衰减系数为小于1的数。
[0069] 另外,考虑到在实际应用中,当网络设备刚开始接收到第一报文流时,第一报文流的综合速率可能比较小,因为接收的属于第一报文流的数量比较少,这就导致可能在对报文流的速率进行排序时,将第一报文流确定为老鼠流。为了避免这种情况,可以设定一个时间阈值,当网络设备接收到第一报文流的第一个报文之后,经过该时间阈值才对第一报文流的速率进行排序,从而避免将第一报文流误识别为老鼠流。
[0070] 另外,如前文,在一些实施例中,网络设备中可以存储有包括第一报文流的流标识和第一报文流的转发策略之间的对应关系的流表。为了加快流表的更新,当网络设备接收到第一报文流的流结束标志时,网络设备可以直接第一报文流的流标识和第一报文流的转发策略之间的对应关系从流表中删除。其中,第一报文流的结束标志例如可以根据报文中的结束(FIN)标志位来确定。
[0071] 需要说明的是,本申请实施例提供的技术方案,作为一种流分类技术,可以应用于网络边缘节点,若网络中的其它节点均可以正确接收网络边缘节点确定的转发策略,则网络中的其它节点可以不必执行本申请实施例提供的方案。若网络中的其它节点不能正确接受网络边缘节点确定的转发策略,则网络中的其它节点也可以执行本申请实施例的方案,从而使得在对第一报文流进行转发过程中,各个转发节点所确定的转发策略均与第一报文流的时延敏感程度相匹配,使得第一报文流的实际传输时延与第一报文流的时延敏感程度相匹配,保证第一报文流对应的业务的服务质量。
[0072] 可参见图3进行理解,图3为本申请实施例提供的一种网络结构示意图。在图3所示的网络中,网络300包括边缘节点311、中间节点312以及中间节点313,边缘节点311可以执行本申请实施例的方案,确定第一报文流的转发策略,例如边缘节点311确定第一报文流的优先级为高,则边缘节点311获取到第一报文之后,可以修改第一报文中的区分服务编码点(differentiated services codepoint,DSCP)字段的值,使得该字段的值指示第一报文的优先级为高。而后,边缘节点311将第一报文转发给中间节点312,若中间节点312可以正确识别第一报文中的DSCP字段的值,则中间节点312可以直接根据该DSCP字段的值转发第一报文,若中间节点312不可以正确识别第一报文中的DSCP字段的值,则中间节点可以执行本申请实施例提供的方案,从而确定第一报文的转发策略,并根据确定的转发策略转发第一报文。
[0073] 基于以上实施例提供的报文转发方法,本申请实施例还提供了对应的装置,以下结合附图介绍该装置。参见图4,该图为本申请实施例提供的一种报文转发装置的结构示意图。图4所示的报文转发装置400,可以应用于以上实施例提及的网管设备。用于执行图2所示的报文转发方法。具体地,报文转发装置400可以包括第一接收单元401、第一确定单元402和第二确定单元403。
[0074] 第一接收单元401用于接收第一报文流的多个报文,所述第一报文流为大象流;
[0075] 第一确定单元402用于根据所述多个报文确定所述第一报文流的特征参数,所述特征参数用于指示所述第一报文流的传输时延;
[0076] 第二确定单元403用于根据所述第一报文流的特征参数确定所述第一报文流的转发策略,所述转发策略用于指示所述第一报文流的时延敏感程度。
[0077] 在一种实现方式中,所述特征参数包括:报文时间间隔,和/或,速率波动系数,所述报文时间间隔为接收所述多个报文中的两个相邻报文的时刻的差值,所述速率波动系数用于指示所述第一报文流的速率的变化。
[0078] 在一种实现方式中,所述转发策略包括:报文流优先级和/或转发路径,其中,报文流优先级和报文流的时延敏感程度成正比,转发路径的传输质量与报文流的时延敏感程度成正比。
[0079] 在一种实现方式中,当所述第一报文流的特征参数包括所述第一报文流的报文时间间隔时,所述第一确定单元402具体用于:在第一时间段内按照第一周期确定所获取的属于所述第一报文流的报文数量,若连续K次获取的报文数量均未发生改变,则确定报文时间间隔为第一周期的K倍,所述多个报文为在所述第一时间段内获取的报文。
[0080] 在一种实现方式中,当所述第一报文流的特征参数包括所述第一报文流的速率波动系数时,所述第一确定单元402具体用于:在第一时间段内按照第二周期根据所获取的属于所述第一报文流的报文确定所述第一报文流的速率,所述多个报文为在所述第一时间段内获取的报文;根据在所述第一时间段内确定的多个速率计算所述第一报文流的速率波动系数。
[0081] 在一种实现方式中,当所述特征参数包括报文时间间隔、不包括速率波动系数时,所述第二确定单元403具体用于:当所述第一报文流的报文时间间隔小于第一阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高;
[0082] 当所述特征参数包括速率波动系数、不包括报文时间间隔时,所述第二确定单元403具体用于:当所述第一报文流的速率波动系数小于第二阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高;
[0083] 当所述特征参数包括报文时间间隔和所述速率波动系数时,所述第二确定单元403具体用于:当所述第一报文流的报文时间间隔小于第一阈值、且所述第一报文流的速率波动系数小于第二阈值时,确定第一报文流的转发策略为第一转发策略,所述第一转发策略指示的第一报文流的时延敏感程度为高。
[0084] 在一种实现方式中,所述装置还包括第二接收单元和转发单元。
[0085] 第二接收单元用于接收第二报文流,所述第二报文流为大象流;
[0086] 转发单元用于根据所述第一报文流的转发策略转发所述第一报文流,并根据第二报文流的转发策略转发所述第二报文流,所述第一报文流的转发策略指示的报文流优先级,高于所述第二报文流的转发策略指示的报文流优先级。
[0087] 在一种实现方式中,所述装置还包括第二接收单元和转发单元。
[0088] 第二接收单元用于接收第二报文流,所述第二报文流为大象流,所述第二报文流的目的设备与所述第一报文流的目的设备相同;
[0089] 转发单元用于根据所述第一报文流的转发策略转发所述第一报文流,并根据第二报文流的转发策略转发所述第二报文流,所述第一报文流的转发策略指示的转发路径的开销,低于所述第二报文流的转发策略指示的转发路径的开销。
[0090] 由于所述装置400是与以上实施例描述的报文转发方法对应的装置,所述装置400的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置400的各个单元的具体实现,可以参考以上方法实施例的描述部分,此处不再赘述。
[0091] 需要说明的是,前述提及的报文转发装置400,其硬件结构可以为如图5所示的结构,图5为本申请实施例提供的一种报文转发设备的结构示意图。
[0092] 请参阅图5所示,报文转发设备500包括:处理器510、通信接口520和和存储器530。其中报文转发设备500中的处理器510的数量可以一个或多个,图5中以一个处理器为例。本申请实施例中,处理器510、通信接口520和存储器530可通过总线系统或其它方式连接,其中,图5中以通过总线系统540连接为例。
[0093] 处理器510可以是CPU、NP、或者CPU和NP的组合。处理器510还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application‑specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field‑programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
[0094] 存储器530可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random‑access memory,RAM);存储器530也可以包括非易失性存储器(英文:non‑volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid‑state drive,SSD);存储器530还可以包括上述种类的存储器的组合。存储器530例如可以存储前文提及的流标识和转发策略之间的对应关系。
[0095] 可选地,存储器530存储有操作系统和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。处理器510可以读取存储器530中的程序,实现本申请实施例提供的时间同步方法或者用于时间同步的消息处理方法。
[0096] 总线系统540可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线系统540可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0097] 本申请实施例还提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上实施例提供的报文转发方法。
[0098] 本申请实施例还提供了一种包含指令或计算机程序的计算机程序产品,当其在计算机上运行时,使得计算机执行以上实施例提供的报文转发方法。
[0099] 本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0100] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0101] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0102] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0103] 另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
[0104] 集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0105] 本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0106] 以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
[0107] 以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。