基于UDP协议的数据流快速传输方法、系统及介质技术方案

技术编号:24015103 阅读:70 留言:0更新日期:2020-05-02 03:06
本发明专利技术公开了一种基于UDP协议的数据流快速传输方法、系统及介质,本发明专利技术方法包括接收端每接收一个非重复数据包,记录其数据包索引并将其放入缓存,同时更新目标文件的索引位置A和C,统计TTL时间内收取的数据包数量X,且以第一周期定时扫描索引位置B、索引位置C‑X之间的索引,将该区间内未接收的包索引生成重传请求发送给发送端,将索引位置C‑X更新为新的索引位置B。本发明专利技术能在UDP协议的基础上,以最少的资源消耗,在保证数据的有效传输的同时又能动态调整进行拥塞控制,使数据能高效快速的在各种网络环境下进行传输,具有资源消耗低、数据传输速度快的优点。

The method, system and medium of data stream fast transmission based on UDP protocol

【技术实现步骤摘要】
基于UDP协议的数据流快速传输方法、系统及介质
本专利技术涉及网络数据传输技术,具体涉及一种基于UDP协议的数据流快速传输方法、系统及介质,用于端到端的数据流快速传输网络环境中,适用于各类设备之间的数据传输。
技术介绍
随着因特网的快速发展,人们对网络通信的需求越来越多,尤其是互联网领域,大数据的爆炸式增长,对网络带宽的要求也越来越高。需要更快的传输和改善的拥塞控制机制。从网络的设计之初到如今,TCP/IP协议族一直扮演的重要角色。传输控制协议(TCP)是TCP/IP协议族的一部分,其中随着因特网的成功,TCP/IP协议族已经取得了作为世界上最重要的数据通信协议之一的位置。TCP在使用TCP/IP协议的设备之间提供可靠数据连接。TCP在IP之上进行工作,其中IP用来将数据打包成称为数据报的数据分组,并且用于进行通过网络的传输。TCP协议是一种可靠的传输层协议,通信之前需要进行三次握手,传输过程中,发送端会根据接收端的反馈,动态调整传输窗口的大小,传输过程消耗的资源比较多。不同于TCP,用户数据报协议(UDP)是无连接的并且不可靠的传输层协议。协议在本质上是非常简单的。来自应用层的数据向下传递到传输层并且封装在数据报中。数据报被发送给主机但是没有任何机制保证其安全地到达目地的设备。如果期望可靠性的话,任何检查都被推回到应用层。但是,它的简单性减少了使用该协议的开销,并且这些服务在很多情况下是足够的。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种基于UDP协议的数据流快速传输方法、系统及介质,本专利技术能在UDP协议的基础上,以最少的资源消耗,在保证数据的有效传输的同时又能动态调整进行拥塞控制,使数据能高效快速的在各种网络环境下进行传输,具有资源消耗低、数据传输速度快的优点。为了解决上述技术问题,本专利技术采用的技术方案为:一种基于UDP协议的数据流快速传输方法,接收端接收目标文件时的步骤包括:接收端每接收目标文件的一个基于UDP协议的非重复数据包,记录其数据包索引并将其放入缓存,同时更新目标文件的索引位置A和C,统计TTL时间内收取的数据包数量X,其中索引位置0~A为目标文件已收到的数据包,索引位置C为已收到数据包的最大索引,且接收端在接收目标文件的数据包的过程中:以第一周期定时扫描索引位置B、索引位置C-X之间的索引,将该区间内未接收的包索引生成重传请求发送给发送端,将索引位置C-X更新为新的索引位置B,其中索引位置B的初始值为索引位置0。可选地,所述接收端在接收目标文件的数据包的过程中还包括:以第二周期定时扫描索引位置A、索引位置B-X之间的索引,将该区间内未接收的包索引生成重传请求发送给发送端。可选地,所述接收端在接收目标文件的数据包的过程中还包括在接收最后一个数据包是进行校验的步骤,扫描索引位置A、最大索引位置n-1之间的索引,将该区间内未接收的包索引生成重传请求发送给发送端。可选地,所述将该区间内未接收的包索引生成重传请求发送给发送端的步骤包括:扫描确定该区间内的未接收包索引数量,计算未接收包索引数量占该区间包索引总数量的比例c,如果比例c超过预设阈值,则直接将该区间的起始索引位置、结束索引位置生成重传请求发送给发送端;否则,将该区间未接收包索引生成重传请求发送给发送端。可选地,所述接收端还包括在接收目标文件完毕后,对接收的目标文件进行分块校验,然后针对校验失败的分块生成重传请求发送给发送端。可选地,所述接收端在接收目标文件的数据包的过程中还包括:以第三周期定时统计本周期内的丢包数量并计算本周期内的接收速度,然后将本周期内的丢包数量以及接收速度发送给发送端以便发送端控制数据包发送速度。可选地,所述将本周期内的丢包数量以及接收速度发送给发送端之后,还包括发送端控制数据包发送速度的步骤,详细步骤包括:S1)将本次的接收速度直接或者进行调整后加入所有速度集合all_speed中;S2)判断丢包数量是否为0,如果丢包数量为0,则将本次的接收速度直接或者进行调整后放入未丢包接收速度集合noloss_recv_speed中,取所有速度集合all_speed的平均值、未丢包接收速度集合noloss_recv_speed中的最大值作为新发送速度;如果丢包数量非0,取上一次的发送速度、本次的接收速度两者中的较大值作为新发送速度;S3)采用最大限制发送速度allow_max_speed对新发送速度进行限速;S4)采用限速后的新发送速度作为最终的发送速度控制数据包发送速度。可选地,步骤S1)将本次的接收速度进行调整后加入所有速度集合all_speed中的详细步骤包括:S1.1)判断本次的接收速度小于预设速度门槛值是否成立,如果成立则跳转执行步骤S1.2);否则跳转执行步骤S1.3);S1.2)判断本周期内的丢包数量是否为0,如果为0则将本次的接收速度在原值的基础上增加速度常量并加入所有速度集合all_speed中;否则将本次的接收速度在原值的基础上提升第一预设比例并加入所有速度集合all_speed中;跳转执行步骤S2);S1.3)判断本周期内的丢包数量是否为0,如果为0则将本次的接收速度在原值的基础上提升第二预设比例并加入所有速度集合all_speed中;否则将本次的接收速度在原值的基础上提升第三预设比例并加入所有速度集合all_speed中;跳转执行步骤S2)。可选地,步骤S2)将本次的接收速度进行调整后放入未丢包接收速度集合noloss_recv_speed中的详细步骤包括:将本次的接收速度和预设的速度区间进行匹配确定对应的预设的速度区间,从而得到该预设的速度区间所对应的第四预设比例,最终将本次的接收速度在其原值的基础上增加第四预设比例后放入未丢包接收速度集合noloss_recv_speed中。可选地,步骤S3)采用最大限制发送速度allow_max_speed对新发送速度进行限速的详细步骤包括:S3.1)判断本周期内的丢包数量小于预设下限是否成立,若成立则设置最大限制发送速度allow_max_speed为0,不修正新发送速度,直接跳转执行步骤S4);否则跳转执行下一步;S3.2)判断本周期内的丢包数量大于预设阈值是否成立,若成立则取未丢包接收速度集合noloss_recv_speed中的最大值作为最大限制发送速度allow_max_speed;否则,取上一次的发送速度作为最大限制发送速度allow_max_speed;S3.3)将计算得到的新发送速度和最大限制发送速度allow_max_speed进行比较,若计算得到的新发送速度大于最大限制发送速度allow_max_speed,则取新发送速度的值为最大限制发送速度allow_max_speed;否则保持计算得到的新发送速度不变;跳转执行步骤S4)。可选地,发送端向接收端发送目标文件时的执行步骤包括:1)发送端与接收端建立TCP和UDP通信,校验程序版本号并建立传输会话;本文档来自技高网...

【技术保护点】
1.一种基于UDP协议的数据流快速传输方法,其特征在于,接收端接收目标文件时的步骤包括:/n接收端每接收目标文件的一个基于UDP协议的非重复数据包,记录其数据包索引并将其放入缓存,同时更新目标文件的索引位置A和C,统计TTL时间内收取的数据包数量X,其中索引位置0~A为目标文件已收到的数据包,索引位置C为已收到数据包的最大索引,且接收端在接收目标文件的数据包的过程中:/n以第一周期定时扫描索引位置B、索引位置C-X之间的索引,将该区间内未接收的包索引生成重传请求发送给发送端,将索引位置C-X更新为新的索引位置B,其中索引位置B的初始值为索引位置0。/n

【技术特征摘要】
1.一种基于UDP协议的数据流快速传输方法,其特征在于,接收端接收目标文件时的步骤包括:
接收端每接收目标文件的一个基于UDP协议的非重复数据包,记录其数据包索引并将其放入缓存,同时更新目标文件的索引位置A和C,统计TTL时间内收取的数据包数量X,其中索引位置0~A为目标文件已收到的数据包,索引位置C为已收到数据包的最大索引,且接收端在接收目标文件的数据包的过程中:
以第一周期定时扫描索引位置B、索引位置C-X之间的索引,将该区间内未接收的包索引生成重传请求发送给发送端,将索引位置C-X更新为新的索引位置B,其中索引位置B的初始值为索引位置0。


2.根据权利要求1所述的基于UDP协议的数据流快速传输方法,其特征在于,所述接收端在接收目标文件的数据包的过程中还包括:以第二周期定时扫描索引位置A、索引位置B-X之间的索引,将该区间内未接收的包索引生成重传请求发送给发送端。


3.根据权利要求1所述的基于UDP协议的数据流快速传输方法,其特征在于,所述接收端在接收目标文件的数据包的过程中还包括在接收最后一个数据包是进行校验的步骤,扫描索引位置A、最大索引位置n-1之间的索引,将该区间内未接收的包索引生成重传请求发送给发送端。


4.根据权利要求1或2或3所述的基于UDP协议的数据流快速传输方法,其特征在于,所述将该区间内未接收的包索引生成重传请求发送给发送端的步骤包括:扫描确定该区间内的未接收包索引数量,计算未接收包索引数量占该区间包索引总数量的比例c,如果比例c超过预设阈值,则直接将该区间的起始索引位置、结束索引位置生成重传请求发送给发送端;否则,将该区间未接收包索引生成重传请求发送给发送端。


5.根据权利要求1所述的基于UDP协议的数据流快速传输方法,其特征在于,所述接收端还包括在接收目标文件完毕后,对接收的目标文件进行分块校验,然后针对校验失败的分块生成重传请求发送给发送端。


6.根据权利要求1所述的基于UDP协议的数据流快速传输方法,其特征在于,所述接收端在接收目标文件的数据包的过程中还包括:以第三周期定时统计本周期内的丢包数量并计算本周期内的接收速度,然后将本周期内的丢包数量以及接收速度发送给发送端以便发送端控制数据包发送速度。


7.根据权利要求6所述的基于UDP协议的数据流快速传输方法,其特征在于,所述将本周期内的丢包数量以及接收速度发送给发送端之后,还包括发送端控制数据包发送速度的步骤,详细步骤包括:
S1)将本次的接收速度直接或者进行调整后加入所有速度集合all_speed中;
S2)判断丢包数量是否为0,如果丢包数量为0,则将本次的接收速度直接或者进行调整后放入未丢包接收速度集合noloss_recv_speed中,取所有速度集合all_speed的平均值、未丢包接收速度集合noloss_recv_speed中的最大值作为新发送速度;如果丢包数量非0,取上一次的发送速度、本次的接收速度两者中的较大值作为新发送速度;
S3)采用最大限制发送速度allow_max_speed对新发送速度进行限速;
S4)采用限速后的新发送速度作为最终的发送速度控制数据包发送速度。


8.根据权利要求7所述的基于UDP协议的数据流快速传输方法,其特征在于,步骤S1)将本次的接收速度进行调整后加入所有速度集合all_speed中的详细步骤包括:
S1.1)判断本次的接收速度小于预设速度门槛值是否成立,如果成立则跳转执行步骤S1.2);否则跳转执行步骤S1.3);
S1.2)判断本周期内的丢包数量是否为0,如果为0则将本次的接收速度在原值的基础上增加速度...

【专利技术属性】
技术研发人员:李根毛海波黄能超唐骏翔冯博伦徐霞丽蒋艳凰
申请(专利权)人:人和未来生物科技长沙有限公司
类型:发明
国别省市:湖南;43

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

1