发明内容
本申请提供了高速上行链路分组接入中的资源分配方法及基站,以解决UE在为重传进程做E-TFC选择时在大部分情况下失败,进而导致业务速率降低的问题。
为了解决上述问题,本申请公开了高速上行链路分组接入中的资源分配方法,包括:
遍历终端的重传进程,获取当前重传进程的传输数据块大小;
将所述重传进程在初传数据时的时隙数目作为当前的最大时隙数目Ntsk;
从时隙数目为Ntsk的剩余资源块中查找承载数据量最大的资源块作为当前的最大资源块;
计算所述最大资源块的实际承载数据量;
当所述最大资源块的实际承载数据量大于所述重传进程的传输数据块大小时,确定为所述重传进程分配的时隙数目为Ntsk,并根据所述最大资源块的实际承载数据量调整扩频因子,根据调整后的扩频因子确定为所述重传进程分配的码道资源。
优选的,所述方法还包括:将所述最大时隙数目Ntsk与信道配置的剩余时隙数目进行比较,当所述最大时隙数目Ntsk小于等于信道配置的剩余时隙数目时,从时隙数目为Ntsk的剩余资源块中查找承载数据量最大的资源块作为当前的最大资源块。
优选的,所述方法还包括:当所述最大时隙数目Ntsk大于信道配置的剩余时隙数目时,遍历其余的重传进程并进行资源分配,若所有的重传进程遍历完,则遍历终端的新进程。
优选的,所述方法还包括:当所述最大资源块的实际承载数据量小于等于所述重传进程的传输数据块大小时,遍历其余的重传进程并进行资源分配,若所有的重传进程遍历完,则遍历终端的新进程。
优选的,所述方法还包括:当剩余资源块中没有时隙数目为Ntsk的资源块时,遍历其余的重传进程并进行资源分配,若所有的重传进程遍历完,则 遍历终端的新进程。
优选的,所述方法还包括:遍历终端的新进程,判断新进程中是否有空闲的新进程,如果有,则遍历所述空闲的新进程并进行资源分配;如果否,则结束资源分配。
优选的,所述判断新进程中是否有空闲的新进程,包括:记录终端前m个子帧调度的新进程的个数x;将终端最多可调度的进程总数n减去所述子帧调度的新进程的个数x,再减去所有的重传进程数,得到空闲的新进程数;其中,m、x和n均大于等于0,并且n=m+1;如果所述空闲的新进程数大于0,则表示有空闲的新进程;否则,表示没有空闲的新进程。
优选的,所述从时隙数目为Ntsk的剩余资源块中查找承载数据量最大的资源块作为当前的最大资源块,包括:从时隙数目为Ntsk的资源块中查找码道数目最多的资源块作为承载数据量最大的资源块,并将该资源块作为当前的最大资源块。
优选的,所述遍历空闲的新进程并进行资源分配,包括:遍历空闲的新进程,获取当前新进程的传输数据块大小,并确定所述新进程的最大时隙数目和最大资源块;计算所述新进程的最大资源块的实际承载数据量;当所述最大资源块的实际承载数据量大于所述新进程的传输数据块大小时,根据所述新进程的传输数据块大小、最大时隙数目和最大资源块的实际承载数据量,计算为所述新进程分配的时隙数目,并根据扩频因子确定为所述新进程分配的码道资源;当所述最大资源块的实际承载数据量小于等于所述新进程的传输数据块大小时,将所述新进程的最大时隙数目全部分配给所述新进程,并根据扩频因子确定为所述新进程分配的码道资源。
优选的,所述确定新进程的最大时隙数目和最大资源块,包括:将信道配置的时隙数目与终端能力支持的时隙数据的较小值作为所述新进程的最大时隙数目;将剩余资源块中承载数据量最大的资源块作为所述新进程的最大资源块。
本申请还提供了用于高速上行链路分组接入中的资源分配的基站,所述基站包括资源分配模块,所述资源分配模块包括:
传输数据块大小获取单元,用于遍历终端的重传进程,获取当前重传进程的传输数据块大小;
最大时隙数目确定单元,用于将所述重传进程在初传数据时的时隙数目作为当前的最大时隙数目Ntsk;
最大资源块确定单元,用于从时隙数目为Ntsk的剩余资源块中查找承载数据量最大的资源块作为当前的最大资源块;
承载数据量计算单元,用于计算所述最大资源块的实际承载数据量;
资源分配单元,用于当所述最大资源块的实际承载数据量大于所述重传进程的传输数据块大小时,确定为所述重传进程分配的时隙数目为Ntsk,并根据所述最大资源块的实际承载数据量调整扩频因子,根据调整后的扩频因子确定为所述重传进程分配的码道资源。
优选的,所述资源分配模块还包括:比较单元,用于将所述最大时隙数目Ntsk与信道配置的剩余时隙数目进行比较,当所述最大时隙数目Ntsk小于等于信道配置的剩余时隙数目时,触发所述最大资源块确定单元从时隙数目为Ntsk的剩余资源块中查找承载数据量最大的资源块作为当前的最大资源块。
优选的,当所述最大时隙数目Ntsk大于信道配置的剩余时隙数目时,或者当剩余资源块中没有时隙数目为Ntsk的资源块时,所述比较单元触发所述传输数据块大小获取单元遍历其余的重传进程并进行资源分配,若所有的重传进程遍历完,则遍历终端的新进程;当所述最大资源块的实际承载数据量小于等于所述重传进程的传输数据块大小时,所述资源分配单元触发所述传输数据块大小获取单元遍历其余的重传进程并进行资源分配,若所有的重传进程遍历完,则遍历终端的新进程。
优选的,所述资源分配模块还包括:空闲进程判断单元,用于遍历终端的新进程时,判断新进程中是否有空闲的新进程,如果有,则遍历所述空闲的新进程并进行资源分配;如果否,则结束资源分配。
优选的,所述空闲进程判断单元包括:
记录子单元,用于记录终端前m个子帧调度的新进程的个数x;
空闲进程计算子单元,用于将终端最多可调度的进程总数n减去所述子 帧调度的新进程的个数x,再减去所有的重传进程数,得到空闲的新进程数;其中,m、x和n均大于等于0,并且n=m+1;
判断子单元,用于当所述空闲的新进程数大于0,判断有空闲的新进程;否则,判断没有空闲的新进程。
与现有技术相比,本申请包括以下优点:
首先,本申请在资源分配过程中,对于重传进程和新进程采用不同的方法分配时隙数目,对于重传进程的资源分配,考虑该重传进程初传时分配的时隙个数,为该重传进程分配与初传时的时隙个数相同的时隙数目,这样UE在为重传进程做E-TFC选择时,能够选择到与初传时的TB块大小一样的TB块,从而尽量保证重传进程的选择成功。如果UE选择重传进程在大部分情况下成功,就无需再考虑是否有空闲的新进程,进而避免了由于重传进程数据被丢弃导致数据速率降低的问题。
其次,本申请还改进了对新进程的资源分配方法,通过MAC层维护UE空闲进程的方式,如果没有空闲的新进程,则结束资源分配,UE将不再丢弃重传进程的数据来传输数据,这使得资源分配过程可以更加准确地控制UE进程的使用,更进一步避免了由于重传进程数据被丢弃导致数据速率降低的问题。
当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
分析现有技术,目前的资源分配方法中由于没有考虑重传进程的资源分配的时隙个数需要与初传时分配的时隙个数相同的因素,对于重传进程和新进程采用的时隙个数的分配方法是相同的,因此有可能出现重传进程资源分配的时隙个数与初传时分配的时隙个数不同,导致UE为重传进程做E-TFC选择失败的情况。在这种情况下,如果UE在此刻无空闲的新进程,重传进程的数据将被丢弃,导致用户业务速率下降的问题。
基于以上原因的分析,本申请对重传进程的资源分配过程进行了改进,在资源分配过程中,对于重传进程和新进程采用不同的方法分配时隙数目,对于重传进程的资源分配,考虑该重传进程初传时分配的时隙个数,为该重传进程分配与初传时的时隙个数相同的时隙数目,这样UE在为重传进程做E-TFC选择时,能够选择到与初传时的TB块(传输块)大小一样的TB块,从而尽量保证重传进程的选择成功。
下面通过实施例对本申请所述方法的实现流程进行详细说明。
参照图1所示,是本申请实施例所述一种高速上行链路分组接入中的资源分配方法的流程图。
本申请实施例中,基站中优化的资源分配方法如下:
步骤1:获取重传进程或者新进程的传输数据块大小TBS;
所述传输数据块大小TBS是基站预分配给UE进程的缓存大小。
UE采用HARQ进程来传输数据,HARQ进程包括正在占用的进程、 重传进程和空闲进程。其中,所述正在占用的进程是指UE使用该进程传输数据,在未收到反馈信息之前认为该HARQ进程被占用;重传进程是指UE收到对应于该进程的NACK(Negative Acknowledgement,否定应答)反馈,该进程等待重传;空闲进程是指当前未被占用,可用来传输新数据的进程。本文所述的新进程中包括了空闲进程与正在占用的进程,但是,步骤1获取的是空闲的新进程的传输数据块大小TBS。
基站在对UE的上述进程进行资源分配之前,就已经确定了UE进程的传输数据块大小TBS,因此当进行资源分配时直接获取所述TBS即可。下面分别说明基站如何获取重传进程和新进程的传输数据块大小TBS,具体如下:
首先,按照用户优先级排队结果,取出优先级最高的UE,然后对这个优先级最高的UE分配功率和时隙数目、码道等资源
然后,遍历该高优先级UE的进程,优先遍历重传进程,如果一个进程的数据块传输错误,并且已经反馈了NACK(Negative Acknowledgement,否定应答),则该进程为重传进程。基站在预先确定重传进程的TBS时,是将重传进程在初传数据时的传输数据块大小 作为该进程重传数据块的大小。基站在资源分配时,直接获取重传进程的 其中t表示当前TTI,即时间t,k表示用户k,R表示用户k的重传进程R。
如果所有的重传进程遍历完,则遍历新进程。基站在预先确定新进程的TBS时,是根据UEk最近一次上报的SI信息(Scheduling Information,调度信息),或者再根据统计的当前UE缓存区数据长度,得到预分配的TBS大小。具体的,一种简单的方法是,直接将SI信息中包含的TBS作为预分配的TBS大小;稍复杂的,可以根据统计的当前UE缓存区数据长度,对SI信息中包含的TBS进行修正,然后将修正后的TBS作为预分配的TBS大小。当然,还可以有其他方法确定新进程的TBS大小,本申请实施例对此不进 行限定。基站在资源分配时,直接获取新进程的TBS大小。
步骤2:查找剩余E-PUCH资源中的最大资源块和E-PUCH的最大时隙数目;
1)重传进程
如果是重传进程,E-PUCH最大时隙数目Ntsk为该重传进程在初传数据时的时隙数目。将所述最大时隙数目Ntsk与信道配置的剩余时隙数目进行比较,如果最大时隙数Ntsk小于等于当前TTI配置的E-PUCH信道的剩余时隙数目,则遍历剩余E-PUCH中的时隙数目为Ntsk的资源块,并从这些资源块中查找可以承载最大数据量的资源块作为这个重传进程的最大资源块,继续进行资源分配。其中,所述当前TTI配置的E-PUCH信道的时隙数目在初始化小区时已配置好。
需要说明的是,上述资源块的承载数据量并不是一个准确计算得出的值,而是通过其他指标衡量得出,如通过码道数目、时隙数目或功率等进行衡量。
因此,从多个时隙数目为Ntsk的剩余资源块中查找最大资源块的方法有多种。例如,在最大时隙数目Ntsk与初传时的时隙数目相等的情况下,可以将码道数目最多的资源块作为承载数据量最大的资源块,并将该资源块作为当前的最大资源块;此外,也可以将功率最大的资源块作为最大资源块。如果最大时隙数目Ntsk与初传时的时隙数目可以不相等,则还可以将时隙数目最多的资源块作为最大资源块。
如果剩余E-PUCH中没有时隙数目为Ntsk的资源块,则跳到步骤1,继续遍历UE的其他进程。
将所述最大时隙数目Ntsk与信道配置的剩余时隙数目进行比较时,如果最大时隙数Ntsk大于当前TTI配置的E-PUCH信道的剩余时隙数目,也跳到步骤1,继续遍历UE的其他进程。
在遍历UE的其他进程时,如果还有重传进程,则优先遍历重传进程,如果所有的重传进程遍历完,则开始遍历新进程。
需要说明的是,上述确定最大时隙数目Ntsk后,可以默认直接执行确定最大资源块的步骤,即:从所述时隙数目为Ntsk的剩余资源块中查找承载数据量最大的资源块作为当前的最大资源块。如果执行不成功,即所述最大时隙数目Ntsk大于信道配置的剩余时隙数目,无法找到时隙数目为Ntsk的剩余资源块,这种情况下,再跳到步骤1,继续遍历UE的其他进程。
但是,为了优化上述处理,减少不必要的确定最大资源块的步骤,可以增加一个比较的步骤,即:先将所述最大时隙数目Ntsk与信道配置的剩余时隙数目进行比较,如果最大时隙数Ntsk小于等于当前TTI配置的E-PUCH信道的剩余时隙数目,则按照上述步骤确定最大资源块;如果最大时隙数Ntsk大于当前TTI配置的E-PUCH信道的剩余时隙数目,则省略确定最大资源块的步骤,直接跳到步骤1,继续遍历UE的其他进程。因此,这种优化后的处理提高了资源分配效率。
而且,还需要说明的是,实际应用中,虽然信道配置的总时隙数目在小区初始建立时就已确定,但是可能由于各种原因而重新配置,因此为了进一步保证可以省略不必要的步骤,也可以采用上述优化后的处理方式。
由上可知,本申请实施例对于重传进程,将该重传进程在初传数据时的时隙数目作为最大时隙数,并基于该最大时隙数查找最大资源块。
2)新进程
如果是新进程,E-PUCH最大时隙数目Ntsk为当前配置的E-PUCH信道的时隙数目Nts与UE能力支持的E-PUCH时隙数目NUE的较小值:
Ntsk=min{Nts,NUE};
在查找新进程的最大资源块时,可采用贪婪算法,找到剩余E-PUCH资源中可以承载最大数据量的资源块作为最大资源块。如前所述,可通过码道 数目、时隙数目或功率等衡量一个资源块可以承载的数据量。
其中,所述贪婪算法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪婪算法常以当前情况为基础作最优选择,而不考虑各种可能的整体情况。例如平时购物找钱时,为使找回的零钱的硬币数最少,不考虑找零钱的所有各种发表方案,而是从最大面值的币种开始,按递减的顺序考虑各币种,先尽量用大面值的币种,当不足大面值币种的金额时才去考虑下一种较小面值的币种。这就是在使用贪婪算法。这种方法在这里总是最优,是因为银行对其发行的硬币种类和硬币面值的巧妙安排。如只有面值分别为1、5和11单位的硬币,而希望找回总额为15单位的硬币。按贪婪算法,应找1个11单位面值的硬币和4个1单位面值的硬币,共找回5个硬币。但最优的解应是3个5单位面值的硬币。
基于所述贪婪算法,本申请实施例所述的采用贪婪算法查找最大资源块的过程不再详述。
基于以上对新进程确定最大资源块和最大时隙数目的方法,在遍历新进程的过程中,在进入步骤2之前,还可以增加以下优选步骤:
优选的,判断UE的新进程中是否有空闲的新进程,如果有空闲进程,则继续对空闲的新进程进行资源分配过程;如果没有空闲进程,则跳到步骤6,结束该UE的资源分配过程。
UE的新进程中,可能所有的新进程都在传输数据,也可能部分在传输部分空闲。所述优选步骤的目的是:在UE没有空闲的新进程的情况下,不会按照现有技术一样丢弃最久的重传进程中的数据,并选择这个重传进程来传新数据,而是不再为该UE分配资源,直到等到有空闲的新进程时再分配资源,因此该UE不再使用丢弃了数据的重传进程传输新数据,而是等到有空闲的新进程时再开始传输。这样就可以避免由于重传进程数据被丢弃导致数据速率降低的问题。
具体的,通过以下MAC层维护UE空闲进程的方式,可通过以下子步骤判断UE的新进程中是否有空闲的新进程:
子步骤1,记录终端前m个子帧调度的新进程的个数x;
子步骤2,将终端最多可调度的进程总数n减去所述子帧调度的新进程的个数x,再减去所有的重传进程数,得到空闲的新进程数;
其中,m、x和n均大于等于0,并且n=m+1;
子步骤3,如果空闲的新进程数大于0,则表示有空闲的新进程;否则,表示没有空闲的新进程。
举例来说,假设UE最多可调度的进程总数n为4,除去当前子帧可能调度的一个进程,至少还剩下3个可调度进程,因此从UE的前3个子帧中记录这3个子帧调度的新进程的个数。然后,按照以下公式进行计算:
空闲进程数目=4-UE前3个子帧调度新进程的个数-重传进程数。
步骤3:根据RoT(Rise Over Thermal,热噪声增加量)门限和UE上报的UPH(UE transmission power headroom,定义为UE最大发射功率与E-PUCH所需发射功率的比值)、SNPL(Serving and Neighbour Cell Pathloss,本小区和邻小区的路径损耗信息)等参数计算功率许可;
根据最近一次UEk上报的路损度量值SNPL(表示为LMetric),计算为满足RoT而需要的功率2: 得到功率许可2为
最近一次UEk上报的功率余量 记为功率许可3。
功率许可2与功率许可3中取较小值 此时,SF为最大资源块对应的最小的扩频因子。所述Pth可用于步骤4计算最大资源块可以承载的数据量。
其中,RoTtotal是信令配置的总的接收功率的门限值,Pebase是闭环功率维 护的E-PUCH信道的干扰量。
步骤4:计算ENI个数和最大资源块可以承载的数据量;
其中,所述ENI个数为复用在E-PUCH信道的E-UCCH(E-DCH Uplink Control Channel,也就是上行控制信道)数目。
首先,根据码率与信噪比的映射关系,得到 对应的码率。需要说明的是,要先确定调制方式:根据 在两条曲线中分别映射码率,码率大的曲线对应的调制方式为选定的调制方式,如果UE只支持QPSK(Quadrature Phase Shift Keying,正交相移键控,是一种数字调制方式),则不进行调制方式选择。
然后,根据码率与ENI的映射关系,通过码率v(t)得到ENI个数,接下来计算出该码率下最大资源块的实际承载数据量:
其中,Ntsk为该用户可用最大时隙数目,v(t)为选定的调制方式下的码率对应的归一化值,bit_mod取值固定为4,Nsysmbol_euuch为多个E-UCCH与TPC(Transmit Power Control,传输功率控制)的符号数之和,即Nsym_eucch=ENI*17;。
其中,SF是最小的扩频因子,Δharq是信令配置的功率余量。
步骤5:确定分配的时隙数目,并计算功率、码道资源;
1)如果终端进程的传输数据块大小 大于等于最大资源块的实际承载数据量bo,则:
如果是为新进程分配资源,则占用全部时隙Ntsk,码率最终使用v(t),码道资源的占用根据扩频因子SF来确定。例如,SF与占用的码道数量之间存在一定的对应关系,如SF=1,分配16个码道,SF=2,分配8个码道,SF=4, 分配4个码道,SF=8,分配2个码道,SF=16,分配1个码道。当然,也可以采用现有技术中的其他方法,来根据SF确定码道资源的占用,本申请实施例对此不做限定。
功率的计算为: 其中,PRRI是Power Resource Relative Indicator的简称,是指功率资源相关信息。
如果是为重传进程分配资源,则跳到步骤1遍历UE的其他进程。在遍历UE的其他进程时,如果还有重传进程,则优先遍历重传进程,如果所有的重传进程遍历完,则开始遍历新进程。
2)如果最大资源块的实际承载数据量bo大于终端进程的传输数据块大小 则:
如果是为新进程分配资源,则计算占用的时隙数目: 功率 码率最终使用v(t),码道资源的占用根据扩频因子SF来确定。
如果是为重传进程分配资源,则时隙占用Ntsk,码率最终使用v(t)。
调整SF因子,
其中,CRC_bits=24,Nsym_eucch为多个E-UCCH与TPC的符号数之和,即Nsym_eucch=ENI*17;码道资源的占用根据SFk(t)因子来确定。
功率的计算为: 即也是根据SFk(t)因子来确定。
步骤6:资源分配过程完成。
基于以上图1实施例的内容,下面通过一个具体的例子来解释说明图1包含的6个步骤的执行流程。
参照图2所示,是本申请另一实施例所述一种高速上行链路分组接入中的资源分配方法的流程图。
首先,按照用户优先级排队结果,取出优先级最高的UE,然后对这个优先级最高的UE分配功率和码道、时隙数目等资源。分配过程包括重传进程的分配和新进程的分配两个过程,具体如下:
1)重传进程的资源分配如图2A所示:
步骤201,遍历终端的重传进程,获取当前重传进程的传输数据块大小TBS;
其中,所述当前重传进程是指在逐个遍历重传进程的过程中,在当前时刻所选的那个重传进程。
可按照图1步骤1中的重传进程部分来获取当前重传进程的传输数据块大小TBS,以下步骤202和203对应到图1步骤2中的重传进程部分。
步骤202,将所述重传进程在初传数据时的时隙数目作为当前的最大时隙数目Ntsk;
步骤203,当所述最大时隙数目Ntsk小于等于信道配置的剩余时隙数目时,遍历时隙数目为Ntsk的剩余资源块,并从所述时隙数目为Ntsk的剩余资源块中查找承载数据量最大的资源块作为当前的最大资源块;
其中,可以从时隙数目为Ntsk的资源块中查找码道数目最多的资源块作为承载数据量最大的资源块,并将该资源块作为当前的最大资源块。所述信道配置的时隙数目在初始化小区时已配置好。
当剩余资源块中没有时隙数目为Ntsk的资源块时,返回步骤201遍历其余的重传进程并进行资源分配,若所有的重传进程遍历完,则遍历终端的新进程。
当所述最大时隙数目Ntsk大于信道配置的剩余时隙数目时,返回步骤201遍历其余的重传进程并进行资源分配,若所有的重传进程遍历完,则遍历终 端的新进程。
步骤204,计算所述最大资源块的实际承载数据量;
可按照图1中的步骤3和步骤4来计算所述最大资源块的实际承载数据量,以下步骤205对应到图1步骤5中的重传进程部分。
步骤205,当所述最大资源块的实际承载数据量大于所述重传进程的传输数据块大小时,确定为所述重传进程分配的时隙数目为Ntsk,并根据所述最大资源块的实际承载数据量调整扩频因子,根据调整后的扩频因子确定为所述重传进程分配的码道资源,并计算功率PRRI,重传进程的资源分配过程结束。
其中,具体的扩频因子调整方法可参见图1步骤5。
当所述最大资源块的实际承载数据量小于等于所述重传进程的传输数据块大小时,返回步骤201遍历其余的重传进程并进行资源分配,若所有的重传进程遍历完,则遍历终端的新进程。
2)新进程的资源分配如图2B所示:
步骤211,遍历终端的新进程,判断新进程中是否有空闲的新进程,如果有,则遍历所述空闲的新进程并按照以下步骤进行资源分配;如果否,则结束资源分配;
步骤212,获取当前新进程的传输数据块大小TBS;
可按照图1步骤1中的新进程部分来获取当前新进程的传输数据块大小TBS。
步骤213,确定所述新进程的最大时隙数目和最大资源块;
对于新进程,步骤213的确定方法不同于步骤203重传进程的确定,新进程的确定方法如下:
将信道配置的时隙数目与终端能力支持的时隙数据的较小值作为所述新进程的最大时隙数目,具体可参见图1步骤2中的新进程部分;
将剩余资源块中承载数据量最大的资源块作为所述新进程的最大资源块,具体可参见图1步骤2中的新进程部分。
步骤214,计算所述新进程的最大资源块的实际承载数据量;
可按照图1中的步骤3和步骤4来计算所述最大资源块的实际承载数据量,以下步骤215对应到图1步骤5中的新进程部分。
步骤215,当所述最大资源块的实际承载数据量大于所述新进程的传输数据块大小时,根据所述新进程的传输数据块大小、最大时隙数目和最大资源块的实际承载数据量,计算为所述新进程分配的时隙数目,并根据扩频因子确定为所述新进程分配的码道资源,并计算功率PRRI;
当所述最大资源块的实际承载数据量小于等于所述新进程的传输数据块大小时,将所述新进程的最大时隙数目全部分配给所述新进程,并根据扩频因子确定为所述新进程分配的码道资源,并计算功率PRRI。
综上所述,由于基站为重传进程分配的时隙数目与该重传进程初传数据时的时隙数目一样,使得UE在为重传进程做E-TFC选择时,能够选择到与初传时的TB块大小一样的TB块,从而尽量保证重传进程的选择成功。如果UE选择重传进程在大部分情况下成功,就无需再考虑是否有空闲的新进程,进而避免了由于重传进程数据被丢弃导致数据速率降低的问题。
进一步的,本申请实施例还改进了对新进程的资源分配方法,通过MAC层维护UE空闲进程的方式,如果没有空闲的新进程,则结束资源分配,UE将不再丢弃重传进程的数据来传输数据,这使得资源分配过程可以更加准确地控制UE进程的使用,更进一步避免了由于重传进程数据被丢弃导致数据速率降低的问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同 时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必需的。
基于上述方法实施例的说明,本申请实施例还提供了一种用于高速上行链路分组接入中的资源分配的基站。
参照图3所示,是本申请实施例所述一种用于高速上行链路分组接入中的资源分配的基站的结构图。
所述基站可包括资源分配模块,所述资源分配模块包括以下单元:
传输数据块大小获取单元10,用于遍历终端的重传进程,获取当前重传进程的传输数据块大小;
最大时隙数目确定单元20,用于将所述重传进程在初传数据时的时隙数目作为当前的最大时隙数目Ntsk;
最大资源块确定单元30,用于从时隙数目为Ntsk的剩余资源块中查找承载数据量最大的资源块作为当前的最大资源块;
承载数据量计算单元40,用于计算所述最大资源块的实际承载数据量;
资源分配单元50,用于当所述最大资源块的实际承载数据量大于所述重传进程的传输数据块大小时,确定为所述重传进程分配的时隙数目为Ntsk,并根据所述最大资源块的实际承载数据量调整扩频因子,根据调整后的扩频因子确定为所述重传进程分配的码道资源。
在一优选实施例中,所述最大资源块确定单元30可以从时隙数目为Ntsk的资源块中查找码道数目最多的资源块作为承载数据量最大的资源块,并将该资源块作为当前的最大资源块。
在另一优选实施例中,所述资源分配模块还可以包括比较单元,具体如下:
比较单元,用于将所述最大时隙数目Ntsk与信道配置的剩余时隙数目进 行比较,当所述最大时隙数目Ntsk小于等于信道配置的剩余时隙数目时,触发所述最大资源块确定单元从时隙数目为Ntsk的剩余资源块中查找承载数据量最大的资源块作为当前的最大资源块。
当所述最大时隙数目Ntsk大于信道配置的剩余时隙数目时,或者当剩余资源块中没有时隙数目为Ntsk的资源块时,所述比较单元触发所述传输数据块大小获取单元10遍历其余的重传进程并进行资源分配,若所有的重传进程遍历完,则遍历终端的新进程;
当所述最大资源块的实际承载数据量小于等于所述重传进程的传输数据块大小时,所述资源分配单元50触发所述传输数据块大小获取单元10遍历其余的重传进程并进行资源分配,若所有的重传进程遍历完,则遍历终端的新进程。
优选的,当所述资源分配模块对新进程进行资源分配时:
所述传输数据块大小获取单元10还可用于遍历空闲的新进程,获取当前新进程的传输数据块大小;
所述最大时隙数目确定单元20还可用于确定所述新进程的最大时隙数目;具体的,可以将信道配置的时隙数目与终端能力支持的时隙数据的较小值作为所述新进程的最大时隙数目;
所述最大资源块确定单元30还可用于确定所述新进程的最大资源块;具体的,可以将剩余资源块中承载数据量最大的资源块作为所述新进程的最大资源块;
素数承载数据量计算单元40还可用于计算所述新进程的最大资源块的实际承载数据量;
所述资源分配单元50还可用于当所述最大资源块的实际承载数据量大于所述新进程的传输数据块大小时,根据所述新进程的传输数据块大小、最大时隙数目和最大资源块的实际承载数据量,计算为所述新进程分配的时隙 数目,并根据扩频因子确定为所述新进程分配的码道资源;
当所述最大资源块的实际承载数据量小于等于所述新进程的传输数据块大小时,将所述新进程的最大时隙数目全部分配给所述新进程,并根据扩频因子确定为所述新进程分配的码道资源。
优选的,在一优选实施例中,所述资源分配模块还可以包括以下单元:
空闲进程判断单元,用于遍历终端的新进程时,判断新进程中是否有空闲的新进程,如果有,则遍历所述空闲的新进程并进行资源分配;如果否,则结束资源分配。
进一步的,所述空闲进程判断单元可以包括以下子单元:
记录子单元,用于记录终端前m个子帧调度的新进程的个数x;
空闲进程计算子单元,用于将终端最多可调度的进程总数n减去所述子帧调度的新进程的个数x,再减去所有的重传进程数,得到空闲的新进程数;其中,m、x和n均大于等于0,并且n=m+1;
判断子单元,用于当所述空闲的新进程数大于0,判断有空闲的新进程;否则,判断没有空闲的新进程。
对于上述基站实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1和图2所示方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的高速上行链路分组接入中的资源分配方法及基站,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。