多链路速率组网下的数据流传输方法及其相关设备与流程
未命名
08-07
阅读:76
评论:0

1.本技术涉及通信技术领域,尤其涉及一种多链路速率组网下的数据流传输方法及其相关设备。
背景技术:
2.时间敏感网络(time sensitive networking,tsn)定义了以太网数据传输的时间敏感机制,时间敏感机制包括循环排队与转发(cyclic-queuing and forwarding,cqf)机制,循环排队与转发机制将每个交换机出端口的传输时间分为一系列相等的时间间隔,每个时间间隔称为一个cqf周期,基于该cqf周期控制数据流在交换机的出端口队列中进队和出队,能够准确计算得到端到端时延(端到端时延仅取决于周期大小和数据流经过的传输路径中的节点个数)。
3.然而,目前的循环排队与转发机制都是基于在相同速率的链路下进行数据传输的前提设计的,其显著特点就是网络中所有链路的循环周期都需要相同。但在实际网络中,不同链路的速率不同是普遍现象,如果在不同速率的情况下依旧采用相同的循环周期,则会存在带宽和时延难以兼顾的问题。如果周期设置的比较小,端到端时延会比较小,但对于低速链路,其可以承载的业务量就很少,会导致可调度性下降。如果将周期设置的比较大,解决了低速链路带宽不够的问题,但对于高速链路,过大的周期明显增加了业务的端到端时延,即,难以在带宽和时延之间取得平衡。因此,现有技术中的循环排队与转发机制无法适用于不同速率链路组网下的数据流传输,会导致多链路速率组网下的数据流传输效率降低。
技术实现要素:
4.本技术的主要目的在于提供一种多链路速率组网下的数据流传输方法,可以基于不同的链路速率设置不同的循环周期,并通过不同周期之间的映射实现数据流的确定性转发。旨在解决多链路速率组网下的数据流传输带宽和时延难以兼顾从而导致的数据流传输效率低下的技术问题。
5.为实现上述目的,本技术提供一种多链路速率组网下的数据流传输方法,所述多链路速率组网下的数据流传输方法包括以下步骤:
6.应用于多链路速率组网,所述多链路速率组网下的数据流传输方法,包括以下步骤:
7.获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中的传输路径;
8.基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期;
9.基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流。
10.在本技术的一种可能的实施方式中,所述基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期的步骤,包括:
11.计算所述传输路径中各节点对应出端口之间的链路速率比,并确定所述链路速率比中具有最大链路速率的节点对应出端口;
12.将所述具有最大链路速率的节点对应出端口的cqf周期作为基准cqf周期,并基于所述基准cqf周期,以及所述链路速率比,确定其他各节点对应出端口的cqf周期。
13.在本技术的一种可能的实施方式中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之前,所述方法还包括:
14.确定所述链路速率比中具有最小链路速率的节点对应出端口,并将所述具有最小链路速率的节点对应出端口的发送队列数量作为基准发送队列数量;
15.基于所述基准发送队列数量,确定其他各节点对应出端口的发送队列数量。
16.在本技术的一种可能的实施方式中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤,包括:
17.基于发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应入端口的到达时间;
18.基于所述到达时间,以及所述各节点的cqf周期,确定所述数据流在各节点对应出端口的出队列时间;
19.基于所述出队列时间,确定所述数据流在各节点的发送队列。
20.在本技术的一种可能的实施方式中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之前,所述方法还包括:
21.基于所述发送端的数据流的注入时隙所在cqf周期,对在预设宏周期内的需调度的数据流进行搜索,得到所述数据流的注入时隙所在cqf周期内需调度的数据流,其中,所述预设宏周期是基于已调度的数据流和需调度的数据流的发送周期计算得到的;
22.将所述数据流的注入时隙所在cqf周期作为所述发送端发送所述数据流的发送时间。
23.在本技术的一种可能的实施方式中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之后,所述方法还包括:
24.基于预设已调度列表中数据流的流id、注入时间偏移量,以及所述已调度的数据流的帧长度,计算得到所述各节点对应出端口的时隙占用率;
25.基于所述时隙占用率,判断所述发送队列对应发送时隙中的已占用容量是否大于预设时隙容量;
26.若大于,则判断所述数据流的注入时隙所在cqf周期是否大于所述宏周期;
27.若不大于,则将所述数据流的注入时隙所在cqf周期偏移一个时隙,将所述偏移的一个时隙作为所述数据流的注入时间偏移量,并将所述数据流的id以及注入时间偏移量存储至所述预设已调度列表;
28.基于所述偏移一个时隙的数据流的注入时隙所在cqf周期,对在预设宏周期内的
需调度的数据流进行搜索,得到所述偏移一个时隙的数据流的注入时隙所在cqf周期内需调度的数据流。
29.在本技术的一种可能的实施方式中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流的步骤之后,所述方法还包括:
30.更新所述各节点对应出端口的发送队列,并执行所述获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中的传输路径的步骤,直至所述传输路径中的至少一个节点的发送队列无法容纳新的数据流。
31.本技术还提供一种多链路速率组网下的数据流传输装置,所述装置包括:
32.传输路径确定模块,用于获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中的传输路径;
33.cqf周期确定模块,用于基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期;
34.发送队列确定模块,用于基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流。
35.本技术还提供一种多链路速率组网下的数据流传输设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多链路速率组网下的数据流传输程序,所述多链路速率组网下的数据流传输程序配置为实现如上述任一项所述的多链路速率组网下的数据流传输方法的步骤。
36.本技术还提供一种存储介质,所述存储介质上存储有多链路速率组网下的数据流传输程序,所述多链路速率组网下的数据流传输程序被处理器执行时实现如上述任一项所述的多链路速率组网下的数据流传输方法的步骤。
37.本技术提供一种多链路速率组网下的数据流传输方法,相较于现有技术中,将循环排队与转发机制应用于多链路速率组网时,需要所有链路都基于同一个cqf周期控制数据流在交换机的出端口队列中进队和出队。本技术通过获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端确定所述数据流在所述多链路速率组网中的传输路径;基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期;即,每个节点对应出端口的cqf周期都是基于链路速率确定的。不同于现有技术中需要所有链路都基于同一个cqf周期控制数据流在交换机的出端口队列中进队和出队,本技术基于所述发送端发送所述数据流的发送时间,以及所述基于链路速率确定的cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流,不会出现对于低速链路,如果采用和高速链路相同的cqf周期,会导致在同一cqf周期内的可以承载的流量减少;而对于高速链路,如果采用与低速链路相同的cqf周期,则导致cqf周期过长,增加了端到端时延的情况。而是对于低速链路,采用特定的cqf周期,由于低速链路的cqf周期相较于高速链路更长,因此不会减少该cqf周期可以承载的流量;而对于高速链路,采用特定的cqf周期,由于高速链路的cqf周期相较于低速链路更短,而端到端时延仅取决于周期大小和数据流经过的传输路径中的节点个数,因此,能够降低端到端时延。也就是
说,本技术能够避免低速链路可以承载的流量的减少,提高了网络带宽的利用率,还能够降低端到端时延,解决了传统cqf需要全网周期相同,难以在带宽和时延之间取得平衡的技术问题,因此,本技术提高了多链路速率组网下的数据流的传输效率。
附图说明
38.图1为本技术一种多链路速率组网下的数据流传输方法的第一实施例的流程示意图;
39.图2为本技术第一实施例的多链路速率组网下的数据流传输方法的第一场景示意图;
40.图3为本技术第一实施例的多链路速率组网下的数据流传输方法的第二场景示意图;
41.图4为本技术第二实施例的多链路速率组网下的数据流传输方法的第三场景示意图;
42.图5为本技术第二实施例的多链路速率组网下的数据流传输方法的第四场景示意图;
43.图6为本技术第二实施例的多链路速率组网下的数据流传输方法的第五场景示意图;
44.图7为本技术第二实施例的多链路速率组网下的数据流传输方法的第六场景示意图;
45.图8为本技术第三实施例的多链路速率组网下的数据流传输方法的逻辑架构图;
46.图9是本技术实施例方案涉及的硬件运行环境的多链路速率组网下的数据流传输设备的结构示意图;
47.图10为本技术第一实施例的多链路速率组网下的数据流传输装置示意图。
48.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
49.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
50.本技术实施例提供了一种多链路速率组网下的数据流传输方法,参照图1,在本实施例中,所述多链路速率组网下的数据流传输方法包括:
51.步骤s10:获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端确定所述数据流在所述多链路速率组网中的传输路径;
52.步骤s20:基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期;
53.步骤s30:基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流。
54.作为一种示例,所述多链路速率组网下的数据流传输方法可以应用于多链路速率
组网下的数据流传输装置,所述多链路速率组网下的数据流传输装置从属于多链路速率组网下的数据流传输系统。
55.在本实施例中,如图2所示,所述多链路速率组网下的数据流传输系统可以是多链路速率组网,所述多链路速率组网包括多个节点,各节点之间通讯连接,且各节点对应出端口的链路速率不同(存在链路速率相同的节点对应出端口,和/或者链路速率不同的节点对应出端口),所述多个节点包括至少一个发送端、至少一个交换机和至少一个接收端。
56.作为一种示例,循环排队与转发机制将每个交换机出端口的传输时间分为一系列相等的时间间隔,每个时间间隔称为一个cqf周期,基于该cqf周期控制数据流在交换机的出端口队列中进队和出队,能够准确计算得到端到端时延(端到端时延仅取决于周期大小和数据流经过的传输路径中的节点个数)。
57.然而,目前的循环排队与转发机制都是基于在相同速率的链路下进行数据传输的前提设计的,并没有考虑到多链路速率组网下的链路带宽(链路速率)的差距。因此,将所述循环排队与转发机制应用于多链路速率组网时,需要所有链路都基于同一个cqf周期控制数据流在交换机的出端口队列中进队和出队。对于低速链路,如果采用和高速链路相同的cqf周期(一般地,高速链路的cqf周期大于低速链路的cqf周期),会导致可调度性下降;即,在同一cqf周期内的可以承载的流量减少。而对于高速链路,如果采用与低速链路相同的cqf周期,则导致cqf周期过长,从而增加了端到端时延。因此,现有技术中的循环排队与转发机制无法适用于多链路速率组网下的数据流传输,且会导致多链路速率组网下的数据流传输效率降低。
58.本实施例旨在:基于所述发送端发送所述数据流的发送时间,以及所述基于链路速率确定的cqf周期,确定所述数据流在各节点对应出端口的发送队列,对于低速链路,采用特定的cqf周期,由于低速链路的cqf周期相较于高速链路更长,因此不会减少该cqf周期可以承载的流量;而对于高速链路,采用特定的cqf周期,由于高速链路的cqf周期相较于低速链路更短,而端到端时延仅取决于周期大小和数据流经过的传输路径中的节点个数,因此,能够降低端到端时延,从而解决传统cqf需要全网周期相同,难以在带宽和时延之间取得平衡的技术问题。
59.具体步骤如下:
60.步骤s10:获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端确定所述数据流在所述多链路速率组网中的传输路径;
61.作为一种示例,需调度的数据流是发送端需要向接收端发送的周期性的数据流,具体地,可以是发送端当前需要向接收端发送的周期性的数据流,还可以是发送端新增的需要向接收端发送的周期性的数据流。
62.作为一种示例,周期性的数据流是指周期性产生得数据流,数据流的帧的发送周期是指属于同一条数据流的两个数据帧之间的最小发送间隔。
63.作为一种示例,所述发送端为所述数据流的源节点(起点),所述接收端为所述数据流的目的节点(终点)。
64.作为一种示例,所述基于所述发送端和所述接收端确定所述数据流在所述多链路速率组网中的传输路径的步骤,可以是基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中需要经过的节点。具体的,可以是基于dijkstra最短路径算法计算
得到的。
65.例如,计算得到的所述传输路径为发送端、节点1、节点2、接收端。
66.步骤s20:基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期;
67.作为一种示例,各节点设有入端口和出端口,所述传输路径中各节点对应出端口是指所述传输路径中每个节点的出端口,例如,所述传输路径中发送端的出端口、节点1的出端口、节点2的出端口、接收端的出端口。
68.作为一种示例,由于不同规格的路由器对应出端口的链路速率可能不同,因此,需要确定所述传输路径中各节点对应出端口的链路速率。
69.作为一种示例,基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期,是为了为每个节点适应性配置cqf周期,以克服现有技术中所有链路都基于同一个cqf周期控制数据流在交换机的出端口队列中进队和出队,从而导致低速链路和高速链路在使用相同cqf周期控制数据流时,对可调度性和端到端时延的影响。
70.在本实施例中,所述基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期的步骤,包括:
71.步骤a1:计算所述传输路径中各节点对应出端口之间的链路速率比,并确定所述链路速率比中具有最大链路速率的节点对应出端口;
72.作为一种示例,计算所述传输路径中各节点对应出端口之间的链路速率比,例如,若所述发送端对应出端口、节点1对应出端口、节点2对应出端口、接收端对应出端口之间的链路速率比为1:1:3:1,即所述节点2对应出端口的链路速率是所述发送端、节点1和接收端对应出端口的链路速率的3倍。即,所述链路速率比中具有最大链路速率的节点对应出端口为所述节点2对应出端口。
73.步骤a2:将所述具有最大链路速率的节点对应出端口的cqf周期作为基准cqf周期,并基于所述基准cqf周期,以及所述链路速率比,确定其他各节点对应出端口的cqf周期。
74.作为一种示例,由于在相同时间内高速链路比低速链路能够传输的数据量更大,因此,为了减少高速链路的网络资源浪费,将所述具有最大链路速率的节点对应出端口的cqf周期作为基准cqf周期th,即,在节点对应出端口为高速链路时,以较小的周期进行数据流的传输,能够缩短端到端时延。
75.作为一种示例,由于低速链路和高速链路在使用相同cqf周期控制数据流时,对可调度性和端到端时延会产生影响,因此,在保证节点对应出端口为高速链路时,以较小的周期进行数据流的传输的同时,还需要保证节点对应出端口为低速链路时,能够以较大的周期进行数据流的传输,从而保证低速链路端口的网络资源利用率。因此,基于所述基准cqf周期,以及所述链路速率比,确定其他各节点对应出端口的cqf周期,即,基于各节点对应出端口的数据流调度能力,确定对数据流的调度周期。
76.具体地,如图3所示,其他各节点对应出端口的cqf周期和所述基准cqf周期的比例与所述链路速率比成反比。即,若所述节点2对应出端口的基准cqf周期为th,则所述发送端、节点1和接收端对应出端口的cqf周期为tl(tl=r*th)。其中,所述r为低速链路cqf周期长度tl与高速链路的cqf周期长度th的比率,例如,(tl/th)=r=3。
77.在本实施例中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之前,所述方法还包括:
78.步骤b1:确定所述链路速率比中具有最小链路速率的节点对应出端口,并将所述具有最小链路速率的节点对应出端口的发送队列数量作为基准发送队列数量;
79.步骤b2:基于所述基准发送队列数量,确定其他各节点对应出端口的发送队列数量。
80.作为一种示例,在现有技术的单周期cqf(高速链路和低速链路均使用同一cqf周期)中,逐流过滤与预警机制(per-stream filtering and policing,psfp)以及队列门控的启动时间都需要与所述cqf周期同步,其中,门控列表(gate control list,gcl)涉及门开(o)和门关(c)的两个周期。需要说明的是,在多周期cqf(高速链路和低速链路使用不同cqf周期)中,该门控列表仍然适用。因此,对于所述发送端和所述节点1,门控列表的周期即为2tl;对于所述节点2,门控列表的周期应该分别为2*rth(具体地,所述门控列表的周期为6th)。
81.具体地,端口转发模块如图2所示,由于不同链路速率的端口的门控列表的周期不同,主要体现在不同的门开/门关持续时间和队列数量上。为了使逐流过滤与预警机制和队列门控的启动时间都与所述cqf周期同步,则需要为链路速率较高(门开和门关持续时间较短)的端口配置较多的队列,为链路速率较低(门开和门关持续时间较长)的端口配置较少的队列。因此,需要确定所述链路速率比中具有最小链路速率的节点对应出端口,将所述具有最小链路速率的节点对应出端口的发送队列数量作为基准发送队列数量,基于所述基准发送队列数量,确定其他各节点对应出端口的发送队列数量。
82.作为一种示例,如图3所示,所述链路速率比中具有最小链路速率的节点对应出端口为发送端和节点1(低速端口),将所述具有最小链路速率的节点对应出端口的发送队列数量作为基准发送队列数量,即,每个队列的开门时间为tl(3th),因此轮换只需要两个队列。
83.作为一种示例,如图3所示,基于所述基准发送队列数量,确定其他各节点对应出端口的发送队列数量。对于所述节点2(高速端口),每个队列的门开持续时间仅为th,因此需要2r个队列(即,6个队列)进行轮换。所述节点2对应出端口需要六个发送队列,每个队列依次开门,持续时间为th。
84.步骤s30:基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流。
85.作为一种示例,由于所述多链路速率组网中各节点的时间同步,且,循环排队转发机制遵循的在一个周期内从上一节点发送的数据流,需在同一周期内在本节点接收到,从而准确计算得到端到端时延。因此,若已知发送端发送所述数据流的发送时间,以及所述各节点对应出端口的cqf周期,则可以通过计算得到所述数据流在每个节点的发送队列,则可以从所述发送队列发送所述数据流,即,确定了所述数据流的调度策略。
86.在本实施例中,本技术通过获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端确定所述数据流在所述多链路速率组网中的传输路径;基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期;即,每个节点对应出端口的cqf周期都是基于链路速率确定的。不同于现有技术中需要所有链路都基
于同一个cqf周期控制数据流在交换机的出端口队列中进队和出队,本技术基于所述发送端发送所述数据流的发送时间,以及所述基于链路速率确定的cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流,不会出现对于低速链路,如果采用和高速链路相同的cqf周期,会导致在同一cqf周期内的可以承载的流量减少;而对于高速链路,如果采用与低速链路相同的cqf周期,则导致cqf周期过长,增加了端到端时延的情况。而是对于低速链路,采用特定的cqf周期,由于低速链路的cqf周期相较于高速链路更长,因此不会减少该cqf周期可以承载的流量;而对于高速链路,采用特定的cqf周期,由于高速链路的cqf周期相较于低速链路更短,而端到端时延仅取决于周期大小和数据流经过的传输路径中的节点个数,因此,能够降低端到端时延。也就是说,本技术能够避免低速链路可以承载的流量的减少,提高了网络带宽的利用率,还能够降低端到端时延,因此,本技术提高了多链路速率组网下的数据流的传输效率。
87.进一步地,基于本技术中第一实施例,提供本技术的另一实施例,在该实施例中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之前,所述方法还包括:
88.步骤s40:基于所述发送端的数据流的注入时隙所在cqf周期,对在预设宏周期内的需调度的数据流进行搜索,得到所述数据流的注入时隙所在cqf周期内需调度的数据流,其中,所述预设宏周期是基于已调度的数据流和需调度的数据流的发送周期计算得到的;
89.作为一种示例,注入时间模型部分如图2所示,数据流的发送时间为在发送端选择的数据流注入所述交换机的注入时间,注入时间的选择范围为所述需调度数据流的宏周期。所述预设宏周期是基于已调度的数据流和需调度的数据流的发送周期计算得到的,具体地,宏周期是已调度的数据流和需调度的数据流的发送周期的最小公倍数。确定宏周期后,后续的调度都以宏周期为模板复制调度过程。
90.例如,基于所述发送端的数据流的注入时隙所在cqf周期,对在预设宏周期内的需调度的数据流进行搜索,得到所述第零时隙内需调度的数据流f1、f5,或者,基于所述发送端的第一时隙,对在预设宏周期内的需调度的数据流进行搜索,得到所述第一时隙内需调度的数据流f2等。
91.步骤s50:将所述数据流的注入时隙所在cqf周期作为所述发送端发送所述数据流的发送时间。
92.作为一种示例,将所述数据流的注入时隙所在cqf周期作为所述发送端发送所述数据流f1、f5的发送时间。或者,将所述第一时隙作为所述发送端发送所述数据流f2的发送时间。
93.在本实施例中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤,包括:
94.步骤c1:基于发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应入端口的到达时间;
95.作为一种示例,交换机模型如图2所示,包括psfp模块,发送队列映射模块,和端口转发模块。psfp能够根据数据流的到达时间为报文添加标记,该标记用于指示报文进入下一节点对应出端口的对应发送队列。在现有技术的单周期cqf中,psfp只需要检测报文在奇数时隙还是偶数时隙内到达即可,因此psfp检测的循环周期就是2t。
96.而在多周期cqf中,不同的端口检测的循环周期不同,需要psfp同时实现不同cqf周期的检测。为了兼顾到所有cqf周期,以最短周期(最大链路速率的端口对应的cqf周期th)为粒度进行检测,检测得到的数据流的注入时隙所在cqf周期为tid,检测周期的长度为2r*th(例如,发送端、节点1和接收端对应出端口的检测周期为2th,节点2对应出端口的检测周期为6th)。
97.因此,基于上述方式进行检测,即可检测得到所述数据流到达各节点对应入端口所在检测周期,在所述发送端发送所述数据流的发送时间的基础上,基于时间同步的前提,即可计算得到所述数据流在各节点对应入端口的到达时间。
98.步骤c2:基于所述到达时间,以及所述各节点的cqf周期,确定所述数据流在各节点对应出端口的出队列时间;
99.步骤c3:基于所述出队列时间,确定所述数据流在各节点的发送队列。
100.作为一种示例,现有技术中,psfp与发送队列的映射关系(即tid和qid之间的映射)比较简单和固定,即奇数时隙内接收的报文进入偶数发送队列并在偶数时隙内开门,偶数时隙内接收的报文进入奇数队列并在奇数时隙内开门,即tid和qid之间的映射关系是qid=(tid+1)mod 2,是一种简单的固定映射关系,不需要专门的队列映射模块。
101.而在多周期cqf中,不同入端口的入口时隙长度不同,不同出端口的发送队列数量也不同,因此,需要队列映射模块基于所述到达时间,以及所述各节点的cqf周期,确定所述数据流在各节点对应出端口的出队列时间,再基于所述出队列时间,确定所述数据流在各节点的发送队列。
102.具体地,所述出队列时间的计算公式为:
103.tid
out
=((r
×
(tid
in
+1))+offset)mod n低速链路向高速链路转发
104.高速链路向低速链路转发
105.其中,所述r为低速链路cqf周期长度tl与高速链路的cqf周期长度th的比率,tid
in
为上一节点发送所述数据流的发送时间,n为所述宏周期的长度,offset为预设入端口偏移量。
106.具体地,例如,发送端向所述节点1发送数据流(如图4所示的node a(低速链路)向node b(低速链路)发送数据流),由于链路速率相同,r=i,从发送端在其第零时隙发送的数据流,将在所述节点1的第零时隙到达。则所述tid
in
=0,计算得到所述tid
out
=1,即,在第一时隙发送,具体地,第一时隙时发送队列中门开的队列为q1。
107.例如,节点1向所述节点2发送数据流(如图5所示的node a(低速链路)向node b(高速链路)发送数据流),r为低速链路cqf周期长度tl与高速链路的cqf周期长度th的比率,即,r=3,由于节点1在长度为tl的时隙中发送帧,因此帧需要在长度为tl=r*th的这个时隙中到达。若所述长度为tl=r*th的这个时隙中有多个数据帧到达节点2,则可以选择offset为0-(r-1)的入端口偏移量(具体地,可以是均匀随机选择),以提高链路利用率,并防止在同一个th中发送网络阻塞。节点1在其第零时隙发送的数据流,将在所述节点2的第零时隙、第一时隙或者第二时隙(其中,所述节点2的第零时隙、第一时隙或者第二时隙对应于所述节点1的第零时隙)到达。则所述tid
in
=0,计算得到所述tid
out
=3、4或5,即,在节点2的第三、第四或第五时隙发送,具体地,第三、第四和第五时隙对应的发送队列中门开的队列分别为q3、q4、q5。
108.例如,若上述接收端为新的发送端,上述发送端为新的接收端,则节点2向所述节点1发送数据流(如图6所示的node a(高速链路)向node b(低速链路)发送数据流),r为低速链路cqf周期长度tl与高速链路的cqf周期长度th的比率,即,r=3,由于节点2在长度为th的时隙中发送帧,因此帧需要在长度为tl=r*th的这个时隙中到达节点1。节点2在第零时隙发送的数据流,将在所述节点1的第零时隙到达。则所述tid
in=
0,计算得到所述tid
out
=1,即,在节点2的第一时隙发送,具体地,第一时隙时发送队列中门开的队列为q1。
109.例如,若需要通过所述节点2向另一个节点3发送所述数据流,且,所述节点3对应出端口的链路速率与所述节点2相同(如图6所示的node a(高速链路)向node b(高速链路)发送数据流),由于链路速率相同,r=1,从节点2在第零时隙发送的数据流,将在所述节点3的第零时隙到达。则所述tid
in
=0,计算得到所述tid
out
=1,即,在第一时隙发送,具体地,第一时隙时发送队列中门开的队列为q1。
110.在本实施例中,基于上述计算方式,能够准确得到所述数据流在各节点的发送队列,提高了数据流的调度效率。
111.进一步地,基于本技术中第一实施例,提供本技术的另一实施例,参照图8,在该实施例中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之后,所述方法还包括:
112.步骤s60:基于预设已调度列表中数据流的流id、注入时间偏移量,以及所述已调度的数据流的帧长度,计算得到所述各节点对应出端口的时隙占用率;
113.作为一种示例,时隙占用率是指用于发送数据流的时间占比。
114.作为一种示例,预设已调度列表中存储有已调度的数据流的流id和注入时间偏移量,以及所述已调度的数据流的帧长度,计算得到所述各节点对应出端口的时隙占用率,即,已调度的数据流在该时隙下总共需要发送的时长占所述时隙长度的比率。其中,已调度的数据流在该时隙下总共需要发送的时长是基于所述注入时间偏移量,以及所述已调度的数据流的帧长度计算得到的。
115.步骤s70:基于所述时隙占用率,判断所述发送队列对应发送时隙中的已占用容量是否大于预设时隙容量;
116.作为一种示例,所述发送队列对应发送时隙是指所述出队列时间对应的时隙。
117.作为一种示例,每个发送队列均有预设时隙容量,即,在预设时隙内能够发送的最大数据帧长度。
118.作为一种示例,基于所述时隙占用率,判断所述发送队列对应发送时隙中的已占用容量是否大于预设时隙容量,若不大于,则认为数据流能够从所述发送队列对应发送时隙发送出去,即,认为该数据流能够调度成功。
119.步骤s80:若大于,则判断所述数据流的注入时隙所在cqf周期是否大于所述宏周期;
120.作为一种示例,若大于,认为数据流无法从所述发送队列对应发送时隙发送出去,即,因此,需要判断所述数据流的注入时隙所在cqf周期是否大于所述宏周期,若大于所述宏周期,则认为所述数据流在该宏周期内无法调度成功。
121.步骤s90:若不大于,则将所述数据流的注入时隙所在cqf周期偏移一个时隙,将所述偏移的一个时隙作为所述数据流的注入时间偏移量,并将所述数据流的id以及注入时间
偏移量存储至所述预设已调度列表;
122.作为一种示例,若不大于所述宏周期,则将所述数据流的注入时隙所在cqf周期偏移一个时隙,例如,若当前时隙为所述发送端的数据流的注入时隙所在cqf周期,且该发送端的数据流的注入时隙所在cqf周期不大于所述宏周期,则将所述数据流的注入时隙所在cqf周期偏移一个时隙,到达发送端的第一时隙,将所述偏移的一个时隙作为所述数据流的注入时间偏移量,并将所述数据流的id以及注入时间偏移量存储至所述预设已调度列表。
123.步骤s100:基于所述偏移一个时隙的数据流的注入时隙所在cqf周期,对在预设宏周期内的需调度的数据流进行搜索,得到所述数据流的注入时隙所在cqf周期内需调度的数据流。
124.作为一种示例,基于所述偏移一个时隙的数据流的注入时隙所在cqf周期,对在预设宏周期内的需调度的数据流进行搜索,得到所述偏移一个时隙的数据流的注入时隙所在cqf周期内需调度的数据流。将所述偏移一个时隙的数据流的注入时隙所在cqf周期作为所述发送端发送所述数据流的发送时间。并返回所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤,直至所述发送队列对应发送时隙中的已占用容量不大于预设时隙容量,则认为调度成功。
125.在本实施例中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流的步骤之后,所述方法还包括:
126.步骤s110:更新所述各节点对应出端口的发送队列,并执行所述获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中的传输路径的步骤,直至所述传输路径中的至少一个节点的发送队列无法容纳新的数据流。
127.在本实施例中,更新所述各节点对应出端口的发送队列,即,更新发送队列的已占用队列以及已占用时隙,并执行所述获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中的传输路径的步骤,即,重新其他需调度的数据流的发送队列(调度策略),直至所述传输路径中的至少一个节点的发送队列无法容纳新的数据流。无法容纳新的数据流是指队列占用率超过所述预设时隙容量,新的数据流无法加入所述发送队列。
128.在本实施例中,通过上述方式,能够最大程度地对需调度的数据流进行调度,从而最大程度地减少数据流的端到端时延以及网络资源的浪费,从而提升数据流的传输效率。
129.参照图9,图9是本技术实施例方案涉及的硬件运行环境的设备结构示意图。
130.如图9所示,该多链路速率组网下的数据流传输设备可以包括:处理器1001,存储器1005,通信总线1002。通信总线1002用于实现处理器1001和存储器1005之间的连接通信。
131.可选地,该多链路速率组网下的数据流传输设备还可以包括用户接口、网络接口、摄像头、rf(radio frequency,射频)电路,传感器、wifi模块等等。用户接口可以包括显示屏(display)、输入子模块比如键盘(keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可以包括标准的有线接口、无线接口(如wi-fi接口)。
132.本领域技术人员可以理解,图9中示出的多链路速率组网下的数据流传输设备结构并不构成对多链路速率组网下的数据流传输设备的限定,可以包括比图示更多或更少的
部件,或者组合某些部件,或者不同的部件布置。
133.如图9所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块以及多链路速率组网下的数据流传输程序。操作系统是管理和控制多链路速率组网下的数据流传输设备硬件和软件资源的程序,支持多链路速率组网下的数据流传输程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与多链路速率组网下的数据流传输系统中其它硬件和软件之间通信。
134.在图9所示的多链路速率组网下的数据流传输设备中,处理器1001用于执行存储器1005中存储的多链路速率组网下的数据流传输程序,实现上述任一项所述的多链路速率组网下的数据流传输方法的步骤。
135.本技术多链路速率组网下的数据流传输设备具体实施方式与上述多链路速率组网下的数据流传输方法各实施例基本相同,在此不再赘述。
136.本技术还提供一种多链路速率组网下的数据流传输装置,如图10所示,所述装置包括:
137.传输路径确定模块10,用于获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中的传输路径;
138.cqf周期确定模块20,用于基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期;
139.发送队列确定模块30,用于基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流。
140.可选地,在本技术的一种可能的实施方式中,所述cqf周期确定模块20包括:
141.链路速率比计算子模块,用于计算所述传输路径中各节点对应出端口之间的链路速率比,并确定所述链路速率比中具有最大链路速率的节点对应出端口;
142.cqf周期确定子模块,用于将所述具有最大链路速率的节点对应出端口的cqf周期作为基准cqf周期,并基于所述基准cqf周期,以及所述链路速率比,确定其他各节点对应出端口的cqf周期。
143.可选地,在本技术的一种可能的实施方式中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之前,所述装置还包括:
144.基准确定模块,用于确定所述链路速率比中具有最小链路速率的节点对应出端口,并将所述具有最小链路速率的节点对应出端口的发送队列数量作为基准发送队列数量;
145.发送队列数量确定模块,用于基于所述基准发送队列数量,确定其他各节点对应出端口的发送队列数量。
146.可选地,在本技术的一种可能的实施方式中,所述发送队列确定模块30,包括:
147.到达时间确定子模块,用于基于发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应入端口的到达时间;
148.出队列时间确定子模块,用于基于所述到达时间,以及所述各节点的cqf周期,确定所述数据流在各节点对应出端口的出队列时间;
149.发送队列确定子模块,用于基于所述出队列时间,确定所述数据流在各节点的发送队列。
150.可选地,在本技术的一种可能的实施方式中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之前,所述装置还包括:
151.第一数据流搜索模块,用于基于所述发送端的数据流的注入时隙所在cqf周期,对在预设宏周期内的需调度的数据流进行搜索,得到所述数据流的注入时隙所在cqf周期内需调度的数据流,其中,所述预设宏周期是基于已调度的数据流和需调度的数据流的发送周期计算得到的;
152.发送时间确定模块,用于将所述数据流的注入时隙所在cqf周期作为所述发送端发送所述数据流的发送时间。
153.可选地,在本技术的一种可能的实施方式中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之后,所述装置还包括:
154.时隙占用率确定模块,用于基于预设已调度列表中数据流的流id、注入时间偏移量,以及所述已调度的数据流的帧长度,计算得到所述各节点对应出端口的时隙占用率;
155.时隙容量判断模块,用于基于所述时隙占用率,判断所述发送队列对应发送时隙中的已占用容量是否大于预设时隙容量;
156.时隙比对模块,用于若大于,则判断所述数据流的注入时隙所在cqf周期是否大于所述宏周期;
157.时隙偏移模块,用于若不大于,则将所述数据流的注入时隙所在cqf周期偏移一个时隙,将所述偏移的一个时隙作为所述数据流的注入时间偏移量,并将所述数据流的id以及注入时间偏移量存储至所述预设已调度列表;
158.第二数据流搜索模块,用于基于所述偏移一个时隙的数据流的注入时隙所在cqf周期,对在预设宏周期内的需调度的数据流进行搜索,得到所述偏移一个时隙的数据流的注入时隙所在cqf周期内需调度的数据流。
159.可选地,在本技术的一种可能的实施方式中,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流的步骤之后,所述装置还包括:
160.循环调度模块,用于更新所述各节点对应出端口的发送队列,并执行所述获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中的传输路径的步骤,直至所述传输路径中的至少一个节点的发送队列无法容纳新的数据流。
161.本技术多链路速率组网下的数据流传输装置的具体实施方式与上述多链路速率组网下的数据流传输方法各实施例基本相同,在此不再赘述。
162.本技术还提供一种存储介质,所述存储介质上存储有多链路速率组网下的数据流传输程序,所述多链路速率组网下的数据流传输程序被处理器执行时实现如上述任一项所述的多链路速率组网下的数据流传输方法的步骤。
163.本技术存储介质具体实施方式与上述多链路速率组网下的数据流传输方法各实
施例基本相同,在此不再赘述。
164.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
165.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
166.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
167.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
技术特征:
1.一种多链路速率组网下的数据流传输方法,其特征在于,应用于多链路速率组网,所述多链路速率组网下的数据流传输方法,包括以下步骤:获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中的传输路径;基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期;基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流。2.如权利要求1所述的多链路速率组网下的数据流传输方法,其特征在于,所述基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期的步骤,包括:计算所述传输路径中各节点对应出端口之间的链路速率比,并确定所述链路速率比中具有最大链路速率的节点对应出端口;将所述具有最大链路速率的节点对应出端口的cqf周期作为基准cqf周期,并基于所述基准cqf周期,以及所述链路速率比,确定其他各节点对应出端口的cqf周期。3.如权利要求2所述的多链路速率组网下的数据流传输方法,其特征在于,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之前,所述方法还包括:确定所述链路速率比中具有最小链路速率的节点对应出端口,并将所述具有最小链路速率的节点对应出端口的发送队列数量作为基准发送队列数量;基于所述基准发送队列数量,确定其他各节点对应出端口的发送队列数量。4.如权利要求1所述的多链路速率组网下的数据流传输方法,其特征在于,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤,包括:基于发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应入端口的到达时间;基于所述到达时间,以及所述各节点的cqf周期,确定所述数据流在各节点对应出端口的出队列时间;基于所述出队列时间,确定所述数据流在各节点的发送队列。5.如权利要求1所述的多链路速率组网下的数据流传输方法,其特征在于,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之前,所述方法还包括:基于所述发送端的数据流的注入时隙所在cqf周期,对在预设宏周期内的需调度的数据流进行搜索,得到所述数据流的注入时隙所在cqf周期内需调度的数据流,其中,所述预设宏周期是基于已调度的数据流和需调度的数据流的发送周期计算得到的;将所述数据流的注入时隙所在cqf周期作为所述发送端发送所述数据流的发送时间。6.如权利要求5所述的多链路速率组网下的数据流传输方法,其特征在于,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列的步骤之后,所述方法还包括:
基于预设已调度列表中数据流的流id、注入时间偏移量,以及所述已调度的数据流的帧长度,计算得到所述各节点对应出端口的时隙占用率;基于所述时隙占用率,判断所述发送队列对应发送时隙中的已占用容量是否大于预设时隙容量;若大于,则判断所述数据流的注入时隙所在cqf周期是否大于所述宏周期;若不大于,则将所述数据流的注入时隙所在cqf周期偏移一个时隙,将所述偏移的一个时隙作为所述数据流的注入时间偏移量,并将所述数据流的id以及注入时间偏移量存储至所述预设已调度列表;基于所述偏移一个时隙的数据流的注入时隙所在cqf周期,对在预设宏周期内的需调度的数据流进行搜索,得到所述偏移一个时隙的数据流的注入时隙所在cqf周期内需调度的数据流。7.如权利要求6所述的多链路速率组网下的数据流传输方法,其特征在于,所述基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流的步骤之后,所述方法还包括:更新所述各节点对应出端口的发送队列,并执行所述获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中的传输路径的步骤,直至所述传输路径中的至少一个节点的发送队列无法容纳新的数据流。8.一种多链路速率组网下的数据流传输,其特征在于,所述包括:传输路径确定模块,用于获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端,确定所述数据流在所述多链路速率组网中的传输路径;cqf周期确定模块,用于基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的cqf周期;发送队列确定模块,用于基于所述发送端发送所述数据流的发送时间,以及所述cqf周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流。9.一种多链路速率组网下的数据流传输设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多链路速率组网下的数据流传输程序,所述多链路速率组网下的数据流传输程序配置为实现如权利要求1至7中任一项所述的多链路速率组网下的数据流传输方法的步骤。10.一种存储介质,其特征在于,所述存储介质上存储有多链路速率组网下的数据流传输程序,所述多链路速率组网下的数据流传输程序被处理器执行时实现如权利要求1至7任一项所述的多链路速率组网下的数据流传输方法的步骤。
技术总结
本申请公开了一种多链路速率组网下的数据流传输方法及其相关设备,属于通信技术领域,本申请通过获取需调度的数据流的发送端和接收端,并基于所述发送端和所述接收端确定所述数据流在所述多链路速率组网中的传输路径;基于所述传输路径中各节点对应出端口的链路速率,确定所述各节点对应出端口的CQF周期;本申请基于所述发送端发送所述数据流的发送时间,以及所述基于链路速率确定的CQF周期,确定所述数据流在各节点对应出端口的发送队列,并从所述发送队列发送所述数据流,解决了传统CQF需要全网周期相同,难以在带宽和时延之间取得平衡的技术问题。取得平衡的技术问题。取得平衡的技术问题。
技术研发人员:汪漪 刘研 詹双平
受保护的技术使用者:鹏城实验室
技术研发日:2023.05.08
技术公布日:2023/8/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种户外广告灯箱的制作方法 下一篇:城市废水污水处理回收设备及其处理方法与流程