一种数据处理方法及装置
技术领域
本发明涉及无线通信技术领域,特别涉及一种数据处理方法及装置。
背景技术
图1为用户面协议栈(User-plane protocol stack)示意图,如图所示,在现有移动通信系统的数据传输过程中,UE(User Equipment,用户设备)和eNB(演进基站)之间的数据传输,通常经过PDCP(Packet Data Convergence Protocol,分组数据聚合协议),RLC(Radio Link Control,无线链路控制),MAC(Media Access Control,媒体接入控制)和PHY(Physical layer,物理层)的传输,每一层完成不同的数据处理。PDCP主要是进行安全操作和头压缩解压缩处理,例如加密和完整性保护,ROHC(Robust Header Compression健壮头压缩/鲁棒性头压缩)压缩和解压缩等;RLC主要完成数据的分段级联和按序递交及ARQ(Automatic Repeat reQuest,自动要求重复)数据传输保障;MAC主要完成调度和不同逻辑信道的级联处理及HARQ(Hybrid Automatic Repeat Request,混合自动重复请求)操作;物理层完成传输块成包和空口发送。
图2为用于双连接的无线协议架构(Radio Protocol Architecture for DualConnectivity)示意图,图中,MCG(Master Cell Group,主小区组)在双连接架构下,是由MeNB(主基站)控制的一组服务小区,SCG(Secondary Cell Group,辅小区组)是在双连接架构下由SeNB(辅基站)控制的一组服务小区,如图所示,在双连接的架构中,MCG Bearer与SCG Bearer承载的用户数据可以在不同eNB之间进行分流处理,从RLC及以下的协议层进行两个eNB的分别处理。
下面对层二协议对数据的处理进行简要说明。
图3为PDCP层数据处理流程PDCP示意图,如图所示,PDCP层主要功能是进行安全相关操作(加/解密、完整性保护/验证)和头压缩/解压缩处理。
图4为PDCP PDU结构示意图,如图所示,发送PDCP实体对接收到的IP数据包处理之后会生成PDCP PDU(Protocol Data Unit,协议数据单元),PDCP PDU的结构如图4所示,PCPC层SN(Sequence Number,序列号)包含在PDCP header(头部)中。
图5为RLC TM模式数据处理示意图,图6为RLC UM模式数据处理示意图,图7为RLCAM模式数据处理示意图,如图所示,RLC层主要功能是完成数据的分段、级联和按序递交及ARQ。RLC层支持三种模式:TM(Transparent Mode,透明模式)、UM(Unacknowledged Mode,非确认模式)和AM(Acknowledged Mode,确认模式)。
图8为RLC PDU生成示意图,对于RLC TM模式,在RLC层是透传的,不需要增加RLCheader(不需要增加RLC SN)。但是对于RLC UM和AM模式,RLC层的处理方式是基于MAC层指示的调度信息,对RLC SDU(Service Data Unit,业务数据单元)(即PDCP PDU)进行分段、级联,生成RLC PDU。对RLC SDU通过分段/级联方式生成RLC PDU的过程如图8所示。每个RLCPDU需要分配要给SN,并将该SN携带在RLC PDU header中。
MAC主要功能是基于PHY的资源进行上/下行调度。对于下行调度,基站的MAC确定调度信息后需要通知RLC组织RLC PDU,然后MAC层将来自一个终端不同逻辑信道的RLC PDU进行复用成一个下行MAC PDU。对于上行调度,基站的MAC确定调度信息后会通过PDCCH(Physical Downlink Control Channel,物理下行控制信道)指示给终端,终端通过上行逻辑信道优先级过程,组织上行MAC PDU。
现有技术的不足在于:层二协议中各层功能存在一定的重复性,功能冗余,开销较大。
发明内容
本发明提供了一种数据处理方法及装置,用以减少层二协议中的开销。
本发明实施例中提供了一种数据处理方法,包括:
接收从高层传输的发送数据包,所述发送数据包是发送端欲发送的数据包;
为接收到的所述发送数据包进行传输层1层处理,所述传输层1层处理在发送时包括:分配SN;
对所述传输层1层处理后的所述发送数据包进行传输层2层处理,所述传输层2层处理在发送时包括:根据调度得到的传输资源的大小,将所述发送数据包传递给物理层后经空中接口进行发送。
较佳地,所述传输层1层处理进一步包括:在分配SN后,进行头压缩和安全处理。
较佳地,所述传输层1层处理在发送时进一步包括:
根据配置决定是否在初次传输数据包时进行层内分段,和/或,根据配置决定是否在重传数据包时进行层内分段,在进行层内分段时交由所述传输层2层处理的是层内分段后的所述发送数据包,其中,初次传输数据包时的配置与重传数据包时的配置是相同的或者是不同的。
较佳地,根据RRC信令静态配置决定是否分段。
较佳地,在AM模式下,所述传输层1层处理在发送时进一步包括以下处理之一或者其组合:
定义发送窗口,维护发送窗口,以及根据发送窗口发送数据包;
在数据包或者数据包分段中设置P比特用于触发接收端进行状态报告反馈;
根据网络侧信令配置进行分段;
基于对等端的接收状态反馈,或者所述传输层2层处理的反馈信息进行重传。
较佳地,所述传输层1层处理在一个逻辑实体上处理;
所述传输层2层处理在一个或至少两个逻辑实体上处理。
较佳地,在所述传输层2层处理在至少两个逻辑实体上处理时,进行所述传输层1层处理的逻辑实体将处理后的数据包分发至至少一个进行所述传输层2层处理的逻辑实体;
或者,进行所述传输层1层处理的逻辑实体将处理后的数据包复制后发送至至少两个进行所述传输层2层处理的逻辑实体。
较佳地,在所述传输层2层处理在至少两个逻辑实体上处理时,进一步包括:
在重传数据包时,重传至原进行所述传输层2层处理的逻辑实体或其它进行所述传输层2层处理的逻辑实体。
本发明实施例中提供了一种数据处理方法,包括:
接收从空口接收到后经物理层传输至的数据包;
对接收到的所述数据包进行传输层2层处理,所述传输层2层处理在接收时包括:将物理层传输至的数据包传输至传输层2层进行处理;
对所述传输层2层处理后的所述数据包进行传输层1层处理,所述传输层1层处理在接收时包括:根据SN进行重排序操作,恢复成发送数据包,所述发送数据包是发送端欲发送的数据包。
较佳地,所述传输层2层处理在接收时进一步包括:在传输至传输层1层前,对数据包进行重组。
较佳地,所述传输层2层处理是在第一子层协议实体以及第二子层协议实体处理的,其中第一子层协议实体接收第二子层协议实体处理后的数据包,第二子层协议实体接收物理层发送的数据包,则在对数据包进行重组时,包括:
第二子层协议实体从物理层发送的数据包中将不同逻辑信道的数据包进行分别处理,之后将每个逻辑信道的数据包发送给相应的第一子层协议实体进行处理;
各第一子层协议实体对接收到的数据包重组。
较佳地,对数据包进行重组,包括:
对每个逻辑信道的数据包,根据组包的规则,拆解出不同的可供传输层1层处理的PDU或者PDU分段;
如果是PDU,则将PDU交由所述传输层1层处理;
如果是PDU分段,当所述传输层1层处理配置了PDU分段的功能,则将PDU分段交由所述传输层1层处理,当所述传输层1层处理未配置PDU分段的功能,则将PDU分段组织成PDU后交由所述传输层1层处理。
较佳地,所述传输层1层处理在接收时进一步包括:
在根据SN进行重排序操作后,反馈不正确接收的数据包,对正确接收的数据包进行解安全处理和解头压缩,恢复成发送数据包。
较佳地,所述传输层1层处理在接收时进一步包括:
定义接收窗口、维护接收窗口以及根据接收窗口接收数据包,和/或重排序处理,其中,重排序包括:
当出现了接收乱序时,启动重排序定时器,并记录此时接收队列中最高的SN序号;
在重排序定时器超时之前,若无接收乱序出现,则停止重排序定时器,若出现接收乱序,则重新启动重排序定时器,并记录当前接收队列中最高的SN序号;
如果重排序定时器超时,在记录的与该重排序定时器对应的SN序号之前仍旧有某个SN对应的PDU没有接收到,则确认该数据包传输失败。
较佳地,在AM模式下,所述传输层1层处理在发送时进一步包括以下处理之一或者其组合:
定义接收窗口,维护接收窗口,以及根据接收窗口接收数据包;
当接收到位于接收窗口之内的数据时,如果出现接收序列缺口,启动重排序定时器,当重排序定时器超时,该数据包仍旧没有收到,则判定传输失败,向接收端反馈状态报告。
本发明实施例中提供了一种数据处理装置,包括:
发送数据包接收模块,用于接收从高层传输的发送数据包,所述发送数据包是发送端欲发送的数据包;
传输层1层处理模块,用于为接收到的所述发送数据包进行传输层1层处理,所述传输层1层处理在发送时包括:分配SN;
传输层2层处理模块,用于对所述传输层1层处理后的所述发送数据包进行传输层2层处理,所述传输层2层处理在发送时包括:根据调度得到的传输资源的大小,将所述发送数据包传递给物理层后经空中接口进行发送。
较佳地,传输层1层处理模块进一步用于在发送时,在分配SN后,进行头压缩和安全处理。
较佳地,传输层1层处理模块进一步用于在发送时,根据配置决定是否在初次传输数据包时进行层内分段,和/或,根据配置决定是否在重传数据包时进行层内分段,在进行层内分段时交由所述传输层2层处理的是层内分段后的所述发送数据包,其中,初次传输数据包时的配置与重传数据包时的配置是相同的或者是不同的。
较佳地,传输层1层处理模块进一步用于在发送时,根据RRC信令静态配置决定是否分段。
较佳地,传输层1层处理模块进一步用于在AM模式下,在发送时包括以下处理之一或者其组合:
定义发送窗口,维护发送窗口,以及根据发送窗口发送数据包;
在数据包或者数据包分段中设置P比特用于触发接收端进行状态报告反馈;
根据网络侧信令配置进行分段;
基于对等端的接收状态反馈,或者所述传输层2层处理的反馈信息进行重传。
较佳地,传输层1层处理模块进一步用于在一个逻辑实体上进行所述传输层1层处理;
传输层2层处理模块进一步用于在一个或至少两个逻辑实体上进行所述传输层2层处理。
较佳地,在所述传输层2层处理在至少两个逻辑实体上处理时,进行所述传输层1层处理的逻辑实体将处理后的数据包分发至至少一个进行所述传输层2层处理的逻辑实体;
或者,进行所述传输层1层处理的逻辑实体将处理后的数据包复制后发送至至少两个进行所述传输层2层处理的逻辑实体。
较佳地,传输层1层处理模块进一步用于在所述传输层2层处理在至少两个逻辑实体上处理时,在重传数据包时,重传至原进行所述传输层2层处理的逻辑实体或其它进行所述传输层2层处理的逻辑实体。
较佳地,传输层2层处理模块进一步用于在传递给物理层前,对所述发送数据包进行分段和串接。
较佳地,传输层1层处理模块和/或传输层2层处理模块进一步用于在进行分段和串接时,对所述发送数据包进行标识用以标识其来自的逻辑信道。
较佳地,传输层2层处理模块进一步用于在进行分段时采用所述SN进行标识,在分段时根据所述传输层1层处理后的数据包的负荷部分进行分段。
较佳地,传输层2层处理模块进一步用于在第一子层协议实体以及第二子层协议实体进行所述传输层2层处理,其中第一子层协议实体接收传输层1层处理后的数据包,第二子层协议实体接收第一子层协议实体处理后的数据包,则在根据调度得到的传输资源的大小进行分段和串接时,包括:
第二子层协议实体完成调度后,告知第一子层协议实体组包的大小;
第一子层协议实体对传输层1层处理后的数据包进行分段和串接;
第二子层协议实体在接收到第一子层协议实体分段和串接的数据包后,给来自于不同的逻辑信道的数据包增加标识信息,将不同逻辑信道的数据包进行复用形成传输信道数据包,发送给物理层。
本发明实施例中提供了一种数据处理装置,包括:
数据包接收模块,用于接收从空口接收到后经物理层传输至的数据包;
传输层2层处理模块,用于对接收到的所述数据包进行传输层2层处理,所述传输层2层处理在接收时包括:将物理层传输至的数据包传输至传输层2层进行处理;
传输层1层处理模块,用于对所述传输层2层处理后的所述数据包进行传输层1层处理,所述传输层1层处理在接收时包括:根据SN进行重排序操作,恢复成发送数据包,所述发送数据包是发送端欲发送的数据包。
较佳地,传输层2层处理模块进一步用于在接收时,在传输至传输层1层前,对数据包进行重组。
较佳地,传输层2层处理模块进一步用于在接收时,在第一子层协议实体以及第二子层协议实体进行所述传输层2层处理,其中第一子层协议实体接收第二子层协议实体处理后的数据包,第二子层协议实体接收物理层发送的数据包,则在对数据包进行重组时,包括:
第二子层协议实体从物理层发送的数据包中将不同逻辑信道的数据包进行分别处理,之后将每个逻辑信道的数据包发送给相应的第一子层协议实体进行处理;
各第一子层协议实体对接收到的数据包重组。
较佳地,传输层2层处理模块进一步用于对数据包进行重组,包括:
对每个逻辑信道的数据包,根据组包的规则,拆解出不同的可供传输层1层处理的PDU或者PDU分段;
如果是PDU,则将PDU交由所述传输层1层处理;
如果是PDU分段,当所述传输层1层处理配置了PDU分段的功能,则将PDU分段交由所述传输层1层处理,当所述传输层1层处理未配置PDU分段的功能,则将PDU分段组织成PDU后交由所述传输层1层处理。
较佳地,传输层1层处理模块进一步用于在接收时,在根据SN进行重排序操作后,反馈不正确接收的数据包,对正确接收的数据包进行解安全处理和解头压缩,恢复成发送数据包。
较佳地,传输层1层处理模块进一步用于在接收时,定义接收窗口、维护接收窗口以及根据接收窗口接收数据包,和/或重排序处理,其中,重排序包括:
当出现了接收乱序时,启动重排序定时器,并记录此时接收队列中最高的SN序号;
在重排序定时器超时之前,若无接收乱序出现,则停止重排序定时器,若出现接收乱序,则重新启动重排序定时器,并记录当前接收队列中最高的SN序号;
如果重排序定时器超时,在记录的与该重排序定时器对应的SN序号之前仍旧有某个SN对应的PDU没有接收到,则确认该数据包传输失败。
较佳地,传输层1层处理模块进一步用于在接收时,在AM模式下,包括以下处理之一或者其组合:
定义接收窗口,维护接收窗口,以及根据接收窗口接收数据包;
当接收到位于接收窗口之内的数据时,如果出现接收序列缺口,启动重排序定时器,当重排序定时器超时,该数据包仍旧没有收到,则判定传输失败,向接收端反馈状态报告。
本发明有益效果如下:
本发明实施例给出的数据传输方案中,由于将数据传输过程中的处理划分为2层,由集中的协议层进行各种操作,以应对不同链路的情况,因此可以使数据能够进行高效传输,便于数据传输的效率和时延,提高了系统效率和用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为背景技术中用户面协议栈示意图;
图2为背景技术中用于双连接的无线协议架构示意图;
图3为背景技术中PDCP层数据处理流程PDCP示意图;
图4为背景技术中PDCP PDU结构示意图;
图5为背景技术中RLC TM模式数据处理示意图;
图6为背景技术中RLC UM模式数据处理示意图;
图7为背景技术中RLC AM模式数据处理示意图;
图8为背景技术中RLC PDU生成示意图;
图9为本发明实施例中数据发送端侧的数据处理方法实施流程示意图;
图10为本发明实施例中数据接收端侧的数据处理方法实施流程示意图;
图11为本发明实施例中协议栈示意图;
图12为本发明实施例中传输层1层与传输层2层间的数据包传输示意图;
图13为本发明实施例中发送端的数据处理装置结构示意图;
图14为本发明实施例中接收端的数据处理装置结构示意图;
图15为本发明实施例中发送端设备结构示意图;
图16为本发明实施例中接收端设备结构示意图。
具体实施方式
发明人在发明过程中注意到:
一方面,现有技术中,层二协议由PDCP,RLC和MAC组成,各层功能存在一定的重复性,例如PDCP和RLC都会分配SN,并且各自对数据进行重排序,MAC层和RLC层都具有对数据进行串接的功能,而且三层各自都有头部结构,功能冗余,开销较大,而且处理复杂,效率也不高。
另一方面,移动通信系统未来发展中,为了更好的满足用户需求,极大提升网络容量和吞吐量,在5G将引入新的空口传输方式,更多的网络节点,复杂的网络拓扑。在5G网络中,既存在集中节点和分布节点的两层接入网架构,当然也不排除单节点完成全部的数据处理功能的架构,存在各种共存和切换的场景。在这样的场景中,如何使得层二数据处理的效率达到最高,能够对链路情况进行很快的响应和反馈,进行高效重传,保证数据传输的QoS(Quality of Service,服务质量)要求,将是5G层二设计的主要目标。
也即,未来5G数据速率更高,如果采取现有的层二的设计,则会给操作实时性和传输效率带来很大挑战,不利于网络整体效率和用户体验提升。
基于此,本发明实施例中提出一种新的数据处理功能,涉及对层二数据的处理过程,应对各种场景,既保证了传输效率,也能够提升用户的体验,将有利于未来网络的网络效率的提升。
具体的,本发明实施例提供的技术方案中,当高层数据包(例如RRC(RadioResource Control,无线资源控制)信令或者UE(User Equipment,用户设备)的用户数据包)到达,存入发送缓存,之后在L2high layer先对数据包进行分配SN(Sequence Number,序列号),之后根据传输模式所对应的窗口要求,将发送窗口之内的数据进行头压缩和安全处理(完整性保护和加密等),并根据配置决定是否分段,发送给下一层L2Low layer。
一个L2high layer可以对应一个L2low layer,也可以对应多个L2low layer。当有多个L2low layer时,每个L2low layer可以位于不同的TRP(Transmission andReception Point,发送和接收节点)。L2high layer发送给每个L2low layer的数据包,可以是不同的,也可以是相同的。不同的情况,意味着多个TRP分别传输同一个承载的不同数据,流量叠加。相同数据的情况,意味着多个TRP传输相同数据,增加正确概率,保障较低传输时延和较高的可靠性。
L2low layer接收到高层数据包后,存入发送缓存,根据调度得到的传输资源的大小,对数据包进行分段和串接,并传递给物理层,在空中接口上进行传输,进而发送给对等端。
对等端物理层接收之后,传递给L2low layer,首先对数据进行重组,将重组出的L2high layer数据PDU或者PDU分段发送给high layer层,由high layer层对数据按照SN进行重排序操作,并根据配置在AM模式时,对经过重排序之后确认的接收序列的缺口认定为丢包,将丢包和正确接收情况组织状态报告,发送给对等端,期待对等端重传。对正确顺序接收的数据包,进行解安全操作,解头压缩等,恢复成高层数据包之后向高层递交。
需要说明的是L2high layer与L2low layer等概念将会在下面的实施例中进行说明,其功能并不能简单的等同于现有技术中有相似表达的技术术语。
下面结合附图对本发明的具体实施方式进行说明。
在说明过程中,将分别从发送端与接收端的实施进行说明,然后还将给出实施的实例以更好地理解本发明实施例中给出的方案的实施。这样的说明方式并不意味着二者必须配合实施、或者必须单独实施,实际上,当发送端与接收端分开实施时,其也各自解决发送端与接收端的问题,而二者结合使用时,会获得更好的技术效果。
图9为数据发送端侧的数据处理方法实施流程示意图,如图所示,可以包括:
步骤901、接收从高层传输的发送数据包,所述发送数据包是发送端欲发送的数据包;
步骤902、为接收到的所述发送数据包进行传输层1层处理,所述传输层1层处理在发送时包括:分配SN;
步骤903、对所述传输层1层处理后的所述发送数据包进行传输层2层处理,所述传输层2层处理在发送时包括:根据调度得到的传输资源的大小,将所述发送数据包传递给物理层后经空中接口进行发送。
相应的,在数据接收端则有:
图10为数据接收端侧的数据处理方法实施流程示意图,如图所示,可以包括:
步骤1001、接收从空口接收到后经物理层传输至的数据包;
步骤1002、对接收到的所述数据包进行传输层2层处理,所述传输层2层处理在接收时包括:将物理层传输至的数据包传输至传输层2层进行处理;
步骤1003、对所述传输层2层处理后的所述数据包进行传输层1层处理,所述传输层1层处理在接收时包括:根据SN进行重排序操作,恢复成发送数据包,所述发送数据包是发送端欲发送的数据包。
下面先对概念进行说明。
图11为协议栈示意图,如图所示,在发送端欲发送数据包时,将数据包传输至高层,然后在传输层1层进行处理后交由传输层2层进行处理,处理后传递给物理层经空口进行发送;相应的,在接收端上,接收从空口接收到后经物理层传输至的数据包,然后对接收到的所述数据包进行传输层2层处理,在交由传输层1层处理,处理后恢复成发送数据包,也即发送端欲发送的数据包。在实施例中,传输层1层也称为L2high layer,传输层2层也称为L2low layer,用不同的表述以期更好的表达该协议栈的技术含义。
图12为传输层1层与传输层2层间的数据包传输示意图,如图所示,传输层1层与传输层2层之间可以是一对多,或者一对一的关系。下面也还会在实例中进行具体的实施说明。
实施中,传输层1层处理可以在一个逻辑实体上处理;
所述传输层2层处理可以在一个或至少两个逻辑实体上处理。
具体实施中,在所述传输层2层处理在至少两个逻辑实体上处理时,进行所述传输层1层处理的逻辑实体将处理后的数据包分发至至少一个进行所述传输层2层处理的逻辑实体;
或者,进行所述传输层1层处理的逻辑实体将处理后的数据包复制后发送至至少两个进行所述传输层2层处理的逻辑实体。
具体的,同一条逻辑信道的数据,可以分开到不同的传输层2层去处理,也可以复制之后处理。例如:一条逻辑信道有数据包1-6需要传输,下面有两个2层,那么对于两个2层数据可以这样分配:
1、3、5归第一个传输;
2、4、6归第二个传输。
也可以这样分配:
1-6在第一个传输;
1-6同时在第二个传输。
具体实施中,在所述传输层2层处理在至少两个逻辑实体上处理时,进一步包括:
在重传数据包时,重传至原进行所述传输层2层处理的逻辑实体或其它进行所述传输层2层处理的逻辑实体。
具体的,逻辑信道不变,逻辑信道唯一对应于一个传输层1层实体,变化的是传输层2层实体,可以选择不同的传输层2层实体传输,在选择2层实体重传的时候,也可以这样:
重传PDU或者分段在第一个传输层2层实体传输;
重传PDU或者分段同时在第二个传输层2层实体传输;
或者对重传PDU分段:
分段1在第一个2层实体传输;
分段2在第二个2层实体传输。
实施中,考虑到分段,可以分为初始传输与重传,这两个过程中均可以采用分段,当然也可以只在其中一个流程中使用分段,两个分段并无必然关系,则在所述传输层1层处理在发送时还可以进一步包括:
根据配置决定是否在初次传输数据包时进行层内分段,和/或,根据配置决定是否在重传数据包时进行层内分段,在进行层内分段时交由所述传输层2层处理的是层内分段后的所述发送数据包,其中,初次传输数据包时的配置与重传数据包时的配置是相同的或者是不同的。
在接收端,实施中,传输层2层处理在接收时还可以进一步包括:在传输至传输层1层前,对数据包进行重组。
实施中,传输层1层处理在接收时还可以进一步包括:
在根据SN进行重排序操作后,反馈不正确接收的数据包,对正确接收的数据包进行解安全处理和解头压缩,恢复成发送数据包。
接收端上的进一步的实施方式还会在下面的实例中进行具体的实施说明。
下面将以实例来对发送端以及接收端的实施进行说明。
实施例1:
本实施例中说明了UM模式下L2high layer发送端的具体实施方式。
UM模式是一种非确认模式,指的是L2high layer的接收端不对接收数据的情况发送状态报告,进而没有发送端重传的情况。
对于UM模式来说,发送端L2high layer的数据发送过程大致可以如下:
1:L2high layer发送端接收来自其高层的数据,作为L2high layer的SDU存入发送缓存;是否存入发送缓存是可选的,可以直接对SDU进行处理,也可以缓存存储留待后续处理。
2:L2high layer对高层SDU首先分配SN,例如一个具体的实施方式可以是:SN的序号初始值为0,每个SDU逐一分配,每次加1操作,SN的长度为可配,例如配置为10bit,15bit,18bit等,分别代表SN范围[0,1023],[0,32767],[0,262143];
实施中,分配SN后,还可以进一步包括:
根据QCI中的时延配置启动Discard timer。具体的,根据配置,可以对高层SDU启动Discard timer(丢弃定时器),这个定时器根据业务需要配置,一般等于该业务所能忍受的最大传输时延,跟QCI(QoS Class Indicator,QoS等级指示)中的时延配置相关,例如300ms或者1.5s等;
在SN分配之后,可以根据配置的传输模式进行发送,如果是UM,则可以直接发送。
3:传输层1层处理还可以进一步包括:在分配SN后,进行头压缩。
具体的,对SDU根据配置,进行必要的头压缩处理,头压缩是否开启是可以配置的,一般来说对于RRC信令和非IP数据包不需要进行头压缩,而对于符合头压缩处理范围的数据包,可以配置头压缩,并配置头压缩的算法和参数,配置过程可以是通过RRC信令进行的,在数据传输之前已经完成该配置,此处只需要根据配置进行相应处理,之后进入下一步;也即,实施中,在UM模式下,还可以通过RRC信令进行头压缩。
4:传输层1层处理还可以进一步包括:进行安全处理。
具体的,还可以根据配置对上一步的数据进行必要的安全处理,安全处理一般包括完整性保护和加密,对于高层信令,例如RRC信令和NAS(Non Access Stratum,非接入层)信令,一般需要同时进行完整性保护和加密操作,对于用户数据,一般只进行加密操作。
5:传输层1层处理在发送时还可以进一步包括:在进行头压缩和安全处理后,根据配置决定是否进行层内分段,在进行层内分段时交由所述传输层2层处理的是层内分段后的所述发送数据包。当然,在没有头压缩和安全处理时,则是对数据直接进行层内分段。
具体的,组织PDU,增加头部SN等域,并根据配置,看是否需要对数据进行提前分段操作;这里的分段是可选的,有可能完全不要这个功能,该功能也可以是可配置的,可以采用RRC信令配置是否开启L2high layer的分段功能;也即,实施中,在UM模式下,还可以根据RRC信令静态配置决定是否分段。
分段如何进行,可以取决于RRC信令静态配置,也可以根据具体的传输情况动态决定。可以基于分段字节数,例如500字节为一个分段,也可以基于分段个数,例如1500字节的IP包,划分为3个分段。
最后,将经过上述处理形成的L2high layer的PDU传递给L2low layer。
其中,如果L2high layer和L2low layer是一对一关系,则直接发送。如果一个L2high layer对应多个L2low layer,则可以根据配置及各个链路的传输情况,选择对应的L2low layer。
如果RRC信令配置了两个或者两个以上L2low layer进行重复数据的传输,则L2high layer需要将相同的数据,同时发送这几个配置的L2low layer;
如果多个L2low layer以数据split的方式,则对于L2high layer来说,需要对每个数据PDU选择对应的一个L2low layer进行传输,一般情况下,选择负荷较轻且链路质量较好的L2low layer,更有利于数据尽快传输。
实施例2:
本实施例中说明了UM模式L2low layer发送端的具体实施方式。
发送端L2low layer的数据发送过程大致可以如下:
1:接收来自于L2high layer的数据,存入发送缓存。
2:传输层2层处理还可以进一步包括:在传递给物理层前,对所述发送数据包进行分段和串接。
具体的,可以根据调度的传输资源大小进行组包,包括对同一个L2high layer数据的分段、串接,也可以包括对不同L2high layer数据的串接。
在这里,每个L2low layer的实现至少可以有如下两种方式:
第一种:在进行分段和串接时,对所述发送数据包进行标识用以标识其来自的逻辑信道。
进一步的,还可以是,在进行分段时采用所述SN进行标识,在分段时根据所述传输层1层处理后的数据包的负荷部分进行分段。
具体的,L2low layer是由同一层协议实体实现,完成逻辑信道到传输信道的整个调度映射和组包过程。也就是说,在L2high layer到L2low layer映射时,可以是多对多的方式,一个L2high layer到多个L2low layer映射,是因为这些L2low layer可以位于不同的TRP节点,共同为UE服务,而多个L2high layer到一个L2low layer的映射,是因为不同逻辑信道的数据,将被映射到一个传输信道上。
在这种方式下,L2low layer在组织PDU时,可以在头部携带逻辑信道信息,以区分来自于不同逻辑信道的数据块;
在每个逻辑信道内部,还可以对数据进行适当的分段和串接,以适应传输资源的大小,进行组包的原始数据是L2high layer的PDU或者PDU分段,其中携带该PDU的SN信息,在L2low layer进行组包时,也可以使用该SN信息标识每个数据块,对于串接的每个数据块,都需要指示其长度,以便于接收端正确组装,同时对每个分段也需要指示这是一个分段,分段指示至少可以有如下两种方式:
一种是携带分段在原始PDU中的位置,例如原始PDU为1000字节,某一个分段为300到1000字节,则以300来表示该分段的起始位置,并以全1的设置来显示该分段是PDU的结尾,另外携带该分段得长度信息为700字节;
另一种是携带分段的子段号,例如以四个bit位(0-15)来显示子段号,0代表第一个分段,1代表第二个分段……14代表第十五个分段,特殊数字15代表末尾段;
第二种:传输层2层处理是在第一子层协议实体以及第二子层协议实体处理的,其中第一子层协议实体接收传输层1层处理后的数据包,第二子层协议实体接收第一子层协议实体处理后的数据包,则在根据调度得到的传输资源的大小进行分段和串接时,包括:
第二子层协议实体完成调度后,告知第一子层协议实体组包的大小;
第一子层协议实体对传输层1层处理后的数据包进行分段和串接;
第二子层协议实体在接收到第一子层协议实体分段和串接的数据包后,给来自于不同的逻辑信道的数据包增加标识信息,将不同逻辑信道的数据包进行复用形成传输信道数据包,发送给物理层。
具体的,L2low layer可以分为两个子层进行实现,其中与L2high layer直接相连的一个子层1完成逻辑信道的组包,而另一个子层2与物理层相连,完成逻辑信道到传输信道的复用,以及可能的HARQ、调度等操作。在这种架构中,层二协议从上至下为:L2highlayer、L2low layer1、L2low layer2、物理层。
在这种方式中,L2low layer2完成调度之后,需要告知L2low layer1组包的大小,然后L2low layer1根据大小,对high layer的PDU进行适当的分段和串接,以适应该大小需要;
L2low layer2在接收到L2low layer1的数据包后,给来自于不同的逻辑信道的数据包增加逻辑信道信息,长度指示信息等,将不同逻辑信道的数据进行复用,然后形成传输信道PDU,发送给物理层。
实施例3:
本实施例中说明了UM模式L2low layer接收端的具体实施方式。
对于UM模式来说,接收端L2low layer的过程大致可以如下:
L2low layer接收来自物理层的数据包,将该数据包进行拆包:
首先,解析出不同逻辑信道数据包,将不同逻辑信道的数据包进行分别处理,如果L2low layer是分两个子层实现的,则拆解逻辑信道包的操作是由L2low layer2进行的,之后将每个逻辑信道的数据包发送给相应的L2low layer1子层进行处理;
也即,在UM模式下,所述传输层2层处理可以是在第一子层协议实体以及第二子层协议实体处理的,其中第一子层协议实体接收第二子层协议实体处理后的数据包,第二子层协议实体接收物理层发送的数据包,则在对数据包进行重组时,包括:
第二子层协议实体从物理层发送的数据包中将不同逻辑信道的数据包进行分别处理,之后将每个逻辑信道的数据包发送给相应的第一子层协议实体进行处理;
各第一子层协议实体对接收到的数据包重组。
其次,对每个逻辑信道的数据包,根据组包的规则,拆解出不同的L2high layer的PDU或者PDU分段,如果是PDU则,直接将PDU发送给L2high layer;如果是L2high layer的PDU分段,则需要区分处理,当L2high layer配置了PDU分段的功能,则L2low layer可以直接将PDU分段发送上去,反之,如果PDU分段功能没有配置,则证明该PDU的分段操作是在L2low layer发送端进行的,则L2low layer接收端,需要将PDU分段组织成PDU再发送上去,至少一种可行的实现如下:
L2low layer对PDU的分段进行一定存储,对后续接收到的PDU分段,与缓存中的PDU分段进行组包,如果能组织成完整的PDU,则发送给L2high layer;
对缓存的分段设定一定的定时器,定时器可以由RRC进行配置,长度一般为HARQ重传次数乘以HARQ RTT(Round Trip Time,往返时间)来决定,当PDU分段进入缓存时,启动该定时器,当定时器超时之后,该PDU分段还没有能够组装成完整PDU被发送给高层时,则证明该PDU的部分分段传输失败,此时删除缓存中的PDU分段,放弃等待;
也即,在UM模式下,对数据包进行重组,可以包括:
对每个逻辑信道的数据包,根据组包的规则,拆解出不同的可供传输层1层处理的PDU或者PDU分段;
如果是PDU,则将PDU交由所述传输层1层处理;
如果是PDU分段,当所述传输层1层处理配置了PDU分段的功能,则将PDU分段交由所述传输层1层处理,当所述传输层1层处理未配置PDU分段的功能,则将PDU分段组织成PDU后交由所述传输层1层处理。
实施例4:
本实施例中说明了UM模式L2high layer接收端的具体实施方式。
对于UM模式来说,接收端L2high layer的过程大致可以如下:
在UM模式下,所述传输层1层处理在接收时还可以进一步包括:定义接收窗口、维护接收窗口以及根据接收窗口接收数据包,和/或重排序处理。
实施中,定义接收窗口至少可以如下:
接收来自于L2low layer发送的PDU,判断该PDU是否为接收窗口之内的数据,其中接收窗口定义为[下边界,上边界],包含下边界,不包含上边界,其中上边界为接收到的最高SN加1,下边界为上边界减去接收窗口大小,接收窗口大小一般为SN空间的一般,例如SN为10bit,则SN空间的一半为2^10/2=512。当接收的SN位于接收窗口之外,则将上边界更新为SN加1,如果接收到的SN位于接收窗口之内,则认为是重复包或者填补接收Gap(间隙)的数据包,对重复包需要删除,填补接收Gap的包,则参照重排序接收操作。
如果PDU是顺序且连续的PDU,则对PDU进行后续操作,包括:
去除头部;
解密,解完整性保护;
解头压缩等;
恢复出高层SDU,则将高层SDU按照顺序递交给更高层。
实施中,重排序可以包括:
当出现了接收乱序时,启动重排序定时器,并记录此时接收队列中最高的SN序号;
在重排序定时器超时之前,若无接收乱序出现,则停止重排序定时器,若出现接收乱序,则重新启动重排序定时器,并记录当前接收队列中最高的SN序号;
如果重排序定时器超时,在记录的与该重排序定时器对应的SN序号之前仍旧有某个SN对应的PDU没有接收到,则确认该数据包传输失败。
具体的,如果PDU的SN出现了接收Gap,则说明中间有数据缺失或者乱序,这种缺失或乱序可能是由于HARQ的不同重传次数造成的,也可能是不同TRP的调度和传输路径不同造成的,此时,接收端需要进行重排序处理,重排序的操作如下:
当出现了接收乱序的情况,即中间出现Gap(该Gap有可能是缺失某个SN对应的整个PDU,也有可能是PDU分段),则启动重排序定时器,并记录此时接收队列中最高的SN序号;
当重排序定时器超时之前,记录的与该重排序定时器对应的SN序号之前的所有Gap都补齐了,则证明重排序成功,此时如果没有其他Gap,则停止重排序定时器,如果仍旧有新的Gap则重新启动重排序定时器,并记录当前接收队列中最高的SN序号;
如果重排序定时器超时,在记录的与该重排序定时器对应的SN序号之前仍旧有某个SN对应的PDU没有接收到,则认定该数据包彻底传输失败,停止等待,将该SN之前的所有的PDU按照SN顺序进行后续操作,并递交高层。如果仍旧有新的Gap则重新启动重排序定时器,并记录当前接收队列中最高的SN序号;
实施中,如果L2high layer开启了分段功能,则从下层接收的有可能是PDU分段,将PDU分段也按照上述重排序处理,缺失的PDU分段也需要等待,当某个SN对应的全部分段都收到,并组织成完整的PDU,则认为该SN对应PDU收到,此处Gap消失。也即,在UM模式下,所述传输层1层处理在接收时进一步还可以包括:在所述传输层1层处理开启了层内分段功能时,按PDU分段进行重排序处理。
针对一个PDU的分段,如果依次接收到的分段为原PDU的[0-300]字节,[200-800]字节,[500-末尾],则重组实体也可以将该PDU完整的进行重组,可以将各个分段的有效部分进行组合,形成连续PDU的[0-末尾]的数据,例如从第一个分段取出[0-300]字节,第二个分段取[300-800]字节,第三个分段取[800-末尾]字节,拼接成完整PDU,当然还有其它各种方式。
实施例5:
本实施例中说明了AM模式L2high layer发送端的具体实施方式。
AM模式的处理过程在上述UM模式的处理过程中,发送窗口、Poll探寻、状态报告接收、重传这些功能有改变或者新增。与UM模式类似的流程,这里不再赘述,细节可以参见实施例1,本实施例重点突出描述与UM模式不一样的处理。也即:
在AM模式下,所述传输层1层处理在发送时还可以进一步包括以下处理之一或者其组合:
定义发送窗口,维护发送窗口,以及根据发送窗口发送数据包;
在数据包或者数据包分段中设置P比特用于触发接收端进行状态报告反馈;
根据网络侧信令配置进行分段;
基于对等端的接收状态反馈,或者所述传输层2层处理的反馈信息进行重传。
下面对具体实施进行说明。
发送窗口,AM的发送窗口执行严格的下边界驱动的窗口更新机制,即发送窗口定义为[下边界,上边界],其中下边界定义为收到对端ACK状态报告肯定确认的连续SN的最大值加1,上边界定义为下边界加上窗口大小,窗口大小为SN空间的一半,例如SN为10bit,窗口大小为2^10/2=512。AM在发送PDU时,只能发送位于发送窗口之内的数据,不能发送位于发送窗口之外的数据。发送窗口的更新,只能依靠对等端(L2high layer对等接收端)的状态报告ACK反馈,即当接收到ACK状态报告之后,将连续正确接收的SN的最高值加1用于更新发送窗口的下边界,同时上边界也会随之更新,以保证发送窗口大小一直等于SN空间的一半。
发送端实体有一种方式Poll机制,用于触发接收端进行状态报告反馈。Poll机制是指在发送端采取数据PDU中头部的特定比特位置位的方式,例如在high layer PDU中有一个P比特,当P比特为0时,代表正常数据包,不需要额外处理,当P比特被置为1时,代表发送端需要接收端的接收状态反馈。发送端可以在窗口达到一定程度时,例如50%或者75%等;或者每隔多少个PDU/SDU设置P比特,具体参数可配置,来触发Poll过程。
发送端实体还具有对数据包进行分段的功能,该功能是网络侧信令可配置的,当开启了该功能,则发送端可以对高层的数据SDU进行适当的分段,并可以将不同的分段分配到不同的链路Low layer实体上去传输,一方面减少了数据传输的时延,另一方面缩小了数据的粒度,为后续重传也提高灵活性。分段的原则可以是网络侧静态配置的,例如配置每个分段的最大尺寸数;或者配置分段的个数;也可以有一些适应数据包大小的配置,例如配置将1500字节的IP包分成N段,高于1500字节的IP包分成M段,少于1500字节的不分段。分段的原则也可以是动态的,由当前的实时传输情况,来决定分段的方式,例如链路情况较好时,可以减少分段或者提升每个分段的大小,当链路情况变差,可以增加分段或者减少每个分段的大小,甚至可以是基于每个链路情况,当链路1质量较差或者负荷较高时,可以分一个较小的段送去链路1传输,当链路2质量较好或者负荷较低时,可以分一个较大的段送去链路2传输。
发送端实体还可以对数据包进行重传,重传的原则主要基于对等端的接收状态反馈,或者下层L2low layer的信息,下面分别举例说明:
接收端会因为接收到携带P比特的数据包或者检测到接收序列缺口而触发状态报告反馈过程,在状态报告中会携带NACK指示哪些数据包或者数据分段丢失,请求重传。对于发送端来说,接收到这样的NACK状态报告,需要对显示丢失的这些数据PDU或者PDU分段进行重传。重传时,如果显示为某个分段丢失而整个PDU其它部分正确接收,则可以仅重传显示丢失的这部分内容,例如显示数据包200-500字节丢失,则重传该部分内容。之所以会出现部分分段丢失而其它分段正确接收的情况,可能是发送端high layer进行了数据PDU的分段,分配到不同路径传输的分段有的传输成功,有的传输失败,也可能是high layer将整个PDU发送给一个链路low layer,Low layer根据传输资源大小对PDU进行了分段,有些PDU传输成功,有些PDU传输失败。如果是显示整个PDU丢失,则重传整个PDU。在需要重传整个PDU的情况下,也可以在high layer对数据进行分段,以分发到不同路径进行传输,提高灵活性和降低时延。
另一种情况,也即层内重传,当high layer的数据PDU或者分段被下发到lowlayer传输时,如果low layer根据自身的传输状况,能够判断出该数据传输失败,则lowlayer可以向high layer上报,说明该PDU或者分段传输失败,由high layer进行立即重传,而不需要等待high layer对等端对于该数据的NACK状态报告触发重传。Low layer可以在一个数据包经过了若干次底层传输,例如HARQ传输,每次都收到NACK反馈,并且到达最大重传次数,放弃该传输时,向high layer指示该数据传输失败。或者low layer自身发生了一些链路恶化的情况,导致数据包不能及时传输出去,则可以对一个数据包或者缓存里的其他未发的数据包,向high layer上报该情况,high layer可以根据情况,将这些数据安排其他链路的重传,以保证数据的连续性,不至于因为一个链路的恶化,导致用户体验下降。
实施例6:
本实施例中说明了AM模式L2high layer接收端的具体实施方式。
AM模式的处理过程在上述UM模式的处理过程中,接收窗口、状态报告这些功能有改变或者新增。与UM模式类似的流程,本实施例不再赘述,细节可以参见实施例4,本实施例重点突出描述与UM模式不一样的处理。也即:
在AM模式下,所述传输层1层处理在发送时还可以进一步包括以下处理之一或者其组合:
定义接收窗口,维护接收窗口,以及根据接收窗口接收数据包;
具体的,接收窗口机制,AM模式下L2high layer将执行严格的接收窗口机制,在接收窗口之外的数据包,被认为重复接收或者无用接收,如有需要,可以更新头压缩状态,数据部分被删除。只有接收窗口之内的数据包被正常处理。接收窗口由下边界决定,下边界为连续接收数据包的最大SN加1,上边界为下边界加SN空间的一半。
当接收到位于接收窗口之内的数据时,如果出现接收序列缺口,启动重排序定时器,当重排序定时器超时,该数据包仍旧没有收到,则判定传输失败,向接收端反馈状态报告。
具体的,与UM模式类似,AM模式接收端也具有重排序功能。当接收到位于接收窗口之内的数据时,如果属于非连续接收,出现了接收序列缺口,例如已经收到了SN为3的数据包,现在收到的是SN为5的数据包,则数据包4可判定为接收序列缺口,对该接收序列缺口,可以启动重排序定时器,当重排序定时器超时,该数据包仍旧没有收到,则判定传输失败,向接收端反馈状态报告,指示该数据包NACK丢失。当接收到PDU分段时,对PDU分段也进行重排序,如果重排序定时器超时,仍旧有分段没有收到,则认为丢失该分段,在状态报告中指示该数据包分段NACK丢失。
基于同一发明构思,本发明实施例中还提供了一种数据处理装置,由于这些装置解决问题的原理与一种数据处理方法相似,因此这些装置的实施可以参见方法的实施,重复之处不再赘述。
图13为发送端的数据处理装置结构示意图,如图所示,包括:
发送数据包接收模块1301,用于接收从高层传输的发送数据包,所述发送数据包是发送端欲发送的数据包;
传输层1层处理模块1302,用于为接收到的所述发送数据包进行传输层1层处理,所述传输层1层处理在发送时包括:分配SN;
传输层2层处理模块1303,用于对所述传输层1层处理后的所述发送数据包进行传输层2层处理,所述传输层2层处理在发送时包括:根据调度得到的传输资源的大小,将所述发送数据包传递给物理层后经空中接口进行发送。
实施中,传输层1层处理模块进一步用于在发送时,在分配SN后,进行头压缩和安全处理。
实施中,传输层1层处理模块进一步用于在发送时,根据配置决定是否在初次传输数据包时进行层内分段,和/或,根据配置决定是否在重传数据包时进行层内分段,在进行层内分段时交由所述传输层2层处理的是层内分段后的所述发送数据包,其中,初次传输数据包时的配置与重传数据包时的配置是相同的或者是不同的。
实施中,传输层1层处理模块进一步用于在发送时,根据RRC信令静态配置决定是否分段。
实施中,传输层1层处理模块进一步用于在AM模式下,在发送时包括以下处理之一或者其组合:
定义发送窗口,维护发送窗口,以及根据发送窗口发送数据包;
在数据包或者数据包分段中设置P比特用于触发接收端进行状态报告反馈;
根据网络侧信令配置进行分段;
基于对等端的接收状态反馈,或者所述传输层2层处理的反馈信息进行重传。
实施中,传输层1层处理模块进一步用于在一个逻辑实体上进行所述传输层1层处理;
传输层2层处理模块进一步用于在一个或至少两个逻辑实体上进行所述传输层2层处理。
实施中,在所述传输层2层处理在至少两个逻辑实体上处理时,进行所述传输层1层处理的逻辑实体将处理后的数据包分发至至少一个进行所述传输层2层处理的逻辑实体;
或者,进行所述传输层1层处理的逻辑实体将处理后的数据包复制后发送至至少两个进行所述传输层2层处理的逻辑实体。
实施中,传输层1层处理模块进一步用于在所述传输层2层处理在至少两个逻辑实体上处理时,在重传数据包时,重传至原进行所述传输层2层处理的逻辑实体或其它进行所述传输层2层处理的逻辑实体。
实施中,传输层2层处理模块进一步用于在传递给物理层前,对所述发送数据包进行分段和串接。
实施中,传输层1层处理模块和/或传输层2层处理模块进一步用于在进行分段和串接时,对所述发送数据包进行标识用以标识其来自的逻辑信道。
实施中,传输层2层处理模块进一步用于在进行分段时采用所述SN进行标识,在分段时根据所述传输层1层处理后的数据包的负荷部分进行分段。
实施中,传输层2层处理模块进一步用于在第一子层协议实体以及第二子层协议实体进行所述传输层2层处理,其中第一子层协议实体接收传输层1层处理后的数据包,第二子层协议实体接收第一子层协议实体处理后的数据包,则在根据调度得到的传输资源的大小进行分段和串接时,包括:
第二子层协议实体完成调度后,告知第一子层协议实体组包的大小;
第一子层协议实体对传输层1层处理后的数据包进行分段和串接;
第二子层协议实体在接收到第一子层协议实体分段和串接的数据包后,给来自于不同的逻辑信道的数据包增加标识信息,将不同逻辑信道的数据包进行复用形成传输信道数据包,发送给物理层。
图14为接收端的数据处理装置结构示意图,如图所示,包括:
数据包接收模块1401,用于接收从空口接收到后经物理层传输至的数据包;
传输层2层处理模块1402,用于对接收到的所述数据包进行传输层2层处理,所述传输层2层处理在接收时包括:将物理层传输至的数据包传输至传输层2层进行处理;
传输层1层处理模块1403,用于对所述传输层2层处理后的所述数据包进行传输层1层处理,所述传输层1层处理在接收时包括:根据SN进行重排序操作,恢复成发送数据包,所述发送数据包是发送端欲发送的数据包。
实施中,传输层2层处理模块进一步用于在接收时,在传输至传输层1层前,对数据包进行重组。
实施中,传输层2层处理模块进一步用于在接收时,在第一子层协议实体以及第二子层协议实体进行所述传输层2层处理,其中第一子层协议实体接收第二子层协议实体处理后的数据包,第二子层协议实体接收物理层发送的数据包,则在对数据包进行重组时,包括:
第二子层协议实体从物理层发送的数据包中将不同逻辑信道的数据包进行分别处理,之后将每个逻辑信道的数据包发送给相应的第一子层协议实体进行处理;
各第一子层协议实体对接收到的数据包重组。
实施中,传输层2层处理模块进一步用于对数据包进行重组,包括:
对每个逻辑信道的数据包,根据组包的规则,拆解出不同的可供传输层1层处理的PDU或者PDU分段;
如果是PDU,则将PDU交由所述传输层1层处理;
如果是PDU分段,当所述传输层1层处理配置了PDU分段的功能,则将PDU分段交由所述传输层1层处理,当所述传输层1层处理未配置PDU分段的功能,则将PDU分段组织成PDU后交由所述传输层1层处理。
实施中,传输层1层处理模块进一步用于在接收时,在根据SN进行重排序操作后,反馈不正确接收的数据包,对正确接收的数据包进行解安全处理和解头压缩,恢复成发送数据包。
实施中,传输层1层处理模块进一步用于在接收时,定义接收窗口、维护接收窗口以及根据接收窗口接收数据包,和/或重排序处理,其中,重排序包括:
当出现了接收乱序时,启动重排序定时器,并记录此时接收队列中最高的SN序号;
在重排序定时器超时之前,若无接收乱序出现,则停止重排序定时器,若出现接收乱序,则重新启动重排序定时器,并记录当前接收队列中最高的SN序号;
如果重排序定时器超时,在记录的与该重排序定时器对应的SN序号之前仍旧有某个SN对应的PDU没有接收到,则确认该数据包传输失败。
实施中,传输层1层处理模块进一步用于在接收时,在AM模式下,包括以下处理之一或者其组合:
定义接收窗口,维护接收窗口,以及根据接收窗口接收数据包;
当接收到位于接收窗口之内的数据时,如果出现接收序列缺口,启动重排序定时器,当重排序定时器超时,该数据包仍旧没有收到,则判定传输失败,向接收端反馈状态报告。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
在实施本发明实施例提供的技术方案时,可以按如下方式实施。
图15为发送端设备结构示意图,如图所示,设备中包括:
处理器1500,用于读取存储器1520中的程序,执行下列过程:
为接收到的所述发送数据包进行传输层1层处理,所述传输层1层处理在发送时包括:分配SN;
对所述传输层1层处理后的所述发送数据包进行传输层2层处理,所述传输层2层处理在发送时包括:根据调度得到的传输资源的大小,将所述发送数据包传递给物理层后经空中接口进行发送;
收发机1510,用于在处理器1500的控制下接收和发送数据,执行下列过程:
接收从高层传输的发送数据包,所述发送数据包是发送端欲发送的数据包。
实施中,所述传输层1层处理进一步包括:在分配SN后,进行头压缩和安全处理。
实施中,所述传输层1层处理在发送时进一步包括:
根据配置决定是否在初次传输数据包时进行层内分段,和/或,根据配置决定是否在重传数据包时进行层内分段,在进行层内分段时交由所述传输层2层处理的是层内分段后的所述发送数据包,其中,初次传输数据包时的配置与重传数据包时的配置是相同的或者是不同的。
实施中,根据RRC信令静态配置决定是否分段。
实施中,在AM模式下,所述传输层1层处理在发送时进一步包括以下处理之一或者其组合:
定义发送窗口,维护发送窗口,以及根据发送窗口发送数据包;
在数据包或者数据包分段中设置P比特用于触发接收端进行状态报告反馈;
根据网络侧信令配置进行分段;
基于对等端的接收状态反馈,或者所述传输层2层处理的反馈信息进行重传。
实施中,所述传输层1层处理在一个逻辑实体上处理;
所述传输层2层处理在一个或至少两个逻辑实体上处理。
实施中,在所述传输层2层处理在至少两个逻辑实体上处理时,进行所述传输层1层处理的逻辑实体将处理后的数据包分发至至少一个进行所述传输层2层处理的逻辑实体;
或者,进行所述传输层1层处理的逻辑实体将处理后的数据包复制后发送至至少两个进行所述传输层2层处理的逻辑实体。
实施中,在所述传输层2层处理在至少两个逻辑实体上处理时,进一步包括:
在重传数据包时,重传至原进行所述传输层2层处理的逻辑实体或其它进行所述传输层2层处理的逻辑实体。
其中,在图15中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1500代表的一个或多个处理器和存储器1520代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1510可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器1500负责管理总线架构和通常的处理,存储器1520可以存储处理器1500在执行操作时所使用的数据。
图16为接收端设备结构示意图,如图所示,设备包括:
处理器1600,用于读取存储器1620中的程序,执行下列过程:
对接收到的所述数据包进行传输层2层处理,所述传输层2层处理在接收时包括:将物理层传输至的数据包传输至传输层2层进行处理;
对所述传输层2层处理后的所述数据包进行传输层1层处理,所述传输层1层处理在接收时包括:根据SN进行重排序操作,恢复成发送数据包,所述发送数据包是发送端欲发送的数据包;
收发机1610,用于在处理器1600的控制下接收和发送数据,执行下列过程:
接收从空口接收到后经物理层传输至的数据包。
实施中,所述传输层2层处理在接收时进一步包括:在传输至传输层1层前,对数据包进行重组。
实施中,所述传输层2层处理是在第一子层协议实体以及第二子层协议实体处理的,其中第一子层协议实体接收第二子层协议实体处理后的数据包,第二子层协议实体接收物理层发送的数据包,则在对数据包进行重组时,包括:
第二子层协议实体从物理层发送的数据包中将不同逻辑信道的数据包进行分别处理,之后将每个逻辑信道的数据包发送给相应的第一子层协议实体进行处理;
各第一子层协议实体对接收到的数据包重组。
实施中,对数据包进行重组,包括:
对每个逻辑信道的数据包,根据组包的规则,拆解出不同的可供传输层1层处理的PDU或者PDU分段;
如果是PDU,则将PDU交由所述传输层1层处理;
如果是PDU分段,当所述传输层1层处理配置了PDU分段的功能,则将PDU分段交由所述传输层1层处理,当所述传输层1层处理未配置PDU分段的功能,则将PDU分段组织成PDU后交由所述传输层1层处理。
实施中,所述传输层1层处理在接收时进一步包括:
在根据SN进行重排序操作后,反馈不正确接收的数据包,对正确接收的数据包进行解安全处理和解头压缩,恢复成发送数据包。
实施中,所述传输层1层处理在接收时进一步包括:
定义接收窗口、维护接收窗口以及根据接收窗口接收数据包,和/或重排序处理,其中,重排序包括:
当出现了接收乱序时,启动重排序定时器,并记录此时接收队列中最高的SN序号;
在重排序定时器超时之前,若无接收乱序出现,则停止重排序定时器,若出现接收乱序,则重新启动重排序定时器,并记录当前接收队列中最高的SN序号;
如果重排序定时器超时,在记录的与该重排序定时器对应的SN序号之前仍旧有某个SN对应的PDU没有接收到,则确认该数据包传输失败。
实施中,在AM模式下,所述传输层1层处理在发送时进一步包括以下处理之一或者其组合:
定义接收窗口,维护接收窗口,以及根据接收窗口接收数据包;
当接收到位于接收窗口之内的数据时,如果出现接收序列缺口,启动重排序定时器,当重排序定时器超时,该数据包仍旧没有收到,则判定传输失败,向接收端反馈状态报告。
其中,在图16中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1600代表的一个或多个处理器和存储器1620代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1610可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器1600负责管理总线架构和通常的处理,存储器1620可以存储处理器1600在执行操作时所使用的数据。
综上所述,在本发明实施例中,将层二分为两层结构,高层负责SN维护,窗口处理,安全,加密,重排序,ARQ等功能;低层负责基于高层SN的组包,逻辑信道到传输信道映射等功能。
具体提供了:
L2high layer发送端上UM和AM一致的公共过程;L2high layer接收端上UM和AM一致的公共过程;L2low layer发送端上一个或者两个子层的实施过程;L2low layer接收端上一个或者两个子层的实施过程;L2high layer AM发送端的过程;L2high layer AM接收端的过程;L2high layer分段功能,包括初传分段和重传分段;L2low layer基于高层SN进行组包;L2low layer对分段的处理,当高层配置了分段,可以将分段发给高层,否则不行等。
本发明实施例给出的数据传输方案,可以使UE的数据能够在不同的路径进行高效传输,由集中的协议层进行接收状态反馈和重传以及适当的分段等操作,以应对不同链路的情况,便于UE数据传输的效率和时延,提高了系统效率和用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。