1.本发明涉及网络设备领域,具体涉及一种基于循环
队列集转发的数据传输方法、装置及设备。
背景技术
:
::2.随着物联网和5g通信等新一代信息通信技术的发展,传统行业转型升级也加快了步伐。在智能制造中,实时控制、边缘计算及数字孪生等应用场景对低时延、低抖动及高可靠性的传输要求非常严格。时间敏感网络(timesensitivenetwork,tsn)以传统以太网为网络基础,通过时钟同步、数据调度、网络配置等
机制,提供确定性数据传输能力。时间敏感网络使用精准时间同步(precisetimeprotocol,ptp)进行时间同步,并结合整形机制、帧抢占等技术,实现流量的确定性传输。3.在现有技术中,循环队列转发机制(cyclicqueuingandforwarding,cqf)通过单流过滤和管控机制(perstreamfilteringandpolicing,psfp)中的时间门控控制时间触发流(time-triggeredflow,tt流)进入缓存队列的时间,并利用tas(timeawareshaper)机制中的输出门控机制(gatecontrollist,gcl)控制了tt流离开队列的时间。然而这种方法仅能实现小规模网络的确定性传输,无法实现节点之间链路距离较长的数据传输。技术实现要素:4.因此,本发明要解决的技术问题在于克服现有技术中仅能实现小规模网络的确定性传输,无法实现节点之间链路距离较长的数据传输的缺陷,从而提供一种基于循环队列集转发的数据传输方法、装置及设备。5.根据第一方面,本发明提供一种基于循环队列集转发的数据传输方法,所述方法包括:6.当交换机检测到待传输
数据包时,对所述待传输数据包进行解析,得到解析结果,所述解析结果包括待传输数据包的时隙标签;7.获取预先规划好的时隙标签队列映射表,并基于所述时隙标签和时隙标签队列映射表对所述时隙标签进行映射匹配,确定所述待传输数据包的转发队列和转发时隙,将所述待传输数据包进行映射入队;8.基于转发时隙和映射入队结果,通过循环队列集机制将待传输数据包缓存至对应的奇队列集或偶队列集中;9.基于队列集中的队列优先级顺序,对缓存的待传输数据包进行发送。10.在一实施例中,在获取预先规划好的时隙标签队列映射表之前,所述方法还包括:11.利用循环队列集转发跨域确定性调度算法,确定时隙标签队列映射表。12.在一实施例中,所述方法还包括:13.设置循环队列转发机制和循环队列集转发机制的门控周期和时隙,并建立跨域网络时隙与周期数学模型;14.设计循环队列集转发机制的约束条件,并根据所述约束条件设计循环队列集跨域确定性调度算法。15.在一实施例中,所述通过循环队列集机制将待传输数据包缓存至对应的奇队列集或偶队列集中,包括:16.对所述待传输数据包的字段进行解析,并判断所述待传输数据包是否为时间触发流;17.根据判断结果,确定所述待传输数据包对应的缓存队列。18.在一实施例中,所述方法还包括:19.将所述待传输数据包从接入网内循环队列转发机制进行跨域传输,传输至核心网内循环队列集转发机制;20.在核心网内,通过循环队列集转发机制,将所述待传输数据包进行长距离传输;21.将所述待传输数据包从核心网内循环队列集转发机制进行跨域传输,传输至接入网内循环队列转发机制。22.在一实施例中,所述循环队列转发机制的转发时隙大小和循环队列集转发机制的转发时隙大小一致。23.根据第二方面,本发明提供一种基于循环队列集转发的数据传输装置,包括:24.输入解析模块,用于当交换机检测到待传输数据包时,对所述待传输数据包进行解析,得到解析结果,所述解析结果包括待传输数据包的时隙标签;25.映射匹配模块,用于获取预先规划好的时隙标签队列映射表,并基于所述时隙标签和时隙标签队列映射表对所述时隙标签进行映射匹配,确定所述待传输数据包的转发队列和转发时隙,将所述待传输数据包进行映射入队;26.队列缓存模块,用于基于转发时隙和映射入队结果,通过循环队列集机制将时间触发流中的待传输数据包进行缓存至对应的奇队列集或偶队列集中;27.输出转发模块,用于基于队列集中的队列优先级顺序,对缓存的待传输数据包进行发送。28.根据第三方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面及其可选实施方式中任一项的基于循环队列集转发的数据传输方法。29.根据第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面及其可选实施方式中任一项的基于循环队列集转发的数据传输方法。30.本发明技术方案,具有如下优点:31.本发明实施例提供了一种基于循环队列集转发的数据传输方法,通过根据待传输数据包的解析结果,将待传输数据包进行映射入队,在时间敏感网络中循环队列转发机制的两个奇偶优先队列的原有基础上,将每个队列扩展成一组队列集,通过奇队列集和偶队列集缓存待传输数据包,并按照队列集中队列的优先级顺序进行发送,解决了大规模网络中跨域确定性传输的问题,降低数据传输调度的复杂度。附图说明32.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。33.图1是本发明实施例提出的cqf整形机制原理图;34.图2是本发明实施例提出的csqf整形机制原理图;35.图3是本发明实施例提出的csqf时隙转发示意图;36.图4是本发明实施例提出的dip整形机制原理图;37.图5是本发明实施例提出的cqf和dip机制跨域传输示例图;38.图6是本发明实施例提出的一种基于循环队列集转发的数据传输方法的流程图;39.图7是本发明实施例提出的跨域确定性流量整形机制cqcf结构图;40.图8是本发明实施例提出的时隙cycle1时cqf到cqcf跨域传输示意图;41.图9是本发明实施例提出的时隙cycle2时cqf到cqcf跨域传输示意图;42.图10是本发明实施例提出的时隙cycle3时cqf到cqcf跨域传输示意图;43.图11是本发明实施例提出的时隙cycle4时cqf到cqcf跨域传输示意图;44.图12是本发明实施例提出的时隙cycle1与cycle2时cqcf之间跨域传输示意图;45.图13是本发明实施例提出的时隙cycle3与cycle4时cqcf之间跨域传输示意图;46.图14是本发明实施例提出的时隙cycle1时cqcf到cqf跨域传输示意图;47.图15是本发明实施例提出的cqf和cqcf机制结合的数据转发时隙示例图;48.图16是本发明实施例提出的一种基于循环队列集转发的数据传输方法装置的结构框图;49.图17是本发明实施例提出的一种计算机设备的硬件结构示意图。具体实施方式50.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。51.目前,在智能制造中,实时控制、边缘计算及数字孪生等应用场景对低时延、低抖动及高可靠性的传输要求非常严格,然而采用尽力而为(besteffort)的传统以太网已经不能满足越发严格的网络需求。时间敏感网络针对l2层的数据进行处理,对于流量在大规模网络中确定性传输问题,需要加入针对l3层的路由转发技术,因此ietf建立了确定性网络detnet工作组。然而,在进行大规模确定性网络传输时,跨域传输方式困难、流量规划调度复杂等问题都使得确定性网络detnet无法充分利用网络资源,降低tt流调度率。52.在现有技术一中,如图1所示,在t1时隙中,psfp会控制时间敏感tt流存入优先级队列7中,而gcl中该队列的发送门控关闭,所以tt流会缓存于优先级队列7中,而对于优先级队列6来言,psfp门控使得该队列无法缓存网络流量,而gcl中该队列的发送门控打开,队列6中的网络流量会发送;在t2时隙,此时优先级队列7与优先级队列6状态发生变化,优先级队列7会不允许接收,而允许发送,优先级队列6会允许接收,而不允许发生;t3时刻,队列7与6的状态又会变为时隙t1中的状态。cqf机制至少存在奇偶两条队列,并且使用乒乓队列转发的模式进行发送与接收,由此每条流量的时延可以具体,且时延大小只与调度的传输时隙大小与网络跳数有关。53.然而,现有技术一可以实现小规模网络的确定性传输。但在大规模网络中,核心网中各个节点之间的链路距离过长,使得cqf机制中的数据包无法在发送时隙内从发送节点到达接收节点,从而无法保证确定性,因此cqf并不适合大规模网络确定性传输。54.在现有技术二中,在cqf基础上提出了一种跨域流量整形机制(cyclicspecifiedqueuingandforwarding,csqf)。csqf在cqf奇偶优先级队列的基础之上增加了额外队列,对网络流量进行存储与转发。如图2所示,数据包进入交换机后进行解析,对应着cqf中的交换设备、流量优先级过滤与psfp,然后根据提前规划的时隙,数据包进入对应优先级队列进行传输。55.csqf是ietf在detnet中提出的确定性传输机制,加入了基于源路由的确定性路由转发。csqf将数据包转发过程中的途径的所有节点与对应转发时隙提前规划,并显式标记在报文头上。当数据包在转发时,节点会读取数据包头部中与节点对应的时隙标签,并根据时隙选择队列入队,从而完成流量的确定性传输。如图3所示,数据包在传输前已经确定了转发路径与路径上对应节点的时隙,按照提前规划的结果进行转发便可以确定性传输。56.然而现有技术二通过引入多队列的方式为大规模网络确定性传输提供了新的思路,缓存队列的存在使得流量整形机制不再需要全网时间同步,从而降低了确定性传输的实现难度。但数据包需要严格按照spl(specifiedcyclelist)中的时隙标签进行流量转发。由于csqf采用源路由,即数据报文头显示标记数据包转发节点与时隙,导致在流量传输过程中便无法改变spl中的路径与时隙信息。一旦网络中出现流量阻塞或者节点宕机等突发情况,节点无法正常转发数据包,从而无法完成确定性传输。57.在现有技术三中,提出一种确定性网络技术dip,可以实现大规模网络确定性传输。dip同样采用了多个队列,默认为三个队列,并通过分段路由(segmentrouting,sr)进行流量转发。分段路由sr会将数据包发送时隙标记为sid。当数据包进入队列时,dip会通过时隙映射表(cyclemappingtable)将sid映射为该数据包下一跳节点中的发送时隙。数据包到达下一跳节点后,会根据当前sid进入对应的转发队列。即dip需要通过时隙映射入队,并不断更改时隙标签进行转发,最终完成确定性传输。如图4所示。假设数据包会进入dip中时隙x与x+1所对应的队列,并且在时隙x+1结束前完成入队。根据数据包入队的时隙,dip将该数据包缓存至时隙x+2的发送队列。dip节点会提取数据包的时隙标签,并通过时隙映射表将该数据包输送至时隙x+2队列,并于时隙x+2时转发。58.然而现有技术三采取分段路由的方法实现了数据平面路由可编程,当数据包在转发时,只需要确定某一段传输路径的源与目的节点,无需确定明确路径,从而保证了确定性传输的可靠性。但是dip在与传统tsn机制跨域传输的过程却十分复杂,如图5所示。由于时间不同步,跨域传输时需要额外补偿不同门控周期之间的时间差值,即为图5中的hco。而dip与cqf的传输时隙cycle不同,使得流量在跨域传输时需要根据不同的cycle去计算传输时隙,增加了调度的困难性。此外,由于时隙不同与流量整形方式的不同,流量在进入不同的域时需要重新进行时隙规划。即流量在第一个域调度完后,需要根据第一个域的结果来调度途径的第二个域,并在第二个域调度完后,才能调度后续的域。这样的时隙调度方案显然降低了资源利用率,增加了算法执行的时间。59.为了实现流量传输,本发明实施例中提供一种基于循环队列集转发的数据传输方法,如图6所示,该方法包括如下步骤s101至步骤s104。60.步骤s101:当交换机检测到待传输数据包时,对待传输数据包进行解析,得到解析结果,解析结果包括待传输数据包的时隙标签。61.在本发明实施例中,在待传输数据包进入交换节点后,交换机能够检测到待传输数据包,通过交换机内置的解析模块对数据包进行解析,提取出待传输数据包报文头的流量信息,解析结果包括流量优先级、数据包大小等,对于时间触发流中的待传输数据包,解析结果还包括数据包转发的时隙标签。62.步骤s102:获取预先规划好的时隙标签队列映射表,并基于时隙标签和时隙标签队列映射表对时隙标签进行映射匹配,确定待传输数据包的转发队列和转发时隙,将待传输数据包进行映射入队。63.在本发明实施例中,通过交换机内部预先规划好的时隙标签队列映射表,根据解析结果中的时隙标签,确定待传输数据包的转发队列,其中,时隙标签队列映射表存储有时隙标签和队列之间的对应关系;通过交换机内部预先规划好的队列发送时隙映射表,更新待传输数据包的时隙标签。通过映射模块对数据包进行时隙映射和队列映射,其中,映射模块包含了优先级映射表、时隙映射表和队列映射表。64.步骤s103:基于转发时隙和映射入队结果,通过循环队列集机制将待传输数据包缓存至对应的奇队列集或偶队列集中。65.在本发明实施例中,循环队列集机制通过将奇队列和偶队列扩充为奇队列集和偶队列集,采用和循环队列机制相同的时隙大小,在奇队列集和偶队列集中,每个队列集拥有相同的队列数,且队列数目需要大于等于二。根据转发时隙和映射出待传输数据包的缓存队列,将待传输数据包缓存至对应的集中,以完成入队操作,从而保证流量传输实验的上下界,实现流量的确定性传输。66.步骤s104:基于队列集中的队列优先级顺序,对缓存的待传输数据包进行发送。67.在本发明实施例中,由于循环队列集机制中,每个队列集含有多个队列,如图7所示,因此在初次时隙变换时不会直接从某一个队列集切换至另一个队列集,而是按照队列优先级顺序,在队列集内部从当前队列切换到下一队列。因此获取队列集中的队列优先级顺序,按照优先级顺序对待传输数据包进行发送,从而完成流量的确定性传输。68.需要说明的是,在奇队列集发送待传输数据包时,偶队列集只能接收待传输数据包,反之亦然。69.循环队列集机制通过延长数据包端到端转发时间,实现了数据包的长距离传输,同时采用了和循环队列转发机制相同的时隙,解决了不同机制时隙无法匹配而联合规划困难的问题。70.通过上述实施例,通过根据待传输数据包的解析结果,将待传输数据包进行映射入队,在时间敏感网络中循环队列转发机制的两个奇偶优先队列的原有基础上,将每个队列扩展成一组队列集,通过奇队列集和偶队列集缓存待传输数据包,并按照队列集中队列的优先级顺序进行发送,解决了大规模网络中跨域确定性传输的问题,降低数据传输调度的复杂度。71.具体地,在一实施例中,本发明实施例提供的基于循环队列集转发的数据传输方法还包括如下步骤:72.步骤s201:利用循环队列集转发跨域确定性调度算法,确定时隙标签队列映射表。73.在本发明实施例中,在网络流量跨域传输过程中,为避免大量流量同时进入交换机,而导致丢包的情况,需要对网络流量进行时隙偏置处理,利用基于贪婪算法的跨域确定性调度算法,对比时隙大小不一致的调度算法,提升了调度可行性,节约了网络带宽资源利用率。74.调度算法生成数据包的发送时隙和队列关系,交换机控制器根据算法结果生成时隙标签队列映射表和队列发送时隙映射表。75.具体地,在一实施例中,本发明实施例提供的基于循环队列集转发的数据传输方法还包括如下步骤:76.步骤s2011:设置循环队列转发机制和循环队列集转发机制的门控周期和时隙,并建立跨域网络时隙与周期数学模型。77.步骤s2012:设计循环队列集转发机制的约束条件,并根据约束条件设计循环队列集跨域确定性调度算法。78.在本发明实施例中,设置循环队列转发机制和循环队列集转发机制一致的门控周期和时隙,扩展cqf机制约束条件,设计cqcf机制约束。根据约束条件建立数学模型,并通过数学模型建立最优化问题,采取启发式算法求解最优调度结果,实现tt流规划调度。79.首先建立大规模网络跨域传输时隙与周期数学模型,在接入网中,流量分为域内流量和跨域流量两类,因此接入网中搭载的流量整形机制循环队列转发机制的门控周期为域内流量与跨域流量周期的最小公倍数;在核心网中,只存在跨域流量,因此核心网中搭载的cqcf的门控周期为所有跨域流量周期的最小公倍数。由于接入网内的流量包括了核心网内的流量,按照最小公倍数计算定义,可得cqcf机制的门控周期为cqf机制的门控周期的因数。定义将cqcf的门控周期设置为cqf的门控周期大小,由于单个门控周期内包含所有tt流的转发情况,因此将cqcf的门控周期重复整数次不会影响网络流量的规划调度。80.在时间敏感网络中,采用时分复用(timedivisionmultiplexing,tdm)将流量传输时间划分为时间片段,传输时隙的取值在一个范围内。最小时隙需要满足流量从上游节点传输至下游节点,而最大时隙为所有流量的最大公约数。因此cqf的最大时隙为域内流量和跨域流量周期的最大公约数,cqcf的最大时隙为跨域流量周期的最大公约数。由于接入网内的流量包括了核心网流量,所以cqcf最大时隙为cqf最大时隙的倍数。定义将cqcf的时隙划分为多个cqf时隙,选取cqf时隙作为最小单位标准。81.综合上述,以cqf机制为基准,cqcf的门控周期扩大为原来门控周期的n倍,时隙缩小为原来时隙的1/m,n与m都是正整数。同时cqcf队列集中的队列数量需要设定为m。将cqf机制与cqcf机制的门控周期与时隙都进行统一,最终结果使得整个网络的门控周期与时隙大小一致,降低了规划调度难度。82.其中,循环队列转发机制的转发时隙和循环队列集转发机制的转发时隙一致。83.需要说明的是,一般情况中,cqcf的m取值为2,即cqcf时隙为cqf时隙的两倍,cqcf的队列集中各有两个优先级队列。84.基于cqcf机制,接入网和核心网时隙一致,旨在使得tsn机制与detnet机制搭载同样大小的时隙,便于跨域确定性传输的时隙规划,降低tt流规划调度的复杂度,避免时隙不一致带来的规划难题。85.然后建立cqcf跨域确定性传输约束数学模型,在大规模确定性网络中,控制器需要提前掌握网络拓扑信息与时间敏感流量tt流信息,其中网络流量信息如表1所示。86.表187.属性名称内容说明flownum流量编号src源ip地址dst目的ip地址period流量周期length流量长度starttime开始发送时间deadline最大端到端时延prior流量优先级offset流量偏置path流量规划路径88.根据时间敏感流量的信息,可以按照约束数学模型进行网络调度。89.(1)时隙约束:时隙是cqf与cqcf的最小传输单元。在cqf中,数据包需要在一个时隙内完成从上游节点到下游节点的转发过程,因此时隙大小需要包含最大传输单元的所有时延,即发送时延,传播时延,处理时延,排队时延,同时还需要包含时间同步带来的时延补偿。因此最小时隙大小如下:90.mincycle=maxlength/bandwidth+link_delay+syncꢀꢀ(1)91.其中link_delay为传播时延,处理时延,排队时延,以及测试数据包发送时延的总和;sync为同步所需要的时延;maxlength/bandwidth为流量中最大长度数据包的发送时延。92.最大的时隙为所有流量的周期的最大公约数。即最大时隙为:93.maxcycle=gcd(f.period)ꢀꢀ(2)94.综合上述,此时时隙cycle的取值范围为:95.mincycle≤cycle≤maxcycleꢀꢀ(3)96.cycle∈u=cd(f.period)ꢀꢀ(4)97.同时为了方便调度,时隙cycle需要为f.period的公约数。98.(2)门控周期约束:门控周期是时间敏感网络中的循环周期,最小的门控周期应为所有流量周期的最小公倍数,即最小门控周期的定义式如下。99.mingcl=lcm(f.period)ꢀꢀ(5)100.为了方便规划调度,在cqcf中,gcl需要为4的倍数,因此在cqcf中:101.mingcl=lcm(f.period,4)ꢀꢀ(6)102.可以得到门控周期与时隙的关系式:103.gcl=4n*cycle,n∈ν+ꢀꢀ(7)104.(3)偏置约束:起始节点加入偏置是为了解决了多个数据包同时进入一个交换机时产生冲突,导致交换机无法同时发送时间敏感流量而造成调度失败的问题。在流量进入一个新的域时,都需要进行偏置处理,对于同一个域内,由于节点已知,规划调度时会考虑到流量入队时间,将冲突的情况在开始发送时进行避免,所以在一个域内,只需要在第一个节点进行偏置,便可以完成该域内的无冲突传输。偏置会将该流量的发送时隙延迟一个或多个cycle,每次进行偏置会使得f.offset加1,偏置数目范围如下。105.0≤f.offset≤f.period/cycle-1ꢀꢀ(8)106.其中f.period为各个流的发送周期,cycle为时隙大小。107.(4)时延约束:将整个网络分为核心网和接入网,分别搭载cqcf机制与cqf机制,因此需要计算每个域的端到端时延后进行判断,公式如下所示:[0108][0109]cqf_delay代表接入网的端到端时延,cqcf_delay代表了核心网的端到端时延,将所有网络的时延相加,便得到了总体端到端时延e2e_delay,比较e2e_delay与流量允许最大端到端时延f.deadline,当e2e_delay小于等于f.deadline时,才能保证流量的低时延传输。[0110](5)队列约束:定义o(i,j,m,n,t)为t时隙,流fi的第j个数据包pij位于交换机sm的端口n的状态。其中o(i,j,m,n,t)=1意味着该数据包存在于该端口,而o(i,j,m,n,t)=0意味着该数据包不存在于该端口。(i,j,m,n,t)之间满足的关系如下。[0111]在cqf机制中:[0112]t=fi.offset+(j-1)*fi.period/cycle+hop(fi,smn)ꢀꢀ(10)[0113]在cqcf机制中:[0114]t=fi.offset+(j-1)*fi.period/cycle+2*hop(fi,smn)ꢀꢀ(11)[0115]其中fi.offset表示流fi在该域中的偏置大小;fi.period为流fi的周期大小;cycle为传输时隙;hop(fi,smn)表示在该域中流fi依据规划路径到达smn所需要的跳数。[0116](6)传输约束:当数据包在cqf机制中传输时,数据包需要在一个时隙完成节点之间的转发,并在下一个时隙发送,所以任意两节点之间的整体时延为一个单位时隙。[0117]而在cqcf机制中,由于核心网数据链路的变长,数据包无法在一个时隙内完成节点之间传输。cqcf通过增加一个队列,延长了数据包链路传输时间,允许数据包在两个或者以上时隙内完成传输,默认两个节点之间的时延为两个单位时隙。[0118]传输约束描述如下:默认cqf机制需要在上一跳传输时隙的基础上加1,从而得到下一跳节点的传输时隙;默认cqcf机制需要在上一跳传输时隙的基础上加2,从而得到下一跳节点的传输时隙。[0119]然后,设计cqcf跨域确定性调度算法:通过约束条件(6),可知在cqf机制中,同一个数据包pij在不同的交换机队列中满足传输时隙加1的规律,在cqcf中,同一个数据包pij在不同的交换机队列中满足传输时隙加2的规律。由此便得到了同一个数据包pij的路径上所有交换机与时隙t的关系。同时对于同一流fi来言,数据包之间也存在关系,假设pij的传输时隙为tij,那么pij+1的传输时隙为tij+f.period/cycle。[0120]因此只需要确定fi的第一个数据包pi0的传输时隙,便可以得到该数据包路径上所有交换机节点的传输时隙,同时也可以得到fi所有数据包在各交换机上的传输时隙,由此可以得到该流量的所有调度结果。而规划fi第一个数据包pi0的传输时隙,需要计算pi0的实际偏置大小,同时还需要考虑流fi的起始时间fi.starttime。偏置大小主要由fi.starttime与优先级fi.prior构成。当通过约束条件计算出偏置后,便可以知道pi0的起始时隙,最终根据规划路径得到调度结果。[0121]跨域确定性传输伪代码如算法1所示,其中输入所有流量信息集合f与网络拓扑信息g;输出为调度矩阵h,为一个三维矩阵,其三维分别为时隙t,交换机m与端口n,矩阵中元素为数据包pij,即h为o(i,j,m,n,t)的集合。[0122]算法1跨域确定性传输机制cqcf规划调度算法如下:[0123][0124][0125]通过交换机之间的时隙关系与流量fi数据包之间的关系,得到调度矩阵h。[0126]具体地,在一实施例中,上述步骤s103中通过循环队列集机制将待传输数据包缓存至对应的奇队列集或偶队列集中,具体包括如下步骤:[0127]步骤s1031:对待传输数据包的字段进行解析,并判断待传输数据包是否为时间触发流。[0128]步骤s1032:根据判断结果,确定待传输数据包对应的缓存队列。[0129]在本发明实施例中,由于网络中的流量包括了时间触发流和其他非时间触发流,对于时间触发流,通过优先级队列7至优先级队列4进行转发;对于非时间触发流,通过优先级队列3至优先级队列0进行转发。[0130]时间触发流和非时间触发流在数据包格式上的字段存在区别,在tsn中,一般采用ieee802.1q封装的vlan数据帧格式,存在一个pri字段,包含3个bit,可以定义数据包进入的队列,即确定了优先级。[0131]tt流中的时隙标签通过时隙映射表确立该数据包在该节点的转发时隙,然后根据转发时隙映射出该数据包的缓存队列并进行入队操作。门控列表按照规划的时隙来决定各个队列的开关情况,当数据包从队列中发送时,非tt流直接转发,而tt流则经过逆解析模块将时隙标签改变为当前发送时隙值。[0132]对于时间触发流,通过优先级队列7至优先级队列4进行转发,其中,从优先级队列7到优先级队列4,优先级递降,按照时间触发顺序以及队列优先级依次对数据进行传输;对于非时间触发流,按照数据接收顺序依次进行传输。[0133]时间触发流的优先级高于其他流量,因此根据判断结果确定队列优先级顺序,以将优先级高的数据包发送,从而提高数据传输效率。[0134]具体地,在一实施例中,本发明实施例提供的基于循环队列集转发的数据传输方法还包括如下步骤:[0135]步骤s105:将待传输数据包从接入网内循环队列转发机制进行跨域传输,传输至核心网内循环队列集转发机制。[0136]步骤s106:在核心网内,通过循环队列集转发机制,将待传输数据包进行长距离传输。[0137]步骤s107:将待传输数据包从核心网内循环队列集转发机制进行跨域传输,传输至接入网内循环队列转发机制。[0138]在本发明实施例中,循环队列转发机制的转发时隙和循环队列集转发机制的转发时隙一致。将待传输数据包从循环队列转发机制进行跨域传输至循环队列集转发机制,数据包从接入网进入核心网,由于全网时间同步,每个域门控周期起始时间一致。假设在时隙cycle1时,数据包从cqf机制的奇队列发送,进入核心网的cqcf机制中。[0139]当cqf奇队列发送数据包时,cqcf机制的奇队列集发送数据包,偶队列集接收数据包,因此数据包会进入cqcf的偶队列集中。同时根据数据包的时隙标签,数据包会选择对应优先级队列入队缓存,假设该数据包在时隙cycle1进入了队列5,如图8所示。该数据包完成跨域传输的时间为2个时隙,通过设立时隙大小,以满足长距离传输要求,由此完成大规模跨域传输。[0140]在时隙cycle2时,cqf机制的偶队列发送数据包,此时数据包不会进入队列7或者队列6中,因为奇队列集还在发送数据,只有偶队列集能接收。假设该数据包会进入优先级队列4中,如图9所示。在时隙cycle3与cycle4的跨域传输示意图分别如图10和图11所示。[0141]在循环队列集转发机制内,将待传输数据包进行核心网长距离传输,数据包在核心网中进行传输,此时核心网中的节点搭载cqcf机制,通过奇偶队列集循环发送数据包。[0142]在cycle1与cycle2时,cqcf1的奇队列集中的数据包会进入cqcf2中的偶队列集,如图12所示。数据包通过时隙标签确定进入队列,图13中cqcf1优先级队列7中的数据包会进入cqcf2的队列5中,cqcf2优先级队列6中的数据包会进入cqcf2的队列4中。[0143]在cycle3与cycle4时,cqcf1的偶队列集中的数据包会进入cqcf2中的奇队列集,如图13所示。cqcf1优先级队列5中的数据包会进入cqcf2的队列7中,cqcf2优先级队列4中的数据包会进入cqcf2的队列6中。在传输时,需要保证数据包的端到端传输时隙大小一致,从而实现数据包传输抖动为零。[0144]将待传输数据包从循环队列集转发机制进行跨域传输至循环队列转发机制:数据包从核心网到达目的节点所在接入网。假设在时隙cycle1时,cqcf的奇队列集在传输数据包,如下图14所示。在cycle1时,数据包从cqcf的奇队列集的队列7进入cqf的优先级队列7;在cycle2时,数据包从cqcf的队列6进入cqf的优先级队列6中,即使得cqcf队列集中的所有数据进入到cqf机制的奇偶队列中。而在cycle3与cycle4时,偶队列集发送数据并进入cqf的奇偶队列中,完成cqcf机制与cqf机制的跨域传输。[0145]在互联网中,一个有权自主决定在本系统中应采用何种路由协议的小型单位被称为自治系统as域。在tsn中,流量整形机制只需要考虑一个as域内的流量转发,所以其路由协议只需要使用igp协议。而对于大规模确定性网络,网络流量需要流经多个as域,因此网络需要考虑跨域传输的路由转发方案。[0146]随着互联网的不断革新,传统网络逐渐被取代,软件定义网络(softwaredefinednetwork,sdn)等新型网络技术应运而生。软件定义网络利用网络可编程思想,通过控制器下发流表来转发网络流量,引出了很多新型技术。分段路由在sdn网络的思想下产生,其核心在于将数据包传输路径切割为不同的段,并在发送节点将分段信息插入到数据包中,中间节点会读取数据包中携带的分段信息进行转发。[0147]本发明采取分段路由进行路由转发,将流量经过的路径与传输时隙显示携带在数据包的sid中。当tt流在cqf域中传输时,会进入奇偶队列中允许接收的队列中;在cqcf域中传输时,会进入奇偶队列集中允许接收的队列集中优先级较高的队列中,如图15所示。[0148]基于相同发明构思,本发明还提供一种基于循环队列集转发的数据传输装置。[0149]图16是根据一示例性实施例提出的一种基于循环队列集转发的数据传输装置。如图16所示,该系统包括:[0150]输入解析模块101,用于当交换机检测到待传输数据包时,对待传输数据包进行解析,得到解析结果,解析结果包括待传输数据包的时隙标签。具体内容参见上述步骤s101的相关描述,在此不再进行赘述。[0151]映射匹配模块102,用于获取预先规划好的时隙标签队列映射表,并基于时隙标签和时隙标签队列映射表对时隙标签进行映射匹配,确定待传输数据包的转发队列和转发时隙,将待传输数据包进行映射入队。具体内容参见上述步骤s102的相关描述,在此不再进行赘述。[0152]队列缓存模块103,用于基于转发时隙和映射入队结果,通过循环队列集机制将待传输数据包进行缓存至对应的奇队列集或偶队列集中。具体内容参见上述步骤s103的相关描述,在此不再进行赘述。[0153]输出转发模块104,用于基于队列集中的队列优先级顺序,对缓存的待传输数据包进行发送。具体内容参见上述步骤s104的相关描述,在此不再进行赘述。[0154]本发明实施例提供的基于循环队列集转发的数据传输装置,通过根据待传输数据包的解析结果,将待传输数据包进行映射入队,在时间敏感网络中循环队列转发机制的两个奇偶优先队列的原有基础上,将每个队列扩展成一组队列集,通过奇队列集和偶accessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;存储介质还可以包括上述种类的存储器的组合。[0165]显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。当前第1页12当前第1页12
技术特征:
1.一种基于循环队列集转发的数据传输方法,其特征在于,所述方法包括:当交换机检测到待传输数据包时,对所述待传输数据包进行解析,得到解析结果,所述解析结果包括待传输数据包的时隙标签;获取预先规划好的时隙标签队列映射表,并基于所述时隙标签和时隙标签队列映射表对所述时隙标签进行映射匹配,确定所述待传输数据包的转发队列和转发时隙,将所述待传输数据包进行映射入队;基于转发时隙和映射入队结果,通过循环队列集机制将待传输数据包缓存至对应的奇队列集或偶队列集中;基于队列集中的队列优先级顺序,对缓存的待传输数据包进行发送。2.根据权利要求1所述的方法,其特征在于,在获取预先规划好的时隙标签队列映射表之前,所述方法还包括:利用循环队列集转发跨域确定性调度算法,确定时隙标签队列映射表。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:设置循环队列转发机制和循环队列集转发机制的门控周期和时隙,并建立跨域网络时隙与周期数学模型;设计循环队列集转发机制的约束条件,并根据所述约束条件设计循环队列集跨域确定性调度算法。4.根据权利要求1所述的方法,其特征在于,所述通过循环队列集机制将待传输数据包缓存至对应的奇队列集或偶队列集中,包括:对所述待传输数据包的字段进行解析,并判断所述待传输数据包是否为时间触发流;根据判断结果,确定所述待传输数据包对应的缓存队列。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述待传输数据包从接入网内循环队列转发机制进行跨域传输,传输至核心网内循环队列集转发机制;在核心网内,通过循环队列集转发机制,将所述待传输数据包进行长距离传输;将所述待传输数据包从核心网内循环队列集转发机制进行跨域传输,传输至接入网内循环队列转发机制。6.根据权利要求5所述的方法,其特征在于,所述循环队列转发机制的转发时隙大小和循环队列集转发机制的转发时隙大小一致。7.一种基于循环队列集转发的数据传输装置,其特征在于,所述装置包括:输入解析模块,用于当交换机检测到待传输数据包时,对所述待传输数据包进行解析,得到解析结果,所述解析结果包括待传输数据包的时隙标签;映射匹配模块,用于获取预先规划好的时隙标签队列映射表,并基于所述时隙标签和时隙标签队列映射表对所述时隙标签进行映射匹配,确定所述待传输数据包的转发队列和转发时隙,将所述待传输数据包进行映射入队;队列缓存模块,用于基于转发时隙和映射入队结果,通过循环队列集机制将待传输数据包进行缓存至对应的奇队列集或偶队列集中;输出转发模块,用于基于队列集中的队列优先级顺序,对缓存的待传输数据包进行发送。
8.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-6中任一项所述的基于循环队列集转发的数据传输方法。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的基于循环队列集转发的数据传输方法。
技术总结
本发明提供一种基于循环队列集转发的数据传输方法、装置及设备,该方法包括:当交换机检测到待传输数据包时,对待传输数据包进行解析,得到解析结果;获取预先规划好的时隙标签队列映射表,进行映射匹配,确定待传输数据包的转发队列和转发时隙,将待传输数据包进行映射入队;通过循环队列集机制将待传输数据包缓存至对应的奇队列集或偶队列集中;基于队列集中的队列优先级顺序,对缓存的待传输数据包进行发送。通过本发明提供的基于循环队列集转发的数据传输方法、装置及设备,通过奇队列集和偶队列集缓存待传输数据包,按照队列的优先级顺序进行发送,解决了大规模网络中跨域确定性传输的问题,降低数据确定性调度的复杂度。调度的复杂度。调度的复杂度。
技术研发人员:
陈佳 黄旭 郭阔 刘上 钱东升 高德云
受保护的技术使用者:
北京交通大学
技术研发日:
2022.11.14
技术公布日:
2023/3/3