具体实施方式
本发明实施例压缩端将GTP头对应的压缩指示信息发送给解压缩端,解压缩端根据GTP头和压缩指示信息的对应关系,确定收到的压缩指示信息对应的GTP头。由于本发明实施例发送GTP头对应的压缩指示信息,从而减少了传输的开销,提高了网络资源利用率。
其中,本发明实施例中可以一个GTP头结构对应一个压缩指示信息,只要GTP头结构中一个域发生变化,就重新为这个GTP分配一个压缩指示信息;还可以在指定的域发生变化后,重新为这个GTP头分配一个压缩指示信息,也就是说有一个特殊的域发生变化可以不重新分配压缩指示信息,而是使用变化之前GTP头对应的压缩指示信息。
如图2所示,GTP头结构示意图中,GTP头包括N-PDU Number Flag(协议数据单元个数标识),Sequence Number Flag(序列号标识),Extension HeaderFlag(扩展头部标识),Reserved(保留域),Protocol Type(协议类型),Version(版本),Message Type(消息类型),Total Length(总长度),TEID(隧道端口标识),Sequence Number(序列号),N-PDU(协议数据单元数量)和Next Ext.Hdr Type(下一个扩展头类型)。
其中,Message type:属于缓慢变化的域。可能出现的值较少,包括正常数据,End marker(结束)包等。对于End marker包,可以不需要message type做特殊指示,数据负载部分为空的包可以解读为End marker包,否则数据负载部分不为空的包为其他包。为了区分End marker包,正常数据包或者其他特殊的包,也可以将Message type压缩为1~2比特来代表较少的变化,比如将压缩指示信息最后1~2比特作为Message type指示信息。
Total Length:可以完全去掉,以推算的形式还原此域。
Sequence Number:属于一个可选的域,由Sequence Numbers Flag指示其是否存在。如果不存在,则无需考虑。如果存在,可以选择在压缩后的头中完全保留该域,或者在压缩后的头中完全去掉该域,靠底层的按序递交来保证数据包的顺序到达,接收端和发送端分别各自按照收发的顺序维护SequenceNumber。
在具体实施过程中,本发明实施例的压缩指示信息可以是比特信息或CID(Context Identity,上下文标识信息)。
如果压缩指示信息是比特信息,则比特信息的长度由RN设备的覆盖范围以及UE的业务支持情况等决定,还可以在协议中设定一个长度,还可以由高层根据算法配置。
在具体实施过程中,可以规定压缩指示信息占用的比特数小于GTP头占用的比特数。
其中,本发明实施例可以应用在LTE-A系统中,也可以应用在含有GTP头的系统中。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图3所示,本发明实施例传输数据的系统包括:压缩设备10和解压缩设备20。
压缩设备10,用于根据GTP头和压缩指示信息的对应关系,确定需要传输的GTP头对应的压缩指示信息,并向解压缩设备20发送确定的压缩指示信息。
解压缩设备20,用于在收到来自压缩设备10的压缩指示信息后,根据GTP头和压缩指示信息的对应关系,确定收到的压缩指示信息对应的GTP头。
其中,压缩设备10根据GTP头和压缩指示信息的对应关系,确定需要传输的GTP头没有对应的压缩指示信息时,会为需要传输的GTP头分配一个压缩指示信息,并更新自身保存的GTP头和压缩指示信息的对应关系。
分配的方式可以按照GTP头的顺序分配,比如分配的第一个GTP头就是1,分配的第二个GTP头就是2,依此类推;也可以随机分配。
需要说明的是,本发明实施例并不局限于上述分配方式,只要保证GTP头与压缩指示信息是一一对应关系的任何分配方式都是用本发明实施例。
在具体实施过程中,如果没有多余的压缩指示信息(由于压缩指示信息长度的限制,分配的数量有限),则可以从结束的业务对应的GTP头中选择一个GTP头,将选择的GTP头对应的压缩指示信息作为当前GTP头的压缩指示信息。因为结束的业务对应的GTP头已经作废,对应的压缩指示信息也应经作废。
较佳的,可以从结束的业务对应的GTP头中选择生成时间最早的GTP头。
压缩设备10在更新了GTP头和压缩指示信息的对应关系后,还需要将新分配的压缩指示信息和对应的GTP头通知解压缩设备20。
具体的,压缩设备10可以将需要传输的GTP头和为需要传输的GTP头分配的压缩指示信息,同外部头(可以是压缩的,也可以是没有压缩的)、内部头(可以是压缩的,也可以是没有压缩的)和ROHC头一起发送。如图4A所示,压缩设备10将外部ROHC头、外部头、内部ROHC头、内部头以及GTP头和压缩指示信息的对应关系(即将GTP头和压缩指示信息的对应关系置于压缩后的GTP头区域中)一起发送,其中可以在内部ROHC头进行指示,告知解压缩设备20携带的是GTP头和压缩指示信息的对应关系。
GTP头对应的压缩指示信息可以置于内部ROHC头或外部ROHC头中;
相应的,解压缩设备20根据ROHC头对压缩后的外部头和压缩后的内部头进行解压缩,以及根据GTP头和压缩指示信息,更新解压缩设备20的GTP头和压缩指示信息的对应关系。
压缩设备10还可以将需要传输的GTP头和为需要传输的GTP头分配的压缩指示信息通过高层信令发送给压缩设备20(比如使用PDCP(Packet DataConvergence Protocol,分组数据聚合协议)的新交互过程、利用RRC(RadioResource Control,无线资源控制)配置过程等),并将需要传输的GTP头对应的压缩指示信息,同压缩后的外部头、压缩后的内部头和ROHC头一起发送,如图4B所示,压缩后的GTP头就是压缩指示信息;
相应的,解压缩设备20在收到GTP头和压缩指示信息后,更新解压缩设备20的GTP头和压缩指示信息的对应关系,根据更新后的GTP头和压缩指示信息的对应关系,确定接收的压缩指示信息对应的GTP头,以及根据ROHC头对压缩后的外部头和压缩后的内部头进行解压缩。
在具体实施过程中,当初始化建立阶段,压缩设备10携带完整的GTP头和对应的压缩指示信息用以通知解压缩设备20相应的对应关系,并在获得解压缩设备20相应的ACK反馈后,认为对应关系在两端达到同步,后续可以直接发送该压缩指示信息,用以替代完整的GTP头;
当传输过程中出现问题,压缩设备10在需要重新发送完整的头部时,则携带完整的GTP头和压缩指示信息,重新建立对应关系的同步;或者仅发送完整的内部头和压缩后的GTP头,同时扩展内部ROHC头中的格式指示信息用以指示发送的是完整的内部头和压缩后的GTP头;或者将内部头、完整的GTP头和压缩指示信息一起发送。
如果GTP头和压缩指示信息的对应关系用单独的过程在压缩设备10和解压缩设备20达到同步,则可以在Un的逻辑信道承载的UE RB发生变化,如新建、删除或修改时,由高层信令过程通知Un口两端的PDCP实体,更新相关变动的GTP头和压缩指示信息的对应关系。
其中,压缩设备10需要根据压缩状态和外部的上下文信息,确定外部ROHC头,以及根据压缩状态和内部的上下文信息,确定内部ROHC头。
具体的,对于外部头(即IP/UDP头部),压缩设备10可以按照现有的压缩算法进行压缩。比如确定Profile(一个压缩算法),并寻找相应的Context(即压缩算法中的上下文信息,与每个压缩流对应,对于一个压缩流,在压缩端和解压缩端各自维护一个context,里面存储压缩相关的内容,例如头部的静态部分等),若相应的Context没有找到,则新建一个Context;Context确定后,进行上下文状态更新,并构造压缩包。最终形成ROHC头和压缩后的头部,其中ROHC头中携带CID、格式指示信息和CRC(Cyclic Redundancy Check,循环冗余校验)等,指明对该外部IP/UDP头部使用的是哪种压缩算法以及哪个上下文信息,压缩后的头部为根据压缩算法对原有的头部进行压缩后的部分。
对内部头(即IP/UDP/RTP),压缩设备10可以根据用户终端的RB(RadioBearer,无线承载)信息的不同,针对不同的用户终端的RB的数据流分别对其内部的IP/UDP/RTP进行压缩。比如选择现有的压缩算法,步骤与对外部IP/UDP的压缩相类似,上下文状态的维护基于相同UE相同RB相同CID的数据流进行。
相应的,解压缩设备20对最外层的头部进行解压缩,获取CID,找到对应的上下文信息,根据压缩算法重组原始包头,进行必要的CRC校验、ROHC反馈、本地修复、上下文更新等操作;
解压缩设备20对内部的头进行解压缩,步骤与外部头的解压缩类似,所不同的是上下文信息的寻找需要先确定压缩指示信息指示的哪个UE的RB,再根据CID找到对应的上下文信息。
其中,压缩设备10在发送压缩指示信息时有多种方式,下面分别进行说明。
方式一、压缩设备10将压缩指示信息、外部ROHC头、内部ROHC头、压缩后的外部头和压缩后的内部头一起发送给解压缩设备20。
这种方式下,压缩指示信息、外部ROHC头、内部ROHC头、压缩后的外部头和压缩后的内部头分别在不同的域中,其中压缩指示信息在压缩后的GTP头区域内,具体参见图4A或图4B,其中图4A和图4B的结构不能交替使用,也就是说如果采用图4A的结构,后面都需要一直使用图4A的结构;如果采用图4B的结构,后面都需要一直使用图4B的结构。
方式二、压缩设备10将压缩指示信息置于外部ROHC头或内部ROHC头中,将外部ROHC头、内部ROHC头、压缩后的外部头和压缩后的内部头一起发送给解压缩设备20。
这种方式下,外部ROHC头、内部ROHC头、压缩后的外部头和压缩后的内部头分别在不同的域中,而压缩指示信息可以置于外部ROHC头或内部ROHC头,参见图4C。
假设将压缩指示信息可以置于内部ROHC头中,压缩指示信息是CID,则压缩过程与方式一类似,分别对外部头,GTP和内部头进行压缩。不同的是,GTP和内部头进行联合压缩,GTP头作为内部头的静态部分,以不同的CID来区分。具体的,对于GTP和内部头采取统一压缩,统一维护一个上下文信息,并用同一个ROHC头部携带指示信息。其中,状态迁移和格式指示信息等也统一维护。对于内部ROHC头中的CID长度,方式一中内部CID由于仅用区分相同UE相同RB的不同压缩流,1个字节甚至4个bit即可,而方式二中,因为内部CID需要指示不同UE的不同RB的不同压缩流,因此需要较方式一有1~2字节的扩充。
其中,GTP的静态部分包含在CID指示的上下文信息中,如果需要携带一些特殊域,则可考虑携带在压缩后的GTP头中,例如message type、sequencenumber等。如果不需要携带任何域,GTP头部可以完全作为静态部分被压缩,也就是不需要携带压缩后的GTP头。
方式三、压缩设备10将压缩指示信息、外部ROHC头和内部ROHC头合成ROHC头,将合成的ROHC头、压缩后的外部头和压缩后的内部头一起发送给解压缩设备20。
这种方式下,合成ROHC头、压缩后的外部头和压缩后的内部头分别在不同的域中,参见图4D。
假设压缩指示信息是比特信息,外部头压缩和内部头压缩分别维护各自的上下文信息,GTP头压缩为比特信息;CRC、反馈和状态转移统一进行,拥有唯一的ROHC头,其中携带的CID信息分别指示外部头压缩的上下文信息,比特信息和内部头压缩的上下文信息。
其中合成的ROHC头包含外部CID,内部CID,比特信息和其他信息(包括格式指示信息、CRC等)。合成的ROHC头部可以区分外部CID,内部CID和比特信息,具体参见图5A。
假设压缩指示信息是CID,压缩过程统一进行,维护统一的CID,对于内部压缩,每个CID对应不同的数据流,每个数据流分别操作和更新。对于外部压缩,对所有数据流按照顺序进行操作和更新状态。
具体的,压缩设备10收到高层SDU(Service Data Unit,服务数据单元),解析该SDU,确定需要使用的压缩算法(比如可以读SDU的类型,根据SDU的类型确定;还可以是PDCP实体配置时就规定了使用的压缩算法),根据GTP头和内部头结构寻找相应的内部上下文信息(比如先以GTP头细化到UE的RB,再以内部头结构和状态确定上下文信息),如果相应的上下文信息没有找到,则新建一个上下文信息。外部context信息单独维护(即与内部无关),可以维护一个也可以维护N个,例如CID模N后的余数相等的上下文统一维护;
接着由更新后的上下文确定压缩包类型,并分别进行外部头结构和内部头结构的压缩,确定GTP头对应的CID(一个CID对应域唯一一个GTP头,在初始阶段在压缩端和解压缩端统一同步),构造压缩包,具体合成的ROHC头可以参见图5B,用统一的CID(以最大100为例),即仅有一个CID域,对外部压缩上下文,一共维护5个上下文,CID与5个上下文是20对1的关系,也就是说CID=0代表上下文信息0,CID=6代表上下文信息1,总之就是模5余数一致的是一个上下文;对于内部CID和GTP头,与CID为一一对应的关系,即每个CID唯一的对应一个内部压缩流。
具体的,针对压缩指示信息是CID,假设CID模N得相同余数的压缩包属于相同的外部上下文信息,则在合成的ROHC头时,压缩设备10可以确定压缩后的外部头的CID对应的CID组,其中压缩后的外部头的CID和CID组是一一对应关系,每个CID组中包括压缩后的内部头的CID和GTP头的CID,且每个压缩后的内部头的CID和每个GTP头的CID归属于一个CID组;
压缩设备10从CID组中确定压缩后的内部头的CID和GTP头的CID,根据压缩后的外部头的CID、压缩后的内部头的CID和GTP头的CID,合成ROHC头。
其中,解压缩设备20按照ROHC头信息和压缩后的头分别重组出原始的三部分头结构(包括GTP头,内部头和外部头),当CRC校验和本地恢复均失败时,需要向压缩设备10反馈NACK;当因状态的迁移,无论内部头压缩还是外部头压缩需要反馈ACK时,则向压缩端反馈ACK。
在上述的压缩解压缩过程中,外部头压缩和内部头压缩的状态转移以及反馈过程可以各自独立,也可以相互关联。相互关联的方式有如下三种:
1、完全负反馈NACK关联:外部头压缩和内部头压缩在初始状态转移及所有收到ACK后才触发的状态转移过程完全独立,各自依据自己收到的本身的ACK进行操作;在所有收到NACK反馈的操作和状态转移中进行完全关联,即无论收到外部头压缩还是内部头压缩的NACK反馈,二者均执行类似收到自身NACK的操作和状态转移;
2、内部影响外部的负反馈NACK关联:ACK过程同上;内部头压缩过程仅受本身的NACK影响进行相关操作和状态转移;而外部头压缩在受到自身或者内部头压缩的NACK反馈时都执行类似受到自身NACK反馈的操作和状态转移;
3、外部影响内部的负反馈NACK关联:ACK(确认消息)过程同上;外部头压缩过程仅受本身的NACK反馈影响进行相关操作和状态转移,而内部头压缩无论收到本身或外部头压缩的NACK反馈都执行类似受到自身NACK反馈的操作和状态转移。
具体的,压缩设备10在满足状态转移条件中的一种时,降低外部头和/或内部头的压缩比,并根据降低后的压缩比,对外部头和/或内部头进行压缩,并发送给解压缩端。
其中,压缩设备10在满足下列状态转移条件中的一种时,降低外部头和内部头的压缩比:
外部头和内部头优先级相同,且收到来自解压缩端的反馈信息中包括外部头对应的NACK(非确认消息)和/或内部头对应的NACK(即上面第一种关联情况);
内部头优先级高于外部头优先级,且收到来自解压缩端的反馈信息中包括内部头对应的NACK(即上面第二种关联情况);
外部头优先级高于内部头优先级,且收到来自解压缩端的反馈信息中包括外部头对应的NACK(即上面第三种关联情况)。
上面的三种情况是同时降低外部头和内部头的压缩比(即需要将压缩后的外部头和压缩后的内部头一起发送),还有可能只降低外部头或内部头的压缩比,具体的:
压缩设备10在满足下列状态转移条件中的一种时,降低外部头的压缩比:
内部头优先级高于外部头优先级,且收到来自解压缩端的反馈信息中包括外部头对应的NACK;
压缩设备10在满足下列状态转移条件中的一种时,降低内部头的压缩比:
外部头优先级高于内部头优先级,且收到来自解压缩端的反馈信息中包括内部头对应的NACK。
其中,如果GTP头与外部头关联,且外部头的压缩比降低后,则压缩设备10将外部ROHC头、压缩后的外部头和GTP头(还可以包括内部ROHC头和压缩后的内部头)一起发送给解压缩端;如果GTP头与内部头关联,且内部头的压缩比降低后,则压缩设备10将内部ROHC头、压缩后的内部头和GTP头(还可以包括外部ROHC头和压缩后的外部头)一起发送给解压缩端。也就是说,不管外部头和内部头的压缩比是否同时降低,只要与GTP头关联的头(即外部头或内部头)对应的压缩比降低了,则需要把完整的GTP头发送给解压缩设备20。
当然,如果收到的反馈信息中包括外部头对应的ACK和内部头对应的ACK,还可以提高外部头和内部头的压缩比,并且不需要重新发送。
在具体实施过程中,如果压缩设备10是RN设备、则解压缩设备20是与该RN设备连接的基站;如果压缩设备10是基站、则解压缩设备20是与基站连接的RN设备。
如图6所示,本发明实施例第一种网络侧设备包括:信息确定模块100和发送模块110。
信息确定模块100,用于根据GTP头和压缩指示信息的对应关系,确定需要传输的GTP头对应的压缩指示信息。
发送模块110,用于将确定的压缩指示信息发送给解压缩端,指示解压缩端根据GTP头和压缩指示信息的对应关系,确定收到的压缩指示信息对应的GTP头。
其中,本发明实施例的网络侧设备还可以进一步包括:信息分配模块120。
信息分配模块120,用于根据GTP头和压缩指示信息的对应关系,确定需要传输的GTP头没有对应的压缩指示信息时,为需要传输的GTP头分配一个压缩指示信息,并更新GTP头和压缩指示信息的对应关系(即压缩端的GTP头和压缩指示信息的对应关系)。
相应的,发送模块110将需要传输的GTP头和为需要传输的GTP头分配的压缩指示信息,同外部头、压缩后的内部头和ROHC头一起发送给解压缩端;或
发送模块110将需要传输的GTP头和为需要传输的GTP头分配的压缩指示信息通过高层信令发送给压缩端,并将需要传输的GTP头对应的压缩指示信息,同压缩后的外部头、压缩后的内部头和ROHC头一起发送给解压缩端。
其中,发送模块110根据压缩状态和外部的上下文信息确定外部ROHC头,以及根据压缩状态和内部的上下文信息确定内部ROHC头。
发送模块110将压缩指示信息、外部ROHC头、内部ROHC头、压缩后的外部头和压缩后的内部头一起发送给解压缩端;或将压缩指示信息置于外部ROHC头或内部ROHC头中,将外部ROHC头、内部ROHC头、压缩后的外部头和压缩后的内部头一起发送给解压缩端;或将压缩指示信息、外部ROHC头和内部ROHC头合成ROHC头,将合成的ROHC头、压缩后的外部头和压缩后的内部头一起发送给解压缩端。
其中,发送模块110在满足状态转移条件中的一种时,降低外部头和/或内部头的压缩比,并根据降低后的压缩比,对外部头和/或内部头进行压缩,并发送给解压缩端;
发送模块110在满足下列状态转移条件中的一种时,降低外部头和内部头的压缩比:
外部头和内部头优先级相同,且收到来自解压缩端的反馈信息中包括外部头对应的非确认消息NACK和/或内部头对应的NACK;
内部头优先级高于外部头优先级,且收到来自解压缩端的反馈信息中包括内部头对应的NACK;
外部头优先级高于内部头优先级,且收到来自解压缩端的反馈信息中包括外部头对应的NACK;
发送模块110在满足下列状态转移条件中的一种时,降低外部头的压缩比:
内部头优先级高于外部头优先级,且收到来自解压缩端的反馈信息中包括外部头对应的NACK;
发送模块110在满足下列状态转移条件中的一种时,降低内部头的压缩比:
外部头优先级高于内部头优先级,且收到来自解压缩端的反馈信息中包括内部头对应的NACK。
进一步的,发送模块110在GTP头与外部头关联,且外部头的压缩比降低后,将外部ROHC头、压缩后的外部头和GTP头一起发送给解压缩端;在GTP头与内部头关联,且内部头的压缩比降低后,将内部ROHC头、压缩后的内部头和GTP头一起发送给解压缩端。
如果压缩指示信息是CID,发送模块110将压缩指示信息、外部ROHC头和内部ROHC头合成ROHC头,将合成的ROHC头、压缩后的外部头和压缩后的内部头一起发送给解压缩端,则合成的ROHC头时,发送模块110确定压缩后的外部头的CID对应的CID组,其中压缩后的外部头的CID和CID组是一一对应关系,每个CID组中包括压缩后的内部头的CID和GTP头的CID,且每个压缩后的内部头的CID和每个GTP头的CID归属于一个CID组,从CID组中确定压缩后的内部头的CID和GTP头的CID,根据压缩后的外部头的CID、压缩后的内部头的CID和GTP头的CID,合成ROHC头。
本发明实施例的网络侧设备作为压缩端时会包括上面的模块。本发明实施例网络侧设备还可能作为解压缩端,则本发明实施例的网络侧设备还可以进一步包括:接收模块130和解压缩模块140。
接收模块130,用于接收来自其他网络侧设备的压缩指示信息;
解压缩模块140,用于根据GTP头和压缩指示信息的对应关系,确定收到的压缩指示信息对应的GTP头。
本发明实施例网络侧设备作为解压缩端时,还可以进一步包括:更新模块150。
更新模块150,用于在收到来自其他网络侧设备的GTP头和压缩指示信息后,更新GTP头和压缩指示信息的对应关系(即解压缩端的GTP头和压缩指示信息的对应关系)。
其中,本发明实施例网络侧设备作为压缩端所使用的GTP头和压缩指示信息的对应关系和本发明实施例网络侧设备作为解压缩端所使用的GTP头和压缩指示信息的对应关系,可以是两个独立的对应关系,本发明实施例网络侧设备分别进行维护。
如图7所示,本发明实施例第二种网络侧设备接收模块200和解压缩模块210,还可以包括更新模块220。
其中,接收模块200、解压缩模块210和更新模块220的功能分别与接收模块130、解压缩模块140和更新模块150的功能相同,在此不再赘述。
如果图6和图7的本发明实施例的网络侧设备应用在LTE-A系统中,则图6和图7的本发明实施例的网络侧设备是RN设备或基站。
如图8所示,本发明实施例传输数据的方法包括下列步骤:
步骤801、压缩端根据GTP头和压缩指示信息的对应关系,确定需要传输的GTP头对应的压缩指示信息。
步骤802、压缩端将确定的压缩指示信息发送给解压缩端,指示解压缩端根据GTP头和压缩指示信息的对应关系,确定收到的压缩指示信息对应的GTP头。
其中,步骤802之后还可以进一步包括:
步骤803、解压缩端根据GTP头和压缩指示信息的对应关系,确定收到的压缩指示信息对应的GTP头。
压缩缩根据GTP头和压缩指示信息的对应关系,确定需要传输的GTP头没有对应的压缩指示信息,还需要重新分配压缩指示信息,则本发明实施例传输数据的方法还可以进一步包括:
步骤a801、压缩缩根据GTP头和压缩指示信息的对应关系,确定需要传输的GTP头没有对应的压缩指示信息时,为需要传输的GTP头分配一个压缩指示信息,并更新自身保存的GTP头和压缩指示信息的对应关系。
分配的方式可以按照GTP头的顺序分配,比如分配的第一个GTP头就是1,分配的第二个GTP头就是2,依此类推;也可以随机分配。
需要说明的是,本发明实施例并不局限于上述分配方式,只要保证GTP头与压缩指示信息是一一对应关系的任何分配方式都是用本发明实施例。
在具体实施过程中,如果没有多余的压缩指示信息(由于压缩指示信息长度的限制,分配的数量有限),则可以从结束的业务对应的GTP头中选择一个GTP头,将选择的GTP头对应的压缩指示信息作为当前GTP头的压缩指示信息。因为结束的业务对应的GTP头已经作废,对应的压缩指示信息也应经作废。
较佳的,可以从结束的业务对应的GTP头中选择生成时间最早的GTP头。
压缩端在更新了GTP头和压缩指示信息的对应关系后,还需要将新分配的压缩指示信息和对应的GTP头通知解压缩端,则步骤a801之后还包括:
步骤b801、压缩端将需要传输的GTP头和为需要传输的GTP头分配的压缩指示信息,同外部头(可以是压缩的,也可以是没有压缩的)、内部头(可以是压缩的,也可以是没有压缩的)和ROHC头一起发送,参见图4A;
步骤b802、解压缩端根据ROHC头对压缩后的外部头和压缩后的内部头进行解压缩,以及根据GTP头和压缩指示信息,更新解压缩端的GTP头和压缩指示信息的对应关系。
除了上面的通知方式还有一种通知方式,步骤a801之后还包括:
步骤c801、压缩端将需要传输的GTP头和为需要传输的GTP头分配的压缩指示信息通过高层信令发送给压缩端,并将需要传输的GTP头对应的压缩指示信息,同压缩后的外部头、压缩后的内部头和ROHC头一起发送,参见图4B;
步骤c802、解压缩端在收到GTP头和压缩指示信息后,更新解压缩端的GTP头和压缩指示信息的对应关系,根据更新后的GTP头和压缩指示信息的对应关系,确定接收的压缩指示信息对应的GTP头,以及根据ROHC头对压缩后的外部头和压缩后的内部头进行解压缩。
在具体实施过程中,当初始化建立阶段,压缩端携带完整的GTP头和对应的压缩指示信息用以通知解压缩端相应的对应关系,并在获得解压缩端相应的ACK反馈后,认为对应关系在两端达到同步,后续可以直接发送该压缩指示信息,用以替代完整的GTP头;
当传输过程中出现问题,压缩端在需要重新发送完整的头部时,则携带完整的GTP头和压缩指示信息,重新建立对应关系的同步;或者仅发送完整的内部头和压缩后的GTP头,同时扩展内部ROHC头中的格式指示信息用以指示发送的是完整的内部头和压缩后的GTP头;或者将内部头、完整的GTP头和压缩指示信息一起发送。
如果GTP头和压缩指示信息的对应关系用单独的过程在压缩端和解压缩端达到同步,则可以在Un的逻辑信道承载的UE RB发生变化,如新建、删除或修改时,由高层信令过程通知Un口两端的PDCP实体,更新相关变动的GTP头和压缩指示信息的对应关系。
其中,压缩端需要根据压缩状态和外部的上下文信息,确定外部ROHC头,以及根据压缩状态和内部的上下文信息,确定内部ROHC头。
具体的,对于外部头(即IP/UDP头部),压缩端可以按照现有的压缩算法进行压缩。比如确定Profile(一个压缩算法),并寻找相应的Context,若相应的Context没有找到,则新建一个Context;Context确定后,进行上下文状态更新,并构造压缩包。最终形成ROHC头和压缩后的头部,其中ROHC头中携带CID、格式指示信息和CRC等,指明对该外部IP/UDP头部使用的是哪种压缩算法以及哪个上下文信息,压缩后的头部为根据压缩算法对原有的头部进行压缩后的部分。
对内部头(即IP/UDP/RTP),压缩端可以根据用户终端的RB信息的不同,针对不同的用户终端的RB的数据流分别对其内部的IP/UDP/RTP进行压缩。比如选择现有的压缩算法,步骤与对外部IP/UDP的压缩相类似,上下文状态的维护基于相同UE相同RB相同CID的数据流进行。
相应的,解压缩端对最外层的头部进行解压缩,获取CID,找到对应的上下文信息,根据压缩算法重组原始包头,进行必要的CRC校验、ROHC反馈、本地修复、上下文更新等操作;
解压缩端对内部的头进行解压缩,步骤与外部头的解压缩类似,所不同的是上下文信息的寻找需要先确定压缩指示信息指示的哪个UE的RB,再根据CID找到对应的上下文信息。
其中,压缩端在发送压缩指示信息时有多种方式,下面分别进行说明。
方式一、压缩端将压缩指示信息、外部ROHC头、内部ROHC头、压缩后的外部头和压缩后的内部头一起发送给解压缩端,参见图4A或图4B,其中图4A和图4B的结构不能交替使用,也就是说如果采用图4A的结构,后面都需要一直使用图4A的结构;如果采用图4B的结构,后面都需要一直使用图4B的结构。
这种方式下,压缩指示信息、外部ROHC头、内部ROHC头、压缩后的外部头和压缩后的内部头分别在不同的域中,参见图4B。
方式二、压缩端将压缩指示信息置于外部ROHC头或内部ROHC头中,将外部ROHC头、内部ROHC头、压缩后的外部头和压缩后的内部头一起发送给解压缩端。
这种方式下,外部ROHC头、内部ROHC头、压缩后的外部头和压缩后的内部头分别在不同的域中,而压缩指示信息可以置于外部ROHC头或内部ROHC头,参见图4C。
假设将压缩指示信息可以置于内部ROHC头中,压缩指示信息是CID,则压缩过程与方式一类似,分别对外部头,GTP和内部头进行压缩。不同的是,GTP和内部头进行联合压缩,GTP头作为内部头的静态部分,以不同的CID来区分。具体的,对于GTP和内部头采取统一压缩,统一维护一个上下文信息,并用同一个ROHC头部携带指示信息。其中,状态迁移和格式指示信息等也统一维护。对于内部ROHC头中的CID长度,方式一中内部CID由于仅用区分相同UE相同RB的不同压缩流,1个字节甚至4个bit即可,而方式二中,因为内部CID需要指示不同UE的不同RB的不同压缩流,因此需要较方式一有1~2字节的扩充。
其中,GTP的静态部分包含在CID指示的上下文信息中,如果需要携带一些特殊域,则可考虑携带在压缩后的GTP头中,例如message type、sequencenumber等。如果不需要携带任何域,GTP头部可以完全作为静态部分被压缩,也就是不需要携带压缩后的GTP头。
方式三、压缩端将压缩指示信息、外部ROHC头和内部ROHC头合成ROHC头,将合成的ROHC头、压缩后的外部头和压缩后的内部头一起发送给解压缩端。
这种方式下,合成ROHC头、压缩后的外部头和压缩后的内部头分别在不同的域中,参见图4D。
假设压缩指示信息是比特信息,外部头压缩和内部头压缩分别维护各自的上下文信息,GTP头压缩为比特信息;CRC、反馈和状态转移统一进行,拥有唯一的ROHC头,其中携带的CID信息分别指示外部头压缩的上下文信息,比特信息和内部头压缩的上下文信息。
其中合成的ROHC头包含外部CID,内部CID,比特信息和其他信息(包括格式指示信息、CRC等)。合成的ROHC头部可以区分外部CID,内部CID和比特信息,具体参见图5A。
假设压缩指示信息是CID,压缩过程统一进行,维护统一的CID,对于内部压缩,每个CID对应不同的数据流,每个数据流分别操作和更新。对于外部压缩,对所有数据流按照顺序进行操作和更新状态。
具体的,压缩端收到高层SDU,解析该SDU,确定需要使用的压缩算法,根据GTP头和内部头结构寻找相应的内部上下文信息,如果相应的上下文信息没有找到,则新建一个上下文信息。外部context信息单独维护,可以维护一个也可以维护N个,例如CID模N后的余数相等的上下文统一维护;
接着由更新后的上下文确定压缩包类型,并分别进行外部头结构和内部头结构的压缩,确定GTP头对应的CID,构造压缩包,具体合成的ROHC头可以参见图5B。
针对压缩指示信息是CID,假设CID模N得相同余数的压缩包属于相同的外部上下文信息,则在合成的ROHC头时,压缩端可以确定压缩后的外部头的CID对应的CID组,其中压缩后的外部头的CID和CID组是一一对应关系,每个CID组中包括压缩后的内部头的CID和GTP头的CID,且每个压缩后的内部头的CID和每个GTP头的CID归属于一个CID组;
压缩端从CID组中确定压缩后的内部头的CID和GTP头的CID,根据压缩后的外部头的CID、压缩后的内部头的CID和GTP头的CID,合成ROHC头。
其中,解压缩端按照ROHC头信息和压缩后的头分别重组出原始的三部分头结构(包括GTP头,内部头和外部头),当CRC校验和本地恢复均失败时,需要向压缩端反馈NACK;当因状态的迁移,无论内部头压缩还是外部头压缩需要反馈ACK时,则向压缩端反馈ACK。
压缩端在收到解压缩端的反馈信息,且满足状态转移条件中的一种时,降低外部头和/或内部头的压缩比,并根据降低后的压缩比,对外部头和/或内部头进行压缩,并发送给解压缩端。
其中,压缩端在满足下列状态转移条件中的一种时,降低外部头和内部头的压缩比:
外部头和内部头优先级相同,且收到来自解压缩端的反馈信息中包括外部头对应的NACK和/或内部头对应的NACK;
内部头优先级高于外部头优先级,且收到来自解压缩端的反馈信息中包括内部头对应的NACK;
外部头优先级高于内部头优先级,且收到来自解压缩端的反馈信息中包括外部头对应的NACK。
压缩端在满足下列状态转移条件中的一种时,降低外部头的压缩比:
内部头优先级高于外部头优先级,且收到来自解压缩端的反馈信息中包括外部头对应的NACK;
压缩端在满足下列状态转移条件中的一种时,降低内部头的压缩比:
外部头优先级高于内部头优先级,且收到来自解压缩端的反馈信息中包括内部头对应的NACK。
其中,如果GTP头与外部头关联,且外部头的压缩比降低后,则压缩端将压缩后的数据和GTP头一起发送给解压缩端;如果GTP头与内部头关联,且内部头的压缩比降低后,则压缩端将压缩后的数据和GTP头一起发送给解压缩端。
当然,如果收到的反馈信息中包括外部头对应的ACK和内部头对应的ACK,还可以提高外部头和内部头的压缩比,并且不需要重新发送。
在具体实施过程中,如果压缩端是RN设备、则解压缩端是与该RN设备连接的基站;如果压缩端是基站、则解压缩端是与基站连接的RN设备。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
从上述实施例中可以看出:本发明实施例压缩端根据通用分组无线业务隧道协议GTP头和压缩指示信息的对应关系,确定需要传输的GTP头对应的压缩指示信息;压缩端将确定的压缩指示信息发送给解压缩端,指示解压缩端根据GTP头和压缩指示信息的对应关系,确定收到的压缩指示信息对应的GTP头。
由于本发明实施例发送GTP头对应的压缩指示信息,从而减少了传输的开销,提高了网络资源利用率;进一步提高了Un口的数据传输效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。