一种消息传输方法、装置、设备及介质制造方法及图纸

技术编号:20431039 阅读:17 留言:0更新日期:2019-02-23 10:50
本发明专利技术公开了一种消息传输方法、装置、设备及介质,涉及互联网技术领域,该方法包括:从网络应用的消息队列中提取待发送指令消息,其中,所述待发送指令消息为所述消息队列中优先级最高的原始指令消息;将所述待发送指令消息拆分为发送单元;依据所述发送单元生成单元数据包;依据预设的用户数据报协议UDP,发送所述单元数据包。本发明专利技术不仅能够避免TCP遇到的高丢包、网络抖动和超大延时的问题,还能保证优先级高的指令消息能够尽快传输,提高传输质量。

A Message Transfer Method, Device, Equipment and Media

The invention discloses a message transmission method, device, device and medium, which relates to the technical field of Internet. The method includes: extracting the message to be sent instruction from the message queue of network application, in which the message to be sent is the original instruction message with the highest priority in the message queue; dividing the message to be sent instruction into sending units; and according to the above, dividing the message to be sent instruction into sending units; The sending unit generates unit data packets, and transmits the unit data packets according to the preset UDP protocol. The invention can not only avoid the problems of high packet loss, network jitter and large delay encountered by TCP, but also ensure that command messages with high priority can be transmitted as soon as possible and improve the transmission quality.

【技术实现步骤摘要】
一种消息传输方法、装置、设备及介质
本专利技术涉及互联网
,尤其涉及一种消息传输方法、装置、设备及介质。
技术介绍
随着互联网技术的快速发展,越来越多的网络应用出现,这些网络应用可以帮助我们解决很多日常的需求。这些网络应用通常分为客户端和服务器端,它们之间相互通信,如通过网络下发和应答相应的指令消息。这些指令消息的传输非常重要,如果指令消息的传输出现问题,网络应用后续的操作都无法进行。为了保证消息传输的可靠性,目前多数应用的指令消息是根据传输控制协议(TransmissionControlProtocol,TCP)来进行传输的。但是,直接采用TCP进行传输,在遇到高丢包、网络抖动时会出现拥堵和超大延时的问题,在网络带宽低时还往往会出现消息传输超时的问题,影响消息传输质量和传输效果。
技术实现思路
有鉴于此,本专利技术实施例提供一种消息传输方法、装置、设备及介质,以基于用户数据报协议(UserDatagramProtocol,UDP)加强网络应用的消息传输质量,提高传输效果。第一方面,本专利技术实施例提供了一种消息传输方法,包括:从网络应用的消息队列中提取待发送指令消息,其中,所述待发送指令消息为所述消息队列中优先级最高的原始指令消息;将所述待发送指令消息拆分为发送单元;依据所述发送单元生成单元数据包;依据预设的用户数据报协议UDP,发送所述单元数据包。可选地,上述消息传输方法应用于发送端中,所述发送端包含传输层和业务层;所述业务层,用于从网络应用的消息队列中提取待发送指令消息,并将所述待发送指令消息拆分为发送单元;所述传输层,用于依据所述发送单元生成单元数据包,并依据预设的用户数据报协议UDP发送所述单元数据包;其中,在所述业务层从网络应用的消息队列中提取待发送指令消息之前,该方法还包括:所述传输层检测重传队列是否为空队列;若所述重传队列存有重传序号,则从所述重传队列中提取目标重传序号,并从已发送队列中提取所述目标重传序号对应的已发送数据包,以及重发所述已发送数据包,所述目标重传序号为所述重传队列中优先级最高的重传序号;若所述重传队列为空队列,则触发所述业务层执行从所述消息队列中提取待发送指令消息的步骤;若所述重传队列存有重传序号,则从所述重传队列中提取目标重传序号。可选地,所述检测重传队列是否为空队列之前,还包括:检测网络应用对应的瓶颈带宽和数据包的往返时延;依据所述瓶颈带宽和所述往返时延,确定可发送包数量;当所述可发送包数量为大于零的整数时,执行所述检测重传队列是否为空队列的步骤。可选地,所述方法还包括:所述传输层接收确认数据包,其中,所述确认数据包携带有确认序号;依据所述确认序号确定丢包序号;将所述丢包序号添加到所述重传队列中,以作为重传序号。可选地,在所述传输层发送所述单元数据包之后,还包括:将所述单元数据包添加到已发送队列中,以记录为已发送数据包。在所述传输层接收确认数据包之后,还包括:检测所述确认序号是否属于所述已发送数据包的连续序号;若所述确认序号属于连续序号,则从所述已发送队列中删除所述确认序号对应的已发送数据包;否则,执行依据所述确认序号确定丢包序号的步骤。可选地,当所述确认序号属于连续序号,所述方法还包括:从所述重传队列中删除与所述确认序号相同的重传序号。可选地,所述传输层在重发所述已发送数据包之前,还包括:检测当前时间是否在所述已发送数据包对应的发送时间范围内;若当前时间在所述发送时间范围内,则执行所述重发所述已发送数据包的步骤;若所述当前时间超出所发送时间范围,则从所述已发送队列中删除所述已发送数据包,并从所述重传队列中删除所述目标重传序号。可选地,所述单元数据包携带有所述发送单元对应的指令信息和关联包信息,所述关联包信息用于确定所述单元数据包的关联数据包。第二方面,本专利技术实施例还提供了另一种消息传输方法,包括:依据预设的用户数据报协议UDP,接收单元数据包,其中,所述单元数据包为网络应用依据发送单元生成的,所述发送单元为所述网络应用通过拆分原始指令消息得到的;依据所述单元数据包合成所述原始指令消息。可选地,第二方面所述的消息传输方法应用于接收端,所述接收端包含传输层和业务层;所述传输层,用于依据预设的用户数据报协议UDP接收所述单元数据包;所述业务层,用于依据所述单元数据包合成所述原始指令消息;其中,所述业务层依据所述单元数据包合成所述原始指令消息包括:读取所述单元数据包中携带的关联包信息;依据所述关联包信息确定所述单元数据包的关联数据包;基于所述单元数据包中携带的指令信息和所述关联数据包中携带的指令信息,合成所述原始指令消息。可选地,在所述传输层接收单元数据包之后,还包括:将所述单元数据包中携带的序号作为确认序号;依据所述确认序号生成所述单元数据包对应的确认数据包;发送所述确认数据包。第三方面,本专利技术实施例还提供了一种消息传输装置,包括:指令消息提取模块,用于从网络应用的消息队列中提取待发送指令消息,其中,所述待发送指令消息为所述消息队列中优先级最高的原始指令消息;指令消息拆分模块,用于将所述待发送指令消息拆分为发送单元;数据包生成模块,用于依据所述发送单元生成单元数据包;数据包发送模块,用于依据预设的用户数据报协议UDP,发送所述单元数据包。可选地,上述消息传输装置应用于发送端,所述发送端包含传输层和业务层;上述指令消息提取模块和指令消息拆分模块可以集成在业务层中,数据包生成模块和数据包发送模块可以集成在业务层中。此外,上述消息传输装置还包括:重传队列检测模块和重传模块,且该重传队列检测模块和重传模块均可以集成在传输层中。其中,重传队列检测模块,用于检测重传队列是否为空队列;若所述重传队列为空队列,则触发业务层中的指令消息提取模块执行从所述消息队列中提取待发送指令消息的步骤;若所述重传队列存有重传序号,则触发重传模块从所述重传队列中提取目标重传序号,所述目标重传序号为所述重传队列中优先级最高的重传序号。重传模块,用于从已发送队列中提取所述目标重传序号对应的已发送数据包;并触发所述数据包发送模块重发所述已发送数据包。可选地,上述消息传输装置还包括如下模块:网络检测模块,用于测检网络应用对应的瓶颈带宽和数据包的往返时延;可发送包数量确定模块,用于依据所述瓶颈带宽和所述往返时延,确定可发送包数量;当所述可发送包数量为大于零的整数时,触发上述重传队列检测模块执行检测重传队列是否为空队列的步骤。可选地,上述消息传输装置还可以包括:确认数据包接收模块、丢包序号确定模块和重传队列模块。确认数据包接收模块、丢包序号确定模块和重传队列模块均可以集成在在传输层中。确认数据包接收模块,用于接收确认数据包,其中,所述确认数据包携带有确认序号;丢包序号确定模块,用于依据所述确认序号确定丢包序号;重传队列模块,用于将所述丢包序号添加到重传队列中,以作为重传序号。可选地,上述消息传输装置还可以包括:已发送队列模块和确认序号检测模块。已发送队列模块和确认序号检测模块也可以集成在传输层中。其中,已发送队列模块可以用于将所述数据包发送模块发送的单元数据包添加到已发送队列中,以记录为已发送数据包。确认序号检测模块可以用于检测所述确认序号是否属于所述已发送数据包的连续序号;若所述确认序号属于连续序号,则触发本文档来自技高网...

【技术保护点】
1.一种消息传输方法,其特征在于,包括:从网络应用的消息队列中提取待发送指令消息,其中,所述待发送指令消息为所述消息队列中优先级最高的原始指令消息;将所述待发送指令消息拆分为发送单元;依据所述发送单元生成单元数据包;依据预设的用户数据报协议UDP,发送所述单元数据包。

【技术特征摘要】
1.一种消息传输方法,其特征在于,包括:从网络应用的消息队列中提取待发送指令消息,其中,所述待发送指令消息为所述消息队列中优先级最高的原始指令消息;将所述待发送指令消息拆分为发送单元;依据所述发送单元生成单元数据包;依据预设的用户数据报协议UDP,发送所述单元数据包。2.根据权利要求1所述的方法,其特征在于,应用于发送端,所述发送端包含传输层和业务层;所述业务层,用于从网络应用的消息队列中提取待发送指令消息,并将所述待发送指令消息拆分为发送单元;所述传输层,用于依据所述发送单元生成单元数据包,并依据预设的用户数据报协议UDP发送所述单元数据包;其中,在所述业务层从网络应用的消息队列中提取待发送指令消息之前,所述方法还包括:所述传输层检测重传队列是否为空队列;若所述重传队列存有重传序号,则从所述重传队列中提取目标重传序号,并从已发送队列中提取所述目标重传序号对应的已发送数据包,以及重发所述已发送数据包,所述目标重传序号为所述重传队列中优先级最高的重传序号;若所述重传队列为空队列,则触发所述业务层执行从所述消息队列中提取待发送指令消息的步骤。3.根据权利要求2所述的方法,其特征在于,所述检测重传队列是否为空队列之前,还包括:检测网络应用对应的瓶颈带宽和数据包的往返时延;依据所述瓶颈带宽和所述往返时延,确定可发送包数量;当所述可发送包数量为大于零的整数时,执行所述检测重传队列是否为空队列的步骤。4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:所述传输层接收确认数据包,其中,所述确认数据包携带有确认序号;依据所述确认序号确定丢包序号;将所述丢包序号添加到重传队列中,以作为重传序号。5.根据权利要求4所述的方法,其特征在于,在所述传输层发送所述单元数据包之后,还包括:将所述单元数据包添加到已发送队列中,以记录为已发送数据包;在所述传输层接收确认数据包之后,还包括:检测所述确认序号是否属于所述已发送数据包的连续序号;若所述确认序号属于连续序号,则从所述已发送队列中删除所述确认序号对应的已发送数据包;否则,执行依据所述确认序号确定丢包序号的步骤。6.根据权利要求5所述的方法,其特征在于,当所述确认序号属于连续序号,所述方法还包括:从所述重传队列中删除与所述确认序号相同的重传序号。7.根据权利要求2或3所述的方法,其特征在于,在所述传输层重发所述已发送数据包之前,还包括:检测当前时间是否在所述已发送数据包对应的发送时间范围内;若当前时间在所述发送时间范围内,则执行所述重发所述已发送数据包的步骤;若所述当前时间超出所发送时间范围,则从所述已发送队列中删除所述已发送数据包,并从所述重传队列中删除所述目标重传序号。8.根据权利要求1至...

【专利技术属性】
技术研发人员:同鑫戴博区润强朱敏
申请(专利权)人:广州市百果园信息技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1