CN107645746A - 一种上下文更新方法、系统及设备 - Google Patents
一种上下文更新方法、系统及设备 Download PDFInfo
- Publication number
- CN107645746A CN107645746A CN201610576493.2A CN201610576493A CN107645746A CN 107645746 A CN107645746 A CN 107645746A CN 201610576493 A CN201610576493 A CN 201610576493A CN 107645746 A CN107645746 A CN 107645746A
- Authority
- CN
- China
- Prior art keywords
- context
- compressor
- decompressor
- local
- compression
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000007906 compression Methods 0.000 claims abstract description 223
- 230000006835 compression Effects 0.000 claims abstract description 223
- 230000006837 decompression Effects 0.000 claims abstract description 171
- 238000013144 data compression Methods 0.000 claims description 135
- 238000012545 processing Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 239000003638 chemical reducing agent Substances 0.000 abstract 6
- 101100465000 Mus musculus Prag1 gene Proteins 0.000 description 36
- 230000003068 static effect Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 14
- 230000015556 catabolic process Effects 0.000 description 12
- 238000006731 degradation reaction Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000006866 deterioration Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种上下文更新系统,包括本端解压缩器、对端压缩器;其中,所述本端解压缩器,用于检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向对端压缩器发送第二消极反馈;所述对端压缩器,用于接收到所述第二消极反馈后,更新所述对端压缩器中的第一压缩上下文,并发送携带有上下文更新信息的数据压缩包至所述本端解压缩器;所述本端解压缩器,还用于对所述对端压缩器发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。本发明还同时公开了两种上下文更新方法及设备。
Description
技术领域
本发明涉及移动通信领域中的报文更新技术,尤其涉及一种上下文更新方法、系统及设备。
背景技术
鲁棒性头压缩技术(Robust Header Compression,ROHC)是为了解决移动通信系统中无线链路所存在的传输速率低、误码率高的缺陷,而引入的一种报头压缩机制。其中,上下文是ROHC中一个非常重要的概念,包括压缩上下文和解压缩上下文。压缩器进行压缩的当前状态信息集合称为压缩上下文;解压缩器进行解压缩的当前状态信息集合称为解压缩上下文。在有反馈通道存在的情况下,ROHC中的解压缩器可以给压缩器发送积极反馈(Ack,acknowledge)和消极反馈(Nack,Not acknowledge;Static-Nack,Static-Notacknowledge)。积极反馈用于解压缩器向压缩器发送确认已收到上下文更新报文的消息,消极反馈用于解压缩器向压缩器反馈自己的解压缩状态。其中,Nack表示解压缩器缺少动态上下文,Static-Nack表示解压缩器缺少静态上下文。因此,当解压缩器检测到因解压缩上下文与压缩上下文失同步导致数据压缩包解压失败时,可通过发送Nack或Static-Nack反馈来告知压缩器主动同步上下文,而压缩器接收到相应的消极反馈后,便对相应的上下文进行更新。
随着鲁棒性头压缩算法的应用领域的不断扩大、以及移动终端上安装的应用软件数量的大幅增加,在压缩器和解压缩器之间同时建立多个压缩上下文、解压缩上下文,对多个数据包进行压缩和解压缩的场景必然会存在。然而在这种场景下,当无线链路出现持续变差的情况使得压缩和解压缩效率下降时,解压器将会为每一个解压缩上下文发送一个Nack或Static Nack反馈,而压缩器则会收到多个相应的Nack或Static Nack反馈,这会导致无线链路被用来传输大量的消极反馈,而不是用于尽快传输解压缩器所需要的上下文更新信息,既浪费了无线链路资源,又延长了压缩器和解压缩器之间上下文的更新时间,从而不能使压缩器和解压缩器快速恢复至高效率的压缩和解压缩状态。
发明内容
有鉴于此,本发明实施例期望提供一种上下文更新方法、系统及设备,能够提高无线链路资源利用率以及上下文更新的效率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种上下文更新系统,所述系统包括:本端解压缩器、对端压缩器;其中,
所述本端解压缩器,用于检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向对端压缩器发送第二消极反馈;
所述对端压缩器,用于接收到所述第二消极反馈后,更新所述对端压缩器中的第一压缩上下文,并发送携带有上下文更新信息的数据压缩包至所述本端解压缩器;
所述本端解压缩器,还用于对所述对端压缩器发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。
上述方案中,所述系统还包括:本端压缩器;其中,
所述本端解压缩器,还用于向本端压缩器发送上下文更新指令;
所述本端压缩器,用于接收到所述指令后,更新所述本端压缩器中的第二压缩上下文。
上述方案中,所述本端解压缩器,还用于在对所述对端压缩器发送的携带有上下文更新信息的数据压缩包解压缩成功之前,统计解压缩失败的数据压缩包数量,当所述解压缩失败的数据压缩包数量大于或等于设置的第二阈值时,再次向所述对端压缩器发送所述第二消极反馈。
上述方案中,所述对端压缩器,还用于记录对所述对端压缩器中的第一压缩上下文进行更新的时间,当所述记录的时间大于或等于设置的第三阈值时,停止更新所述对端压缩器中的第一压缩上下文。
本发明提供了一种上下文更新方法,所述方法包括:
检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向对端压缩器发送第二消极反馈;
对所述对端压缩器响应所述第二消极反馈所发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。
上述方案中,所述方法还包括:
向本端压缩器发送上下文更新指令。
本发明提供了一种解压缩器,所述解压缩器包括:第一发送单元、检测单元、第一处理单元;其中,
所述第一发送单元,用于当所述检测单元检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向所述对端压缩器发送第二消极反馈;
所述第一处理单元,用于对所述对端压缩器响应所述第二消极反馈所发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。
上述方案中,所述第一发送单元,还用于向本端压缩器发送上下文更新指令。
本发明提供了一种上下文更新方法,所述方法包括:
接收到本端解压缩器发送的第二消极反馈后,更新第一压缩上下文;
发送携带有上下文更新信息的数据压缩包至所述本端解压缩器。
本发明提供了一种压缩器,所述压缩器包括:接收单元、第二发送单元、第二处理单元;其中,
所述第二处理单元,用于当所述接收单元接收到本端解压缩器发送的第二消极反馈后,更新第一压缩上下文;
所述第二发送单元,用于发送携带有上下文更新信息的数据压缩包至所述本端解压缩器。
本发明实施例提供的上下文更新方法、系统及设备,本端解压缩器检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向对端压缩器发送第二消极反馈;对端压缩器接收到所述第二消极反馈后,更新所述对端压缩器中的第一压缩上下文,并发送携带有上下文更新信息的数据压缩包至所述本端解压缩器;本端解压缩器对所述对端压缩器发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。可见,本发明实施例将现有技术中的消极反馈作为第一消极反馈,并引入了第二消极反馈,在本端解压缩器检测出需要为任意解压缩上下文向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,会直接向对端压缩器发送第二消极反馈,而不用针对每个第一解压缩上下文发送一个第一消极反馈,使得对端压缩器接收到所述第二消极反馈后就会对所有的第一解压缩上下文进行更新,从而减少了本端解压缩器所发送的第一消极反馈的数量,提高了无线链路资源利用率,缩短了压缩器和解压缩器之间上下文的更新时间,提高了上下文更新的效率。
附图说明
图1为两个对等实体中压缩器与解压缩器之间数据传递流向的示意图;
图2为本发明实施例一上下文更新方法的实现流程示意图;
图3为本发明实施例一上下文更新方法的具体实现流程示意图;
图4为本发明实施例一中所述执行消极反馈决策的具体实现流程示意图;
图5为本发明实施例一中所述第一压缩上下文状态更新的具体实现流程示意图;
图6为本发明实施例一中处于压缩上下文更新状态下的对端压缩器接收到待压缩数据包后,制作压缩数据包的具体实现流程示意图;
图7为本发明实施例一中所述解压缩上下文更新的具体实现流程示意图;
图8为本发明实施例一中所述对端压缩器进行状态更新的具体实现流程示意图;
图9为本发明实施例一中所述对端压缩器处理待更新第一压缩上下文的具体实现流程示意图;
图10为本发明实施例一上下文更新系统的组成结构示意图;
图11为本发明实施例二上下文更新方法的实现流程示意图;
图12为本发明实施例二解压缩器的组成结构示意图;
图13为本发明实施例三上下文更新方法的实现流程示意图;
图14为本发明实施例三压缩器的组成结构示意图。
具体实施方式
图1为两个对等实体中压缩器与解压缩器之间数据传递流向的示意图,如图1所示,在鲁棒性头压缩算法的实际应用场景中,一定存在两个对等实体,例如:人们常见的移动终端和无线接入网中的接入网设备如演进型基站,而每个对等实体中都会存在一个压缩器和解压缩器。当本端实体中的压缩器(简称为本端压缩器)收到上层传来的待压缩的数据包后,则利用本端压缩器中与所述待压缩的数据包对应的压缩上下文进行压缩,然后将所述本端压缩器产生的数据压缩包发送给对端实体中的解压缩器(简称为对端解压缩器);对端解压缩器接收到所述本端压缩器发送的数据压缩包后,则利用对端解压缩器中与所述数据压缩包对应的解压缩上下文进行解压缩。与此类似,对端实体中的压缩器(简称为对端压缩器)收到上层传来的待压缩的数据包后,则利用对端压缩器中与所述待压缩的数据包对应的压缩上下文进行压缩,然后将所述对端压缩器产生的数据压缩包发送给本端实体中的解压缩器(简称为本端解压缩器);本端解压缩器接收到所述对端压缩器发送的数据压缩包后,则利用本端解压缩器中与所述数据压缩包对应的解压缩上下文进行解压缩。这样,便可实现数据包在两个对等实体之间的压缩和解压缩。
这里,对于压缩器,当一个新的数据包分组流到来时,压缩器首先进入压缩初始化状态,将数据包分组流的报头信息保存在压缩上下文中,同时将完整的上下文信息发送给解压器;当压缩器判断出解压器收到所述完整的上下文信息后,进入压缩状态,开始发送压缩包分组(只对数据包报头的静态域进行压缩);以后每发送一个压缩包分组,都要更新该数据包分组流对应的压缩上下文信息,以保证压缩上下文中保存的是该数据包分组流中最后发送的压缩包分组的报头。
对于解压缩器,一开始将压缩器发送过来的完整的上下文信息保存下来,以后每接收到一个压缩包分组,在解压缩前都要更新相应的解压缩上下文信息,以保证解压缩上下文中保存的是最后接收到的压缩包分组信息,这样才能保证压缩器与解压缩器之间上下文的同步。当解压器中的解压缩上下文与压缩器中的压缩上下文失同步时,就不能正确的解压缩压缩包分组。
这里,压缩器和解压缩器之间存在反馈通道,作为压缩器与解压缩器沟通桥梁的反馈数据的传输通道。例如,当无线链路变差使解压缩上下文与压缩上下文失同步,导致解压缩器解压缩数据压缩包失败后,解压缩器会向压缩器发送Nack或Static Nack反馈,告知压缩器需要对上下文进行更新;压缩器收到Nack或Static Nack反馈后,则会向下迁移自己的状态来发送解压器所期望的上下文;当解压缩器收到上下文更新报文后,会向压缩器发送Ack反馈;压缩器收到Ack反馈后,则会向上迁移自己的状态以提高压缩和解压缩的效率。
实施例一
本实施例上下文更新方法的实现流程示意图,如图2所示,包括以下步骤:
步骤101:本端解压缩器检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向对端压缩器发送第二消极反馈。
具体地,若因出现无线链路变差的情况,本端解压缩器检测出所述本端解压缩器中任意一个解压缩上下文不能正确解压数据压缩包,而需要针对该解压缩上下文向对端压缩器发送一个第一消极反馈时,本端解压缩器进一步检测所述自身使用的第一解压缩上下文的数量是否大于或等于设置的第一阈值,若检测出所述第一解压缩上下文的数量大于或等于设置的第一阈值,则本端解压缩器向对端压缩器直接发送第二消极反馈,而不发送所述第一消极反馈。
这里,所述第一消极反馈可以是Nack或Static Nack反馈;由于ROHC协议规定描述消极反馈的选项只有7个,反馈选项字段可以表达的选项类型参数取值最多可达15,本发明实施例中所述第二消极反馈是在ROHC协议描述基础上扩展设置的一个选项8的消极反馈;所述第一解压缩上下文是指在预设时间内,本端解压缩器中使用次数大于或等于设置的第四阈值的解压缩上下文;所述第一阈值、第四阈值可根据实际情况进行设置,例如可设置第一阈值为5、第四阈值为4。
这里,当无线链路出现变差情况时,将导致压缩和解压缩的效率下降,即会出现由于解压缩上下文与对应的压缩上下文失同步,从而导致本端解压缩器对数据压缩包解压失败的情况。为使得解压缩上下文与对应的压缩上下文同步,本端解压缩器将会为与压缩上下文失同步的解压缩上下文发送Nack或Static Nack反馈给所述对端压缩器。然而,由于无线链路变差将会使本端解压缩器在一段时间内所使用的多个解压缩上下文与多个相应的压缩上下文失同步,特别是对于在所述时间段内本端解压缩器使用次数较为频繁的解压缩上下文而言,所述使用次数较为频繁的解压缩上下文肯定会出现与对应的压缩上下文失同步的情况。这种情况下,本端解压缩器将需要发送多个Nack或Static Nack反馈即第一消极反馈给对端压缩器,而这样就会导致无线链路被大量的用来传输多个第一消极反馈,而不能尽快传输本端解压缩器所需要的解压缩上下文更新信息;因此,本实施例通过发送第二消极反馈替代发送多个第一消极反馈,使解压缩上下文的更新信息能尽快传输,以提高传输效率。
步骤102:对端压缩器接收到所述第二消极反馈后,更新所述对端压缩器中的第一压缩上下文,并发送携带有上下文更新信息的数据压缩包至所述本端解压缩器。
具体地,对端压缩器接收到步骤101中所述本端解压缩器发送的第二消极反馈后,获取并更新所述对端压缩器中第一压缩上下文;然后,对端压缩器使用更新后的所述第一压缩上下文对待压缩的数据包进行压缩,并将携带有上下文更新信息的数据压缩包发送至所述本端解压缩器。
这里,所述第一压缩上下文是指在预设时间内,对端压缩器中使用次数大于或等于设置的第五阈值的压缩上下文;所述第五阈值可与所述第四阈值相同,也可根据实际情况进行设置,例如可设置第五阈值为5。
进一步地,所述方法还包括:
对端压缩器记录对所述对端压缩器中的第一压缩上下文进行更新的时间,当所述记录的时间大于或等于设置的第三阈值时,停止更新所述对端压缩器中的第一压缩上下文。
具体地,在对端压缩器中设置一个计时器,记录所述对端压缩器更新第一压缩上下文的时间,当所述计时器记录的时间大于或等于设置的第三阈值而所述第一压缩上下文未全部完成更新时,停止更新所述对端压缩器中的第一压缩上下文;当所述第一压缩上下文已全部完成更新而所述计时器记录的时间小于设置的第三阈值时,停止计时。
这里,利用计时器记录所述对端压缩器更新第一压缩上下文的时间,当所述记录的时间超出设置的第三阈值时,停止更新所述第一压缩上下文,如此,能够有效避免由于长时间内无待压缩数据包而无法进行上下文信息更新,导致所述对端压缩器不能恢复至压缩状态。
步骤103:本端解压缩器对所述对端压缩器发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。
具体地,本端解压缩器接收到步骤102中所述对端压缩器发送的携带有上下文更新信息的数据压缩包后,对所述数据压缩包进行解压缩,解压缩成功后利用所述解压缩成功的数据压缩包中所携带的上下文更新信息更新所述第一解压缩上下文,使得所述本端解压缩器的解压缩上下文与对端压缩器的压缩上下文同步。
进一步地,在步骤101之后,所述方法还包括:
本端解压缩器向本端压缩器发送上下文更新指令;
本端压缩器接收到所述指令后,更新所述本端压缩器中的第二压缩上下文。
具体地,当步骤101中本端解压缩器因无线链路变差向对端压缩器发送第二消极反馈后,本端解压缩器向本端压缩器发送上下文更新指令;本端压缩器接收到所述本端解压缩器发送的所述上下文更新指令后,更新所述本端压缩器中的第二压缩上下文。
这里,所述第二压缩上下文是指在预设时间内,本端压缩器中使用次数大于或等于设置的第六阈值的压缩上下文;由于无线链路变差必然会导致本端压缩器和对端解压缩器之间的压缩和解压缩效率下降,即在对端解压缩器中出现解压缩上下文与对应的压缩上下文失同步的现象。因此,当本端解压缩器检测到因无线链路变差向对端压缩器发送第二消极反馈后,及时通知本端压缩器提前进行上下文更新,使得本端压缩器不是等到接收到对端解压缩器发送的消极反馈后再进行上下文的更新。如此,能够降低本端压缩器发送到对端解压器的数据压缩包被解压失败的可能性,减少或避免对端解压缩器向本端压缩器发送消极反馈,缩短压缩上下文和解压缩上下文同步的时间。
进一步地,在步骤103之前,所述方法还包括:
本端解压缩器统计解压缩失败的数据压缩包数量,当所述解压缩失败的数据压缩包数量大于或等于设置的第二阈值时,再次向所述对端压缩器发送所述第二消极反馈。
具体地,本端解压缩器在步骤101中向对端压缩器发送第二消极反馈以后,在未收到所述对端压缩器发送的携带有上下文更新信息的数据压缩包之前,统计解压缩失败的数据压缩包的数量,当所述统计的解压缩失败的数据压缩包的数量大于或等于设置的第二阈值时,本端解压缩器再次向所述对端压缩器发送所述第二消极反馈。
这里,所述本端解压缩器对解压缩失败的数据压缩包的数量进行统计,只有当所述解压缩失败的数据压缩包的数量达到设置的第二阈值时,才选择再次向所述对端压缩器发送所述第二消极反馈,而不是在出现数据压缩包解压缩失败后马上向对端压缩器发送第一消极反馈,如此,能够有效减少第一消极反馈的发送次数。
下面结合附图对本实施例再作进一步详细的说明。
本实施例上下文更新方法的具体实现流程示意图,如图3所示,包括以下步骤:
步骤201:解压缩数据压缩包;
具体地,本端解压缩器接收到对端压缩器发送的数据压缩包后,利用所述本端解压缩器中的与所述数据压缩包对应的解压缩上下文对所述数据压缩包进行解压缩。
步骤202:判断数据压缩包是否解压缩成功,若是,则执行步骤209,否则执行步骤203;
步骤203:执行消极反馈决策;
这里,当本端解压缩器解压缩所述对端压缩器发送的数据压缩包失败后,本端解压缩器根据已设置的用于辅助上下文更新的变量的不同状态,执行消极反馈决策。
所述用于辅助上下文更新的变量包括FbAllInOneFg、NeedNorFb、NeedOpt8Fb、WaitReSendCnt、UpdAllCtx、Ctxcount、T_AllUpd、CtxArray、CtxUpdFg;其中,变量FbAllInOneFg用于标记是否将本端解压缩器中的多个第一解压缩上下文所对应的多个第一消极反馈统一到一个第二消极反馈中发出,为1表示将本端解压缩器中的多个第一解压缩上下文所对应的多个第一消极反馈统一到一个第二消极反馈中发出,为0表示不将本端解压缩器中的多个第一解压缩上下文所对应的多个第一消极反馈统一到一个第二消极反馈中发出;变量NeedNorFb用于标记是否需要发送第一消极反馈,为1表示需要发送第一消极反馈,为0表示不需要发送第一消极反馈;变量NeedOpt8Fb用于标记是否需要发送第二消极反馈,为1表示需要发送第二消极反馈,为0表示不需要发送第二消极反馈;变量WaitReSendCnt用于记录本端解压缩器中所述多个第一解压缩上下文使用一个第二消极反馈发送反馈数据后,在等待对端压缩器反馈回上下文更新信息的过程中,本端解压器因解压缩数据压缩包失败而应当发送第一消极反馈的累计次数;变量Ctxcount用于记录本端解压缩器中第一解压缩上下文的数量;变量UpdAllCtx用于标记是否需要对所述对端压缩器中的第一压缩上下文进行更新,为1表示需要对所述对端压缩器中的第一压缩上下文进行更新,为0表示不需要对所述对端压缩器中的第一压缩上下文进行更新;变量T_AllUpd表示用于记录对端压缩器更新第一压缩上下文所用时间的定时器;变量CtxArray表示对端压缩器中用于存放需要更新的第一压缩上下文的容器;变量CtxUpdFg用于标记所述第一压缩上下文是否需要进行更新,为1表示需要进行更新,为0表示不需要进行更新。
本实施例中,所述第一消极反馈可以是Nack或Static Nack反馈;第二消极反馈是指选项8的消极反馈;所述第一解压缩上下文是指当前时间之前5秒内,本端解压缩器中使用次数大于或等于5次的解压缩上下文;所述第一压缩上下文是指当前时间之前5秒内,对端压缩器中使用次数大于或等于5次的压缩上下文;所述第二压缩上下文是指当前时间之前5秒内,本端压缩器中使用次数大于或等于5次的压缩上下文。
所述执行消极反馈决策的具体实现流程示意图,如图4所示,包括:
步骤20301:判断变量FbAllInOneFg的值是否为1,若是,则执行步骤20306,否则执行步骤20302;
步骤20302:根据ROHC协议判断是否需要发送第一消极反馈,若是,则执行步骤20303,否则结束所述消极反馈发送决策分析;
步骤20303:判断变量Ctxcount的值是否大于或等于5,若是,则执行步骤20305,否则执行步骤20304;
具体地,本端解压缩器将第一解压缩上下文的数量记录到变量Ctxcount中,并判断变量Ctxcount的值是否大于或等于5,若变量Ctxcount的值大于或等于5,则执行步骤20305,否则执行步骤20304。
步骤20304:将变量NeedNorFb的值置1,并结束所述消极反馈发送决策分析;
步骤20305:将变量WaitReSendCnt的值置0、变量FbAllInOneFg的值置1,继续执行步骤20309;
步骤20306:将变量WaitReSendCnt的值加1,继续执行步骤20307;
步骤20307:判断变量WaitReSendCnt的值是否大于或等于5,若是,则执行步骤20308,否则结束所述执行消极反馈过程;
步骤20308:将变量WaitReSendCnt的值置0,继续执行步骤20309;
步骤20309:将变量NeedOpt8Fb的值置1,结束所述执行消极反馈决策过程。
这里,根据所述消极反馈发送决策的处理结果,可获得变量NeedNorFb和变量NeedOpt8Fb的值,从而决定发送哪种类型的消极反馈。
步骤204:判断变量NeedNorFb的值是否为1,若是,则执行步骤205,否则执行步骤206;
步骤205:本端解压缩器向所述对端压缩器发送第一消极反馈,将变量NeedNorFb的值置0,并结束分析所述数据压缩包;
步骤206:判断变量NeedOpt8Fb的值是否为1,若是,则执行步骤207,否则结束分析所述数据压缩包;
步骤207:本端解压缩器向所述对端压缩器发送第二消极反馈,将变量NeedOpt8Fb的值置0,并向本端压缩器发送上下文更新指令,继续执行步骤208;
步骤208:压缩器进行压缩上下文更新,并向解压缩器发送携带上下文更新信息的数据压缩包;
这里,所述压缩器进行压缩上下文更新,包括:对端压缩器接收到所述本端解压缩器发送的第二消极反馈后,对所述对端压缩器中的第一压缩上下文进行更新;本端压缩器接收到所述本端解压缩器发送的上下文更新指令后,对所述本端压缩器中的第二压缩上下文进行更新。因此,所述压缩器向解压缩器发送携带上下文更新信息的数据压缩包,包括:对端压缩器向本端解压缩器发送携带第一压缩上下文更新信息的数据压缩包;本端压缩器向对端解压缩器发送携带第二压缩上下文更新信息的数据压缩包。
这里,由于对端压缩器对第一压缩上下文进行更新的过程与本端压缩器对第二压缩上下文进行更新的过程是类似的,所以本实施例中只介绍所述对端压缩器更新第一压缩上下文以及向所述本端解压缩器发送携带有第一压缩上下文更新信息的数据压缩包的处理过程。需要注意的是,本端压缩器更新第二压缩上下文以及向所述对端解压缩器发送携带有第二压缩上下文更新信息的数据压缩包的处理过程是可以按照下面所述的处理过程推演出来的。
所述第一压缩上下文状态更新的具体实现流程示意图,如图5所示,包括:
步骤20801:判断变量UpdAllCtx的值是否为0,若是,则执行步骤20802,否则结束更新过程分析;
具体地,对端压缩器接收到本端解压缩器发送的第二消极反馈后,判断变量UpdAllCtx的值是否为0,当变量UpdAllCtx的值为0时,则执行步骤20802;当变量UpdAllCtx的值为1时,表明所述第一压缩上下文正处于更新状态,而结束更新过程分析,即不再次发起对所述第一压缩上下文的更新。
步骤20802:将变量UpdAllCtx的值置1,继续执行步骤20803;
这里,由于对端压缩器已接收到本端解压缩器发送的第二消极反馈,而所述第一压缩上下文未处于更新状态,则对端压缩器需要对所述第一压缩上下文进行更新,因此需要将变量UpdAllCtx的值置1。
步骤20803:将对端压缩器中的所有第一压缩上下文放入到CtxArray中,继续执行步骤20804;
这里,所述将所有第一压缩上下文放入到CtxArray中是为了方便后面对所述第一压缩上下文进行更新的处理过程;在实际应用中,也可不用将所述第一压缩上下文放入到CtxArray中,而是直接在对端压缩器中对所述第一压缩上下文进行相应的更新处理。
步骤20804:将所述CtxArray中每一个第一压缩上下文所对应的变量CtxUpdFg的值置为1,继续执行步骤20805;
这里,将第一压缩上下文所对应的变量CtxUpdFg的值置为1后,表明需要对该第一压缩上下文进行更新。
步骤20805:开启定时器,即T_AllUpd开始计时。
这里,对端压缩器执行完上述步骤20801至步骤20805后,则完成了对所述第一压缩上下文进行更新的准备流程。若所述处于压缩上下文更新状态下的对端压缩器接收到待压缩数据包后,则利用与所述待压缩数据包对应的压缩上下文对所述待压缩数据包进行压缩,若所述待压缩数据包进行压缩需要利用所述待更新的第一压缩上下文进行压缩,则可将所述携带有上下文更新信息的数据压缩包发送至所述本端解压缩器,从而使所述本端解压缩器中的第一解压缩上下文与所述对端压缩器中的第一压缩上下文同步。
所述处于压缩上下文更新状态下的对端压缩器接收到待压缩数据包后,制作压缩数据包的具体实现流程示意图,如图6所示,包括:
步骤20801a:获取所述待压缩数据包对应的压缩上下文以及所述压缩上下文对应的变量CtxUpdFg,继续执行步骤20802b;
具体地,分析所述待压缩数据包,找到所述待压缩数据包进行压缩所需要使用的压缩上下文,并获取所述待压缩数据包进行压缩所需要使用的压缩上下文的变量CtxUpdFg。
步骤20802b:判断变量CtxUpdFg的值是否为1,若是,则执行步骤20803c,否则执行步骤20804d;
这里,若所述待压缩数据包进行压缩所需要使用的压缩上下文对应的变量CtxUpdFg为1,则表示所述待压缩数据包进行压缩所需要使用的压缩上下文是所述待更新的第一压缩上下文;若所述待压缩数据包进行压缩所需要使用的压缩上下文对应的变量CtxUpdFg为0,则表示所述待压缩数据包进行压缩所需要使用的压缩上下文是不需要更新的压缩上下文或已更新过的压缩上下文。
步骤20803c:对端压缩器根据所述待压缩数据包进行压缩所需要使用的压缩上下文,制作携带上下文更新信息的数据压缩包,继续执行步骤20805e;
步骤20804d:按照ROHC协议正常处理待压缩数据包,生成所述待压缩数据包对应的数据压缩包;
步骤20805e:对端压缩器将所述数据压缩包发送给本端解压缩器。
这里,对端压缩器将所述数据压缩包发送给本端解压缩器后,本端解压缩器则接收所述数据压缩包并对所述数据压缩包进行解压缩,即执行步骤201和步骤202。
步骤209:判断是否需要更新解压缩上下文,若是,则执行步骤210,否则结束分析所述数据压缩包;
具体地,当本端解压缩器对所述对端压缩器发送的数据压缩包成功解压缩后,判断是否需要更新解压缩上下文,即判断所述对端压缩器发送的数据压缩包中是否携带有上下文更新信息,若需要更新解压缩上下文,则执行步骤210,否则结束分析所述数据压缩包。
步骤210:解压缩上下文更新;
具体地,本端解压缩器利用解压缩成功的所述数据压缩包中携带的上下文更新信息,对所述本端解压缩器中的第一解压缩上下文进行更新。
这里,所述对端压缩器发送的数据压缩包中携带有与所述对端压缩器中的第一压缩上下文相关的上下文更新信息,则所述本端解压缩器利用所述上下文更新信息对所述第一解压缩上下文进行更新,以使所述本端解压缩器中的第一解压缩上下文与对端压缩器的第一压缩上下文同步。
所述解压缩上下文更新的具体实现流程示意图,如图7所示,包括:
步骤21001:判断数据压缩包是否为初始刷新(Initialization and Refresh,IR)/初始刷新-动态部分(Initiation and Refresh-Dynamic,IR-DYN)包,若是,则执行步骤21002,否则执行步骤21004;
步骤21002:判断变量FbAllInOneFg的值是否为1,若是,则执行步骤21003,否则执行步骤21004;
步骤21003:将变量WaitReSendCnt的值置0、变量FbAllInOneFg的值置0。继续执行步骤21004;
步骤21004:按照ROHC协议要求正常更新第一解压缩上下文。
步骤211:本端解压缩器向对端压缩器发送积极反馈;
这里,当所述本端解压缩器成功更新第一解压缩上下文后,会向对端压缩器发送一个积极反馈,从而告知对端压缩器已确认收到上下文更新报文,而所述对端压缩器接收到所述本端解压缩器发送的积极反馈后,则对上下文和对端压缩器的状态进行更新。
所述对端压缩器进行状态更新具体实现流程示意图,如图8所示,包括:
步骤21101:获取所述积极反馈所针对的压缩上下文以及所述压缩上下文对应的变量CtxUpdFg的值;
具体地,对端压缩器接收到所述本端解压缩器发送的积极反馈后,根据所述积极反馈的信息获取所述积极反馈所针对的第一压缩上下文,并获取所述积极反馈所针对的第一压缩上下文对应的变量CtxUpdFg的值。
步骤21102:判断变量CtxUpdFg的值是否为1,若是,则执行步骤21103,否则执行步骤21108;
步骤21103:从CtxArray内获取所述积极反馈所针对的第一压缩上下文,并从CtxArray内移除所述第一压缩上下文,继续执行步骤21104;
这里,当所述积极反馈所针对的第一压缩上下文从CtxArray内移除后,表示所述第一压缩上下文所对应的第一解压缩上下文已经获得了更新,因此需要对所述第一压缩上下文的状态进行改变。
步骤21104:将所述第一压缩上下文对应的变量CtxUpdFg的值置0,继续执行步骤21105;
步骤21105:查看CtxArray内是否还存在第一压缩上下文,若不存在,则执行步骤21106,否则执行步骤21108;
步骤21106:将变量UpdAllCtx的值置0,继续执行步骤21107;
步骤21107:T_AllUpd停止计时,继续执行步骤21108;
步骤21108:根据ROHC协议要求处理所述积极反馈。
这里,当T_AllUpd计时时间大于或等于10秒,即所述T_AllUpd计时时间超过设置的阈值时,所述对端压缩器处理待更新第一压缩上下文的具体实现流程示意图,如图9所示,包括:
步骤21101a:判断变量UpdAllCtx的值是否为1,若是,则执行步骤21102b,否则结束分析;
步骤21102b:获取CtxArray内的所有第一压缩上下文,继续执行步骤21103c;
步骤21103c:将所述每一个第一压缩上下文对应的变量CtxUpdFg的值置0,继续执行步骤21104d;
步骤21104d:将CtxArray内的所有第一压缩上下文删除,继续执行步骤21105e;
步骤21105e:将变量UpdAllCtx的值置0。
为实现上述方法,本发明实施例一还提供了一种上下文更新系统,如图10所示,该系统包括:本端解压缩器11、对端压缩器12;其中,
所述本端解压缩器11,用于检测出需要向对端压缩器12发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向对端压缩器12发送第二消极反馈;
所述对端压缩器12,用于接收到所述第二消极反馈后,更新所述对端压缩器12中的第一压缩上下文,并发送携带有上下文更新信息的数据压缩包至所述本端解压缩器11;
所述本端解压缩器11,还用于对所述对端压缩器12发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文
其中,所述本端解压缩器11,具体用于若因出现无线链路变差的情况,本端解压缩器11检测出所述本端解压缩器11中任意解压缩上下文不能正确解压数据压缩包,而需要针对该解压缩上下文向对端压缩器12发送一个第一消极反馈时,本端解压缩器11进一步检测自身使用的第一解压缩上下文的数量是否大于或等于设置的第一阈值,若检测出所述第一解压缩上下文的数量大于或等于设置的第一阈值,则本端解压缩器11向对端压缩器12发送第二消极反馈,而不发送所述第一消极反馈。
这里,所述第一消极反馈可以是Nack或Static Nack反馈;由于ROHC协议规定描述消极反馈的选项只有7个,反馈选项字段可以表达的选项类型参数取值最多可达15,本发明实施例中所述第二消极反馈是在ROHC协议描述基础上扩展设置的一个选项8的消极反馈;所述第一解压缩上下文是指在预设时间内,本端解压缩器11中使用次数大于或等于设置的第四阈值的解压缩上下文;所述第一阈值、第四阈值可根据实际情况进行设置,例如可设置第一阈值为5、第四阈值为4。
这里,当无线链路出现变差情况时,将导致压缩和解压缩的效率下降,即会出现由于解压缩上下文与对应的压缩上下文失同步,从而导致本端解压缩器11对数据压缩包解压缩失败的情况。为使得解压缩上下文与对应的压缩上下文同步,本端解压缩器11将会为与压缩上下文失同步的解压缩上下文发送Nack或Static Nack反馈给所述对端压缩器12。然而,由于无线链路变差将会使本端解压缩器11在一段时间内所使用的多个解压缩上下文与多个相应的压缩上下文失同步,特别是对于在所述时间段内本端解压缩器11使用次数较为频繁的解压缩上下文而言,所述使用次数较为频繁的解压缩上下文肯定会出现与对应的压缩上下文失同步的情况。在这种情况下,本端解压缩器11将需要发送多个Nack或StaticNack反馈即第一消极反馈给对端压缩器12,而这样就会导致无线链路被大量的用来传输多个第一消极反馈,而不能尽快传输本端解压缩器11所需要的解压缩上下文更新信息;因此,本实施例通过发送第二消极反馈替代发送多个第一消极反馈,使解压缩上下文的更新信息能尽快传输,以提高传输效率。
所述对端压缩器12,具体用于接收到所述本端解压缩器11发送的第二消极反馈后,获取并更新所述对端压缩器12中第一压缩上下文;然后,对端压缩器12使用更新后的所述第一压缩上下文对待压缩的数据包进行压缩,并将携带有上下文更新信息的数据压缩包发送至所述本端解压缩器11。
这里,所述第一压缩上下文是指在预设时间内,对端压缩器11中使用次数大于或等于设置的第五阈值的压缩上下文;所述第五阈值可与第四阈值相同,也可根据实际情况进行设置,例如可设置第五阈值为5。
进一步地,所述对端压缩器12,还用于记录对所述对端压缩器12中的第一压缩上下文进行更新的时间,当所述记录的时间大于或等于设置的第三阈值时,停止更新所述对端压缩器12中的第一压缩上下文。
具体地,在对端压缩器12设置一个计时器,记录所述对端压缩器12更新第一压缩上下文的时间,当所述计时器记录的时间大于或等于设置的第三阈值而所述第一压缩上下文未全部完成更新时,停止更新所述对端压缩器12中的第一压缩上下文;当所述第一压缩上下文已全部完成更新而所述计时器记录的时间小于设置的第三阈值时,停止计时。
这里,利用计时器记录所述对端压缩器12更新第一压缩上下文的时间,当所述记录的时间超出设置的第三阈值时,停止更新所述第一压缩上下文,如此,能够有效避免由于长时间内无待压缩数据包而无法进行上下文信息更新,导致所述对端压缩器12不能恢复至压缩状态。
所述本端解压缩器11,具体用于接收到所述对端压缩器12发送的携带有上下文更新信息的数据压缩包后,对所述数据压缩包进行解压缩,解压缩成功后利用所述解压缩成功的数据压缩包中所携带的上下文更新信息更新所述第一解压缩上下文,使得所述本端解压缩器11的解压缩上下文与对端压缩器12的压缩上下文同步。
进一步地,所述系统还包括:本端压缩器13;其中,
所述本端解压缩器11,还用于向本端压缩器13发送上下文更新指令;
所述本端压缩器13,用于接收到所述指令后,更新所述本端压缩器13中的第二压缩上下文。
具体地,当本端解压缩器11因无线链路变差向对端压缩器12发送第二消极反馈后,本端解压缩器11向本端压缩器13发送上下文更新指令;本端压缩器13接收到所述本端解压缩器11发送的所述上下文更新指令后,更新所述本端压缩器13中的第二压缩上下文。
这里,所述第二压缩上下文是指在预设时间内,本端压缩器13中使用次数大于或等于设置的第六阈值的压缩上下文;由于无线链路变差必然会导致本端压缩器13和对端解压缩器14之间的压缩和解压缩效率下降,即在对端解压缩器14中出现解压缩上下文与对应的压缩上下文失同步的现象。因此,当本端解压缩器11检测到因无线链路变差向对端压缩器发送第二消极反馈后,及时通知本端压缩器13提前进行上下文更新,使得本端压缩器13不是等到接收到对端解压缩器14发送的消极反馈后再进行上下文的更新。如此,能够降低本端压缩器13发送到对端解压缩器14的数据压缩包被解压缩失败的可能性,减少或避免对端解压缩器14向本端压缩器13发送消极反馈,缩短压缩上下文和解压缩上下文同步的时间。
进一步地,所述本端解压缩器11,还用于统计解压缩失败的数据压缩包数量,当所述解压缩失败的数据压缩包数量大于或等于设置的第二阈值时,再次向所述对端压缩器12发送所述第二消极反馈。
具体地,本端解压缩器11在向对端压缩器发送第二消极反馈以后,在未收到所述对端压缩器12发送的携带有上下文更新信息的数据压缩包之前,统计解压缩失败的数据压缩包的数量,当所述统计的解压缩失败的数据压缩包的数量大于或等于设置的第二阈值时,本端解压缩器11再次向所述对端压缩器12发送所述第二消极反馈。
这里,所述本端解压缩器11对解压缩失败的数据压缩包的数量进行统计,只有当所述解压缩失败的数据压缩包的数量达到设置的第二阈值时,才选择再次向所述对端压缩器12发送所述第二消极反馈,而不是在出现数据压缩包解压缩失败后马上向对端压缩器12发送第一消极反馈,如此,能够有效减少第一消极反馈的发送次数。
实施例二
本发明实施例解压缩器侧上下文更新方法的实现流程,如图11所示,包括以下步骤:
步骤301:检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向所述对端压缩器发送第二消极反馈;
具体地,若因出现无线链路变差的情况,本端解压缩器检测出所述本端解压缩器中任意解压缩上下文不能正确解压数据压缩包,而需要针对该解压缩上下文向对端压缩器发送一个第一消极反馈时,本端解压缩器进一步检测自身使用的第一解压缩上下文的数量是否大于或等于设置的第一阈值,若检测出所述第一解压缩上下文的数量大于或等于设置的第一阈值,则本端解压缩器向对端压缩器直接发送第二消极反馈,而不发送所述第一消极反馈。
这里,所述第一消极反馈可以是Nack或Static Nack反馈;由于ROHC协议规定描述消极反馈的选项只有7个,反馈选项字段可以表达的选项类型参数取值最多可达15,本发明实施例中所述第二消极反馈是在ROHC协议描述基础上扩展设置的一个选项8的消极反馈;所述第一解压缩上下文是指在预设时间内,本端解压缩器中使用次数大于或等于设置的第四阈值的解压缩上下文;所述第一阈值、第四阈值可根据实际情况进行设置,例如可设置第一阈值为5、第四阈值为4。
这里,当无线链路出现变差情况时,将导致压缩和解压缩的效率下降,即会出现由于解压缩上下文与对应的压缩上下文失同步,从而导致本端解压缩器对数据压缩包解压失败的情况。为使得解压缩上下文与对应的压缩上下文同步,本端解压缩器将会为与压缩上下文失同步的解压缩上下文发送Nack或Static Nack反馈给所述对端压缩器。然而,由于无线链路变差将会使本端解压缩器在一段时间内所使用的多个解压缩上下文与多个相应的压缩上下文失同步,特别是对于在所述时间段内本端解压缩器使用次数较为频繁的解压缩上下文而言,所述使用次数较为频繁的解压缩上下文肯定会出现与对应的压缩上下文失同步的情况。这种情况下,本端解压缩器将需要发送多个Nack或Static Nack反馈即第一消极反馈给所述对端压缩器,而这样就会导致无线链路被大量的用来传输多个第一消极反馈,而不能尽快传输本端解压缩器所需要的解压缩上下文更新消息;因此,本实施例通过发送第二消极反馈替代发送多个第一消极反馈,使解压缩上下文的更新信息能尽快传输,以提高传输效率。
步骤302:对所述对端压缩器响应所述第二消极反馈所发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。
具体地,本端解压缩器接收到所述对端压缩器响应所述第二消极反馈所发送的携带有上下文更新信息的数据压缩包后,对所述数据压缩包进行解压缩,解压缩成功后利用所述解压缩成功的数据压缩包中所携带的上下文更新信息更新所述第一解压缩上下文,使得所述本端解压缩器的解压缩上下文与对端压缩器的压缩上下文同步。
进一步地,所述方法还包括:向本端压缩器发送上下文更新指令。
这里,由于无线链路变差必然会导致本端压缩器和对端解压缩器之间的压缩和解压缩效率下降,即在对端解压缩器中出现解压缩上下文与对应的压缩上下文失同步的现象。因此,当本端解压缩器检测到因无线链路变差向对端压缩器发送第二消极反馈后,及时通知本端压缩器提前进行上下文更新,使得本端压缩器不是等到接收到对端解压缩器发送的消极反馈后再进行上下文的更新。如此,能够降低本端压缩器发送到对端解压器的数据压缩包被解压失败的可能性,减少或避免对端解压缩器向本端压缩器发送消极反馈,缩短压缩上下文和解压缩上下文同步的时间。
进一步地,所述方法还包括:统计解压缩失败的数据压缩包数量,当所述解压缩失败的数据压缩包数量大于或等于设置的第二阈值时,再次向所述对端压缩器发送所述第二消极反馈。
具体地,本端解压缩器在步骤301中向对端压缩器发送第二消极反馈以后,在未收到所述对端压缩器发送的携带有上下文更新信息的数据压缩包之前,统计解压缩失败的数据压缩包的数量,当所述统计的解压缩失败的数据压缩包的数量大于或等于设置的第二阈值时,本端解压缩器再次向所述对端压缩器发送所述第二消极反馈。
这里,所述本端解压缩器对解压缩失败的数据压缩包的数量进行统计,只有当所述解压缩失败的数据压缩包的数量达到设置的第二阈值时,才选择再次向所述对端压缩器发送所述第二消极反馈,而不是在出现数据压缩包解压缩失败后马上向对端压缩器发送第一消极反馈,如此,能够有效减少第一消极反馈的发送次数。
为实现上述方法,本发明实施例二还提供了一种解压缩器,如图12所示,该解压缩器包括:第一发送单元21、检测单元22、第一处理单元23;其中,
所述第一发送单元21,用于当所述检测单元22检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向所述对端压缩器发送第二消极反馈;
所述第一处理单元23,用于对所述对端压缩器响应所述第二消极反馈所发送的携带有上下文更新信息的数据压缩包解压成功后,利用解压成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。
其中,所述第一发送单元21,具体用于若出现无线链路变差的情况,本端解压缩器中的检测单元22检测出任意解压缩上下文不能正确解压数据压缩包,而需要针对该解压缩上下文向对端压缩器发送一个第一消极反馈时,检测单元22进一步检测所述第一处理单元23使用的第一解压缩上下文的数量是否大于或等于设置的第一阈值,若检测出所述第一解压缩上下文的数量大于或等于设置的第一阈值,则所述第一发送单元21向对端压缩器直接发送第二消极反馈,而不发送所述第一消极反馈。
这里,所述第一消极反馈可以是Nack或Static Nack反馈;由于ROHC协议规定描述消极反馈的选项只有7个,反馈选项字段可以表达的选项类型参数取值最多可达15,本发明实施例中所述第二消极反馈是在ROHC协议描述基础上扩展设置的一个选项8的消极反馈;所述第一解压缩上下文是指在预设时间内,解压缩单元24中使用次数大于或等于设置的第四阈值的解压缩上下文;所述第一阈值、第四阈值可根据实际情况进行设置,例如可设置第一阈值为5、第四阈值为4。
这里,当无线链路出现变差情况时,将导致压缩和解压缩的效率下降,即会出现由于解压缩上下文与对应的压缩上下文失同步,从而导致第一处理单元23对数据压缩包解压失败的情况。为使得解压缩上下文与对应的压缩上下文同步,第一发送单元21将会为与压缩上下文失同步的解压缩上下文发送Nack或Static Nack反馈给所述对端压缩器。然而,由于无线链路变差将会使第一处理单元23在一段时间内所使用过的多个解压缩上下文与多个相应的压缩上下文失同步,特别是对于在所述时间段内第一处理单元23使用次数较为频繁的解压缩上下文而言,所述使用次数较为频繁的解压缩上下文肯定会出现与对应的压缩上下文失同步的情况。这种情况下,第一发送单元21将需要发送多个Nack或Static Nack反馈即第一消极反馈给对端压缩器,而这样就会导致无线链路被大量的用来传输多个第一消极反馈,而不能尽快传输第一处理单元23所需要的解压缩上下文更新信息;因此,本实施例通过发送第二消极反馈替代发送多个第一消极反馈,使解压缩上下文的更新信息能尽快传输,以提高传输效率。
所述第一处理单元23,具体用于当接收到所述对端压缩器响应所述第二消极反馈所发送的携带有上下文更新信息的数据压缩包,对所述数据压缩包进行解压缩成功后,利用所述解压缩成功的数据压缩包中所携带的上下文更新信息更新所述第一解压缩上下文,使得所述第一处理单元23中的解压缩上下文与对端压缩器的压缩上下文同步
进一步地,所述第一发送单元21,还用于向本端压缩器发送上下文更新指令。
这里,由于无线链路变差必然会导致压缩和解压缩效率下降,即出现解压缩上下文与对应的压缩上下文失同步的现象。因此,当第一发送单元21因无线链路变差向对端压缩器发送第二消极反馈后,及时通知本端压缩器提前进行上下文更新,使得本端压缩器不是等到接收到对端解压缩器发送的消极反馈后再进行上下文的更新。如此,能够降低本端压缩器发送到对端解压器的数据压缩包被解压失败的可能性,减少或避免对端解压缩器向本端压缩器发送消极反馈,缩短压缩上下文和解压缩上下文同步的时间。
进一步地,所述解压缩器还包括:统计单元24,用于统计解压缩失败的数据压缩包数量;
所述第一发送单元21,还用于当所述统计单元24统计的解压缩失败的数据压缩包数量大于或等于设置的第二阈值时,再次向所述对端压缩器发送所述第二消极反馈。
具体地,统计单元24在所述第一发送单元21向对端压缩器发送第二消极反馈以后,在未收到所述对端压缩器发送的携带有上下文更新信息的数据压缩包之前,统计所述第一处理单元23解压缩失败的数据压缩包的数量,当所述统计的解压缩失败的数据压缩包的数量大于或等于设置的第二阈值时,所述第一发送单元21再次向所述对端压缩器发送所述第二消极反馈。
这里,所述统计单元24对解压缩失败的数据压缩包的数量进行统计,只有当所述解压缩失败的数据压缩包的数量达到设置的第二阈值时,第一发送单元21才选择再次向所述对端压缩器发送所述第二消极反馈,而不是在出现数据压缩包解压缩失败后马上向对端压缩器发送第一消极反馈,如此,能够有效减少第一消极反馈的发送次数。
在实际应用中,所述第一发送单元21、检测单元22、第一处理单元23、统计单元24均可由位于解压缩器上的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)等实现。
实施例三
本发明实施例压缩器侧上下文更新方法的实现流程,如图13所示,包括以下步骤:
步骤401:接收本端解压缩器发送的第二消极反馈;
步骤402:更新第一压缩上下文;
步骤403:发送携带有上下文更新信息的数据压缩包至所述本端解压缩器。
具体地,对端压缩器接收到本端解压缩器发送的第二消极反馈后,获取并更新第一压缩上下文;然后,对端压缩器使用更新后的所述第一压缩上下文对待压缩的数据包进行压缩,并将携带有上下文更新信息的数据压缩包发送至所述本端解压缩器。
这里,所述第一压缩上下文是指在预设时间内,对端压缩器使用次数大于或等于设置的第五阈值的压缩上下文;所述第五阈值可根据实际情况进行设置,例如可设置第五阈值为4。
进一步地,所述方法还包括:
记录对所述第一压缩上下文进行更新的时间,当所述记录的时间大于或等于设置的第三阈值时,停止更新所述第一压缩上下文。
具体地,设置一个计时器,记录所述对端压缩器更新第一压缩上下文的时间,当所述计时器记录的时间大于或等于设置的第三阈值而所述第一压缩上下文未全部完成更新时,停止更新所述第一压缩上下文;当所述第一压缩上下文已全部完成更新而所述计时器记录的时间小于设置的第三阈值时,停止计时。
这里,利用计时器记录所述对端压缩器更新第一压缩上下文的时间,当所述记录的时间超出设置的第三阈值时,停止更新所述第一压缩上下文,如此,能够有效避免由于长时间内无待压缩数据包而无法进行上下文信息更新,导致对端压缩器不能恢复至压缩状态。
为实现上述方法,本发明实施例三还提供了一种压缩器,如图14所示,该压缩器包括:接收单元31、第二处理单元32、第二发送单元33;其中,
所述接收单元31,用于接收本端解压缩器发送的第二消极反馈;
所述第二处理单元32,用于更新第一压缩上下文;
所述第二发送单元33,用于发送携带有上下文更新信息的数据压缩包至所述本端解压缩器。
具体地,对端压缩器中的接收单元31接收到本端解压缩器发送的第二消极反馈后,第二处理单元33获取并更新第一压缩上下文;然后,第二处理单元33使用更新后的所述第一压缩上下文对待压缩的数据包进行压缩,第二发送单元33将携带有上下文更新信息的数据压缩包发送至所述对端解压缩器。
这里,所述第一压缩上下文是指在预设时间内,第二处理单元33使用次数大于或等于设置的第五阈值的压缩上下文;所述第二阈值可根据实际情况进行设置,例如可设置第五阈值为4。
进一步地,所述压缩器还包括:计时单元34,用于记录对所述第一压缩上下文进行更新的时间;
所述第二处理单元32,还用于当所述计时单元34记录的时间大于或等于设置的第三阈值时,停止更新所述第一压缩上下文。
具体地,计时单元34记录所述更新第一压缩上下文的时间,当所述计时单元34记录的时间大于或等于设置的第三阈值而所述第一压缩上下文未全部完成更新时,第二处理单元32停止更新所述第一压缩上下文;当所述第一压缩上下文已全部完成更新而所述计时器记录的时间小于设置的第三阈值时,计时单元34停止计时。
这里,利用计时单元34记录所述第二处理单元32更新第一压缩上下文的时间,当所述记录的时间超出设置的第三阈值时,第二处理单元32停止更新所述第一压缩上下文,如此,能够有效避免由于长时间内无待压缩数据包而无法进行上下文信息更新,导致压缩器不能恢复至压缩状态。
在实际应用中,所述接收单元31、第二处理单元32、第二发送单元33均可由位于压缩器上的CPU、MPU、DSP、或FPGA等实现。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (10)
1.一种上下文更新系统,其特征在于,所述系统包括:本端解压缩器、对端压缩器;其中,
所述本端解压缩器,用于检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向对端压缩器发送第二消极反馈;
所述对端压缩器,用于接收到所述第二消极反馈后,更新所述对端压缩器中的第一压缩上下文,并发送携带有上下文更新信息的数据压缩包至所述本端解压缩器;
所述本端解压缩器,还用于对所述对端压缩器发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:本端压缩器;其中,
所述本端解压缩器,还用于向本端压缩器发送上下文更新指令;
所述本端压缩器,用于接收到所述指令后,更新所述本端压缩器中的第二压缩上下文。
3.根据权利要求1或2所述的系统,其特征在于,
所述本端解压缩器,还用于在对所述对端压缩器发送的携带有上下文更新信息的数据压缩包解压缩成功之前,统计解压缩失败的数据压缩包数量,当所述解压缩失败的数据压缩包数量大于或等于设置的第二阈值时,再次向所述对端压缩器发送所述第二消极反馈。
4.根据权利要求1或2所述的系统,其特征在于,
所述对端压缩器,还用于记录对所述对端压缩器中的第一压缩上下文进行更新的时间,当所述记录的时间大于或等于设置的第三阈值时,停止更新所述对端压缩器中的第一压缩上下文。
5.一种上下文更新方法,其特征在于,所述方法包括:
检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向所述对端压缩器发送第二消极反馈;
对所述对端压缩器响应所述第二消极反馈所发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:向本端压缩器发送上下文更新指令。
7.一种解压缩器,其特征在于,所述解压缩器包括:第一发送单元、检测单元、第一处理单元;其中,
所述第一发送单元,用于当所述检测单元检测出需要向对端压缩器发送第一消极反馈、且第一解压缩上下文的数量大于或等于设置的第一阈值时,向所述对端压缩器发送第二消极反馈;
所述第一处理单元,用于对所述对端压缩器响应所述第二消极反馈所发送的携带有上下文更新信息的数据压缩包解压缩成功后,利用解压缩成功的数据压缩包中携带的上下文更新信息更新所述第一解压缩上下文。
8.根据权利要求7所述的解压缩器,其特征在于,所述第一发送单元,还用于向本端压缩器发送上下文更新指令。
9.一种上下文更新方法,其特征在于,所述方法包括:
接收到本端解压缩器发送的第二消极反馈后,更新第一压缩上下文;
发送携带有上下文更新信息的数据压缩包至所述本端解压缩器。
10.一种压缩器,其特征在于,所述压缩器包括:接收单元、第二发送单元、第二处理单元;其中,
所述第二处理单元,用于当所述接收单元接收到本端解压缩器发送的第二消极反馈后,更新第一压缩上下文;
所述第二发送单元,用于发送携带有上下文更新信息的数据压缩包至所述本端解压缩器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610576493.2A CN107645746B (zh) | 2016-07-20 | 2016-07-20 | 一种上下文更新方法、系统及设备 |
PCT/CN2017/091854 WO2018014729A1 (zh) | 2016-07-20 | 2017-07-05 | 一种上下文更新方法、系统及设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610576493.2A CN107645746B (zh) | 2016-07-20 | 2016-07-20 | 一种上下文更新方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107645746A true CN107645746A (zh) | 2018-01-30 |
CN107645746B CN107645746B (zh) | 2021-03-16 |
Family
ID=60991931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610576493.2A Active CN107645746B (zh) | 2016-07-20 | 2016-07-20 | 一种上下文更新方法、系统及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107645746B (zh) |
WO (1) | WO2018014729A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385263A (zh) * | 2018-12-29 | 2020-07-07 | 电信科学技术研究院有限公司 | 一种数据包头压缩信息的维护方法及通信设备 |
CN111711968A (zh) * | 2020-06-10 | 2020-09-25 | 京信通信系统(中国)有限公司 | 报文处理方法、装置、通信设备和通信系统 |
CN114339640A (zh) * | 2022-01-11 | 2022-04-12 | 赛特斯信息科技股份有限公司 | 基于rohc的5g语音传输方法 |
WO2022111317A1 (zh) * | 2020-11-26 | 2022-06-02 | 展讯通信(上海)有限公司 | 数据传输方法、装置、设备和存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115516843A (zh) * | 2020-05-19 | 2022-12-23 | 索尼集团公司 | 无线数据链路层压缩和解压缩 |
CN114679382A (zh) * | 2020-12-24 | 2022-06-28 | 华为技术有限公司 | 智能组件更新的方法和通信装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1340255A (zh) * | 1999-02-17 | 2002-03-13 | 诺基亚移动电话有限公司 | 实时业务中的标题压缩 |
CN1780296A (zh) * | 2004-11-26 | 2006-05-31 | 华为技术有限公司 | 一种快速恢复压缩解压缩上下文的方法 |
CN101964948A (zh) * | 2003-08-08 | 2011-02-02 | 高通股份有限公司 | 用于广播/组播服务的报头压缩增强 |
CN102137439A (zh) * | 2010-09-17 | 2011-07-27 | 上海华为技术有限公司 | 压缩控制方法、设备和系统 |
EP2375651A2 (en) * | 2004-02-12 | 2011-10-12 | Samsung Electronics Co., Ltd. | Method for resuming header decompression in a multimedia broadcast/multicast service system |
CN103051434A (zh) * | 2012-12-20 | 2013-04-17 | 中兴通讯股份有限公司 | 数据的解压缩、解压缩处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101998438B (zh) * | 2009-08-17 | 2013-08-07 | 电信科学技术研究院 | 一种提升pdcp鲁棒性头压缩算法性能的方法及设备 |
KR101655267B1 (ko) * | 2009-09-07 | 2016-09-08 | 삼성전자주식회사 | 무선통신시스템에서 로버스트 헤더 압축을 지원하기 위한 시스템 및 방법 |
CN102045132B (zh) * | 2009-10-23 | 2014-04-30 | 华为技术有限公司 | 基于重传机制的对头压缩数据包进行传输的方法和装置 |
-
2016
- 2016-07-20 CN CN201610576493.2A patent/CN107645746B/zh active Active
-
2017
- 2017-07-05 WO PCT/CN2017/091854 patent/WO2018014729A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1340255A (zh) * | 1999-02-17 | 2002-03-13 | 诺基亚移动电话有限公司 | 实时业务中的标题压缩 |
CN101964948A (zh) * | 2003-08-08 | 2011-02-02 | 高通股份有限公司 | 用于广播/组播服务的报头压缩增强 |
EP2375651A2 (en) * | 2004-02-12 | 2011-10-12 | Samsung Electronics Co., Ltd. | Method for resuming header decompression in a multimedia broadcast/multicast service system |
CN1780296A (zh) * | 2004-11-26 | 2006-05-31 | 华为技术有限公司 | 一种快速恢复压缩解压缩上下文的方法 |
CN102137439A (zh) * | 2010-09-17 | 2011-07-27 | 上海华为技术有限公司 | 压缩控制方法、设备和系统 |
CN103051434A (zh) * | 2012-12-20 | 2013-04-17 | 中兴通讯股份有限公司 | 数据的解压缩、解压缩处理方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385263A (zh) * | 2018-12-29 | 2020-07-07 | 电信科学技术研究院有限公司 | 一种数据包头压缩信息的维护方法及通信设备 |
CN111385263B (zh) * | 2018-12-29 | 2022-05-24 | 大唐移动通信设备有限公司 | 一种数据包头压缩信息的维护方法及通信设备 |
CN111711968A (zh) * | 2020-06-10 | 2020-09-25 | 京信通信系统(中国)有限公司 | 报文处理方法、装置、通信设备和通信系统 |
WO2022111317A1 (zh) * | 2020-11-26 | 2022-06-02 | 展讯通信(上海)有限公司 | 数据传输方法、装置、设备和存储介质 |
CN114339640A (zh) * | 2022-01-11 | 2022-04-12 | 赛特斯信息科技股份有限公司 | 基于rohc的5g语音传输方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018014729A1 (zh) | 2018-01-25 |
CN107645746B (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107645746B (zh) | 一种上下文更新方法、系统及设备 | |
US11202227B2 (en) | Processing method and device for cache synchronous exception | |
EP3217716B1 (en) | User apparatus, and duplicated packet processing method | |
CN108632229B (zh) | 一种多连接中的头压缩方法、解头压缩方法及装置 | |
CN107302585B (zh) | 一种预置字典同步方法及设备 | |
CN109842653B (zh) | 一种进行数据传输的方法和设备 | |
RU2504128C2 (ru) | Способ, устройство и компьютерный программный продукт для обеспечения восстановления после ошибки шифрования для радиоканала в режиме передачи без подтверждения | |
CN109803315B (zh) | 数据传输方法及装置 | |
CN107566330B (zh) | 适于维持接收数据质量的装置和用于接收数据的方法 | |
WO2017053691A1 (en) | Timestamp repair mechanism in case of decompression failure | |
CN102469511A (zh) | 一种分组数据汇聚协议层处理数据的方法及系统 | |
WO2018137720A1 (zh) | 一种进行数据同步的方法及设备 | |
WO2012108215A1 (ja) | 通信システム、送信制御装置及び送信制御方法 | |
CN101605355B (zh) | 一种用于LTE-advanced网络中继节点上的ROHC混合工作方式 | |
CN111385263B (zh) | 一种数据包头压缩信息的维护方法及通信设备 | |
CN105637935B (zh) | 一种数据的传输方法、系统及相关装置 | |
KR20160035953A (ko) | Lte 시스템을 이용한 호 수행 방법 및 장치 | |
WO2008001422A1 (fr) | Système de communication radio et dispositif de communication radio | |
JP6052739B2 (ja) | 制御装置、基地局、制御方法、及びプログラム | |
CN108076481B (zh) | 一种用于终端迟后接入集群组呼的方法 | |
JP2015156524A (ja) | 通信装置、及びコンテクスト制御方法 | |
WO2016183820A1 (zh) | 上行数据包处理方法、装置和基站 | |
CN108574684B (zh) | 一种解压缩的方法和装置 | |
CN106714294B (zh) | 应用于智能电网的多通道tcp/ip头压缩的同步方法 | |
CN109246169B (zh) | 一种预置字典同步方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |