层二数据包时延的获取方法及设备
技术领域
本发明涉及通信领域,具体而言,涉及一种层二数据包时延的获取方法及设备。
背景技术
图1是根据相关技术的长期演进(Long Term Evolution,简称为LTE)用户面下行数据的流程图,如图1所示,演进陆地无线接入网节点(E-URTANNodeB,简称为eNB)和用户设备(User Equipment,简称为UE)的协议栈中,从高层到低层包含:GPRS通道协议用户面(GPRS Tunneling Protocol user Plane,简称为GTPU)层、分组数据汇聚协议(PacketData Convergence Protocol,简称为PDCP)层、无线链路控制(Radio Link Control,简称为RLC)层、媒体接入控制(MediumAccess Control,简称为MAC)层、下行数据到达eNB后,经过GTPU层、PDCP层、RLC层、MAC层处理,最后到达发送端的物理信道(Physical Channel,简称为PHY)层。
按照协议规定,层二数据包时延是指从eNB的PDCP层接收到一个数据或数据包开始,直到该数据或该数据包的最后一个分片接收到对端的混合自动重传请求(HybridAutomatic Repeat Request,简称为HARQ)应答所花费的时间,该应答可以是对端接收到数据或数据包的最后一个分片后所返回的确认字符(Acknowledgment,简称为ACK),也可以是该数据或该数据包的最后一个分片传输至对端失败后,对端发送的混合自动重传请求(HybridAutomatic Repeat Request,简称为HARQ)。但是按照现有的处理机制,不能保证层二数据包时延的计算准确性。现有的处理机制判断一个PDCP数据包完全被UE所接收到的标准是RLC层接收到了该PDCP数据包对应的应答,这种计算方法比协议规定的方法增加了对端向本端MAC层返回应答后,MAC层向RLC层发送应答的时间,因此得到的时延值会比真实的层二数据包时延值大。另外,RLC层的传输模式有三种,分别为:确认模式(又称为AM模式)、非确认模式(又称为UM模式)和透明模式(又称为TM模式)。对于UM模式,不需要接收方将正确接收到数据的情况告知发送方,即发送数据后不反馈状态报告,因此上述计算层二数据包时延的方法不适用于UM模式下的数据传输。
针对相关技术中层二数据包时延的计算方法的准确度低和通用性差的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中层二数据包时延的计算方法的准确度低和通用性差的问题,本发明提供了一种层二数据包时延的获取方法及设备,以至少解决上述问题。
根据本发明的一个方面,提供了一种层二数据包时延的获取方法,该方法包括:MAC层获取并存储PDCP层接收的数据包的接收时间;并向对端发送数据包;MAC层接收对端对该数据包的应答;MAC层确定数据包的应答接收完毕后,获取数据包的应答时间;MAC层设置应答时间减去接收时间,得到该数据包的层二数据包时延。
优选地,MAC层获取并存储PDCP层接收的数据包的接收时间包括:PDCP层接收到PDCP层序列号为SN的数据包后,将该数据包的接收时间和该数据包发送给RLC层;RLC层根据当前带宽确定上述数据包的发送方式,其中,该发送方式包括拆分方式或组合方式;RLC层按照确定的发送方式将该数据包和上述接收时间发送给MAC层;MAC层接收该数据包和该接收时间后,将上述SN和该接收时间缓存在对应的缓冲区。
优选地,RLC层按照确定的发送方式将上述数据包和上述接收时间发送给MAC层包括:当确定的发送方式为拆分方式时,RLC层将该数据包拆分为多个RLC数据包;RLC层将上述多个RLC数据包发送给MAC层,并将上述SN和接收时间发送给MAC层;
MAC层向对端发送数据包包括:MAC层接收上述多个RLC数据包,将多个RLC数据包封装为多个传输块TB;MAC层向对端发送多个TB;
MAC层确定数据包的应答接收完毕后,获取该数据包的应答时间包括:MAC层接收到多个TB的所有应答后,确定该数据包的应答接收完毕;MAC层将多个TB中最后一个TB的应答接收时间作为该数据包的应答时间。
优选地,缓存上述SN和上述接收时间的缓冲区为发送上述多个TB对应的各个缓冲区。
优选地,RLC层按照确定的发送方式将上述数据包和上述接收时间发送给MAC层包括:当确定的发送方式为组合方式时,RLC层接收来自PDCP层的多个数据包,将多个数据包拼接成一个RLC数据包;RLC层将该RLC数据包发送给MAC层,并将多个数据包中每个数据包的PDCP层序列号和接收时间发送给MAC层;
MAC层向对端发送上述数据包包括:MAC层接收上述RLC数据包,将该RLC数据包封装为一个TB;MAC层向对端发送TB;
MAC层确定上述数据包的应答接收完毕后,获取该数据包的应答时间包括:MAC层接收到TB的应答后,根据该TB与PDCP层序列号的对应关系确定该数据包的应答接收完毕;MAC层将该应答的接收时间作为该数据包的应答时间。
优选地,缓存上述SN和上述接收时间的缓冲区为发送上述TB对应的缓冲区。
根据本发明的另一方面,提供了一种层二数据包时延的获取设备,该设备的MAC层包括:接收时间获取与存储模块,用于获取并存储PDCP层接收的数据包的接收时间;数据包发送模块,用于向对端发送数据包;应答接收模块,用于接收对端对该数据包的应答;应答时间获取模块,用于确定数据包的应答接收完毕后,获取数据包的应答时间;时延获取模块,用于设置应答时间获取模块获取的应答时间减去接收时间获取与存储模块存储的接收时间,得到该数据包的层二数据包时延。
优选地,该设备的PDCP层包括:第一发送模块,用于接收到PDCP层序列号为SN的数据包后,将该数据包的接收时间和该数据包发送给RLC层;该RLC层包括:发送方式确定模块,用于根据当前带宽确定上述数据包的发送方式,其中,该发送方式包括拆分方式或组合方式;第二发送模块,用于按照确定的发送方式将上述数据包和上述接收时间发送给MAC层;接收时间获取与存储模块包括:缓存单元,用于接收上述数据包和上述接收时间后,将上述SN和上述接收时间缓存在对应的缓冲区。
优选地,第二发送模块包括:拆分单元,用于当确定的发送方式为拆分方式时,将上述数据包拆分为多个RLC数据包;第一发送单元,用于将多个RLC数据包发送给MAC层,并将上述SN和上述接收时间发送给MAC层;
数据包发送模块包括:第一接收单元,用于接收上述多个RLC数据包;第一封装单元,用于将第一接收单元接收的多个RLC数据包封装为多个传输块TB;第一TB发送单元,用于向对端发送第一封装单元封装的上述多个TB;
应答时间获取模块包括:第一应答确定单元,用于接收到上述多个TB的所有应答后,确定数据包的应答接收完毕;第一应答时间确定单元,用于将上述多个TB中最后一个TB的应答接收时间作为数据包的应答时间。
优选地,第二发送模块包括:组合单元,用于当确定的发送方式为组合方式时,接收来自PDCP层的多个数据包,将该多个数据包拼接成一个RLC数据包;第二发送单元,将该RLC数据包发送给MAC层,并将多个数据包中每个数据包的PDCP层序列号和接收时间发送给MAC层;
数据包发送模块包括:第二接收单元,用于接收RLC数据包;第二封装单元,用于将第二接收单元接收的上述RLC数据包封装为一个TB;第二TB发送单元,用于向对端发送第二封装单元封装的TB;
应答时间获取模块包括:第二应答确定单元,用于接收到上述TB的应答后,根据该TB与上述PDCP层序列号的对应关系确定数据包的应答接收完毕;第二应答时间确定单元,用于将上述应答的接收时间作为上述数据包的应答时间。
通过本发明,MAC层获取并存储PDCP层接收的数据包的接收时间后向对端发送数据包,MAC层接收对端对该数据包的应答,在确定数据包的应答接收完毕后获取数据包的应答时间,再设置应答时间减去接收时间,得到该数据包的层二数据包时延,解决了相关技术中层二数据包时延的计算方法的准确度低和通用性差的问题,提升了用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的长期演进用户面下行数据的流程图;
图2是根据本发明实施例的层二数据包时延的获取方法的流程图;
图3是根据本发明实施例的层二数据包时延的获取设备的结构框图;
图4是根据本发明优选实施例的层二数据包时延的获取设备的具体结构框图;
图5是根据本发明优选实施例的层二数据包时延的获取设备的另一种具体结构框图;
图6是根据本发明优选实施例的层二数据包时延的获取设备的第三种具体结构框图;
图7是根据本发明实施例的采用拆分方式下的获取层二数据包时延的方法的流程图;
图8是根据本发明实施例的采用组合方式下的获取层二数据包时延的方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
为了提高层二数据包(也可以写为“层2数据包”或“层2包”)时延计算的准确性与通用性,本发明实施例提供了一种层二数据包时延的获取方法及设备。下面通过实施例进行详细说明。
本实施例提供了一种层二数据包时延的获取方法,如图2所示的根据本发明实施例的层二数据包时延的获取方法的流程图,该方法可以在网络设备(例如,终端或基站等)中实现,该方法包括以下步骤(步骤S202-步骤S210):
步骤S202,MAC层获取并存储PDCP层接收的数据包的接收时间;
步骤S204,MAC层向对端发送上述数据包;
步骤S206,MAC层接收对端对上述数据包的应答;
步骤S208,MAC层确定上述数据包的应答接收完毕后,获取上述数据包的应答时间;
步骤S210,MAC层设置应答时间减去接收时间,得到上述数据包的层二数据包时延。
其中,上述应答是对端MAC层接收到本端MAC层发送的数据包后,对端MAC层向本端MAC层返回的应答,而上述UM模式是RLC层的传输模式,因此该方法在MAC层不会存在无应答的情况,因此采用在MAC层实现的方式提高了此计算方法的通用性。MAC层在接收到数据包的应答后获取应答时间,省去了MAC层向RLC层发送应答的时间,使计算层二数据包时延的方法准确性更高。
通过本实施例,MAC层获取并存储PDCP层接收的数据包的接收时间,以及MAC层在确定数据包的应答接收完毕后获取数据包的应答时间,再设置应答时间减去接收时间得到该数据包的层二数据包时延,因在MAC层会接收到每个数据包的应答,并且由MAC层计算层二数据包时延省去了MAC层向RLC层发送应答的时间,因此解决了相关技术中层二数据包时延的计算方法的准确度低和通用性差的问题,提升了用户体验。
上述实施例中,数据包发送至MAC层之前,数据包从高层到低层依次经过PDCP层、RLC层,再到MAC层,具体地:PDCP层接收到PDCP层序列号为SN的数据包后,记录该数据包的接收时间,并将该接收时间和数据包发送给RLC层,RLC层根据当前带宽确定数据包的发送方式,其中,该发送方式包括拆分方式或组合方式,然后,RLC层按照确定的发送方式将数据包和接收时间发送给MAC层,MAC层接收到数据包和接收时间后,将该数据包的PDCP层序列号SN和接收时间缓存在对应的缓冲区。上述过程中,PDCP层记录数据包的接收时间并存储对应的缓冲区中,这样在计算层二数据包时延的时候,方便获取接收时间。
其中,本发明实施例中的SN可以设置在该数据包的包头上。
在当前带宽较小的情况下,RLC层选择拆分的方式进行数据包的发送,RLC层接收来自PDCP层的数据包,并将数据包拆分为多个RLC数据包,再将多个RLC数据包发送给MAC层,同时也将SN和接收时间发送给MAC层,MAC层将SN和接收时间缓存在对应的缓冲区,将多个RLC数据包封装为多个传输块(TransportBlock,简称为TB),然后MAC层向对端发送该多个TB。
对端接收到上述多个TB后,向MAC层返回应答,MAC层确定数据包的应答接收完毕后,将多个TB中最后一个TB的应答接收时间作为数据包的应答时间。这样在所有TB都被对端接收到的情况下,记录应答时间,保证计算层二数据包时延的准确性。
上述缓冲区可以是发送多个TB对应的各个缓冲区,即在各个TB对应的缓冲区中均存储上述数据包的PDCP层序列号SN和接收时间。
RLC层是根据当前带宽来确定数据包的发送方式,在当前带宽较大的情况下,RLC层选择组合的方式进行数据包的发送,基于此,RLC层接收来自PDCP层的多个数据包,并将多个数据包拼接成一个RLC数据包,再将该RLC数据包发送给MAC层,同时也将上述多个数据包中每个数据包的PDCP层序列号SN和接收时间发送给MAC层,MAC层将SN和接收时间缓存在对应的缓冲区,将RLC数据包封装为一个TB,然后MAC层向对端发送该TB。
对端接收到上述TB后,向MAC层返回应答,MAC层确定数据包的应答接收完毕后,将该TB的应答接收时间作为数据包的应答时间。这样可以保证计算层二数据包时延的准确性。
上述缓冲区可以是发送TB对应的缓冲区,MAC层将SN和接收时间缓存在缓存区的目的是在MAC计算层二数据包时延的时候方便读取接收时间。上述MAC层是指本端的MAC层。
对应于上述方法,本实施例还提供了一种层二数据包时延的获取设备,该设备用于实现上述实施例,图3是根据本发明实施例的层二数据包时延的获取设备的结构框图,如图3所示,该设备中的MAC层包括:接收时间获取与存储模块30、数据包发送模块32、应答接收模块34、应答时间获取模块36和时延获取模块38。下面对该结构进行说明。
接收时间获取与存储模块30,用于获取并存储PDCP层接收的数据包的接收时间;
数据包发送模块32,连接至接收时间获取与存储模块30,用于向对端发送该数据包;
应答接收模块34,连接至数据包发送模块32,用于接收对端对数据包的应答;
应答时间获取模块36,连接至应答接收模块34,用于确定数据包的应答接收完毕后,获取该数据包的应答时间;
时延获取模块38,连接至接收时间获取与存储模块30和应答时间获取模块36,用于设置应答时间获取模块36获取的应答时间减去接收时间获取与存储模块30存储的接收时间,得到数据包的层二数据包时延。
通过上述设备,接收时间获取与存储模块30获取并存储PDCP层接收的数据包的接收时间后,由数据包发送模块32向对端发送数据包,然后应答接收模块34接收对端对该数据包的应答,应答时间获取模块36在确定数据包的应答接收完毕后获取数据包的应答时间,时延获取模块38设置应答时间减去接收时间,得到该数据包的层二数据包时延,因在MAC层会接收到每个数据包的应答,并且由MAC层计算层二数据包时延省去了MAC层向RLC层发送应答的时间,解决了相关技术中层二数据包时延的计算方法的准确度低和通用性差的问题,提升了用户体验。
上述实施例中,数据包发送至MAC层之前,数据包从高层到低层依次经过PDCP层、RLC层,再到MAC层,图4是根据本发明优选实施例的层二数据包时延的获取设备的具体结构框图,如图4所示,该设备除了包括上述图3中的MAC层的各个模块之外,还包括:PDCP层的第一发送模块40、RLC层的发送方式确定模块42和第二发送模块44以及MAC层的接收时间获取与存储模块30中的缓存单元302。下面对该结构进行说明。
第一发送模块40,位于该设备中的PDCP层,用于接收到PDCP层序列号为SN的数据包后,将该数据包的接收时间和该数据包发送给RLC层;发送方式确定模块42,位于该设备中的RLC层,连接至第一发送模块40,用于根据当前带宽确定上述数据包的发送方式,其中,该发送方式包括拆分方式或组合方式;
第二发送模块44,位于该设备中的RLC层,连接至发送方式确定模块42,用于按照确定的发送方式将上述数据包和接收时间发送给MAC层;
缓存单元302,位于MAC层的接收时间获取与存储模块30中,连接至第二发送模块44,用于接收上述数据包和接收时间后,将上述SN和接收时间缓存在对应的缓冲区。
RLC层是根据当前带宽来确定数据包的发送方式,在当前带宽较小的情况下,RLC层选择拆分的方式进行数据包的发送,图5是根据本发明优选实施例的层二数据包时延的获取设备的另一个具体结构框图,如图5所示,除了包括上述图4中的各个模块之外,还包括:第二发送模块44中的拆分单元442和第一发送单元444,数据包发送模块32中的第一接收单元322、第一封装单元324和第一TB发送单元326,应答时间获取模块36中的第一应答确定单元362和第一应答时间确定单元364。下面对该结构进行说明。
拆分单元442,位于第二发送模块44,用于当确定的发送方式为拆分方式时,将上述数据包拆分为多个RLC数据包;
第一发送单元444,位于第二发送模块44,连接至拆分单元442,用于将上述多个RLC数据包发送给MAC层,并将上述SN和接收时间发送给MAC层;
第一接收单元322,位于数据包发送模块32,连接至第一发送单元444,用于接收多个RLC数据包;
第一封装单元324,位于数据包发送模块32,连接至第一接收单元322,用于将第一接收单元322接收的多个RLC数据包封装为多个传输块TB;
第一TB发送单元326,位于数据包发送模块32,连接至第一封装单元324,用于向对端发送第一封装单元324封装的多个TB;
第一应答确定单元362,位于应答时间获取模块36,用于接收到多个TB的所有应答后,确定数据包的应答接收完毕;
第一应答时间确定单元364,位于应答时间获取模块36,连接至第一应答确定单元362,用于将多个TB中最后一个TB的应答接收时间作为数据包的应答时间。
在当前带宽较大的情况下,RLC层选择组合的方式进行数据包的发送。图6是根据本发明优选实施例的层二数据包时延的获取设备的第三种具体结构框图,如图6所示,除了包括上述图4中的各个模块之外,还包括:第二发送模块44中的组合单元446和第二发送单元448,数据包发送模块32中的第二接收单元328、第二封装单元330和第二TB发送单元332,应答时间获取模块36中的第二应答确定单元366和第二应答时间确定单元368。下面对该结构进行说明。
组合单元446,位于第二发送模块44,用于当确定的发送方式为组合方式时,接收来自PDCP层的多个数据包,将多个数据包拼接成一个RLC数据包;
第二发送单元448,位于第二发送模块44,连接至组合单元446,将RLC数据包发送给MAC层,并将多个数据包中每个数据包的PDCP层序列号和接收时间发送给MAC层;
第二接收单元328,位于数据包发送模块32,连接至第二发送单元448,用于接收RLC数据包;
第二封装单元330,位于数据包发送模块32,连接至第二接收单元328,用于将第二接收单元328接收的RLC数据包封装为一个TB;
第二TB发送单元332,位于数据包发送模块32,连接至第二封装单元330,用于向对端发送第二封装单元330封装的TB;
第二应答确定单元366,位于应答时间获取模块36,用于接收到TB的应答后,根据TB与PDCP层序列号的对应关系确定数据包的应答接收完毕;
第二应答时间确定单元368,位于应答时间获取模块36,连接至第二应答确定单元366,用于将应答的接收时间作为数据包的应答时间。
在上述两个关于层二数据包时延的获取设备的实施例中,分别介绍了RLC层选择不同的发送数据包方式的情况下的设备结构构成,RLC层选择拆分或组合的方式发送数据包是基于当前带宽的大小决定的,扩大了层二数据包时延的获取设备的适用范围,提高了该设备的通用性。
由上述实施例可知,本发明实施例的MAC层能够明确知道某个TB对应的PDCP SN号,并将该TB对应的PDCP SN号以及PDCP层接收到该数据包的接收时间存储在MAC层。对于拆分方式,当一个PDCP数据包的最后一个TB接收到UE的应答(例如HARQ应答)时,MAC层记录此时的应答时间,MAC层根据应答时间减去接收时间,计算得到该PDCP数据包的层二数据包时延。
为了使本发明的方法更易懂,下面结合优选实施例和附图对上述实施例的实现过程进行详细说明。
实施例一
本实施例以在当前带宽较小的情况下,RLC层选择拆分的方式进行数据包的发送为例进行说明,PDCP层接收到下行数据后发送至RLC层,根据当前带宽的大小,RLC层决定采用拆分数据包或组合数据包的方式进行数据包的发送。图7是根据本发明实施例的采用拆分方式下的获取层二数据包时延的方法的流程图,如图7所示,该方法包括如下步骤(S702-S712):
步骤S702,本端PDCP层接收到PDCP层序列号为SN的数据包,比如设定SN=x,PDCP层计算当前时间,并对该数据包打时间戳T1后,将数据包发送给本端RLC层。
步骤S704,本端RLC层接收到PDCP层的数据包后根据当前带宽将数据包拆分为n个RLC数据包,比如SN=1,2,…n,并将PDCP SN号以及时间戳T1发送到本端MAC层。
步骤S706,本端MAC层接收到RLC层的数据包后,将RLC数据包封装为TB(比如0,1,…n)后发送给对端MAC层,并将本端RLC层携带的PDCP SN号以及时间戳T1存储在本端MAC层每个TB对应的缓冲区(比如:HARQ缓冲区)中。
步骤S708,对端MAC层接收到本端MAC层发送的TB后分别对TB1,TB2,…TBn回复应答。
该应答可以是对端MAC层接收到TB后所返回的ACK,也可以是该TB传输至对端MAC层失败后,对端MAC层发送的HARQ。
步骤S710,本端MAC层接收到应答后根据HARQ缓冲区中存储的TB与PDCP SN的对应关系,判断直到接收到TBn的应答,即最后一个TB的应答,才确定收到了该PDCP数据包的最后一个分片。
步骤S712,本端MAC层获取到对应TBn的应答时间T2,并减去对应的缓冲区中记录的PDCP层时间戳T1,得到该PDCP数据包的层二数据包时延。
实施例二
本实施例以在当前带宽较大的情况下,RLC层选择组合的方式进行数据包的发送为例进行说明,图8是根据本发明实施例的采用组合方式下的获取层二数据包时延的方法的流程图,如图8所示,该方法包括如下步骤(S802-S812):
步骤S802,本端PDCP层接收到下行数据,即PDCP层序列号为SN的数据包,比如设定SN=1,2,…n,PDCP层分别计算当前时间,并分别对每个数据包打时间戳T1,T2…Tn后,将数据包和时间戳发送给本端RLC层;
步骤S804,本端RLC层接收到本端PDCP层的数据包后,根据当前带宽将n个PDCP数据包拼接成一个RLC数据包。并将该RLC数据包中包含的所有PDCP SN号以及时间戳T1,T2,…Tn发送到本端MAC层;
步骤S806,本端MAC层接收到本端RLC层发送的数据包后,将RLC数据包封装为一个TB后发送至对端MAC层,并将RLC层携带的所有PDCP SN号以及时间戳T1,T2,…Tn存储在本端MAC层中该TB对应的缓冲区(比如:HARQ缓冲区)中;
步骤S808,对端MAC层接收到本端MAC层发送的TB后对该TB回复应答;
步骤S810,本端MAC层接收到应答后根据HARQ缓冲区中记录的TB与PDCP SN的对应关系判断该TB包含了多个PDCP数据包;
步骤S812,本端MAC层获取到对应该TB的应答时间T0,并依次减去HARQ缓冲区中存储的PDCP层时间戳T1,T2…Tn,分别得到该TB中包含的所有PDCP数据包的层二数据包时延。
上述两个实施例具体说明了在当前带宽较小/较大的情况下,采用拆分/组合的数据包发送方式,从而计算层二数据包时延的过程,依据当前带宽的大小对数据包的发送方式进行改变,提高了层二数据包时延计算方法的通用性,解决了相关技术中层二数据包时延的计算方法的准确度低和通用性差的问题,提升了用户体验效果。
以上仅为本发明中的较佳实施方式而已,并不作为对本发明所保护范围的限定。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。