CN113840342B - 数据前转、重传方法及装置 - Google Patents
数据前转、重传方法及装置 Download PDFInfo
- Publication number
- CN113840342B CN113840342B CN202010589873.6A CN202010589873A CN113840342B CN 113840342 B CN113840342 B CN 113840342B CN 202010589873 A CN202010589873 A CN 202010589873A CN 113840342 B CN113840342 B CN 113840342B
- Authority
- CN
- China
- Prior art keywords
- data packet
- target
- thread
- forwarding
- data
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0011—Control or signalling for completing the hand-off for data sessions of end-to-end connection
- H04W36/0033—Control or signalling for completing the hand-off for data sessions of end-to-end connection with transfer of context information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1806—Go-back-N protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/02—Buffering or recovering information during reselection ; Modification of the traffic flow during hand-off
- H04W36/023—Buffering or recovering information during reselection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/08—Reselecting an access point
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供了一种数据前转、重传方法及装置,涉及移动通信技术领域,解决了现有技术中,5G NR系统中,基站处理前传数据包的过程,影响数据传输速率问题。所述方法包括:接收指示删除缓存数据包的指示信息,确定目标线程;前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包,在需要前转缓存队列中的缓存数据包时,仅前转目标数据包,缩短前转时长,减少切换时延,提升传输速率。
Description
技术领域
本申请涉及移动通信技术领域,尤其涉及一种数据前转、重传方法及装置。
背景技术
在无线通信系统中,数据汇聚(Packet Data Convergence Protocol,PDCP)协议层执行缓存队列机制,将处理后的协议数据单元(Protocol Data Unit,PDU)发给无线链路层控制协议(Radio Link Control,RLC)后,PDCP协议层将缓存已发送的PDU。在第五代移动通信技术的新空口技术(5th Generation New Radio,5G NR)系统中,由于频谱较高,下载速率高,PDCP PDU的SN尺寸扩大,PDCP协议处理后待介质访问控制层(Media AccessControl,MAC)调度的PDU,以及待用户终端(User Equipment,UE)确认成功接收的PDU的缓存队列长度扩大等原因,可导致PDCP协议层队列满载或者缓存不足的情况发生;在发生基站切换时,缓存队列中的PDU需要由源基站前转到目标基站以支持无损切换,若发生DCP协议层队列满载或者缓存不足,则将影响切换后的下载速率,导致下载速率陡降。具体地,当PDCP协议层队列过满时,前转操作需要较长时间,引起切换时延增大,导致新数据包无法及时下发;当PDCP协议层缓存不足时,数据包被丢弃将导致有损切换;因此,上述两种情况都会影响切换后的数据传输速率。
在源基站侧缓存PDCP PDU时,若基站内存受限,例如4G基站软件升级改造为5G基站,或者双链接状态支持5G PDCP协议的4G基站,此时源基站无法缓存过多的PDU,只能对后续的PDU进行随机丢弃,因此,在发生源基站切换时,前转数据包不能完整地前转到目标基站侧,导致多数线程由于丢包影响速率。或者,即使源基站内存不受限时,但存储空间小于(218-1)个PDU时,由于过多的缓存,当存在切换在Xn接口前转数据包时,前转完成需要的时间较长;若业务面切换不能及时完成,目标侧基站收到核心网的新数据包时,目标侧基站将无法再接收前转数据包,因此即使空口资源充足情况下,被丢弃的数据包也无法被调度下发,需要触发核心网重传,导致速率陡降。
比如,UE接入源基站,收到数据包a1、b2、b3、b4、a5、b6、a7以及b8,其中数字编号为PDCP SN序号,字母编号(a和b)表示不同线程。若这些数据包已经被发送至UE,待UE确认接收,并且源基站侧PDCP缓存大小只够存储5个PDU;此时,PDCP缓存队列中缓存a1、b2、b3、b4以及a5,而b6、a7、b8不缓存被丢弃。此时,发生基站切换,在切换过程中又从核心网收到新数据包a9以及b10。源基站前转a1、b2、b3、b4、a5包到目标基站,UE接入到目标基站后,目标基站继续发送a1、b2、b3、b4、a5、a9以及b10给UE;但此时b6、a7以及b8已经在源基站被丢弃,如果UE没有收到b6、a7以及b8,此时目标基站也无法前转b6、a7以及b8数据包,因而无法重发给UE。只能通过UE在收到a9和b10后,向传输控制协议(Transmission ControlProtocol,TCP)层反馈未收到,触发核心网重传,从而导致速率陡降。
发明内容
本申请实施例提供一种数据前转、重传方法及装置,以解决现有技术中,5G NR系统中,基站处理前传数据包的过程,影响数据传输速率问题。
一方面,本申请实施例提供了一种数据前转方法,所述方法包括:
接收指示删除缓存数据包的指示信息,确定目标线程;
前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;
其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包。
另一方面,本申请实施例提供了一种数据重传方法,所述方法包括:
接收第一接入网设备前转的目标线程的目标数据包;其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包;
根据所述目标数据包,向核心网发送重传请求,执行数据包重传。
另一方面,本申请实施例还提供一种数据前转装置,所述装置包括:
信息接收模块,用于接收指示删除缓存数据包的指示信息,确定目标线程;
前转执行模块,用于前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;
其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包。
另一方面,本申请实施例还提供一种数据重传装置,所述装置包括:
数据包接收模块,用于接收第一接入网设备前转的目标线程的目标数据包;其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包;
重传模块,用于根据所述目标数据包,向核心网发送重传请求,执行数据包重传。
又一方面,本申请实施例还提供一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法中的步骤。
再一方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法中的步骤。
在本申请实施例中在接收指示删除缓存数据包的指示信息时,确定目标线程;前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;第一数据包包括上行尾数据包,第二数据包包括下行首数据包以及下行尾数据包,在需要前转缓存队列中的缓存数据包时,仅前转目标数据包,缩短前转时长,减少切换时延,提升传输速率;同时有选择性地删除目标线程的非目标数据包,避免出现源基站内存不足或缓存列队过满的情况,保障传输速率,同时降低所影响的线程数量。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据前转方法的步骤流程图;
图2为本申请实施例的第一示例的步骤流程图;
图3为本申请实施例提供的数据重传方法的步骤流程图;
图4为本申请实施例提供的数据前转装置的结构框图;
图5为本申请实施例提供的数据重传装置的结构框图;
图6为本申请实施例提供的电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本申请的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
5G NR无线接入网由一个或多个基站(gNB)组成,gNB之间可以通过Xn接口连接。UE可在gNB之间进行切换,且协议要求切换为无损切换。无损切换发生时,源基站先前转已发送队列中携带SN的PDU到目标基站侧,再前转从核心网收到的新的数据包,直至收到核心网的结束包(endmark),此时表示核心网已经开始发新数据到目标基站,切换流程结束。
在无损切换的模式下,对于下行数据,源基站(gNB)将尚未进行传输的PDCP SDU,以及经S1接口转发下来,尚未进行PDCP处理的下行数据,转发给目标gNB。而已经完成PDCPSDU传输的下行数据,则无需转发给目标gNB。目标gNB侧,会将PDCP的SN和超帧号(HyperFrame Number,HFN)重新置为零。同时,目标gNB在传输经由S1接口的下行数据之前,会优先传输源gNB通过X2接口转发过来的下行数据。
对于上行的PDCP SDU数据,同样,对于已经在源gNB中完成传输的数据,UE不会在目标gNB中重新发送。相反,在目标gNB中,UE将传输那些尚未在源gNB中传输的PDCP SDU数据。
如图1所示,本申请实施例提供了一种数据前转方法,所述方法可应用于接入网设备,所述接入网可以是基站(Base Station,BS),所述基站是一种部署在接入网中用以为UE提供无线通信功能的装置。所述基站可以包括各种形式的宏基站,微基站,中继站,接入点等等。在采用不同的无线接入技术的系统中,具备基站功能的设备的名称可能会有所不同,例如在5G NR系统中,称为gNodeB或者gNB。随着通信技术的演进,“基站”这一名称可能会变化。为方便描述,本申请实施例中,上述为UE提供无线通信功能的装置统称为接入网设备。
所述方法包括:
步骤101,接收指示删除缓存数据包的指示信息,确定目标线程。
可选地,本实施例应用于第一接入网设备,即UE在执行基站切换过程中的源基站,后文称为源基站。在源基站执行缓存队列机制时,将处理后的PDU发给RLC后,PDCP协议层将缓存已发送的PDU。如果接收到RLC层传递成功的确认消息,PDCP协议层再删除缓存的PDU。缓存的目的是在发生基站切换时,源基站可以将缓存的PDCP PDU发送给目标基站用于重发。缓存的PDCP PDU包括两类:一类是已发给UE但未收到UE确认消息的PDU,一类是待MAC调度的经协议处理过的PDU。PDCP协议层将此两类PDU存储在其已发送队列中。这两类PDU协议头中携带的序列号(Serial Number,SN)用于接收方按序接收和排除重复。依据3GPP TS38.323V15.4.0章节6.2中的规定,数据PDU格式中PDCP SN的大小可以为12位或18位,协议中记为pdcp-SN-Size,因而PDCP的已发送队列长度最大为2[pdcp-SN-Size]-1。
而若发生源基站内存不足的情况,或者源基站缓存队列中的缓存数据包数量过多的情况下,源基站接收相应的指示信息,会删除(即丢弃)已经缓存的数据包。
目标线程为被删除缓存数据包的线程,源基站在接收到所述指示信息时,选择目标线程,删除该目标线程的数据包。
步骤102,前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;
其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包。
选择目标线程后,源基站进一步选择目标线程的目标数据包,源基站首先删除目标线程的非目标数据包,即丢弃非目标数据包;并对目标数据包进行前转操作,转发至第二接入网设备,第二接入网设备即UE在执行基站切换过程中的目标基站,即切换后的基站,后文称为目标基站。
具体地,若目标线程为上行传输线程,目标数据包为根据递交至核心网的次序确定上行尾数据包;由于上行尾数据包中携带有UE所接收的下行数据包的序列号,在源基站执行前转时,优先前转上行尾数据包,以便告知目标基站UE所接收的下行数据包的序列号,便于在执行重传时,根据该下行数据包的序列号确定重传的起点序列号。
若目标线程为下行传输线程,则目标数据包为根据SN确定的首数据包以及尾数据包。在执行前转操作时,源基站保留目标线程的首尾数据包,使得目标基站在接收到前转数据包时,根据前转数据包中的首尾数据包确定源基站所删除的数据包,即首尾数据包之间的数据包,目标基站可根据源基站所删除的数据包请求核心网或者UE执行重传操作。这样,仅前转目标线程的目标数据包,缩短前转时长,在缓存数据包数量较多的情况下,通过减少前转数据包的数量,降低出现前转不及时的情况的概率。
同时,为了避免源基站内存不足或者缓存队列过满的情况,源基站删除目标线程的非目标数据包,在删除过程中,以目标线程为单位,完整删除一个目标线程的所有非目标数据包之后,才删除下一个线程的非目标数据包;比如,非目标数据包包括:a1、b2、b3、b4、a5、b6、a7,则源基站再删除过程中,按照如下顺序删除:a1、a5、a7、b2、b3、b4、b6;这样,比如在删除到a7时,源基站内存已充足,或缓存队列数据不再过多,则此时可以不删除线程b的数据包,这样,被丢弃的数据包仅有线程a的数据包,影响的仅是线程a,线程b的数据包未被丢弃,将正常前转至目标基站。这样,源基站在删除缓存数据包时,可有针对性的删除一个线程的完整非目标数据包之后,再删除下一个线程的非目标数据包,以减少所影响的线程。
这样,在源基站出现缓存不足或者缓存队列过满时,通过选择性丢数据包的方式,在基站切换发生时,减少源基站和目标基站间的前转链路上需要前转的数据包数量,同时及时从核心网获取需要的数据包,从而最大限度保障无损切换。
本申请实施例中,在接收指示删除缓存数据包的指示信息时,确定目标线程;前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;第一数据包包括上行尾数据包,第二数据包包括下行首数据包以及下行尾数据包,在需要前转缓存队列中的缓存数据包时,仅前转目标数据包,缩短前转时长,减少切换时延,提升传输速率;同时有选择性地删除目标线程的非目标数据包,避免出现源基站内存不足或缓存列队过满的情况,保障传输速率,同时降低所影响的线程数量。本申请实施例解决了现有技术中,5G NR系统中,基站处理前传数据包的过程,影响数据传输速率问题。
在一个可选实施例中,所述接收指示删除缓存数据包的指示信息,确定目标线程的步骤,包括:
接收指示删除缓存数据包的指示信息;
若所述指示信息为第一指示信息,根据第一预设规则确定目标线程;所述第一指示信息为指示第一接入网设备的缓存内存低于第一预设数值的指示信息;
若所述指示信息为第二指示信息,根据第二预设规则确定目标线程;所述第二指示信息为指示所述第一接入网设备的缓存数据包数量高于第二预设数值的指示信息。
其中,第一预设数值可以是一具体的内存参数,在源基站的内存低于第一预设数值时,源基站无法再缓存新的数据包,因此需要对已缓存的部分数据包进行删除,选择特定的线程进行缓存数据包删除。
第二预设数值为可以为缓存数据包的个数(或PDU的个数)的临界值,比如为n*(218–1),其中n为0至1之间的数值;在缓存队列过长,存在切换在Xn接口缓存数据包时,源基站执行前转将需要更多的时间,导致延长切换时延;且若业务面切换不能及时完成,目标侧基站收到核心网的新数据包时,目标侧基站将无法再接收前转数据包;因此,保持合理的缓存队列长度具有较为重要的意义。源基站在检测到缓存数据包个数超过第二预设数值时,选择特定的线程进行缓存数据包删除。
在一个可选实施例中,所述根据第一预设规则确定目标线程的步骤,包括:
确定所述第一接入网设备执行缓存的第一线程;
若所述第一线程的所述非目标数据包未删除完成,确定所述第一线程为目标线程;
若所述第一线程的所述非目标数据包已删除完成,选择所述第一接入网设备已完成缓存的第二线程为目标线程。
当源基站的缓存所使用的缓存内存不足时,源基站确定当前时刻缓存的TCP数据包对应的线程标识Threadi,优先删除该线程的非目标数据包,比如按照缓存顺序,删除掉该线程对应的最近一个缓存数据包,释放出内存缓存当前数据包。在此过程中,后续收到其它线程的数据包时,继续删除线程Threadi对应的倒数第二个缓存数据包。当Threadi对应的线程仅剩余一个PDU时,即首数据包,则选择另外一个第二线程Threadj删除对应的倒数第二个缓存数据包,从后数第二个开始删除,保留Threadj的首尾数据包,用于间重发。
可以理解的是,在删除缓存数据包的过程中,第二线程的数据可能具有多个。源基站每次选择一个第二线程,将该第二线程的所有非目标数据包删除完成之后,删除下一个第二线程,以减少受影响的线程的数量。
同时,源基站记录这些线程的标识,例如Threadi、Threadj、Threadm、Threadn等,以及被删除数据包的线程的尾数据包的SN值,以及倒数第二个缓存数据包的SN值,用于后续重传。
在一个可选实施例中,选择所述第一接入网设备已完成缓存的第三线程为目标线程。
当源基站的缓存所使用的缓存队列过长时,源基站随机选择已完成缓存的线程,可同时选择m个线程(m的数值可预先配置)的数据包作为目标线程,以减少缓存队列长度。
在一个可选实施例中,所述前转所述目标线程的目标数据包的步骤,包括:
若所述目标数据包包括所述第一数据包,前转所述第一数据包至目标基站;
若所述第一数据包前转完成,前转所述目标数据包中的其他数据包。
在执行前转时,源基站优先前转目标线程的上行尾数据包,即最后一个PDCP PDU。上行尾数据包PDU为TCP反馈包AckT,AckT报文中携带对应线程UE所接收的下行数据包的序列号,可根据该序列号确定该线程下一个预期接收的数据包信息,且AckT的通用分组无线业务隧道协议(GPRS Tunneling Protocol,GTP)的用户面隧道(GTP-U)信息头部中不携带SN信息,用于目标基站重组被替换线程需要核心网重传的报文信息。
在上行尾数据包前传完成,则前转其他目标数据包,比如下行线程的数据包。
在一个可选实施例中,所述前转所述目标线程的目标数据包的步骤,包括:若所述目标数据包包括所述第二数据包,前转所述下行首数据包至目标基站;
若所述下行首数据包前转完成,前转所述下行尾数据包。
在按SN递增前转下行数据包过程中,首先前转下行首数据包,然后前转下行尾数据包。在按SN递增前转下行数据包过程中,当前转到这些被替换线程缓存的下行首数据包时,直接开始前转对应线程最后一个缓存数据包,即下行尾数据包,其它线程的缓存数据包按照SN递增前转。
这样,在执行前转操作时,源基站保留目标线程的下行首尾数据包,使得目标基站在接收到前转数据包时,根据前转数据包中的首尾数据包确定源基站所删除的数据包,即首尾数据包之间的数据包,目标基站可根据源基站所删除的数据包请求核心网或者UE执行重传操作。
在一个可选实施例中,所述前转所述目标线程的目标数据包的步骤,包括:
向终端发送第三指示信息;所述第三指示信息用于指示所述终端将数据汇聚协议PDCP重排序定时器的定时时间设定为最小值,或指示所述终端将PDCP递交方式配置为乱序递交,指示终端将PDCP重排序定时器的定时时间设定为最小值,比如将t-Reordering设置为ms0;配置乱序递交比如将PDCP配置中out Of OrderDelivery设置为true;以使当UE收到SN不连续的PDCP PDU时,可及时递交PDU中TCP报文到核心网。
为了保证数据传输的可靠性,TCP提供了确认机制。当发送序列中某个数据包丢失时,TCP会从最后确认的数据包开始重传其之后的后续包,也可能会重传原本已经接收到的数据包,导致造成TCP的性能急剧降低。为了改善这种情况,出现了选择性确认(SelectiveAcknowledgment,SACK)机制,使TCP可只重新发送丢失的包,而无需发送后续包,并且提供相应的机制使接收方能向发送方反馈哪些数据包丢失,哪些数据包需要重发,哪些数据已经提前收到等。在TCP建立链接时,三次握手报文中,前两个报文系统数据(System Data,SYS)和同步序列编号(SYNchronize Sequence Numbers,SYN)中携带Option选项4,标识收发双方支持SACK。通常情况下,服务器是支持SACK的,UE可能存在不支持的情况,Option4和Option5信息位于TCP报文中第20个字节开始的Options位置处。具体地,在前两个报文SYN和SYN ACK中携带option选项4,标识收发双方支持SACK,Option选项格式如以下示例所示:
示例1,TCP SACK允许选项(Sack-Permitted Option):
Kind(类型):4
+---------+---------+
|Kind=4|Length=2|
+---------+---------+
该选项只允许在有SYN标志的TCP包中,也即TCP握手的前两个包中,分别表示各自是否支持SACK。当TCP接收方接收到非预期序号的数据块时,如果该块的序号小于预期的序号,说明是网络复制或重发的包,可以丢弃;如果收到的数据块序号大于预期的序号,说明中间有包被丢弃或延迟,这时会发送SACK消息通知发送方出现了网络丢包。由于SACK信息是通过TCP头部的选择option选项5提供的,受TCP头部长度的限制,SACK最多能标记4组接收不连续的数据块。
示例2:TCP SACK选项(SACK Option):
Kind:5
Length:Variable(选项长度可变,但整个TCP选项长度不超过40字节,实际最多不超过4组边界值)
+--------+--------+
|Kind=5|Length|
+--------+--------+--------+--------+
|Left Edge of 1st Block|
+--------+--------+--------+--------+
|Right Edge of 1st Block|
+--------+--------+--------+--------+
||
/.../
||
+--------+--------+--------+--------+
|Left Edge of nth Block|
+--------+--------+--------+--------+
|Right Edge of nth Block|
+--------+--------+--------+--------+
该选项参数通知发送方已经接收到并缓存的不连续的数据块,故发送方可根据此信息检查所丢失的数据块,从而重新发送相应的数据块。
其中,Left Edge of Block表示不连续块的第一个数据的序列号;
Right Edge of Block表示不连续块的最后一个数据的序列号之后的序列号。
作为第一示例,参见图2,图2示出了本申请实施例的一个应用场景,主要包括以下步骤:
步骤201,UE接入源基站。
UE接入到源基站,在无线承载(Radio Bear,RB)上承载下载业务。当TCP建链时,源基站解析TCP建链SYN请求消息:如果携带option选项4,表示支持SACK。如果没有选项4字段,则表示不支持SACK。
对于不支持SACK的情况,源基站需要修改SYN请求消息,在TCP报文头options字段位置添加option kind选择4,具体方法为解析TCP报文头,修改报文头中内容。在这个过程中,同时解析SYN请求报文中TCP头中以下参数信息:源基站IP地址(SrcIP),目标基站IP地址(DestIP),源基站端口号(SrcPort),目标基站端口号(DstPort);根据上述参数生成线程标识Threadi,具体为:
Threadi=func(SrcIP,DestIP,SrcPort,DstPort);其中,func表示建立映射关系。这样,后续可根据参数信息直接映射得到线程标识。
步骤202,源基站设置线程的SACK标识。
源基站收到核心网建链响应消息(SYN Ack),如果其中携带option选项4,设置该线程Threadi的SACK标识为支持SACK;如果不支持,设置该线程Threadi的SACK标识为不支持SACK。
步骤203,数据收发过程。
对于下行数据线程,源基站升序记录每个下行数据线程对应的SN序列。
对于上行数据线程,源基站记录各个线程标识Threadi对应的按序递交的上行数据最后一个PDCP PDU,且解析记录该报文对应的TCP报文头中Seq和AckSeq,以用于填写SACK选项中字段。
步骤204,源基站缓存内存不足,或缓存队列过长,执行数据包删除。
当源基站缓存使用的内存不足时,判断当前TCP数据包DataT对应的线程标识Threadi,此时该线程为目标线程。删除掉目标线程对应的最近一个缓存数据包,释放出内存缓存当前数据包。在此过程中,后续收到其它线程的数据包时,继续删除线程Threadi对应的倒数第二个缓存数据包。当Threadi对应的线程仅剩余一个PDU时,即首数据包,则选择另外一个第二线程Threadj删除对应的倒数第二个缓存数据包,从后数第二个开始删除,保留Threadj的首尾数据包,用于间重发。
当源基站的缓存所使用的缓存队列过长时,源基站随机选择已完成缓存的线程,可同时选择m个线程(m的数值可预先配置)的数据包作为目标线程,以减少缓存队列长度。
步骤205,执行基站切换。
源基站优先前转目标线程的最后一个PDCP PDU,这些PDU为TCP反馈包AckT,报文中携带对应线程下一个预期接收到的数据包信息且GTP-U头中不携带SN信息,用于重组被替换线程需要核心网重传的报文信息。
同时指示终端将PDCP重排序定时器的定时时间设定为最小值,或端将PDCP递交方式配置为乱序递交。
本申请实施例中,在接收指示删除缓存数据包的指示信息时,确定目标线程;前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;第一数据包包括上行尾数据包,第二数据包包括下行首数据包以及下行尾数据包,在需要前转缓存队列中的缓存数据包时,仅前转目标数据包,缩短前转时长,减少切换时延,提升传输速率;同时有选择性地删除目标线程的非目标数据包,避免出现源基站内存不足或缓存列队过满的情况,保障传输速率,同时降低所影响的线程数量。
本申请实施例还提供了一种数据重传方法,可选地,所述方法应用于第二接入网设备,所述第二接入网设备为UE进行基站切换的目标基站;如图3所示,所述方法包括以下步骤:
步骤301,接收第一接入网设备前转的目标线程的目标数据包;其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包。
在源基站执行缓存队列机制时,源基站将处理后的PDU发给RLC后,PDCP协议层将缓存已发送的PDU。如果接收到RLC层传递成功的确认消息,PDCP协议层再删除缓存的PDU。缓存的目的是在发生基站切换时,源基站可以将缓存的PDCP PDU发送给目标基站用于重发。缓存的PDCP PDU包括两类:一类是已发给UE但未收到UE确认消息的PDU,一类是待MAC调度的经协议处理过的PDU。PDCP协议层将此两类PDU存储在其已发送队列中。这两类PDU协议头中携带的序列号用于接收方按序接收和排除重复。依据3GPP TS 38.323V15.4.0章节6.2中的规定,数据PDU格式中PDCP SN的大小可以为12位或18位,协议中记为pdcp-SN-Size,因而PDCP的已发送队列长度最大为2[pdcp-SN-Size]-1。
而若发生源基站内存不足的情况,或者源基站缓存队列中的缓存数据包数量过多的情况下,源基站会删除(即丢弃)已经缓存的数据包。
第二接入网设备(后文称目标基站)接收第一接入网设备前转的目标线程的目标数据包。
步骤302,根据所述目标数据包,向核心网发送重传请求,执行数据包重传。
目标基站根据目标数据包的序列号或者上行递交次序,确定需要重传的重传数据包。具体地,对于上行线程的目标线程,目标基站在收到上行前转的目标数据包时,解析目标数据包,如果目标数据包的GTP-U头中不携带SN信息,此时解析PDCP PDU中TCP层信息,获取上行前转数据包中对应线程Threadi最近一次的反馈序列号AckSeqm,AckSeqm为UE所接收的最后一个下行数据包的序列号。
目标基站在接收到前转数据包中的下行首尾数据包时,根据下行首尾数据包确定源基站所删除的数据包,即首尾数据包之间的数据包,目标基站根据源基站所删除的数据包请求核心网或者UE执行重传操作。
这样,源基站可仅前转目标线程的目标数据包,缩短前转时长,在缓存数据包数量较多的情况下,通过减少前转数据包的数量,降低出现前转不及时的情况的概率。
在一个可选实施例中,所述根据所述目标数据包,向核心网发送重传请求,执行数据包重传的步骤,包括以下第一步至第三步,具体地:
第一步,获取所述上行尾数据包中携带的反馈序列号,所述下行首数据包中的第一序列号以及所述下行尾数据包中的第二序列号。
第二步,根据所述反馈序列号以及所述第一序列号,确定第一重传序列号,以及根据所述第二序列号确定第二重传序列号。
其中,第一重传序列号为不连续块的第一个数据的序列号,即被丢弃的第一个数据包括的第一个数据的序列号;本申请实施例中,所述第一重传序列号为所述反馈序列号Seqm与第三序列号Seq3之间的较大值;所述第三序列号Seq3为所述第一序列号Seq1的下一个报文的序列号,即反馈序列号Seqm是UE所收到的最后一个数据包,第三序列号Seq3是核心网丢弃该线程之前前转的最后一个数据包,则二者中的最大值作为不连续块的第一个数据的序列号,避免源基站重复前转UE已经接收的数据包。
用AckSeq L表示第一重传序列号,则AckSeq L=max{AckSeqm,Seq1+对应报文的长度+1}。
所述第二重传序列号为所述第二序列号的下一个报文的序列号,用AckSeq R表示第二重传序列号,则AckSeq R=Seq2+对应报文的长度+1,AckSeq R即第二序列号的下一个报文的序列号,第二重传序列号表示被丢弃的最后一个数据的序列号之后的序列号。
第三步,将所述第一重传序列号以及所述第二重传序列号携带在重传请求中,将所述重传请求发送至所述核心网,并接收所述核心网下发的重传数据包;所述重传数据包为序列号在所述第一重传序列号与所述第二重传序列号之间的数据包。
确定第一重传序列号以及第二重传序列号后,触发核心网重传,将所述第一重传序列号以及所述第二重传序列号携带在重传请求中,将所述重传请求发送至核心网,并接收核心网下发的重传数据包;重传数据包为序列号在所述第一重传序列号与所述第二重传序列号之间的数据包。
本申请实施例中,接收第一接入网设备前转的目标线程的目标数据包,根据所述目标数据包,向核心网发送重传请求,执行数据包重传;所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;第一数据包包括上行尾数据包,第二数据包包括下行首数据包以及下行尾数据包,这样,基于第二接入网设备接收目标数据包并执行数据包重传,可实现在源基站需要前转缓存队列中的缓存数据包时,可以仅前转目标数据包,缩短前转时长,减少切换时延,提升传输速率;同时有选择性地删除目标线程的非目标数据包,避免出现源基站内存不足或缓存列队过满的情况,保障传输速率,同时降低所影响的线程数量。
以上介绍了本申请实施例提供的方法,下面将结合附图介绍本申请实施例提供的装置。
参见图4,本申请实施例还提供了一种数据前转装置,所述装置包括:
信息接收模块401,用于接收指示删除缓存数据包的指示信息,确定目标线程。
可选地,本实施例应用于第一接入网设备,即UE在执行基站切换过程中的源基站,后文称为源基站。在源基站执行缓存队列机制时,将处理后的PDU发给RLC后,PDCP协议层将缓存已发送的PDU。如果接收到RLC层传递成功的确认消息,PDCP协议层再删除缓存的PDU。缓存的目的是在发生基站切换时,源基站可以将缓存的PDCP PDU发送给目标基站用于重发。缓存的PDCP PDU包括两类:一类是已发给UE但未收到UE确认消息的PDU,一类是待MAC调度的经协议处理过的PDU。PDCP协议层将此两类PDU存储在其已发送队列中。这两类PDU协议头中携带的序列号(Serial Number,SN)用于接收方按序接收和排除重复。依据3GPP TS38.323V15.4.0章节6.2中的规定,数据PDU格式中PDCP SN的大小可以为12位或18位,协议中记为pdcp-SN-Size,因而PDCP的已发送队列长度最大为2[pdcp-SN-Size]-1。
而若发生源基站内存不足的情况,或者源基站缓存队列中的缓存数据包数量过多的情况下,源基站接收相应的指示信息,会删除(即丢弃)已经缓存的数据包。
目标线程为被删除缓存数据包的线程,源基站在接收到所述指示信息时,选择目标线程,删除该目标线程的数据包。
前转执行模块402,用于前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;
其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包。
选择目标线程后,源基站进一步选择目标线程的目标数据包,源基站首先删除目标线程的非目标数据包,即丢弃非目标数据包;并对目标数据包进行前转操作,转发至第二接入网设备,第二接入网设备即UE在执行基站切换过程中的目标基站,即切换后的基站,后文称为目标基站。
具体地,若目标线程为上行传输线程,目标数据包为根据递交至核心网的次序确定首数据包和尾数据包;若目标线程为下行传输线程,则目标数据包为根据SN确定的首数据包。在执行前转操作时,源基站保留目标线程的首尾数据包,使得目标基站在接收到前转数据包时,根据前转数据包中的首尾数据包确定源基站所删除的数据包,即首尾数据包之间的数据包,源基站可根据源基站所删除的数据包请求核心网或者UE执行重传操作。这样,仅前转目标线程的目标数据包,缩短前转时长,在缓存数据包数量较多的情况下,通过减少前转数据包的数量,降低出现前转不及时的情况的概率。
同时,为了避免源基站内存不足或者缓存队列过满的情况,源基站删除目标线程的非目标数据包,在删除过程中,以目标线程为单位,完整删除一个目标线程的所有非目标数据包之后,才删除下一个线程的非目标数据包;比如,非目标数据包包括:a1、b2、b3、b4、a5、b6、a7,则源基站再删除过程中,按照如下顺序删除:a1、a5、a7、b2、b3、b4、b6;这样,比如在删除到a7时,源基站内存已充足,或缓存队列数据不再过多,则此时可以不删除线程b的数据包,这样,被丢弃的数据包仅有线程a的数据包,影响的仅是线程a,线程b的数据包未被丢弃,将正常前转至目标基站。这样,源基站在删除缓存数据包时,可有针对性的删除一个线程的完整非目标数据包之后,再删除下一个线程的非目标数据包,以减少所影响的线程。
这样,在源基站出现缓存不足或者缓存队列过满时,通过选择性丢数据包的方式,在基站切换发生时,减少源基站和目标基站间的前转链路上需要前转的数据包数量,同时及时从核心网获取需要的数据包,从而最大限度保障无损切换。
在一个可选实施例中,所述信息接收模块401包括:
接收子模块,用于接收指示删除缓存数据包的指示信息;
第一确定子模块,用于若所述指示信息为第一指示信息,根据第一预设规则确定目标线程;所述第一指示信息为指示第一接入网设备的缓存内存低于第一预设数值的指示信息;
第二确定子模块,用于若所述指示信息为第二指示信息,根据第二预设规则确定目标线程;所述第二指示信息为指示所述第一接入网设备的缓存数据包数量高于第二预设数值的指示信息。
在一个可选实施例中,所述第一确定子模块用于:
确定所述第一接入网设备执行缓存的第一线程;
若所述第一线程的所述非目标数据包未删除完成,确定所述第一线程为目标线程;
若所述第一线程的所述非目标数据包已删除完成,选择所述第一接入网设备已完成缓存的第二线程为目标线程。
在一个可选实施例中,所述第二确定子模块用于:
选择所述第一接入网设备已完成缓存的第三线程为目标线程。
在一个可选实施例中,所述前转执行模块402包括:
第一前转子模块,用于若所述目标数据包包括所述第一数据包,前转所述第一数据包至目标基站;
第二前转子模块,用于若所述第一数据包前转完成,前转所述目标数据包中的其他数据包。
在一个可选实施例中,所述前转执行模块402包括:
第三前转子模块,用于若所述目标数据包包括所述第二数据包,前转所述下行首数据包至目标基站;
第四前转子模块,用于若所述下行首数据包前转完成,前转所述下行尾数据包。
在一个可选实施例中,所述前转执行模块402包括:
指示子模块,用于向终端发送第三指示信息;所述第三指示信息用于指示所述终端将数据汇聚协议PDCP重排序定时器的定时时间设定为最小值,或指示所述终端将PDCP递交方式配置为乱序递交。
本申请实施例提供的数据前转装置能够实现图1至图2的方法实施例中源基站侧实现的各个过程,为避免重复,这里不再赘述。
本申请实施例中,信息接收模块401在接收指示删除缓存数据包的指示信息时,确定目标线程;前转执行模块402前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;第一数据包包括上行尾数据包,第二数据包包括下行首数据包以及下行尾数据包,在需要前转缓存队列中的缓存数据包时,仅前转目标数据包,缩短前转时长,减少切换时延,提升传输速率;同时有选择性地删除目标线程的非目标数据包,避免出现源基站内存不足或缓存列队过满的情况,保障传输速率,同时降低所影响的线程数量。
参见图5,本申请实施例还提供了一种数据前转装置,所述装置包括:
数据包接收模块501,用于接收第一接入网设备前转的目标线程的目标数据包;其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包。
在源基站执行缓存队列机制时,源基站将处理后的PDU发给RLC后,PDCP协议层将缓存已发送的PDU。如果接收到RLC层传递成功的确认消息,PDCP协议层再删除缓存的PDU。缓存的目的是在发生基站切换时,源基站可以将缓存的PDCP PDU发送给目标基站用于重发。缓存的PDCP PDU包括两类:一类是已发给UE但未收到UE确认消息的PDU,一类是待MAC调度的经协议处理过的PDU。PDCP协议层将此两类PDU存储在其已发送队列中。这两类PDU协议头中携带的序列号用于接收方按序接收和排除重复。依据3GPP TS 38.323V15.4.0章节6.2中的规定,数据PDU格式中PDCP SN的大小可以为12位或18位,协议中记为pdcp-SN-Size,因而PDCP的已发送队列长度最大为2[pdcp-SN-Size]-1。
而若发生源基站内存不足的情况,或者源基站缓存队列中的缓存数据包数量过多的情况下,源基站会删除(即丢弃)已经缓存的数据包。
第二接入网设备(后文称目标基站)接收第一接入网设备前转的目标线程的目标数据包。
重传模块502,用于根据所述目标数据包,向核心网发送重传请求,执行数据包重传。
目标基站根据目标数据包的序列号或者上行递交次序,确定需要重传的重传数据包。具体地,对于上行线程的目标线程,目标基站在收到上行前转的目标数据包时,解析目标数据包,如果目标数据包的GTP-U头中不携带SN信息,此时解析PDCP PDU中TCP层信息,获取上行前转数据包中对应线程Threadi最近一次的反馈序列号AckSeqm,AckSeqm为UE所接收的最后一个下行数据包的序列号。
目标基站在接收到前转数据包中的下行首尾数据包时,根据下行首尾数据包确定源基站所删除的数据包,即首尾数据包之间的数据包,目标基站根据源基站所删除的数据包请求核心网或者UE执行重传操作。
这样,源基站可仅前转目标线程的目标数据包,缩短前转时长,在缓存数据包数量较多的情况下,通过减少前转数据包的数量,降低出现前转不及时的情况的概率。
在一个可选实施例中,所述重传模块502包括:
获取子模块,用于获取所述上行尾数据包中携带的反馈序列号,所述下行首数据包中的第一序列号以及所述下行尾数据包中的第二序列号;
第二确定子模块,用于根据所述反馈序列号以及所述第一序列号,确定第一重传序列号,以及根据所述第二序列号确定第二重传序列号;
重传子模块,用于将所述第一重传序列号以及所述第二重传序列号携带在重传请求中,将所述重传请求发送至所述核心网,并接收所述核心网下发的重传数据包;所述重传数据包为序列号在所述第一重传序列号与所述第二重传序列号之间的数据包。
在一个可选实施例中,所述第一重传序列号为所述反馈序列号与第三序列号之间的较大值;所述第三序列号为所述第一序列号的下一个报文的序列号;
所述第二重传序列号为所述第二序列号的下一个报文的序列号。
本申请实施例提供的数据前转装置能够实现图3的方法实施例中目标基站侧实现的各个过程,为避免重复,这里不再赘述。
本申请的实施例中,数据包接收模块501接收第一接入网设备前转的目标线程的目标数据包,重传模块502根据所述目标数据包,向核心网发送重传请求,执行数据包重传;所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;第一数据包包括上行尾数据包,第二数据包包括下行首数据包以及下行尾数据包,这样,基于第二接入网设备接收目标数据包并执行数据包重传,可实现在源基站需要前转缓存队列中的缓存数据包时,可以仅前转目标数据包,缩短前转时长,减少切换时延,提升传输速率;同时有选择性地删除目标线程的非目标数据包,避免出现源基站内存不足或缓存列队过满的情况,保障传输速率,同时降低所影响的线程数量。
另一方面,本申请实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
举个例子如下,图6示出了一种电子设备的实体结构示意图。
如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行如下方法:
接收指示删除缓存数据包的指示信息,确定目标线程;
前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;
其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包。
或
接收第一接入网设备前转的目标线程的目标数据包;其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包;
根据所述目标数据包,向核心网发送重传请求,执行数据包重传。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:
接收指示删除缓存数据包的指示信息,确定目标线程;
前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;
其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包。
或
接收第一接入网设备前转的目标线程的目标数据包;其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包;
根据所述目标数据包,向核心网发送重传请求,执行数据包重传。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (18)
1.一种数据前转方法,其特征在于,所述方法包括:
接收指示删除缓存数据包的指示信息,确定目标线程;
前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;
其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包。
2.根据权利要求1所述的数据前转方法,其特征在于,所述接收指示删除缓存数据包的指示信息,确定目标线程的步骤,包括:
接收指示删除缓存数据包的指示信息;
若所述指示信息为第一指示信息,根据第一预设规则确定目标线程;所述第一指示信息为指示第一接入网设备的缓存内存低于第一预设数值的指示信息;
若所述指示信息为第二指示信息,根据第二预设规则确定目标线程;所述第二指示信息为指示所述第一接入网设备的缓存数据包数量高于第二预设数值的指示信息。
3.根据权利要求2所述的数据前转方法,其特征在于,所述根据第一预设规则确定目标线程的步骤,包括:
确定所述第一接入网设备执行缓存的第一线程;
若所述第一线程的所述非目标数据包未删除完成,确定所述第一线程为目标线程;
若所述第一线程的所述非目标数据包已删除完成,选择所述第一接入网设备已完成缓存的第二线程为目标线程。
4.根据权利要求2所述的数据前转方法,其特征在于,所述根据第二预设规则确定目标线程的步骤,包括:
选择所述第一接入网设备已完成缓存的第三线程为目标线程。
5.根据权利要求1所述的数据前转方法,其特征在于,所述前转所述目标线程的目标数据包的步骤,包括:
若所述目标数据包包括所述第一数据包,前转所述第一数据包至目标基站;
若所述第一数据包前转完成,前转所述目标数据包中的其他数据包。
6.根据权利要求1所述的数据前转方法,其特征在于,所述前转所述目标线程的目标数据包的步骤,包括:
若所述目标数据包包括所述第二数据包,前转所述下行首数据包至目标基站;
若所述下行首数据包前转完成,前转所述下行尾数据包。
7.根据权利要求1所述的数据前转方法,其特征在于,所述前转所述目标线程的目标数据包的步骤,包括:
向终端发送第三指示信息;所述第三指示信息用于指示所述终端将数据汇聚协议PDCP重排序定时器的定时时间设定为最小值,或指示所述终端将PDCP递交方式配置为乱序递交。
8.一种数据重传方法,其特征在于,所述方法包括:
接收第一接入网设备前转的目标线程的目标数据包;其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包;
根据所述目标数据包,向核心网发送重传请求,执行数据包重传,包括:
获取所述上行尾数据包中携带的反馈序列号,所述下行首数据包中的第一序列号以及所述下行尾数据包中的第二序列号;
根据所述反馈序列号以及所述第一序列号,确定第一重传序列号,以及根据所述第二序列号确定第二重传序列号;其中,所述第一重传序列号为所述反馈序列号与第三序列号之间的较大值,所述第三序列号为所述第一序列号的下一个报文的序列号;所述第二重传序列号为所述第二序列号的下一个报文的序列号;
将所述第一重传序列号以及所述第二重传序列号携带在重传请求中,将所述重传请求发送至所述核心网,并接收所述核心网下发的重传数据包;所述重传数据包为序列号在所述第一重传序列号与所述第二重传序列号之间的数据包。
9.一种数据前转装置,其特征在于,所述装置包括:
信息接收模块,用于接收指示删除缓存数据包的指示信息,确定目标线程;
前转执行模块,用于前转所述目标线程的目标数据包,删除所述目标线程的非目标数据包;
其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包中的至少一种;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包。
10.根据权利要求9所述的数据前转装置,其特征在于,所述信息接收模块包括:
接收子模块,用于接收指示删除缓存数据包的指示信息;
第一确定子模块,用于若所述指示信息为第一指示信息,根据第一预设规则确定目标线程;所述第一指示信息为指示第一接入网设备的缓存内存低于第一预设数值的指示信息;
第二确定子模块,用于若所述指示信息为第二指示信息,根据第二预设规则确定目标线程;所述第二指示信息为指示所述第一接入网设备的缓存数据包数量高于第二预设数值的指示信息。
11.根据权利要求10所述的数据前转装置,其特征在于,所述第一确定子模块用于:
确定所述第一接入网设备执行缓存的第一线程;
若所述第一线程的所述非目标数据包未删除完成,确定所述第一线程为目标线程;
若所述第一线程的所述非目标数据包已删除完成,选择所述第一接入网设备已完成缓存的第二线程为目标线程。
12.根据权利要求10所述的数据前转装置,其特征在于,所述第二确定子模块用于:
选择所述第一接入网设备已完成缓存的第三线程为目标线程。
13.根据权利要求9所述的数据前转装置,其特征在于,所述前转执行模块包括:
第一前转子模块,用于若所述目标数据包包括所述第一数据包,前转所述第一数据包至目标基站;
第二前转子模块,用于若所述第一数据包前转完成,前转所述目标数据包中的其他数据包。
14.根据权利要求9所述的数据前转装置,其特征在于,所述前转执行模块包括:
第三前转子模块,用于若所述目标数据包包括所述第二数据包,前转所述下行首数据包至目标基站;
第四前转子模块,用于若所述下行首数据包前转完成,前转所述下行尾数据包。
15.根据权利要求9所述的数据前转装置,其特征在于,所述前转执行模块包括:
指示子模块,用于向终端发送第三指示信息;所述第三指示信息用于指示所述终端将数据汇聚协议PDCP重排序定时器的定时时间设定为最小值,或指示所述终端将PDCP递交方式配置为乱序递交。
16.一种数据重传装置,其特征在于,所述装置包括:
数据包接收模块,用于接收第一接入网设备前转的目标线程的目标数据包;其中,所述目标数据包包括所述目标线程的数据包中的第一数据包和第二数据包;所述第一数据包包括:根据上行递交次序排列的上行尾数据包;所述第二数据包包括:根据序列号排列的下行首数据包以及下行尾数据包;
重传模块,用于根据所述目标数据包,向核心网发送重传请求,执行数据包重传,包括:
获取子模块,用于获取所述上行尾数据包中携带的反馈序列号,所述下行首数据包中的第一序列号以及所述下行尾数据包中的第二序列号;
第二确定子模块,用于根据所述反馈序列号以及所述第一序列号,确定第一重传序列号,以及根据所述第二序列号确定第二重传序列号;其中,所述第一重传序列号为所述反馈序列号与第三序列号之间的较大值,所述第三序列号为所述第一序列号的下一个报文的序列号;所述第二重传序列号为所述第二序列号的下一个报文的序列号;
重传子模块,用于将所述第一重传序列号以及所述第二重传序列号携带在重传请求中,将所述重传请求发送至所述核心网,并接收所述核心网下发的重传数据包;所述重传数据包为序列号在所述第一重传序列号与所述第二重传序列号之间的数据包。
17.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的方法的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010589873.6A CN113840342B (zh) | 2020-06-24 | 2020-06-24 | 数据前转、重传方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010589873.6A CN113840342B (zh) | 2020-06-24 | 2020-06-24 | 数据前转、重传方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113840342A CN113840342A (zh) | 2021-12-24 |
CN113840342B true CN113840342B (zh) | 2023-02-03 |
Family
ID=78964620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010589873.6A Active CN113840342B (zh) | 2020-06-24 | 2020-06-24 | 数据前转、重传方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113840342B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915382B (zh) * | 2022-05-16 | 2024-03-22 | 南京航空航天大学 | 一种agv无线通信掉线重传及数据粘包处理方法 |
CN116193508B (zh) * | 2023-04-28 | 2023-06-27 | 河北远东通信系统工程有限公司 | 一种核心网用户面数据的多线程加速处理控制方法 |
CN117956530A (zh) * | 2024-03-27 | 2024-04-30 | 四川创智联恒科技有限公司 | 一种提高在切换过程中数据传输可靠性的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047953A (zh) * | 2006-03-30 | 2007-10-03 | 华为技术有限公司 | 一种对自动重传请求数据进行处理的方法 |
CN101572922A (zh) * | 2008-04-28 | 2009-11-04 | 大唐移动通信设备有限公司 | 切换过程中用户平面处理方法及设备 |
CN101998546A (zh) * | 2009-08-17 | 2011-03-30 | 大唐移动通信设备有限公司 | 一种实现用户终端切换过程中数据前转的方法、系统及装置 |
CN102348242A (zh) * | 2011-09-26 | 2012-02-08 | 电信科学技术研究院 | 一种前转数据的处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101344400B1 (ko) * | 2007-11-29 | 2014-02-17 | 삼성전자 주식회사 | 기지국간 핸드오버시의 패킷 포워딩 방법 |
CN101998547B (zh) * | 2009-08-18 | 2013-08-07 | 华为技术有限公司 | 数据前转方法、基站和中继站 |
CN103888215B (zh) * | 2012-12-21 | 2017-11-28 | 华为技术有限公司 | 数据传输方法、装置及通信系统 |
-
2020
- 2020-06-24 CN CN202010589873.6A patent/CN113840342B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047953A (zh) * | 2006-03-30 | 2007-10-03 | 华为技术有限公司 | 一种对自动重传请求数据进行处理的方法 |
CN101572922A (zh) * | 2008-04-28 | 2009-11-04 | 大唐移动通信设备有限公司 | 切换过程中用户平面处理方法及设备 |
CN101998546A (zh) * | 2009-08-17 | 2011-03-30 | 大唐移动通信设备有限公司 | 一种实现用户终端切换过程中数据前转的方法、系统及装置 |
CN102348242A (zh) * | 2011-09-26 | 2012-02-08 | 电信科学技术研究院 | 一种前转数据的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113840342A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9860915B2 (en) | Apparatus and method for moving a receive window in a radio access network | |
CN113840342B (zh) | 数据前转、重传方法及装置 | |
KR101211758B1 (ko) | 무선 통신 시스템의 블록 데이터 생성 방법 | |
US11672046B2 (en) | Data receiving status reporting method and apparatus | |
US8588784B2 (en) | Mobile communication system, wireless base station and hand over reconnection method for use therewith including an accumulation portion for holding data | |
US11206106B2 (en) | Data packet synchronization | |
EP1871137A2 (en) | Method and apparatus for handling status report after handover in a wireless communications system | |
KR20060090191A (ko) | 이동통신 시스템에서 재전송 제어를 위한 상태보고의요청/전송 방법 및 장치 | |
CN110868744B (zh) | 一种前转数据的处理方法和装置 | |
CN108200605B (zh) | 一种基站的数据传输方法和装置 | |
CN110730467A (zh) | 数据传输方法及数据接收设备 | |
WO2021244191A1 (zh) | 4g与5g网络互切换的实现方法、装置及存储介质 | |
CN115474169A (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 |