[发明专利]UDP数据包的传输方法及系统在审
申请号: | 201310141743.6 | 申请日: | 2013-04-23 |
公开(公告)号: | CN104125034A | 公开(公告)日: | 2014-10-29 |
发明(设计)人: | 韩峰 | 申请(专利权)人: | 深圳市同洲电子股份有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L1/18;H04L12/26 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518057 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | udp 数据包 传输 方法 系统 | ||
技术领域
本发明属于数据通信技术领域,尤其涉及一种UDP(User Datagram Protocol)数据包的传输方法及系统。
背景技术
在通信技术异常发达的今天,随着人们生活水平的提高,对接受信息的质量要求越来越高,不可避免,数据传输的要求也越来越高,特别是对声音,视频流等高质量流畅播放需求,要求数据传输既要实时,又要可靠。
目前常用的网络数据传输协议有两种:传输控制协议(Transmission Control Protocol,以下简称为TCP)和用户数据报协议(User Datagram Protocol,以下简称为UDP)。TCP是可靠的,面向连接的协议,有完善的数据传输验证机制,可靠性高,但是数据传输效率偏低,信道利用率偏低;UDP是为了提高数据传输效率设计的,但其对发送出去的数据没有验证机制,数据传输的可靠性较差,不适合对实时性、可靠性都有较高要求的应用环境。
针对UDP可靠性较差的问题,可以通过提供选择重传功能,使得丢失的数据包能被发送方重新传送,来提高UDP数据传输的可靠性,也可以通过提供UDP流量控制,测试往返时延(Round-Trip Time,以下简称为RTT),控制发送速率,来提高UDP数据传输的可靠性。
UDP选择重传功能是指在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,同时,接收方也维持了一个连续的允许接收的帧的序号,当发送方发送帧后,等待接收方的确认信息,然后接收方回应是否有包丢失需要发送方重传,发送方根据收到的重传请求将指定序号的数据包重传。但是,在UDP选择重传协议中,接收方发送的重传请求包可能会因网络不稳定丢失,导致发送方捕捉不到,无法重传。
UDP流量控制是指发送方收到接收方的确认包,然后测量这些数据包的RTT,当RTT超过阈值,就控制发送端数据包发送速率,降低接收方接收数据包的丢失率,从而提高UDP数据传送的可靠性。但是,接收方发送的确认包可能会因网络不稳定丢失,使得发送方无法测量RTT,无法调整发包速率。
针对UDP可靠性差的缺陷,为了应对实际应用环境中,高质量,高效率数据传输的需求,本技术提供了一种通过建立心跳检测通信提高UDP数据传输可靠性的方法。
发明内容
本发明的目的在于提供一种UDP数据包的传输方法及系统,旨在解决现有UDP数据传输的可靠性较差的技术问题。
本发明是这样实现的,一种UDP数据包的传输方法,包括:客户端向服务器请求用于检测所述UDP数据包传输的TCP心跳检测连接的步骤;所述服务器确认所述客户端的所述TCP心跳检测连接,设置所述TCP心跳检测连接的心跳间隔时间的步骤;所述客户端向所述服务器发送UDP数据传输请求的步骤;所述服务器接受所述UDP数据传输请求,开始UDP数据传输的步骤;所述客户端接收到第一个所述UDP数据包后,设置检测窗口,当所述TCP心跳检测连接的一个心跳间隔时间结束后,通过所述TCP心跳检测连接将检测结果发送给所述服务器的步骤;判断所述服务器在所述一个心跳间隔内是否收到了所述客户端的所述检测结果的步骤;以及若所述服务器在所述一个心跳间隔内收到了所述客户端的所述检测结果,则根据所述检测结果决定是否需要重传所述UDP数据包的步骤。
较优的,若所述UDP数据包的丢包率达到阈值,则对所述UDP数据包的所述发送速率进行调整。
较优的,还包括:若所述服务器在所述一个心跳间隔内没有收到所述客户端的所述检测结果,则重传上一次的UDP数据包,并调整所述UDP数据包的发送速率。
较优的,调整所述UDP数据包的所述发送速率是将所述UDP数据包的当前发送速率减半。
较优的,若所述服务器在连续5个心跳间隔内没有收到所述TCP心跳检测连接返回的检测结果,则停止传送所述UDP数据包。
较优的,还包括:将所述TCP心跳检测连接的所述心跳间隔时间发送至所述客户端的步骤;所述客户端确认所述TCP心跳检测连接的所述心跳间隔时间,启动数据接收检测线程并等待激活的步骤;以及所述客户端接收到第一个UDP数据包时,激活所述数据接收检测线程的步骤。
较优的,所述数据接收检测线程用于检查所述UDP数据包在一个心跳间隔时间内是否有丢失。
较优的,还包括:所述客户端开启缓冲区用于缓冲UDP数据包的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市同洲电子股份有限公司,未经深圳市同洲电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310141743.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:导线异物处理专用绳锯
- 下一篇:一种高速光模块的测试方法及测试系统