[发明专利]基于UDP的文件可靠传输方法有效
申请号: | 201010284120.0 | 申请日: | 2010-09-17 |
公开(公告)号: | CN101951370A | 公开(公告)日: | 2011-01-19 |
发明(设计)人: | 崔晓宇 | 申请(专利权)人: | 北京神州泰岳软件股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 udp 文件 可靠 传输 方法 | ||
技术领域
本发明涉及计算机通信技术领域,特别涉及一种基于UDP的文件可靠传输方法。
背景技术
计算机网络技术是通信技术与计算机技术相结合的产物。近年来,计算机网络通信在人们的日常生活中有着越来越重要的地位,用户可以在计算机网络上进行文字、声音和视频的交流,共享文件、图片和视频信息等,从而方便用户的生活、工作和学习。在使用计算机网络进行沟通交流的过程中,服务器压力非常巨大,为了降低服务器的压力,文件传输及音视频传输常采用点对点(peer to peer,P2P)的传输方式。如果两个节点间存在网络地址转换(Network AddressTranslation,Nat)设备,就会给传输造成很大障碍,因此需要在Nat设备之间建立通路。通路建立成功后,需要用用户数据报协议(UserDatagram Protocol,UDP)传输数据,众所周知,UDP协议本身是不可靠的,在传输过程中会发生丢包现象,使传输不稳定,效率低。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何在Nat设备之间建立通路后,使用该通路的UDP传输过程不丢包,传输更稳定、更高效。
(二)技术方案
为解决上述技术问题,本发明提出了一种基于UDP的文件可靠传输方法,包括以下步骤:
S1:发送方将要发送的数据包分割成大小相同的若干小数据包;
S2:将所述小数据包存入发送缓冲区,并发送;
S3:接收方接收到小数据包后向发送方发送对该小数据包的确认应答;
S4:发送方接收所述确认应答后将该确认应答对应的小数据包从所述发送缓冲区中删除,若发送小数据包后超过3秒未接收到所述确认应答,则向接收方重发该小数据包。
其中,所述步骤S4中接收到所述确认应答后还包括:
统计从发送小数据包到收到对应的确认应答的平均时间,若重发次数小于预定次数,则增大所述发送缓冲区,若重发次数大于所述预定次数,则缩小所述发送缓冲区。
其中,所述预定次数为10次。
其中,还包括:实时判断发送缓冲区是否满的步骤,若不满,则执行步骤S2,直到小数据包全部放入发送缓冲区,否则等待发送缓冲区不满时再执行步骤S2。
其中,所述步骤S4中,若重发次数超过10次,则认为网络断开,停止传输。
其中,所述步骤S3中接收方将接收的小数据包放入接收缓冲区中,若接收缓冲区满,则通知发送方暂停发送,并将接收缓冲区中的数据转移到用户内存。
其中,所述小数据包的大小为1KB。
一种基于UDP的文件可靠传输系统,包括:
数据包分割模块,用于发送方将要发送的数据包分割成大小相同的若干小数据包;
发送模块,用于将所述小数据包放入发送缓冲区,并发送;
接收模块,用于接收方接收到小数据包后向发送方发送对该小数据包的确认应答;
重发模块,用于发送方接收所述确认应答后将该确认应答对应的小数据包从所述发送缓冲区中删除,若发送小数据包后超过3秒未接收到所述确认应答,则向接收方重发该确认应答对应的小数据包。
其中,所述重发模块包括:
发送缓冲区调整单元,用于统计从发送小数据包到收到对应的确认应答的平均时间,若重发次数小于预定次数,则增大所述发送缓冲区,若重发次数大于所述预定次数,则缩小所述发送缓冲区。
其中,系统还包括:
发送缓冲区判断模块,用于实时判断发送缓冲区是否满的步骤,若不满,则执行发送模块,直到小数据包全部放入发送缓冲区,否则等待发送缓冲区不满再执行所述发送模块。
(三)有益效果
本发明采用小数据包传送,丢包后快速重发,使在UDP数据传输过程中不丢失数据包,传输过程中根据传输情况实时动态调整发送缓冲区的大小,提高了传输数据的效率,并使传输更稳定。
附图说明
图1是本发明实施例的一种基于UDP的文件可靠传输方法流程图;
图2是本发明实施例的一种基于UDP的文件可靠传输系统结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,为本发明实施例的基于UDP的文件可靠传输方法流程图,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神州泰岳软件股份有限公司,未经北京神州泰岳软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010284120.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:物体指定装置和具有该装置的车辆控制设备
- 下一篇:用于保密数据的系统和方法