一种往返时延确定方法、装置及计算机可读存储介质与流程

文档序号:16685924发布日期:2019-01-22 18:18阅读:245来源:国知局
一种往返时延确定方法、装置及计算机可读存储介质与流程

本发明涉及以太网无源光网络(epon,ethernetpassiveopticalnetwork)领域,尤其涉及一种往返时延(rtt,round-triptime)确定方法、装置及计算机可读存储介质。



背景技术:

对于epon中的光线路终端(olt,opticallineterminal)而言,需要知道不同距离光网络单元(onu,opticalnetworkunit)的rtt值,才能准确地为onu分配发送数据的时间窗口,即上行窗口。

目前,olt通过上下行交换不同的多点控制协议(mpcp,multipointcontrolprotocol)报文完成各个onu的rtt值的测量。

然而,在olt接入了多种类型的onu的情况下,当采用上述方式得到的rtt值为各onu分配时间窗口时,会造成时间窗口的重叠。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供一种rtt确定方法、装置及计算机可读存储介质。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种rrt确定方法,包括:

获取与第一onu的类型对应的第一参数;所述第一onu的类型至少表征所述第一onu的业务承载波长;所述第一参数表征上行通路的延时;

利用第一参数及第二参数,确定第三参数;所述第二参数为根据所述第一onu与所属olt之间距离测量得到的rrt值;所述第三参数用于确定所述第一onu发送数据的时间窗口。

上述方案中,所述获取与第一onu的类型对应的第一参数,包括:

在第一集合中查找与所述第一onu的类型对应的第一参数;所述第一集合包含至少两种onu类型对应的第一参数。

上述方案中,所述方法还包括:

根据所述第一onu与所属olt之间距离,测量得到所述第二参数。

上述方案中,所述根据所述第一onu与所属olt之间距离,测量得到所述第二参数,包括:

向所述第一onu发送报文,以与所述第一onu交换报文;

在交换过程中,根据报文的发送时刻以及报文的接收时刻,确定所述第二参数。

上述方案中,所述利用第一参数及第二参数,确定第三参数,包括:

将所述第二参数与第一参数求差,得到差值;

将所述差值作为所述第三参数。

上述方案中,所述方法还包括:

确定所述第一onu的第三参数后,依据所述第三参数以及为第二onu分配的发送数据的时间窗口,为所述第一onu分配发送数据的时间窗口;所述第二onu为第一队列中与所述第一onu相邻的onu;所述第一队列为需要分配发送数据的时间窗口的至少两个onu所形成的队列。

上述方案中,所述为所述第一onu分配用于发送数据的时间窗口时,所述方法包括:

利用所述第三参数,为第二onu分配的发送数据的时间窗口的起始时刻、窗口长度,所述第二onu的rtt值,以及第四参数,确定所述第一onu对应的时间窗口的起始时刻;所述第四参数表征所述第二onu对应的时间窗口与所述第一onu对应的时间窗口之间的间隔。

本发明实施例还提供了一种rtt确定装置,包括:

获取单元,用于获取与第一onu的类型对应的第一参数;所述第一onu的类型至少表征所述第一onu的业务承载波长;所述第一参数表征上行通路的延时;

确定单元,用于利用第一参数及第二参数,确定第三参数;所述第二参数为根据所述第一onu与所属olt之间距离测量得到的rrt值;所述第三参数用于确定所述第一onu发送数据的时间窗口。

上述方案中,所述获取单元,还用于根据所述第一onu与所属olt之间距离,测量得到所述第二参数。

上述方案中,所述装置还包括:

分配单元,用于确定所述第一onu的第三参数后,依据所述第三参数以及为第二onu分配的发送数据的时间窗口,为所述第一onu分配发送数据的时间窗口;所述第二onu为第一队列中与所述第一onu相邻的onu;所述第一队列为需要分配发送数据的时间窗口的至少两个onu所形成的队列。

本发明实施例又提供了一种rtt确定装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,

其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。

本发明实施例提供的rtt确定方法、装置及计算机可读存储介质,获取与第一onu的类型对应的第一参数;所述第一onu的类型至少表征所述第一onu的业务承载波长;所述第一参数表征上行通路的延时;利用第一参数及第二参数,确定第三参数;所述第二参数为根据所述第一onu与所属olt之间距离测量得到的rrt值;所述第三参数用于确定所述第一onu发送数据的时间窗口,在确定onu的rrt值时,考虑了与其类型对应的上行通路的延时,如此,能够不同类型的onu具有不同的rtt值,从而避免了上行时间窗口的重叠。

附图说明

在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。

图1为相关技术中测量rtt值时的各模块之间的信号走向示意图;

图2为相关技术中一种olt兼容多种类型onu结构示意图;

图3为本发明实施例rtt的确定方法流程示意图;

图4为本发明实施例测量rtt的流程示意图;

图5为本发明实施例分配的时间窗口示意图;

图6为本发明实施例rtt确定装置结构示意图;

图7为本发明实施例rtt确定装置硬件结构示意图;

图8为本发明应用实施例olt兼容多种类型onu结构示意图;

图9为本发明应用实施例olt结构示意图;

图10为本发明应用实施例为onu分配时间窗口的处理流程示意图。

具体实施方式

下面结合附图及实施例对本发明再作进一步详细的描述。

olt通过上下行交换不同的mpcp报文测量各onu的rtt值的过程,如图1所示,下行方向,olt给mpcp报文打上时间戳,并发送给onu;当onu收到mpcp报文后,onu根据mpcp报文内的时间戳同步本地时戳计数器(用于计时),然后在mpcp报文设定的时间上向olt发送mpcp报文;上行方向,olt在设定的mpcp报文时间戳获取点(可以称为m点)解析报文;然后根据报文内容获得该onu的rtt值。

当olt只对接了一种类型onu时,采用上述方式确定rtt值,这样处理是没有问题的,这是因为olt的入口(可以称为s点)到m点的延时是固定的。然而对于10gepon光接入olt芯片而言,需要能够兼容不同类型的onu,包括对称10gonu、1gonu和非对称onu,如图2所示,10geponolt对接不同类型onu所走上行通路不一样(10g对称onu走上行10g通路,1g对称和非对称onu走上行1g通路),也就是说,s点到m点的延时是不同的,当采用上述方式测量rtt值,即用m点测量得到的rtt值来分配不同的上行时间窗口,会导致上行时间窗口的重叠。

因此,为了兼容不同类型的onu,就需要将测量rtt的值由m点推到s点,也就是在olt的入口,也就是说,不同类型的onu,在测量rtt值时,需要考虑s点到m点的延时。

基于此,在本发明的各种实施例中:获取与第一onu的类型对应的第一参数;所述第一onu的类型至少表征所述第一onu的业务承载波长;所述第一参数表征上行通路的延时;利用第一参数及第二参数,确定第三参数;所述第二参数为根据所述第一onu与所属olt之间距离测量得到的rrt值;所述第三参数用于确定所述第一onu发送数据的时间窗口。

本发明实施例中,在确定onu的rrt值时,考虑了与其类型对应的上行通路的延时,也即考虑了与其类型对应的s点到m点的延时,如此,能够不同类型的onu具有不同的rtt值,从而避免了上行时间窗口的重叠。

在以下的描述中:上行是指:onu向olt发送数据的方向;相应地,下行是指olt向onu发送数据的方向。

本发明实施例rrt确定方法,应用于olt,如图3所示,包括以下步骤:

步骤301:获取与第一onu的类型对应的第一参数;

这里,所述第一onu的类型至少表征所述第一onu的业务承载波长。

其中,实际应用时,所述第一onu的类型还可以表征能够承载的数据量(可以理解为传输速率)等。

所述第一参数表征上行通路的延时。也就是说,所述第一参数表征上行报文至olt入口的时刻至解析上行报文的时刻之间的时间段,也即上述的s点到m点的延时。

在一实施例中,本步骤的具体实现包括:

在第一集合中查找与所述第一onu的类型对应的第一参数;所述第一集合包含至少两种onu类型对应的第一参数。

也就是说,实际应用时,需要先测量不同类型的onu对应的第一参数,形成一个集合,以便在需要时,随时获取。

步骤302:利用第一参数及第二参数,确定第三参数。

这里,所述第二参数为根据所述第一onu与所属olt之间距离测量得到的rrt值。

所述第三参数用于确定所述第一onu发送数据的时间窗口。

实际应用时,当第一onu没有对应的第二参数时,需要进行rtt值的测量。

基于此,在一实施例中,该方法还可以包括:

根据所述第一onu与所属olt之间距离,测量得到所述第二参数。

这里,实际应用时,当所述第一onu没有对应的第二参数时,可以先得到第二参数,然后再获取第一参数。

所述根据所述第一onu与所属olt之间距离,测量得到所述第二参数,包括:

向所述第一onu发送报文,以与所述第一onu交换报文;

在交换过程中,根据报文的发送时刻以及报文的接收时刻,确定所述第二参数。

所述根据所述第一onu与所属olt之间距离,测量得到所述第二参数,包括:

向所述第一onu发送报文,以与所述第一onu交换报文;

在交换过程中,根据报文的发送时刻以及报文的接收时刻,确定所述第二参数。

更具体地,举个例子来说,如图4所示,olt在t0时刻下发mpcp报文—discovery报文(下发广播报文),报文内的时间戳为t0,该discovery报文经olt下行通路和链路到达onu的这段时间称为tdownstream;onu解析该discovery报文,并获取时间戳t0,根据时间戳t0同步onu本地时戳计数器(其作用是计时),使本地计数器的初始值为t0,在此基础上每隔16ns(以协议规定的时间量子(tq)为单位)加一,和olt保持同步。onu解析到discovery帧之后,等待一段时间(该时间称为twait),在t1时刻上发register_req类型的mpcp报文,该报文内的时间戳域的值为t1;该register_req类型的mpcp报文经链路到达olt的本地时间为t2(这段时间称为tupstream);因此测得的rtt=tdownstream+tupstream=tresponse–twait=t2–t0–(t1–t0)=t2–t1;也就是,olt在上行mpcp时间戳获取点得到的olt本地时间减去解析到的mpcp报文内的时间戳值。测量得到的rtt值可以称为m点(上行mpcp时间戳获取点)的rtt值。

实际应用时,可以将测量得到m点的各个onu的rtt分别存储到对应的随机存取存储器(ram,randomaccessmemory)中。

所述利用第一参数及第二参数,确定第三参数,包括:

将所述第二参数与第一参数求差,得到差值;

将所述差值作为所述第三参数。

确定所述第一onu的第三参数后,就可以为所述第一onu分配发送数据的时间窗口了。

基于此,在一实施例中,该方法还可以包括:

确定所述第一onu的第三参数后,依据所述第三参数以及为第二onu分配的发送数据的时间窗口,为所述第一onu分配发送数据的时间窗口;所述第二onu为第一队列中与所述第一onu相邻的onu;所述第一队列为需要分配发送数据的时间窗口的至少两个onu所形成的队列。

其中,所述第一onu分配用于发送数据的时间窗口时,利用所述第三参数,为第二onu分配的发送数据的时间窗口的起始时刻、窗口长度,所述第二onu的rtt值,以及第四参数,确定所述第一onu对应的时间窗口的起始时刻;所述第四参数表征所述第二onu对应的时间窗口与所述第一onu对应的时间窗口之间的间隔。

更具体地,假设olt需要为n个onu分配时间窗口,n为大于或等于2的整数。n个onu分别为onu0,onu1,……,onun-1,onun。如图5所示,假设onu0的起始时刻(图中的starttime)为s0、窗口长度为l0、rtt值为r0;onu1的starttime为s1、窗口长度为l1、rtt值为r1;onun-1的starttime为sn-1、窗口长度为ln-1、rtt值为rn-1;onun的starttime为sn、窗口长度为ln、rtt值为rn;窗口间隔为d。则有:

onu1的starttime的值s1=s0+l0+r0-r1+d;其中s0+l0+r0,是站在olt角度来说的,在同一时钟下是看到onu0上行时间窗口结束的时间,onu1可以发送数据的时间窗口的起始时刻在此基础上加上窗口间隔d;而starttime是送给onu的,告诉onu发送数据的时间窗口的起始时刻,因此要再减去onu1的rtt值。也就是到达olt的s点的时间s=starttime+rtt;因此starttime=s–rtt;对于onu1而言,对应的s=s0+l0+r0+d,则s1=s-r1=s0+l0+r0+d–r1,以此类推,onun的starttime为sn=sn-1+ln-1+rn-1+d–rn。

从上面的分析可以得出,当采用现有测量的rtt值,且n个onu的rtt值都相等时,则后一个onu的starttime等于前一个onu的starttime加上窗口长度再加一个窗口间隔d;由此可以看出rtt的测距很重要,但是不够准确,会导致某几个onu的上行时间窗口重叠,这样会丢包,甚至丢掉一个onu的上行窗口内的所有报文。

本发明实施例提供的rtt确定方法,获取与第一onu的类型对应的第一参数;所述第一onu的类型至少表征所述第一onu的业务承载波长;所述第一参数表征上行通路的延时;利用第一参数及第二参数,确定第三参数;所述第二参数为根据所述第一onu与所属olt之间距离测量得到的rrt值;所述第三参数用于确定所述第一onu发送数据的时间窗口,在确定onu的rrt值时,考虑了与其类型对应的上行通路的延时,如此,能够不同类型的onu具有不同的rtt值,从而避免了上行时间窗口的重叠。

另外,依据所述第三参数以及为第二onu分配的发送数据的时间窗口,为所述第一onu分配发送数据的时间窗口,为各onu分配时间窗口时,由于考虑了不同类型的onu的上行通路的延时,在为各onu分配时间窗口时,就能够避免各onu的时间窗口的重叠,从而避免丢包现象的发生。

为实现本发明实施例的方法,本发明实施例还提供了一种rtt确定装置,设置在olt,如图6所示,所述装置包括:

获取单元61,用于获取与第一onu的类型对应的第一参数;所述第一onu的类型至少表征所述第一onu的业务承载波长;所述第一参数表征上行通路的延时;

确定单元62,用于利用第一参数及第二参数,确定第三参数;所述第二参数为根据所述第一onu与所属olt之间距离测量得到的rrt值;所述第三参数用于确定所述第一onu发送数据的时间窗口。

其中,所述获取单元61,具体用于:

在第一集合中查找与所述第一onu的类型对应的第一参数;所述第一集合包含至少两种onu类型对应的第一参数。

在一实施例中,所述获取单元61,还用于根据所述第一onu与所属olt之间距离,测量得到所述第二参数。

其中,实际应用时,所述获取单元61,具体用于:

向所述第一onu发送报文,以与所述第一onu交换报文;

在交换过程中,根据报文的发送时刻以及报文的接收时刻,确定所述第二参数。

在一实施例中,所述装置还包括:

分配单元,用于确定所述第一onu的第三参数后,依据所述第三参数以及为第二onu分配的发送数据的时间窗口,为所述第一onu分配发送数据的时间窗口;所述第二onu为第一队列中与所述第一onu相邻的onu;所述第一队列为需要分配发送数据的时间窗口的至少两个onu所形成的队列。

这里,所述分配单元利用所述第三参数,为第二onu分配的发送数据的时间窗口的起始时刻、窗口长度,所述第二onu的rtt值,以及第四参数,确定所述第一onu对应的时间窗口的起始时刻;所述第四参数表征所述第二onu对应的时间窗口与所述第一onu对应的时间窗口之间的间隔。

在一实施例中,所述确定单元62,具体用于:

将所述第二参数与第一参数求差,得到差值;

将所述差值作为所述第三参数。

需要说明的是:上述实施例提供的rtt确定装置在确定rtt时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。

示例性地,本发明实施例还提供了一种rtt确定装置,如图7所示,该装置70包括:

处理器和用于存储能够在处理器71上运行的计算机程序的存储器72,

其中,所述处理器71用于运行所述计算机程序时,执行:

获取与第一onu的类型对应的第一参数;所述第一onu的类型至少表征所述第一onu的业务承载波长;所述第一参数表征上行通路的延时;

利用第一参数及第二参数,确定第三参数;所述第二参数为根据所述第一onu与所属olt之间距离测量得到的rrt值;所述第三参数用于确定所述第一onu发送数据的时间窗口。

在一实施例中,所述处理器71用于运行所述计算机程序时,执行:

在第一集合中查找与所述第一onu的类型对应的第一参数;所述第一集合包含至少两种onu类型对应的第一参数。

在一实施例中,所述处理器71还用于运行所述计算机程序时,执行:

根据所述第一onu与所属olt之间距离,测量得到所述第二参数。

在一实施例中,所述处理器71用于运行所述计算机程序时,执行:

向所述第一onu发送报文,以与所述第一onu交换报文;

在交换过程中,根据报文的发送时刻以及报文的接收时刻,确定所述第二参数。

在一实施例中,所述处理器71用于运行所述计算机程序时,执行:

将所述第二参数与第一参数求差,得到差值;

将所述差值作为所述第三参数。

在一实施例中,所述处理器71还用于运行所述计算机程序时,执行:

确定所述第一onu的第三参数后,依据所述第三参数以及为第二onu分配的发送数据的时间窗口,为所述第一onu分配发送数据的时间窗口;所述第二onu为第一队列中与所述第一onu相邻的onu;所述第一队列为需要分配发送数据的时间窗口的至少两个onu所形成的队列。

在一实施例中,所述处理器71用于运行所述计算机程序时,执行:

利用所述第三参数,为第二onu分配的发送数据的时间窗口的起始时刻、窗口长度,所述第二onu的rtt值,以及第四参数,确定所述第一onu对应的时间窗口的起始时刻;所述第四参数表征所述第二onu对应的时间窗口与所述第一onu对应的时间窗口之间的间隔。

当然,实际应用时,如图7所示,rtt确定装置70中的各个组件通过总线系统73耦合在一起。可理解,总线系统73用于实现这些组件之间的连接通信。总线系统73除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统73。

可以理解,存储器72可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandomaccessmemory)、同步静态随机存取存储器(ssram,synchronousstaticrandomaccessmemory)、动态随机存取存储器(dram,dynamicrandomaccessmemory)、同步动态随机存取存储器(sdram,synchronousdynamicrandomaccessmemory)、双倍数据速率同步动态随机存取存储器(ddrsdram,doubledataratesynchronousdynamicrandomaccessmemory)、增强型同步动态随机存取存储器(esdram,enhancedsynchronousdynamicrandomaccessmemory)、同步连接动态随机存取存储器(sldram,synclinkdynamicrandomaccessmemory)、直接内存总线随机存取存储器(drram,directrambusrandomaccessmemory)。本发明实施例描述的存储器72旨在包括但不限于这些和任意其它适合类型的存储器。

本发明实施例中的存储器72用于存储各种类型的数据以支持rtt确定装置70的操作。

上述本发明实施例揭示的方法可以应用于处理器71中,或者由处理器71实现。处理器71可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器71中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器71可以是通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器71可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器72,处理器71读取存储器72中的信息,结合其硬件完成前述方法的步骤。

在示例性实施例中,rtt确定装置70可以被一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)、通用处理器、控制器、微控制器(mcu,microcontrollerunit)、微处理器(microprocessor)、或其他电子元件实现,用于执行前述方法。

需要说明的是,上述实施例提供的rtt确定装置与rtt确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

下面结合一个应用实施例来对本发明再作进一步详细的描述。

本应用实施例的应用场景是10gepon系统中。如图8所示,例如一个10gepon系统中olt(称为10geponolt)挂接了onu1、onu2及onu3三个onu,这三个onu是三种类型的onu;具体地,三个onu的类型分别是:onu1为1g对称、onu2为10g对称、onu3为非对称。更具体地,对于onu1,其类型是上行1g通路,下行1g通路;对于onu2,其类型是上行上行10g通路,下行10g通路;对于onu3,其类型是上行1g通路,下行10g通路。

对于olt,如图9所示,包括:

rtt测量模块(其功能相当于图6中获取单元61获取第二参数的功能),主要测量挂接在olt上的各种类型的onu的rtt值,该rtt值为各个onu分配上行报文窗口提供了可靠的数据支撑。

上行窗口分配模块(其功能相当于图6中获取单元61获取第一参数的功能、确定单元62的功能以及分配单元的功能),该模块根据获取的rtt值、窗口长度等信息为各个onu分配上行的时间窗口。

分配时间窗口之后,各onu根据窗口指示在规定的时间和范围内上报各种数据。

确定各onu的rtt值以及分配时间窗口的过程,可以包括:

首先,rtt测量模块测量olt系统上挂接的各onu的rtt值,该rtt值是在m点测量得到,因为只有在m点才能解析到onu上发的mpcp报文;将测量的rtt值分别存储,以供读取。测量不同上行速率(不同类型的onu)的s点到m点的延时(简称t值),将该延时分别存储,以供上行窗口分配模块读取。

其次,上行窗口分配模块,读取各个onu存储的rtt值,然后根据不同onu类型读取存储的不同t值,将测量的rtt值与t值相减得到新的rtt值。

最后,上行窗口分配模块用新的rtt值,统一处理各onu的上行窗口的起始时间(starttime)和窗口的长度。

首先描述测量rtt值的过程。

对于onu1,假设olt在20tq时刻下发discovery报文;discovery报文到达onu1后,onu1同步本地时戳计数器为20tq,并在等待100tq后,即在120tq向olt发送register_req类型的mpcp报文,假设register_req类型的mpcp报文到达olt的本地时间为980tq,此时测得的onu1对应的rtt值为:980-120=860tq;

对于onu2,假设olt在1030tq时刻下发discovery报文;discovery报文到达onu2后,onu同步本地时戳计数器为1030tq,并在等待130tq后,即在1160tq向olt发送register_req类型的mpcp报文,假设register_req类型的mpcp报文到达olt的本地时间为1970tq,此时测得的onu2对应的rtt值为r2=1970-1160=810tq;

对于onu3,假设olt在2100tq时刻下发discovery报文;discovery报文到达onu3后,onu同步本地时戳计数器为2100tq,并在等待200tq后,即在2300tq向olt发送register_req类型的mpcp报文,假设register_req类型的mpcp报文到达olt的本地时间为3990tq,此时测得的onu3对应的rtt值为r3=3990-2300=690tq。

接着详细描述为图8所示的各onu确定新rtt值及分配时间窗口的过程。假设

对于各onu,上行窗口分配模块分配时间窗口的处理流程,如图10所述,包括以下步骤:

步骤1001:开始分配上行时间窗口后,判断rtt值是否已测量,如果是,则执行步骤1002,否则,执行步骤1008;

步骤1002:读取对应onu的测量rtt值,之后执行步骤1003;

步骤1003:判断该onu的类型,如果是上行10g类型onu,则执行步骤1005,如果是上行1g类型onu,则执行步骤1004;

步骤1004:读取1g上行通路延时值,之后执行步骤1006;

步骤1005:读取10g上行通路延时值(即t值),之后执行步骤1006;

这里,实际应用时,这些上行通路参数是可以配置的。

步骤1006:读取对应类型的通路延时值之后,用读取存储的rtt值减去通路延时值,形成新的rtt值;

步骤1007:根据新的rtt值和窗口长度用于产生该onu的starttime(onu发送上行窗口的开始时间);

这里,实际应用时,当产生starttime后,starttime、窗口长度会形成mpcp报文下发,经olt的下行通路到达onu,onu根据此窗口数据在规定的时间上发报文。

步骤1008:执行测量流程,之后执行步骤1009;

步骤1009:测量之后存储onu的测量rtt值,以便在下一个周期分配对应的发送上行窗口。

那么对于上述三个onu,假设测量得到1g上行通路延时t1为110tq,10g上行通路延时t2为70tq;则有:

对于onu1,新的rtt值为:rtt1=860-110=750tq;

对于onu2,新的rtt值为:rtt2=810-70=740tq;

对于onu3,新的rtt值为:rtt3=690-110=580tq。

从上面的描述可以看出:三个onu的rtt是串行测量的在测量onu2的rtt值同时,onu1的rtt已经测量出来,所以在测量onu2的rtt同时,可以分配onu1的时间窗口。

得到rtt值后,在分配时间窗口时,假如onu1、onu2及onu3三个onu的窗口长度依次分别为:300tq、240tq和200tq;窗口间隔d为10tq;分配周期为1000tq。则有:

第一个周期分配的onu1的时间窗口的starttime(称为s1)为周期的起点:

s1=1000-rtt1=1000-750=250tq。

第二个周期分配onu1和onu2两个onu的时间窗口,假设onu2的starttime称为s2,则有:

s1=2000-rtt1=2000-750=1250tq;

s2=s1+l1+rtt1-rtt2+d=1250+300+750-740+10=1550tq。

第三个周期分配onu1、onu2和onu3三个onu的时间窗口,假设onu3的starttime称为s3,则有:

s1=3000-rtt1=2250tq;

s2=s1+l1+rtt1-rtt2+d=2250+300+750-740+10=2550;

s3=s2+l2+rtt2-rtt3+d=2550+240+740-580+10=2960tq。

第四个分配周期及以后都是对三个onu分配时间窗口,那么在每个分配周期,s1的起始点随时间固定增大。

从上面的描述可以看出,采用上述方法处理后,各种类型的onu上行时间窗口都在规定的时间s=starttime+rtt到达olt的入口s点,避开不同t值,也避免了上行窗口的重叠,既解决了重叠问题,也兼容了各种类型的onu。也就是说,本发明实施例提供的方案,能够很好地解决多种类型onu兼容而导致的上行窗口重叠问题,从而很好地体现了系统的兼容性,流畅性。

在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器72,上述计算机程序可由rtt装置70的处理器71执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flashmemory、磁表面存储器、光盘、或cd-rom等存储器。

具体地,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行:

获取与第一onu的类型对应的第一参数;所述第一onu的类型至少表征所述第一onu的业务承载波长;所述第一参数表征上行通路的延时;

利用第一参数及第二参数,确定第三参数;所述第二参数为根据所述第一onu与所属olt之间距离测量得到的rrt值;所述第三参数用于确定所述第一onu发送数据的时间窗口。

在一实施例中,所述计算机程序被处理器运行时,执行:

在第一集合中查找与所述第一onu的类型对应的第一参数;所述第一集合包含至少两种onu类型对应的第一参数。

在一实施例中,所述计算机程序被处理器运行时,还执行:

根据所述第一onu与所属olt之间距离,测量得到所述第二参数。

在一实施例中,所述计算机程序被处理器运行时,执行:

向所述第一onu发送报文,以与所述第一onu交换报文;

在交换过程中,根据报文的发送时刻以及报文的接收时刻,确定所述第二参数。

在一实施例中,所述计算机程序被处理器运行时,执行:

将所述第二参数与第一参数求差,得到差值;

将所述差值作为所述第三参数。

在一实施例中,所述计算机程序被处理器运行时,执行:

确定所述第一onu的第三参数后,依据所述第三参数以及为第二onu分配的发送数据的时间窗口,为所述第一onu分配发送数据的时间窗口;所述第二onu为第一队列中与所述第一onu相邻的onu;所述第一队列为需要分配发送数据的时间窗口的至少两个onu所形成的队列。

在一实施例中,所述计算机程序被处理器运行时,执行:利用所述第三参数,为第二onu分配的发送数据的时间窗口的起始时刻、窗口长度,所述第二onu的rtt值,以及第四参数,确定所述第一onu对应的时间窗口的起始时刻;所述第四参数表征所述第二onu对应的时间窗口与所述第一onu对应的时间窗口之间的间隔。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1