CN109039552B - 一种数据恢复方法及装置 - Google Patents
一种数据恢复方法及装置 Download PDFInfo
- Publication number
- CN109039552B CN109039552B CN201811101478.8A CN201811101478A CN109039552B CN 109039552 B CN109039552 B CN 109039552B CN 201811101478 A CN201811101478 A CN 201811101478A CN 109039552 B CN109039552 B CN 109039552B
- Authority
- CN
- China
- Prior art keywords
- message
- data
- sending end
- data sending
- retransmission
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000011084 recovery Methods 0.000 title claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 70
- 230000002159 abnormal effect Effects 0.000 claims abstract description 19
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- 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
-
- 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/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
-
- 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/1867—Arrangements specially adapted for the transmitter end
- H04L1/1896—ARQ related signaling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种数据恢复方法及装置,包括:若检测到第一报文接收异常,则向数据发送端发送报文重传请求;报文重传请求中携带有第一报文的报文标识,以便于数据发送端根据报文标识从重传缓存中读取第一报文,并向数据接收端发送第一报文;若接收到数据发送端发送的报文重传应答,则停止向数据发送端发送报文重传请求;报文重传应答表征数据发送端已经发送了第一报文。由此可见,数据接收端可以在第一报文接收异常时,向数据发送端发送报文重传请求,并根据接收到的报文重传应答确定第一报文已经重传。这样一来,即使由于物理层异常复位,导致第一报文在复位期间丢失,也可以通过发送报文重传请求的方式在复位结束之后恢复该第一报文。
Description
技术领域
本申请涉及通信领域,特别是涉及一种数据恢复方法及装置。
背景技术
目前,现场可编程门阵列(Field Programmable Gate Array,FPGA)的应用越来越广泛,FPGA可以应用于通信***的数据链路层设计中。可以理解的是,在通信***中,物理层复位例如光纤被拔会引起数据链路层复位,从而导致FPGA重启,进一步导致正在传输的数据丢失,且丢失的数据无法恢复。
因此,需要提出一种方案,可以解决上述问题。
发明内容
本申请所要解决的技术问题是FPGA重启导致正在传输的数据丢失,且丢失的数据无法恢复。提供一种数据恢复方法及装置。
第一方面,本申请实施例提供了一种数据恢复方法,应用于数据接收端,包括:
若检测到第一报文接收异常,则向数据发送端发送报文重传请求;所述报文重传请求中携带有第一报文的报文标识,以便于所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,并向所述数据接收端发送所述第一报文;
若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送所述报文重传请求;所述报文重传应答表征所述数据发送端已经向所述数据接收端发送了所述第一报文。
可选的,所述若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求,包括:
若接收到所述数据发送端发送的报文重传应答,且对所述报文重传应答校验通过,则停止向所述数据发送端发送报文重传请求。
可选的,所述若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求,包括:
若在预设时间段内接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求。
可选的,所述方法还包括:
若在预设时间段内未接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求,并且给出异常信号。
可选的,所述重传缓存的地址范围为从0到M,所述第一报文的报文标识为所述第一报文的报文序号与(M+1)进行求余运算得到的,其中,所述报文序号包括所述数据接收端接收的有效报文的序号。
可选的,若所述数据发送端采用多路报文并行发送的方式向所述数据接收端发送报文,则所述重传缓存中还保存有所述多路报文的标识信息,所述标识信息用于标识所述多路报文中的有效报文;
所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,包括:
所述数据发送端根据所述报文标识和所述标识信息,从所述存储地址中读取所述第一报文。
可选的,所述方法还包括:
若成功接收到有效报文,则向所述数据发送端发送成功接收响应,以便所述数据发送端从所述重传缓存中删除所述成功接收的有效报文。
可选的,所述方法还包括:
接收所述数据发送端发送的第二报文,所述第二报文为所述数据发送端在发送所述第一报文之后发送给所述数据接收端,但未被所述数据接收端成功接收的报文。
第二方面,本申请实施例提供了一种数据恢复装置,应用于数据接收端,包括:
请求发送单元,用于若检测到第一报文接收异常,则向数据发送端发送报文重传请求;所述报文重传请求中携带有第一报文的报文标识,以便于所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,并向所述数据接收端发送所述第一报文;
停止发送单元,用于若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送所述报文重传请求;所述报文重传应答表征所述数据发送端已经向所述数据接收端发送了所述第一报文。
可选的,所述停止发送单元,具体用于:
若接收到所述数据发送端发送的报文重传应答,且对所述报文重传应答校验通过,则停止向所述数据发送端发送报文重传请求。
可选的,所述停止发送单元,具体用于:
若在预设时间段内接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求。
可选的,所述装置还包括:
异常信号产生单元,用于若在预设时间段内未接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求,并且给出异常信号。
可选的,所述重传缓存的地址范围为从0到M,所述第一报文的报文标识为所述第一报文的报文序号与(M+1)进行求余运算得到的,其中,所述报文序号包括所述数据接收端接收的有效报文的序号。
可选的,若所述数据发送端采用多路报文并行发送的方式向所述数据接收端发送报文,则所述重传缓存中还保存有所述多路报文的标识信息,所述标识信息用于标识所述多路报文中的有效报文;
所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,包括:
所述数据发送端根据所述报文标识和所述标识信息,从所述存储地址中读取所述第一报文。
可选的,所述装置还包括:
响应发送单元,用于若成功接收到有效报文,则向所述数据发送端发送成功接收响应,以便所述数据发送端从所述重传缓存中删除所述成功接收的有效报文。
可选的,所述装置还包括:
报文接收单元,用于接收所述数据发送端发送的第二报文,所述第二报文为所述数据发送端在发送所述第一报文之后发送给所述数据接收端,但未被所述数据接收端成功接收的报文。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供的数据恢复方法及装置,包括:若检测到第一报文接收异常,则向数据发送端发送报文重传请求;所述报文重传请求中携带有第一报文的报文标识,以便于所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,并向所述数据接收端发送所述第一报文;若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求;所述报文重传应答表征所述数据发送端已经发送了所述第一报文。由此可见,采用本申请实施例提供的数据恢复方法及装置,数据接收端可以在第一报文接收异常时,向数据发送端发送报文重传请求,由于该报文重传请求中携带有第一报文的报文标识,该报文标识可以使得报文发送方确定哪一条报文发生异常,从而重新向数据接收端发送该第一报文,当接收到报文重传应答之后,则可以确定数据发送端已经向数据接收端重新发送了该第一报文,从而确定第一报文已经重传。也就是说,利用本申请实施例提供的方案,即使由于物理层异常复位,导致第一报文在复位期间丢失,也可以通过发送报文重传请求的方式在复位结束之后恢复该第一报文。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据恢复方法的流程示意图;
图2为本申请实施例提供的一种重传缓存中存储的数据的结构示意图;
图3本申请实施例中一种数据恢复装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的发明人经过研究发现,现有技术中,物理层复位例如光纤被拔会引起数据链路层复位,从而导致FPGA重启,进一步导致正在传输的数据丢失,且丢失的数据无法恢复。
为了解决上述问题,本申请实施例提供了一种数据恢复方法及装置,包括:若检测到第一报文接收异常,则向数据发送端发送报文重传请求;所述报文重传请求中携带有第一报文的报文标识,以便于所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,并向所述数据接收端发送所述第一报文;若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求;所述报文重传应答表征所述数据发送端已经发送了所述第一报文。由此可见,采用本申请实施例提供的数据恢复方法及装置,数据接收端可以在第一报文接收异常时,向数据发送端发送报文重传请求,由于该报文重传请求中携带有第一报文的报文标识,该报文标识可以使得报文发送方确定哪一条报文发生异常,从而重新向数据接收端发送该第一报文,当接收到报文重传应答之后,则可以确定数据发送端已经向数据接收端重新发送了该第一报文,从而确定第一报文已经重传。也就是说,利用本申请实施例提供的方案,即使由于物理层异常复位,导致第一报文在复位期间丢失,也可以通过发送报文重传请求的方式在复位结束之后恢复该第一报文。
下面结合附图,详细说明本申请的各种非限制性实施方式。
示例性方法
参见图1,该图为本申请实施例提供的一种数据恢复方法的流程示意图。
本申请实施例提供的数据恢复方法,应用于数据接收端,所述数据接收端可以为包括FPGA的板卡。
所述方法例如可以通过如下步骤S101-S102实现。
S101:若检测到第一报文接收异常,则向数据发送端发送报文重传请求;所述报文重传请求中携带有第一报文的报文标识,以便于所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,并向所述数据接收端发送所述第一报文。
在本申请实施例中,所述第一报文是指FPGA复位时,数据接收端正在接收的报文。
可以理解的是,若FPGA复位,则数据接收端无法正常接收数据。此处提及的第一报文接收异常,在一定程度上可以理解成所述FPGA处于复位状态。
需要说明的是,一般来讲,数据发送端和数据接收端之间进行报文传输时,为了验证报文在传输中有没有被篡改,数据发送端向数据接收端发送报文时,可以将该报文对应的校验和(例如CRC校验和)发送给数据接收端,以便数据接收端在接收到报文时,利用该校验和验证接收到的报文是否是正确的报文。
若FPGA复位,则接收方接收的报文的校验和会发生错误,在本申请实施例中,检测到第一报文接收异常,例如可以是检测到第一报文的校验和错误。
在本申请实施例中,所述报文重传请求,用于请求所述数据发送端重新向所述数据接收端发送该第一报文。
需要说明的是,在本申请实施例中,数据发送端将报文发送给数据接收端之后,还可以将报文存储在重传缓存中。以便当需要对报文进行重传时,从重传缓存中将报文读取出来,再次发送给数据接收端。
需要说明的是,在本申请实施例中,所述重传缓存可以为FPGA中的RAM。
在本申请实施例中,所述报文重传请求中携带有第一报文的报文标识。所述报文标识用于指示所述第一报文在所述重传缓存中的存储地址。
本申请实施例布局体系限定所述报文标识,作为一种示例,若所述重传缓存的地址范围为从0到M,则所述第一报文的报文标识为所述第一报文的报文序号与(M+1)进行求余运算得到的,其中,所述报文序号包括所述数据接收端接收的有效报文的序号。举例说明,M的值为十进制数127,第一报文的报文序号为十进制数2,则所述第一报文的标识为十进制数2。
在本申请实施例中,所述M为一个大于0的正整数,本申请实施例不具体限定所述M的具体取值,所述M的具体取值可以根据实际情况例如FPGA的剩余资源确定。
可以理解的是,由于所述报文标识用于指示所述第一报文在所述重传缓存中的存储地址,因此,数据发送端可以根据该报文标识从重传缓存中读取所述第一报文,并向所述数据接收端发送所述第一报文。
需要说明的是,在本申请实施例中,若未接收到所述数据发送端发送的报文重传应答,所述数据接收端可以持续向所述数据发送端发送报文重传请求,也就是说,若数据接收端向所述数据发送端发送一条报文重传请求之后,未接收到数据发送端发送的报文重传应答,则可以继续向数据发送端发送该报文重传请求。
S102:若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送所述报文重传请求,所述报文重传应答表征所述数据发送端已经向所述数据接收端发送了所述第一报文。
需要说明的是,在本申请实施例中,若接收到所述数据发送端发送的报文重传应答,在一定程度上可以表征所述数据接收端的FPGA复位结束,可以正常接收报文。
在本申请实施例中,所述数据发送端向所述数据接收端再次发送第一报文之后,会向数据接收端发送报文重传应答,若数据接收端接收到该报文重传应答,则在一定程度上可以表征数据接收端已经接收到了数据发送端重传的第一报文。此时,数据接收端可以停止向所述数据发送端发送报文重传请求,从而进入正常的报文接收状态。
需要说明的是,以上步骤S101-S102在FPGA中实现时,可以通过状态机(Finite-state machine,FSM)例如三段式状态机来实现。
由此可见,采用本申请实施例提供的数据恢复方法,数据接收端可以在第一报文接收异常时,向数据发送端发送报文重传请求,由于该报文重传请求中携带有第一报文的报文标识,该报文标识可以使得报文发送方确定哪一条报文发生异常,从而重新向数据接收端发送该第一报文,当接收到报文重传应答之后,则可以确定数据发送端已经向数据接收端重新发送了该第一报文,从而确定第一报文已经重传。也就是说,利用本申请实施例提供的方案,即使由于物理层异常复位,导致第一报文在复位期间丢失,也可以通过发送报文重传请求的方式在复位结束之后恢复该第一报文。
可以理解的是,FPGA复位可以体现为数据接收方接收到的数据的检验和错误。为了进一步确定所述数据接收端的FPGA复位结束,可以正常接收报文。在本申请实施例的一种可能的实现方式中,步骤S102在具体实现时,可以为:若接收到所述数据发送端发送的报文重传应答,且对所述报文重传应答校验通过,则停止向所述数据发送端发送报文重传请求。
需要说明的是,此处提及的对所述报文重传应答检验通过,例如可以是对所述报文重传应答的CRC校验通过。
可以理解的是,对所述报文重传应答校验通过,可以表征所述数据接收端接收到了正确的报文重传应答,进一步地,可以表征所述数据接收端接收到了所述数据发送端发送的第一报文。
如前文,若未接收到所述数据发送端发送的报文重传应答,所述数据接收端可以持续向所述数据发送端发送报文重传请求。在本申请实施例中,考虑到在实际应用中,若复位信号持续时间过长,则以上方法一直停留在步骤S101,而持续发送所述报文重传请求需要耗费FPGA的资源,因此,在本申请实施例的一种实现方式中,步骤S102在具体实现时,可以为:若在预设时间段内接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求。
需要说明的是,此处提及的预设时间段是指,以所述数据接收方第一次发送报文重传请求的时刻为起始时间的时间段。本申请实施例不具体限定所述预设时间段,所述预设时间段可以体现为一个具体的值例如5ms,所述预设时间段也可以体现为所述数据接收端发送的报文重传请求的次数例如5次。
举例说明,若从所述数据接收方第一次发送报文重传请求的时刻开始,5ms之内接收到所述报文重传应答,则停止向所述数据发送端发送报文重传请求,进入正常的报文接收状态;若发送了3次报文重传请求之后,接收到所述报文重传应答,则停止向所述数据发送端发送报文重传请求,进入正常的报文接收状态。
在本申请实施例的一个实例中,若在预设时间段内未接收到所述数据发送端发送的报文重传应答,则可以认为异常复位持续的时长可能比较久,为了节省FPGA的资源,此时可以停止向所述数据发送端发送报文重传请求,并且给出异常信号,以提醒维护人员FPGA复位异常。
可以理解的是,在实际应用中,数据发送端向数据接收端发送报文时,可以采用并行发送的方式,例如,可以有多个数据发送端口,多个数据发送端口可以同时发送报文,即可以同时发送多路报文。可以理解的是,在并行发送的多路报文中,并非所有的报文均为有效报文,例如可以存在一些无效报文或者空报文。而无效报文和空报文对数据接收端来讲是没有意义的。
在本申请实施例的一种实现方式中,若所述数据发送端采用多路报文并行发送的方式向所述数据接收端发送报文,则所述重传缓存中还保存有所述多路报文的标识信息,所述标识信息用于标识所述多路报文中的有效报文。
在本申请实施例中,并行发送的多路报文以及该多路报文的标识信息可以存储在所述重传缓存的某一个地址中。例如,可以结合图2理解,图2为本申请实施例提供的一种重传缓存中存储的数据的结构示意图。图2以4路报文并行发送为例示出了重传缓存的地址0中存储的数据。其中,201为该4路报文的标识信息,4’b0101标识报文202为空报文、报文203为有效报文、报文204为空报文以及报文205为有效报文。
在本申请实施例中,由于所述第一报文为有效报文,而所述重传缓存中存储的报文中有空报文,为了确定出所述第一报文在重传缓存中的具***置,在本申请实施例中,可以所述数据发送端根据所述报文标识和所述标识信息,并从所述存储地址中读取所述第一报文。
具体地,可以根据所述报文标识,以及所述重传缓存中预设存储范围内的标识信息确定所述第一报文的存储地址,然后根据该第一报文的存储地址的标识信息确定所述第一报文在所述第一报文的存储地址中的具体存储位置,从而将该第一报文从所述存储位置中读取出来。
需要说明的是,所述预设存储范围是指,第一地址与第二地址之间的存储范围。其中,第一地址是指重传缓存的尾地址,第二地址是指重传缓存的首地址,其中,所述首地址中存储的是数据发送端最近一次发送的报文以及该报文对应的标识信息,所述尾地址中存储的是数据发送端之前发送的报文以及该报文对应的标识信息。其中,所述尾地址的值小于所述首地址的值,所述尾地址的前一个地址存储的报文为无效报文。
需要说明的是,在本申请实施例中,考虑到所述重传缓存的存储空间有限,在本申请实施例中,所述重传缓存采用环回存储的方式,即读写地址(M-1)存储之后,从地址0开始存储。
鉴于此,在本申请实施例中,数据接收端若成功接收到有效报文,则向所述数据发送端发送成功接收响应,以便所述数据发送端从所述重传缓存中删除所述成功接收的有效报文。
也就是说,在本申请实施例中,数据发送端若已经确定数据接收端成功接收了有效报文,则将该有效报文从重传缓存中删除,以便利用该重传缓存继续存储其它报文。可以理解的是,删除了所述有效报文之后,上文提及的重传缓存的尾地址也可以适应性改变,例如,删除了4条有效报文,则所述尾地址的值可以加4。
可以理解的是,在实际应用中,若数据接收端在接收第一报文的过程中发生了复位,接收第一报文失败,而此时数据接收端可能已经向数据接收端发送了多条报文,即数据接收端除了第一报文未接收成功之外,数据发送端在发送所述第一报文之后发送给所述数据接收端的报文,数据接收端也没有接收成功。
在本申请实施例中,将所述数据发送端在发送所述第一报文之后发送给所述数据接收端,但未被所述数据接收端成功接收的报文,称为第二报文。在本申请实施例中,数据发送端除了将所述第一报文重传给数据接收端之外,还可以将第二报文重传给数据接收端,即数据接收端还可以接收所述数据发送端发送的第二报文,以实现对数据接收端复位期限丢失的所有报文的恢复。
具体地,将所述第二报文重传给数据接收端在具体实现时,可以将所述第一报文的地址之后,直至前述首地址之前(包括首地址)的地址中存储的数据均重传给所述数据接收端。
示例性设备
参见图3,该图为本申请实施例中一种数据恢复装置的结构示意图。
本申请实施例提供的数据恢复装置300,例如可以具体包括:请求发送单元310和停止发送单元320。
请求发送单元310,用于若检测到第一报文接收异常,则向数据发送端发送报文重传请求;所述报文重传请求中携带有第一报文的报文标识,以便于所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,并向所述数据接收端发送所述第一报文;
停止发送单元320,用于若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送所述报文重传请求;所述报文重传应答表征所述数据发送端已经向所述数据接收端发送了所述第一报文。
可选的,所述停止发送单元320,具体用于:
若接收到所述数据发送端发送的报文重传应答,且对所述报文重传应答校验通过,则停止向所述数据发送端发送报文重传请求。
可选的,所述停止发送单元320,具体用于:
若在预设时间段内接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求。
可选的,所述装置300还包括:
异常信号产生单元,用于若在预设时间段内未接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求,并且给出异常信号。
可选的,所述重传缓存的地址范围为从0到M,所述第一报文的报文标识为所述第一报文的报文序号与(M+1)进行求余运算得到的,其中,所述报文序号包括所述数据接收端接收的有效报文的序号。
可选的,若所述数据发送端采用多路报文并行发送的方式向所述数据接收端发送报文,则所述重传缓存中还保存有所述多路报文的标识信息,所述标识信息用于标识所述多路报文中的有效报文;
所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,包括:
所述数据发送端根据所述报文标识和所述标识信息,从所述存储地址中读取所述第一报文。
可选的,所述装置300还包括:
响应发送单元,用于若成功接收到有效报文,则向所述数据发送端发送成功接收响应,以便所述数据发送端从所述重传缓存中删除所述成功接收的有效报文。
可选的,所述装置300还包括:
报文接收单元,用于接收所述数据发送端发送的第二报文,所述第二报文为所述数据发送端在发送所述第一报文之后发送给所述数据接收端,但未被所述数据接收端成功接收的报文。
由于所述装置300是与以上方法实施例提供的数据恢复方法对应的装置,所述装置300的各个单元的实现,均与以上方法实施例的方法是同一构思,因此,关于所述装置300的各个单元的具体实现,可以参考以上方法实施例的描述,此处不再赘述。
由此可见,采用本申请实施例提供的数据恢复装置,数据接收端可以在第一报文接收异常时,向数据发送端发送报文重传请求,由于该报文重传请求中携带有第一报文的报文标识,该报文标识可以使得报文发送方确定哪一条报文发生异常,从而重新向数据接收端发送该第一报文,当接收到报文重传应答之后,则可以确定数据发送端已经向数据接收端重新发送了该第一报文,从而确定第一报文已经重传。也就是说,利用本申请实施例提供的方案,即使由于物理层异常复位,导致第一报文在复位期间丢失,也可以通过发送报文重传请求的方式在复位结束之后恢复该第一报文。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种数据恢复方法,其特征在于,应用于数据接收端,包括:
若检测到第一报文接收异常,则向数据发送端发送报文重传请求;所述报文重传请求中携带有第一报文的报文标识,以便于所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,并向所述数据接收端发送所述第一报文,所述报文标识用于指示所述第一报文在所述重传缓存中的存储地址;其中,所述第一报文为FPGA复位时,所述数据接收端正在接收的报文;
若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送所述报文重传请求;所述报文重传应答表征所述数据发送端已经向所述数据接收端发送了所述第一报文;
若所述数据发送端采用多路报文并行发送的方式向所述数据接收端发送报文,则所述重传缓存中还保存有所述多路报文的标识信息,所述标识信息用于标识所述多路报文中的有效报文;
所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,包括:
所述数据发送端根据所述报文标识和所述标识信息,从所述存储地址中读取所述第一报文。
2.根据权利要求1所述的方法,其特征在于,所述若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求,包括:
若接收到所述数据发送端发送的报文重传应答,且对所述报文重传应答校验通过,则停止向所述数据发送端发送报文重传请求。
3.根据权利要求1所述的方法,其特征在于,所述若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求,包括:
若在预设时间段内接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若在预设时间段内未接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求,并且给出异常信号。
5.根据权利要求1所述的方法,其特征在于,所述重传缓存的地址范围为从0到M,所述第一报文的报文标识为所述第一报文的报文序号与(M+1)进行求余运算得到的,其中,所述报文序号包括所述数据接收端接收的有效报文的序号。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括:
若成功接收到有效报文,则向所述数据发送端发送成功接收响应,以便所述数据发送端从所述重传缓存中删除所述成功接收的有效报文。
7.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括:
接收所述数据发送端发送的第二报文,所述第二报文为所述数据发送端在发送所述第一报文之后发送给所述数据接收端,但未被所述数据接收端成功接收的报文。
8.一种数据恢复装置,其特征在于,应用于数据接收端,包括:
请求发送单元,用于若检测到第一报文接收异常,则向数据发送端发送报文重传请求;所述报文重传请求中携带有第一报文的报文标识,以便于所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,并向所述数据接收端发送所述第一报文,所述报文标识用于指示所述第一报文在所述重传缓存中的存储地址;其中,所述第一报文为FPGA复位时,所述数据接收端正在接收的报文;
停止发送单元,用于若接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送所述报文重传请求;所述报文重传应答表征所述数据发送端已经向所述数据接收端发送了所述第一报文;
若所述数据发送端采用多路报文并行发送的方式向所述数据接收端发送报文,则所述重传缓存中还保存有所述多路报文的标识信息,所述标识信息用于标识所述多路报文中的有效报文;
所述数据发送端根据所述报文标识从重传缓存中读取所述第一报文,包括:
所述数据发送端根据所述报文标识和所述标识信息,从所述存储地址中读取所述第一报文。
9.根据权利要求8所述的装置,其特征在于,所述停止发送单元,具体用于:
若接收到所述数据发送端发送的报文重传应答,且对所述报文重传应答校验通过,则停止向所述数据发送端发送报文重传请求。
10.根据权利要求8所述的装置,其特征在于,所述停止发送单元,具体用于:
若在预设时间段内接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
异常信号产生单元,用于若在预设时间段内未接收到所述数据发送端发送的报文重传应答,则停止向所述数据发送端发送报文重传请求,并且给出异常信号。
12.根据权利要求8所述的装置,其特征在于,所述重传缓存的地址范围为从0到M,所述第一报文的报文标识为所述第一报文的报文序号与(M+1)进行求余运算得到的,其中,所述报文序号包括所述数据接收端接收的有效报文的序号。
13.根据权利要求8-12任意一项所述的装置,其特征在于,所述装置还包括:
响应发送单元,用于若成功接收到有效报文,则向所述数据发送端发送成功接收响应,以便所述数据发送端从所述重传缓存中删除所述成功接收的有效报文。
14.根据权利要求8-12任意一项所述的装置,其特征在于,所述装置还包括:
报文接收单元,用于接收所述数据发送端发送的第二报文,所述第二报文为所述数据发送端在发送所述第一报文之后发送给所述数据接收端,但未被所述数据接收端成功接收的报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811101478.8A CN109039552B (zh) | 2018-09-20 | 2018-09-20 | 一种数据恢复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811101478.8A CN109039552B (zh) | 2018-09-20 | 2018-09-20 | 一种数据恢复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109039552A CN109039552A (zh) | 2018-12-18 |
CN109039552B true CN109039552B (zh) | 2021-11-09 |
Family
ID=64617702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811101478.8A Active CN109039552B (zh) | 2018-09-20 | 2018-09-20 | 一种数据恢复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109039552B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112436924B (zh) * | 2020-11-17 | 2022-04-22 | 联想(北京)有限公司 | 一种数据传输方法及电子设备 |
CN113301605B (zh) * | 2021-05-18 | 2023-03-24 | 成都欧珀通信科技有限公司 | 消息传输方法、***及相关装置 |
CN113259062B (zh) * | 2021-05-31 | 2021-10-29 | 恒生电子股份有限公司 | 丢包重传的方法、装置、可读介质以及设备 |
CN116248231A (zh) * | 2022-12-29 | 2023-06-09 | 成都赛力斯科技有限公司 | 一种应用于汽车的报文传输方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562836A (zh) * | 2008-04-18 | 2009-10-21 | 中兴通讯股份有限公司 | 基站响应消息重传方法 |
CN101621368A (zh) * | 2009-08-13 | 2010-01-06 | 北京必创科技有限公司 | 一种重传数据包的方法、装置及*** |
CN101645766A (zh) * | 2009-09-09 | 2010-02-10 | 成都市华为赛门铁克科技有限公司 | 实现数据包重发的方法、装置及*** |
CN101702812A (zh) * | 2009-11-03 | 2010-05-05 | 北京邮电大学 | 一种非连续接收控制方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253864A (zh) * | 2011-06-14 | 2011-11-23 | 中国科学院长春光学精密机械与物理研究所 | Fpga芯片加电启动容错装置 |
CN104486153B (zh) * | 2014-12-12 | 2018-03-30 | 国家电网公司 | 一种基于fpga的智能变电站过程层网络传输性能监测方法 |
US20160219458A1 (en) * | 2015-01-26 | 2016-07-28 | Qualcomm Incorporated | Methods and apparatus for radio link control switching |
-
2018
- 2018-09-20 CN CN201811101478.8A patent/CN109039552B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562836A (zh) * | 2008-04-18 | 2009-10-21 | 中兴通讯股份有限公司 | 基站响应消息重传方法 |
CN101621368A (zh) * | 2009-08-13 | 2010-01-06 | 北京必创科技有限公司 | 一种重传数据包的方法、装置及*** |
CN101645766A (zh) * | 2009-09-09 | 2010-02-10 | 成都市华为赛门铁克科技有限公司 | 实现数据包重发的方法、装置及*** |
CN101702812A (zh) * | 2009-11-03 | 2010-05-05 | 北京邮电大学 | 一种非连续接收控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109039552A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109039552B (zh) | 一种数据恢复方法及装置 | |
US8526513B2 (en) | Method and apparatus for transmitting data, and communication system | |
JP2503086B2 (ja) | デ―タ・リンク制御方法 | |
CN102890631B (zh) | 基于持久化消息队列传输消息的方法及消息传输装置 | |
EP2490400A1 (en) | Transmission control method for packet communication and packet communication system | |
JP2013513269A (ja) | 信頼性のあるパケットカットスルー | |
CN112769939B (zh) | 一种用于实时通讯的大数据可靠传输方法 | |
CN111158933A (zh) | 一种基于消息队列的分布式事务处理方法及*** | |
CN104866454A (zh) | 面向板级高速总线的写报文前瞻处理方法及装置 | |
WO2011137640A1 (zh) | 文件传输方法、文件发送装置和文件接收装置 | |
CN108632326B (zh) | 一种协议数据单元传输数据的方法及装置 | |
CN101369879B (zh) | 一种请求数据重传的方法及装置 | |
CN102436430B (zh) | 存储设备、主机控制器和存储*** | |
US5422893A (en) | Maintaining information from a damaged frame by the receiver in a communication link | |
CN112217610B (zh) | 数据处理方法、装置、消费机、终端及可读存储介质 | |
WO2024131009A1 (zh) | 芯片间通信方法及存储介质 | |
CN110618900B (zh) | 一种uart数据传输方法 | |
CN111818582A (zh) | 数据传输方法、装置及电子设备 | |
US10270705B1 (en) | Transmission of stateful data over a stateless communications channel | |
CN109951255A (zh) | 一种基于tcp的数据传输方法、***、源设备、及目标设备 | |
US7975064B2 (en) | Envelope packet architecture for broadband engine | |
JP2001069156A (ja) | 無線情報送信ネットワークを介して、相互接続された少なくとも2つの局間で確実にデータを転送するシステム | |
CN116155826A (zh) | 报文收发方法、网络设备、***和存储介质 | |
JP4121123B2 (ja) | 移動体通信方法及びシステム | |
JP3217397B2 (ja) | 通信制御装置のデータ送信方法 |
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 |