一种带宽资源分配方法
技术领域
本发明涉及接入网领域,尤其是涉及一种带宽资源分配方法。
背景技术
随着宽带无线接入技术的发展,有限的空口带宽资源显得越发的珍贵。如何高效的利用带宽资源,成为我们必须面对的一个问题。
IEEE 802.16标准针对OFDMA提出了一种在时域和频域两个维度上进行下行带宽资源分配的方法。下行带宽资源分配以帧为单位,在一帧内,对于在该帧中所需要填充的burst(不定长)在时间和频率所组成的二维空间内按照矩形分配资源,并且每个burst均占用整数个slot(时隙)。
IEEE 802.16标准中定义的下行帧格式如图1所示(TDD模式下的下行帧格式)。在时间方向上,以symbol(符号)为单位。在频率方向上,以subchannel(子信道)为单位。Burst中封装了数据报文和/或管理报文。为burst分配带宽资源是以slot为最小分配单元的,每个slot占用整数个subchannel和整数个symbol,但从时间和频率两个维度上看,为burst分配的资源空间是个矩形区域。
该方案中以一个slot所占用的symbol数为单位作为增加一次的步长。
每次从burst集合中选取最大的burst为其分配相应的资源。从第一列有未分配subchannel的symbol开始,比较该列symbol中未分配的连续空间与该burst之间的大小,如果这个未分配空间足以容纳该burst,则为该burst分配适当地资源;如果该未分配空间不足以容纳该burst,则增加一列。如果增加的这列与先前的一列长度不等,则资源空间从零开始计算,即为burst分配的空间从新增加的这列symbol开始,直到未分配空间足以容纳该burst。从这些列中为该burst分配一个适当地矩形区域。如图2所示。
注:图2中burst的序号与图1中burst的序号是不同的。图1中burst的序号是按照symbol的先后顺序进行排序,如果多个burst的起始symbol位置是相同的,则对具有相同的symbol起始位置的burst再按照subchannel的先后顺序进行再次排序。图2中burst的序号只是用于标识为burst分配空间的先后顺序。后续图中burst的序号与图2中burst的序号意义相同。
重新从burst集合中选取次大的burst进行上述操作,直到将需要填充到该帧的burst全部分配完毕或是没有适当地未分配资源区域足以容纳需要填充到该帧的burst。如果未分配资源区域有剩余,则对未分配资源区域的大小进行反馈。根据反馈信息,对未分配资源区域进行再次分配。经过多次反馈,直到将未分配资源区域分配完毕。
现有的这种方案存在以下缺点:
缺点一:处理复杂,时延大。
这种实现方案在处理过程中需要每次从burst集合中查找一个最大的未分配资源的burst,增加了实现的复杂性,造成较大的时延。并且对未分配区域采用多次反馈的机制,使得burst滞留较长的时间,接口复杂。这种实现方案每次都从第一列有未分配的subchannel的symbol开始进行分配,容易出现对于较大的burst来说,直到增加到未分配资源区域中等高区域的边缘所在的symbol列都无法满足该burst需求的情况。如图2所示,如果分配完burstl后,从burst集合中选取的次大burst的slot数为45时,按照上述实现方案,无法为该burst分配相应的资源,只能遗留到下一帧进行处理,造成了burst的滞留。其实在这帧中是完全可以为这个burst分配相应的资源的。然而该实现方案分配完burstl后,只能处理slot数不超过40的burst了。这样会造成大量burst的滞留,增加了接口的复杂性,增大了burst传输的时延,可能导致无法满足QoS的要求。
缺点二:利用率低。
这种实现方案分配较大的burst后,会产生较多的无法满足burst最低需要的未分配资源区域,造成带宽资源的浪费。并且带宽资源的浪费同样也会产生在已分配的矩形资源内部。由于这种分配方案中,每次为burst分配空间时,分配symbol的列数相对较少,在需要分配的空间一定的情况下,这样就导致了分配空间占用的subchannel数较多。这样会产生实际只利用了最后一列中的第一个slot或前几个slot的情况,造成内部资源的极大浪费。
发明内容
本发明要解决的技术问题在于,克服上述现有技术存在的不足,提供快速简单、高效的一种带宽资源分配方法,以提高带宽利用率、节省带宽资源。
为解决上述技术问题,本发明提供一种带宽资源分配方法,包括以下步骤:
a.对需要分配资源的事物进行分类;
b.按照每类事物所占资源总量划分相应的资源区域;以及
c.在所述每类的资源区域中为该类中的事物分配相应的区域。
进一步地,所述事物是需要占用的资源是二维资源的事物,或者是在某个维度上需要再在另外两个维度上进行资源分配的事物。
进一步地,所述步骤a中分类的依据是事物大小、业务类型、QoS参数要求、或优先级。
进一步地,所述步骤b进一步包括以下步骤:
b1.计算每类事物所占用资源的总量;以及
b2.判断待分配的资源区域是否具有规则的形状,如果是则为每类事物分配相应的资源区域,如果不是则先将不规则资源区域分解成多个规则区域,再在规则区域里进行分配。
进一步地,如果在将不规则资源区域分解成多个规则区域时产生跨区域的情况时,所述步骤b2进一步包括步骤:
b21.将跨区域的部分进行整合;以及
b22.将突出部分判断是否满足事物分配的最低开销,如果满足,则记录该突出部分,用于后续的反馈;否则,将该突出部分直接丢弃。
进一步地,所述步骤c中分配的依据是事物顺序、大小、优先级、业务类型、或QoS参数要求。
进一步地,所述步骤c中分配完一类事物所需的资源后,如果有剩余的未分配资源区域,则所述步骤c进一步包括步骤:
c1.计算该剩余资源区域是否满足事物分配的最低开销,如果不满足,则丢弃;否则判断该剩余区域是否大于下一类的事物分配区域的最小值;如果小于最小值,则记录这部分剩余区域形成节点,待事物分配完毕后反馈给相关处理模块;否则,将这部分剩余的资源区域用于分配下一类的事物;以及
c2.分配下一类的事物时,每次先比较该剩余区域是否满足该事物的需要,如果满足,则在该剩余的资源区域中为该事物分配相应的资源区域,更新剩余资源区域的大小;如果不能满足,则在为该类分配的资源区域中为该事物分配相应的资源区域。
进一步地,所述步骤c之后进一步包括以下步骤:
d.各类事物分配完毕后,将记录的需要反馈的未分配资源区域依次进行反馈,按照反馈结果直接为各个事物分配相应的剩余资源区域。
本发明具有以下有益的效果:由于先将待分配事物进行分类,并根据其占用资源划分资源区域,使得在资源分配时不会形成滞留,接口较为简单,处理时延小;同时,只需要反馈一次即可,处理相对简单,容易实现;不会在内部形成较大的浪费,资源利用率高。
附图说明
图1是IEEE802.16标准定义的下行帧格式示意图。
图2是现有方案对一个burst分配资源示意图。
图3是本发明一种带宽资源分配方法的流程图。
图4是本发明中初始未分配资源示意图。
图5是本发明中多边形资源划分示意图。
图6是本发明在矩形中为每类burst分配资源空间示意图。
图7是本发明在多边形中为每类burst分配资源空间示意图。
图8是本发明在多边形中为一个类分配的资源区域跨A、B两个区域的资源整合示意图。
图9是本发明中在每类分配的资源区域中为该类的burst分配资源区域示意图。
图10是本发明中在每类分配的资源区域中分配完该类的burst后剩余的未分配资源区域处理示意图。
具体实施方式
以下结合附图对本发明进行详细描述。
本发明用于需要在两个维度上对大小不定的事物进行资源分配的情况。下面图及描述以宽带无线接入技术WiMAX的OFDMA下行带宽资源分配为例。
本发明的核心是对需要填充到该帧的burst进行分类后,分别计算每类中burst总量的大小,并在未分配资源区域中划分出一定的区域,在每类划分的区域中依次为该类中的burst划分相应的区域。
请参照图3所示,本发明一种带宽资源分配方法的流程如下:
首先,将需要填充到该帧的burst按照大小进行分类(burst的总量不能超过资源区域的总量)。例如,按照slot数为1~50、51~100、101~200、200~300划分成四类class1~class4,分别计算每类中burst所占用的slot总量。此外,还可以按照业务类型、QoS参数要求、优先级等进行分类。
由于burst数目的不定,导致DL MAP(用于标识burst的相关信息)的不定长,未分配资源呈现两种不同的形状,如图4所示。
一种是矩形(如图4DL(1)所示),另外一种是多边形(如图4DL(2)所示)。多边形的出现是由于DL MAP的不定长导致DL MAP占用了两列甚至多列的slot,最后一列的slot只占用了起始部分的subchannel(如图4DL(2)中阴影部分所示)。为了节省带宽,充分利用资源,需要利用该列slot中剩余的未分配资源。
将多边形划分成两个未分配矩形区域A、B,如图5所示。这样对图4DL(1)中的情况作为一个未分配资源矩形区域对待,对图4DL(2)中的情况作为两个未分配资源区域A、B对待。
然后,判断未分配区域是否是规则形状:
1、如果未分配资源区域为一个规则矩形,则按照每类的slot总量划分一定的资源区域,如图6所示。经过划分区域后,为每类中的burst分配资源空间所占用的subchannel即为定值且数值较小,这样在需要占用的资源空间一定的情况下,burst所占用的slot列即为固定的,且划分的资源区域中所形成的内部浪费也会较先前的相关实现方案有了大大的降低。
2、如果未分配区域是一个多边形,即可分解成图5所示的A、B两个区域,则按照类别次序(class1~class4),依次在A、B两个资源区域中划分相应的资源区域,如图7所示。
对于图7(1)中为class2分配的区域,首先需要判断是否存在分配资源区域跨A、B两个区域的类:
1、如果是,则将在两个不同的资源区域中为同一类burst所分配的两个不同的资源区域进行整合并进行处理,如图8(1)所示。所述的处理包括先判断突出部分是否满足burst的最低开销,如果不满足,则直接丢弃,否则记录突出部分的资源区域,待分配burst完毕后反馈给相关的处理模块,这样便产生了一个规则的矩形未分配空间区域,如图8(2)所示。
2、如果没有跨A、B两个区域的类,则可以直接在划分的相应区域中将每类burst按照矩形依次填充到该区域中,这样减少了为burst划分的矩形区域中内部浪费的slot数,如图9所示。
接下来再判断为该类所分配的资源区域中是否还有剩余的资源区域:
1、如果有,例如对于图7(2)中的A区域和B区域中剩余的未分配资源区域,则记录该未分配资源区域,待分配burst完毕后反馈给相关处理模块。
然后为该类中每个burst分配相应的矩形区域。
2、如果没有,则直接为该类中每个burst分配相应的矩形区域。
然后再对产生的剩余区域进行处理:计算该剩余区域是否满足burst的最低开销,如果不满足,则丢弃;否则判断该剩余区域是否大于下一类的slot数的最小值。如果小于最小值,则记录这部分剩余区域形成节点,待分配burst完毕后反馈给相关处理模块;否则,将这部分剩余的资源区域用于分配下一类的burst。分配下一类的burst时,每次先比较该剩余区域是否满足该burst的需要,如果满足,则在该剩余的资源区域中为该burst分配相应的资源区域,更新剩余资源区域的大小;如果不能满足,则在为该类分配的资源区域中为该burst分配相应的资源区域,如图10所示。
图10中,class 1中的burst分配完毕后,产生了剩余资源区域1,如图10(1)所示。经判断,该剩余资源区域1可以满足class 2所要求的最小slot数,则在分配class 2的burst时每次先比较相应burst与该剩余资源区域1的大小,如果该剩余资源区域足以容纳该burst,则在该剩余资源区域中为该burst分配相应的资源区域,更新该剩余资源区域的大小;如果该剩余区域不能满足该burst的需要,则在为class 2分配的资源区域中为该burst分配相应的矩形资源区域,如图10(2)所示。
顺序为每类中的各个burst分配相应的资源区域,并判断该类是否是最后的一个类:
1、如果不是,则移向下一类,为该类中每个burst分配相应的矩形区域。
2、如果是,各类中的burst均分配完毕,则将产生的剩余资源区域按照上述原则进行过滤,将符合要求的剩余资源区域进行记录,待分配burst完毕后反馈给相关处理模块。然后将记录的需要反馈的未分配资源区域依次进行反馈,按照反馈结果(反馈结果中的burst按照反馈的顺序恰好可以填充到相应的未分配资源区域中)直接为各个burst分配相应的剩余资源区域。这样,需要填充到该帧的burst不会形成滞留,接口较为简单;同时,只需要反馈一次即可,处理相对简单,容易实现;不会在内部形成较大的浪费。
应当理解的是,除本实施例中提及的burst之外,只要是需要占用的资源是二维资源的事物,或者是在某个维度上需要再在另外两个维度上进行资源分配的事物,均可适用本发明。此外,对事物分类的依据包括但不限于按照事物大小、业务类型、QoS参数要求、优先级进行分类;按照某种规则的形状分配资源区域,包括但不限于按照一般矩形、正方形、具有一定长宽比例的矩形、多边形等;在每类划分的资源区域中,包括但不限于按照顺序、优先级、业务类型、大小、QoS参数要求进行分配。