首页> 中国专利> 一种队列报告方法、装置和无源光网络系统

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

摘要

本发明公开了一种队列报告方法、装置和无源光网络系统。其中的队列报告方法包括:针对实体队列对应设置有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述方法包括如下步骤:在判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;在确定出实体队列有数据报文入队或者执行所述虚拟队列执行了出队操作时,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;针对所述虚拟队列生成队列报告,并上报所述队列报告。上述技术方案提高了队列报告的准确度,得到局端能根据上报的队列报告分配合适的带宽,尽可能地避免了上行带宽浪费,且逻辑实现简单。

著录项

  • 公开/公告号CN101534254A

    专利类型发明专利

  • 公开/公告日2009-09-16

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200910130991.4

  • 申请日2009-04-21

  • 分类号H04L12/56;H04Q11/00;

  • 代理机构北京凯特来知识产权代理有限公司;

  • 代理人郑立明

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 22:40:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-05-04

    授权

    授权

  • 2009-11-11

    实质审查的生效

    实质审查的生效

  • 2009-09-16

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,具体涉及一种队列报告方法、队列报告装置和 无源光网络。

背景技术

Ethernet Passive Optical Network(以太网无源光网络,EPON)是将以太网 技术和无源光网络紧密结合的光纤接入网络。

EPON由Optical Line Terminal(光线路终端,OLT)、Optical Distribution Network(光分配网络,ODN)和Optical Network Unit/Optical Network Terminal (光网络单元/光网络终端,ONU/ONT)组成。

OLT位于中心局端,负责管理、监控和维护整个EPON。OLT通过ODN与一 个或多个ONU/ONT连接。ONU/ONT位于用户侧即远端,负责用户和业务的接 入。

ONU/ONT的逻辑芯片内可以设计有一个或多个逻辑链路通道,OLT会为每 个注册的逻辑链路通道分配Logical Link Identifier(逻辑链路标识,LLID),一 个逻辑链路通道可以支持多个优先级队列。ONU/ONT向OLT发送数据时,会先 各OLT(也可理解为局端)发送一个带宽授权请求,OLT收到请求后会为 ONU/ONT中的逻辑链路通道分配一个固定的Grant(带宽授权或带宽许可), Grant是一段时间窗口(或者叫做发送时隙),逻辑链路通道在这段时间内来发 送优先级队列中的以太网报文。

逻辑链路通道在分配的Grant中发送以太网报文的过程如附图1所示。

图1中,首先,逻辑链路通道在Grant中的Start Time(开始时间,即时间窗 口的起始时刻)打开激光器;然后,逻辑链路通道向OLT发送Idle码,以便于 OLT进行码流和时钟的同步;之后,逻辑链路通道发送上行以太网报文(如图1 中的Frame1~3);最后,逻辑链路通道根据Grant中的Grant Length(Grant长度, 即时间窗口的结束时刻)在最后一段时间内关闭激光器。

在实现本发明的过程中,发明人发现上述现有技术至少存在如下问题:

由于OLT分配的Grant是一个固定值,因此,当发送某些报文时(如图1中 的Frame4),报文的带宽长度会超出开始关闭激光器的时间带宽,在这种情况 下,逻辑链接通道为了能按时关闭激光器,将不会发送这些报文,这样,就使 得图1中的报文Frame3到开始关闭激光器的时间之间的时间带宽被浪费,影响 了EPON上行带宽利用率。

发明内容

本发明实施方式提供的一种队列报告方法、装置和无源光网络系统,可准 确的计算出队列报告,得到局端能根据上报的队列报告分配合适的带宽,提高 了上行带宽利用率,且逻辑实现简单。

本发明实施方式提供的队列报告方法,包括:

针对实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所 述阈值表示所述虚拟队列最大深度,所述方法包括步骤:

在判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队 操作;

在确定出实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且 判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行 入队操作;

针对所述虚拟队列生成队列报告,并上报所述队列报告。

上述队列报告装置包括:

所述装置中有实体队列,所述实体队列对应有至少一个阈值,一个所述阈 值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述装置包括:

第一判断单元,用于判断是否有数据报文向光纤发送;

虚拟队列出队管理单元,当所述报文发送判断单元判断出数据报文向光纤 发送时,根据所述阈值对所述虚拟队列执行出队操作;

第二判断单元,用于判断所述实体队列是否有数据报文入队或者所述虚拟 队列是否执行了出队操作;

虚拟队列入队判断单元,用于判断是否允许所述虚拟队列执行入队操作;

虚拟队列入队操作单元,用于根据所述第二判断单元确定出所述实体队列 有数据报文入队或者所述虚拟队列执行了出队操作,且根据所述虚拟队列入队 判断单元判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟 队列执行入队操作;

报告单元,用于针对所述虚拟队列生成队列报告,并上报所述队列报告。

上述无源光网络系统包括:

终端设备,所述设备包括光网络终端,或者光网络单元;

局端设备,所述局端设备包括光线路终端;

所述终端设备对应有至少一个阀值,一个所述阈值对应一个虚拟队列,所 述阀值表示所述虚拟队列最大深度;

所述终端设备在判断出数据报文向光纤发送时,根据所述阀值对所述虚拟 队列执行出队操作;

所述终端设备在确定出实体队列有数据报文入队或者所述虚拟队列执行 了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所 述虚拟队列执行入队操作;

针对所述虚拟队列生成队列报告,并上报所述队列报告给所述局端设备;

所述局端设备接收所述队列报告,并根据所述队列报告给所述终端设备分 配合适的带宽授权。

上述技术方案通过设置多个阀值,每个阀值对应一个虚拟队列,并通过设 计虚拟队列的入队出队操作,使针对虚拟队列计算出的队列报告能够尽可能准 确地反映出下一次带宽授权时不同阈值对应的本端所需的上行带宽,并将队列 报告实时向局端报告,这样,当局端获取这些队列报告后,可以根据报告的内 容为逻辑链接通道分配合适的带宽,从而提高了上行带宽利用率。同时,上述 技术方案还具有逻辑结构简单,易于实现等特点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅 仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳 动性的前提下,还可以根据这些附图获得其他的附图。

图1是现有技术的逻辑链路通道发送以太网报文的示意图;

图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字节;如果 假设1TQ=16ns=16bit=2字节,则这两个报文的深度为440/2=220TQ。

在阈值为一个的情况下,该阈值可以小于或等于实体队列的最大深度;在 阈值为多个的情况下,其中一个阈值可以等于实体队列的最大深度,而其他阈 值均应小于实体队列的最大深度;当然,所有的阈值也可以均小于实体队列的 最大深度。这里的实体队列可以为一个,也可以为多个。在实体队列为多个情 况下,针对各实体队列设置的阈值可以相同,也可以不相同。另外需要说明的 是,在针对一个实体队列设置的阈值为多个的情况下,多个阈值的取值可以各 不相同。

上述与阀值对应的虚拟队列可以看作是一个数值,该数值为对应于某一阈 值的相关报文的带宽,对虚拟队列的入队或出队相当于改变这个数值的大小。

从上述描述可知,本实施例中的一个实体队列可以对应一个或多个虚拟队 列。一个实体队列对应4个虚拟队列的一个具体例子如图2所示。

图2中的实体队列包括两部分,一部分是从图中实体队列头到实体队列尾, 以队列形式存在的数据报文;另一部分是已经出队,位于中间FIFO的数据报文 (数据报文并不是出队后立即被送到光纤发送,中间可能会先存在FIFO当中)。 针对图2中的实体队列设置了4个阈值,即阈值1、阈值2、阈值3和阈值4,4个 阈值按照从小到大的顺序依次是:阈值1、阈值2、阈值3和阈值4。其中的阈值 4等于实体队列的最大深度,即阈值4对应的虚拟队列的最大深度与实体队列的 最大深度相同。实体队列的最大深度不限,实际使用中可根据硬件资源选择合 适的深度。

图2中的实体队列头在实体队列中的数据报文出队时发生改变,实体队列 尾在数据报文入实体队列时发生改变。而虚拟队列头在数据报文向光纤发送时 发生改变,虚拟队列尾在数据报文入实体队列时或者在虚拟队列头发生改变 时,有可能发生改变。在从实体队列中出队的数据报文还需要经过中间过程(如 中间FIFO)才能够向光纤发送的情况下,实体队列头和虚拟队列头不会同时发 生改变。在从实体队列中出队的数据报文不需要经过中间过程而直接向光纤发 送的情况下,实体队列头和虚拟队列头可以同时发生改变。

需要说明的是,图2所示的实体队列和各虚拟队列都采用了从队尾入队, 队头出队的入出队方式,其实,图2中的实体队列和虚拟队列也完全可以采用 从队头入队,队尾出队的入出队方式。在采用队尾入队、队头出队的入出队方 式的情况下,所有的虚拟队列可以具有共同的队头。在采用队头入队、队尾出 队的入出队方式的情况下,所有的虚拟队列可以具有共同的队尾。在采用队尾 入队、队头出队的入出队方式的情况下,在数据报文向光纤发送时,所有的虚 拟队列和实体队列可以具有共同的队头,在数据报文从实体队列出队,但是还 没有向光纤发送时(如从实体队列出队的数据报文在中间FIFO中),虽然所有 虚拟队列具有共同的队头,但是,实体队列头和虚拟队列头并不一致。在采用 队头入队、队尾出队的入出队方式的情况下,在数据报文向光纤发送时,所有 的虚拟队列和实体队列可以具有共同的队尾,在数据报文从实体队列出队,但 是还没有向光纤发送时(如从实体队列出队的数据报文在中间FIFO中),虽然 所有虚拟队列具有共同的队尾,但是,实体队列队尾和虚拟队列尾并不一致。

在实施例一中,实体队列可以采用链表的形式来实现。此时,实体队列链 表可以采用现有的链表管理方式。在从实体队列中出队的数据报文还需要经过 中间过程才能够向光纤发送的情况下,针对实体队列链表的链表管理方式与现 有的链表管理方式的区别在于:实体队列资源回收环节,所谓资源回收是指让 已经出队的数据报文原来占用的空间能让后续的报文继续使用。实体队列资源 回收环节的区别包括:在现有的链表管理方式中,数据报文从实体队列中出队 时,进行实体队列资源回收;而在本实施例一中,在数据报文要向光纤发送时 (如数据报文从实体队列中出队、且经过了中间的各FIFO后,要向光纤发送 时),才进行实体队列资源回收,从而可以使虚拟队列表示出的已占用空间和 实体队列中不能被后续需要进入实体队列的数据报文所使用的空间相对应。

由于本实施例中实体队列的入出队的具体实现过程可以采用现有的入出 队具体实现过程来实现,因此,在本实施例中不再详细说明实体队列的入出队 具体实现过程。本实施例中虚拟队列的入出队具体实现过程包括如下内容:

虚拟队列的出队过程包括:在判断出数据报文向光纤发送的情况下,进行 虚拟队列出队操作。即虚拟队列的出队过程包括:虚拟队列的出队判断操作和 虚拟队列的出队操作。虚拟队列的出队判断操作和虚拟队列的出队操作的流程 如附图3A所示。

图3A中,S300、判断数据报文是否向光纤发送;

若判断得到有数据报文向光纤发送,则执行步骤S310,执行虚拟队列的出 队操作;否则,执行S320。

S310、执行该虚拟队列的出队操作;

虚拟队列出队操作可以为:计算虚拟队列的当前深度与向光纤发送的数据 报文(即虚拟队列的出队数据报文)所占用的带宽的差,并将虚拟队列的当前 深度调整为计算出的差值。即在本虚拟队列的当前长度的基础上减去该数据报 文所占用的上行链路的时间。数据报文所占用的带宽(即数据报文所占用的上 行链路的时间)不仅包括数据报文的长度,还可以包括数据报文的附加开销。 附加开销如:帧间隙和前导码,再如:帧间隙、前导码和前向纠错码等。虚拟 队列出队操作还包括:调整出队方向对应的指针,出队方向对应的指针根据数 据报文从队头入队还是从队尾入队会有所不同;例如,如果数据报文从队头进 入虚拟队列,则出队方向对应的指针为虚拟队列尾指针,如果数据报文从队尾 进入虚拟队列,则出队方向对应的指针为虚拟队列头指针。例如,在如图2所 示的队列中,如果虚拟队列出对,则将虚拟队列头指针向下移动。

S320、不执行虚拟队列的出队操作。

虚拟队列的入队过程包括:在实体队列有数据报文入队或者虚拟队列进行 出队操作的情况下,执行是否允许入队的判断操作,在确定出虚拟队列允许入 队时,执行虚拟队列入队操作,否则,不执行虚拟队列入队操作。即虚拟队列 的入队过程包括:虚拟队列的入队判断操作和虚拟队列的入队操作。本实施例 中,实体队列有数据报文入队可以触发虚拟队列的入队判断操作,虚拟队列的 出队操作也可以触发虚拟队列的入队判断操作。虚拟队列的入队判断操作和虚 拟队列的入队操作的流程如附图3B所示。

图3B中,S330、本实施例的虚拟队列的入队判断操作和虚拟队列的入队操 作的流程开始,到S340。

S340、判断实体队列是否有数据报文入队以及是否执行了虚拟队列出队操 作,即判断是否触发了虚拟队列入队判断操作,如果判断出实体队列有数据报 文入队或者执行了虚拟队列出队操作,即判断出有触发虚拟队列入队判断操 作,则到S350,否则,返回S340,继续判断是否触发了虚拟队列入队判断操作。

S350、执行虚拟队列入队判断操作,如果判断的结果为允许虚拟队列入队, 则到S360,否则,到S370。虚拟队列入队判断操作也就是判断是否需要在当前 队列报告中加上某一数据报文所需要占用的上行带宽,这里的某一数据报文即 需要进入实体队列的数据报文。

在S340判断出实体队列有数据报文入队或执行虚拟队列出队操作的情况 下,S350的虚拟队列的入队判断操作的一个具体的例子为:判断实体队列入队 的数据报文所占用的带宽与虚拟队列的当前深度之和是否超过该虚拟队列的 最大深度;如果不超过虚拟队列的最大深度,则确定虚拟队列允许入队,到 S360;否则,确定虚拟队列不允许入队,到S370。

在数据报文从队尾入队的情况下,虚拟队列的入队判断操作的一个具体的 例子为:该虚拟队列尾指针不是实体队列尾指针或者虽然虚拟队列尾指针是实 体队列尾指针但实体队列不为空、且虚拟队列的当前深度加上即将入队的数据 报文所占用的带宽之和小于该虚拟队列的阈值,确定虚拟队列允许入队。

S360、针对需要入虚拟队列的数据报文执行虚拟队列的入队操作。虚拟队 列的入队操作的一个具体的例子为:将虚拟队列的当前深度调整为虚拟队列的 当前深度与允许入队的数据报文所占用的带宽的和。数据报文所占用的带宽不 仅包括数据报文的长度,还可以包括数据报文的附加开销。附加开销如:帧间 隙、前导码以及前向纠错码等。虚拟队列入队操作还包括:根据虚拟队列的入 队数据报文所占用的带宽调整入队方向对应的指针,入队方向对应的指针根据 数据报文从队头入队还是从队尾入队会有所不同;例如,如果数据报文从队头 进入虚拟队列,则入队方向对应的指针为虚拟队列头指针,如果数据报文从队 尾进入虚拟队列,则入队方向对应的指针为虚拟队列尾指针。

在数据报文从队尾入队的情况下,虚拟队列的入队操作的一个具体的例子 为:根据入队数据报文所占用的上行链路的时间来更新虚拟队列尾指针,并根 据入队数据报文所占用的上行链路的时间更新虚拟队列当前深度。

S370、不执行虚拟队列的入队操作,本次虚拟队列的入队判断操作和虚拟 队列的入队操作结束。

需要说明的是,上述图3A和图3B描述的虚拟队列的入出队过程都是针对一 个虚拟队列进行描述的,如果一个实体队列对应有多个虚拟队列,则每个虚拟 队列都应进行上述虚拟队列的入出对判断和执行操作,直至找到允许入队的虚 拟队列。另外,图3A和图3B所示的流程可以并行执行。而且,当一个实体队列 对应有多个虚拟队列时,各虚拟队列可以按照一定顺序(如阈值从小到大的顺 序)执行上述图3A和图3B所示的流程,当然,各虚拟队列对应的图3A和图3B 所示的流程也可以并行执行。还有,虚拟队列的入队判断操作可以在数据报文 向光纤发送的过程中进行,这样,不但可以去除从实体队列出队到出队的数据 报文向光纤发送之间的内部传输路径中的数据报文对队列报告准确性的影响, 而且,还为队列判断和入队操作预留了充足的时间,为队列报告的准确计算以 及队列报告的可实施性打下了良好的基础。

在需要发送队列报告时,针对实体队列对应的所有虚拟队列生成队列报 告,并向局端(如OLT)上报队列报告。这里的队列报告可以为:基于多阈值 队列集的队列报告。本实施例中的生成队列报告即根据设置的多个阈值分别计 算不超过阈值所示带宽的完整数据报文所需要的上行带宽。基于多阈值队列集 的队列报告的一个具体例子为:

参见图3C,设定有两个实体队列,即队列1和队列2,队列1和队列2均对应 有优先级,如队列1对应的优先级最高,队列2对应的优先级次高。队列1和队 列2对应的优先级如业务优先级。图3C中,队列1包含4个数据报文,标号分别 为#1,#2,#3和#4,各个数据报文的长度分别为300,100,500,1000,单位 为字节。队列2中也包含4个报文,标号分别为#5,#6,#7和#8,长度分别为200, 400,600和800,单位也是字节。

针对这两个实体队列均设置了三个阈值,即Threshold1、Threshold2和 Threshold3,则生成的队列报告是针对3个队列集的队列报告,一个队列报告报 文中可以包含多个队列报告,每个队列集包括的数据报文(数据报文即表1中 的帧)如表1所示:

表1

 

队列集1 (对应Threshold 1)队列集2 (对应Threshold 2)队列集3 (对应Threshold 3)队列1帧1、2帧1、2、3帧1、2、3、4队列2帧5帧5、6、7帧5、6、7、8

从表1可以看出,三个阈值的大小各不同,如果按照阈值从小到大的顺序 对阈值进行排列,则该顺序为:Threshold1、Threshold2和Threshold3;最大的 阈值可以与实体队列的最大深度相同。队列报告可以体现出队列集中的数据报 文向局端发送时所需要的带宽(即时长),带宽的单位可以是TQ,1TQ=16ns =16bit=2字节。

需要发送队列报告的时间点可以是当前带宽授权即将结束时,例如,可以 在当前带宽授权结束前且发送最后一个数据报文之后,发送利用上述方法生成 的队列报告,然后,关闭激光器,当前带宽授权结束。例如,在要关闭激光器 时,生成并发送队列报告(即REPORT报文),以保证队列报告中的计算结果 的准确性。另外需要说明的是,在本实施例中,生成队列报告与发送队列报告 之间的时间间隔应尽可能的短,最好是在生成队列报告后立即发送该队列报 告。还有,REPORT报文中可以包含有REPORT报文所占用的带宽,从而局端 根据REPORT报文进行的带宽授权能够使下一个REPORT报文顺利上报。在 REPORT报文中没有包含REPORT报文所占用的带宽的情况下,局端在进行带 宽授权时,可以主动考虑REPORT报文所占用的带宽,以保证下一个REPORT 报文能够顺利上报。REPORT报文所占用的带宽可以是一个预先设置的固定值。

从上述实施例一的描述可以看出,本实施例针对实体队列对应有多个阈 值,每个阈值对应一个虚拟队列,并通过设计虚拟队列的入队出队操作,使虚 拟队列中的数据报文能够反映出不同阈值对应的所有需要向局端发送的数据 报文,使针对虚拟队列计算出的队列报告能够准确地反映出本端所需的上行带 宽,这样,当局端获取这些队列报告后,可以根据报告的内容为逻辑链接通道 分配合适的带宽,从而提高了上行带宽利用率;并且通过在生成队列报告后实 时发送队列报告,且发送队列报告的时间为在当前带宽授权结束前发送最后一 个数据报文之后,使队列报告能够进一步准确地反映出下次带宽授权时本端所 需的上行带宽。同时,本发明实施例利用虚拟队列方便简单的实现了针对实体 队列设置的阈值,通过设计虚拟队列的入队出队操作能够方便准确的针对虚拟 队列计算出队列报告,使队列报告的逻辑实现简单。

下面以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判断是否允许所述虚拟队列执行入队操作包 括:

判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深 度之和是否超过所述第一虚拟队列的阀值,如果不超过所述第一虚拟队列的阈 值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第 一虚拟队列为所述虚拟队列的其中一个;

所述虚拟队列入队判断单元504还用于:

当判断所述第一虚拟队列不执行入队操作,且存在多个所述阈值时,判断 所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是 否超过第二虚拟队列的阀值,如果不超过,则允许所述第二虚拟队列执行入队 操作;否则,继续判断,直至找到允许入队的虚拟队列。

虚拟队列入队操作单元505执行入操作包括:

计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和, 将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所 占用的带宽调整入队方向对应的指针;

所述队列报告装置500还包括:虚拟队列出队操作单元508,用于计算所 述虚拟队列的当前深度与所述虚拟队列的出队数据报文所占用的带宽的差;

将虚拟队列的当前深度调整为所述的差值,并根据所述虚拟队列的出队数 据报文所占用的带宽调整出队方向对应的指针。

所述报告单元506上报所述队列报告的时机为:

在当前带宽授权结束前,发送最后一个数据报文之后。

上述数据报文所占用的带宽不仅包括数据报文的长度,还可以包括数据报 文的附加开销。附加开销如:帧间隙、前导码以及前向纠错码等。

对于本发明实施例中各单元的具体操作可以参考实施例一中的方法,在此 不再赘述。

本发明实施例针对实体队列对应多个阈值,每个阈值对应于一个虚拟队 列,并通过设计虚拟队列的入队出队操作,使虚拟队列中的数据报文能够反映 出不同阈值对应的所有需要向局端发送的数据报文,使针对虚拟队列计算出的 队列报告能够准确地反映出本端所需的上行带宽,这样,当局端获取这些队列 报告后,可以根据报告的内容为逻辑链接通道分配合适的带宽,从而提高了上 行带宽利用率;并且通过在生成队列报告后实时发送队列报告,且发送队列报 告的时间为在当前带宽授权结束前发送最后一个数据报文之后,使队列报告能 够进一步准确地反映出下次带宽授权时本端所需的上行带宽。同时,本发明实 施例利用虚拟队列方便简单的实现了针对实体队列设置的阈值,通过设计虚拟 队列的入队出队操作能够方便准确的针对虚拟队列计算出队列报告,使队列报 告的逻辑实现简单。

实施例四、一种无源光网络系统

本发明实施例还提供了一种无源光网络系统600,包括:

终端设备602,所述设备包括光网络终端,或者光网络单元;

局端设备601,所述局端设备601包括光线路终端;

所述终端设备602对应有至少一个阀值,一个所述阈值对应一个虚拟队列, 所述阀值表示所述虚拟队列最大深度;

所述终端设备602在判断出数据报文向光纤发送时,根据所述阀值对所述 虚拟队列执行出队操作;

所述终端设备602在确定出实体队列有数据报文入队或者所述虚拟队列执 行了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对 所述虚拟队列执行入队操作;

针对所述虚拟队列生成队列报告,并上报所述队列报告给所述局端设备 601;

所述局端设备601接收所述队列报告,并根据所述队列报告给所述终端设 备602分配合适的带宽授权。

所述局端设备601还用于:

在判断出数据报文向光纤发送时,对所述数据报文所在的实体队列进行资 源回收;

判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深 度之和是否超过所述第一虚拟队列的阀值,如果不超过所述第一虚拟队列的阈 值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第 一虚拟队列为所述虚拟队列的其中一个;

当不执行入队操作,且存在多个所述阈值时,判断所述实体队列入队的数 据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的 阀值,如果不超过,则允许所述第二虚拟队列执行入队操作;否则,继续判断, 直至找到允许入队的虚拟队列;所述第二虚拟队列为所述虚拟队列的其中一 个。

所述终端设备602执行入队操作包括:

计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和, 将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所 占用的带宽调整入队方向对应的指针;

所述设备执行出队操作包括:

将虚拟队列的当前深度调整为所述的差值,并根据所述虚拟队列的出队数 据报文所占用的带宽调整出队方向对应的指针;

上述数据报文所占用的带宽不仅包括数据报文的长度,还可以包括数据报 文的附加开销。附加开销如:帧间隙、前导码以及前向纠错码等。

对于本发明实施例中各方法步骤的具体操作可以参考实施例一中的方法, 在此不再赘述。

本发明实施例针对实体队列对应多个阈值,每个阈值对应于一个虚拟队 列,并通过设计虚拟队列的入队出队操作,使虚拟队列中的数据报文能够反映 出不同阈值对应的所有需要向局端发送的数据报文,使针对虚拟队列计算出的 队列报告能够准确地反映出本端所需的上行带宽,这样,当局端获取这些队列 报告后,可以根据报告的内容为逻辑链接通道分配合适的带宽,从而提高了上 行带宽利用率;并且通过在生成队列报告后实时发送队列报告,且发送队列报 告的时间为在当前带宽授权结束前发送最后一个数据报文之后,使队列报告能 够进一步准确地反映出下次带宽授权时本端所需的上行带宽。同时,本发明实 施例利用虚拟队列方便简单的实现了针对实体队列设置的阈值,通过设计虚拟 队列的入队出队操作能够方便准确的针对虚拟队列计算出队列报告,使队列报 告的逻辑实现简单。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明 可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实 施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方 案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计 算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若 干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备 等)执行本发明各个实施例或者实施例的某些部分所述的方法。

虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多 变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变 形和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号