一种单层序列号的数据传输方法及装置
技术领域
本发明涉及无线通信技术领域,特别涉及一种单层SN的数据传输方法及装置。
背景技术
图1为现有LTE***的用户面协议栈示意图,如图所示,LTE(Long TermEvolution,长期演进)***的用户平面协议栈中,各个协议层的主要功能如下:
PDCP(Packet Data Convergence Protocol,分组数据聚合协议):
PDCP层主要功能是进行安全相关操作(加/解密、完整性保护/验证)和头压缩/解压缩处理。图2为PDCP层数据处理流程示意图,如图所示,PDCP层具体数据处理流程为:
发送PDCP实体对接收到的IP数据包处理之后会生成PDCP PDU(Protocol DataUnit,协议数据单元),图3为PDCP PDU结构示意图,如图所示,PCPC层SN(Sequence Number,序列号)包含在PDCP header(头部)中。
一般情况下RLC层向PDCP层递交的数据是按序递交的,但是对于切换的情况,允许RLC向PDCP进行非按需递交。这种情况下可以使用PDCP SN进行重排序和重复检测。
RLC(Radio Link Control,无线链路控制)层处理:
RLC层主要功能是完成数据的分段、级联和按序递交及ARQ(Automatic RepeatRequest,自动重复请求)。RLC层支持三种模式:TM(Transparent Mode,透明模式)、UM(Unacknowledged Mode,非确认模式)和AM(Acknowledged Mode,确认模式)模式。图4为RLCTM模式数据处理示意图,图5为RLC UM模式数据处理示意图,图6为RLC AM模式数据处理示意图,RLC对各种RLC模式数据的处理示意图如如图所示。
RLC层在负责对RLC data PDU进行重排序(Reordering,只适用于UM和AM模式)时,MAC(Media Access Control,媒体接入控制)层的HARQ(Hybrid Automatic RepeatRequest,混合自动重复请求)操作可能导致到达RLC层的数据是乱序的,所以需要RLC层对数据进行重排序。重排序是根据SN(Sequence Number,序列号)的先后顺序对RLC data PDU进行排序的。
对于RLC TM模式,在RLC层是透传的,不需要增加RLC header(不需要增加RLCSN)。但是对于RLC UM和AM模式,RLC层的处理方式是基于MAC层指示的调度信息,对RLC SDU(Service Data Unit,业务数据单元)(即PDCP PDU)进行分段、级联,生成RLC PDU。图7为RLC PDU生成示意图,如图所示,在对RLC SDU通过分段/级联方式生成RLC PDU的过程中,每个RLC PDU需要分配要给SN,并将该SN携带在RLC PDU header中。
MAC层处理:
MAC主要功能是基于PHY(Physical layer,物理层)的资源进行上/下行调度。对于下行调度,基站的MAC确定调度信息后需要通知RLC组织RLCPDU,然后MAC层将来自一个终端不同逻辑信道的RLC PDU进行复用成一个下行MAC PDU。对于上行调度,基站的MAC确定调度信息后会通过PDCCH(Physical downlink control channel,物理下行控制信道)指示给终端,终端通过上行逻辑信道优先级过程,组织上行MAC PDU。
PHY层:
PHY主要功能是对MAC层生成的MAC PDU进行调制编码,并通过空口发送出给通信对端。
现有技术的不足在于:目前LTE***的数据传输是基于双层SN设计的(PDCP SN和RLC SN)。在未来的无线通信***中,如果仍然维持双层SN设计,那么存在一些问题,比如标准复杂度高、PDCP/RLC操作具有一定重复性等问题。后续无线通信***发展需要考虑如何克服现有双层SN带来的问题。
发明内容
本发明提供了一种单层SN的数据传输方法及装置,用以解决目前基于双层SN设计的LTE***的数据传输中存在问题。
本发明实施例提供了一种单层SN的数据传输方法,包括:
接收高层下发的数据包;
为每一个数据包分配一个唯一的SN;
按所述唯一的SN对数据包进行传输,其中,在传输过程中根据每一个数据包的唯一的SN对该数据包进行头压缩/解压缩,以及重传处理。
较佳地,接收高层下发的数据包,是在AS层接收高层下发的数据包;
为每一个数据包分配一个唯一的SN,是在AS层为每一个数据包分配一个唯一的SN。
较佳地,为每一个数据包分配一个唯一的SN,是在接收到高层下发的数据包后分配的,或是在确定底层传输的PDU大小后以PDU为单位为数据包分配的。
较佳地,在确定底层传输的PDU大小后以PDU为单位为数据包分配的一个唯一的SN,包括:
接收高层下发的数据包后,按照先入先出方式进行缓存;
在根据下一层的调度信息确定底层传输的PDU大小并进行PDU封装时,按照先入先出原则,组织封装PDU,并为每个PDU分配SN。
较佳地,所述SN是在用户面协议栈的最高层进行维护处理的。
较佳地,所述SN是在三层用户面协议栈的层3或层2进行维护处理的,所述SN是在二层用户面协议栈的层2进行维护处理的。
较佳地,按所述的唯一的SN对数据包在进行传输时,包括:
在为每一个数据包分配一个唯一的SN后,保存数据包和SN的映射关系;
根据下一层的调度信息进行PDU封装;
发送传输封装后的PDU。
较佳地,在三层用户面协议栈中,在为每一个数据包分配一个唯一的SN后,在层3保存数据包和SN的映射关系,在层2发出调度信息。
较佳地,封装后的PDU的header包括如下信息之一或者其组合:
本PDU中包含的数据对应的SN,所述每个SN对应的数据域长度指示域、所述每个SN对应的数据在该SN对应的所有数据中的位置,以及用于指示所述SN对应的信息之后是数据还是下一个SN对应的信息;
本PDU中包含的数据对应的SN,所述每个SN对应的数据域长度指示域、所述第一个和最后一个SN对应的数据在该SN对应的所有数据中的位置,以及用于指示所述SN对应的信息之后是数据还是下一个SN对应的信息;
本PDU中包含的SN个数,本PDU包含的数据对应的第一个SN,本PDU包含的第一个和最后一个SN对应的数据在该SN对应的所有数据中的位置。
较佳地,进一步包括:
在进行传输时,若discard timer超时丢包,将丢弃的SN和/或SF+HFN通知给接收传输的一端。
较佳地,若支持ARQ,对封装后的PDU进行重分段,重分段时的RLC header包括如下信息之一或者其组合:
重分段的RLC PDU对应的SN,该重分段对应的数据域长度指示域,每个SN对应的数据在该SN对应的所有数据的位置指示信息。
较佳地,进一步包括:
在进行传输时,若discard timer超时丢包,丢弃没有分配SN的数据包。
较佳地,按所述的唯一的SN对数据包在进行接收传输时,在HARQ解复用后,将正确接收到的PDU递交到高层执行重复检测和重排序。
较佳地,在三层用户面协议栈中,在层2进行HARQ解复用,在层3执行重复检测和重排序。
较佳地,所述重复检测是基于窗口进行的重复检测,若接收的PDU中包含的SN位于窗口外或与已经接收到的PDU中包含的SN相同,则为重复数据,其中,窗口下边界为当前接收且连续的最后一个SN+1,窗口上边界为下边界+SN/2。
较佳地,所述重排序包括:
当接收到PDU时,按照SN进行排序,如果有非按序的SN,则启动重排序定时器,等待HARQ重传后再进行排序。
较佳地,若在等待HARQ重传时,重排序定时器超时后仍然未收到对应的SN,则进一步包括:
将该SN对应的数据作为丢失数据,并通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传;
或者,确定进行发送传输的一端是否是因discard timer超时而进行的丢包,若是则不通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传,若否则通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传。
较佳地,进一步包括:
在确定进行数据传输的UE发生切换时,向为切换后的UE提供服务的节点发送携带PDU下行SN发送状态和上行SN接收状态的状态报告。
较佳地,在所述三层用户面协议栈中,各个协议层按如下方式包括各功能:
层1:信道映射、调制、编码和射频传输处理,层2:调度和HARQ,层3:SN管理、安全相关、头压缩、重复检测、重排序、ARQ和包丢弃;或者,层1:信道映射、调制、编码和射频传输处理,层2:调度、HARQ、SN管理、重复检测、重排序、ARQ和包丢弃,层3:安全相关和头压缩;
或者,在所述二层用户面协议栈中,各个协议层按如下方式包括各功能:
层1:调度、HARQ信道映射、调制、编码和射频传输处理,层2:SN管理、安全相关、头压缩、重复检测、重排序、ARQ和包丢弃。
本发明实施例提供了一种单层SN的数据传输装置,包括:
接收模块,用于接收高层下发的数据包;
分配模块,用于为每一个数据包分配一个唯一的SN;
传输模块,用于按所述唯一的SN对数据包进行传输,其中,在传输过程中根据每一个数据包的唯一的SN对该数据包进行头压缩/解压缩,以及重传处理。
较佳地,接收模块进一步用于在AS层接收高层下发的数据包;
分配模块进一步用于在AS层为每一个数据包分配一个唯一的SN。
较佳地,分配模块进一步用于在接收到高层下发的数据包后为每一个数据包分配一个唯一的SN,或在确定底层传输的PDU大小后以PDU为单位为每一个数据包分配一个唯一的SN。
较佳地,分配模块进一步用于在确定底层传输的PDU大小后以PDU为单位为数据包分配的一个唯一的SN时,包括:
接收高层下发的数据包后,按照先入先出方式进行缓存;
在根据下一层的调度信息确定底层传输的PDU大小并进行PDU封装时,按照先入先出原则,组织封装PDU,并为每个PDU分配SN。
较佳地,所述SN是在用户面协议栈的最高层进行维护处理的。
较佳地,所述SN是在三层用户面协议栈的层3或层2进行维护处理的,所述SN是在二层用户面协议栈的层2进行维护处理的。
较佳地,传输模块进一步用于在按所述的唯一的SN对数据包在进行传输时,包括:
在为每一个数据包分配一个唯一的SN后,保存数据包和SN的映射关系;
根据下一层的调度信息进行PDU封装;
发送传输封装后的PDU。
较佳地,传输模块进一步用于在三层用户面协议栈中,在为每一个数据包分配一个唯一的SN后,在层3保存数据包和SN的映射关系,在层2发出调度信息。
较佳地,传输模块进一步用于在封装后的PDU的header包括如下信息之一或者其组合:
本PDU中包含的数据对应的SN,所述每个SN对应的数据域长度指示域、所述每个SN对应的数据在该SN对应的所有数据中的位置,以及用于指示所述SN对应的信息之后是数据还是下一个SN对应的信息;
本PDU中包含的数据对应的SN,所述每个SN对应的数据域长度指示域、所述第一个和最后一个SN对应的数据在该SN对应的所有数据中的位置,以及用于指示所述SN对应的信息之后是数据还是下一个SN对应的信息;
本PDU中包含的SN个数,本PDU包含的数据对应的第一个SN,本PDU包含的第一个和最后一个SN对应的数据在该SN对应的所有数据中的位置。
较佳地,传输模块进一步用于在进行传输时,若discard timer超时丢包,将丢弃的SN和/或SF+HFN通知给接收传输的一端。
较佳地,传输模块进一步用于若支持ARQ,对封装后的PDU进行重分段,重分段时的RLC header包括如下信息之一或者其组合:
重分段的RLC PDU对应的SN,该重分段对应的数据域长度指示域,每个SN对应的数据在该SN对应的所有数据的位置指示信息。
较佳地,传输模块进一步用于在进行传输时,若discard timer超时丢包,丢弃没有分配SN的数据包。
较佳地,传输模块进一步用于按所述的唯一的SN对数据包在进行接收传输时,在HARQ解复用后,将正确接收到的PDU递交到高层执行重复检测和重排序。
较佳地,传输模块进一步用于在三层用户面协议栈中,在层2进行HARQ解复用,在层3执行重复检测和重排序。
较佳地,传输模块进一步用于基于窗口进行的重复检测,若接收的PDU中包含的SN位于窗口外或与已经接收到的PDU中包含的SN相同,则为重复数据,其中,窗口下边界为当前接收且连续的最后一个SN+1,窗口上边界为下边界+SN/2。
较佳地,传输模块进一步用于在所述重排序时,包括:
当接收到PDU时,按照SN进行排序,如果有非按序的SN,则启动重排序定时器,等待HARQ重传后再进行排序。
较佳地,传输模块进一步用于若在等待HARQ重传时,重排序定时器超时后仍然未收到对应的SN,将该SN对应的数据作为丢失数据,并通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传;或者,确定进行发送传输的一端是否是因discardtimer超时而进行的丢包,若是则不通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传,若否则通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传。
较佳地,进一步包括:
发送模块,用于在确定进行数据传输的UE发生切换时,向为切换后的UE提供服务的节点发送携带PDU下行SN发送状态和上行SN接收状态的状态报告。
较佳地,在所述三层用户面协议栈中,各个协议层按如下方式包括各功能:
层1:信道映射、调制、编码和射频传输处理,层2:调度和HARQ,层3:SN管理、安全相关、头压缩、重复检测、重排序、ARQ和包丢弃;或者,层1:信道映射、调制、编码和射频传输处理,层2:调度、HARQ、SN管理、重复检测、重排序、ARQ和包丢弃,层3:安全相关和头压缩;
或者,在所述二层用户面协议栈中,各个协议层按如下方式包括各功能:
层1:调度、HARQ信道映射、调制、编码和射频传输处理,层2:SN管理、安全相关、头压缩、重复检测、重排序、ARQ和包丢弃。
本发明有益效果如下:
在本发明实施例提供的技术方案中,在接收到高层下发的数据包后,为每一个数据包分配一个唯一的SN,然后按这唯一的SN对数据包进行传输。由于提供了单层的SN的数据传输方案,因此,也克服了基于双层SN设计的LTE***的数据传输中存在问题,例如标准复杂度高、PDCP/RLC操作具有一定重复性等问题。
进一步的,本发明实施例中还相应的提供了当用户面基于单层SN进行数据传输时基于单层SN相关的数据传输机制的实施方式,具体至少包括:单层SN对应的用户面协议栈、基于单层SN如何组织PDU、基于单层SN的重复检测机制、基于单层SN的重排序机制以及基于单层SN的包丢弃机制等。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为背景技术中现有LTE***的用户面协议栈示意图;
图2为背景技术中PDCP层数据处理流程示意图;
图3为背景技术中PDCP PDU结构示意图;
图4为背景技术中RLC TM模式数据处理示意图;
图5为背景技术中RLC UM模式数据处理示意图;
图6为背景技术中RLC AM模式数据处理示意图;
图7为背景技术中RLC PDU生成示意图;
图8为本发明实施例中单层SN的数据传输方法实施流程示意图;
图9为本发明实施例中三层协议栈结构示意图;
图10为本发明实施例中二层协议栈结构示意图;
图11为本发明实施例中单层SN情况下发送端数据处理实施流程示意图;
图12为本发明实施例中L3PDU分段级联示意图;
图13为本发明实施例中单层SN情况下发送端的数据传输流程示意图;
图14为本发明实施例中接收端处理流程示意图;
图15为本发明实施例中单层SN的数据传输装置结构示意图;
图16为本发明实施例中基站结构示意图。
具体实施方式
目前LTE***的数据传输是基于双层SN(PDCP SN和RLC SN)设计的。在未来的无线通信***中,如果仍然维持双层SN设计,那么存在一些问题,比如:
随着峰值速率要求的不断提升,SN长度需要不断扩展。双层SN的设计必然会增加标准化复杂度。
由于双层SN设计,与SN相关的操作(比如重复性检测、重排序、包丢弃等机制)需要分别在PDCP/RLC执行,有一定重复性。
从简化***设计和标准化复杂度角度考虑,本发明实施例中给出了一种基于单层SN的数据传输方案,下面结合附图对本发明的具体实施方式进行说明。
图8为单层SN的数据传输方法实施流程示意图,如图所示,可以包括如下步骤:
步骤801、接收高层下发的数据包;
步骤802、为每一个数据包分配一个唯一的SN;
步骤803、按所述的唯一的SN对数据包进行传输,其中,在传输过程中根据每一个数据包的唯一的SN对该数据包进行头压缩/解压缩,以及重传处理。
实施中,接收高层下发的数据包,可以是在AS层接收高层下发的数据包;
为每一个数据包分配一个唯一的SN,可以是在AS层为每一个数据包分配一个唯一的SN。
实施中,为每一个数据包分配一个唯一的SN,可以是在接收到高层下发的数据包后分配的,或是在确定底层传输的PDU大小后以PDU为单位为数据包分配的。
具体的,在基于单层SN的数据传输方案中,AS(Access Stratum,接入层)层为高层下发的每个数据包分配唯一SN,SN分配时刻可以是AS层接收到高层下发的数据包后立即分配,也可以先确定底层传输的PDU大小后再为PDU分配SN。
当用户面基于单层SN进行数据传输时,本发明实施例中还将提供基于单层SN相关的数据传输机制的实施方式,具体可以包括:单层SN对应的用户面协议栈、基于单层SN如何组织PDU、基于单层SN的重复检测机制、基于单层SN的重排序机制以及基于单层SN的包丢弃机制等,下面结合实例进行说明。
实施例1:
本实施例将说明单层SN对应的用户面协议栈结构的实施方式。
实施中,SN可以是在用户面协议栈的最高层进行维护处理的。
具体的,用户面协议栈最高层取决于最后用户面协议栈设计方案,在实施中根据实际的用户面协议栈确定即可。
单层SN对应的用户面协议栈结构可以是三层结构或者二层结构,不管是采用哪种协议栈结构,SN维护可以在用户面协议栈的最高层处理。
(1)三层协议栈
图9为三层协议栈结构示意图,如图所示,图9给出了一个基本的三层用户面协议栈,通信对端可以是UE和基站(eNB)、也可以是UE和TRP(Transmission Point,传输点)、还可以是UE和UE。
各个协议层的基本功能可以包括如下部分或者全部功能:
L1:信道映射、调制、编码、射频传输处理等。
L2:调度、HARQ等。
L3:SN管理(分配&维护)、安全相关、头压缩、重复检测、重排序、ARQ、包丢弃等。
或者:
L1:信道映射、调制、编码、射频传输处理等。
L2:调度、HARQ、SN管理(分配&维护)、重复检测、重排序、ARQ、包丢弃等。
L3:安全相关、头压缩等。
(2)二层协议栈
图10为二层协议栈结构示意图,如图所示,图10给出了一个基本的二层用户面协议栈,通信对端可以是UE和基站(eNB)、也可以是UE和TRP、还可以是UE和UE。
各个协议层的基本功能可以包括如下部分或者全部功能:
L1:调度、HARQ信道映射、调制、编码、射频传输处理等。
L2:SN管理(分配&维护)、安全相关、头压缩、重复检测、重排序、ARQ、包丢弃等。
实施例2:
本实施例将说明单层SN情况下发送端的数据传输流程,具体示例的是AS接收到高层数据包后先分配SN的情况。
实施中,按唯一的SN对数据包在进行传输时,包括:
在为每一个数据包分配一个唯一的SN后,保存数据包和SN的映射关系;
根据下一层的调度信息进行PDU封装;
发送传输封装后的PDU。
图11为单层SN情况下发送端数据处理实施流程示意图,以三层协议栈结构且协议层功能按照实施例1中描述的第一种划分方式进行划分为例进行说明单层SN情况下发送端数据处理方案,如图所示。图中虚线部分表示该操作是可选执行的。具体实施中,若是两层协议栈结构,则将三层协议栈结构的L1和L2处理进行合并即可,这是本领域技术人员容易知晓的,因此将主要以三层协议栈结构为例进行说明,两层协议栈结构不再赘述。
具体实施中,对于发送端,和现有无线通信处理不同之处主要在于这里是单层SN,数据包进入L3即确定数据包和SN的对应关系,对数据包进行L3处理后存储在缓存中,在缓存中存储数据时需要保存数据包和SN的映射关系,但是并不会将数据包和SN封装在一起。缓存中的数据等待L2的调度信息,根据L2的调度信息进行L3PDU的封装。
L2基于L1的物理资源对各个承载或者流进行调度处理,确定各个承载或者流可以分配的资源后,将各个承载或者流的资源分配情况通知L3。
L3基于L2的调度信息,针对各个承载或者流分别组织L3PDU。L3可以对数据包进行分段、级联等操作。图12为L3PDU分段级联示意图,具体分段级联方式可以参见图12所示。
实施中,封装后的PDU的header可以包括如下信息之一或者其组合:
本PDU中包含的数据对应的SN,所述每个SN对应的数据域长度指示域、所述每个SN对应的数据在该SN对应的所有数据中的位置,以及用于指示所述SN对应的信息之后是数据还是下一个SN对应的信息;
本PDU中包含的数据对应的SN,所述每个SN对应的数据域长度指示域、所述第一个和最后一个SN对应的数据在该SN对应的所有数据中的位置,以及用于指示所述SN对应的信息之后是数据还是下一个SN对应的信息;
本PDU中包含的SN个数,本PDU包含的数据对应的第一个SN,本PDU包含的第一个和最后一个SN对应的数据在该SN对应的所有数据中的位置。
具体的,L3PDU的header需要能够指示该L3PDU中包含哪些SN对应的数据、每个SN对应的数据域长度、以及第一个和/或最后一个SN对应的数据域的分段指示信息。具体header设计可以有如下几种方式:
方式1:
最直接的设计方式,即在L3PDU头部包含如下域:
每个数据部分对应的SN指示域(SN)。
每个SN对应的数据域长度指示域(LI),其中,LI:长度指示字段,指示数据域中的字节长度。
每个SN对应的数据在该SN对应的所有数据中的位置(比如头部、中间或者尾部)(FI),其中,FI:指示一个PDU划分在数据域的起始还是末尾位置。
每个SN指示域前面增加指示信息(E),用于指示SN/LI/FI后面是数据还是下一个SN的信息,其中,E:扩展比特。
方式2:
由于SN具有连续性,例如m,m+1,m+2…等等,所以基于方式1做优化,对于第一个SN,需要指示E/SN/LI/FI,后面的SN都省略,对于非最后一个SN对应的指示包含E/LI,最后一个SN对应的指示域为E/LI/FI。
方式3:
基于方式2进一步简化,即对于第一个SN,指示域包括E/SN/LI/FI,此外用Nbit指示连续的SN个数,对于后面的每个SN(除最后一个SN外)只需要指示LI域,最后一个SN,需要指示LI/FI域。
比如用2bit指示连续的SN个数,具体可以如下;
2bit SDU个数指示 |
含义 |
00 |
代表1个SDU |
01 |
代表连续的2个SDU |
10 |
代表连续的3个SDU |
11 |
代表连续的4个SDU |
实施中,可以进一步包括:
在进行传输时,若discard timer超时丢包,将丢弃的SN和/或SF+HFN通知给接收传输的一端。
具体的,为了避免由于发端discard timer(丢弃定时器)超时丢包,导致接收端SN不连续一直等待的情况出现,当发端discard timer超时丢包后,需要将丢弃的SN和/或SF+HFN(Hyper Frame Number,超帧号)通知给收端。
实施例3:
本实施例将说明单层SN情况下发送端的数据传输流程,具体是根据调度的PDU大小分配SN的情况。
实施中,在确定底层传输的PDU大小后以PDU为单位为数据包分配的一个唯一的SN,可以包括:
接收高层下发的数据包后,按照先入先出方式进行缓存;
在根据下一层的调度信息确定底层传输的PDU大小并进行PDU封装时,按照先入先出原则,组织封装PDU,并为每个PDU分配SN。
具体的,如果涉及安全相关机制,比如完整性保护和加密,和SN无关可以转移到更高层处理,数据包到达AS层,可以按照先入先出方式进L3缓存。当接收到L2的调度信息,按照先入先出原则,组织L3PDU,并为每个L3PDU分配SN。图13为单层SN情况下发送端的数据传输流程示意图,具体可以参见图13所示,图中为不考虑头压缩和安全机制下的实施。
实施中,若支持ARQ,对封装后的PDU进行重分段,重分段时的RLCheader可以包括如下信息之一或者其组合:
重分段的RLC PDU对应的SN,该重分段对应的数据域长度指示域,每个SN对应的数据在该SN对应的所有数据的位置指示信息。
具体的,如果支持ARQ,那么需要对L3PDU进行重分段,重分段时,L3PDU重分段时的RLC header可以携带如下信息:
重分段的RLC PDU对应的(SN)
该重分段对应的数据域长度指示域(LI)
每个SN对应的数据在该SN对应的所有数据的位置(比如头部、中间或者尾部)(FI)
实施中,可以进一步包括:
在进行传输时,若discard timer超时丢包,丢弃没有分配SN的数据包。
具体的,对于这种情况一旦discard timer超时,只丢弃没有分配SN的L3数据,分配了SN的L3PDU不丢弃。
实施例4:
本实施例将说明接收端处理。
该接收端处理的方式,对于AS接收到高层数据包后先分配SN或者基于调度的PDU大小再分配SN均适用。图14为接收端处理流程示意图,接收端处理流程具体可以参见图14所示,图中虚线示意部分表示是可选行为。
实施中,按唯一的SN对数据包在进行接收传输时,在HARQ解复用后,将正确接收到的PDU递交到高层执行重复检测和重排序。
具体的,HARQ解复用后,会将正确接收到的所有L3PDU递交到高层。由L3执行基于单层SN的重复检测和重排序。
实施中,重复检测是基于窗口进行的重复检测,若接收的PDU中包含的SN位于窗口外或与已经接收到的PDU中包含的SN相同,则为重复数据,其中,窗口下边界为当前接收且连续的最后一个SN+1,窗口上边界为下边界+SN/2,。
具体的,重复检测过程可以如下:
基于窗口进行重复检测操作,窗口下边界为当前接收且连续的最后一个SN+1。窗口上边界为下边界+SN/2。如果从L2接收到的L3PDU中包含的SN(s)位于重复检测窗口外或者和当前已经接收到的SN重复,则认为是重复数据,直接删除。
实施中,重排序包括:
当接收到PDU时,按照SN进行排序,如果有非按序的SN,则启动重排序定时器,等待HARQ重传后再进行排序。
实施中,若在等待HARQ重传时,重排序定时器超时后仍然未收到对应的SN,则进一步包括:
将该SN对应的数据作为丢失数据,并通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传;
或者,确定进行发送传输的一端是否是因discard timer超时而进行的丢包,若是则不通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传,若否则通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传。
具体的,重排序过程可以如下:
当接收到L3PDU时,按照SN进行排序,如果有非按序的SN,则启动重排序定时器,先等待HARQ的重传,一旦HARQ可能重传的时间过去,即重排序定时器超时后仍然未收到对应的SN,则处理可以如下:
认为该SN缺口处的数据丢失,则可以组织状态报告,告知发送端对丢失的SN对应的数据或者数据分段进行重传。(对应实施例3SN分配方式)
先判断该SN是否是由于发端discard timer超时丢弃的,如果是,则不组织状态报告,否则再组织状态报告,告知发送端对丢失的SN对应的数据或者数据分段进行重传。(对应实施例2SN分配方式)
实施中,丢包状态报告可以分为两种:
对于SN对应的整个数据域都没收到的,可以携带SN号。
对于SN对应的数据域部分丢失的,可以携带SN号,以及丢失的分段的位置指示信息,比如0-A字节,A-B字节,或者B-末尾字节,标明丢失的哪个分段。
实施例5:
本实施例将说明UE的传输节点切换时的处理。
实施中,可以进一步包括:
在确定进行数据传输的UE发生切换时,向为切换后的UE提供服务的节点发送携带PDU下行SN发送状态和上行SN接收状态的状态报告。
具体的,当UE发生移动时,移出了当前传输节点的服务范围,此时UE的传输节点需要进行切换。此时网络侧的过程是,源节点停止为UE服务,并通知目标节点开始为UE服务。为了保证业务连续性,需要源节点向目标节点发送状态报告。其中需要携带L3PDU下行SN发送状态和上行SN接收状态。
基于同一发明构思,本发明实施例中还提供了一种单层SN的数据传输装置,由于这些装置解决问题的原理与一种单层SN的数据传输方法相似,因此这些装置的实施可以参见方法的实施,重复之处不再赘述。
图15为单层SN的数据传输装置结构示意图,如图所示,可以包括:
接收模块1501,用于接收高层下发的数据包;
分配模块1502,用于为每一个数据包分配一个唯一的SN;
传输模块1503,用于按所述唯一的SN对数据包进行传输,其中,在传输过程中根据每一个数据包的唯一的SN对该数据包进行头压缩/解压缩,以及重传处理。
实施中,接收模块进一步用于在AS层接收高层下发的数据包;
分配模块进一步用于在AS层为每一个数据包分配一个唯一的SN。
实施中,分配模块进一步用于在接收到高层下发的数据包后为每一个数据包分配一个唯一的SN,或在确定底层传输的PDU大小后以PDU为单位为每一个数据包分配一个唯一的SN。
实施中,分配模块进一步用于在确定底层传输的PDU大小后以PDU为单位为数据包分配的一个唯一的SN时,包括:
接收高层下发的数据包后,按照先入先出方式进行缓存;
在根据下一层的调度信息确定底层传输的PDU大小并进行PDU封装时,按照先入先出原则,组织封装PDU,并为每个PDU分配SN。
实施中,所述SN是在用户面协议栈的最高层进行维护处理的。
实施中,所述SN是在三层用户面协议栈的层3或层2进行维护处理的,所述SN是在二层用户面协议栈的层2进行维护处理的。
实施中,传输模块进一步用于在按所述的唯一的SN对数据包在进行传输时,包括:
在为每一个数据包分配一个唯一的SN后,保存数据包和SN的映射关系;
根据下一层的调度信息进行PDU封装;
发送传输封装后的PDU。
实施中,传输模块进一步用于在三层用户面协议栈中,在为每一个数据包分配一个唯一的SN后,在层3保存数据包和SN的映射关系,在层2发出调度信息。
实施中,传输模块进一步用于在封装后的PDU的header包括如下信息之一或者其组合:
本PDU中包含的数据对应的SN,所述每个SN对应的数据域长度指示域、所述每个SN对应的数据在该SN对应的所有数据中的位置,以及用于指示所述SN对应的信息之后是数据还是下一个SN对应的信息;
本PDU中包含的数据对应的SN,所述每个SN对应的数据域长度指示域、所述第一个和最后一个SN对应的数据在该SN对应的所有数据中的位置,以及用于指示所述SN对应的信息之后是数据还是下一个SN对应的信息;
本PDU中包含的SN个数,本PDU包含的数据对应的第一个SN,本PDU包含的第一个和最后一个SN对应的数据在该SN对应的所有数据中的位置。
实施中,传输模块进一步用于在进行传输时,若discard timer超时丢包,将丢弃的SN和/或SF+HFN通知给接收传输的一端。
实施中,传输模块进一步用于若支持ARQ,对封装后的PDU进行重分段,重分段时的RLC header包括如下信息之一或者其组合:
重分段的RLC PDU对应的SN,该重分段对应的数据域长度指示域,每个SN对应的数据在该SN对应的所有数据的位置指示信息。
实施中,传输模块进一步用于在进行传输时,若discard timer超时丢包,丢弃没有分配SN的数据包。
实施中,传输模块进一步用于按所述的唯一的SN对数据包在进行接收传输时,在HARQ解复用后,将正确接收到的PDU递交到高层执行重复检测和重排序。
实施中,传输模块进一步用于在三层用户面协议栈中,在层2进行HARQ解复用,在层3执行重复检测和重排序。
实施中,传输模块进一步用于基于窗口进行的重复检测,若接收的PDU中包含的SN位于窗口外或与已经接收到的PDU中包含的SN相同,则为重复数据,其中,窗口下边界为当前接收且连续的最后一个SN+1,窗口上边界为下边界+SN/2。
实施中,传输模块进一步用于在所述重排序时,包括:
当接收到PDU时,按照SN进行排序,如果有非按序的SN,则启动重排序定时器,等待HARQ重传后再进行排序。
实施中,传输模块进一步用于若在等待HARQ重传时,重排序定时器超时后仍然未收到对应的SN,将该SN对应的数据作为丢失数据,并通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传;或者,确定进行发送传输的一端是否是因discardtimer超时而进行的丢包,若是则不通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传,若否则通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传。
实施中,进一步包括:
发送模块,用于在确定进行数据传输的UE发生切换时,向为切换后的UE提供服务的节点发送携带PDU下行SN发送状态和上行SN接收状态的状态报告。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
在实施本发明实施例提供的技术方案时,可以按如下方式实施。
图16为基站结构示意图,如图所示,基站中包括:
处理器1600,用于读取存储器1620中的程序,执行下列过程:
为每一个数据包分配一个唯一的SN;
收发机1610,用于在处理器1600的控制下发送数据,执行下列过程:
接收高层下发的数据包;
按所述唯一的SN对数据包进行传输,其中,在传输过程中根据每一个数据包的唯一的SN对该数据包进行头压缩/解压缩,以及重传处理。
实施中,接收高层下发的数据包,是在AS层接收高层下发的数据包;
为每一个数据包分配一个唯一的SN,是在AS层为每一个数据包分配一个唯一的SN。
实施中,为每一个数据包分配一个唯一的SN,是在接收到高层下发的数据包后分配的,或是在确定底层传输的PDU大小后以PDU为单位为数据包分配的。
实施中,在确定底层传输的PDU大小后以PDU为单位为数据包分配的一个唯一的SN,包括:
接收高层下发的数据包后,按照先入先出方式进行缓存;
在根据下一层的调度信息确定底层传输的PDU大小并进行PDU封装时,按照先入先出原则,组织封装PDU,并为每个PDU分配SN。
实施中,所述SN是在用户面协议栈的最高层进行维护处理的。
实施中,所述SN是在三层用户面协议栈的层3或层2进行维护处理的,所述SN是在二层用户面协议栈的层2进行维护处理的。
实施中,按所述的唯一的SN对数据包在进行传输时,包括:
在为每一个数据包分配一个唯一的SN后,保存数据包和SN的映射关系;
根据下一层的调度信息进行PDU封装;
发送传输封装后的PDU。
实施中,在三层用户面协议栈中,在为每一个数据包分配一个唯一的SN后,在层3保存数据包和SN的映射关系,在层2发出调度信息。
实施中,封装后的PDU的header包括如下信息之一或者其组合:
本PDU中包含的数据对应的SN,所述每个SN对应的数据域长度指示域、所述每个SN对应的数据在该SN对应的所有数据中的位置,以及用于指示所述SN对应的信息之后是数据还是下一个SN对应的信息;
本PDU中包含的数据对应的SN,所述每个SN对应的数据域长度指示域、所述第一个和最后一个SN对应的数据在该SN对应的所有数据中的位置,以及用于指示所述SN对应的信息之后是数据还是下一个SN对应的信息;
本PDU中包含的SN个数,本PDU包含的数据对应的第一个SN,本PDU包含的第一个和最后一个SN对应的数据在该SN对应的所有数据中的位置。
实施中,进一步包括:
在进行传输时,若discard timer超时丢包,将丢弃的SN和/或SF+HFN通知给接收传输的一端。
实施中,若支持ARQ,对封装后的PDU进行重分段,重分段时的RLCheader包括如下信息之一或者其组合:
重分段的RLC PDU对应的SN,该重分段对应的数据域长度指示域,每个SN对应的数据在该SN对应的所有数据的位置指示信息。
实施中,进一步包括:
在进行传输时,若discard timer超时丢包,丢弃没有分配SN的数据包。
实施中,按所述的唯一的SN对数据包在进行接收传输时,在HARQ解复用后,将正确接收到的PDU递交到高层执行重复检测和重排序。
实施中,在三层用户面协议栈中,在层2进行HARQ解复用,在层3执行重复检测和重排序。
实施中,所述重复检测是基于窗口进行的重复检测,若接收的PDU中包含的SN位于窗口外或与已经接收到的PDU中包含的SN相同,则为重复数据,其中,窗口下边界为当前接收且连续的最后一个SN+1,窗口上边界为下边界+SN/2。
实施中,所述重排序包括:
当接收到PDU时,按照SN进行排序,如果有非按序的SN,则启动重排序定时器,等待HARQ重传后再进行排序。
实施中,若在等待HARQ重传时,重排序定时器超时后仍然未收到对应的SN,则进一步包括:
将该SN对应的数据作为丢失数据,并通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传;
或者,确定进行发送传输的一端是否是因discard timer超时而进行的丢包,若是则不通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传,若否则通知进行数据发送传输的一端对该SN对应的数据或者数据分段进行重传。
实施中,进一步包括:
在确定进行数据传输的UE发生切换时,向为切换后的UE提供服务的节点发送携带PDU下行SN发送状态和上行SN接收状态的状态报告。
其中,在图16中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1600代表的一个或多个处理器和存储器1620代表的存储器的各种电路链接在一起。总线架构还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1610可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器1600负责管理总线架构和通常的处理,存储器1620可以存储处理器1600在执行操作时所使用的数据。
综上所述,本发明实施例中提供了基于单层SN的数据传输方案,即AS层为高层下发的每个数据包分配唯一SN,SN分配时刻可以是AS层接收到高层下发的数据包后立即分配,也可以先确定底层传输的PDU大小后再为PDU分配SN。
具体的还提供了:
单层SN的分配方式。单层SN对应的协议栈结构。单层SN的PDU组织格式。单层SN的包丢弃机制。基于单层SN结构,接收端状态报告发送方式。基于单层SN结构,切换时状态报告的内容。发端超时丢包需要通知收端的机制。
本发明实施例中给出的基于单层SN的数据传输方案,通过将双层SN变为单层SN可以简化***设计和标准化复杂度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。