一种队列报告方法、装置和无源光网络系统的制作方法

文档序号:7706592阅读:196来源:国知局

专利名称::一种队列报告方法、装置和无源光网络系统的制作方法
技术领域
:本发明涉及通信
技术领域
,具体涉及一种队列报告方法、队列报告装置和无源光网络。
背景技术
:EthernetPassiveOpticalNetwork(以太网无源光网纟各,EPON)是将以太网技术和无源光网络紧密结合的光纤接入网络。EPON由OpticalLineTerminal(光线^各终端,OLT)、OpticalDistributionNetwork(光分配网纟各,ODN)和OpticalNetworkUnit/OpticalNetworkTerminal(光网络单元/光网络终端,ONU/ONT)组成。OLT位于中心局端,负责管理、监控和维护整个EPON。OLT通过ODN与一个或多个ONU/ONT连接。ONU/ONT位于用户侧即远端,负责用户和业务的接入。ONU/ONT的逻辑芯片内可以设计有一个或多个逻辑链路通道,OLT会为每个注册的逻辑链路通道分配LogicalLinkIdentifier(逻辑链路标识,LLID),一个逻辑链路通道可以支持多个优先级队列。ONU/ONT向OLT发送数据时,会先各OLT(也可理解为局端)发送一个带宽授权请求,OLT收到请求后会为ONU/ONT中的逻辑链路通道分配一个固定的Grant(带宽授权或带宽许可),Grant是一段时间窗口(或者叫做发送时隙),逻辑链路通道在这段时间内来发送优先级队列中的以太网报文。逻辑链路通道在分配的Grant中发送以太网报文的过程如附图l所示。图1中,首先,逻辑链路通道在Grant中的StartTime(开始时间,即时间窗口的起始时刻)打开激光器;然后,逻辑链路通道向OLT发送Idle码,以便于OLT进行码流和时钟的同步;之后,逻辑链路通道发送上行以太网报文(如图1中的Frame1~3);最后,逻辑链路通道根据Grant中的GrantLength(Grant长度,即时间窗口的结束时刻)在最后一段时间内关闭激光器。在实现本发明的过程中,发明人发现上述现有技术至少存在如下问题由于OLT分配的Grant是一个固定值,因此,当发送某些报文时(如图l中的Frame4),报文的带宽长度会超出开始关闭激光器的时间带宽,在这种情况下,逻辑链接通道为了能按时关闭激光器,将不会发送这些报文,这样,就使得图l中的报文Frame3到开始关闭激光器的时间之间的时间带宽被浪费,影响了EPON上行带宽利用率。
发明内容本发明实施方式提供的一种队列报告方法、装置和无源光网络系统,可准确的计算出队列报告,得到局端能根据上报的队列报告分配合适的带宽,提高了上行带宽利用率,且逻辑实现筒单。本发明实施方式提供的队列报告方法,包括针对实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述方法包括步骤在判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;针对所述虚拟队列生成队列报告,并上报所述队列报告。上述队列报告装置包括所述装置中有实体队列,所述实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述装置包括第一判断单元,用于判断是否有数据报文向光纤发送;虚拟队列出队管理单元,当所述报文发送判断单元判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;队列是否执行了出队操作;虛拟队列入队判断单元,用于判断是否允许所述虚拟队列执行入队操作;虚拟队列入队操作单元,用于根据所述第二判断单元确定出所述实体队列有数据报文入队或者所述虚拟队列执行了出队才喿作,且根据所述虚拟队列入队判断单元判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;报告单元,用于针对所述虚拟队列生成队列报告,并上报所述队列报告。上述无源光网络系统包括终端设备,所述设备包括光网络终端,或者光网络单元;局端设备,所述局端设备包括光线路终端;所述终端i殳备对应有至少一个阀值,一个所述阈值对应一个虚拟队列,所述阀值表示所述虚拟队列最大深度;所述终端设备在判断出数据报文向光纤发送时,根据所述阀值对所述虚拟队列执行出队操作;了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列4丸行入队才乘作;针对所述虚拟队列生成队列报告,并上报所述队列报告给所述局端设备;所述局端设备接收所述队列报告,并根据所述队列报告给所述终端设备分配合适的带宽授权。上述技术方案通过设置多个阀值,每个阀值对应一个虚拟队列,并通过设计虚拟队列的入队出队操作,使针对虚拟队列计算出的队列报告能够尽可能准确地反映出下一次带宽授权时不同阈值对应的本端所需的上行带宽,并将队列报告实时向局端报告,这样,当局端获取这些队列报告后,可以根据报告的内容为逻辑链接通道分配合适的带宽,从而提高了上行带宽利用率。同时,上述技术方案还具有逻辑结构简单,易于实现等特点。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图l是现有技术的逻辑链路通道发送以太网报文的示意图;图2是本发明实施例一的实体队列与虚拟队列的示意图;图3A是本发明实施例一的虚拟队列的出队过程流程图;图3B是本发明实施例一的虚拟队列的入队过程流程图;图3C是本发明实施例一有阈值的实体队列示意图;图4是本发明实施例二的虚拟队列入出队过程流程图;图5是本发明实施例三的队列净良告装置示意图;图6是本发明实施例四无源光网络系统示意图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一、队列报告方法。为了充分利用EPON上行带宽,逻辑链路通道向OLT发送数据报文时,可以先向OLT发送一个队列报文(或者叫做REPORT报文),在该REPORT报文中包含了需要发送的数据报文的带宽(长度),OLT根据REPORT报文中的信息为逻辑链路通道分配合适的带宽,从而提高EPON上行带宽的利用率。为了使得REPORT报文中的信息能够实时反映当前发送数据报文所需的带宽,本发明实施例为实体队列设置多个阈值,每个阈值对应一个虚拟队列,通过对虚拟队列的入队和出队操作,来生成REPORT报文。在本实施例中,实体队列为数据报文的真正载体,实体队列的入队表示数据进入队列准备发送;实体队列出队表示将数据从队列中出队,向OLT发送。多个阈值用于对应于多个虚拟队列,用于管理队列报告,生成合适的REPORT报文。在本发明实施例中,实体队列、阈值和虛拟队列三者之间的关系包括针对实体队列对应有一个或多个阈值,即一个实体队列对应有至少一个阈值;一个阈值对应一个虚拟队列,一个阈值可以表示出该阈值对应的虚拟队列的最大深度,这里的深度也可理解为报文开销或报文长度等,即需要发送的报文的带宽,如有两个报文,第一个报文长300字节,第二个报文长100字节,再加上每个报文发送到光纤时所需要的前导符(8字节)、帧间隔(12字节),则两个报文总共占据的深度(或带宽)为(300+8+12)+(100+8+12)=440字节;如果假设lTQ=16ns=16bit=2字节,则这两个报文的深度为440/2=220TQ。在阈值为一个的情况下,该阈值可以小于或等于实体队列的最大深度;在阈值为多个的情况下,其中一个阈值可以等于实体队列的最大深度,而其他阈值均应小于实体队列的最大深度;当然,所有的阈值也可以均小于实体队列的最大深度。这里的实体队列可以为一个,也可以为多个。在实体队列为多个情况下,针对各实体队列设置的阈值可以相同,也可以不相同。另外需要说明的是,在针对一个实体队列设置的阈值为多个的情况下,多个阈值的取值可以各不相同。上述与阀值对应的虚拟队列可以看作是一个数值,该数值为对应于某一阈值的相关报文的带宽,对虚拟队列的入队或出队相当于改变这个数值的大小。从上述描述可知,本实施例中的一个实体队列可以对应一个或多个虚拟队列。一个实体队列对应4个虚拟队列的一个具体例子如图2所示。图2中的实体队列包括两部分,一部分是从图中实体队列头到实体队列尾,以队列形式存在的数据报文;另一部分是已经出队,位于中间FIFO的数据报文(数据报文并不是出队后立即被送到光纤发送,中间可能会先存在FIFO当中)。针对图2中的实体队列设置了4个阈值,即阈值l、阈值2、阈值3和阈值4,4个阚值按照从小到大的顺序依次是阈值l、阈值2、阈值3和阈值4。其中的阈值4等于实体队列的最大深度,即阈值4对应的虚拟队列的最大深度与实体队列的最大深度相同。实体队列的最大深度不限,实际使用中可根据硬件资源选择合适的深度。尾在数据报文入实体队列时发生改变。而虚拟队列头在数据报文向光纤发送时时,有可能发生改变。在从实体队列中出队的数据报文还需要经过中间过程(如中间FIFO)才能够向光纤发送的情况下,实体队列头和虚拟队列头不会同时发生改变。在从实体队列中出队的数据报文不需要经过中间过程而直接向光纤发送的情况下,实体队列头和虚拟队列头可以同时发生改变。需要说明的是,图2所示的实体队列和各虚拟队列都采用了从队尾入队,队头出队的入出队方式,其实,图2中的实体队列和虚拟队列也完全可以采用从队头入队,队尾出队的入出队方式。在采用队尾入队、队头出队的入出队方式的情况下,所有的虚拟队列可以具有共同的队头。在采用队头入队、队尾出队的入出队方式的情况下,所有的虚拟队列可以具有共同的队尾。在采用队尾入队、队头出队的入出队方式的情况下,在数据报文向光纤发送时,所有的虚拟队列和实体队列可以具有共同的队头,在数据报文从实体队列出队,但是还没有向光纤发送时(如从实体队列出队的数据报文在中间FIFO中),虽然所有虚拟队列具有共同的队头,但是,实体队列头和虚拟队列头并不一致。在采用队头入队、队尾出队的入出队方式的情况下,在数据报文向光纤发送时,所有的虚拟队列和实体队列可以具有共同的队尾,在数据报文从实体队列出队,但是还没有向光纤发送时(如从实体队列出队的数据报文在中间FIFO中),虽然所有虚拟队列具有共同的队尾,但是,实体队列队尾和虚拟队列尾并不一致。在实施例一中,实体队列可以采用链表的形式来实现。此时,实体队列链表可以采用现有的链表管理方式。在从实体队列中出队的数据报文还需要经过中间过程才能够向光纤发送的情况下,针对实体队列链表的链表管理方式与现有的链表管理方式的区别在于实体队列资源回收环节,所谓资源回收是指让已经出队的数据报文原来占用的空间能让后续的报文继续使用。实体队列资源回收环节的区别包括在现有的链表管理方式中,数据报文从实体队列中出队时,进行实体队列资源回收;而在本实施例一中,在数据报文要向光纤发送时(如数据报文从实体队列中出队、且经过了中间的各FIFO后,要向光纤发送时),才进行实体队列资源回收,从而可以使虚拟队列表示出的已占用空间和实体队列中不能被后续需要进入实体队列的数据报文所使用的空间相对应。队具体实现过程来实现,因此,在本实施例中不再详细说明实体队列的入出队具体实现过程。本实施例中虚拟队列的入出队具体实现过程包括如下内容虚拟队列的出队过程包括在判断出数据报文向光纤发送的情况下,进行虚拟队列出队操作。即虚拟队列的出队过程包括虚拟队列的出队判断操作和虚拟队列的出队操作。虚拟队列的出队判断操:作和虚拟队列的出队才喿作的流程如附图3A所示。图3A中,S300、判断数据报文是否向光纤发送;若判断得到有数据报文向光纤发送,则执行步骤S310,执行虚拟队列的出队操作;否则,执行S320。S310、执行该虚拟队列的出队操作;虛拟队列出队操作可以为计算虚拟队列的当前深度与向光纤发送的数据报文(即虚拟队列的出队数据报文)所占用的带宽的差,并将虚拟队列的当前深度调整为计算出的差值。即在本虚拟队列的当前长度的基础上减去该数据才艮文所占用的上行链路的时间。数据报文所占用的带宽(即数据报文所占用的上行链路的时间)不仅包括数据报文的长度,还可以包括数据报文的附加开销。附加开销如帧间隙和前导码,再如帧间隙、前导码和前向纠错码等。虚拟队列出队操作还包括调整出队方向对应的指针,出队方向对应的指针根据数据报文从队头入队还是从队尾入队会有所不同;例如,如果数据报文从队头进入虚拟队列,则出队方向对应的指针为虚拟队列尾指针,如果数据报文从队尾进入虚拟队列,则出队方向对应的指针为虚拟队列头指针。例如,在如图2所示的队列中,如果虚拟队列出对,则将虚拟队列头指针向下移动。S320、不执行虚拟队列的出队操作。虚拟队列的入队过程包括在实体队列有数据报文入队或者虚拟队列进行出队操作的情况下,执行是否允许入队的判断操作,在确定出虚拟队列允许入队时,执行虚拟队列入队操作,否则,不执行虚拟队列入队操作。即虚拟队列的入队过程包括虛拟队列的入队判断操作和虚拟队列的入队操作。本实施例中,实体队列有数据报文入队可以触发虚拟队列的入队判断4喿作,虚拟队列的出队操作也可以触发虚拟队列的入队判断操作。虚拟队列的入队判断操作和虚拟队列的入P人操作的流程如附图3B所示。图3B中,S330、本实施例的虛拟队列的入队判断才乘作和虚拟队列的入队才喿作的流程开始,到S340。S340、判断实体队列是否有数据报文入队以及是否执行了虚拟队列出队操作,即判断是否触发了虚拟队列入队判断操作,如果判断出实体队列有数据报文入队或者执行了虚拟队列出队操作,即判断出有触发虚拟队列入队判断操作,则到S350,否则,返回S340,继续判断是否触发了虚拟队列入队判断梯:作。S350、执行虛拟队列入队判断4喿作,如果判断的结果为允许虚拟队列入队,则到S360,否则,到S370。虛拟队列入队判断操作也就是判断是否需要在当前队列报告中加上某一数据报文所需要占用的上行带宽,这里的某一数据报文即需要进入实体队列的数据报文。在S340判断出实体队列有数据报文入队或执行虚拟队列出队操作的情况下,S350的虚拟队列的入队判断操作的一个具体的例子为判断实体队列入队的数据报文所占用的带宽与虚拟队列的当前深度之和是否超过该虚拟队列的最大深度;如果不超过虚拟队列的最大深度,则确定虚拟队列允许入队,到S360;否则,确定虚拟队列不允许入队,到S370。在数据报文从队尾入队的情况下,虚拟队列的入队判断操作的一个具体的例子为该虚拟队列尾指针不是实体队列尾指针或者虽然虚拟队列尾指针是实体队列尾指针但实体队列不为空、且虚拟队列的当前深度加上即将入队的数据报文所占用的带宽之和小于该虚拟队列的阈值,确定虚拟队列允许入队。S360、针对需要入虚拟队列的数据报文执行虚拟队列的入队操作。虚拟队列的入队操作的一个具体的例子为将虚拟队列的当前深度调整为虚拟队列的当前深度与允许入队的数据报文所占用的带宽的和。数据才良文所占用的带宽不仅包括数据报文的长度,还可以包括数据报文的附加开销。附加开销如帧间隙、前导码以及前向纠错码等。虚拟队列入队操作还包括根据虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针,入队方向对应的指针根据数据报文从队头入队还是从队尾入队会有所不同;例如,如果数据报文从队头进入虛拟队列,则入队方向对应的指针为虚拟队列头指4h如果凄t据4艮文/人队尾进入虚拟队列,则入队方向对应的指针为虚拟队列尾指针。在数据报文从队尾入队的情况下,虚拟队列的入队操作的一个具体的例子S370、不执行虚拟队列的入队操作,本次虚拟队列的入队判断梯二作和虚拟队列的入队操作结束。需要说明的是,上述图3A和图3B描述的虚拟队列的入出队过程都是针对一个虚拟队列进行描述的,如果一个实体队列对应有多个虚拟队列,则每个虚拟队列都应进行上述虚拟队列的入出对判断和执行操作,直至找到允许入队的虚拟队列。另外,图3A和图3B所示的流程可以并行执行。而且,当一个实体队列对应有多个虚拟队列时,各虚拟队列可以按照一定顺序(如阈值从小到大的顺序)执行上述图3A和图3B所示的流程,当然,各虚拟队列对应的图3A和图3B所示的流程也可以并行执行。还有,虚拟队列的入队判断操作可以在数据报文向光纤发送的过程中进行,这样,不但可以去除从实体队列出队到出队的数据报文向光纤发送之间的内部传输路径中的数据报文对队列报告准确性的影响,而且,还为队列判断和入队操作预留了充足的时间,为队列报告的准确计算以及队列报告的可实施性打下了良好的基础。在需要发送队列报告时,针对实体队列对应的所有虚拟队列生成队列报告,并向局端(如OLT)上报队列报告。这里的队列报告可以为基于多阈值队列集的队列报告。本实施例中的生成队列报告即根据设置的多个阈值分别计算不超过阈值所示带宽的完整数据报文所需要的上行带宽。基于多阈值队列集的队列报告的一个具体例子为参见图3C,设定有两个实体队列,即队列1和队列2,队列1和队列2均对应有优先级,如队列l对应的优先级最高,队列2对应的优先级次高。队列l和队列2对应的优先级如业务优先级。图3C中,队列1包含4个数据报文,标号分别为#1,#2,#3和糾,各个数据报文的长度分别为300,100,500,1000,单位为字节。队列2中也包含4个报文,标号分别为#5,#6,#7和#8,长度分别为200,400,600和800,单位也是字节。针对这两个实体队列均i殳置了三个阈值,即Thresholdl、Threshold2和Threshold3,则生成的队列报告是针对3个队列集的队列报告,一个队列报告报文中可以包含多个队列报告,每个队列集包括的数据报文(数据报文即表l中的帧)如表l所示表l<table>tableseeoriginaldocumentpage17</column></row><table>从表l可以看出,三个阈值的大小各不同,如果按照阈值从小到大的顺序对阈值进行排列,则该顺序为Thresholdl、Threshold2和Threshold3;最大的阈值可以与实体队列的最大深度相同。队列报告可以体现出队列集中的数据报文向局端发送时所需要的带宽(即时长),带宽的单位可以是TQ,lTQ=16ns=16bit-2字节。需要发送队列报告的时间点可以是当前带宽授权即将结束时,例如,可以在当前带宽授权结束前且发送最后一个数据报文之后,发送利用上述方法生成的队列报告,然后,关闭激光器,当前带宽授权结束。例如,在要关闭激光器时,生成并发送队列报告(即REPORT报文),以保证队列报告中的计算结果的准确性。另外需要说明的是,在本实施例中,生成队列报告与发送队列报告之间的时间间隔应尽可能的短,最好是在生成队列报告后立即发送该队列报告。还有,REPORT报文中可以包含有REPORT报文所占用的带宽,从而局端根据REPORT报文进行的带宽授权能够使下一个REPORT报文顺利上报。在REPORT报文中没有包含REPORT报文所占用的带宽的情况下,局端在进行带宽授权时,可以主动考虑REPORT报文所占用的带宽,以保证下一个REPORT报文能够顺利上报。REPORT报文所占用的带宽可以是一个预先设置的固定值。从上述实施例一的描述可以看出,本实施例针对实体队列对应有多个阈值,每个阈值对应一个虚拟队列,并通过"i殳计虚拟队列的入队出队操:作,使虚拟队列中的数据报文能够反映出不同阈值对应的所有需要向局端发送的数据报文,使针对虚拟队列计算出的队列报告能够准确地反映出本端所需的上行带宽,这样,当局端获取这些队列报告后,可以根据报告的内容为逻辑链接通道分配合适的带宽,从而提高了上行带宽利用率;并且通过在生成队列报告后实时发送队列报告,且发送队列报告的时间为在当前带宽授权结束前发送最后一个数据报文之后,使队列报告能够进一步准确地反映出下次带宽授权时本端所需的上行带宽。同时,本发明实施例利用虚拟队列方便简单的实现了针对实体队列设置的阈值,通过设计虚拟队列的入队出队操作能够方便准确的针对虚拟队列计算出队列报告,使队列报告的逻辑实现简单。下面以EPON为例对本发明的队列报告方法和装置进行说明。实施例二、队列报告方法中虚拟队列的入队出队过程。该入队出队过程如附图4所示。图4中,S400、本实施例的队列才艮告方法中的虚拟队列的入队出队流程开始执行,到S410。S410、判断是否有数据报文要向光纤中发送,如果有数据报文要向光纤中发送,则到S430,否则,到S420。S420、判断实体队列是否有数据报文入队,如果有数据报文入队,则到S440,否则,到S470。S430、执行虚拟队列出队操作,之后到S440。在EPON中,在向光纤发送数据报文时,该数据报文一定能够完整的发往光纤,基于EPON中的这一特点,本实施例可以在向光纤发送数据报文头时,执行该数据报文的出队操作。S440、执行虚拟队列的入队操作判断,即判断虚拟队列是否允许入队,如果判断出需要执行虚拟队列的入队操作,则到S450,否则到S460。S450、执行虚拟队列的入队操作,到S460。S460、判断是否所有的虚拟队列都完成了入队判断和入队操:作,如果所有的虚拟队列都完成了入队判断和入队梯:作,则到S470,否则,针对还没有进行入队判断和入队才喿作的虚拟队列,到S440。S470、本次队列报告方法中的虛拟队列的入队出队流程结束。实施例三、队列报告装置本发明实施例还提供一种队列报告装置500,该装置可以位于ONU/ONT中,具体实现形式可以为一块单板,所述装置中有实体队列,所述实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述装置还包括第一判断单元501,用于判断是否有数据报文向光纤发送;其中,数据报文存在于实体队列中,包括以队列形式存在的数据报文和另一部分处于FIFO的数据报文。虚拟队列出队管理单元502,当所述报文发送判断单元判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;第二判断单元503,用于判断所述实体队列是否有数据报文入队或者所述虚拟队列是否执行了出队操作;虚拟队列入队判断单元504,用于判断是否允许所述虚拟队列执行入队操作;虚拟队列入队操作单元505,用于根据所述第二判断单元503确定出所述实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且根据所述虚拟队列入队判断单元判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虛拟队列执行入队操作;报告单元506,用于针对所述虚拟队列生成队列报告,并上报所述队列报告。所述这队列报告装置500还包括资源回收单元507,用于在判断出数据报文向光纤发送时,对所述数据报文所在的所述实体队列进行资源回收,即让已经出队的数据报文原来占用的空间能让后续的报文继续使用。括判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深度之和是否超过所述第一虚拟队列的阀值,如果不超过所述第一虚拟队列的阈值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第一虚拟队列为所述虚拟队列的其中一个;所述虚拟队列入队判断单元504还用于当判断所述第一虚拟队列不执行入队操作,且存在多个所述阈值时,判断所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的阀值,如果不超过,则允许所述第二虚拟队列执行入队操作;否则,继续判断,直至找到允许入队的虚拟队列。虚拟队列入队操作单元505执行入搡作包括计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和,将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针;所述队列报告装置500还包括虚拟队列出队操作单元508,用于计算所述虚拟队列的当前深度与所述虚拟队列的出队数据才艮文所占用的带宽的差;将虚拟队列的当前深度调整为所述的差值,并根据所述虚拟队列的出队数据报文所占用的带宽调整出队方向对应的指针。所述报告单元506上报所述队列报告的时机为在当前带宽授权结束前,发送最后一个数据4艮文之后。上述数据报文所占用的带宽不仅包括数据报文的长度,还可以包括数据报文的附加开销。附加开销如帧间隙、前导码以及前向纠一睹码等。对于本发明实施例中各单元的具体操作可以参考实施例一中的方法,在此不再赘述。本发明实施例针对实体队列对应多个阈值,每个阈值对应于一个虚拟队列,并通过设计虚拟队列的入队出队操作,使虚拟队列中的数据报文能够反映出不同阈值对应的所有需要向局端发送的数据报文,使针对虚拟队列计算出的队列报告能够准确地反映出本端所需的上行带宽,这样,当局端获取这些队列报告后,可以根据报告的内容为逻辑链接通道分配合适的带宽,从而提高了上行带宽利用率;并且通过在生成队列报告后实时发送队列报告,且发送队列报告的时间为在当前带宽授权结束前发送最后一个数据报文之后,使队列报告能够进一步准确地反映出下次带宽授权时本端所需的上行带宽。同时,本发明实施例利用虚拟队列方便简单的实现了针对实体队列设置的阈值,通过设计虚拟队列的入队出队操作能够方便准确的针对虚拟队列计算出队列^^艮告,使队列才艮告的逻辑实现简单。实施例四、一种无源光网络系统本发明实施例还提供了一种无源光网络系统600,包括终端设备602,所述设备包括光网络终端,或者光网络单元;局端设备601,所述局端i殳备601包括光线^各终端;所述终端设备602对应有至少一个阀值,一个所述阈值对应一个虛拟队列,所述阀值表示所述虚拟队列最大深度;所述终端设备602在判断出数据报文向光纤发送时,根据所述阀值对所述虚拟队列执行出队操作;所述终端设备602在确定出实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;针对所述虛拟队列生成队列报告,并上报所述队列"^艮告给所述局端设备601;所述局端设备601接收所述队列报告,并根据所述队列报告给所述终端设备602分配合适的带宽授权。所述局端设备601还用于在判断出数据报文向光纤发送时,对所述数据报文所在的实体队列进行资源回收;判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深度之和是否超过所述第一虚拟队列的阀值,如果不超过所述第一虚拟队列的阈值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第一虚拟队列为所述虚拟队列的其中一个;当不执行入队操作,且存在多个所述阈值时,判断所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的阀值,如果不超过,则允许所述第二虚拟队列执行入队梯:作;否则,继续判断,直至找到允许入队的虚拟队列;所述第二虚拟队列为所述虚拟队列的其中一个。所述终端设备602执行入队操作包括计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和,将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针;所述设备执行出队操作包括将虚拟队列的当前深度调整为所述的差值,并根据所述虚拟队列的出队数据报文所占用的带宽调整出队方向对应的指针;上述数据报文所占用的带宽不仅包括数据报文的长度,还可以包括数据报文的附加开销。附加开销如帧间隙、前导码以及前向纠错码等。对于本发明实施例中各方法步骤的具体操作可以参考实施例一中的方法,在此不再赘述。本发明实施例针对实体队列对应多个阈值,每个阈值对应于一个虚拟队列,并通过设计虚拟队列的入队出队操作,使虚拟队列中的数据报文能够反映出不同阈值对应的所有需要向局端发送的数据报文,使针对虚拟队列计算出的队列报告能够准确地反映出本端所需的上行带宽,这样,当局端获取这些队列报告后,可以根据报告的内容为逻辑链接通道分配合适的带宽,从而提高了上行带宽利用率;并且通过在生成队列报告后实时发送队列报告,且发送队列报告的时间为在当前带宽授权结束前发送最后一个数据报文之后,使队列报告能够进一步准确地反映出下次带宽授权时本端所需的上行带宽。同时,本发明实施例利用虚拟队列方便简单的实现了针对实体队列设置的阈值,通过设计虚拟队列的入队出队操作能够方便准确的针对虚拟队列计算出队列报告,使队列报告的逻辑实现简单。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对
背景技术
做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。权利要求1、一种队列报告方法,其特征在于,针对实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述方法包括如下步骤在判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;在确定出实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;针对所述虚拟队列生成队列报告,并上报所述队列报告。2、如权利要求1所述的队列报告方法,其特征在于,在判断出数据报文向光纤发送时,还包括对所述数据报文所在的所述实体队列进行资源回收。3、如权利要求1所述的方法,其特征在于所述在确定出实体队列有数据报文入队或者执行虚拟队列出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作的步骤包括判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深度之和是否超过所述第一虚拟队列的阀值,如果不超过所述第一虚拟队列的阈值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第一虚拟队列为所述虚拟队列的其中一个。4、如权利要求3所述的方法,其特征在于当不执行入队操作,且存在多个所述阈值时,判断所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的阀值,如果不超过,则允许所述第二虚拟队列执行入队操作;否则,继续判断,直至找到允许入队的虚拟队列。5、如权利要求l所述的方法,其特征在于,所述虚拟队列入队操作包括计算虚拟队列的当前深度与虚拟队列的入队数据才艮文所占用的带宽的和,将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针;且所述虚拟队列出队操作包括计算所述虚拟队列的当前深度与所述虚拟队列的出队数据报文所占用的带宽的差;将虚拟队列的当前深度调整为所述的差值,并根据所述虚拟队列的出队数据报文所占用的带宽调整出队方向对应的指针。6、如权利要求3-5任一所述的方法,其特征在于,所述数据报文所占用的带宽包括数据报文的长度和数据报文的附加开销。7、如权利要求1至6中任一权利要求所述的方法,其特征在于,针对所述虚拟队列生成队列报告,并上报所述队列报告包括针对所述虚拟队列生成队列报告后立即上报,且上报所述队列报告的时机为在当前带宽授权结束前,发送最后一个数据报文之后。8、一种队列报告装置,其特征在于,所述装置中有实体队列,所述实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述装置包括第一判断单元,用于判断是否有数据报文向光纤发送;虚拟队列出队管理单元,当所述报文发送判断单元判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;第二判断单元,用于判断所述实体队列是否有数据:^艮文入队或者所述虚拟队列是否执行了出队操作;虚拟队列入队判断单元,用于判断是否允许所述虚拟队列执行入队操作;虚拟队列入队#:作单元,用于才艮据所述第二判断单元确定出所述实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且根据所述虚拟队列入队判断单元判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;报告单元,用于针对所述虚拟队列生成队列报告,并上报所述队列报告。9、如权利要求8所述的队列报告装置,其特征在于,还包括资源回收单元,用于在判断出数据报文向光纤发送时,对所述数据报文所在的所述实体队列进行资源回收。10、如权利要求8所述的队列报告装置,其特征在于,所述虚拟队列入队判断单元判断是否允许所述虛拟队列执行入队操作包括判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深度之和是否超过所述第一虚拟队列的阀值,如果不超过所述第一虚拟队列的阈值,则允许所述第一虚拟队列执行入队才喿作;否则,不执行入队操作;所述第一虚拟队列为所述虚拟队列的其中一个;所述虚拟队列入队判断单元还用于当判断所述第一虚拟队列不执行入队操作,且存在多个所述阈值时,判断所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的阀值,如果不超过,则允许所述第二虚拟队列执行入队操作;否则,继续判断,直至找到允许入队的虚拟队列。11、如权利要求8所述队列报告装置,其特征在于,所述入队操作单元执行入纟喿作包括计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和,将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针;所述队列报告装置还包括出队操作单元,用于计算所述虛拟队列的当前深度与所述虚拟队列的出队数据报文所占用的带宽的差;将虚拟队列的当前深度调整为所述的差值,并根据所述虚拟队列的出队数据报文所占用的带宽调整出队方向对应的指针。12、如权利要求8所述的队列报告装置,其特征在于,所述报告单元上4艮所述队列报告的时机为在当前带宽授权结束前,发送最后一个数据^^艮文之后。13、一种无源光网络系统,其特征在于,包括终端设备,所述设备包括光网络终端,或者光网络单元;局端设备,所述局端设备包括光线路终端;所述终端设备对应有至少一个阀值,一个所述阈值对应一个虚拟队列,所述阀值表示所述虚拟队列最大深度;所述终端设备在判断出数据报文向光纤发送时,才艮据所述阀值对所述虚拟队列执行出队操作;所述终端设备在确定出实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;针对所述虚拟队列生成队列报告,并上报所述队列报告给所述局端设备;所述局端设备接收所述队列报告,并根据所述队列报告给所述终端设备分配合适的带宽授权。14、如权利要求13所述的系统,其特征在于,所述局端设备还用于在判断出数据报文向光纤发送时,对所述数据报文所在的实体队列进行资源回收;判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深度之和是否超过所述第一虚拟队列的阀值,如果不超过所述第一虚拟队列的阈值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第一虚拟队列为所述虚拟队列的其中一个;当不执行入队操作,且存在多个所述阔值时,判断所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的阀值,如果不超过,则允许所述第二虚拟队列执行入队^操作;否则,继续判断,直至找到允许入队的虚拟队列;所述第二虚拟队列为所述虚拟队列的其中一个。15、如权利要求13所述的系统,其特征在于,所述终端i殳备执行入队才喿作包括计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和,将虚拟队列的当前深度调整为所述和,并根据所述虛拟队列的入队数据报文所占用的带宽调整入队方向对应的指针;所述设备执行出队操作包括将虚拟队列的当前深度调整为所述的差值,并根据所述虚拟队列的出队数据报文所占用的带宽调整出队方向对应的指针。全文摘要本发明公开了一种队列报告方法、装置和无源光网络系统。其中的队列报告方法包括针对实体队列对应设置有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述方法包括如下步骤在判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;在确定出实体队列有数据报文入队或者执行所述虚拟队列执行了出队操作时,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;针对所述虚拟队列生成队列报告,并上报所述队列报告。上述技术方案提高了队列报告的准确度,得到局端能根据上报的队列报告分配合适的带宽,尽可能地避免了上行带宽浪费,且逻辑实现简单。文档编号H04L12/56GK101534254SQ20091013099公开日2009年9月16日申请日期2009年4月21日优先权日2009年4月21日发明者宋奇刚,李中华,泳游,聂世玮,董恩升,谭亚中,黄久松申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1