CN117597908A - 确定性流传输方法、系统及电子设备 - Google Patents
确定性流传输方法、系统及电子设备 Download PDFInfo
- Publication number
- CN117597908A CN117597908A CN202280002285.5A CN202280002285A CN117597908A CN 117597908 A CN117597908 A CN 117597908A CN 202280002285 A CN202280002285 A CN 202280002285A CN 117597908 A CN117597908 A CN 117597908A
- Authority
- CN
- China
- Prior art keywords
- transmission node
- scheduling
- transmission
- period
- scheduling period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 620
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012423 maintenance Methods 0.000 claims description 94
- 238000013507 mapping Methods 0.000 claims description 94
- 238000005259 measurement Methods 0.000 claims description 93
- 230000000737 periodic effect Effects 0.000 claims description 68
- 238000012545 processing Methods 0.000 claims description 39
- 230000001934 delay Effects 0.000 claims description 24
- 238000007493 shaping process Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 16
- HRULVFRXEOZUMJ-UHFFFAOYSA-K potassium;disodium;2-(4-chloro-2-methylphenoxy)propanoate;methyl-dioxido-oxo-$l^{5}-arsane Chemical compound [Na+].[Na+].[K+].C[As]([O-])([O-])=O.[O-]C(=O)C(C)OC1=CC=C(Cl)C=C1C HRULVFRXEOZUMJ-UHFFFAOYSA-K 0.000 description 15
- 230000004044 response Effects 0.000 description 12
- 230000006855 networking Effects 0.000 description 6
- 241000238876 Acari Species 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Abstract
本申请提供了确定性流传输方法、系统及电子设备。本申请实施例能够实现从第一传输节点的某一调度周期发出的第一业务报文,指定进入第二传输节点的某一周期调度队列(也即指定周期调度队列),以确保第一业务报文在第二传输节点准时被调度转发,实现了即使第一传输节点和第二传输节点之间的传输链路存在抖动,但由于第一传输节点调度传输第一业务报文的调度周期、第二传输节点调度传输第一业务报文的调度周期都能直接确定,保证了上述抖动对第一业务报文的确定性参数没有影响(这相当于上述抖动被消除(de‑jittering)),实现了第一业务报文的确定性流传输。
Description
本申请涉及网络通信技术,特别涉及确定性流传输方法、系统及电子设备。
在一些应用中,以5G系统(5GS:5G System)为例,5GS作为时间敏感网络(TSN:Time-Sensitive Networking)的桥,由于5GS内部传输机制(比如内部节点的报文处理等)以及为了达到可靠性引入的重传等,常会在5GS内部产生抖动。而5GS内部产生的抖动也就意味着连接5GS的两端传输节点之间的传输链路上存在抖动。一旦连接5GS的两端传输节点之间的传输链路上存在抖动,则会影响该两端传输节点之间的确定性流传输。同样的情况,在两个传输节点之间经由传统网络的传输链路上也可能会引起抖动。
因此,在传输节点之间的传输链路上存在抖动的场景下,如何进行确定性流传输,是当前亟待解决的技术问题。
发明内容
本申请实施例提供了确定性流传输方法、系统及电子设备,以实现在传输节点之间的传输链路上存在抖动的场景下进行确定性流传输。
本申请实施例提供了以下技术方案:
本申请实施例提供第一种确定性流传输方法,该方法应用于第一传输节点,所述第一传输节点与第二传输节点之间的传输链路上存在抖动,所述第一传输节点与所述第二传输节点的时钟不同步;该方法包括:针对待向所述第二传输节点传输的属于确定性流的第一业务报文,依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定指定队列信息;所述指定队列信息用于指示指定周期调度队列,所述指定周期调度队列为所述第一业务报文在被传输至所述第二传输节点后进入的周期调度队列,以使所述第一业务报文固定在所述指定周期调度队列对应的调度周期转发,实现所述第一业务报文的确定性转发;向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文。
本申请实施例提供第二种确定性流传输方法,该方法应用于第二传输节点,第二传输节点与第一传输节点之间的传输链路上存在抖动,所述第一传输节点与所述第二传输节点的时钟不同步,该方法包括:接收由所述第一传输节点传输的属于确定性流的第三业务报文;依据所述第三业务报文携带的指定队列信息,将所述第三业务报文中待传输数据分发至所述指定队列信息指示的指定周期调度队列进行调度传输,其中,所述指定队列信息是依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系确定的,所述指定队列信息指示的指定周期调度队列可使所述第三业务报文固定在所述指定周期调度队列对应的调度周期转发,以实现所述第三业务报文的确定性转发。
本申请实施例提供一种确定性流传输系统,该系统包括:第一传输节点与第二传输节点;其中,第一传输节点执行如上第一种方法中的步骤;第二传输节点执行如上第二种方法中的步骤。
本申请实施例还提供一种确定性流传输装置,该装置应用于第一传输节点,所述第一传输节点与第二传输节点之间的传输链路上存在抖动,所述第一传输节点与所述第二传输节点的时钟不同步;该装置包括:确定单元,用于针对待向所述第二传输节点传输的属于确定性流的第一业务报文,依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定指定队列信息;所述指定队列信息用于指示指定周期调度队列,所述指定周期调度队列为所述第一业务报文在被传输至所述第二传输节点后进入的周期调度队列,以使所述第一业务报文固定在所述指定周期调度队列对应的调度周期转发,实现所述第一业务报文的确定性转发;发送单元,用于向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文。
本申请实施例还提供一种确定性流传输装置,该装置应用于第二传输节点,第二传输节点与第一传输节点之间的传输链路上存在抖动,所述第一传输节点与所述第二传输节点的时钟不同步,该 装置包括:接收单元,用于接收由所述第一传输节点传输的属于确定性流的第三业务报文;处理单元,用于依据所述第三业务报文携带的指定队列信息,将所述第三业务报文中待传输数据分发至所述指定队列信息指示的指定周期调度队列进行调度传输,其中,所述指定队列信息是依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系确定的,所述指定队列信息指示的指定周期调度队列可使所述第三业务报文固定在所述指定周期调度队列对应的调度周期转发,以实现所述第三业务报文的确定性转发。
本申请实施例还提供了一种电子设备,该电子设备包括:处理器和机器可读存储介质;机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现如上任一方法。
由以上技术方案可以看出,本申请实施例能够实现从第一传输节点的某一调度周期发出的第一业务报文,指定进入第二传输节点的某一周期调度队列(也即指定周期调度队列),以确保第一业务报文在第二传输节点准时被调度转发,实现了即使第一传输节点和第二传输节点之间的传输链路存在抖动,但由于第一传输节点调度传输第一业务报文的调度周期、第二传输节点调度传输第一业务报文的调度周期都能直接确定,保证了上述抖动对第一业务报文的确定性参数没有影响(这相当于上述抖动被消除(de-jittering)),实现了第一业务报文的确定性流传输。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例提供的方法流程图;
图2为本申请实施例提供的5GS组网示意图;
图3为本申请实施例提供的组网结构图;
图4为本申请实施例提供的参考点模型结构图;
图5为本申请实施例提供的报文示意图;
图6为本申请实施例提供的传输时延示意图;
图7为本申请实施例提供的TT1与TT2之间时延示意图;
图8为本申请实施例提供的TT1与TT2之间队列映射示意图;
图9a为本申请实施例提供的确定性流转发表示意图;
图9b为本申请实施例提供的另一确定性流转发表示意图;
图10为本申请实施例提供的另一方法流程图;
图11为本申请实施例提供的调度转发映射关系维护示意图;
图12为本申请实施例提供的装置结构图;
图13为本申请实施例提供的另一装置结构图;
图14为本申请实施例提供的电子设备结构图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本申请实施例提供的确定性流传输方法,即使两传输节点之间的传输链路上存在抖动,也能在两传输节点之间进行数据平面上的确定性流传输,且该确定性流传输不再依赖两传输节点在时钟上严格同步,比如不再依赖连接5GS的两端传输节点与5GS之间的时钟同步来实现5GS作为TSN桥的确定性流传输。下面对本申请实施例提供的方法进行描述:
参见图1,图1为本申请实施例提供的方法流程图。该方法应用于第一传输节点(记为TT1),TT1与第二传输节点(记为TT2)之间的传输链路上存在抖动。这里,第一传输节点、第二传输节点只是为便于描述而进行的命名,并非用于限定。需要说明的是,本实施例中,TT1与TT2之间传输链路上的抖动有很多,比如TT1与TT2之间传输链路上的中间设备比如5GS等由于内部逻辑处理(比如内部传输机制)引起抖动或者产生抖动敏感的因素等,也认为TT1与TT2之间传输链路上存在抖动。
作为一个实施例,TT1和TT2中的一个可为连接5GS的设备侧TSN转换器(DS-TT:Device-side TSN translator),另一个为连接5GS的网络侧TSN转换器(NW-TT:Network-side TSN translator)。
作为另一个实施例,TT1和TT2也可为连接5GS的两个不同的DS-TT。
在本实施例中,TT1和TT2的时钟可不同步,实现在诸如连接5GS的两端传输节点比如NW-TT和DS-TT不依赖底层硬件进行时钟同步,减少成本。
如图1所示,该流程可包括以下步骤:
步骤101,针对待向TT2传输的属于确定性流的第一业务报文,依据TT1和TT2之间的调度转发映射关系,确定指定队列信息;指定队列信息用于指示指定周期调度队列,指定周期调度队列为第一业务报文在被传输至TT2后进入的周期调度队列。
这里,第一业务报文泛指任一待向TT2传输的属于确定性流的任一业务中的报文,这里只是为便于描述而进行的命名,并非用于限定。需要明确的是,这里的第一业务报文不同于用于测试或者维护的报文比如下文的测量与标定请求报文、维护报文等。对于任一业务报文,其被TT1收到后,是要进入TT1的周期调度队列并进行调度传输的。
在本实施例中,TT1和TT2之间的调度转发映射关系是指TT1调度转发报文的时间和TT2调度转发报文的时间之间的映射关系,其在具体实现时可有很多实现方式,比如,TT1和TT2之间的调度转发映射关系可通过TT1和TT2之间的调度周期映射关系表示。这里,调度周期映射关系是指TT1上转发上述第一业务报文的出接口对应的调度周期与TT2上转发上述第一业务报文的出接口对应的调度周期之间的映射关系。TT1和TT2之间的调度转发映射关系也可以以其他方式表示,本实施例并不具体限定。
在本实施例中,对于任一传输节点比如TT1、TT2等的出接口,会按固定时间间隔划分调度周期,比如划分了15个调度周期等。其中,每个调度周期对应一个队列(也称周期调度队列)。传输节点上的调度周期按顺序轮转,每个调度周期内固定发送其对应的周期调度队列中的业务报文。
需要说明的是,本实施例在确定上述调度转发映射关系时,考虑到了TT1与TT2之间的传输链路上存在抖动,这也就意味着最终确定的调度转发映射关系是在考虑到TT1与TT2之间的传输链路上存在抖动的前提下确定的。基于此前提,则本步骤101中,依据上述调度转发映射关系确定出的指定队列信息,能保证从TT1的某一调度周期发出的第一业务报文也能不受限于抖动而正常进入TT2的某一周期调度队列(也即指定周期调度队列),从而消除链路抖动的影响。下文会举例描述如何确定上述调度转发映射关系,这里暂不赘述。
在本实施例中,上述指定队列信息,可为周期调度队列的标识,或者为调度周期的标识、或者为系统周期的标识,等等,本实施例并不具体限定。在本实施例中,系统周期不同于调度周期,系统周期是已经历的调度周期的总数量。但对于系统周期,其也可以通过换算指示出对应的周期调度队列。下文会举例描述如何确定上述指定队列信息,这里暂不赘述。在本实施例中,指定队列信息可使第一业务报文固定在指定周期调度队列对应的调度周期转发,实现第一业务报文的确定性转发。
步骤102,向TT2传输至少携带指定队列信息的第一业务报文。
作为一个实施例,可在确定上述指定队列信息时进一步确定调度传输第一业务报文的调度周期(记为第一调度周期)。下文会举例描述如何确定第一调度周期,这里暂不赘述。在确定出第一调度周期后,则会将第一业务报文(携带上述指定队列信息)存放至第一调度周期对应的调度周期队列。
基于此,在本实施例中,向TT2传输至少携带指定队列信息的第一业务报文包括:在第一调度周期,向TT2传输第一调度周期对应的调度周期队列中至少携带指定队列信息的第一业务报文。
至此,完成图1所示流程。
通过图1所示流程,能够实现从TT1的某一调度周期发出的第一业务报文,指定进入TT2的某一周期调度队列(也即指定周期调度队列),以确保第一业务报文在TT2准时被调度转发,实现了即使TT1和TT2之间的传输链路存在抖动,由于TT2调度传输第一业务报文的调度周期(对应指定周期调度队列)直接确定,保证了上述抖动对第一业务报文的确定性参数没有影响(这相当于上述抖动被消除(de-jittering)),实现了第一业务报文的确定性流传输。
以图2所示的组网为例,按照图1所示流程,假若DS-TT作为TT1在调度周期0调度传输第一业务报文,指定第一业务报文被传输至NW-TT(作为TT2)时应进入到NW-TT的调度周期24对应的周期调度队列。如此,所有第一业务报文被传输至NW-TT时,会被NW-TT分发至调度周期24对应的周期调度队列。之后,当NW-TT调度到调度周期24时,第一业务报文会被调度发送出去(比如发送到TSN网络)。这实现了5GS作为TSN桥的数据平面上的确定性流转发。
下面对如何确定TT1和TT2之间的调度转发映射关系进行描述。
为便于理解,这里以TT1和TT2为5GS连接的两端传输节点为例进行描述:
首先,为了确定连接5GS的两端传输节点即TT1和TT2之间的上述调度转发映射关系,本实施例把5GS单纯看成传输通道,将数据平面的转发抽象为如图3所示的组网架构。之后,基于图3所示的组网,本实施例建立了如图4所示的参考点模型:
不失一般性,本实施例定义A、B、C、D四个参考点:A参考点为外部设备(图4以机器人为例描述)与TT1的接口;B参考点为TT1与5GS的接口;C参考点为5GS与TT2的接口;D参考点为TT2与外部设备(图4以TSN网络为例)的接口。
在图4所示的参考点模型中,任何确定性流中的报文经由B、C参考点时,若当前未携带传输信息(TT-Info),则会在报文上携带TT-Info,具体如图5所示。比如,从TT1向TT2发出的属于确定性流的报文,当报文到达参考点B时,会在报文上携带TT-Info。同样,从TT2向TT1发出的属于确定性流的报文,当报文到达参考点C时,会在报文上携带TT-Info。
本实施例中,如图5所示,TT-Info至少包含如下字段:
报文类型(DataType)字段:用于携带DataType。比如,DataType取值为0x10时,表示属于确定性流的业务报文;DataType取值为0x01时,表示测量与标定请求报文;DataType取值为0x02时,表示周期测量与标定应答报文;DataType取值为0x03,表示用于维护调度转发映射关系的维护报文;DataType取值为0x13,表示包含维护信息的业务报文。至于维护信息,下文会举例描述,这里暂不赘述。
发送时间字段:携带发送时间。发送时间可为调度发送报文的系统周期TxCycles。对于任一业务报文,其如果不携带上述维护信息,此时发送时间字段可为空。
队列信息字段:用于携带指定队列信息。指定队列信息用于指示报文被传输至另一传输节点后进入该另一传输节点的周期调度队列。在确定或维护上述调度转发映射关系阶段,队列信息字段可为空。
可变参数(VarArg)字段:用于携带VarArg。比如,当DataType为0x02时,VarArg为目标传输时延(AnchorCycles),再比如,当DataType为0x01、0x03或0x13时,VarArg可为报文序列ID,比如样本空间为K,则报文序列ID取值为1~K。
下面基于图4所示的参考点模型,举例描述如何确定TT1与TT2之间的上述调度转发映射关系:
作为一个实施例,TT1与TT2之间的上述调度转发映射关系,依赖于TT1与TT2之间的目标传输时延确定。但由于5GS内部产生的抖动范围大,无法得到TT1与TT2之间固定的目标传输时延,也不适用于按照有线网络链路的时延测定方法测定TT1与TT2之间的目标传输时延。基于此,作为一个实施例,本实施例可通过多次测量TT1与TT2之间的传输时延(每一次测量的传输时延记为候选传输时延(DeltaCycles)),找出满足设定条件的候选传输时延作为上述目标传输时延(记为AnchorCycles)。这里的设定条件可根据实际需求设置,比如取值最小等。以设定条件为取值最小为例,则本实施例可将取值最小的候选传输时延(记为MinDeltaCycles)作为上述AnchorCycles。也即,作为一个实施例,上述调度转发映射关系具体可根据TT1通过上述出接口尝试向TT2发送K个测量与标定请求报文确定,K大于1。下面举例描述:
TT1在设定时间窗口(TimeWind)内通过上述出接口向TT2发送K个测量与标定请求报文。这里,设定时间窗口比如1秒等,本实施例并不具体限定。本实施例中发送测量与标定请求报文的个数不限,比如K取值为1000等。本实施例中,相邻的测量与标定请求的发送间隔、甚至测量与标定请求的发送时机可以均不限。
本实施例中,每一测量与标定请求报文携带的TT-Info设置为如下字段:
DataType字段:其携带的DataType取值为0x01,表示测量与标定请求报文;
发送时间字段:携带发送时间。作为一个实施例,发送时间可为发送报文的系统周期(记为TxCycles)。在设置TxCycles时,需综合考虑TT1内部的处理时延(ProcessDelay)。例如处理时延为3个调度周期,假若需要在系统周期(sysCycles)为a时发送测量报文,考虑到处理时延,则实际在a+3发送,即TxCycles可设置为a+3。当然,作为另一个实施例,上述发送时间也可为调度 周期(TxCycle)。这里,TxCycle可通过以下公式确定:TxCycle=TxCycles mod N1。比如,上述TxCycles为a+3,则TxCycle为(a+3)mod N1。其中,N1为TT1被配置的周期调度队列的总数目。本实施例以发送时间TxCycles为例描述。
队列信息字段:当DataType为0x01时,队列信息字段可设置为无效值,比如0xFFFFFFFF。
VarArg字段:携带VarArg。VarArg是可选参数,作为一个实施例,TT-Info可携带VarArg字段,也可不携带VarArg字段。当DataType为0x01时,VarArg字段可携带测量与标定请求报文的报文序列ID,比如,样本空间为K,则报文序列ID为1~K中的一个数值。
作为一个实施例,上述测量与标定请求报文还进一步携带IP的DSCP字段,DSCP字段携带的参数用于区分该测量与标定请求报文和现有的尽力而为流(也称非确定性流)。这里,DSCP字段可携带用于表示确定性流的报文优先级比如63。
以发送时间为TxCycles为例,则针对每一测量与标定请求报文,TT1按照该测量与标定请求报文携带的发送时间TxCycles,确定调度周期(TxCycle),将该测量与标定请求报文分发至该TxCycle相对应的调度周期队列。并在TxCycle内向TT2发送该TxCycle对应的调度周期队列中的测量与标定请求报文。
TT2采集经由5GS的报文。当采集到报文时,基于报文携带的DSCP字段(比如IP头的DSCP字段携带63)识别出该报文属于确定性流,并依据报文携带的TT-Info中DataType确定报文为测量与标定请求报文(比如取值为0x01,表明是测量与标定请求报文),则记录测量与标定请求报文到达TT2时的系统周期(记为ArrCycles)。之后,基于测量与标定请求报文中TT-Info携带的TxCycles,计算TT1和TT2之间的候选传输时延。
本实施例在计算TT1和TT2之间的候选传输时延时,需要考虑到TT1和TT2两者并非时钟同步。假若TT1、TT2两者的起始系统周期计数相差值记为OffsetCycles。一般情况下,在测量与标定请求报文到达TT2时,此时TT2的系统周期ArrCycles近似为:测量与标定请求报文携带的TxCycles+OffsetCycles+DelayCycles(表示TT1与TT2之间的传输延迟)。假若令DeltaCycles=DelayCycles+OffsetCycles,则根据ArrCycles和TxCycles可以反向获取测量与标定请求报文到达TT2时,TT2的系统周期计数相对TT1发送测量与标定请求报文时系统周期计数的相对差值有以下近似结论:DeltaCycles=ArrCycles-TxCycles。作为一个实施例,TT2的系统周期计数相对TT1发送测量与标定请求报文时系统周期计数的相对差值DeltaCycles可表征为TT1和TT2之间的候选传输时延。比如,TT1和TT2之间的候选传输时延为已记录的测量与标定请求报文到达TT2时的系统周期ArrCycles与测量与标定请求报文中TT-Info携带的TxCycles之差的绝对值。
从上述计算TT1和TT2之间的候选传输时延的方式可以看出,虽然TT1和TT2有不同的计时系统,但只需要相对差值作近似统计,当多个测量与标定报文分布在相对较短时间内时,二者计数的积累误差可以忽略。
作为一个实施例,本实施例中,TT2可在采集结束条件到达时结束本次收集。这里的采集结束条件,比如可为采集L个测量与标定请求报文,或者在采集第一个测量与标定请求报文后的时长达到设定时长,等等,本实施例并不具体限定。
TT2在结束本次采集后,就会从已确定出的TT1和TT2之间的多个候选传输时延中选择满足预设条件的一个值作为上述目标传输时延(AnchorCycles)。比如,假设TT1在0~31个调度周期分别发送测量与标定请求报文,测量与标定请求报文分别经过5.5ms,4.7ms,6.5ms,4.9ms,……,6.3ms,6.4ms,4.8ms到达TT2,到达TT2的ArrCycles依次分别为68,61,80,……,92,则TT1和TT2之间的候选传输时延如图6所示。以预设条件为取值最小为例,则TT2在如图6所示的多个候选传输时延中选择取值最小的一个值作为上述目标传输时延(AnchorCycles),比如选择最小的60作为目标传输时延AnchorCycles。即,TT2可通过采集来自TT1传输的多个测量与标定请求报文确定出TT1和TT2之间的目标传输时延AnchorCycles。
作为一个实施例,当TT2确定出目标传输时延AnchorCycles后,其可将目标传输时延AnchorCycles转发至独立于TT1和TT2的网络设备(比如控制平面上的SDN控制器),由该网络设备根据目标传输时延AnchorCycles建立上述调度转发映射关系。下文会举例描述如何根据目标传输时延AnchorCycles建立上述调度转发映射关系。
作为另一个实施例,当TT2确定出目标传输时延AnchorCycles后,其也可将目标传输时延AnchorCycles返回给TT1,以由TT1依据目标传输时延AnchorCycles建立上述调度转发映射关系。下文会举例描述如何根据目标传输时延AnchorCycles建立上述调度转发映射关系。
下面描述TT2如何返回目标传输时延AnchorCycles至TT1。
作为一个实施例,TT2可通过将目标传输时延AnchorCycles携带在测量与标定应答报文中发送给TT1。这里,测量与标定应答报文的源IP地址、目的IP地址分别是测量与标定请求报文的目的 IP地址、源IP地址。也即,测量与标定应答报文的源IP地址为TT2的IP地址,目的IP地址为TT1的IP地址。
本实施例中,目标传输时延AnchorCycles可携带在测量与标定应答报文中的TT-info中。这里,测量与标定应答报文中的TT-info包含如下字段:
DataType字段:其携带的DataType被设置为0x02,表明是测量与标定应答报文;
发送时间字段:参见如上描述的测量与标定请求报文中TT-info携带的发送时间字段;
队列信息字段:DataType被设置为0x02时,其可被设置为无效值,比如0xFFFFFFFF;
VarArg字段:其携带的可变参数可为上述目标传输时延AnchorCycles。
与上述测量与标定请求报文类似,本实施例中,测量与标定应答报文还进一步携带IP的DSCP字段,DSCP字段携带的参数用于区分该测量与标定请求报文和现有的尽力而为流。这里,DSCP字段可携带用于表示确定性流的报文优先级比如63。
以发送时间为TxCycles为例,则针对每一测量与标定应答报文,TT2按照该测量与标定应答报文携带的发送时间(以TxCycles为例)确定调度周期TxCycle,将该测量与标定应答报文分发至该TxCycle相对应的调度周期队列。并在该TxCycle内,向TT1发送该TxCycle对应的调度周期队列中的测量与标定应答报文。
当TT1收到测量与标定应答报文后,就会依据测量与标定应答报文携带的目标传输时延AnchorCycles确定上述调度转发映射关系。
下面描述如何依据目标传输时延AnchorCycles确定上述调度转发映射关系:
在本实施例中,TT1、TT2各自具有独立的调度周期,由于频偏等因素长时间会产生积累偏差,当大于某个阈值时,认为已经产生了需要调整的偏差,此阈值定义为CheckAreaCycles。本实施例中,CheckAreaCycles可根据实际需求设置,本实施例以CheckAreaCycles为2个Cycles(调度周期)为例。本实施例中,在确定上述调度转发映射关系时需要考虑CheckAreaCycles。
另外,上述调度转发映射关系还与预设的抖动范围(记为BridgeJitter)、TT1的节点处理时延(ProcessDelay1)等有关。在本实施例中,BridgeJitter、ProcessDelay1可根据实际需求设置,本实施例以BridgeJitter为23个Cycles,ProcessDelay1为3个Cycles为例。
基于上面描述,则本实施例中,即可根据AnchorCycles、BridgeJitter、ProcessDelay1和CheckAreaCyles,可以建立TT1和TT2之间的调度转发映射关系,比如:先根据AnchorCycles、BridgeJitter、ProcessDelay1和CheckAreaCycles确定TT1和TT2之间的调度周期偏差(AdjustCycles);之后,将AdjustCycles确定为TT1和TT2之间的调度转发映射关系。
作为一个实施例,上述AdjustCycles可通过下式表示:AdjustCycles=AnchorCycles+CheckAreaCyles+BridgeJitter+ProcessDelay1。
作为一个实施例,在确定出TT1和TT2之间的调度转发映射关系后,可基于TT1和TT2之间的调度转发映射关系确定TT1发送报文的调度周期(TxCycle)与指定报文进入TT2的指定调度周期(SpecfiedCycle)之间的关系。下式举例示出了该关系:SpecfiedCycle=(TxCycle+AdjustCycles)mod N2;其中,N2是指TT2被配置的周期调度队列数目。作为一个实施例,N2可通过下式表示:N2=CheckAreaCyles+1+CheckAreaCycles+BridgeJitter+ProcessDelay2+1。图7进行了示意。其中,ProcessDelay2是指TT2的节点处理时延。在应用中,N2可与上述N1相等。
假若AnchorCycles为60Cycles,CheckAreaCyles、BridgeJitter、ProcessDelay2的参数值,同TT1的设置,则AdjustCycles为88,N2为32。下表1举例示出了TT1发送报文的调度周期(TxCycle)与指定报文进入TT2的指定调度周期(SpecfiedCycle)之间的关系:
表1
基于表1,则本实施例中,应用于上述步骤101,则当TT1转发上述第一业务报文时,就会确定TT1即将调度传输第一业务报文的调度周期(记为第一调度周期);依据第一调度周期和上述调度转发映射关系,确定指定队列信息。这里的指定队列信息用于指示第一业务报文进入TT2的周期调度队列(其具体是TT2转发该第一业务报文的出接口对应的周期调度队列,也称指定周期调度队列)。图8举例进行了示意。比如,在图8中,假若TT1通过用于转发第一业务为报文的出接口在该出接口对应的第一个调度周期(记为调度周期0)发送第一业务报文,指定第一业务报文进入TT2上用于转发第一业务报文的出接口对应的第25个调度周期(记为调度周期24),这能保证第一业务报文的确定性转发。
作为一个实施例,上述第一调度周期可依赖于第一业务报文匹配的确定性流信息表(也称目标确定性流信息表)确定。比如,从与第一业务报文匹配的目标确定性流信息表中查找到与第一时间信息匹配的第一调度周期;第一时间信息为接收到所述第一业务报文的时间信息。
作为一个实施例,上述第一时间信息可为TT1接收到第一业务报文时当前正调度的调度周期(也即接收调度周期)。假若确定性流信息表至少包括:接收调度周期与发送报文时的调度周期(也称发送调度周期)之间的匹配关系。基于此,第一调度周期为与该TT1接收到第一业务报文时当前正调度的调度周期(也即接收调度周期)匹配的发送调度周期。第一调度周期是指发送第一业务报文的调度周期。
下面对上述确定性流信息表进行描述:
在应用中,TT1和TT2之间常会存在满足整形条件的业务流。这里的整形条件可根据实际需求设置,比如满足整形条件的业务流可为由存在抖动的某一指定终端转发的业务流、或者存在接入抖动的业务流等,本实施例并不具体限定。作为一个实施例,上述存在接入抖动的业务流至少是指满足以下条件的业务流:终端转发该业务流的转发周期比如1皮秒(ps)等和TT1/TT2的调度周期之和比如150微秒(us)等不是整数倍的关系。
对于满足整形条件的业务流,则需要对其确定性流信息表中的接收调度周期与发送调度周期之间的匹配关系进行整形。
假若业务流1(FlowID1)满足整形条件,需要整型。若接收到属于FlowID1的报文时,TT1的系统周期为a(即此时的ArrCycles为a),TT1正在调度的调度周期ArrCycle为a mod N1,则按如下方式计算TxCycle:TxCycle=TxCycles mod N1;其中,TxCycles=a–(a mod N1)+max(ArrCycle)+ProcessDelay1。
其中,max(ArrCycle)是指针对FlowID1设置的各接收调度周期ArrCycle中取值最大的一个,如图9a所示,FlowID1被设置的ArrCycle为0、1、2周期,则max(ArrCycle)为2。ProcessDelay1,如上描述被设置为3(表示3个调度周期)
基于此,假若N1为32,基于上述公式可计算出TxCycle=5。通过计算出的TxCycle,可以得到FlowID1的报文在到达TT1时,不管TT1正在调度的调度周期为如图9a所示的0周期、1周期或2周期,最终都会将报文存放至调度周期5对应的调度周期队列(记为队列5)进行调度转发,即FlowID1匹配的确定性流信息表中接收调度周期为0、1、2周期时都匹配同一发送调度周期即调度周期5,具体如图9a所示的FlowID1的转发周期时隙映射信息。需要说明的是,为应对一些报文突发情况,上述TxCycles的表达式还可更新为如下:TxCycles=a–(a mod N1)+max(ArrCycle)+ProcessDelay1+1。对应地,上述TxCycle就更新为6,图9a中FlowID1的转发周期时隙映射信息中的TxCycle也相应从5更新为6,这里不再一一详述。
图9a举例示出了FlowID1匹配的确定性流信息表中接收调度周期与发送调度周期之间的匹配关系。可以看出,在本实施例中,对于满足预设整形条件的数据流,其匹配的目标确定性流信息表中至少两个不同接收调度周期匹配同一发送调度周期。同样,在本实施例中,若第一业务报文所属的数据流为满足预设整形条件的数据流,则第一业务报文所属的数据流匹配的目标确定性流信息表中至少两个不同接收调度周期匹配同一发送调度周期。
而对于无需整形的业务流(以FlowID2为例描述),其匹配的确定性流信息表中一般不会出现至少两个不同接收调度周期匹配同一发送调度周期的情况,可参见图9a举例示出了FlowID2匹配的确定性流信息表中接收调度周期与发送调度周期之间的匹配关系。
以上对各FlowID匹配的确定性流信息表进行了描述。
基于如上各FlowID匹配的确定性流信息表,接收到第一业务报文时,TT1会在如上各FlowID匹配的确定性流信息表中查找第一业务报文所属数据流匹配的目标确定性流信息表,之后从 与第一业务报文匹配的目标确定性流信息表中查找到与TT1接收到第一业务报文时当前正调度的调度周期匹配的发送调度周期;将查找到的发送调度周期确定为上述第一调度周期。
另外,如上面描述的,上述TT1与TT2之间的调度转发映射关系可以上述的调度周期偏差表示,则作为一个实施例,可将上述调度周期偏差添加至对应的确定性流信息表(比如通过上述出接口转发的确定性流对应的确定性流信息表)中,比如图9b所示的确定性流信息表。图9b所示的确定性流信息表中包含每条业务流的调度周期信息(其包含了接收调度周期(ArrCycle)与发送调度周期(TxCycle)之间的匹配关系、以及调度周期偏差)。
作为另一个实施例,也可将上述调度周期偏差记录至其它位置比如专门的调度周期偏差表等,本实施例并不具体限定。需要说明的是,假若上述调度周期偏差记录至其它位置,则该其它位置除了记录上述调度周期偏差之外,还可进一步记录TT1本地的出接口和TT2本地的出接口的接口标识,以明确该调度周期偏差是TT1本地的出接口对应的调度周期和TT2本地的出接口对应的调度周期的偏差。
需要说明的是,在本实施例中,上述AdjustCycles还可以根据实际需求适当调整,以保证具有充分的灵活性和可扩展性。
基于如上描述的上述调度周期偏差添加至确定性流信息表,则在本实施例中的上述步骤101,TT1会针对接收到的第一业务报文(第一业务数据报文属于确定性流),先依据接收到第一业务报文时的接收调度周期从与第一业务报文匹配的目标确定性流信息表中查找到匹配的发送调度周期(也即第一调度周期)和调度周期偏差,再按照如下公式确定在所述第一调度周期时当前所处的第一系统周期:TxCycles=ArrCycles-(ArrCycles mod N1)+TxCycle;其中,TxCycles表示所述TT1的第一系统周期,ArrCycles表示TT1接收到第一业务报文时的接收系统周期,N1为TT1被配置的周期调度队列数目,TxCycle为TT1的第一调度周期;之后依据第一系统周期和调度周期偏差确定上述指定队列信息,比如:先按照以下公式确定TT2的第二系统周期:SpecfiedCycles=TxCycles+AdjustCycles;其中,SpecfiedCycles表示第二系统周期,TxCycles表示所述第一系统周期,AdjustCycles表示所述调度周期偏差;将第二系统周期确定为上述指定队列信息,或者,依据第二系统周期并按照以下公式确定TT2的第二调度周期:SpecfiedCycle=SpecfiedCycles mod N2;其中,SpecfiedCycle表示第二调度周期,SpecfiedCycles表示第二系统周期,将第二调度周期确定为上述指定队列信息。
对应地,本实施例还提供了应用于上述第二传输节点的方法,具体如图10所示。
参见图10,图10为本申请实施例提供的另一方法流程。该流程对应图1所示的流程。如图10所示,该流程可包括:
步骤1001,接收由TT1传输的属于确定性流的第三业务报文。
作为一个实施例,这里的第三业务报文可为上述TT1向TT2传输的任一业务报文。
作为一个实施例,在本实施例中,当接收到第三业务报文时,会先识别第三业务报文的IP头中的DSCP字段是否携带确定性数据流标识比如63。如果第三业务报文的IP头中的DSCP字段携带确定性数据流标识比如63,则确定第三业务报文为确定性数据流。
步骤1002,依据第三业务报文携带的指定队列信息,将第三业务报文中待传输数据信息分发至指定队列信息指示的指定周期调度队列进行调度传输。
作为一个实施例,在本步骤1002中,从第三业务报文取出指定队列信息,将第三业务报文中待传输数据信息(其可为第三业务报文中除TT-Info之外的其他数据信息)进行相应的数据封装得到第四业务报文,按照如前描述的指定队列信息,则可将第四业务报文存放至指定队列信息指示的指定周期调度队列,在调度该指定周期调度队列的调度周期内调度传输该指定周期调度队列中的第四业务报文。
在本实施例中,若上述指定队列信息为第二系统周期,则上述指定周期调度队列通过以下步骤确定:按照以下公式确定第二调度周期:SpecfiedCycle=SpecfiedCycles mod N2;其中,SpecfiedCycle表示第二调度周期,SpecfiedCycles表示上述第二系统周期,N2为TT2被配置的周期调度队列数目;将第二调度周期对应的周期调度队列确定为上述指定周期调度队列。
若上述指定队列信息为第二调度周期,则上述指定周期队列为该第二调度周期对应的周期调度队列。
至此,完成图10所示流程。
通过图10所示流程能够实现从TT1的某一调度周期发出的第二报文,被指定进入TT2的某一周期调度队列(也即指定周期调度队列),以确保第二报文在TT2指定调度周期调度转发,实现了即使TT1和TT2之间的传输链路存在抖动,通过TT2调度传输第一业务报文的调度周期都能直 接确定,保证了上述抖动对第一业务报文的确定性参数没有影响(这相当于上述抖动被消除(de-jittering)),实现了第一业务报文的确定性流传输。
如上描述的建立TT1与TT2之间的调度转发映射关系时TT1会向TT2发送测量与标定请求报文,则对应地,TT2会接收到由TT1传输的测量与标定请求报文,之后会基于接收的每一测量与标定请求报文确定TT1与TT2之间的候选传输时延;确定候选传输时延的方式具体参见上文。
之后,TT2从所有候选传输时延中确定目标传输时延;确定目标传输时延的方式,上文也有描述,这里不再赘述。
作为一个实施例,TT2将目标传输时延返回给TT1,以由TT1根据目标传输时延确定TT1和TT2之间的调度转发映射关系。TT2将目标传输时延返回给TT1的方式如上描述,这里不再赘述。
作为另一个实施例,TT2将目标传输时延发送给独立于TT1和TT2的其他设备比如控制平面上的SDN控制器,以由其他设备根据目标传输时延确定TT1和TT2之间的调度转发映射关系并下发至TT1。
需要说明的是,在本实施例中,在确定出TT1和TT2之间的调度转发映射关系之后,还需要对TT2与TT1之间的上述调度转发映射关系进行维护。
作为一个实施例,可以主动发送测量与标定报文的上述TT1为基准,由TT2进行周期映射偏差检测,当达到一定的偏差阀值,TT2调整本TT2的调度周期,以保证TT1与TT2的调度转发映射关系始终有效且抖动保持在合理范围,最终实现了上述TT2与TT1之间的调度转发映射关系的维护。下面对如何维护TT1与TT2的调度转发映射关系进行描述:
如图11所示,在本实施例中,TT1在用于维护上述调度转发映射关系的维护条件到达时,向TT2发送维护信息,以使TT2基于接收的维护信息确定是否调整TT2的调度周期。作为一个实施例,上述维护条件可为维护上述调度转发映射关系的周期,比如设定时间窗口(TimeWind)如1秒等,本实施例并不具体限定上述维护条件。需要说明的是,在本实施例中,TT1向TT2发送维护信息的时机不限,发送的维护信息的个数、以及维护信息的发送间隔不限。
作为一个实施例,上述维护信息至少包括:发送时间。下文会举例描述。
作为一个实施例,假若在向TT2转发属于确定性流的第二业务报文时,上述维护条件正好到达,则可将上述维护信息携带在该第二业务报文中。在本实施例中,第二业务报文携带TT-Info。其中,TT-Info至少包含以下字段:
DataType字段:其携带的DataType比如取值为0x13,表明是携带维护信息的第二业务报文;
发送时间字段:作为一个实施例,这里发送时间字段携带的发送时间依据调度发送该第二业务报文的调度周期确定。比如,发送时间可被设置为发送该第二业务报文的系统周期,该系统周期可通过以下方式确定:先根据该第二业务报文查找到相匹配的确定性流信息表,依据该第二业务报文的接收调度周期在该确定性流信息表中查找到对应的发送调度周期,依据该发送调度周期确定系统周期(确定方式可参见上述计算TxCycles的公式)。
队列信息字段:携带指定队列信息,用于指示第二业务报文被指定进入TT2的周期调度队列,其类似上述步骤101中确定指定队列信息的方式确定。
VarArg字段:DataType为0x13时,VarArg字段可为空。
作为另一个实施例,假若上述维护条件到达时,当前并不存在向TT2转发的上述第二业务报文,则可将上述维护信息携带在已定义的维护报文中。在本实施例中,维护报文携带TT-Info。其中,TT-Info至少包含以下字段:
DataType字段:携带的DataType比如取值为0x03,表明是已定义的维护报文;
发送时间字段:作为一个实施例,发送时间字段携带的发送时间可为发送维护报文的系统周期(记为TxCycles)。在设置TxCycles时,需综合考虑TT1内部的处理时延(ProcessDelay)。例如处理时延为3个调度周期,假若需要在系统周期(sysCycles)为a时确定发送维护报文,考虑到处理时延,则实际在a+3发送,则TxCycles可设置为a+3。当然,作为另一个实施例,发送时间也可为调度周期(TxCycle)。这里,TxCycle可通过以下公式确定:TxCycle=TxCycles mod N。比如,上述TxCycles为a+3,则TxCycle为(a+3)mod N。其中,N为TT1被配置的周期调度队列的总数目。本实施例以发送时间为TxCycles为例描述。
队列信息字段:DataType为0x03时,队列信息字段可设置为无效值,比如0xFFFFFFFF。
VarArg字段:比如DataType为0x03时,VarArg字段携带的可变参数可被设置为维护报文 的报文序列ID。比如,样本空间为K,则报文序列ID为1~K中的一个数值。
作为一个实施例,在本实施例中,不管是携带维护信息的第二业务报文,还是维护报文,其IP头还包含DSCP字段,DSCP字段携带的参数用于标识确定性流,以和现有的尽力而为流区分。这里,DSCP字段携带的参数可为用于表示确定性流的报文优先级比如63。
以上述发送时间为发送第二业务报文(携带上述维护信息)或者维护报文的系统周期TxCycles为例,则TT1按照上述发送时间TxCycles确定调度周期TxCycle,将上述第二业务报文(携带上述维护信息)或者维护报文分发至该TxCycle相对应的调度周期队列,并在该TxCycle,向TT2发送该TxCycle对应的调度周期队列中的第二业务报文(携带上述维护信息)或者维护报文。
TT2采集经由5GS的报文,当采集到报文时,基于报文携带的DSCP字段(比如IP头的DSCP字段携带63)识别出该报文属于确定性流。之后,若依据报文携带的TT-Info中DataType,确定报文为维护报文(比如DataType取值为0x03,表明是维护报文),或者确定报文为携带维护信息的业务报文(比如DataType取值为0x13,表明是携带维护信息的业务报文),则记录报文到达TT2时的系统周期(记为ArrCycles)。之后,基于报文中TT-Info携带的发送时间比如TxCycles,计算TT1和TT2之间的候选传输时延。候选传输时延的计算如上描述,这里不再赘述。
作为一个实施例,本实施例中,TT2可在采集结束条件到达时结束本次收集。这里的采集结束条件,比如可为采集L个维护信息,或者在采集第一个维护信息的时长达到设定时长,等等,本实施例并不具体限定。
TT2在结束本次采集后,就会从已确定出的TT1和TT2之间的多个候选传输时延中选择足预设条件一个作为参考传输时延(MinDeltaCycles)。参考传输时延MinDeltaCycles的确定类似上述目标传输时延AnchorCycles的确定。
之后,TT2会基于参考传输时延MinDeltaCycles和上述目标传输时延AnchorCycles确定是否调整TT2的调度周期比如调整TT2的调度周期的时长等。
作为一个实施例,假若MinDeltaCycles>AnchorCycles+CheckAreaCycles,或者MinDeltaCycles<AnchorCycles-CheckAreaCycles,CheckAreaCycles如上描述,则确定调整TT2的调度周期,比如调整TT2的调度周期的时长等,反之,则确定不调整TT2的调度周期。
本实施例中,在确定调整TT2的调度周期时,可调整TT2的调度周期的时长。比如,将调度周期的时长从当前的C1更改为与C1不同的C2。
作为一个实施例,C2可通过BaseCycleTicks+Jitter_Adjustment个计数器单位比如unit或者时钟滴答(Ticks)表示。
在本实施例中,Jitter_Adjustment的绝对值表示一个调度周期内需要调整的计数器单位总数,可根据实际需求设定。当MinDeltaCycles>AnchorCycles+CheckAreaCycles时,Jitter_Adjustment为正数,即符号为“+”;当MinDeltaCycles<AnchorCycles–CheckAreaCycles时,Jitter_Adjustment为负数,即符号为“-”。AnchorCycles、CheckAreaCycles分别如上所述,这里不再赘述。
作为一个实施例,BaseCycleTicks是通过对BaseCycleTime进行转换得到的,BaseCycleTime的单位为时间单位比如ps等,BaseCycleTicks的单位为计数器单位比如时钟滴答(tick)。
其中,若MinDeltaCycles>AnchorCycles+CheckAreaCycles,BaseCycleTime=C1+delta;若MinDeltaCycles<AnchorCycles–CheckAreaCycles,BaseCycleTime=C1-delta。在本实施例中,delta表示预设调整量,比如,delta=1<<8。
在本实施例中,在L个调整后的调度周期后,可及时将调度周期的时长恢复为BaseCycleTime,此时的调度周期可记为被恢复的首个调度周期。
作为一个实施例,L通过以下公式确定:L=C1*JitterAdjustCycles/|Jitter_Adjustment|;
其中,当MinDeltaCycles>AnchorCycles+CheckAreaCycles,JitterAdjustCycles=MinDeltaCycles-AnchorCycles;当MinDeltaCycles<AnchorCycles-CheckAreaCycles,JitterAdjustCycles=AnchorCycles–MinDeltaCycles。
为了让积累误差变得非常缓慢,本实施例还可以微调调度周期的时长,比如针对在初始的首个调度周期,或者针对被恢复的首个调度周期,若当前调度周期(也即初始的首个调度周期,被恢复的首个调度周期)的时长T不能转换成整数个计数器单位,则先计算当前调度周期对应的偏差Remain。这里,偏差Remain通过下式表示:Remain=g+T–T1_ticks*Unit,若当前调度周期为初始的首个调度周期,或者为被恢复的首个调度周期,则g为预设值,否则,g为上一调度周期的偏差Remain,T1_ticks表示当前调度周期包含的整数个计数器单位;Unit表示时间单位与计数器单位的换算关系。
之后,再按照如下公式设置下一调度周期的T2_ticks:
表示向下取整,将下一调度周期作为当前调度周期,返回计算当前调度周期对应的偏差Remain的步骤。依次循环,可最终可保证积累误差很小,不影响整个实施例。
通过上面描述的维护调度转发映射关系的流程可以看出,本实施例建立了一种机制,让TT1始终跟随TT2的周期性调度,这样就能实现TT1、TT2在转发上的同步。应用于5GS,其不需要TT1、TT2与5GS之间实现时钟同步,减少了对硬件的依赖,同时减化5GS的实现,并能从整体上实现确定性流的传输。
以上对本申请实施例提供的方法进行了描述,下面对本申请实施例提供的系统和装置进行描述:
本实施例提供了一种确定性流传输系统,该系统包括:第一传输节点与第二传输节点;其中,第一传输节点执行如图1所示的流程中的步骤;第二传输节点执行如图10所示的流程中的步骤。
对应地,本申请实施例还提供了如图12所示的装置结构图。该装置应用于第一传输节点,第一传输节点与第二传输节点之间的传输链路上存在抖动。该装置对应图1所示流程。
如图12所示,该装置可包括:
确定单元,用于针对待向所述第二传输节点传输的属于确定性流的第一业务报文,依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定指定队列信息;所述指定队列信息用于指示指定周期调度队列,所述指定周期调度队列为所述第一业务报文在被传输至所述第二传输节点后进入的周期调度队列,以使所述第一业务报文固定在所述指定周期调度队列对应的调度周期转发,以实现所述第一业务报文的确定性转发;
发送单元,用于向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文。
作为一个实施,确定单元依据已获得的所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定指定队列信息包括:确定第一调度周期;所述第一调度周期是所述第一传输节点调度传输所述第一业务报文的调度周期;依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定所述指定队列信息;以及,确定单元在发送单元向第二传输节点传输至少携带所述指定队列信息的所述第一业务报文之前,进一步包括:将所述第一业务报文存放至所述第一调度周期对应的第一周期调度队列;
发送单元向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文包括:在所述第一调度周期,调度所述第一周期调度队列存放的所述第一业务报文,以向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文。
作为一个实施例,所述确定单元确定第一调度周期包括:从与第一业务报文匹配的目标确定性流信息表中查找到与第一时间信息匹配的发送调度周期,将所述与第一时间信息匹配的发送调度周期确定为所述第一调度周期;其中,第一时间信息为接收到所述第一业务报文的时间信息。
作为一个实施例,所所述目标确定性流信息表至少包括:接收调度周期与发送调度周期之间的匹配关系;所述第一时间信息为第一接收调度周期,所述第一接收调度周期是指所述第一传输节点接收到第一业务报文时正在调度的调度周期;
其中,若所述第一业务报文所属的数据流为满足预设整形条件的数据流,所述目标确定性流信息表中包括至少两个不同接收调度周期匹配同一发送调度周期的表项。
作为一个实施例,所述第一传输节点与所述第二传输节点之间的调度转发映射关系包含所述第一传输节点与所述第二传输节点之间的调度周期偏差。
上述确定单元依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定所述指定队列信息包括:按照如下公式确定在所述第一调度周期时当前所处的第一系统周期:
TxCycles=ArrCycles-(ArrCycles mod N1)+TxCycle;其中,TxCycles表示所述第一系统周期,ArrCycles表示所述第一传输节点接收到第一业务报文时的系统周期,N1为所述第一传输节点被配置的周期调度队列数目,TxCycle为所述第一调度周期;依据所述第一系统周期和所述调度周期偏差确定所述指定队列信息。
作为一个实施例,上述依据所述第一系统周期和所述调度周期偏差确定所述指定队列信息包括:按照以下公式确定第二系统周期:SpecfiedCycles=TxCycles+AdjustCycles;其中,SpecfiedCycles表示第二系统周期,TxCycles表示所述第一系统周期,AdjustCycles表示所述调度周期偏差;依据所述第二系统周期,确定所述指定队列信息。
作为一个实施例,上述依据所述第二系统周期,确定所述指定队列信息包括:将所述第二系统周期确定为所述指定队列信息;或者,按照以下公式确定第二调度周期:SpecfiedCycle= SpecfiedCycles mod N;其中,SpecfiedCycle表示第二调度周期,SpecfiedCycles表示第二系统周期,将所述第二调度周期确定为所述指定队列信息。
作为一个实施例,调度转发映射关系是所述第一传输节点按照如下步骤通过向TT2发送K个测量与标定请求报文确定的:向所述第二传输节点发送K个测量与标定请求报文;K大于1;获得目标传输时延;所述目标传输时延是从所述第二传输节点确定的所有候选传输时延中选择出的;所述候选传输时延是所述第二传输节点基于接收到的每一测量与标定请求报文确定出的所述第一传输节点与所述第二传输节点之间的传输时延;根据所述目标传输时延,确定所述调度转发映射关系。
作为一个实施例,所述测量与标定请求报文携带所述第一传输节点在发送所述测量与标定请求报文时的系统周期;所述候选传输时延依据所述第二传输节点接收到所述测量与标定请求报文时的系统周期、以及所述测量与标定请求报文携带的系统周期确定;所述目标传输时延为取值满足设定条件的候选传输时延。
作为一个实施例,所述根据所述目标传输时延,确定所述调度转发映射关系包括:获得预设抖动范围、所述第一传输节点的处理时延、以及已配置的偏差调整阈值;根据所述目标传输时延、所述预设抖动范围、所述处理时延、以及所述偏差调整阈值,确定所述第一传输节点与所述第二传输节点之间的调度周期偏差,依据所述调度周期偏差确定所述调度转发映射关系。
作为一个实施例,发送单元进一步在维护所述调度转发映射关系的维护条件到达时,向所述第二传输节点发送维护信息,以使所述第二传输节点基于接收的维护信息确定是否调整所述第二传输节点的调度周期。
作为一个实施例,发送单元向所述第二传输节点发送维护信息包括:将维护信息携带在属于确定性流的第二业务报文中并向所述第二传输节点发送,或者,将维护信息携带在已定义的维护报文中并向第二传输节点发送;所述维护信息至少包括:发送时间;其中,当将维护信息携带在第二业务报文时,所述发送时间依据调度发送所述第二业务报文的调度周期确定,当将维护信息携带在已定义的维护报文时,所述发送时间依据确定发送所述维护报文时的系统周期和所述第一传输节点的处理时延确定。
作为一个实施例,第一传输节点和第二传输节点为连接5GS两端的不同节点;第一传输节点和第二传输节点中的一个为DS-TT,另一个为NW-TT;或者,第一传输节点和第二传输节点为两个不同的DS-TT。
至此,完成图12所示装置的结构描述。
本申请实施例还提供了图13所示装置的结构图。该装置对应图10所示流程。该装置应用于第二传输节点,第二传输节点与第一传输节点之间的传输链路上存在抖动,所述第一传输节点与所述第二传输节点的时钟不同步,该装置包括:
接收单元,用于接收由所述第一传输节点传输的属于确定性流的第三业务报文;
处理单元,用于依据所述第三业务报文携带的指定队列信息,将所述第三业务报文中待传输数据分发至所述指定队列信息指示的指定周期调度队列进行调度传输,其中,所述指定队列信息是依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系确定的,所述指定队列信息指示的指定周期调度队列可使所述第三业务报文固定在所述指定周期调度队列对应的调度周期转发,以实现所述第三业务报文的确定性转发。
作为一个实施例,处理单元通过以下步骤确定指定队列信息指示的指定周期调度队列:若所述指定队列信息为第二系统周期,按照以下公式确定第二调度周期:SpecfiedCycle=SpecfiedCycles mod N2;其中,SpecfiedCycle表示第二调度周期,SpecfiedCycles表示所述第二系统周期,N2为所述第二传输节点被配置的周期调度队列数目;将所述第二调度周期对应的周期调度队列确定为所述指定周期调度队列;若所述指定队列信息为第二调度周期,则将所述第二调度周期对应的周期调度队列确定为所述指定周期调度队列。
作为一个实施例,接收单元进一步接收由所述第一传输节点传输的测量与标定请求报文;
作为一个实施例,处理单元进一步基于接收的每一测量与标定请求报文确定所述第一传输节点与所述第二传输节点之间的候选传输时延,从所有候选传输时延中确定满足设定条件的候选传输时延作为所述第一传输节点与所述第二传输节点之间的目标传输时延。
作为一个实施例,处理单元进一步将所述目标传输时延返回给所述第一传输节点,以由所述第一传输节点根据所述目标传输时延确定所述第一传输节点与所述第二传输节点之间的调度转发映射关系。作为另一个实施例,处理单元进一步将所述目标传输时延发送给独立于所述第一传输节点和所述第二传输节点的第三设备,以由所述第三设备根据所述目标传输时延确定所述第一传输节点与所述第二传输节点之间的调度转发映射关系并下发至所述第一传输节点。
作为一个实施例,所述测量与标定请求报文携带所述第一传输节点在发送该测量与标定请求报文时的系统周期;所述候选传输时延依据所述第二传输节点接收到所述测量与标定请求报文时的系统周期、以及所述测量与标定请求报文携带的系统周期确定;所述目标传输时延为取值满足设定条件的候选传输时延。
作为一个实施例,接收单元进一步接收第一传输节点在设定时间窗口内发送的维护信息;
对应地,处理单元进一步基于每一维护信息携带的第一传输节点发送该维护信息的发送时间、以及第二传输节点接收到该维护信息时的接收时间,确定第一传输节点与第二传输节点之间的候选传输时延,从所有候选传输时延中确定满足所述设定条件的参考传输时延;依据所述参考传输时延和所述目标传输时延,确定是否调整所述第二传输节点的调度周期。
作为一个实施例,处理单元依据所述参考传输时延和所述目标传输时延,确定是否调整所述第二传输节点的调度周期包括:若所述参考传输时延与所述目标传输时延之间的差值绝对值大于已配置的偏差调整阈值,则确定调整所述第二传输节点的调度周期;若所述参考传输时延与所述目标传输时延之间的差值绝对值小于或等于已配置的偏差调整阈值,则确定不调整所述第二传输节点的调度周期。
作为一个实施例,若确定调整所述第二传输节点的调度周期,处理单元进一步调整调度周期,以将调度周期的时长从C1更改为与C1不同的C2;其中,所述C2通过BaseCycleTicks+Jitter_Adjustment个计数器单位表示;Jitter_Adjustment表示一个调度周期内需要调整的计数器单位总数;BaseCycleTicks是通过对BaseCycleTime进行转换得到的,BaseCycleTime的单位为时间单位,BaseCycleTicks的单位为计数器单位;
其中,若MinDeltaCycles>AnchorCycles+CheckAreaCycles,BaseCycleTime=C1+delta;若MinDeltaCycles<AnchorCycles–CheckAreaCycles,所述BaseCycleTime=C1-delta;MinDeltaCycles表示所述参考传输时延,AnchorCycles表示所述目标传输时延,CheckAreaCycles表示已配置的偏差调整阈值,delta表示预设调整量。
作为一个实施例,处理单元进一步在L个调整后的调度周期后,将调度周期的时长恢复为BaseCycleTime;其中,所述L通过以下公式确定:L=C1*JitterAdjustCycles/|Jitter_Adjustment|;当MinDeltaCycles>AnchorCycles+CheckAreaCycles,JitterAdjustCycles=MinDeltaCycles-AnchorCycles;当MinDeltaCycles<AnchorCycles-CheckAreaCycles,JitterAdjustCycles=AnchorCycles–MinDeltaCycles。
作为一个实施例,处理单元进一步针对初始的首个调度周期,或者针对被恢复的首个调度周期,判断当前调度周期(比如初始的首个调度周期,或者针对被恢复的首个调度周期)的时长T是否等于整数个计数器单位;若当前调度周期的时长T不等于整数个计数器单位,计算当前调度周期对应的偏差Remain,所述偏差Remain通过下式表示:Remain=(g+T)–T1_ticks*Unit,若当前调度周期为初始的首个调度周期,或者为被恢复的首个调度周期,则g为预设值,若当前调度周期不为初始的首个调度周期或者为被恢复的首个调度周期,g为上一调度周期的偏差Remain,所述T1_ticks表示当前调度周期包含的整数个计数器单位;所述Unit表示时间单位与计数器单位的换算关系;之后,按照如下公式设置下一调度周期的T2_ticks:
表示向下取整;将下一调度周期作为当前调度周期,返回判断当前调度周期的时长T是否等于整数个计数器单位的步骤。
作为一个实施例,第一传输节点和第二传输节点为连接5GS两端的不同节点;第一传输节点和第二传输节点中的一个为DS-TT,另一个为NW-TT;或者,第一传输节点和第二传输节点为两个不同的DS-TT。
至此,完成图13所示装置的结构描述。
本申请实施例还提供了图12或图13所示装置的硬件结构。参见图14,图14为本申请实施例提供的电子设备结构图。如图14所示,该硬件结构可包括:处理器和机器可读存储介质,机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例公开的上述任一方法。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可为:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (52)
- 一种确定性流传输方法,其特征在于,该方法应用于第一传输节点,所述第一传输节点与第二传输节点之间的传输链路上存在抖动,所述第一传输节点与所述第二传输节点的时钟不同步;该方法包括:针对待向所述第二传输节点传输的属于确定性流的第一业务报文,依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定指定队列信息;所述指定队列信息用于指示指定周期调度队列,所述指定周期调度队列为所述第一业务报文在被传输至所述第二传输节点后进入的周期调度队列,以使所述第一业务报文固定在所述指定周期调度队列对应的调度周期转发,实现所述第一业务报文的确定性转发;向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文。
- 根据权利要求1所述的方法,其特征在于,所述依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定指定队列信息包括:确定第一调度周期;所述第一调度周期是所述第一传输节点调度传输所述第一业务报文的调度周期;依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定所述指定队列信息;在所述向第二传输节点传输至少携带所述指定队列信息的所述第一业务报文之前,进一步包括:将所述第一业务报文存放至所述第一调度周期对应的第一周期调度队列;所述向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文包括:在所述第一调度周期,调度所述第一周期调度队列存放的所述第一业务报文,以向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文。
- 根据权利要求2所述的方法,其特征在于,所述确定第一调度周期包括:从与第一业务报文匹配的目标确定性流信息表中查找到与第一时间信息匹配的发送调度周期,将所述与第一时间信息匹配的发送调度周期确定为所述第一调度周期;其中,第一时间信息为接收到所述第一业务报文的时间信息。
- 根据权利要求3所述的方法,其特征在于,所述目标确定性流信息表至少包括:接收调度周期与发送调度周期之间的匹配关系;所述第一时间信息为第一接收调度周期,所述第一接收调度周期是指所述第一传输节点接收到第一业务报文时正在调度的调度周期;其中,若所述第一业务报文所属的数据流为满足预设整形条件的数据流,所述目标确定性流信息表中包括至少两个不同接收调度周期匹配同一发送调度周期的表项。
- 根据权利要求2所述的方法,其特征在于,所述第一传输节点与所述第二传输节点之间的调度转发映射关系包含所述第一传输节点与所述第二传输节点之间的调度周期偏差;所述依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定所述指定队列信息包括:按照如下公式确定在所述第一调度周期时当前所处的第一系统周期:TxCycles=ArrCycles-(ArrCycles mod N1)+TxCycle;其中,TxCycles表示所述第一系统周期,ArrCycles表示所述第一传输节点接收到第一业务报文时的系统周期,N1为所述第一传输节点被配置的周期调度队列数目,TxCycle为所述第一调度周期;依据所述第一系统周期和所述调度周期偏差确定所述指定队列信息。
- 根据权利要求5所述的方法,其特征在于,所述依据所述第一系统周期和所述调度周期偏差确定所述指定队列信息包括:按照以下公式确定第二系统周期:SpecfiedCycles=TxCycles+AdjustCycles;其中,SpecfiedCycles表示第二系统周期,TxCycles表示所述第一系统周期,AdjustCycles表示所述调度周期偏差;依据所述第二系统周期,确定所述指定队列信息。
- 根据权利要求6所述的方法,其特征在于,所述依据所述第二系统周期,确定所述指定队列信息包括:将所述第二系统周期确定为所述指定队列信息;或者,按照以下公式确定第二调度周期:SpecfiedCycle=SpecfiedCycles mod N2,将所述第二调度周期确定为所述指定队列信息;其中,SpecfiedCycle表示第二调度周期,SpecfiedCycles表示第二系统周期,所述N2表示第二传输节点被配置的周期调度队列数目。
- 根据权利要求2所述的方法,其特征在于,所述调度转发映射关系通过如下步骤确定:向所述第二传输节点发送K个测量与标定请求报文;K大于1;获得目标传输时延;所述目标传输时延是从所述第二传输节点确定的所有候选传输时延中选择出的;所述候选传输时延是所述第二传输节点基于接收到的每一测量与标定请求报文确定出的所述第一传输节点与所述第二传输节点之间的传输时延;根据所述目标传输时延,确定所述调度转发映射关系。
- 根据权利要求8所述的方法,其特征在于,所述测量与标定请求报文携带所述第一传输节点在发送所述测量与标定请求报文时的系统周期;所述候选传输时延依据所述第二传输节点接收到所述测量与标定请求报文时的系统周期、以及 所述测量与标定请求报文携带的系统周期确定;所述目标传输时延为取值满足设定条件的候选传输时延。
- 根据权利要求9所述的方法,其特征在于,所述根据所述目标传输时延,确定所述调度转发映射关系包括:获得预设抖动范围、所述第一传输节点的处理时延、以及已配置的偏差调整阈值;根据所述目标传输时延、所述预设抖动范围、所述处理时延、以及所述偏差调整阈值,确定所述第一传输节点与所述第二传输节点之间的调度周期偏差,将所述调度周期偏差确定为所述调度转发映射关系。
- 根据权利要求1所述的方法,其特征在于,该方法进一步包括:在所述调度转发映射关系的维护条件到达时,向所述第二传输节点发送维护信息,以使所述第二传输节点基于接收的维护信息确定是否调整所述第二传输节点的调度周期。
- 根据权利要求11所述的方法,其特征在于,所述向所述第二传输节点发送维护信息包括:将维护信息携带在属于确定性流的第二业务报文中并向所述第二传输节点发送,或者,将维护信息携带在已定义的维护报文中并向第二传输节点发送;所述维护信息至少包括:发送时间;其中,当将维护信息携带在第二业务报文时,所述发送时间依据调度发送所述第二业务报文的调度周期确定,当将维护信息携带在已定义的维护报文时,所述发送时间依据确定发送所述维护报文时的系统周期和所述第一传输节点的处理时延确定。
- 根据权利要求1所述的方法,其特征在于,所述第一传输节点和所述第二传输节点为连接5GS两端的不同节点;所述第一传输节点和所述第二传输节点中的一个为设备侧TSN转换器DS-TT,另一个为网络侧TSN转换器NW-TT;或者,所述第一传输节点和所述第二传输节点为两个不同的DS-TT。
- 一种确定性流传输方法,其特征在于,该方法应用于第二传输节点,第二传输节点与第一传输节点之间的传输链路上存在抖动,所述第一传输节点与所述第二传输节点的时钟不同步,该方法包括:接收由所述第一传输节点传输的属于确定性流的第三业务报文;依据所述第三业务报文携带的指定队列信息,将所述第三业务报文中待传输数据发送至所述指定队列信息指示的指定周期调度队列进行调度传输,其中,所述指定队列信息是依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系确定的,所述指定队列信息指示的指定周期调度队列可使所述第三业务报文固定在所述指定周期调度队列对应的调度周期转发,以实现所述第三业务报文的确定性转发。
- 根据权利要求14所述的方法,其特征在于,所述指定队列信息指示的指定周期调度队列通过以下步骤确定:若所述指定队列信息为第二系统周期,按照以下公式确定第二调度周期:SpecfiedCycle=SpecfiedCycles mod N2;其中,SpecfiedCycle表示第二调度周期,SpecfiedCycles表示所述第二系统周期,N2为所述第二传输节点被配置的周期调度队列数目;将所述第二调度周期对应的周期调度队列确定为所述指定周期调度队列;若所述指定队列信息为第二调度周期,则将所述第二调度周期对应的周期调度队列确定为所述指定周期调度队列。
- 根据权利要求14所述的方法,其特征在于,该方法进一步包括:接收由所述第一传输节点传输的测量与标定请求报文,基于接收的每一测量与标定请求报文确定所述第一传输节点与所述第二传输节点之间的候选传输时延,从所有候选传输时延中确定满足设定条件的候选传输时延作为所述第一传输节点与所述第二传输节点之间的目标传输时延。
- 根据权利要求16所述的方法,其特征在于,该方法进一步包括:将所述目标传输时延返回给所述第一传输节点,以由所述第一传输节点根据所述目标传输时延确定所述第一传输节点与所述第二传输节点之间的调度转发映射关系。
- 根据权利要求16所述的方法,其特征在于,该方法进一步包括:将所述目标传输时延发送给独立于所述第一传输节点和所述第二传输节点的第三设备,以由所述第三设备根据所述目标传输时延确定所述第一传输节点与所述第二传输节点之间的调度转发映射关系并下发至所述第一传输节点。
- 根据权利要求16所述的方法,其特征在于,所述测量与标定请求报文携带所述第一传输节点在发送该测量与标定请求报文时的系统周期;所述候选传输时延依据所述第二传输节点接收到所述测量与标定请求报文时的系统周期、以及所述测量与标定请求报文携带的系统周期确定;所述目标传输时延为取值满足设定条件的候选传输时延。
- 根据权利要求16所述的方法,其特征在于,该方法进一步包括:接收第一传输节点在设定时间窗口内发送的维护信息,基于每一维护信息携带的第一传输节点发送该维护信息的发送时间、以及第二传输节点接收到该维护信息时的接收时间,确定第一传输节点与第二传输节点之间的候选传输时延,从所有候选传输时延中确定满足所述设定条件的参考传输时延;依据所述参考传输时延和所述目标传输时延,确定是否调整所述第二传输节点的调度周期。
- 根据权利要求20所述的方法,其特征在于,所述依据所述参考传输时延和所述目标传输时延,确定是否调整所述第二传输节点的调度周期包括:若所述参考传输时延与所述目标传输时延之间的差值绝对值大于已配置的偏差调整阈值,则确定调整所述第二传输节点的调度周期;若所述参考传输时延与所述目标传输时延之间的差值绝对值小于或等于已配置的偏差调整阈值,则确定不调整所述第二传输节点的调度周期。
- 根据权利要求20所述的方法,其特征在于,若确定调整所述第二传输节点的调度周期,该方法进一步包括:调整调度周期,以将调度周期的时长从C1更改为与C1不同的C2;其中,所述C2通过BaseCycleTicks+Jitter_Adjustment个计数器单位表示;Jitter_Adjustment表示一个调度周期内需要调整的计数器单位总数;BaseCycleTicks是通过对BaseCycleTime进行转换得到的,BaseCycleTime的单位为时间单位,BaseCycleTicks的单位为计数器单位;其中,若MinDeltaCycles>AnchorCycles+CheckAreaCycles,BaseCycleTime=C1+delta;若MinDeltaCycles<AnchorCycles–CheckAreaCycles,所述BaseCycleTime=C1-delta;MinDeltaCycles表示所述参考传输时延,AnchorCycles表示所述目标传输时延,CheckAreaCycles表示已配置的偏差调整阈值,delta表示预设调整量。
- 根据权利要求22所述的方法,其特征在于,该方法进一步包括:在L个调整后的调度周期后,将调度周期的时长恢复为BaseCycleTime;其中,所述L通过以下公式确定:L=C1*JitterAdjustCycles/|Jitter_Adjustment|;当MinDeltaCycles>AnchorCycles+CheckAreaCycles,JitterAdjustCycles=MinDeltaCycles-AnchorCycles;当MinDeltaCycles<AnchorCycles-CheckAreaCycles,JitterAdjustCycles=AnchorCycles–MinDeltaCycles。
- 根据权利要求23所述的方法,其特征在于,针对在初始的首个调度周期,或者针对被恢复的首个调度周期,该方法进一步包括:判断当前调度周期的时长T是否等于整数个计数器单位,若当前调度周期的时长T不等于整数个计数器单位,计算当前调度周期对应的偏差Remain,所述偏差Remain通过下式表示:Remain=(g+T)–T1_ticks*Unit,若当前调度周期为初始的首个调度周期,或者为被恢复的首个调度周期,则g为预设值,若当前调度周期不为初始的首个调度周期或者为被恢复的首个调度周期,g为上一调度周期的偏差Remain,所述T1_ticks表示当前调度周期包含的整数个计数器单位;所述Unit表示时间单位与计数器单位的换算关系;按照如下公式设置下一调度周期的T2_ticks: 表示向下取整;将下一调度周期作为当前调度周期,返回判断当前调度周期的时长T是否等于整数个计数器单位的步骤。
- 根据权利要求14所述的方法,其特征在于,所述第一传输节点和所述第二传输节点为连接5GS两端的不同节点;所述第一传输节点和所述第二传输节点中的一个为设备侧TSN转换器DS-TT,另一个为网络侧TSN转换器NW-TT;或者,所述第一传输节点和所述第二传输节点为两个不同的DS-TT。
- 一种确定性流传输系统,其特征在于,该系统包括:第一传输节点与第二传输节点;其中,第一传输节点执行如权利要求1至12任一所述的方法步骤;第二传输节点执行如权利要求13至21任一所述的方法步骤。
- 一种确定性流传输装置,其特征在于,该装置应用于第一传输节点,所述第一传输节点与第二传输节点之间的传输链路上存在抖动,所述第一传输节点与所述第二传输节点的时钟不同步;该装置包括:确定单元,用于针对待向所述第二传输节点传输的属于确定性流的第一业务报文,依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定指定队列信息;所述指定队列信息用于指示指定周期调度队列,所述指定周期调度队列为所述第一业务报文在被传输至所述第二传输节点后进入的周期调度队列;发送单元,用于向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文。
- 根据权利要求27所述的装置,其特征在于,所述确定单元依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定指定队列信息包括:确定第一调度周期;所述第一调度周期是所述第一传输节点调度传输所述第一业务报文的调度周期;依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定所述指定队列信息;所述确定单元在所述发送单元向第二传输节点传输至少携带所述指定队列信息的所述第一业务报文之前,进一步将所述第一业务报文存放至所述第一调度周期对应的第一周期调度队列;所述发送单元述向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文包括:在所述第一调度周期,调度所述第一周期调度队列存放的所述第一业务报文,以向所述第二传输节点传输至少携带所述指定队列信息的所述第一业务报文。
- 根据权利要求28所述的装置,其特征在于,所述确定单元确定第一调度周期包括:从与第一业务报文匹配的目标确定性流信息表中查找到与第一时间信息匹配的发送调度周期,将所述与第一时间信息匹配的发送调度周期确定为所述第一调度周期;其中,第一时间信息为接收到所述第一业务报文的时间信息。
- 根据权利要求29所述的装置,其特征在于,所述目标确定性流信息表至少包括:接收调度周期与发送调度周期之间的匹配关系;所述第一时间信息为第一接收调度周期,所述第一接收调度周期是指所述第一传输节点接收到第一业务报文时正在调度的调度周期;其中,若所述第一业务报文所属的数据流为满足预设整形条件的数据流,所述目标确定性流信息表中包括至少两个不同接收调度周期匹配同一发送调度周期的表项。
- 根据权利要求28所述的装置,其特征在于,所述第一传输节点与所述第二传输节点之间的调度转发映射关系包含所述第一传输节点与所述第二传输节点之间的调度周期偏差;所述确定单元依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系,确定所述指定队列信息包括:按照如下公式确定在所述第一调度周期时当前所处的第一系统周期:TxCycles=ArrCycles-(ArrCycles mod N1)+TxCycle;其中,TxCycles表示所述第一系统周期,ArrCycles表示所述第一传输节点接收到第一业务报文时的系统周期,N1为所述第一传输节点被配置的周期调度队列数目,TxCycle为所述第一调度周期;依据所述第一系统周期和所述调度周期偏差确定所述指定队列信息。
- 根据权利要求31所述的装置,其特征在于,所述确定单元依据所述第一系统周期和所述调度周期偏差确定所述指定队列信息包括:按照以下公式确定第二系统周期:SpecfiedCycles=TxCycles+AdjustCycles;其中,SpecfiedCycles表示第二系统周期,TxCycles表示所述第一系统周期,AdjustCycles表示所述调度周期偏差;依据所述第二系统周期,确定所述指定队列信息。
- 根据权利要求32所述的装置,其特征在于,所述确定单元依据所述第二系统周期,确定所述指定队列信息包括:将所述第二系统周期确定为所述指定队列信息;或者,按照以下公式确定第二调度周期:SpecfiedCycle=SpecfiedCycles mod N2,将所述第二调度周期确定为所述指定队列信息;其中,SpecfiedCycle表示第二调度周期,SpecfiedCycles表示第二系统周期,所述N2表示第二传输节点被配置的周期调度队列数目。
- 根据权利要求28所述的装置,其特征在于,所述调度转发映射关系由所述确定单元通过如下步骤确定:向所述第二传输节点发送K个测量与标定请求报文;K大于1;获得目标传输时延;所述目标传输时延是从所述第二传输节点确定的所有候选传输时延中选择出的;所述候选传输时延是所述第二传输节点基于接收到的每一测量与标定请求报文确定出的所述第一传输节点与所述第二传输节点之间的传输时延;根据所述目标传输时延,确定所述调度转发映射关系。
- 根据权利要求34所述的装置,其特征在于,所述测量与标定请求报文携带所述第一传输节点在发送所述测量与标定请求报文时的系统周期;所述候选传输时延依据所述第二传输节点接收到所述测量与标定请求报文时的系统周期、以及所述测量与标定请求报文携带的系统周期确定;所述目标传输时延为取值满足设定条件的候选传输时延。
- 根据权利要求34所述的装置,其特征在于,所述确定单元根据所述目标传输时延,确定所述调度转发映射关系包括:获得预设抖动范围、所述第一传输节点的处理时延、以及已配置的偏差调整阈值;根据所述目标传输时延、所述预设抖动范围、所述处理时延、以及所述偏差调整阈值,确定所述第一传输节点与所述第二传输节点之间的调度周期偏差,将所述调度周期偏差确定为所述调度转发映射关系。
- 根据权利要求27所述的装置,其特征在于,所述发送单元进一步在所述调度转发映射关系的维护条件到达时,向所述第二传输节点发送维护信息,以使所述第二传输节点基于接收的维护信息确定是否调整所述第二传输节点的调度周期。
- 根据权利要求37所述的装置,其特征在于,所述发送单元向所述第二传输节点发送维护信息包括:将维护信息携带在属于确定性流的第二业务报文中并向所述第二传输节点发送,或者,将维护信息携带在已定义的维护报文中并向第二传输节点发送;所述维护信息至少包括:发送时间;其中,当将维护信息携带在第二业务报文时,所述发送时间依据调度发送所述第二业务报文的调度周期确定,当将维护信息携带在已定义的维护报文时,所述发送时间依据确定发送所述维护报文时的系统周期和所述第一传输节点的处理时延确定。
- 根据权利要求27所述的装置,其特征在于,所述第一传输节点和所述第二传输节点为连接5GS两端的不同节点;所述第一传输节点和所述第二传输节点中的一个为设备侧TSN转换器DS-TT,另一个为网络侧TSN转换器NW-TT;或者,所述第一传输节点和所述第二传输节点为两个不同的DS-TT。
- 一种确定性流传输装置,其特征在于,该装置应用于第二传输节点,第二传输节点与第一传输节点之间的传输链路上存在抖动,所述第一传输节点与所述第二传输节点的时钟不同步,该装置包括:接收单元,用于接收由所述第一传输节点传输的属于确定性流的第三业务报文;处理单元,用于依据所述第三业务报文携带的指定队列信息,将所述第三业务报文中待传输数据发送至所述指定队列信息指示的指定周期调度队列进行调度传输,其中,所述指定队列信息是依据所述第一传输节点与所述第二传输节点之间的调度转发映射关系确定的。
- 根据权利要求40所述的装置,其特征在于,所述指定队列信息指示的指定周期调度队列通过以下步骤确定:若所述指定队列信息为第二系统周期,按照以下公式确定第二调度周期:SpecfiedCycle=SpecfiedCycles mod N2;其中,SpecfiedCycle表示第二调度周期,SpecfiedCycles表示所述第二系统周期,N2为所述第二传输节点被配置的周期调度队列数目;将所述第二调度周期对应的周期调度队列确定为所述指定周期调度队列;若所述指定队列信息为第二调度周期,则将所述第二调度周期对应的周期调度队列确定为所述指定周期调度队列。
- 根据权利要求40所述的装置,其特征在于,所述接收单元进一步接收由所述第一传输节点传输的测量与标定请求报文;所述处理单元进一步基于接收的每一测量与标定请求报文确定所述第一传输节点与所述第二传输节点之间的候选传输时延,从所有候选传输时延中确定满足设定条件的候选传输时延作为所述第一传输节点与所述第二传输节点之间的目标传输时延。
- 根据权利要求42所述的装置,其特征在于,所述处理单元进一步将所述目标传输时延返回给所述第一传输节点,以由所述第一传输节点根据所述目标传输时延确定所述第一传输节点与所述第二传输节点之间的调度转发映射关系。
- 根据权利要求42所述的装置,其特征在于,所述处理单元进一步将所述目标传输时延发送给独立于所述第一传输节点和所述第二传输节点的第三设备,以由所述第三设备根据所述目标传输时延确定所述第一传输节点与所述第二传输节点之间的调度转发映射关系并下发至所述第一传输节点。
- 根据权利要求42所述的装置,其特征在于,所述测量与标定请求报文携带所述第一传输节点在发送该测量与标定请求报文时的系统周期;所述候选传输时延依据所述第二传输节点接收到所述测量与标定请求报文时的系统周期、以及所述测量与标定请求报文携带的系统周期确定;所述目标传输时延为取值满足设定条件的候选传输时延。
- 根据权利要求42所述的装置,其特征在于,所述处理单元进一步接收第一传输节点在设定时间窗口内发送的维护信息,基于每一维护信息携带的第一传输节点发送该维护信息的发送时间、以及第二传输节点接收到该维护信息时的接收时间,确定第一传输节点与第二传输节点之间的候选传输时延,从所有候选传输时延中确定满足所述设定条件的参考传输时延;依据所述参考传输时延和所述目标传输时延,确定是否调整所述第二传输节点的调度周期。
- 根据权利要求46所述的装置,其特征在于,所述处理单元依据所述参考传输时延和所述目标传输时延,确定是否调整所述第二传输节点的调度周期包括:若所述参考传输时延与所述目标传输时延之间的差值绝对值大于已配置的偏差调整阈值,则确定调整所述第二传输节点的调度周期;若所述参考传输时延与所述目标传输时延之间的差值绝对值小于或等于已配置的偏差调整阈值,则确定不调整所述第二传输节点的调度周期。
- 根据权利要求47所述的装置,其特征在于,若确定调整所述第二传输节点的调度周期,所述处理单元进一步调整调度周期,以将调度周期的时长从C1更改为与C1不同的C2;其中,所述C2通过BaseCycleTicks+Jitter_Adjustment个计数器单位表示;Jitter_Adjustment表示一个调度周期内需要调整的计数器单位总数;BaseCycleTicks是通过对BaseCycleTime进行转换得到的,BaseCycleTime的单位为时间单位,BaseCycleTicks的单位为计数器单位;其中,若MinDeltaCycles>AnchorCycles+CheckAreaCycles,BaseCycleTime=C1+delta;若MinDeltaCycles<AnchorCycles–CheckAreaCycles,所述BaseCycleTime=C1-delta;MinDeltaCycles表示所述参考传输时延,AnchorCycles表示所述目标传输时延,CheckAreaCycles表示已配置的偏差调整阈值,delta表示预设调整量。
- 根据权利要求48所述的装置,其特征在于,所述处理单元进一步在L个调整后的调度周期后,将调度周期的时长恢复为BaseCycleTime;其中,所述L通过以下公式确定:L=C1*JitterAdjustCycles/|Jitter_Adjustment|;当MinDeltaCycles>AnchorCycles+CheckAreaCycles,JitterAdjustCycles=MinDeltaCycles-AnchorCycles;当MinDeltaCycles<AnchorCycles- CheckAreaCycles,JitterAdjustCycles=AnchorCycles–MinDeltaCycles。
- 根据权利要求49所述的装置,其特征在于,针对在初始的首个调度周期,或者针对被恢复的首个调度周期,所述处理单元进一步判断当前调度周期的时长T是否等于整数个计数器单位,若当前调度周期的时长T不等于整数个计数器单位,计算当前调度周期对应的偏差Remain,所述偏差Remain通过下式表示:Remain=(g+T)–T1_ticks*Unit,若当前调度周期为初始的首个调度周期,或者为被恢复的首个调度周期,则g为预设值,若当前调度周期不为初始的首个调度周期或者为被恢复的首个调度周期,g为上一调度周期的偏差Remain,所述T1_ticks表示当前调度周期包含的整数个计数器单位;所述Unit表示时间单位与计数器单位的换算关系;以及,按照如下公式设置下一调度周期的T2_ticks: 表示向下取整;以及,将下一调度周期作为当前调度周期,返回判断当前调度周期的时长T是否等于整数个计数器单位的步骤。
- 根据权利要求40所述的装置,其特征在于,所述第一传输节点和所述第二传输节点为连接5GS两端的不同节点;所述第一传输节点和所述第二传输节点中的一个为设备侧TSN转换器DS-TT,另一个为网络侧TSN转换器NW-TT;或者,所述第一传输节点和所述第二传输节点为两个不同的DS-TT。
- 一种电子设备,其特征在于,该电子设备包括:处理器和机器可读存储介质;机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1至25任一所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/106561 WO2024016175A1 (zh) | 2022-07-19 | 2022-07-19 | 确定性流传输方法、系统及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117597908A true CN117597908A (zh) | 2024-02-23 |
Family
ID=89616731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280002285.5A Pending CN117597908A (zh) | 2022-07-19 | 2022-07-19 | 确定性流传输方法、系统及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117597908A (zh) |
WO (1) | WO2024016175A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10320659B2 (en) * | 2016-11-28 | 2019-06-11 | Cisco Technology, Inc. | Source routed deterministic packet in a deterministic data network |
CN111431822A (zh) * | 2020-04-19 | 2020-07-17 | 汪勤思 | 一种确定性时延业务智能调度与控制实施方法 |
CN112511329A (zh) * | 2020-06-12 | 2021-03-16 | 中兴通讯股份有限公司 | 信息通告方法及设备、可读介质 |
CN114500520A (zh) * | 2020-11-12 | 2022-05-13 | 中国移动通信有限公司研究院 | 一种数据传输方法、装置及通信节点 |
-
2022
- 2022-07-19 CN CN202280002285.5A patent/CN117597908A/zh active Pending
- 2022-07-19 WO PCT/CN2022/106561 patent/WO2024016175A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024016175A1 (zh) | 2024-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113242B (zh) | 环形通信网络中多节点同步采样和数据传输方法 | |
US8068429B2 (en) | Transmit scheduling | |
US7307989B2 (en) | Window flow control with common time reference | |
US9667370B2 (en) | Communication device with peer-to-peer assist to provide synchronization | |
US7876791B2 (en) | Synchronizing apparatus and method in packet network | |
US7447237B2 (en) | Radio access network system, radio communication method, synchronous server and node | |
US7860125B2 (en) | Flexible time stamping | |
CN101803268B (zh) | 时钟同步系统及其方法和程序 | |
US20090135677A1 (en) | System and method for application layer time synchronization without creating a time discrepancy or gap in time | |
CN102123073B (zh) | 数据包重排序方法及装置 | |
KR20150143801A (ko) | 타임스탬프를 생성하는 방법, 장치, 그리고 시스템 | |
US10560383B2 (en) | Network latency scheduling | |
US20020024973A1 (en) | Hardware time stamping and registration of packetized data method and system | |
CN103299575B (zh) | 传输装置以及传输方法 | |
CN102783089A (zh) | 用于估计子路径的可用带宽的方法 | |
CN101534222A (zh) | 端到端网络时延抖动测量方法、装置及系统 | |
US8089979B2 (en) | Packet relay apparatus and packet relay method | |
CN106850397A (zh) | 物联网中消息传递方法和装置 | |
CN113300798B (zh) | 一种异步终端的传输确定性接入方法 | |
US20220210078A1 (en) | Method implemented by computer means of a communicating entity in a packet-switched network, and computer program and computer-readable non-transient recording medium thereof, and communicating entity of a packet-switched network | |
US20020021717A1 (en) | Method and system for transmit time stamp insertion in a hardware time stamp system for packetized data networks | |
JP5768289B2 (ja) | ネットワークノード及びパケット管理方法 | |
CN112039621B (zh) | 一种时间同步方法和系统 | |
CN117597908A (zh) | 确定性流传输方法、系统及电子设备 | |
US20180295185A1 (en) | Method and computer system for quickly transmitting time-controlled real-time messages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |