CN113259062A - 丢包重传的方法、装置、可读介质以及设备 - Google Patents

丢包重传的方法、装置、可读介质以及设备 Download PDF

Info

Publication number
CN113259062A
CN113259062A CN202110596972.1A CN202110596972A CN113259062A CN 113259062 A CN113259062 A CN 113259062A CN 202110596972 A CN202110596972 A CN 202110596972A CN 113259062 A CN113259062 A CN 113259062A
Authority
CN
China
Prior art keywords
message
message number
target
filling
messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110596972.1A
Other languages
English (en)
Other versions
CN113259062B (zh
Inventor
谢磊
王晶晶
王平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN202110596972.1A priority Critical patent/CN113259062B/zh
Publication of CN113259062A publication Critical patent/CN113259062A/zh
Application granted granted Critical
Publication of CN113259062B publication Critical patent/CN113259062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)

Abstract

本申请公开了一种丢包重传的方法、装置、可读介质以及设备,该方法通过接收发送端当前连续发送的多个未补缺报文;从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号;将当前的递增连续最大报文号和当前的最小不连续报文号之间所缺失的所有报文号,均确定为目标补缺报文号;发送每一个目标补缺报文号对应的补缺请求至发送端;接收每一个补缺报文,返回至从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号步骤。由于本申请中通过当前的递增连续最大报文号和当前的最小不连续报文号实现了报文补缺,不需要不断断发送ACK的方式来进行补缺,因此不容易造成ACK爆炸。

Description

丢包重传的方法、装置、可读介质以及设备
技术领域
本申请涉及网络通信技术领域,尤其涉及一种丢包重传的方法、装置、可读介质以及设备。
背景技术
现有技术中,在进行网络通信的过程中经常会出现丢包和乱序的问题。为了解决通信过程的丢包和乱序问题,通常采用快速重传算法进行补缺。具体的,使用快速重传算法进行补缺的过程为:接收端在收到序号为K的报文的时候,会向发送端发送该序号为K的报文所对应的确认字符(Acknowledge character,ACK),然后继续查看是否有接收到序号为K+1的报文,若接收到序号为K+1的报文,则继续向发送端发送序号为K+1的报文所对应的ACK,但若未接收到序号为K+1的报文,则向发送端连续发送三个序号为K+1的报文对应的ACK,以提醒发送端重新发送序号为K+1的报文至接收端,实现报文补缺。
然而,从现有的快速重传算法可以看出,使用快速重传算法实现补缺的过程中是通过每接收一个报文即发送一个报文序号所对应的确认字符的方式,来查出需要补缺的报文的,因此这个过程中需要接收端发送大量的ACK,占用过多的带宽,容易造成ACK爆炸,影响网络通信的性能。
发明内容
基于上述现有技术的不足,本申请提出了一种丢包重传的方法、装置、可读介质以及设备,以实现在减少ACK的发送量的情况下实现丢包重传。
本申请第一方面公开了一种丢包重传的方法,应用于接收端,所述丢包重传的方法包括:
接收发送端当前连续发送的多个未补缺报文;
从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号;其中,所述当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前接收到的报文对应的报文号进行统计之后,所统计到的递增连续的最大报文号;所述当前的最小不连续报文号为在当前接收到的报文对应的报文号中,按照报文号由小至大的排列顺序排列在所述当前的递增连续最大报文号后一个的报文号;
将所述当前的递增连续最大报文号和所述当前的最小不连续报文号之间所缺失的所有报文号,均确定为目标补缺报文号;
发送每一个所述目标补缺报文号对应的补缺请求至所述发送端;其中,所述目标补缺报文号对应的补缺请求用于请求所述发送端发送所述目标补缺报文号对应的补缺报文;
接收所述发送端发送的每一个所述目标补缺报文号的补缺报文,返回至所述从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号步骤;其中,所述当前接收到的报文,包括:接收到的未补缺报文和补缺报文。
可选地,在上述丢包重传的方法中,所述接收发送端当前连续发送的多个未补缺报文之后,还包括:
将接收到的所述多个未补缺报文按照报文号由小至大的排列顺序持续填充至第一目标容器中,直至所述第一目标容器填满为止;其中,所述第一目标容器最多可放入K个报文;K为正整数;
所述接收所述发送端发送的每一个所述目标补缺报文号对应的补缺报文之后,还包括:
将接收到的每一个所述补缺报文按照报文号由小至大的排列顺序持续填充至第二目标容器中,直至所述第二目标容器填满为止;其中,所述第二目标容器最多可放入K个报文;K为正整数;
所述从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号,包括:
从所述第一目标容器和所述第二目标容器所存放过的所有接收到的报文中,统计出当前的递增连续最大报文号;其中,所述当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前所述第一目标容器和所述第二目标容器所存放过的所有接收到的报文进行统计之后,所统计到的递增连续的最大报文号;
将所述第一目标容器和所述第二目标容器中的当前的递增连续最大报文号所对应的报文、以及排列在所述当前的递增连续最大报文号之前的所有报文清除;
将清除处理后的所述第一目标容器中的最小报文号确定为当前的最小不连续报文号。
可选地,在上述丢包重传的方法中,还包括:
将每一个所述目标补缺报文号按照报文号从小至大的排列顺序放入至补缺序号队列中;
其中,所述发送每一个所述目标补缺报文号对应的补缺请求至所述发送端,包括:
按照所述补缺序号队列中的报文号排列顺序,发送每一个所述目标补缺报文号对应的补缺请求;
所述将每一个所述目标补缺报文号按照报文号从小至大的排列顺序放入至补缺序号队列中之后,还包括:
在发送每一个所述目标补缺报文号对应的补缺请求的过程中,针对已发送的每一个所述目标补缺报文号对应的补缺请求,在发送所述目标补缺报文号对应的补缺请求之后,将所述目标补缺报文号放入至所述补缺序号队列的末尾,直至接收到所述目标补缺报文号对应的补缺报文为止,将所述补缺序号队列中所述目标补缺报文号进行删除。
可选地,在上述丢包重传的方法中,还包括:
按照预设的时间间隔,发送当前的递增连续最大报文号对应的确认字符至所述发送端;
或者,在确定出的当前的递增连续最大报文号为预设递增连续最大报文号时,发送当前的递增连续最大报文号对应的确认字符至所述发送端。
可选地,在上述丢包重传的方法中,所述第一目标容器最多可放入的报文个数K的设定过程,包括:
将所述第一目标容器最多可放入的报文个数K预设置为统计最大概率出现丢包或乱序状况时发送端所连续发送的未补缺报文个数;
若检测到所述第一目标容器中放入的最小的两个报文对应的报文号之间的差值大于预设置的K,则将所述预设置的K修改为所述第一目标容器中放入的最小的两个报文对应的报文号之间的差值。
本申请第二方面公开了一种丢包重传的装置,应用于接收端,所述丢包重传的装置包括:
第一接收单元,用于接收发送端当前连续发送的多个未补缺报文;
第一确定单元,用于从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号;其中,所述当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前接收到的报文对应的报文号进行统计之后,所统计到的递增连续的最大报文号;所述当前的最小不连续报文号为在当前接收到的报文对应的报文号中,按照报文号由小至大的排列顺序排列在所述当前的递增连续最大报文号后一个的报文号;
第二确定单元,用于将所述当前的递增连续最大报文号和所述当前的最小不连续报文号之间所缺失的所有报文号,均确定为目标补缺报文号;
第一发送单元,用于发送每一个所述目标补缺报文号对应的补缺请求至所述发送端;其中,所述目标补缺报文号对应的补缺请求用于请求所述发送端发送所述目标补缺报文号对应的补缺报文;
第二接收单元,用于接收所述发送端发送的每一个所述目标补缺报文号的补缺报文,返回至所述第一确定单元;其中,所述当前接收到的报文,包括:接收到的未补缺报文和补缺报文。
可选地,在上述丢包重传的装置中,还包括:
第一填充单元,用于将接收到的所述多个未补缺报文按照报文号由小至大的排列顺序持续填充至第一目标容器中,直至所述第一目标容器填满为止;其中,所述第一目标容器最多可放入K个报文;K为正整数;
第二填充单元,用于将接收到的每一个所述补缺报文按照报文号由小至大的排列顺序持续填充至第二目标容器中,直至所述第二目标容器填满为止;其中,所述第二目标容器最多可放入K个报文;K为正整数;
所述第一确定单元,包括:
统计子单元,用于从所述第一目标容器和所述第二目标容器所存放过的所有接收到的报文中,统计出当前的递增连续最大报文号;其中,所述当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前所述第一目标容器和所述第二目标容器所存放过的所有接收到的报文进行统计之后,所统计到的递增连续的最大报文号;
清除子单元,用于将所述第一目标容器和所述第二目标容器中的当前的递增连续最大报文号所对应的报文、以及排列在所述当前的递增连续最大报文号之前的所有报文清除;
第一确定子单元,用于将清除处理后的所述第一目标容器中的最小报文号确定为当前的最小不连续报文号。
可选地,在上述丢包重传的装置中,还包括:
第一排列单元,用于将每一个所述目标补缺报文号按照报文号从小至大的排列顺序放入至补缺序号队列中;
其中,所述第一发送单元,包括:
第一发送子单元,用于按照所述补缺序号队列中的报文号排列顺序,发送每一个所述目标补缺报文号对应的补缺请求;
所述丢包重传的装置,还包括:
第二排列单元,用于在发送每一个所述目标补缺报文号对应的补缺请求的过程中,针对已发送的每一个所述目标补缺报文号对应的补缺请求,在发送所述目标补缺报文号对应的补缺请求之后,将所述目标补缺报文号放入至所述补缺序号队列的末尾,直至接收到所述目标补缺报文号对应的补缺报文为止,将所述补缺序号队列中所述目标补缺报文号进行删除。
可选地,在上述丢包重传的装置中,还包括:
第二发送单元,用于按照预设的时间间隔,发送当前的递增连续最大报文号对应的确认字符至所述发送端;或者,在确定出的当前的递增连续最大报文号为预设递增连续最大报文号时,发送当前的递增连续最大报文号对应的确认字符至所述发送端。
可选地,在上述丢包重传的装置中,还包括:
第一设置单元,用于将所述第一目标容器最多可放入的报文个数K预设置为统计最大概率出现丢包或乱序状况时发送端所连续发送的未补缺报文个数;
第二设置单元,用于若检测到所述第一目标容器中放入的最小的两个报文对应的报文号之间的差值大于预设置的K,则将所述预设置的K修改为所述第一目标容器中放入的最小的两个报文对应的报文号之间的差值。
本申请第三方面公开了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述第一方面中任一所述的方法。
本申请第四方面公开了一种丢包重传的设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。
从上述技术方案中可以看出,本申请实施例公开的丢包重传的方法,应用于接收端,通过从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号,其中当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前接收到的报文对应的报文号进行统计之后,所统计到的递增连续的最大报文号,而当前的最小不连续报文号为在当前接收到的报文对应的报文号中,按照报文号由小至大的排列顺序排列在当前的递增连续最大报文号后一个的报文号,然后即可将当前的递增连续最大报文号和当前的最小不连续报文号之间所缺失的所有报文号,均确定为目标补缺报文号,再发送每一个目标补缺报文号对应的补缺请求至发送端,在接收到发送端发送的每一个目标补缺报文号的补缺报文后,即可返回重新从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号,在不发送多个ACK的情况下,通过当前的递增连续最大报文号和当前的最小不连续报文号实现了报文补缺。由于本申请中确定目标补缺报文号的方式不是靠不断发送ACK的方式实现,不需要发送大量的ACK,不容易造成ACK爆炸,进而也不会对网络通信的性能造成影响。
附图说明
为了更清除地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提出的一种丢包重传的方法的流程示意图;
图2为本申请实施例提出的一种确定出当前的递增连续最大报文号和当前的最小不连续报文号的方法的流程示意图;
图3为本申请实施例提出的另一种丢包重传的具体过程的流程示意图;
图4为本申请实施例提出的一种第一目标容器最多可放入的报文个数K的设定过程的流程示意图;
图5为本申请实施例提出的一种持续补缺过程的流程示意图;
图6为本申请实施例提出的一种丢包重传的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清除、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,本申请公开了一种丢包重传的方法,应用于接收端,该丢包重传的方法具体包括以下步骤:
S101、接收发送端当前连续发送的多个未补缺报文。
执行步骤S101的过程中,发送端向接收端连续发送了某一批次中的多个报文,接收端由此接收到了该批次中的多个未补缺报文。未补缺报文指的是不需要接收端进行补缺的报文,多个未补缺报文也可以认为是接收端在未进行补缺处理以前所接收到的报文。当发送端需要向接收端发送的报文数量过多时,需要采用分批次发送的方式来发送报文。而发送端针对每一批次的报文,向接收端连续发送该批次中的所有报文时,可能会出现丢包或者乱序的问题,导致接收端无法接收到发送端发送的所有报文,接收端所成功接收到的报文没有发生丢包情况,因此不需要进行补缺处理。接收端所接收到的未补缺报文的数量是小于或等于发送端所发送的报文数量的。
举例说明,发送端若有100个报文需要向接收端发送时,由于需要发送的报文过多,因此分批次对100个报文进行发送。首先向接收端连续发送01至09号报文,而由于01至09号报文存在丢包,接收端未接收到03号报文,因此01、02、04、05、06、07、08以及09号报文都是接收端在当前批次所接收到的未补缺报文,后续则需要通过01、02、04、05、06、07、08以及09号未补缺报文,进行后续的补缺处理。
可选地,在本申请一具体实施例中,发送端按批次连续发送的报文个数可以设定为是小于或等于接收端接收窗口的个数。例如,接收端一共有11个接收窗口,则发送端一批次可发送的报文个数则小于或等于11,以避免出现接收端的接收窗口不足以存放发送端连续发送的所有报文。
可选地,在本申请一具体实施例中,接收端所接收的多个未补缺报文缓存于接收缓冲区内,执行后续的步骤S102至步骤S105时则通过从接收缓冲区中提取出未补缺报文来进行处理。
需要说明的是,本申请实施例所提出的丢包重传的方法适用于对发送端任意批次连续发送的多个未补缺报文进行补缺处理。
S102、从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号,其中当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前接收到的报文对应的报文号进行统计之后,所统计到的递增连续的最大报文号,当前的最小不连续报文号为在当前接收到的报文对应的报文号中,按照报文号由小至大的排列顺序排列在当前的递增连续最大报文号后一个的报文号。
当前收到的报文,指的是当前接收到的所有报文。而当前的递增连续最大报文号也可以认为是接收到的所有报文对应的报文号中从首个报文号开始可递增连续到的最大报文号。当前的最小不连续报文号可以认为是接收到的所有报文中,除了从首个报文号开始递增连续的所有报文之外的最小报文号。
举例说明,当前批次发送端发送01至07号报文给接收端,接收端在步骤S101中接收到了01、02、05、06报文。从首个报文号01开始,接收到的所有报文中,01号报文和02号报文属于递增连续的报文,因此当前的递增连续最大报文号是02号。而除了递增连续的01号报文和02号报文,报文号最小的则是05号报文,因此当前的最小不连续报文号为05号。
S103、将当前的递增连续最大报文号和当前的最小不连续报文号之间所缺失的所有报文号,均确定为目标补缺报文号。
当前的递增连续最大报文号和当前的最小不连续报文号之间所缺失的所有报文号,则是当前确定出的需要进行补缺的报文号,即目标补缺报文号。目标补缺报文号所对应的报文是在发送端发送过程中丢包的报文,因此需要发送端进行补缺。举例说明,当前的递增连续最大报文号是02号,当前的最小不连续报文号为05号,那么当前的目标补缺报文号则为03号和04号,也就说明了03号报文和04号报文在当前批次的发送过程中丢包了。
现有技术中,主要通过快速重传的方式来确定目标补缺报文号。具体的,快速重传的方式进行补缺的过程为,发送端向接收端发送1至11号报文时,接收端首先查看是否接收到1号报文,若接收到1号报文了则向发送端回一个对应的ACK,表示已收到1号报文,若没有收到1号报文,则向发送端连续发送3个1号报文对应的ACK,表示没有收到1号报文,在接收端未收到发送端补缺给接收端的1号报文之前,接收端都会重复发送3个1号报文对应的ACK给发送端,直到接收端收到1号报文为止。以此类推下去接收端在确认补缺的过程中需要发送大量的ACK,占用过多的带宽,容易造成ACK爆炸,影响网络通信的性能。
而本申请实施例中,通过从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号的方式,将当前的递增连续最大报文号和当前的最小不连续报文号之间所缺失的所有报文号,确定为目标补缺报文号,因此本申请实施例中在确认目标补缺报文号的过程中不需要通过不断发送ACK的方式来确认补缺报文,不会占用过多的带宽,进而也不容易造成ACK爆炸,也不会对网络通信的性能造成影响。
S104、发送每一个目标补缺报文号对应的补缺请求至发送端,其中目标补缺报文号对应的补缺请求用于请求发送端发送目标补缺报文号对应的补缺报文。
确定出需要补缺的报文之后,为了让发送端补缺目标补缺号对应的报文,接收端发送每一个目标补缺报文号对应的补缺请求至发送端,以请求发送端发送目标补缺报文号对应的补缺报文。而目标补缺报文号对应的补缺请求的具体格式有很多,例如可以是连续发送3个目标补缺报文号对应的ACK来作为补缺请求,也可以是发送一个请求消息头为目标补缺报文号的请求来作为补缺请求。目标补缺报文号对应的补缺请求的具体格式的不同不影响本申请实施例的实现。
S105、接收发送端发送的每一个目标补缺报文号的补缺报文,返回至步骤S102。
当执行步骤S104向发送端发送补缺请求后,发送端则会向接收端发送每一个目标补缺报文号的补缺报文,接收端接收了补缺报文之后,重新再返回步骤S102,即从接收到的所有报文中,重新确定出当前的递增连续最大报文号和当前的最小不连续报文号。此时接收到的所有报文中,既包括接收到的未补缺报文也包括步骤S105接收到的补缺报文,因此重新返回步骤S102确定出的当前的递增连续最大报文号和当前的最小不连续报文号也会有所更新。举例说明,当前批次发送端发送01至07号报文给接收端,接收端在步骤S101中接收到了01、02、05、06报文,步骤S103由此确认出递增连续最大报文号为02,最小不连续报文号是05,步骤S104会发送03号对应的补缺请求以及04号对应的补缺请求,最终步骤S105接收到03号报文和04号报文之后,所有接收到的报文则变成了01、02、03、04、05、06,因此确认出的递增连续最大报文号是06,而最小不连续报文号没有,发送端由此继续发送下一批08至14号报文给接收端,接收端重新循环执行步骤S101至步骤S105,此时若接收到的报文号是08、09、11、12、14号报文,则在接收到的所有报文中01、02、03、04、05、06、08、09、11、12、14号中,确定出当前的递增连续最大报文号是06,最小不连续报文号则变成了08,以此类推继续通过递增连续最大报文号和最小不连续报文号进行补缺。
可选地,在本申请一具体实施例中,执行步骤S101之后,还包括:
将接收到的多个未补缺报文按照报文号由小至大的排列顺序持续填充至第一目标容器中,直至第一目标容器填满为止。其中,第一目标容器最多可放入K个报文,K为正整数。
具体的,接收端不断将接收缓冲区内的多个未补缺报文按照报文号由小至大的排列顺序持续填入至第一目标容器中,直至第一目标容器填满为止,再暂停填充未补缺报文,而后续对第一目标容器中的报文进行清除,第一目标容器内没有被填充满的时候,接收端则会继续往第一目标容器中持续按照排列顺序将接收缓冲区中的报文填充进第一目标容器内。
可选地,第一目标容器具体可以是一个TOP-K容器,通过TOP-K算法从接收缓冲区中按照报文号由小至大的排列顺序提取出K个报文填充到第一目标容器中。
可选地,在本申请一具体实施例中,执行步骤S105之后,还包括:
将接收到的每一个补缺报文按照报文号由小至大的排列顺序持续填充至第二目标容器中,直至第二目标容器填满为止。
其中,第二目标容器最多可放入K个报文,K为正整数,即第二目标容器与第一目标容器是完全相同的两个容器,只不过第一目标容器存放填充的是未补缺报文,第二目标容器存放的则是补缺报文。具体的,接收端不断将接收缓冲区内的多个补缺报文按照报文号由小至大的排列顺序持续填入至第二目标容器中,直至第二目标容器填满为止,再暂停填充未补缺报文,而后续对第二目标容器中的报文进行清除,第二目标容器内没有被填充满的时候,接收端则还会继续往第二目标容器中持续按照排列顺序将接收缓冲区中的补缺报文填充进第一目标容器内。
可选地,参阅图2,若执行步骤S101之后还包括:将接收到的多个未补缺报文按照报文号由小至大的排列顺序持续填充至第一目标容器中,直至第一目标容器填满为止,且执行步骤S102之后还包括:将接收到的每一个补缺报文按照报文号由小至大的排列顺序持续填充至第二目标容器中,直至第二目标容器填满为止,则执行步骤S102的一种实施方式,包括:
S201、从第一目标容器和第二目标容器所存放过的所有接收到的报文中,统计出当前的递增连续最大报文号。
其中,当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前第一目标容器和第二目标容器所存放过的所有接收到的报文进行统计之后,所统计到的递增连续的最大报文号。第一目标容器存放的是未补缺报文,第二目标容器存放的是补缺报文,对第一目标容器和第二目标容器各自存放过的未补缺报文和补缺报文进行统计之后,即可知道当前的递增连续最大报文号。
S202、将第一目标容器和第二目标容器中的当前的递增连续最大报文号所对应的报文、以及排列在当前的递增连续最大报文号之前的所有报文清除。
由于已经通过第一目标容器和第二目标容器中的当前的递增连续最大报文号所对应的报文、以及排列在当前的递增连续最大报文号之前的所有报文统计出了当前的递增连续最大报文号,因此已不再需要当前的递增连续最大报文号所对应的报文、以及排列在当前的递增连续最大报文号之前的所有报文来确认当前的递增连续最大报文号,因此可以将其从容器中清除,以便继续填充未补缺报文至第一目标容器中以及继续填充补缺报文至第二目标容器中,重新填充满容器后,可用于下一次确认递增连续最大报文号。
举例说明,参阅图3,发送端的发送窗口内存放了100个报文,需要将100个报文分批次发给接收端。发送端首先向接收端连续发送了1至11号报文。而接收端的接收窗口接收到了1、2、6、7、4、8、10、11这些未补缺报文。第一目标容器为TOP-5容器,即K为5,从接收窗口中按照报文号从小至大的顺序则会将1、2、4、6、7这5个报文填充到第一目标容器中。此时还没有开始发送补缺请求,第二目标容器中还没有存放任何补缺报文,因此只通过第一目标容器来统计出当前的递增连续最大报文号是2号,接收端可记录下当前确认出的递增连续最大报文号02。然后将已经被认为是递增连续的1号报文和2号报文从第一目标容器中清除,清除之后第一目标容器中继续补充填入8号和10号报文。因此此时的第一目标容器中有4、6、7、8、10号报文。
可选地,若第一目标容器和第二目标容器中不存在当前的递增连续最大报文号所对应的报文、以及排列在当前的递增连续最大报文号之前的报文,则不需要执行步骤S202的清除操作,直接进入步骤S203。
S203、将清除处理后的第一目标容器中的最小报文号确定为当前的最小不连续报文号。
通过步骤S202所进行的清除处理后,第一目标容器中的最小报文即为当前接收到的报文对应的报文号中,按照报文号由小至大的排列顺序排列在当前的递增连续最大报文号后一个的报文号,即当前的最小不连续报文。
举例说明,继续参阅图3,图3中的第一目标容器的最小报文号是4,因此当前的最小不连续报文号是4。继续往下执行步骤S103时,即可通过最小不连续报文号是4和递增连续最大报文号2,找出目标补缺报文号3,然后即可向发送端请求补缺3号报文,而后续若发送端发送3号报文至接收端后,接收端则会将3号报文存放到了第二目标容器中,此时再次通过第一目标容器和第二目标容器确认递增连续最大报文号,则会确认出递增连续最大报文号是4,而第一目标容器和第二目标容器中的3号和4号报文则可被清除,此时确定出的最小不连续报文号则为6,以此类推,继续进行补缺。
可选地,参阅图4,在本申请一具体实施例中,第一目标容器最多可放入的报文个数K的设定过程,包括:
S401、将第一目标容器最多可放入的报文个数K预设置为统计最大概率出现丢包或乱序状况时发送端所连续发送的未补缺报文个数。
由上述图2示出的实施例可知,本申请实施例中可以通过第一目标容器和第二目标容器来确定递增连续最大报文号,以找出需要补缺的报文号。因此,在设定K值时,可以通过统计最大概率出现丢包或乱序状况时发送端所连续发送的未补缺报文个数来设置K值。例如,通过历史经验统计出,在局域网中,99.999%的丢包和乱序的报文,都在接收端连续收到发送端发送的3到7个报文之内,那么K值就可设定为3到7中的值,即在通过第一目标容器和第二目标容器确定递增连续最大报文号,以找出需要补缺的报文号时,就在K个报文中进行查找。
S402、检测第一目标容器中放入的最小的两个报文对应的报文号之间的差值是否大于预设置的K。
个别情况下,预设置的K值不一定是合理的K值,因此需要通过检测第一目标容器中放入的最小的两个报文对应的报文号之间的差值是否大于预设置的K的方式,来确定预设置的K值是否合理。如果第一目标容器中放入的最小的两个报文对应的报文号之间的差值大于预设置的K,则说明丢包或者乱序的情况所发生的场景是连续接收到大于K的报文个数的情况,因此需要执行步骤S403进行修改。如果第一目标容器中放入的最小的两个报文对应的报文号之间的差值不大于预设置的K,则说明K值的设置是合理的,不需要调整,即可结束当前的检测流程。
需要说明的是,步骤S402可以是在使用第一目标容器存放报文的过程中重复执行的。
S403、将预设置的K修改为第一目标容器中放入的最小的两个报文对应的报文号之间的差值。
可选地,在本申请一具体实施例中,还可以包括以下步骤:
将每一个目标补缺报文号按照报文号从小至大的排列顺序放入至补缺序号队列中,在发送每一个目标补缺报文号对应的补缺请求的过程中,针对已发送的每一个目标补缺报文号对应的补缺请求,在发送目标补缺报文号对应的补缺请求之后,将目标补缺报文号放入至补缺序号队列的末尾,直至接收到目标补缺报文号对应的补缺报文为止,将补缺序号队列中目标补缺报文号进行删除。
其中,执行步骤S104时,包括:按照补缺序号队列中的报文号排列顺序,发送每一个目标补缺报文号对应的补缺请求。具体的,当通过步骤S103确认出目标补缺报文号之后,即可将所有目标补缺报文号按照报文号从小至大的排列顺序放入至补缺序号队列中,然后在执行步骤S104时,则可按照补缺序号队列中的顺序来发送补缺请求。而为了避免发送补缺请求后,仍未接收到发送端发送的补缺报文的情况发生,接收端还在发送每一个目标补缺报文号对应的补缺请求的过程中,针对已发送的每一个目标补缺报文号对应的补缺请求,将目标补缺报文号放入至补缺序号队列的末尾,直至接收到目标补缺报文号对应的补缺报文为止,将补缺序号队列中目标补缺报文号进行删除。由于每发送完一个目标补缺报文号对应的补缺请求,补缺序号队列中该目标补缺报文号会删除掉,为了避免目标补缺报文号没有被接收端接收到的情况发生,会在每发送完一个目标补缺报文号对应的补缺请求之后,将该目标补缺报文号放入到补缺序号队列的末尾,这样的话在没有接收到目标补缺报文号对应的补缺报文之前,仍会通过补缺序号队列重复的发送目标补缺报文号对应的补缺请求,即通过补缺序号队列持续补缺,直至接收到目标补缺报文号对应的补缺报文为止,才将补缺序号队列中目标补缺报文号进行删除,停止将目标补缺报文号放入补缺序号队列中。
举例说明,参阅图5,第二目标容器中存放补缺报文,补缺序号队列中存放目标补缺序号,此时补缺序号队列中存放了目标补缺序号11、23、24、27、42、46以及57。以目标补缺序号11为例,接收端读取补缺序号队列,首先发送了11号对应的补缺请求,然后接收端再将11号对应的补缺请求放入至队列末尾,在第二目标容器中没有放入11号补缺报文以前,会通过补缺序号队列再次发送11号对应的补缺请求,直至在第二目标容器中放入11号补缺报文后,补缺序号队列会将11号对应的补缺请求彻底删除。
可选地,在本申请一具体实施例中,还包括:
按照预设的时间间隔,发送当前的递增连续最大报文号对应的确认字符至发送端,或者,在确定出的当前的递增连续最大报文号为预设递增连续最大报文号时,发送当前的递增连续最大报文号对应的确认字符至发送端。
由于本申请实施例中确认目标补缺序号的方式不需要通过每接收到一个报文则回应一个对应的确认字符的方式来实现补缺,因此本申请实施例中的接收端在给发送端发送确认字符的频率可以设置的比较低。
例如可以按照预设的时间间隔,发送当前的递增连续最大报文号对应的确认字符至发送端,告知当前所收到的报文号的情况。而发送端即可通过接收端所回的确认字符,继续进行后续批次的报文发送。举例说明,例如以2秒为间隔,发送当前的递增连续最大报文号对应的确认字符至发送端。发送端每一批次发送的报文个数是11,当发送端首次受到确认字符中携带的递增连续最大报文号大于或等于11时,即可继续发送下一批次的11个报文。或者,也可以是接收端在确定出当前的递增连续最大报文号为预设递增连续最大报文号时,再发送当前的递增连续最大报文号对应的确认字符至发送端。比如,接收端的接收窗口个数是11,发送端每一批次发送的报文数也是11,因此可以把预设递增连续最大报文号定为11的倍数,即在在确定出当前的递增连续最大报文号为11、22、33这类11的倍数时,会回复发送端对应的确认字符,以通知发送端可进行下一批次的发送。
本申请实施例公开的丢包重传的方法,应用于接收端,通过从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号,其中当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前接收到的报文对应的报文号进行统计之后,所统计到的递增连续的最大报文号,而当前的最小不连续报文号为在当前接收到的报文对应的报文号中,按照报文号由小至大的排列顺序排列在当前的递增连续最大报文号后一个的报文号,然后即可将当前的递增连续最大报文号和当前的最小不连续报文号之间所缺失的所有报文号,均确定为目标补缺报文号,再发送每一个目标补缺报文号对应的补缺请求至发送端,在接收到发送端发送的每一个目标补缺报文号的补缺报文后,即可返回重新从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号,在不发送多个ACK的情况下,通过当前的递增连续最大报文号和当前的最小不连续报文号实现了报文补缺。由于本申请中确定目标补缺报文号的方式不是靠不断发送ACK的方式实现,不需要发送大量的ACK,不容易造成ACK爆炸,进而也不会对网络通信的性能造成影响。
参阅图6,基于上述本申请实施例提出的丢包重传的方法,本申请实施例对应公开了一种丢包重传的装置,应用于接收端,该丢包重传的装置包括:第一接收单元601、第一确定单元602、第二确定单元603、第一发送单元604以及第二接收单元605。
第一接收单元601,用于接收发送端当前连续发送的多个未补缺报文。
第一确定单元602,用于从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号。其中,当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前接收到的报文对应的报文号进行统计之后,所统计到的递增连续的最大报文号,当前的最小不连续报文号为在当前接收到的报文对应的报文号中,按照报文号由小至大的排列顺序排列在当前的递增连续最大报文号后一个的报文号。
第二确定单元603,用于将当前的递增连续最大报文号和所述当前的最小不连续报文号之间所缺失的所有报文号,均确定为目标补缺报文号。
第一发送单元604,用于发送每一个目标补缺报文号对应的补缺请求至发送端。其中,目标补缺报文号对应的补缺请求用于请求发送端发送所述目标补缺报文号对应的补缺报文。
第二接收单元605,用于接收发送端发送的每一个目标补缺报文号的补缺报文,返回至第一确定单元602。其中,当前接收到的报文,包括:接收到的未补缺报文和补缺报文。
可选地,在本申请一具体实施例中,还包括:第一填充单元和第二填充单元。
第一填充单元,用于将接收到的多个未补缺报文按照报文号由小至大的排列顺序持续填充至第一目标容器中,直至第一目标容器填满为止。其中,第一目标容器最多可放入K个报文,K为正整数。
第二填充单元,用于将接收到的每一个补缺报文按照报文号由小至大的排列顺序持续填充至第二目标容器中,直至第二目标容器填满为止。其中,第二目标容器最多可放入K个报文,K为正整数。第一确定单元602,包括:统计子单元,用于从第一目标容器和所述第二目标容器所存放过的所有接收到的报文中,统计出当前的递增连续最大报文号,其中当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前所述第一目标容器和第二目标容器所存放过的所有接收到的报文进行统计之后,所统计到的递增连续的最大报文号。清除子单元,用于将第一目标容器和第二目标容器中的当前的递增连续最大报文号所对应的报文、以及排列在当前的递增连续最大报文号之前的所有报文清除。第一确定子单元,用于将清除处理后的第一目标容器中的最小报文号确定为当前的最小不连续报文号。
可选地,在本申请一具体实施例中,还包括:
第一排列单元,用于将每一个目标补缺报文号按照报文号从小至大的排列顺序放入至补缺序号队列中。
第二排列单元,用于在发送每一个所述目标补缺报文号对应的补缺请求的过程中,针对已发送的每一个目标补缺报文号对应的补缺请求,在发送所述目标补缺报文号对应的补缺请求之后,将所述目标补缺报文号放入至所述补缺序号队列的末尾,直至接收到所述目标补缺报文号对应的补缺报文为止,将所述补缺序号队列中所述目标补缺报文号进行删除。其中,第一发送单元,包括:第一发送子单元,用于按照补缺序号队列中的报文号排列顺序,发送每一个目标补缺报文号对应的补缺请求。
可选地,在本申请一具体实施例中,还包括:
第二发送单元,用于按照预设的时间间隔,发送当前的递增连续最大报文号对应的确认字符至所述发送端,或者,在确定出的当前的递增连续最大报文号为预设递增连续最大报文号时,发送当前的递增连续最大报文号对应的确认字符至发送端。
可选地,在本申请一具体实施例中,还包括:第一设置单元和第二设置单元。
第一设置单元,用于将第一目标容器最多可放入的报文个数K预设置为统计最大概率出现丢包或乱序状况时发送端所连续发送的未补缺报文个数。
第二设置单元,用于若检测到第一目标容器中放入的最小的两个报文对应的报文号之间的差值大于预设置的K,则将预设置的K修改为第一目标容器中放入的最小的两个报文对应的报文号之间的差值。
上述本申请实施例公开的丢包重传的装置中的具体的原理和执行过程,与上述本申请实施例公开的丢包重传的方法相同,可参见上述本申请实施例公开的丢包重传的方法中相应的部分,这里不再进行赘述。
本申请实施例公开的丢包重传的装置,应用于接收端,通过第一确定单元602从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号,其中当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前接收到的报文对应的报文号进行统计之后,所统计到的递增连续的最大报文号,而当前的最小不连续报文号为在当前接收到的报文对应的报文号中,按照报文号由小至大的排列顺序排列在当前的递增连续最大报文号后一个的报文号,然后第二确定单元603即可将当前的递增连续最大报文号和当前的最小不连续报文号之间所缺失的所有报文号,均确定为目标补缺报文号,第一发送单元604再发送每一个目标补缺报文号对应的补缺请求至发送端,第二接收单元605在接收到发送端发送的每一个目标补缺报文号的补缺报文后,即可返回重新从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号,在不发送多个ACK的情况下,通过当前的递增连续最大报文号和当前的最小不连续报文号实现了报文补缺。由于本申请中确定目标补缺报文号的方式不是靠不断发送ACK的方式实现,不需要发送大量的ACK,不容易造成ACK爆炸,进而也不会对网络通信的性能造成影响。
本申请实施例还公开了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如上述各实施例任一所述的丢包重传的方法。
本申请实施例还公开了一种丢包重传的设备,包括:一个或多个处理器,存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上述各实施例任一所述的丢包重传的方法。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (12)

1.一种丢包重传的方法,其特征在于,应用于接收端,所述丢包重传的方法包括:
接收发送端当前连续发送的多个未补缺报文;
从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号;其中,所述当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前接收到的报文对应的报文号进行统计之后,所统计到的递增连续的最大报文号;所述当前的最小不连续报文号为在当前接收到的报文对应的报文号中,按照报文号由小至大的排列顺序排列在所述当前的递增连续最大报文号后一个的报文号;
将所述当前的递增连续最大报文号和所述当前的最小不连续报文号之间所缺失的所有报文号,均确定为目标补缺报文号;
发送每一个所述目标补缺报文号对应的补缺请求至所述发送端;其中,所述目标补缺报文号对应的补缺请求用于请求所述发送端发送所述目标补缺报文号对应的补缺报文;
接收所述发送端发送的每一个所述目标补缺报文号的补缺报文,返回至所述从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号步骤;其中,所述当前接收到的报文,包括:接收到的未补缺报文和补缺报文。
2.根据权利要求1所述的方法,其特征在于,所述接收发送端当前连续发送的多个未补缺报文之后,还包括:
将接收到的所述多个未补缺报文按照报文号由小至大的排列顺序持续填充至第一目标容器中,直至所述第一目标容器填满为止;其中,所述第一目标容器最多可放入K个报文;K为正整数;
所述接收所述发送端发送的每一个所述目标补缺报文号对应的补缺报文之后,还包括:
将接收到的每一个所述补缺报文按照报文号由小至大的排列顺序持续填充至第二目标容器中,直至所述第二目标容器填满为止;其中,所述第二目标容器最多可放入K个报文;K为正整数;
所述从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号,包括:
从所述第一目标容器和所述第二目标容器所存放过的所有接收到的报文中,统计出当前的递增连续最大报文号;其中,所述当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前所述第一目标容器和所述第二目标容器所存放过的所有接收到的报文进行统计之后,所统计到的递增连续的最大报文号;
将所述第一目标容器和所述第二目标容器中的当前的递增连续最大报文号所对应的报文、以及排列在所述当前的递增连续最大报文号之前的所有报文清除;
将清除处理后的所述第一目标容器中的最小报文号确定为当前的最小不连续报文号。
3.根据权利要求2所述的方法,其特征在于,还包括:
将每一个所述目标补缺报文号按照报文号从小至大的排列顺序放入至补缺序号队列中;
其中,所述发送每一个所述目标补缺报文号对应的补缺请求至所述发送端,包括:
按照所述补缺序号队列中的报文号排列顺序,发送每一个所述目标补缺报文号对应的补缺请求;
所述将每一个所述目标补缺报文号按照报文号从小至大的排列顺序放入至补缺序号队列中之后,还包括:
在发送每一个所述目标补缺报文号对应的补缺请求的过程中,针对已发送的每一个所述目标补缺报文号对应的补缺请求,在发送所述目标补缺报文号对应的补缺请求之后,将所述目标补缺报文号放入至所述补缺序号队列的末尾,直至接收到所述目标补缺报文号对应的补缺报文为止,将所述补缺序号队列中所述目标补缺报文号进行删除。
4.根据权利要求1至3任一所述的方法,其特征在于,还包括:
按照预设的时间间隔,发送当前的递增连续最大报文号对应的确认字符至所述发送端;
或者,在确定出的当前的递增连续最大报文号为预设递增连续最大报文号时,发送当前的递增连续最大报文号对应的确认字符至所述发送端。
5.根据权利要求2所述的方法,其特征在于,所述第一目标容器最多可放入的报文个数K的设定过程,包括:
将所述第一目标容器最多可放入的报文个数K预设置为统计最大概率出现丢包或乱序状况时发送端所连续发送的未补缺报文个数;
若检测到所述第一目标容器中放入的最小的两个报文对应的报文号之间的差值大于预设置的K,则将所述预设置的K修改为所述第一目标容器中放入的最小的两个报文对应的报文号之间的差值。
6.一种丢包重传的装置,其特征在于,应用于接收端,所述丢包重传的装置包括:
第一接收单元,用于接收发送端当前连续发送的多个未补缺报文;
第一确定单元,用于从当前接收到的报文中,确定出当前的递增连续最大报文号和当前的最小不连续报文号;其中,所述当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前接收到的报文对应的报文号进行统计之后,所统计到的递增连续的最大报文号;所述当前的最小不连续报文号为在当前接收到的报文对应的报文号中,按照报文号由小至大的排列顺序排列在所述当前的递增连续最大报文号后一个的报文号;
第二确定单元,用于将所述当前的递增连续最大报文号和所述当前的最小不连续报文号之间所缺失的所有报文号,均确定为目标补缺报文号;
第一发送单元,用于发送每一个所述目标补缺报文号对应的补缺请求至所述发送端;其中,所述目标补缺报文号对应的补缺请求用于请求所述发送端发送所述目标补缺报文号对应的补缺报文;
第二接收单元,用于接收所述发送端发送的每一个所述目标补缺报文号的补缺报文,返回至所述第一确定单元;其中,所述当前接收到的报文,包括:接收到的未补缺报文和补缺报文。
7.根据权利要求6所述的装置,其特征在于,还包括:
第一填充单元,用于将接收到的所述多个未补缺报文按照报文号由小至大的排列顺序持续填充至第一目标容器中,直至所述第一目标容器填满为止;其中,所述第一目标容器最多可放入K个报文;K为正整数;
第二填充单元,用于将接收到的每一个所述补缺报文按照报文号由小至大的排列顺序持续填充至第二目标容器中,直至所述第二目标容器填满为止;其中,所述第二目标容器最多可放入K个报文;K为正整数;
所述第一确定单元,包括:
统计子单元,用于从所述第一目标容器和所述第二目标容器所存放过的所有接收到的报文中,统计出当前的递增连续最大报文号;其中,所述当前的递增连续最大报文号为从首个报文号开始按照报文号由小至大的连续顺序对当前所述第一目标容器和所述第二目标容器所存放过的所有接收到的报文进行统计之后,所统计到的递增连续的最大报文号;
清除子单元,用于将所述第一目标容器和所述第二目标容器中的当前的递增连续最大报文号所对应的报文、以及排列在所述当前的递增连续最大报文号之前的所有报文清除;
第一确定子单元,用于将清除处理后的所述第一目标容器中的最小报文号确定为当前的最小不连续报文号。
8.根据权利要求7所述的装置,其特征在于,还包括:
第一排列单元,用于将每一个所述目标补缺报文号按照报文号从小至大的排列顺序放入至补缺序号队列中;
其中,所述第一发送单元,包括:
第一发送子单元,用于按照所述补缺序号队列中的报文号排列顺序,发送每一个所述目标补缺报文号对应的补缺请求;
所述丢包重传的装置,还包括:
第二排列单元,用于在发送每一个所述目标补缺报文号对应的补缺请求的过程中,针对已发送的每一个所述目标补缺报文号对应的补缺请求,在发送所述目标补缺报文号对应的补缺请求之后,将所述目标补缺报文号放入至所述补缺序号队列的末尾,直至接收到所述目标补缺报文号对应的补缺报文为止,将所述补缺序号队列中所述目标补缺报文号进行删除。
9.根据权利要求6至8所述的任一装置,其特征在于,还包括:
第二发送单元,用于按照预设的时间间隔,发送当前的递增连续最大报文号对应的确认字符至所述发送端;或者,在确定出的当前的递增连续最大报文号为预设递增连续最大报文号时,发送当前的递增连续最大报文号对应的确认字符至所述发送端。
10.根据权利要求7所述的装置,其特征在于,还包括:
第一设置单元,用于将所述第一目标容器最多可放入的报文个数K预设置为统计最大概率出现丢包或乱序状况时发送端所连续发送的未补缺报文个数;
第二设置单元,用于若检测到所述第一目标容器中放入的最小的两个报文对应的报文号之间的差值大于预设置的K,则将所述预设置的K修改为所述第一目标容器中放入的最小的两个报文对应的报文号之间的差值。
11.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1至5中任一所述的方法。
12.一种丢包重传的设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一所述的方法。
CN202110596972.1A 2021-05-31 2021-05-31 丢包重传的方法、装置、可读介质以及设备 Active CN113259062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110596972.1A CN113259062B (zh) 2021-05-31 2021-05-31 丢包重传的方法、装置、可读介质以及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110596972.1A CN113259062B (zh) 2021-05-31 2021-05-31 丢包重传的方法、装置、可读介质以及设备

Publications (2)

Publication Number Publication Date
CN113259062A true CN113259062A (zh) 2021-08-13
CN113259062B CN113259062B (zh) 2021-10-29

Family

ID=77183528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110596972.1A Active CN113259062B (zh) 2021-05-31 2021-05-31 丢包重传的方法、装置、可读介质以及设备

Country Status (1)

Country Link
CN (1) CN113259062B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546081A (zh) * 2010-12-21 2012-07-04 中兴通讯股份有限公司 丢包检测方法、系统和媒体客户端
US20140036795A1 (en) * 2012-08-03 2014-02-06 Marta Martinez Tarradell Apparatus and method for small data transmission in 3gpp-lte systems
CN103999394A (zh) * 2012-11-16 2014-08-20 华为技术有限公司 数据重传、反馈方法,以及相应的装置
CN104518853A (zh) * 2013-09-27 2015-04-15 北京新媒传信科技有限公司 一种数据重传的方法、接收端及系统
CN106506124A (zh) * 2015-09-07 2017-03-15 中国移动通信集团公司 重传报文确定方法及装置
CN108270682A (zh) * 2016-12-30 2018-07-10 华为技术有限公司 一种报文传输方法、终端、网络设备及通信系统
CN108282277A (zh) * 2018-01-22 2018-07-13 西安万像电子科技有限公司 一种丢包重传方法、装置及系统
CN109039552A (zh) * 2018-09-20 2018-12-18 郑州云海信息技术有限公司 一种数据恢复方法及装置
CN111786748A (zh) * 2019-08-29 2020-10-16 北京京东尚科信息技术有限公司 数据重传方法和系统、网卡、装置、服务器和存储介质
CN112953687A (zh) * 2021-02-20 2021-06-11 杭州卯方科技有限公司 基于统计预测的丢包重传机制

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546081A (zh) * 2010-12-21 2012-07-04 中兴通讯股份有限公司 丢包检测方法、系统和媒体客户端
US20140036795A1 (en) * 2012-08-03 2014-02-06 Marta Martinez Tarradell Apparatus and method for small data transmission in 3gpp-lte systems
CN103999394A (zh) * 2012-11-16 2014-08-20 华为技术有限公司 数据重传、反馈方法,以及相应的装置
CN104518853A (zh) * 2013-09-27 2015-04-15 北京新媒传信科技有限公司 一种数据重传的方法、接收端及系统
CN106506124A (zh) * 2015-09-07 2017-03-15 中国移动通信集团公司 重传报文确定方法及装置
CN108270682A (zh) * 2016-12-30 2018-07-10 华为技术有限公司 一种报文传输方法、终端、网络设备及通信系统
CN108282277A (zh) * 2018-01-22 2018-07-13 西安万像电子科技有限公司 一种丢包重传方法、装置及系统
CN109039552A (zh) * 2018-09-20 2018-12-18 郑州云海信息技术有限公司 一种数据恢复方法及装置
CN111786748A (zh) * 2019-08-29 2020-10-16 北京京东尚科信息技术有限公司 数据重传方法和系统、网卡、装置、服务器和存储介质
CN112953687A (zh) * 2021-02-20 2021-06-11 杭州卯方科技有限公司 基于统计预测的丢包重传机制

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邓俊荃: "无线网络中基于无速率编码的报文传输与多用户接入机制的研究", 《中国优秀硕士学位论文全文数据库》 *

Also Published As

Publication number Publication date
CN113259062B (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
CN112165355B (zh) 一种面向卫星网络的基于udp的可靠数据传输方法
CN104093170B (zh) 基于tcp的数据传输方法和tcp代理装置
US8200838B2 (en) Data flow control with duplicate acknowledgement
EP3522418A1 (en) Network-based real-time video transmission method and device
CN103138905B (zh) Rlc数据包传输的确认方法及rlc am实体发送方
CN108631954B (zh) 一种数据传输方法及装置
US8825891B2 (en) Method and device for message retransmission
EP2175582B2 (en) A method for triggering status report of automatic repeat request
EP3557801A1 (en) Segment retransmission method and device
CN107979449A (zh) 一种数据传输方法及装置
CN109698797A (zh) 一种tcp拥塞控制方法和装置
WO2016201904A1 (zh) 一种基于tcp的数据传输方法及装置
CN110460533A (zh) 基于rdma的数据传输方法及装置
CN102209021A (zh) 一种包聚合传输的方法和装置
CN112838910A (zh) 一种基于混合反馈的数据传输方法及装置
CN101989899A (zh) 一种无线链路控制层触发状态报告的方法及接收侧装置
CN113259062B (zh) 丢包重传的方法、装置、可读介质以及设备
WO2008078218A2 (en) Methods for providing feedback in messaging systems
CN111163362A (zh) 一种自适应重传等待时间的视频接收方法及系统
CN107801200B (zh) 状态报告的发送方法及装置
CN110649994B (zh) 数据传输控制方法及相关设备、存储介质
CN117040692A (zh) 一种业务数据传输的方法及装置、电子设备、存储介质
US20050094632A1 (en) DOCSIS MAC layer-based ARQ for fixed wireless
CN115866095A (zh) 数据传输方法、装置、电子设备及存储介质
CN102694635B (zh) 一种选择性确认sack选项的生成和使用方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant