背景技术
E-UTRAN(Evolved Universal Terrestrial Radio Access Network,演进全球陆地无线接入网络)的无线协议结构分为用户面和控制面。其中无线侧分为物理层(PHY)、媒体接入控制(MAC)、RLC、包数据汇聚协议(PDCP)子层。
RLC协议层在LTE的无线接口协议栈中,是层2(L2)的一个子层,RLC层为用户和控制数据提供分段和重传业务。RLC功能包括链接控制、封装和重组、级联、用户数据传输、纠错、协议错误检测和修复等。
每个RLC实体由RRC(无线资源控制层)配置并以三种模式进行操作,分别为TM(Transparent Mode,透明模式)、UM(Unacknowledged Mode,非确认模式)和AM(Acknowledged Mode,确认模式)。TM和UM两种模式下,都可以分为接收实体和发送实体两种实体。在AM模式下,只有一种实体,既可以接收RLC PDU(Protocol Data Unit,协议数据单元)也可以发送RLCSDU(Service Data Unit,服务数据单元)。
接收AM实体和发送AM实体分别通过接收滑窗、发送滑窗、状态报告等一系列机制来保证,数据的有序和无损接收以及被有效的重传。
轮询报文(Polling PDU),是AM模式下的一种特殊报文,其作用是通知接收端:发送端期待收到一个针对此前发送端所发报文的状态报告(StatusReport)。实现方式是,将AM模式下发送的RLC协议数据单元中,RLC头部的Polling(轮询)位域P置为1。
状态报告,也是AM模式下的一种控制报文。该报文是接收端针对当前接收滑窗的检查结果。该报文中包含当前接收滑窗检查区间的上沿序号(ACK_SN),和检查区间中未收到的报文序号(NACK_SN)。如果某个序号的报文只是部分未收到,则还包含未收到片段起始偏移位置(SOstart)和结束偏移位置(SOend)。确认模式中的ARQ(Automatic Repeat-reQuest,自动重传请求),是通过接收端向发送端发送Status Report来实现的,发送端根据收到Status Report中的确认序号(ACK_SN)、非确认序号(NACK_SN)来判定哪些PDU已经被接收端确认收到,哪些PDU或PDU片段需要重传,从而保证数据传输的可靠性和业务的正常进行。
接收端每收到一个PDU时,如果检查发现Polling位置1,则认为是一个轮询报文,发送端期待收到一个Status Report。在该PDU的HARQ Reordering(混合自动重传重排序)完成后,则检查接收滑窗,并组成Status Report投递给对端。如图1所示。
在36.322协议中,接收端发送状态报告的触发条件有如下两类:
1.发送端触发,如附图1所示。即将PDU的RLC头部Polling位域置1,接收端每收到每一个PDU时,如果检查发现Polling位置1,则认为可以发送一个Status Report。在该PDU的HARQ Reordering完成后,则将组织好的StatusReport将向发送端发送。发送端将PDU的RLC头部Polling位域置1可能在以下三种原因下发生:
1)该PDU是发送端缓冲区中发送的最后一个报文;
2)达到RRC配置的轮询协议数据单元(POLL_PDU)或轮询字节(POLL_BYTE);
3)发送端轮询重传定时器(T_Polling_restransmit)超时。
2.接收端触发,如图2所示。只可能在一种原因下发生:接收端报文重排序(T_Reordering)定时器超时后。
在36.322协议中,为了避免状态报告发送过于频繁,占用空口资源,在接收端设定了一个状态报告禁止定时器(T_Status_prohibit),每发送一个状态报告后启动该定时器,在定时器运行期间,禁止发送状态报告,无论状态报告在这段时间内被触发多少次,都需等待T_Status_prohibit超时后才可发送下一个状态报告,如图2所示。
根据以上的协议流程,目前AM RLC实体发送侧的发送滑窗的维护和对端对等体的接收滑窗是相互制约的。当发送侧向接收侧发送一个带P位标志的PDU时,接收侧,根据相应状态报告的禁止定时器的状态决定是否向发送侧回应一个状态报告。发送侧的AM RLC实体收到状态报告后,根据状态报告内容进行数据重传或收缩发送滑窗。当接收侧AM RLC实体的重排定时器超时,接收侧将同样向发送侧回应一个状态报告。
在这种机制下,如果AM实体接收侧丢失了少量PDU或由于某种原因没能收到轮询PDU,而发送侧又没有收到相应的status report,那么发送侧的发送滑窗就会无法移动,而由于T_Status_prohibit的存在又会导致新的状态报告无法被及时发送。在一些T_Reordering和T_Polling_restransmit以及T_Status_Prohibit设置不合理的情况下,少量丢包也会引起同样问题。导致出现发送滑窗满引起发送滑窗停止的问题,造成数据时延加大,甚至会引起业务中断。
发明内容
本发明实施例的目的是提供一种无线链路控制层触发状态报告的方法及接收侧装置,能够在发送滑窗处于拥塞之前动态的触发相关状态报告的发送,从而使得发送侧能够尽快的重传丢失数据,解决现有技术AM滑窗迟迟无法收缩而引起的业务时延增大,甚至业务短期中断的技术问题。
为了实现上述目的,一方面,提供了一种无线链路控制层触发状态报告的方法,包括:
步骤一,无线链路控制层的确认模式实体的接收侧检测所述接收侧的滑窗中的未投递数据量,如果所述未投递数据量超过第一阈值,则所述确认模式实体进入动态状态报告的发送调整状态;
步骤二,在所述发送调整状态,所述确认模式实体的接收侧根据第一预定条件确定是否发送状态报告。
优选地,上述的方法中,在所述步骤二中,
所述第一预定条件为:状态报告禁止定时器运行,并且未报告协议数据单元PDU的数量超过第二阈值;
所述确认模式实体的接收侧在所述第一预定条件满足时发送状态报告。
优选地,上述的方法中,在所述步骤二中,
所述第一预定条件为:状态报告禁止定时器未运行;
所述确认模式实体的接收侧在所述第一预定条件满足时发送状态报告。
优选地,上述的方法中,所述步骤一还包括:如果所述确认模式实体当前处于所述发送调整状态,并且所述未投递数据量未超过所述第一阈值,则所述确认模式实体退出所述发送调整状态。
优选地,上述的方法中,所述步骤一具体包括:
步骤a,所述接收端收到一个非重复的PDU或者PDU片段;
步骤b,所述接收端对总数据量计数器进行累加,如果当前处于所述发送调整状态;还对用于计算所述未报告PDU的数量的未报告数量计数器进行累加;
步骤c,判断是否有数据向上投递,是则用所述总数据量减去已投递的数目获得所述未投递数据量,否则将所述总数据量作为所述未投递数据量;
步骤d,判断所述未投递数据量是否大于所述第一阈值,是则进入所述发送调整状态转步骤二,否则退出所述发送调整状态、所述未报告数量计数器清零并返回步骤a。
优选地,上述的方法中,所述步骤二具体包括:
步骤e,判断状态报告禁止定时器是否运行,是则执行步骤f;否则,发送状态报告,未报告数量计数器清零,返回步骤a;
步骤f,判断所述未报告PDU的数量是否超过第二阈值,是则执行步骤g,否则返回步骤a;
步骤g,停止所述状态报告禁止定时器,发送状态报告,所述未报告数量计数器清零,所述状态报告禁止定时器重启动,返回步骤a。
优选地,上述的方法中,所述步骤g还包括:更新所述第一阈值和所述第二阈值。
本发明的另一个方面,提供一种无线链路控制层的确认模式实体的接收侧装置,包括:
检测模块,用于,检测接收侧的滑窗中的未投递数据量,如果所述未投递数据量超过第一阈值,则使所述确认模式实体进入动态状态报告的发送调整状态;
判断模块,用于,在所述发送调整状态,根据第一预定条件确定是否发送状态报告。
优选地,上述的接收侧装置中,所述第一预定条件为:状态报告禁止定时器运行,并且未报告PDU的数量超过第二阈值;或者,所述第一预定条件为:状态报告禁止定时器未运行;
所述确认模式实体的接收侧在所述第一预定条件满足时发送状态报告。
优选地,上述的接收侧装置中,所述检测模块,还用于:如果所述确认模式实体当前处于所述发送调整状态,并且所述未投递数据量未超过第一阈值,则使所述确认模式实体退出所述发送调整状态。
本发明实施例至少存在以下技术效果:
本发明能够动态的根据当前AM实体接收侧滑窗中的数据量判断实体是否进入动态调整状态,并根据其他判断条件,实时的调整无线链路控制层状态报告的发送,来加速AM发送侧实体的重传和收缩,采用本发明所述方法,与现有技术相比,能够少量丢包的情况下在发送滑窗处于拥塞之前动态的触发相关状态报告的发送,从而使得发送侧能够尽快的重传丢失数据,减少由于少量数据包没有被及时的收到或者不恰当的定时器配置而引起的吞吐量下降、时延增大和业务中断,改善了用户的体验。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对具体实施例进行详细描述。
如图3所示,本发明的无线链路控制层触发状态报告的方法,包括:
步骤401,无线链路控制层的确认模式实体的接收侧检测所述接收侧的滑窗中的未投递数据量,如果所述未投递数据量超过第一阈值,则所述确认模式实体进入动态状态报告的发送调整状态;
步骤402,在所述发送调整状态,所述确认模式实体的接收侧根据第一预定条件确定是否发送状态报告。
本发明提出的方法实施例能够动态的根据当前AM实体接收侧滑窗中的数据量判断实体是否进入动态调整状态,并根据其他判断条件,实时的调整无线链路控制层状态报告的发送,来加速AM发送侧实体的重传和收缩,以尽可能的减少由于发送滑窗停止而引起的业务时延增大或业务短期中断,改善用户体验。
本发明方法实施例中,所述AM模式无线控制链路实体通过检测所述无线链路控制层协议实体接收滑窗中的未向上层投递的数据量与预设阈值(即第一阈值)进行比较,判断是否进入动态状态报告发送调整状态。
本发明方法实施例中,在AM实体进入动态状态报告发送调整状态之后,如果新收到AM PDU因为接收滑窗的滑动而引起数据量减少到不能满足预设阈值,则AM实体退出动态状态报告发送调整状态。
本发明方法实施例中,在AM实体进入动态状态报告发送调整状态之后,如果新收到AM PDU引起数据量增加超过了给定的状态报告触发阈值,则AM实体接收侧触发一次动态状态报告发送。
本发明方法实施例中,当AM实体接收侧触发一次动态状态报告时,如果T_Status_Prohibit(状态报告禁止定时器)运行,则AM实体停止T_Status_Prohibit定时器,发送状态报告,重新启动T_Status_Prohibit。
本发明方法实施例中,当状态报告触发完成之后,如果新收到的AM PDU未能引起AM实体退出动态状态报告发送调整状态,而且新增数据量再次超过了预设的状态报告触发阈值的给定百分比,则再次触发状态报告。
本发明方法实施例中,动态状态报告发送调整状态下的AM实体在触发完一次状态报告后,再次触发状态报告所需的AM PDU阈值设置为初始阈值一定百分比。百分比可以为100%,但不仅为100%,例如可以为70%、110%等。
本发明方法实施例的主要步骤如下:
1)接收端收到一个非重复的PDU或者PDU的片断(segment)。
2)接收端对Exist_PDU_Num(总数据量计数器)进行累加,并判断是否处于动态状态报告发送调整状态。是则对Not_Reprot_PDU_NUM(未报告数量计数器)累加。
3)当数据可以向上投递时,将Exist_PDU_Num减去已投递的PDU的数目。并将Exist_PDU_Num与给定阈值(第一阈值是根据具体业务的质量要求设定,质量高第二阈值就设的小)进行比较,小于则退出动态状态报告调整状态,Not_Reprot_PDU_NUN清0,进入正常处理;否则,进行5)。
4)若数据无法向上投递,将Exist_PDU_Num与给定的阈值进行比较。如果Exist_PDU_Num大于给定的阈值,转到5),否则进行正常处理。
5)判断T_Status_prohibit是否运行,如果运行转步骤六。否则直接触发一次新的状态报告发送,Not_Reprot_PDU_NUM清0,继续正常处理。
6)判断Not_Reprot_PDU_NUM与给定的阈值(即第二阈值,也是根据具体业务的质量要求设定,质量高第二阈值就设的小),如果大于阈值,则停止T_Status_prohibit,发送状态报告,重新设置T_Status_prohibit,Not_Reprot_PDU_NUM清0,判断阈值更新为阈值*退避百分比。
其中,根据不同的QCI(业务质量等级标识)类型和带宽配置,对第一阈值和第二阈值进行相关设定:设定总原则为:第一阈值和第二阈值的总合不能大于2^(SN-1)。目前只有一种SN的配置,即SN=10;以下进行举例。
对于QCI要求的时延(delay)较小的,同时配置的GBR(Guaranteed BitRate,保证比特速率)较小的业务。如QCI=4和QCI=8的两个业务,如果带宽相同都为2Mbps,QCI=4的业务的第一阈值和第二阈值可以设为256、32;
QCI=8的业务,由于时延要求和非GBR,就可以设为348,64;
如果QCI=8的用户设置的带宽比较大如为20Mbps,而QCI=4的用户带宽比较小如为256Kbps。则,QCI=8的业务的相关阈值就可以设为256,32;QCI=4的业务的相关阈值也为256,32。
总之,原则就是,设定的阈值的大小与时延成正比,与流量呈反比。
本发明方法实施例中,对于接收端AM RLC实体的接收缓冲区进行检测,根据给定条件判断接收实体是否满足进入动态状态报告发送调整状态,如果满足触发条件,则进行一次状态报告触发。
图4说明了一种无线链路控制层触发状态报告的方法的具体流程图,具体流程步骤如下:
步骤110:接收端收到非重复的PDU或者PDU的片断(segment),转到步骤120;
步骤120:接收端Exist_PDU_Num(总数据量计数器)累加,转到步骤130;
步骤130:判断接收端是否处于动态状态报告发送调整状态,如果是,转到步骤140,否则,转到步骤150;
步骤140:Not_Report_PDU_NUM(未报告数量计数器)累加,转步骤150;
步骤150:判断是否有数据可以向上投递,如果有数据可以投递,转到步骤160,否则转到步骤170;
步骤160:将Exist_PDU_Num减去已投递的PDU的数目,转步骤170;
步骤170:将Exist_PDU_Num与给定的阈值(即第一阈值)进行比较,转步骤180;
步骤180:判断Exist_PDU_Num是否大于给定的阈值,如果是,转到步骤220,如果否转190;
步骤190:退出动态状态报告的发送调整状态,转到步骤210;
步骤210:Not_Report_PDU_NUM清零,返回步聚110;
步骤220:判断T_Status_prohibit(状态报告禁止定时器)是否运行,如果运行,转到步骤240,否则,转到步骤230;
步骤230:触发一次新的状态报告发送,转到步骤210;
步骤240:Not_Reprot_PDU_NUM与给定的阈值进行比较,转到步骤250;
步骤250:判断Not_Reprot_PDU_NUM是否大于给定的阈值(即第二阈值,也是根据具体业务的质量要求设定,质量高第二阈值就设的小),如果是,转到步骤260,否则,转到步骤300;
步骤260:停止T_Status_prohibit,转到步骤270;
步骤270:发送状态报告,转到步骤280;
步骤280:T_Status_prohibit重启动,Not_Reprot_PDU_NUM清零,转到步骤290;
步骤290:将阈值更新为原来的阈值的百分比,转到步骤300;
步骤300,转步骤110,继续其它处理。
如图5所示,本发明还提供了一种无线链路控制层的确认模式实体的接收侧装置500的实施例,包括:
检测模块501,用于,检测接收侧的滑窗中的未投递数据量,如果所述未投递数据量超过第一阈值,则使所述确认模式实体进入动态状态报告的发送调整状态;
判断模块502,用于,在所述发送调整状态,根据第一预定条件确定是否发送状态报告。
所述第一预定条件为:状态报告禁止定时器运行,并且未报告协议数据单元PDU的数量超过第二阈值;或者,所述第一预定条件为:状态报告禁止定时器未运行;所述确认模式实体的接收侧在所述第一预定条件满足时发送状态报告。
所述检测模块,还用于:如果所述确认模式实体当前处于所述发送调整状态,并且所述未投递数据量未超过第一阈值,则使所述确认模式实体退出所述发送调整状态。
可见,由于现有技术方案下RLC AM模式下发送侧实体仅仅通过相关定时器超时和POLL_BYTE和POLL_PDU来触发状态报告的发送,而接收侧实体也仅能通过T_Status_Prohibit超时和接收轮询PDU来触发重传的进行,当网络情况不稳定出现数据包丢失导致状态报告或轮询PDU丢失的时候,或T_Reordering和T_Polling_restransmit以及T_Status_Prohibit设置不合理的情况下就会引起AM滑窗迟迟无法收缩而引起业务时延增大,甚至导致业务短期中断。
因此,本发明实施例具有以下优势:
本发明能够动态的根据当前AM实体接收侧滑窗中的数据量判断实体是否进入动态调整状态,并根据其他判断条件,实时的调整无线链路控制层状态报告的发送,来加速AM发送侧实体的重传和收缩,采用本发明所述方法,与现有技术相比,能够少量丢包的情况下在发送滑窗处于拥塞之前动态的触发相关状态报告的发送,从而使得发送侧能够尽快的重传丢失数据,减少由于少量数据包没有被及时的收到或者不恰当的定时器配置而引起的吞吐量下降、时延增大和业务中断,改善了用户的体验。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。