The invention discloses a method, a device and a terminal for transmitting data packets, belonging to the technical field of the internet. The method includes: the client sends the data packet, and the packet buffer cache to duplicate packets; the first preset time interval after the removal of the repeat packet data from the cache, and sending the packet repeat packet to the client. The packet buffer cache to duplicate packets, and in the interval of the first preset time, remove duplication of data package from the cache, the packet repeat packet is sent to the client, the repeated packet data and data packets are sent to the client in the different time, so when a certain period of time the network anomaly or network congestion, reduce duplication of data packets and the packets lost at the same time, thereby reducing the packet loss rate of packets.
【技术实现步骤摘要】
发送数据包的方法、装置及终端
本专利技术涉及互联网
,特别涉及一种发送数据包的方法、装置及终端。
技术介绍
随着互联网技术的迅速发展,互联网上的数据越来越丰富,用户可以通过客户端从互联网上获取各种各样的数据,如视频数据、音频数据等。而依据TCP (TransmissionControl Protocol,传输控制协议)/IP (Internet Protocol,因特网互联协议)等网络传输协议,网络侧设备在将数据发送给客户端时,会将数据打包成数据包,以数据包的形式将数据发送给客户端。然而,在网络侧设备将数据包发送给客户端的过程中,通常会由于网络拥堵或网络异常等原因造成数据包的丢失。因此,有必要提出一种发送数据包的方法,以降低发送数据包的丢包率。现有技术中,在发送数据包时,通常采用的方法为下行双发。具体为:网络侧设备在发送数据包的同时发送数据包的重复包,使客户端通过接收数据包或数据包的重复包中的至少一个来达到降低发送数据包的丢包率的目的。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:由于网络拥堵或网络异常通常发生在某一个特定的时间段,因此,若同时发送数据包和数据包的重复包,有可能在网络拥堵或网络异常时出现数据包和数据包的重复包同时丢失的情况,致使降低发送数据包的丢包率的效果不佳。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种发送数据包的方法、装置及终端。所述技术方案如下:第一方面,提供了一种发送数据包的方法,所述方法包括:向客户端发送数据包,并将所述数据包的重复包缓存至缓存区;间隔第一预设时间后,从所 ...
【技术保护点】
一种发送数据包的方法,其特征在于,所述方法包括:向客户端发送数据包,并将所述数据包的重复包缓存至缓存区;间隔第一预设时间后,从所述缓存区中取出所述数据包的重复包;将所述数据包的重复包发送给所述客户端。
【技术特征摘要】
1.一种发送数据包的方法,其特征在于,所述方法包括: 向客户端发送数据包,并将所述数据包的重复包缓存至缓存区; 间隔第一预设时间后,从所述缓存区中取出所述数据包的重复包; 将所述数据包的重复包发送给所述客户端。2.根据权利要求1所述的方法,其特征在于,所述缓存区为环形缓存区; 所述将所述数据包的重复包缓存至缓存区,包括: 判断所述缓存区是否已满; 如果所述缓存区未满,则在所述缓存区中已存储的重复包的存储位置之后缓存所述数据包的重复包。3.根据权利要求1所述的方法,其特征在于,所述将所述数据包的重复包缓存至缓存区之前,还包括: 确定所述客户端对应的丢包率; 判断所述客户端对应的丢包率是否超过预设阈值; 如果所述客户端对应的丢包率超过预设阈值,则执行将所述数据包的重复包缓存至缓存区的步骤。4.根据权利要求3所述的 方法,其特征在于,所述确定所述客户端对应的丢包率,包括: 统计在第二预设时间内接收所述客户端发送的下行重发请求的次数; 根据接收所述下行重发请求的次数及在所述第二预设时间内发送数据包的总个数确定所述客户端对应的丢包率。5.根据权利要求3或4所述的方法,其特征在于,所述将所述数据包的重复包发送给所述客户端之后,还包括: 每隔第三预设时间重新确定所述客户端对应的丢包率; 判断重新确定的所述客户端对应的丢包率是否超过所述预设阈值; 如果重新确定的所述客户端对应的丢包率超过所述预设阈值,则向所述客户端发送下一个数据包,并将所述下一个数据包的重复包缓存至所述缓存区; 间隔所述第一预设时间后,从所述缓存区中取出所述下一个数据包的重复包,并将所述下一个数据包的重复包发送给所述客户端。6.根据权利要求5所述的方法,其特征在于,所述判断重新确定的所述客户端对应的丢包率是否超过所述预设阈值之后,还包括: 如果重新确定的所述客户端对应的丢包率未超过所述预设阈值,则向所述客户端发送下一个数据包,并停止将所述下一个数据包的重复包缓存至缓存区。7.—种发送数据包的装置,其特征在于,所述装置包括: 第一发送模块,用于向客户端发送数据包; 缓存模块,用于将所述数据包的重复包缓...
【专利技术属性】
技术研发人员:周俊清,龙兴平,曾新海,
申请(专利权)人:腾讯科技武汉有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。