数据包的重传方法及装置的制造方法

文档序号:10515175阅读:377来源:国知局
数据包的重传方法及装置的制造方法
【专利摘要】本发明公开了一种数据包的重传方法及装置,其中,该方法包括:缓存向UE传输的数据包;接收MAC层对向所述UE传输所述数据包的传输反馈;如果所述传输反馈指示所述数据包传输失败,则将缓存的所述数据包重新下发给所述MAC层进行传输调度。通过本发明,解决了相关技术中的传输模式无法兼顾业务丢包率和时延要求的技术问题,相比相关技术中AM模式等待UE的反馈结果确定是否重传,重传的判定效率大大提高,更加容易满足针对时延的要求,并且相比相关技术中UM模式不进行重传的方案,也提升了传输成功率,降低了业务丢包率。
【专利说明】
数据包的重传方法及装置
技术领域
[0001]本发明涉及通信领域,具体而言,涉及一种数据包的重传方法及装置。
【背景技术】
[0002]在当前第三代合作伙伴计划(3rd Generat1n Partnership Project,简称为3GPP)协议中将业务按照不同的属性划分为不同的种类,每类业务用一种服务质量(Quality of service,简称为 Qos)等级标识(Qos Class Identifier,简称为 QCI)索引表示。目前协议给出的9类QCI业务,每类QCI业务都明确规定了业务数据包的时延(PacketDelay Budget,简称为F1DB),表示分组数据包在手持终端(也称用户设备,User Equipment,简称为UE)与核心网间传输的最大时延,协议明确规定任何业务98%的数据包都应该满足时延要求,因此为了保证分组数据包的有效性,该值是基站调度器的重要考量参数之一。
[0003]除了规定业务数据包的时延外,协议还规定了每种QCI业务的丢包率(PacketError Loss Rate,简称为PER):表示无线链路层除了拥塞原因外的分组数据包丢失率,也就是除了拥塞原因外,发送端的无线链路控制(Rad1 Link Control,简称为RLC)层已经发送但是接收端RLC层没有成功收到数据包所占的比例的上限。为了满足不同QCI业务的丢包率,RLC层有非确认模式(Unacknowledged Mode,简称为UM)和确认模式(AcknowledgedMode,简称为AM)两种模式传输数据。对于AM模式,RLC层对发送的数据有重传功能,而UM模式,RLC层没有重传功能。带有重传功能的AM模式需要根据UE的上报反馈来进行重传,这样数据包的传输时延就会增大,对于一些时延要求高的业务,例如:语音业务(时延100ms),实时游戏业务(时延50ms),AM模式无法满足实时性要求,但是使用UM模式,由于没有RLC层重传功能,业务的丢包率又会增大,而目前语音业务的评估准则中,丢包率是严重影响语音质量的一个因素,因此目前RLC层的两种传输模式不能同时兼顾业务丢包率和时延的要求。
[0004]针对相关技术中的传输模式无法兼顾业务丢包率和时延要求的问题,目前尚无有效的解决方案。

【发明内容】

[0005]本发明提供了一种数据包的重传方法及装置,以至少解决相关技术中的传输模式无法兼顾业务丢包率和时延要求的技术问题。
[0006]根据本发明的一个实施例,提供了一种数据包的重传方法,包括:缓存向用户设备UE传输的数据包;接收媒体接入控制MAC层对向所述UE传输所述数据包的传输反馈;如果所述传输反馈指示所述数据包传输失败,则将缓存的所述数据包重新下发给所述MAC层进行传输调度。
[0007]本实施例中,在接收MAC层对向所述UE传输所述数据包的传输反馈之前,还包括:所述MAC层对所述数据包进行传输调度;所述MAC层获取对所述数据包进行传输调度的调度反馈,并根据所述调度反馈发送所述传输反馈。
[0008]本实施例中,所述MAC层获取对所述数据包进行传输调度的调度反馈,并根据所述调度反馈发送所述传输反馈包括:所述MAC层确定在对所述数据包进行传输调度的次数达到预设的最大传输次数之前,存在一次传输调度对应的调度反馈为确认响应ACK,则发送用于指示所述数据包传输成功的所述传输反馈,否则发送用于指示所述数据包传输失败的所述传输反馈。
[0009]本实施例中,缓存向UE传输的数据包包括:在无线链路控制RLC层的缓存器中缓存所述数据包。
[0010]本实施例中,缓存向UE传输的数据包包括:接收向所述UE传输的数据包;判断所述数据包是否为首次向所述UE传输;如果是,则缓存所述数据包。
[0011]本实施例中,缓存向UE传输的数据包包括:判断已经缓存的数据包是否等于预设的缓存最大数量;如果是,清除缓存时间最长的数据包或者重传次数最多的数据包,并缓存所述向UE传输的数据包。
[0012]本实施例中,在判断已经缓存的数据包是否等于预设的缓存最大数量的结果为否的情况下,还包括:直接缓存所述向UE传输的数据包。
[0013]本实施例中,在将缓存的所述数据包重新下发给MAC层进行传输调度之后,还包括:将所述数据包的重传次数加I ;判断缓存的所述数据包的重传次数是否等于预设的重传最大次数;如果是,清除缓存的所述数据包。
[0014]本实施例中,在判断缓存的所述数据包的重传次数是否等于预设的重传最大次数的结果为否的情况下,还包括:保留缓存的所述数据包。
[0015]本实施例中,在接收MAC层对向所述UE传输所述数据包的传输反馈之后,还包括:如果所述传输反馈指示所述数据包传输成功,则清除缓存的所述数据包。
[0016]根据本发明的另一实施例,提供了一种数据包的重传装置,包括:缓存模块,用于缓存向用户设备UE传输的数据包;接收模块,用于接收媒体接入控制MAC层对向所述UE传输所述数据包的传输反馈;下发模块,用于在所述传输反馈指示所述数据包传输失败的情况下,将缓存的所述数据包重新下发给所述MAC层进行传输调度。
[0017]本实施例中,所述缓存模块位于无线链路控制RLC层。
[0018]通过本发明,采用缓存向UE传输的数据包;接收MAC层对向所述UE传输所述数据包的传输反馈;如果所述传输反馈指示所述数据包传输失败,则将缓存的所述数据包重新下发给所述MAC层进行传输调度的方式,解决了相关技术中的传输模式无法兼顾业务丢包率和时延要求的技术问题,相比相关技术中AM模式等待UE的反馈结果确定是否重传,重传的判定效率大大提高,更加容易满足针对时延的要求,并且相比相关技术中UM模式不进行重传的方案,也提升了传输成功率,降低了业务丢包率。
【附图说明】
[0019]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0020]图1是根据本发明实施例的数据包的重传方法的流程图;
[0021]图2是根据本发明实施例的数据包的重传装置的结构框图;
[0022]图3是根据本发明优选实施例的调度器的结构示意图;
[0023]图4是根据本发明优选实施例的快速重传的流程图。
【具体实施方式】
[0024]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0025]在本实施例中,提供了一种数据包的重传方法,图1是根据本发明实施例的数据包的重传方法的流程图,如图1所示,该方法包括如下步骤:
[0026]步骤S102,缓存向用户设备(UE)传输的数据包;
[0027]步骤S104,接收媒体接入控制(MAC)层对向所述UE传输所述数据包的传输反馈;
[0028]步骤S106,如果所述传输反馈指示所述数据包传输失败,则将缓存的所述数据包重新下发给所述MAC层进行传输调度。
[0029]本实施例通过上述步骤,缓存向UE传输的数据包;接收MAC层对向所述UE传输所述数据包的传输反馈;如果所述传输反馈指示所述数据包传输失败,则将缓存的所述数据包重新下发给所述MAC层进行传输调度,从而根据MAC层的传输反馈即可确定是否进行重传,解决了相关技术中的传输模式无法兼顾业务丢包率和时延要求的技术问题,相比相关技术中AM模式等待UE的反馈结果确定是否重传,重传的判定效率大大提高,更加容易满足针对时延的要求,并且相比相关技术中UM模式不进行重传的方案,也提升了传输成功率,降低了业务丢包率。
[0030]在本实施例中,MAC层发送的传输反馈可以通过以下方式获得:所述MAC层对所述数据包进行传输调度;所述MAC层获取对所述数据包进行传输调度的调度反馈,并根据所述调度反馈发送所述传输反馈。
[0031]其中,所述MAC层获取对所述数据包进行传输调度的调度反馈,并根据所述调度反馈发送所述传输反馈可以具体如下:所述MAC层确定在对所述数据包进行传输调度的次数达到预设的最大传输次数之前,存在一次传输调度对应的调度反馈为确认响应ACK,则发送用于指示所述数据包传输成功的所述传输反馈,否则(也即在对所述数据包进行传输调度的次数达到预设的最大传输次数之前,不存在传输调度对应的调度反馈为确认响应ACK,均为NACK的情况)发送用于指示所述数据包传输失败的所述传输反馈。
[0032]本实施例中,可以在无线链路控制(RLC)层的缓存器中缓存所述数据包。
[0033]在本实施例中,步骤S102中缓存的通常是首次向UE传输的数据包,具体操作方式如下:在步骤S102中,首先接收向所述UE传输的数据包;判断所述数据包是否为首次向所述UE传输;如果是,则缓存所述数据包,如果否,则可以根据策略丢弃或也可以重新缓存所述数据包。
[0034]在本实施例中,可以设置缓存向UE传输的数据包的最大数量,在缓存向UE传输的数据包时,可以判断已经缓存的数据包是否等于预设的缓存最大数量;如果是,清除缓存时间最长的数据包,或者也可以清除重传次数最多的数据包等,并缓存所述向UE传输的数据包。而在判断已经缓存的数据包是否等于预设的缓存最大数量的结果为否的情况下,则可以直接缓存所述向UE传输的数据包。
[0035]本实施例中,还可以设置缓存的该数据包的重传最大次数,在将缓存的所述数据包重新下发给MAC层进行传输调度之后,还可以将所述数据包的重传次数加I ;判断缓存的所述数据包的重传次数是否等于预设的重传最大次数;如果是,清除缓存的所述数据包。而在判断缓存的所述数据包的重传次数是否等于预设的重传最大次数的结果为否的情况下,还可以保留缓存的所述数据包。
[0036]本实施例中,如果所述传输反馈指示所述数据包传输成功,则可以清除缓存的所述数据包。
[0037]对应于上述方法,在本实施例中还提供了一种数据包的重传装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0038]图2是根据本发明实施例的数据包的重传装置的结构框图,如图2所示,该装置包括:缓存模块22、接收模块24和下发模块26,下面对各个模块进行详细说明:
[0039]缓存模块22,用于缓存向用户设备(UE)传输的数据包;接收模块24,与缓存模块22相连,用于接收媒体接入控制(MAC)层对向所述UE传输所述数据包的传输反馈;下发模块26,与缓存模块22和接收模块24相连,用于在所述传输反馈指示所述数据包传输失败的情况下,将缓存的所述数据包重新下发给所述MAC层进行传输调度。
[0040]其中,所述缓存模块22可以位于无线链路控制(RLC)层。
[0041]为了更好地理解上述实施例,以下结合优选实施例详细说明,以下的优选实施例结合了上述实施例及其优选实施方式。
[0042]目前相关技术中仅存在上文提到的AM模式以及UM模式的传输模式方案,而这两种传输模式方案无法兼顾业务丢包率和时延要求,因此,本优选实施例中以RLC层为例进行说明,提供了一种介于AM模式和UM模式之间的快速重传的方案,通过MAC层调度数据包的反馈,RLC层进行快速重传,而不依赖于UE的上报反馈,弥补RLC层现有传输模式重传时延大的缺陷,兼顾业务分组数据包的PDB时延和PER丢包率的要求。
[0043]本优选实施例提供的快速重传的方法和装置应用在移动通信网络中,主要包括:确定一个数据包缓存buffer,根据MAC层的调度反馈,对于传输失败的数据包,在缓存buffer里面重新读取该数据包下发给MAC层,进行快速重传,不再依赖UE的上报反馈,弥补RLC层现有传输模式重传时延大的缺陷,兼顾业务分组数据包的PDB时延和PER丢包率的要求。
[0044]本优选从UE接入基站初始,对于UE每次调度的数据包,放入缓存buffer,如果调度模块调度该数据包成功,则通知缓存buffer清除该数据包;如果调度模块调度该数据包失败,则从缓存buffer中读取该数据包重新下发给调度模块进行调度,借助缓存buffer对该数据包进行快速重传。
[0045]调度模块对每个数据包会定义一个最大传输次数,调度模块每传输一次该数据包,则传输次数加1,如果在达到最大传输次数前,某次传输收到该数据包调度反馈为ACK,则认为该数据包调度成功,否则如果达到最大传输次数,传输该数据包收到的调度反馈都为NACK,则认为该数据包调度失败。
[0046]对于调度失败的数据包,缓存buffer重新下发给调度模块后,调度模块会从传输次数I开始,重新对该数据包进行传输。
[0047]考虑到缓存buffer的存储空间,可以规定缓存buffer缓存数据包的数目上限如果缓存buffer中缓存数据包的数目已经为数目上限,当再有新数据包需要缓存的时候,清除在缓存buffer中缓存时间最长的数据包或者传输次数最多的数据包。
[0048]考虑到缓存buffer的存储空间和数据包的调度时延,可以规定每个数据包在缓存buffer重传的次数,缓存buffer中的数据包每次被重新下发给调度模块进行调度,其重传次数就会加1,如果重传次数达到重传次数上限,则该数据包直接从缓存buffer中清除该数据包。
[0049]缓存buffer中的数据包维护以UE级分别维护。
[0050]下面参照附图3和4详细说明本优选实施例提供的快速重传的方法和装置。
[0051]图3是根据本发明优选实施例的调度器的结构示意图,如图3所示,该调度器中包括一缓存(Buffer),优选地该缓存可以位于RLC层,缓存数据包以用于快速重传;调度器中还包括一调度模块,位于MAC层,用于调度数据包,并给缓存(Buffer)提供反馈。
[0052]图4是根据本发明优选实施例的快速重传的流程图,应用于如图3所示的调度器。参照图4,本优选实施例采用的技术方案流程如下:
[0053]步骤S402,确定数据包缓存Buffer可以缓存的数据包数上限,以及每个数据包在缓存Buffer中进行重传次数的上限。
[0054]步骤S404,将每个调度的数据包,放入缓存Buffer。
[0055]步骤S406,判断数据包缓存Buffer中缓存的数据包是否达到上限,如果是,则进入步骤S408,否则进入步骤S410。
[0056]步骤S408,如果缓存Buffer中缓存的数据包已经超过上限,则清除缓存时间最长的数据包或传输次数最多(最大)的数据包,更新缓存buffer数据包数。
[0057]步骤S410,如果缓存Buffer中缓存的数据包未超过上限,则将调度的数据包放入缓存 buffer ο
[0058]步骤S412,判断调度模块是否调度成功,如果成功则进入步骤S420,如果失败则进入步骤S414。
[0059]步骤S414,如果调度该数据包失败,则从缓存buffer中读取该数据包重新下发给调度模块进行调度。
[0060]步骤S416,将该数据包的重传次数加I。
[0061]步骤S418,判断数据包在缓存buffer中的重传次数是否达到重传次数上限,如果是则进入步骤S420,否则进入步骤S422。
[0062]步骤S420,将缓存buffer中存储的该数据包清掉,更新缓存buffer数据包数。
[0063]步骤S422,继续缓存该数据包。
[0064]步骤S424,调度模块,根据调度策略,将传输失败的数据包重新调度。
[0065]本优选实施例可以获得如下益处:
[0066]本优选实施例为了减少RLC层的重传时延,提出了一种快速重传的方法和装置,弥补了 RLC层现有传输模式重传时延大的缺陷,兼顾业务分组数据包的PDB时延和PER丢包率的要求,最大化保证业务的Qos属性要求。
[0067]下面通过具体的实施例来说明。
[0068]实施例1:
[0069]步骤S502:确定数据包缓存buffer的数据包数上限为无限大(Infinity),确定每个数据包在缓存buffer中的重传次数上限为无限大(Infinity)。
[0070]步骤S504:UE Index = 10的UE初始接入,Tl时刻调度数据包Datal,将该数据包传递给缓存buffer。
[0071]步骤S506:判断缓存buffer中数据包上限:上限为Inf inity,缓存buffer存储数据包Datal。
[0072]步骤S508:调度模块调度数据包Datal调度成功,通知缓存buffer清除数据包Datal ο
[0073]步骤S510:T2时刻调度数据包Data2,将该数据包传递给缓存buffer。
[0074]步骤S512:判断缓存buffer中数据包数目:上限为Inf inity,缓存buffer存储数据包Data2。
[0075]步骤S514:如果调度模块调度数据包Data2调度失败,通知缓存buffer重传数据包Data2,进入步骤S516和S518 ;如果调度模块调度数据包Data2调度成功,通知缓存buffer清除数据包Data2。
[0076]步骤S516:缓存buffer读取数据包Data2,数据包Data2的重传次数加I,重传次数为I。
[0077]步骤S518:判断数据包重传次数:上限为Infinity,数据包Data2继续缓存。
[0078]步骤S520:如果调度模块调度新的数据包,则重复步骤S510-S518。
[0079]注意:如果数据包缓存buffer的数据包数上限为Infinity,则删除数据包后不需要更新缓存buffer的数据包数。
[0080]实施例2:
[0081]步骤S602:确定数据包缓存buffer的数据包数上限为5,确定每个数据包在缓存buffer中的重传次数上限为I。
[0082]步骤S604:UE Index = 10的UE初始接入,Tl时刻调度数据包Datal,将该数据包传递给缓存buffer。
[0083]步骤S606:判断缓存buffer中数据包上限:上限为5,缓存buffer已存储数据包数为4,缓存buffer存储数据包DatalJf# buffer存储数据包数加1,已存储数据包数为5。
[0084]步骤S608:调度模块调度数据包Datal调度失败,通知缓存buffer重传数据包Datal ο
[0085]步骤S610:缓存buffer读取数据包Datal,数据包Datal的重传次数加I,重传次数为I。
[0086]步骤S612:判断数据包重传次数:上限为1,重传次数大于等于上限,清除数据包Datal ο
[0087]步骤S614:更新缓存buffer数据包数:5_1 = 4。
[0088]步骤S616:T2时刻调度数据包Data2,将该数据包传递给缓存buffer。
[0089]步骤S618:判断缓存buffer中数据包上限:上限为5,缓存buffer已存储数据包数为4,缓存buffer存储数据包Data2,缓存buffer存储数据包数加1,已存储数据包数为5。
[0090]步骤S620:T3时刻调度数据包Data3,将该数据包传递给缓存buffer。
[0091]步骤S622:判断缓存buffer中数据包上限:上限为5,缓存buffer已存储数据包数为5,缓存buffer清除缓存时间最长的数据包Datax,缓存buffer存储数据包Data2。
[0092]步骤S624:如果调度模块调度新的数据包,则重复上述步骤。
[0093]在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施例中描述的技术方案。
[0094]在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于光盘、软盘、硬盘、可擦写存储器等。
[0095]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0096]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种数据包的重传方法,其特征在于,包括: 缓存向用户设备UE传输的数据包; 接收媒体接入控制MAC层对向所述UE传输所述数据包的传输反馈; 如果所述传输反馈指示所述数据包传输失败,则将缓存的所述数据包重新下发给所述MAC层进行传输调度。2.根据权利要求1所述的方法,其特征在于,在接收MAC层对向所述UE传输所述数据包的传输反馈之前,还包括: 所述MAC层对所述数据包进行传输调度; 所述MAC层获取对所述数据包进行传输调度的调度反馈,并根据所述调度反馈发送所述传输反馈。3.根据权利要求2所述的方法,其特征在于,所述MAC层获取对所述数据包进行传输调度的调度反馈,并根据所述调度反馈发送所述传输反馈包括: 所述MAC层确定在对所述数据包进行传输调度的次数达到预设的最大传输次数之前,存在一次传输调度对应的调度反馈为确认响应ACK,则发送用于指示所述数据包传输成功的所述传输反馈,否则发送用于指示所述数据包传输失败的所述传输反馈。4.根据权利要求1至3中任一项所述的方法,其特征在于,缓存向UE传输的数据包包括: 在无线链路控制RLC层的缓存器中缓存所述数据包。5.根据权利要求1至3中任一项所述的方法,其特征在于,缓存向UE传输的数据包包括: 接收向所述UE传输的数据包; 判断所述数据包是否为首次向所述UE传输; 如果是,则缓存所述数据包。6.根据权利要求1至3中任一项所述的方法,其特征在于,缓存向UE传输的数据包包括: 判断已经缓存的数据包是否等于预设的缓存最大数量; 如果是,清除缓存时间最长的数据包或者重传次数最多的数据包,并缓存所述向UE传输的数据包。7.根据权利要求6所述的方法,其特征在于,在判断已经缓存的数据包是否等于预设的缓存最大数量的结果为否的情况下,还包括: 直接缓存所述向UE传输的数据包。8.根据权利要求1至3中任一项所述的方法,其特征在于,在将缓存的所述数据包重新下发给MAC层进行传输调度之后,还包括: 将所述数据包的重传次数加I ; 判断缓存的所述数据包的重传次数是否等于预设的重传最大次数; 如果是,清除缓存的所述数据包。9.根据权利要求8所述的方法,其特征在于,在判断缓存的所述数据包的重传次数是否等于预设的重传最大次数的结果为否的情况下,还包括: 保留缓存的所述数据包。10.根据权利要求1至3中任一项所述的方法,其特征在于,在接收MAC层对向所述UE传输所述数据包的传输反馈之后,还包括: 如果所述传输反馈指示所述数据包传输成功,则清除缓存的所述数据包。11.一种数据包的重传装置,其特征在于,包括: 缓存模块,用于缓存向用户设备UE传输的数据包; 接收模块,用于接收媒体接入控制MAC层对向所述UE传输所述数据包的传输反馈;下发模块,用于在所述传输反馈指示所述数据包传输失败的情况下,将缓存的所述数据包重新下发给所述MAC层进行传输调度。12.根据权利要求11所述的装置,其特征在于,所述缓存模块位于无线链路控制RLC层。
【文档编号】H04L12/861GK105871519SQ201510036061
【公开日】2016年8月17日
【申请日】2015年1月23日
【发明人】许倩倩
【申请人】中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1