CN112838910A - 一种基于混合反馈的数据传输方法及装置 - Google Patents
一种基于混合反馈的数据传输方法及装置 Download PDFInfo
- Publication number
- CN112838910A CN112838910A CN202110307332.4A CN202110307332A CN112838910A CN 112838910 A CN112838910 A CN 112838910A CN 202110307332 A CN202110307332 A CN 202110307332A CN 112838910 A CN112838910 A CN 112838910A
- Authority
- CN
- China
- Prior art keywords
- data frame
- sequence number
- frame
- information
- sent
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1642—Formats specially adapted for sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于混合反馈的数据传输方法及装置,发送端在数据帧的帧头字段中填入序号,并按照序号的顺序依次将数据帧发送出去,接收端在接收到数据帧后,解析数据帧的帧头字段,得到数据帧的序号,并对接收到的数据帧的序号的连续性进行检测,若检测到接收到的数据帧不连续,则认为出现了丢失数据帧的情况,生成包含丢失数据帧序号的反馈帧,发送端在接收到反馈帧时,若解析出丢失数据帧信息,则对丢失数据帧进行补发。由此,通过检测数据帧序号连续性的方式,确认数据帧的丢失情况,并在数据帧丢失的情况下,告知发送端进行补发,这样不仅提升了数据传输的可靠性,并且极大的提高了链路层数据传输的信道利用率。
Description
技术领域
本发明涉及数据传输领域,尤其涉及一种基于混合反馈的数据传输方法及装置。
背景技术
针对数据传输领域,保障数据传输的可靠性是非常关键的,为了保障移动设备的可靠性数据传输,现有技术中采用如MobilityFirst互联网架构,即基于TCP/IP传输的握手方式,对已发送的数据包得到反馈确认再进行下一次传输。
其中,上述方法虽然在一定程度上可以解决移动设备可靠传输的问题,但是由于链路问题导致发生交互包丢失情况时,会产生大量的数据重传或无效数据,因此,现有技术中还存在传输效率低以及路由信道利用率低的问题。
发明内容
有鉴于此,本发明实施例公开了一种基于混合反馈的数据传输方法及装置,通过数据帧序号连续性的方式,检测数据帧的丢失情况,并在数据帧丢失的情况下,告知发送端进行补发,这样不仅提升了数据传输的可靠性,并且极大的提高了链路层数据传输的信道利用率。
本发明实施例公开了一种基于混合反馈的数据传输方法,所述方法应用于发送端,包括:
当从上层应用接收到待发送数据帧时,解析所述待发送数据帧的下一跳的信息,并根据所述待发送数据帧的下一跳的信息确定所述待发送数据帧的序号,将所述待发送数据帧的序号填入帧头字段中;每个下一跳的信息对应的数据帧的序号是连续且递增的;
对于下一跳的信息相同的待发送数据帧,按照数据帧序号的顺序依次将待发送数据帧发送出去;
当接收到接收端发送的数据帧时,解析所述反馈帧;所述反馈帧是接收端依据数据帧的丢失情况生成的,所述数据帧的丢失情况是通过对接收到的数据帧的序号的连续情况进行检测得到的;
当解析出反馈帧中包含丢失数据帧的信息时,获取丢失数据帧的第一目标序号以及所述丢失数据帧对应的发送链表,并从所述丢失数据帧对应的发送链表中获取所述第一目标序号的数据帧;
将所述第一目标序号的数据帧重新发送。
可选的,所述根据所述待发送数据帧的下一跳的信息确定所述待发送数据帧的序号,包括:
当从上层应用接收到待发送的数据帧时,确定所述待发送数据帧的下一跳的信息,根据所述下一跳的信息确定所述待发送数据帧对应的发送链表;
按照发送链表中包含的数据帧的序号,确定待发送数据帧的序号。
可选的,还包括:
根据所述待发送数据帧的下一跳的信息确定所述发送数据帧对应的发送链表;
将所述待发送数据帧存储到对应的发送链表中。
可选的,所述获取丢失数据帧的第一目标序号以及所述丢失数据帧对应的发送链表,包括:
解析所述反馈帧的上一跳的信息;
通过所述反馈帧的上一跳的信息,确定所述丢失数据帧对应的发送链表;
从所述丢失数据帧对应的发送链表中获取所述第一目标序号的数据帧。
可选的,还包括:
当解析到反馈帧中包含成功接收的数据帧的信息时,获取成功接收的数据帧对应的第二目标序号;
获取成功接收的数据帧对应的发送链表;
按照发送链表中数据帧的存储顺序对发送链表进行检查,获取第二目标序号对应的数据帧;
从所述发送链表中删除第二目标序号对应的数据帧。
可选的,还包括:
每间隔预设的第一时间获取当前节点对应的下一跳的信息,得到邻居列表;
检测当前发送链表对应的下一跳的信息是否在所述邻居列表中;
若检测到第一目标发送链表对应的下一跳的信息不在所述邻居列表中,则对所述第一目标发送链表中的数据帧重新路由,重新确定所述数据帧当前对应的下一跳的信息;
根据所述数据帧当前对应的下一跳的信息生成第二目标发送链表,并将所述第一目标发送链表中包含的数据帧存储到第二目标发送链表中。
本发明实施例还公开了一种数据传输方法,所述方法应用于接收端,所述方法包括:
当接收到数据帧时,解析所述数据帧的帧头字段,得到所述数据帧的第三目标序号;
检测所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号是否是连续的;
若检测到所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号不是连续的,则获取丢失数据帧的序号;所述丢失数据帧的序号为第三目标序号与所述数据帧尾号之间的序号;
生成包含丢失数据帧序号的反馈帧,并将所述反馈帧发送给发送端。
可选的,还包括:
每间隔预设的第二时间,查询定位表;所述定位表中存储有丢失数据帧的序号;
根据所述定位表的查询结果,生成反馈帧;所述反馈帧中包含丢失数据帧的序号和/或已成功接收的数据帧的序号。
本发明实施例公开了一种发送端,包括:
发送单元,用于:
当从上层应用接收到待发送数据帧时,解析所述待发送数据帧的下一跳的信息,并根据所述待发送数据帧的下一跳的信息确定所述待发送数据帧的序号,将所述待发送数据帧的序号填入帧头字段中;每个下一跳的信息对应的数据帧的序号是连续且递增的;对于下一跳的信息相同的待发送数据帧,按照数据帧序号的顺序依次将待发送数据帧发送出去;
反馈帧处理单元,用于:
当接收到接收端发送的数据帧时,解析所述反馈帧;所述反馈帧是接收端依据数据帧的丢失情况生成的,所述数据帧的丢失情况是通过对接收到的数据帧的序号的连续情况进行检测得到的;
当解析出反馈帧中包含丢失数据帧的信息时,获取丢失数据帧的第一目标序号以及所述丢失数据帧对应的发送链表,并从所述丢失数据帧对应的发送链表中获取所述第一目标序号的数据帧;
将所述第一目标序号的数据帧重新发送。
本发明实施例公开了一种接收端,包括:
接收单元,用于当接收到数据帧时,解析所述数据帧的帧头字段,得到所述数据帧的第三目标序号;检测所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号是否是连续的;若检测到所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号不是连续的,则获取丢失数据帧的序号;所述丢失数据帧的序号为第三目标序号与所述数据帧尾号之间的序号;
反馈单元,用于生成包含丢失数据帧序号的反馈帧,并将所述反馈帧发送给发送端。
本发明公开了一种基于混合反馈的数据传输方法及装置,发送端在数据帧的帧头字段中填入序号,并按照序号的顺序依次将数据帧发送出去,接收端在接收到数据帧后,解析数据帧的帧头字段,得到数据帧的序号,并对接收到的数据帧的序号的连续性进行检测,若检测到接收到的数据帧不连续,则认为出现了丢失数据帧的情况,生成包含丢失数据帧序号的反馈帧,发送端在接收到反馈帧时,若解析出丢失数据帧信息,则对丢失数据帧进行补发。由此,通过检测数据帧序号连续性的方式,确认数据帧的丢失情况,并在数据帧丢失的情况下,告知发送端进行补发,这样不仅提升了数据传输的可靠性,并且极大的提高了链路层数据传输的信道利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例提供的一种基于混合反馈的数据传输方法的流程示意图;
图2示出了本发明实施例提供的一种基于混合反馈的数据传输方法的又一流程示意图;
图3示出了本发明实施例提供的一种发送链表的维护方法的流程示意图;
图4示出了本发明实施例提供的一种基于混合反馈的数据传输方法的另一流程示意图;
图5示出了本发明实施例提供的一种发送端的结构示意图;
图6示出了本发明实施例提供的一种接收端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,示出了本发明实施例提供的一种基于混合反馈的数据传输方法的流程示意图,在本实施例中,该方法包括:
其中,该方法应用于数据传输系统,数据传输系统包括:发送端和接收端。
S101:当从上层应用接收到待发送数据帧时,解析所述待发送数据帧的下一跳的信息,并根据所述待发送数据帧的下一跳的信息确定所述待发送数据帧的序号,将所述待发送数据帧的序号填入帧头字段中;每个下一跳的信息对应的数据帧的序号是连续且递增的;
S102:对于下一跳的信息相同的待发送数据帧,按照数据帧序号的顺序依次将待发送数据帧发送出去;
其中,数据帧的序号用于指示数据帧的发送顺序,即,发送端会按照数据帧的序号的顺序依次将数据帧发送出去。
S103:接收端在接收到数据帧时,解析所述数据帧的帧头字段,得到数据帧的第三目标序号;
S104:检测所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号是否是连续,若检测到所述数据帧的第三目标序号与接收到的历史数据帧尾号不是连续且递增的,则获取丢失数据帧的序号;所述丢失数据帧的序号为第三目标序号与所述数据帧尾号之间的序号;
S105:生成包含丢失数据帧序号的反馈帧,并将所述反馈帧发送给发送端;
本实施例中,接收端在每次接收到数据帧时,更新数据帧的尾号,当再次接收到数据帧后,从数据帧的帧头字段中解析出第三目标序号,检测解析出的第三目标序号与数据帧尾号是否是连续的,若解析出的第三目标序号与数据帧尾号是连续的,那么表示数据传输的过程中,没有丢失数据帧,但是若解析出的第三目标序号与数据帧尾号是不连续的,那么认为在数据传输的过程中,存在丢失的数据帧。其中,丢失的数据帧可以通过当前解析出的第三目标数据帧的序号和接收到的历史数据帧的数据帧尾号确定的,主要是第三目标数据帧和历史数据帧的数据帧尾号之间的序号,则认为是丢失的数据帧。
举例说明:接收端接收到的历史数据帧尾号是10,当前解析出的数据帧的序号为15,那么丢失数据帧的序号为,11、12、13、14。
本实施例中,接收端生成包含丢失数据帧序号的反馈帧,并将反馈帧发送给发送端。
S106:当接收到的接收端发送的反馈帧时,解析所述反馈帧,当解析出反馈帧中包含丢失数据帧的信息时,获取丢失数据帧的第一目标序号,并从预设的发送链表中获取所述第一目标序号的数据帧;
S107:将所述第一目标序号的数据帧重新发送。
本实施例中,发送端在接收到反馈帧时,对反馈帧进行解析,若解析出反馈帧中包含丢失数据帧的序号,则重新对丢失数据帧进行补发。
本实施例中,在发送端,在数据帧的帧头字段中填入序号,并按照序号的顺序依次将数据帧发送出去,接收端在接收到数据帧后,解析数据帧的帧头字段,得到数据帧的序号,并对接收到的数据帧的序号的连续性进行检测,若检测到接收到的数据帧不连续,则认为出现了丢失数据帧的情况,生成包含丢失数据帧序号的数据帧,发送端在接收到反馈帧时,若解析出丢失数据帧信息,则对丢失数据帧进行补发。由此,通过检测数据帧序号连续性的方式,确认数据帧的丢失情况,并在数据帧丢失的情况下,告知发送端进行补发,这样不仅提升了数据传输的可靠性,并且极大的提高了链路层数据传输的信道利用率。
参考图2,示出了本发明实施例提供的一种基于混合反馈的数据传输方法的又一流程示意图,该方法应用于发送端,包括:
S201:当从上层应用接收到待发送数据帧时,解析所述待发送数据帧的下一跳的信息,并根据所述待发送数据帧的下一跳的信息确定所述待发送数据帧的序号,将所述待发送数据帧的序号填入帧头字段中;每个下一跳的信息对应的数据帧的序号是连续且递增的;
本实施例中,解析下一跳的信息的方法可以包括多种,本实施例中不进行限定,优选的可以通过如下的方法:
从所述数据帧的帧头字段中获取端到端的目的地信息;
调取预设的路由表信息,并通过所述路由表信息和端到端的目的地信息,确定下一跳的信息。
本实施例中,为了方便缓存待发送的数据,设置了发送链表,将待发送的数据存储到发送链表中,每个发送链表与到当前节点的下一跳的信息相对应,并且每个下一跳的信息对应的数据帧的序号是连续且递增的,那么发送链表中的数据帧也是连续且递增的。
其中,为了区分各个发送链表,通过不同的标识对发送链表进行了标记,例如可以计算发送帧的下一跳的信息和当前节点信息的哈希值,并以此哈希值作为发送链表的标识信息。
其中,将填入序号的数据帧发送到发送链表的过程包括,按照序号递增的规则,将待发送的数据帧存入发送链表中。
通过上述接收可知,S201还可以存在另外一种实现方式,包括:
当从上层应用接收到待发送的数据帧时,确定所述待发送数据帧的下一跳的信息,根据所述下一跳的信息确定所述待发送数据帧对应的发送链表;
按照发送链表中包含的数据帧的序号,确定待发送数据帧的序号;
将待发送数据帧的序号填入待发送数据帧的帧头字段中。
本实施例中,当接收到待发送的数据帧时,解析该数据帧的下一跳的信息,若发送端包含该下一跳的信息对应的发送链表,则将基于当前发送链表中已有的数据的序号确定待发送数据帧的序号,具体的,按照发送链表中的数据帧的序号连续且递增的原则确定数据帧的序号,例如发送链表中最大的序号为5,那个待发送的数据帧的序号为6;若该待发送数据帧的下一跳的信息没有对应的发送链表,则重新生成发送链表,并从预设的初始序号开始,确定该发送链表对应的数据帧的序号。
S202:对于下一跳的信息相同的待发送数据帧,按照数据帧序号的顺序依次将待发送数据帧发送出去;
数据帧发送时,可以通过底层链路发送接口发送给下一跳,最终发送给接收端。
S203:当接收到接收端发送的反馈帧时,解析所述反馈帧;所述反馈帧是接收端依据数据帧的丢失情况生成的,所述数据帧的丢失情况是通过对接收到的数据帧的序号的连续情况进行检测得到的;
本实施例中,接收端在每次接收到数据帧时,更新数据帧的尾号,当再次接收到数据帧后,从数据帧的帧头字段中解析出序号,检测解析出的序号与数据帧尾号是否是连续的,若解析出的序号与数据帧尾号是连续的,那么表示数据传输的过程中,没有丢失数据帧,但是若解析出的数据帧的序号与数据帧尾号是不连续的,那么认为在数据传输的过程中,存在丢失数据帧的情况。其中,丢失的数据帧可以通过当前解析出的数据帧的序号和接收到的历史数据帧的数据帧尾号确定,例如解析出的数据帧的序号和历史数据帧的数据帧尾号之间的序号,被认为是丢失的数据帧的序号。
S204:当解析出反馈帧中包含丢失数据帧的信息时,获取丢失数据帧的第一目标序号以及所述丢失数据帧对应的发送链表,并从所述丢失数据帧对应的发送链表中获取所述第一目标序号的数据帧;
S205:将所述第一目标序号的数据帧重新发送;
本实施例中,通过上述的介绍可知,在将数据帧发送出去之前,会将数据帧存入对应的发送链表中,其中,发送链表与下一跳的信息有关,即通过数据帧的下一跳的信息可以确定出对应的发送链表,进而将数据帧存入发送链表中。
进一步的,为了方便后续对发送链表中的数据进行处理,例如查询和删除,需要严格按照序号的顺序在发送链表中存入数据帧。
本实施例中,在解析出丢失数据帧的第一目标序号后,需要找到该丢失数据帧对应的发送链表,从而获取到丢失数据帧,具体的,S204,包括:
解析所述反馈帧的上一跳的信息;
通过所述反馈帧的上一跳的信息,确定所述丢失数据帧对应的发送链表;
从所述丢失数据帧对应的发送链表中获取所述第一目标序号的数据帧。
需要知道的是,反馈帧的上一跳的信息与待发送的数据帧的下一跳的信息是一致的。
进一步的,通过上述介绍可知,通过哈希值对发送链表进行了标记,其中,每个发送链表的标识信息为:通过下一跳的信息和当前节点信息计算的哈希值。由此,可以通过该标识确定与丢失数据帧对应的发送链表,计算反馈帧的上一跳的信息和当前节点信息的哈希值,反馈帧的上一条信息和当前节点信息的哈希值对应的发送链表就是包含丢失数据帧的发送链表。
其中,反馈帧中除了可能包含丢失数据帧的信息外,还可能包含成功接收的数据帧的信息,那么发送端可以根据反馈帧,知道哪些数据帧被接收端成功接收了。
并且,为了降低发送端的存储压力,在接收到未丢失数据帧的信息后,从发送链表中,将未丢失数据帧删除,具体的,还包括:
当解析到反馈帧中包含成功接收的数据帧的信息时,获取成功接收的数据帧对应的第二目标序号;
获取成功接收的数据帧对应的发送链表;
按照发送链表中数据帧的存储顺序对发送链表进行检查,获取第二目标序号对应的数据帧;
从所述发送链表中删除第二目标序号对应的数据帧。
需要说明的是,反馈帧中不仅包含有丢失数据帧的信息,也可能包含有成功发送的数据帧的信息,反馈帧中存储的丢失数据帧的信息或者成功发送的数据帧的信息,可以是数据帧的序号信息,或者还可以是数据帧的序号范围。本实施例中,对于收到的每一个反馈帧,发送方会根据反馈帧内容确定涉及到的数据帧序列号范围,顺序地检查发送链表,若需要补发则调用底层链路发送接口向接收方补发这些数据帧,对于成功接收的数据帧,在发送链表中删除这些数据。
本实施例中,发送端在数据帧的帧头字段中填入序号,并按照序号的顺序依次将数据帧发送出去,接收端在接收到数据帧后,解析数据帧的帧头字段,得到数据帧的序号,并对接收到的数据帧的序号的连续性进行检测,若检测到接收到的数据帧不连续,则认为出现了丢失数据帧的情况,生成包含丢失数据帧序号的反馈帧,发送端在接收到反馈帧时,若解析出丢失数据帧信息,则对丢失数据帧进行补发。由此,通过检测数据帧序号连续性的方式,确认数据帧的丢失情况,并在数据帧丢失的情况下,告知发送端进行补发,这样不仅提升了数据传输的可靠性,并且极大的提高了链路层数据传输的信道利用率。
申请人研究发现,由于移动设备的不稳定性,下一跳的信息可能会不断的发生变动,这种情况下,若不及时对发送链表进行更改,在接收到反馈帧后,很有可能找不到相对应的发送链表,从而无法对丢失帧进行补发,并且,在下一跳发送变化的情况下,待发送的数据帧也有可能无法成功发送出去,为了解决上述问题,本实施例中,提供了定期维护发送链表的方法,参考图3,示出了本发明实施例提供的一种发送链表的维护方法的流程示意图,包括:
S301:每间隔预设的第一时间获取当前节点对应的下一跳的信息,得到邻居列表;
本实施例中,可以通过多种方法获取当前节点对应的下一跳的信息,本实施例中不进行限定。
S302:检测当前发送链表对应的下一跳的信息是否在所述邻居列表中;
S303:若检测到第一目标发送链表对应的下一跳的信息不在所述邻居列表中,则对所述第一目标发送链表中的数据帧重新路由,重新确定所述数据帧当前对应的下一跳的信息;
本实施例中,当任何一个发送链表对应的下一跳不存在后,则该下一跳的信息也不会在出现在邻居列表中。
S304:根据所述数据帧当前对应的下一跳的信息生成第二目标发送链表,并将所述第一目标发送链表中包含的数据帧存储到第二目标发送链表中。
当任何一个下一跳的信息不存在后,将该下一跳的信息对应的发送链表中的数据帧重新进行路由选择,从而确定新的下一跳,并生成新的下一跳的信息对应的发送链表,将不存在的下一跳对应的发送链表中的数据帧转移到新的下一跳的信息对应的发送链表中。
本实施例中,通过不断的更新下一跳的信息,从而实现对发送链表的维护,这样,避免由于出现失效的下一跳,从而导致数据帧无法成功发送,或者无法对丢失的数据帧进行补发的问题。
参考图4,示出了本发明实施例提供的一种基于混合反馈的数据传输方法的另一流程示意图,该方法应用于接收端,该方法包括:
S401:当接收到数据帧时,解析所述数据帧的帧头字段,得到所述数据帧的第三目标序号;
S402:检测所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号是否是连续的;
S403:若检测到所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号不是连续的,则获取丢失数据帧的序号;所述丢失数据帧的序号为第三目标序号与所述数据帧尾号之间的序号;
通过上述介绍可知,同一个下一跳的信息对应的数据帧是按照序号的顺序发送的,同一个下一跳的信息对应于同一个接收端的目的地址,那么正常情况下,接收端接收到的数据帧的序号也是连续且递增的。
本实施例中,接收端每次接收到数据帧后,会更新接收到的数据帧尾号,当再次接收到数据帧后,可以通过检测接收到的数据帧的序号与数据帧尾号的连续性,判断是否出现了丢失数据帧的情况,当接收到的数据帧的序号与数据帧尾号不连续,那么表示接收到的数据帧的序号与数据帧尾号之间的数据帧是没有成功接收的。
S404:生成包含丢失数据帧序号的反馈帧,并将所述反馈帧发送给发送端。
进一步的,接收端在检测到存在丢失帧的情况后,还可以将丢失帧的信息存储到预设的定位表中。
其中,定位表中存储的信息可以只包含丢失的数据帧的序号,即每个丢失数据帧均用数据帧的序号进行表示;或者还可以包括:丢失的数据帧的序号,以及从丢失的数据帧开始连续缺失的数据帧的个数,即丢失数据帧通过丢失数据帧的序号以及连续丢失的数据帧的个数进行表示。这样减少了定位表的内存开销。
本实施例中,接收端发送的反馈帧也有可能出现接收端不能正常接收的情况,为了保障接收端能够成功接收到反馈帧,定期的查询定位表,并生成反馈帧发送给发送端,具体的,还包括:
每间隔预设的第二时间,查询定位表;
根据所述定位表的查询结果,生成反馈帧;所述反馈帧中包含丢失数据帧的序号和/或已成功接收的数据帧的序号。
本实施例中,反馈帧除了向发送端反馈丢失数据帧的信息外,还可以向发送端反馈已成功接收的数据帧的序号,从而使得发送端可以将已经成功接收的数据帧从发送链表中删除。
本实施例中,接收端通过检测接收到的数据帧的连续情况,确定是否出现丢失帧的情况,并将丢失数据帧的信息通过反馈发送给发送端,从而保障了数据传输过程中的可靠性。
参考图5,示出了本发明实施例提供的一种发送端的结构示意图,在本实施例中,该发送端包括:
发送单元501,用于:
当从上层应用接收到待发送数据帧时,解析所述待发送数据帧的下一跳的信息,并根据所述待发送数据帧的下一跳的信息确定所述待发送数据帧的序号,将所述待发送数据帧的序号填入帧头字段中;每个下一跳的信息对应的数据帧的序号是连续且递增的;对于下一跳的信息相同的待发送数据帧,按照数据帧序号的顺序依次将待发送数据帧发送出去;
反馈帧处理单元502,用于:
当接收到接收端发送的数据帧时,解析所述反馈帧;所述反馈帧是接收端依据数据帧的丢失情况生成的,所述数据帧的丢失情况是通过对接收到的数据帧的序号的连续情况进行检测得到的;
当解析出反馈帧中包含丢失数据帧的信息时,获取丢失数据帧的第一目标序号以及所述丢失数据帧对应的发送链表,并从所述丢失数据帧对应的发送链表中获取所述第一目标序号的数据帧;
将所述第一目标序号的数据帧重新发送。
可选的,所述发送单元还用于:
当从上层应用接收到待发送的数据帧时,确定所述待发送数据帧的下一跳的信息,根据所述下一跳的信息确定所述待发送数据帧对应的发送链表;
按照发送链表中包含的数据帧的序号,确定待发送数据帧的序号。
可选的,所述发送单元,还用于:
根据所述待发送数据帧的下一跳的信息确定所述发送数据帧对应的发送链表;
将所述待发送数据帧存储到对应的发送链表中。
可选的,所述反馈帧处理单元,还用于:
解析所述反馈帧的上一跳的信息;
通过所述反馈帧的上一跳的信息,确定所述丢失数据帧对应的发送链表;
从所述丢失数据帧对应的发送链表中获取所述第一目标序号的数据帧。
可选的,反馈帧处理单元,还用于:
当解析到反馈帧中包含成功接收的数据帧的信息时,获取成功接收的数据帧对应的第二目标序号;
获取成功接收的数据帧对应的发送链表;
按照发送链表中数据帧的存储顺序对发送链表进行检查,获取第二目标序号对应的数据帧;
从所述发送链表中删除第二目标序号对应的数据帧。
可选的,还包括:发送链表维护单元,用于:
每间隔预设的第一时间获取当前节点对应的下一跳的信息,得到邻居列表;
检测当前发送链表对应的下一跳的信息是否在所述邻居列表中;
若检测到第一目标发送链表对应的下一跳的信息不在所述邻居列表中,则对所述第一目标发送链表中的数据帧重新路由,重新确定所述数据帧当前对应的下一跳的信息;
根据所述数据帧当前对应的下一跳的信息生成第二目标发送链表,并将所述第一目标发送链表中包含的数据帧存储到第二目标发送链表中。
可选的,发送端还包括:
数据下载单元,用于从上层应用接收待发送数据帧。
通过本实施例的装置,不仅提升了数据传输的可靠性,并且极大的提高了链路层数据传输的信道利用率。
从参考图6,示出了本发明实施例提供的一种接收端的结构示意图,在本实施例中,该接收端包括:
接收单元601,用于当接收到数据帧时,解析所述数据帧的帧头字段,得到所述数据帧的第三目标序号;检测所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号是否是连续的;若检测到所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号不是连续的,则获取丢失数据帧的序号;所述丢失数据帧的序号为第三目标序号与所述数据帧尾号之间的序号;
反馈单元602,用于生成包含丢失数据帧序号的反馈帧,并将所述反馈帧发送给发送端。
可选的,所述反馈单元,还用于:
每间隔预设的第二时间,查询定位表;所述定位表中存储有丢失数据帧的序号;
根据所述定位表的查询结果,生成反馈帧;所述反馈帧中包含丢失数据帧的序号和/或已成功接收的数据帧的序号。
本实施例中,接收端通过检测接收到的数据帧的连续情况,确定是否出现丢失帧的情况,并将丢失数据帧的信息通过反馈发送给发送端,从而保障了数据传输过程中的可靠性。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于混合反馈的数据传输方法,其特征在于,所述方法应用于发送端,包括:
当从上层应用接收到待发送数据帧时,解析所述待发送数据帧的下一跳的信息,并根据所述待发送数据帧的下一跳的信息确定所述待发送数据帧的序号,将所述待发送数据帧的序号填入帧头字段中;每个下一跳的信息对应的数据帧的序号是连续且递增的;
对于下一跳的信息相同的待发送数据帧,按照数据帧序号的顺序依次将待发送数据帧发送出去;
当接收到接收端发送的数据帧时,解析所述反馈帧;所述反馈帧是接收端依据数据帧的丢失情况生成的,所述数据帧的丢失情况是通过对接收到的数据帧的序号的连续情况进行检测得到的;
当解析出反馈帧中包含丢失数据帧的信息时,获取丢失数据帧的第一目标序号以及所述丢失数据帧对应的发送链表,并从所述丢失数据帧对应的发送链表中获取所述第一目标序号的数据帧;
将所述第一目标序号的数据帧重新发送。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待发送数据帧的下一跳的信息确定所述待发送数据帧的序号,包括:
当从上层应用接收到待发送的数据帧时,确定所述待发送数据帧的下一跳的信息,根据所述下一跳的信息确定所述待发送数据帧对应的发送链表;
按照发送链表中包含的数据帧的序号,确定待发送数据帧的序号。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据所述待发送数据帧下一跳的信息确定所述发送数据帧对应的发送链表;
将所述待发送数据帧存储到对应的发送链表中。
4.根据权利要求1所述的方法,其特征在于,所述获取丢失数据帧的第一目标序号以及所述丢失数据帧对应的发送链表,包括:
解析所述反馈帧的上一跳的信息;
通过所述反馈帧的上一跳的信息,确定所述丢失数据帧对应的发送链表;
从所述丢失数据帧对应的发送链表中获取所述第一目标序号的数据帧。
5.根据权利要求1所述的方法,其特征在于,还包括:
当解析到反馈帧中包含成功接收的数据帧的信息时,获取成功接收的数据帧对应的第二目标序号;
获取成功接收的数据帧对应的发送链表;
按照发送链表中数据帧的存储顺序对发送链表进行检查,获取第二目标序号对应的数据帧;
从所述发送链表中删除第二目标序号对应的数据帧。
6.根据权利要求1所述的方法,其特征在于,还包括:
每间隔预设的第一时间获取当前节点对应的下一跳的信息,得到邻居列表;
检测当前发送链表对应的下一跳的信息是否在所述邻居列表中;
若检测到第一目标发送链表对应的下一跳的信息不在所述邻居列表中,则对所述第一目标发送链表中的数据帧重新路由,重新确定所述数据帧当前对应的下一跳的信息;
根据所述数据帧当前对应的下一跳的信息生成第二目标发送链表,并将所述第一目标发送链表中包含的数据帧存储到第二目标发送链表中。
7.一种基于混合反馈的数据传输方法,其特征在于,所述方法应用于接收端,所述方法包括:
当接收到数据帧时,解析所述数据帧的帧头字段,得到所述数据帧的第三目标序号;
检测所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号是否是连续的;
若检测到所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号不是连续的,则获取丢失数据帧的序号;所述丢失数据帧的序号为第三目标序号与所述数据帧尾号之间的序号;
生成包含丢失数据帧序号的反馈帧,并将所述反馈帧发送给发送端。
8.根据权利要求1所述的方法,其特征在于,还包括:
每间隔预设的第二时间,查询定位表;所述定位表中存储有丢失数据帧的序号;
根据所述定位表的查询结果,生成反馈帧;所述反馈帧中包含丢失数据帧的序号和/或已成功接收的数据帧的序号。
9.一种发送端,其特征在于,包括:
发送单元,用于:
当从上层应用接收到待发送数据帧时,解析所述待发送数据帧的下一跳的信息,并根据所述待发送数据帧的下一跳的信息确定所述待发送数据帧的序号,将所述待发送数据帧的序号填入帧头字段中;每个下一跳的信息对应的数据帧的序号是连续且递增的;对于下一跳的信息相同的待发送数据帧,按照数据帧序号的顺序依次将待发送数据帧发送出去;
反馈帧处理单元,用于:
当接收到接收端发送的数据帧时,解析所述反馈帧;所述反馈帧是接收端依据数据帧的丢失情况生成的,所述数据帧的丢失情况是通过对接收到的数据帧的序号的连续情况进行检测得到的;
当解析出反馈帧中包含丢失数据帧的信息时,获取丢失数据帧的第一目标序号以及所述丢失数据帧对应的发送链表,并从所述丢失数据帧对应的发送链表中获取所述第一目标序号的数据帧;
将所述第一目标序号的数据帧重新发送。
10.一种接收端,包括:
接收单元,用于当接收到数据帧时,解析所述数据帧的帧头字段,得到所述数据帧的第三目标序号;检测所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号是否是连续的;若检测到所述数据帧的第三目标序号与接收到的历史数据帧的数据帧尾号不是连续的,则获取丢失数据帧的序号;所述丢失数据帧的序号为第三目标序号与所述数据帧尾号之间的序号;
反馈单元,用于生成包含丢失数据帧序号的反馈帧,并将所述反馈帧发送给发送端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110307332.4A CN112838910A (zh) | 2021-03-23 | 2021-03-23 | 一种基于混合反馈的数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110307332.4A CN112838910A (zh) | 2021-03-23 | 2021-03-23 | 一种基于混合反馈的数据传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112838910A true CN112838910A (zh) | 2021-05-25 |
Family
ID=75930458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110307332.4A Pending CN112838910A (zh) | 2021-03-23 | 2021-03-23 | 一种基于混合反馈的数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112838910A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979313A (zh) * | 2022-06-13 | 2022-08-30 | 深圳市宏电技术股份有限公司 | 一种通信设备数据补报方法、装置、通信设备及存储介质 |
CN115001541A (zh) * | 2022-06-21 | 2022-09-02 | 美的集团股份有限公司 | 数据传输方法、装置、电子设备、存储介质和产品 |
CN116112127A (zh) * | 2021-11-09 | 2023-05-12 | 哈尔滨海能达科技有限公司 | 一种数据传输方法、相关设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130007823A1 (en) * | 2009-10-02 | 2013-01-03 | Jan-Erik Mangs | Method for retransmission using checksums for identifying lost data packets |
CN105245317A (zh) * | 2015-10-20 | 2016-01-13 | 北京小鸟听听科技有限公司 | 一种数据传输方法、发送端、接收端和数据传输系统 |
CN108234084A (zh) * | 2017-12-21 | 2018-06-29 | 深圳市欣博跃电子有限公司 | 一种数据的收发方法、装置及设备 |
-
2021
- 2021-03-23 CN CN202110307332.4A patent/CN112838910A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130007823A1 (en) * | 2009-10-02 | 2013-01-03 | Jan-Erik Mangs | Method for retransmission using checksums for identifying lost data packets |
CN105245317A (zh) * | 2015-10-20 | 2016-01-13 | 北京小鸟听听科技有限公司 | 一种数据传输方法、发送端、接收端和数据传输系统 |
CN108234084A (zh) * | 2017-12-21 | 2018-06-29 | 深圳市欣博跃电子有限公司 | 一种数据的收发方法、装置及设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116112127A (zh) * | 2021-11-09 | 2023-05-12 | 哈尔滨海能达科技有限公司 | 一种数据传输方法、相关设备及存储介质 |
CN114979313A (zh) * | 2022-06-13 | 2022-08-30 | 深圳市宏电技术股份有限公司 | 一种通信设备数据补报方法、装置、通信设备及存储介质 |
CN114979313B (zh) * | 2022-06-13 | 2024-05-17 | 深圳市宏电技术股份有限公司 | 一种通信设备数据补报方法、装置、通信设备及存储介质 |
CN115001541A (zh) * | 2022-06-21 | 2022-09-02 | 美的集团股份有限公司 | 数据传输方法、装置、电子设备、存储介质和产品 |
CN115001541B (zh) * | 2022-06-21 | 2023-05-05 | 美的集团股份有限公司 | 数据传输方法、装置、电子设备、存储介质和产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112838910A (zh) | 一种基于混合反馈的数据传输方法及装置 | |
JP3821778B2 (ja) | パケット再送方式及び送信装置及び受信装置及びパケット再送方法及びパケット送信方法及びパケット受信方法 | |
EP1555774B1 (en) | Data receiving apparatus and data receiving method | |
KR100933399B1 (ko) | 이동통신 시스템에서 기지국이 전송하는 시스템 정보의수신방법 및 장치 | |
CN106330414B (zh) | 一种报文传输方法及装置 | |
CN102143078B (zh) | 一种报文处理方法、转发设备及系统 | |
CN107979449B (zh) | 一种数据传输方法及装置 | |
CN104093170B (zh) | 基于tcp的数据传输方法和tcp代理装置 | |
UA82886C2 (en) | Method for transmission data packages and a transmitter for transmission data packages | |
KR20130082070A (ko) | 통신 장치 및 통신 방법 | |
CN103269260A (zh) | 数据传输方法、数据接收端、数据发送端和数据传输系统 | |
KR102141389B1 (ko) | 다중 무선 접속 기술 기반 통신 시스템에서의 무선 링크 제어 상태 보고 전송 방법 및 장치 | |
CN113300819B (zh) | 一种鲁棒的逐跳可靠数据传输方法、装置及系统 | |
CN107959555B (zh) | 一种基于lwaap的数据传输方法、装置及存储介质 | |
CN109451080A (zh) | 一种无线场景下ndn兴趣包可靠传输方法 | |
JP3377994B2 (ja) | データ配信管理装置およびデータ配信管理方法 | |
CN111435866A (zh) | 数据传输方法及相关装置 | |
CN110719614B (zh) | 一种数据传输方法和系统 | |
CN101369879B (zh) | 一种请求数据重传的方法及装置 | |
EP3672189B1 (en) | Data transmission method, device and system | |
CN108449267B (zh) | 一种基于链路质量估计的可靠路由算法 | |
KR101075722B1 (ko) | 이동통신시스템에서의 패킷 처리 결과 통보방법 | |
CN116455532A (zh) | 一种数据的可靠传输方法、装置、设备及电子介质 | |
KR100612654B1 (ko) | 자동 재송신 요청을 위한 프레임 생성 장치 및 방법 | |
CN105592135A (zh) | 数据冗余消除dre字典确认方法和设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210525 |
|
RJ01 | Rejection of invention patent application after publication |