一种数据传输方法及装置
技术领域
本发明涉及无线通信技术领域,尤其涉及一种数据传输方法及装置。
背景技术
移动通信系统未来发展中,将支持更大的传输带宽和更高的传输速率,带宽将达到GHz,传输速率将达到10Gbps。为了应对这样的场景,大量高频小站密集部署将是一个很普遍的部署场景。而为了使小站之间更好的协作和高效工作,采取双连接或者多连接方式,或者引入集中控制节点,无论是对系统效率还是用户体验,都是较好的一种解决方式。
现有移动通信系统中,如图1所示的用户面协议栈,UE(用户终端)和eNB(演进基站)之间的数据传输,通常经过PDCP(分组数据汇聚协议)层,RLC(无线链路层控制协议)层,MAC(介质访问控制)层和PHY(物理层)的传输,每一层完成不同的数据处理。PDCP主要是进行安全操作和头压缩解压缩处理,例如加密和完整性保护,ROHC(健壮性包头压缩)压缩和解压缩等;RLC主要完成数据的分段级联和按序递交及ARQ(自动重传请求)数据传输保障;MAC主要完成调度和不同逻辑信道的级联处理及HARQ(混合自动重传请求)操作;物理层完成传输块成包和空口发送。
如图2所示,在双连接的架构中,用户数据可以在不同eNB之间进行分流处理,从RLC及以下进行两个eNB的分别处理。
现有技术中,PDCP并不能对数据进行有效的重传,当UE在两个或者两个以上节点分流数据时,一旦已经安排了在一个节点传输的数据,目前没有任何方法可以使该数据换链路传输。当该节点由于高频闪断等原因发生无线链路恶化时,安排在该节点的数据将会频繁的失败,并且影响整个UE的数据速率,进而恶化UE的用户体验。
发明内容
本发明要解决的技术问题是提供一种数据传输方法及装置,使得PDCP能对数据进行有效的重传,保证UE的数据速率,提高UE的用户体验。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一方面,提供一种数据传输方法,应用于第一节点,所述方法包括:
所述第一节点将数据包分发到不同的链路进行传输;
所述第一节点接收第二节点的指示消息;
在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包,所述第二链路为与所述第一节点初次传输丢失的数据包的第一链路不同的链路;在所述指示消息指示已传输成功的数据包时,所述第一节点放弃通过其它链路传输已传输成功的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述数据传输方法具体包括:
所述PDCP发送端将数据包分发到不同的链路进行传输;
所述PDCP发送端接收所述PDCP接收端发送的包括有丢失的数据包的信息的状态报告;
所述PDCP发送端根据接收到的状态报告通过第二链路重新传输丢失的数据包。
进一步地,所述PDCP发送端重新传输丢失的数据包包括:
所述PDCP发送端将丢失的数据包发送给底层实体进行传输,并标记丢失的数据包的传输优先级高于其他待传输的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,所述在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端根据所述RLC发送端发送的状态反馈确定丢失的数据包;
所述PDCP发送端通过第二链路重新传输丢失的数据包。
进一步地,所述PDCP发送端根据所述RLC发送端发送的状态反馈确定丢失的数据包包括:
所述PDCP发送端对每一或每一组数据包设置一个ACK定时器,当ACK定时器超时后仍未接收到数据包的状态反馈时,则将该数据包确定为丢失的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,所述在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端接收所述RLC发送端发送的上报消息,所述上报消息中携带有丢失的数据包的信息;
所述PDCP发送端通过第二链路重新传输丢失的数据包。
进一步地,所述上报消息中还携带有RLC发送端重新传输丢失的数据包的次数以及丢失的数据包在RLC发送端所分配的序列号。
进一步地,所述PDCP发送端通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端在重新传输的数据包中携带预设标记,所述预设标记包括但不限于重传标记,初次传输所述数据包的链路标记,初次传输所述数据包对应的RLC发送端的序列号。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端接收PDCP接收端发送的状态报告,所述状态报告中携带有丢失的数据包的相邻数据包的PDCP序列号;
所述PDCP发送端根据接收的PDCP序列号确定丢失的数据包,并通过第二链路重新传输丢失的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,所述在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端接收所述RLC发送端发送的上报消息,所述上报消息中携带有所述RLC发送端的链路上传输的数据包信息,所述上报消息为所述RLC发送端监测到满足预设链路恶化条件时所发送;
所述PDCP发送端根据所述上报消息确定丢失的数据包和/或未传输的数据包,并通过第二链路重新传输丢失的数据包和/或未传输的数据包。
进一步地,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
RLC传输次数达到RLC最大传输次数仍旧传输不成功;
RLC传输次数达到预设次数仍旧传输不成功,该预设次数小于配置的最大传输次数。
进一步地,所述PDCP发送端接收所述RLC发送端发送的上报消息之后,所述数据传输方法还包括:
所述PDCP发送端通知PDCP接收端复位恶化链路对应的RLC实体,并将PDCP接收端的接收状态进行上报。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端接收所述PDCP接收端发送的状态报告以及请求所述PDCP发送端复位恶化链路对应的RLC实体的复位请求;
所述PDCP发送端复位所述RLC实体,并至少根据所述状态报告确定丢失的数据包和/或未传输的数据包,通过第二链路重新传输丢失的数据包和/或未传输的数据包。
进一步地,所述至少根据所述状态报告确定丢失的数据包和/或未传输的数据包包括:
所述PDCP发送端获取恶化链路对应的RLC实体的发送和确认状态,并根据所述RLC实体的发送和确认状态以及所述状态报告确定丢失的数据包和/或未传输的数据包。
进一步地,所述PDCP发送端复位所述RLC实体之后,所述数据传输方法还包括:
所述PDCP发送端向所述PDCP接收端反馈所述RLC实体已经复位的指示,以便所述PDCP接收端进行相应RLC实体的复位。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述数据传输方法具体包括:
所述PDCP发送端对待传输的数据包进行复制,并将数据包分发到不同的链路的RLC实体进行传输;
所述PDCP发送端接收所述PDCP接收端反馈的状态报告,所述状态报告指示已经被确认接收的数据包;
所述PDCP发送端放弃通过其它链路传输已经被确认过的数据包。
进一步地,所述数据传输方法还包括:
所述PDCP发送端删除已经被确认接收的但未传输的数据包;或
所述PDCP发送端通知RLC发送端删除已经被确认接收的但未传输的数据包。
进一步地,所述数据传输方法还包括:
对于已经被传输且已经被确认的数据包,所述PDCP发送端向对端发送所述数据包的ACK信息,所述ACK信息中携带有发送所述数据包的RLC实体的序列号信息。
本发明实施例还提供了一种数据传输方法,应用于第二节点,所述装置包括:
在第一节点将数据包分发到不同的链路进行传输后,所述第二节点向所述第一节点发送指示消息,所述指示消息指示存在丢失的数据包或指示已传输成功的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述第二节点向所述第一节点发送指示消息包括:
所述PDCP接收端确定丢失的数据包,并向PDCP发送端发送包括有丢失的数据包的信息的状态报告。
进一步地,所述PDCP接收端确定丢失的数据包包括:
所述PDCP接收端在接收到乱序的数据包时,根据接收到的数据包序列号确定未成功接收的数据包,并启动重排序定时器,在重排序定时器超时之后,将一直未接收到的数据包判定为丢失的数据包。
进一步地,所述状态报告中包括有未成功接收的数据包的信息和/或成功接收的数据包的信息。
进一步地,所述未成功接收的数据包的信息包括数据包的PDCP序列号或COUNT计数器值。
进一步地,所述向PDCP发送端发送包括有丢失的数据包的信息的状态报告包括:
所述PDCP接收端通过第二链路向所述PDCP发送端发送状态报告,所述第二链路与所述PDCP接收端接收乱序的数据包的第一链路为不同的链路。
进一步地,所述向PDCP发送端发送包括有丢失的数据包的信息的状态报告之后,所述数据传输方法还包括:
所述PDCP接收端接收到所述PDCP发送端通过第二链路重新传输的数据包,将接收缺口补齐,并将接收窗口的下边界移动到下一个没有连续被接收到的数据缺口处。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,所述第二节点向所述第一节点发送指示消息包括:
所述RLC发送端在重新传输丢失的数据包预设次数之后仍不成功时,向所述PDCP发送端发送上报消息,所述上报消息中携带有丢失的数据包的信息。
进一步地,所述上报消息中还携带有RLC发送端重新传输丢失的数据包的次数以及丢失的数据包在RLC发送端所分配的序列号。
进一步地,所述预设次数小于RLC发送端的最大重传次数。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述第二节点向所述第一节点发送指示消息包括:
在接收到RLC确认模式接收端发送的丢失数据包的相邻数据包的RLC序列号后,所述PDCP接收端组织状态报告,所述状态报告中携带有丢失数据包的相邻数据包的PDCP序列号;
所述PDCP接收端向所述PDCP发送端发送状态报告。
进一步地,所述RLC确认模式接收端检测接收序列的缺口,当接收序列出现缺口时,启动重传和/或状态报告定时器,当重传和/或状态报告定时器超时后,仍没有接收到接收序列缺口处的数据包时,则所述RLC确认模式接收端判定缺口处的数据包为丢失的数据包,并向对端发送NACK状态报告;在发送NACK状态报告的次数超过预设次数后,所述RLC确认模式接收端向所述PDCP接收端上报丢失数据包的相邻数据包的PDCP序列号。
进一步地,所述PDCP接收端向所述PDCP发送端发送状态报告之后,所述数据传输方法还包括:
所述PDCP接收端接收到所述PDCP发送端重新传输的丢失的数据包,所述PDCP接收端通知所述RLC确认模式接收端已经接收到丢失的数据包,以便所述RLC确认模式接收端更新接收窗口和/或向所述PDCP发送端发送所述丢失的数据包的确认ACK反馈。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述第二节点向所述第一节点发送指示消息包括:
在接收到RLC非确认模式接收端发送的接收序列出现MAC层传输不成功的信息后,所述PDCP接收端向所述PDCP发送端发送状态反馈,所述状态反馈中携带有丢失的数据包的信息。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,所述第二节点向所述第一节点发送指示消息包括:
在监测到满足预设链路恶化条件时,所述RLC发送端向所述PDCP发送端发送上报消息,所述上报消息中携带有所述RLC发送端的链路上传输的数据包信息。
进一步地,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
RLC传输次数达到RLC最大传输次数仍旧传输不成功;
RLC传输次数达到预设次数仍旧传输不成功,该预设次数小于配置的最大传输次数。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述第二节点向所述第一节点发送指示消息包括:
在接收到RLC接收端上报的链路恶化指示后,所述PDCP接收端向所述PDCP发送端发送状态报告以及请求所述PDCP发送端复位恶化链路对应的RLC实体的复位请求。
进一步地,所述链路恶化指示为所述RLC接收端监测到满足预设链路恶化条件时所发送,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
向对端报告针对某一个丢包的次数超过最大重传次数;
向对端报告针对某一个丢包的次数超过预设次数,该预设次数小于配置的最大传输次数。
进一步地,所述数据传输方法还包括:
所述PDCP接收端接收所述PDCP发送端反馈的所述RLC实体已经复位的指示,并进行相应RLC实体的复位。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述数据传输方法具体包括:
在接收到数据包后,所述PDCP接收端向所述PDCP发送端反馈状态报告,所述状态报告指示已经被确认接收的数据包。
进一步地,所述数据传输方法还包括:
所述PDCP接收端通知除接收所述数据包的链路外的其它链路的RLC实体放弃接收所述数据包。
本发明实施例还提供了一种数据传输装置,应用于第一节点,所述装置包括:
分发模块,用于将数据包分发到不同的链路进行传输;
接收模块,用于接收第二节点的指示消息;
传输处理模块,用于在所述指示消息指示存在丢失的数据包时,通过第二链路重新传输丢失的数据包,所述第二链路为与所述第一节点初次传输丢失的数据包的第一链路不同的链路;在所述指示消息指示已传输成功的数据包时,放弃通过其它链路传输已传输成功的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端:
所述分发模块具体用于将数据包分发到不同的链路进行传输;
所述接收模块具体用于接收所述PDCP接收端发送的包括有丢失的数据包的信息的状态报告;
所述传输处理模块具体用于根据接收到的状态报告通过第二链路重新传输丢失的数据包。
进一步地,所述传输处理模块具体用于将丢失的数据包发送给底层实体进行传输,并标记丢失的数据包的传输优先级高于其他待传输的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,
所述传输处理模块具体用于根据所述RLC发送端发送的状态反馈确定丢失的数据包,通过第二链路重新传输丢失的数据包。
进一步地,所述传输处理模块具体用于对每一或每一组数据包设置一个ACK定时器,当ACK定时器超时后仍未接收到数据包的状态反馈时,则将该数据包确定为丢失的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,
所述传输处理模块具体用于接收所述RLC发送端发送的上报消息,所述上报消息中携带有丢失的数据包的信息,通过第二链路重新传输丢失的数据包。
进一步地,所述上报消息中还携带有RLC发送端重新传输丢失的数据包的次数以及丢失的数据包在RLC发送端所分配的序列号。
进一步地,所述传输处理模块具体用于在重新传输的数据包中携带预设标记,所述预设标记包括但不限于重传标记,初次传输所述数据包的链路标记,初次传输所述数据包对应的RLC发送端的序列号。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述接收模块具体用于接收PDCP接收端发送的状态报告,所述状态报告中携带有丢失的数据包的相邻数据包的PDCP序列号;
所述传输处理模块具体用于根据接收的PDCP序列号确定丢失的数据包,并通过第二链路重新传输丢失的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,
所述接收模块具体用于接收所述RLC发送端发送的上报消息,所述上报消息中携带有所述RLC发送端的链路上传输的数据包信息,所述上报消息为所述RLC发送端监测到满足预设链路恶化条件时所发送;
所述传输处理模块具体用于根据所述上报消息确定丢失的数据包和/或未传输的数据包,并通过第二链路重新传输丢失的数据包和/或未传输的数据包。
进一步地,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
RLC传输次数达到RLC最大传输次数仍旧传输不成功;
RLC传输次数达到预设次数仍旧传输不成功,该预设次数小于配置的最大传输次数。
进一步地,所述数据传输装置还包括:
通知模块,用于通知PDCP接收端复位恶化链路对应的RLC实体,并将PDCP接收端的接收状态进行上报。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述接收模块具体用于接收所述PDCP接收端发送的状态报告以及请求所述PDCP发送端复位恶化链路对应的RLC实体的复位请求;
所述传输处理模块具体用于复位所述RLC实体,并至少根据所述状态报告确定丢失的数据包和/或未传输的数据包,通过第二链路重新传输丢失的数据包和/或未传输的数据包。
进一步地,所述传输处理模块具体用于获取恶化链路对应的RLC实体的发送和确认状态,并根据所述RLC实体的发送和确认状态以及所述状态报告确定丢失的数据包和/或未传输的数据包。
进一步地,所述数据传输装置还包括:
发送模块,用于向所述PDCP接收端反馈所述RLC实体已经复位的指示,以便所述PDCP接收端进行相应RLC实体的复位。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述分发模块具体用于对待传输的数据包进行复制,并将数据包分发到不同的链路的RLC实体进行传输;
所述接收模块具体用于接收所述PDCP接收端反馈的状态报告,所述状态报告指示已经被确认接收的数据包;
所述传输处理模块具体用于放弃通过其它链路传输已经被确认过的数据包。
进一步地,所述数据传输装置还包括:
删除模块,用于删除已经被确认接收的但未传输的数据包;或
通知RLC发送端删除已经被确认接收的但未传输的数据包。
进一步地,所述数据传输装置还包括:
发送模块,用于对于已经被传输且已经被确认的数据包,向对端发送所述数据包的ACK信息,所述ACK信息中携带有发送所述数据包的RLC实体的序列号信息。
本发明实施例还提供了一种数据传输装置,应用于第二节点,所述方法包括:
指示模块,用于在第一节点将数据包分发到不同的链路进行传输后,向所述第一节点发送指示消息,所述指示消息指示存在丢失的数据包或指示已传输成功的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述指示模块具体用于确定丢失的数据包,并向PDCP发送端发送包括有丢失的数据包的信息的状态报告。
进一步地,所述指示模块具体用于在接收到乱序的数据包时,根据接收到的数据包序列号确定未成功接收的数据包,并启动重排序定时器,在重排序定时器超时之后,将一直未接收到的数据包判定为丢失的数据包。
进一步地,所述状态报告中包括有未成功接收的数据包的信息和/或成功接收的数据包的信息。
进一步地,所述未成功接收的数据包的信息包括数据包的PDCP序列号或COUNT计数器值。
进一步地,所述指示模块具体用于通过第二链路向所述PDCP发送端发送状态报告,所述第二链路与所述PDCP接收端接收乱序的数据包的第一链路为不同的链路。
进一步地,所述数据传输装置还包括:
接收窗口移动模块,用于在接收到所述PDCP发送端通过第二链路重新传输的数据包后,将接收缺口补齐,并将接收窗口的下边界移动到下一个没有连续被接收到的数据缺口处。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,
所述指示模块具体用于在重新传输丢失的数据包预设次数之后仍不成功时,向所述PDCP发送端发送上报消息,所述上报消息中携带有丢失的数据包的信息。
进一步地,所述上报消息中还携带有RLC发送端重新传输丢失的数据包的次数以及丢失的数据包在RLC发送端所分配的序列号。
进一步地,所述预设次数小于RLC发送端的最大重传次数。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述指示模块具体用于在接收到RLC确认模式接收端发送的丢失数据包的相邻数据包的RLC序列号后,组织状态报告,所述状态报告中携带有丢失数据包的相邻数据包的PDCP序列号,向所述PDCP发送端发送状态报告。
进一步地,所述RLC确认模式接收端检测接收序列的缺口,当接收序列出现缺口时,启动重传和/或状态报告定时器,当重传和/或状态报告定时器超时后,仍没有接收到接收序列缺口处的数据包时,则所述RLC确认模式接收端判定缺口处的数据包为丢失的数据包,并向对端发送NACK状态报告;在发送NACK状态报告的次数超过预设次数后,所述RLC确认模式接收端向所述PDCP接收端上报丢失数据包的相邻数据包的PDCP序列号。
进一步地,所述数据传输装置还包括:
通知模块,用于在接收到所述PDCP发送端重新传输的丢失的数据包后,通知所述RLC确认模式接收端已经接收到丢失的数据包,以便所述RLC确认模式接收端更新接收窗口和/或向所述PDCP发送端发送所述丢失的数据包的确认ACK反馈。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述指示模块具体用于在接收到RLC非确认模式接收端发送的接收序列出现MAC层传输不成功的信息后,向所述PDCP发送端发送状态反馈,所述状态反馈中携带有丢失的数据包的信息。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,
所述指示模块具体用于在监测到满足预设链路恶化条件时,向所述PDCP发送端发送上报消息,所述上报消息中携带有所述RLC发送端的链路上传输的数据包信息。
进一步地,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
RLC传输次数达到RLC最大传输次数仍旧传输不成功;
RLC传输次数达到预设次数仍旧传输不成功,该预设次数小于配置的最大传输次数。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述指示模块具体用于在接收到RLC接收端上报的链路恶化指示后,向所述PDCP发送端发送状态报告以及请求所述PDCP发送端复位恶化链路对应的RLC实体的复位请求。
进一步地,所述链路恶化指示为所述RLC接收端监测到满足预设链路恶化条件时所发送,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
向对端报告针对某一个丢包的次数超过最大重传次数;
向对端报告针对某一个丢包的次数超过预设次数,该预设次数小于配置的最大传输次数。
进一步地,所述数据传输装置还包括:
复位模块,用于在接收所述PDCP发送端反馈的所述RLC实体已经复位的指示后,进行相应RLC实体的复位。
进一步地,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述指示模块具体用于在接收到数据包后,向所述PDCP发送端反馈状态报告,所述状态报告指示已经被确认接收的数据包。
进一步地,所述数据传输装置还包括:
通知模块,用于通知除接收所述数据包的链路外的其它链路的RLC实体放弃接收所述数据包。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的方法中的步骤。
本发明的实施例具有以下有益效果:
上述方案中,在多条链路的场景中,如果相同的数据包已经经过其它链路成功传输,则将传输成功信息告知有仍未成功的链路,以更新该链路的状态;当其中的一条链路的数据传输无法继续时,可以对相应的数据进行重传,同时对有问题的链路进行挂起或者复位。通过本发明的技术方案,在多条链路的场景下,可以同时发起同一个数据包在两条或者两条以上链路的传输,使得PDCP能对数据进行有效的重传,保证UE的数据速率,提高UE的用户体验。
附图说明
图1为现有移动通信系统中的用户面协议栈的示意图;
图2为现有移动通信系统中双连接的架构示意图;
图3为本发明实施例一数据传输方法的流程示意图;
图4为本发明实施例二数据传输方法的流程示意图;
图5为本发明实施例三数据传输装置的结构框图;
图6为本发明实施例四数据传输装置的结构框图;
图7为本发明实施例承载分离的架构示意图;
图8为本发明实施例CU-DU架构的示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的实施例提供一种数据传输方法及装置,使得PDCP能对数据进行有效的重传,保证UE的数据速率,提高UE的用户体验。
实施例一
本实施例提供一种数据传输方法,应用于第一节点,如图3所示,所述方法包括:
步骤101:所述第一节点将数据包分发到不同的链路进行传输;
步骤102:所述第一节点接收第二节点的指示消息;
步骤103:在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包,所述第二链路为与所述第一节点初次传输丢失的数据包的第一链路不同的链路;在所述指示消息指示已传输成功的数据包时,所述第一节点放弃通过其它链路传输已传输成功的数据包。
本实施例中,在多条链路的场景中,如果相同的数据包已经经过其它链路成功传输,则将传输成功信息告知有仍未成功的链路,以更新该链路的状态;当其中的一条链路的数据传输无法继续时,可以对相应的数据进行重传,同时对有问题的链路进行挂起或者复位。通过本发明的技术方案,在多条链路的场景下,可以同时发起同一个数据包在两条或者两条以上链路的传输,使得能对数据进行有效的重传,保证UE的数据速率,提高UE的用户体验。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述数据传输方法具体包括:
所述PDCP发送端将数据包分发到不同的链路进行传输;
所述PDCP发送端接收所述PDCP接收端发送的包括有丢失的数据包的信息的状态报告;
所述PDCP发送端根据接收到的状态报告通过第二链路重新传输丢失的数据包。
进一步地,所述PDCP发送端重新传输丢失的数据包包括:
所述PDCP发送端将丢失的数据包发送给底层实体进行传输,并标记丢失的数据包的传输优先级高于其他待传输的数据包。
进一步地,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,所述在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端根据所述RLC发送端发送的状态反馈确定丢失的数据包;
所述PDCP发送端通过第二链路重新传输丢失的数据包。
进一步地,所述PDCP发送端根据所述RLC发送端发送的状态反馈确定丢失的数据包包括:
所述PDCP发送端对每一或每一组数据包设置一个ACK定时器,当ACK定时器超时后仍未接收到数据包的状态反馈时,则将该数据包确定为丢失的数据包。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,所述在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端接收所述RLC发送端发送的上报消息,所述上报消息中携带有丢失的数据包的信息;
所述PDCP发送端通过第二链路重新传输丢失的数据包。
进一步地,所述上报消息中还携带有RLC发送端重新传输丢失的数据包的次数以及丢失的数据包在RLC发送端所分配的序列号。
进一步地,所述PDCP发送端通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端在重新传输的数据包中携带预设标记,所述预设标记包括但不限于重传标记,初次传输所述数据包的链路标记,初次传输所述数据包对应的RLC发送端的序列号。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端接收PDCP接收端发送的状态报告,所述状态报告中携带有丢失的数据包的相邻数据包的PDCP序列号;
所述PDCP发送端根据接收的PDCP序列号确定丢失的数据包,并通过第二链路重新传输丢失的数据包。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,所述在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端接收所述RLC发送端发送的上报消息,所述上报消息中携带有所述RLC发送端的链路上传输的数据包信息,所述上报消息为所述RLC发送端监测到满足预设链路恶化条件时所发送;
所述PDCP发送端根据所述上报消息确定丢失的数据包和/或未传输的数据包,并通过第二链路重新传输丢失的数据包和/或未传输的数据包。
进一步地,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
RLC传输次数达到RLC最大传输次数仍旧传输不成功;
RLC传输次数达到预设次数仍旧传输不成功,该预设次数小于配置的最大传输次数。
进一步地,所述PDCP发送端接收所述RLC发送端发送的上报消息之后,所述数据传输方法还包括:
所述PDCP发送端通知PDCP接收端复位恶化链路对应的RLC实体,并将PDCP接收端的接收状态进行上报。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述在所述指示消息指示存在丢失的数据包时,所述第一节点通过第二链路重新传输丢失的数据包包括:
所述PDCP发送端接收所述PDCP接收端发送的状态报告以及请求所述PDCP发送端复位恶化链路对应的RLC实体的复位请求;
所述PDCP发送端复位所述RLC实体,并至少根据所述状态报告确定丢失的数据包和/或未传输的数据包,通过第二链路重新传输丢失的数据包和/或未传输的数据包。
进一步地,所述至少根据所述状态报告确定丢失的数据包和/或未传输的数据包包括:
所述PDCP发送端获取恶化链路对应的RLC实体的发送和确认状态,并根据所述RLC实体的发送和确认状态以及所述状态报告确定丢失的数据包和/或未传输的数据包。
进一步地,所述PDCP发送端复位所述RLC实体之后,所述数据传输方法还包括:
所述PDCP发送端向所述PDCP接收端反馈所述RLC实体已经复位的指示,以便所述PDCP接收端进行相应RLC实体的复位。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述数据传输方法具体包括:
所述PDCP发送端对待传输的数据包进行复制,并将数据包分发到不同的链路的RLC实体进行传输;
所述PDCP发送端接收所述PDCP接收端反馈的状态报告,所述状态报告指示已经被确认接收的数据包;
所述PDCP发送端放弃通过其它链路传输已经被确认过的数据包。
进一步地,所述数据传输方法还包括:
所述PDCP发送端删除已经被确认接收的但未传输的数据包;或
所述PDCP发送端通知RLC发送端删除已经被确认接收的但未传输的数据包。
进一步地,所述数据传输方法还包括:
对于已经被传输且已经被确认的数据包,所述PDCP发送端向对端发送所述数据包的ACK信息,所述ACK信息中携带有发送所述数据包的RLC实体的序列号信息。
实施例二
本实施例提供了一种数据传输方法,应用于第二节点,如图4所示,所述方法包括:
步骤201:在第一节点将数据包分发到不同的链路进行传输后,所述第二节点向所述第一节点发送指示消息,所述指示消息指示存在丢失的数据包或指示已传输成功的数据包。
本实施例中,在多条链路的场景中,如果相同的数据包已经经过其它链路成功传输,则将传输成功信息告知有仍未成功的链路,以更新该链路的状态;当其中的一条链路的数据传输无法继续时,可以指示存在丢失的数据包,以便对相应的数据进行重传,同时对有问题的链路进行挂起或者复位。通过本发明的技术方案,在多条链路的场景下,可以同时发起同一个数据包在两条或者两条以上链路的传输,能对数据进行有效的重传,保证UE的数据速率,提高UE的用户体验。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述第二节点向所述第一节点发送指示消息包括:
所述PDCP接收端确定丢失的数据包,并向PDCP发送端发送包括有丢失的数据包的信息的状态报告。
进一步地,所述PDCP接收端确定丢失的数据包包括:
所述PDCP接收端在接收到乱序的数据包时,根据接收到的数据包序列号确定未成功接收的数据包,并启动重排序定时器,在重排序定时器超时之后,将一直未接收到的数据包判定为丢失的数据包。
进一步地,所述状态报告中包括有未成功接收的数据包的信息和/或成功接收的数据包的信息。
进一步地,所述未成功接收的数据包的信息包括数据包的PDCP序列号或COUNT计数器值。
进一步地,所述向PDCP发送端发送包括有丢失的数据包的信息的状态报告包括:
所述PDCP接收端通过第二链路向所述PDCP发送端发送状态报告,所述第二链路与所述PDCP接收端接收乱序的数据包的第一链路为不同的链路。
进一步地,所述向PDCP发送端发送包括有丢失的数据包的信息的状态报告之后,所述数据传输方法还包括:
所述PDCP接收端接收到所述PDCP发送端通过第二链路重新传输的数据包,将接收缺口补齐,并将接收窗口的下边界移动到下一个没有连续被接收到的数据缺口处。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,所述第二节点向所述第一节点发送指示消息包括:
所述RLC发送端在重新传输丢失的数据包预设次数之后仍不成功时,向所述PDCP发送端发送上报消息,所述上报消息中携带有丢失的数据包的信息。
进一步地,所述上报消息中还携带有RLC发送端重新传输丢失的数据包的次数以及丢失的数据包在RLC发送端所分配的序列号。
进一步地,所述预设次数小于RLC发送端的最大重传次数。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述第二节点向所述第一节点发送指示消息包括:
在接收到RLC确认模式接收端发送的丢失数据包的相邻数据包的RLC序列号后,所述PDCP接收端组织状态报告,所述状态报告中携带有丢失数据包的相邻数据包的PDCP序列号;
所述PDCP接收端向所述PDCP发送端发送状态报告。
进一步地,所述RLC确认模式接收端检测接收序列的缺口,当接收序列出现缺口时,启动重传和/或状态报告定时器,当重传和/或状态报告定时器超时后,仍没有接收到接收序列缺口处的数据包时,则所述RLC确认模式接收端判定缺口处的数据包为丢失的数据包,并向对端发送NACK状态报告;在发送NACK状态报告的次数超过预设次数后,所述RLC确认模式接收端向所述PDCP接收端上报丢失数据包的相邻数据包的PDCP序列号。
进一步地,所述PDCP接收端向所述PDCP发送端发送状态报告之后,所述数据传输方法还包括:
所述PDCP接收端接收到所述PDCP发送端重新传输的丢失的数据包,所述PDCP接收端通知所述RLC确认模式接收端已经接收到丢失的数据包,以便所述RLC确认模式接收端更新接收窗口和/或向所述PDCP发送端发送所述丢失的数据包的确认ACK反馈。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述第二节点向所述第一节点发送指示消息包括:
在接收到RLC非确认模式接收端发送的接收序列出现MAC层传输不成功的信息后,所述PDCP接收端向所述PDCP发送端发送状态反馈,所述状态反馈中携带有丢失的数据包的信息。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,所述第二节点向所述第一节点发送指示消息包括:
在监测到满足预设链路恶化条件时,所述RLC发送端向所述PDCP发送端发送上报消息,所述上报消息中携带有所述RLC发送端的链路上传输的数据包信息。
进一步地,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
RLC传输次数达到RLC最大传输次数仍旧传输不成功;
RLC传输次数达到预设次数仍旧传输不成功,该预设次数小于配置的最大传输次数。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述第二节点向所述第一节点发送指示消息包括:
在接收到RLC接收端上报的链路恶化指示后,所述PDCP接收端向所述PDCP发送端发送状态报告以及请求所述PDCP发送端复位恶化链路对应的RLC实体的复位请求。
进一步地,所述链路恶化指示为所述RLC接收端监测到满足预设链路恶化条件时所发送,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
向对端报告针对某一个丢包的次数超过最大重传次数;
向对端报告针对某一个丢包的次数超过预设次数,该预设次数小于配置的最大传输次数。
进一步地,所述数据传输方法还包括:
所述PDCP接收端接收所述PDCP发送端反馈的所述RLC实体已经复位的指示,并进行相应RLC实体的复位。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,所述数据传输方法具体包括:
在接收到数据包后,所述PDCP接收端向所述PDCP发送端反馈状态报告,所述状态报告指示已经被确认接收的数据包。
进一步地,所述数据传输方法还包括:
所述PDCP接收端通知除接收所述数据包的链路外的其它链路的RLC实体放弃接收所述数据包。
实施例三
本实施例提供了一种数据传输装置,应用于第一节点,如图5所示,所述装置包括:
分发模块31,用于将数据包分发到不同的链路进行传输;
接收模块32,用于接收第二节点的指示消息;
传输处理模块33,用于在所述指示消息指示存在丢失的数据包时,通过第二链路重新传输丢失的数据包,所述第二链路为与所述第一节点初次传输丢失的数据包的第一链路不同的链路;在所述指示消息指示已传输成功的数据包时,放弃通过其它链路传输已传输成功的数据包。
本实施例中,在多条链路的场景中,如果相同的数据包已经经过其它链路成功传输,则将传输成功信息告知有仍未成功的链路,以更新该链路的状态;当其中的一条链路的数据传输无法继续时,可以对相应的数据进行重传,同时对有问题的链路进行挂起或者复位。通过本发明的技术方案,在多条链路的场景下,可以同时发起同一个数据包在两条或者两条以上链路的传输,使得能对数据进行有效的重传,保证UE的数据速率,提高UE的用户体验。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端:
所述分发模块具体用于将数据包分发到不同的链路进行传输;
所述接收模块具体用于接收所述PDCP接收端发送的包括有丢失的数据包的信息的状态报告;
所述传输处理模块具体用于根据接收到的状态报告通过第二链路重新传输丢失的数据包。
进一步地,所述传输处理模块具体用于将丢失的数据包发送给底层实体进行传输,并标记丢失的数据包的传输优先级高于其他待传输的数据包。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,
所述传输处理模块具体用于根据所述RLC发送端发送的状态反馈确定丢失的数据包,通过第二链路重新传输丢失的数据包。
进一步地,所述传输处理模块具体用于对每一或每一组数据包设置一个ACK定时器,当ACK定时器超时后仍未接收到数据包的状态反馈时,则将该数据包确定为丢失的数据包。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,
所述传输处理模块具体用于接收所述RLC发送端发送的上报消息,所述上报消息中携带有丢失的数据包的信息,通过第二链路重新传输丢失的数据包。
进一步地,所述上报消息中还携带有RLC发送端重新传输丢失的数据包的次数以及丢失的数据包在RLC发送端所分配的序列号。
进一步地,所述传输处理模块具体用于在重新传输的数据包中携带预设标记,所述预设标记包括但不限于重传标记,初次传输所述数据包的链路标记,初次传输所述数据包对应的RLC发送端的序列号。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述接收模块具体用于接收PDCP接收端发送的状态报告,所述状态报告中携带有丢失的数据包的相邻数据包的PDCP序列号;
所述传输处理模块具体用于根据接收的PDCP序列号确定丢失的数据包,并通过第二链路重新传输丢失的数据包。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,
所述接收模块具体用于接收所述RLC发送端发送的上报消息,所述上报消息中携带有所述RLC发送端的链路上传输的数据包信息,所述上报消息为所述RLC发送端监测到满足预设链路恶化条件时所发送;
所述传输处理模块具体用于根据所述上报消息确定丢失的数据包和/或未传输的数据包,并通过第二链路重新传输丢失的数据包和/或未传输的数据包。
进一步地,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
RLC传输次数达到RLC最大传输次数仍旧传输不成功;
RLC传输次数达到预设次数仍旧传输不成功,该预设次数小于配置的最大传输次数。
进一步地,所述数据传输装置还包括:
通知模块,用于通知PDCP接收端复位恶化链路对应的RLC实体,并将PDCP接收端的接收状态进行上报。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述接收模块具体用于接收所述PDCP接收端发送的状态报告以及请求所述PDCP发送端复位恶化链路对应的RLC实体的复位请求;
所述传输处理模块具体用于复位所述RLC实体,并至少根据所述状态报告确定丢失的数据包和/或未传输的数据包,通过第二链路重新传输丢失的数据包和/或未传输的数据包。
进一步地,所述传输处理模块具体用于获取恶化链路对应的RLC实体的发送和确认状态,并根据所述RLC实体的发送和确认状态以及所述状态报告确定丢失的数据包和/或未传输的数据包。
进一步地,所述数据传输装置还包括:
发送模块,用于向所述PDCP接收端反馈所述RLC实体已经复位的指示,以便所述PDCP接收端进行相应RLC实体的复位。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述分发模块具体用于对待传输的数据包进行复制,并将数据包分发到不同的链路的RLC实体进行传输;
所述接收模块具体用于接收所述PDCP接收端反馈的状态报告,所述状态报告指示已经被确认接收的数据包;
所述传输处理模块具体用于放弃通过其它链路传输已经被确认过的数据包。
进一步地,所述数据传输装置还包括:
删除模块,用于删除已经被确认接收的但未传输的数据包;或
通知RLC发送端删除已经被确认接收的但未传输的数据包。
进一步地,所述数据传输装置还包括:
发送模块,用于对于已经被传输且已经被确认的数据包,向对端发送所述数据包的ACK信息,所述ACK信息中携带有发送所述数据包的RLC实体的序列号信息。
实施例四
本实施例还提供了一种数据传输装置,应用于第二节点,如图6所示,所述装置包括:
指示模块41,用于在第一节点将数据包分发到不同的链路进行传输后,向所述第一节点发送指示消息,所述指示消息指示存在丢失的数据包或指示已传输成功的数据包。
本实施例中,在多条链路的场景中,如果相同的数据包已经经过其它链路成功传输,则将传输成功信息告知有仍未成功的链路,以更新该链路的状态;当其中的一条链路的数据传输无法继续时,可以指示存在丢失的数据包,以便对相应的数据进行重传,同时对有问题的链路进行挂起或者复位。通过本发明的技术方案,在多条链路的场景下,可以同时发起同一个数据包在两条或者两条以上链路的传输,能对数据进行有效的重传,保证UE的数据速率,提高UE的用户体验。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述指示模块具体用于确定丢失的数据包,并向PDCP发送端发送包括有丢失的数据包的信息的状态报告。
进一步地,所述指示模块具体用于在接收到乱序的数据包时,根据接收到的数据包序列号确定未成功接收的数据包,并启动重排序定时器,在重排序定时器超时之后,将一直未接收到的数据包判定为丢失的数据包。
进一步地,所述状态报告中包括有未成功接收的数据包的信息和/或成功接收的数据包的信息。
进一步地,所述未成功接收的数据包的信息包括数据包的PDCP序列号或COUNT计数器值。
进一步地,所述指示模块具体用于通过第二链路向所述PDCP发送端发送状态报告,所述第二链路与所述PDCP接收端接收乱序的数据包的第一链路为不同的链路。
进一步地,所述数据传输装置还包括:
接收窗口移动模块,用于在接收到所述PDCP发送端通过第二链路重新传输的数据包后,将接收缺口补齐,并将接收窗口的下边界移动到下一个没有连续被接收到的数据缺口处。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,
所述指示模块具体用于在重新传输丢失的数据包预设次数之后仍不成功时,向所述PDCP发送端发送上报消息,所述上报消息中携带有丢失的数据包的信息。
进一步地,所述上报消息中还携带有RLC发送端重新传输丢失的数据包的次数以及丢失的数据包在RLC发送端所分配的序列号。
进一步地,所述预设次数小于RLC发送端的最大重传次数。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述指示模块具体用于在接收到RLC确认模式接收端发送的丢失数据包的相邻数据包的RLC序列号后,组织状态报告,所述状态报告中携带有丢失数据包的相邻数据包的PDCP序列号,向所述PDCP发送端发送状态报告。
进一步地,所述RLC确认模式接收端检测接收序列的缺口,当接收序列出现缺口时,启动重传和/或状态报告定时器,当重传和/或状态报告定时器超时后,仍没有接收到接收序列缺口处的数据包时,则所述RLC确认模式接收端判定缺口处的数据包为丢失的数据包,并向对端发送NACK状态报告;在发送NACK状态报告的次数超过预设次数后,所述RLC确认模式接收端向所述PDCP接收端上报丢失数据包的相邻数据包的PDCP序列号。
进一步地,所述数据传输装置还包括:
通知模块,用于在接收到所述PDCP发送端重新传输的丢失的数据包后,通知所述RLC确认模式接收端已经接收到丢失的数据包,以便所述RLC确认模式接收端更新接收窗口和/或向所述PDCP发送端发送所述丢失的数据包的确认ACK反馈。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述指示模块具体用于在接收到RLC非确认模式接收端发送的接收序列出现MAC层传输不成功的信息后,向所述PDCP发送端发送状态反馈,所述状态反馈中携带有丢失的数据包的信息。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为RLC发送端,
所述指示模块具体用于在监测到满足预设链路恶化条件时,向所述PDCP发送端发送上报消息,所述上报消息中携带有所述RLC发送端的链路上传输的数据包信息。
进一步地,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
RLC传输次数达到RLC最大传输次数仍旧传输不成功;
RLC传输次数达到预设次数仍旧传输不成功,该预设次数小于配置的最大传输次数。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述指示模块具体用于在接收到RLC接收端上报的链路恶化指示后,向所述PDCP发送端发送状态报告以及请求所述PDCP发送端复位恶化链路对应的RLC实体的复位请求。
进一步地,所述链路恶化指示为所述RLC接收端监测到满足预设链路恶化条件时所发送,所述预设链路恶化条件包括以下几者中的至少之一:
链路质量低于门限的时间超过预设时长;
向对端报告针对某一个丢包的次数超过最大重传次数;
向对端报告针对某一个丢包的次数超过预设次数,该预设次数小于配置的最大传输次数。
进一步地,所述数据传输装置还包括:
复位模块,用于在接收所述PDCP发送端反馈的所述RLC实体已经复位的指示后,进行相应RLC实体的复位。
一具体实施方式中,所述第一节点为PDCP发送端,所述第二节点为PDCP接收端,
所述指示模块具体用于在接收到数据包后,向所述PDCP发送端反馈状态报告,所述状态报告指示已经被确认接收的数据包。
进一步地,所述数据传输装置还包括:
通知模块,用于通知除接收所述数据包的链路外的其它链路的RLC实体放弃接收所述数据包。
实施例五
图7给出了典型的承载分离的架构示意图,如图7所示,当MeNB(宏小区基站)只有一个SeNB(小小区)时,即为双连接,当MeNB有两个或两个以上SeNB时,即为多连接。图8给出的是CU(集中式单元)-DU(分布式单元)架构的示意图,当CU承载被分离到两个DU时,即为双连接,当CU承载被分离到三个或三个以上DU时,即为多连接。
图7和图8给出了典型的架构示意图,但并不排除其他的架构。这些架构的共同特征是有一个集中的PDCP实体,用以进行数据处理及可能的数据分发。
在这些承载分离的架构中,PDCP发送端在进行了必要的头压缩和安全等操作后,将PDCP PDU(协议数据单元)分发到不同的链路进行传输,RLC层如果是AM(确认模式)配置,则RLC层在一定程度上能够保证数据的正确传输。但当某一条链路发生恶化时,RLC的重传由于只能由相同的链路进行传输,因此重传也有很大可能失败,在这样的情况下,需要新的机制触发更好的重传,使得位于恶化链路的数据能换到其它较好质量的链路进行重传。
本实施例中,有效的触发重传的方式为,由PDCP接收端进行丢包的检测,当满足一定条件时仍旧未能接收到的数据包认定为丢包(即丢失的数据包),PDCP接收端主动向对端发起状态报告,告知对端哪些数据包丢掉了,请求PDCP发送端进行相关数据的重传。而PDCP发送端在第一次发送数据包的时候,可以记录每个数据包是通过哪条链路进行发送的,重传的时候,尽量选择与原链路不一致的其他链路进行重传,以增加重传成功的概率。
本实施例中,PDCP接收端进行丢包检测的方法,就是在PDCP接收端设置重排序定时器。当PDCP接收端出现乱序接收的数据包时,即例如接收到PDU SN(序列号)=0,1,2后,下一个接收到了PDU SN=4,则对于PDU 3没有按序接收的这种情况,即称为乱序接收,此时启动重排序定时器,该重排序定时器的长度需要考虑一定的RLC传输和重传的时长,例如RLC一次传输RTT(往返时延)的长度约为100毫秒,则此时可以设置PDCP重排序定时器为300ms,意味着大约经过三次RLC传输和重传仍旧没有传输成功,此时需要PDCP发送端进行重传。一般来说,PDCP重排序定时器的长度不应该大于RLC的最大重传时长,例如设置RLC最大传输次数为4次,如果把PDCP重排序定时器时长设置为500ms,则意味着RLC达到最大重传次数,上报无法解决的协议错误时,PDCP接收端仍旧没有触发重传,这是应该避免的。PDCP接收端触发重传应该在RLC到达最大重传次数之前,才具有积极的解决恶化链路传输的数据换另一条链路重传的目的。
当PDCP接收端启动重排序定时器,并且在重排序定时器超时之前,该缺口的数据一直没有接收到,则PDCP接收端可以认为该数据包的传输遇到了恶化链路,则PDCP接收端认为该数据包暂时无法传输成功,判定为丢包,这时候PDCP接收端组织状态报告,将无法传输成功的数据包的信息,例如数据包的PDCP SN或COUNT(计数器)值包含在状态报告中即NACK(否定回答)信息,同时也可以包含成功传输的数据包信息即ACK(确认)信息,发送给对端即PDCP发送端。状态报告发送时,也可以尽量避免选择恶化链路进行传输,而选择一条信道质量相对较好的链路进行传输。对端即PDCP发送端接收到这样的状态报告,将NACK的数据包安排进行重传,并且根据记录的这些NACK的数据包之前传输的链路记录,尽量选择不同的链路进行重传,这些重传包可以有特殊的标记,在底层进行传输时,具有比普通数据包更高的优先级,可以优先被处理。
当通过其它链路传输的数据正确达到PDCP接收端,则PDCP接收端可以将接收缺口进行补齐,并将接收窗口的下边界移动到下一个没有连续被接收到的数据缺口处。
进一步地,可以基于PDCP发送端的状态触发重传,例如PDCP发送端可以根据RLC层的ACK反馈来确认哪些数据包已经传输成功,对于长期没有接收到ACK反馈的数据包,PDCP发送端可以主动发起换链路重传,例如对每个或每组数据包设置一个ACK定时器,当ACK定时器超时,仍旧没有接收到ACK反馈,则对该数据包主动发起换链路重传。
实施例六
实施例五中给出一种PDCP层自行反馈并重传的机制,在本实施例中,采取RLC发送端通知PDCP发送端的方式进行PDCP重传的触发。
在现有的RLC的传输方式中,AM有自己本身的状态反馈机制,例如状态报告反馈,或者探寻Poll机制,当RLC发送端自己本身的机制触发了RLC层的重传,并且经过多次重传仍旧不成功,例如3次,一般这个次数小于RLC发送端自己本身的最大重传次数,因为到达最大重传次数则RLC发送端需要上报。当RLC发送端重传3次不成功时,可以向其高层PDCP发送端进行上报,上报时可以包括该RLC PDU对应的PDCP PDU的SN标识,可选的,还可以携带RLC重传次数以及该数据在RLC所分配的SN号,以帮助PDCP发送端判断丢包以及更高效地传输。
当PDCP发送端接收到RLC发送端的上报消息时,对RLC发送端上报的未传输成功的PDCP PDU,可以立即安排在其他链路进行快速重传,并携带特殊标记,例如重传标记、初传所在的链路标记、初传对应的RLC的序列号等。重传标记可以有助于标识这是一个重传包,从而获得较高的传输优先级,尽快传输到对端,而初传所在的链路标记,则有助于对初传链路的接收端的更新。
当PDCP接收端接收到换链路重传的数据包时,可以将接收序列缺口进行补齐,更新接收窗口。另外,如果重传数据包中携带有具体的初传信息,则PDCP接收端还可以告知初传链路对应的RLC接收端实体,该数据包已经通过其它链路传输成功,并将具体的RLC SN也告知RLC接收端,这样RLC接收端可以不用再等待该数据包的传输,相应的更新接收窗口,移动到下一个没有连续接收的数据包处,可选的也可以立即反馈ACK信息给对端,使对端放弃该数据包的重传。
对于RLC UM(非确认模式)来说,虽然RLC UM数据一般对正确率的要求低一些,可以允许部分丢包情况发生,但当RLC UM发现哪个数据包在RLC没有传输成功时,例如MAC多次HARQ(混合自动重传请求)传输都是接收到NACK,此时也可以上报给PDCP发送端,以便于PDCP发送端进行判断,后续的数据包是否需要更换链路,将后续数据尽量安排在链路条件较好的链路上进行传输。
实施例七
在本实施例中给出一种RLC接收端通知PDCP接收端传输失败的方式,具体如下:
当RLC模式为AM模式时,RLC会检测接收序列的缺口,当接收序列出现缺口时,启动重传和/或状态报告定时器,该重传和/或状态报告定时器是用于等待MAC层HARQ重传导致的先发后至的情况,一般来说该重传和/或状态报告定时器的长度考虑MAC层的最大重传时延,例如MAC一次RTT为8ms,则最大传输5次需要大概40ms,该重传和/或状态报告定时器设置为40ms,当重传和/或状态报告定时器超时,该缺口处的数据包仍旧没有接收到,则认定为丢包,启动状态报告机制,将该缺口处的数据包认定为丢包,在状态报告中以NACK显示,并发送给对端要求重传。其后,如果接收序列中仍旧存在有缺口,则继续启动重传和/或状态报告定时器,重传和/或状态报告定时器超时后,如果缺口仍旧未接收,则继续发送NACK状态报告要求重传。
RLC AM接收端可以记录其对同一个数据包发送NACK要求重传的次数,如果次数达到一定的门限,例如3次,则可以向PDCP接收端进行上报,同时可以携带该缺口附近的RLCSN的信息,例如RLC SN=1和3的数据包接收到,而2丢掉,则PDCP接收端组织状态报告,告知对端这条链路发生了丢包,并可以将对应的接收数据包的PDCP SN,例如RLC 1和/或3对应的PDCP的SN告知对端。对端即PDCP发送端在接收到状态报告后,查找自己的发送记录,根据对应的RLC 1和/或3对应的PDCP的SN,可以找到跟它相邻的PDCP SN,将该SN对应的数据包认定为丢包,换链路进行重传。
PDCP接收端接收到重传的数据包后,根据重传的数据包信息,以及先前上报的状态报告信息相印证,可以通知RLC接收端该丢包的数据包已经接收到,RLC接收端可以放弃该数据的重传尝试,直接更新接收窗口。可选得,也可以立即启动RLC状态报告机制,立即向发送端发送该数据包的ACK信息。
如果是RLC UM模式,当发现接收序列出现MAC层传输不成功的情况,也可以告知PDCP接收端,由PDCP接收端出发状态反馈,使PDCP发送端的数据分发尽量倾向于其他链路条件较好的链路。
实施例八
当某一条链路达到一定的恶化检测门限,即满足下列恶化条件中至少之一,则认定该条链路为恶化链路:
1、链路质量监测一直处于恶劣状态,例如链路质量低于预设门限并持续一定的时长,链路质量监测一般由低层进行,可以将触发的条件配置给底层,由底层在满足条件之后上报给高层;
2、高层的传输出现了无法解决的问题,例如达到了RLC最大传输次数仍旧传输不成功;
3、高层的传输满足预设条件,例如RLC传输次数达到一定门限仍旧传输不成功,该门限小于配置的最大传输次数。
当满足上述恶化条件至少之一时,RLC发送端可以向PDCP发送端进行上报,并将在该RLC链路上传输的信息上报给PDCP发送端,具体的可以是已经收到ACK信息的所有的数据包的信息和未获得确认的数据包信息,对于PDCP发送端,将已经ACK确认的数据包,认为无需再次传输,对于未获得确认的数据包信息,则由PDCP发送端进行安排换链路重传。
PDCP发送端在接收到底层发送的链路恶化指示时,PDCP发送端可以启动控制信令过程,通知PDCP接收端,去reset(复位)恶化链路对应的RLC实体,并将PDCP接收端的接收状态进行立即上报。
具体地,可以组织一个单独的PDCP control(控制)PDU,该PDU中携带需要reset的RLC实体的信息,例如逻辑信道号等,并以显示或者隐式的方式通知对端即PDCP接收端立即进行接收状态上报,显示方式例如以control PDU中的1bit信息指示是否需要PDCP接收端状态报告,隐式方式是指标准规定一旦接收到reset RLC的指示,即伴随PDCP接收端接收状态上报。
当PDCP接收端接收到reset RLC的指示,则按照要求,复位相应的RLC实体,并将当前PDCP接收端的接收状态立即进行上报,上报内容可以不包括没有经过重排序定时器检测的接收缺口信息,而将已经经过重排序定时器检测的所有数据的接收情况进行上报;上报内容也可以包含所有的接收状态,即在接收窗口中的所有状态都上报。同时在状态报告中,也要以显式的方式指明,需要reset的RLC实体,已经完成了复位操作。
当PDCP发送端接收到对端即PDCP接收端的反馈,则根据PDCP接收端接收状态的信息,来决定重传哪些数据,根据PDCP发送端的记录,对于恶化链路对应的RLC实体的数据,如果接收到NACK反馈,则需要立即重传,但是如果接收到NACK的数据并不是在恶化链路对应的RLC实体进行传输的,则可以不予理会(如果状态报告中的NACK信息并没有经过重排序定时器检测),或者也进行换链路重传(NACK信息已经经过重排序定时器检测),或者为了加快PDCP接收端接收窗口更新,可以统一重传,虽然浪费一些资源但有利于快速窗口更新和用户体验速率的提升。
同时,PDCP发送端复位本侧的RLC实体有两个可选的时间点,一个是在发送复位指示到对端即PDCP接收端之前,另一个是在接收到对端的关于复位指示的肯定反馈之后。PDCP发送端接收到反馈,确认对端的恶化链路对应RLC实体也已经复位,则针对恶化链路对应的RLC实体两侧均已经完成了复位,后续根据链路情况,当链路质量满足恢复的条件之后,RLC发送端可以上报PDCP发送端,指示该链路可以恢复数据传输。或者PDCP发送端自行等待一定的时长,当该时长满足后,则可以尝试向之前恶化的链路发送数据,并根据反馈和流控信息,及时地调整发送速率。
需要注意的是,上述PDCP的交互过程应该通过其它链路条件较好的链路进行传输,避免经过恶化链路传输造成失败和不必要的时延。其中,由发送端发送端发起的RLC复位过程,可以由网络侧触发,也可以由UE侧触发。
实施例九
同样的,接收端也可以进行链路质量的监测,在满足下列恶化条件至少之一时,触发发起RLC复位过程:
1、链路质量监测一直处于恶劣状态,例如链路质量低于预设门限并持续一定的时长,链路质量监测一般由低层进行,可以将触发的条件配置给底层,由底层在满足条件之后上报给高层;
2、高层的传输出现了无法解决的问题,例如向对端报告针对某一个丢包的次数超过了最大重传次数;
3、高层的传输达到预设条件,例如对端报告针对某一个丢包的次数达到一定门限仍旧传输不成功,该门限小于配置的最大传输次数。
这时候RLC接收端可以向PDCP接收端上报链路恶化指示,当PDCP接收端接收到该指示之后,组织PDCP接收端的信令,向对端即PDC发送端上报自己最新的接收状态,并且请求复位恶化链路对应的RLC实体。
PDCP发送端接收到请求复位的指示,首先与对应的RLC实体交互,获得RLC实体的发送和确认状态,然后复位该RLC实体。PDCP发送端根据RLC实体的状态和对端的PDCP状态报告,决定对哪些数据包进行换路径重传,一般来说以PDCP的状态报告为准,也可以不需要RLC状态。同时PDCP发送端也需要向PDCP接收端反馈RLC实体已经复位的指示。
PDCP接收端接收到RLC复位确认,则进行相应的RLC实体的复位,这里复位RLC实体放在PDCP交互之后,是因为RLC接收端如果先复位则无法阻止未复位的RLC发送端继续进行数据传输,造成对接收状态的不正确干扰。
同样,上述PDCP的交互过程应该通过其它链路条件较好的链路进行传输,避免经过恶化链路传输造成失败和不必要的时延。在完成了RLC实体的复位之后,PDCP发送端可以决定何时进行新数据的传输。
实施例十
当PDCP发送端包括两条或者两条以上链路时,可以基于一定的配置,对数据包进行重复传输。主要的目的是多条链路传输可以保障数据传输的高可靠性和低时延特性。一般根据业务的类型、业务传输需求、链路质量和负荷等来决定是否开启重复传输,其中前两个条件属于静态条件,适宜于通过RRC信令来决定或者配置,而后两个条件相对动态,适宜于通过L1/L2信令来决定。
当决定对数据采取重复传输时,一般来说,可以在PDCP发送端对数据进行复制,传输到不同链路的RLC实体,由RLC实体进行传输。
当对端的PDCP实体正确接收到任意一条链路传输的数据后,PDCP实体可以通知其它链路的RLC实体,确认该数据包已经正确接收,则在其它链路可以放弃传输。
一般来说,由于当前PDCP数据与RLC数据是一对一的关系,因此当重复发送总是开启时,每条链路的RLC SN与PDCP的SN的对应关系是一样的,也就是说可以通过PDCP SN或者其它链路的RLC的SN,来指示给未传输成功的链路的RLC已经接收成功的包是哪个数据包,以便于RLC更新其接收窗口。一般情况下,如果接收窗口包含该ACK的数据包所指示的接收序列缺口,则可以直接认定该缺口被填满,更新窗口,而如果该ACK的数据包超出接收端最大接收SN的上限,则需要谨慎更新,以避免这些数据包并没有通过发送端发送。
PDCP接收端也可以反馈状态报告给PDCP发送端,告知PDCP发送端哪些数据包已经被确认,而PDCP发送端对已经被确认的数据,可以放弃发送,如果没有传输过,则直接删除,如果已经传输过,则认为接收到ACK反馈,并由RLC发送端通知对端ACK信息或者PDCPPDCP通知对端这些ACK信息,无论是哪一层通知,都需要携带该RLC实体对应的SN信息,以确保正确更新接收状态。
需要说明的是,本发明第三、四实施例提供的装置是能够对应实现上述方法实施例提供的数据传输装置,故上述方法实施例提供的数据传输方法的所有实施例均可对应适用于该第三、四实施例,且均能达到相同或相似的有益效果。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理包括,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一所述方法中的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例二所述方法中的步骤。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。