CN114531695B - 定时器处理方法和装置 - Google Patents
定时器处理方法和装置 Download PDFInfo
- Publication number
- CN114531695B CN114531695B CN202011321435.8A CN202011321435A CN114531695B CN 114531695 B CN114531695 B CN 114531695B CN 202011321435 A CN202011321435 A CN 202011321435A CN 114531695 B CN114531695 B CN 114531695B
- Authority
- CN
- China
- Prior art keywords
- reordering timer
- length
- time length
- timer
- time
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 129
- 230000008569 process Effects 0.000 claims abstract description 84
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 230000000977 initiatory effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- TXFOLHZMICYNRM-UHFFFAOYSA-N dichlorophosphoryloxybenzene Chemical compound ClP(Cl)(=O)OC1=CC=CC=C1 TXFOLHZMICYNRM-UHFFFAOYSA-N 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种定时器处理方法和装置,该方法包括:终端设备处于小区切换过程,且确定PDCP层的重排序定时器超时,重排序定时器的长度为第一时长,不更新时间窗口,并将重排序定时器的长度设置为第二时长后,重新启动重排序定时器,第二时长大于第一时长。本申请实施例在重排序定时器超时不更新时间窗口,即不更新RX_DELIV,并且重新启动一个定时器长度更长的重排序定时器,降低了小区切换过程中由于重排序定时器超时导致的丢包率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种定时器处理方法和装置。
背景技术
在空口传输中,虽然发送端在发送数据包时是按序发送的,但是数据包在经过空口时可能会有不同的误码或时延,从而导致接收端接收到的数据包是乱序的。目前,新空口(New Radio,NR)系统的无线链路控制(Radio Link Ctrol,RLC)层不具备重排序功能,而是由分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)层,对接收到的乱序数据包进行重排序。
终端设备在小区切换时会进行PDCP层重建。对于NR系统,或者配置了NR的PDCP层的长期演进(Long Term Evolution,LTE)系统来说,如果在PDCP层重建过程中重排序定时器超时,PDCP层将重排序定时器开启之前的所有数据包都递交给上层,并更新RX_DELIV,以更新时间窗口。其中,RX_DELIV表示PDCP层未递交给上层的第一个数据包的计数值。RX_DELIV可以用于确定有效的时间窗口,有效的时间窗口用于判断是否要丢弃接收的数据包,即如果接收的数据包的计数值没有位于有效的时间窗口内,PDCP层则丢弃该数据包,反之,如果接收的数据包的计数值位于有效的时间窗口内,PDCP层则暂存该数据包。
终端设备切换到新小区之后,由于时间窗口的更新,导致重排序定时器超时之前未收到的数据包,即使在新小区接收到也会被丢弃,从而导致丢包。例如,数据包3是重排序定时器超时之前未收到的数据包,在切换到新小区后,终端设备接收到数据包3时,使用更新后的时间窗口判定数据包3没有在有效的时间窗口内,则丢弃数据包3。
发明内容
本申请实施例提供一种定时器处理方法和装置,可以降低小区切换过程中由于PDCP层的重排序定时器超时导致的丢包率。
第一方面,本申请实施例提供一种定时器处理方法,该方法包括:终端设备处于小区切换过程中时,如果确定出定时长度为第一时长的重排序定时器超时,不更新时间窗口,并将重排序定时器的长度设置为第二时长后,重新启动重排序定时器,第二时长大于第一时长。
本申请实施例中,终端设备如果在小区切换过程中判断出正在运行的重排序定时器超时,不更新时间窗口,即不更新RX_DELIV,并且重新启动一个定时器长度更长的重排序定时器。一方面,重排序定时器超时的时候不更新RX_DELIV,有效的时间窗口也不更新,进而使得在小区切换完成后,PDCP层还可以根据原来的有效的时间窗口判断是否丢弃新接收到的数据包。这样,如果新接收到的数据包是小区切换之前未接收到的数据包,PCDP层根据未更新的时间窗口,确定新接收到的数据包位于有效的时间窗口内,则保留新接收到的数据包;另一方面,重排序定时器超时的时候,重新启动一个定时器长度更长的重排序定时器,以尽可能地避免小区切换过程中,重排序定时器重启后再次出现超时,进而使得时间窗口更新导致的丢包。由此,降低了小区切换过程中由于重排序定时器超时导致的丢包率。
在第一方面的一些可能的实现方式中,第一时长为网络设备配置的重排序定时器长度。也即第二时长大于网络设备配置的重排序定时器长度,重新启动一个定时长度比网络设备配置的定时器长度更长的重排序定时器。
在第一方面的一些可能的实现方式中,上述方法还包括:
终端设备在确定需要启动重排序定时器之后,确定第三时长小于第一预设阈值,第三时长为网络设备配置的重排序定时器长度;
终端设备将重排序定时器的长度设置为第一时长后,启动重排序定时器,第一时长大于所述第三时长。
在该实现方式中,在启动重排序定时器的时候,先判断网络设备配置的重排序定时器长度是否小于第一预设阈值,如果小于第一预设阈值,则认为网络设备配置的重排序定时器长度较小,后续小区切换过程中出现重排序定时器超时的概率较大。为了降低后续重排序定时器超时的概率,以进一步降低由于小区切换过程中由于重排序定时器超时导致的丢包,在网络设备配置的重排序定时器小于第一预设阈值时,使用大于第三时长的第一时长,启动重排序定时器。
也就是说,在启动重排序定时器的时候,如果网络设备配置的重排序定时器的长度较小,则启动一个指定长度的重排序定时器。
其中,第一时长的重排序定时器可以在小区切换过程中启动的,即终端设备已经处于小区切换过程,并且确定需要启动重排序定时器,如果网络设备配置的重排序定时器的定时长度小于第一预设阈值,则启动一个定时时长更长的重排序定时器。
第一时长的重排序定时器也可以在小区切换过程之前就已经启动了,此时,在启动重排序定时器的时候,先判断网络设备配置的重排序定时器的定时长度是否小于第一预设阈值,如果小于第一预设阈值,则启动一个定时长度更长的重排序定时器。
在第一方面的一些可能的实现方式中,该方法还可以包括:终端设备确定重排序定时器的第一时长是否小于第二预设阈值;当第一时长小于第二预设阈值,进入终端设备停止运行重排序定时器,不更新时间窗口,并将重排序定时器的长度重置为第二时长后,重新启动重排序定时器,第二时长大于第一时长的步骤。
在该实现方式中,先判断第一时长是否小于第二预设阈值,当第一时长小于第二预设阈值时,则认为当前正在运行的重排序定时器的定时长度较小,后续很大可能会出现重排序定时器超时,此时,则在重排序定时器超时,不更新时间窗口,并重新启动一个定时器长度更长的重排序定时器。
当第一时长大于或等于第二预设阈值时,则认为当前正在运行的重排序定时器的定时长度较大,后续出现重排序定时器超时的可能性较小,此时,可以执行现有标准协议中重排序定时器处理流程。
在第一方面的一些可能的实现方式中,当网络设备配置的重排序定时器长度小于第三预设阈值,上述方法还可以包括:终端设备在发起小区切换时,确定重排序定时器是否处于运行状态,重排序定时器的长度为第四时长;当重排序定时器处于运行状态,终端设备停止运行重排序定时器,并将重排序定时器的长度重置为第一时长后,启动重排序定时器,第一时长大于第四时长。
在该实现方式中,第一时长的重排序定时器可能是在发起小区切换时启动的。此时,终端设备在发起小区切换时,可以先判断重排序定时器是否处于运行状态,如果重排序定时器处于运行状态,则可以停止当前正在运行的重排序定时器,并重新启动一个定时长度更长的重排序定时器,以降低后续出现重排序定时器超时的概率,从而进一步降低了小区切换过程中由于重排序定时器超时导致的丢包。
当然,在确定重排序定时器是否处于运行状态之前,还可以先判断网络设备配置的重排序定时器的长度是否小于一定阈值,如果小于一定阈值,则进一步判断重排序定时器是否处于运行状态。
或者,在确定出重排序定时器处于运行状态之后,还可以进一步判断当前正在运行的重排序定时器的长度是否小于一定阈值,如果小于一定阈值,则停止当前正在运行的重排序定时器,并重新启动一个定时器长度更长的重排序定时器;如果大于或等于一定阈值,则认为当前正在运行的重排序定时器的长度较大,后续出现重排序定时器超时的可能性较小,此时,可以不用重新启动一个定时长度更长的重排序定时器。
或者,在确定出重排序定时器处于运行状态之后,还可以进一步判断当前正在运行的重排序定时器的剩余时长是否小于一定阈值,如果剩余时长小于一定阈值,则认为小区切换过程中很大可能会出现重排序定时器超时,此时,可以停止当前正在运行的重排序定时器,并启动一个定时长度更长的重排序定时器。如果剩余时长大于或等于一定阈值,则认为小区切换过程中出现重排序定时器超时的可能性较小,可以让重排序定时器继续运行。
第二方面,本申请实施例提供一种定时器处理方法,该方法可以包括:终端设备在发起小区切换时,确定PDCP层的重排序定时器是否处于运行状态,重排序定时器的长度为第五时长;当重排序定时器处于运行状态,终端设备停止运行重排序定时器,并将重排序定时器的长度重置为第六时长后,启动重排序定时器,第六时长大于第五时长。
本申请实施例中,在发起小区切换时,如果重排序定时器处于运行状态,则重新启动一个定时长度更长的重排序定时器,进而降低后续小区切换过程中由于定时长度过小,导致重排序定时器超时,降低了小区切换过程中由于重排序定时器超时导致的丢包。
在第二方面的一些可能的实现方式中,当重排序定时器处于运行状态,该方法还可以包括:终端设备确定第五时长是否小于第四预设阈值;当第五时长小于第四预设阈值时,进入终端设备停止运行重排序定时器,并将重排序定时器的长度重置为第六时长后,启动重排序定时器的步骤。
在该实现方式中,先判断当前正在运行的重排序定时器的第五时长是否小于第四预设阈值,如果小于,则认为重排序定时器的定时长度较小,后续小区切换过程中很大可能会发生重排序定时器超时,因此,重新启动一个定时长度更长的重排序定时器,以降低小区切换过程汇总由于重排序定时器超时导致的丢包。
如果大于或等于第四阈值,则认为重排序定时器的定时长度较大,后续小区切换过程中出现重排序定时器超时的可能性较小,则可以按照现有标准协议中重排序定时器处理流程进行处理。
在第二方面的一些可能的实现方式中,该方法还可以包括:终端设备在确定需要启动重排序定时器之后,确定第七时长小于第五预设阈值,第七时长为网络设备配置的重排序定时器长度;终端设备将重排序定时器的长度设置为第五时长后,启动重排序定时器,第五时长大于第七时长。
在该实现方式中,在启动重排序定时器的时候,先判断网络设备配置的重排序定时器长度是否小于第五预设阈值,如果小于第五预设阈值,则认为网络设备配置的重排序定时器长度较小,后续小区切换过程中出现重排序定时器超时的概率较大。为了降低后续重排序定时器超时的概率,以进一步降低由于小区切换过程中由于重排序定时器超时导致的丢包,在网络设备配置的重排序定时器小于第五预设阈值时,使用大于第七时长的第五时长,启动重排序定时器。
也就是说,在启动重排序定时器的时候,如果网络设备配置的重排序定时器的长度较小,则启动一个指定长度的重排序定时器。
第三方面,本申请实施例提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器用于执行计算机程序,确定处于小区切换过程;确定PDCP层的重排序定时器超时,重排序定时器的长度为第一时长;不更新时间窗口,并将重排序定时器的长度设置为第二时长后,重新启动重排序定时器,第二时长大于第一时长。
在第三方面的一些可能的实现方式中,第一时长为网络设备配置的重排序定时器长度。
在第三方面的一些可能的实现方式中,处理器还用于:在确定需要启动重排序定时器之后,确定第三时长小于第一预设阈值,第三时长为网络设备配置的重排序定时器长度;将重排序定时器的长度设置为第一时长后,启动重排序定时器,第一时长大于第三时长。
在第三方面的一些可能的实现方式中,处理器还用于:确定重排序定时器的第一时长是否小于第二预设阈值;当第一时长小于第二预设阈值,进入终端设备停止运行重排序定时器,不更新时间窗口,并将重排序定时器的长度重置为第二时长后,重新启动重排序定时器,第二时长大于第一时长的步骤。
在第三方面的一些可能的实现方式中,处理器还用于:在发起小区切换时,确定重排序定时器是否处于运行状态,重排序定时器的长度为第四时长;当重排序定时器处于运行状态,停止运行重排序定时器,并将重排序定时器的长度重置为第一时长后,启动重排序定时器,第一时长大于第四时长。
第四方面,本申请实施例提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器用于执行计算机程序,在发起小区切换时,确定PDCP层的重排序定时器是否处于运行状态,重排序定时器的长度为第五时长;当重排序定时器处于运行状态,停止运行重排序定时器,并将重排序定时器的长度重置为第六时长后,启动重排序定时器,第六时长大于第五时长。
在第四方面的一些可能的实现方式中,当重排序定时器处于运行状态,处理器还用于:确定第五时长是否小于第四预设阈值;当第五时长小于第四预设阈值时,进入终端设备停止运行重排序定时器,并将重排序定时器的长度重置为第六时长后,启动重排序定时器的步骤。
在第四方面的一些可能的实现方式中,处理器还用于:在确定需要启动重排序定时器之后,确定第七时长小于第五预设阈值,第七时长为网络设备配置的重排序定时器长度;将重排序定时器的长度设置为第五时长后,启动重排序定时器,第五时长大于第七时长。
第五方面,本申请实施例提供一种定时器处理装置,包括:
第一确定模块,用于确定处于小区切换过程;
第二确定模块,用于确定PDCP层的重排序定时器超时,重排序定时器的长度为第一时长;
重新启动模块,用于不更新时间窗口,并将重排序定时器的长度设置为第二时长后,重新启动重排序定时器,第二时长大于第一时长。
在第五方面的一些可能的实现方式中,第一时长为网络设备配置的重排序定时器长度。
在第五方面的一些可能的实现方式中,上述装置还包括:
第三确定模块,用于在确定需要启动重排序定时器之后,确定第三时长小于第一预设阈值,第三时长为网络设备配置的重排序定时器长度;
第一启动模块,用于将重排序定时器的长度设置为第一时长后,启动重排序定时器,第一时长大于第三时长。
在第五方面的一些可能的实现方式中,该装置还包括:
第四确定模块,用于确定重排序定时器的第一时长是否小于第二预设阈值,当第一时长小于第二预设阈值,进入终端设备停止运行重排序定时器,不更新时间窗口,并将重排序定时器的长度重置为第二时长后,重新启动重排序定时器,第二时长大于第一时长的步骤。
在第五方面的一些可能的实现方式中,该装置还包括:
第五确定模块,用于在发起小区切换时,确定重排序定时器是否处于运行状态,重排序定时器的长度为第四时长;
第二启动模块,用于当重排序定时器处于运行状态,停止运行重排序定时器,并将重排序定时器的长度重置为第一时长后,启动重排序定时器,第一时长大于第四时长。
第六方面,本申请实施例提供一种定时器处理装置,该装置包括:
第六确定模块,用于在发起小区切换时,确定PDCP层的重排序定时器是否处于运行状态,重排序定时器的长度为第五时长;
第三启动模块,用于当重排序定时器处于运行状态,停止运行重排序定时器,并将重排序定时器的长度重置为第六时长后,启动重排序定时器,第六时长大于第五时长。
在第六方面的一些可能的实现方式中,当重排序定时器处于运行状态,该装置还包括:
第七确定模块,用于确定第五时长是否小于第四预设阈值,当第五时长小于第四预设阈值时,进入终端设备停止运行重排序定时器,并将重排序定时器的长度重置为第六时长后,启动重排序定时器的步骤。
在第六方面的一些可能的实现方式中,该装置还包括:
第八确定模块,用于在确定需要启动重排序定时器之后,确定第七时长小于第五预设阈值,第七时长为网络设备配置的重排序定时器长度;
第四启动模块,用于将重排序定时器的长度设置为第五时长后,启动重排序定时器,第五时长大于第七时长。
第七方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面或第二方面任一项的方法。
第八方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第一方面或第二方面任一项所述的方法。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
第九方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面或第二方面任一项所述的方法。
可以理解的是,上述第三方面至第九方面的有益效果可以参见上述第一方面或第二方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的通信系统协议栈的示意图;
图2为本申请实施例提供的PDCP的数据包接收过程示意图;
图3为本申请实施例提供的数据包接收示意图;
图4为本申请实施例提供的定时器处理方法的一种流程示意框图;
图5为本申请实施例提供的数据包接收的另一示意图;
图6为本申请实施例提供的定时器处理方法的另一种流程示意框图;
图7为本申请实施例提供的定时器处理方法的又一种流程示意框图;
图8为本申请实施例提供的终端设备的结构示意框图;
图9为本申请实施例提供的终端设备的结构示意框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。
请参见图1,为本申请实施例提供的通信系统协议栈的示意图。如图1所示,终端设备11包括PDCP层111、RLC层112、媒体访问控制层(Media Access Control,MAC)层113、物理层(Phy)114、以及IP或传输协议控制(Transmission Control Protocol,TCP)层115。网络设备12包括PDCP层121、RLC层122、MAC层123、物理层124、以及IP或TCP层125。图1示例性示出了PDCP的上层为IP或TCP层。
其中,终端设备11可以例如为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、或个人数字助理(personaldigital assistant,PDA)等终端设备,本申请实施例对终端设备的具体类型不作任何限制。
示例性地,终端设备可以是WLAN中的站点(STAION,STA),可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,STB)、用户驻地设备(customer premise equipment,CPE)和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5G网络中的移动终端或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的移动终端等。
作为示例而非限定,当终端设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
网络设备12可以为接入网设备,例如,基站设备,该基站设备可以为LTE系统或者LTE-A系统中的演进型基站,也可以为5G NR系统的基站,也可以为云接入网系统中的集中式单元和分布式单元等;可以为接入网中在空口通过一个或多个小区域无线终端设备通信的设备。本申请实施例对此不作限定,
网络设备12在发送数据包时,数据包依次通过IP或TCP层125、PDCP层121、RLC层122和MAC层123,再到达物理层124。数据包到达网络设备12的物理层124之后,再从网络设备12的物理层124传输到终端设备11的物理层114。终端设备11的物理层114接收到数据包之后,再将数据包传输给MAC层113,MAC层113将数据包传输到RLC层112,RLC层112将数据包传输到PDCP层111,PDCP层111最后将数据包递交给IP或TCP层115。
在空口传输中,每个数据包都有对应的编号。通常情况下,每个数据包的编号可以由序列号(Sequence Number,SN)和超帧号(Hyper Frame Number,HFN)构成。数据包的编号也可以称为数据包的计数值。
网络设备12在发送数据包时,PDCP层121为数据包添加SN后,按照数据包的编号,依序进行发送。
终端设备11的PDCP层111接收到数据包之后,根据维护的HFN和数据包的SN,确定出数据包的计数值或编号,接收到的数据包计数值可以用RCVD_COUNT表示。其中,终端设备11和网络设备12需要维护相同的HFN。
然后,PDCP层111判断接收到的数据包的计数值是否在有效的时间窗口内。具体应用中,当数据包的计数值大于或等于RX_DELIV,且小于(RX_DELIV+SN总数/2),即RX_DELIV≤RCVD_COUNT<(RX_DELIV+SN总数/2),则判定该数据包的计数值在有效的时间窗口内,PDCP层111暂存该数据包。
反之,当数据包的计数值小于RX_DELIV,或者,数据包的计数值大于或等于(RX_DELIV+SN总数/2),或者,数据包的计数值小于RX_DELIV,且大于或等于(RX_DELIV+SN总数/2),即,RCVD_COUNT<RX_DELIV,或者,(RX_DELIV+SN总数/2)≤RCVD_COUNT,或者,(RX_DELIV+SN总数/2)≤RCVD_COUNT,且RCVD_COUNT<RX_DELIV,则判定该数据包的计数值不在有效的时间窗口内,PDCP层111则丢弃该数据包。
其中,SN总数是指SN所占用的比特数所对应的全部取值的数量。例如,SN的比特数为3,3个比特对应8个值,SN总数则为8。RX_DELIV表示PDCP层第一个未递交给上层的数据包计数值。
接着,如果接收到的数据包没有乱序,终端设备11的PDCP层对暂存的数据包按序递交给上层。如果接收到的数据包存在乱序,终端设备11的PDCP层则开启重排序定时器,以等待接收未接收到的数据包,在接收到之前未接收到的数据包时,再将数据包递交给上层。
PDCP层进行重排序的过程中,如果RCVD_COUNT>RX_DELIV,则认为接收到的数据包乱序,则更新RX_NEXT=RCVD_COUNT+1,并启动重排序定时器,设置RX_REORD=RX_NEXT。
其中,RX_NEXT表示当前已接收到的最大数据包计数值的下一个,或者,当前期待的下一个即将接收到的数据包的计数值。
RX_REORD表示开启重排序定时器(t-reordering timer)时RX_NEXT的值。初始时刻,RX_NEXT=RX_DELIV。
举例来说,参见图2示出的PDCP的数据包接收过程示意图。网络设备12需要将8个数据包发送给终端设备11,这些数据包分别为数据包0、数据包1、数据包2、数据包3、数据包4、数据包5、数据包6和数据包7,其中,0、1、2、3、4、5、6、7表示数据包的计数值。
如图2所示,在T1时刻,终端设备的PDCP层没有接收到任何数据包,此时,RCVD_COUNT和RX_REORD不存在,RX_DELIV和RX_NEXT均为0,即当前第一个未递交给PDCP上层的数据包的计数值为0,期待下一个即将接收到的数据包为数据包0。这个时刻,由于没有乱序,重排序定时器未运行。
在T2时刻,终端设备的PDCP层接收到了数据包0,即RCVD_COUNT=0。PDCP层根据未更新的RX_DELIV,确定数据包0的计数值是否位于有效的时间窗口内。未更新的RX_DELIV为0,则可以确定出RX_DELIV=0≤RCVD_COUNT=0<(RX_DELIV+SN总数/2),判定数据包0位于有效的时间窗口。并且,未更新的RX_NEXT为0,则可以确定RCVD_COUNT等于RX_NEXT,则更新RX_NEXT=1。
另外,RX_DELIV也为0,即第一个未递交给上层的数据包为数据包0。因此,PDCP层把接收到的数据包0递交给上层,并更新RX_DELIV=1。
在T2时刻,由于RX_DELIV=RX_NEXT,则确定PDCP层接收到的数据包没有乱序,此时重排序定时器未运行。
在T3时刻,终端设备的PDCP层接收到了数据包3,即RCVD_COUNT=3。此时,未更新的RX_DELIV=1,未更新的RX_NEXT=1。由于RX_DELIV=1≤RCVD_COUNT=3<(RX_DELIV+SN总数/2),PDCP层则确定数据包3位于有效的时间窗口内。又由于RCVD_COUNT=3>RX_NEXT=1,则更新RX_NEXT=RCVD_COUNT+1=4。
此时,由于没有接收到数据包1,RX_DELIV仍然等于1,不需要将数据包3递交给上层。
又由于RX_DELIV=1小于RX_NEXT=4,确定接收到的数据包出现了乱序,则启动重排序定时器,并设置RX_REORD=RX_NEXT=4。该重排序定时器用于等待接收还未接收到的数据包1和数据包2。
在T4时刻,终端设备的PDCP层接收到了数据包5,即RCVD_COUNT=5。此时,根据未更新的RX_DELIV=1,可以确定出RX_DELIV=1≤RCVD_COUNT=5<(1+SN总数/2),进而判定数据包5位于有效的时间窗口内。
又由于RCVD_COUNT=5>RX_NEXT=4,则更新RX_NEXT=RCVD_COUNT+1=6。
此时,由于没有接收到数据包1,RX_DELIV仍然等于1,不需要将数据包5递交给上层。另外,RX_DELIV=1小于RX_REORD=4,说明仍未收到数据包1和数据包2。如果此时重排序定时器没有超时,重排序定时器继续运行。
在T5时刻,终端设备的PDCP层接收到了数据包1,即RCVD_COUNT=1。此时,未更新的RX_DELIV=1,未更新的RX_NEXT=6。由于RX_DELIV=1≤RCVD_COUNT=1<(RX_DELIV+SN总数/2),则可以确定数据包1位于有效的时间窗口内。
又由于RCVD_COUNT=1<RX_NEXT=6,则无需更新RX_NEXT,即RX_NEXT=6。
此时,RX_DELIV=1,则表明第一个未递交给上层的数据包为数据包1,PDCP层则将数据包1递交给上层,并将RX_DELIV更新为2。
另外,此时重排序定时器正在运行,但RX_DELIV=2小于RX_REORD=4,则说明数据包2仍然未收到。此时,如果重排序定时器没有超时,重排序定时器会继续运行。
在T6时刻,终端设备的PDCP层接收到了数据包2,即RCVD_COUNT=2。此时,未更新的RX_DELIV=2,未更新的RX_NEXT=6。由于RX_DELIV=2≤RCVD_COUNT=2<(RX_DELIV+SN总数/2),PDCP层则可以确定数据包2位于有效的时间窗口内。
又由于RCVD_COUNT=2<RX_NEXT=6,则无需更新RX_NEXT,即RX_NEXT=6。
此时,RX_DELIV=2,则表明第一个未递交给上层的数据包为数据包2,PDCP层则将数据包2以及后边连续的数据包3递交给上层,并将RX_DELIV更新为4。
另外,RX_DELIV=RX_REORD=4,表明了已收到重排序定时器开始时还未收到的数据包,则可以停止运行重排序定时器。
上文图2中,PDCP层在重排序定时器的运行时间内接收到了数据包1和数据包2。在其它一些实施例中,如果PDCP层还没有接收到数据包1和数据包2,重排序定时器就超时了,PDCP层可以将数据包3递交给上层,并更新RX_DELIV。后续如果接收到数据包1和数据包2,由于PDCP层已经更新了RX_DELIV,则可能判定数据包1和数据包2没有在有效的时间窗口内,进而丢弃数据包1和数据包2。也就是说,PDCP层的重排序定时器超时,可能会导致PDCP层丢失数据包。
目前,终端设备进行小区切换时需要进行PDCP重建,以适应新的网络设备。
其中,小区切换是指终端设备所在的小区发生变化,可以是主小区发生改变,也可以是辅小区发生改变。
在小区切换过程中,终端设备不会接收新的数据包,网络设备也不会向终端设备发送数据包。在终端设备小区切换完成之后,新的网络设备才会继续向终端设备发送数据包。其中,小区切换的时长通常大于或等于PDCP重建过程的时长。
在小区切换时,如果PDCP层的重排序定时器已经启动,小区切换过程中重排序定时器可能会超时。现有技术中,如果重排序定时器超时,PDCP层则将重排序定时器开启之前的所有数据包都递交给上层。并且,更新RX_DELIV为第一个未被递交给上层,且大于或等于RX_REORD的计数值。在后续过程中,如果RX_DELIV<RX_NEXT,更新RX_REORD=RX_NEXT,并重启重排序定时器。
小区切换完成后,终端设备会按照更新后的RX_DELIV,判断新接收到的数据包是否在有效的时间窗口内。如果新接收到的数据包是小区切换前未收到的数据包,使用更新后的RX_DELIV进行判断,可能会认为数据包没有在有效的时间窗口内,进而丢弃新接收到的数据包。
例如,参见图3示出的数据包接收示意图,如图3所示,终端设备在原小区先后接到了数据包1、数据包2、数据包5和数据包6,并且,终端设备在接收到数据包5之后,在T1时刻启动了PDCP层的重排序定时器,此时,RX_REORD=6,RX_DELIV=3。
终端设备需要从原小区切换到新小区。终端设备进入小区切换过程后,在小区切换过程中的T2时刻,重排序定时器超时,终端设备则更新RX_REORD=7,RX_DELIV=7,即在T2时刻更新了时间窗口。
终端设备小区切换完成之后,新小区对应的网络设备继续向终端设备发送未收到的数据包,即新小区对应的网络设备向终端设备发送数据包3和数据包4。
终端设备在新小区接收到了数据包3和数据包4之后,使用更新后的RX_DELIV=7,判定出数据包3和数据包4均不在有效的时间窗口内,则丢弃数据包3和数据包4。以数据包3为例,PDCP接收到数据包3,则RCVD_COUNT=3。此时,由于RX_DELIV=7>RCVD_COUNT=3,则确定数据包3没有在有效的时间窗口内,PDCP层不存储该数据包3。
由此可见,终端设备即使在切换到新小区之后,接收到了在原小区未接收到的数据包3和数据包4,但是由于RX_DELIV已经更新为7,即时间窗口已更新,仍然会将数据包3和数据包4丢弃,进而产生丢包问题。
针对小区切换过程中由于重排序定时器超时导致的丢包问题,本申请实施例提供了针对PDCP层重排序定时器的处理方案,以降低了小区切换过程中由于重排序定时器导致的丢包。
本申请实施例提供的技术方案可以应用于5G NR系统,或者普通的NR系统,或者配置了NR PDCP层的LTE系统等。进一步地,本申请实施例提供的技术方案可以应用于NR系统或LTE系统的小区切换场景。
参见图4,为本申请实施例提供的定时器处理方法的一种流程示意框图,该方法可以应用于终端设备,该方法可以包括以下步骤:
步骤S401、终端设备处于小区切换过程。
其中,当终端设备需要进行小区切换时,终端设备会发起小区切换,并进入到小区切换过程。
可选地,终端设备可以先判断当前是否处于小区切换过程,如果处于小区切换过程,则进入图4的流程;如果不处于小区切换过程,则按照现有标准协议中的重排序定时器处理流程进行处理。
步骤S402、终端设备确定PDCP层的重排序定时器超时,重排序定时器的长度为第一时长。
可以理解的是,重排序定时器超时是指重排序定时器的运行时长大于设置的定时器长度时。其中,在启动重排序定时器时,会设置一个定时器长度,如果运行时长大于设置的定时器长度,重排序定时器则超时。
本申请实施例中,设置的定时器长度为第一时长,即重排序定时器的运行时长大于第一时长时,重排序定时器则超时。
在一些实施例中,第一时长可以是网络设备配置的,即网络设备为终端设备配置的重排序定时器长度为第一时长。此时,终端设备在启动该重排序定时器时,将重排序定时器的长度设置为网络设备配置的第一时长。
在另一些实施例中,该第一时长也可以不是网络设备配置的,而是自主指定的。即预先设置一个定时长度,在重排序定时器启动时,使用该预先设置的定时长度作为重排序定时器的长度。此时,不使用网络设备配置的定时器长度。
当网络设备配置的定时器长度小于一定阈值时,如果将重排序定时器的长度设置为网络设备配置的定时长度,重排序定时器很大可能会在小区切换过程中出现超时。为了尽可能地避免小区切换过程中重排序定时器超时,在网络设备配置的定时器长度小于一定阈值时,将重排序定时器的长度设置为自主指定的定时长度,该自主指定的定时长度大于网络设备配置的定时长度。
而当网络设备配置的定时长度大于或等于一定阈值时,可以将重排序定时器的长度设置为网络设备配置的定时长度。
也就是说,可选地,在使用自主指定的定时长度时,可以先判断网络设备配置的定时长度是否小于一定阈值,如果是,则使用自主指定的定时长度,如果否,则使用网络设备配置的定时长度。
当然,也可以不用判断网络设备配置的定时长度和阈值之间的大小关系,而是直接使用自主指定的定时长度。
自主指定的定时长度通常大于网络设备配置的定时长度,具体大小可以根据实际需要设定。该自主指定的定时长度可以预先设置好,也可以从其他设备获取的,在此不对自主指定的定时长度的获取方式作限定。
上述用于与网络设备配置的定时长度比较大小的阈值,也可以根据实际需要设定。本申请实施例对此不作限定。
可选地,终端设备可以先判断重排序定时器的第一时长是否小于第二预设阈值,如果小于,再进入步骤S403。此时,如果第一时长为网络设备配置的重排序定时器时长,当网络设备配置的重排序定时器时长小于第二预设阈值时,再进入步骤S403。如果第一时长大于或等于第二预设阈值,则可以执行现有标准协议中的重排序定时器处理流程。第二预设阈值可以根据实际需要设置。
步骤S403、终端设备不更新时间窗口,并将重排序定时器的长度设置为第二时长后,重新启动重排序定时器,第二时长大于第一时长。
需要说明的是,不更新时间窗口是指不更新RX_DELIV。RX_DELIV的值不更新,有效的时间窗口也不会更新。这样,当小区切换完成后,终端设备还根据原先的有效的时间窗口,判断新接收到的数据包的计数值是否在有效的时间窗口内。如果新接收到的数据包为终端设备在原小区未收到的数据包,仍然可以判定数据包在有效的时间窗口内,不会丢弃该数据包,减少了丢包。
除了不更新时间窗口之外,还重新启动一个第二时长的重排序定时器,该第二时长大于第一时长,即重新启动一个定时长度更长的重排序定时器。在小区切换过程中重排序定时器超时,重新启动一个更长的重排序定时器,可以避免重排序定时器重启后,重排序定时器再次超时,进而减少了由于重排序定时器超时导致的丢包。第二时长通常是自主指定的,且第二时长大于网络设备配置的定时长度。
具体来说,如果在步骤S402中确定出重排序定时器超时后,执行不更新时间窗口这一操作,并启动一个第一时长的重排序定时器,或者使用网络设备配置的定时长度,重新启动一个重排序定时器。该重排序定时器重新启动之后,其定时时长为第一时长或网络设备配置的定时长度,第一时长或者网络设备配置的定时长度均较小,而小区切换过程的耗时通常大于或等于PDCP层重建过程。因此,如果重新启动后的重排序定时器的定时长度较短,在小区切换过程中,重新启动后的重排序定时器很大可能再次超时。
重新启动后的重排序定时器再次超时,PDCP层会按照现有标准协议中的重排序定时器超时处理流程进行处理,即更新RX_DELIV,以更新时间窗口,并把数据递交给上层。由此可见,重新启动后的重排序定时器如果再次超时,也会导致时间窗口的更新。那么,小区切换完成后,终端设备会根据更新后的时间窗口,判断新接收到的数据包的计数值是否在有效的时间窗口内。如果新接收到的数据包为终端设备在原小区未收到的数据包,使用更新后的时间窗判定数据包不在有效的时间窗口内,导致丢包。
也就是说,重启的重排序定时器的定时长度如果较小,在重启之后仍然可能再次超时,进而导致时间窗口的更新。
本申请实施例中,为了避免重启的重排序定时器再次超时,在重新启动重排序定时器时,使用第二时长作为重排序定时器的定时长度,该第二时长大于第一时长,即启动一个定时长度更长的重排序定时器。重启的重排序定时器的定时长度更长,则可以尽可能地避免重排序定时器在小区切换过程中再次超时,进而减少了小区切换过程中由于重排序定时器超时导致的丢包。
例如,参见图5示出的数据包接收的另一示意图,如图5所示,终端设备在原小区先后接到了数据包1、数据包2、数据包5和数据包6,并且,终端设备在接收到数据包5之后,在T1时刻启动了PDCP层的重排序定时器,此时,RX_REORD=6,RX_DELIV=3。
终端设备需要从原小区切换到新小区。终端设备进入小区切换过程后,在小区切换过程中的T2时刻,重排序定时器超时。在本申请实施例中,重排序定时器超时不更新时间窗口,即不更新RX_DELIV,那么,RX_REORD仍然为6,RX_DELIV仍然为3,即在T2时刻虽然重排序定时器超时,但没有更新时间窗口。并且,重新启动一个定时长度更长的重排序定时器。
终端设备小区切换完成之后,新小区对应的网络设备继续向终端设备发送未收到的数据包,即新小区对应的网络设备向终端设备发送数据包3和数据包4。
终端设备在新小区接收到了数据包3和数据包4之后,使用RX_DELIV=3,判定出数据包3和数据包4均在有效的时间窗口内,则暂存数据包3和数据包4。以数据包3为例,PDCP接收到数据包3,则RCVD_COUNT=3。
此时,由于RX_DELIV=RCVD_COUNT=3,则确定数据包3在有效的时间窗口内,PDCP层暂存该数据包3。这样,终端设备在切换到新小区之后,收到了数据包3和数据包4,不会丢弃数据包,避免了丢包。
由此可见,终端设备即使在切换到新小区之后,接收到了在原小区未接收到的数据包3和数据包4,但是由于RX_DELIV已经更新为7,即时间窗口已更新,仍然会将数据包3和数据包4丢弃,进而产生丢包问题。
通过对比图5和图3可知,本申请实施例在小区切换过程中重排序定时器超时的时候,不更新时间窗口,使得数据包3和数据包4不会被丢弃。另外,本申请实施例还重新启动一个定时长度更长的重排序定时器,以进一步减少小区切换过程重排序定时器超时导致的丢包。
由上可见,本申请实施例在小区切换过程中,如果PDCP重排序定时器超时,不更新时间窗口,并重新启动一个定时长度更长的重排序定时器,降低了小区切换过程中由于重排序定时器超时导致的丢包。
本申请实施例中,第一时长的重排序定时器可能在小区切换之前就已经启动,并在小区切换过程中超时。例如,PDCP层在T1时刻接收到数据包0,在T2时刻接收到数据包1,在T3时刻接收到数据包4,T4时刻在小区切换之前。由于PDCP层在T4时刻接收到的数据包乱序,则启动重排序定时器。该重排序定时器在T6时刻超时,T6时刻处于小区切换过程内。
当然,第一时长的重排序定时器也可能在小区切换过程中启动,并在小区切换过程中超时。
在第一时长的重排序定时器启动时,可以使用网络设备配置的定时长度,也可以使用自主指定的定时长度,即第一时长可能是自主指定的,也可能是网络设备配置的。或者,可以先判断网络设备配置的定时长度是否小于一定阈值,如果是,使用自主指定的定时长度,如果否,使用网络设备配置的定时长度,此时,自主指定的定时长度大于网络设备配置的定时长度。
参见图6示出的定时器处理方法的另一种流程示意框图,该方法可以包括以下步骤:
步骤S601、终端设备判断当前是否处于小区切换过程中,如果是,进入步骤S602,如果否,进入步骤S605。
步骤S602、终端设备判断网络设备配置的重排序定时器的定时长度是否小于第一预设阈值,如果是,则进入步骤S603或步骤S604,如果否,则进入步骤S605。
如果网络设备配置的定时长度小于第一预设阈值,则表明网络设备配置的定时长度较小,出现重排序定时器超时的概率较大。此时,为了降低重排序定时器超时的概率,可以使用一个比网络设备配置的定时长度更长的定时长度。
如果网络设备配置的定时长度大于或等于第一预设阈值,则表明网络设备配置的定时长度较大,出现重排序定时器超时的概率较小。此时,可以按照现有标准协议中的重排序定时器处理流程进行处理。
第一预设阈值可以上文的第二预设阈值相同,也可以不相同。
步骤S603、终端设备确定需要启动重排序定时器,启动定时长度为指定长度的重排序定时器。
需要说明的是,在小区切换过程中,如果重排序定时器没有处于运行状态,并且,在某个时刻如果PDCP层接收到的数据包乱序,则确定需要启动重排序定时器。此时,由于网络设备配置的定时长度小于第一预设阈值,则使用指定长度作为重排序定时器的长度,不使用网络设备指示的定时长度。
指定长度是指预先设定的重排序定时器长度,该指定长度通常大于网络设备配置的定时长度。通常情况下,该指定长度是预先人为设置好的。指定长度和第一预设阈值的大小可以根据实际需要设定,在此不作限定。
在一些实施例中,该指定长度可以为第一时长,即在小区切换过程中,终端设备确定出网络设备配置的重排序定时器小于第一预设阈值,则启动一个第一时长的重排序定时器,第一时长大于网络设备配置的重排序定时器时长。该第一时长的重排序定时器在启动之后,如果在小区切换过程中的某个时刻超时,则进入步骤S604。
步骤S604、终端设备确定重排序定时器超时,不更新时间窗口,并重新启动第二时长的重排序定时器。
小区切换过程中,如果重排序定时器处于运行状态,并且该重排序定时器超时,则不更新时间窗口,并重新启动一个指定定时长度的重排序定时器。具体可以参见上文的步骤S403的内容,在此不再赘述,此时,超时的重排序定时器的长度为第一时长,第二时长大于第一时长。
需要说明的是,第二时长和步骤S603中的指定长度可以相等,也可以不相等。
需要说明的是,步骤S604中第一时长的重排序定时器可以是在小区切换之前就启动的,并且,该重排序定时器的第一时长可以是网络设备配置的,也可以是自主指定的。
在其它一些实施例中,步骤S604中超时的重排序定时器可以是在小区切换过程中启动的。此时,可以先执行步骤S603,再执行步骤S604。具体来说,在小区切换之前,PDCP层的重排序定时器没有启动。在进入小区切换过程之后,终端设备确定需要启动重排序定时器,则执行步骤S603,即启动一个指定长度的重排序定时器;然后,该指定长度的重排序定时器持续运行,在某个时刻,重排序定时器超时,则执行步骤S604。
步骤S605、终端设备按照现有标准协议中的重排序定时器处理流程进行处理。
本申请实施例中,在小区切换过程中,如果重排序定时器处于运行状态,并且重排序定时器超时,则不更新时间窗口,并重新启动一个定时长度更长的重排序定时器,以降低丢包率。进一步地,在小区切换过程中,如果需要启动重排序定时器,不使用网络设备配置的重排序定时器长度,而是使用指定长度,该指定长度通常大于网络设备配置的长度,以进一步降低小区切换过程中,重排序定时器超时的概率,进而降低丢包率。
上文图6中,第一时长的重排序定时器可以在小区切换之前就已经启动,也可以在小区切换过程中启动的。
在一些实施例中,第一时长的重排序定时器也可能是在发起小区切换时启动的。此时,当网络设备配置的重排序定时器长度小于第三预设阈值时,上述方法还可以包括:终端设备在发起小区切换时,确定重排序定时器是否处于运行状态,重排序定时器的长度为第四时长。当重排序定时器处于运行状态,终端设备停止运行重排序定时器,并将重排序定时器的长度重置为第一时长后,启动重排序定时器,第一时长大于第四时长。
其中,第三预设阈值、第一预设阈值和第二预设阈值相等,也可以不相等。
如果第一时长为网络设备配置的重排序定时器长度,第一时长、第三时长和第四时长可以相同。
此时,在小区切换之前,PDCP的重排序定时器就已经启动,且该重排序定时器的定时长度网络设备配置的定时器长度。在某个时刻,终端设备发起了小区切换,并判断出重排序定时器已经处于运行状态;然后,停止运行当前的重排序定时器,并使用自主指定的第一时长,重新启动一个重排序定时器,即重新启动一个定时长度更长的重排序定时器。
重新启动一个定时长度更长的重排序定时器后,由于定时时长更长了,使得后续小区切换过程中重排序定时器超时的可能性降低,进而降低了小区切换过程中由于重排序定时器超时导致的丢包。
可选地,在判断出重排序定时器处于运行状态之后,还可以判断当前运行的重排序定时器的第四时长是否小于一定阈值,当小于一定阈值时,再停止运行当前的重排序定时器,并重新启动一个定时长度更长的重排序定时器;当大于或等于一定阈值时,可以重新启动一个定时器长度更长的重排序定时器。第四时长可以是指定时器的总计时长。
可选地,在判断出重排序定时器处于运行状态之后,还可以判断当前运行的重排序定时器的剩余时长是否小于一定阈值。当剩余时长小于一定阈值时,则认为后续小区切换过程中重排序定时器超时的概率较大,此时,为了降低小区切换过程中重排序定时器超时的可能性,可以停止当前的重排序定时器,并重新启动一个定时长度更长的重排序定时器。重新启动的重排序定时器的定时长度可以是大于原本运行的重排序定时器的总计时长,也可以是大于原本运行的重排序定时器的剩余时长。
可选地,在判断重排序定时器是否处于运行状态之前,还可以判断网络设备配置的重排序定时器的定时长度是否小于一定阈值,如果小于一定阈值,则进入判断重排序定时器是否处于运行状态,如果大于或等于一定阈值,则可以进入现有标准协议中的重排序定时器处理流程。
在上述实施例中,如果重排序定时器在小区切换过程中超时,则不更新窗口,并重新启动一个定时长度更长的重排序定时器。在其它一些实施例中,为了尽可能地避免小区切换过程中出现重排序定时器超时,可以在发起小区切换时,就重新启动一个定时长度更长的重排序定时器。
参见图7示出的定时器处理方法的又一种流程示意框图,该方法可以包括以下步骤:
步骤S701、终端设备判断是否处于小区切换过程中,如果是,则进入步骤S702,如果否,则进入步骤S705。
步骤S702、终端设备判断网络设备配置的重排序定时器的定时长度是否小于第四预设阈值,如果是,进入步骤S703或者步骤S704。如果否,进入步骤S705。该正在运行的重排序定时器的定时长度为第五时长。
如果网络设备配置的重排序定时器的定时长度小于第四预设阈值,则表明网络设备配置的定时长度较小,出现重排序定时器超时的概率较大。此时,为了降低重排序定时器超时的概率,可以使用一个比网络设备配置的定时长度更长的定时长度。
如果网络设备配置的定时长度大于或等于第四预设阈值,则表明网络设备配置的定时长度较大,出现重排序定时器超时的概率较小。此时,可以按照现有标准协议中的重排序定时器处理流程进行处理。
第二预设阈值可以根据实际需要进行设定,在此不作限定。
步骤S703、终端设备在发起小区切换时,如果重排序定时器处于运行状态,则停止运行该重排序定时器,并重新启动定时长度更长的重排序定时器。
具体应用中,终端设备如果处于小区切换过程内,且网络设备配置的重排序定时器的定时长度小于第四预设阈值时,进一步判断发起小区切换时,重排序定时器是否处于运行状态。如果发起小区切换时,重排序定时器处于运行状态,由于正在运行的重排序定时器的定时时长为网络设备配置的定时长度,定时长度较小,后续重排序定时器出现超时的概率较大。为了尽可能地减少小区切换过程由于重排序定时器超时导致的丢包,可以停止运行当前的重排序定时器,并重新启动一个定时长度更长的重排序定时器。
其中,重新启动的重排序定时器的定时长度大于之前处于运行状态的重排序定时器的定时长度。
重启后的重排序定时器的定时长度更长,可以降低小区切换过程中重排序定时器超时的可能性,从而减少了由于重排序定时器超时导致的丢包。
可选地,在判断出重排序定时器处于运行状态之后,还可以判断当前运行的重排序定时器的第五时长是否小于一定阈值,当小于一定阈值时,再停止运行当前的重排序定时器,并重新启动一个定时长度更长的重排序定时器;当大于或等于一定阈值时,可以让当前的重排序定时器继续运行。第五时长可以是指定时器的总计时长。
可选地,在判断出重排序定时器处于运行状态之后,还可以判断当前运行的重排序定时器的剩余时长是否小于一定阈值。当剩余时长小于一定阈值时,则认为后续小区切换过程中重排序定时器超时的概率较大,此时,为了降低小区切换过程中重排序定时器超时的可能性,可以停止当前的重排序定时器,并重新启动一个定时长度更长的重排序定时器。重新启动的重排序定时器的定时长度可以是大于原本运行的重排序定时器的总计时长,也可以是大于原本运行的重排序定时器的剩余时长。
可选地,在判断重排序定时器是否处于运行状态之前,还可以判断网络设备配置的重排序定时器的定时长度是否小于一定阈值,如果小于一定阈值,则进入判断重排序定时器是否处于运行状态,如果大于或等于一定阈值,则可以进入现有标准协议中的重排序定时器处理流程。
步骤S704、终端设备如果需要启动重排序定时器,则启动定时长度为指定长度的重排序定时器。
具体应用中,终端设备如果处于小区切换过程内,且网络设备配置的重排序定时器的定时长度小于第四预设阈值时,进一步判断是否需要启动重排序定时器。如果需要启动重排序定时器,则启动一个定时长度为指定长度的重排序定时器。
指定长度是预先设置的,不是网络设备配置的定时器长度。通常情况下,指定长度大于网络设备配置的定时器长度。
在一些实施例中,该指定长度为第五时长,即终端设备在小区切换过程中,确定需要启动重排序定时器,先进一步确定第七时长是否小于第五预设阈值,此时,第七时长为网络设备配置的重排序定时器长度,第五预设阈值可以等同于第四预设阈值。如果小于,则启动一个第五时长的重排序定时器,第五时长大于第七时长,即重新启动后的重排序定时器的时长大于之前运行的重排序定时器的时长。
步骤S705、终端设备按照现有标准协议中的重排序定时器处理流程进行处理。
需要说明的是,上述步骤S702是可选的,即可以不判断网络设备配置的重排序定时长度和第二预设阈值之间的大小关系,而是直接进入步骤S703或步骤S704。
本申请实施例中,在小区切换发起时,如果重排序定时器处于运行状态,则停止正在运行的重排序定时器,并启动一个定时长度更长的重排序定时器,降低小区切换过程中重排序定时器超时的概率,以降低小区切换过程中由于重排序定时器超时导致的丢包。另外,在小区切换过程中,如果需要启动重排序定时器,不使用网络设备配置的重排序定时器长度,而是使用指定长度,该指定长度通常大于网络设备配置的长度,以进一步降低小区切换过程中,重排序定时器超时的概率,进而降低丢包率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
下面介绍用于实现上述方法的装置。
参见图8示出的终端设备的结构示意框图,本申请实施例提供一种终端设备,包括存储器81、处理器82以及存储在存储器中并可在处理器上运行的计算机程序83,处理器82用于执行计算机程序,确定处于小区切换过程;确定PDCP层的重排序定时器超时,重排序定时器的长度为第一时长;不更新时间窗口,并将重排序定时器的长度设置为第二时长后,重新启动重排序定时器,第二时长大于第一时长。
该终端设备除了包括存储器和处理器之外,还可以包括收发器等,其中,收发器用于接收或发送数据、信号、消息等。
在一些可能的实现方式中,第一时长为网络设备配置的重排序定时器长度。
在一些可能的实现方式中,处理器82还用于:在确定需要启动重排序定时器之后,确定第三时长小于第一预设阈值,第三时长为网络设备配置的重排序定时器长度;将重排序定时器的长度设置为第一时长后,启动重排序定时器,第一时长大于第三时长。
在一些可能的实现方式中,处理器82还用于:确定重排序定时器的第一时长是否小于第二预设阈值;当第一时长小于第二预设阈值,进入终端设备停止运行重排序定时器,不更新时间窗口,并将重排序定时器的长度重置为第二时长后,重新启动重排序定时器,第二时长大于第一时长的步骤。
在一些可能的实现方式中,处理器82还用于:在发起小区切换时,确定重排序定时器是否处于运行状态,重排序定时器的长度为第四时长;当重排序定时器处于运行状态,停止运行重排序定时器,并将重排序定时器的长度重置为第一时长后,启动重排序定时器,第一时长大于第四时长。
参见图9示出的终端设备的结构示意框图,本申请实施例还提供一种终端设备,包括存储器91、处理器92以及存储在存储器中并可在处理器上运行的计算机程序93,处理器92用于执行计算机程序,在发起小区切换时,确定PDCP层的重排序定时器是否处于运行状态,重排序定时器的长度为第五时长;当重排序定时器处于运行状态,停止运行重排序定时器,并将重排序定时器的长度重置为第六时长后,启动重排序定时器,第六时长大于第五时长。
该终端设备除了包括存储器和处理器之外,还可以包括收发器等,其中,收发器用于接收或发送数据、信号、消息等。
在一些可能的实现方式中,当重排序定时器处于运行状态,处理器92还用于:确定第五时长是否小于第四预设阈值;当第五时长小于第四预设阈值时,进入终端设备停止运行重排序定时器,并将重排序定时器的长度重置为第六时长后,启动重排序定时器的步骤。
在一些可能的实现方式中,处理器92还用于:在确定需要启动重排序定时器之后,确定第七时长小于第五预设阈值,第七时长为网络设备配置的重排序定时器长度;将重排序定时器的长度设置为第五时长后,启动重排序定时器,第五时长大于第七时长。
本申请实施例还提供一种定时器处理装置,包括:第一确定模块,用于确定处于小区切换过程;第二确定模块,用于确定PDCP层的重排序定时器超时,重排序定时器的长度为第一时长;重新启动模块,用于不更新时间窗口,并将重排序定时器的长度设置为第二时长后,重新启动重排序定时器,第二时长大于第一时长。
在一些可能的实现方式中,第一时长为网络设备配置的重排序定时器长度。
在一些可能的实现方式中,上述装置还包括:第三确定模块,用于在确定需要启动重排序定时器之后,确定第三时长小于第一预设阈值,第三时长为网络设备配置的重排序定时器长度;第一启动模块,用于将重排序定时器的长度设置为第一时长后,启动重排序定时器,第一时长大于第三时长。
在一些可能的实现方式中,该装置还包括:第四确定模块,用于确定重排序定时器的第一时长是否小于第二预设阈值,当第一时长小于第二预设阈值,进入终端设备停止运行重排序定时器,不更新时间窗口,并将重排序定时器的长度重置为第二时长后,重新启动重排序定时器,第二时长大于第一时长的步骤。
在一些可能的实现方式中,该装置还包括:第五确定模块,用于在发起小区切换时,确定重排序定时器是否处于运行状态,重排序定时器的长度为第四时长;第二启动模块,用于当重排序定时器处于运行状态,停止运行重排序定时器,并将重排序定时器的长度重置为第一时长后,启动重排序定时器,第一时长大于第四时长。
上述定时器处理装置具有实现上述定时器处理方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件,即可以是硬件,也可以是软件,也可以是软件和硬件。
需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
本申请实施例还提供了一种定时器处理装置,该装置包括:第六确定模块,用于在发起小区切换时,确定PDCP层的重排序定时器是否处于运行状态,重排序定时器的长度为第五时长;第三启动模块,用于当重排序定时器处于运行状态,停止运行重排序定时器,并将重排序定时器的长度重置为第六时长后,启动重排序定时器,第六时长大于第五时长。
在一些可能的实现方式中,当重排序定时器处于运行状态,该装置还包括:第七确定模块,用于确定第五时长是否小于第四预设阈值,当第五时长小于第四预设阈值时,进入终端设备停止运行重排序定时器,并将重排序定时器的长度重置为第六时长后,启动重排序定时器的步骤。
在一些可能的实现方式中,该装置还包括:第八确定模块,用于在确定需要启动重排序定时器之后,确定第七时长小于第五预设阈值,第七时长为网络设备配置的重排序定时器长度;第四启动模块,用于将重排序定时器的长度设置为第五时长后,启动重排序定时器,第五时长大于第七时长。
上述定时器处理装置具有实现上述定时器处理方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件,即可以是硬件,也可以是软件,也可以是软件和硬件。
需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例还提供一种芯片系统,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如上述各个方法实施例所述的方法。所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。此外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种定时器处理方法,其特征在于,包括:
终端设备处于小区切换过程;
所述终端设备确定PDCP层的重排序定时器超时,所述重排序定时器的长度为第一时长;
所述终端设备不更新时间窗口,并将所述重排序定时器的长度设置为第二时长后,重新启动所述重排序定时器,所述第二时长大于所述第一时长;
所述方法还包括:
所述终端设备在确定需要启动所述重排序定时器之后,确定第三时长小于第一预设阈值,所述第三时长为网络设备配置的重排序定时器长度;
所述终端设备将所述重排序定时器的长度设置为所述第一时长后,启动所述重排序定时器,所述第一时长大于所述第三时长。
2.根据权利要求1所述的方法,其特征在于,所述第一时长为网络设备配置的重排序定时器长度。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述终端设备确定所述重排序定时器的所述第一时长是否小于第二预设阈值;
当所述第一时长小于所述第二预设阈值,进入所述终端设备停止运行所述重排序定时器,不更新时间窗口,并将所述重排序定时器的长度重置为第二时长后,重新启动所述重排序定时器,所述第二时长大于所述第一时长的步骤。
4.根据权利要求1所述的方法,其特征在于,当网络设备配置的重排序定时器长度小于第三预设阈值,所述方法还包括:
所述终端设备在发起小区切换时,确定所述重排序定时器是否处于运行状态,所述重排序定时器的长度为第四时长;
当所述重排序定时器处于运行状态,所述终端设备停止运行所述重排序定时器,并将所述重排序定时器的长度重置为所述第一时长后,启动所述重排序定时器,所述第一时长大于所述第四时长。
5.一种定时器处理方法,其特征在于,包括:
终端设备在发起小区切换时,确定PDCP层的重排序定时器是否处于运行状态,所述重排序定时器的长度为第五时长;
当所述重排序定时器处于运行状态,所述终端设备停止运行所述重排序定时器,并将所述重排序定时器的长度重置为第六时长后,启动所述重排序定时器,所述第六时长大于所述第五时长;
所述方法还包括:
所述终端设备在确定需要启动所述重排序定时器之后,确定第七时长小于第五预设阈值,所述第七时长为网络设备配置的重排序定时器长度;
所述终端设备将所述重排序定时器的长度设置为所述第五时长后,启动所述重排序定时器,所述第五时长大于所述第七时长。
6.根据权利要求5所述的方法,其特征在于,当所述重排序定时器处于运行状态,所述方法还包括:
所述终端设备确定所述第五时长是否小于第四预设阈值;
当所述第五时长小于所述第四预设阈值时,进入所述终端设备停止运行所述重排序定时器,并将所述重排序定时器的长度重置为所述第六时长后,启动所述重排序定时器的步骤。
7.一种终端设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器用于执行所述计算机程序,确定处于小区切换过程;确定PDCP层的重排序定时器超时,所述重排序定时器的长度为第一时长;不更新时间窗口,并将所述重排序定时器的长度设置为第二时长后,重新启动所述重排序定时器,所述第二时长大于所述第一时长;
所述处理器还用于:
在确定需要启动所述重排序定时器之后,确定第三时长小于第一预设阈值,所述第三时长为网络设备配置的重排序定时器长度;
将所述重排序定时器的长度设置为所述第一时长后,启动所述重排序定时器,所述第一时长大于所述第三时长。
8.根据权利要求7所述的终端设备,其特征在于,所述第一时长为网络设备配置的重排序定时器长度。
9.根据权利要求7或8所述的终端设备,其特征在于,所述处理器还用于:
确定所述重排序定时器的所述第一时长是否小于第二预设阈值;
当所述第一时长小于所述第二预设阈值,进入所述终端设备停止运行所述重排序定时器,不更新时间窗口,并将所述重排序定时器的长度重置为第二时长后,重新启动所述重排序定时器,所述第二时长大于所述第一时长的步骤。
10.根据权利要求7所述的终端设备,其特征在于,所述处理器还用于:
在发起小区切换时,确定所述重排序定时器是否处于运行状态,所述重排序定时器的长度为第四时长;
当所述重排序定时器处于运行状态,停止运行所述重排序定时器,并将所述重排序定时器的长度重置为所述第一时长后,启动所述重排序定时器,所述第一时长大于所述第四时长。
11.一种终端设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器用于执行所述计算机程序,在发起小区切换时,确定PDCP层的重排序定时器是否处于运行状态,所述重排序定时器的长度为第五时长;当所述重排序定时器处于运行状态,停止运行所述重排序定时器,并将所述重排序定时器的长度重置为第六时长后,启动所述重排序定时器,所述第六时长大于所述第五时长;
所述处理器还用于:
在确定需要启动所述重排序定时器之后,确定第七时长小于第五预设阈值,所述第七时长为网络设备配置的重排序定时器长度;
将所述重排序定时器的长度设置为所述第五时长后,启动所述重排序定时器,所述第五时长大于所述第七时长。
12.根据权利要求11所述的终端设备,其特征在于,当所述重排序定时器处于运行状态,所述处理器还用于:
确定所述第五时长是否小于第四预设阈值;
当所述第五时长小于所述第四预设阈值时,进入所述终端设备停止运行所述重排序定时器,并将所述重排序定时器的长度重置为所述第六时长后,启动所述重排序定时器的步骤。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4或5至6任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011321435.8A CN114531695B (zh) | 2020-11-23 | 2020-11-23 | 定时器处理方法和装置 |
PCT/CN2021/132067 WO2022105912A1 (zh) | 2020-11-23 | 2021-11-22 | 定时器处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011321435.8A CN114531695B (zh) | 2020-11-23 | 2020-11-23 | 定时器处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114531695A CN114531695A (zh) | 2022-05-24 |
CN114531695B true CN114531695B (zh) | 2023-11-17 |
Family
ID=81619441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011321435.8A Active CN114531695B (zh) | 2020-11-23 | 2020-11-23 | 定时器处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114531695B (zh) |
WO (1) | WO2022105912A1 (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019031751A1 (en) * | 2017-08-10 | 2019-02-14 | Lg Electronics Inc. | METHOD FOR REALIZING A PDCP ENTITY ASSOCIATED WITH A UM RLC ENTITY IN A WIRELESS COMMUNICATION SYSTEM, AND DEVICE THEREOF |
CN111756485A (zh) * | 2019-03-27 | 2020-10-09 | 华为技术有限公司 | 一种控制定时器、数据包处理方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10027593B2 (en) * | 2014-01-28 | 2018-07-17 | Mediatek Singapore Pte. Ltd. | Methods for re-order PDCP packets |
-
2020
- 2020-11-23 CN CN202011321435.8A patent/CN114531695B/zh active Active
-
2021
- 2021-11-22 WO PCT/CN2021/132067 patent/WO2022105912A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019031751A1 (en) * | 2017-08-10 | 2019-02-14 | Lg Electronics Inc. | METHOD FOR REALIZING A PDCP ENTITY ASSOCIATED WITH A UM RLC ENTITY IN A WIRELESS COMMUNICATION SYSTEM, AND DEVICE THEREOF |
CN111756485A (zh) * | 2019-03-27 | 2020-10-09 | 华为技术有限公司 | 一种控制定时器、数据包处理方法及设备 |
Non-Patent Citations (1)
Title |
---|
Behaviour of t-Reordering for SRB and AM DRB during PDCP re-establishment;HUAWEI 等;3GPP TSG-RAN WG2 #100 R2-1712902;第2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN114531695A (zh) | 2022-05-24 |
WO2022105912A1 (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11071158B2 (en) | Communication method, communications device, and communications system thereof | |
EP2605556B1 (en) | Fast resuming a suspended packet connection | |
CN111818630B (zh) | 状态变量维护方法、装置及用户设备 | |
CN111294153B (zh) | 传输数据的方法和设备 | |
CN109474651B (zh) | 处理数据的方法和设备 | |
US11627190B2 (en) | Timer control method, data packet processing method, and device | |
WO2022078517A1 (zh) | 数据传输方法、设备和存储介质 | |
WO2020221247A1 (zh) | 一种发送、接收反馈信息的方法及设备 | |
WO2018228193A1 (zh) | 一种业务数据单元分段处理方法和数据接收端 | |
CN114157723B (zh) | 一种通信方法及装置 | |
CN114531695B (zh) | 定时器处理方法和装置 | |
CN111132186B (zh) | 一种重置mac层、数据传输方法及装置 | |
US20220086662A1 (en) | Wireless communication method and device | |
WO2021027854A1 (zh) | 一种通信方法及设备 | |
US20240244006A1 (en) | Data processing method and apparatus, and terminal | |
US20230328825A1 (en) | Configuration reset method and apparatus, and terminal device | |
CN115277608B (zh) | 无线通信的方法及设备 | |
WO2023005149A1 (zh) | 数据传输方法、装置、终端及存储介质 | |
US20240224038A1 (en) | Indication Method for Status Variable of Multicast Service and Device | |
CN110730467A (zh) | 数据传输方法及数据接收设备 | |
WO2023216258A1 (en) | Methods and apparatuses for a pdcp sdu reception handling operation | |
WO2024065674A1 (zh) | 通信方法、装置、设备、存储介质、芯片、产品及程序 | |
CN115913474A (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
JP3959069B2 (ja) | 移動機、及び通信制御方法 | |
CN115914000A (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 |