一种服务质量复用方法及装置与流程

文档序号:12182664阅读:234来源:国知局
一种服务质量复用方法及装置与流程

本发明涉及通信领域的服务质量(Quality of Service,QoS)调度技术,尤其涉及一种QoS复用方法及装置。



背景技术:

由于使用通信网络的用户越来越多,对于通信资源的竞争也越来越激烈。为满足用户对不同应用不同服务质量的要求,需要通信网络能根据用户的要求分配和调度资源,对不同的数据流提供不同的服务,所以QoS应运而生。

通常,采用QoS进行两个方面的服务质量监控:第一方面,在通信网络中,总的带宽是有限的,所以在初始化时,网络可以与不同的用户协定不同的使用带宽,用户根据协定的使用带宽的大小进行付费,网络根据不同用户的使用带宽为用户设定优先级,使用带宽越大的用户优先级越高。当通信网络出现网络延迟或拥塞等问题时,优先处理优先级高的用户发送的报文,并尽量保证及时处理优先级低的用户发送的报文,使优先级高的用户的合法使用带宽得到保证,同时最大程度的保证优先级低的用户的QoS。

第二方面,由于通信网络中不同的用户使用的业务不同,每个业务对网络延时的要求是不同的,例如,对普通上网用户而言,网络页面的响应时间可以较长,但是,对使用视频通信或网络电话等业务的用户而言,若网络延时较长,则会影响通话质量或画面质量。因此,当通信网络出现网络延迟或拥塞等问题时,优先处理使用通话类业务的用户发送的报文,并尽量保证及时处理普通上网用户发送的报文,使得在不影响视频通信或网络电话等业务的通话质量或画面质量的基础上,尽量保证普通上网的QoS。

为了实现上述两种QoS,现有通信网络中通常需要设置两套QoS装置,分 别对接收到的报文进行第一方面的QoS的监控和第二方面的QoS的监控,因此,需要的逻辑资源较大,QoS芯片的设计复杂性也相应的增加。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种QoS复用方法及装置,能够节约实现QoS的逻辑资源,降低QoS芯片的复杂性。

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

一方面,本发明实施例提供一种QoS复用方法,所述方法包括:

为接收到的报文分配N个队列号,分别对应对所述报文执行的N个QoS,其中,第i个队列号对应第i个QoS,所述i为大于0小于或等于N的整数;

根据所述报文的第i个队列号当前已经占有的缓存空间与预先为所述第i个队列号配置的缓存空间的比较,确定是否丢弃所述报文;

若不丢弃所述报文,将所述报文存储到第i个队列号对应的队列;

根据预设规则从所述第i个的队列号对应的队列中获取所述报文;

i小于N时,i加1且重复执行上述确定报文是否丢弃到获取所述报文的步骤,直至i等于N时,输出所述报文。

可选的,所述N为2,所述两个QoS,分别为e8调度和T-cont调度;

所述为接收到的报文分配N个队列号,分别对应对所述报文执行的N个QoS包括:

为接收到的所述报文分配两个队列号,分别为e8调度的队列号和T-cont调度的队列号。

可选的,所述预设规则为加权公平排队法(Weighted Fair Queuing,WFQ)、亏空轮循算法(Deficit Round Robin,DRR)、严格优先级(Subspace Pursuit,SP)、或者轮询调度算法(Round-Robin,RR)。

可选的,在所述为接收到的报文分配N个队列号之后,所述方法还包括:

将为所述报文分配的N个队列号添加在所述报文的描述符中。

可选的,所述e8调度包括八个不同的队列号,所述T-cont调度包括256 个不同的队列号;

所述为接收到的所述报文分配两个队列号包括:

根据所述报文的发送端口从所述八个不同的队列号中为所述报文分配e8调度的队列号,从所述256个不同的队列号中为所述报文分配T-cont调度的队列号。

另一方面,本发明实施例提供一种QoS复用装置,所述QoS复用装置能执行N个QoS,所述N为大于1的整数;所述QoS复用装置包括:队列映射单元、缓存管理单元、队列管理单元、调度和整形单元;

所述队列映射单元,用于为接收到的报文分配N个队列号,分别对应所述N个QoS,其中,第i个队列号对应第i个QoS,所述i为大于0,小于或等于N的整数;

所述缓存管理单元,用于根据所述报文的第i个队列号当前已经占有的缓存空间与预先为所述第i个队列号配置的缓存空间的比较,确定是否丢弃所述报文,并当不丢弃所述报文时,将所述报文发送给队列管理单元;所述缓存管理单元为所述第i个QoS的不同队列号,预先配置不同的缓存空间;

所述队列管理单元,用于将所述报文存储到所述第i个的队列号对应的队列;所述队列管理单元为所述第i个QoS的不同队列号,设置不同的队列;

所述调度和整形单元,用于根据预设规则从所述第i个的队列号对应的队列中获取所述报文,还用于将所述报文发送给所述缓存管理单元,使所述缓存管理单元根据所述报文的第i+1个队列号当前已经占有的缓存空间与预先为所述第i+1个队列号配置的缓存空间的比较,确定是否丢弃所述报文。

可选的,所述N为2,所述QoS复用装置执行两个QoS,分别为e8调度和T-cont调度;

所述队列映射单元具体用于为接收到的报文分配两个队列号,分别为e8调度的队列号和T-cont调度的队列号;

所述缓存管理单元具体用于根据所述报文的e8调度的队列号当前已经占有的缓存空间与预先为所述e8调度的队列号配置的缓存空间的比较,确定是否 丢弃所述报文,并在不丢弃所述报文时,将所述报文发送给所述队列管理单元;所述缓存管理单元为所述e8调度的不同队列号,预先配置不同的缓存空间;

所述队列管理单元用于将所述报文存储到所述e8调度的队列号对应的队列;所述队列管理单元为所e8调度的不同队列号,设置不同的队列;

所述调度和整形单元用于根据所述预设规则从所述e8调度的队列号对应的队列中获取所述报文,并将所述报文发送给所述缓存管理单元;

所述缓存管理单元具体用于根据所述报文的T-cont调度的队列号当前已经占有的缓存空间与预先为所述T-cont调度的队列号配置的缓存空间的比较,确定是否丢弃所述报文,并当不丢弃所述报文时,将报文发送给所述队列管理单元;所述缓存管理单元为所述T-cont调度的不同队列号,预先配置不同的缓存空间;

所述队列管理单元用于将所述报文存储到所述T-cont调度的队列号对应的队列;所述队列管理单元为所T-cont调度的不同队列号,设置不同的队列;

所述调度和整形单元用于根据所述预设规则从所述T-cont调度的队列号对应的队列中获取所述报文。

可选的,所述预设规则为WFQ、DRR、SP、或者RR。

可选的,所述队列映射单元具体用于将为所述报文分配的N个队列号添加在所述报文的描述符中,并将包括所述描述符的报文或者所述描述符发送给所述缓存管理单元。

可选的,所述e8调度包括八个不同的队列号,所述T-cont调度包括256个不同的队列号;

所述队列映射单元具体用于根据所述报文的发送端口从所述八个不同的队列号中为所述报文分配e8调度的队列号,从所述256个不同的队列号中为所述报文分配T-cont调度的队列号。

本发明实施例提供了一种QoS复用方法及装置,所述QoS复用方法包括:为接收到的报文分配N个队列号,分别对应对所述报文执行的N个QoS,根据所述报文的第i个队列号当前已经占有的缓存空间与预先为所述第i个队列号配 置的缓存空间的比较,确定是否丢弃所述报文;若不丢弃所述报文,将所述报文存储到第i个队列号对应的队列;根据预设规则从所述第i个的队列号对应的队列中获取所述报文;i小于N时,i加1且重复执行上述确定报文是否丢弃到获取所述报文的步骤,直至i等于N时,输出所述报文。相较于现有技术,在通信网络实现QoS时,不需要设置多套QoS装置,依次执行每一个QoS,而是分别为接收到的报文分配与N个QoS对应的N个队列号,然后通过循环执行的方法,每循环一次执行一个QoS,因此采用一套QoS复用装置即可实现多个QoS,节约了实现QoS的逻辑资源,降低了QoS芯片的复杂性。

附图说明

图1为本发明实施例提供的一种QoS复用方法的流程图;

图2为本发明实施例提供的另一种QoS复用方法的流程图;

图3为本发明实施例提供的一种QoS复用装置结构示意图;

图4为本发明实施例提供的一种QoS复用装置的交互图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施例提供一种QoS复用方法,如图1所示,所述方法包括:

步骤101、为接收到的报文分配N个队列号,分别对应对所述报文执行的N个QoS。

其中,第i个队列号对应第i个QoS,所述i为大于0,小于或等于N的整数。通常通信网络在运作时需要对一个报文进行多个方面的服务质量调度,即对接收到的报文执行N个QoS,每个QoS表示一个方面的服务质量调度,常用的QoS涉及根据使用带宽设定的不同优先级的用户的服务质量调度,或者针对不同用户当前使用的不同业务的服务质量调度,实际应用中还可以包括其他QoS,本发明实施例再次不做限定。

示例的,对报文执行两个QoS,分别为e8调度和T-cont调度,在接收到报文之后,首先获取报文的描述符,根据描述符中的端口信息,为所述报文分配e8调度的队列号和T-cont调度的队列号。由于e8调度共有八个队列号,因此可以根据描述符中的端口信息,从所述八个队列号中为报文分配e8调度的队列号;T-cont调度共有256个队列号,因此,可以根据描述符中的端口信息,从所述256个队列号中为报文分配T-cont调度的队列号。

步骤102、根据所述报文的第i个队列号当前已经占有的缓存空间与预先为所述第i个队列号配置的缓存空间的比较,确定是否丢弃所述报文。

示例的,可以首先为第i个QoS的不同队列号,预先配置不同的缓存空间,然后,根据报文的第i个队列号,比较当前第i个队列号已经占有的缓存空间与预先为所述第i个队列号配置的缓存空间的大小,若当前第i个队列号已经占有的缓存空间大于或等于预先为所述第i个队列号配置的缓存空间,则对所述报文进行丢弃,例如,可以对所述缓存空间执行随机丢弃或尾部丢弃策略。

步骤103、若不丢弃所述报文,将所述报文存储到第i个队列号对应的队列。

示例的,可以预先为第i个QoS的不同的队列号设置不同的队列,然后根据报文的第i个队列号,将所述报文存储到第i个队列号对应的队列。

例如,由于e8调度包括八个不同的队列号,所以可以为8个不同的队列号设置不同的队列,即一个队列号对应一个队列。然后根据报文的e8调度的队列号将所述报文存储在对应的队列。

步骤104、根据预设规则从所述第i个的队列号对应的队列中获取所述报文。

所述预设规则可以为WFQ、DRR、SP、或者RR中的任意一种,其中WFQ,DRR,SP和RR均为现有技术,本发明实施例在此不做赘述。

步骤105、i小于N时,i加1且重复执行步骤102至104,直至i等于N时,输出所述报文。

由于需要对所述报文执行N个QoS,所以在每执行完一个QoS之后,需要首先判断是否执行完N个QoS,即判断i是否大于或等于N,并且在i小于N时,继续执行下一个QoS,直到将N个QoS均执行完成后,将所述报文输出, 发送给后级单元进行后续处理,本发明实施例再次不做赘述。

示例的,当N等于2时,在执行完e8调度之后,此时i=1<2,所以令i=i+1=1+1=2,继续执行“根据所述报文的第i个队列号当前已经占有的缓存空间与预先为所述第i个队列号配置的缓存空间的比较,确定是否丢弃所述报文”,此时i=2,即执行对所述报文的T-cont调度,所述报文的T-cont调度与e8调度的过程相同,可参考前述e8调度的描述,本发明实施例在此不做详述。直到执行完T-cont调度之后,由于i=2=N,说明所有的QoS均已经执行完,此时可以将所述报文输出给后级单元进行后续处理。

这样一来,通信网络实现多个QoS时,不需要设置多套QoS装置,依次执行每一个QoS,而是通过循环执行的方法,采用一套QoS复用装置来实现多个QoS,节约了实现QoS的逻辑资源,降低了QoS芯片的复杂性。

可选的,所述N为2,所述两个QoS,分别为e8调度和T-cont调度;

所述为接收到的报文分配N个队列号,分别对应对所述报文执行的N个QoS包括:为接收到的所述报文分配两个队列号,分别为e8调度的队列号和T-cont调度的队列号。

可选的,在为报文分配N个队列号之后,可以将所分配的N个队列号添加在所述报文的描述符中,以便于在后续处理中,可以较为方便的获取该报文的每个QoS对应的队列号。

示例的,若为报文分别执行2个QoS,分别为e8调度和T-cont调度,由于所述e8调度包括八个不同的队列号,所述T-cont调度包括256个不同的队列号;因此在为接收到的所述报文分配两个队列号时,可以根据所述报文的发送端口从所述八个不同的队列号中为所述报文分配e8调度的队列号,从所述256个不同的队列号中为所述报文分配T-cont调度的队列号。

本发明实施例提供一种QoS复用方法,包括为接收到的报文分配N个队列号,分别对应对所述报文执行的N个QoS,其中,第i个队列号对应第i个QoS,所述i为大于0小于或等于N的整数;根据所述报文的第i个队列号当前已经占有的缓存空间与预先为所述第i个队列号配置的缓存空间的比较,确定是否 丢弃所述报文;若不丢弃所述报文,将所述报文存储到第i个队列号对应的队列;根据预设规则从所述第i个的队列号对应的队列中获取所述报文;i小于N时,i加1且重复执行上述确定报文是否丢弃到获取所述报文的步骤,直至i等于N时,输出所述报文。相较于现有技术,在通信网络实现QoS时,不需要设置多套QoS装置,依次执行每一个QoS,而是通过循环执行的方法,采用一套QoS复用装置即可实现多个QoS,节约了实现QoS的逻辑资源,降低了QoS芯片的复杂性。

示例的,假设所述报文执行两个QoS,分别为e8调度和T-cont调度。如图2所示,所述QoS复用方法可以通过如下步骤实现e8调度和T-cont调度:

步骤201、为接收到的报文分配两个队列号,分别为e8调度的队列号和T-cont调度的队列号。

在接收到报文之后,首先获取报文的描述符,根据描述符中的端口信息,为所述报文分配e8调度的队列号和T-cont调度的队列号,所述端口信息指示了所述报文的发送端口。

具体的,e8调度包括八个不同的队列号,队列号越大,表示优先级越高,初始化时,QoS复用装置10为不同的发送端口设置不同的优先级,在接收到报文之后,根据端口信息即可确定该报文对应的e8调度的队列号。同理,T-cont调度包括32个T-cont,每个T-cont包括八个序列,即T-cont调度的队列号包括两个部分,第一部分用于指示所述报文对应的T-cont,第二部分用于指示所述报文在对应的T-cont下对应的序列,因此T-cont调度包括32*8=256个队列号,其中,不同的队列号对应的处理时间不同。初始化时,为不同的发送端口设置不同的处理时间,所以在接收到报文之后,根据端口信息即可确定该报文对应的T-cont调度的队列号。

步骤202、根据所述报文的e8调度的队列号当前已经占有的缓存空间与预先为所述e8调度的队列号配置的缓存空间的比较,确定是否丢弃所述报文。

在为报文分配e8调度的队列号和T-cont调度的队列号之后,可以将所述e8调度的队列号和T-cont调度的队列号添加在所述报文的描述符中,便于后续 对所述报文的处理。

根据报文的描述符获取描述符中的e8调度的队列号和T-cont调度的队列号,然后根据e8调度的队列号当前已经占有的缓存空间与预先为所述e8调度的队列号配置的缓存空间的比较,确定是否丢弃所述报文。

具体的,可以预先为e8调度的8个不同的队列号分配不同的缓存空间,队列号越大的预先配置的缓存空间越大,即优先级高的报文对应的缓存空间大,优先级低的报文对应的缓存空间小,当报文e8调度的队列号当前已经占有的缓存空间大于或等于预先为所述e8调度的队列号配置的缓存空间时,对缓存空间实行尾部丢弃策略或随机丢弃策略。这样一来,由于优先级高的报文预先配置的缓存空间大,使得优先级高的报文尽量不会被丢弃,优先级低的报文预先配置的缓存空间小,使得在网络延迟或阻塞时,首先丢弃优先级低的报文,保证网络能够恢复通畅。

步骤203、若不丢弃所述报文,将所述报文存储到所述e8调度的队列号对应的队列。

可以按照报文的缓存时间读取报文,即缓存较早的报文先读取,缓存较晚的报文后读取,读取的顺序与预先配置的缓存空间的大小无关。

由于e8调度包括8个不同的队列号,可以预先为8个不同的队列号分别设置不同的队列,即一个队列号对应一个队列。然后根据报文的e8调度的队列号将所述报文存储在对应的队列。

步骤204、根据预设规则从所述e8调度的队列号对应的队列中获取所述报文。

所述预设规则可以为WFQ,DRR,SP或者RR中的任意一种,其中WFQ,DRR,SP和RR均为现有技术,本发明实施例在此不做赘述。

步骤205、根据所述报文的T-cont调度的队列号当前已经占有的缓存空间与预先为所述T-cont调度的队列号配置的缓存空间的比较,确定是否丢弃所述报文。

从所述报文的描述符中获取所述报文的T-cont调度的队列号,然后根据 T-cont调度的队列号当前已经占有的缓存空间与预先为所述T-cont调度的队列号配置的缓存空间的比较,确定是否丢弃所述报文。

具体的,可以预先为T-cont调度的256个不同的队列号分配不同的缓存空间,当T-cont调度的队列号当前已经占有的缓存空间大于或等于预先为所述T-cont调度的队列号配置的缓存空间时,可以对该缓存空间实行尾部丢弃策略或随机丢弃策略。这样一来,当网络延迟或阻塞时,首先丢弃缓存已满的缓存空间中缓存的报文,保证网络能够恢复通畅。

步骤206、若不丢弃所述报文,将所述报文存储到所述T-cont调度的队列号对应的队列。

由于T-cont调度包括256个不同的队列号,可以预先为256个不同的队列号分别设置不同的队列,即一个队列号对应一个队列。具体的,首先为32个T-cont设置32个队列编码A,每个队列编码A下设置8个不同的队列编码B。根据报文的T-cont调度的队列号的第一部分确定队列编码A,根据T-cont调度的队列号的第二部分确定队列编码B,队列编码A与队列编码B合并即为T-cont调度的队列号对应的队列编码,进而可以将报文存储到所述队列编码对应的队列。

步骤207、根据所述预设规则从所述T-cont调度的队列号对应的队列中获取所述报文。

所述预设规则可以为WFQ,DRR,SP或者RR中的任意一种,其中WFQ,DRR,SP和RR均为现有技术,本发明实施例在此不做赘述。

步骤208、输出所述报文。

根据上述规则从所述T-cont调度的队列号对应的队列中获取该报文,此时对于报文的e8调度和T-cont调度两个方面的QoS均已完成,即可以输出所述报文,将获取的报文发送给后级单元进行后续处理,本发明实施例再次不做赘述。

其中步骤205至207是步骤202至204的循环重复,步骤202至204对应e8调度,步骤205至207对应T-cont调度,这样一来,在通信网络实现QoS 时,不需要设置多套QoS装置,依次执行每一个QoS,而是通过循环执行的方法,采用一套QoS复用装置即可实现多个QoS,节约了实现QoS的逻辑资源,降低了QoS芯片的复杂性。

本发明实施例提供一种QoS复用装置30,所述QoS复用装置30能够执行N个QoS,所述N为大于1的整数;如图3所示,所述QoS复用装置30包括:队列映射单元301、缓存管理单元302、队列管理单元303、调度和整形单元304。

所述队列映射单元301用于为接收到的报文分配N个队列号,分别对应所述N个QoS,其中,第i个队列号对应第i个QoS,所述i为大于0,小于或等于N的整数。

所述缓存管理单元302用于根据所述报文的第i个队列号当前已经占有的缓存空间与预先为所述第i个队列号配置的缓存空间的比较,确定是否丢弃所述报文,并当不丢弃所述报文时,将所述报文发送给队列管理单元;所述缓存管理单元为所述第i个QoS的不同队列号,预先配置不同的缓存空间。

所述队列管理单元303用于将所述报文存储到所述第i个的队列号对应的队列;所述队列管理单元303为所述第i个QoS的不同队列号,设置不同的队列。

所述调度和整形单元304用于根据预设规则从所述第i个的队列号对应的队列中获取所述报文,还用于将所述报文发送给所述缓存管理单元302,使得所述缓存管理单元302根据所述报文的第i+1个队列号当前已经占有的缓存空间与预先为所述第i+1个队列号配置的缓存空间的比较,确定是否丢弃所述报文。

通常通信网络在运作时需要对一个报文进行多个方面的服务质量调度,即需要执行N个QoS,每个QoS表示一个方面的服务质量调度,常用的QoS涉及根据使用带宽设定的不同优先级的用户的服务质量调度,或者针对不同用户当前使用的不同业务的服务质量调度,实际应用中还可以包括其他QoS,本发明实施例再次不做限定。

这样一来,通信网络实现多个QoS时,不需要设置多套QoS装置,而是在 QoS装置的队列映射单元分别为N个QoS分配队列号之后,每循环一次执行一个QoS,通过循环的方式实现了缓存管理单元、队列管理单元和调度和整形单元的复用,从而仅用一套QoS装置即可实现多个QoS,节约了实现QoS的逻辑资源,降低了QoS芯片的复杂性。

示例的,所述QoS复用装置10能够执行两个QoS,分别为e8调度和T-cont调度。如图4所示,所述QoS复用装置10可以通过如下步骤实现e8调度和T-cont调度:

步骤401、队列映射单元301为接收到的报文分配两个队列号,分别为e8调度的队列号和T-cont调度的队列号。

所述队列映射单元301接收到报文之后,首先获取报文的描述符,根据描述符中的端口信息,为所述报文分配e8调度的队列号和T-cont调度的队列号,所述端口信息指示了所述报文的发送端口。

具体的,e8调度包括八个不同的队列号,队列号越大,表示优先级越高,初始化时,QoS复用装置30为不同的发送端口设置不同的优先级,在接收到报文之后,根据端口信息即可确定该报文对应的e8调度的队列号。同理,T-cont调度包括32个T-cont,每个T-cont包括八个序列,即T-cont调度的队列号包括两个部分,第一部分用于指示所述报文对应的T-cont,第二部分用于指示所述报文在对应的T-cont下对应的序列,因此T-cont调度包括32*8=256个队列号,其中,不同的队列号对应的处理时间不同。初始化时,QoS复用装置30为不同的发送端口设置不同的处理时间,所以在接收到报文之后,根据端口信息即可确定该报文对应的T-cont调度的队列号。

步骤402、队列映射单元301将报文发送给缓存管理单元302。

在为报文分配e8调度的队列号和T-cont调度的队列号之后,可以将所述e8调度的队列号和T-cont调度的队列号添加在所述报文的描述符中,然后将包括修改后的描述符的报文发送给缓存管理单元302,或者也可以直接将修改后的描述符发送给缓存管理单元302,实际应用中可以根据具体情况进行设置,本发明实施例对此不做限定。

步骤403、缓存管理单元302根据所述报文的e8调度的队列号当前已经占有的缓存空间与预先为所述e8调度的队列号配置的缓存空间的比较,确定是否丢弃所述报文。

缓存管理单元302在接收到包括修改后描述符的报文或者修改后的描述符之后,首先获取描述符中的e8调度的队列号和T-cont调度的队列号,然后根据所述报文的e8调度的队列号当前已经占有的缓存空间与预先为所述e8调度的队列号配置的缓存空间的比较,确定是否丢弃所述报文。

具体的,本发明实施例以缓存管理单元302接收到包括修改后描述符的报文为例进行说明,缓存管理单元302为e8调度的8个不同的队列号配置不同的缓存空间,队列号越大的预先配置的缓存空间越大,即优先级高的报文对应的缓存空间大,优先级低的报文对应的缓存空间小,当报文e8调度的队列号当前已经占有的缓存空间大于或等于预先为所述e8调度的队列号配置的缓存空间时,对缓存空间实行尾部丢弃策略或随机丢弃策略。这样一来,由于优先级高的报文预先配置的缓存空间大,使得优先级高的报文尽量不会被丢弃,优先级低的报文预先配置的缓存空间小,使得在网络延迟或阻塞时,首先丢弃优先级低的报文,保证网络能够恢复通畅。

步骤404、若不丢弃所述报文,缓存管理单元302将所述报文发送给所述队列管理单元303。

在缓存管理单元302可以按照报文的缓存时间读取报文,即缓存较早的报文先读取,缓存较晚的报文后读取,读取的顺序与预先配置的缓存空间的大小无关。在按照报文的缓存时间读取报文之后,将报文发送给队列管理单元303。

步骤405、队列管理单元303将所述报文存储到所述e8调度的队列号对应的队列。

由于e8调度包括8个不同的队列号,所以队列管理单元303为8个不同的队列号分别设置了不同的队列,即一个队列号对应一个队列。在接收到缓存管理单元302发送的报文之后,根据报文的e8调度的队列号将所述报文存储在对应的队列。然后通知调度和整形单元304每个e8队列存储的报文数量。

步骤406、调度和整形单元304用于根据预设规则从所述e8调度的队列号对应的队列中获取所述报文。

所述预设规则可以为WFQ,DRR,SP或者RR中的任意一种,其中WFQ,DRR,SP和RR均为现有技术,本发明实施例在此不做赘述。

步骤407、调度和整形单元304将所述报文发送给所述缓存管理单元302。

调度和整形单元304根据上述规则从所述e8调度的队列号对应的队列中获取该报文,然后将该报文在此发送给缓存管理单元302,使得缓存管理单元302按照T-cont调度的队列号进行缓存判断。

步骤408、缓存管理单元302根据所述报文的T-cont调度的队列号当前已经占有的缓存空间与预先为所述T-cont调度的队列号配置的缓存空间的比较,确定是否丢弃所述报文。

缓存管理单元302接收到调度和整形单元304发送的报文之后,首先获取该报文的描述符,然后根据描述符中的T-cont调度的队列号当前已经占有的缓存空间与预先为所述T-cont调度的队列号配置的缓存空间的比较,确定是否丢弃所述报文。

具体的,缓存管理单元302可以预先为T-cont调度的256个不同的队列号分配不同的缓存空间,当T-cont调度的队列号当前已经占有的缓存空间大于或等于预先为所述T-cont调度的队列号配置的缓存空间时,可以对该缓存空间实行尾部丢弃策略或随机丢弃策略。这样一来,当网络延迟或阻塞时,首先丢弃缓存已满的缓存空间中缓存的报文,保证网络能够恢复通畅。

步骤409、若不丢弃所述报文,缓存管理单元302将所述报文发送给所述队列管理单元303。

步骤410、队列管理单元303将所述报文存储到所述T-cont调度的队列号对应的队列。

由于T-cont调度包括256个不同的队列号,所以队列管理单元303可以预先为256个不同的队列号分别设置了不同的队列,即一个队列号对应一个队列。具体的,队列管理单元303首先为32个T-cont设置32个队列编码A,每个队 列编码A下设置8个不同的队列编码B。队列管理单元303根据报文的T-cont调度的队列号的第一部分确定队列编码A,根据T-cont调度的队列号的第二部分确定队列编码B,队列编码A与队列编码B合并即为T-cont调度的队列号对应的队列编码,进而可以将报文存储到所述队列编码对应的队列。然后队列管理单元303通知调度和整形单元304每个T-cont队列存储的报文数量。

步骤411、调度和整形单元304根据所述预设规则从所述T-cont调度的队列号对应的队列中获取所述报文。

所述预设规则可以为WFQ,DRR,SP或者RR中的任意一种,其中WFQ,DRR,SP和RR均为现有技术,本发明实施例在此不做赘述。

步骤412、调度和整形单元304输出所述报文。

调度和整形单元304根据上述规则从所述e8调度的队列号对应的队列中获取该报文,此时对于报文的e8和T-cont两个方面的QoS均已完成,所以调度和整形单元304可以输出所述报文,即将获取的报文发送给后级单元进行后续处理,本发明实施例再次不做赘述。

在实际应用中,所述队列映射单元301、缓存管理单元302、队列管理单元303、调度和整形单元304均可由位于QoS复用装置中的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。

本发明实施例提供了一种QoS复用装置,所述装置能够执行N个QoS,所述N为大于1的整数;所述装置包括:队列映射单元,缓存管理单元,队列管理单元,调度和整形单元;所述队列映射单元用于为接收到的报文分配N个队列号,分别对应所述N个QoS,其中,第i个队列号对应第i个QoS,所述i为大于0,小于或等于N的整数;所述缓存管理单元用于根据所述报文的第i个队列号当前已经占有的缓存空间与预先为所述第i个队列号配置的缓存空间的比较,确定是否丢弃所述报文,并当不丢弃所述报文时,将所述报文发送给队列管理单元;所述缓存管理单元为所述第i个QoS的不同队列号,预先配置 不同的缓存空间;所述缓存管理单元为所述第i个QoS的不同队列号,预先配置不同的缓存空间;所述队列管理单元用于将所述报文存储到所述第i个的队列号对应的队列;所述队列管理单元为所述第i个QoS的不同队列号,设置不同的队列;所述调度和整形单元用于根据预设规则从所述第i个的队列号对应的队列中获取所述报文,还用于将所述报文发送给所述缓存管理单元,使得所述缓存管理单元根据所述报文的第i+1个队列号缓存所述报文。相较于现有技术,通信网络实现多个QoS时,不需要设置多套QoS装置,而是在QoS装置的队列映射单元分别为N个QoS分配队列号之后,每循环一次执行一个QoS,通过循环的方式实现了缓存管理单元、队列管理单元和调度和整形单元的复用,从而仅用一套QoS复用装置即可实现多个QoS,节约了实现QoS的逻辑资源,降低了QoS芯片的复杂性。

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

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