高速下行分组数据的流量控制方法及装置转让专利

申请号 : CN200610144202.9

文献号 : CN100583720C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤志平刘威

申请人 : 上海华为技术有限公司

摘要 :

本发明公开了一种高速下行分组数据的流量控制方法,包括:在每个流量控制周期对每个用户队列进行队列带宽预分配及Iub流量成形后,计算容量分配控制帧参数;预先将先前的总的带宽分配偏差的值保存在一全局变量中,如果全局变量的值小于零则将Credits参数的计算结果进行向上取整后作为Credits的值,如果大于零则进行向下取整后作为Credits的值,如果等于零则进行向上或向下取整后作为Credits的值;计算本次带宽分配偏差作为对应的局部变量的值与全局变量的值累加后,作为全局变量的值保存。本发明还公开了一种高速下行分组数据的流量控制装置。本发明能够增强Iub口带宽的可控性,减少无效容量分配控制帧的上报。

权利要求 :

1、一种高速下行分组数据的流量控制方法,其特征在于,包括:

在每个流量控制周期,在对每个用户队列进行队列带宽预分配及Iub流量 成形后,计算该用户队列对应的容量分配控制帧中的参数;

预先将先前的总的带宽分配偏差的值保存在一全局变量中,如果所述全局 变量的值小于零则将该用户队列对应的容量分配控制帧的Credits参数的计算 结果进行向上取整后作为该Credits参数的值,如果所述全局变量的值大于零 则将该Credits参数的计算结果进行向下取整后作为该Credits参数的值,如 果所述全局变量的值等于零则将该Credits参数的计算结果进行向上或向下取 整后作为该Credits参数的值;然后计算本次带宽分配偏差并作为预设的该用 户队列对应的局部变量的值保存,将该局部变量的值与所述全局变量的值累加 后作为该全局变量的值保存;

所述带宽分配偏差为对Credits参数进行调整后计算出的带宽量值与最初 经过Inb流量成形之后分配的带宽之间的偏差值。

2、根据权利要求1所述的方法,其特征在于,在所述将该局部变量的值与 所述全局变量的值累加后作为该全局变量的值保存之后还包括:基站将该用户 队列对应的容量分配控制帧发送给无线网络控制器。

3、根据权利要求1所述的方法,其特征在于,在所述将该局部变量的值与 所述全局变量的值累加后作为该全局变量的值保存之后还包括:在当前要发送 的容量分配控制帧的参数与上次发送的容量分配控制帧的参数不同时,将当前 要发送的容量分配控制帧发送给无线网络控制器。

4、根据权利要求1所述的方法,其特征在于,在所述在每个流量控制周期 对每个用户队列进行队列带宽预分配及Iub流量成形之前还包括:对参与流量 控制的用户队列进行排序,将配置有保证比特速率的用户队列排在前面,将未 配置保证比特速率的用户队列排在后面。

5、根据权利要求1所述的方法,其特征在于,还包括在第一个流量控制周 期的初始化操作,具体包括:在第一个流量控制周期,基站对第一个用户队列 进行队列带宽预分配及Iub流量成形并计算该用户队列对应的容量分配控制帧 中的参数后,当计算出的Credits参数不是整数且该用户队列对应的业务类型 要求配置保证比特速率,则将Credits参数向上取整量化,然后计算本次带宽 分配偏差并作为该用户队列对应的局部变量的值以及所述全局变量的值保存。

6、根据权利要求1所述的方法,其特征在于,在第一个流量控制周期之后 的每个流量控制周期,基站在对第一个用户队列进行队列带宽预分配及Iub流 量成形并计算该用户队列对应的容量分配控制帧中的参数后,执行以下操作: 如果该用户队列对应的所述局部变量的值小于零则将该用户队列对应的容量分 配控制帧的Credits参数的计算结果进行向上取整后作为该Credits参数的值, 如果该用户队列对应的所述局部变量的值大于零则将该Credits参数的计算结 果进行向下取整后作为该Credits参数的值;如果该用户队列对应的所述局部 变量的值等于零则将该Credits参数的计算结果进行向上或向下取整后作为该 Credits参数的值;计算本次带宽分配偏差并作为该用户队列对应的所述局部 变量的值,将该局部变量的值与所述全局变量的值累加后作为该全局变量的值 保存。

7、根据权利要求6所述的方法,其特征在于:基站将每个用户队列分别对 应的所述局部变量保存在帧协议属性表中。

8、一种高速下行分组数据的流量控制装置,包括队列带宽预分配模块、Iub 流量成形模块、以及容量分配控制帧参数计算模块,其特征在于,还包括:全局变量保存模块,用于保存指示总的带宽分配偏差的全局变量;

参数调整模块,与容量分配控制帧参数计算模块及全局变量保存模块连接, 用于:根据所述全局变量的值对容量分配控制帧的Credits参数的计算结果进 行调整,如果所述全局变量的值小于零则将该用户队列对应的容量分配控制帧 的Credits参数的计算结果进行向上取整后作为该Credits参数的值,如果所 述全局变量的值大于零则将该Credits参数的计算结果进行向下取整后作为该 Credits参数的值,如果所述全局变量的值等于零则将该Credits参数的计算 结果进行向上或向下取整后作为该Credits参数的值;并计算本次带宽分配偏 差作为预设的该用户队列对应的局部变量的值,将该局部变量的值与所述全局 变量的值累加后作为该全局变量的值保存到所述全局变量保存模块中;

所述带宽分配偏差为对Credits参数进行调整后计算出的带宽量值与最初 经过Inb流量成形之后分配的带宽之间的偏差值。

9、根据权利要求8所述的装置,其特征在于:还包括容量分配控制帧发送 模块,与所述容量分配控制帧参数计算模块连接,用于向无线网络控制器发送 所生成的容量分配控制帧。

10、根据权利要求9所述的装置,其特征在于:所述容量分配控制帧发送 模块还包括发送预处理模块,与所述容量分配控制帧参数计算模块连接,用于: 接收容量分配控制帧参数计算模块处理完毕的容量分配控制帧,并在该容量分 配控制帧的参数与上次发送的容量分配控制帧的参数不同时将该容量分配控制 帧发送给无线网络控制器。

11、根据权利要求8所述的装置,其特征在于,还包括:排序模块,与所 述队列带宽预分配模块连接,用于对参与流量控制的用户队列进行排序,将配 置有保证比特速率的用户队列排在前面,将未配置保证比特速率的用户队列排 在后面,将排序后的队列交由所述队列带宽预分配模块依次处理。

12、根据权利要求9所述的装置,其特征在于,还包括:

局部变量保存模块,用于保存每个用户队列对应的指示带宽分配偏差的局 部变量;

初始化模块,与所述容量分配控制帧参数计算模块、全局变量保存模块、 局部变量保存模块、以及容量分配控制帧发送模块连接,用于:在第一个流量 控制周期,对第一个用户队列,在接收到容量分配控制帧参数计算模块发送的 该队列对应的容量分配控制帧的参数后,当计算出的Credits参数不是整数且 该用户队列对应的业务类型要求配置保证比特速率,则将Credits参数向上取 整量化,然后计算本次带宽分配偏差并作为该用户队列对应的局部变量的值保 存到局部变量保存模块中,以及将本次带宽分配偏差的值作为所述全局变量的 值保存到全局变量保存模块中。

13、根据权利要求12所述的装置,其特征在于:所述参数调整模块还与所 述局部变量保存模块连接,用于在计算本次带宽分配偏差并作为该用户队列对 应的所述局部变量的值后保存到局部变量保存模块中,以及所述参数调整模块 对每个流量控制周期的第一个用户队列根据该局部变量的值对所计算的 Credits参数进行调整。

14、根据权利要求12所述的装置,其特征在于:所述局部变量保存模块为 将所述局部变量保存在帧协议属性表中的局部变量保存模块。

说明书 :

技术领域

本发明涉及流量控制方法及装置,特别涉及一种高速下行分组数据的流量 控制方法及装置,属于移动通信技术领域。

背景技术

在第三代移动通信(3G)和未来增强的移动通信中,数据业务尤其是高速 下行分组数据业务(如无线Internet浏览和下载、视频点播等业务)的应用变 得越来越广泛和重要,将极大地丰富移动终端用户的生活。因此,WCDMA技术 的R5版本中引入了高速下行分组接入(high speed downlink packet access, 简称HSDPA)技术以支持高速的下行分组数据业务。
在WCDMA技术Release99版本的数据业务处理中,分组调度功能是由无线 网络控制器(Radio Network Controller,简称RNC)来完成的,这样会引入 较大的时延,不能迅速、自适应地使分组调度适应时变的无线信道的情况。而 分组调度越接近空中接口,越能快速获取信道的状态信息,从而可以根据信道 情况和衰落特性,改变调制与编码(MCS)方式,从而完成链路的自适应、快速 分组调度,减小系统的传输时延,提高网络的性能;同时可以使用户终端(User Equipment,简称UE)获得更可靠的业务和更高的数据速率,使运营商可以支 持更低的每比特费用。因此,在WCDMA技术R5版本的HSDPA技术中,采用了 WCDMA系统基站(NodeB)来完成分组调度和相应的处理。
HSDPA引入了一个新的传输信道即高速下行共享信道(High Speed Downlink Shared Channel,简称HS-DSCH)来承载数据业务,在每个传输时间间隔(TTI), 基站NodeB根据每个UE的情况,将HS-DSCH分配给一个或多个用户以完成数据 传输。
为完成HS-DSCH的数据传输和HSDPA相关物理信道的配置、分配和管理, HSDPA技术在NodeB侧增加了一个新的功能实体即高速媒介访问控制(Medium Access Control-High Speed,简称MAC-hs)实体,以完成HS-DSCH相关的MAC 子层操作,即用户间和用户内优先级处理和调度、自适应调制编码(AMC)、混 合自动重传(HARQ)、反馈信息的处理以及相应的流量控制操作等。
在NodeB中,MAC-hs实体可以划分成如下几个功能模块:分组调度和优先 级处理模块、媒介访问控制层专用信道协议数据单元(Medium Access Control Dedicated Channel Protocol Data Unit,简称MAC-d PDU)数据拼装模块、 HARQ实体、流量控制模块。
分组调度和优先级处理模块负责完成所有HSDPA用户的HS-DSCH资源管理, 包括用户优先权队列(PQ)的建立、状态的管理、数据的传输顺序(TSN)和滑 动窗口的处理等。当用户面收到FP(帧协议)帧时,FP子系统会根据其中所携 带的MAC-d子流和优先级的信息,把MAC-d PDU放到相应的PQ中去。在每个 TTI(2ms),分组调度和优先级处理模块根据HSDPA用户上行信令信道的反馈 信息,选择调度算法,计算每个用户的优先级和更新用户相应的信息,然后根 据用户的优先级决定用户的调度顺序。
根据分组调度模块的调度,MAC-d PDU数据拼装模块把该UE的PQ中的一 个或多个MAC-d PDU,组装成一个MAC-hs PDU,并在前面加上报头,以标注相 应的PQ和TSN等信息。
每个HSDPA UE对应一个HARQ实体,每个HARQ实体中可以包含最多8个 HARQ进程,每个HARQ进程和UE侧的一个HARQ进程相对应。NodeB一侧HARQ 采用多信道SAW(停等)方式运行,HARQ根据UE返回的ACK/NACK信息,决定 数据块的发送或重传,并通知物理层进行相应的处理。
流量控制模块通过管理RNC侧发送来的MAC-d PDU的数量,来避免HS-DSCH 上流量过大而造成数据拥塞的现象,这样可以减小数据传输时延和数据包的重 传。HSDPA的流量控制功能在NodeB的MAC-hs实体中实现,为调度算法服务, 它的直接目的是通过容量分配控制帧的形式指示RNC的无线链路控制(RLC) 层的MAC-d flow数据在Iub接口(NodeB与RNC之间的接口)的发送规则,使 得用户队列缓存中有足够的数据在Uu接口(UE与NodeB之间的接口)发送。
具体而言,如图1所示,RNC通过向NodeB发送容量请求控制帧来指示HSDPA 数据在RNC的存储情况,并要求NodeB回应容量分配控制帧以分配该HSDPA用 户的数据发送容量;NodeB通过容量分配控制帧告知RNC可以使用的HSDPA数 据流发送的速率以及该速率存在的时间。NodeB也可以根据自己的要求主动向 RNC发送容量请求控制帧。
NodeB发送的容量分配控制帧的格式如图2所示,其中各参数说明如下:
1、Congestion Status:拥塞状态;
2、CmCH-PI:优先级指示;
3、Maximum MAC-d PDU Length:指示RNC发送数据时允许的MAC-d PDU的 大小的最大值。其计算公式为:MAC-d Pdu Length=MAX(Pdusize1,Pdusize2,…Pdusizen);
4、HS-DSCH Credits(下文简称Credits):指示在一个有效的HS-DSCH 时间间隔(HS-DSCH Interval)内,RNC侧发送的MAC-d PDU的个数,其计算 公式为:
Hs - dschCredits = IubBw × Hs - dschInterval MAC - dPduLength
其中IubBw表示经流量成形之后的Iub接口带宽;
5、HS-DSCH Interval(下文简称Interval):指示RNC传输HS-DSCH Credits 个MAC-d PDU给NodeB可用的时间间隔。其具体的取值与设备制造商的实现机 制相关,其粒度为10ms,取值范围为[0-2550]ms;
6、HS-DSCH Repetition Period:指示连续HS-DSCH Interval的有效周期 个数;
7、Spare Extension:未使用,以后可加入新的信息支持向后兼容。
MAC-hs实体的流量控制模块通过调节NodeB的MAC-hs实体和RNC的MAC-d flow之间的流量,使其与Uu口上的空口能力相匹配,避免了Iub口上拥塞而 出现数据包丢失重传情况。MAC-hs的流控策略的好坏极大地影响着HSDPA业务 性能的高低。
现有技术中,NodeB的MAC-hs实体通过如下步骤来计算生成和发送容量分 配控制帧:
1、队列带宽预分配:根据既定原则为每个队列预先分配Iub带宽。例如可 根据各用户队列的业务类型(流业务、语音业务等)、申请业务的用户UE开户 等级等因素为每个用户队列预分配Iub带宽;
2、Iub流量成形:上述的队列带宽预分配只是单纯考虑了业务类型的各属 性,而没有考虑NodeB与RNC Iub接口上的可用Iub带宽。因此Iub流量成形 就是将各用户队列预分配带宽之和控制在可用的HSDPA Iub带宽之内,必要时 可进行带宽压缩处理;
3、容量分配控制帧生成和发送:Iub流量成形后,确定了各队列的Iub带 宽分配结果,根据一定的原则向RNC发送容量分配控制帧,现有技术中,该原 则为经流量成形之后给用户分配的带宽与前一次分配的带宽之差超过一定的比 例值β,而且容量分配控制帧中HS-DSCH Credits量化方法是:当计算出的 HS-DSCH Credits不是整数且该用户队列对应的业务类型要求配置保证比特速 率(Guarantee Bit Rate,简称GBR),则HS-DSCH Credits将向上取整量化; 如果该用户队列没有配置GBR,则HS-DSCH Credits将向下取整量化,其计算 公式为: Hs - dschCredits = IubBw × Hs - dschInterval MAC - dPduLength .
现有技术中,当RNC侧RLC层数据缓存中有待发数据时,RNC首先向NodeB 发送容量请求控制帧,希望待发的数据能尽早发送出去,NodeB接收到容量请 求控制帧后,通过上述步骤计算生成及发送容量分配控制帧。
相应地,如图3所示,现有NodeB中包括的用于高速下行分组数据的流量 控制的装置包括:队列带宽预分配模块,用于根据既定原则为每个队列预先分 配Iub带宽;Iub流量成形模块,与队列带宽预分配模块连接,用于将各用户 队列预分配带宽之和控制在可用的HSDPA Iub带宽之内;容量分配控制帧参数 计算模块,与Iub流量成形模块连接,用于按上述方法计算容量分配控制帧的 参数;容量分配控制帧发送模块,与容量分配控制帧参数计算模块连接,用于 向RNC发送生成的容量分配控制帧。
上述现有技术的不足之处在于:NodeB在上报流量分配控制帧时,对流量 分配控制帧中的、用于指示在一个HS-DSCH Interval时间间隔内RNC侧发送的 MAC-d PDU个数的参数HS-DSCH Credits做了向下取整运算(未配置GBR时), 因此会出现当HS-DSCH Credits小于某个值后,前后两次流量成形时分配的带 宽值已超过预设的比例值β,因此需上报流量分配控制帧,但由于前后两次的 Credits均为向下取整导致Credits值相同,因而发送给RNC的流量分配控制 帧参数完全相同,从而导致Iub口带宽的不可控性,增大了Iub口数据拥塞事 件发生的概率,不能最优化地使用Iub口的带宽资源,并且也导致了上报无效 的流量分配控制帧。

发明内容

本发明的目的是针对上述现有技术的不足,提供一种高速下行分组数据的 流量控制方法及装置,能够保证NodeB上报给RNC的总Iub带宽需求在可用Iub 带宽总量的范围内波动,极大地降低Iub口发生数据拥塞的概率,增强Iub口 带宽的可控性。
为实现上述第一个发明目的,本发明实施例提供了一种高速下行分组数据 的流量控制方法,包括:在每个流量控制周期,在对每个用户队列进行队列带 宽预分配及Iub流量成形后,计算该用户队列对应的容量分配控制帧中的参数 (其中Credits参数是按上文所述公式 Hs - dschCredits = IubBw × Hs - dschInterval MAC - dPduLength 计算);预先将先前的总的带宽分配偏差的值保存在一全局变量中,如果所述 全局变量的值小于零则将该用户队列对应的容量分配控制帧的Credits参数的 计算结果进行向上取整后作为该Credits参数的值,如果所述全局变量的值大 于零则将该Credits参数的计算结果进行向下取整后作为该Credits参数的值, 如果所述全局变量的值等于零则将该Credits参数的计算结果进行向上或向下 取整后作为该Credits参数的值;然后计算本次带宽分配偏差并作为预设的该 用户队列对应的局部变量的值保存,将该局部变量的值与所述全局变量的值累 加后作为该全局变量的值保存。其中所述带宽分配偏差是指根据上述方法对 Credits参数进行调整后计算出的带宽量值(AdjustIubBw)与最初经过Iub流量 成形之后分配的带宽(IubBw)之间的偏差值,其中 AdjustIubBw = MAC - dPduLength × Hs - dschCredits Hs - dschInterval .
在上述技术方案中,通过设置一个全局变量保存先前所有流量控制周期的 带宽分配偏差的总的累加值,并在现有的计算用户队列对应的容量分配控制帧 中的参数的步骤后,增设对容量分配控制帧中的Credits参数进行调整的操作, 根据该全局变量的值与零比较的结果来决定对Credits参数的计算结果进行向 上或向下调整。其中,如果该全局变量的值等于零,则如果为了充分保证Iub 口带宽分配不超出实际带宽,则应将Credits参数的计算结果进行向下取整, 如果为了充分利用Iub口的带宽,则应将Credits参数的计算结果进行向上取 整。如上文所述,Credits参数是用于指示在一个有效的HS-DSCH时间间隔 (HS-DSCH Interval)内,RNC侧发送的MAC-d PDU的个数,现有技术中对HS-DSCH Credits的计算结果做了向下取整运算。而在上述技术方案中,根据先前累加 的总的带宽分配偏差值来决定对Credits的计算结果进行向上或向下取整,从 而能够将先前的带宽分配偏差作为本次带宽分配的基准,有效地对本次 Credits计算结果进行调整,避免了现有技术中始终对Credits进行向下取整 而未考虑先前带宽分配偏差所导致的Iub口带宽分配的不可控性,控制了Iub 口带宽的合理分配,降低了Iub口发生数据拥塞的概率,提高了系统整体的服 务质量。
为实现上述发明目的,本发明实施例还提供了一种高速下行分组数据的流 量控制装置,包括队列带宽预分配模块、Iub流量成形模块、以及容量分配控 制帧参数计算模块,还包括:全局变量保存模块,用于保存指示总的带宽分配 偏差的全局变量;参数调整模块,与容量分配控制帧参数计算模块及全局变量 保存模块连接,用于:根据所述全局变量的值对容量分配控制帧的Credits参 数的计算结果进行调整,如果该全局变量的值小于零则将Credits参数的计算 结果进行向上取整后作为该Credits参数的值,如果不小于零则将Credits参 数的计算结果进行向下取整后作为该Credits参数的值;并计算本次带宽分配 偏差作为预设的该用户队列对应的局部变量的值,将该局部变量的值与所述全 局变量的值累加后作为该全局变量的值保存到所述全局变量保存模块中。
在上述技术方案中,通过在现有基站中的流量控制装置中增设全局变量保 存模块以保存所述用于指示总的带宽分配偏差的全局变量,并增设参数调整模 块用于根据所述全局变量的值对容量分配控制帧的Credits参数的计算结果进 行调整,从而通过累加先前带宽分配偏差的值来指导本次带宽分配,并通过向 上或向下取整的选择来对本次带宽分配进行调整,避免了现有技术中始终对 Credits进行向下取整而未考虑先前带宽分配偏差所导致的Iub口带宽分配的 不可控性,控制了Iub口带宽的合理分配,降低了Iub口发生数据拥塞的概率, 提高了系统整体的服务质量。
综上所述,本发明实施例通过设置一个全局变量保存先前所有流量控制周 期的带宽分配偏差的总的累加值,并在现有的计算用户队列对应的容量分配控 制帧中的参数的步骤后,增设对容量分配控制帧中的Credits参数进行调整的 操作,根据该全局变量的值是否小于零来决定对Credits参数的计算结果进行 向上或向下调整,能够达到保证NodeB上报给RNC的总Iub带宽需求在可用Iub 带宽总量的范围内波动,极大地降低Iub口发生数据拥塞的概率,增强Iub口 带宽的可控性的有益技术效果。

附图说明

图1为现有NodeB与RNC间下行数据流量控制方式的消息示意图;
图2为容量分配控制帧的格式示意图;
图3为现有NodeB中用于高速下行分组数据流量控制的装置结构示意图;
图4为本发明高速下行分组数据的流量控制方法的原理示意图;
图5为本发明高速下行分组数据的流量控制方法实施例一的流程示意图;
图6为本发明高速下行分组数据的流量控制方法实施例二的流程示意图;
图7为本发明高速下行分组数据的流量控制方法实施例三的流程示意图;
图8为本发明高速下行分组数据的流量控制方法实施例四的流程示意图;
图9为本发明高速下行分组数据的流量控制方法实施例五的流程示意图;
图10为本发明高速下行分组数据的流量控制方法实施例六的流程示意图;
图11为本发明高速下行分组数据的流量控制装置的原理示意图;
图12为本发明高速下行分组数据的流量控制装置实施例一的结构示意图;
图13为本发明高速下行分组数据的流量控制装置实施例二的结构示意图;
图14为本发明高速下行分组数据的流量控制装置实施例三的结构示意图;
图15为本发明高速下行分组数据的流量控制装置实施例四的结构示意图;
图16为本发明高速下行分组数据的流量控制装置实施例五的结构示意图;
图17为本发明高速下行分组数据的流量控制装置实施例六的结构示意图。

具体实施方式

下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明的基本构思是:针对现有技术中NodeB在上报流量分配控制帧时, 对流量分配控制帧中指示在一个HS-DSCH Interval时间间隔内RNC侧发送的 MAC-d PDU个数的参数HS-DSCH Credits的计算结果始终做向下取整运算(未 配置GBR时),因此导致Iub口带宽的不可控性,增大了Iub口数据拥塞事件 发生的概率,不能最优化地使用Iub口的带宽资源的缺陷,在NodeB中设置一 个全局变量保存先前所有流量控制周期的带宽分配偏差的总的累加值,并在现 有的计算用户队列对应的容量分配控制帧中的参数的步骤后,增设对容量分配 控制帧中的Credits参数进行调整的操作,根据该全局变量的值是否小于零来 决定对Credits参数的计算结果进行向上或向下调整,从而能够将先前的带宽 分配偏差作为本次带宽分配的基准,有效地对本次Credits计算结果进行调整, 避免了现有技术中始终对Credits进行向下取整而未考虑先前带宽分配偏差所 导致的Iub口带宽分配的不可控性,控制Iub口带宽的合理分配,降低Iub口 发生数据拥塞的概率。其中,如果该全局变量的值等于零,则如果为了充分保 证Iub口带宽分配不超出实际带宽,则应将Credits参数的计算结果进行向下 取整,如果为了充分利用Iub口的带宽,则应将Credits参数的计算结果进行 向上取整。
进一步地,针对现有技术中当HS-DSCH Credits小于某个值后,·前后两次 流量成形时分配的带宽值已超过预设的比例值β,但前后两次的Credits均为 向下取整导致Credits值相同,因而发送给RNC的流量分配控制帧参数完全相 同,从而导致上报无效的流量分配控制帧的缺陷,在NodeB上报容量分配控制 帧之前还可先判断当前要发送的容量分配控制帧的参数与上次发送的容量分配 控制帧的参数是否相同,在容量分配控制帧中的HS-DSCH Credits参数改变时 才向RNC上报,从而避免现有技术中上报无效的容量分配控制帧的缺陷,减少 无效的带宽分配控制帧的上报频度,降低对传输层传输资源的浪费。
基于上述发明构思,本发明实施例提供了一种高速下行分组数据的流量控 制方法,如图4所示,包括:在每个流量控制周期,在对每个用户队列进行队 列带宽预分配及Iub流量成形后,计算该用户队列对应的容量分配控制帧中的 参数;预先将先前的总的带宽分配偏差的值保存在一全局变量中,如果所述全 局变量的值小于零则将该用户队列对应的容量分配控制帧的Credits参数的计 算结果进行向上取整后作为该Credits参数的值,如果所述全局变量的值大于 零则将该Credits参数的计算结果进行向下取整后作为该Credits参数的值, 如果所述全局变量的值等于零则将该Credits参数的计算结果进行向上或向下 取整后作为该Credits参数的值;然后计算本次带宽分配偏差并作为预设的该 用户队列对应的局部变量的值保存,将该局部变量的值与所述全局变量的值累 加后作为该全局变量的值保存。
优选地,在所述将该局部变量的值与所述全局变量的值累加后作为该全局 变量的值保存之后还可包括:基站将该用户队列对应的容量分配控制帧发送给 无线网络控制器。
为了克服现有技术中上报无效的流量分配控制帧的缺陷,减少无效的带宽 分配控制帧的上报频度,降低对传输层传输资源的浪费,在所述将该局部变量 的值与所述全局变量的值累加后作为该全局变量的值保存之后还可包括以下操 作:基站在当前要发送的容量分配控制帧的参数与上次发送的容量分配控制帧 的参数相同时,将当前要发送的容量分配控制帧发送给无线网络控制器。通过 增设上述操作,在容量分配控制帧中的HS-DSCH Credits参数改变时才向RNC 上报,从而避免了现有技术中上报无效的容量分配控制帧的缺陷。
优选地,为了尽量使配置了保证比特速率(GBR)的用户队列的Iub带宽优 先得到保证,在所述在每个流量控制周期对每个用户队列进行队列带宽预分配 及Iub流量成形之前还可包括:对参与流量控制的用户队列进行排序,将配置 有GBR的用户队列排在前面,将未配置GBR的用户队列排在后面。从而使配置 有GBR的用户队列优先得到Iub带宽的保证;而未配置GBR的用户队列所需要 的Iub带宽将尽量得到保证。
所述记录总的带宽分配偏差的全局变量在第一次使用时需要进行初始化操 作,即在所述在每个流量控制周期对每个用户队列进行队列带宽预分配及Iub 流量成形之前,还可包括在第一个流量控制周期的初始化操作,具体包括:在 第一个流量控制周期,对第一个用户队列进行队列带宽预分配及Iub流量成形 并计算该用户队列对应的容量分配控制帧中的参数后,计算本次带宽分配偏差 并作为该用户队列对应的局部变量的值以及所述全局变量的值保存。通过上述 操作初始化所述全局变量的值,并保存了所述第一个用户队列对应的用于记录 本次带宽分配偏差的局部变量的值。
由于不好控制所述全局变量的正负,有可能在每个流量控制周期对第一个 配置了GBR的用户队列对应的Credits参数进行调整时总是向上调整。因此, 为了保证每个流量控制周期的第一个GBR用户队列对应的Credits参数不至于 每次都向上量化,因此对Credits参数的调整还可进一步地进行优化,即在第 一个流量控制周期之后的每个流量控制周期,基站在对所述第一个用户队列(即 配置了GBR的用户队列)进行队列带宽预分配及Iub流量成形并计算该用户队 列对应的容量分配控制帧中的参数后,可执行以下操作:如果该用户队列对应 的所述局部变量的值小于零则将该用户队列对应的容量分配控制帧的Credits 参数的计算结果进行向上取整后作为该Credits参数的值,如果该用户队列对 应的所述局部变量的值大于零则将该Credits参数的计算结果进行向下取整后 作为该Credits参数的值;如果该用户队列对应的所述局部变量的值等于零则 将该Credits参数的计算结果进行向上或向下取整后作为该Credits参数的值; 计算本次带宽分配偏差并作为该用户队列对应的所述局部变量的值,将该局部 变量的值与所述全局变量的值累加后作为该全局变量的值保存。其中,如果该 局部变量的值等于零,则如果为了充分保证Iub口带宽分配不超出实际带宽, 则应将Credits参数的计算结果进行向下取整,如果为了充分利用Iub口的带 宽,则应将Credits参数的计算结果进行向上取整。
通过上述操作,对每个流量控制周期中的所述第一个用户队列,根据该用 户队列对应的记录了上次带宽分配偏差值的局部变量来调整本次Credits参数 的值,从而能够根据本用户队列先前带宽分配的偏差对本用户队列此次带宽分 配进行微调。通过总体用户队列根据全局变量调整Credits参数以及部分用户 队列根据局部变量调整Credits参数的有机结合,进一步地优化了Iub口带宽 的分配,大大降低了Iub口带宽分配的不可控性。
优选地,可将每个用户队列分别对应的所述局部变量保存在帧协议(FP) 属性表中。
参见图5所示的本发明高速下行分组数据的流量控制方法的实施例一的流 程示意图,该流程示意图为在每个流量控制周期内每个用户队列对应的处理流 程示意图,基站在每个流量控制周期对每个用户队列,首先在步骤101中进行 队列带宽预分配及Iub流量成形后,计算该用户队列对应的容量分配控制帧中 的参数;然后在步骤102中判断预先保存的、用于指示总的带宽分配偏差的全 局变量的值是否小于零(下文中可将该全局变量记为SumIubDelta),是则执 行步骤103即将该用户队列对应的容量分配控制帧的Credits参数的计算结果 进行向上取整后作为该Credits参数的值,然后执行步骤105;否则执行步骤 104即将该Credits参数的计算结果进行向下取整后作为该Credits参数的值, 然后执行步骤105;在步骤105中,计算本次带宽分配偏差并作为预设的该用 户队列对应的局部变量(下文可记为UserDelta)的值保存;在步骤106中, 将该局部变量的值与所述全局变量的值累加后作为该全局变量的值保存;最后 在步骤107中,基站将该用户队列对应的容量分配控制帧发送给无线网络控制 器。其中所述带宽分配偏差是指Credits的计算结果(即公式 Hs - dschCredits = IubBw × Hs - dschInterval MAC - dPduLength 的计算结果)与其根据上述方法对 Credits参数进行调整后所得的值之间的偏差值。
上述实施例一中对Credita参数的调整方法用公式表述即为:

其中,如上文所述,IubBw指示经流量成形之后的Iub接口带宽,Interval RNC传输HS-DSCH Credits个MAC-d PDU给NodeB可用的时间间隔,MAC-d PDU Length指示RNC发送数据时允许的MAC-d PDU的大小的最大值,上述参数均为 计算获得的容量分配控制帧的参数。所述全局变量记为SumIubDelta,局部变 量记为UserDelta,则步骤106用公式表述即为:
SumIubDelta=SumIubDelta+UserDelta
在上述实施例一中,通过设置一个全局变量保存先前所有流量控制周期的 带宽分配偏差的总的累加值,并在现有的计算用户队列对应的容量分配控制帧 中的参数的步骤后,增设对容量分配控制帧中的Credits参数进行调整的操作, 根据该全局变量的值是否小于零来决定对Credits参数的计算结果进行向上或 向下调整。如上文所述,Credits参数是用于指示在一个有效的HS-DSCH时间 间隔(HS-DSCH Interval)内,RNC侧发送的MAC-d PDU的个数,现有技术中 对HS-DSCH Credits的计算结果做了向下取整运算。而在上述实施例一中,根 据先前累加的总的带宽分配偏差值来决定对Credits的计算结果进行向上或向 下取整,从而能够将先前的带宽分配偏差作为本次带宽分配的基准,有效地对 本次Credits计算结果进行调整,避免了现有技术中始终对Credits进行向下 取整而未考虑先前带宽分配偏差所导致的Iub口带宽分配的不可控性,控制了 Iub口带宽的合理分配,降低了Iub口发生数据拥塞的概率,提高了系统整体 的服务质量。
进一步地,为了克服现有技术中上报无效的流量分配控制帧的缺陷,在本 发明高速下行分组数据的流量控制方法的实施例二中,如图6所示,与上述实 施例一的区别在于,在步骤107之前还包括以下操作:在步骤107a中基站判断 当前要发送的容量分配控制帧的参数与上次发送的容量分配控制帧的参数是否 相同,是则结束,否则执行步骤107。本实施例二通过在容量分配控制帧中的 HS-DSCH Credits参数改变时才向RNC上报,从而避免了现有技术中上报无效 的容量分配控制帧的缺陷,减少了无效的带宽分配控制帧的上报频度,降低了 对传输层传输资源的浪费。
进一步地,为了对上述实施例一中提供的全局变量进行初始化,在本发明 高速下行分组数据的流量控制方法的实施例三中,如图7所示,与上述实施例 一的区别在于,在步骤101之前还包括以下操作:在步骤100中对参与流量控 制的用户队列进行排序,将配置有保证比特速率的用户队列排在前面,将未配 置GBR的用户队列排在后面;在步骤100a中,在第一个流量控制周期,基站对 第一个用户队列进行队列带宽预分配及Iub流量成形并计算该用户队列对应的 容量分配控制帧中的参数;然后在步骤100b中,计算本次带宽分配偏差并作为 该用户队列对应的局部变量的值以及所述全局变量的值保存;在步骤100c中, 将该用户队列对应的容量分配控制帧发送给无线网络控制器;然后对于剩余的 用户队列以及后续流量控制周期的队列执行步骤101。
在本实施例三中,对第一个流量控制周期中剩余的每个用户队列,基站对 该用户队列进行队列带宽预分配及Iub流量成形并计算该用户队列对应的容量 分配控制帧中的参数后,判断所述全局变量的值是否小于零,是则将该用户队 列对应的容量分配控制帧的Credits参数的计算结果进行向上取整后作为该 Credits参数的值,否则将该Credits参数的计算结果进行向下取整后作为该 Credits参数的值;计算本次带宽分配偏差并作为该用户队列对应的局部变量 的值保存,将该局部变量的值与所述全局变量的值累加后作为该全局变量的值 保存,然后将该用户队列对应的容量分配控制帧发送给无线网络控制器后结束。
为了尽量使配置了保证比特速率(GBR)的用户队列的Iub带宽优先得到保 证,在本实施例三中,在每个流量控制周期对每个用户队列进行队列带宽预分 配及Iub流量成形之前包括了对用户队列进行排序的操作,具体包括:对参与 流量控制的用户队列进行排序,将配置有GBR的用户队列排在前面,将未配置 GBR的用户队列排在后面。从而使配置有GBR的用户队列优先得到Iub带宽的 保证;而未配置GBR的用户队列所需要的Iub带宽将尽量得到保证。
同样地,为了对上述实施例二中提供的全局变量进行初始化,参见图8所 示的本发明高速下行分组数据的流量控制方法的实施例四的流程示意图,与上 述实施例二的区别在于,在步骤101之前还包括以下操作:在步骤100a中,在 第一个流量控制周期,基站对第一个用户队列进行队列带宽预分配及Iub流量 成形并计算该用户队列对应的容量分配控制帧中的参数;然后在步骤100b中, 计算本次带宽分配偏差并作为该用户队列对应的局部变量的值以及所述全局变 量的值保存;在步骤100c中,将该用户队列对应的容量分配控制帧发送给无线 网络控制器;然后对于剩余的用户队列以及后续流量控制周期的队列执行步骤 101。
由于不好控制所述全局变量的正负,有可能在每个流量控制周期对第一个 配置了GBR的用户队列对应的Credits参数进行调整时总是向上调整。因此, 为了保证每个流量控制周期的第一个GBR用户队列对应的Credits参数不至于 每次都向上量化,上述技术方案中对Credits参数的调整还可进一步地进行优 化,参见图9所示的本发明高速下行分组数据的流量控制方法的实施例五的流 程示意图,与上述实施例三的区别在于,在初始化操作完毕即执行步骤100c 之后,对后续的每个流量控制周期中的用户队列,在执行步骤101之后,还执 行以下操作:在步骤101a中,判断要处理的用户队列是否是步骤100中排列后 的第一个用户队列,否则执行步骤102,是则执行步骤101b即判断该用户队列 对应的所述局部变量(记为UserDelta)的值是否小于零,是则执行步骤101c 即将该用户队列对应的容量分配控制帧的Credits参数的计算结果进行向上取 整后作为该Credits参数的值后执行步骤105,否则执行步骤101d即将该 Credits参数的计算结果进行向下取整后作为该Credits参数的值后执行步骤 105。上述操作用公式表述即为:

上述实施例五中,通过对每个流量控制周期中的所述第一个用户队列(配 置了GBR),根据该用户队列对应的记录了上次带宽分配偏差值的局部变量来 调整本次Credits参数的值,从而能够保证每个流量控制周期的第一个GBR用 户队列对应的Credits参数不至于每次都向上量化。
同样地,为了进一步优化实施例四中对Credits参数的调整操作,参见图 10所示的本发明高速下行分组数据的流量控制方法的实施例六的流程示意图, 与上述实施例四的区别在于,在初始化操作完毕即执行步骤100c之后,对后续 的每个流量控制周期中的用户队列,在执行步骤101之后,还执行以下操作: 在步骤101a中,判断要处理的用户队列是否是所述第一个用户队列,否则执行 步骤102,是则执行步骤101b即判断该用户队列对应的所述局部变量的值是否 小于零,是则执行步骤101c即将该用户队列对应的容量分配控制帧的Credits 参数的计算结果进行向上取整后作为该Credits参数的值后执行步骤105,否 则执行步骤101d即将该Credits参数的计算结果进行向下取整后作为该 Credits参数的值后执行步骤105。
基于上述发明构思,本发明实施例还提供了一种高速下行分组数据的流量 控制装置,包括队列带宽预分配模块、Iub流量成形模块、以及容量分配控制 帧参数计算模块,还包括:全局变量保存模块,用于保存指示总的带宽分配偏 差的全局变量;参数调整模块,与容量分配控制帧参数计算模块及全局变量保 存模块连接,用于:根据所述全局变量的值对容量分配控制帧的Credits参数 的计算结果进行调整,如果该全局变量的值小于零则将Credits参数的计算结 果进行向上取整后作为该Credits参数的值,如果不小于零则将Credits参数 的计算结果进行向下取整后作为该Credits参数的值;并计算本次带宽分配偏 差作为预设的该用户队列对应的局部变量的值,将该局部变量的值与所述全局 变量的值累加后作为该全局变量的值保存到所述全局变量保存模块中。
优选地,为了克服现有技术中上报无效的流量分配控制帧的缺陷,减少无 效的带宽分配控制帧的上报频度,降低对传输层传输资源的浪费,所述容量分 配控制帧发送模块还可包括发送预处理模块,与所述容量分配控制帧参数计算 模块连接,用于:接收容量分配控制帧参数计算模块处理完毕的容量分配控制 帧,并判断该容量分配控制帧的参数与上次发送的容量分配控制帧的参数是否 相同,是则丢弃该容量分配控制帧,否则将该容量分配控制帧发送给无线网络 控制器。通过增设发送预处理模块,在容量分配控制帧中的HS-DSCH Credits 参数改变时才向RNC上报,从而避免了现有技术中上报无效的容量分配控制帧 的缺陷。
为了对所述记录总的带宽分配偏差的全局变量在第一次使用时进行初始化 操作,上述高速下行分组数据的流量控制装置中还可包括:局部变量保存模块, 用于保存每个用户队列对应的指示带宽分配偏差的局部变量;初始化模块,与 所述容量分配控制帧参数计算模块、全局变量保存模块、局部变量保存模块、 以及容量分配控制帧发送模块连接,用于:在第一个流量控制周期,对第一个 用户队列,在接收到容量分配控制帧参数计算模块发送的该队列对应的容量分 配控制帧的参数后,当计算出的Credits参数不是整数且该用户队列对应的业 务类型要求配置保证比特速率,则将Credits参数向上取整量化,然后计算本 次带宽分配偏差并作为该用户队列对应的局部变量的值保存到局部变量保存模 块中,以及将本次带宽分配偏差的值作为所述全局变量的值保存到全局变量保 存模块中,并将该容量分配控制帧经由容量分配控制帧发送模块发送给无线网 络控制器。
此外,为了实现对每个流量控制周期的第一个用户队列根据该用户队列对 应的指示上次带宽分配偏差的局部变量进行调整,上述装置中的所述参数调整 模块还可与所述局部变量保存模块连接,用于在计算本次带宽分配偏差并作为 该用户队列对应的所述局部变量的值后保存到局部变量保存模块中,以及所述 参数调整模块对每个流量控制周期的第一个用户队列根据该局部变量的值对所 计算的Credits参数进行调整。所述局部变量保存模块可为将所述局部变量保 存在帧协议属性表中的局部变量保存模块。
参见图12所示的本发明高速下行分组数据的流量控制装置的实施例一的 结构示意图,该装置包括队列带宽预分配模块1,用于根据既定原则为每个队 列预先分配Iub带宽;Iub流量成形模块2,与队列带宽预分配模块1连接,用 于将各用户队列预分配带宽之和控制在可用的HSDPA Iub带宽之内;容量分配 控制帧参数计算模块3,与Iub流量成形模块2连接,用于按上述方法计算容 量分配控制帧的参数;容量分配控制帧发送模块4,与容量分配控制帧参数计 算模块3连接,用于向RNC发送生成的容量分配控制帧;全局变量保存模块5, 用于保存指示总的带宽分配偏差的全局变量;参数调整模块6,与容量分配控 制帧参数计算模块3及全局变量保存模块5连接,用于:根据所述全局变量的 值对容量分配控制帧的Credits参数的计算结果进行调整,如果该全局变量的 值小于零则将Credits参数的计算结果进行向上取整后作为该Credits参数的 值,如果不小于零则将Credits参数的计算结果进行向下取整后作为该Credits 参数的值;并计算本次带宽分配偏差作为预设的该用户队列对应的局部变量的 值,将该局部变量的值与所述全局变量的值累加后作为该全局变量的值保存到 全局变量保存模块5中。
在本实施例一中,通过在现有基站中的流量控制装置中增设全局变量保存 模块以保存所述用于指示总的带宽分配偏差的全局变量,并增设参数调整模块 用于根据所述全局变量的值对容量分配控制帧的Credits参数的计算结果进行 调整,从而通过累加先前带宽分配偏差的值来指导本次带宽分配,并通过向上 或向下取整的选择来对本次带宽分配进行调整,避免了现有技术中始终对 Credits进行向下取整而未考虑先前带宽分配偏差所导致的Iub口带宽分配的 不可控性,控制了Iub口带宽的合理分配,降低了Iub口发生数据拥塞的概率, 提高了系统整体的服务质量。
进一步地,为了克服现有技术中上报无效的流量分配控制帧的缺陷,如图 13所示,在本发明高速下行分组数据的流量控制装置实施例二中,与本发明高 速下行分组数据的流量控制装置实施例一的区别在于:容量分配控制帧发送模 块4还包括发送预处理模块4′,与容量分配控制帧参数计算模块3连接,用 于:接收容量分配控制帧参数计算模块3处理完毕的容量分配控制帧,并判断 该容量分配控制帧的参数与上次发送的容量分配控制帧的参数是否相同,是则 丢弃该容量分配控制帧,否则将该容量分配控制帧发送给无线网络控制器。
如图14所示,在本发明高速下行分组数据的流量控制装置实施例三中,与 本发明高速下行分组数据的流量控制装置实施例一的区别在于该装置还包括局 部变量保存模块7,用于保存每个用户队列对应的指示带宽分配偏差的局部变 量;初始化模块8,与容量分配控制帧参数计算模块3、全局变量保存模块5、 局部变量保存模块7、以及容量分配控制帧发送模块4连接,用于:在第一个 流量控制周期,对第一个用户队列,在接收到容量分配控制帧参数计算模块3 发送的该队列对应的容量分配控制帧的参数后,计算本次带宽分配偏差并作为 该用户队列对应的局部变量的值保存到局部变量保存模块7中,以及将本次带 宽分配偏差的值作为所述全局变量的值保存到全局变量保存模块5中,然后将 该容量分配控制帧经由容量分配控制帧发送模块4发送给无线网络控制器。
同样地,参见图15所示的本发明高速下行分组数据的流量控制装置实施例 四的结构示意图,与本发明高速下行分组数据的流量控制装置实施例二的区别 在于该装置还包括局部变量保存模块7,用于保存每个用户队列对应的指示带 宽分配偏差的局部变量;初始化模块8,与容量分配控制帧参数计算模块3、全 局变量保存模块5、局部变量保存模块7、以及容量分配控制帧发送模块4连接, 用于:在第一个流量控制周期,对第一个用户队列,在接收到容量分配控制帧 参数计算模块发送的该队列对应的容量分配控制帧的参数后,当计算出的 Credits参数不是整数且该用户队列对应的业务类型要求配置保证比特速率, 则将Credits参数向上取整量化,然后计算本次带宽分配偏差并作为该用户队 列对应的局部变量的值保存到局部变量保存模块中,以及将本次带宽分配偏差 的值作为所述全局变量的值保存到全局变量保存模块中,并将该容量分配控制 帧经由容量分配控制帧发送模块发送给无线网络控制器。
为了实现对本发明高速下行分组数据的流量控制装置实施例三中每个流量 控制周期的第一个用户队列根据该用户队列对应的指示上次带宽分配偏差的局 部变量进行调整,参见图16所示的本发明高速下行分组数据的流量控制装置实 施例五的结构示意图,与本发明高速下行分组数据的流量控制装置实施例三的 区别在于,参数调整模块6还与局部变量保存模块7连接,用于在计算本次带 宽分配偏差并作为该用户队列对应的所述局部变量的值后保存到局部变量保存 模块7中。
同样地,为了实现对本发明高速下行分组数据的流量控制装置实施例四中 每个流量控制周期的第一个用户队列根据该用户队列对应的指示上次带宽分配 偏差的局部变量进行调整,参见图17所示的本发明高速下行分组数据的流量控 制装置实施例六的结构示意图,与本发明高速下行分组数据的流量控制装置实 施例四的区别在于,参数调整模块6还与局部变量保存模块7连接,用于在计 算本次带宽分配偏差并作为该用户队列对应的所述局部变量的值后保存到局部 变量保存模块7中,以及参数调整模块6对每个流量控制周期的第一个用户队 列根据该局部变量的值对所计算的Credits参数进行调整。
以上实施例仅用以说明本发明的技术方案,而非对本发明作限制性理解。尽 管参照上述较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当 理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这种修改或 者等同替换并不脱离本发明技术方案的精神和范围。