一种数据包的重传方法和重传系统技术方案

技术编号:17472293 阅读:45 留言:0更新日期:2018-03-15 08:30
本发明专利技术适用于数据处理领域,提供了一种数据包的重传方法和重传系统,所述重传方法包括:对接收的数据包进行排序;判断所述数据包的个数是否大于预设的检测阈值,如果大于,则进行自动重传请求ARQ检测网络丢包,所述检测阈值与数据包的包序相关;根据所述ARQ检测的结果获取缺失的数据包的序号;根据所述序号从服务器端获取缺失的数据包。实施本发明专利技术实施例,通过在接收端的排序处理,使得接收端消除了数据包乱序的影响,并在与检测阈值进行比较的基础上再进行ARQ检测,降低了网络抖动和延时对ARQ检测的影响,提高了检测的准确率。

A retransmission method and retransmission system for data packets

The invention is applicable to the data processing field, provides a data packet retransmission method and retransmission system, including the retransmission method for receiving packet sorting; determine the detection threshold, the packet number is larger than a preset if is greater than, then the automatic repeat request ARQ detection the network packet loss, the detection threshold and data packet sequence; according to the ARQ results to acquire the missing data packet sequence number; according to the serial number to obtain missing packets from the server. The embodiment of the invention, by sorting processing at the receiver, the receiver eliminates the effect of packet reordering, and ARQ detection in the basis of comparison with the detection threshold, reduce the impact of network delay and jitter for ARQ detection, improve the detection accuracy rate.

【技术实现步骤摘要】
一种数据包的重传方法和重传系统
本专利技术属于数据传输领域,尤其涉及一种数据包的重传方法和重传系统。
技术介绍
随着网络技术的发展,基于IP网络的互联网多媒体业务越来越广泛,如OTT(OverTheTopTV,互联网电视)业务、IPTV(InteractivePersonalityTV,交互式网络电视)业务、数字广播业务,IP网络是一个“尽力服务”(BestEffort)的网络,它不保证端到端的可靠传输。在实际网络应用中,客户端和内容分发系统之间存在着丢包、延时、抖动等问题,尤其是丢包会造成图像的花屏、马赛克等问题,损害图像质量,降低了用户体验。现有技术中利用RTP(Real-timeTransprotProtocol,实时传输协议)传输协议实现的ARQ(AutomaticRepeatRequset,自动重传请求)功能可以解决丢包问题,客户端检测到丢包然后向服务器发送重传请求,服务器会将接收到重传请求的包重新发给客户端,丢包检测的正确性直接决定重传的效果。现有方法根据前后收到的网络包序来判断丢包情况,对于简单网络情况即只存在丢包时,能够做出正确的丢包检测,但是在除了丢包还有抖动与延时的情况下,接收端的包序出现乱序,就会存在丢包检测错误,导致在实施ARQ自动重传功能的时候,不但没有对实际的丢包做到正确的重传反而会增加无谓的网络开销浪费网络资源,对流媒体服务器造成了一定的负担,最终的输出效果就会出现卡顿或者花屏,给用户感觉播放不流畅,影响了用户体验。
技术实现思路
本专利技术实施例的目的在于提供一种数据包的重传系统,以解决现有技术在复杂网络情况下的丢包检测容易出现错误的问题。本专利技术实施例是这样实现的,一种数据包的重传方法,所述重传方法包括:对接收的数据包进行排序;判断所述数据包的个数是否大于预设的检测阈值,如果大于,则进行自动重传请求ARQ检测网络丢包,所述检测阈值与数据包的包序相关;根据所述ARQ检测的结果获取缺失的数据包的序号;根据所述序号从服务器端获取缺失的数据包。本专利技术实施例的另一目的在于提供一种数据包的重传系统,所述重传系统包括:排序单元,用于对接收的数据包进行排序;ARQ检测单元,用于判断所述数据包的个数是否大于预设的检测阈值,如果大于,则进行自动重传请求ARQ检测网络丢包,所述检测阈值与数据包的包序相关;序号获取单元,用于根据所述ARQ检测的结果获取缺失的数据包的序号;数据包获取单元,用于根据所述序号从服务器端获取缺失的数据包。本专利技术实施例,对接收的数据包进行排序,如果数据包的个数大于预设的与数据包的包序相关的检测阈值,则进行ARQ检测,根据ARQ检测的结果获取缺失的数据包的序号,根据序号从服务器端获取缺失的数据包,通过在接收端的排序处理,使得接收端消除了数据包乱序的影响,并在与检测阈值进行比较的基础上再进行ARQ检测,降低了网络抖动和延时对ARQ检测的影响,提高了检测的准确率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一示例性实施例示出的一种数据包的重传方法的流程图;图2为本专利技术一示例性实施例示出的一种数据包的重传系统的结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一如图1所示为本专利技术一示例性实施例示出的一种数据包的重传方法的流程图,所述重传方法包括:步骤S101,对接收的数据包进行排序。在本专利技术实施例中,接收端在进行数据包传输时会接收到多个数据包,如果在传输的过程中出现网络的时延或抖动,那么接收的数据包可能出现乱选的情况,因此接收端在接收到多个数据包时,首先对这多个数据包进行排序。需要指出的是,对数据包进行排序的方法有多种,本实施例对排序的方法不进行限定。优选的,通过数据包的包序对数据包进行排序。步骤S102,判断所述数据包的个数是否大于预设的检测阈值,如果大于,则进行自动重传请求ARQ检测网络丢包,所述检测阈值与数据包的包序相关。在本专利技术实施例中,设置一与数据包的包序相关的检测阈值,通过与该检测阈值的比较可以决定是否进行ARQ(AutomaticRepeatRequset,自动重传请求)检测网络丢包。所述预设检测阈值,包括:1.获取相邻两个数据包的包序,并计算所述相邻两个数据包的包序的差值。在本专利技术实施例中,接收端读取相邻两个数据包的包序,并进行差值计算即可获取相邻两个数据包的包序的差值。2.根据公式:检测阈值=2*abs进行计算,所述abs为所述差值-1。在本专利技术实施例中,检测阈值的计算根据以下公式进行:检测阈值=2*abs,其中,abs为上述差值-1。需要指出的是,该检测阈值根据接收数据包的情况实时进行更新,所述更新包括:网络收包的入口,根据前后两个入队的网络包序号,计算序号差值;判断收包个数是否小于阈值更新周期T,阈值更新周期T表示接收T个包强制更新一次阈值,在T周期内根据收包自适应调整阈值;如果判断为否,表示当前调整周期结束,根据当前包序更新阈值并且收包计数清0;如果判断为是,则进行阈值自适应调整,判断阈值是否小于2*abs(前后两个包序号差值–1),如果判断为否,则不更新此次阈值,收包计数加1,等待下一次收包,如果判断为是则更新此次阈值,阈值=2*abs(前后两个包序号差值-1)。步骤S103,根据所述ARQ检测的结果获取缺失的数据包的序号。在本专利技术实施例中,ARQ检测是通过获取相邻两个数据包的包序,根据包序来判断是否有数据包缺失的,如:如果相邻的两个数据包的包序为1、5,则可以判断出数据包出现缺失,且缺失的数据包为2、3、4;如果相邻的两个数据包的包序为2、3,则可以判断出数据包没有缺失。其具体的获取步骤如下:1.根据RTP协议从队列的头节点开始作为ARQ的起始节点进行网络包解析;2.取ARQ节点的下一个节点进行解析获取网络包seq;3.判断ARQ节点的相邻两个节点的包序号是否连贯;4.如果判断结果为否,则有丢包并计算丢包序号放入到重传数组;5.保存丢失网络包的序号,并设置丢包标示。6.将当前ARQ节点移位到下一个节点。步骤S104,根据所述序号从服务器端获取缺失的数据包。在本专利技术实施例中,由于获取了包序,接收端即可方便的直到需要重传的数据包,进而从服务器端获取对应的数据包。所述根据所述序号从服务器端获取缺失的数据包,包括:1.判断重传数组中是否有待重传的数据包的序号,所述序号包括:缺失的数据包的序号和/或重传超时的数据包的序号。2.根据所述序号向服务器端发起重传请求。3.接收服务器端根据所述重传请求方发送的数据包,并对所述数据包进行排序。在本专利技术实施例中,每一次重传也有可能会受到网络的影响而造成重传超时,因此在进行重传检测时也需要判断重传数组中是否有重传超时的数据包。接收端将获取的数据包的序号发送到服务器端,服务器端进行内部查询之后,获取对应本文档来自技高网...
一种数据包的重传方法和重传系统

【技术保护点】
一种数据包的重传方法,其特征在于,所述重传方法,包括:对接收的数据包进行排序;判断所述数据包的个数是否大于预设的检测阈值,如果大于,则进行自动重传请求ARQ检测网络丢包,所述检测阈值与数据包的包序相关;根据所述ARQ检测的结果获取缺失的数据包的序号;根据所述序号从服务器端获取缺失的数据包。

【技术特征摘要】
1.一种数据包的重传方法,其特征在于,所述重传方法,包括:对接收的数据包进行排序;判断所述数据包的个数是否大于预设的检测阈值,如果大于,则进行自动重传请求ARQ检测网络丢包,所述检测阈值与数据包的包序相关;根据所述ARQ检测的结果获取缺失的数据包的序号;根据所述序号从服务器端获取缺失的数据包。2.如权利要求1所述的重传方法,其特征在于,在所述根据所述序号从服务器端获取缺失的数据包的步骤之后,所述重传方法还包括:通过播放器读取经过重传的完整数据包。3.如权利要求1所述的重传方法,其特征在于,所述预设检测阈值,包括:获取相邻两个数据包的包序,并计算所述相邻两个数据包的包序的差值;根据公式:检测阈值=2*abs进行计算,所述abs为所述差值-1。4.如权利要求1所述的重传方法,其特征在于,所述根据所述序号从服务器端获取缺失的数据包,包括:判断重传数组中是否有待重传的数据包的序号,所述序号包括:缺失的数据包的序号和/或重传超时的数据包的序号。根据所述序号向服务器端发起重传请求。接收服务器端根据所述重传请求方发送的数据包,并对所述数据包进行排序。5.如权利要求1~4任一项所述的重传方法,其特征在于,所述检测阈值根据接收数据包的情况实时进行更新,所述更新包括:网络收包的入口,根据前后两个入队的网络包序号,计算序号差值;判断收包个数是否小于阈值更新周期T,阈值更新周期T表示接收T个包强制更新一次阈值,在T周期内根据收包自适应调整阈值;如果判断为否,表示当前调整周期结束,根据当前包序更新阈值并且收包计数清0;如果判断为是,则进行阈值自适应调整,判断阈值是否小于2*abs(前后两个包序号差值–1),如果判断为否,则不更新此次阈值,收包计数加1,等待下一次收包,如果判断为是则更新此次阈值,阈值=2*abs(前后两个包序号差值-1)。6.一种数据包...

【专利技术属性】
技术研发人员:陈斌祝振东刘强姜超
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:湖北,42

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

1