System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() DPU中报文转发保序方法、装置、电子设备和存储介质制造方法及图纸_技高网

DPU中报文转发保序方法、装置、电子设备和存储介质制造方法及图纸

技术编号:40368682 阅读:6 留言:0更新日期:2024-02-20 22:13
本发明专利技术实施例提供了一种DPU中报文转发保序方法、装置、电子设备和存储介质。所述DPU中报文转发保序方法包括:接收上游虚拟节点输入的待入队报文序列;基于入队调度规则,将所述待入队报文序列中的各种报文调度到多个保序队列中,其中,每个保序队列的已入队报文经由至少一个处理单元独立地进行转发预处理得到待出队报文;基于出队调度规则,对所述多个保序队列的待出队报文执行出队调度,得到已出队报文序列;将所述已出队报文序列转发到下游虚拟节点。本发明专利技术实施例的方案在保证有效报文次序的情况下提高了报文转发效率。

【技术实现步骤摘要】

本专利技术实施例涉及计算机,尤其涉及一种dpu中报文转发保序方法、装置、电子设备和存储介质。


技术介绍

1、随着云网络技术的快速发展,dpu(data processing unit,数据处理单元)作为一种全新的网卡设备,能够处理云环境内的大规模数据类任务,能够为cpu减负,在提高系统整体性能的同时降低数据处理延迟。因此,dpu将逐渐替换传统网卡,成为云计算环境中主机上搭载的网络设备。

2、在诸如云计算系统等分布式系统中,业务报文在端到端传输时需网络设备严格保序,即,同一业务流进入网络设备与离开网络设备的顺序应保证严格一致。因此,dpu作为全新的网卡设备,在处理业务报文时需要保证同一业务流中的业务报文不能乱序。

3、在传统技术中,dpu在执行报文转发时,对各个业务报文排序标记,采用诸如多个处理核心构成的核集群对各个业务报文进行转发预处理,为了避免各个处理核心执行并行处理时所带来的报文乱序的情况,通过具有先进先出的保序队列,基于业务报文的排序标记,将处理后的业务报文调度出队。

4、然而,如果正在保序队列中排序的部分业务报文处理时间比较长时,会导致非业务报文或者其他处理耗时较短的业务流报文的等待的情况,从而导致dpu的整体转发效率较低。


技术实现思路

1、有鉴于此,本专利技术实施例提供一种dpu中报文转发保序方法、装置、电子设备和存储介质,以至少部分解决上述问题。

2、根据本专利技术实施例的第一方面,提供了一种dpu中报文转发保序方法,所述dpu中报文转发保序方法包括:接收上游虚拟节点输入的待入队报文序列;基于入队调度规则,将所述待入队报文序列中的各种报文调度到多个保序队列中,其中,所述多个保序队列的数量取决于dpu的硬件资源与器件尺寸,每个保序队列的已入队报文经由至少一个处理单元独立地进行转发预处理得到待出队报文;基于出队调度规则,对所述多个保序队列的待出队报文执行出队调度,得到已出队报文序列;将所述已出队报文序列转发到下游虚拟节点。

3、在本专利技术的另一实现方式中,所述多个保序队列包括第一保序队列和第二保序队列;所述基于入队调度规则,将所述待入队报文序列中的各种报文调度到多个保序队列中,包括:将所述待入队报文序列中的具有第一报文类型的报文和具有第二报文类型的报文分别调度到所述第一保序队列和所述第二保序队列中,其中,所述第一报文类型对应的转发预处理时长与所述第二报文类型对应的转发预处理时长不同,所述第一报文类型和所述第二报文类型为业务报文、协议报文和透传报文中的不同报文类型。

4、在本专利技术的另一实现方式中,所述多个保序队列包括至少一个业务报文队列和至少一个非业务报文队列,所述基于入队调度规则,将所述待入队报文序列中的各种报文调度到多个保序队列中,包括:在所述待入队报文序列中的当前报文为业务报文时,解析所述当前报文的特征信息;对所述特征信息的特征值进行哈希计算,得到所述特征值对应的哈希值;将所述当前报文调度到所述多个保序队列中哈希值范围包含所述哈希值对应的业务报文队列中。

5、在本专利技术的另一实现方式中,所述至少一个业务报文队列为多个业务报文队列,所述多个业务报文队列各自的哈希值范围彼此不同。

6、在本专利技术的另一实现方式中,所述基于入队调度规则,将所述待入队报文序列中的各种报文调度到多个保序队列中,还包括:在所述待入队报文序列中的当前报文为协议报文时,将所述当前报文调度到非业务报文队列中。

7、在本专利技术的另一实现方式中,所述基于出队调度规则,对所述多个保序队列的待出队报文执行出队调度,得到已出队报文序列,包括:基于轮询规则,确定所述多个保序队列中的当前轮询队列;如果所述当前轮询队列中存在待出队报文,则将所述待出队报文加入到所述已出队报文序列中;基于所述轮询规则,将下一轮询队列更新为所述当前轮询队列。

8、在本专利技术的另一实现方式中,所述基于出队调度规则,对所述多个保序队列的待出队报文执行出队调度,得到已出队报文序列,包括:确定所述多个保序队列中具有目标优先级的当前队列;如果所述当前队列中存在待出队报文,则将所述待出队报文加入到所述已出队报文序列中;将优先级小于所述目标优先级的下一队列更新为所述当前队列。

9、根据本专利技术实施例的第二方面,提供了一种执行dpu中报文转发保序方法的装置,所述装置包括:接收单元,接收上游虚拟节点输入的待入队报文序列;第一调度单元,基于入队调度规则,将所述待入队报文序列中的各种报文调度到多个保序队列中,其中,所述多个保序队列的数量取决于dpu的硬件资源与器件尺寸,每个保序队列的已入队报文经由至少一个处理单元独立地进行转发预处理得到待出队报文;第二调度单元,基于出队调度规则,对所述多个保序队列的待出队报文执行出队调度,得到已出队报文序列;发送单元,将所述已出队报文序列转发到下游虚拟节点。

10、根据本专利技术实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述方法对应的操作。

11、根据本专利技术实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。

12、在本专利技术实施例的方案中,每个保序队列经由至少一个处理单元独立地进行转发预处理得到待出队报文,实现了报文的高效并行处理,进而有利于提高报文转发效率,此外,基于每个保序队列对报文进行处理过程符合保序队列的队列规则,使待出队报文在已出队报文序列中的排序也符合保序队列的队列规则,因此,在保证了有效报文次序的情况下提高了报文转发效率。

本文档来自技高网...

【技术保护点】

1.一种DPU中报文转发保序方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述多个保序队列包括第一保序队列和第二保序队列;

3.根据权利要求1所述的方法,其特征在于,所述多个保序队列包括至少一个业务报文队列和至少一个非业务报文队列;

4.根据权利要求3所述的方法,其特征在于,所述至少一个业务报文队列为多个业务报文队列,所述多个业务报文队列各自的哈希值范围彼此不同。

5.根据权利要求3所述的方法,其特征在于,所述基于入队调度规则,将所述待入队报文序列中的各种报文调度到多个保序队列中,还包括:

6.根据权利要求1所述的方法,其特征在于,所述基于出队调度规则,对所述多个保序队列的待出队报文执行出队调度,得到已出队报文序列,包括:

7.根据权利要求1所述的方法,其特征在于,所述基于出队调度规则,对所述多个保序队列的待出队报文执行出队调度,得到已出队报文序列,包括:

8.一种执行DPU中报文转发保序方法的装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

10.一种计算机存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现根据权利要求1-7中任一项所述的方法。

...

【技术特征摘要】

1.一种dpu中报文转发保序方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述多个保序队列包括第一保序队列和第二保序队列;

3.根据权利要求1所述的方法,其特征在于,所述多个保序队列包括至少一个业务报文队列和至少一个非业务报文队列;

4.根据权利要求3所述的方法,其特征在于,所述至少一个业务报文队列为多个业务报文队列,所述多个业务报文队列各自的哈希值范围彼此不同。

5.根据权利要求3所述的方法,其特征在于,所述基于入队调度规则,将所述待入队报文序列中的各种报文调度到多个保序队列中,还包括:

6.根据权利要求1所述的方法,其特征...

【专利技术属性】
技术研发人员:安维蕃孙旭李永浩
申请(专利权)人:北京驭数华创科技有限公司
类型:发明
国别省市:

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

1