一种ROHC压缩器及其实现方法技术

技术编号:24215195 阅读:51 留言:0更新日期:2020-05-20 18:46
本申请公开了一种ROHC压缩器的实现方法,包括如下步骤。步骤S110:ROHC压缩器收到新的网络数据包A(n)。步骤S120:ROHC压缩器查找到成功压缩、且未由于丢弃定时器超时而被丢弃的最新的一个网络数据包A(n‑r),r为大于或等于1的整数。步骤S130:ROHC压缩器基于该网络数据包A(n‑r)的报头对本次处理的网络数据包A(n)的报头进行LSB编码。步骤S140:ROHC压缩器输出本次处理的网络数据包A(n)的原始报头以及编码后的报头。本申请避免了ROHC解压器在特定条件下的解压失败场景。

A ROHC compressor and its implementation

【技术实现步骤摘要】
一种ROHC压缩器及其实现方法
本申请涉及一种移动终端中的考虑丢弃定时器背景下的ROHC压缩器及其实现方法。
技术介绍
ROHC(RobustHeaderCompression,鲁棒性报头压缩)是一种对网络数据包的报头(header)进行压缩的技术。所述报头包括静态域(staticfield)和动态域(dynamicfield),并分别有各自的值。ROHC的功能实体包括压缩器和解压器。ROHC编码算法用来研究网络数据包的报头中动态域的变化规律,ROHC压缩器通过ROHC编码算法将原始内容进行压缩以尽量减小其长度,同时要确保ROHC解压器可以正确解析出原始内容。LSB(LeastSignificantBits,最低有效位)编码算法是最基础的一种ROHC编码算法,其他ROHC编码算法可看作是对其的一种改良、或者对编码对象的一种改良以使得该对象可以适配LSB算法。申请公布号为CN101411157A、申请公布日为2009年4月15日的中国专利技术专利申请《用于在稳健标头压缩中加强局部修复的方法和系统》的说明书第5页倒数第二段至第6页倒数第二段对LSB编码算法有着较为详细的介绍。LSB编码算法应用于ROHC技术时具有以下特点。ROHC压缩器将成功压缩的上一个值作为本次压缩的参考值。ROHC解压器将成功解压的上一个值作为本次解压的参考值。正常情况下,ROHC压缩器成功压缩的上一个值与ROHC解压器成功解压的上一个值是同一个值。在LTE(LongTermEvolution,长期演进技术)等移动通讯系统中,移动终端(UE,UserEquipment,用户设备)的PDCP(PacketDataConvergenceProtocol,分组数据汇聚协议)子层得到来自上层的IP(InternetProtocol,互联网协议)数据分组后,可以对IP数据分组进行报头压缩和加密,然后提交到RLC(RadioLinkControl,无线链路控制)子层。每一个PDCPSDU(ServiceDataUnit,服务数据单元)对应一个丢弃定时器(DiscardTimer)。发射机一旦接收到一个PDCPSDU,即启动该PDCPSDU对应的丢弃定时器。当丢弃定时器超时而移动终端仍未发起该PDCPSDU的上行传输,就丢弃该PDCPSDU。这一丢弃机制可以防止发射机的过度延时和排队现象。这也可以理解为,经过PDCP子层后的每个压缩数据包都被设置了存活时长,由一个丢弃定时器进行计时,超时而未能传输的压缩数据包将被丢弃。例如移动终端要向基站(eNodeB)连续发送5个数据包,第1个数据包由基站接收到,第2至第4个数据包在移动终端内部由于丢弃计时器超时而被丢弃了因此基站没有接收到。那么移动终端中的ROHC压缩器在对第5个数据包进行报头压缩时,是以成功压缩的上一个值(即第4个数据包)作为本次压缩的参考值。如果第5个数据包由基站接收到,基站中的ROHC解压器在对第5个数据包进行报头解压时,是以成功解压的上一个值(即第1个数据包)作为本次解压的参考值。这有可能导致ROHC解压器无法解压成功、或者得到错误的解压结果。
技术实现思路
本申请所要解决的技术问题是提供一种考虑丢弃定时器背景下的ROHC压缩器的实现方法。为此,本申请还要提供一种ROHC压缩器。为解决上述技术问题,本申请提供了一种ROHC压缩器的实现方法,包括如下步骤。步骤S110:ROHC压缩器收到新的网络数据包A(n)。步骤S120:ROHC压缩器查找到成功压缩、且未由于丢弃定时器超时而被丢弃的最新的一个网络数据包A(n-r),r为大于或等于1的整数。步骤S130:ROHC压缩器基于该网络数据包A(n-r)的报头对本次处理的网络数据包A(n)的报头进行LSB编码。步骤S140:ROHC压缩器输出本次处理的网络数据包A(n)的原始报头以及编码后的报头。上述ROHC压缩器的实现方法是本申请的实施例一,一旦发现有成功压缩的网络数据包因丢弃定时器超时而被丢弃,则不再以被丢弃的网络数据包的报头作为新接收的网络数据包的报头压缩的参考值,避免了ROHC解压器在特定条件下的解压失败场景。进一步地,所述步骤S110之前还包括基于每个网络数据包的报头做分流处理。这是一种优选的实现方式。进一步地,所述步骤S140之后还包括如下步骤。步骤S310:经过报头压缩的网络数据包A(n)被缓存。步骤S320:ROHC压缩器检查在成功压缩的多个网络数据包的缓存队列中是否存在由于丢弃定时器超时而被丢弃的情形;如果是,则进入步骤S330;如果否,则退出整个方法。步骤S330:将在所述成功压缩的网络数据包的缓存队列中,某一个或多个连续被丢弃的网络数据包称为A(p)至A(q);ROHC压缩器在所述成功压缩的网络数据包的缓存队列中,查找到A(p)至A(q)之前的网络数据包A(p-1)、以及A(p)至A(q)之后的网络数据包A(q+1)。步骤S340:ROHC压缩器基于网络数据包A(p-1)的报头对网络数据包A(q+1)的报头重新进行LSB编码。上述ROHC压缩器的实现方法是本申请的实施例二,一旦发现有成功压缩的网络数据包因丢弃定时器超时而被丢弃,则在成功压缩的网络数据包的缓存队列中,对以被丢弃的网络数据包的报头作为报头压缩的参考值的那些网络数据包的报头重新进行LSB编码,避免了ROHC解压器在特定条件下的解压失败场景。进一步地,所述步骤S330中,当p等于q时,A(p)至A(q)表示只有一个被丢弃的网络数据包;当p不等于q时,A(p)至A(q)表示有两个以上连续被丢弃的网络数据包。这是两种常见的情形。进一步地,所述步骤S330中,比较q-p与第一阈值的大小;当q-p≥第一阈值时,进入步骤S340;当q-p<第一阈值时,不进入步骤S340。这是本申请的实施例二的变形,用来减轻频繁进行LSB重新编码对移动终端的处理能力的负担,改为累计到一定数量后再对一批网络数据包进行LSB重新编码。进一步地,将步骤S330改为步骤S332,将步骤S340改为步骤S342至步骤S344。步骤S332:将在所述成功压缩的网络数据包的缓存队列中,某一个或多个连续被丢弃的网络数据包称为A(p)至A(q);ROHC压缩器在所述成功压缩的网络数据包的缓存队列中,查找到A(p)至A(q)之后的网络数据包A(q+1)。步骤S342:ROHC压缩器将网络数据包A(q+1)的状态转为D-CHECK状态。步骤S344:当状态为D-CHECK的网络数据包A(q+1)得到基站上行调度授权时,ROHC压缩器判断其进行LSB编码时作为参考值的那个网络数据包与移动终端上一次已发送的网络数据包是否相同;如相同,则ROHC压缩器直接发送该网络数据包A(q+1);如不同,则ROHC压缩器基于移动终端上一次已发送的网络数据包的报头对网络数据包A(q+1)的报头重新进行LSB编码,并在编码后发送该重新编码的网络数据包A(q+1)。上述ROHC压缩器的实现方法是本申请的实施例三,一旦发现有成功压缩的网络数据包因丢弃定时器超时而被丢弃,本文档来自技高网
...

【技术保护点】
1.一种ROHC压缩器的实现方法,其特征是,包括如下步骤:/n步骤S110:ROHC压缩器收到新的网络数据包A(n);/n步骤S120:ROHC压缩器查找到成功压缩、且未由于丢弃定时器超时而被丢弃的最新的一个网络数据包A(n-r),r为大于或等于1的整数;/n步骤S130:ROHC压缩器基于该网络数据包A(n-r)的报头对本次处理的网络数据包A(n)的报头进行LSB编码;/n步骤S140:ROHC压缩器输出本次处理的网络数据包A(n)的原始报头以及编码后的报头。/n

【技术特征摘要】
1.一种ROHC压缩器的实现方法,其特征是,包括如下步骤:
步骤S110:ROHC压缩器收到新的网络数据包A(n);
步骤S120:ROHC压缩器查找到成功压缩、且未由于丢弃定时器超时而被丢弃的最新的一个网络数据包A(n-r),r为大于或等于1的整数;
步骤S130:ROHC压缩器基于该网络数据包A(n-r)的报头对本次处理的网络数据包A(n)的报头进行LSB编码;
步骤S140:ROHC压缩器输出本次处理的网络数据包A(n)的原始报头以及编码后的报头。


2.根据权利要求1所述的ROHC压缩器的实现方法,其特征是,所述步骤S110之前还包括基于每个网络数据包的报头做分流处理。


3.根据权利要求1所述的ROHC压缩器的实现方法,其特征是,所述步骤S140之后还包括如下步骤:
步骤S310:经过报头压缩的网络数据包A(n)被缓存;
步骤S320:ROHC压缩器检查在成功压缩的多个网络数据包的缓存队列中是否存在由于丢弃定时器超时而被丢弃的情形;如果是,则进入步骤S330;如果否,则退出整个方法;
步骤S330:将在所述成功压缩的网络数据包的缓存队列中,某一个或多个连续被丢弃的网络数据包称为A(p)至A(q);ROHC压缩器在所述成功压缩的网络数据包的缓存队列中,查找到A(p)至A(q)之前的网络数据包A(p-1)、以及A(p)至A(q)之后的网络数据包A(q+1);
步骤S340:ROHC压缩器基于网络数据包A(p-1)的报头对网络数据包A(q+1)的报头重新进行LSB编码。


4.根据权利要求3所述的ROHC压缩器的实现方法,其特征是,所述步骤S330中,当p等于q时,A(p)至A(q)表示只有一个被丢弃的网络数据包;当p不等于q时,A(p)至A(q)表示有两个以上连续被丢弃的网络数据包。


5.根据权利要求3所述的ROHC压缩器的实现方法,其特征是,所述步骤S330中,比较q-p与第一阈值的大小;当q-p≥第一阈值时,进入步骤S340;当q-p<第一阈值时,不进入步骤S340。


6.根据权利要求3所述的ROHC压缩器的实现方法,其特征是,将步骤S330改为步骤S332,将步骤S340改为步骤S342至步骤S344;
步骤S332:将在所述成功压缩的网络数据包的缓存队列中,某一个或多个连续被丢弃的网络数据包称为A(p)至A(q);ROHC压缩器在所述成功压缩的网络数据包的缓存队列中,查找到A(p)至A(q)之后的网络数据包A(q+1);
步骤S342:ROHC压缩器将网络数据包A(q+1)的状态转为D-CHECK状态;
步骤S344:当状态为D...

【专利技术属性】
技术研发人员:孙金重胡成松郑锐
申请(专利权)人:翱捷科技上海有限公司
类型:发明
国别省市:上海;31

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

1