【技术实现步骤摘要】
本专利技术设计数据传输技术,具体的说是涉及一种基于UDP协议以提高数据传输可靠性的方法。
技术介绍
UDP是User Datagram Protocol的简称,中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,能够提供面向事务的简单不可靠信息传送服务。由于UDP协议的控制选项较少,因而在数据传输过程中具有处理速度快、延迟小、数据传输效率高的优点;但是UDP报文同样存在诸如不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达,由于UDP协议没有可靠性保证、顺序保证和流量控制字段等,因此可靠性较差,在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。
技术实现思路
鉴于已有技术存在的缺陷,本专利技术的目的是要提供一种基于UDP协议以提高数据传输可靠性的方法及系统,本专利技术在UDP协议的基础上实现了一种新的可靠传输技术,其兼顾有TCP协议的可靠性与UDP协议的高效性,在保留UDP协议的处理速度快、数据传输效率高等优点的基础上,有效保证了现UDP数据的可靠传输。为了实现上述目的,本专利技术的技术方案:一种基于UDP协议以提高数据传输可靠性的方法,其特征在于:S1、在第一通信端以及作为第一通信端对端的第二通信端进行数据传输之前,所述第一通信端、第二通信端各自确认当前待发送的数据,并分别对所确认的数据进行数据处理;所述数据处理包括将待发送的数据分为多个数据包,对各所述数据包进行排序并在每个数据包中加入对应的协议头 ...
【技术保护点】
一种基于UDP协议以提高数据传输可靠性的方法,其特征在于:S1、在第一通信端以及作为第一通信端对端的第二通信端进行数据传输之前,所述第一通信端、第二通信端各自确认当前待发送的数据,并分别对所确认的数据进行数据处理;所述数据处理包括将待发送的数据分为多个数据包,对各所述数据包进行排序并在每个数据包中加入对应的协议头信息;所述协议头信息包括被设置于报文头以及基本数据之间的前向序号以及被设置于所述前向序号之后的后向序号;其中所述前向序号包含本端当前所发送数据包对应的发送序号;所述后向序号包含用于证实数据包是否已经成功发送至对端的证实序号;S2、所述第一通信端或者第二通信端在向对端发送数据包时,实时记录并存储当前所发送的数据包以及该数据包对应的协议头信息;同时第一通信端或者第二通信端接收到对端所发送的数据包后,基于该数据包对应的后向序号验证是否已经接收到与所述后向序号相对应的数据包,是则确认该数据包为已证实的数据包,清除该数据包以及所证实的数据包之前的各数据包;所证实的数据包之前的各数据包是指其所对应的后向序号小于当前所接收到数据包相对应的后向序号;S3、所述第一通信端与第二通信端按照上述步骤 ...
【技术特征摘要】
1.一种基于UDP协议以提高数据传输可靠性的方法,其特征在于:S1、在第一通信端以及作为第一通信端对端的第二通信端进行数据传输之前,所述第一通信端、第二通信端各自确认当前待发送的数据,并分别对所确认的数据进行数据处理;所述数据处理包括将待发送的数据分为多个数据包,对各所述数据包进行排序并在每个数据包中加入对应的协议头信息;所述协议头信息包括被设置于报文头以及基本数据之间的前向序号以及被设置于所述前向序号之后的后向序号;其中所述前向序号包含本端当前所发送数据包对应的发送序号;所述后向序号包含用于证实数据包是否已经成功发送至对端的证实序号;S2、所述第一通信端或者第二通信端在向对端发送数据包时,实时记录并存储当前所发送的数据包以及该数据包对应的协议头信息;同时第一通信端或者第二通信端接收到对端所发送的数据包后,基于该数据包对应的后向序号验证是否已经接收到与所述后向序号相对应的数据包,是则确认该数据包为已证实的数据包,清除该数据包以及所证实的数据包之前的各数据包;所证实的数据包之前的各数据包是指其所对应的后向序号小于当前所接收到数据包相对应的后向序号;S3、所述第一通信端与第二通信端按照上述步骤S2持续进行数据包传输直至完成全部的数据包传输工作。2.根据权利要求1所述的方法,其特征在于:所述第一通信端或者第二通信端在与对端进行数据包传输时,通过计数器记录当前所接收到对端所发送的数据包的个数;当计数器所记录的个数为1时,则记录该数据包到达时间,并实时判断本端是否在该数据包到达时间的时间间隔未超过所设定的证实时间阈值的条件下,向对端发送包含有协议头信息的数据包;是则清除所记录的到达时间同时计数器清零;否则向对端发送一条插入证实消息同时计数器清零,该插入证实消息中包含有在所述时间间隔内,最后一次所接收到的数据包所对应的前向序号。3.根据权利要求1或2所述的方法,其特征在于:所述第一通信端或者第二通信端在与对端进行数据包传输时,通过计数器记录当前所接收到对端所发送的数据包的个数;并判断本端是否在计数器所记录的个数未超过所设定的证实个数阈值的条件下,向对端发送包含有协议头信息的数据包;是则计数器清零;否则向对端发送一条插入证实消息同时计数器清零,该插入证实消息中包含有本端当前所接收的数据包中,最后一次所接收到的数据包所对应的前向序号。4.根据权利要求1所述的方法,其特征在于:所述第一通信端及第二通信端均设置有能够存放已向对端发送,但尚未得到对端证实的数据包所对应的前向序号以及后向序号的待证实队列;同时所述第一通信端及第二通信端均通过预设的发送缓冲区缓存与所述待证实队列中证实序号一一对应的数据包以及各缓冲数据包,各所述缓冲数据包是指在待证实队列已满时,缓存在发送缓冲区中的仅在待证实队列未...
【专利技术属性】
技术研发人员:邸学锋,袁林,马洪彬,张醒,
申请(专利权)人:大连环宇移动科技有限公司,
类型:发明
国别省市:辽宁;21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。