一种缓存下限流控响应方法

文档序号:7766661阅读:311来源:国知局
专利名称:一种缓存下限流控响应方法
技术领域
本发明涉及通信领域,特别涉及一种缓存下限流控响应方法。
背景技术
高速下行分组接入(HSDPA)技术在基站(Node B)侧增加了高速媒体访问 (MAC-hs)实体,负责对数据的快速调度和处理,其主要功能包括无线网络控制器(RNC)与基站的接口的数据流控制、优先级队列中分组数据的缓存、分组调度和优先权处理、快速分组调度机制。基站接到从RNC来的数据后需要先缓存在MAC-hs中相应的优先级队列中,等待调度。如果基站侧的数据缓存太小,不能够满足空口数据传输,甚至数据缓存被调度空, 就会影响到用户侧的吞吐量。为了防止这种情况的发生,预先根据某个固定的值或采用某些共识计算出某个值作为基站侧缓存的数据量下限,一旦发现基站侧的缓存数据量低于该缓存下限值,则触发相应的流量控制操作,也即缓存下限流控。在专利CN200610084695. 1中提供了一种Iub 口流量控制方法当优先级队列中的数据量小于或等于缓存下限值时,基站向RNC发送一个允许下发数据的容量分配控制帧。 该专利基于引起缓存变化的事件来触发流控命令的判断,所有引起缓存变化的事件都要做出流控命令的判断,只要缓存低于下限就会触发下限流控操作,发送相应的容量分配帧。这种方法虽然能够及时地做出流控措施来弥补基站端的数据量,但是很有可能多次重复发送相同类型的流控命令,造成Iub 口容量分配帧的泛滥,频繁的容量分配帧会对Iub 口形成巨大的压力。为降低频繁发送容量分配控制帧对Iub 口的压力,专利CN200610089213. 1提出了一种Iub 口流量控制方法和装置,该专利采用周期性流控的机制,也即每隔固定时间,做一次流控命令的判断,若符合相关条件,则触发流控命令,向RNC发送容量分配控制帧来调整 Iub 口的数据速率。这种方法可以减小发送容量分配控制帧的频率,且可以减小基站侧的计算量,但是做出的流控命令往往比较滞后,不利于快速响应缓存下限。综上所述,上述专利中的缓存下限流控,在周期性下限流控机制下,不能满足及时性要求;事件性下限流控又会导致流控容量帧频繁发送。另外,上述两篇专利都仅以缓存大小作为衡量标准,没有考虑和区分实际缓存下降的原因和当前队列调度所处的状态。实际上,并不是所有的缓存下降都需要进行大幅度的缓存数据补充。如果用户正处于空口正常调度的间歇期,或仅仅由于缓存排队过久而引发排空缓存排队时间比较长数据的紧急调度,或由于缓存排队过久已处于丢包的状态,这时候缓存数据也会下降,这种情况下以当前用户所处的调度状态或用户空口传输状况而言,是不需要更多的缓存数据堆积在缓存队列中的。这时候如果仅仅以缓存的大小或增加减少来判断流控的操作,则造成误判,所以现有的缓存下限流控并不能很好的匹配实际调度需求
发明内容
有鉴于此,本发明的目的在于提供一种缓存下限流控响应方法,该方法能够匹配实际调度需求、快速响应缓存数据下降、控制缓存流控频率。为了达到上述目的,本发明提出了一种缓存下限流控响应的方法该方法预先设置缓存下限流控的优先级,进行周期性缓存下限流控判断和事件性缓存下限流控判断,包括A、缓存数据量小于缓存下限时,如果本次缓存下限流控判断是事件性缓存下限流控判断,则执行步骤B,如果本次缓存下限流控判断是周期性缓存下限流控判断,则执行步骤D;B、判断上次流控操作是否是缓存下限流控,如果是,则执行步骤C,否则,执行步骤 D ;C、判断本次缓存下限流控的优先级是否高于上次缓存下限流控的优先级,如果是,则执行步骤D ;否则,本次缓存下限流控判断结束;D、触发缓存下限流控。步骤A在执行缓存下限流控判断之前预先设置周期性缓存下限流控的周期为T子帧;步骤A所述事件性缓存下限流控判断每子帧进行一次缓存下限流控判断;步骤A所述周期性缓存下限流控判断每隔T子帧进行一次缓存下限流控判断。步骤D进一步包括保存本次流控操作为缓存下限流控,保存本次缓存下限流控所处的调度状态;步骤C中,根据缓存下限流控所处的调度状态,确定缓存下限流控的优先级。将调度算法对队列中即将被丢弃的数据分组的优先调度的调度状态记录为紧急调度;将除了紧急调度和重传调度之外调度算法对队列进行的调度的调度状态记录为正常调度;将队列中因数据分组超时导致数据分组被丢弃的队列的调度状态记录为丢包状态。预先设置缓存下限流控的优先级为正常调度状态下的缓存下限流控的优先级大于紧急调度状态和丢包状态下的缓存下限流控的优先级;紧急调度状态下缓存下限流控的优先级和丢包状态下缓存下限流控的优先级相同。步骤A在进行缓存下限流控判断之前预先设置向无线网络控制器RNC索要的数据量 B1、B2,其中 Bl < B2 ;步骤D进一步包括如果本次缓存下限流控所处的调度状态是紧急调度或丢包, 向RNC索要数据量为Bi,如果本次缓存下限流控所处的调度状态是正常调度,向RNC索要数据量为B2。步骤A在进行缓存下限流控判断之前预先设置向无线网络控制器RNC索要的数据量 B1、B2,其中 Bl < B2 ;综上所述,本发明的这种缓存下限流控响应方法采用周期性缓存下限流控和事件性缓存下限流控相结合的方式进行周期性缓存下限流控判断的同时还进行事件性缓存下限流控判断,周期性缓存下限流控判断时,如果达到缓存下限,则触发一次缓存下限流控; 事件性缓存下限流控判断时,根据预先约定缓存下限流控的调度状态的优先级,在相临两次流控操作均是缓存下限流控的情况下,如果本次缓存下限所处的调度状态优先级高于上
4次缓存下限流控所处的调度状态优先级,则触发一次缓存下限流控,因此,本发明这种周期性缓存下限流控与事件性缓存下限流控相结合的的技术方案既能够匹配实际调度需求,满足实时性,快速响应缓存数据下降,又能够控制缓存流控频率。


图1是本发明实施例实现缓存下限流控的方法示意图;
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并据实施例, 对本发明进一步详细说明。本发明的主要思想是进行周期性缓存下限流控判断的同时还进行事件性缓存下限流控判断,对周期性缓存下限流控判断,如果达到缓存下限,则触发一次缓存下限流控; 对事件性缓存下限流控判断,根据调度状态及预先设置的缓存下限流控的优先级,在上次流控是缓存下限流控的情况下,根据上次缓存下限流控的优先级和本次缓存下限的优先级确定是否触发本次缓存下限流控。本发明的技术方案首先做了以下约定1、区分调度算法中的调度类型。为了使缓存下限流控能够区分队列所处的调度状态,将调度划分为两种类型紧急调度、正常调度,其中紧急调度若队列中有数据分组即将被丢弃,则调度算法可能会优先调度这些即将被丢弃的数据分组,此时,调度算法对队列的调度为紧急调度;正常调度除了紧急调度和重传调度外,基站对某个队列的调度都属于正常调度。实际上,调度算法在为队列分配资源时,若队列缓存过少,远低于资源分配的最小资源粒度承载的数据量时,为避免浪费资源,调度算法可以选择本次调度不为该队列分配资源,等到队列的缓存积累到一定程度,至少跟资源分配时最小资源粒度可承载的数据量相当时,再为该队列分配资源,以此来提高系统的资源利用率。因此,可能会出现队列在优先级排序时,可以由调度算法调度到,但由于其缓存数据过少而没有被分配资源的情况,在进行缓存下限流控时这种情况也会被认为该队列的调度状态是正常调度。这里,重传调度实际上实际是从HARQ实体中的发送缓存中取数据,不是针对某个队列的缓存进行调度,即不会改变队列缓存量大小,因此本发明技术方案不处理这种调度, 不再赘述。2、记录缓存队列的调度状态。本发明中,需要记录队列的调度状态,也即包括当前子帧在内的最近一次发生的调度类型,这里,调度状态除了正常调度和紧急调度两种调度类型外,还有第三种情况丢包,虽然丢包不属于调度,但是由于丢包会引起缓存数据量下降,进而导致缓存数据下限, 因此将丢包作为第三种调度状态。本发明中,除了记录最近一次发生的调度状态,还需要记录用户触发每次Iub 口流控操作及流控操作所处的调度状态,将Iub 口流控操作和其所处的调度状态结合起来, 这里所述的Iub 口流控除了缓存下限流控,还包括缓存上限流控等其他的一些流控操作。调度状态实际上是用户所处的调度情况的综合反映,包括正经历的调度类型、缓存量大小程度等,是流控操作所参考的一个衡量准则,并不仅当作一个子帧时间点上的操作,所以一旦被记录则一直保持,即使用户某些子帧没有任何调度或缓存上的操作,直到被新的调度或缓存上的操作所更新,则再按照新的调度状态保持。3、缓存下限流控的优先级。前面提到了的三种调度状态正常调度、紧急调度、丢包,实际反映了用户对缓存量要求大小的一种程度。如果队列因缓存下限而触发缓存下限流控时,队列所处的调度状态为正常调度状态,则缓存下限流控所处的调度状态为正常调度状态;如果队列因缓存下限而触发缓存下限流控时,队列所处的调度状态为紧急调度状态,则缓存下限流控所处的调度状态为紧急调度,如果队列因缓存下限而触发缓存下限流控时,队列所处的调度状态为丢包状态,则缓存下限流控所处的调度状态为丢包状态。对于缓存下限时用户处于正常调度的情况,确实需要大量缓存数据的及时补充, 但是对缓存下限时用户正处于紧急调度和丢包的情况,实际上并不需要更多的缓存数据堆积在缓存中,但为了保证队列缓存不为空,且为了防止随时可能到来又无法提前预知的正常调度,也有必要进行一次缓存下限流控。因此,本发明还将根据缓存下限流控所处的调度状态,对缓存下限流控的优先级进行划分处于正常调度状态的缓存下限流控优先级高于处于紧急调度和丢包状态的缓存下限流控优先级,处于紧急调度状态的缓存下限流控的优先级和处于丢包状态的缓存下限流控的优先级相同。这里的优先级是针对一段时间内相邻两次缓存下限流控的优先级比较。只有当前一次缓存下限流控的优先级小于本次缓存下限流控的优先级时,才会触发本次缓存下限流控。这主要是因为,流控命令的发送和数据从RNC到基站再到基站中缓存积累需要一定的时间,频繁的触发不仅起不到更快补救缓存量过低的作用,而且还加重了 RNC和基站之间Iub 口的流量负担。如果缓存下限流控所处的调度状态是紧急调度状态或丢包状态,这种情况下,并不需要更多的缓存数据堆积在缓存中,因而,要求的数据比较少,只需要向RNC索要较小的数据量;而当缓存下限流控所处的调度状态是正常调度时,则说明缓存数据因为数据不足,需要补充大量数据,因此,需要向RNC索要较大的数据量。此夕卜,正常调度中,队列由于缓存量过少而未被分配资源,但此时缓存虽然没有变化,但依然处于下限以下,按照上述优先级判断准则依旧有可能触发缓存下限流控,这种情况下避免了因为没有实际缓存变化或进行调度授权而忽略掉一次正常调度的需要触发流控操作的判断,可以帮助流控机制立刻捕捉到队列需要缓存量补充的时机,缩短流控机制的响应时间。下面通过本发明的较佳实施例对本发明进行详细的说明。本发明的技术方案采用周期性缓存下限流控和事件性缓存下限流控相结合的方式。周期性缓存下限流控每隔一段时间进行一次固定的缓存下限流控判断,这里的所述的时间是以子帧为单位,所述的每隔一段时间是每隔一个固定的子帧数T,其中T是大于0的自然数,由管理人员预先设置;事件性缓存下限流控最高频率以每子帧为单位级进行一次流控的判断,根据队列缓存状况和队列所处的调度状态,队列前一次流控操作及队列前一次流控操作所对应的调度状态判断是否引发本次缓存下限流控。参见图1,图1是本发明实施例实现缓存下限流控的方法示意图,包括以下步骤
步骤101、进入缓存下限流控判断。本步骤中,每固定周期会进行一次周期性缓存下限流控判断,触发进入缓存下限流控判断,每子帧会进行一次事件性缓存下限流控判断,触发进入缓存下限流控判断,因此,本步骤进入的缓存下限流控判断可以是周期性缓存下限流控触发的,也可以是事件性缓存下限流控触发的。步骤102、判断缓存数据量是否低于缓存下限,如果是,则执行步骤102,否则,执行步骤112。本步骤中,缓存下限的值是预先确定的。步骤103、判断进入缓存下限流控判断是否由周期性缓存下限流控触发,如果是, 则执行步骤107,否则执行步骤104。周期性缓存下限流控每隔预先设置的固定子帧数进行一次缓存下限流控判断,如果缓存大小在缓存下限以下,则会触发一次缓存下限流控;而事件性缓存下限流控判断以每子帧为单位进行一次缓存下限流控判断,如果缓存大小在缓存下限以下,并不一定会触发缓存下限流控操作,还要根据队列前一次流控操作状况、队列前一次流控操作所对应的调度状态及队列当前所处的调度状态进一步确定是否触发一次缓存下限流控。步骤104、判断上次流控是否缓存下限流控,如果是,则执行步骤105,否则执行步骤 107。本步骤中,这里的所述上次流控是从当前子帧到包括上一个流控周期时间点之间的时间内发生的流控操作,流控操作可以是缓存下限流控、缓存上限流控或其他类型的流控,当进入事件性流控判断时,首先要判断上次的流控是否缓存下限流控,如果不是,则直接触发一次缓存下限流控操作,否则,还要继续判断前一次的缓存下限流控和本次缓存下限流控所处的调度状态的优先级。步骤105、判断上次缓存下限流控所处的调度状态是否是紧急调度或丢包,如果是,则执行步骤106,否则执行步骤112。本步骤中,当上次缓存下限流控所处的调度状态的优先级小于本次缓存下限所处的调度状态的优先级时,才会触发一次缓存下限流控。因此,只有上次缓存下限流控所处的调度状态是紧急调度或丢包时,才需要继续判断本次缓存下限所处的调度状态,否则,本次进入缓存下限流控判断结束。步骤106、判断本次缓存下限所处的调度状态是否是正常调度,如果是,则执行步骤107,否则,执行步骤112。步骤107、触发缓存下限流控。本步骤中,当周期性缓存下限流控判断确定缓存数据量低于缓存下限;或事件性缓存下限流控判断确定缓存数据量低于缓存下限,且上次流控不是缓存下限流控;或事件性缓存下限流控判断确定缓存数据量低于缓存下限,上次流控为缓存下限流控,且上次缓存下限流控所处调度状态的优先级小于本次缓存下限所处的调度状态的优先级时,触发缓存下限流控。步骤108、记录本次缓存下限流控及本次缓存下限流控所处的调度状态。本步骤中,记录本次流控是缓存下限流控,同时记录本次缓存下限流控所处的调度状态,用于下次缓存下限时判断是否触发缓存下限流控。
步骤109、判断本次缓存下限流控是否是紧急调度或丢包引起的,如果是,则执行步骤110,否则,执行步骤111。本步骤中,根据引起本次缓存下限流控的原因,确定本次缓存下限流控中,基站向 RNC索要的数据量。步骤110、向RNC索要较少的数据量Bi。本步骤中,紧急调度和丢包状态下引发的缓存下限流控,表明此时实际的空口速率比较小,可能是空口质量不好或调度算法导致调度频率不高或长久没有调度,而相应的 Iub 口的速率却相对比较大,所以会造成缓存数据在Node B端堆积,直到数据达到紧急状态,被调度算法紧急调度,或者数据分组超时被丢弃。这两种情况下导致队列缓存降到下限以下,并不需要更多的数据堆积在缓存中,但为保证队列缓存不为空,且为了防止随时可能到来又无法提前预知的正常调度,必须向RNC端索要一定的数据量,但该情况下索要的数据量应保持较少的水平Bi,Bl的大小由管理人员预先设定。步骤111、向RNC索要较多的数据量B2本步骤中,正常调度中正常调度状态下的缓存下限流控,表明此时实际的空口速率比较大,且相应的Iub 口的速率却比较小,所以会造成正常调度将队列中的缓存几乎全部调度算法调度走的情况,导致队列缓存降到下限以下,此时,为保证调度算法正常执行, 必须确保队列拥有足够的缓存,因此基站向RNC索要的数据量保持较高的水平B2,B2的大小由管理人员预先设定,且Bl <B2。步骤112、结束。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种缓存下限流控响应方法,其特征在于,该方法预先设置缓存下限流控的优先级, 进行周期性缓存下限流控判断和事件性缓存下限流控判断,包括A、缓存数据量小于缓存下限时,如果本次缓存下限流控判断是事件性缓存下限流控判断,则执行步骤B,如果本次缓存下限流控判断是周期性缓存下限流控判断,则执行步骤D ;B、判断上次流控操作是否是缓存下限流控,如果是,则执行步骤C,否则,执行步骤D;C、判断本次缓存下限流控的优先级是否高于上次缓存下限流控的优先级,如果是,则执行步骤D ;否则,本次缓存下限流控判断结束;D、触发缓存下限流控。
2.如权利要求1所述的缓存下限流控响应方法,其特征在于,步骤A在执行缓存下限流控判断之前预先设置周期性缓存下限流控的周期为T子帧;步骤A所述事件性缓存下限流控判断每子帧进行一次缓存下限流控判断;步骤A所述周期性缓存下限流控判断每隔T子帧进行一次缓存下限流控判断。
3.如权利要求2所述的缓存下限流控响应方法,其特征在于,步骤D进一步包括保存本次流控操作为缓存下限流控,保存本次缓存下限流控所处的调度状态;步骤C中,根据缓存下限流控所处的调度状态,确定缓存下限流控的优先级。
4.如权利要求3所述的缓存下限流控响应方法,其特征在于,将调度算法对队列中即将被丢弃的数据分组的优先调度的调度状态记录为紧急调度;将除了紧急调度和重传调度之外调度算法对队列进行的调度的调度状态记录为正常调度;将队列中因数据分组超时导致数据分组被丢弃的队列的调度状态记录为丢包状态。
5.如权利要求4所述的缓存下限流控响应方法,其特征在于,预先设置缓存下限流控的优先级为正常调度状态下的缓存下限流控的优先级大于紧急调度状态和丢包状态下的缓存下限流控的优先级;紧急调度状态下缓存下限流控的优先级和丢包状态下缓存下限流控的优先级相同。
6.如权利要求5所述的缓存下限流控响应方法,其特征在于,步骤A在进行缓存下限流控判断之前预先设置向无线网络控制器RNC索要的数据量B1、B2,其中Bl <B2 ;步骤D进一步包括如果本次缓存下限流控所处的调度状态是紧急调度或丢包,向RNC 索要数据量为Bi,如果本次缓存下限流控所处的调度状态是正常调度,向RNC索要数据量为B2。
全文摘要
本发明提供了一种缓存下限流控响应方法,该方法预先设置缓存下限流控的优先级,进行周期性缓存下限流控判断和事件性缓存下限流控判断,包括A、缓存数据量小于缓存下限时,如果本次缓存下限流控判断是事件性缓存下限流控判断,则执行步骤B,如果本次缓存下限流控判断是周期性缓存下限流控判断,则执行步骤D;B、判断上次流控操作是否是缓存下限流控,如果是,则执行步骤C,否则,执行步骤D;C、判断本次缓存下限流控的优先级是否高于上次缓存下限流控的优先级,如果是,则执行步骤D;否则,本次缓存下限流控判断结束;D、触发缓存下限流控。该方法能够匹配实际调度需求、快速响应缓存数据下降、控制缓存流控频率。
文档编号H04L12/56GK102480419SQ201010563649
公开日2012年5月30日 申请日期2010年11月24日 优先权日2010年11月24日
发明者朱颖, 王彬 申请人:普天信息技术研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1