CN102149135B - 一种鲁棒性头压缩中更新乱序深度的方法及系统 - Google Patents

一种鲁棒性头压缩中更新乱序深度的方法及系统 Download PDF

Info

Publication number
CN102149135B
CN102149135B CN201110099661.0A CN201110099661A CN102149135B CN 102149135 B CN102149135 B CN 102149135B CN 201110099661 A CN201110099661 A CN 201110099661A CN 102149135 B CN102149135 B CN 102149135B
Authority
CN
China
Prior art keywords
order
depth value
module
decompression machine
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201110099661.0A
Other languages
English (en)
Other versions
CN102149135A (zh
Inventor
董淑松
毕文勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing ZTE New Software Co Ltd
Original Assignee
Nanjing ZTE New Software Co Ltd
Filing date
Publication date
Application filed by Nanjing ZTE New Software Co Ltd filed Critical Nanjing ZTE New Software Co Ltd
Priority to CN201110099661.0A priority Critical patent/CN102149135B/zh
Publication of CN102149135A publication Critical patent/CN102149135A/zh
Priority to PCT/CN2011/082618 priority patent/WO2012142833A1/zh
Priority to EP11863729.7A priority patent/EP2675128B1/en
Priority to AU2011365883A priority patent/AU2011365883B2/en
Priority to US14/003,543 priority patent/US9525650B2/en
Application granted granted Critical
Publication of CN102149135B publication Critical patent/CN102149135B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种鲁棒性头压缩中更新乱序深度的方法及系统,该方法包括:解压器在判断出数据包发生乱序时,对乱序状况进行估计,并据以判断是否需要采用更健壮的乱序处理策略,如果不需要,则保持所述解压器侧的乱序深度值;如果需要,则更新所述解压器侧的乱序深度值为一更大值,并向压缩器发送携带所述更新后的乱序深度值的反馈包;所述压缩器接收到所述反馈包后,根据所述反馈包中的乱序深度值更新所述压缩器侧的乱序深度值。该方法能够根据乱序状况有效地更新乱序深度,从而使得LSB P值动态调整,进而在有效确保当前压缩策略的健壮性时,还能有效兼顾压缩效率。

Description

一种鲁棒性头压缩中更新乱序深度的方法及系统
技术领域
本发明涉及移动通信领域中的一种鲁棒性头压缩算法,主要是提出一种在乱序递交链路环境下,通过测量乱序比例(reorder_ratio),闭环修复LSB(Least Significant Bits)算法中使用的P值的方法。
背景技术
由于物理条件的限制,移动通信系统中的无线链路与有线链路相比传输速率较低,误码率较高。为了能有效利用有限的无线信道带宽资源,引入了鲁棒性头压缩技术(RObust Header Compress,以下简称ROHC)。ROHC的核心是利用业务流的分组之间的信息冗余来透明的压缩和解压缩直接相连节点间的分组头中的信息。ROHC技术由IETF(互联网工程任务组)的RFC3095文档进行描述。
LSB(Least Significant Bits)算法是ROHC技术中的重要算法,它主要用于压缩序列号MSN(Master Sequence Number)信息。LSB压缩算法通过使用一个参考值V_ref以及指定P值,将一个待压缩的,占k1比特位的值A进行LSB压缩,随后得到一个压缩后的,占用更少比特位k2的,与V_ref关联的值B。通过LSB压缩,没有变化的比特位被删除掉了,B值所表示的即为从值V_ref变化到值A的最低有效位(即B=A的低k2位)。采用LSB解压缩将压缩后的值进行还原的过程与上述过程相反。
ROHC是在2001年发布的,因为当时的链路几乎不存在乱序递交的情况,所以ROHC在设计之初就被定义为应用在按序递交的链路上。随着时间地推移,ROHC已经广泛地应用于越来越多的无线设备上,和其它压缩算法相比,“不能有效地工作在乱序递交链路上”也就成为了ROHC的一个弱点。
在按序递交的链路上,从源端ROHC压缩器发送出去的压缩包在通过链路传输后,在目的端可以被按序递交给ROHC解压器。比如压缩器依次发送5包数据包1,2,3,4,5,那么解压器接收到这些数据包的顺序也是1,2,3,4,5,这样的一个过程是ROHC期望的,同时也是它正常工作的一个条件;在非按序递交链路上,数据包的顺序有可能被底层链路影响,使得位于目的端的ROHC解压器接收到的数据包顺序和源端ROHC压缩器发送的顺序不一致,最终导致解压器无法正常解压数据包。比如压缩器依次发送5包数据包1,2,3,4,5,在链路传送过程中,由于数据包3在底层链路上发生了错误重传,使得解压器接收到这些数据包的顺序是1,2,4,5,3,其中数据包3被称为序列晚包,数据包4,5被称为序列早包,序列早包的个数被称为乱序深度,此例中为2。这样的一个过程是不被ROHC期望的,对于序列早包的异常处理可能会引起序列晚包的解压失败,从而导致解压器状态迁移,影响压缩效率;对于序列晚包的异常处理可能会引起压缩器和解压器上下文不同步,影响健壮性。由于数据包在链路中的乱序过程是无法预期的,它可能发生在ROHC处理过程的任何阶段,所以在发生这种情况时,对数据包3,4,5的处理方法会直接影响到整个ROHC的效率和健壮性。
为了改善这种情况,在2006年IETE发布了RFC4224文档,在这份文档中,围绕着ROHC如何兼容乱序递交的链路,提出了多种能够提高其压缩效率和健壮性的方法。但是在RFC4224中提出的所有方案中,由于压缩器和解压器之间不存在有关乱序深度的反馈,压缩器无法确切地获得当前链路的最大乱序深度,最终导致在选择合适的LSB编码P值时,压缩器只能单方面进行估计,而这样一种估计在一些场合是无法真正避免因为乱序导致的解压问题的。
作为ROHC的第二个版本,RFC5225采纳了RFC4224中的若干思想,在计算LSB P值时引入了乱序比例(reorder_ratio)的概念,即动态地调整LSB P值为2^(k-2)*reorder_ratio(如图1所示,其中reorder_ratio的取值只能为0,1,2,3中的一种),从而使得ROHCv2可以在一定程度上支持乱序递交。
但是在具体实现时,由于压缩器和解压器之间并没有针对当前链路中的乱序状况进行有效沟通,所以让人无法准确把握该值的选取。比如压缩器通过调整LSB算法中的P值来解决乱序递交问题时,RFC4224文档中只是举例将P取值为2^k/3,但是在不同链路上到底是取2^k/4,2^k/2,还是2^k*3/4,文档中并没有描述。因为对于整个ROHC而言,选取不同P值时的压缩效率和健壮性是完全不同的,所以对于RFC5225本身而言,它并没有引入新的乱序处理方法,因此同样不能解决RFC4224存在的问题。
发明内容
本发明要解决的技术问题是,提供一种鲁棒性头压缩中更新乱序深度的方法及系统,能够根据乱序状况有效地更新乱序深度,从而使得LSB P值动态调整,进而有效确保当前压缩策略的健壮性的同时,还能有效兼顾压缩效率。
为了解决上述技术问题,本发明提出一种鲁棒性头压缩中更新乱序深度的方法,包括:
解压器在判断出数据包发生乱序时,对乱序状况进行估计,并据以判断是否需要采用更健壮的乱序处理策略,如果不需要,则保持所述解压器侧的乱序深度值;如果需要,则更新所述解压器侧的乱序深度值为一更大值,并向压缩器发送携带所述更新后的乱序深度值的反馈包;
所述压缩器接收到所述反馈包后,根据所述反馈包中的乱序深度值更新所述压缩器侧的乱序深度值。
进一步地,上述方法还可具有以下特点:
所述解压器判断数据包是否发生乱序包括:
将接收到的数据包的序列号与记录的当前最大序列号进行比较,如果小于所述最大序列号,则认为发生乱序;否则,认为未发生乱序,更新所述最大序列号为所述接收到的数据包的序列号。
进一步地,上述方法还可具有以下特点:
所述解压器在判断数据包是否发生乱序之前,还包括:
根据接收到的数据包的序列号进行数据包还原处理,对还原出的数据包进行校验,如果校验成功,则进行乱序判断;如果校验失败,则进行乱序修复处理,如果修复成功,则进行乱序判断;如果修复失败,则丢弃所述数据包,不进行乱序判断;
所述乱序修复处理包括:判断所述解压器侧的乱序深度值是否还可增大,如果不可增大,则认为修复失败;如果还可增大,则以一更大值作为所述解压器侧的乱序深度值进行序列号还原计算,以还原出的新的序列号进行数据包还原处理,对还原出的数据包进行校验,如果校验失败,则认为修复失败,如果校验成功,则认为修复成功,并更新修复成功个数记录。
进一步地,上述方法还可具有以下特点:
所述解压器对乱序状况进行估计包括:根据所述修复成功个数记录和所述解压器侧的乱序深度值对乱序状况进行估计;
所述解压器在更新所述解压器侧的乱序深度值后,还将所述修复成功个数记录置为初始值。
进一步地,上述方法还可具有以下特点:
所述压缩器根据所述反馈包中的乱序深度值更新所述压缩器侧的乱序深度值包括:
判断所述压缩器侧的乱序深度值是否小于所述反馈包中的乱序深度值,如果是,则更新所述压缩器侧的乱序深度值为所述反馈包中的乱序深度值;否则,向解压器发送初始化和刷新(IR)包,以进行乱序深度值同步。
进一步地,上述方法还可具有以下特点:
所述更大值等于所述解压器侧的乱序深度值自增1后的值;
所述乱序深度值包括0、1、2、3。
为了解决上述技术问题,本发明还提出一种解压器,包括:
接收模块,用于接收鲁棒性头压缩数据包;
存储模块,用于存储一乱序深度值;
乱序检测模块,与所述接收模块相连,用于检测所述接收模块接收到的数据包是否发生乱序,在检测出发生乱序时,发送乱序估计指令;
乱序估计模块,与所述乱序检测模块相连,用于根据所述乱序估计指令对乱序状况进行估计,得到一估计结果;
更新判断模块,与所述乱序估计模块相连,用于根据所述估计结果,判断是否需要采用更健壮的乱序处理策略,如果需要,则发送乱序深度更新指令;
乱序深度更新模块,与所述存储模块和所述更新判断模块均相连,用于根据所述乱序深度更新指令,将所述存储模块中的乱序深度值更新为一更大值,并发送携带所述更新后的乱序深度值的反馈包。
进一步地,上述解压器还可具有以下特点:
所述存储模块,还用于存储一当前最大序列号;
所述乱序检测模块包括:
比较单元,用于将接收到的数据包的序列号与所述当前最大序列号进行比较,得到一比较结果;
判断处理单元,与所述比较单元和所述存储模块均相连,用于获取并判断所述比较结果,如果所述比较结果为接收到的数据包的序列号小于所述最大序列号,则认为发生乱序;否则,认为未发生乱序,更新所述存储模块中的所述最大序列号为所述接收到的数据包的序列号。
进一步地,上述解压器还可具有以下特点:
所述存储模块,还用于存储一修复成功个数记录;
所述乱序检测模块,用于在接收到检测控制指令后,才执行乱序检测;
所述解压器还包括:
校验模块,位于所述接收模块与所述乱序检测模块之间,用于根据接收到的数据包的序列号进行数据包还原处理,对还原出的数据包进行校验,如果校验成功,向所述乱序检测模块发送检测控制指令;如果校验失败,则发送乱序修复指令;
乱序修复模块,与所述校验模块和所述乱序检测模块均相连,用于判断所述存储模块中的乱序深度值是否还可增大,如果不可增大,则认为修复失败,丢弃所述数据包;如果还可增大,则以一更大值作为所述解压器侧的乱序深度值进行序列号还原计算,以还原出的新的序列号进行数据包还原处理,对还原出的数据包进行校验,如果校验失败,则认为修复失败,丢弃所述数据包;如果校验成功,则认为修复成功,更新所述修复成功个数记录,向所述乱序检测模块发送检测控制指令。
进一步地,上述解压器还可具有以下特点:
所述乱序估计模块,在估计乱序状况时,是根据所述修复成功个数记录和所述存储模块中的乱序深度值对乱序状况进行估计;
所述乱序深度更新模块,在更新所述存储模块中的乱序深度值后,还将所述存储模块中的修复成功个数记录置为初始值。
进一步地,上述解压器还可具有以下特点:
所述更大值等于所述解压器侧的乱序深度值自增1后的值;
所述乱序深度值包括0、1、2、3。
为了解决上述技术问题,本发明还提出一种压缩器,包括:
存储模块,用于存储一乱序深度值;
接收解析模块,用于接收包含乱序深度值的反馈包,从中解析出乱序深度值;
比较模块,与所述接收解析模块和所述存储模块均相连,用于比较所述存储模块中的乱序深度值是否小于所述反馈包中的乱序深度值,得到一比较结果;
更新处理模块,与所述存储模块和所述比较模块均相连,用于在所述比较结果为所述存储模块中的乱序深度值小于所述反馈包中的乱序深度值时,更新所述存储模块中的乱序深度值为所述反馈包中的乱序深度值;否则,发送初始化和刷新(IR)包,以与解压器进行乱序深度值同步。
为了解决上述技术问题,本发明还提出一种鲁棒性头压缩中更新乱序深度的系统,包括如上所述的解压器和压缩器。
本发明提供的一种鲁棒性头压缩中更新乱序深度的方法及系统,能够根据乱序状况有效地更新乱序深度,从而使得LSB P值动态调整,进而有效确保当前压缩策略的健壮性的同时,还能有效兼顾压缩效率。
附图说明
图1协议定义的LSB算法中P值与reorder_ratio之间的关系图;
图2是本发明实施例一种鲁棒性头压缩中更新乱序深度的方法流程图;
图3是本发明实施例定义的Reorder_Ratio反馈选项示意图;
图4是本发明实施例解压器接收到压缩包时的总体处理流程图;
图5是本发明实施例解压器进行MSN乱序修复的方法流程图;
图6是本发明实施例解压器进行乱序数据包处理的方法流程图;
图7是本发明实施例压缩器对于Reorder_Ratio反馈包的处理流程图;
图8是本发明实施例一种解压器的装置方框图;
图9是本发明实施例一种压缩器的装置方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
参见图2,该图示出了本发明实施例一种鲁棒性头压缩中更新乱序深度的方法,包括步骤:
步骤S201:解压器在判断出数据包发生乱序时,对乱序状况进行估计,并据以判断是否需采用更健壮的乱序处理策略,如果不需要,则保持所述解压器侧的乱序深度值reorder_ratio_D;如果需要,则更新所述解压器侧的乱序深度值reorder_ratio_D为一更大值,并向压缩器发送携带所述更新后的乱序深度值reorder_ratio_D的反馈包;
步骤S202:所述压缩器接收到所述反馈包后,根据所述反馈包中的乱序深度值reorder_ratio_D更新所述压缩器侧的乱序深度值reorder_ratio_C。
本发明实施例在解压流程中增加了乱序分析处理功能,在当前乱序处理策略应对当前乱序状况表现出健壮性不佳时,尝试增大乱序深度值,并以反馈包的形式通知压缩器一侧进行同步更新,实现主动尝试改变LSB P值,进而可以修复一定比例的落在LSB区间以外的数据包,减少头压缩过程中的丢包。
其中,步骤S201中,所述解压器判断数据包是否发生乱序可以采用如下判断方法:将接收到的数据包的序列号msn_current与记录的当前最大序列号max_msn进行比较,如果小于所述最大序列号max_msn,则认为发生乱序;否则,认为未发生乱序,更新所述最大序列号max_msn为所述接收到的数据包的序列号msn_current。
其中,步骤S201中,所述携带所述更新后的乱序深度值reorder_ratio_D的反馈包可以如图3所示。
较佳地,步骤S201中,所述更大值可以选择所述解压器侧的乱序深度值自增1后的值。
较佳地,步骤S201之前,还可以包括下述步骤S203(图中未示出):
步骤S203:根据接收到的数据包的序列号msn_current进行数据包还原处理,对还原出的数据包进行校验,如果校验成功,则进行乱序判断;如果校验失败,则进行乱序修复处理,如果修复成功,则进行乱序判断;如果修复失败,则丢弃所述数据包,不进行乱序判断。
其中,步骤S203中所述乱序修复处理可以包括:判断所述解压器侧的乱序深度值reorder_ratio_D是否还可增大,如果不可增大,则认为修复失败;如果还可增大,则以一更大值作为所述解压器侧的乱序深度值reorder_ratio_D进行序列号还原计算,以还原出的新的序列号msn_currtent_new进行数据包还原处理,对还原出的数据包进行校验,如果校验失败,则认为修复失败,如果校验成功,则认为修复成功,并更新修复成功个数记录repair_num。较佳地,所述更大值可以选择所述解压器侧的乱序深度值自增1后的值。
其中,所述校验可以是例如CRC之类的校验,本发明在此不做限制。
其中,可以以一计数器对修复成功个数repair_num进行记录。
本发明实施例在解压流程中增加了乱序修复功能(步骤S203),即,对校验失败的原因进行猜测,将序列晚包导致的LSB计算错误作为其根本原因,根据当前的reorder_ratio值调整LSB算法的解压参考区间,再次还原MSN值,最后重新进行CRC校验,从而验证校验失败原因是否为序列晚包导致,如果是,则可针对这类校验失败的数据包进行乱序处理。
其中,步骤S201中,所述解压器对乱序状况进行估计可以是:根据所述修复成功个数记录和所述解压器侧的乱序深度值对乱序状况进行估计。例如,可设置判断条件为,当repair_num>=100时,认为需要采用更加健壮的乱序策略;或者,设置判断条件为,当(repair_num)/(reorder_ratio+1)>=100时,认为需要采用更加健壮的乱序策略。具体的判断条件可以根据需要设置,本发明在此不做限制。相应地,所述解压器在更新所述解压器侧的乱序深度值后,还将所述修复成功个数repair_num记录置为初始值。
其中,步骤S202中,所述压缩器根据所述反馈包中的乱序深度值更新所述压缩器侧的乱序深度值可以包括步骤:判断所述压缩器侧的乱序深度值是否小于所述反馈包中的乱序深度值,如果是,则更新所述压缩器侧的乱序深度值为所述反馈包中的乱序深度值;否则,向解压器发送初始化和刷新(IR)包,以进行乱序深度值同步。
为了进一步说明本发明上述方案,下面结合图4、5、6、7进行说明。
参见图4,该图示出了本发明所涉及的解压器对压缩数据包的处理流程,包括步骤:
步骤S401:解压器的解压流程启动,进入步骤S402;
步骤S402:所述解压器根据压缩包类型信息,分析接收到的压缩数据包,将待解压的MSN信息取出,进入步骤S403;
步骤S403:所述解压器调用LSB解码算法对压缩的MSN进行解码,获取原始的MSN值,记为msn_current,进入步骤S404;
步骤S404:所述解压器使用msn_current进行数据包还原处理,并对还原的数据包进行CRC校验,如果校验失败,进入步骤S405,如果校验成功,进入步骤S408;
步骤S405:所述解压器使用MSN乱序修复算法进行修复处理,进入步骤S406;
步骤S406:所述解压器判断采用MSN乱序修复算法是否修复成功,如果成功,则进入步骤S408,如果失败,则进入步骤S407;
步骤S407:所述解压器认为该数据包无法修复,将其丢弃,进入步骤S411;
步骤S408:所述解压器判断数据包是否存在乱序,如果否,进入步骤S409,如果是,进入步骤S410;
步骤S409:所述解压器将max_msn更新为msn_current,进入步骤S411;
步骤S410:所述解压器使用乱序包处理功能对乱序包进行处理,进入步骤S411;
步骤S411:所述解压器处理流程结束。
参见图5,该图示出了本发明所涉及的解压器MSN乱序修复算法(步骤S405)的具体实施方案:
步骤S501:所述解压器乱序修复过程启动,进入步骤S502;
步骤S502:所述解压器获取reorder_ratio_D值,进入步骤S503;
步骤S503:所述解压器判断reorder_ratio_D值是否为最大值3,如果是,进入步骤S210;否则,进入步骤S504;
步骤S504:所述解压器计算reorder_ratio_D_new=reorder_ratio+1,以reorder_ratio_D_new作为新的reorder_ratio_D值,进入步骤S505;
步骤S505:所述解压器使用reorder_ratio_D_new进行MSN还原计算,得到msn_current_new,进入步骤S506;
步骤S506:所述解压器使用msn_current_new进行数据包还原,对还原后的数据包进行CRC校验,进入步骤S507;
步骤S507:判断校验是否成功,如果成功,进入步骤S508;如果失败,进入步骤S510;
步骤S508:所述解压器将修复成功数据包个数计数器加1,进入步骤S509;
步骤S509:所述解压器乱序修复成功,进入步骤S511;
步骤S510:所述解压器乱序修复失败,进入步骤S511;
步骤S511:所述解压器MSN乱序修复流程结束。
参见图6,该图示出了本发明所涉及的解压器对乱序包进行处理(步骤S410)的具体实施方案:
步骤S601:所述解压器乱序数据包处理启动,进入步骤S602;
步骤S602:所述解压器根据repair_num、reorder_ratio等乱序相关信息对当前链路的乱序状况进行评估,进入步骤S603;
步骤S603:所述解压器根据对乱序状况的评估结果判断是否需要采用更健壮的乱序处理策略,如果需要,进入步骤S604;如果不需要,进入步骤S607;
步骤S604:所述解压器更新reorder_ratio_D值等于其自增1运算结果,进入步骤S605;
步骤S605:所述解压器将repair_num置为0,重新统计链路乱序状况,进入步骤S606;
步骤S606:所述解压器封装并发送携带reorder_ratio_D的反馈包,进入步骤S607;
步骤S607:所述解压器乱序数据包处理流程结束。
参见图7,该图示出了本发明所涉及的压缩器对reorder_ratio反馈包处理的实施方案做进一步的详细描述:
步骤S701:压缩器对携带reorder_ratio反馈包处理启动,进入步骤S702;
步骤S702:所述压缩器接收到有效的,类型为Reorder_Ratio的反馈包,进入步骤S703;
步骤S703:所述压缩器获取反馈包和压缩器侧的reorder_ratio值,分别记为reorder_ratio_D和reorder_ratio_C,进入步骤S704;
步骤S704:所述压缩器比较反馈包中的reorder_ratio_D和本地的reorder_ratio_C值,如果reorder_ratio_C小于reorder_ratio_D,进入步骤S706;否则,进入步骤S705;
步骤S705:所述压缩器认为当前reorder_ratio状态不同步,需要发送IR包,进入步骤S707;
步骤S706:所述压缩器将reorder_ratio_C更新为反馈包中的reorder_ratio_D,进入步骤S707;
步骤S707:所述压缩器对reorder_ratio反馈包的处理流程结束。
为了实现上述方法,本发明实施例还提供了一种解压器,如图8所示,包括:
接收模块,用于接收鲁棒性头压缩数据包;
存储模块,用于存储一乱序深度值;
乱序检测模块,与所述接收模块相连,用于检测所述接收模块接收到的数据包是否发生乱序,在检测出发生乱序时,发送乱序估计指令;
乱序估计模块,与所述乱序检测模块相连,用于根据所述乱序估计指令对乱序状况进行估计,得到一估计结果;
更新判断模块,与所述乱序估计模块相连,用于根据所述估计结果,判断是否需要采用更健壮的乱序处理策略,如果需要,则发送乱序深度更新指令;
乱序深度更新模块,与所述存储模块和所述更新判断模块均相连,用于根据所述乱序深度更新指令,将所述存储模块中的乱序深度值更新为一更大值,并发送携带所述更新后的乱序深度值的反馈包。
其中,所述存储模块,还用于存储一当前最大序列号。所述乱序检测模块包括:比较单元,用于将接收到的数据包的序列号与所述当前最大序列号进行比较,得到一比较结果;判断处理单元,与所述比较单元和所述存储模块均相连,用于获取并判断所述比较结果,如果所述比较结果为接收到的数据包的序列号小于所述最大序列号,则认为发生乱序;否则,认为未发生乱序,更新所述存储模块中的所述最大序列号为所述接收到的数据包的序列号。
其中,所述存储模块,还用于存储一修复成功个数记录。所述乱序检测模块,用于在接收到检测控制指令后,才执行乱序检测。所述解压器还可以包括:校验模块,位于所述接收模块与所述乱序检测模块之间,用于根据接收到的数据包的序列号进行数据包还原处理,对还原出的数据包进行校验,如果校验成功,向所述乱序检测模块发送检测控制指令;如果校验失败,则发送乱序修复指令。乱序修复模块,与所述校验模块和所述乱序检测模块均相连,用于判断所述存储模块中的乱序深度值是否还可增大,如果不可增大,则认为修复失败,丢弃所述数据包;如果还可增大,则以一更大值作为所述解压器侧的乱序深度值进行序列号还原计算,以还原出的新的序列号进行数据包还原处理,对还原出的数据包进行校验,如果校验失败,则认为修复失败,丢弃所述数据包;如果校验成功,则认为修复成功,更新所述修复成功个数记录,向所述乱序检测模块发送检测控制指令。
其中,所述乱序估计模块,在估计乱序状况时,是根据所述修复成功个数记录和所述存储模块中的乱序深度值对乱序状况进行估计。所述乱序深度更新模块,在更新所述存储模块中的乱序深度值后,还将所述存储模块中的修复成功个数记录置为初始值。
其中,所述更大值可以等于所述解压器侧的乱序深度值自增1后的值。所述乱序深度值包括0、1、2、3。
为了实现上述方法,本发明实施例还提供了一种压缩装置,如图9所示,包括:
存储模块,用于存储一乱序深度值;
接收解析模块,用于接收包含乱序深度值的反馈包,从中解析出乱序深度值;
比较模块,与所述接收解析模块和所述存储模块均相连,用于比较所述存储模块中的乱序深度值是否小于所述反馈包中的乱序深度值,得到一比较结果;
更新处理模块,与所述存储模块和所述比较模块均相连,用于在所述比较结果为所述存储模块中的乱序深度值小于所述反馈包中的乱序深度值时,更新所述存储模块中的乱序深度值为所述反馈包中的乱序深度值;否则,发送初始化和刷新(IR)包,以与解压器进行乱序深度值同步。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (11)

1.一种鲁棒性头压缩中更新乱序深度的方法,其特征在于,包括:
解压器在判断出数据包发生乱序时,对乱序状况进行估计,并据以判断是否需要采用更健壮的乱序处理策略,如果不需要,则保持所述解压器侧的乱序深度值;如果需要,则更新所述解压器侧的乱序深度值为一更大值,并向压缩器发送携带所述更新后的乱序深度值的反馈包;
所述压缩器接收到所述反馈包后,根据所述反馈包中的乱序深度值更新所述压缩器侧的乱序深度值;
所述解压器对乱序状况进行估计包括:根据修复成功个数记录和所述解压器侧的乱序深度值对乱序状况进行估计;
所述解压器在判断数据包是否发生乱序之前,还包括:
根据接收到的数据包的序列号进行数据包还原处理,对还原出的数据包进行校验,如果校验成功,则进行乱序判断;如果校验失败,则进行乱序修复处理,如果修复成功,则进行乱序判断;如果修复失败,则丢弃所述数据包,不进行乱序判断;
所述乱序修复处理包括:判断所述解压器侧的乱序深度值是否还可增大,如果不可增大,则认为修复失败;如果还可增大,则以一更大值作为所述解压器侧的乱序深度值进行序列号还原计算,以还原出的新的序列号进行数据包还原处理,对还原出的数据包进行校验,如果校验失败,则认为修复失败,如果校验成功,则认为修复成功,并更新修复成功个数记录。
2.如权利要求1所述的方法,其特征在于,所述解压器判断数据包是否发生乱序包括:
将接收到的数据包的序列号与记录的当前最大序列号进行比较,如果小于所述最大序列号,则认为发生乱序;否则,认为未发生乱序,更新所述最大序列号为所述接收到的数据包的序列号。
3.如权利要求1所述的方法,其特征在于:
所述解压器在更新所述解压器侧的乱序深度值后,还将所述修复成功个数记录置为初始值。
4.如权利要求1所述的方法,其特征在于,所述压缩器根据所述反馈包中的乱序深度值更新所述压缩器侧的乱序深度值包括:
判断所述压缩器侧的乱序深度值是否小于所述反馈包中的乱序深度值,如果是,则更新所述压缩器侧的乱序深度值为所述反馈包中的乱序深度值;否则,向解压器发送初始化和刷新包,以进行乱序深度值同步。
5.如权利要求1-4中任何一项所述的方法,其特征在于:
所述更大值等于所述解压器侧的乱序深度值自增1后的值;
所述乱序深度值包括0、1、2、3。
6.一种解压器,其特征在于,包括:
接收模块,用于接收鲁棒性头压缩数据包;
存储模块,用于存储一乱序深度值;
乱序检测模块,与所述接收模块相连,用于检测所述接收模块接收到的数据包是否发生乱序,在检测出发生乱序时,发送乱序估计指令;
乱序估计模块,与所述乱序检测模块相连,用于根据所述乱序估计指令对乱序状况进行估计,得到一估计结果;其中,估计乱序状况时,是根据修复成功个数记录和所述存储模块中的乱序深度值对乱序状况进行估计;
更新判断模块,与所述乱序估计模块相连,用于根据所述估计结果,判断是否需要采用更健壮的乱序处理策略,如果需要,则发送乱序深度更新指令;
乱序深度更新模块,与所述存储模块和所述更新判断模块均相连,用于根据所述乱序深度更新指令,将所述存储模块中的乱序深度值更新为一更大值,并发送携带所述更新后的乱序深度值的反馈包;
校验模块,位于所述接收模块与所述乱序检测模块之间,用于根据接收到的数据包的序列号进行数据包还原处理,对还原出的数据包进行校验,如果校验成功,向所述乱序检测模块发送检测控制指令;如果校验失败,则发送乱序修复指令;
乱序修复模块,与所述校验模块和所述乱序检测模块均相连,用于判断所述存储模块中的乱序深度值是否还可增大,如果不可增大,则认为修复失败,丢弃所述数据包;如果还可增大,则以一更大值作为所述解压器侧的乱序深度值进行序列号还原计算,以还原出的新的序列号进行数据包还原处理,对还原出的数据包进行校验,如果校验失败,则认为修复失败,丢弃所述数据包;如果校验成功,则认为修复成功,更新所述修复成功个数记录,向所述乱序检测模块发送检测控制指令。
7.如权利要求6所述的解压器,其特征在于:
所述存储模块,还用于存储一当前最大序列号;
所述乱序检测模块包括:
比较单元,用于将接收到的数据包的序列号与所述当前最大序列号进行比较,得到一比较结果;
判断处理单元,与所述比较单元和所述存储模块均相连,用于获取并判断所述比较结果,如果所述比较结果为接收到的数据包的序列号小于所述最大序列号,则认为发生乱序;否则,认为未发生乱序,更新所述存储模块中的所述最大序列号为所述接收到的数据包的序列号。
8.如权利要求7所述的解压器,其特征在于:
所述存储模块,还用于存储一修复成功个数记录;
所述乱序检测模块,用于在接收到检测控制指令后,才执行乱序检测。
9.如权利要求8所述的解压器,其特征在于:
所述乱序深度更新模块,在更新所述存储模块中的乱序深度值后,还将所述存储模块中的修复成功个数记录置为初始值。
10.如权利要求6-9中任何一项所述的解压器,其特征在于:
所述更大值等于所述解压器侧的乱序深度值自增1后的值;
所述乱序深度值包括0、1、2、3。
11.一种鲁棒性头压缩中更新乱序深度的系统,其特征在于,包括如权利要求6-10中任何一项所述的解压器和压缩器;
其中,所述压缩器包括:存储模块,用于存储一乱序深度值;
接收解析模块,用于接收如权利要求6-10中任何一项所述的解压器发送的包含乱序深度值的反馈包,从中解析出乱序深度值;
比较模块,与所述接收解析模块和所述存储模块均相连,用于比较所述存储模块中的乱序深度值是否小于所述反馈包中的乱序深度值,得到一比较结果;
更新处理模块,与所述存储模块和所述比较模块均相连,用于在所述比较结果为所述存储模块中的乱序深度值小于所述反馈包中的乱序深度值时,更新所述存储模块中的乱序深度值为所述反馈包中的乱序深度值;否则,发送初始化和刷新包,以与所述的解压器进行乱序深度值同步。
CN201110099661.0A 2011-04-20 2011-04-20 一种鲁棒性头压缩中更新乱序深度的方法及系统 Expired - Fee Related CN102149135B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201110099661.0A CN102149135B (zh) 2011-04-20 一种鲁棒性头压缩中更新乱序深度的方法及系统
PCT/CN2011/082618 WO2012142833A1 (zh) 2011-04-20 2011-11-22 一种鲁棒性头压缩中更新乱序深度的方法及系统
EP11863729.7A EP2675128B1 (en) 2011-04-20 2011-11-22 Method and system for updating reorder depth in robust header compression
AU2011365883A AU2011365883B2 (en) 2011-04-20 2011-11-22 Method and system for updating reorder depth in robust header compression
US14/003,543 US9525650B2 (en) 2011-04-20 2011-11-22 Method and system for updating reorder depth in robust header compression

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110099661.0A CN102149135B (zh) 2011-04-20 一种鲁棒性头压缩中更新乱序深度的方法及系统

Publications (2)

Publication Number Publication Date
CN102149135A CN102149135A (zh) 2011-08-10
CN102149135B true CN102149135B (zh) 2016-12-14

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101371552A (zh) * 2006-01-13 2009-02-18 卢森特技术有限公司 无序输送的信道上的报头压缩方法
CN101453298A (zh) * 2007-12-07 2009-06-10 华为技术有限公司 一种无线网络中头压缩的处理方法及系统、装置
CN101835196A (zh) * 2010-05-14 2010-09-15 中兴通讯股份有限公司 鲁棒性头压缩中一种模式转换的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101371552A (zh) * 2006-01-13 2009-02-18 卢森特技术有限公司 无序输送的信道上的报头压缩方法
CN101453298A (zh) * 2007-12-07 2009-06-10 华为技术有限公司 一种无线网络中头压缩的处理方法及系统、装置
CN101835196A (zh) * 2010-05-14 2010-09-15 中兴通讯股份有限公司 鲁棒性头压缩中一种模式转换的方法和装置

Similar Documents

Publication Publication Date Title
JP5527209B2 (ja) 通信装置およびヘッダ制御方法
JP2016201794A (ja) 故障検出装置、方法及びシステム
CN105450357A (zh) 编码参数的调整、反馈信息的处理方法及装置
JP2018536317A5 (zh)
US20100023846A1 (en) Methods and apparatuses for performing error detection and error correction for synchronization frame
CN113489570B (zh) 一种PCIe链路的数据传输方法、装置及设备
CN106656424A (zh) 一种数据传输的校验方法
CN103763067A (zh) 一种通信数据包纠错校验方法与装置
CN109428672B (zh) 信息编译码方法和装置、信息处理系统
WO2020134258A1 (zh) 一种数据的重传解码方法、装置、系统及通信设备
US8270436B2 (en) Data structure boundary synchronization between a transmitter and receiver
US10200154B2 (en) System and method for early packet header verification
US20140133498A1 (en) Communication device and communication method
CN112532359B (zh) 接收端基于数据重传数据进行内容合并的方法及装置
CN102149135B (zh) 一种鲁棒性头压缩中更新乱序深度的方法及系统
CN107257265A (zh) 实时传输数据流前向纠错方法、设备及存储介质
CN107026655A (zh) 用于对码字进行译码的方法及译码器
JP3217716B2 (ja) 無線パケット通信装置
CN110620639B (zh) 一种用于数据子帧聚合重传的硬件重传电路及方法
CN103746773A (zh) 一种umts接收机对译码后数据进行纠错的方法及系统
CN110071780A (zh) 应用于低密度奇偶校检ldpc的校验方法及装置、通信设备
CN111130695B (zh) 通过冗余码字计算canopen协议crc的方法
CN102916773B (zh) 一种鲁棒性头压缩中的静态域crc校验方法和装置
US9525650B2 (en) Method and system for updating reorder depth in robust header compression
US6948110B2 (en) Transmission data loss detection system

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20161012

Address after: 210012 Nanjing, Yuhuatai District, South Street, Bauhinia Road, No. 68

Applicant after: Nanjing Zhongxing Software Co., Ltd.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Applicant before: ZTE Corporation

GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180417

Address after: 518057, A building, Zhongxing building, Nanshan District science and Technology Park, Shenzhen, Guangdong, five

Patentee after: ZTE Corporation

Address before: No. 68, Zijing flower road, Ningnan street, Yuhuatai District, Nanjing

Patentee before: Nanjing Zhongxing Software Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161214

Termination date: 20200420