CN112153691B - 数据包传输的方法和通信装置 - Google Patents

数据包传输的方法和通信装置 Download PDF

Info

Publication number
CN112153691B
CN112153691B CN201910564661.XA CN201910564661A CN112153691B CN 112153691 B CN112153691 B CN 112153691B CN 201910564661 A CN201910564661 A CN 201910564661A CN 112153691 B CN112153691 B CN 112153691B
Authority
CN
China
Prior art keywords
data packet
time
delay
packet
reordering
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
Application number
CN201910564661.XA
Other languages
English (en)
Other versions
CN112153691A (zh
Inventor
于峰
蔺波
曹振臻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910564661.XA priority Critical patent/CN112153691B/zh
Priority to PCT/CN2020/097564 priority patent/WO2020259456A1/zh
Priority to EP20833124.9A priority patent/EP3972334A4/en
Publication of CN112153691A publication Critical patent/CN112153691A/zh
Priority to US17/561,130 priority patent/US11838218B2/en
Application granted granted Critical
Publication of CN112153691B publication Critical patent/CN112153691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1841Resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/286Time to live
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0205Traffic management, e.g. flow control or congestion control at the air interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

本申请提供了一种数据包传输的方法和通信装置,该方法包括:接收数据包,且该数据包处于未递交状态;在重排序定时器运行期间,当该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时,递交该数据包。本申请提供的数据包传输的方法,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态,也可以在该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时递交该数据包。从而解决了由于重排序定时器的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。

Description

数据包传输的方法和通信装置
技术领域
本申请涉及通信领域,更为具体的,涉及一种数据包传输的方法和通信装置。
背景技术
在目前的数据包进行传输的过程中,在通信指标要求比较高的场景中,需要保证数据包的按序传输。在空口传输中,虽然数据包在发送端空口是按序发出,但由于无线信道的不稳定等因素,在接收端接收的数据包的顺序很有可能是乱序的。目前,网络设备或者终端协议层中的无线链路控制(radio link control,RLC)层和分组数据汇聚协议(packetdata convergence protocol,PDCP)层负责将接收到的乱序的数据包进行重排序并进行递交。具体的,PDCP层和RLC层可以维护一个重排序定时器,利用重排序定时将接收到的乱序的数据包进行重排序并进行递交。但是,利用重排序定时器将接收到的乱序的数据包进行重排序并进行递交时,很有可能使得数据包的传输不能满足时延要求,造成数据包的传输超过其传输时延要求,严重影响了数据包的传输效率,从而影响通信效率。
发明内容
本申请提供一种数据包传输的方法和通信装置,可以在该数据包对应的时延截止时刻递交该数据包,数据包的递交不再受限于重排序定时器的限制。从而解决了因为乱序接收可能导致的数据包的超时递交的问题,保障了数据包时延要求,提高了数据包的传输效率。
第一方面,提供了一种数据包传输的方法,该方法可以由接收设备执行,或者,也可以由配置于接收设备中的芯片执行。接收设备可以是终端或者网络设备,该方法包括:接收数据包,且该数据包处于未递交状态。在重排序定时器运行期间,当该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时,递交该数据包。
第一方面提供的数据包传输的方法,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态(未超时),也可以在该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时递交该数据包。每个数据包的递交不再受限于重排序定时器的限制。从而解决了由于重排序定时器的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。提高了数据包的传输效率。
在第一方面的一种可能的实现方式中,该方法还包括:停止该重排序定时器,其中,该重排序定时器由该数据包触发启动或者由在该数据包之前接收到的数据包触发启动,该数据包对应的时延截止时刻或该重排序窗口内该数据包之前的数据包的时延截止时刻到早于该重排序定时器的超时时刻。在该实现方式中,在递交该数据包后并停止或者重置重排序定时器,可以避免重排序定时器对在该数据包之后的接收到的与该数据包连续的数据包递交的影响,保障了在该数据包之后的接收到的与该数据包连续的数据包的时延要求。
在第一方面的一种可能的实现方式中,该重排序窗口内该数据包之前的数据包的时延截止时刻为该重排序窗口内从该数据包向前算起第一个没有接收到的数据包对应的时延截止时刻。
在第一方面的一种可能的实现方式中,该重排序窗口内该数据包之前的数据包的时延截止时刻为该重排序窗口内该数据包之前、并且时延截止时刻没有超时的数据包中时延截止时刻最早的数据包对应的时延截止时刻。
在第一方面的一种可能的实现方式中,该方法还包括:
递交该重排序窗口内已经存储的、并且在该数据包之前的数据包,以及递交该重排序窗口内已经存储的、该数据包之后并且与该数据包的序列号连续的数据包。
在第一方面的一种可能的实现方式中,该数据包携带该数据包的发送时刻,该方法还包括:根据该数据包的发送时刻以及传输时延预算,确定该数据包对应的时延截止时刻。
在第一方面的一种可能的实现方式中,该方法还包括:根据第1个数据包对应的时延截止时刻和数据包的周期,确定该数据包对应的时延截止时刻,其中,该数据包的序列号大于或者等于1。
在第一方面的一种可能的实现方式中,该方法还包括:将已经递交的数据包中的最大序列号加1作为该重排序窗口的下边界的值,或者将时延截止时刻到达的数据包的序列号加1作为该重排序窗口的下边界的值。
在第一方面的一种可能的实现方式中,该数据包对应的时延截止时刻为该数据包对应的最大时延定时器的超时时刻,或者,该数据包对应的时延截止时刻为该数据包对应的时长的截止时刻,该当该数据包对应的时延截止时刻到达时,递交该数据包,包括:
在该最大时延定时器的超时时刻,递交该数据包,或者在该时长的截止时刻,递交该数据包。
第二方面,提供了一种通信装置,包括:用于执行以上第一方面或者或第一方面的任意可能的实现方式中的各个步骤的单元或者手段(means),或者,用于执行以上第四方面或者或第四方面的任意可能的实现方式中的各个步骤的单元或者手段(means)。
第三方面,提供了一种通信装置,包括至少一个处理器,用于与存储器连接,以调用存储器中的程序执行以上第一方面或者或第一方面的任意可能的实现方式中提供的方法,该存储器可以位于该装置之内,也可以位于该装置之外。且该处理器包括一个或者多个。
第四方面,本申请提供一种通信装置,包括至少一个处理器和接口电路,该至少一个处理器用于执行以上第一方面或者或第一方面的任意可能的实现方式中提供的方法。
第五方面,提供了一种网络设备,该网络设备包括上述第二方面提供的装置,或者,该网络设备包括上述第三方面提供的装置,或者,该网络设备包括上述第四方面提供的装置。
第六方面,提供了一种终端,该终端包括上述第二方面提供的装置,或者,该终端包括上述第三方面提供的装置,或者,该终端包括上述第四方面提供的装置。
第七方面,本申请提供一种程序,该程序在被处理器执行时,用于执行以上第一方面或者或第一方面的任意可能的实现方式中提供的方法。
本申请提供一种程序产品,例如计算机可读存储介质,包括以上程序。
可见,在以上各个方面,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态(未超时),也可以在该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时递交该数据包。每个数据包的递交不再受限于重排序定时器的限制。从而解决了由于重排序定时器的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。提高了数据包的传输效率。
附图说明
图1是接收设备的PDCP实体对数据包的重排序和递交的示意性。
图2是适用于本申请实施例的网络架构的一个示意图。
图3是本申请实施例提供的数据包传输的方法的示意性流程图。
图4是本申请实施例提供的另一例数据包传输的方法的示意性流程图。
图5是本申请实施例提供的一例递交重排序窗口内接收到的第N个数据包之前的数据包,以及重排序窗口内已经存储的、并且与第N个数据包的序列号N连续的数据包的示意图。
图6是本申请实施例提供的另一通信装置的结构示意图。
图7是本申请实施例提供的网络设备的一个结构示意图。
图8是本申请实施例提供的网络设备的另一结构示意图。
图9是本申请实施例提供的终端的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
首先对本申请的部分用语进行说明。
终端:终端又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,是一种向用户提供语音/数据连通性的设备,例如,具有无线连接功能的手持式设备、或车载设备等。目前,一些终端的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internetdevice,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmentedreality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、或智慧家庭(smart home)中的无线终端等。本申请实施例并不限定。
网络设备:网络设备是无线网络中的用于与终端通信的设备,例如将终端接入到无线网络的无线接入网(radio access network,RAN)节点。目前,一些RAN节点的举例为:gNB、传输接收点(transmission reception point,TRP)、演进型节点B(evolved Node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(Node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved NodeB,或home Node B,HNB)、基带单元(base band unit,BBU),或无线保真(wireless fidelity,Wifi)接入点(access point,AP)等。在一种网络结构中,网络设备可以包括集中单元(centralized unit,CU)节点、或分布单元(distributedunit,DU)节点、或包括CU节点和DU节点的RAN设备。本申请实施例并不限定。
“多个”是指两个或两个以上,其它量词与之类似。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“adevice”意味着对一个或多个这样的device。再者,至少一个(at least one of).......”意味着后续关联对象中的一个或任意组合,例如“A,B和C中的至少一个”包括A,B,C,AB,AC,BC,或ABC。
在本申请实施例中,终端或网络设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(central processingunit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可,例如,本申请实施例提供的方法的执行主体可以是终端或网络设备,或者,是终端或网络设备中能够调用程序并执行程序的功能模块。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
随着无线通信技术的发展,无线通信(例如第五代(5th generation,5G)系统或新无线(new radio,NR)通信)可以满足越来越高的通信需求。未来工业或者电力中越来越多的考虑用无线通信作为设备之间的传输方式。无线通信的好处在于控制器(以为网络设备为例)与被控制器(以为终端为例)之间无需部署物理线路,降低了成本,同时增加了系统对移动性的支持。终端可以到处随意移动。另外,有些厂区厂房需要随时根据需求进行生产线的定制、改组,装备了无线通信系统的产线改组起来会更加方便。工业或电力场景中对通信指标的要求较高,需要控制信令在很短时间内以很高的可靠性保证进行传输。例如在控制场景中,网络设备通常会周期性的向终端传输指令,指示其如何动作,很多时候需要控制指令按序传输。如果控制指令乱序,可能造成终端按照错误的指令顺序执行,引发设备故障,甚至导致巨大的人身及财产安全损失。
举例说明,网络设备按照固定的周期按命令消息(例如数据包)的先后顺序向终端发送多条命令消息,如果命令消息的传输时延比较稳定,即传输时延的抖动比较小,则命令消息会按序到达终端。但是由于无线信道的不稳定,在某些情况下可能出现前一个命令消息被重传多次,后一个命令消息一次成功,会导致后一个命令消息早于前一个命令消息到达终端。若终端直接按照接收命令消息的顺序执行命令,则会错误的将后一个命令先执行,这会导致错误的执行结果。终端的网络层可以通过重排序来保证网络层向应用层递交的消息都是按序的。
网络设备和终端之间的通信遵循一定的协议层结构。例如控制面协议层结构可以包括无线资源控制(radio resource control,RRC)层、PDCP层、RLC层、媒体接入控制(media access control,MAC)层和物理层等协议层的功能。用户面协议层结构可以包括PDCP层、RLC层、MAC层和物理层等协议层的功能;其中,物理层位于最低层(层一),MAC层、RLC以及PDCP属于第二层(层二),RRC属于第三层(层三)。在一种实现中,PDCP层之上还可以包括业务数据适配(service data adaptation protocol,SDAP)层。
在空口传输中,虽然数据包在发射端空口是按序发出,但由于无线信道的不稳定,在接收端接收的顺序很有可能是乱序的。在确认模式(Acknowledge Mode,AM)下,需要保证接收到的PDCP协议数据单元(Protocol Data Unit,PDCP PDU)按序向上层或者核心网设备递交(deliver)。目前,网络设备和终端的协议层中的PDCP层和RLC层支持对数据包的重排序功能。以接收设备(例如终端或者网络设备)的PDCP实体对数据包的重排序为例进行说明。
图1所示的为接收设备的PDCP实体对数据包的重排序和递交的示意性。图1中每个小长方形代表一个PDCP PDU,上面的数字代表数据包的序列号(Sequence Number,SN),SN可以理解为PDCP PDU的编号。假设SN的范围是0~1023,重排序窗口(以下简称为“窗口”)初始化时的窗口下边界是SN=0,窗口上边界是SN=511,其中,窗口长度=上边界SN-下边界SN,窗口长度一般是协议定义好的,窗口长度的值可以等于SN/2。接收设备的PDCP接收到的数据包的SN号在PDCP的重排序窗口内才会被PDCP实体处理。重排序窗口是滑动的,而SN是周期性出现的。例如,重排序窗口的上边界和下边界的SN之间的差值的绝对值为511。但是上边界SN的取值范围可以为0至1023,下边界SN的取值范围也可以为0至1023。当重排序窗口上边界SN的取值范围在512至1023之间时,下边界SN的取值小于上边界SN的取值。但是当重排序窗口上边界SN的取值范围在0至512之间时,下边界SN的取值大于上边界的取值。
如图1所示,假设当前的重排序窗口下边界SN=0,上边界SN=512。接收设备的PDCP层实体收到SN=0的PDCP PDU,PDCP层实体会将当前的SN=0的PDCP PDU处理后得到PDCP服务数据单元(service data unit,PDCP SDU),并直接向上层递交SN=0的PDCP SDU,对于一个PDCP PDU经过处理后得到的PDCP SDU,其与处理前对应的PDCP PDU的SN相同。PDCP层实体递交SN=0的PDCP SDU后,窗口向右滑动1个SN,即窗口的下边界的值变为SN=1,窗口的上边界变为SN=512,同时,上一个递交的PDCP SDU的SN变为0,上一个递交的PDCPSDU的SN可以用“Last_Submitted_PDCP_RX_SN”表示。窗口的下边界的SN表示下一个期待接收到的PDCP SDU的SN,下一个期待接收到的PDCP PDU的SN可以用“Next_PDCP_RX_SN”来表示。窗口的下边界的SN可以等于Next-PDCP-RX-SN的值或者等于Next-PDCP-RX-SN的值减1。在本申请中,以窗口的下边界的SN等于Next-PDCP-RX-SN的值为例进行说明。PDCP层实体后续收到SN=1的PDCP PDU也会处理后得到SN=1的PDCP SDU,并马上递交SN=1的PDCP SDU,同时将窗口向右滑动,此时,窗口下边界变为SN=2,上边界SN=513。窗口下边界变为SN=2表示下一个期待接收到的PDCP PDU的SN为2,上一个递交的PDCP SDU的SN变为1。
因为上一次按序递交的PDCP SDU的SN=1,正常应该接收的下一个SN=2的PDCPPDU。当接收设备PDCP层收到SN=3的PDCP PDU后,认为出现了乱序传输,启动重排序定时器(t-Reordering),同时在PDCP层存储(store)SN=3的PDCP PDU。如果重排序定时器运行过程中SN=2的PDCP PDU到达,则接收设备的PDCP层实体会将SN=2的PDCP SDU和SN=3的PDCP SDU按序递交给上层,同时停止重排序定时器,将窗口滑动2个SN,即窗口下边界变为SN=4,上边界变为SN=515。否则,如果在重排序定时器超时的时刻还没有接收到SN=2的PDCP PDU,在重排序定时器超时的时刻则直接递交SN=3的PDCP SDU,并且将窗口滑动2个SN,即窗口下边界变为SN=4,上边界变为SN=515,意味着丢弃(discarded)了SN=2的PDCPPDU,即认为SN=2的PDCP SDU已经失效。SN=2已经不在重排序窗口内,由于重排序窗口是滑动的,而SN是周期性出现的,在重排序窗口重新包含SN=2之前,不会在递交SN=2的PDCPSDU。
在重排序定时器超时前,如果还接收到SN=4的PDCP PDU,在重排序定时器超时的时刻,则将该SN=3的PDCP PDU和SN=4的PDCP PDU进行处理后一同递交。并且将窗口再滑动1个SN,即窗口下边界变为SN=5,上边界变为SN=516,SN=5表示期望下一个接收到的为SN=5的PDCP PDU。
在将SN=3的PDCP PDU和SN=4的PDCP PDU进行处理一同递交后,如果接收到了SN=7的PDCP PDU,而期望下一个接收到的为SN=5的PDCP PDU。PDCP PDU出现乱序,则重排序定时器重新启动。在重排序定时器运行的期间,如果接收到了SN=5的PDCP PDU,则将该SN=5的PDCP PDU进行处理后递交,此时,不停止重排序定时器。并且将窗口滑动1个SN,即窗口下边界变为SN=6,上边界变为SN=517,SN=6表示期望下一个接收到的为SN=6的PDCPPDU。
在重排序定时器超时前(运行期间),如果还接收到SN=6的PDCP PDU,则将该SN=6的PDCP PDU和SN=7的PDCP PDU进行处理后一同递交。并且将窗口滑动2个SN,即窗口下边界变为SN=8,上边界变为SN=518,并停止该重排序定时器。在重排序定时器超时前(运行期间),如果没有接收到SN=6的PDCP PDU,在重排序定时器超时的时刻则直接递交SN=7的PDCP SDU,并且将窗口滑动2个SN,即窗口下边界变为SN=8,上边界变为SN=518,意味着丢弃(discarded)了SN=6的PDCP PDU,即认为SN=6的PDCP SDU已经失效,后续不会递交SN=6的PDCP SDU。
每个数据无线承载(data radio bearer,DRB)都会被配置一个服务质量(qualityof service,QOS)信息,QoS信息包括这个DRB承载的数据包的传输的时延和可靠性要求。由于每个DRB对应的重排序定时器的长度都是固定的,一个DRB承载的多个PDCP PDU对应着一个固定时长的重排序定时器。这就导致某些PDCP PDU因为重排序定时的限制而出现超过该PDCP PDU的时延要求的情况。例如,在图1中所示的例子中,一旦SN=2的PDCP PDU如果在传输中出现了丢失,无论SN=3的PDCP PDU何时到达,SN=3的PDCP PDU的到达都会触发重排序定时器的启动,SN=3的PDCP SDU只能等到重排序定时器超时才能递交,并没有考虑到SN=3的PDCP PDU已经传输的时间,SN=3的PDCP PDU已经传输的时间可以理解为SN=3的PDCP PDU从到达发送设备的PDCP层的入口的时刻开始,到接收设备的PDCP层入口的时刻截止的这一段时间。由于SN=3的PDCP SDU还需要等到重排序定时器超时后才能递交,SN=3的PDCP SDU因为重排序定时器等待的时间加上已经传输的时间很有可能超过了该SN=3的PDCP SDU的时延要求。这就导致了SN=3的PDCP SDU因为等待SN=2的PDCP SDU而出现超时,严重影响了SN=3的PDCP SDU的传输效率,影响通信效率。
有鉴于此,本申请提供了一种数据包传输的方法,当数据包由于等待乱序的数据包接收而处于未递交状态时,可以在该数据包对应的时延截止时刻递交该数据包。例如,可以在该数据包对应的时延截止时刻或者在该截止时刻之前递交该数据包。每个数据包的递交不再受限于等待乱序的数据包接收的等待时长的限制(例如重排序定时器的限制)。从而解决了因为乱序接收可能导致的数据包的超时递交的问题,保障了数据包时延要求,提高了数据包的传输效率。
为便于理解本申请实施例,首先结合图2简单介绍适用于本申请实施例的通信系统。
图2是适用于本申请实施例的通信系统的示意图。如图2所示,该移动通信系统100可以包括核心网设备110、无线接入网设备120和至少一个终端(如图2中所示的终端130和终端140)。终端通过无线的方式与无线接入网设备相连,无线接入网设备通过无线或有线方式与核心网设备连接。核心网设备与无线接入网设备可以是独立的不同的物理设备,也可以是将核心网设备的功能与无线接入网设备的逻辑功能集成在同一个物理设备上,还可以是一个物理设备上集成了部分核心网设备的功能和部分的无线接入网设备的功能。终端可以是固定位置的,也可以是可移动的。终端可以将上行的数据包传输到无线接入网络设备120,由无线接入网络设备120发送到核心网设备110。无线接入网络设备120也可以将来自于核心网设备110的下行数据包传输到终端。进一步的,该上行数据包或者下行数据包对传输时延敏感,并且具有按序传输和递交的要求。
无线接入网设备可以包括基带装置和射频装置,其中基带装置可以由一个节点实现,也可以由多个节点实现,射频装置可以从基带装置拉远独立实现,也可以集成基带装置中,或者部分拉远部分集成在基带装置中。例如,在长期演进(long term evolution,LTE)通信系统中,无线接入网设备包括基带装置和射频装置,其中射频装置可以相对于基带装置拉远布置,例如射频拉远单元(remote radio unit,RRU)相对于BBU拉远布置。
终端和无线接入网设备之间的通信遵循一定的协议层结构。例如,无线接入网设备的协议层从低到高依次为:物理层、MAC层、RLC层、PDCP层以及RRC层等。终端的协议层从低到高依次为:物理层、MAC层、RLC层、PDCP层以及RRC层等。
这些协议层的功能可以由一个节点实现,或者可以由多个节点实现;例如,在一种演进结构中,无线接入网设备可以包括集中单元(centralized unit,CU)和分布单元(distributed unit,DU),多个DU可以由一个CU集中控制。CU和DU可以根据无线网络的协议层划分,例如,PDCP层及以上协议层的功能设置在CU,PDCP以下的协议层,RLC层和MAC层等的功能设置在DU等。这种协议层的划分仅仅是一种举例,还可以在其它协议层划分,例如在RLC层划分,将RLC层及以上协议层的功能设置在CU,RLC层以下协议层的功能设置在DU;或者,在某个协议层中划分,例如将RLC层的部分功能和RLC层以上的协议层的功能设置在CU,将RLC层的剩余功能和RLC层以下的协议层的功能设置在DU。此外,也可以按其它方式划分,例如按时延划分,将处理时间需要满足时延要求的功能设置在DU,不需要满足该时延要求的功能设置在CU。
此外,射频装置可以拉远,不放在DU中,也可以集成在DU中,或者部分拉远部分集成在DU中,在此不作任何限制。
应理解。图2只是示意图,该通信系统中还可以包括其它网络设备,如还可以包括无线中继设备和无线回传设备,在图2中未画出。本申请的实施例对该移动通信系统中包括的核心网设备、无线接入网设备和终端的数量不做限定。在移动通信系统100中,无线接入网设备120可以是上述的网络设备。
下面结合图3详细说明本申请提供的数据包传输的方法,图3是本申请一个实施例的数据包传输的方法200的示意性流程图,该方法200可以应用在图2所示的场景中,例如,可以应用在对数据包传输时延敏感、并且对数据包有按序传输和递交的场景中,包括工程自动化、流程控制等场景中。本申请实施例在此不作限制。
应理解,下文的描述中,以接收设备作为各个实施例的执行方法的执行主体为例,对各个实施例的方法进行说明。接收设备可以是上述的终端或者接入网设备,对应的,发送设备可以是接入网设备或者终端。作为示例而非限定,执行方法的执行主体也可以是应用于接收设备的芯片。该接收设备可以是终端或者网络设备等。更为具体的,执行方法的执行主体可以是接收设备的RLC层实体或者PDCP层实体,当然也可以是其它具有相同重排序功能的实体。
如图3所示,图3中示出的方法200可以包括步骤S210至步骤S220。下面结合图3详细说明方法200中的各个步骤。该方法200包括:
S210,接收设备接收数据包,该数据包处于未递交状态。
S220,在重排序定时器运行期间,当该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时,接收设备递交该数据包。
具体而言,在S210中,接收设备接收数据包,为了方便描述,下文以接收到第N个数据包为例进行说明。N为正整数,这里的N可以理解为这个数据包的SN,或者,可以理解为这个数据包的计数值COUNT。其中,数据包的SN或者COUNT的最小值为0,数据包可为PDCP PDU等。发送设备发送数据包是按序发送的,在一个SN的周期内,数据包的SN的取值范围为0至1023,即在一个SN的周期内,发送设备按照数据包的序列号SN从小到大的顺序依次发送,SN较小的数据包相对于SN较大的数据包早发送,SN为0的数据包第一个发送。但是接收设备接收发送设备发送的数据包时可能存在乱序。例如,当重排序窗口上边界SN的取值范围在512至1023之间时,如果重排序窗口内SN比较大的数据包先接收到,SN比较小的数据包后接收到,则会造成乱序接收。
在接收设备接收该第N个数据包时,第N个数据包处于未递交状态,第N个数据包处于未递交状态可以理解为第N个数据包处于等待重排序窗口内第N个数据包之前的数据包接收而没有向上层递交的状态。上层可以理解为比RLC层或者PDCP层更高的协议层,例如,上层可以包括RRC层和SDAP层,或者上层也可以理解为核心网设备。重排序窗口内第N个数据包之前的数据包可以理解为在时域上相比第N个数据包更靠近重排序窗口下边界的数据包。重排序窗口内第N个数据包之前的数据包的SN可以大于N,也可以小于N。例如,当重排序窗口上边界SN的取值范围在512至1023之间时,即重排序窗口在一个SN周期内,重排序窗口内第N个数据包之前的数据包可以为SN小于N的数据包。当重排序窗口上边界SN的取值范围在0至511之间时,即重排序窗口可能横跨两个SN周期的边界,在这种情况下,重排序窗口内第N个数据包之前的数据包可以为SN小于N的数据包,或者,也可以为SN大于N的数据包。例如。假设重排序窗口上边界为第二个SN周期的368,重排序窗口下边界为第一个SN周期的879,如果第N个数据包在第一个SN周期内,则重排序窗口内第N个数据包之前的数据包可以为SN小于N的数据包。如果第N个数据包在第二个SN周期内,则重排序窗口内第N个数据包之前的数据包可以包括第一个SN周期内SN为879至1023、以及第二个SN周期内SN为0至N中的任意一个或者多个数据包。
接收设备接收到第N个数据包可能是乱序接收的,并不是按照数据包的序列号接收的。例如,假设N等于4,接收设备已经接收并递交了第1个数据包和第2个数据包,此时接收到了第4个数据包,则第4个数据包需要等第3个数据包的接收而处于等待状态,即第4个数据包处于未递交的状态。
由于第N个数据包处于未递交状态,则重排序定时器会处于运行状态。重排序定时器(t-Reordering)在接收到乱序的数据包时启动。在接收该第N个数据包时,重排序定时器处于运行状态。重排序定时器可以是由该第N个数据包的接收触发启动,即接收设备接收该第N个数据包时,重排序定时器才启动。例如,假设N为4,接收设备在接收该第4个数据包之前,已经接收到第1个和第2个数据包并将第1个和第2个数据包递交给上层或者核心网设备。之后接收设备接到了第4个数据包。此时数据包出现乱序接收,由于第3个数据包还没有接收到,因此,重排序定时器启动。即重排序定时器是因为接到了该第4个数据包启动。重排序定时器的启动是为了等待第3个数据包的接收。当然,重排序定时器也可以是由该第N个数据包之前接收到的数据包触发启动,即接收设备接收该第N个数据包时,重排序定时器已经处于运行状态。例如,假设N为5,接收设备在接收该第5个数据包之前,已经接收到第1个、第2个、第4个数据包,由于第1个和第2个数据包按序接收,接收设备会将第1个和第2个数据包递交。由于第3个数据包还没有接收到,并且接收到了第4个数据包,则第4个数据包会触发该重排序定时器的启动,重排序定时器的启动是为了等待第3个数据包的接收。在接收到第4个数据包之后,接收设备接收第5个数据包,则在接收到第5个数据包,重排序定时器已经处于运行状态了。即重排序定时器并不是由第5个数据的接收包触发启动。
在S220中,在重排序定时器运行期间,当第N个数据包对应的时延截止时刻到达或重排序窗口内第N个数据包之前的数据包对应的时延截止时刻到达时,向上层递交该第N个数据包。
具体而言,接收设备在接收到第N个数据包后,由于重排序定时器处于运行状态(重排序定时器运行期间)。接收设备可以忽略重排序定时器的限制,即使重排序定时器还在运行期间,当第N个数据包对应的时延截止时刻到达或重排序窗口内第N个数据包之前的数据包的时延截止时刻到达时,向上层递交第N个数据包。第N个数据包对应的时延截止时刻也可以称为第N个数据包对应的最晚递交时间或者递交截止时间,或者也可以称为第N个数据包对应的生存时间的超时时刻。重排序窗口的上边界和下边界是动态变化的。例如,当递交了一个数据包后,重排序窗口的上边界和下边界的值分别加1。应该理解的是,由于SN是循环的,例如,SN的取值范围为0至1023,当重排序窗口的上边界或者下边界的SN为1023时。重排序窗口的上边界或者下边界的值加1后为0,即为下一个SN周期的第1个数据包。
作为一种可能的情况:重排序窗口内第N个数据包之前的数据包的时延截止时刻可以早于第N个数据包的时延截止时刻。具体的,由于发送设备发送每一个数据包的发送时刻是不同,因此,每一个数据包对应的时延截止时刻(最晚递交时间)也是不同的。数据包的发送时刻可以理解为数据包到达发送设备的PDCP层的入口的时刻。假设对于一个DRB承载的所有数据包,其时延预算(Delay budget)是相同的,时延预算可以理解为数据包的时延要求或者最大容忍时延。例如,假设一个DRB承载的所有数据包的时延要求为5ms,发送设备发送第1个数据包的发送时刻为T0,则接收设备应最晚在T0+5ms时刻将第1个数据包递交给上层,否则第1个数据包就要超过时延要求。即第1个数据包的时延截止时刻为T0+5ms。假设发送设备发送第2个数据包的发送时刻为T0+1ms,则接收设备应该最晚在T0+6ms时刻将第2个数据包递交给上层,否则第2个数据包就要超过时延要求,即第2个数据包的时延截止时刻为T0+6ms。可以看出,由于发送设备发送每个数据包的发送时刻是不同的,而每个数据包的对应的时延要求相同,因此,每一个数据包对应的时延截止时刻也是不同的。发送时刻较早的数据包的时延截止时刻也较早,发送时刻较晚的数据的数据包的最大时延的截止时刻也较晚。在这种情况下,可以在第N个数据包之前的数据包对应的时延截止时刻到达或者在第N个数据包对应的时延截止时刻到达时,向上层递交该第N个数据包。
作为另一种可能的情况:如果一个DRB中部分数据包或者所有的数据包都有不同的时延要求,那么就会可能出现第N个数据包之前的数据包的时延截止时刻晚于第N个数据包的时延截止时刻,在这种情况下,可以在第N个数据包对应的时延截止时刻到达时,向上层递交该第N个数据包。
本申请提供的数据包传输的方法,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态(未超时),也可以在该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时递交该数据包。每个数据包的递交不再受限于重排序定时器的限制。从而解决了由于重排序定时器的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。提高了数据包的传输效率。
可选的,在本申请的另一些可能的实现方式中,该重排序窗口内第N个数据包之前的数据包对应的时延截止时刻为该重排序窗口内该第N个数据包之前、时延截止时刻没有超时的数据包中时延截止时刻最早的数据包对应的时延截止时刻。
具体而言,可以将该重排序窗口内该第N个数据包之前、并且时延截止时刻没有超时的数据包中时延截止时刻最早的数据包对应的时延截止时刻作为递交第N个数据包以及与第N个数据包连续的数据包的时刻。时延截止时刻没有超时的数据包可以理解为时延截止时刻晚于接收到第N个数据时的时刻的数据包。即接收设备接收到该第N个数据包的时刻早于某一个数据包的时延截止时刻,则这个数据包为时延截止时刻没有超时的数据包。例如,假设第N个数据包的接收时刻为T0时刻,如果某一个数据包的时延截止时刻晚于T0时刻,则这个数据包为时延截止时刻没有超时的数据包。如果某一个数据包的时延截止时刻早于T0时刻,则这个数据包为时延截止时刻已经超时的数据包。递交第N个数据包的时刻可以为该重排序窗口内、时延截止时刻没有超时的数据包中时延截止时刻最早的数据包的时延截止时刻。时延截止时刻没有超时的数据包可以是该重排序窗口内已经存储的数据包,或者也可以是该重排序窗口内还没有接收到(没有存储)的数据包。
举例说明:假设N为5,重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。假设接收设备已经接收并递交了第1个数据包和第2个数据包,接收设备还没有接收到第3个数据包和第4个数据包,此时接收到了第5个数据包,第5个数据包处于等待第3个和第4个数据包的接收的等待状态。第5个数据包触发重排序定时器的启动。在重排序定时器运行期间,如果第4个数据包接收到了,而第3个数据包的还没有接收到。假设重排序定时器的超时时刻晚于第3个数据包的时延截止时刻,如果第3个数据包的时延截止时刻到达时还没有接收第3个数据包,意味着第3个数据包已经失效,将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=4。并将接收到的与第3个数据包连续的数据包递交,接收到的与第3个数据包连续的数据包为第4个数据包和第5个数据包。因此,在第3个数据包的时延截止时刻会递交第4个和第5个数据包。然后将重排序窗口的下边界和上边界的值分别在加2,则重排序窗口的下边界变为SN=6。并停止重排序定时器。第5个数据包之前时延截止时刻没有超时的数据包包括的3个和第4个数据包,而第3个数据包为时延截止时刻没有超时的数据包中时延截止时刻最早的数据包。
可选的,在本申请的另一些可能的实现方式中,该重排序窗口内第N个数据包之前的数据包对应的时延截止时刻为该重排序窗口内从该第N个数据包向前算起第一个没有接收到的数据包对应的时延截止时刻。从该第N个数据包向前算起可以理解为在重排序窗口内从第N个数据包开始,向时域更靠近重排序窗口下边界的方向开始算起。例如,重排序窗口上边界SN的取值范围在512至1023之间时,该第N个数据包向前算起第一个没有接收到的数据包的SN将小于N。
举例说明,假设:N为4,重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。接收设备已经接收并递交了第1个数据包和第2个数据包,接收设备还没有接收到第3个数据包,第4个数据包处于等待第3个数据包的接收的等待状态。第4个数据包触发重排序定时器的启动。如果第3个数据包的时延截止时刻到达时还没有接收该第3个数据包,并且重排序定时器还没有超时,意味着第3个数据包已经失效,在第3个数据包的时延截止时刻,将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=4,并将接收到的与第3个数据包连续的数据包递交,接收到的与第3个数据包连续的数据包为第4个数据包。因此,在第3个数据包的时延截止时刻会递交第4个数据包并停止重排序定时器。然后将重排序窗口的下边界和上边界的值分别在加1,则重排序窗口的下边界变为SN=5。第3个数据包为该第4个数据包向前算起第一个没有接收到的数据包。
可选的,在本申请的另一些可能的实现方式中,该重排序窗口内第N个数据包之前的数据包对应的时延截止时刻为该重排序窗口内第N个数据包的前一个的数据包的时延截止时刻。
具体而言,可以利用重排序窗口内第N个数据包的前一个的数据包的时延截止时刻作为递交第N个数据包以及与第N个数据包连续的数据包的时刻。
举例说明:假设N为5,重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。假设接收设备已经接收并递交了第1个数据包和第2个数据包,接收设备还没有接收到第3个数据包和第4个数据包,第5个数据包处于等待第3个和第4个数据包的接收的等待状态。第5个数据包触发重排序定时器的启动。在重排序定时器运行期间,假设重排序定时器的超时时刻晚于第3个数据包的时延截止时刻,如果第4个数据包还没有接收到,并且在第3个数据包的时延截止时刻到达时还没有接收该第3个数据包,意味着第3个数据包已经失效,在第3个数据包的时延截止时刻,将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=4。此时,可以重启重排序定时器或者继续运行重排序定时器,并且将接收到的与第3个数据包连续的数据包递交。而与第3个数据包连续的第4个数据包还没有接收到,因此还不会递交第5个数据包。如果第4个数据包的时延截止时刻早于重排序定时器超时的时刻,并且第4个数据包的时延截止时刻到达时还没有接收该第4个数据包,则意味着第4个数据包已经失效,在第4个数据包的时延截止时刻,将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=5,并且将接收到的与第4个数据包连续的数据包递交。而与第4个数据包连续的第5个数据包已经接收到了。因此会将第5个数据包递交。然后将重排序窗口的下边界和上边界的值分别在加1,则重排序窗口的下边界变为SN=6,并停止重排序定时器。即利用第4个数据包的时延截止时刻作为递交第5个数据包以及后续接收到的与第5个数据包连续的数据包的递交时刻。
可选的,如果第4个数据包的时延截止时刻晚于重排序定时器超时的时刻,则可以在重排序定时器超时的时刻,递交第5个数据包以及接收到的与第5个数据包连续的数据包,然后将重排序窗口的下边界和上边界的值分别在加1,则重排序窗口的下边界变为SN=6
应理解,重排序定时器的超时时刻可以晚于第N个数据包对应的时延截止时刻或重排序窗口内第N个数据包之前的数据包的时延截止时刻。当然,重排序定时器的超时时刻可以早于或者等于第N个数据包对应的时延截止时刻或重排序窗口内第N个数据包之前的数据包的时延截止时刻。如果重排序定时器的超时时刻早于或者等于第N个数据包对应的时延截止时刻或重排序窗口内第N个数据包之前的数据包的时延截止时刻,也可以在重排序定时的超时时刻递交该第N个数据包、第N个数据包之前的已经存储的数据包以及与第N个数据包连续的数据包。
在本申请实施例中,如果触发启动重排序定时器的数据包(以第N个数据包为例)之前的数据包的时延截止时刻晚于重排序定时器的超时时刻,则可以根据第N个数据包之前的数据包的时延截止时刻和重排序定时器的超时时刻之间的时间差值,确定是否在第N个数据包之前的数据包的时延截止时刻丢弃该第N个数据包之前的数据包。
举例说明:假设:N为4,重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。接收设备已经接收并递交了第1个数据包和第2个数据包,接收设备还没有接收到第3个数据包,但是接收到了第4个数据包。第4个数据包处于等待第3个数据包的接收的未递交状态。如果第3个数据包的时延截止时刻晚于重排序定时器的超时时刻,在重排序定时器超时前没有接收到第3个数据包。则根据第3个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度(时间差),确定是否在第3个数据包的时延截止时刻丢弃第3个数据包以及递交第4个数据包。例如,如果第3个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度小于或者等于预设的阈值,则不在重排序定时器超时时刻丢弃第3个数据包以及递交第4个数据包,而等到第3个数据包的时延截止时刻。如果在第3个数据包的时延截止时刻到达时接收到了第3个数据包,则将第3个数据包和第4个数据包一起递交。如果在第3个数据包的时延截止时刻到达时还没有接收到了第3个数据包,则将第3个数据包丢弃并递交第4个数据包,并将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=5。在等待第3个数据包的时延截止时刻的这段时间内,第3个数据包可能会接收到。这样可以防止过早的丢弃第3个数据包,提高了第3个数据包的接收概率和成功率。如果第3个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度大于预设的阈值,则可以在重排序定时器超时的时刻丢弃第3个数据包以及递交第4个数据包,并将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=5。这样可以避免第4个数据包因为等待时间过长而超过时延截止时刻。保证了第4个数据包的时延要求。进一步的,如果第3个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度大于预设的阈值,由于重排序定时器的超时时刻先到达,则可以从重排序定时器的超时时刻算起,在预设的等待时间后,如果在预设的等待时间到达时接收到了第3个数据包,则将第3个数据包和第4个数据包一起递交。如果在预设的等待时间到达时还没有接收到了第3个数据包,则将第3个数据包丢弃并递交第4个数据包。在预设的等待时间内,第3个数据包可能会接收到。这样可以既可以防止过早的丢弃第3个数据包,提高了第3个数据包的接收概率和成功率,又可以避免第4个数据包因为等待时间过长而超过时延截止时刻。
又例如,假设N为5,重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。假设接收设备已经接收并递交了第1个数据包和第2个数据包,接收设备还没有接收到第3个数据包和第4个数据包,第5个数据包处于等待第3个和第4个数据包的接收的等待状态。第5个数据包触发重排序定时器的启动。在重排序定时器运行期间,如果第4个数据包和第3个数包还没有接收到,并且第3个数据包的时延截止时刻晚于重排序定时器的超时时刻。如果第3个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度小于或者等于预设的阈值,则不在重排序定时器超时的时刻丢弃第3个数据包。等到第3个数据包的时延截止时刻,如果第3个数据包还没有接收到,则丢弃第3个数据包,并将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=4。此时可以重启重排序定时器。然后继续利用重排序定时器的超时时刻和第4个数据包的时延截止时刻比较。在重排序定时器运行期间,如果第4个数据包还没有接收到,并且第4个数据包的时延截止时刻晚于重排序定时器的超时时刻,在第4个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度小于或者等于预设的阈值时,则不在重排序定时器超时的时刻丢弃第4个数据包。等到第4个数据包的时延截止时刻,如果在第4个数据包的时延截止时刻到达时接收到了第4个数据包,则将第4个数据包和第5个数据包一起递交。如果在第4个数据包的时延截止时刻到达时还没有接收到了第4个数据包,则将第4个数据包丢弃并递交第5个数据包。并将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=6。在等待第4个数据包的时延截止时刻到达的这段时间内,第4个数据包可能会接收到。这样可以防止过早的丢弃第3个和第4个数据包,提高了第3个和第4个数据包的接收概率和成功率,
可选的,在本申请的一些可能的实现方式中,如图4所示,图4是本申请一些实施例中的数据包传输的方法的示意性流程图,在图3所示的方法步骤的基础上,该方法200还包括:
S230,接收设备停止该重排序定时器。
图4所示的步骤S210和S220可以参考上述对于S210和S220的相关描述,为了简洁,这里不再赘述。
在第N个数据包对应的时延截止时刻到达或重排序窗口内第N个数据包之前的数据包的时延截止时刻到达时,向上层递交第N个数据包,并且,如果重排序定时器还在运行,则停止(或者重置)重排序定时器。如果接收到与第N个数据包连续的数据包,则直接可以递交该与第N个数据包连续的数据包。避免重排序定时器对与第N个数据包连续的数据包递交的影响,保障了与第N个数据包连续的数据包的时延要求。如果再次接收到乱序的数据包,则重排序定时重启启动,并且,对于该数据包,当该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时,递交该数据包。
本申请提供的数据包传输的方法,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态(未超时),也可以在在第N个数据包对应的时延截止时刻到达或重排序窗口内第N个数据包之前的数据包的时延截止时刻递交该数据包,并停止或者重置重排序定时器。每个数据包的递交不再受限于重排序定时器的限制。从而解决了重排序定时器额的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。
可选的,在本申请的一些可能的实现方式中,在上述的步骤S220中,接收设备除了递交该第N个数据包之外,还递交重排序窗口内接收到的第N个数据包之前的数据包,以及递交重排序窗口内已经存储的、第N个数据包之后并且与第N个数据包的序列号N连续的数据包。
具体而言,在第N个数据包对应的时延截止时刻到达或重排序窗口内第N个数据包之前的数据包的时延截止时刻到达时,在第N个数据包的时延截止时刻,除了递交第N个数据包,还可以递交已经接收到的(或者重排序窗口已经存储的)第N个数据包之前的数据包(无论第N个数据包之前的数据包是否与第N个数据包连续),以及已经接到(或者重排序窗口已经存储的)的第N个数据包之后、并且与第N个数据包连续的数据包。这里的重排序窗口内第N个数据包之前的数据包可以理解为在时域上相比第N个数据包更靠近重排序窗口下边界的数据包,重排序窗口内第N个数据包之后的数据包可以理解为在时域上相比第N个数据包更靠近重排序窗口上边界的数据包。
应理解,对于某一个数据包,如果这个数据包之前的数据包的时延截止时刻早于这个数据包的时延截止时刻。在这个数据包时延截止时刻到达时,如果这个数据包已经接收到,则递交这个数据包以及这个数据包之前已经存储的数据包,并且递交这个数据包之后与这个数据包连续的数据包。如果这个数据包没有接收到,则丢弃这个数据包,并递交这个数据包之前已经存储的数据包以及这个数据包之后这个数据包连续的数据包。在上述的两种情况下,无论这个数据包之前已经存储的数据包是否与这个数据包连续,均递交这个数据包之前已经存储的数据包。并且,这个数据包之前还没有接收到的数据包则被丢弃
下面结合图5举例说明:
如图5所示的,假设重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。假设N为6,接收设备在接收该第6个数据包之前,已经接收到第1个和第2个数据包并将第1个和第2个数据包递交,之后接收设备接到了第6个数据包。由于存在乱序,此时,需要启动重排序定时器,第6个数据包不会立即递交,而是等待第3个、第4个以及第5个数据包的接收。第6个数据包为重排序窗口内已经存储的数据包。第6个数据包的时延截止时刻早于重排序定时器的超时时刻。在第6个数据包的时延截止时刻到达之前,接收设备又接收到了第4个数据包、第7个数据包以及第9个数据包,在接收到第9个数据包后,第6个数据包的时延截止时刻到达。第6个数据包的时延截止时刻到达时,第4个数据包、第7个数据包以及第9个数据包也为该重排序窗口内已经存储的数据包。此时,即使重排定时器还没有超时,接收设备仍然递交第4个数据包、第6个数据包以及第7个数据包,并停止或者重置重排定时器。这里的第4个数据包为已经接收到的第6个数据包之前的数据包,即使第4个数据包与第6个数据包并不连续,即递交第6个数据包以及第6个数据包之前已经存储的数据包(无论是否与第6个数据包连续)。第7个数据包和第9个数据包为已经接到的第N个数据包之后数据包。第7个数据包与第6个数据包连续,但是由于第9个数据并不与第7个数据包连续,因此,并不递交第9个数据包。即在第6个数据包的时延截止时刻,递交已经接收到的第6个数据包之前的数据包,以及重排序窗口内已经存储的、第6个数据包之后并且与第6个数据包的序列号N连续的数据包。
应理解,上述的几种方式仅仅是对递交第N个数据包的时刻的几种举例,在本申请实施例中,递交第N个数据包的时延截止时刻还可以是其他时刻,只要该时刻早于第N个数据包对应的时延截止时刻并且晚于接收到该第N个数据包的时刻即可,本申请在此不作限制。
可选的,在本申请的一些可能的实现方式中,在将数据包递交之后,接收设备可以将已经递交的数据包中的最大序列号加1作为所述重排序窗口的下边界的值。或者,将时延截止时刻到达的数据包的序列号加1作为所述重排序窗口的下边界的值。
具体而言,接收设备可以将已经递交的数据包中的最大序列号加1作为重排序窗口的下边界的值(下一个期望接收的数据包的序列号),或者也可以将时延截止时刻到达的数据包的序列号加1作为所述重排序窗口的下边界的值(下一个期望接收的数据包的序列号)。已经递交的数据包括:已经接收到的(或者已经存储的)第N个数据包之前的数据包,以及已经接到的第N个数据包之后的并且与N连续的数据包。时延截止时刻到达(超时)的数据包可以为第N个数据包之前的数据包。下一个期待接收到的数据包的SN可以用“Next_PDCP_RX_SN”来表示。结合图5所示的例子,已经递交的数据包的第4个数据包。第6个数据包以及第7个数据包,则将“Next_PDCP_RX_SN”设置为8,表示下一个期望接接收到的为第8个数据包。同时,重排窗口的下边界变为SN=8,上边界变为SN=518。应该理解的是,由于SN是循环的,SN的取值范围为0至1023,当重排序窗口的上边界或者下边界的SN为1023时。重排序窗口的上边界或者下边界的值加1后为0,即为下一个SN周期的第1个数据包。
例如,在图5所示的例子中,由于第9个数据包已经接收到了,在第9个数据包的时延截止时刻到达前,如果第8个数据包也接收到,则可以将第8个数据包和第9个数据包一起递交,将“Next_PDCP_RX_SN”的值设置为10。同时,重排窗口的下边界变为SN=10,上边界变为SN=520。如果在第9个数据包的时延截止时刻之前还没有接收到该第8个数据包,则将第9个数据包递交,将“Next_PDCP_RX_SN”的值也设置为10,同时,重排窗口的下边界变为SN=10,上边界变为SN=520。
在本申请的实例中,接收设备确定每个数据包的时延截止时刻的可以通过如下两种方式,以确定第N个数据包的时延截止时刻为例进行说明:
第一种方式:第N个数据包携带该第N个数据包的发送时刻,接收设备根据该第N个数据包的发送时刻以及传输时延预算,确定该第N个数据包对应的时延截止时刻。
具体而言,传输时延预算可以是预定义的或者是发送设备发送给接收设备的。对于一个DRB承载的所有数据包,其传输时延预算(delay budget)是相同的。对于第N个数据包和第N+M个数据包或者第N-M个数据包,其传输时延预算是相同的。并且,第N个数据包携带该第N个数据包的发送时刻,第N个数据包的发送时刻可以理解为第N个数据包到达发送设备的PDCP层的入口的时刻。接收设备在接收到该第N个数据包后,可以根据第N个数据包的发送时刻和传输时延预算,确定第N个数据包的时延截止时刻。假设第N个数据包的发送时刻为T1时刻,传输时延预算的用T2表示,则第N个数据包的时延截止时刻为T1+T2。类似的,对于其他的数据包,也可以利用这种方式确定其他数据包的时延截止时刻。可选的,发送设备可以通过其他信令将第N个数据包的发送时刻通知给接收设备。
第二种方式:根据第1个数据包对应的时延截止时刻和数据包的周期,确定该第N个数据包对应的时延截止时刻。
具体而言,如果数据包是周期性的发送的,由于每个数据包对应的传输时延预算是相同的,因此,周期性发送的数据包的时延截止时刻也是周期性的。例如,发送设备发送数据包的周期为1ms,传输时延预算为5ms,第1个数据包的发送时刻为T0,第1个数据包的时延截止时刻为T0+5ms。第2个数据包的发送时刻为T0+1ms,第2个数据包的时延截止时刻为T0+6ms。第3个数据包的发送时刻为T0+2ms,第3个数据包的时延截止时刻为T0+7ms。可以看出,数据包的时延截止时刻也是周期性的。因此,可以利用第1个数据包对应的时延截止时刻和数据包的周期,确定第N个数据包对应的时延截止时刻。例如,第1个数据包对应的时延截止时刻为Td,数据包的周期为S,则第N个数据包对应的时延截止时刻为Td+(N-1)S。类似的,对于其他的数据包,也可以利用这种方式确定其他数据包的时延截止时刻。其中,第1个数据包对应的时延截止时刻可携带在第1个数据包中,或者,发送设备可以通过其他信令将第1个数据包对应的时延截止时刻通知给接收设备。
应理解,在本申请实施例中,除了利用上述的两种方式确定每个数据包的时延截止时刻之外,还可以利用其他方式确定每个数据包的时延截止时刻。例如,发送设备可以提前向接收设备通知每个数据包的时延截止时刻等。本申请在此不作限制。
可选的,在本申请的一些可能的实现方式中,可以利用定时器的方式或者时长的方式维护数据包的递交时间。
例如,对于每个接收到的数据包,可以维护一个最大时延定时器。以第N个数据包为例,第N个数据包对应的最大时延定时器的启动时刻为第N个数据包的发送时刻,第N个数据包对应的最大时延定器的超时时刻为第N个数据包对应的时延截止时刻,或者为重排序窗口内第N个数据包之前的数据包对应的时延截止时刻。在最大时延定时器超时时,递交第N个数据包、已经接收到的第N个数据包之前的数据包以及已经接到的第N个数据包之后的与第N个数据包连续的数据包。对于其他的数据包,类似的也可以分别维护一个最大时延定时器,在最大时延定时器超时时刻,递交该数据包以及与该数据包连续的数据包。可选的,在利用最大时延定时器维护第N个数据包的递交时间时,例如,对于第N个数据包而言,发送设备可以在发送第N个数据包之前将第N个数据包的发送时刻通知给接收设备,接收设备在获取到第N个数据包的发送时刻后,便可以获知启动最大时延定时器的时刻。并且,根据传输时延预算等可以确定该第N个数据包对应的最大时延定器的超时时刻。最大时延定时器的时长等于或者小于传输时延预算。或者,发送设备也可以直接将第N个数据包对应的最大时延定器的超时时刻通知给接收设备。
又例如,对于每个接收到的数据包,可以维护一个时长,这里的时长用于确定接收到的数据包的最晚递交时间(时延截止时刻)。以第N个数据包为例,对于第N个数据包,接收设备可以维护一个时长,该时长可以理解为一个时间段。例如,该时间段可以是第N个数据包的发送时刻与时延截止时刻之间的时间长度。在该时长到期时(该时长的结束时刻到达),递交第N个数据包、已经接收到的第N个数据包之前的数据包以及已经接到的第N个数据包之后的与第N个数据包连续的数据包。或者,该时长也可以理解为一个时间点,例如,该时间点可以是第N个数据包的时延截止时刻或者第N个数据包之前的数据包的时延截止时刻。在该时长到期时,递交第N个数据包、已经接收到的第N个数据包之前的数据包以及已经接到的第N个数据包之后的与第N个数据包连续的数据包。对于其他的数据包,类似的也可以分别维护一个时长,在时长到期时,递交该数据包以及与该数据包连续的数据包。
应理解,在本申请实施例中,除了利用定时器和时长的方式维护数据包的时延截止时刻(最晚递交时间)之外,还可以利用其他方式确定数据包的时延截止时刻。
在第一时刻递交第N个数据包、已经接收到的第N个数据包之前的数据以及已经接到的第N个数据包之后的连续的数据包。本申请实施例在此不作限制。
应理解,在本申请的各个实施例中,第1、第2等只是为了便于描述。例如第1个数据包和第2个数据包只是为了表示出不同的数据包。而不应该数据包的本身产生任何影响,上述的第1、第2等不应该对本申请的实施例造成任何限制。
还应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述方法的各个实施例中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。
还应理解,上文对本申请实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
还应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,本申请实施例中,“预先设定”、“预先定义”可以通过在设备(例如,包括终端和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。
还应理解,本申请实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以相结合。
还应理解,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
以上结合图1至图5对本申请实施例的数据包传输的方法做了详细说明。以下,结合图6至图9对本申请实施例通信装置进行详细说明。
图6示出了本申请实施例的通信装置300的示意性框图,该装置300可以对应上述方法200中描述的接收设备,也可以是应用于接收设备的芯片或组件,并且,该装置300中各模块或单元分别用于执行上述方法200中接收设备所执行的各动作或处理过程,如图6所示,该通信装置300可以包括:通信单元310和处理单元320。
通信单元310,用于接收数据包,且该数据包处于未递交状态。
处理单元320,在重排序定时器运行期间,当该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时,递交该数据包。
本申请提供的通信装置,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态(未超时),该通信装置也可以在该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时递交该数据包。每个数据包的递交不再受限于重排序定时器的限制。从而解决了由于重排序定时器的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。提高了数据包的传输效率。
可选的,在本申请的一些可能的实现方式中,处理单元320还用于:停止该重排序定时器,其中,该重排序定时器由该数据包触发启动或者由在该数据包之前接收到的数据包触发启动,该数据包对应的时延截止时刻或该重排序窗口内该数据包之前的数据包的时延截止时刻到早于该重排序定时器的超时时刻。
可选的,在本申请的一些可能的实现方式中,该重排序窗口内该数据包之前的数据包的时延截止时刻为该重排序窗口内从该数据包向前算起第一个没有接收到的数据包对应的时延截止时刻。
可选的,在本申请的一些可能的实现方式中,该重排序窗口内该数据包之前的数据包的时延截止时刻为该重排序窗口内该数据包之前、并且时延截止时刻没有超时的数据包中时延截止时刻最早的数据包对应的时延截止时刻。
可选的,在本申请的一些可能的实现方式中,处理单元320还用于:递交该重排序窗口内已经存储的、并且在该数据包之前的数据包,以及递交该重排序窗口内已经存储的、该数据包之后并且与该数据包的序列号连续的数据包。
可选的,在本申请的一些可能的实现方式中,该数据包携带该数据包的发送时刻,处理单元320还用于:根据该数据包的发送时刻以及传输时延预算,确定该数据包对应的时延截止时刻。
可选的,在本申请的一些可能的实现方式中,处理单元320还用于:根据第1个数据包对应的时延截止时刻和数据包的周期,确定该数据包对应的时延截止时刻,其中,该数据包的序列号大于或者等于1。
可选的,在本申请的一些可能的实现方式中,处理单元320还用于:将已经递交的数据包中的最大序列号加1作为该重排序窗口的下边界的值,或者将时延截止时刻到达的数据包的序列号加1作为该重排序窗口的下边界的值。
可选的,在本申请的一些可能的实现方式中,该数据包对应的时延截止时刻为该数据包对应的最大时延定时器的超时时刻,或者,该数据包对应的时延截止时刻为该数据包对应的时长的截止时刻,
处理单元320还用于:在该最大时延定时器的超时时刻,递交该数据包,或者在该时长的截止时刻,递交该数据包。
应理解,装置300中各单元执行上述相应步骤的具体过程请参照前文中结合图3至图5所示的实施例以及方法200中的相关实施例的接收设备相关的描述,为了简洁,这里不加赘述。
可选的,通信单元310可以包括接收单元(模块)和发送单元(模块),用于执行前述方法200的各个实施例以及图3至图5所示的实施例中接收设备接收信息和发送信息的步骤。可选的,通信装置300还可以包括存储单元330,用于存储处理单元320和通信单元320执行的指令。处理单元320、通信单元310和存储单元330通信连接,存储单元330存储指令,处理单元320用于执行存储单元330存储的指令,通信单元310用于在处理单元320的驱动下执行具体的信号收发。
应理解,通信单元310可以是收发器、输入/输出接口或接口电路。存储单元330可以是存储器。处理单元320可由处理器实现。
还应理解,图6所示的通信装置300可以为网络设备或者终端;或者可以为网络设备或者终端中的芯片。
应理解,以上装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上任一装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific IntegratedCircuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA),或这些集成电路形式中至少两种的组合。再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
以上用于接收的单元是一种该装置的接口电路,用于从其它装置接收信号。例如,当该装置以芯片的方式实现时,该接收单元是该芯片用于从其它芯片或装置接收信号的接口电路。以上用于发送的单元是一种该装置的接口电路,用于向其它装置发送信号。例如,当该装置以芯片的方式实现时,该发送单元是该芯片用于向其它芯片或装置发送信号的接口电路。
图7为本申请实施例提供的一种网络设备的结构示意图。用于实现以上实施例中接收设备的操作。如图7所示,该网络设备包括:天线401、射频装置402、基带装置403。天线401与射频装置402连接。在上行方向上,射频装置402通过天线401接收终端发送的信息,将终端发送的信息发送给基带装置403进行处理。在下行方向上,基带装置403对终端的信息进行处理,并发送给射频装置402,射频装置402对终端的信息进行处理后经过天线401发送给终端。
基带装置403可以包括一个或多个处理元件4031,例如,包括一个主控CPU和其它集成电路。此外,该基带装置403还可以包括存储元件4032和接口4033,存储元件4032用于存储程序和数据;接口4033用于与射频装置402交互信息,该接口例如为通用公共无线接口(common public radio interface,CPRI)。以上用于网络设备的装置可以位于基带装置403,例如,以上用于网络设备的装置可以为基带装置403上的芯片,该芯片包括至少一个处理元件和接口电路,其中处理元件用于执行以上网络设备执行的任一种方法的各个步骤,接口电路用于与其它装置通信。在一种实现中,网络设备实现以上方法中各个步骤的单元可以通过处理元件调度程序的形式实现,例如用于网络设备的装置包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例中网络设备执行的方法。存储元件可以为处理元件处于同一芯片上的存储元件,即片内存储元件,也可以为与处理元件处于不同芯片上的存储元件,即片外存储元件。
在另一种实现中,网络设备实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件设置于基带装置上,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
网络设备实现以上方法中各个步骤的单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现,例如,基带装置包括该SOC芯片,用于实现以上方法。该芯片内可以集成至少一个处理元件和存储元件,由处理元件调用存储元件的存储的程序的形式实现以上网络设备执行的方法;或者,该芯片内可以集成至少一个集成电路,用于实现以上网络设备执行的方法;或者,可以结合以上实现方式,部分单元的功能通过处理元件调用程序的形式实现,部分单元的功能通过集成电路的形式实现。
可见,以上用于网络设备的装置可以包括至少一个处理元件和接口电路,其中至少一个处理元件用于执行以上方法实施例所提供的任一种网络设备执行的方法。处理元件可以以第一种方式:即调用存储元件存储的程序的方式执行网络设备执行的部分或全部步骤;也可以以第二种方式:即通过处理器元件中的硬件的集成逻辑电路结合指令的方式执行网络设备执行的部分或全部步骤;当然,也可以结合第一种方式和第二种方式执行以上网络设备执行的部分或全部步骤。
这里的处理元件同以上描述,可以是通用处理器,例如CPU,还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个微处理器DSP,或,一个或者多个FPGA等,或这些集成电路形式中至少两种的组合。
存储元件可以是一个存储器,也可以是多个存储元件的统称。
图8为本申请实施例提供的另一种网络设备的结构示意图。其可以为以上实施例中的接收设备,用于实现以上实施例中接收设备的操作。
如图8所示,该网络设备包括:处理器510,存储器520,和接口530,处理器510、存储器520和接口530信号连接。
上述的装置300可以位于该网络设备中,且各个单元的功能可以通过处理器510调用存储器520中存储的程序来实现。即,以上…装置包括存储器和处理器,存储器用于存储程序,该程序被处理器调用,以执行以上方法实施例中的方法。这里的处理器可以是一种具有信号的处理能力的集成电路,例如CPU。或者以上各个单元的功能可以通过配置成实施以上方法的一个或多个集成电路来实现。例如:一个或多个ASIC,或,一个或多个微处理器DSP,或,一个或者多个FPGA等,或这些集成电路形式中至少两种的组合。或者,可以结合以上实现方式。
图9为本申请实施例提供的一种终端的结构示意图。其可以为以上实施例中的接收设备,用于实现以上实施例中接设备的操作。如图9所示,该终端包括:天线610、射频部分620、信号处理部分630。天线610与射频部分620连接。在下行方向上,射频部分620通过天线610接收网络设备发送的信息,将网络设备发送的信息发送给信号处理部分630进行处理。在上行方向上,信号处理部分630对终端的信息进行处理,并发送给射频部分620,射频部分620对终端的信息进行处理后经过天线610发送给网络设备。
信号处理部分630可以包括调制解调子系统,用于实现对数据各通信协议层的处理;还可以包括中央处理子系统,用于实现对终端操作系统以及应用层的处理;此外,还可以包括其它子系统,例如多媒体子系统,周边子系统等,其中多媒体子系统用于实现对终端相机,屏幕显示等的控制,周边子系统用于实现与其它设备的连接。调制解调子系统可以为单独设置的芯片。可选的,以上用于终端的装置可以位于该调制解调子系统。
调制解调子系统可以包括一个或多个处理元件631,例如,包括一个主控CPU和其它集成电路。此外,该调制解调子系统还可以包括存储元件632和接口电路633。存储元件632用于存储数据和程序,但用于执行以上方法中终端所执行的方法的程序可能不存储于该存储元件632中,而是存储于调制解调子系统之外的存储器中,使用时调制解调子系统加载使用。接口电路333用于与其它子系统通信。以上用于终端的装置可以位于调制解调子系统,该调制解调子系统可以通过芯片实现,该芯片包括至少一个处理元件和接口电路,其中处理元件用于执行以上终端执行的任一种方法的各个步骤,接口电路用于与其它装置通信。在一种实现中,终端实现以上方法中各个步骤的单元可以通过处理元件调度程序的形式实现,例如用于终端的装置包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例中终端执行的方法。存储元件可以为处理元件处于同一芯片上的存储元件,即片内存储元件。
在另一种实现中,用于执行以上方法中终端所执行的方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例中终端执行的方法。
在又一种实现中,终端实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件设置于调制解调子系统上,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
终端实现以上方法中各个步骤的单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现,该SOC芯片,用于实现以上方法。该芯片内可以集成至少一个处理元件和存储元件,由处理元件调用存储元件的存储的程序的形式实现以上终端执行的方法;或者,该芯片内可以集成至少一个集成电路,用于实现以上终端执行的方法;或者,可以结合以上实现方式,部分单元的功能通过处理元件调用程序的形式实现,部分单元的功能通过集成电路的形式实现。
可见,以上用于终端的装置可以包括至少一个处理元件和接口电路,其中至少一个处理元件用于执行以上方法实施例所提供的任一种终端执行的方法。处理元件可以以第一种方式:即调用存储元件存储的程序的方式执行终端执行的部分或全部步骤;也可以以第二种方式:即通过处理器元件中的硬件的集成逻辑电路结合指令的方式执行终端执行的部分或全部步骤;当然,也可以结合第一种方式和第二种方式执行终端执行的部分或全部步骤。
这里的处理元件同以上描述,可以是通用处理器,例如CPU,还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个微处理器DSP,或,一个或者多个FPGA等,或这些集成电路形式中至少两种的组合。
存储元件可以是一个存储器,也可以是多个存储元件的统称。
本申请实施例还提供了一种通信系统,该通信系统包括:上述终端和上述网络设备。
本申请实施例还提供了一种计算机可读介质,用于存储计算机程序代码,该计算机程序包括用于执行上述方法200本申请实施例的数据包传输的方法的指令。该可读介质可以是只读存储器(read-only memory,ROM)或随机存取存储器(random access memory,RAM),本申请实施例对此不做限制。
本申请还提供了一种计算机程序产品,该计算机程序产品包括指令,当该指令被执行时,以使得该终端和该网络设备执行对应于上述方法的接收设备的操作。
本申请实施例还提供了一种系统芯片,该系统芯片包括:处理单元和通信单元,该处理单元,例如可以是处理器,该通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行计算机指令,以使该通信装置内的芯片执行上述本申请实施例提供的任一种数据包传输的方法。
可选地,该计算机指令被存储在存储单元中。
可选地,该存储单元为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是该终端内的位于该芯片外部的存储单元,如ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM等。其中,上述任一处提到的处理器,可以是一个CPU,微处理器,ASIC,或一个或多个用于控制上述的数据包传输的方法的程序执行的集成电路。该处理单元和该存储单元可以解耦,分别设置在不同的物理设备上,通过有线或者无线的方式连接来实现该处理单元和该存储单元的各自的功能,以支持该系统芯片实现上述实施例中的各种功能。或者,该处理单元和该存储器也可以耦合在同一个设备上。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是RAM,其用作外部高速缓存。RAM有多种不同的类型,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请中出现的术语“上行”和“下行”,用于在特定场景描述数据/信息传输的方向,比如,“上行”方向一般是指数据/信息从终端向网络侧传输的方向,或者分布式单元向集中式单元传输的方向,“下行”方向一般是指数据/信息从网络侧向终端传输的方向,或者集中式单元向分布式单元传输的方向,可以理解,“上行”和“下行”仅用于描述数据/信息的传输方向,该数据/信息传输的具体起止的设备都不作限定。
在本申请中可能出现的对各种消息/信息/设备/网元/系统/装置/动作/操作/流程/概念等各类客体进行了赋名,可以理解的是,这些具体的名称并不构成对相关客体的限定,所赋名称可随着场景,语境或者使用习惯等因素而变更,对本申请中技术术语的技术含义的理解,应主要从其在技术方案中所体现/执行的功能和技术效果来确定。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本申请的实施例中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行该计算机程序或指令时,全部或部分地执行本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机程序或指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器等数据存储设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种数据包传输的方法,其特征在于,包括:
接收数据包,且所述数据包处于未递交状态;
在重排序定时器运行期间,当所述数据包对应的时延截止时刻到达或重排序窗口内所述数据包之前的数据包的时延截止时刻到达时,递交所述数据包;
停止所述重排序定时器,其中,所述重排序定时器由所述数据包触发启动或者由在所述数据包之前接收到的数据包触发启动,所述数据包对应的时延截止时刻或所述重排序窗口内所述数据包之前的数据包的时延截止时刻到早于所述重排序定时器的超时时刻。
2.根据权利要求1所述的方法,其特征在于,所述重排序窗口内所述数据包之前的数据包的时延截止时刻为所述重排序窗口内从所述数据包向前算起第一个没有接收到的数据包对应的时延截止时刻。
3.根据权利要求1所述的方法,其特征在于,所述重排序窗口内所述数据包之前的数据包的时延截止时刻为所述重排序窗口内所述数据包之前、并且时延截止时刻没有超时的数据包中时延截止时刻最早的数据包对应的时延截止时刻。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
递交所述重排序窗口内已经存储的、并且在所述数据包之前的数据包,以及递交所述重排序窗口内已经存储的、所述数据包之后并且与所述数据包的序列号连续的数据包。
5.根据权利要求1所述的方法,其特征在于,所述数据包携带所述数据包的发送时刻,所述方法还包括:
根据所述数据包的发送时刻以及传输时延预算,确定所述数据包对应的时延截止时刻。
6.根据权利要1所述的方法,其特征在于,所述方法还包括:
根据第1个数据包对应的时延截止时刻和数据包的周期,确定所述数据包对应的时延截止时刻,其中,所述数据包的序列号大于或者等于1。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将已经递交的数据包中的最大序列号加1作为所述重排序窗口的下边界的值,或者将时延截止时刻到达的数据包的序列号加1作为所述重排序窗口的下边界的值。
8.根据权利要求1所述的方法,其特征在于,所述数据包对应的时延截止时刻为所述数据包对应的最大时延定时器的超时时刻,或者,所述数据包对应的时延截止时刻为所述数据包对应的时长的截止时刻,
所述当所述数据包对应的时延截止时刻到达时,递交所述数据包,包括:
在所述最大时延定时器的超时时刻,递交所述数据包,或者在所述时长的截止时刻,递交所述数据包。
9.一种通信装置,其特征在于,包括用于执行如权利要求1至8中任一项所述的方法的各步骤的单元。
10.一种通信装置,其特征在于,包括处理器和接口电路,
所述处理器用于通过所述接口电路与终端通信,并执行如权利要求1至8中任一项所述的方法。
11.一种通信装置,其特征在于,包括处理器,用于与存储器相连,读取并执行所述存储器中存储的程序,以实现如权利要求1至8中任一项所述的方法。
12.一种终端设备,其特征在于,包括如权利要求9至11中任一项所述的装置。
13.一种计算机可读介质,其特征在于,包括计算机程序,当所述计算机程序在处理器上运行时,使得所述处理器执行如权利要求1至8中任一项所述的方法。
CN201910564661.XA 2019-06-27 2019-06-27 数据包传输的方法和通信装置 Active CN112153691B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910564661.XA CN112153691B (zh) 2019-06-27 2019-06-27 数据包传输的方法和通信装置
PCT/CN2020/097564 WO2020259456A1 (zh) 2019-06-27 2020-06-23 数据包传输的方法和通信装置
EP20833124.9A EP3972334A4 (en) 2019-06-27 2020-06-23 DATA PACKET TRANSMISSION METHOD AND COMMUNICATION DEVICE
US17/561,130 US11838218B2 (en) 2019-06-27 2021-12-23 Data packet transmission method and communications apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910564661.XA CN112153691B (zh) 2019-06-27 2019-06-27 数据包传输的方法和通信装置

Publications (2)

Publication Number Publication Date
CN112153691A CN112153691A (zh) 2020-12-29
CN112153691B true CN112153691B (zh) 2022-04-12

Family

ID=73868524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910564661.XA Active CN112153691B (zh) 2019-06-27 2019-06-27 数据包传输的方法和通信装置

Country Status (4)

Country Link
US (1) US11838218B2 (zh)
EP (1) EP3972334A4 (zh)
CN (1) CN112153691B (zh)
WO (1) WO2020259456A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024041340A1 (zh) * 2022-08-23 2024-02-29 华为技术有限公司 一种数据交付方法及通信装置
CN117812259A (zh) * 2022-09-30 2024-04-02 华为技术有限公司 数据传输方法及装置
US20240236009A1 (en) * 2023-01-11 2024-07-11 Qualcomm Incorporated Techniques for packet data convergence protocol reordering within a timer
CN118450432A (zh) * 2023-09-15 2024-08-06 荣耀终端有限公司 通信方法、装置、芯片、芯片模组及存储介质
CN117478615B (zh) * 2023-12-28 2024-02-27 贵州大学 一种确定性网络中可靠传输的方法
CN118381771B (zh) * 2024-06-21 2024-08-20 湘江实验室 一种基于交换机的rdma数据流在网重排序方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060386A (zh) * 2006-04-17 2007-10-24 华为技术有限公司 混合自动重传请求实体及其数据块的上报方法
CN104717043A (zh) * 2013-12-13 2015-06-17 电信科学技术研究院 一种启动重排定时器时长的方法和设备
WO2015119410A1 (en) * 2014-02-06 2015-08-13 Lg Electronics Inc. Method for processing a packet data convergence protocol service data unit at a user equipment in a dual connectivity system and device therefor
CN107592329A (zh) * 2016-07-08 2018-01-16 电信科学技术研究院 一种数据处理方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106063324B (zh) * 2014-01-28 2019-10-11 寰发股份有限公司 重排序pdcp封包的方法以及用户设备
WO2015133767A1 (en) * 2014-03-02 2015-09-11 Lg Electronics Inc. Method for reordering a packet data convergence protocol packet data unit at a user equipment in a dual connectivity system and device therefor
WO2015168951A1 (zh) * 2014-05-09 2015-11-12 华为技术有限公司 数据包的处理方法、终端、基站及系统
CN106658352B (zh) 2015-11-02 2019-03-22 中兴通讯股份有限公司 车联网v2x业务的转发方法及装置
US20180098241A1 (en) * 2016-09-30 2018-04-05 Huawei Technologies Co., Ltd. Method and apparatus for ordering of protocol data unit delivery
GB2561545B (en) * 2017-03-24 2021-12-15 Tcl Communication Ltd Layer 2 architecture for cellular radio systems
CN110622543A (zh) * 2017-04-28 2019-12-27 瑞典爱立信有限公司 用于分组数据汇聚协议(pdcp)重新排序的网络节点及其中的方法
US10673773B2 (en) * 2017-08-07 2020-06-02 Lg Electronics Inc. Method for handling state variables of a PDCP entity in wireless communication system and a device therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060386A (zh) * 2006-04-17 2007-10-24 华为技术有限公司 混合自动重传请求实体及其数据块的上报方法
CN104717043A (zh) * 2013-12-13 2015-06-17 电信科学技术研究院 一种启动重排定时器时长的方法和设备
WO2015119410A1 (en) * 2014-02-06 2015-08-13 Lg Electronics Inc. Method for processing a packet data convergence protocol service data unit at a user equipment in a dual connectivity system and device therefor
CN107592329A (zh) * 2016-07-08 2018-01-16 电信科学技术研究院 一种数据处理方法及装置

Also Published As

Publication number Publication date
EP3972334A1 (en) 2022-03-23
WO2020259456A1 (zh) 2020-12-30
US11838218B2 (en) 2023-12-05
EP3972334A4 (en) 2022-07-13
US20220116332A1 (en) 2022-04-14
CN112153691A (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN112153691B (zh) 数据包传输的方法和通信装置
EP2169871B1 (en) Method and apparatus of handling a timer for triggering buffer status report
CN109587052A (zh) 一种多链路数据传输方法及装置
US11553067B2 (en) Method and device for transmitting data
KR20200052967A (ko) 스케줄링 요청 처리 방법 및 단말 장치
CN112399468B (zh) 一种数据传输方法及接收设备
CN113472683A (zh) 数据丢弃方法、装置、终端及存储介质
JP2017526296A (ja) データ送信方法および基地局
WO2019154265A1 (zh) 数据传输方法和设备
TWI692269B (zh) 處理用於邏輯通道的排程請求的裝置及方法
JP7557046B2 (ja) サービス競合の処理方法、処理装置、端末及び記憶媒体
WO2018120107A1 (zh) 通信方法、网络设备和终端设备
JP7449992B2 (ja) 方法、装置、及びコンピュータプログラム
CN111447026B (zh) 处理数据的方法和处理数据的装置
CN113056938B (zh) 用于通信的装置、方法和计算机可读介质
WO2020164149A1 (zh) 一种数据传输方法和设备
WO2020164148A1 (zh) 一种数据传输方法和设备
CN112040538A (zh) 数据通信方法及相关装置
CN114586426A (zh) 对数据传输配置的指示
CN113518461B (zh) 数据传输方法及装置
CN113455044A (zh) 用于使用配置授权的通信的装置、方法和计算机程序
WO2023165449A1 (zh) 一种通信方法及装置
WO2024000461A1 (en) Methods and apparatuses for a buffer status report
US20240098672A1 (en) Method for time synchronization, and terminal device and network device
CN108370584A (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