发送数据包的方法、装置及终端制造方法及图纸

技术编号:9620525 阅读:123 留言:0更新日期:2014-01-30 09:22
本发明专利技术公开了一种发送数据包的方法、装置及终端,属于互联网技术领域。所述方法包括:向客户端发送数据包,并将所述数据包的重复包缓存至缓存区;间隔第一预设时间后,从所述缓存区中取出所述数据包的重复包,并将所述数据包的重复包发送给所述客户端。本发明专利技术通过将数据包的重复包缓存至缓存区,并在间隔第一预设时间后,从缓存区中取出数据包的重复包,将数据包的重复包发送给客户端,实现了将数据包及数据包的重复包分别在不同时间发送给客户端,从而当某一时间段网络异常或网络拥堵时,减少数据包和数据包的重复包同时丢失的情况,进而降低发送数据包的丢包率。

Method, device and terminal for transmitting data packet

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是本专利技术实施例二提供的一种发送数据包的方法流程图;图3是本专利技术实施例二提供的一种环形缓存区的结构示意图;图4是本专利技术实施例三提供的一种发送数据包的装置的结构示意图;图5是本专利技术实施例三提供的另一种发送数据包的装置的结构示意图;图6是本专利技术实施例五提供的一种终端的结构示意图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。实施例一为了在网络不稳或网络总体带宽资源受限时,降低网络侧设备向客户端发送视频、音频等数据包的丢包率,本专利技术实施例提供了一种发送数据包的方法,参见图1,本专利技术实施例提供的方法流程包括:101:向客户端发送数据包,并将数据包的重复包缓存至缓存区。优选地,缓存区为环形缓存区;将数据包的重复包缓存至缓存区,包括:判断缓存区是否已满;如果缓存区未满,则在缓存区中已存储的重复包的存储位置之后缓存数据包的重复包。102:间隔第一预设时间后,从缓存区中取出数据包的重复包。103:将数据包的重复包发送给客户端。优选地,将数据包的重复包缓存至缓存区之前,还包括:确定客户端对应的丢包率;判断客户端对应的丢包率是否超过预设阈值;如果客户端对应的丢包率超过预设阈值,则执行将数据包的重复包缓存至缓存区的步骤。其中,确定客户端对应的丢包率,包括:统计在第二预设时间内接收客户端发送的下行重发请求的次数;根据接收下行重发请求的次数及在第二预设时间内发送数据包的总个数确定客户端对应的丢包率。优选地,将数据包的重复包发送给客户端之后,还包括:每隔第三预设时间重新确定客户端对应的丢包率;判断重新确定的客户端对应的丢包率是否超过预设阈值;如果重新确定的客户端对应的丢包率超过预设阈值,则向客户端发送下一个数据包,并将下一个数据包的重复包缓存至缓存区;间隔第一预设时间后,从缓存区中取出下一个数据包的重复包,并将下一个数据包的重复包发送给客户端。优选地,判断重新确定的客户端对应的丢包率是否超过预设阈值之后,还包括:如果重新确定的客户端对应的丢包率未超过预设阈值,则向客户端发送下一个数据包,并停止将下一个数据包的重复包缓存至缓存区。本专利技术实施例提供的方法,通过将数据包的重复包缓存至缓存区,并在间隔第一预设时间后,从缓存区中取出数据包的重复包,将数据包的重复包发送给客户端,实现了将数据包及数据包的重复包分别在不同时间发送给客户端,从而当某一时间段网络异常或网络拥堵时,减少数据包和数据包的重复包同时丢失的情况,进而降低发送数据包的丢包率。实施例二结合上述实施例一的内容,本专利技术实施例提供了一种发送数据包的方法。在具体应用中,考虑到客户端对音频数据传输的实时性要求以及音频播放器具有的过滤数据包的重复包的性能,本专利技术实施例以网络侧设备向客户端发送的数据包为音频数据包为例,对本专利技术实施例提供的方法进行举例说明。参见图2,本专利技术实施例提供的方法流程包括:201:向客户端发送数据包。针对该步骤,触发向客户端发送数据包的方式有多种,由于在TCP/IP协议等一些常用的网络传输协议中,可以将数据打包成一个个数据包进行传输,因此,网络侧设备可以在接收到客户端发送的数据请求后,将客户端请求的数据打包成数据包,从而触发向客户端发送数据包。例如,如果客户端根据实际需求向网络侧设备请求某一音频数据,则网络侧设备可以将客户端请求的音频数据打包成数据包之后,向客户端发送该数据包。当然,除上述触发向客户端发送数据包的方式外,还可以有其他触发方式,本实施例不对触发向客户端发送数据包的方式进行具体限定。关于网络侧设备向客户端发送数据包的方式,也可以有很多种,本专利技术实施例不对发送数据包的方式进行具体限定。具体实施时,包括但不限于网络侧设备可以将所有的数据包分为若干份,每次发送其中的一份;此外,还可以对所有数据包进行排序,然后每次按顺序发送其中的每一个数据包。202:确定客户端对应的丢包率,并判断客户端对应的丢包率是否超过预设阈值。该步骤为优选步骤,由于现有的发送数据包的方式中,为了在网络异常或网络拥堵时,降低网络侧设备向客户端发送的数据包丢失的概率,网络侧设备在向所有客户端发送数据包的同时,还向客户端发送数据包的重复包,以实现在数据包丢失时,使客户端能够接收数据包的重复包,从而保证数据包被客户端成功接收的概率。然而,由于不同时间或不同区域对应的本文档来自技高网...

【技术保护点】
一种发送数据包的方法,其特征在于,所述方法包括:向客户端发送数据包,并将所述数据包的重复包缓存至缓存区;间隔第一预设时间后,从所述缓存区中取出所述数据包的重复包;将所述数据包的重复包发送给所述客户端。

【技术特征摘要】
1.一种发送数据包的方法,其特征在于,所述方法包括: 向客户端发送数据包,并将所述数据包的重复包缓存至缓存区; 间隔第一预设时间后,从所述缓存区中取出所述数据包的重复包; 将所述数据包的重复包发送给所述客户端。2.根据权利要求1所述的方法,其特征在于,所述缓存区为环形缓存区; 所述将所述数据包的重复包缓存至缓存区,包括: 判断所述缓存区是否已满; 如果所述缓存区未满,则在所述缓存区中已存储的重复包的存储位置之后缓存所述数据包的重复包。3.根据权利要求1所述的方法,其特征在于,所述将所述数据包的重复包缓存至缓存区之前,还包括: 确定所述客户端对应的丢包率; 判断所述客户端对应的丢包率是否超过预设阈值; 如果所述客户端对应的丢包率超过预设阈值,则执行将所述数据包的重复包缓存至缓存区的步骤。4.根据权利要求3所述的 方法,其特征在于,所述确定所述客户端对应的丢包率,包括: 统计在第二预设时间内接收所述客户端发送的下行重发请求的次数; 根据接收所述下行重发请求的次数及在所述第二预设时间内发送数据包的总个数确定所述客户端对应的丢包率。5.根据权利要求3或4所述的方法,其特征在于,所述将所述数据包的重复包发送给所述客户端之后,还包括: 每隔第三预设时间重新确定所述客户端对应的丢包率; 判断重新确定的所述客户端对应的丢包率是否超过所述预设阈值; 如果重新确定的所述客户端对应的丢包率超过所述预设阈值,则向所述客户端发送下一个数据包,并将所述下一个数据包的重复包缓存至所述缓存区; 间隔所述第一预设时间后,从所述缓存区中取出所述下一个数据包的重复包,并将所述下一个数据包的重复包发送给所述客户端。6.根据权利要求5所述的方法,其特征在于,所述判断重新确定的所述客户端对应的丢包率是否超过所述预设阈值之后,还包括: 如果重新确定的所述客户端对应的丢包率未超过所述预设阈值,则向所述客户端发送下一个数据包,并停止将所述下一个数据包的重复包缓存至缓存区。7.—种发送数据包的装置,其特征在于,所述装置包括: 第一发送模块,用于向客户端发送数据包; 缓存模块,用于将所述数据包的重复包缓...

【专利技术属性】
技术研发人员:周俊清龙兴平曾新海
申请(专利权)人:腾讯科技武汉有限公司
类型:发明
国别省市:

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

1