一种数据传输方法及设备
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法及设备。
背景技术
在无线通信系统中,覆盖是个非常重要的性能指标,尤其上行覆盖的性能尤为重要。因为用户终端上行发送功率有限,对于小区边缘用户,上行传输会导致基站正确解码数据包的概率低,从而造成大量数据包的重传,使得数据包的传输时延非常大。
针对数据包的重传,LTE技术采用混合自动重传请求(英文:Hybrid AutomaticRepeat reQuest,简称:HARQ)协议进行重传,HARQ使用停等协议(stop-and-waitprotocol)来发送数据包。在停等协议中,发送端发送一个传输块(英文:Transport,Block,简称:TB)后,就停下来等待该传输块的确认信息。接收端会使用1比特的信息对该TB进行确认应答(英文:Acknowledgement,简称:ACK)或否定应答(英文:NegativeAcknowledgement,简称:NACK)的确认。
针对网络协议电话(英文:Voice over Internet Protocol,简称:VoIP)是使用因特网协议(英文:internet Protocol,简称:IP)实时传输数据包,每隔20ms到达一个数据包。但是VoIP要求较高的QoS:首先数据包传输延迟不能超过50ms,否则丢弃该数据包;其次数据包的传输错误率应低于2%。因此对于语音业务,上行覆盖尤为关键,因为重传次数过多会导致VoIP业务的延迟超过50ms,从而发生丢包。
为了提升VoIP的上行覆盖范围,长期演进(英文Long Term Evolution,简称:LTE)技术提出了传输时间间隔(英文:Transmission Time Interval,简称:TTI)捆绑(英文:Bundling)技术。TTI bundling将整个数据包编码形成不同的冗余版本,不同的冗余版本分别在连续的多个TTI(即连续多个上行子帧)中传输,TTI bundling技术中的数据包重传也需要将数据包的不同冗余版本在连续的多个TTI中传输。其中该连续多个上行子帧称为一个绑定子帧束(bundle)。
目前,在LTE系统中,规定bundle大小(size)为4,即一个bundle中包含四个上行子帧。一个bundle属于一个HARQ进程。
由于针对VoIP业务,数据包每隔20ms到达一个,并且VoIP业务要求传输时延小于50ms,因此无论是TTI bundling或者非TTI bundling,每个数据包的无论是否正确接收重传次数都是固定的,不会大于系统允许的最大传输次数,因此在达到系统允许的最大传输次数时,可能该数据包不会被正确接收,限制了上行覆盖。
发明内容
本发明实施例提供了一种数据传输方法及设备,在避免资源浪费的同时,提高了上行覆盖。
第一方面,本发明实施例提供了一种数据传输方法,该方法包括:
在确定第二混合自动重传请求HARQ进程空闲时,发送端获取第一HARQ进程所需发送的第一数据包;
所述发送端通过所述第二HARQ进程将获取到的所述第一数据包发送给接收端;
可选的,所述发送端为终端,所述接收端为基站;或者所述发送端为基站,所述接收端为终端。
结合第一方面,在第一方面的第一种可能的实现方式中,获取第一HARQ进程所需发送的第一数据包,包括:
从所述第一HARQ进程的HARQ缓存中获取所述第一数据包。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,确定所述第二HARQ进程空闲,包括:
确定所述第二HARQ进程的HARQ缓存为空;或者
确定上一次通过所述第二HARQ进程发送的第二数据包成功传输且未有新的数据包到达。
结合第一方面和第一方面的第一种和第二种可能的实现方式中的任意一种,在第一方面的第三种可能的实现方式中,所述发送端获取第一HARQ进程所需发送的第一数据包之后,还包括:
所述发送端更新通过所述第二HARQ进程传输数据包的次数。
结合第一方面,在第一方面的第四种可能的实现方式中,发送端获取第一HARQ进程所需发送的第一数据包后,还包括:
所述发送端将获取到的所述第一数据包缓存在所述第二HARQ进程的HARQ缓存中;
所述发送端通过所述第二HARQ进程将获取到的所述第一数据包发送给接收端,包括:
所述发送端通过所述第二HARQ进程将所述第二HARQ进程的HARQ缓存中的所述第一数据包发送给所述接收端。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,还包括:
若所述第一数据包成功传输,所述发送端停止通过所述第二HARQ进程以及所述第一HARQ进程传输所述第一数据包。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述发送端停止通过所述第二HARQ进程以及所述第一HARQ进程传输所述第一数据包,包括:
所述发送端删除所述第二HARQ进程的HARQ缓存以及所述第一HARQ的HARQ缓存的所述第一数据包;或者
所述发送端针对所述第二HARQ进程添加所述第一数据包成功传输的标识,以及针对所述第一HARQ进程添加所述第一数据包成功传输的标识。
结合第一方面和第一方面的第一种至第六种可能的实现方式中的任意一种,在第一方面的第七种可能的实现方式中,还包括:
在通过所述第二HARQ进程传输数据包的次数等于预设的最大传输次数,所述发送端重置通过所述第二HARQ进程传输数据包的次数为默认值;或者,
在通过所述第二HARQ进程传输数据包的次数小于预设的最大传输次数且有新的数据包到达时,所述发送端重置通过所述第二HARQ进程传输数据包的次数为默认值。
结合第一方面和第一方面的第一种至第七种可能的实现方式中的任意一种,在第一方面的第八种可能的实现方式中,所述发送端通过所述第二HARQ进程发送所述第一数据包,包括:
所述发送端确定发送所述第一数据包所使用的控制信息,根据所述控制信息,通过所述第二HARQ进程发送所述第一数据包。
结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,所述控制信息包括:时频资源块。
结合第一方面的第八种或第九种可能的实现方式,在第一方面的第十种可能的实现方式中,所述控制信息为预先配置的。
结合第一方面的第八种或第九种可能的实现方式,在第一方面的第十一种可能的实现方式中,若所述发送端为终端,所述接收端为基站,所述发送端确定发送所述第一数据包所使用的控制信息,包括:
所述发送端接收到接收端通过上行授权信息发送的控制信息,并将接收到的控制信息确定为发送所述第一数据包所使用的控制信息。
结合第一方面和第一方面的第一种至第十一种可能的实现方式中的任意一种,在第一方面的第十二种可能的实现方式中,所述发送端获取第一HARQ进程所需发送的第一数据包,包括:
所述发送端获取预配置的第一HARQ进程所需发送的第一数据包。
结合第一方面和第一方面的第一种至第十二种可能的实现方式中的任意一种,在第一方面的第十三种可能的实现方式中,所述第一数据包包括网络协议电话VoIP数据包。
第二方面,本发明实施例提供了一种数据传输方法,该方法包括:
接收端接收发送端通过空闲的第二混合自动重传请求HARQ进程发送的第一数据包,所述第一数据包为第一HARQ进程所需发送的数据包;
所述接收端对接收到的所述第一数据包进行解码;
所述发送端为终端,所述接收端为基站;或者所述发送端为基站,所述接收端为终端。
结合第二方面,在第二方面的第一种可能的实现方式中,若所述接收端为基站,所述发送端为终端,所述接收端接收发送端通过空闲的第二HARQ进程发送的第一数据包之前,还包括:
所述接收端确定所述第二HARQ进程空闲时,向所述发送端指示发送端发送所述第一数据包所使用的控制信息。
结合第二方面,在第二方面的第二种可能的实现方式中,若所述接收端为基站,所述发送端为终端,所述接收端接收发送端通过空闲的第二HARQ进程发送的第一数据包之前,还包括:
所述接收端在确定所述第二HARQ进程空闲时,为所述发送端通过所述第二HARQ进程发送所述第一数据包预留所使用的时频资源块。
结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述接收端确定所述第二HARQ进程空闲,包括:
所述接收端向所述发送端发送指示信息,且预定时长内未收到所述发送端发送的调度请求,则确定所述第二HARQ进程空闲;
其中,所述指示信息用于指示针对所述发送端上一次通过所述第二HARQ进程发送的第二数据包解码成功。
第三方面,本发明实施例提供了一种数据传输设备,包括:
处理器,用于在确定第二混合自动重传请求HARQ进程空闲时,获取第一HARQ进程所需发送的第一数据包;
收发器,用于通过所述第二HARQ进程将获取到的所述第一数据包发送给所述数据传输设备的对端设备。
结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器,具体用于在获取第一HARQ进程所需发送的第一数据包时,从所述第一HARQ进程的HARQ缓存中获取所述第一数据包。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器在确定所述第二HARQ进程空闲时,具体用于确定所述第二HARQ进程的HARQ缓存为空;或者具体用于确定上一次通过所述第二HARQ进程发送的第二数据包成功传输且未有新的数据包到达。
结合第三方面和第三方面的第一种和第二种可能的实现方式中的任意一种,在第三方面的第三种可能的实现方式中,所述处理器,还用于在所述收发器获取第一HARQ进程所需发送的第一数据包之后,更新通过所述第二HARQ进程传输数据包的次数。
结合第三方面,在第三方面的第四种可能的实现方式中,还包括:
存储器,用于在自身包括的所述第二HARQ进程的HARQ缓存中缓存所述处理器获取到的所述第一数据包;
所述收发器,具体用于在通过所述第二HARQ进程将获取到的所述第一数据包发送给所述对端设备时,通过所述第二HARQ进程将所述第二HARQ进程的HARQ缓存中的所述第一数据包发送给所述对端设备。
结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述处理器还用于,确定所述第一数据包是否成功传输,在确定所述第一数据包成功传输时,控制所述收发器停止通过所述第二HARQ进程以及所述第一HARQ进程传输所述第一数据包。
结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述处理器,还用于在确定所述第一数据包成功传输时,删除所述第二HARQ进程的HARQ缓存以及所述第一HARQ的HARQ缓存的所述第一数据包;或者还用于在确定所述第一数据包成功传输时,针对所述第二HARQ进程添加所述第一数据包成功传输的标识,以及针对所述第一HARQ进程添加所述第一数据包成功传输的标识。
结合第三方面和第三方面的第一种至第六种可能的实现方式中的任意一种,在第三方面的第七种可能的实现方式中,所述处理器,还用于在所述收发器通过所述第二HARQ进程传输数据包的次数等于预设的最大传输次数,重置通过所述第二HARQ进程传输数据包的次数为默认值;或者,
在所述收发器通过所述第二HARQ进程传输数据包的次数小于预设的最大传输次数且有新的数据包到达时,重置通过所述第二HARQ进程传输数据包的次数为默认值。
结合第三方面和第三方面的第一种至第七种可能的实现方式中的任意一种,在第三方面的第八种可能的实现方式中,所述处理器,还用于确定所述收发器发送所述第一数据包所使用的控制信息;
所述收发器在通过所述第二HARQ进程发送所述第一数据包时,具体用于根据所述控制信息,通过所述第二HARQ进程发送所述第一数据包。
结合第三方面的第八种可能的实现方式,在第三方面的第九种可能的实现方式中,所述控制信息包括:时频资源块。
结合第三方面的第八种或第九种可能的实现方式,在第三方面的第十种可能的实现方式中,所述控制信息为预先配置的。
结合第三方面的第八种或第九种可能的实现方式,在第三方面的第十一种可能的实现方式中,若所述数据传输设备为终端,所述对端设备为基站,所述收发器,还用于接收到所述对端设备通过上行授权信息发送的控制信息;所述处理器还用于将所述收发器接收到的控制信息确定为发送所述第一数据包所使用的控制信息。
结合第三方面和第三方面的第一种至第十一种可能的实现方式中的任意一种,在第三方面的第十二种可能的实现方式中,所述处理器在获取第一HARQ进程所需发送的第一数据包时,获取预配置的第一HARQ进程所需发送的第一数据包。
结合第三方面和第三方面的第一种至第十二种可能的实现方式中的任意一种,在第三方面的第十三种可能的实现方式中,所述第一数据包包括网络协议电话VoIP数据包。
第四方面,本发明实施例提供了一种数据传输设备,包括:
收发器,用于接收所述数据传输设备的对端设备通过空闲的第二混合自动重传请求HARQ进程发送的第一数据包,所述第一数据包为第一HARQ进程所需发送的数据包;
处理器,用于对所述收发器接收到的所述第一数据包进行解码。
结合第四方面,在第四方面的第一种可能的实现方式中,若所述数据传输设备为基站,所述对端设备为终端,所述收发器,还用于在接收对端设备通过空闲的第二HARQ进程发送的第一数据包之前,在确定所述第二HARQ进程空闲时,向所述对端设备指示所述对端设备发送所述第一数据包所使用的控制信息。
结合第四方面,在第四方面的第二种可能的实现方式中,若所述数据传输设备为基站,所述对端设备为终端,所述处理器,还用于在所述收发器接收对端设备通过空闲的第二HARQ进程发送的第一数据包之前,在确定所述第二HARQ进程空闲时,为所述收发器通过所述第二HARQ进程发送所述第一数据包预留所使用的时频资源块。
结合第四方面的第一种或第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述处理器,在确定所述第二HARQ进程空闲时,具体用于在所述收发器向所述对端设备发送指示信息,且预定时长内未收到所述对端设备发送的调度请求,确定所述第二HARQ进程空闲;
其中,所述指示信息用于指示针对所述对端设备上一次通过所述第二HARQ进程发送的第二数据包解码成功。
第五方面,本发明实施例提供了一种数据传输设备,包括:
确定单元,用于确定第二混合自动重传请求HARQ进程空闲;
获取单元,用于获取第一HARQ进程所需发送的第一数据包;
发送单元,用于通过所述第二HARQ进程将所述获取单元获取到的所述第一数据包发送给所述数据传输设备的对端设备。
结合第五方面,在第五方面的第一种可能的实现方式中,所述获取单元,具体用于在获取第一HARQ进程所需发送的第一数据包时,从所述第一HARQ进程的HARQ缓存中获取所述第一数据包。
结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述确定单元,具体用于确定所述第二HARQ进程的HARQ缓存为空;或者具体用于确定上一次通过所述第二HARQ进程发送的第二数据包成功传输且未有新的数据包到达。
结合第五方面和第五方面的第一种和第二种可能的实现方式中的任意一种,在第五方面的第三种可能的实现方式中,还包括:
更新单元,用于在所述获取单元获取第一HARQ进程所需发送的第一数据包之后,更新通过所述第二HARQ进程传输数据包的次数。
结合第五方面,在第五方面的第四种可能的实现方式中,还包括:
存储单元,用于在自身包括的所述第二HARQ进程的HARQ缓存中缓存所述获取单元获取到的所述第一数据包;
所述发送单元,具体用于在通过所述第二HARQ进程将获取到的所述第一数据包发送给所述对端设备时,通过所述第二HARQ进程将所述第二HARQ进程的HARQ缓存中的所述第一数据包发送给所述对端设备。
结合第五方面的第四种可能的实现方式,在第五方面的第五种可能的实现方式中,所述发送单元还用于,在所述确定单元确定所述第一数据包成功传输时,停止通过所述第二HARQ进程以及所述第一HARQ进程传输所述第一数据包。
结合第五方面的第五种可能的实现方式,在第五方面的第六种可能的实现方式中,还包括:
删除单元,用于在所述确定单元确定所述第一数据包成功传输时,删除所述第二HARQ进程的HARQ缓存以及所述第一HARQ的HARQ缓存的所述第一数据包;或者,
添加单元,用于在所述确定单元确定所述第一数据包成功传输时,针对所述第二HARQ进程添加所述第一数据包成功传输的标识,以及针对所述第一HARQ进程添加所述第一数据包成功传输的标识。
结合第五方面和第五方面的第一种至第六种可能的实现方式中的任意一种,在第五方面的第七种可能的实现方式中,还包括:
设置单元,,用于在所述确定单元通过所述第二HARQ进程传输数据包的次数等于预设的最大传输次数,重置通过所述第二HARQ进程传输数据包的次数为默认值;或者,在所述确定单元通过所述第二HARQ进程传输数据包的次数小于预设的最大传输次数且有新的数据包到达时,重置通过所述第二HARQ进程传输数据包的次数为默认值。
结合第五方面和第五方面的第一种至第七种可能的实现方式中的任意一种,在第五方面的第八种可能的实现方式中,所述确定单元,还用于确定所述收发器发送所述第一数据包所使用的控制信息;
所述发送单元,具体用于根据所述确定单元确定的控制信息,通过所述第二HARQ进程发送所述第一数据包。
结合第五方面的第八种可能的实现方式,在第五方面的第九种可能的实现方式中,所述控制信息包括:时频资源块。
结合第五方面的第八种或第九种可能的实现方式,在第五方面的第十种可能的实现方式中,所述控制信息为预先配置的。
结合第五方面的第八种或第九种可能的实现方式,在第五方面的第十一种可能的实现方式中,若所述数据传输设备为终端,所述对端设备为基站,所述设备还包括:
接收单元,用于接收到所述对端设备通过上行授权信息发送的控制信息;所述确定单元还用于将所述接收单元接收到的控制信息确定为发送所述第一数据包所使用的控制信息。
结合第五方面和第五方面的第一种至第十一种可能的实现方式中的任意一种,在第五方面的第十二种可能的实现方式中,所述获取单元,在获取第一HARQ进程所需发送的第一数据包时,具体用于获取预配置的第一HARQ进程所需发送的第一数据包。
结合第五方面和第五方面的第一种至第十二种可能的实现方式中的任意一种,在第五方面的第十三种可能的实现方式中,所述第一数据包包括网络协议电话VoIP数据包。
第六方面,本发明实施例提供了一种数据传输设备,其特征在于,包括:
接收单元,用于接收所述数据传输设备的对端设备通过空闲的第二混合自动重传请求HARQ进程发送的第一数据包,所述第一数据包为第一HARQ进程所需发送的数据包;
解码单元,用于对所述接收单元接收到的所述第一数据包进行解码。
结合第六方面,在第六方面的第一种可能的实现方式中,若所述数据传输设备为基站,所述对端设备为终端,所述设备还包括:
确定单元,用于在所述接收单元接收对端设备通过空闲的第二HARQ进程发送的第一数据包之前,确定所述第二HARQ进程空闲;
发送单元,用于向所述对端设备发送指示所述对端设备发送所述第一数据包所使用的控制信息。
结合第六方面,在第六方面的第二种可能的实现方式中,若所述数据传输设备为基站,所述对端设备为终端,所述设备还包括:
确定单元,用于在所述接收单元接收对端设备通过空闲的第二HARQ进程发送的第一数据包之前,确定所述第二HARQ进程空闲;
预留单元,用于为所述对端设备通过所述第二HARQ进程发送所述第一数据包预留所使用的时频资源块。
结合第六方面的第一种或第二种可能的实现方式,在第六方面的第三种可能的实现方式中,确定单元,具体用于在所述发送单元向所述对端设备发送指示信息,且预定时长内所述接收单元未收到所述对端设备发送的调度请求时,确定所述第二HARQ进程空闲;
其中,所述指示信息用于指示针对所述对端设备上一次通过所述第二HARQ进程发送的第二数据包解码成功。
利用本发明实施例提供的方案,在确定某个HARQ进程空闲时,来传输其他非空闲的HARQ进程所需发送的数据包,从而使得HARQ进程能够充分利用,减少了资源的浪费。并且增加了其他非空闲的HARQ进程所需发送的数据包的传输次数,从而提高了数据包正确解码的概率,提升了上行覆盖。
附图说明
图1为本发明实施例提供的一种数据传输方法流程图;
图2为本发明实施例提供的另一种数据传输方法流程图;
图3为本发明实施例提供的LTE R12的FDD下的TTI bundling示意图;
图4为本发明实施例提供的FDD下的一种TTI bundling传输VoIP数据包的示意图;
图5为本发明实施例提供的FDD下的另一种TTI bundling下传输VoIP数据包的示意图;
图6为本发明实施例提供的TDD下的一种TTI bundling传输VoIP数据包的示意图;
图7为本发明实施例提供的非TTI Bundling的一种传输VoIP数据包的示意图;
图8为本发明实施例提供了的一种数据传输设备示意图;
图9为本发明实施例提供了的另一种数据传输设备示意图;
图10为本发明实施例提供了的又一种数据传输设备示意图;
图11为本发明实施例提供了的再一种数据传输设备示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据传输方法及设备,在避免资源浪费的同时,提高了上行覆盖。其中,方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此设备与方法的实施可以相互参见,重复之处不再赘述。
本发明实施例提供了一种数据传输方法,该方法的执行主体是发送端,该发送端可以位于网络侧,为基站,则接收端为终端,也可以位于终端侧,为终端,则接收端为基站。如图1所示,该方法包括:
步骤101,在确定第二HARQ进程空闲时,发送端获取第一HARQ进程所需发送的第一数据包。
其中,第一数据包可以包括VoIP数据包。
其中,HARQ进程也可以是HARQ线程,HARQ实体,例如面向对象的编程方式等等。
可选地,发送端获取到的第一数据包是第一HARQ进程的HARQ缓存中的。由于,每次在数据包到达时,发送端先将该数据包保存在HARQ缓存中。无论是初传还是重传,都从HARQ缓存中取出数据包,然后将取出的该数据包发送。
可选地,发送端获取预配置的第一HARQ进程所需发送的第一数据包。
具体的,可以在第二HARQ进程空闲时,预先配置获取其它哪个HARQ进程的数据包。例如设置优先级,若包括3个HARQ进程。则可以设置第二HARQ进程的前一个HARQ进程的优先级高于前两个HARQ进程的优先级。根据优先级的高低顺序确定获取哪个HARQ进程所需发送的数据包。还可以是设置第二HARQ进程空闲时,获取前一个HARQ进程所需发送的数据包,若前一个HARQ进程没有所需发送的数据包,则发送前两个HARQ进程所需发送的数据包等等。
当然还可以随机选取一个非空闲的HARQ进程,然后获取该非空闲的HARQ进程的HARQ缓存的数据包。
进一步地,确定该第二HARQ进程的HARQ缓存为空,或者确定上一次通过所述第二HARQ进程发送的第二数据包成功传输且未有新的数据包到达,即确定第二HARQ进程空闲。
步骤102,所述发送端通过所述第二HARQ进程将获取到的所述第一数据包发送给接收端。
其中,所述发送端通过所述第二HARQ进程将获取到的所述第一数据包发送给接收端,可以是所述发送端调度、使用或者利用所述第二HARQ进程将获取到的所述第一数据包发送给接收端。
利用本发明实施例提供的方案,在确定某个HARQ进程空闲时,来传输其他非空闲的HARQ进程所需发送的数据包,从而使得HARQ进程能够充分利用,减少了资源的浪费。并且增加了其他非空闲的HARQ进程所需发送的数据包的传输次数,从而提高了数据包正确解码的概率,提升了上行覆盖。
现有协议中在发送端请求一次新的数据包传输时,该HARQ进程设置该数据包的当前传输次数为零,即设置CURRENT_TX_NB=0。当然也可以不设置为零,可以设置为其它整数,作为默认值(本发明实施例中以0为例进行说明)。因为针对每个数据包均在一个HARQ进程中初传或者重传。因此在本发明实施例中CURRENT_TX_NB既可以表示数据包的传输次数,当然也可以表示通过该HARQ进程传输数据包的次数(即该HARQ进程对应的传输次数)。或者还可以重新设置一个参数,用于表示通过该HARQ进程传输数据包的次数。然后可以将该数据包放入该HARQ进程对应的HARQ缓存中。
第一种实现方式:
若利用CURRENT_TX_NB表示数据包的传输次数,设置其他参数来表示HARQ进程传输数据包的次数,例如TX_NB。
当发送端接收到接收端发送的NACK反馈时,确定该数据包未被接收端成功接收,则发送端需要对该数据包进行一次重传,与初传相同的该HARQ进程将当前传输次数加1,即将CURRENT_TX_NB加1,并将TX_NB加1,并从该HARQ进程的HARQ缓存中取出该数据包进行重传。还可以发送端确定需要对该数据包进行一次重传,则从该HARQ进程的HARQ缓存中取出该数据包进行重传,将CURRENT_TX_NB加1,并将TX_NB加1。
初始接入时,高层可以预先配置允许的最大传输次数,具体可以通过无线资源控制(英文:Radio Resource Control,简称:RRC)信令中的maxHARQ-Tx配置。TX_NB对应的最大传输次数也可以等于maxHARQ-Tx。当CURRENT_TX_NB以及TX_NB等于maxHARQ-Tx-1时,发送端进行最后一次该数据包重传,可以清空该HARQ进程对应的HARQ缓存中缓存的该数据包,并将当前传输次数CURRENT_TX_NB重置为0,并将TX_NB重置为0,也可以在下一次通过该HARQ进程传输新的数据包时,将当前传输次数CURRENT_TX_NB重置为0,,并将TX_NB重置为0;当确定该数据包成功传输时,可以清空该HARQ进程对应的HARQ缓存中缓存的该数据包。当然还可以在确定该数据包成功传输且新的数据包到达时,可以清空该HARQ进程对应的HARQ缓存中缓存的该数据包,然后将新的数据包存储在该HARQ进程对应的HARQ缓存中。若在CURRENT_TX_NB未达到最大传输次数时,通过该HARQ进程传输其他数据包,则将TX_NB加1。当然若TX_NB在未达到最大传输次数时,有新的数据包到达,则将TX_NB重置为0。
第二种实现方式:
若利用CURRENT_TX_NB既表示数据包的传输次数,也表示该HARQ进程传输数据包次数。
当发送端接收到接收端发送的NACK反馈时,确定该数据包未被接收端成功接收,则发送端需要对该数据包进行一次重传,与初传相同的该HARQ进程将当前传输次数加1,即将CURRENT_TX_NB加1,并从该HARQ进程的HARQ缓存中取出该数据包进行重传。还可以发送端确定需要对该数据包进行一次重传,则从该HARQ进程的HARQ缓存中取出该数据包进行重传,并将当前传输次数加1。
初始接入时,高层可以预先配置允许的最大传输次数,具体可以通过无线资源控制(英文:Radio Resource Control,简称:RRC)信令中的maxHARQ-Tx配置。当CURRENT_TX_NB等于maxHARQ-Tx-1时,发送端进行最后一次该数据包重传,可以清空该HARQ进程对应的HARQ缓存中缓存的该数据包,并将当前传输次数CURRENT_TX_NB重置为0,也可以在下一次通过该HARQ进程传输新的数据包时,将当前传输次数CURRENT_TX_NB重置为0;当确定该数据包成功传输时,可以清空该HARQ进程对应的HARQ缓存中缓存的该数据包。若CURRENT_TX_NB在未达到最大传输次数时,确定数据包成功传输,当然还可以在确定该数据包成功传输且新的数据包到达时,可以清空该HARQ进程对应的HARQ缓存中缓存的该数据包,然后将新的数据包存储在该HARQ进程对应的HARQ缓存中。若在CURRENT_TX_NB未达到最大传输次数时,利用该HARQ进程传输其他数据包,则将CURRENT_TX_NB加1。在此后,若CURRENT_TX_NB未达到最大传输次数时,有新的数据包到达,则将CURRENT_TX_NB重置为0。
下面以利用CURRENT_TX_NB既表示数据包的传输次数,也表示该HARQ进程传输数据包次数为例进行说明。
针对VoIP业务的数据包,数据包到达的时间间隔是20ms(周期性业务),那么上一次通过第二HARQ进程发送的第二数据包成功传输且未有新的数据包到达,可以是上一次通过第二HARQ进程发送的第二数据包成功传输且该第二HARQ进程对应的传输次数小于预先配置的最大传输次数。由于针对每个HARQ进程发送数据包,都规定了发送最大传输次数,当针对该数据包在未发送最大传输次数已被成功接收时,该HARQ进程在剩余的传输次数中空闲。例如,配置的最大传输次数为5次。当发送端通过第二HARQ进程初传第二HARQ进程对应的HARQ缓存的数据包1给接收端时,将传输次数CURRENT_TX_NB设置为零,每次重传该第二HARQ进程对应的HARQ缓存的数据包1时都将CURRENT_TX_NB加1,当该数据包1重传2次后,接收到基站发送的ACK反馈,说明该数据包1被成功传输。可以删除该第二HARQ进程对应的HARQ缓存中的数据包1,且此时通过该第二HARQ进程未达到最大传输次数,则该第二HARQ进程空闲。针对非周期业务,当上一次通过第二HARQ进程发送的第二数据包成功传输,此时没有新的数据包到达,则确定该第二HARQ进程空闲。
还可以当数据包1在第二HARQ进程中的传输次数达到允许的最大传输次数时,在该第二HARQ进程对应的下一时刻,没有新的数据包需要传输,则该第二HARQ进程空闲。
在第二HARQ进程空闲时,发送端可以通过该第二HARQ进程传输其他HARQ进程中缓存的数据包。例如传输第一HARQ进程对应的HARQ缓存中缓存的数据包2。
可选的,发送端可以从第一HARQ缓存中获取数据包2,然后将该数据包2缓存在第二HARQ进程的HARQ缓存中。然后发送端通过所述第二HARQ进程将所述第二HARQ进程的HARQ缓存中的数据包2发送给接收端。
可选地,发送端可以在传输第一HARQ进程对应的HARQ缓存中缓存的数据包2后,更新通过所述第二HARQ进程传输数据包的次数,即将CURRENT_TX_NB加1。还可以在从第一HARQ缓存中获取到数据包2后,并在传输第一HARQ进程对应的HARQ缓存中缓存的数据包2之前,更新通过所述第二HARQ进程传输数据包的次数。
进一步的,在通过所述第二HARQ进程传输数据包的次数等于预设的最大传输次数时,所述发送端重置通过所述第二HARQ进程传输数据包的次数为默认值。例如默认值为0。即将CURRENT_TX_NB重置为0。或者还可以是在通过所述第二HARQ进程传输数据包的次数小于预设的最大传输次数且有新的数据包到达时,所述发送端重置通过所述第二HARQ进程传输数据包的次数为默认值。
可选地,若所述第一数据包成功传输,所述发送端停止通过所述第二HARQ进程以及所述第一HARQ进程传输所述第一数据包。
其中,第一数据包成功传输,可能是由于第一HARQ进程传输第一数据包传输成功,也可能是第二HARQ进程传输第一数据包传输成功。
进一步地,所述发送端停止通过所述第二HARQ进程以及所述第一HARQ进程传输所述第一数据包,可以通过以下方式:
所述发送端删除所述第二HARQ进程的HARQ缓存以及所述第一HARQ的HARQ缓存的所述第一数据包;或者
所述发送端针对所述第二HARQ进程添加所述第一数据包成功传输的标识,以及针对所述第一HARQ进程添加所述第一数据包成功传输的标识。
可选地,所述发送端通过所述第二HARQ进程发送所述第一数据包,具体的可以是:
所述发送端确定发送所述第一数据包所使用的控制信息,根据所述控制信息,通过所述第二HARQ进程发送所述第一数据包。(UE和基站约定)
其中,所述控制信息可以包括:时频资源块。还可以包括调制编码方式等等。
所述发送端确定发送所述第一数据包所使用的控制信息可以通过以下两种方式实现:
第一种实现方式:预先配置。
通过基站半静态配置,基站半静态配置传输时间内的所有TTI bundle使用的时频资源块和调制编码方式等等。
基站在正确接收终端通过第二HARQ进程发送的数据包时,确定终端通过第二HARQ进程传输数据包的次数是否小于允许的最大传输次数,如果是,则基站为第二HARQ进程所在的下一时刻预留时频资源块,可以是第二HARQ进程当前使用的时频资源块。
第二种实现方式:动态控制。
若所述发送端为终端,所述接收端为基站,所述终端在通过所述第二HARQ进程发送所述第一数据包之前,所述发送端接收到接收端通过上行授权信息发送的控制信息,并将接收到的控制信息确定为发送所述第一数据包所使用的控制信息。
具体的,基站通过上行授权信息给终端发送使用的时频资源块和调制编码方式等等。
基站在正确接收终端通过第二HARQ进程发送的数据包时,确定终端通过第二HARQ进程传输数据包的次数是否小于允许的最大传输次数,如果是,则基站可以通过物理下行控制信道(英文:Physical Downlink Control Channel,简称:PDCCH)资源向终端发送上行授权信息来指示终端使用的时频资源块和调制编码方式等等。
本发明实施例还提供了一种数据传输方法,如图2所示,该方法包括:
步骤201,接收端接收发送端通过空闲的第二HARQ进程发送的第一数据包,所述第一数据包为第一HARQ进程所需发送的数据包;
步骤202,所述接收端对接收到的所述第一数据包进行解码。
利用本发明实施例提供的方案,接收到发送端通过空闲的第二HARQ进程发送的第一数据包,并且第一数据包还会由第一HARQ进程发送,从而增加对第一数据包的解码次数,提高了解码的正确率,提升了上行覆盖。并且由于是通过空闲的HARQ进程接收到的数据包,从而降低了资源的浪费。
可选地,若所述接收端为基站,所述发送端为终端,所述接收端接收发送端通过空闲的第二HARQ进程发送的第一数据包之前,还包括:
所述接收端确定所述第二HARQ进程空闲时,向所述发送端指示发送端发送所述第一数据包所使用的控制信息。
若所述接收端为基站,所述发送端为终端,所述接收端接收发送端通过空闲的第二HARQ进程发送的第一数据包之前,还可以包括:
所述接收端在确定所述第二HARQ进程空闲时,为所述发送端通过所述第二HARQ进程发送所述第一数据包预留所使用的时频资源块。
进一步地,所述接收端确定所述第二HARQ进程空闲,可以通过以下方式:
所述接收端向所述发送端发送指示信息,且预定时长内未收到所述发送端发送的调度请求,则确定所述第二HARQ进程空闲;
其中,所述指示信息用于指示针对所述发送端上一次通过所述第二HARQ进程发送的第二数据包解码成功。
下面结合具体应用场景对本发明实施例作具体说明。
实例一
图3所示为LTE R12的频分双工(英文:Frequency Division Duplexing,简称:FDD)下的TTI bundling示意图。规定bundle大小(size)为4,即一个bundle中包含四个上行子帧(一个子帧的时间间隔为TTI)。一个bundle属于一个HARQ进程。
以上行数据传输为例。终端针对一个VoIP语音包在子帧0到3上进行第一次传输,子帧0到3被称为一个TTI bundle,基站接收到该TTI bundle后,在子帧7反馈物理混合自动重传指示信道(英文:Physical HARQ Indicator Channel,简称:PHICH)指示ACK/NACK应答消息,如果未正确接收则反馈NACK。
可选的,基站还可以在子帧8发送物理下行控制信道(英文:Physical DownlinkControl Channel,简称:PDCCH)来指示是否正确接收,例如PDCCH中包括新数据指示域(NewData Indication,简称NDI),终端接收到的NDI与上一次接收到的NDI不同(比如上一次接收到的NDI=0,本次接收到的NDI=1),则在子帧12到15重传该VoIP数据包。
TTI bundling中重传和初传的时间间隔为12个子帧,即相隔12个TTI的TTIbundle属于同一个HARQ进程,TTI 0~3、TTI 4~7、TTI 8~11分别属于3个HARQ进程。
针对VoIP业务,VoIP数据包(后续简称数据包)每隔20ms到达一次,当终端采用TTIbundling传输时,由于LTE R12的TTI bundling重传和初传之间间(或者重传与重传之间)时延为12ms,并且VoIP要求传输时延小于50ms,则针对一个数据包,在TTI bundling最大可初传1次、重传4次(即最大传输次数为5次,即maxHARQ-Tx=5)。如图4所示,从第3个语音包开始,3个HARQ进程可以充满整个无线子帧,但是前提是每个语音包都传输5次。
当不是所有的语音包都需要传输5次时,会导致传输子帧的浪费。如图4所示,当数据包(Packet)2传输两次后,基站就正确接收了,则用于传输数据包2的子帧44~47、56~59、68~71这12个子帧就会空闲,导致资源的浪费。
因此,如图5所示,在子帧44~47,即HARQ进程2,终端对第二个数据包进行第3次传输。当基站正确接收并解码该数据包,则基站在子帧51通过PHICH向终端反馈ACK。终端在子帧56收到基站的ACK反馈,此时HARQ进程2针对该第二数据包的传输次数CURRENT_TX_NB等于3,小于允许的最大传输次数maxHARQ-Tx-1。并且此时没有新的数据包到达,因此终端确定该HARQ进程2空闲。则终端确定HARQ进程1有数据包需要传输(HARQ进程0对应的数据包1以及达到了最大传输次数,不需要再传输,在传输就延时超过50ms了)。则终端获取HARQ进程1的HARQ缓存中的数据包(HARQ进程1在发送数据包3),将获取到的数据包缓存在HARQ进程2的HARQ缓存中,并在将CURRENT_TX_NB加1之后,通过HARQ进程2(子帧56~59)将获取到的数据包3发送给基站。
终端通过HARQ进程2发送其他HARQ进程的HARQ缓存的数据包所使用的控制信息,可以通过以下两种方式实现:
其中,控制信息包括时频资源块,还可以包括调制编码方式等等。
第一种实现方式,所述控制信息是预配置的。预先配置HARQ进程2发送其他数据包所使用的控制信息与HARQ进程2发送数据包2所使用的控制信息相同。
具体的,基站在正确接收HARQ进程2的数据包2后,在向终端发送ACK反馈后,未收到终端发送的调度请求,并且确定HARQ进程2传输数据包的次数小于预设的最大传输次数,则为下一个HARQ进程2预留时频资源块,预留的时频资源块位置与当前HARQ进程2发送数据包2使用的时频资源位置相同。
第二种实现方式,所述控制信息是动态获取到的。
基站向UE发送上行授权信息,该上行授权信息中指示HARQ进程2发送其他HARQ进程的HARQ缓存中的数据包所使用的控制信息。
具体的,基站在正确接收终端通过HARQ进程2发送的数据包2后,在向终端发送ACK后,未接收到终端发送的调度请求,并且此时HARQ进程2传输数据包的次数小于预设的最大传输次数,基站向终端发送上行授权信息来指示终端通过HARQ进程2发送其他HARQ进程的HARQ缓存中的数据包所使用的控制信息。
进一步地,HARQ进程2和HARQ进程0都在发送数据包3,当其中一个进程收到基站的反馈是ACK时,终端针对HARQ进程0和HARQ进程2设置基站反馈是ACK的标识。并且可以删除两个HARQ进程的HARQ缓存的数据包。
如果将此12个子帧用来传输其他进程的数据包,则可以提高数据包正确接收概率,提升上行语音覆盖。
另外,针对图3所示的子帧4~7、子帧8~10、子帧16~17、子帧28~31对应的HARQ进程的HARQ缓存为空。因为子帧0~3传输数据包1,子帧4~10未有新的数据包到达,因此终端可以通过子帧4~10对应的HARQ进程传输数据包1。子帧16~17对应的HARQ进程可以用来传输数据包2,子帧28~31对应的HARQ进程可以用来传输数据包3。从而利用空闲的HARQ进程来传输其他HARQ进程需要传输的数据包,增加了数据包的传输次数,提升了上行覆盖。
实例二
时分双工(英文:Time Division Duplexing,简称:TDD)下TTI Bundling是在连续的N个上行子帧中发送同一个数据包。N为TTI Bundle的大小,即TTI_BUNDLE_SIZE。以TTI_BUNDLE_SIZE=4为例。
表1为现有的TDD LTE系统的TDD配置表。如表1所示,现有的TDD LTE系统中共有0~6,7种TDD配置。表中,“D”代表下行子帧、“S”代表特殊子帧(S子帧)、“U”代表上行子帧(以下描述中,“S”、“D”、“U”的含义与这里的定义相同,不再重复解释)。表1中,TDD配置0、1、2、6的下行到上行转换点周期(Downlink-to-Uplink Switch-point periodicity)为5ms,TDD配置3~5的下行到上行转换点周期为10ms。
表1
以TTI_BUNDLE_SIZE=4为例,只有TDD配置0/1/6适用。由于其它配置方式在10子帧中上行子帧的数量小于4,因此不适用。下面以配置方式1为例对本发明实施例做具体说明。
因为针对VoIP业务,并且4个连续的上行子帧为一个TTI Bundle,TTI Bundle的最大传输次数为2,允许一次初传和一次重传。如图6所示,TDD中包括两个HARQ进程,HARQ进程0和HARQ进程1。
在子帧42、43、47、48中,终端以一个TTI bundle形式(HARQ进程0)发送数据包3,在子帧62时,如果终端收到基站的反馈是ACK,则进程0查看HARQ进程1的HARQ缓存中是否有数据包需要发送,如果HARQ进程1的HARQ缓存有数据包需要发送,则终端通过HARQ进程0发送HARQ进程1的HARQ缓存中的数据包,并将CURRENT_TX_NB加1;如果HARQ进程1的HARQ缓存为空,则说明没有数据包需要发送。
终端通过HARQ进程0发送HARQ进程1的HARQ缓存的数据包所使用的控制信息,可以通过以下两种方式实现:
其中,控制信息包括时频资源块,还可以包括调制编码方式等等。
第一种实现方式,所述控制信息是预配置的。预先配置HARQ进程2发送HARQ进程1的HARQ缓存的数据包所使用的控制信息与HARQ进程1发送数据包3所使用的控制信息相同。
具体的,基站在正确接收HARQ进程0的数据包3后,在向终端发送ACK反馈后,未收到终端发送的调度请求,并且确定HARQ进程0传输数据包的次数小于预设的最大传输次数,则为下一个HARQ进程0预留时频资源块,预留的时频资源块位置与当前HARQ进程0发送数据包3使用的时频资源位置相同。
第二种实现方式,所述控制信息是动态获取到的。
基站向UE发送上行授权信息,该上行授权信息中指示HARQ进程0发送其他HARQ进程的HARQ缓存中的数据包所使用的控制信息。
具体的,基站在正确接收终端通过HARQ进程0发送的数据包3后,在向终端发送ACK后,未接收到终端发送的调度请求,并且此时HARQ进程3传输数据包的次数小于预设的最大传输次数,基站向终端发送上行授权信息来指示终端通过HARQ进程0发送其他HARQ进程的HARQ缓存中的数据包所使用的控制信息。
进一步地,HARQ进程0和HARQ进程1发送的数据包相同,当其中一个HARQ进程收到基站的反馈是ACK时,终端针对HARQ进程0和HARQ进程1设置基站反馈是ACK的标识。并且可以删除两个HARQ进程的HARQ缓存的数据包。
实例三
以FDD为例,现有协议中,当UE不采用TTI bundling时,共有8个HARQ进程,相隔8个TTI的子帧属于同一个HARQ进程,如TTI 0、8、16、8n都属于同一个HARQ进程。如图7所示,令TTI 0~7所在的子帧分别为HARQ进程0~7。针对VoIP的数据包从TTI0开始每隔20ms到达一个,则第1个语音包在HARQ进程0初传和重传,第2个数据包在HARQ进程4初传和重传,第2k+1个数据包在HARQ进程0初传和重传,第2k个语音包在HARQ进程4初传和重传。其中,k=0,1,2......。
由于VoIP数据包允许的最大传输时延是50ms,因此允许的最大传输次数为7次。因此每个HARQ进程的传输数据包的最大传输次数为7。
终端在HARQ进程0所在的TTI时刻,如果确定该HARQ进程0的HARQ缓存为空或者上一个HARQ进程0发送的数据包被基站成功接收且未有新的数据包到达或者上一个HARQ进程0发送的数据包被基站成功接收且该HARQ进程0传输数据包的次数未达到最大传输次数,如图7所示,若终端在TTI 64之前收到基站反馈是ACK的情况此时没有新的数据包到达,则HARQ进程4的HARQ缓存中缓存有数据包,则终端读取并拷贝HARQ进程4的HARQ缓存中的数据包保存到HARQ进程0的HARQ缓存中,并将此通过HARQ进程0将HARQ进程0的HARQ缓存中的数据包发送给基站(相当于在TTI 64时,发送了数据包4给基站);如果HARQ进程4的HARQ缓存中为空,则说明没有数据包需要发送。
反过来,若在HARQ进程4所在的TTI时刻,如果确定HARQ缓存为空或者上一个HARQ进程4发送的数据包被基站成功接收且未有新的数据包到达,则终端读取并拷贝HARQ进程0的HARQ缓存中的数据包,并将此数据包缓存在HARQ进程4的HARQ缓存中,并发送给基站;如果进程4和进程0都没有HARQ缓存,则说明没有数据包需要发送。
由于HARQ进程1~3以及HARQ进程5~7均没有数据包需要发送,因此在HARQ进程1到3对应的HARQ缓存中均为空。因此在HARQ1~3所在的TTI时刻,可以发送HARQ进程0或者HARQ进程4的HARQ缓存中的数据包。比如:终端可以读取并拷贝HARQ进程0的HARQ缓存中的数据包,并将该数据包缓存在HARQ进程1~3的HARQ缓存中,并将此数据包在HARQ进程0~3对应的TTI时刻发送。。终端可以读取并拷贝HARQ进程4的HARQ缓存中的数据包,并将该数据包缓存在HARQ进程5~7分别对应的HARQ缓存中,并将此数据包在HARQ进程0~3对应的TTI时刻发送。
终端通过HARQ进程发送其他HARQ进程的HARQ缓存的数据包所使用的控制信息,可以通过以下两种方式实现:
其中,控制信息包括时频资源块,还可以包括调制编码方式等等。
第一种实现方式,所述控制信息是预配置的。例如:预先配置HARQ进程0发送其他数据包所使用的控制信息与HARQ进程0发送数据包3所使用的控制信息相同。
具体的,基站在正确接收HARQ进程0的数据包3后,在向终端发送ACK反馈后,未收到终端发送的通过请求,并且确定HARQ进程0传输数据包的次数小于预设的最大传输次数,则为下一个HARQ进程0预留时频资源块,预留的时频资源块位置与当前HARQ进程0发送数据包3使用的时频资源位置相同。
第二种实现方式,所述控制信息是动态获取到的。
例如:基站向UE发送上行授权信息,该上行授权信息中指示HARQ进程0发送其他HARQ进程的HARQ缓存中的数据包所使用的控制信息。
具体的,基站在正确接收终端通过HARQ进程0发送的数据包3后,在向终端发送ACK后,未接收到终端发送的调度请求,并且此时HARQ进程0传输数据包的次数小于预设的最大传输次数,基站向终端发送上行授权信息来指示终端通过HARQ进程0发送其他HARQ进程的HARQ缓存中的数据包所使用的控制信息。
因此,如上所述终端在TTI40发送数据包3,则可以在TTI41,通过HARQ进程1发送数据包3。同理在TTI42和TTI43,HARQ进程2和HARQ进程3页发送数据包3。在TTI44,UE得知此HARQ进程(HARQ进程4)没有数据包(HARQ缓存为空)需要发送,则读取进程0的HARQ缓存,在TTI45~47,通过HARQ进程5~7分别发送数据包3。经过上述步骤,TTI40~47这8个HARQ进程都在发送Packet 3。
综上所述,当某个HARQ进程空闲时,通过该HARQ进程发送其它HARQ进程的HARQ缓存中数据包,帮助其它HARQ进程传输数据包,提高数据包传输的正确概率,提升了上行覆盖。
本发明实施例还提供了一种数据传输设备,该设备为发送端设备,可以设置于终端侧也可以设置与基站侧。或者该设备可以是终端,也可以是基站。如图8所示,该设备包括收发器801、处理器802、存储器803。收发器801、处理器802以及存储器803相互连接。本发明实施例中不限定上述部件之间的具体连接介质。本发明实施例在图8中以存储器803、处理器802以及收发器之间通过总线804连接,总线在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例中存储器803,用于存储处理器802执行的程序代码,可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器803也可以是非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)、或者存储器803是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器803可以是上述存储器的组合。
本发明实施例中处理器802,可以是一个中央处理单元(英文:centralprocessing unit,简称CPU)。
处理器802,用于在确定第二混合自动重传请求HARQ进程空闲时,获取第一HARQ进程所需发送的第一数据包。
收发器801,用于通过所述第二HARQ进程将获取到的所述第一数据包发送给所述数据传输设备的对端设备。
所述处理器802,具体用于在获取第一HARQ进程所需发送的第一数据包时,从所述第一HARQ进程的HARQ缓存中获取所述第一数据包。
可选地,在确定所述第二HARQ进程空闲时,所述处理器802可以通过如何方式实现:
第一种实现方式:
确定所述第二HARQ进程的HARQ缓存为空。
第二种实现方式:
确定上一次通过所述第二HARQ进程发送的第二数据包成功传输且未有新的数据包到达。
可选地,所述处理器802在所述收发器801获取第一HARQ进程所需发送的第一数据包之后,更新通过所述第二HARQ进程传输数据包的次数。
可选地,存储器803,用于在自身包括的所述第二HARQ进程的HARQ缓存中缓存所述处理器802获取到的所述第一数据包。然后所述收发器802在通过所述第二HARQ进程将获取到的所述第一数据包发送给所述对端设备时,通过所述第二HARQ进程将所述第二HARQ进程的HARQ缓存中的所述第一数据包发送给所述对端设备。
进一步地,所述处理器802还用于,确定所述第一数据包是否成功传输,在确定所述第一数据包成功传输时,控制所述收发器801停止通过所述第二HARQ进程以及所述第一HARQ进程传输所述第一数据包。
所述处理器802在确定所述第一数据包成功传输时,删除所述第二HARQ进程的HARQ缓存以及所述第一HARQ的HARQ缓存的所述第一数据包。或者处理器802在确定所述第一数据包成功传输时,针对所述第二HARQ进程添加所述第一数据包成功传输的标识,以及针对所述第一HARQ进程添加所述第一数据包成功传输的标识。
可选地,所述处理器802在所述收发器801通过所述第二HARQ进程传输数据包的次数等于预设的最大传输次数,重置通过所述第二HARQ进程传输数据包的次数为默认值。或者处理器802在所述收发器801通过所述第二HARQ进程传输数据包的次数小于预设的最大传输次数且有新的数据包到达时,重置通过所述第二HARQ进程传输数据包的次数为默认值。
可选地,所述处理器802还用于确定所述收发器801发送所述第一数据包所使用的控制信息,然后所述收发器801在通过所述第二HARQ进程发送所述第一数据包时,根据所述控制信息,通过所述第二HARQ进程发送所述第一数据包。
其中,所述控制信息包括:时频资源块。所述控制信息为预先配置的。
若所述数据传输设备为终端,所述对端设备为基站,所述收发器801接收到所述对端设备通过上行授权信息发送的控制信息;所述处理器802将所述收发器接收到的控制信息确定为发送所述第一数据包所使用的控制信息。
可选地,所述处理器802在获取第一HARQ进程所需发送的第一数据包时,获取预配置的第一HARQ进程所需发送的第一数据包。
所述第一数据包可以包括网络协议电话VoIP数据包。
本发明实施例还提供了一种数据传输设备,该设备为接收端设备,可以设置于终端侧也可以设置与基站侧。或者该设备可以是终端,也可以是基站。如图9所示,该设备包括收发器901、处理器902、存储器903。收发器901、处理器902以及存储器903相互连接。本发明实施例中不限定上述部件之间的具体连接介质。本发明实施例在图9中以存储器903、处理器902以及收发器之间通过总线904连接,总线在图9中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例中存储器903,用于存储处理器902执行的程序代码,可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器903也可以是非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)、或者存储器903是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器903可以是上述存储器的组合。
本发明实施例中处理器902,可以是一个中央处理单元(英文:centralprocessing unit,简称CPU)。
收发器901接收所述数据传输设备的对端设备(发送端设备)通过空闲的第二混合自动重传请求HARQ进程发送的第一数据包,所述第一数据包为第一HARQ进程所需发送的数据包;然后处理器902对所述收发器901接收到的所述第一数据包进行解码。
若所述数据传输设备为基站,所述对端设备为终端,所述收发器901在接收对端设备通过空闲的第二HARQ进程发送的第一数据包之前,在确定所述第二HARQ进程空闲时,向所述对端设备发送指示所述对端设备发送所述第一数据包所使用的控制信息。
若所述数据传输设备为基站,所述对端设备为终端,所述处理器902在所述收发器901接收对端设备通过空闲的第二HARQ进程发送的第一数据包之前,在确定所述第二HARQ进程空闲时,为所述收发器901通过所述第二HARQ进程发送所述第一数据包预留所使用的时频资源块。
所述处理器902在确定所述第二HARQ进程空闲时,具体用于在所述收发器901向所述对端设备发送指示信息,且预定时长内未收到所述对端设备发送的调度请求,确定所述第二HARQ进程空闲;
其中,所述指示信息用于指示针对所述对端设备上一次通过所述第二HARQ进程发送的第二数据包解码成功。
本发明实施例还提供了一种数据传输设备,如图10所示,该设备包括:
确定单元1001,用于确定第二混合自动重传请求HARQ进程空闲。
获取单元1002,用于获取第一HARQ进程所需发送的第一数据包。
发送单元1003,用于通过所述第二HARQ进程将所述获取单元获取到的所述第一数据包发送给所述数据传输设备的对端设备。
所述获取单元1002,具体用于在获取第一HARQ进程所需发送的第一数据包时,从所述第一HARQ进程的HARQ缓存中获取所述第一数据包。
所述第一数据包可以包括网络协议电话VoIP数据包。
可选地,所述确定单元1001在确定第二混合自动重传请求HARQ进程空闲时,具体用于确定所述第二HARQ进程的HARQ缓存为空;或者具体用于确定上一次通过所述第二HARQ进程发送的第二数据包成功传输且未有新的数据包到达。
该设备还可以包括:更新单元,用于在所述获取单元1002获取第一HARQ进程所需发送的第一数据包之后,更新通过所述第二HARQ进程传输数据包的次数。
该设备还可以包括存储单元。存储单元用于在自身包括的所述第二HARQ进程的HARQ缓存中缓存所述获取单元1002获取到的所述第一数据包;然后所述发送单元1003在通过所述第二HARQ进程将获取到的所述第一数据包发送给所述对端设备时,通过所述第二HARQ进程将所述第二HARQ进程的HARQ缓存中的所述第一数据包发送给所述对端设备。
进一步地,所述发送单元1003在所述确定单元1001确定所述第一数据包成功传输时,停止通过所述第二HARQ进程以及所述第一HARQ进程传输所述第一数据包。
进一步地,该设备还可以包括:
删除单元,用于在所述确定单元1001确定所述第一数据包成功传输时,删除所述第二HARQ进程的HARQ缓存以及所述第一HARQ的HARQ缓存的所述第一数据包;或者该设备包括:
添加单元,用于在所述确定单元1001确定所述第一数据包成功传输时,针对所述第二HARQ进程添加所述第一数据包成功传输的标识,以及针对所述第一HARQ进程添加所述第一数据包成功传输的标识。
可选地,该设备还可以包括:
设置单元,,用于在所述确定单元1001通过所述第二HARQ进程传输数据包的次数等于预设的最大传输次数,重置通过所述第二HARQ进程传输数据包的次数为默认值;或者,在所述确定单元1001通过所述第二HARQ进程传输数据包的次数小于预设的最大传输次数且有新的数据包到达时,重置通过所述第二HARQ进程传输数据包的次数为默认值。
可选地,所述确定单元1001,还用于确定所述收发器发送所述第一数据包所使用的控制信息;所述发送单元1003,具体用于根据所述确定单元1001确定的控制信息,通过所述第二HARQ进程发送所述第一数据包。
其中,所述控制信息包括:时频资源块。所述控制信息可以为预先配置的。
可选地,若所述数据传输设备为终端,所述对端设备为基站,所述设备还可以包括:接收单元,用于接收到所述对端设备通过上行授权信息发送的控制信息;所述确定单元1001还用于将所述接收单元接收到的控制信息确定为发送所述第一数据包所使用的控制信息。
可选地,所述获取单元,在获取第一HARQ进程所需发送的第一数据包时,具体用于获取预配置的第一HARQ进程所需发送的第一数据包。
本发明实施例还提供了一种数据传输设备,该设备作为接收端设备,如图11所示,该设备包括:
接收单元1101,用于接收所述数据传输设备的对端设备通过空闲的第二混合自动重传请求HARQ进程发送的第一数据包,所述第一数据包为第一HARQ进程所需发送的数据包;
解码单元1102,用于对所述接收单元1101接收到的所述第一数据包进行解码。
在其中一个可选地实施例中,若所述数据传输设备为基站,所述对端设备为终端,所述设备还可以包括:
确定单元,用于在所述接收单元1101接收对端设备通过空闲的第二HARQ进程发送的第一数据包之前,确定所述第二HARQ进程空闲;
发送单元,用于向所述对端设备发送指示所述对端设备发送所述第一数据包所使用的控制信息。
在其中一个可选地的实施例中,若所述数据传输设备为基站,所述对端设备为终端,所述设备还可以包括:
确定单元,用于在所述接收单元1101接收对端设备通过空闲的第二HARQ进程发送的第一数据包之前,确定所述第二HARQ进程空闲;
预留单元,用于为所述对端设备通过所述第二HARQ进程发送所述第一数据包预留所使用的时频资源块。
进一步的,确定单元,具体用于在所述发送单元向所述对端设备发送指示信息,且预定时长内所述接收单元未收到所述对端设备发送的调度请求时,确定所述第二HARQ进程空闲;
其中,所述指示信息用于指示针对所述对端设备上一次通过所述第二HARQ进程发送的第二数据包解码成功。
利用本发明实施例提供的方案,在确定某个HARQ进程空闲时,来传输其他非空闲的HARQ进程所需发送的数据包,从而使得HARQ进程能够充分利用,减少了资源的浪费。并且增加了其他非空闲的HARQ进程所需发送的数据包的传输次数,从而提高了数据包正确解码的概率,提升了上行覆盖。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。