一种AM模式下的RLC实体的接收侧及其接收数据的方法技术

技术编号:24104461 阅读:92 留言:0更新日期:2020-05-09 15:26
本申请公开了一种AM模式下的RLC实体的接收侧。RLC控制单元用来从路由单元接收RLC控制PDU。路由单元用来从底层接收数据PDU并传输给接收窗单元。接收窗单元用来将路由单元传来的数据PDU与接收窗进行判断。重排序单元用来将缓存的数据PDU按照接收序列号的升序进行排列。滑动窗判决单元用来对排序后的数据PDU进行组包;还用来在接收的数据PDU无漏包时正常更新接收窗,还用来在接收的数据PDU有漏包时在符合特定条件下强制更新接收窗。SDU重组单元将分段的数据SDU重新组合成一个完整的数据SDU。本申请通过新增的强制更新接收窗的操作,减小了实时业务的延时;还具有减小内存消耗、改善TCP流量控制的优点。

The receiving side of RLC entity in AM mode and the method of receiving data

【技术实现步骤摘要】
一种AM模式下的RLC实体的接收侧及其接收数据的方法
本申请涉及一种移动通讯系统中的RLC实体,特别是涉及一种AM模式下的RLC实体的接收侧及其接收方法。
技术介绍
LTE(Long-TermEvolution,长期演进技术)移动通讯系统的RLC(RadioLinkControl,无线链路控制)实体有三种工作模式,其中AM(AcknowledgedMode,确认模式)主要用于可靠数据传输。AM模式下的RLC实体(RLCentity)被划分为接收侧(receivingside)和发送侧(transmittingside)。为保证数据可靠传输即不乱序、不丢包,在接收数据时,接收侧会用到重排序(reordering)功能。接收侧将底层收到的PDU(ProtocolDataUnit,协议数据单元)按照接收序列号(receivingSN)的升序由接收窗(receivingwindow)缓存。如果出现漏包,接收侧会发送状态包(STATUSPDU)请求重传,并一直等待,直到漏包成功接收,或发生其他异常释放链路。接收侧在等待漏包的时候,不会再向上层传递数据。如果等待时间过长,会造成如下问题。第一,缓存数据消耗过多内存。由于缓存数据不会传递给上层,最极端的情况下,AM模式下的RLC实体的接收侧会缓存接收窗的大小减一个PDU,每个PDU有数千字节,因此造成内存消耗过于巨大,这对一些成本敏感的产品例如通讯芯片等是不可接受的。第二,导致TCP(TransmissionControlProtocol,传输控制协议)吞吐率下降。由于缓存数据不会向上层传递,TCP接收端也不会进行应答(ACK),TCP发送端超过一定时间阈值没有收到应答消息后就会启动流量控制、快速重传等措施,使TCP吞吐率出现波动、甚至掉坑等情况。第三,实时业务质量很差。AM模式下的RLC实体被用来承载语音、视频聊天等实时业务。如果接收侧的缓存时间过长,势必造成上层防抖动缓存区(JitterBuffer)超时丢包,导致实时业务质量随丢包率变化很大。因此在保证RLC协议功能不受影响的前提下,如何降低内存消耗,同时保证TCP吞吐率稳定和实时业务的服务质量就成为一个亟待解决的技术问题。
技术实现思路
本申请所要解决的技术问题是提供一种AM模式下的RLC实体的接收侧,能够解决现有AM模式下的RLC实体的接收侧的上述缺陷。为此,本申请还要提供相应的AM模式下的RLC实体的接收侧接收数据的方法。为解决上述技术问题,本申请提供了一种AM模式下的RLC实体的接收侧,包括RLC控制单元、路由单元、接收窗单元、重排序单元、滑动窗判决单元、SDU重组单元。所述RLC控制单元用来从路由单元接收RLC控制PDU,还用来从滑动窗判决单元接收更新后的接收窗信息,并作为上报RLC控制包的依据。所述路由单元用来从底层接收数据PDU并传输给接收窗单元,还用来从底层接收RLC控制PDU并传输给RLC控制单元。所述接收窗单元用来将路由单元传来的数据PDU与接收窗进行判断;所述接收窗的长度固定,其下沿为变量VR(R),其上沿为变量VR(MR);其中,VR(R)表示接收侧已连续接收到PDU的最大的接收序列号紧挨着的下一个接收序列号;VR(MR)为VR(R)与接收窗的固定长度之和;如果收到的PDU的接收序列号位于接收窗之外,将该PDU丢弃;如果收到的PDU的接收序列号位于接收窗之内,则缓存该PDU并提交给重排序单元。所述重排序单元用来将接收窗单元缓存的数据PDU按照接收序列号的升序进行排列。所述滑动窗判决单元用来对排序后的数据PDU进行组包,并将解析出的数据SDU或数据SDU的分段交给上层,丢弃所有无法解析的SDU或SDU分段。所述滑动窗判决单元还用来在VR(R)=VR(H)时正常更新接收窗;这是指当从VR(R)开始连续地收到k个数据PDU时,则使接收窗的下沿VR(R)和上沿VR(MR)同步地向上增大k值;其中,VR(H)表示接收侧已接收到PDU的最大的接收序列号紧挨着的下一个接收序列号。所述滑动窗判决单元还用来在VR(R)≠VR(H)、且VR(H)-VR(R)≥A时计算当前丢包率VR(LR);如果VR(LR)<丢包率阈值,则强制更新接收窗;这是指将新的VR(R)设定为现有的VR(H),同步调整VR(MR),这使接收窗的下沿和上沿同步地向上增大VR(H)-VR(R)值;其中,VR(LR)表示接收侧的当前丢包率,计算公式如下:所述滑动窗判决单元还用来将更新后的接收窗信息通知RLC控制单元。所述SDU重组单元将分段的数据SDU重新组合成一个完整的数据SDU。上述AM模式下的RLC实体的接收侧通过新增的强制更新接收窗的操作,减小了实时业务的延时。进一步地,所述接收窗单元收到的PDU如果出现漏包,那么滑动窗判决单元将从数据PDU中解析出数据SDU或者数据SDU的分段,并将能够从数据PDU中解析出的数据SDU或数据SDU的分段交给SDU重组单元;当符合强制更新接收窗的条件时,滑动窗判决单元强制更新接收窗;此后,如果接收窗单元又收到之前漏掉的数据PDU,则丢弃该PDU。这是通过在VR(R)≠VR(H)时对数据PDU进行提前组包,降低了接收窗中缓存的数据对内存的占用。进一步地,所述常量A设为200到300之间。常量A的取值越小,则接收窗所占用的内存资源就越小。这是一种优选的实现方式。进一步地,VR(H)-VR(R)≥A改为VR(H)-VR(R)≤A。此时,常量A用于严格限定接收窗所占用的内存资源。进一步地,所述丢包率阈值设置为大于0且小于或等于5%。这是一种优选的实现方式。本申请还提供了一种AM模式下的RLC实体接收数据的方法,包括如下步骤。步骤S210:从底层接收数据PDU。步骤S220:将收到的数据PDU与接收窗进行判断;如果收到的PDU的接收序列号位于接收窗之内,则缓存该PDU;如果收到的PDU的接收序列号位于接收窗之外,将该PDU丢弃。步骤S230:将缓存的数据PDU按照接收序列号的升序排列。步骤S240:判断VR(R)是否等于VR(H)?如果是,则进入步骤S290;否则进入步骤S250。步骤S250:判断VR(H)-VR(R)是否大于或等于常量A?如果是,进入步骤S260;否则退出流程,本次接收结束。步骤S260:根据VR(R)和VR(H)计算当前丢包率VR(LR)。步骤S270:判断VR(LR)是否大于或等于丢包率阈值?如果是,则退出流程,本次接收结束;否则进入步骤S280。步骤S280:对VR(R)到VR(H)之间收到的数据PDU进行组包,并将解析出的数据SDU或数据SDU的分段交给上层,丢弃所有无法解析的SDU或SDU分段;同时强制更新接收窗,即将新的VR(R)设定为现有的VR(H),同步调整VR(MR),这使接收窗的下沿和上沿同步地向上增大VR(H)-VR(R)值;随后进入步骤S295。步骤S290:对收到的数据PDU进行组包,并将解析出的数据SDU或数据SDU的分段交给上层,丢弃所有无法解析的SDU本文档来自技高网
...

【技术保护点】
1.一种AM模式下的RLC实体的接收侧,其特征是,包括RLC控制单元、路由单元、接收窗单元、重排序单元、滑动窗判决单元、SDU重组单元;/n所述RLC控制单元用来从路由单元接收RLC控制PDU,还用来从滑动窗判决单元接收更新后的接收窗信息,并作为上报RLC控制包的依据;/n所述路由单元用来从底层接收数据PDU并传输给接收窗单元,还用来从底层接收RLC控制PDU并传输给RLC控制单元;/n所述接收窗单元用来将路由单元传来的数据PDU与接收窗进行判断;所述接收窗的长度固定,其下沿为变量VR(R),其上沿为变量VR(MR);其中,VR(R)表示接收侧已连续接收到PDU的最大的接收序列号紧挨着的下一个接收序列号;VR(MR)为VR(R)与接收窗的固定长度之和;如果收到的PDU的接收序列号位于接收窗之外,将该PDU丢弃;如果收到的PDU的接收序列号位于接收窗之内,则缓存该PDU并提交给重排序单元;/n所述重排序单元用来将接收窗单元缓存的数据PDU按照接收序列号的升序进行排列;/n所述滑动窗判决单元用来对排序后的数据PDU进行组包,并将解析出的数据SDU或数据SDU的分段交给上层,丢弃所有无法解析的SDU或SDU分段;/n所述滑动窗判决单元还用来在VR(R)=VR(H)时正常更新接收窗;这是指当从VR(R)开始连续地收到k个数据PDU时,则使接收窗的下沿VR(R)和上沿VR(MR)同步地向上增大k值;其中,VR(H)表示接收侧已接收到PDU的最大的接收序列号紧挨着的下一个接收序列号;/n所述滑动窗判决单元还用来在VR(R)≠VR(H)、且VR(H)-VR(R)≥A时计算当前丢包率VR(LR);如果VR(LR)<丢包率阈值,则强制更新接收窗;这是指将新的VR(R)设定为现有的VR(H),同步调整VR(MR),这使接收窗的下沿和上沿同步地向上增大VR(H)-VR(R)值;其中,VR(LR)表示接收侧的当前丢包率,计算公式如下:/n...

【技术特征摘要】
1.一种AM模式下的RLC实体的接收侧,其特征是,包括RLC控制单元、路由单元、接收窗单元、重排序单元、滑动窗判决单元、SDU重组单元;
所述RLC控制单元用来从路由单元接收RLC控制PDU,还用来从滑动窗判决单元接收更新后的接收窗信息,并作为上报RLC控制包的依据;
所述路由单元用来从底层接收数据PDU并传输给接收窗单元,还用来从底层接收RLC控制PDU并传输给RLC控制单元;
所述接收窗单元用来将路由单元传来的数据PDU与接收窗进行判断;所述接收窗的长度固定,其下沿为变量VR(R),其上沿为变量VR(MR);其中,VR(R)表示接收侧已连续接收到PDU的最大的接收序列号紧挨着的下一个接收序列号;VR(MR)为VR(R)与接收窗的固定长度之和;如果收到的PDU的接收序列号位于接收窗之外,将该PDU丢弃;如果收到的PDU的接收序列号位于接收窗之内,则缓存该PDU并提交给重排序单元;
所述重排序单元用来将接收窗单元缓存的数据PDU按照接收序列号的升序进行排列;
所述滑动窗判决单元用来对排序后的数据PDU进行组包,并将解析出的数据SDU或数据SDU的分段交给上层,丢弃所有无法解析的SDU或SDU分段;
所述滑动窗判决单元还用来在VR(R)=VR(H)时正常更新接收窗;这是指当从VR(R)开始连续地收到k个数据PDU时,则使接收窗的下沿VR(R)和上沿VR(MR)同步地向上增大k值;其中,VR(H)表示接收侧已接收到PDU的最大的接收序列号紧挨着的下一个接收序列号;
所述滑动窗判决单元还用来在VR(R)≠VR(H)、且VR(H)-VR(R)≥A时计算当前丢包率VR(LR);如果VR(LR)<丢包率阈值,则强制更新接收窗;这是指将新的VR(R)设定为现有的VR(H),同步调整VR(MR),这使接收窗的下沿和上沿同步地向上增大VR(H)-VR(R)值;其中,VR(LR)表示接收侧的当前丢包率,计算公式如下:



所述滑动窗判决单元还用来将更新后的接收窗信息通知RLC控制单元;
所述SDU重组单元将分段的数据SDU重新组合成一个完整的数据SDU。


2.根据权利要求1所述的AM模式下的RLC实体的接收侧,其特征是,所述接收窗单元收到的PDU如果出现漏包,那么滑动窗判决单元将从数据PDU中解析出数据SDU或者数据SDU的分段,并将能够从数据PDU中解析出的数据SDU或数据SDU的分段交给SDU重组单元;当符合强制更新接收窗的条件时,滑动窗判决单元强制更新接收窗;此后,如果接收窗单元又收到之前漏掉的数据PDU,则丢弃该PDU。


3.根据权利要求1所述的AM模式下的RLC实体的接收侧,其特征是,所述常量A设为200到300之间;常量A的取值越小,则接收窗所占用的内存资源就越小。


4.根据权利要求1所述的AM模式下的RLC实体的接收侧,其特征是,VR(H)-VR(R)≥A改为VR(H)-VR(R)≤A。


5.根据权利要求1所述的AM模式下的RLC...

【专利技术属性】
技术研发人员:高鹏
申请(专利权)人:翱捷智能科技上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1