一种上行数据解压缩、压缩的方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种上行数据解压缩、压缩的方法和装置。
背景技术
(1)现有移动通信系统的数据传输过程
UE(User Equipment,用户设备)和eNB(evolved Node B,演进型基站)之间的数据传输,通常经过PDCP(Packet Data Convergence Protocol,分组数据汇聚协议),RLC(Radio Link Control,无线链路层控制协议),MAC(Media Access Control,媒体接入控制)和PHY(Physical Layer,物理层)的传输,每一层完成不同的数据处理。PDCP主要是进行安全操作和头压缩/解压缩处理,例如加密和完整性保护,ROHC(Robust HeaderCompression,健壮性包头压缩)压缩和解压缩等;RLC主要完成数据的分段级联和按序递交及ARQ(Automatic Repeat-reQuest,自动重传请求)数据传输保障;MAC主要完成调度和不同逻辑信道的级联处理及HARQ(Hybrid Automatic Repeat reQuest,混合自动重传请求)操作;物理层完成传输块成包和空口发送。参见图1,图中示出用户面协议栈的示意图。
(2)PDCP对数据的处理
PDCP层主要功能是进行安全相关操作(加/解密、完整性保护/验证)和头压缩/解压缩处理。具体数据处理流程如图2所示。
发送PDCP实体对接收到的IP(Internet Protocol,互联网协议)数据包处理之后会生成PDCP PDU(Protocol Data Unit,协议数据单元),PDCP PDU的结构如图3所示,PCPC层SN包含在PDCP header(PDCP包头)中。
(3)上行数据压缩的工作机制:
上行数据压缩是UE针对上行应用层数据或者信令进行压缩,在基站侧对压缩后的数据进行解压,以节省空口传输的数据量,节约上行资源。
目前考虑到的保持终端和基站侧正确解压的解决方案可能有两种,一种是终端在发送上行数据的过程中建立压缩缓存中的数据内容,基站侧保留。之后以相应的规则进行解压。另外一种是终端和基站提前下载预定义或者保存一些用于解压的profile(配置文件)信息,可以通过一些信令交互确定启动哪个profile,一旦达成一致,终端和基站就可以保证正确压缩和解压。
其中profile信息包括了压缩方法,以及解压的buffer(缓存)的信息或者解压的mapping(映射表)。
上行数据压缩在PDCP层的处理流程中是可以替换ROHC的压缩的。如图4所示。
在无线移动通信系统的上行数据压缩(UL data Compression,UDC)的研究中,终端根据网络的配置启动UDC功能,并对上行数据进行压缩。由于UDC采用包交叉的压缩方式,也就是基站会根据之前接收到的数据信息对新接收到的压缩包进行解压。导致无法保证基站和终端两边压缩缓存和解压缓存一致,进而无法保证上行数据压缩的可靠性。
发明内容
鉴于上述技术问题,本发明实施例提供一种上行数据解压缩、压缩的方法和装置,保证压缩端的压缩缓存区和解压端的解压缓存区保持一致,进而能够确保上行数据压缩的可靠性。
依据本发明实施例的第一个方面,提供了一种上行数据解压缩方法,包括:
解压端接收到分组数据汇聚协议PDCP包后,检查所述PDCP包中的上行数据压缩UDC头部,其中,所述UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息,所述解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致;
所述解压端根据所述压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作。
可选地,所述PDCP包包括:PDCP包的包头、UDC头部和数据包,其中,所述UDC头部位于PDCP包的包头和数据包之间。
可选地,所述UDC头部包括以下一项或多项:
用于指示是否进行UDC压缩的第一指示比特域;
用于指示解压缩缓存区复位的第二指示比特域;
用于指示解压缩缓存区检查的第三指示比特域。
可选地,所述UDC头部还包括:
用于指示数据包是否进入解压缩缓存区的第四指示比特域;或者预留比特域。
可选地,所述解压端根据所述压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作,包括:
如果所述UDC头部中的第一指示比特域为表示没有进行UDC压缩的第一值,所述解压端直接将所述数据包传输到上层;
如果所述第一指示比特域为表示进行UDC压缩的第二值,所述解压端检查UDC头部中的解压缩缓存区复位的第二指示比特域;
如果所述第二指示比特域为表示需要进行解压缩缓存区复位的第三值,则将解压缩缓存区清空,不用再检查用于指示解压缩缓存区检查的第三指示比特域,直接对所述数据包进行UDC解压;
如果所述第二指示比特域为表示不需要进行解压缩缓存区复位的第四值,则继续检查用于指示解压缩缓存区检查的第三指示比特域;
如果所述第三指示比特域为n比特,所述解压端检查解压缩缓存区中的数据,从所述解压缩缓存区中取n比特,如果与UDC头部中的第三指示比特域相同,则对所述数据包进行UDC解压;否则发起重启过程,并指示压缩端进行压缩缓存区的重启,其中n为正整数。
可选地,从所述压缩缓存区中取n比特,包括:
按照整字节进行叠加或者叠加解压缩缓存区所有比特,取最后n比特。
可选地,所述方法还包括:
如果UDC头部中包含用于指示数据包是否进入解压缩缓存区的第二指示比特域,且所述第二指示比特域为表示数据包需要进入解压缩缓存区的第五值,则将所述数据包存入解压缓存区,其中所述数据包是未压缩的数据包或者是解压缩后的数据包;
如果UDC头部中包含用于指示数据包是否进入解压缩缓存区的第二指示比特域,且所述第二指示比特域为表示数据包不需要进入解压缩缓存区的第六值,不将所述数据包存入解压缩缓存区。
依据本发明实施例的第二个方面,还提供了一种上行数据压缩方法,包括:
压缩端向解压端发送分组数据汇聚协议PDCP包,由所述解压端检查所述PDCP包中的上行数据压缩UDC头部,所述UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息;再由所述解压端根据所述压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作,所述解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致。
可选地,所述PDCP包包括:PDCP包的包头、UDC头部和数据包,其中,所述UDC头部位于PDCP包的包头和数据包之间。
可选地,所述UDC头部包括以下一项或多项:
用于指示是否进行UDC压缩的第一指示比特域;
用于指示解压缩缓存区复位的第二指示比特域;
用于指示解压缩缓存区检查的第三指示比特域。
可选地,所述方法还包括:
如果所述PDCP包中的数据包进行了UDC压缩,所述压缩端设置用于指示是否进行UDC压缩的第一指示比特域为第二值,否则所述压缩端设置第一指示比特域为设置为第一值;
如果所述第一指示比特域设置为第二值,所述压缩端对压缩前的压缩缓存区中的数据进行叠加,计算出用于指示解压缩缓存区检查的第三指示比特域,填入所述UDC头部。
可选地,所述UDC头部还包括:
用于指示数据包是否进入解压缩缓存区的第四指示比特域;或者预留比特域。
可选地,所述方法还包括:
如果所述数据包需要进入压缩缓存区,所述压缩端设置所述UDC头部中的指示数据包是否进入解压缩缓存区的第四指示比特域为第五值;
如果所述数据包不需要进入压缩缓存区,所述压缩端设置所述UDC头部中的指示数据包是否进入解压缩缓存区的第四指示比特域为第六值。
依据本发明实施例的第四个方面,还提供了一种解压端,包括:
检查模块,用于接收到分组数据汇聚协议PDCP包后,检查所述PDCP包中的上行数据压缩UDC头部,其中,所述UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息,所述解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致;
第一处理模块,用于根据所述压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作。
可选地,所述PDCP包包括:PDCP包的包头、UDC头部和数据包,其中,所述UDC头部位于PDCP包的包头和数据包之间。
可选地,所述UDC头部包括以下一项或多项:
用于指示是否进行UDC压缩的第一指示比特域;
用于指示解压缩缓存区复位的第二指示比特域;
用于指示解压缩缓存区检查的第三指示比特域。
可选地,所述UDC头部还包括:
用于指示数据包是否进入解压缩缓存区的第四指示比特域;或者预留比特域。
可选地,所述处理模块进一步用于:
如果所述UDC头部中的第一指示比特域为表示没有进行UDC压缩的第一值,所述解压端直接将所述数据包传输到上层;
如果所述第一指示比特域为表示进行UDC压缩的第二值,所述解压端检查UDC头部中的解压缩缓存区复位的第二指示比特域;
如果所述第二指示比特域为表示需要进行解压缩缓存区复位的第三值,则将解压缩缓存区清空,不用再检查用于指示解压缩缓存区检查的第三指示比特域,直接对所述数据包进行UDC解压;
如果所述第二指示比特域为表示不需要进行解压缩缓存区复位的第四值,则继续检查用于指示解压缩缓存区检查的第三指示比特域;
如果所述第三指示比特域为n比特,所述解压端检查解压缩缓存区中的数据,从所述解压缩缓存区中取n比特,如果与UDC头部中的第三指示比特域相同,则对所述数据包进行UDC解压;否则发起重启过程,并指示压缩端进行压缩缓存区的重启,其中n为正整数。
可选地,所述解压端还包括:
第二处理模块,用于如果UDC头部中包含用于指示数据包是否进入解压缩缓存区的第二指示比特域,且所述第二指示比特域为表示数据包需要进入解压缩缓存区的第五值,则将所述数据包存入解压缓存区,其中所述数据包是未压缩的数据包或者是解压缩后的数据包;或者
如果UDC头部中包含用于指示数据包是否进入解压缩缓存区的第二指示比特域,且所述第二指示比特域为表示数据包不需要进入解压缩缓存区的第六值,不将所述数据包存入解压缩缓存区。
依据本发明实施例的第四个方面,还提供了一种压缩端,包括:
发送模块,用于向解压端发送分组数据汇聚协议PDCP包,由所述解压端检查所述PDCP包中的上行数据压缩UDC头部,所述UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息;再由所述解压端根据所述压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作,所述解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致。
可选地,所述PDCP包包括:PDCP包的包头、UDC头部和数据包,其中,所述UDC头部位于PDCP包的包头和数据包之间。
可选地,所述UDC头部包括以下一项或多项:
用于指示是否进行UDC压缩的第一指示比特域;
用于指示解压缩缓存区复位的第二指示比特域;
用于指示解压缩缓存区检查的第三指示比特域。
可选地,所述压缩端还包括:
第一设置模块,用于如果所述PDCP包中的数据包进行了UDC压缩,设置用于指示是否进行UDC压缩的第一指示比特域为第二值,否则所述压缩端设置第一指示比特域为设置为第一值;或者如果所述第一指示比特域设置为第二值,对压缩前的压缩缓存区中的数据进行叠加,计算出用于指示解压缩缓存区检查的第三指示比特域,填入所述UDC头部。
可选地,所述UDC头部还包括:
用于指示数据包是否进入解压缩缓存区的第四指示比特域;或者预留比特域。
可选地,所述压缩端还包括:
第二设置模块,用于如果所述数据包需要进入压缩缓存区,设置所述UDC头部中的指示数据包是否进入解压缩缓存区的第四指示比特域为第五值;
如果所述数据包不需要进入压缩缓存区,设置所述UDC头部中的指示数据包是否进入解压缩缓存区的第四指示比特域为第六值。
依据本发明实施例的第五个方面,还提供了一种解压端,包括:第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现如上述第一个方面所述的上行数据解压缩方法中的步骤。
依据本发明实施例的第六个方面,还提供了一种压缩端,包括:第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现如上述第二个方面所述的上行数据压缩方法中的步骤。
依据本发明实施例的第七个方面,还提供了一种计算机可读存储介质,存储有计算机程序,该程序被处理器执行时实现如第一个方面所述的上行数据解压缩方法中的步骤,或者如上述第二个方面所述的上行数据压缩方法中的步骤。
上述技术方案中的一个技术方案具有如下优点或有益效果:通过在PDCP包中增加UDC头部,该UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息,解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致;解压端可以根据压缩上下文信息和解压缩缓存区相关的信息对PDCP包中的数据包进行相应操作,使得解压端根据解压缩缓存区相关的信息控制解压缓存区与压缩端的压缩缓存区保持一致,解决现有技术中无法保证基站和终端两边压缩缓存和解压缓存一致的问题,进而提高上行数据压缩的可靠性。
附图说明
图1为用户面协议栈的示意图;
图2为PDCP层数据处理流程的示意图;
图3为PDCP PDU结构的示意图;
图4为UDC在PDCP数据处理流程中的位置示意图;
图5为一种PDCP PDU格式的示意图;
图6为另一种PDCP PDU格式的示意图;
图7为又一种PDCP PDU格式的示意图;
图8为本发明的一个实施例中上行数据解压缩方法的流程图;
图9为本发明的一个实施例中上行数据压缩方法的流程图;
图10为本发明的一个实施例中三个域的UDC头部格式的示意图;
图11为本发明的一个实施例中四个域的UDC头部格式的示意图;
图12为本发明的一个实施例中五个域的UDC头部格式的示意图;
图13为本发明的一个实施例中带UDC头部的PDCP PDU格式的示意图;
图14为本发明的一个实施例中解压端的结构示意图;
图15为本发明的一个实施例中压缩端的结构示意图;
图16为本发明的另一个实施例中解压端的结构示意图;
图17为本发明的另一个实施例中压缩端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明的实施例中,采用的UDC(UL Data Compression,上行数据压缩)的压缩算法是公开的RFC1951的压缩算法。具体可以参考IETF的RFC1951文件。
参见图5、图6和图7,图中示出了UDC压缩后的PDCP(Packet Data ConvergenceProtocol,分组数据汇聚协议)包格式。图中的UDC block(UDC块)为经过RFC1951压缩后的数据包,压缩对象是PDCP SDU(PDCP服务数据单元),即上层发下来的数据包。
参见图8,图中示出了上行数据解压缩方法,具体步骤如下:
步骤801、解压端接收到PDCP包后,检查PDCP包中的上行数据压缩UDC头部,UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息,解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致;
上述压缩上下文信息可以是指示是否进行UDC压缩的指示比特域。上述解压缩缓存区相关的信息可以包括指示压缩缓存区复位的指示比特域和用于解压缩缓存区检查的指示比特域。通过解压缩缓存区相关的信息可以有效保证压缩端的压缩缓存区和解压端的解压缓存区一致,提高上行数据压缩的可靠性。
在本实施例中,解压端是指网络侧PDCP所在的实体,例如解压端指的是基站的PDCP层,其中该PDCP层位于基站或分布式基站的集中式单元(Centralized Unit,,CU)。
步骤802、解压端根据压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作。
在本实施例中,可选地,PDCP包包括:PDCP包的包头、UDC头部和数据包,其中,所述UDC头部位于PDCP包的包头和数据包之间。
在本实施例中,可选地,所述UDC头部包括以下一项或多项:
用于指示是否进行UDC压缩的第一指示比特域;
用于指示解压缩缓存区复位的第二指示比特域;
用于指示解压缩缓存区检查的第三指示比特域。
在本实施例中,可选地,所述UDC头部还包括:用于指示数据包是否进入解压缩缓存区的第四指示比特域;或者预留比特域。
具体地,结合上述UDC头部的结构,在本实施例中解压端可采用以下方式对PDCP包中的数据包进行相应操作:
如果UDC头部中的第一指示比特域为表示没有进行UDC压缩的第一值,解压端直接将数据包传输到上层;
如果第一指示比特域为表示进行UDC压缩的第二值,解压端检查UDC头部中的解压缓存区复位的第二指示比特域;
如果第二指示比特域为表示需要进行解压缩缓存区复位的第三值,则将解压缩缓存区清空,不用再检查用于指示解压缩缓存区检查的第三指示比特域,直接对数据包进行UDC解压;
如果第二指示比特域为表示不需要进行解压缩缓存区复位的第四值,则继续检查用于指示解压缩缓存区检查的第三指示比特域;
如果第三指示比特域为n比特,解压端检查解压缩缓存区中的数据,从解压缩缓存区中取n比特,如果与UDC头部中的第三指示比特域相同,则对所述数据包进行UDC解压,同时解压后的数据包进入解压缓存区;否则发起重启过程,并指示压缩端进行压缩缓存区的重启,其中n为正整数。
上述从所述压缩缓存区中取n比特的方式可以是:按照整字节进行叠加或者叠加解压缩缓存区所有比特,取最后n比特。
可选地,在本实施例中,如果UDC头部中包含用于指示数据包是否进入解压缩缓存区的第二指示比特域,且所述第二指示比特域为表示数据包需要进入解压缩缓存区的第五值,则将所述数据包存入解压缓存区,其中所述数据包是未压缩的数据包或者是解压缩后的数据包;
如果UDC头部中包含用于指示数据包是否进入解压缩缓存区的第二指示比特域,且所述第二指示比特域为表示数据包不需要进入解压缩缓存区的第六值,不将所述数据包存入解压缩缓存区。
在本实施例中,通过在PDCP包中增加UDC头部(UDC header),该UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息;解压端可以根据压缩上下文信息和解压缩缓存区相关的信息对PDCP包中的数据包进行相应操作,使得解压端根据解压缩缓存区相关的信息控制解压缓存区与压缩端的压缩缓存区保持一致,解决现有技术中无法保证基站和终端两边压缩缓存和解压缓存一致的问题,进而提高上行数据压缩的可靠性。
参见图9,图中示出了上行数据压缩方法的流程,具体步骤如下:
步骤901、压缩端向解压端发送分组数据汇聚协议PDCP包,由所述解压端检查所述PDCP包中的上行数据压缩UDC头部,所述UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息;再由所述解压端根据所述压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作,解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致。
在本实施例中,上述压缩端是指终端侧PDCP所在的实体,该实体具有对上行数据进行UDC压缩的功能,例如该压缩端可以对应于终端。
在本实施例中,可选地,所述PDCP包包括:PDCP包的包头、UDC头部和数据包,其中,所述UDC头部位于PDCP包的包头和数据包之间。
在本实施例中,可选地,所述UDC头部包括以下一项或多项:
用于指示是否进行UDC压缩的第一指示比特域;
用于指示解压缩缓存区复位的第二指示比特域;
用于指示解压缩缓存区检查的第三指示比特域。
在本实施例中,可选地,所述方法还包括:
如果所述PDCP包中的数据包进行了UDC压缩,所述压缩端设置用于指示是否进行UDC压缩的第一指示比特域为第二值,否则所述压缩端设置第一指示比特域为设置为第一值;
如果所述第一指示比特域设置为第二值,所述压缩端对压缩前的压缩缓存区中的数据进行叠加,计算出用于指示解压缩缓存区检查的第三指示比特域,填入所述UDC头部。
在本实施例中,可选地,所述UDC头部还包括:用于指示数据包是否进入解压缩缓存区的第四指示比特域;或者预留比特域。
在本实施例中,可选地,所述方法还包括:
如果所述数据包需要进入压缩缓存区,所述压缩端设置所述UDC头部中的指示数据包是否进入解压缩缓存区的第四指示比特域为第五值;
如果所述数据包不需要进入压缩缓存区,所述压缩端设置所述UDC头部中的指示数据包是否进入解压缩缓存区的第四指示比特域为第六值。
在本实施例中,解压端可以根据UDC头部中的解压缩缓存区相关的信息控制解压缓存区与压缩端的压缩缓存区保持一致,解决现有技术中无法保证基站和终端两边压缩缓存和解压缓存一致的问题,进而提高上行数据压缩的可靠性。
在本发明的另一个实施例中,在PDCP的包头(header)和数据包(也可以称为UDC压缩包)之间增加UDC头部,该UDC头部可以涵盖如下域中的一种或多种:
是否进行UDC压缩的指示比特域;
用于指示缓存区复位的指示比特域;
用于缓存区检查的指示比特域。
可选地,该UDC头部还包括:用于指示该包是否进入缓存区的指示比特域。
可选地,该UDC头部还包括:预留比特域。
在本实施例中,解压端收到数据包后,先检查UDC头部,再进行UDC的解压操作。上述解压端可以是基站。
解压端的具体行为如下:
步骤一:解压端检查是否进行UDC压缩的指示比特域,如果没有进行UDC压缩,则跳过UDC解压步骤,直接将PDCP SDU递交到上层;如果进行了UDC的压缩,则进入步骤二;
步骤二:检查缓存区复位的指示比特域,如果设置为1,则将解压缓存区清空,不用再检查缓存区检查的指示比特域,进入UDC的解压模块进行解压;如果设置为0,则继续检查缓存区检查的指示比特域。
假设缓存区检查的指示比特域为n比特(n可为1-7,优选取4),解压端检查解压缓存区中的数据,例如:按照整字节(byte)进行叠加或者叠加缓存区所有比特,取最后n比特,如果跟收到的UDC的header中的用于解压缓存区检查的指示比特域相同,则认为是一致的,可以进入UDC解压。如果不一致,则发起重启(reset)过程,并指示压缩端进行压缩缓存区的reset。
可选地,解压端的行为还可以包括:步骤三:如果UDC的header中携带指示该数据包是否进入缓存区的指示比特域且该指示比特域为1,则不管该数据包是否为UDC压缩包,都将该数据包中的数据(未压缩的数据包或者解压后的数据)压入解压缓存区进行保存;如果该指示比特域为0,则不将该数据包中的数据压入解压缓存区。
压缩端的具体行为如下:
步骤一:可以根据网络侧的配置来判断是否进行压缩,比如,如果压缩率超过某个门限(例如压缩掉10%以上),则确定发送压缩包,设置是否进行UDC压缩的指示比特域为1,否则设置是否进行UDC压缩的指示比特域为0。
步骤二:如果设置是否进行UDC压缩的指示比特域为1,则对压缩前的压缩缓存区进行求和,计算出用于解压缩缓存区检查的指示比特域,填入UDC的header内。
步骤三:如果该包数据进入压缩缓存区,则设置UDC的header中的是否进入缓存区的指示比特域为1,否则设置是否进入缓存区的指示比特域为0。
实施例1:UDC头部有三个域
参见图10,一种UDC头部格式包括如下信息:
是否进行UDC压缩的指示比特域(U:1比特);
解压缓存区是否复位的指示比特域(N:1比特);
用于解压缓存区检查的指示比特域(C信息:6比特)。
终端的PDCP层对上层发下来的数据进行UDC压缩,如果确定发送压缩数据包给网络,则设置U为1,并将压缩前的压缩缓存区的数据进行叠加,取最后6比特信息填入UDC的C域。
如果确定不对该包数据进行压缩,则设置U为0。C域可以填写默认值或者为任意值,也可以为压缩缓存区的叠加后的后6比特。
如果终端根据网络侧配置或者发现压缩缓存区问题时需要将压缩缓存区复位,则将N域设置为1,否则设置为0。
基站收到该包数据后如果U为0,则跳过UDC的header部分,不进行解压,直接将后面的数据包递交到上层。如果N域为1,则清空解压缓存区的数据。如果U为1且N域为0,则检查解压缓存区中的数据进行叠加,取最后6比特,如果与收到的UDC的header中的C域的检查比特域相同,则认为是一致的,可以进入UDC解压模块进行解压。同时,解压后的数据包进入解压缓存区。
需要说明的是,压缩缓存区的数据叠加,可以有多种方法,如按照整byte进行叠加,取最后n位,也可以按照比特叠加,取最后n位。具体方式可以通过协议约定。
实施例2:UDC头部有四个域
参见图11,一种UDC头格式包括如下信息:
是否进行UDC压缩的指示比特域(U:1比特);
解压缓存区是否复位的指示比特域(N:1比特)
是否进入解压缓缓存区的指示比特域(I:1比特)
用于解压缓缓存区检查的指示比特域(C信息:6比特);
同上述实施例1类似,实施例2中U域、N域和C域的用法是相同的。下面介绍上述I域的使用方式。I域表示的是这包数据是否要进入解压缓存区。不管这个数据包是否是压缩的,一旦I设置为1,基站都将未压缩的数据包(U为0的情况)或者解压后的数据包(U为1的情况)压入解压缓存区。
实施例3:UDC头部有5个域
参见图12,一种UDC头格式包括如下信息:
是否进行UDC压缩的指示比特域(U:1比特);
缓存区是否复位的指示比特域(N:1比特)
是否进入缓存区的指示比特域(I:1比特)
用于缓存区检查的指示比特域(C信息:4比特);
预留比特域(R:2比特)
U、I和C域的用法跟上述实施例1和实施例2相同,只是本实施例中采用了4比特的C域。有两个R域比特暂时不定义功能,留待未来使用。
实施例4:UDC头部的位置
参见图13,当一个DRB(数据承载)被配置使用UDC时,则在原PDCP头和数据部分之间插入1byte的UDC header。在UDC激活期间,该UDC header一直存在。
实施例5:当缓存区的检验域C域发生不一致的情况
当解压端发现用于解压缓存区检查的指示比特域与接收到的数据包中的信息不一致,则清空解压缓存区的所有信息,用于解压缓存区检查的指示比特域设置为0,并通过信令通知给压缩端(即终端)。
可选地,该信令可以为RRC信令,如重配置消息中指示某个DRB的UDC压缩缓存区清空。
可选地,该信令还可以为新的PDCP的控制PDU或者在已有PDCP的控制PDU中捎带1比特的指示信息,如重定义控制PDU中的R比特域用于指示复位缓存区。
当压缩端收到复位指示信息,则清空压缩缓存区,并通过前面实施例中的PDU中的复位指示比特域指示解压端已经复位以保证两侧的缓存区状态一致。
基于同一发明构思,本发明实施例中还提供了一种解压端,由于该解压端解决问题的原理与本发明实施例图8中上行数据解压缩的方法相似,因此该解压端的实施可以参见方法的实施,重复之处不再敷述。
参见图14,图中示出了解压端的结构,该解压端1400包括:
检查模块1401,用于接收到分组数据汇聚协议PDCP包后,检查所述PDCP包中的上行数据压缩UDC头部,其中,所述UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息,所述解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致;
第一处理模块1402,用于根据所述压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作。
在本实施例中,可选地,所述PDCP包包括:PDCP包的包头、UDC头部和数据包,其中,所述UDC头部位于PDCP包的包头和数据包之间。
在本实施例中,可选地,所述UDC头部包括以下一项或多项:
用于指示是否进行UDC压缩的第一指示比特域;
用于指示解压缩缓存区复位的第二指示比特域;
用于指示解压缩缓存区检查的第三指示比特域。
在本实施例中,可选地,所述UDC头部还包括:
用于指示数据包是否进入解压缩缓存区的第四指示比特域;或者预留比特域。
在本实施例中,可选地,所述处理模块进一步用于:
如果所述UDC头部中的第一指示比特域为表示没有进行UDC压缩的第一值,所述解压端直接将所述数据包传输到上层;
如果所述第一指示比特域为表示进行UDC压缩的第二值,所述解压端检查UDC头部中的解压缩缓存区复位的第二指示比特域;
如果所述第二指示比特域为表示需要进行解压缩缓存区复位的第三值,则将解压缩缓存区清空,不用再检查用于指示解压缩缓存区检查的第三指示比特域,直接对所述数据包进行UDC解压;
如果所述第二指示比特域为表示不需要进行解压缩缓存区复位的第四值,则继续检查用于指示解压缩缓存区检查的第三指示比特域;
如果所述第三指示比特域为n比特,所述解压端检查解压缩缓存区中的数据,从所述解压缩缓存区中取n比特,如果与UDC头部中的第三指示比特相同,则对所述数据包进行UDC解压;否则发起重启过程,并指示压缩端进行压缩缓存区的重启,其中n为正整数。
在本实施例中,可选地,所述解压端还包括:
第二处理模块,用于如果UDC头部中包含用于指示数据包是否进入解压缩缓存区的第二指示比特域,且所述第二指示比特域为表示数据包需要进入解压缩缓存区的第五值,则将所述数据包存入解压缓存区,其中所述数据包是未压缩的数据包或者是解压缩后的数据包;或者
如果UDC头部中包含用于指示数据包是否进入解压缩缓存区的第二指示比特域,且所述第二指示比特域为表示数据包不需要进入解压缩缓存区的第六值,不将所述数据包存入解压缩缓存区。
基于同一发明构思,本发明实施例中还提供了一种压缩端,由于该压缩端解决问题的原理与本发明实施例图9中上行数据压缩的方法相似,因此该压缩端的实施可以参见方法的实施,重复之处不再敷述。
参见图15,图中示出了压缩端的结构,该压缩端1500包括:
发送模块1501,用于向解压端发送分组数据汇聚协议PDCP包,由所述解压端检查所述PDCP包中的上行数据压缩UDC头部,所述UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息;再由所述解压端根据所述压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作,所述解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致。
在本实施例中,可选地,所述PDCP包包括:PDCP包的包头、UDC头部和数据包,其中,所述UDC头部位于PDCP包的包头和数据包之间。
在本实施例中,可选地,所述UDC头部包括以下一项或多项:
用于指示是否进行UDC压缩的第一指示比特域;
用于指示解压缩缓存区复位的第二指示比特域;
用于指示解压缩缓存区检查的第三指示比特域。
在本实施例中,可选地,所述压缩端还包括:
第一设置模块,用于如果所述PDCP包中的数据包进行了UDC压缩,设置用于指示是否进行UDC压缩的第一指示比特域为第二值,否则所述压缩端设置第一指示比特域为设置为第一值;或者如果所述第一指示比特域设置为第二值,对压缩前的压缩缓存区中的数据进行叠加,计算出用于指示解压缩缓存区检查的第三指示比特域,填入所述UDC头部。
在本实施例中,可选地,所述UDC头部还包括:
用于指示数据包是否进入解压缩缓存区的第四指示比特域;或者预留比特域。
在本实施例中,可选地,所述压缩端还包括:
第二设置模块,用于如果所述数据包需要进入压缩缓存区,设置所述UDC头部中的指示数据包是否进入解压缩缓存区的第四指示比特域为第五值;
如果所述数据包不需要进入压缩缓存区,设置所述UDC头部中的指示数据包是否进入解压缩缓存区的第四指示比特域为第六值。
本发明实施例还提供了一种解压端,包括:第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现如上所述的上行数据解压缩方法中的步骤。
参见图16,示出了一种解压端的结构,该解压端包括第一存储器1604、第一处理器1601及存储在第一存储器1604上并可在第一处理器1601上运行的计算机程序,所述第一处理器1601执行所述程序时实现以下步骤:接收到PDCP包后,检查所述PDCP包中的上行数据压缩UDC头部,其中,所述UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息,所述解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致;根据所述压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作。
在图16中,总线架构(用第一总线1600来代表),第一总线1600可以包括任意数量的互联的总线和桥,第一总线1600将包括由通用第一处理器1601代表的一个或多个处理器和第一存储器1604代表的存储器的各种电路链接在一起。第一总线1600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。第一总线接口1603在第一总线1600和第一收发机1602之间提供接口。第一收发机1602可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:第一收发机1602从其他设备接收外部数据。第一收发机1602用于将第一处理器1601处理后的数据发送给其他设备。
第一处理器1601负责管理第一总线1600和通常的处理,如前述所述运行通用操作系统。而第一存储器1604可以被用于存储第一处理器1601在执行操作时所使用的数据。
可选地,第一处理器1601可以是CPU、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
本发明实施例还提供了一种压缩端,包括:第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现如所述的上行数据压缩方法中的步骤。
参见图17,示出了一种压缩端的结构,该压缩端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现以下步骤:向解压端发送分组数据汇聚协议PDCP包,由所述解压端检查所述PDCP包中的上行数据压缩UDC头部,所述UDC头部中至少包含:PDCP包中的数据包的压缩上下文信息和解压缩缓存区相关的信息;再由所述解压端根据所述压缩上下文信息和解压缩缓存区相关的信息对所述PDCP包中的数据包进行相应操作,所述解压缩缓存区相关的信息用于指示所述解压端控制所述解压端的解压缓存区与压缩端的压缩缓存区保持一致。
在图17中,总线架构(用第二总线1700来代表),第二总线1700可以包括任意数量的互联的总线和桥,第二总线1700将包括由通用第二处理器1701代表的一个或多个处理器和第二存储器1704代表的存储器的各种电路链接在一起。第二总线1700还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。第二总线接口1703在第二总线1700和第二收发机1702之间提供接口。第二收发机1702可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:第二收发机1702从其他设备接收外部数据。第二收发机1702用于将第二处理器1701处理后的数据发送给其他设备。取决于计算系统的性质,还可以提供用户接口1105,例如小键盘、显示器、扬声器、麦克风、操纵杆。
第二处理器1701负责管理第二总线1700和通常的处理,如前述所述运行通用操作系统。而第二存储器1704可以被用于存储第二处理器1701在执行操作时所使用的数据。
可选地,第二处理器1701可以是CPU、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的上行数据解压缩方法中的步骤,或者如上所述的上行数据压缩方法中的步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常可互换使用。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络侧设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以做出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。