具体实施方式
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)本申请实施例中,名词“网络”和“系统”经常交替使用,但本领域的技术人员可以理解其含义。
(2)本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
(3)“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所述,本发明实施例进行数据传输的系统包括:网络侧设备10和终端20。
网络侧设备10,用于将目标压缩字典存储到解压缓存中;通过解压缓存对收到的UDC压缩数据包进行解压操作。
终端20,用于将目标压缩字典存储到压缩缓存中;通过压缩缓存对需要发送的数据包进行压缩得到UDC压缩数据包;发送所述UDC压缩数据包。
本发明实施例网络侧设备通过解压缓存中的目标压缩字典对收到的UDC压缩数据包进行解压操作;终端通过压缩缓存中的目标压缩字典对需要发送的数据包进行压缩得到UDC压缩数据包并发送。由于网络侧设备和终端可以通过目标压缩字典进行解压操作和压缩,从而在缓存初始化或因为缓存不同步进行重置后,提高了进行数据传输的成功率;进一步提高传输效率,节省空口资源。
其中,本发明实施例的网络侧设备可以是基站(比如宏基站,演进基站、家庭基站等),也可以是RN(中继)设备,还可以是其它网络侧设备。
本发明实施例的压缩字典是指一些已有的压缩内容参考值,以这些信息作为压缩缓存的初始值,可以对初期的压缩带来较好的压缩效率,否则如果从全0的压缩缓存开始进行,相当于初期的数据包无法进行压缩,没有任何的压缩内容参考值。
在实施中,压缩字典在接收端和发送端获得同步,即两端所使用的压缩字典信息保持一致,这样能够保证压缩和解压操作正常进行。
本发明实施例的压缩字典包括标准压缩字典和/或运营商自定义的压缩字典。
标准压缩字典一般用于比较特定的业务,比如针对VoIP(Voice over IP,基于IP的语音呼叫)业务的SIP(Session Initiated Protocol,会话初始化协议)信令,IETF(国际互联网工程任务组织)标准化了一套专门的压缩字典RFC3485。标准压缩字典只需要终端和网络侧设备分别在出厂或者更新的时候将标准压缩字典加载进去,即可后续使用。
运营商自定义的压缩字典一般可以更灵活的定义压缩字典,比如运营商根据某种业务的大数据统计或者后台统计,获得高频出现的内容将其做成运营商自定义的压缩字典,运营商可以将不同业务适用的压缩字典,标记成不同的ID,例如定义压缩字典1用于Ftp(File Transfer Protocol,文件传输协议)业务,压缩字典2用于HTTP(Hyper TextTransport Protocol,超级文本传送协议)业务,压缩字典3用于及时消息业务等。运营商还可以对压缩字典进行更新,并针对不同的更新,给予详细的版本记录,例如版本1是2017年6月发布的,版本2是2017年10月发布的。
在实施中,对于标准压缩字典,由网络厂商和终端厂商分别根据标准来实现即可。
对于运营商自定义的压缩字典由于具有动态和灵活的特性,需要由运营商下发给用户。
具体的,所述网络侧设备通过多播、广播和单播中的部分或全部方式,为终端配置所述运营商自定义的压缩字典。
如果网络侧设备采用广播或多播的形式发送,网络侧设备需要提前预告发送的时间以及发送方式的具体信息,以便于终端可以获得该广播或多播的压缩字典,这种方式效率高,一次性可以通知到几乎所有的开机用户。
如果网络侧设备采用单播的形式发送,网络侧设备每次发送给一个用户。对于单播形式发送的方式有很多,下面列举几种:
1、当终端进行业务传输时,可以在需要发送给终端的信息中携带字典信息发送给终端;
2、设置至少一个网络空闲时段,比如23点到5点,当处于空闲时段时,可以将压缩字典发送给用户;
3、给终端发送通知,由终端通知用户决定是否接收以及何时接收压缩字典。
需要说明的是,上述3种方式只是举例说明,任何能够将压缩字典通过单播发送给终端的方式都适用本发明实施例。
在实施中,网络侧设备需要将目标压缩字典存储到解压缓存中,终端需要将目标压缩字典存储到压缩缓存中。
由于解压缓存的容量和目标压缩字典的大小不同,压缩缓存的容量和目标压缩字典的大小不同,具体缓存的方式也不一样。
缓存方式一、解压缓存的容量大于目标压缩字典的大小,即整个目标压缩字典都可以存储到解压缓存中,并且还会有剩余位置。
具体的,所述网络侧设备将目标压缩字典存储到解压缓存中其余位置补充设定值;其中所述其余位置包括所述解压缓存最前面和/或最后面。
1、可以将目标目标压缩字典息的尾部与解压缓存的尾部进行对齐放置,并在解压缓存前面多出的空间中采取补充设定值的操作。
比如设定值是0,解压缓存的容量是100,目标目标压缩字典的大小是80,则目标目标压缩字典占用压缩缓存后80的位置,前20的位置可以补0。
2、可以将目标目标压缩字典息的头部与解压缓存的头部进行对齐放置,并在解压缓存前面多出的空间中采取补充设定值的操作
比如设定值是0,解压缓存的容量是100,目标目标压缩字典的大小是80,则目标目标压缩字典占用压缩缓存前80的位置,后20的位置可以补0。
对于终端侧:
若压缩缓存的容量大于目标压缩字典,则所述终端将目标压缩字典存储到解压缓存中其余位置补充设定值;其中所述其余位置包括所述压缩缓存最前面和/或最后面。
具体的过程与网络侧设备类似,在此不再赘述。
缓存方式二、若解压缓存的容量不大于目标压缩字典,则所述网络侧设备将目标压缩字典前N比特或后N比特或中间N比特存储到解压缓存,N为解压缓存的容量。
1、目标压缩字典和解压缓存二者头对齐,多余目标压缩字典内容删除,保持解压缓存中的内容为目标压缩字典前部的内容。
比如解压缓存的容量是80,目标目标压缩字典的大小是100,则将目标目标压缩字典前80的位置存储到解压缓存中。
2、目标压缩字典和解压缓存二者尾部对齐,多余目标压缩字典内容删除,保持解压缓存中的内容为目标压缩字典后部的内容。
比如解压缓存的容量是80,目标目标压缩字典的大小是100,则将目标目标压缩字典后80的位置存储到解压缓存中。
3、解压缓存从目标压缩字典中间截取,多余的两头目标压缩字典的内容删除,保持解压缓存中的内容为目标压缩字典中部的内容。
比如解压缓存的容量是80,目标目标压缩字典的大小是100,则将目标目标压缩字典第10~90的位置存储到解压缓存中。这里前后选取时也可以不对称选取,但是需要保证终端和网络侧设备选取的位置相同。
如果解压缓存的容量等于目标目标压缩字典,则将目标目标压缩字典整个存储到解压缓存中。
对于终端侧:
若压缩缓存的容量不大于目标压缩字典,则所述终端将目标压缩字典前N比特或后N比特或中间N比特存储到解压缓存,N为压缩缓存的容量。
具体的过程与网络侧设备类似,在此不再赘述。
在实施中,网络侧设备可以为所述终端配置发送使用的压缩字典,也可以不为终端进行配置,下面分别进行说明。
一、网络侧设备为所述终端配置发送使用的压缩字典。
在实施中,网络侧设备为所述终端配置发送使用的压缩字典后可以将配置给终端的压缩字典作为目标压缩字典。比如网络侧设备通知终端本次发送使用的压缩字典的标识。
相应的,所述终端将所述网络侧设备配置的发送使用的压缩字典作为目标压缩字典。
在实施中,网络侧设备可以根据所述终端的字典支持能力信息和/或业务信息,为所述终端配置发送使用的压缩字典。
比如,当一个VoIP业务到达时,网络侧设备在配置相关的DRB时,可以告知UE启动VoIP业务相关的字典,例如RFC3485。
当一个HTTP业务到达时,UE(终端)又支持相关业务的预定义字典,则网络侧可以配置UE把预定义字典1作为压缩缓存的初始值,开始最初的压缩。
当到达的业务没有相对应的预定义字典,或者UE不支持运营商自定义的压缩字典时,网络侧设备可以配置终端把标准化的字典作为目标压缩字典;或者网络侧设备可以配置终端把预设填充信息(比如全0)存储到压缩缓存中。
其中,终端的字典支持能力信息可以是任何能够使网络侧设备确定终端支持哪些压缩字典的信息。
下面列举几种:
1、所述终端将字典支持能力信息发送给所述网络侧设备。
具体的,终端在进行能力上报的时候,可以携带自己的字典能力信息,例如是否支持运营商标准压缩字典、支持哪些运营商标准压缩字典、是否支持预定义的压缩字典、当前存储的预定义压缩字典的版本为多少等。
2、由于标准压缩字典比较容易支持,默认所有的终端只要支持UDC则自动支持标准压缩字典,则终端将是否支持UDC作为字典支持能力信息,只需要上报自己是否支持UDC;
相应的,若终端支持UDC,则网络侧设备可以确定UE支持标准压缩字典。
3、当网络侧设备在向终端下发最新的运营商自定义的压缩字典并获得成功之后(一般这种信息是通过AM(确认)模式进行发送,可以有隐式的RLC(Radio Link Control,无线链路控制)层的反馈判断终端是否接收成功,或者通过业务层的确认判断终端是否接收成功),那么网络侧设备可以记录该终端获得最新的运营商预定义字典信息,即终端的字典支持能力信息就是网络侧设备记录的最新的运营商预定义字典信息。
4、针对上面的3,下发运营商自定义的压缩字典的行为可能是由核心网发起的,因此核心网记录终端是否获得最新的运营商预定义字典信息,核心网可以将该内容在网络侧设备查询的时候,例如查询UE能力,发送给网络侧设备,以备网络侧设备配置UDC时使用。
需要说明的是,除了上面列举的终端的字典支持能力信息和/或业务信息,其他任何能够使网络侧设备确定终端发送使用的压缩字典的信息都适用本发明实施例。
所述终端在确定网络侧设备配置的发送使用的压缩字典后,如果终端有配置的压缩字典,可以将所述网络侧设备配置的发送使用的压缩字典作为目标压缩字典。
这里有一种可能是终端没有配置的压缩字典,这时终端需要选择一种压缩字典作为目标压缩字典。
1、终端有配置的压缩字典。
终端将配置的压缩字典作为目标压缩字典存储到压缩缓存中,通过压缩缓存对需要发送的数据包进行压缩得到UDC压缩数据包,并发送所述UDC压缩数据包。
2、终端没有配置的压缩字典,即终端不支持配置的压缩字典。
这种情况一般发生在网络侧设备对终端的字典支持能力情况了解不清楚,例如终端未上报字典支持的能力信息,或者终端虽然上报了字典支持能力,但终端当前存储的运营商自定义的压缩字典只有1到5,但网络侧设备要求用运营商自定义的压缩字典8,而运营商自定义的压缩字典8在终端并没有获得该内容。
终端按照当前使用的压缩字典优先级,将优先级最高的压缩字典作为目标压缩字典存储到压缩缓存中或将不高于网络侧设备配置的压缩字典的优先级的压缩字典作为目标压缩字典,通过压缩缓存对需要发送的数据包进行压缩得到UDC压缩数据包,并发送所述UDC压缩数据包。
比如压缩字典优先级从高到低为:运营商自定义的压缩字典A、运营商自定义的压缩字典B和标准压缩字典。
终端将运营商自定义的压缩字典A作为目标压缩字典存储到压缩缓存中,通过压缩缓存对需要发送的数据包进行压缩得到UDC压缩数据包,并发送所述UDC压缩数据包。
比如压缩字典优先级从高到低为:运营商自定义的压缩字典A、运营商自定义的压缩字典B和标准压缩字典。
网络侧设备配置的压缩字典C的优先级低于压缩字典A高于压缩字典B,则终端将运营商自定义的压缩字典C作为目标压缩字典存储到压缩缓存中,通过压缩缓存对需要发送的数据包进行压缩得到UDC压缩数据包,并发送所述UDC压缩数据包。这里也可以将标准压缩字典作为目标压缩字典存储到压缩缓存中。
在实施中,可以选择不高于网络侧设备配置的压缩字典的优先级中最高的压缩字典作为目标压缩字典。当然,也可以在不高于网络侧设备配置的压缩字典的优先级中随机或采用其他方式选择。
这里终端也可以不按照压缩字典优先级选择或者在压缩字典优先级中没有压缩字典或者没有网络侧设备配置的压缩字典时,将预设填充信息存储到解压缓存中,通过压缩缓存对需要发送的数据包进行压缩得到UDC压缩数据包,并发送所述UDC压缩数据包。
其中,终端当前使用的压缩字典优先级可以根据终端所在的位置、当前时间等因素确定。
比如终端处于基站A下,则终端当前使用的压缩字典优先级是基站A对应的压缩字典优先级;终端又移动到基站B下,则终端当前使用的压缩字典优先级是基站B对应的压缩字典优先级。
不同基站由于所属的网络或者PLMN不同,所以对应的压缩字典优先级也可能不同。比如当UE处于本地基站的覆盖下时,可以将本地运营商预配置的字典作为最高优先级,标准化字典作为次优先级。而当该UE漫游到别的地区,处于漫游基站的覆盖之下时,这时候UE本地运营商预配置的字典就失效了,而漫游地运营商的预配置字典UE没有来得及获取,此时可以将标准化字典作为最高优先级。
一种特殊情况是网络侧设备为终端配置预设填充信息(比如全0),则终端将预设填充信息存储到解压缓存中。
可选的,终端如果是用目标压缩字典进行压缩,则终端还可以将所述目标压缩字典对应的压缩字典标识置于所述UDC压缩数据包的头部。
这里的压缩字典标识可以是标准压缩字典的标识或运营商自定义的压缩字典的标识。
对于网络侧设备,如果接收到的UDC压缩数据包的头部包括压缩字典标识,则所述网络侧设备将所述压缩字典标识对应的压缩字典作为目标压缩字典,并将目标压缩字典存储到解压缓存中;通过解压缓存对收到的UDC压缩数据包进行解压操作。
如果接收到的UDC压缩数据包的头部不包括压缩字典标识,网络侧设备可以将配置给终端的压缩字典作为目标压缩字典进行解压操作;
如果缓存校验失败,则网络侧设备按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典,直到缓存校验成功或没有未使用的压缩字典。
比如压缩字典优先级从高到低为:运营商自定义的压缩字典A、运营商自定义的压缩字典B和标准压缩字典。
如果网络侧设备为终端配置运营商自定义的压缩字典A,网络侧设备用运营商自定义的压缩字典A缓存校验失败,则网络侧设备按照压缩字典优先级先选择运营商自定义的压缩字典B作为目标压缩字典进行解压操作;若缓存校验成功,则不再选择,若缓存校验失败,则继续选择标准压缩字典作为目标压缩字典进行解压操作。
可选的,在缓存校验失败后,若没有未使用的压缩字典,则所述网络侧设备将预设填充信息存储到解压缓存中,并通过解压缓存对收到的UDC压缩数据包进行解压操作。
继续上一个例子,若网络侧设备选择标准压缩字典作为目标压缩字典进行缓存校验失败,由于没有未使用的压缩字典,则网络侧设备将预设填充信息(比如全0)存储到解压缓存中,并通过解压缓存对收到的UDC压缩数据包进行解压操作。
在实施中,如果终端将预设填充信息存储到解压缓存中,则终端还可以在UDC压缩数据包中携带通知信息,用于通知网络侧设备终端未使用压缩字典进行压缩或用于通知网络侧设备终端使用预设填充信息进行压缩。
对于网络侧设备来说,在接收到第一个UDC压缩数据包时,先按照配置给终端的压缩字典,尝试进行缓存校验,如果成功,则说明终端使用了配置的压缩字典信息,则后续可以正常解压缩和处理数据包。如果不成功,则说明终端不支持配置的压缩字典,此时网络侧设备采取向下一个压缩字典优优先级依次尝试的方法,直到缓存校验成功,成功地那个缓存初始值即为终端选择的压缩缓存的初始值,那么网络侧设备也把该值作为解压缓存的初始值,进行后续的解压和后续包的处理。
这里的第一个UDC压缩数据包是初始传输的第一个UDC压缩数据包或进行压缩缓存重置后的第一个UDC压缩数据包。
二、网络侧设备不为所述终端配置发送使用的压缩字典。
由于网络侧设备不为终端配置发送使用的压缩字典,所以终端需要按照当前使用的压缩字典优先级,将优先级最高的压缩字典作为目标压缩字典,或者直接将预设填充信息存储到压缩缓存中。
比如压缩字典优先级从高到低为:运营商自定义的压缩字典A、运营商自定义的压缩字典B和标准压缩字典。终端将运营商自定义的压缩字典A作为目标压缩字典存储到压缩缓存中,通过压缩缓存对需要发送的数据包进行压缩得到UDC压缩数据包,并发送所述UDC压缩数据包。
其中,终端当前使用的压缩字典优先级可以根据终端所在的位置、当前时间等因素确定。
比如终端处于基站A下,则终端当前使用的压缩字典优先级是基站A对应的压缩字典优先级;终端又移动到基站B下,则终端当前使用的压缩字典优先级是基站B对应的压缩字典优先级。
不同基站由于所属的网络或者PLMN不同,所以对应的压缩字典优先级也可能不同。比如当UE处于本地基站的覆盖下时,可以将本地运营商预配置的字典作为最高优先级,标准化字典作为次优先级。而当该UE漫游到别的地区,处于漫游基站的覆盖之下时,这时候UE本地运营商预配置的字典就失效了,而漫游地运营商的预配置字典UE没有来得及获取,此时可以将标准化字典作为最高优先级。
可选的,终端如果是用目标压缩字典进行压缩,则终端还可以将所述目标压缩字典对应的压缩字典标识置于所述UDC压缩数据包的头部。
这里的压缩字典标识可以是标准压缩字典的标识或运营商自定义的压缩字典的标识。
如果终端将预设填充信息存储到解压缓存中,则终端还可以在UDC压缩数据包中携带通知信息,用于通知网络侧设备终端未使用压缩字典进行压缩或用于通知网络侧设备终端使用预设填充信息进行压缩。
对于网络侧设备,如果接收到的UDC压缩数据包的头部包括压缩字典标识,则所述网络侧设备将所述压缩字典标识对应的压缩字典作为目标压缩字典,并将目标压缩字典存储到解压缓存中;通过解压缓存对收到的UDC压缩数据包进行解压操作。
如果接收到的UDC压缩数据包的头部包括通知信息,则网络侧设备将预设填充信息存储到解压缓存中;通过解压缓存对收到的UDC压缩数据包进行解压操作。
如果接收到的UDC压缩数据包的头部不包括压缩字典标识,网络侧设备可以按照当前使用的压缩字典优先级,将优先级最高的压缩字典作为目标压缩字典,通过解压缓存对收到的UDC压缩数据包进行解压操作。
具体的,所述网络侧设备按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典,通过解压缓存对收到的UDC压缩数据包进行解压操作;
若缓存校验失败,则所述网络侧设备返回按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典的步骤,直到缓存校验成功或没有未使用的压缩字典。
比如压缩字典优先级从高到低为:运营商自定义的压缩字典A、运营商自定义的压缩字典B和标准压缩字典。
网络侧设备按照压缩字典优先级先选择运营商自定义的压缩字典A作为目标压缩字典进行解压操作;若缓存校验成功,则不再选择,若缓存校验失败,则网络侧设备按照压缩字典优先级先选择运营商自定义的压缩字典B作为目标压缩字典进行解压操作;若缓存校验成功,则不再选择,若缓存校验失败,则继续选择标准压缩字典作为目标压缩字典进行解压操作。
可选的,在缓存校验失败后,若没有未使用的压缩字典,则所述网络侧设备将预设填充信息存储到解压缓存中,并通过解压缓存对收到的UDC压缩数据包进行解压操作。
继续上一个例子,若网络侧设备选择标准压缩字典作为目标压缩字典进行缓存校验失败,由于没有未使用的压缩字典,则网络侧设备将预设填充信息(比如全0)存储到解压缓存中,并通过解压缓存对收到的UDC压缩数据包进行解压操作。
对于网络侧设备来说,在接收到第一个UDC压缩数据包时,采取压缩字典优优先级依次尝试的方法,直到缓存校验成功,成功地那个缓存初始值即为终端选择的压缩缓存的初始值,那么网络侧设备也把该值作为解压缓存的初始值,进行后续的解压和后续包的处理。
这里的第一个UDC压缩数据包是初始传输的第一个UDC压缩数据包或进行压缩缓存重置后的第一个UDC压缩数据包。
在实施中,如果终端和网络侧设备初始化的压缩缓存内容不一致或者中间出现异常情况造成了缓存验证失败,就需要启动恢复过程。
例如传输过程中数据丢失,造成压缩缓存和解压缓存中的数据不一样,由于两端所使用的缓存不一致,在缓存校验环节中,就会失败,这时候对于网络侧设备就可以判断出现了缓存失步,需要启动恢复过程重新获得缓存的同步。
缓存校验失败的恢复过程一般包括如下步骤:
1、网络侧设备发现缓存校验失败,向终端指示该缓存校验失败。
可选的,此时也可以携带推荐的复位的缓存初始值(即携带用于通知终端配置发送使用的压缩字典或预设填充信息的指示信息,比如压缩字典标识或者表示采用预设填充值的信息)。
例如当使用运营商自定义的压缩字典作为初始值时,如果第一个UDC压缩数据包开始就出现了缓存校验失败,说明两侧使用的运营商自定义的压缩字典不一致,此时再进行缓存复位时,初始值可以选择标准化字典或者预设填充值(比如全0)作为缓存初始值。
例如如果使用标准压缩字典作为初始值,第一个UDC压缩数据包开始就出现了缓存校验失败,说明两侧的标准压缩字典出现异常,此时再进行缓存复位时,初始值可以选择预设填充值(比如全0)作为缓存初始值。
2、终端接收到缓存校验失败指示,需要复位缓存,如果网络侧设备携带了复位的缓存初始值,则按照该缓存初始值进行复位,如果没有携带,则默认复位为标准化字典或预设填充值。
3、终端在复位缓存之后发送的第一个UDC压缩数据包里,显示携带复位指示和/或目标压缩字典对应的压缩字典标识,告知接收端从这个包开始复位。
这里的复位指示可以是一个指示信息。
4、网络侧设备接收到第一个携带复位指示的UDC压缩数据包后,复位解压缓存,如果有约定或者配置则按照约定或者配置的初始值作为复位之后的解压缓存的初始值;
如果没有约定或者配置,则网络侧设备可以按照上面介绍的方式依次尝试不同的压缩字典和预设填重置进行缓存校验,选择缓存校验成功的那个缓存初始值作为复位之后的缓存初始值,之后开始正常的解压和处理数据包。
如果随同复位指示一起还接收到目标压缩字典对应的压缩字典标识,或者网络侧设备接收到第一个携带复位指示的UDC压缩数据包中没有复位指示,有目标压缩字典对应的压缩字典标识,则网络侧设备可以将压缩字典标识对应的压缩字典作为目标压缩字典进行缓存校验。
需要说明的是,上述缓存初始值就是解压缓存中存储的信息。
如图2所述,本发明实施例第一种网络侧设备包括:处理器200、存储器201和收发机202;
处理器200负责管理总线架构和通常的处理,存储器201可以存储处理器200在执行操作时所使用的数据。收发机202用于在处理器200的控制下接收和发送数据。
总线架构可以包括任意数量的互联的总线和桥,具体由处理器200代表的一个或多个处理器和存储器201代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器200负责管理总线架构和通常的处理,存储器201可以存储处理器200在执行操作时所使用的数据。
本发明实施例揭示的流程,可以应用于处理器200中,或者由处理器200实现。在实现过程中,信号处理流程的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。处理器200可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成信号处理流程的步骤。
其中,处理器200,用于读取存储器201中的程序并执行下列过程:
将目标压缩字典存储到解压缓存中;通过解压缓存对收到的UDC压缩数据包进行解压操作。
可选的,所述处理器200具体用于:
若解压缓存的容量大于目标压缩字典,则将目标压缩字典存储到解压缓存中其余位置补充设定值;其中所述其余位置包括所述解压缓存最前面和/或最后面;或
若解压缓存的容量不大于目标压缩字典,则将目标压缩字典前N比特或后N比特或中间N比特存储到解压缓存,N为解压缓存的容量。
可选的,所述处理器200还用于:
按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典;
若缓存校验失败,则返回按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典的步骤,直到缓存校验成功或没有未使用的压缩字典。
可选的,所述处理器200还用于:
若接收到的UDC压缩数据包的头部包括压缩字典标识,则将所述压缩字典标识对应的压缩字典作为目标压缩字典。
可选的,所述处理器200还用于:
为所述终端配置发送使用的压缩字典;将配置给终端的压缩字典作为目标压缩字典。
可选的,所述处理器200还用于:
通过解压缓存对收到的UDC压缩数据包进行解压操作之后,若缓存校验失败,则按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典,直到缓存校验成功或没有未使用的压缩字典。
可选的,所述处理器200还用于:
在缓存校验失败后,若没有未使用的压缩字典,则将预设填充信息存储到解压缓存中,并通过解压缓存对收到的UDC压缩数据包进行解压操作。
可选的,所述处理器200具体用于:
根据所述终端的字典支持能力信息和/或业务信息,为所述终端配置发送使用的压缩字典。
可选的,所述UDC压缩数据包是初始传输的第一个UDC压缩数据包或进行压缩缓存重置后的第一个UDC压缩数据包。
可选的,所述第一个UDC压缩数据包是进行压缩缓存重置后的第一个UDC压缩数据包;
所述处理器还用于:
在确定压缩缓存和解压缓存不同步后,通知所述终端进行缓存复位。
可选的,所述处理器200还用于:
在所述通知中携带用于通知终端配置发送使用的压缩字典或预设填充信息的指示信息。
可选的,所述压缩字典包括标准压缩字典和/或运营商自定义的压缩字典。
可选的,所述压缩字典包括运营商自定义的压缩字典;
所述处理器200还用于:
通过多播、广播和单播中的部分或全部方式,为终端配置所述运营商自定义的压缩字典。
如图3所述,本发明实施例第一种终端包括:
处理器300负责管理总线架构和通常的处理,存储器301可以存储处理器300在执行操作时所使用的数据。收发机302用于在处理器300的控制下接收和发送数据。
总线架构可以包括任意数量的互联的总线和桥,具体由处理器300代表的一个或多个处理器和存储器301代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器300负责管理总线架构和通常的处理,存储器301可以存储处理器300在执行操作时所使用的数据。
本发明实施例揭示的流程,可以应用于处理器300中,或者由处理器300实现。在实现过程中,信号处理流程的各步骤可以通过处理器300中的硬件的集成逻辑电路或者软件形式的指令完成。处理器300可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器301,处理器300读取存储器301中的信息,结合其硬件完成信号处理流程的步骤。
其中,处理器300,用于读取存储器301中的程序并执行下列过程:
处理器300,用于读取存储器中的程序并执行下列过程:
将目标压缩字典存储到压缩缓存中;通过压缩缓存对需要发送的数据包进行压缩得到UDC压缩数据包;发送所述UDC压缩数据包。
可选的,所述处理器300具体用于:
若压缩缓存的容量大于目标压缩字典,则将目标压缩字典存储到压缩缓存中其余位置补充设定值;其中所述其余位置包括所述压缩缓存最前面和/或最后面;或
若压缩缓存的容量不大于目标压缩字典,则将目标压缩字典前N比特或后N比特或中间N比特存储到压缩缓存,N为解压缓存的容量。
可选的,所述处理器300用于:
按照当前使用的压缩字典优先级,将优先级最高的压缩字典作为目标压缩字典。
可选的,所述处理器300还用于:
将所述网络侧设备配置的发送使用的压缩字典作为目标压缩字典。
可选的,所述处理器300还用于:
若没有所述网络侧设备配置的压缩字典,则按照当前使用的压缩字典优先级,将优先级最高的压缩字典作为目标压缩字典或将不高于网络侧设备配置的压缩字典的优先级的压缩字典作为目标压缩字典。
可选的,所述处理器300还用于:
若没有所述网络侧设备配置的压缩字典,则将预设填充信息存储到压缩缓存中。
可选的,所述处理器300还用于:
将所述目标压缩字典对应的压缩字典标识置于所述UDC压缩数据包的头部。
可选的,所述处理器300还用于:
将字典支持能力信息发送给所述网络侧设备。
可选的,所述字典支持能力信息包括下列中的部分或全部:
是否支持标准压缩字典;
是否支持运营商自定义压缩字典;
支持运营商自定义的压缩字典的详细信息
可选的,所述UDC压缩数据包是初始传输的第一个UDC压缩数据包或进行压缩缓存重置后的第一个UDC压缩数据包。
可选的,所述第一个UDC压缩数据包是进行压缩缓存重置后的第一个UDC压缩数据包;
所述处理器300还用于:
接收到所述网络侧设备通知的缓存复位指示;在所述UDC压缩数据包的头部携带复位指示和/或所述目标压缩字典对应的压缩字典标识。
如图4所述,本发明实施例第二种网络侧设备包括:
处理模块400,用于将目标压缩字典存储到解压缓存中;
解压模块401,用于通过解压缓存对收到的UDC压缩数据包进行解压操作。
可选的,所述处理模块400具体用于:
若解压缓存的容量大于目标压缩字典,则将目标压缩字典存储到解压缓存中其余位置补充设定值;其中所述其余位置包括所述解压缓存最前面和/或最后面;或
若解压缓存的容量不大于目标压缩字典,则将目标压缩字典前N比特或后N比特或中间N比特存储到解压缓存,N为解压缓存的容量。
可选的,所述处理模块400还用于:
按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典;
所述解压模块401还用于:
若缓存校验失败,则触发处理模块400执行按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典的步骤,直到缓存校验成功或没有未使用的压缩字典。
可选的,所述处理模块400还用于:
若接收到的UDC压缩数据包的头部包括压缩字典标识,则将所述压缩字典标识对应的压缩字典作为目标压缩字典。
可选的,所述处理模块400还用于:
为所述终端配置发送使用的压缩字典;将配置给终端的压缩字典作为目标压缩字典。
可选的,所述解压模块401还用于:
通过解压缓存对收到的UDC压缩数据包进行解压操作之后,若缓存校验失败,则触发处理模块400按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典,直到缓存校验成功或没有未使用的压缩字典。
可选的,所述处理模块400还用于:
在所述解压模块401缓存校验失败后,若没有未使用的压缩字典,则将预设填充信息存储到解压缓存中。
可选的,所述处理模块400具体用于:
根据所述终端的字典支持能力信息和/或业务信息,为所述终端配置发送使用的压缩字典。
可选的,所述UDC压缩数据包是初始传输的第一个UDC压缩数据包或进行压缩缓存重置后的第一个UDC压缩数据包。
可选的,所述第一个UDC压缩数据包是进行压缩缓存重置后的第一个UDC压缩数据包;
所述解压模块401还用于:
在确定压缩缓存和解压缓存不同步后,通知所述终端进行缓存复位。
可选的,所述解压模块401还用于:
在所述通知中携带用于通知终端配置发送使用的压缩字典或预设填充信息的指示信息。
可选的,所述压缩字典包括标准压缩字典和/或运营商自定义的压缩字典。
可选的,所述压缩字典包括运营商自定义的压缩字典;
所述处理模块400还用于:
通过多播、广播和单播中的部分或全部方式,为终端配置所述运营商自定义的压缩字典。
如图5所述,本发明实施例第二种终端包括:
缓存模块500,用于将目标压缩字典存储到压缩缓存中;
压缩模块501,用于通过压缩缓存对需要发送的数据包进行压缩得到UDC压缩数据包;
发送模块502,用于发送所述UDC压缩数据包。
可选的,所述缓存模块500具体用于:
若压缩缓存的容量大于目标压缩字典,则将目标压缩字典存储到压缩缓存中其余位置补充设定值;其中所述其余位置包括所述压缩缓存最前面和/或最后面;或
若压缩缓存的容量不大于目标压缩字典,则将目标压缩字典前N比特或后N比特或中间N比特存储到压缩缓存,N为解压缓存的容量。
可选的,所述缓存模块500还用于:
按照当前使用的压缩字典优先级,将优先级最高的压缩字典作为目标压缩字典。
可选的,所述缓存模块500还用于:
将所述网络侧设备配置的发送使用的压缩字典作为目标压缩字典。
可选的,所述缓存模块500还用于:
若没有所述网络侧设备配置的压缩字典,则按照当前使用的压缩字典优先级,将优先级最高的压缩字典作为目标压缩字典或将不高于网络侧设备配置的压缩字典的优先级的压缩字典作为目标压缩字典。
可选的,所述缓存模块500还用于:
若没有所述网络侧设备配置的压缩字典,则将预设填充信息存储到压缩缓存中。
可选的,所述压缩模块501还用于:
将所述目标压缩字典对应的压缩字典标识置于所述UDC压缩数据包的头部。
可选的,所述发送模块502还用于:
将字典支持能力信息发送给所述网络侧设备。
可选的,所述字典支持能力信息包括下列中的部分或全部:
是否支持标准压缩字典;
是否支持运营商自定义压缩字典;
支持运营商自定义的压缩字典的详细信息
可选的,所述UDC压缩数据包是初始传输的第一个UDC压缩数据包或进行压缩缓存重置后的第一个UDC压缩数据包。
可选的,所述第一个UDC压缩数据包是进行压缩缓存重置后的第一个UDC压缩数据包;
所述发送模块502还用于:
接收到所述网络侧设备通知的缓存复位指示;在所述UDC压缩数据包的头部携带复位指示和/或所述目标压缩字典对应的压缩字典标识。
本发明实施例提供一种可读存储介质,包括程序代码,当所述程序代码在计算设备上运行时,所述程序代码用于使所述计算设备执行上述系统中网络侧设备的动作。
本发明实施例还提供一种可读存储介质,包括程序代码,当所述程序代码在计算设备上运行时,所述程序代码用于使所述计算设备执行上述系统中终端的动作。
基于同一发明构思,本发明实施例中还提供了一种网络侧设备进行数据接收的方法,由于该方法对应的设备是本发明实施例进行数据传输的系统中的网络侧设备,并且该方法解决问题的原理与该设备相似,因此该方法的实施可以参见系统的实施,重复之处不再赘述。
如图6所示,本发明实施例网络侧设备进行数据接收的方法包括:
步骤600、网络侧设备将目标压缩字典存储到解压缓存中;
步骤601、所述网络侧设备通过解压缓存对收到的UDC压缩数据包进行解压操作。
可选的,所述网络侧设备将目标压缩字典存储到解压缓存中,包括:
若解压缓存的容量大于目标压缩字典,则所述网络侧设备将目标压缩字典存储到解压缓存中其余位置补充设定值;其中所述其余位置包括所述解压缓存最前面和/或最后面;或
若解压缓存的容量不大于目标压缩字典,则所述网络侧设备将目标压缩字典前N比特或后N比特或中间N比特存储到解压缓存,N为解压缓存的容量。
可选的,所述网络侧设备将目标压缩字典存储到解压缓存中之前,还包括:
所述网络侧设备按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典;
所述网络侧设备通过解压缓存对收到的UDC压缩数据包进行解压操作,还包括:
若缓存校验失败,则所述网络侧设备返回按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典的步骤,直到缓存校验成功或没有未使用的压缩字典。
可选的,所述网络侧设备将目标压缩字典存储到解压缓存中之前,还包括:
若所述网络侧设备接收到的UDC压缩数据包的头部包括压缩字典标识,则所述网络侧设备将所述压缩字典标识对应的压缩字典作为目标压缩字典。
可选的,所述网络侧设备将目标压缩字典存储到解压缓存中之前,还包括:
所述网络侧设备为所述终端配置发送使用的压缩字典;
所述网络侧设备将配置给终端的压缩字典作为目标压缩字典。
可选的,所述网络侧设备通过解压缓存对收到的UDC压缩数据包进行解压操作之后,还包括:
若缓存校验失败,则所述网络侧设备按照压缩字典优先级选择一个未使用的且优先级最高的压缩字典作为目标压缩字典,直到缓存校验成功或没有未使用的压缩字典。
可选的,该方法还包括:
在缓存校验失败后,若没有未使用的压缩字典,则所述网络侧设备将预设填充信息存储到解压缓存中,并通过解压缓存对收到的UDC压缩数据包进行解压操作。
可选的,所述网络侧设备为所述终端配置发送使用的压缩字典,包括:
所述网络侧设备根据所述终端的字典支持能力信息和/或业务信息,为所述终端配置发送使用的压缩字典。
可选的,所述UDC压缩数据包是初始传输的第一个UDC压缩数据包或进行压缩缓存重置后的第一个UDC压缩数据包。
可选的,所述第一个UDC压缩数据包是进行压缩缓存重置后的第一个UDC压缩数据包;
所述网络侧设备将目标压缩字典存储到解压缓存中之前,还包括:
所述网络侧设备在确定压缩缓存和解压缓存不同步后,通知所述终端进行缓存复位。
可选的,所述网络侧设备通知所述终端进行缓存复位之前,还包括:
所述网络侧设备在所述通知中携带用于通知终端配置发送使用的压缩字典或预设填充信息的指示信息。
可选的,所述压缩字典包括标准压缩字典和/或运营商自定义的压缩字典。
可选的,所述压缩字典包括运营商自定义的压缩字典;
该方法还包括:
所述网络侧设备通过多播、广播和单播中的部分或全部方式,为终端配置所述运营商自定义的压缩字典。
基于同一发明构思,本发明实施例中还提供了一种终端进行数据发送的方法,由于该方法对应的设备是本发明实施例进行数据传输的系统中的终端,并且该方法解决问题的原理与该设备相似,因此该方法的实施可以参见系统的实施,重复之处不再赘述。
如图7所述,本发明实施例终端进行数据发送的方法包括:
步骤700、终端将目标压缩字典存储到压缩缓存中;
步骤701、所述终端通过压缩缓存对需要发送的数据包进行压缩得到UDC压缩数据包;
步骤702、所述终端发送所述UDC压缩数据包。
可选的,所述终端将目标压缩字典存储到压缩缓存中,包括:
若压缩缓存的容量大于目标压缩字典,则所述终端将目标压缩字典存储到压缩缓存中其余位置补充设定值;其中所述其余位置包括所述压缩缓存最前面和/或最后面;或
若压缩缓存的容量不大于目标压缩字典,则所述终端将目标压缩字典前N比特或后N比特或中间N比特存储到压缩缓存,N为解压缓存的容量。
可选的,所述终端将目标压缩字典存储到压缩缓存中之前,还包括:
所述终端按照当前使用的压缩字典优先级,将优先级最高的压缩字典作为目标压缩字典。
可选的,所述终端将目标压缩字典存储到压缩缓存中之前,还包括:
所述终端将所述网络侧设备配置的发送使用的压缩字典作为目标压缩字典。
可选的,所述终端将目标压缩字典存储到压缩缓存中之前,还包括:
若所述终端没有所述网络侧设备配置的压缩字典,则按照当前使用的压缩字典优先级,将优先级最高的压缩字典作为目标压缩字典或将不高于网络侧设备配置的压缩字典的优先级的压缩字典作为目标压缩字典。
可选的,该方法还包括:
若所述终端没有所述网络侧设备配置的压缩字典,则将预设填充信息存储到压缩缓存中。
可选的,所述终端将目标压缩字典存储到压缩缓存中之后,发送所述UDC压缩数据包之前,还包括:
所述终端将所述目标压缩字典对应的压缩字典标识置于所述UDC压缩数据包的头部。
可选的,所述终端将目标压缩字典存储到压缩缓存中之前,还包括:
所述终端将字典支持能力信息发送给所述网络侧设备。
可选的,所述字典支持能力信息包括下列中的部分或全部:
是否支持标准压缩字典;
是否支持运营商自定义压缩字典;
支持运营商自定义的压缩字典的详细信息
可选的,所述UDC压缩数据包是初始传输的第一个UDC压缩数据包或进行压缩缓存重置后的第一个UDC压缩数据包。
可选的,所述第一个UDC压缩数据包是进行压缩缓存重置后的第一个UDC压缩数据包;
所述终端将目标压缩字典存储到压缩缓存中之前,还包括:
所述终端接收到所述网络侧设备通知的缓存复位指示;
所述终端发送所述UDC压缩数据包之前,还包括:
所述终端在所述UDC压缩数据包的头部携带复位指示和/或所述目标压缩字典对应的压缩字典标识。
以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。