CN105684383A - 数据包传输的装置、系统及方法 - Google Patents

数据包传输的装置、系统及方法 Download PDF

Info

Publication number
CN105684383A
CN105684383A CN201480026717.1A CN201480026717A CN105684383A CN 105684383 A CN105684383 A CN 105684383A CN 201480026717 A CN201480026717 A CN 201480026717A CN 105684383 A CN105684383 A CN 105684383A
Authority
CN
China
Prior art keywords
packet
group
opposite end
bag
former
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.)
Pending
Application number
CN201480026717.1A
Other languages
English (en)
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
Publication of CN105684383A publication Critical patent/CN105684383A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种数据包传输的装置、系统及方法,通过向对端发送一组数据包,一组数据包包含n个数据包,按顺序在发送时将n个数据包分别对应n个进程,n为大于或等于二的正整数,且n≤最大进程数。当一组数据包发送成功时,再向对端发送下一组数据包。与采用多进程传输的现有技术相比,本发明保证只有在一组数据包传输成功后,再进行下一组数据包的传输,发送端最多只需要缓存一组数据包,接收端也只需要缓存最多一组数据包或未组包成功的数据包,从而节约了资源,进一步地,采用一组数据包传输成功之后再传输下一组数据包的方式,从而在保证传输效率和系统吞吐量的同时能够降低方案实现的成本和复杂度。

Description

数据包传输的装置、系统及方法 技术领域
本发明涉及通信技术领域,尤其涉及一种数据包传输的装置、系统及方法。
背景技术
机器到机器(Machine to Machine,简称:M2M)系统是一种理念,也是所有增强机器设备通信和网络能力的技术的总称。人与人之间的沟通很多也是通过机器实现的,例如通过手机、电话、电脑、传真机等机器设备之间的通信来实现人与人之间的沟通。另外一类技术是专为机器和机器建立通信而设计的,如许多智能化仪器仪表都带有可以进行M2M通信的接口,增强了仪器与仪器之间,仪器与电脑之间的通信能力。随着科学技术的发展,越来越多的设备具有了通信和连网能力,网络一切逐步变为现实。其中,窄带M2M系统的数据传输速率低,对终端成本敏感,因此终端采用半双工频分双工(Frequency Division Duplexing,简称:FDD)方式更能满足要求。
进一步的,基于半双工FDD方式的终端还需要采用一定的重传机制以保证数据传输的稳定性。但是,现有技术广泛采用的多进程混合自动重传请求(Hybrid Automatic Repeat Request,简称:HARQ)的数据包传输机制,各个进程相互独立,当某一个进程上传输的数据包发送失败时,接收端请求发送端进行重传。随着系统运行时间的推移,当存在某一个(或几个)进程上的数据包被多次重传的情况下,各个进程上数据包的传输进度不一致,因此接收端不能及时组包,需要设定比较大的缓存空间,用来存储没有成功组包的数据包;另外,为了能够在接收端进行组包,数据包必须携带各自的标识。因此,大大提高了方案实现的复杂度和成本。
发明内容
本发明提供一种数据包传输的装置、系统及方法,用于降低实现的复杂度和成本。
本发明第一个方面提供一种数据包传输的装置,所述装置应用于半双工频分双工机器对机器系统,包括:
发送模块,用于向对端发送一组数据包,所述一组数据包包含n个数据包;还用于当所述一组数据包发送成功时,再向所述对端发送下一组数据包;
处理模块,用于按顺序在发送时将所述n个数据包分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数。
结合第一个方面,在第一种可能的实现方式中,还包括:
接收模块,用于接收所述对端发送的接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
所述发送模块,还用于若所述接收响应消息包含数据包的接收失败信息,则重传所述数据包的接收失败信息对应的数据包。
结合第一个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
所述发送模块,具体用于根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传;具体还用于直至m个所述数据包发送成功,再向所述对端发送下一组数据包。
结合第一个方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理模块,还用于若至少一个所述数据包的重传次数超过预置的数据包最大重传次数,则停止对至少一个所述数据包的重传。
结合第一个方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理模块,还用于判断所述一组数据包的重传次数是否超过组最大重传次数;
所述发送模块,还用于若所述一组数据包的重传次数未超过所述组最大重传次数,则将所述一组数据包进行重传;或者,
所述处理模块,还用于若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包;
所述发送模块,还用于向所述对端发送下一组数据包。
结合第一个方面的第一种可能的实现方式,在第五种可能的实现方式中,所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示将所述 一组数据包进行重传;
所述处理模块,还用于判断所述一组数据包的重传次数是否超过组最大重传次数;
所述发送模块,还用于若所述一组数据包的重传次数未超过所述组最大重传次数,根据所述组重传指示将所述一组数据包进行重传;或者,
所述处理模块,还用于若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包;
所述发送模块,还用于向所述对端发送下一组数据包;还用于直至n个所述数据包发送成功,再向所述对端发送下一组数据包。
结合第一个方面或第一个方面的上述任一种可能的实现方式,在第六种可能的实现方式中,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,所述组包指示信息用于所述对端接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述标识用于所述对端识别所述原数据包。
本发明第二个方面提供一种数据包传输的装置,所述方法应用于半双工频分双工机器对机器系统,包括:
接收模块,用于接收对端发送的一组数据包,所述一组数据包包含n个数据包,所述n个数据包按顺序分别对应在n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
处理模块,用于当所述一组数据包接收成功时,指示所述接收模块再接收所述对端发送的下一组数据包。
结合第二个方面,在第一种可能的实现方式中,还包括:
发送模块,用于向所述对端发送接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
所述接收模块,还用于若所述接收响应消息包含数据包的接收失败信息, 则接收所述对端重传的所述数据包的接收失败信息对应的数据包。
结合第二个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示所述对端重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
所述接收模块,具体用于分别在m个进程上接收所述对端重传的所述m个所述数据包;还具体用于直至m个所述数据包接收成功,再接收所述对端发送的下一组数据包。
结合第二个方面或第二个方面的上述任一种可能的实现方式,在第三种可能的实现方式中,还包括:
当所述一组数据包组包失败后,则所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示所述对端重新传输所述一组数据包。
结合第二个方面或第二个方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息;所述处理模块,还用于根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述处理模块,还用于根据所述标识识别所述原数据包。
本发明第三个方面提供一种数据包传输的装置,所述装置应用于半双工频分双工机器对机器系统,包括:
发射器,用于向对端发送一组数据包,所述一组数据包包含n个数据包;还用于当所述一组数据包发送成功时,再向所述对端发送下一组数据包;
处理器,用于按顺序在发送时将所述n个数据包分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数。
结合第三个方面,在第一种可能的实现方式中,还包括:
接收器,用于接收所述对端发送的接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
所述发射器,还用于若所述接收响应消息包含数据包的接收失败信息, 则重传所述数据包的接收失败信息对应的数据包。
结合第三个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
所述发射器,具体用于根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传;具体还用于直至m个所述数据包发送成功,再向所述对端发送下一组数据包。
结合第三个方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器,还用于若至少一个所述数据包的重传次数超过预置的数据包最大重传次数,则停止对至少一个所述数据包的重传。
结合第三个方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器,还用于判断所述一组数据包的重传次数是否超过组最大重传次数;
所述发射器,还用于若所述一组数据包的重传次数未超过所述组最大重传次数,则将所述一组数据包进行重传;或者,
所述处理器,还用于若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包;
所述发射器,还用于向所述对端发送下一组数据包。
结合第三个方面的第一种可能的实现方式,在第五种可能的实现方式中,所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示将所述一组数据包进行重传;
所述处理器,还用于判断所述一组数据包的重传次数是否超过组最大重传次数;
所述发射器,还用于若所述一组数据包的重传次数未超过所述组最大重传次数,根据所述组重传指示将所述一组数据包进行重传;或者,
所述处理器,还用于若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包;
所述发射器,还用于向所述对端发送下一组数据包;还用于直至n个所述数据包发送成功,再向所述对端发送下一组数据包。
结合第三个方面或第三个方面的上述任一种可能的实现方式,在第六种 可能的实现方式中,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,所述组包指示信息用于所述对端接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述标识用于所述对端识别所述原数据包。
本发明第四个方面提供一种数据包传输的装置,所述方法应用于半双工频分双工机器对机器系统,包括:
接收器,用于接收对端发送的一组数据包,所述一组数据包包含n个数据包,所述n个数据包按顺序分别对应在n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
处理器,用于当所述一组数据包接收成功时,指示所述接收器再接收所述对端发送的下一组数据包。
结合第四个方面,在第一种可能的实现方式中,还包括:
发射器,用于向所述对端发送接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
所述接收器,还用于若所述接收响应消息包含数据包的接收失败信息,则接收所述对端重传的所述数据包的接收失败信息对应的数据包。
结合第四个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示所述对端重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
所述接收器,具体用于分别在m个进程上接收所述对端重传的所述m个所述数据包;还具体用于直至m个所述数据包接收成功,再接收所述对端发送的下一组数据包。
结合第四个方面或第四个方面的上述任一种可能的实现方式,在第三种可能的实现方式中,还包括:
当所述一组数据包组包失败后,则所述数据包的接收失败信息为组重传 指示,所述组重传指示用于指示所述对端重新传输所述一组数据包。
结合第四个方面或第四个方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息;所述处理器,还用于所述对端接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述处理器,还用于根据所述标识识别所述原数据包。
本发明第五个方面提供一种数据包传输系统,包括:至少一个第一个方面或第一个方面的上述任一种可能的实现方式所述的数据包传输的装置和至少一个第二个方面或第二个方面的上述任一种可能的实现方式所述的数据包传输的装置;或者,至少一个第三个方面或第三个方面的上述任一种可能的实现方式所述的数据包传输的装置和至少一个第四个方面或第四个方面的上述任一种可能的实现方式所述的数据包传输的装置。
本发明第六个方面提供一种数据包传输的方法,所述方法应用于半双工频分双工机器对机器系统,包括:
向对端发送一组数据包,所述一组数据包包含n个数据包,所述n个数据包发送时按顺序分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
当所述一组数据包发送成功时,再向所述对端发送下一组数据包。
结合第六个方面,在第一种可能的实现方式中,在当所述一组数据包发送成功时,再向所述对端发送下一组数据包之前,还包括:
接收所述对端发送的接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
所述接收所述对端发送的接收响应消息之后,还包括:
若所述接收响应消息包含数据包的接收失败信息,则重传所述数据包的接收失败信息对应的数据包。
结合第六个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
所述重传所述数据包的接收失败信息对应的数据包,包括:
根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传;
所述当所述一组数据包发送成功时,再向所述对端发送下一组数据包,包括:
直至m个所述数据包发送成功,再向所述对端发送下一组数据包。
结合第六个方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传之前,还包括:
若至少一个所述数据包的重传次数超过预置的数据包最大重传次数,则停止对至少一个所述数据包的重传。
结合第六个方面的第三种可能的实现方式,在第四种可能的实现方式中,所述则停止对至少一个所述数据包的重传之后,还包括:
判断所述一组数据包的重传次数是否超过组最大重传次数;
若所述一组数据包的重传次数未超过所述组最大重传次数,则将所述一组数据包进行重传;或者,
若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包,并向所述对端发送下一组数据包。
结合第六个方面的第一种可能的实现方式,在第五种可能的实现方式中,所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示将所述一组数据包进行重传;
所述重传所述数据包的接收失败信息对应的数据包,包括:
判断所述一组数据包的重传次数是否超过组最大重传次数;
若所述一组数据包的重传次数未超过所述组最大重传次数,根据所述组重传指示将所述一组数据包进行重传;或者,
若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包,并向所述对端发送下一组数据包;
所述当所述一组数据包发送成功时,再向所述对端发送下一组数据包,包括:
直至n个所述数据包发送成功,再向所述对端发送下一组数据包。
结合第六个方面或第六个方面的上述任一种可能的实现方式,在第六种可能的实现方式中,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,所述组包指示信息用于所述对端接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述标识用于所述对端识别所述原数据包。
本发明第七个方面提供一种数据包传输的方法,所述方法应用于半双工频分双工机器对机器系统,包括:
接收对端发送的一组数据包,所述一组数据包包含n个数据包,所述n个数据包按顺序分别对应在n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
当所述一组数据包接收成功时,再接收所述对端发送的下一组数据包。
结合第七个方面,在第一种可能的实现方式中,在当所述一组数据包接收成功时,再接收所述对端发送的下一组数据包之前,还包括:
向所述对端发送接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
所述向所述对端发送的接收响应消息之后,还包括:
若所述接收响应消息包含数据包的接收失败信息,则接收所述对端重传的所述数据包的接收失败信息对应的数据包。
结合第七个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示所述对端重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
所述接收所述对端重传的所述数据包的接收失败信息对应的数据包,包 括:
分别在m个进程上接收所述对端重传的所述m个所述数据包;
所述当所述一组数据包接收成功时,再接收所述对端发送的下一组数据包,包括:
直至m个所述数据包接收成功,再接收所述对端发送的下一组数据包。
结合第七个方面或第七个方面的上述任一种可能的实现方式,在第三种可能的实现方式中,所述接收对端发送的一组数据包之后,还包括:
当所述一组数据包组包失败后,则所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示所述对端重新传输所述一组数据包。
结合第七个方面或第七个方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,根据所述标识识别所述原数据包。
本发明实施例提供的数据包传输的装置、系统及方法,通过数据包传输的装置向对端发送一组数据包,所述一组数据包包含n个数据包,所述n个数据包发送时按顺序分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数,进一步地,当所述一组数据包发送成功时,该数据包传输的装置再向所述对端发送下一组数据包。
而现有技术中,采用多进程传输数据的方案,数据包被分别放在一个对应的进程上进行传输,并且多个进程彼此交织,即当一个进程在等待接收端返回接收响应消息时,其他的进程上仍能够进行数据包的传输。但是,随着系统运行时间的推移,每个数据包的传输进度都不尽相同,系统需要具有复杂的排序功能,为了能够在接收端进行组包以及识别,系统需要一个复杂的拆包组包机制,发送端需要维护一个较大的缓存来存储未发送成功或需要重传的数据包,而接收端还需要维护一个较大的缓存来存储未接收成功、未组 包成功的数据包。显然,现有技术采用多进程的方式,会增大系统实现的成本和复杂度。
与采用多进程传输的现有技术相比,本发明实施例保证只有在一组数据包传输成功后,再进行下一组数据包的传输,从而使得发送端最多只需要缓存一组数据包,接收端也只需要缓存最多一组数据包或未组包成功的数据包(需要组包时),从而节约了资源,进一步地,采用一组数据包传输成功之后再传输下一组数据包的方式,避免了由于持续传输数据包导致每个数据包的传输进度不同,进而需要设置复杂的识别、组包、重传机制,因此,本发明实施例提供的数据包传输的方法降低了在采用半双工FDD的传输方式时,方案实现的成本和复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据包传输的装置的结构示意图;
图2为本发明实施例提供的另一种数据包传输的装置的结构示意图;
图3为本发明实施例提供的另一种数据包传输的装置的结构示意图;
图4为本发明实施例提供的另一种数据包传输的装置的结构示意图;
图5为本发明实施例提供的另一种无线网络中传输数据的装置;
图6为本发明实施例提供的无线网络中传输数据的装置相关的手机的部分结构的框图;
图7为本发明实施例提供的一种数据包传输的方法流程示意图;
图8为本发明实施例提供的另一种数据包传输的方法流程示意图;
图9为本发明实施例提供的一种数据包重传方法示意图;
图10为本发明实施例提供的另一种数据包重传方法示意图;
图11为本发明实施例提供的另一种数据包传输的方法的流程示意图;
图12为本发明实施例提供的另一种数据包传输的方法的流程示意图;
图13为本发明实施例提供的另一种数据包传输的方法的交互示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在M2M系统的终端采用半双工FDD的传输方式时,当现有技术采用多进程传输数据的方案时,数据包被分别放在一个对应的进程上进行传输,并且多个进程彼此独立并且交织,即当某一个进程在等待接收端返回接收响应消息时,其他的进程上仍能够进行数据包的传输。但是,随着系统运行时间的推移,每个数据包的传输进度都不尽相同,为了能够在接收端进行识别和组包,系统需要具有重新排序的功能,而且组包机制的复杂度高。并且接收端还需要维护一个较大的缓存来存储未组包成功或等待重传的数据包。显然,采用多进程的方式,会增大系统实现的成本和复杂度。
此外,现有技术还提供了一种单进程传输的方式,即发送端发送一个数据包后等待接收端的接收响应消息,当该数据包在接收端解码正确,则返回的接收响应消息包含确认信息(ACK),指示发送端该数据包接收成功;否则,返回的接收响应消息包含非确认信息(NACK),指示发送端该数据包接收失败,发送端接收到非确认信息后,则对该数据包进行重传。并且在发送端等待接收端确认的时间内,该发送端不能发送其他的数据包。显然,采用这种单进程的传输方式,如果将一个数据包整体发送出去,当出现接收失败的情况,则需要将整个大数据包进行重传,从而造成资源浪费,降低效率。
因此,针对上述问题,本发明实施例提供一种数据包传输的装置、方法及系统,在保证传输效率和系统吞吐量的同时能够降低方案实现的成本和 复杂度。下面通过具体实施例进行说明:
图1为本发明实施例提供的一种数据包传输的装置的结构示意图,该装置应用于半双工FDD机器对机器系统,并且该装置作为数据包的发送端,具体的,该装置可以为基站、机器、具备通信功能的水表、电表等抄表、手机、支持各种通信制式(2G/3G/4G/5G/wifi/蓝牙等)的通信设备、M2M的终端,参照图1,该装置包括:处理模块100、发送模块101。
发送模块101,用于向对端发送一组数据包,所述一组数据包包含n个数据包;还用于当所述一组数据包发送成功时,再向所述对端发送下一组数据包;
处理模块100,用于按顺序在发送时将所述n个数据包分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数。
本发明实施例提供的数据包传输的装置,通过发送模块向对端发送一组数据包,所述一组数据包包含n个数据包,处理模块按顺序在发送时将所述n个数据包分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数。发送模块当所述一组数据包发送成功时,再向所述对端发送下一组数据包。与采用多进程传输的现有技术相比,本发明实施例保证只有在一组数据包传输成功后,再进行下一组数据包的传输,发送端最多只需要缓存一组数据包,接收端也只需要缓存最多一组数据包或未组包成功的数据包(需要组包时),从而节约了资源,进一步地,采用一组数据包传输成功之后再传输下一组数据包的方式,避免了由于持续传输数据包导致每个数据包的传输进度不同,从而需要设置复杂的识别、组包、重传机制,本发明实施例提供的数据包传输的装置在保证传输效率和系统吞吐量的同时能够降低方案实现的成本和复杂度。
与采用的单进程传输的现有技术相比,本发明实施例每次能够发送一组数据包,能够快速的发送数据包,节省终端功耗,提高了数据包传输的吞吐量。
优选地,为了简化M2M系统高层的设计,同时考虑到M2M系统针对的是小数据包业务,因此上述数据包传输的装置取消无线链路控制(Radio Link Control,简称:RLC)层,媒体接入控制(Medium Access Control,简称:MAC)层支持简单的拆包、组包功能。MAC层根据信道实时情况将需要被拆 分的数据包拆分成大小合适的数据包,MAC层的数据包可以是原数据包或者是子数据包。一组数据包中,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包。
具体的,一组数据包包含数据包的类型可能有如下可能:一、一组数据包只包含通过拆分原数据包获得的多个子数据包;二、一组数据包中包含全部为未经拆分的原数据包;三、一组数据包中包含通过拆分原数据包获得的多个子数据包和未经拆分的原数据包。
需要说明的是,当一个原数据包例如,多媒体接入控制业务数据单元(Media Access Control Service Data Unit,简称:MAC SDU),其大小超过阈值时,则处理模块100可以将该原数据包拆分成多个子数据包,本实施例对于阈值的大小并未做限定,该阈值可以在不同的场景中根据系统需求进行设置。
其中,对于上述可能一,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,所述组包指示信息用于所述对端接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;
具体的,当一组数据包中包含通过拆分原数据包获得的多个子数据包,为了便于接收端对子数据包进行识别,以便进行子数据包的组包。一种可能的实现方式为:属于原数据包的最后一个子数据包要包含指示,告知接收端该子数据包为最后一个数据包。
或者,当处理模块100采用每一组数据包只放置一个通过拆分原数据包获得的多个子数据包时,每组数据包可以不携带上述指示信息。例如,预置发送端和接收端传输的每组数据包中只包含通过拆分一个原数据包获得的多个子数据包,接收端在接收到该组数据包后,将该组数据包组包即可。或者,又例如,若发送端和接收端可以传输上述三种可能的数据包的类型,那么每一种数据包的类型对应一种传输模式,当每组数据包中只包含通过拆分一个原数据包获得的多个子数据包,采用特定传输模式,则发送端通知接收端,之后发送的每组数据包仅只包含通过拆分一个原数据包获得的多个子数据包,那么此时该组数据包中也不需要携带指示信息,接收端在接收到该组数据包后,将该组数据包组包即可。
对于上述可能二,当一组数据包中包含的全部为未经拆分的原数据包,则不需要携带任何指示信息。
对于上述可能三,若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述标识用于所述对端识别所述原数据包。
具体的,当一组数据包中包含通过拆分原数据包获得的多个子数据包和未经拆分的原数据包时,为了便于接收端识别多个子数据包以及未经拆分的原数据包。一种可行的实现方式为:每个子数据包携带1bit(0/1)指示,1表示最后一个子数据包或者未经拆分的原数据包,0表示非最后一个子数据包;例如,发送端将一个原数据包拆成了五个子数据包,该组数据包还包括其他两个未经拆分的原数据包,共七个数据包。在进行传输时,第一个至第四个子数据包携带的组包指示信息为“0”,最后一个子数据包携带的组包指示信息为“1”。对于另外两个未经拆分的原数据包,其可以不携带组包指示信息,或者其携带的组包指示信息为“1”。另一种可行的实现方式为:最后一个子数据包和未经拆分的原数据包携带指示信息,非最后一个子数据包则不携带指示。继续以上文示例为例,第一个至第四个子数据包不携带组包指示信息,最后一个子数据包携带组包指示信息为“1”,对于另外两个未经拆分的原数据包,其携带的组包指示信息为“1”。
在图1的基础上,图2为本发明实施例提供的另一种数据包传输的装置的结构示意图,参照图2,该装置,还包括:接收模块102。
在发送模块101再向所述对端发送下一组数据包之前,接收模块102,用于接收所述对端发送的接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
所述发送模块101,还用于若所述接收响应消息包含数据包的接收失败信息,则重传所述数据包的接收失败信息对应的数据包。
进一步地,对于本发明实施例提供的数据包传输的装置,当传输过程中有数据包出现传输失败,那么就需要引入重传机制来保证数据包传输的可靠性。下面通过具体的实施例对基于本发明实施例提供的数据包传输的装置的数据包重传机制进行说明,需要说明的是,本发明下述实施例仅以几种可能的实现方式作为示例进行说明,其并不限定本发明的保护范围,显然,在本 发明实施例提供的数据包传输的方法的基础上,其他可能的数据包重传机制也应该属于本发明的保护范围内。
可选地,对于上文所述数据包的接收失败信息,接收端将该数据包的接收失败信息发送给发送端的接收模块102,作用在于告知发送端哪些数据包传输失败,进一步地,数据包的接收失败信息可以用来指示一组数据包传输失败,也可以用来指示一组数据包中的一个或多个数据包传输失败。下面通过具体实施例对这两种可能的情况进行说明:
情况一:所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示重新传输所述m个数据包,所述m为大于零的正整数,并且m≤n;
则所述发送模块101,具体用于根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传;具体还用于直至m个所述数据包发送成功,再向所述对端发送下一组数据包。
进一步地,所述处理模块100,还用于若至少一个所述数据包的重传次数超过预置的数据包最大重传次数,则停止对至少一个所述数据包的重传。
可选地,在发送模块101根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传之前,所述处理模块100,还用于判断所述一组数据包的重传次数是否超过组最大重传次数;
所述发送模块101,还用于若所述一组数据包的重传次数未超过所述组最大重传次数,则将所述一组数据包进行重传;或者,
所述处理模块100,还用于若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包;
所述发送模块101,还用于向所述对端发送下一组数据包。
情况二:所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示将所述一组数据包进行重传;
所述处理模块100,还用于判断所述一组数据包的重传次数是否超过组最大重传次数;
所述发送模块101,还用于若所述一组数据包的重传次数未超过所述组最大重传次数,根据所述组重传指示将所述一组数据包进行重传;或者,
所述处理模块100,还用于若所述一组数据包的重传次数超过所述组最 大重传次数,则丢弃所述一组数据包;
所述发送模块101,还用于向所述对端发送下一组数据包;还用于直至n个所述数据包发送成功,再向所述对端发送下一组数据包。
其中,对于情况一,需要说明的是,当进行一次数据包的重传之后,可能该m个重传的数据包中还有一部分数据包重传失败,此时,接收端反馈的接收响应消息中还包含数据包的接收失败信息,指示m个重传的数据包中有一个或多个数据包重传失败,则发送端的发送模块101会根据该数据包的接收失败信息进行重传。
可选地,发送端的处理模块100或接收端可以设置数据包最大重传次数和组最大重传次数,并维护每个数据包的重传次数和每组数据包的组重传次数,当一个数据包进行重传之前,先将当前该数据包的重传次数与数据包最大重传次数进行比较,若没有超过该数据包最大重传次数,则允许发送模块101重传该数据包,并且在进行重传后,处理模块100为该数据包的重传次数加“1”。若超过该数据包最大重传次数,则可以有两种可行的处理方式:一、处理模块100放弃重传该数据包;二、处理模块100进一步判断该数据包所属的一组数据包的当前的组重传次数是否超过了组最大重传次数。对于第二种处理方式,若没有超过该组最大重传次数,则发送端的发送模块101重传该组数据包;或者,若超过组最大重传次数,则处理模块100丢弃该组数据包,并指示发送模块101进行下一组数据包的发送。
或者,发送端的处理模块100或接收端针对每个数据包分别维护一个计时器,对每一组数据包维护一个计时器,以发送端为例,当发送模块101发送一组数据包时,对于该组数据包中的每个数据包,发送端的处理模块100分别对应维护一个计时器,该计时器的作用在于为每个数据包的传输时间进行计时,在该传输时间内,每个数据包的重传次数不限,当该数据包的传输时间超过对应计时器预置的传输时间上限时,则放弃该数据包的传输。类似的,发送端的处理模块100针对一组数据包也可以维护一个计时器,该计时器的作用在于为一组数据包的传输时间进行计时,在该传输时间内,该组数据包的重传此处不限,当该组数据包的传输时间超过对应计时器预置的传输时间上限时,则放弃该组数据包的传输,进行下一组数据包的传输。类似的,接收端也可以维护类似的计时器,对每个数据包和每组数据包的传输时间进 行计时,从而在一个数据包或一组数据包超过预定传输时间后,放弃传输。需要说明的是,在接收端通过计时器进行传输时间计时的方案中,当丢弃一个数据包或一组数据包时,其反馈给发送端的接收响应消息不携带数据包的接收失败信息,以使发送端不再重传对应的数据包或一组数据包。
本发明实施例提供的数据包重传机制,通过设置数据包重传和一组数据包重传两个重传机制,从而保证当一组数据包中的一个或几个数据包发生接收失败时,发送端的处理模块100根据接收端反馈的接收响应消息,指示发送模块101重传发送失败的一个或几个数据包;或者,重传一组数据包。首先,本发明实施例的数据包传输的装置中,一组数据包中可以包含由一个原数据包拆分得到的几个子数据包,当子数据包出现接收失败时,发送端只重传发送失败的子数据包,与采用单进程传输的现有技术相比,本发明实施例提供的数据包重传机制节约了传输占用的资源,提高了传输效率。
图3为本发明实施例提供的另一种数据包传输的装置的结构示意图,该装置应用于半双工FDD机器对机器系统,并且该装置作为数据包的接收端,具体的,该装置可以为基站、机器、具备通信功能的水表、电表等抄表、手机、支持各种通信制式(2G/3G/4G/5G/wifi/蓝牙等)的通信设备、M2M的终端,参照图1,该装置包括:接收模块202、处理模块200。
接收模块202,用于接收对端发送的一组数据包,所述一组数据包包含n个数据包,所述n个数据包按顺序分别对应在n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
处理模块200,用于当所述一组数据包接收成功时,指示所述接收模块202再接收所述对端发送的下一组数据包。
本发明实施例提供的数据包传输的装置,通过接收模块接收对端发送的一组数据包,所述一组数据包包含n个数据包,所述n个数据包按顺序分别对应在n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数,处理模块当所述一组数据包接收成功时,指示所述接收模块再接收所述对端发送的下一组数据包。与采用多进程传输的现有技术相比,本发明实施例保证只有在一组数据包传输成功后,再进行下一组数据包的接收,从而在接收成功之前,该装置也只需要缓存最多一组数据包或未组包成功的数据包(需要组包时),从而节约了缓存资源,进一步地,采用一组数据包接收成 功之后再接收下一组数据包的方式,避免了由于持续传输数据包导致每个数据包的传输进度不同,从而需要设置复杂的识别、组包、重传机制,本发明实施例提供的数据包传输的装置降低了在采用半双工FDD的传输方式时,方案实现的成本和复杂度。
与采用的单进程传输的现有技术相比,本发明实施例每次能够接收一组数据包,能够快速的接收数据包,节省终端功耗,提高了数据包传输的吞吐量。
优选地,本实施例中接收模块202接收到的数据包,可以为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包。对于数据包的拆分和一组数据包的构成,上文已进行了详细说明,此处不再赘述。
当传输过程中有数据包出现传输失败,就需要引入重传机制来保证数据包传输的可靠性。对应发送端数据包传输的装置的实施例,在图3的基础上,图4为本发明实施例提供的另一种数据包传输的装置的结构示意图,参照图4,该装置还包括:发送模块201。
发送模块201,用于向所述对端发送接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
所述接收模块202,还用于若所述接收响应消息包含数据包的接收失败信息,则接收所述对端重传的所述数据包的接收失败信息对应的数据包。
可选地,对于上文所述数据包的接收失败信息,接收端的发送模块201将该数据包的接收失败信息发送给发送端,作用在于告知发送端哪些数据包传输失败,进一步地,数据包的接收失败信息可以用来指示一组数据包传输失败,也可以用来指示一组数据包中的一个或多个数据包传输失败。下面通过具体实施例对这两种可能的情况进行说明:
情况一:所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示所述对端重新传输所述m个数据包,所述m为大于零的正整数,并且m≤n;
则所述接收模块202,具体用于分别在m个进程上接收所述对端重传的所述m个所述数据包;还具体用于直至m个所述数据包接收成功,再接收所述对端发送的下一组数据包。
进一步地,针对情况二,所述数据包的接收失败信息为组重传指示,所 述组重传指示用于指示所述对端重新传输所述一组数据包。其作用在于:当所述一组数据包接收失败,或者组包失败后,利用组重传指示使得发送端重传该组数据包。
上文对于每个数据包和/或一组数据包的重传机制已进行了详细说明,此处不再赘述,需要说明的是,对于采用计时器维护传输时间的重传方案。作为接收端的装置的处理模块200可以设置计时器,针对每一个数据包对应维护一个计时器,对每组数据包对应维护一个计时器,从而实现对每个数据包和每组数据包的传输时间进行计时,在一个数据包或一组数据包超过预定传输时间后,放弃传输。需要说明的是,在接收端通过计时器进行传输时间计时的方案中,当丢弃一个数据包或一组数据包时,其发送模块201反馈给发送端的接收响应消息不携带数据包的接收失败信息,以使发送端不再重传对应的数据包或一组数据包。
本发明实施例提供的数据包重传机制,通过设置数据包重传和一组数据包重传两个重传机制,从而保证当一组数据包中的一个或几个数据包发生接收失败时,接收端的发送模块201向发送端反馈接收响应消息,以使发送端重传发送失败的一个或几个数据包;或者,重传一组数据包。首先,本发明实施例的数据包传输的装置中,一组数据包中可以包含由一个原数据包拆分得到的几个子数据包,当子数据包出现接收失败时,发送端只重传发送失败的子数据包,与采用单进程传输的现有技术相比,本发明实施例提供的数据包重传机制节约了传输占用的资源,提高了传输效率。
进一步地,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
其中,若发送端设备传输的所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,所述组包指示信息用于所述对端接收到至少两个所述子数据包后,则处理模块200,还用于根据所述组包指示信息对至少两个所述子数据包进行组包;
或者,当发送端设备采用每一组数据包只放置一个通过拆分原数据包获得的多个子数据包时,每组数据包可以不携带上述指示信息。例如,预置发送端和接收端传输的每组数据包中只包含通过拆分一个原数据包获得的多个子数据包,接收端的处理模块200在接收到该组数据包后,将该组数据包组 包即可。或者,又例如,若发送端和接收端可以传输上述三种可能的数据包的类型,那么每一种数据包的类型对应一种传输模式,当每组数据包中只包含通过拆分一个原数据包获得的多个子数据包,采用特定传输模式,则发送端通知接收端,之后发送的每组数据包仅只包含通过拆分一个原数据包获得的多个子数据包,那么此时该组数据包中也不需要携带指示信息,接收端处理模块200在接收到该组数据包后,将该组数据包组包即可。
若发送端设备传输的所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,则处理模块200,还用于根据所述标识识别所述原数据包。
图5为本发明实施例提供的另一种无线网络中传输数据的装置,参照图5,该装置可以作为发送端的数据包传输的装置,也可以作为接收端的数据包传输的装置,该装置包括:处理器300、发射器301、接收器302;
具体的,当该装置作为发送端的数据包传输的装置时,处理器300与图1或图2中的处理模块100对应,且能执行图1或图2中的处理模块100的对应功能,实现相应的技术效果;发射器301与图1或图2中的发送模块101对应,且能执行图1或图2中的发送模块101的对应功能,实现相应的技术效果;接收器302与图2中的接收模块102对应,且能执行图4中的接收模块102的对应功能,实现相应的技术效果;
当该装置作为发送端的数据包传输的装置时,处理器300与图3或图4中的处理模块200对应,且能执行图3或图4中的处理模块200的对应功能,实现相应的技术效果;接收器302与图3或图4中的接收模块202对应,且能执行图3或图4中的接收模块202的对应功能,实现相应的技术效果;发射器301与图4中的发送模块201对应,且能执行图4中的发送模块201的对应功能,实现相应的技术效果。
进一步地,下面通过具体示例对上文所述作为发送端的数据包传输的装置,或者,作为接收端的数据包传输的装置进行说明。
该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等终端设备,以终端为手机为例,图6为本发明实施例提供的无线网络中传输数据的装置相 关的手机的部分结构的框图。参考图6,手机500包括射频(Radio Frequency,简称RF)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、WiFi(wireless fidelity,无线保真)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图6中示出的手机结构只做实现方式的举例,并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对手机500的各个构成部件进行具体的介绍:
RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行手机500的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元530可用于接收输入的数字或字符信息,以及产生与手机500的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体 或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及手机500的各种菜单。显示单元540可包括显示面板541,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图6中,触控面板531与显示面板541是作为两个独立的部件来实现手机500的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现手机500的输入和输出功能。
手机500还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在手机500移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与手机500之间的音 频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一手机,或者将音频数据输出至存储器520以便进一步处理。
WiFi属于短距离无线传输技术,手机500通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块570,但是可以理解的是,其并不属于手机500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是手机500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行手机500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理单元;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
手机500还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机500还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,当该终端作为发送端进行数据包的发送时,该终端所包括处理器具有上文图1或图2所示处理模块100的相应功能,RF电路具有上文图1或图2所示发送模块101和接收模块102的相应功能,并能能够实现对应的技术效果;或者,该处理器具有上文图5所示处理器的对应功能,RF电路具有上文图5所示发射器和接收器的对应功能,并且能够实现对应的技术效果;
当该终端作为接收端进行数据包的接收时,该终端所包括处理器具有上文图3或图4所示处理模块200的相应功能,RF电路具有上文图3或图4所示发送模块201和接收模块202的相应功能,并能能够实现对应的技术效果; 或者,该处理器具有上文图5所示处理器的对应功能,RF电路具有上文图5所示发射器和接收器的对应功能,并且能够实现对应的技术效果。
另外,数据包传输的装置还可以为智能电表或智能水表等物联网设备,以智能电表为例,一种可能的实现方式为:通过GPRS网络系统,可将集群式智能电表采集的电力系统数据实时传递到各级的集中监控中心,以实现对电力检测设备的统一监控和分布式管理。其中,智能电表具有电力信息采集功能和数据传输功能,例如,智能电表具有能够进行电力信息采集的处理器,和传输电力信息的网络接口,则该智能电表能够采用上文图1、图2、图5所示的结构,并执行对应的步骤,实现相应的技术效果。而集中控制中心的采集设备则可以作为数据的接收端,采用上文图3、图4、图5所示的结构,并执行对应的步骤,实现相应的技术效果。
进一步的,本发明实施例提供一种数据包传输系统,该系统中包括作为发送端的装置和作为接收端的装置,以实现数据包的传输。具体的,其中作为发送端的装置可以为上文图1、图2、图5或图6所示的装置,其能够实现上述图1、图2、图5或图6对应实施例的技术效果;作为接收端的装置可以为上文图3、图4、图5或图6所示的装置,其能够实现上述图3、图4、图5或图6对应实施例的技术效果。进一步的,为了能够实现数据传输,该系统也可以包含其他必要的设备,例如,接入设备、网管、服务器等,此处不予限制。
图7为本发明实施例提供的一种数据包传输的方法流程示意图,该方法应用于半双工FDD机器对机器系统,其执行主体为上文图1、图5或图6所示数据包传输的装置,该装置作为数据包的发送端,具体的,该装置可以为基站、机器、具备通信功能的水表、电表等抄表、手机、支持各种通信制式(2G/3G/4G/5G/wifi/蓝牙等)的通信设备、M2M的终端,参照图7,该方法包括如下步骤:
步骤100、向对端发送一组数据包,所述一组数据包包含n个数据包,所述n个数据包发送时按顺序分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
步骤101、当所述一组数据包发送成功时,再向所述对端发送下一组数据包。
本发明实施例提供的数据包传输的方法,通过数据包传输的装置向对端发送一组数据包,所述一组数据包包含n个数据包,所述n个数据包发送时按顺序分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数,进一步地,当所述一组数据包发送成功时,该数据包传输的装置再向所述对端发送下一组数据包。与采用多进程传输的现有技术相比,本发明实施例保证只有在一组数据包传输成功后,再进行下一组数据包的传输,发送端最多只需要缓存一组数据包,接收端也只需要缓存最多一组数据包或未组包成功的数据包(需要组包时),从而节约了资源,进一步地,采用一组数据包传输成功之后再传输下一组数据包的方式,避免了由于持续传输数据包导致每个数据包的传输进度不同,从而需要设置复杂的识别、组包、重传机制,本发明实施例提供的数据包传输的方法在保证传输效率和系统吞吐量的同时能够降低方案实现的成本和复杂度。
与采用的单进程传输的现有技术相比,本发明实施例每次能够发送一组数据包,能够快速的发送数据包,节省终端功耗,提高了数据包传输的吞吐量。
优选地,为了简化M2M系统高层的设计,同时考虑到M2M系统针对的是小数据包业务,因此取消RLC层,MAC层支持简单的拆包、组包功能。MAC层根据信道实时情况将需要被拆分的数据包拆分成大小合适的数据包,MAC层的数据包可以是原数据包或者是子数据包。一组数据包中,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包。
具体的,一组数据包包含数据包的类型可能有如下可能:一、一组数据包只包含通过拆分原数据包获得的多个子数据包;二、一组数据包中包含全部为未经拆分的原数据包;三、一组数据包中包含通过拆分原数据包获得的多个子数据包和未经拆分的原数据包。
需要说明的是,当一个原数据包例如,多媒体接入控制业务数据单元(Media Access Control Service Data Unit,简称:MAC SDU),其大小超过阈值时,则发送端可以将该原数据包拆分成多个子数据包,本实施例对于阈值的大小并未做限定,该阈值可以在不同的场景中根据系统需求进行设置。
其中,对于上述可能一,若所述一组数据包中包含至少两个子数据包, 则至少一个所述子数据包的包头包含组包指示信息,所述组包指示信息用于所述对端接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;
具体的,当一组数据包中包含通过拆分原数据包获得的多个子数据包,为了便于接收端对子数据包进行识别,以便进行子数据包的组包。一种可能的实现方式为:属于原数据包的最后一个子数据包要包含指示,告知接收端该子数据包为最后一个数据包。
或者,当发送端采用每一组数据包只放置一个通过拆分原数据包获得的多个子数据包时,每组数据包可以不携带上述指示信息。例如,预置发送端和接收端传输的每组数据包中只包含通过拆分一个原数据包获得的多个子数据包,接收端在接收到该组数据包后,将该组数据包组包即可。或者,又例如,若发送端和接收端可以传输上述三种可能的数据包的类型,那么每一种数据包的类型对应一种传输模式,当每组数据包中只包含通过拆分一个原数据包获得的多个子数据包,采用特定传输模式,则发送端通知接收端,之后发送的每组数据包仅只包含通过拆分一个原数据包获得的多个子数据包,那么此时该组数据包中也不需要携带指示信息,接收端在接收到该组数据包后,将该组数据包组包即可。
对于上述可能二,当一组数据包中包含的全部为未经拆分的原数据包,则不需要携带任何指示信息。
对于上述可能三,若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述标识用于所述对端识别所述原数据包。
具体的,当一组数据包中包含通过拆分原数据包获得的多个子数据包和未经拆分的原数据包时,为了便于接收端识别多个子数据包以及未经拆分的原数据包。一种可行的实现方式为:每个子数据包携带1bit(0/1)指示,1表示最后一个子数据包或者未经拆分的原数据包,0表示非最后一个子数据包;例如,发送端将一个原数据包拆成了五个子数据包,该组数据包还包括其他两个未经拆分的原数据包,共七个数据包。在进行传输时,第一个至第四个子数据包携带的组包指示信息为“0”,最后一个子数据包携带的组包指示信息为“1”。对于另外两个未经拆分的原数据包,其可以不携带组包指示 信息,或者其携带的组包指示信息为“1”。另一种可行的实现方式为:最后一个子数据包和未经拆分的原数据包携带指示信息,非最后一个子数据包则不携带指示。继续以上文示例为例,第一个至第四个子数据包不携带组包指示信息,最后一个子数据包携带组包指示信息为“1”,对于另外两个未经拆分的原数据包,其携带的组包指示信息为“1”。
进一步地,在图7的基础上,图8为本发明实施例提供的另一种数据包传输的方法流程示意图,其执行主体为上文图2、图5或图6所示数据包传输的装置,参照图8,在步骤101之前,还包括如下步骤:
步骤102、接收所述对端发送的接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
具体的,若所述接收响应消息包含数据包的接收失败信息,则重传所述数据包的接收失败信息对应的数据包。
进一步地,对于本发明实施例提供的数据包传输的方法,当传输过程中有数据包出现传输失败,那么就需要引入重传机制来保证数据包传输的可靠性。下面通过具体的实施例对基于本发明实施例提供的数据包传输的方法的数据包重传机制进行说明,需要说明的是,本发明下述实施例仅以几种可能的实现方式作为示例进行说明,其并不限定本发明的保护范围,显然,在本发明实施例提供的数据包传输的方法的基础上,其他可能的数据包重传机制也应该属于本发明的保护范围内。
可选地,对于上文所述数据包的接收失败信息,接收端将该数据包的接收失败信息发送给发送端,作用在于告知发送端哪些数据包传输失败,进一步地,数据包的接收失败信息可以用来指示一组数据包传输失败,也可以用来指示一组数据包中的一个或多个数据包传输失败。下面通过具体实施例对这两种可能的情况进行说明:
情况一:所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示重新传输所述m个数据包,所述m为大于零的正整数,并且m≤n;
则重传所述数据包的接收失败信息对应的数据包,具体为:
根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传。
所述当所述一组数据包发送成功时,再向所述对端发送下一组数据包,包括:
直至m个所述数据包发送成功,再向所述对端发送下一组数据包。
进一步地,针对情况一,图9为本发明实施例提供的一种数据包重传方法示意图,其执行主体为上文图1、图2、图5或图6所示数据包传输的装置,参照图9,在根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传之前,还包括:
步骤200、判断若至少一个所述数据包的重传次数是否超过预置的数据包最大重传次数。
步骤201、若至少一个所述数据包的重传次数超过预置的数据包最大重传次数,则停止对至少一个所述数据包的重传。
步骤202、若至少一个所述数据包的重传次数未超过预置的数据包最大重传次数,则重传至少一个所述数据包。
可选地,在步骤202之后,还可以增加步骤203至步骤205,具体的:
步骤203、判断所述一组数据包的重传次数是否超过组最大重传次数;
步骤204、若所述一组数据包的重传次数未超过所述组最大重传次数,则将所述一组数据包进行重传。
步骤205、若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包,并向所述对端发送下一组数据包。
情况二:图10为本发明实施例提供的另一种数据包重传方法示意图,其执行主体为上文图1、图2、图5或图6所示数据包传输的装置,所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示将所述一组数据包进行重传,参照图10,该方法包括如下步骤:
步骤300、判断所述一组数据包的重传次数是否超过组最大重传次数;
步骤301、若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包,并向所述对端发送下一组数据包;
步骤302、若所述一组数据包的重传次数未超过所述组最大重传次数,根据所述组重传指示将所述一组数据包进行重传。
具体的,在执行完步骤302后,执行步骤303。
具体的,上文步骤101在图10中的一种可行的实现方式为:
步骤303、直至n个所述数据包发送成功,再向所述对端发送下一组数据包。
其中,对于情况一,需要说明的是,当进行一次数据包的重传之后,可能该m个重传的数据包中还有一部分数据包重传失败,此时,接收端反馈的接收响应消息中还包含数据包的接收失败信息,指示m个重传的数据包中有一个或多个数据包重传失败,则发送端会根据该数据包的接收失败信息进行重传。
可选地,还可以将图9与图10对应的实施例进行结合,具体的:发送端或接收端可以设置数据包最大重传次数和组最大重传次数,并维护每个数据包的重传次数和每组数据包的组重传次数,当一个数据包进行重传之前,先将当前该数据包的重传次数与数据包最大重传次数进行比较,若没有超过该数据包最大重传次数,则允许该数据包进行重传,并且在进行重传后,为该数据包的重传次数加“1”。若超过该数据包最大重传次数,则可以有两种可行的处理方式:一、放弃重传该数据包;二、进一步判断该数据包所述的一组数据包的当前的组重传次数是否超过了组最大重传次数。对于第二种处理方式,若没有超过该组最大重传次数,则发送端重传该组数据包;或者,若超过组最大重传次数,则丢弃该组数据包,进行下一组数据包的发送。
或者,发送端或接收端针对每个数据包分别维护一个计时器,对每一组数据包维护一个计时器,以发送端为例,当发送一组数据包时,对于该组数据包中的每个数据包,发送端分别对应维护一个计时器,该计时器的作用在于为每个数据包的传输时间进行计时,在该传输时间内,每个数据包的重传次数不限,当该数据包的传输时间超过对应计时器预置的传输时间上限时,则放弃该数据包的传输。类似的,发送端针对一组数据包也可以维护一个计时器,该计时器的作用在于为一组数据包的传输时间进行计时,在该传输时间内,该组数据包的重传此处不限,当该组数据包的传输时间超过对应计时器预置的传输时间上限时,则放弃该组数据包的传输,进行下一组数据包的传输。类似的,接收端也可以维护类似的计时器,对每个数据包和每组数据包的传输时间进行计时,从而在一个数据包或一组数据包超过预定传输时间后,放弃传输。需要说明的是,在接收端通过计时器进行传输时间计时的方案中,当丢弃一个数据包或一组数据包时,其反馈给发送端的接收响应消息 不携带数据包的接收失败信息,以使发送端不再重传对应的数据包或一组数据包。
本发明实施例提供的数据包重传机制,通过设置数据包重传和一组数据包重传两个重传机制,从而保证当一组数据包中的一个或几个数据包发生接收失败时,发送端根据接收端反馈的接收响应消息,重传发送失败的一个或几个数据包;或者,重传一组数据包。首先,本发明实施例的数据包传输的方法中,一组数据包中可以包含由一个原数据包拆分得到的几个子数据包,当子数据包出现接收失败时,发送端只重传发送失败的子数据包,与采用单进程传输的现有技术相比,本发明实施例提供的数据包重传机制节约了传输占用的资源,提高了传输效率。
图11为本发明实施例提供的另一种数据包传输的方法的流程示意图,该方法应用于半双工FDD机器对机器系统,执行主体为其执行主体为上文图3、图5或图6所示数据包传输的装置,具体的,该装置可以为基站、机器、具备通信功能的水表、电表等抄表、手机、支持各种通信制式(2G/3G/4G/5G/wifi/蓝牙等)的通信设备、M2M的终端,参照图11,该方法包括如下步骤:
步骤400、接收对端发送的一组数据包,所述一组数据包包含n个数据包,所述n个数据包按顺序分别对应在n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
步骤401、当所述一组数据包接收成功时,再接收所述对端发送的下一组数据包。
本发明实施例提供的数据包传输的方法,通过作为接收端的数据包传输的装置接收对端发送的一组数据包,所述一组数据包包含n个数据包,所述n个数据包按顺序分别对应在n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数,当所述一组数据包接收成功时,该装置再接收所述对端发送的下一组数据包。与采用多进程传输的现有技术相比,本发明实施例保证只有在一组数据包传输成功后,再进行下一组数据包的接收,从而在接收成功之前,该装置也只需要缓存最多一组数据包或未组包成功的数据包(需要组包时),从而节约了缓存资源,进一步地,采用一组数据包接收成功之后再接收下一组数据包的方式,避免了由于持续传输数据包导致每个数 据包的传输进度不同,从而需要设置复杂的识别、组包、重传机制,本发明实施例提供的数据包传输的方法降低了在采用半双工FDD的传输方式时,方案实现的成本和复杂度。
与采用的单进程传输的现有技术相比,本发明实施例每次能够接收一组数据包,能够快速的接收数据包,节省终端功耗,提高了数据包传输的吞吐量。
优选地,本实施例中作为执行主体的装置接收到的数据包,可以为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包。对于数据包的拆分和一组数据包的构成,其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,接收端设备接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;或者,当发送端设备采用每一组数据包只放置一个通过拆分原数据包获得的多个子数据包时,每组数据包可以不携带上述指示信息。例如,预置发送端和接收端传输的每组数据包中只包含通过拆分一个原数据包获得的多个子数据包,接收端在接收到该组数据包后,将该组数据包组包即可。或者,又例如,若发送端和接收端可以传输上述三种可能的数据包的类型,那么每一种数据包的类型对应一种传输模式,当每组数据包中只包含通过拆分一个原数据包获得的多个子数据包,采用特定传输模式,则发送端通知接收端,之后发送的每组数据包仅只包含通过拆分一个原数据包获得的多个子数据包,那么此时该组数据包中也不需要携带指示信息,接收端在接收到该组数据包后,将该组数据包组包即可。或者,若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,接收端设备根据所述标识识别所述原数据包。
参照图8对应的实施例可知,当传输过程中有数据包出现传输失败,就需要引入重传机制来保证数据包传输的可靠性。对应发送端的实施例,在图11的基础上,图12为本发明实施例提供的另一种数据包传输的方法的流程示意图,执行主体为其执行主体为上文图3、图4、图5或图6所示数据包传输的装置,参照图12,在步骤401之前,还包括如下步骤:
步骤402、向所述对端发送接收响应消息,所述接收响应消息携带数据 包的接收失败信息,和/或数据包的接收成功信息;
具体的,所述向所述对端发送的接收响应消息之后,若所述接收响应消息包含数据包的接收失败信息,则接收所述对端重传的所述数据包的接收失败信息对应的数据包。
可选地,对于上文所述数据包的接收失败信息,接收端将该数据包的接收失败信息发送给发送端,作用在于告知发送端哪些数据包传输失败,进一步地,数据包的接收失败信息可以用来指示一组数据包传输失败,也可以用来指示一组数据包中的一个或多个数据包传输失败。下面通过具体实施例对这两种可能的情况进行说明:
情况一:所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示所述对端重新传输所述m个数据包,所述m为大于零的正整数,并且m≤n;
则接收所述对端重传的所述数据包的接收失败信息对应的数据包,具体为:
分别在m个进程上接收所述对端重传的所述m个所述数据包;
所述当所述一组数据包接收成功时,再接收所述对端发送的下一组数据包,包括:
直至m个所述数据包接收成功,再接收所述对端发送的下一组数据包。
进一步地,针对情况二,当所述一组数据包组包失败后,则所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示所述对端重新传输所述一组数据包。
上文对于每个数据包和/或一组数据包的重传机制已进行了详细说明,此处不再赘述,需要说明的是,对于采用计时器维护传输时间的重传方案。作为接收端的装置可以设置计时器,针对每一个数据包对应维护一个计时器,对每组数据包对应维护一个计时器,从而实现对每个数据包和每组数据包的传输时间进行计时,在一个数据包或一组数据包超过预定传输时间后,放弃传输。需要说明的是,在接收端通过计时器进行传输时间计时的方案中,当丢弃一个数据包或一组数据包时,其反馈给发送端的接收响应消息不携带数据包的接收失败信息,以使发送端不再重传对应的数据包或一组数据包。
本发明实施例提供的数据包重传机制,通过设置数据包重传和一组数据 包重传两个重传机制,从而保证当一组数据包中的一个或几个数据包发生接收失败时,接收端向发送端反馈接收响应消息,以使发送端重传发送失败的一个或几个数据包;或者,重传一组数据包。首先,本发明实施例的数据包传输的方法中,一组数据包中可以包含由一个原数据包拆分得到的几个子数据包,当子数据包出现接收失败时,发送端只重传发送失败的子数据包,与采用单进程传输的现有技术相比,本发明实施例提供的数据包重传机制节约了传输占用的资源,提高了传输效率。
图13为本发明实施例提供的另一种数据包传输的方法的交互示意图,参照图13,对上述实施例中作为发送端的装置与作为接收端的装置之间的交互过程进行说明,具体的,该交互流程包括如下步骤:
步骤501、发送端将这n个数据包分别在n个进程上发送给接收端。
具体的,n个数据包为一组数据包,一组数据包包含数据包的类型可能有如下可能:一、一组数据包只包含通过拆分原数据包获得的多个子数据包;二、一组数据包中包含全部为未经拆分的原数据包;三、一组数据包中包含通过拆分原数据包获得的多个子数据包和未经拆分的原数据包。
可选地,对于一组数据包包含通过拆分原数据包获得的多个子数据包的情况,那么在步骤501之前,还可以包括:
步骤500、发送端将原数据包铲分获得s个子数据包,其中s小于或等于n。
步骤502、发送端接收对端发送的接收响应消息。
具体的,接收端在特定的时间发送接收响应消息,例如在接收到m个数据包之后,向发送端发送接收响应消息,该接收响应消息包括该m个数据包的接收情况。或者,接收端在接收一组数据包之后想发送端发送接收响应消息。所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息。当所述接收响应消息携带数据包的接收失败信息时,则参照上文实施例可知,该数据包的接收失败信息用于指示重传该组数据包中的某一个或几个数据包,也可以用于指示重传一组数据包,则发送端重复步骤501,具体的发送端发送的数据包为数据包的接收失败信息指示需要重传的数据包。若接收响应消息仅携带数据包的接收成功信息,则执行步骤503。
需要说明的是,发送端和接收端分别维护一个针对进程的发送缓冲器和 接收缓冲器,发送缓冲器用来存放当前进程上发送的数据包以备出错时进行重发,接收缓冲器存放当前进程上接收到的数据包。
步骤503、发送端将下一组n个数据包分别在n个进程上发送给接收端。
具体的,发送端进行下一组n个数据包发送的触发条件,可以是上一组数据包发送成功;或者由于上一组数据包重传次数超过预定最大值而放弃传输;或者,一组数据包的传输时间超过了传输时间上限;或者,为用户或系统指示,例如,根据用户的需求,系统中的控制网元向发送端发送放弃传输命令,指示发送端放弃上一组数据包的传输,开始下一组数据包的传输;另外,也可能根据数据包自身特性,发送端判断是否停止上一组数据包的传输,例如,该数据包包含某业务的状态信息,当上一组数据包还未完成传输,而新的一组数据包中包含该业务的最新状态信息,此时,显然接收端已经不需要上一组数据包包含的状态信息了,因此,发送端可以根据该组数据包的业务特性,放弃传输上一组数据包,而直接进行下一组数据包的发送。
需要说明的是,本发明实施例提供的数据包传输的方法,由于接收端对一组数据包集中反馈,即接收端不需要在发送和接收两个状态间不断切换,因此能够减少切换时延。并且由于本系统是窄带系统,传输速率本身较低,每次传输用的时间长,因此两次重传间的时间间隔就较大,上述数据包传输的装置可以为M2M终端,并且由于M2M终端一般不移动,或者移动性较低,信道在时间上变化较为缓慢,所以此方案的重传时间间隔较大,较容易获得时间分集增益。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (37)

  1. 一种数据包传输的装置,所述装置应用于半双工频分双工机器对机器系统,其特征在于,包括:
    发送模块,用于向对端发送一组数据包,所述一组数据包包含n个数据包;还用于当所述一组数据包发送成功时,再向所述对端发送下一组数据包;
    处理模块,用于按顺序在发送时将所述n个数据包分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数。
  2. 根据权利要求1所述的装置,其特征在于,还包括:
    接收模块,用于接收所述对端发送的接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
    所述发送模块,还用于若所述接收响应消息包含数据包的接收失败信息,则重传所述数据包的接收失败信息对应的数据包。
  3. 根据权利要求2所述的装置,其特征在于,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
    所述发送模块,具体用于根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传;具体还用于直至m个所述数据包发送成功,再向所述对端发送下一组数据包。
  4. 根据权利要求3所述的装置,其特征在于,所述处理模块,还用于若至少一个所述数据包的重传次数超过预置的数据包最大重传次数,则停止对至少一个所述数据包的重传。
  5. 根据权利要求4所述的装置,其特征在于,所述处理模块,还用于判断所述一组数据包的重传次数是否超过组最大重传次数;
    所述发送模块,还用于若所述一组数据包的重传次数未超过所述组最大重传次数,则将所述一组数据包进行重传;或者,
    所述处理模块,还用于若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包;
    所述发送模块,还用于向所述对端发送下一组数据包。
  6. 根据权利要求2所述的装置,其特征在于,所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示将所述一组数据包进行重传;
    所述处理模块,还用于判断所述一组数据包的重传次数是否超过组最大重传次数;
    所述发送模块,还用于若所述一组数据包的重传次数未超过所述组最大重传次数,根据所述组重传指示将所述一组数据包进行重传;或者,
    所述处理模块,还用于若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包;
    所述发送模块,还用于向所述对端发送下一组数据包;还用于直至n个所述数据包发送成功,再向所述对端发送下一组数据包。
  7. 根据权利要求1-6任意一项所述的装置,其特征在于,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
    其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,所述组包指示信息用于所述对端接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
    若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述标识用于所述对端识别所述原数据包。
  8. 一种数据包传输的装置,所述方法应用于半双工频分双工机器对机器系统,其特征在于,包括:
    接收模块,用于接收对端发送的一组数据包,所述一组数据包包含n个数据包,所述n个数据包按顺序分别对应在n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
    处理模块,用于当所述一组数据包接收成功时,指示所述接收模块再接收所述对端发送的下一组数据包。
  9. 根据权利要求8所述的装置,其特征在于,还包括:
    发送模块,用于向所述对端发送接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
    所述接收模块,还用于若所述接收响应消息包含数据包的接收失败信息,则接收所述对端重传的所述数据包的接收失败信息对应的数据包。
  10. 根据权利要求9所述的装置,其特征在于,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示所述对端重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
    所述接收模块,具体用于分别在m个进程上接收所述对端重传的所述m个所述数据包;还具体用于直至m个所述数据包接收成功,再接收所述对端发送的下一组数据包。
  11. 根据权利要求8-10任意一项所述的装置,其特征在于,还包括:
    当所述一组数据包组包失败后,则所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示所述对端重新传输所述一组数据包。
  12. 根据权利要求8-11任意一项所述的装置,其特征在于,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
    其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息;所述处理模块,还用于根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
    若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述处理模块,还用于根据所述标识识别所述原数据包。
  13. 一种数据包传输的装置,所述装置应用于半双工频分双工机器对机器系统,其特征在于,包括:
    发射器,用于向对端发送一组数据包,所述一组数据包包含n个数据包;还用于当所述一组数据包发送成功时,再向所述对端发送下一组数据包;
    处理器,用于按顺序在发送时将所述n个数据包分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数。
  14. 根据权利要求13所述的装置,其特征在于,还包括:
    接收器,用于接收所述对端发送的接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
    所述发射器,还用于若所述接收响应消息包含数据包的接收失败信息,则重传所述数据包的接收失败信息对应的数据包。
  15. 根据权利要求14所述的装置,其特征在于,所述数据包的接收失败 信息为数据包重传指示,所述数据包重传指示用于指示重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
    所述发射器,具体用于根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传;具体还用于直至m个所述数据包发送成功,再向所述对端发送下一组数据包。
  16. 根据权利要求15所述的装置,其特征在于,所述处理器,还用于若至少一个所述数据包的重传次数超过预置的数据包最大重传次数,则停止对至少一个所述数据包的重传。
  17. 根据权利要求16所述的装置,其特征在于,所述处理器,还用于判断所述一组数据包的重传次数是否超过组最大重传次数;
    所述发射器,还用于若所述一组数据包的重传次数未超过所述组最大重传次数,则将所述一组数据包进行重传;或者,
    所述处理器,还用于若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包;
    所述发射器,还用于向所述对端发送下一组数据包。
  18. 根据权利要求14所述的装置,其特征在于,所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示将所述一组数据包进行重传;
    所述处理器,还用于判断所述一组数据包的重传次数是否超过组最大重传次数;
    所述发射器,还用于若所述一组数据包的重传次数未超过所述组最大重传次数,根据所述组重传指示将所述一组数据包进行重传;或者,
    所述处理器,还用于若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包;
    所述发射器,还用于向所述对端发送下一组数据包;还用于直至n个所述数据包发送成功,再向所述对端发送下一组数据包。
  19. 根据权利要求13-18任意一项所述的装置,其特征在于,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
    其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,所述组包指示信息用于所述对端接收到至 少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
    若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述标识用于所述对端识别所述原数据包。
  20. 一种数据包传输的装置,所述方法应用于半双工频分双工机器对机器系统,其特征在于,包括:
    接收器,用于接收对端发送的一组数据包,所述一组数据包包含n个数据包,所述n个数据包按顺序分别对应在n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
    处理器,用于当所述一组数据包接收成功时,指示所述接收器再接收所述对端发送的下一组数据包。
  21. 根据权利要求20所述的装置,其特征在于,还包括:
    发射器,用于向所述对端发送接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
    所述接收器,还用于若所述接收响应消息包含数据包的接收失败信息,则接收所述对端重传的所述数据包的接收失败信息对应的数据包。
  22. 根据权利要求21所述的装置,其特征在于,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示所述对端重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
    所述接收器,具体用于分别在m个进程上接收所述对端重传的所述m个所述数据包;还具体用于直至m个所述数据包接收成功,再接收所述对端发送的下一组数据包。
  23. 根据权利要求20-22任意一项所述的装置,其特征在于,还包括:
    当所述一组数据包组包失败后,则所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示所述对端重新传输所述一组数据包。
  24. 根据权利要求20-23任意一项所述的装置,其特征在于,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
    其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子 数据包的包头包含组包指示信息;所述处理器,还用于所述对端接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
    若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述处理器,还用于根据所述标识识别所述原数据包。
  25. 一种数据包传输系统,其特征在于,包括:至少一个权利要求1-7任意一项所述的数据包传输的装置和至少一个权利要求8-12任意一项所述的数据包传输的装置;或者,至少一个权利要求13-19任意一项所述的数据包传输的装置和至少一个权利要求20-24任意一项所述的数据包传输的装置。
  26. 一种数据包传输的方法,所述方法应用于半双工频分双工机器对机器系统,其特征在于,包括:
    向对端发送一组数据包,所述一组数据包包含n个数据包,所述n个数据包发送时按顺序分别对应n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
    当所述一组数据包发送成功时,再向所述对端发送下一组数据包。
  27. 根据权利要求26所述的方法,其特征在于,在当所述一组数据包发送成功时,再向所述对端发送下一组数据包之前,还包括:
    接收所述对端发送的接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
    所述接收所述对端发送的接收响应消息之后,还包括:
    若所述接收响应消息包含数据包的接收失败信息,则重传所述数据包的接收失败信息对应的数据包。
  28. 根据权利要求27所述的方法,其特征在于,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
    所述重传所述数据包的接收失败信息对应的数据包,包括:
    根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传;
    所述当所述一组数据包发送成功时,再向所述对端发送下一组数据包, 包括:
    直至m个所述数据包发送成功,再向所述对端发送下一组数据包。
  29. 根据权利要求28所述的方法,其特征在于,所述根据所述数据包重传指示将所述m个所述数据包分别在m个进程上进行重传之前,还包括:
    若至少一个所述数据包的重传次数超过预置的数据包最大重传次数,则停止对至少一个所述数据包的重传。
  30. 根据权利要求29所述的方法,其特征在于,所述则停止对至少一个所述数据包的重传之后,还包括:
    判断所述一组数据包的重传次数是否超过组最大重传次数;
    若所述一组数据包的重传次数未超过所述组最大重传次数,则将所述一组数据包进行重传;或者,
    若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包,并向所述对端发送下一组数据包。
  31. 根据权利要求27所述的方法,其特征在于,所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示将所述一组数据包进行重传;
    所述重传所述数据包的接收失败信息对应的数据包,包括:
    判断所述一组数据包的重传次数是否超过组最大重传次数;
    若所述一组数据包的重传次数未超过所述组最大重传次数,根据所述组重传指示将所述一组数据包进行重传;或者,
    若所述一组数据包的重传次数超过所述组最大重传次数,则丢弃所述一组数据包,并向所述对端发送下一组数据包;
    所述当所述一组数据包发送成功时,再向所述对端发送下一组数据包,包括:
    直至n个所述数据包发送成功,再向所述对端发送下一组数据包。
  32. 根据权利要求26-31任意一项所述的方法,其特征在于,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
    其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,所述组包指示信息用于所述对端接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进 行组包;或者,
    若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,所述标识用于所述对端识别所述原数据包。
  33. 一种数据包传输的方法,所述方法应用于半双工频分双工机器对机器系统,其特征在于,包括:
    接收对端发送的一组数据包,所述一组数据包包含n个数据包,所述n个数据包按顺序分别对应在n个进程,所述n为大于或等于二的正整数,且所述n≤最大进程数;
    当所述一组数据包接收成功时,再接收所述对端发送的下一组数据包。
  34. 根据权利要求33所述的方法,其特征在于,在当所述一组数据包接收成功时,再接收所述对端发送的下一组数据包之前,还包括:
    向所述对端发送接收响应消息,所述接收响应消息携带数据包的接收失败信息,和/或数据包的接收成功信息;
    所述向所述对端发送的接收响应消息之后,还包括:
    若所述接收响应消息包含数据包的接收失败信息,则接收所述对端重传的所述数据包的接收失败信息对应的数据包。
  35. 根据权利要求34所述的方法,其特征在于,所述数据包的接收失败信息为数据包重传指示,所述数据包重传指示用于指示所述对端重新传输m个数据包,所述m为大于零的正整数,并且m≤n;
    所述接收所述对端重传的所述数据包的接收失败信息对应的数据包,包括:
    分别在m个进程上接收所述对端重传的所述m个所述数据包;
    所述当所述一组数据包接收成功时,再接收所述对端发送的下一组数据包,包括:
    直至m个所述数据包接收成功,再接收所述对端发送的下一组数据包。
  36. 根据权利要求33-35任意一项所述的方法,其特征在于,所述接收对端发送的一组数据包之后,还包括:
    当所述一组数据包组包失败后,则所述数据包的接收失败信息为组重传指示,所述组重传指示用于指示所述对端重新传输所述一组数据包。
  37. 根据权利要求33-36任意一项所述的方法,其特征在于,所述数据包为未经拆分的原数据包,和/或,所述数据包为通过拆分原数据包获得的子数据包;
    其中,若所述一组数据包中包含至少两个子数据包,则至少一个所述子数据包的包头包含组包指示信息,接收到至少两个所述子数据包后,根据所述组包指示信息对至少两个所述子数据包进行组包;或者,
    若所述一组数据包中包含至少两个子数据包和至少一个原数据包,则至少一个所述子数据包的包头包含所述组包指示信息,并且每个所述原数据包携带标识,根据所述标识识别所述原数据包。
CN201480026717.1A 2014-09-25 2014-09-25 数据包传输的装置、系统及方法 Pending CN105684383A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/087452 WO2016045062A1 (zh) 2014-09-25 2014-09-25 数据包传输的装置、系统及方法

Publications (1)

Publication Number Publication Date
CN105684383A true CN105684383A (zh) 2016-06-15

Family

ID=55580110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480026717.1A Pending CN105684383A (zh) 2014-09-25 2014-09-25 数据包传输的装置、系统及方法

Country Status (2)

Country Link
CN (1) CN105684383A (zh)
WO (1) WO2016045062A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112653691A (zh) * 2020-12-18 2021-04-13 脸萌有限公司 一种数据处理方法、装置、设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108173807B (zh) * 2017-11-28 2021-12-03 贵阳语玩科技有限公司 统一消息发送、处理方法及装置
US11985083B2 (en) 2019-08-02 2024-05-14 Qualcomm Incorporated Operation modes for sidelink relay

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545277A (zh) * 2003-11-19 2004-11-10 北京邮电大学 一种端到端的网络瓶颈带宽测量方法
CN101022593A (zh) * 2007-03-14 2007-08-22 中兴通讯股份有限公司 一种提高无线通信上行分组调度的方法
CN101232623A (zh) * 2007-01-22 2008-07-30 李会根 基于传输流的立体音视频数字编码传输方法和系统
CN101345608A (zh) * 2007-07-13 2009-01-14 大唐移动通信设备有限公司 管理多载波tdd上行的harq进程的方法及装置
CN103841118A (zh) * 2014-03-25 2014-06-04 中国科学技术大学苏州研究院 基于tcp有效载荷的双向可靠隐蔽信道

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101686383B (zh) * 2008-09-23 2013-05-01 Utc消防和保安美国有限公司 通过网络传输媒体的方法及系统
CN102946330B (zh) * 2012-09-29 2017-03-15 华为技术有限公司 网络丢包测量方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545277A (zh) * 2003-11-19 2004-11-10 北京邮电大学 一种端到端的网络瓶颈带宽测量方法
CN101232623A (zh) * 2007-01-22 2008-07-30 李会根 基于传输流的立体音视频数字编码传输方法和系统
CN101022593A (zh) * 2007-03-14 2007-08-22 中兴通讯股份有限公司 一种提高无线通信上行分组调度的方法
CN101345608A (zh) * 2007-07-13 2009-01-14 大唐移动通信设备有限公司 管理多载波tdd上行的harq进程的方法及装置
CN103841118A (zh) * 2014-03-25 2014-06-04 中国科学技术大学苏州研究院 基于tcp有效载荷的双向可靠隐蔽信道

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112653691A (zh) * 2020-12-18 2021-04-13 脸萌有限公司 一种数据处理方法、装置、设备及存储介质
CN112653691B (zh) * 2020-12-18 2023-04-18 脸萌有限公司 一种数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2016045062A1 (zh) 2016-03-31

Similar Documents

Publication Publication Date Title
CN110769516B (zh) 一种随机接入方法及相关设备
CN111107015B (zh) 数据处理方法及相关产品
CN104780401B (zh) 视频数据的发送方法及装置
CN110166206A (zh) 一种harq-ack码本的确定方法和终端
CN110234124B (zh) 信息传输方法及终端设备
CN107645369A (zh) 一种重传反馈方法、网络设备、终端设备及计算机可读介质
CN110034893A (zh) 一种uci发送方法和移动终端
US10897328B2 (en) Data indicating method and related products
CN111181706A (zh) 混合自动重传请求确认的发送方法和终端
CN113497680B (zh) 混合自动重传请求应答反馈方法、终端及网络节点
CN107104763A (zh) 一种设置超时重传时长的方法和装置
CN105684383A (zh) 数据包传输的装置、系统及方法
CN108809502A (zh) 混合自动重传的反馈信息生成方法及相关产品
EP3609103B1 (en) Data re-transmission control method and related product
CN109565645A (zh) 组播业务传输方法、终端、基站和通信系统
WO2020024107A1 (zh) 一种发送状态报告的方法及设备
WO2019154358A1 (zh) Harq-ack码本的确定方法和终端
CN113676949B (zh) 传输处理方法、装置及电子设备
CN113595697B (zh) Dai计数方法、dai计数控制方法、终端及网络设备
CN113645009A (zh) 一种数据处理方法及相关设备
CN109803420B (zh) Csi传输资源的配置方法及装置
CN116366208A (zh) 信息传输方法、信息传输指示方法、装置及终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160615

RJ01 Rejection of invention patent application after publication