一种数据重传的优化方法与终端与流程

未命名 10-19 阅读:121 评论:0


1.本发明涉及数据重传技术领域,特别涉及一种数据重传的优化方法与终端。


背景技术:

2.目前互联网传输数据的底层协议主要都是通过tcp或者udp协议来进行数据传输的。tcp通过三次握手来确保消息传递的有序,但是会存在耗时较长的特点。而udp不需要多次握手来处理消息,因此,其会导致消息传递无序,但是其数据传输的耗时会比tcp协议的更快。由于udp的这种消息无序的特性,所以针对单位时间之内的消息包会进行排序处理,对于其中缺失的数据包会要求客户端进行重发处理。可是,有可能部分缺包数据会在下一个周期之内接收到,这样就导致了数据包重复发送的可能,降低了数据传输的效率。


技术实现要素:

3.本发明所要解决的技术问题是:提供一种数据重传的优化方法与终端,降低数据包重复发送的可能,提高数据传输效率。
4.为了解决上述技术问题,本发明采用的技术方案为:
5.一种数据重传的优化方法,包括步骤:
6.s1、周期性地进行数据包的接收;
7.s2、在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则记录所述数据包缺失,并等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序;
8.s3、判断重新排序后,是否完全填补记录的所述数据包缺失,若否则针对缺失部分请求重新发包。
9.为了解决上述技术问题,本发明采用的另一种技术方案为:
10.一种数据重传的优化终端,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
11.s1、周期性地进行数据包的接收;
12.s2、在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则记录所述数据包缺失,并等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序;
13.s3、判断重新排序后,是否完全填补记录的所述数据包缺失,若否则针对缺失部分请求重新发包。
14.本发明的有益效果在于:本发明的一种数据重传的优化方法与终端,采用一种新的数据重传机制,对于单位周期之内的数据包进行排序处理,若存在缺包,则等待至下一周期,结合下一周期的数据包进行重新排序,在仍未弥补已缺失的数据包的情况下,请求重新发包,能够在一定程度下,减少因为网络偶发的延迟导致的数据重复发送的问题,提高数据传输效率。
附图说明
15.图1为本发明实施例的一种数据重传的优化方法的流程图;
16.图2为本发明实施例的一种数据重传的优化终端的结构图;
17.标号说明:
18.1、一种数据重传的优化终端;2、处理器;3、存储器。
具体实施方式
19.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
20.请参照图1,一种数据重传的优化方法,包括步骤:
21.s1、周期性地进行数据包的接收;
22.s2、在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则记录所述数据包缺失,并等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序;
23.s3、判断重新排序后,是否完全填补记录的所述数据包缺失,若否则针对缺失部分请求重新发包。
24.从上述描述可知,本发明的有益效果在于:本发明的一种数据重传的优化方法与终端,采用一种新的数据重传机制,对于单位周期之内的数据包进行排序处理,若存在缺包,则等待至下一周期,结合下一周期的数据包进行重新排序,在仍未弥补已缺失的数据包的情况下,请求重新发包,能够在一定程度下,减少因为网络偶发的延迟导致的数据重复发送的问题,提高数据传输效率。
25.进一步的,所述步骤s2具体为:
26.在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则判断缺失数据包的数量是否大于缺失阈值,若是则就缺失部分请求重新发包,否则等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序。
27.由上述描述可知,引入了缺失阈值,通过缺失阈值对缺包情况作出区分,在缺包数量小于缺失阈值,即缺包较少的情况下,按照旧有逻辑请求重新传包,在缺包数量大于缺失阈值,即缺包数量较多的情况下,则认为可能是由于网络延迟导致的数据包延迟到达,可以等待下一周期重排处理。
28.进一步地,所述缺失阈值为用户预设值。
29.由上述描述可知,所述缺失阈值可以由用户预先设置,从而确定。
30.进一步地,所述缺失阈值为动态阈值,缺失阈值的确定具体为:
31.获取当前周期前预设个数的周期的缺包数量,计算平均值,得到所述缺失阈值。
32.由上述描述可知,所述缺失阈值采用动态阈值的方式,实时计算得到,根据当前周期前的预设个数的周期的缺包数量,确定平均缺包数量,根据当前周期确保书是否小于平均缺包数,来判断是否可能存在因网络偶发的延迟导致数据包暂未收到的情况。
33.请参照图2,一种数据重传的优化终端,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
34.s1、周期性地进行数据包的接收;
35.s2、在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则记录所述数据包缺失,并等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序;
36.s3、判断重新排序后,是否完全填补记录的所述数据包缺失,若否则针对缺失部分请求重新发包。

37.从上述描述可知,本发明的有益效果在于:本发明的一种数据重传的优化方法与终端,采用一种新的数据重传机制,对于单位周期之内的数据包进行排序处理,若存在缺包,则等待至下一周期,结合下一周期的数据包进行重新排序,在仍未弥补已缺失的数据包的情况下,请求重新发包,能够在一定程度下,减少因为网络偶发的延迟导致的数据重复发送的问题,提高数据传输效率。
38.进一步的,所述步骤s2具体为:
39.在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则判断缺失数据包的数量是否大于缺失阈值,若是则就缺失部分请求重新发包,否则等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序。
40.由上述描述可知,引入了缺失阈值,通过缺失阈值对缺包情况作出区分,在缺包数量小于缺失阈值,即缺包较少的情况下,按照旧有逻辑请求重新传包,在缺包数量大于缺失阈值,即缺包数量较多的情况下,则认为可能是由于网络延迟导致的数据包延迟到达,可以等待下一周期重排处理。
41.进一步地,所述缺失阈值为用户预设值。
42.由上述描述可知,所述缺失阈值可以由用户预先设置,从而确定。
43.进一步地,所述缺失阈值为动态阈值,缺失阈值的确定具体为:
44.获取当前周期前预设个数的周期的缺包数量,计算平均值,得到所述缺失阈值。
45.由上述描述可知,所述缺失阈值采用动态阈值的方式,实时计算得到,根据当前周期前的预设个数的周期的缺包数量,确定平均缺包数量,根据当前周期确保书是否小于平均缺包数,来判断是否可能存在因网络偶发的延迟导致数据包暂未收到的情况。
46.本发明的一种数据重传的优化方法与终端,适用于终端/服务端与终端/服务端之间数据传输时的数据重传处理。
47.请参照图1,本发明的实施例一为:
48.一种数据重传的优化方法,包括步骤:
49.s1、周期性地进行数据包的接收。
50.本实施例中,在旧有的传输协议下,减小了统计时间间隔,比如原先旧有的是100ms的时间间隔,现在需要减少到原先的一半或者1/3。这样的目的是当网络抖动时,等待下一周期的时间不会太长。
51.s2、在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则记录所述数据包缺失,并等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序。
52.本实施例中,针对每一个周期内接收的数据包进行排序处理,且每一个数据包均携带有包序号。比如,一个周期内的接收的数据包的包序号在1-10,其中在网络出现抖动
时,接收到的数据包的包序号为1,2,3,4,5,8,9,10,11,12,则我们认为其存在数据包缺失,缺失的数据包数量为2个,包序号为6和7。
53.本实施例中,等待下一个周期,由下一个周期和本周期的包合并进行排序处理,并最终决定是否需要重新发包。
54.s3、判断重新排序后,是否完全填补记录的所述数据包缺失,若否则针对缺失部分请求重新发包。
55.此外,本实施例中,在旧有的缓存区基础之上进行改造,在该缓存区之前再添加一层小的缓存层,用来存放最近2个周期之内的数据,当处理完毕之后,再次写入缓冲区中,后续逻辑按照旧有逻辑进行处理。
56.即当前周期接收的数据包,会存入所述缓存层中,等待下一周期的重排,在重排后若序列完整,则写入缓冲区,否则等待重新发包后写入缓存区。
57.这样能够在不对旧有逻辑进行大改的基础之上,优先处理一部分缺包重发的数据的问题。
58.本发明的实施例二为:
59.一种数据重传的优化方法,与实施例一的区别在于,所述步骤s2具体为:
60.在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则判断缺失数据包的数量是否大于缺失阈值,若是则就缺失部分请求重新发包,否则等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序。
61.本实施例中,以实施例一中一个周期内的接收的数据包的包序号为1,2,3,4,5,8,9,10,11,12为例,认为其缺包数量为8-5-1=2。本实施例中,将缺包数量与缺包阈值进行比较,假设缺包阈值为3,当小于该阈值时,说明缺包数量较少,可以直接走缺包重发步骤。当大于该阈值时,说明缺包数量较多,可以等待下一个周期,由下一个周期和本周期的包合并进行排序处理,并最终决定是否需要重新发包。在缺包数量为2,小于缺包阈值的情况下,可以直接走缺包重发步骤。
62.本实施例中,缺包较少时,则认为其可能属于非网络抖动导致的缺包现象,后续可能无法收到确实的数据包,且在确包数量较小的情况下,对传输效率的影响较小,直接重发较之等待下一周期重排计算更加快速。
63.本实施例中,所述缺包阈值为动态变动的。通过获取前n个周期之内的平均缺包数量,比如,获取前3个周期的缺包数量分别为2,3,4,则本周期的预设阈值数量可以设置为3,根据此来进行后续的判断。n为预设的周期数。
64.在其他等同实施例中,缺包阈值也可以根据实际需求,直接根据用户需要预先设定为某一固定值,不进行动态变动。
65.请参照图2,本发明的实施例三为:
66.一种数据重传的优化终端1,包括处理器2、存储器3以及存储在所述存储器3中并可在所述处理器2上运行的计算机程序,所述处理器执行所述计算机程序时实现以上实施例一或二的一种数据重传的优化方法中的步骤。
67.综上所述,本发明提供的一种数据重传的优化方法与终端,采用一种新的数据重传机制,对于单位周期之内的数据包进行排序处理,若存在缺包,则等待至下一周期,结合下一周期的数据包进行重新排序,在仍未弥补已缺失的数据包的情况下,请求重新发包,能
够在一定程度下,减少因为网络偶发的延迟导致的数据重复发送的问题,提高数据传输效率。
68.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:
1.一种数据重传的优化方法,其特征在于,包括步骤:s1、周期性地进行数据包的接收;s2、在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则记录所述数据包缺失,并等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序;s3、判断重新排序后,是否完全填补记录的所述数据包缺失,若否则针对缺失部分请求重新发包。2.根据权利要求1所述的一种数据重传的优化方法,其特征在于,所述步骤s2具体为:在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则判断缺失数据包的数量是否大于缺失阈值,若是则就缺失部分请求重新发包,否则等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序。3.根据权利要求2所述的一种数据重传的优化方法,其特征在于,所述缺失阈值为用户预设值。4.根据权利要求2所述的一种数据重传的优化方法,其特征在于,所述缺失阈值为动态阈值,缺失阈值的确定具体为:获取当前周期前预设个数的周期的缺包数量,计算平均值,得到所述缺失阈值。5.一种数据重传的优化终端,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:s1、周期性地进行数据包的接收;s2、在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则记录所述数据包缺失,并等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序;s3、判断重新排序后,是否完全填补记录的所述数据包缺失,若否则针对缺失部分请求重新发包。6.根据权利要求5所述的一种数据重传的优化终端,其特征在于,所述步骤s2具体为:在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则判断缺失数据包的数量是否大于缺失阈值,若是则就缺失部分请求重新发包,否则等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序。7.根据权利要求6所述的一种数据重传的优化终端,其特征在于,所述缺失阈值为用户预设值。8.根据权利要求6所述的一种数据重传的优化终端,其特征在于,所述缺失阈值为动态阈值,缺失阈值的确定具体为:获取当前周期前预设个数的周期的缺包数量,计算平均值,得到所述缺失阈值。

技术总结
本发明公开了一种数据重传的优化方法与终端,周期性地进行数据包的接收;在每一个周期内,对当前周期接收到的数据包进行排序,判断是否存在数据包缺失,若是则记录所述数据包缺失,并等待至下一周期的数据包接收后,结合下一周期的数据包进行重新排序;判断重新排序后,是否完全填补记录的所述数据包缺失,若否则针对缺失部分请求重新发包;本发明采用一种新的数据重传机制,对于单位周期之内的数据包进行排序处理,若存在缺包,则等待至下一周期,结合下一周期的数据包进行重新排序,在仍未弥补已缺失的数据包的情况下,请求重新发包,能够在一定程度下,减少因为网络偶发的延迟导致的数据重复发送的问题,提高数据传输效率。提高数据传输效率。提高数据传输效率。


技术研发人员:刘德建 郭孟祺 陈娟 郭凤英 郑坦 陈宏
受保护的技术使用者:福建天泉教育科技有限公司
技术研发日:2023.07.07
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐