具体实施方式
本发明实施例提供一种数据块级联和拆解处理方法、装置及系统,由PDCP层对数据块进行级联预处理,从而降低RLC层的处理量,进而降低RLC层的处理复杂度。
如图4所示,本发明实施例提供的数据块级联处理方法,具体包括:
步骤S401、PDCP层接收到数据块后对数据块进行预级联处理,并将预级联处理后的数据块组发送至RLC层,预级联处理具体为对N个数据块进行级联,N为整数,且N>1;
步骤S402、RLC层基于数据块组进行级联处理。
其中,数据块是指PDCP层的PDCP SDU或者PDCP PDU,由于PDCP层对PDCP SDU或者对PDCP PDU进行了预级联,所以减少了RLC层的级联处理量,降低了RLC层的处理复杂度。
PDCP层可以先对PDCP SDU进行加密、附加头结构等处理生成PDCPPDU后,再将N个PDCP PDU级联起来形成PDCP PDU组,也可以将N个PDCP SDU级联起来形成PDCP SDU组,再对该PDCP SDU组进行加密、附加头结构等处理形成预级联PDCP PDU。
下面通过具体的实施例具体说明各种不同的处理方式:
实施例一、
PDCP层先对PDCP SDU进行加密、附加头结构等处理生成PDCP PDU后,再将N个PDCP PDU级联起来形成PDCP PDU组。
此时,如图5所示,步骤S401中,PDCP层接收到数据块后对数据块进行预级联处理,并将预级联处理后的数据块组发送至RLC层,可以具体为:
步骤S4011、PDCP层对PDCP SDU进行PDCP层处理后生成PDCP PDU;
步骤S4012、对N个PDCP PDU进行级联生成PDCP PDU组;
步骤S4013、将PDCP PDU组发送至RLC层。
RLC层在接收到PDCP PDU组后,根据MAC指示再进一步将多个PDCPPDU组级联成RLC PDU即可。
其中,N取值为大于等于1的整数,预先由高层或者算法配置。
当N=3时,进行数据块级联的过程如图6所示,PDCP层先将PDCP SDU处理为PDCP PDU,再将3个PDCP PDU级联到一起,形成PDCP PDU Group(PDCP PDU组),最后由RLC层根据MAC指示再进一步将多个PDCP PDU组级联成RLC PDU,完成数据块的级联。
在该实施例中,由于PDCP层只是代替RLC层对PDCP PDU进行了预级联,所以接收端在接收到数据后,直接进行拆解处理即可。
通过该级联方式可以不对现有LTE标准进行修改,可行性较大,但是需要根据实际应用环境来确定合适的N值。
若N值预先设定后不再进行调整,那么若通信环境出现变化,则可能之前设置的N值不再使用。
为了进一步实现根据实际情况的变化来调整N值,可以增加N值调整机制,设置调整周期设置调整周期T,并在每次调整周期开始时,根据数据量、业务源突发性以及空口信道质量调整N值。
一种具体的根据数据量来调整N值的调整方式为:当确定数据量为大数据量时,使得N值增大或者保持不变;当确定数据量为小数据量时,使得N值减小或者保持不变。其中,当第一设定时间内传输的数据量大于预先设定的数据量阈值时,则确定数据量为大数据量,否则确定数据量为小数据量。
当然,N值的调整也可以参考业务源突发性以及空口信道质量等其它参数。
本发明实施例提供一种N值调整方法,综合参考了数据量、业务源突发性以及空口信道质量3个条件来对N值进行调整:
1、根据数据量大小进行判决,数据量大小指一定时间内业务源数据量传输需求的大小,例如文件传输协议(File Transfer Protocol,FTP)业务数据量大小远大于电子邮件(Electronic mail,E-mail)业务。数据量大小的判决方法可以为:根据统计的用户调度信息,当第一设定时间内传输的数据量大于预先设定的数据量阈值时,则确定数据量为大数据量,否则确定数据量为小数据量。
2、根据业务源突发特性进行判决,业务源的突发特性是指业务源下达RLC层Buffer中的数据量随时间的波动方差。突发性强的业务每次需要的传输资源大小的波动很大。业务源突发性的判决方法为:按照设定周期多次对下达RLC层的Buffer数据包大小采样,获得采样值,并当设定个数的采样值的方差大于预先设定的突发性阈值时,则确定业务源突发性为大波动性,否则确定业务源突发性为小波动性。具体的,根据到达RLC层Buffer(缓冲器)的数据量信息进行判决,如果每个采样周期内下达RLC层Buffer数据量的波动方差超过一定门限值Vth,则认为该业务为大突发性业务,其中,Buffer的数据量信息包括下行的缓存占用(Buffer Occupy,BO)大小,上行缓存状态报告(Buffer StateReport,BSR)。采样周期可以为每n个子帧一次,统计一定时间段(m个采样周期)内下达RLC层Buffer的数据包的大小,计算这m个采样值的方差。
3、根据空口信道质量进行判决,一段时间内的信道质量指示(ChannelQuality Indicator,CQI)平均值与固定门限阈值的判断,其中,下行采用UE上报的CQI;上行采用探测参考信号(sounding reference signal,SRS)测量得到的CQI。空口信道质量的判决方法可以为:根据统计的用户信道质量信息,当第二设定时间内的CQI平均值大于预先设定的信道质量阈值时,则确定当前空口信道质量好,否则确定当前空口质量不好。
具体的N值调整方式如表1所示,当数据量为大数据量时:若业务源突发性为大波动性、空口信道质量好时,则N值增大两个步长;若业务源突发性为小波动性、空口信道质量好时,则N值增大一个步长;否则,N值保持不变;
当数据量为小数据量时:若业务源突发性为大波动性、空口信道质量不好时,则N值减小两个步长;若业务源突发性为小波动性、空口信道质量好时,则N值减小一个步长;否则,N值保持不变;
表1N值调整参考表
其中,step为步长,该步长可以根据实际情况设置,通常设置为1或2。
例如,若设置调整周期T=20ms,初始N值为2,步长step=1,t2=t1+T,t3=t2+T,则:
t1时刻,如图7a所示,由于没有任何先验信息,PDCP层直接做预级联,设置N=2,把N个PDCP SDU处理后级联成一个PDCP PDU组,发送至RLC层;
t2时刻,如图7b所示,由于获得了来自RLC和PDCP的相关指示信息,满足Case2,自适应地调整N=3,把N个PDCP SDU处理后级联成一个PDCPPDU组,发送至RLC层;
t3时刻,如图7c所示,继续获得了来自RLC和PDCP的相关指示信息,若同样满足Case2,则自适应地调整N=4,把N个PDCP SDU处理后级联成一个PDCP PDU组,发送至RLC层。
实施例二、
PDCP层先将N个PDCP SDU级联起来形成PDCP SDU组,再对该PDCPSDU组进行加密、附加头结构等处理形成预级联PDCP PDU。
此时,如图8所示,步骤S401中,PDCP层接收到数据块后对数据块进行预级联处理,并将预级联处理后的数据块组发送至RLC层,可以具体为:
步骤S4014、PDCP层对N个PDCP SDU进行级联生成PDCP SDU组;
步骤S4015、对PDCP SDU组进行PDCP层处理后生成预级联PDCP PDU;
步骤S4016、将预级联PDCP PDU发送至RLC层。
RLC层在接收到PDCP PDU组后,根据MAC指示再进一步将多个预级联PDCP PDU级联成RLC PDU即可。
其中,N取值为大于等于1的整数,预先由高层或者算法配置。
由于在低层发送指示到达之前,PDCP层完成一定量PDCP SDU的头压缩后,对PDCP SDU进行了适当级联,级联后的数据包统一加密,最终形成PDCPPDU发送至RLC层。RLC层待MAC层发送指示到达后,再按照实际需要的PDU大小按照现有流程组包,所以基于PDCP SDU预级联生成PDCP PDU的操作属于非实时的离线处理,不会占用RLC层级联组包的实时操作时间,提高了处理效率。
PDCP层在对PDCP SDU进行具体预级联时,可以采用如下两种方式:
方式一、对PDCP SDU进行预级联时,采取仅对出现频率较高的固定PDCPSDU长度进行可配置个数的级联,非固定长度的PDCP SDU则不进行级联,这样就无需再头部结构中增加长度指示域,接收端直接根据固定的数据块长度进行拆解即可。例如,可以只对1500bytes的包进行预级联,其它长度的包不进行预级联。接收端在接收到数据并获得预级联PDCP PDU后,按照1500bytes的长度对PDCP PDU进行拆解即可。
具体的,如图9所示,PDCP层先对设定长度的PDCP SDU进行预级联,再进行压缩、添加头结构等处理,形成预级联PDCP PDU。
发送端对设定长度的PDCP SDU(例如最常见的长度为1500bytes的PDCPSDU)进行连续N个PDCP SDU的级联。接收端已知预级联PDCP SDU中PDCPSDU的长度和/或级联的个数,将预级联PDCP PDU的数据部分进行适当的拆分即可得到每个PDCP SDU。对PDCP PDU头部结构不添加新的指示域。
通过该方式进行预级联时,需要标准定义发端和收端都已知的固定SDU长度,以便于收端接收到的PDCP PDU数据部分为设定PDCP SDU长度的整倍数时,直接进行拆分得到PDCP SDU。
方式二、级联PDCP SDU采取对任意长度的PDCP SDU都进行级联,此时,头部结构中需要增加长度指示域,级联后的数据包统一加密,最终形成预级联PDCP PDU发送至RLC层。RLC层待MAC层发送格式指示到达后,再按照实际需要的RLC PDU大小按照进行进一步级联。
如图10所示,发送端PDCP层对N个PDCP SDU进行级联,并在头结构中添加相应的长度域指示(Length Indicator,LI)和扩展域(Extension,E)的指示域,指明设定N-1个PDCP SDU的长度,例如,可指明除了最后一个SDU外其他每个PDCP SDU的长度。在接收端读取每个LI即可解出相应的各个SDU。对PDCP PDU头部结构的影响是需要添加LI+E的指示,其中,E用于标记LI结束。
通过该方式进行预级联时,需要标准修改PDCP PDU头结构,同时接收端也需要根据头部结构中的长度指示域才能够对预级联PDCP PDU进行进一步拆解。
在实施例二中,同样可以对N值进行调整,具体的调整方式与实施例一中的调整方式相同,在此不再重复叙述。
本发明实施例针对接收端相应提供一种数据块拆解处理方法,如图11所示,该方法包括:
步骤S1101、接收端PDCP层在接收到预级联PDCP PDU后,对预级联PDCP PDU进行处理得到PDCP SDU组;
步骤S1102、对PDCP SDU组进行进一步拆解得到PDCP SDU。
其中,对应实施例二中列举的两种实施方式,步骤S1102中,对PDCP SDU组进行进一步拆解得到PDCP SDU,具体包括:
根据预先设定的PDCP SDU长度和/或PDCP SDU数量将PDCP SDU组拆解为多个设定长度的PDCP SDU;或者
根据PDCP SDU组的头部结构中用于指示PDCP SDU组中PDCP SDU长度的长度指示域,将PDCP SDU组拆解为多个PDCP SDU。
本发明实施例还相应提供一种数据块级联处理装置,该装置为发送端,如图12所示,该装置中包括:
PDCP层1201,用于接收到数据块后对数据块进行预级联处理,并将预级联处理后的数据块组发送至RLC层,预级联处理具体为对N个数据块进行级联,N为整数,且N>1;
RLC层1202,用于基于数据块组进行级联处理。
对应于实施例一,PDCP层1201具体用于:
PDCP层对PDCP SDU进行PDCP层处理后生成PDCP PDU;
对N个PDCP PDU进行级联生成PDCP PDU组;
将PDCP PDU组发送至RLC层。
对应于实施例二,PDCP层1201具体用于:
PDCP层对N个PDCP SDU进行级联生成PDCP SDU组;
对PDCP SDU组进行PDCP层处理后生成预级联PDCP PDU;
将预级联PDCP PDU发送至RLC层。
具体的,对应于实施例二中的方式一,PDCP层对N个PDCP SDU进行级联生成PDCP SDU组,具体包括:PDCP层对N个设定长度的PDCP SDU进行级联生成PDCP SDU组。
对应于实施例二中的方式二,PDCP层对N个PDCP SDU进行级联生成PDCP SDU组,具体包括:PDCP层对N个任意长度的PDCP SDU进行级联生成PDCP SDU组,并在PDCP SDU组的头部结构中增加至少N-1个分别用于指示PDCP SDU组中至少N-1个PDCP SDU长度的长度指示域。
当需要根据实际情况来调整N值时,该装置中还包括:设置单元,用于预先设定N值;或者设置调整周期T,并在每次调整周期开始时,根据数据量、业务源突发性以及空口信道质量调整N值。
其中,设置单元根据数据量、业务源突发性以及空口信道质量调整N值,具体包括:
当数据量为大数据量时,N值增大或者保持不变;
当数据量为小数据量时,N值减小或者保持不变;
其中,当第一设定时间内传输的数据量大于预先设定的数据量阈值时,则确定数据量为大数据量,否则确定数据量为小数据量。
具体的,对应于表1,设置单元根据数据量、业务源突发性以及空口信道质量调整N值,具体包括:
当数据量为大数据量时:
若业务源突发性为大波动性、空口信道质量好时,则N值增大两个步长;
若业务源突发性为小波动性、空口信道质量好时,则N值增大一个步长;
否则,N值保持不变;
当数据量为小数据量时:
若业务源突发性为大波动性、空口信道质量不好时,则N值减小两个步长;
若业务源突发性为小波动性、空口信道质量好时,则N值减小一个步长;
否则,N值保持不变;
其中,按照设定周期内多次对下达RLC层的Buffer数据包大小采样,获得采样值,并当采样值的方差大于预先设定的突发性阈值时,则确定业务源突发性为大波动性,否则确定业务源突发性为小波动性;
当第二设定时间内的CQI平均值大于预先设定的信道质量阈值时,则确定当前空口信道质量好,否则确定当前空口质量不好。
本发明实施例还相应提供一种数据块拆解处理装置,该装置对应于接收端,如图13所示,该装置中包括:
处理单元1301,用于在接收预级联PDCP PDU后,对预级联PDCP PDU进行处理得到PDCP SDU组;
拆解单元1302,用于对PDCP SDU组进行进一步拆解得到PDCP SDU。
对应于实施例二中的方式一,拆解单元1302具体用于:
根据预先设定的PDCP SDU长度和/或PDCP SDU个数将数据块组拆解为多个设定长度的PDCP SDU;或者
对应于实施例二中的方式二,拆解单元1302具体用于:
根据PDCP SDU组的头部结构中用于指示PDCP SDU组中PDCP SDU长度的长度指示域,将PDCP SDU组拆解为多个PDCP SDU。
本发明实施例还相应提供一种数据块级联处理系统,如图14所示,该系统中包括:
发送端1401,包括PDCP层和RLC层,其中,PDCP层对N个PDCP SDU进行级联生成PDCP SDU组;对PDCP SDU组进行PDCP层处理后生成预级联PDCP PDU;将预级联PDCP PDU发送至RLC层;RLC层用于基于数据块组进行级联处理;N为整数,且N>1;
接收端1402,用于在接收预级联PDCP PDU后,对预级联PDCP PDU进行处理得到PDCP SDU组;对PDCP SDU组进行进一步拆解得到PDCP SDU。
对应于实施例二中的方式一,发送端1401中PDCP层具体用于:PDCP层对N个设定长度的PDCP SDU进行级联生成PDCP SDU组;对PDCP SDU组进行PDCP层处理后生成预级联PDCP PDU;将预级联PDCP PDU发送至RLC层;
接收端1402具体用于:根据预先设定的PDCP SDU长度和/或PDCP SDU个数将数据块组拆解为多个设定长度的PDCP SDU。
对应于实施例二中的方式二,发送端1401中PDCP层对N个任意长度的PDCP SDU进行级联生成PDCP SDU组,并在PDCP SDU组的头部结构中增加至少N-1个分别用于指示PDCP SDU组中至少N-1个PDCP SDU长度的长度指示域;
接收端1402具体用于:根据PDCP SDU组的头部结构中用于指示PDCPSDU组中PDCP SDU长度的长度指示域,将PDCP SDU组拆解为多个PDCPSDU。
本发明实施例提供一种数据块级联和拆解处理方法、装置及系统,由PDCP层对数据块进行级联预处理,从而在系统需要传输的数据量较大时能够有效地减少RLC层的处理量,进而降低RLC层的处理复杂度。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。