CN113300819A - 一种鲁棒的逐跳可靠数据传输方法、装置及系统 - Google Patents

一种鲁棒的逐跳可靠数据传输方法、装置及系统 Download PDF

Info

Publication number
CN113300819A
CN113300819A CN202110394450.3A CN202110394450A CN113300819A CN 113300819 A CN113300819 A CN 113300819A CN 202110394450 A CN202110394450 A CN 202110394450A CN 113300819 A CN113300819 A CN 113300819A
Authority
CN
China
Prior art keywords
frame
data
receiving end
sequence number
data frame
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
CN202110394450.3A
Other languages
English (en)
Other versions
CN113300819B (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.)
Hefei Wangyi Technology Co ltd
Original Assignee
University of Science and Technology of China USTC
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 University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202110394450.3A priority Critical patent/CN113300819B/zh
Publication of CN113300819A publication Critical patent/CN113300819A/zh
Application granted granted Critical
Publication of CN113300819B publication Critical patent/CN113300819B/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/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明提供了一种鲁棒的逐跳可靠数据传输方法、装置及系统,包括:发送端每次接收到数据后,向接收端发送封装当前接收到的数据的数据帧;当接收到接收端发送的反馈帧时,判断是否丢帧,若已丢帧,则根据该反馈帧向接收端重新发送该接收端丢失的数据帧。接收端在每次接收到发送端发送的数据帧后,需要先确定该数据是否为补发的数据帧,在确定不是补发的数据帧时,重新确定接收端是否丢帧,若丢帧,则发送反馈帧至发送端;若该数据帧为补发的数据帧,则从该数据帧中获取封装的数据,并执行对应的数据操作。应用本发明提供的方法,通过反馈帧及时发现接收端是否丢帧,并对接收端丢失的数据帧进行补发,以保证数据传输过程中的可靠性和及时性。

Description

一种鲁棒的逐跳可靠数据传输方法、装置及系统
技术领域
本发明涉及数据传输技术领域,特别是涉及一种鲁棒的逐跳可靠数据传输方法、装置及系统。
背景技术
随着互联网网络规模的迅猛增长以及新型应用的快速发展,移动组网与传统网络相比具有更复杂的通信特点,如节点高速运动、链路时空变化、传输时延要求高。
传统网络中TCP/IP协议进行数据传输的方法大致分为停止等待协议和滑动窗口协议两种。停止等待协议是每发送完一个分组就停止发送,等待对方的确认,在收到确认后再发送下一个分组。而滑动窗口协议则是发送端和接收端各自维持着发送窗口和接受窗口,发送端每收到一个确认,就把发送窗口向前滑动一个分组的位置,使得收发双方能够暂时容忍一定数量的未确认帧。现有技术的数据传输方式虽然有一定可靠性,但是无法保证数据传输的连续性和及时性。
发明内容
有鉴于此,本发明提供一种鲁棒的逐跳可靠数据传输方法、装置及系统,通过该方法,可以保证数据传输的可靠性和及时性。
一种鲁棒的逐跳可靠数据传输方法,所述方法应用于发送端,所述方法包括:
在每次接收到上层服务发送的数据时,将所述上层服务发送的当前的数据封装至其对应的数据帧中,所述数据帧包含RHTP协议和数据负载,所述当前的数据封装于所述数据负载中;
获取所述当前的数据中包含的接收端id,基于所述接收端id,确定所述数据帧的帧序列号;
基于所述帧序列号、所述接收端id及所述当前的数据的各个数据参数,填写所述数据帧的RHTP协议;
将所述数据帧存储至预先设置的发送链表,并经由所述发送端的底层链路发送端口发送所述数据帧至所述接收端id对应的接收端;
实时检测是否接收到所述接收端发送的反馈帧,并在接收到所述接收端发送的反馈帧时,基于所述反馈帧,判断所述接收端是否丢帧;
若所述接收端已丢帧,则基于所述反馈帧,确定至少一个所述接收端已丢帧的帧序列号;
在所述发送链表中查找每个所述已丢帧的帧序列号对应的数据帧,并将各个已查找到的数据帧发送至所述接收端。
上述的方法,可选的,所述基于所述接收端id,确定所述数据帧的帧序列号,包括:
获取预先设置的所述接收端id对应的计数模块,所述计数模块用于在所述发送端接收到包含所述接收端id的数据时,对所述计数模块中的数值加1;
确定所述计数模块中的当前数值,并将所述当前数值设置为所述数据帧的帧序列号。
上述的方法,可选的,所述将所述数据帧存储至预先设置的发送链表,包括:
对所述接收端id进行哈希计算,获得所述接收端id对应的哈希值;
基于所述哈希值及接收端id,在所述发送链表中查找所述接收端对应的链表表头;
基于所述帧序列号,在所述链表表头后生成与所述数据帧对应的链表元素,并将所述数据帧封装于所述链表元素中。
上述的方法,可选的,所述基于所述反馈帧,判断所述接收端是否丢帧,包括:
解析所述反馈帧,获得所述反馈帧中的反馈帧负载;
检测所述反馈帧负载的第一字段内是否有填写帧序列号,所述反馈帧负载的第一字段用于填写接收端已丢失的数据帧的帧序列号及丢帧数量;
若所述反馈帧负载的第一字段内有填写帧序列号,则确定所述接收端丢帧;
若所述反馈帧负载的第一字段内未填写帧序列号,则确定所述接收端未丢帧。
一种鲁棒的逐跳可靠数据传输装置,所述装置应用于发送端,所述装置包括:
封装单元,用于在每次接收到上层服务发送的数据时,将所述上层服务发送的当前的数据封装至其对应的数据帧中,所述数据帧包含RHTP协议和数据负载,所述当前的数据封装于所述数据负载中;
第一确定单元,用于获取所述当前的数据中包含的接收端id,基于所述接收端id,确定所述数据帧的帧序列号;
填写单元,用于基于所述帧序列号、所述接收端id及所述当前的数据的各个数据参数,填写所述数据帧的RHTP协议;
第一发送单元,用于将所述数据帧存储至预先设置的发送链表,并经由所述发送端的底层链路发送端口发送所述数据帧至所述接收端id对应的接收端;
检测单元,用于实时检测是否接收到所述接收端发送的反馈帧,并在接收到所述接收端发送的反馈帧时,基于所述反馈帧,判断所述接收端是否丢帧;
第二确定单元,用于若所述接收端已丢帧,则基于所述反馈帧,确定至少一个所述接收端已丢帧的帧序列号;
第二发送单元,用于在所述发送链表中查找每个所述已丢帧的帧序列号对应的数据帧,并将各个已查找到的数据帧发送至所述接收端。
一种鲁棒的逐跳可靠数据传输方法,所述方法应用于接收端,所述方法包括:
当接收到发送端发送的数据帧时,解析所述数据帧,获得所述数据帧中的RHTP协议及数据负载;
获取所述RHTP协议中包含的帧序列号及发送端id,并基于所述发送端id,检测预先设置的定位表中是否存储属于所述发送端的丢帧信息;
若所述定位表中未存储属于所述发送端的丢帧信息,则基于所述数据帧的帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧;
当所述接收端丢帧时,确定所述接收端中各个已丢失的数据帧的帧序列号及丢帧数量,并基于各个所述已丢失的数据帧的帧序列号及丢帧数量,生成各个所述已丢失的数据帧对应的丢帧信息存储于所述定位表中;构建各个所述已丢失的数据帧对应的反馈帧,并触发预先设置的反馈机制将所述反馈帧发送至所述发送端;
当所述接收端未丢帧时,获取所述数据负载中封装的数据,并执行所述数据对应的数据操作;
若所述定位表中存储属于所述发送端的丢帧信息,则判断所述数据帧的帧序列号是否属于所述丢帧信息中包含的帧序列号;
若所述数据帧的帧序列号属于所述丢帧信息中包含的帧序列号,则更新所述定位表中的丢帧信息,使得所述数据帧的帧序列号不属于所述丢帧信息,并获取所述数据负载中封装的数据,并执行所述数据对应的数据操作。
上述的方法,可选的,所述基于所述数据帧的帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧,包括:
判断所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号是否连续;
若所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号连续,则确定所述接收端未丢帧;
若所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号不连续,则确定所述接收端丢帧。
上述的方法,可选的,所述生成各个所述已丢失的数据帧对应的反馈帧,包括:
获取所述数据帧的RHTP协议中各个字段的各个数据参数,并基于各个所述数据参数生成反馈帧RHTP协议,各个所述数据参数中包含所述发送端的发送端id和接收端的接收端id;
将所述接收端id、所述发送端id、所述数据帧的帧序列号、上一次接收的数据帧的帧序列号、所述丢帧数量以及各个所述已丢失的数据帧的帧序列号填写入预先设置的反馈帧负载;
基于所述反馈帧RHTP协议及已填写的反馈帧负载,生成各个所述已丢失的数据帧对应的反馈帧。
一种鲁棒的逐跳可靠数据传输装置,所述装置应用于接收端,所述装置包括:
解析单元,用于当接收到发送端发送的数据帧时,解析所述数据帧,获得所述数据帧中的RHTP协议及数据负载;
检测单元,用于获取所述RHTP协议中包含的帧序列号及发送端id,并基于所述发送端id,检测预先设置的定位表中是否存储属于所述发送端的丢帧信息;
第一判断单元,用于若所述定位表中未存储属于所述发送端的丢帧信息,则基于所述数据帧的帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧;
生成单元,用于当所述接收端丢帧时,确定所述接收端中各个已丢失的数据帧的帧序列号及丢帧数量,并基于各个所述已丢失的数据帧的帧序列号及丢帧数量,生成各个所述已丢失的数据帧对应的丢帧信息并存储于所述定位表中;构建各个所述已丢失的数据帧对应的反馈帧,并触发预先设置的反馈机制将所述反馈帧发送至所述发送端;
获取单元,用于当所述接收端未丢帧时,获取所述数据负载中封装的数据,并执行所述数据对应的数据操作;
第二判断单元,用于若所述定位表中存储属于所述发送端的丢帧信息,则判断所述数据帧的帧序列号是否属于所述丢帧信息中包含的帧序列号;
执行单元,用于若所述数据帧的帧序列号属于所述丢帧信息中包含的帧序列号,则更新所述定位表中的丢帧信息,使得所述数据帧的帧序列号不属于所述丢帧信息,并获取所述数据负载中封装的数据,并执行所述数据对应的数据操作。
一种鲁棒的逐跳可靠数据传输系统,包括:
上层服务、发送端及接收端;
所述上层服务,用于实时向发送端发送数据;
所述发送端,用于实时接收所述上层服务发送的数据,并执行如上述任意一项应用于所述发送端的鲁棒的逐跳可靠数据传输方法;
所述接收端,用于执行如上述任意一项应用于所述接收端的鲁棒的逐跳可靠数据传输方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种鲁棒的逐跳可靠数据传输方法,包括:发送端每次接收到数据后,向接收端发送封装当前接收到的数据的数据帧;当接收到接收端发送的反馈帧时,判断接收端是否丢帧,若丢帧则根据该反馈帧向接收端重新发送该接收端丢失的数据帧。接收端在每次接收到发送端发送的数据帧后,需要先确定该数据是否为补发的数据帧,在确定不是补发的数据帧时,重新确定接收端是否丢帧,若丢帧,则触发反馈机制发送反馈帧至发送端;若该数据帧为补发的数据帧,则从该数据帧中获取封装的数据,并执行对应的数据操作。应用本发明提供的方法,通过反馈帧及时发现接收端是否丢帧,并对接收端丢失的数据帧进行补发,以保证数据传输过程中的可靠性和及时性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种鲁棒的逐跳可靠数据传输方法的方法流程图;
图2为本发明实施例提供的一种鲁棒的逐跳可靠数据传输方法的数据帧结构图;
图3为本发明实施例提供的一种鲁棒的逐跳可靠数据传输方法的发送链表结构图;
图4为本发明实施例提供的一种鲁棒的逐跳可靠数据传输方法的又一方法流程图;
图5为本发明实施例提供的一种鲁棒的逐跳可靠数据传输装置的装置结构图;
图6为本发明实施例提供的一种鲁棒的逐跳可靠数据传输方法的再一方法流程图;
图7为本发明实施例提供的一种鲁棒的逐跳可靠数据传输方法的定位表结构图;
图8为本发明实施例提供的一种鲁棒的逐跳可靠数据传输方法的反馈帧结构图;
图9为本发明实施例提供的一种鲁棒的逐跳可靠数据传输装置的又一装置结构图;
图10为本发明实施例提供的一种鲁棒的逐跳可靠数据传输系统的系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种鲁棒的逐跳可靠数据传输方法,方法应用于发送端,所述方法的方法流程图如图1所示,具体包括:
S101:在每次接收到上层服务发送的数据时,将所述上层服务发送的当前的数据封装至其对应的数据帧中。
其中,所述数据帧包含RHTP协议和数据负载,所述当前的数据封装于所述数据负载中。
在本发明实施例中,在发送端每次接收到上层服务发送的数据时,发送端根据当前接收到的数据,生成该数据对应的数据帧。其中,该数据帧由RHTP(Robust Hop-by-hopTransport Protocol,鲁棒的逐跳可靠的传输协议)和数据负载组成。对于每次接收到的数据,当前接收到的数据封装至该数据对应的数据帧的数据负载部分。
S102:获取所述当前的数据中包含的接收端id,基于所述接收端id,确定所述数据帧的帧序列号。
在本发明实施例中,上层服务可以实时向发送端下发数据,每个数据中包含该数据所需要发送的接收端的接收端id。发送端在获得当前的数据后,根据该数据中的接收端id,确定封装当前的数据的数据帧的帧序列号。
需要说明的是,发送端根据每次接收的数据中的接收端id,设定对应的数据帧的帧序列号。相同的接收端id的各个数据之间,其对应的数据帧的帧序列号为连续的序号。例如,发送端上一次发送的包含第一接收端id的数据对应的数据帧的帧序列号为5,则下一次在接收到包含第一接收端id的数据时,该数据对应的数据帧的帧序列号则设定为6。
S103:基于所述帧序列号、所述接收端id及所述当前的数据的各个数据参数,填写所述数据帧的RHTP协议。
在本发明实施例中,当前数据的各个数据参数包含发送端的发送端id、当前的数据的数据类型、数据包id、数据帧长度、数据优先级以及负载校验和等。将各个参数填写入RHTP协议中。
其中,数据帧的RHTP协议中包含多个字段,每个字段分别对应填写不同的参数。如图2所示,图2为数据帧的结构示意图,其中,该数据帧的RHTP协议部分中包含各个字段、每个字段的大小及含义如表1所示。
表1
字段名称 长度(bit) 含义
version 6 报文的版本
channel 2 输出通道类型
priority 8 优先级
type 16 帧类型
tot_len 16 数据帧总长度
frame_seq 16 帧序列号
identification 16 所属数据包id
frag_off 16 当前帧在数据组中偏移量
vaild_time 32 帧有效时间
src_id 16 端到端源id
dst_id 16 端到端目的id
local_id 16 单跳源id
next_id 16 单跳目的id
check 16 负载校验和
empty 16 备用字段
由表1可知,每个字段分别需要写入该字段含义相符的参数,因此,在确定该RHTP协议中的各个字段后,获取当前的数据对应的与每个字段相匹配的数据参数。
具体的,该数据帧的RHTP协议中type字段对应的帧类型为数据帧,帧序列号填写于frame_seq字段中;local_id字段填写的单跳源id为发送端id;dst_id字段填写的端到端目的id为下一跳的接收端的接收端id;数据帧的负载校验和为除该check字段的字段大小之外,各个字段的字段大小的和。
需要说明的是,该数据帧为发送至接收端的报文,该RHTP协议则为报文的报文头。
S104:将所述数据帧存储至预先设置的发送链表,并经由所述发送端的底层链路发送端口发送所述数据帧至所述接收端id对应的接收端。
在本发明实施例中,当接收到上层服务发送的数据,生成该数据对应的数据帧,并将该数据存储至发送链表中,该发送链表建立在该发送端中,用于保存发送端每次生成的数据帧,以在接收端丢帧时,从该发送链表中获取接收端丢失的数据帧补充发送给接收端。在将数据帧存储至发送链表的同时通过底层链路发送接口,基于该接收端id将该数据帧发送至接收端id对应的接收端,由接收端在接收到数据帧后,获取数据帧中的数据执行对应的数据操作。
S105:实时检测是否接收到所述接收端发送的反馈帧,并在接收到所述接收端发送的反馈帧时,基于所述反馈帧,判断所述接收端是否丢帧。
在本发明实施例中,在接收数据、生成数据帧以及向接收端发送数据帧的过程中,实时检测该接收端是否会发送反馈帧,该反馈帧是接收端在确定未接收到任意的数据帧,根据未接收的数据帧的帧序列号反馈丢帧信息,或者是按照设定的时间周期触发的反馈机制向发送端进行反馈的其已接收到的各个数据帧的数据帧成功接收信息。
因此,通过该反馈帧可以确定该接收端反馈的是接收端的丢帧信息,还是接收端成功接收的各个数据帧的数据帧成功接收信息,以此确定接收端是否丢帧。
需要说明的是,反馈帧包括反馈帧RHTP协议以及反馈帧负载。
S106:若所述接收端已丢帧,则基于所述反馈帧,确定至少一个所述接收端已丢帧的帧序列号。
在本发明实施例中,若该接收端已经丢帧,则接收端发送的反馈帧中记载丢失的数据帧的丢帧信息,从丢帧信息中可以确定丢失的数据帧的帧序列号以及总的丢帧数量。因此,发送端解析反馈帧中的反馈帧负载部分,确定接收端丢帧的帧序列号。
可以理解的是,接收端在接收数据帧的过程中,可能会丢失一个数据帧,也可能会连续丢失多个数据帧。
S107:在所述发送链表中查找每个所述已丢帧的帧序列号对应的数据帧,并将各个已查找到的数据帧发送至所述接收端。
在本发明实施例中,通过已丢帧的帧序列号,从发送链表中获取每个已丢帧的帧序列号对应的数据帧,并将已从发送链表中查找的各个数据帧重新发送给接收端。
需要说明的是,当重新给接收端发送丢帧的数据帧后,接收端可能还会继续丢失重新发送的数据帧,因此,接收端还会再次发送反馈帧,发送端在接收到反馈帧后,再次执行上述S103至S105的过程,此处将不复赘述。
本发明实施例提供的鲁棒的逐跳可靠数据传输方法中,发送端在每次接收到上层服务发送的数据时,将上层服务发送的当前的数据封装至数据帧中,该数据帧中包含负载部分和RHTP部分,当前的数据封装于数据帧的负载部分中。获取当前数据中包含的接收端id,并基于接收端id确定数据帧的帧序列号,并将该帧序列号、接收端id以及当前数据的各个数据参数填写入该帧序列号的RHTP协议部分中。将该数据帧存储至发送链表中,并将该数据帧发送给接收端id对应的接收端,接收端可以根据当前接收到的数据帧中的帧序列号,确定接收端当前是否丢帧。若已丢帧,则接收端向发送端发送已丢失的数据帧对应的反馈帧,反馈帧由反馈帧RHTP协议以及反馈帧负载组成,反馈帧负载中均写有接收端当前丢失的各个数据帧的帧序列号;若未丢帧,则接收端则可以按时触发反馈机制,向发送端发送已接收的各个数据帧对应的反馈帧,反馈帧的反馈帧负载内填写已成功接收的各个数据帧的帧序列号。发送端在接收到反馈帧并确定各个丢失的数据帧的帧序列号后,从该发送链表中查找丢帧的帧序列号对应的数据帧,并将查找到的各个数据帧重新发送给接收端。
应用本发明实施例提供方法,发送端能够不中断地连续发送数据帧并将其存储在本地的发送链表中,接收端则可以根据丢失的数据帧触发反馈机制,向发送端反馈数据接收过程中丢包的情况,发送端可以根据接收端的反馈来维护发送缓存,从而保证数据传输的可靠性和及时性。
本发明实施例提供的方法中,基于上述S102的内容,所述基于所述接收端id,确定所述数据帧的帧序列号,包括:
获取预先设置的所述接收端id对应的计数模块,所述计数模块用于在所述发送端接收到包含所述接收端id的数据时,对所述计数模块中的数值加1;
确定所述计数模块中的当前数值,并将所述当前数值设置为所述数据帧的帧序列号。
可以理解的是,本发明实施例提供的方法中,发送端可以与多个接收端进行数据传输,根据每个接收端的接收端id,设置每个接收端对应的计数模块,由计数模块对每个需要发送至其对应接收端的数据进行计数,计数模块在每次计数时,均会在原先数值的基础上加1。因此,在接收到当前的数据,并获得该当前的数据中的接收端id后,通过接收端id查找到其对应的计数模块,并将该计数模块中当前数据设置为该数据帧的帧序列号。
应用本发明实施例提供的方法,可以保证发送至同一个接收端的各个数据帧之间具有连续性,接收端也可以通过帧序列号判断出是否丢帧。
进一步地,为防止数据传输过程中接收端存在丢包的现象,需要预先将数据帧存储于发送链表中,具体过程可以包括:
对所述接收端id进行哈希计算,获得所述接收端id对应的哈希值;
基于所述哈希值接收端id,在所述发送链表中查找所述接收端对应的链表表头;
基于所述帧序列号,在所述链表表头后生成与所述数据帧对应的链表元素,并将所述数据帧封装于所述链表元素中。
在本发明实施例提供的鲁棒的逐跳可靠数据传输方法中,参考图3,hash(next_id)为根据接收端id计算的哈希值。该发送链表(RHTP Send Linked-list)中包含多个链表表头,每个链表表头均应用接收端id对应的哈希值进行表示,每个链表表头对应一个接收端。其中,图3中的send_list_head为链表表头,每个链表表头中包含前驱pre、后继next、接收端id(next_id)同时挂载至少一个链表元素send_list_elem。本发明中,不同的接收端id计算出的哈希值值可能相同,只是哈希值相同的不同接收端id,在这里用链表进行连接,在查找到哈希值对应的链表表头后,通过接收端id确定最终需要查找的链表表头。每个链表元素中均包含前驱pre、后继next和packet,链表元素中的前驱为上一个链表元素内存储的数据帧的帧序列号,后继为下一个链表元素待存储的数据帧的帧序列号,packet用于封装数据帧。
可选的,在本发明的鲁棒的逐跳可靠数据传输方法的过程中,若接收到接收端发送的反馈帧,则根据该反馈帧中的帧序列号确定发送链表中需要删除数据帧。可以理解的是,发送链表内存储有多个数据帧,当发送端接收到接收端发送的反馈帧后,确定反馈帧的各个帧序列号,并在反馈帧的各个帧序列号中确定最小的帧序列号。此时发送端可以确定小于该最小的帧序列号的各个帧序列号对应的数据帧该接收端已成功接收,因此,将发送链表中小于该最小的帧序列号的每个帧序列号对应的数据帧删除。
应用本发明实施例提供的方法,在生成数据帧后,为防止数据传输过程中丢包,将该数据帧存储中发送链表中,从而保证数据传输的可靠性和及时性。
本发明实施例提供的方法中,基于上述S105的内容,所述基于所述反馈帧,判断所述接收端是否丢帧的过程如图4所示,具体可以包括:
S401:解析所述反馈帧,获得所述反馈帧中的反馈帧负载。
在本发明实施例中,反馈帧中包含反馈帧RHTP协议和反馈帧负载,反馈帧负载用于携带接收端丢帧信息或成功接收数据帧信息。
S402:检测所述反馈帧负载的第一字段内是否有填写丢帧数量。
其中,所述反馈帧负载的第一字段用于填写接收端已丢失的数据帧的丢帧数量。
S403:若所述反馈帧负载的第一字段内有填写丢帧数量,则确定所述接收端丢帧。
S404:若所述反馈帧负载的第一字段内未填写丢帧数量,则确定所述接收端未丢帧。
本发明实施例提供的鲁棒的逐跳可靠数据传输方法中,通过反馈帧负载的第一字段,依次判定该接收端是否丢帧。其中,检测该反馈帧负载的第一字段内是否有填写丢帧数量,若有,则确定丢帧;反之则未丢帧。
进一步地,若该接收端未丢帧,则本发明实施例提供的方法,还包括:
若所述接收端未丢帧,则获取所述反馈帧负载的第二字段内的各个帧序列号,并将所述反馈帧包含的各个帧序列号确定为目标帧序列号,所述反馈帧负载的第二字段用于填写接收端已接收到的各个数据帧的帧序列号;
基于所述接收端对应的接收端id,在所述发送链表中定位每个所述目标帧序列号对应的链表元素,并将所述发送链表中每个所述目标帧序列号对应的链表元素删除。
可以理解的是,若接收端未丢帧,可以实时向发送端反馈其已接收的数据帧的相关信息,并通过反馈帧选择发送端传递该接收端已成功接收数据帧的消息,发送端在接收到该反馈帧后,解析反馈帧,确定已成功接收的每个数据帧的目标帧序列号,并在发送链表中确定该接收端id对应的链表表头,并在链表表头挂载的各个链表元素中查找与每个目标帧序列号对应的链表元素,并将查找到的链表元素删除。
应用本发明实施例提供的方法,通过接收端发送的反馈帧,确定是否丢帧,使得发送端能及时补发丢失的数据帧。
与上述图1相对应的,本发明实施例还提供了一种鲁棒的逐跳可靠数据传输装置,用于对图1中方法的具体实现,本发明实施例提供的鲁棒的逐跳可靠数据传输装置应用于发送端,其结构示意图如图5所示,具体包括:
封装单元501,用于在每次接收到上层服务发送的数据时,将所述上层服务发送的当前的数据封装至其对应的数据帧中,所述数据帧包含RHTP协议和数据负载,所述当前的数据封装于所述数据负载中;
第一确定单元502,用于获取所述当前的数据中包含的接收端id,基于所述接收端id,确定所述数据帧的帧序列号;
填写单元503,用于基于所述帧序列号、所述接收端id及所述当前的数据的各个数据参数,填写所述数据帧的RHTP协议;
第一发送单元504,用于将所述数据帧存储至预先设置的发送链表,并经由所述发送端的底层链路发送端口发送所述数据帧至所述接收端id对应的接收端;
检测单元505,用于实时检测是否接收到所述接收端发送的反馈帧,并在接收到所述接收端发送的反馈帧时,基于所述反馈帧,判断所述接收端是否丢帧;
第二确定单元506,用于若所述接收端已丢帧,则基于所述反馈帧,确定至少一个所述接收端已丢帧的帧序列号;
第二发送单元507,用于在所述发送链表中查找每个所述已丢帧的帧序列号对应的数据帧,并将各个已查找到的数据帧发送至所述接收端。
本发明实施例提供的鲁棒的逐跳可靠数据传输装置中,发送端在每次接收到上层服务发送的数据时,将上层服务发送的当前的数据封装至数据帧中,该数据帧中包含负载部分和RHTP部分,当前的数据封装于数据帧的负载部分中。获取当前数据中包含的接收端id,并基于接收端id确定数据帧的帧序列号,并将该帧序列号、接收端id以及当前数据的各个数据参数填写入该帧序列号的RHTP协议部分中。将该数据帧存储至发送链表中,并将该数据帧发送给接收端id对应的接收端,接收端可以根据当前接收到的数据帧中的帧序列号,确定接收端当前是否丢帧。若已丢帧,则接收端向发送端发送已丢失的数据帧对应的反馈帧,反馈帧由反馈帧RHTP协议以及反馈帧负载组成,反馈帧负载中写有接收端当前丢失的各个数据帧的帧序列号;若未丢帧,则接收端则可以按时触发反馈机制,向发送端发送已接收的各个数据帧对应的反馈帧,反馈帧的反馈帧负载内填写已成功接收的各个数据帧的帧序列号。发送端在接收到反馈帧并确定各个丢失的数据帧的帧序列号后,从该发送链表中查找丢帧的帧序列号对应的数据帧,并将查找到的各个数据帧重新发送给接收端。
应用本发明实施例提供的装置,发送端能够不中断地连续发送数据帧并将其存储在本地的发送链表中,接收端则可以根据丢失的数据帧触发反馈机制,向发送端反馈数据接收过程中丢包的情况,发送端可以根据接收端的反馈来维护发送缓存,从而保证数据传输的可靠性和及时性。
本发明实施例还提供了一种鲁棒的逐跳可靠数据传输方法,该方法应用于接收端,所述方法的方法流程图如图6所示,具体包括:
S601:当接收到发送端发送的数据帧时,解析所述数据帧,获得所述数据帧中的RHTP协议及数据负载。
在本发明实施例中,接收端可以实时接收发送端发送的数据帧,并在每次接收到发送端发送端数据帧时,解析该数据帧,获得数据帧中包含的RHTP协议以及数据负载。
S602:获取所述RHTP协议中包含的帧序列号及发送端id,并基于所述发送端id,检测预先设置的定位表中是否存储属于所述发送端的丢帧信息;若否,则执行S603;若是,则执行S606。
在本发明实施例中,RHTP协议中包含发送端所发送的数据帧的帧序列号,接收端可以根据当前接收到的数据帧的帧序列号,确定接收数据帧的连续性。接收端中维护有定位表,该定位表如图7所示,locate_list_head为定位表的表头,定位表中包含多个表头,每个表头分别对应一个发送端的发送端id,通过计算发送端id的哈希值,确定发送端对应的定位表的表头。表头中包含前驱pre、后继next、定位表地址local_id、上一次接收的数据帧的帧序列号last_rcv_seq以及表头后挂载的定位表的链表元素locate_list_elem,定位表的链表元素中包含前驱pre、后驱next、对应的丢失的各个数据帧中起始的数据帧的帧序列号seq以及丢帧数量num_zeroes。因此,定位表中的丢帧信息为定位表的链表元素中包含的丢失的各个数据帧中起始的数据帧的帧序列号以及丢帧数量。
例如,接收端当前丢失的属于发送端的数据帧的帧序列号为5、6、7的数据帧,则起始的数据帧的帧序列号为5,丢帧数量为3,则该定位表中记录的丢帧信息为(5,3)。接收端当前没有丢失属于发送端的数据帧,则不在定位表中填写丢帧信息,或者填写的丢帧信息为(0,0)。
S603:若所述定位表中未存储属于所述发送端的丢帧信息,则基于所述数据帧的帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧;若是,则执行S604;若否,则执行S605。
在本发明实施例中,若定位表中并未存储丢帧信息,则表征该接收端在接收到该数据帧之前并未丢帧。通过该数据帧的帧序列号以及上一次接收到数据帧的帧序列号,判断该接收端是否丢帧,即,判断该接收端在接收到该数据帧后是否丢帧。
其中,基于所述帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧的过程,可以包括:
判断所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号是否连续;若所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号连续,则确定所述接收端未丢帧;若所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号不连续,则确定所述接收端丢帧。可以理解的是,若接收端接收的每次接收的数据帧与上一个数据帧之间的帧序列号为连续的号码,表征该接收端未丢帧。例如,若接收端上一次接收的数据帧的帧序列号为5,当前接收的数据帧的帧序列号为6,则该接收端未丢帧;若接收端上一次接收的数据帧的帧序列号为5,当前接收的数据帧的帧序列号为7,则表征该接收端丢失了帧序列号为6的数据帧。
S604:当所述接收端丢帧时,确定所述接收端中各个已丢失的数据帧的帧序列号及丢帧数量,并基于各个所述已丢失的数据帧的帧序列号及丢帧数量,生成各个所述已丢失的数据帧对应的丢帧信息存储于所述定位表中;构建各个所述已丢失的数据帧对应的反馈帧,并触发预先设置的反馈机制将所述反馈帧发送至所述发送端。
在本发明实施例中,接收端在实时接收数据帧的过程中,可能会连续丢失多个数据帧,当确定接收端丢帧后,根据该接收端当前接收的数据帧的帧序列号以及上一次接收的数据帧的帧序列号以及各个已丢失的数据帧的,确定各个已丢失的数据帧的帧序列号。根据各个已丢失的数据帧的帧序列号及丢帧数量,生成属于该发送端的各个已丢失的数据帧对应的丢帧信息,并将丢帧信息更新至定位表中,按照预先设置的时间点以及触发时间触发反馈机制,由接收端中的反馈机制根据各个已丢失的数据帧的帧序列号以及上一次接收的数据帧的帧序列号生成反馈帧,将反馈帧发送至发送端,以提示发送端该接收端当前丢失的各个数据帧的帧序列号。
需要说明的是,该反馈机制可以设置于接收端中或者是与接收端连接的外置设备。该反馈机制用于在接收端生成反馈帧时,将反馈帧发送至对应的发送端。
还需要说明的是,反馈机制实际可以为定时反馈机制,通过设定的时间触发接收端生成反馈帧。其中,若接收端当前没有丢帧,则在到达设定的时间后,反馈机制触发接收端生成携带已接收到的各个数据帧的帧序列号的反馈帧,并将反馈帧发送给发送端;若接收端当前有丢帧,则在到达设定的时间后,反馈机制触发接收端根据当前的丢帧信息生成反馈帧,并将反馈帧发送至发送端。
S605:当所述接收端未丢帧时,获取所述数据负载中封装的数据,并执行所述数据对应的数据操作。
在本发明实施例中,数据帧的数据负载中封装由发送端所需要传输的数据,接收端对该数据负载进行解析,获取其中封装的数据并执行对应的数据操作。
可选的,接收端执行数据操作的过程,具体可以是:接收端读取数据帧中RHTP协议包含的端到端的目的id,确定该接收端的下一跳id,将该接收端作为新的发送端,将该数据重新打包生成新的数据帧后,发送给下一跳id对应的接收端。可以理解的是当前的接收端可以是作为数据中转的一端,发送端根据该数据中包含的当前的接收端id生成数据帧发送给该当前的接收端后,接收端再按照RHTP协议中所定义的端到端目的id,确定需要将数据最终发送的目的地,若该接收端并非最终接收数据的一端,则该接收端将作为新的发送端,继续根据下一跳id,重新执行发送如上述S101至S107的过程,此处将不复赘述。
S606:若所述定位表中存储属于所述发送端的丢帧信息,则判断所述数据帧的帧序列号是否属于所述丢帧信息中包含的帧序列号。
在本发明实施例中,若定位表中存储丢帧信息,则表征接收端在接收到该数据帧之前已经丢失过数据帧,此时需要判断该发送端当前发送的数据帧的帧序列号为该丢帧信息中包含的帧序列号,以确定该数据帧是否为该接收端原先丢失的数据帧。
例如,丢帧信息为(5,3),若当前接收的数据帧的帧序列号为5或6或7,则帧序列号属于该丢帧信息,反之则不属于。
S607:若所述数据帧的帧序列号属于所述丢帧信息中包含的帧序列号,则更新所述定位表中的丢帧信息,使得所述数据帧的帧序列号不属于所述丢帧信息,并获取所述数据负载中封装的数据,并执行所述数据对应的数据操作。
在本发明实施例中,若该数据帧的帧序列号属于该定位表中丢帧信息中包含的帧序列号,则表征该接收端成功接收到了发送端补发的原先丢失的数据帧,此时可以更新定位表中属于该发送端的丢帧信息,并获取数据负载中的数据执行对应的数据操作。
其中,更新丢帧信息的过程包括:若数据帧的帧序列号为丢帧信息中起始的数据帧的帧序列号,则更新丢帧信息中的起始数据帧的帧序列号以及丢帧数量;若数据帧的帧序列号为丢帧信息中末尾的数据帧的帧序列号,则更新丢帧信息中的丢帧数量;若数据帧的帧序列或为丢帧信息中的中间的数据帧的帧序列号,则将该丢帧信息拆分成两个部分的丢帧信息,第一个部分的丢帧信息中起始数据帧的帧序列号与原先丢帧信息的起始数据帧的帧序列号一致,丢帧数量按照与该起始数据帧的帧序列号连续丢帧的数量计算;第二个部分的丢帧信息中的起始数据帧的帧序列号为该数据帧的帧序列号的下一个帧序列号,丢帧数量按照与下一个帧序列号连续丢帧的数量计算。
例如,当前丢帧信息为(5,3),则该接收端丢失帧序列号为5,6,7的帧序列号。5为起始数据帧的帧序列号,6为中间数据帧的帧序列号,7为末尾数据帧的帧序列号。若当前接收端接收的数据帧的帧序列号为5,则丢帧信息更新为(6,2);若当前接收端接收的数据帧的帧序列号为7,则丢帧信息更新为(5,2);若当前接收端接收的数据帧的帧序列号为6,则丢帧信息更新为(5,1)和(7,1)。
本发明实施例提供的鲁棒的逐跳可靠数据传输方法中,接收端在接收到发送端发送的数据帧时,解析该数据帧获得其中的RHTP协议和数据负载。RHTP协议中包含帧序列号,数据负载中封装发送端从上层服务接收的数据。在接收到数据帧后,检测定位表中是否存储有丢帧信息,以确定接收端在接收到该数据帧之前是否丢帧,若在接收到该数据帧之前未丢帧,则基于该数据帧的帧序列号以及接收端上一次接收的数据帧的帧序列号,判断该接收端在接收到该数据帧后是否丢帧。其中,判断该数据帧的帧序列号与上一次接收的数据帧的帧序列号是否连续;若连续,则表征接收端并未丢帧;若不连续,则表征该接收端已丢帧。当确定该接收端丢帧时,根据该数据帧的帧序列号以及上一次接收的数据帧的帧序列号,确定该接收端当前丢失的数据帧的帧序列号,并基于各个已丢失的数据帧的帧序列号,生成对应的丢帧信息存储于定位表中,以在下一次接收到新的数据帧时,确定该新的数据帧是否属于该定位表中丢帧信息。在确定接收端丢帧后,生成各个已丢失的数据帧对应的反馈帧,将该反馈帧发送给发送端,发送端在接收到反馈帧后,根据反馈帧中包含的各个帧序列号,重新向接收端补发丢失的数据帧。当确定该接收端未丢帧时,则从数据帧的数据负载中获取数据,并执行该数据对应的数据操作。若接收端接收到数据帧后定位表中已存储有丢帧信息,则表征接收端在接收到数据帧之前已经丢失过数据帧,且还未接收到发送端补发的数据帧。因此,需要判断该数据帧的帧序列号是否为定位表中存储的丢帧信息中的帧序列号;若是,则证明该数据帧为发送端补发的该接收端原先丢失的数据帧;若否,则证明该数据帧并非补发的数据帧。在接收端接收到补发的数据帧后,更新定位表中的丢帧信息,并从数据帧的数据负载中获取该数据帧封装的数据,执行该数据对应的数据操作。
进一步的,当接收端向发送端发送反馈帧后,从数据帧的数据负载中解析出数据,并执行该数据对应的数据操作。
再进一步地,基于上述实施例S601至S607的过程,接收端在接收到数据帧后的具体实施方式可以如下:
接收端接收到发送端发送的数据帧时,将上一次接收的数据帧的帧序列号定义为last_rcv_seq0,当前接收到的数据帧的帧序列号为frame_seq,对应定位表中链表元素为seq0,定位表的链表元素与接收端丢失的数据帧的帧序列号相对应,连续丢帧的个数为num_miss0。检测frame_seq是否大于last_rcv_seq0;若frame_seq>last_rcv_seq,则说明该数据帧是新收到的。若frame_seq=last_rcv_seq0+1,则表征该数据帧与上一个数据帧之间没有丢帧,并将该frame_seq更新为last_rcv_seq。若frame_seq>last_rcv_seq0+1,则表征该数据帧与上一数据帧之间丢帧,在定位表中新建一个链表元素seq,其中seq=last_rcv_seq0+1,丢帧个数num_miss0=frame_seq-seq,将frame_seq更新为last_rcv_seq。若frame_seq<last_rcv_seq,则说明该数据帧为发送端补发的数据帧。此时,确定该frame_seq是否为该定位表中的某个链表元素seq0。若是,则表征frame_seq=seq0+num_miss0-1,仅需要更新该定位表中的链表元素即可;若不是,则确定seq0<frame_seq<seq0+num_miss0-1,此时不仅对定位表进行更新,并需要将原有的链表元素拆成两部分,前面丢帧的链表元素为seq=seq0,num_miss=frame_seq-seq0;后面的链表元素seq=frame_seq+1,num_miss=seq0+num_miss0-frame_seq-1。
应用本发明实施例提供的方法,接收端在确定其丢失数据帧时,可以及时向发送端发送对应的反馈帧,以及时补充丢失的数据帧,并通过定位表维护丢失的数据帧,保证数据的传输的可靠性。
本发明实施例提供的方法中,基于上述S604的内容,在确定接收端丢帧后,生成反馈帧,以通过反馈帧请求发送端重新补发丢失的数据帧。其中,基于各个所述已丢失的数据帧的帧序列号,及所述接收端上一次接收的数据帧的帧序列号,生成各个所述已丢失的数据帧对应的反馈帧,具体可以包括:
获取所述数据帧的RHTP协议中各个字段的各个数据参数,并基于各个所述数据参数生成反馈帧RHTP协议,各个所述数据参数中包含所述发送端的发送端id和接收端的接收端id;
将所述接收端id、所述发送端id、所述数据帧的帧序列号、上一次接收的数据帧的帧序列号、所述丢帧数量以及各个所述已丢失的数据帧的帧序列号填写入所述反馈帧负载;
基于所述反馈帧RHTP协议及已填写的反馈帧负载,生成各个所述已丢失的数据帧对应的反馈帧。
本发明实施例提供的鲁棒的逐跳可靠数据传输方法中,参考图8,图8为反馈帧的结构示意图,其中包括反馈帧RHTP协议和反馈帧负载。该反馈帧RHTP协议中的各个字段与发送端发送端数据帧中的RHTP协议的各个字段一致,反馈帧RHTP协议的每个字段的字段名称、大小以及含义参考上述表1。其中,每次需要生成反馈帧时,将触发一个反馈帧序列。同一个反馈帧序列的反馈帧序列号相同,代表是同一次反馈机制触发时产生的反馈帧。对于序列中的每一个反馈帧,需要将type字段设为反馈帧,将local_id字段填为单跳数据帧发送端的发送端id,将next_id字段填为单跳数据帧接收端的接收端id。接收端的反馈帧中包含反馈帧负载,反馈帧负载中也同样包含多个字段,反馈帧负载中的各个字段的字段名称、大小及含义如表2所示:
表2
Figure BDA0003018002760000211
其中,反馈帧中的local_id为接收端的接收端id,next_id为发送端id,反馈帧序列号为接收端每次生成反馈帧时,接收端根据生成反馈帧的顺序定义的序号,last_rcv_seq接收端当前收到的数据帧的帧序列号;last_miss_seq为接收端上一次接收的数据帧的帧序列号;miss_seq[i](i=0,1…)为接收端丢帧的帧序列号及数量。
需要说明的是,miss_seq[i](i=0,1…)为上述实施例S402中所述的第一字段,last_rcv_seq为上述实施例所述的第二字段。
基于本发明实施例提供的方法,接收端在接收到数据帧后,确认当前接收的数据帧与上一个数据帧之间丢失至少一个数据帧,通过当前的数据帧的帧序列号以及上一次接收的数据帧的帧序列号,确定该接收端当前丢失的数据帧的帧序列号以及当前丢帧数量。接收端根据当前接收的数据帧中RHTP协议中各个字段的各个数据参数,对应填写反馈帧中的反馈RHTP协议的各个字段。在本发明中,生成反馈帧RHTP协议的过程是将原先在数据帧的RHTP协议中的next_id字段中的数据参数与local_id字段中的数据参数进行替换,将数据帧中的type字段所指向的数据帧的帧类型变更为指向反馈帧的帧类型。最后,根据反馈帧负载中的各个字段,将接收端id、发送端id、当前接收的数据帧的帧序列号、上一次接收的数据帧的帧序列号、当前丢失的各个数据帧的帧序列号以及丢帧数量填写入反馈帧负载中,最终生成各个已丢失的数据帧对应的反馈帧。
应用本发明实施例提供的方法,可以在接收端丢帧时,及时生成反馈帧,以通过反馈帧重新获取丢失的数据帧。
在本发明实施例提供的方法中,在确定该定位表中存储丢帧信息后,还需要再次确定接收端当前接收的数据帧的帧序列号是否属于该定位表中丢帧信息中包含的帧序列号。若是,则需要更新定位表中的丢帧信息;反之,则需要重新确定接收端中当前丢帧的数量,具体可以包括:
若所述帧序列号并非所述定位表中存储的帧序列号,则执获取所述数据负载中封装的数据,并执行所述数据对应的数据操作,并基于所述数据帧的帧序列号、所述接收端上一次接收的数据帧的帧序列号及所述定位表中存储的丢帧信息,更新所述定位表中属于所述发送端的丢帧信息。
可以理解的是,若定位表中存储有丢帧信息,则表征接收端在接收到当前的数据帧之前已经存在丢失的数据帧,因此,在接收到当前的数据帧,且该数据帧并非该接收端原先丢失的数据帧时,先对数据帧中的数据执行对应的数据操作,并重新确定该接收端在原先丢帧的基础上是否又增加新丢失的数据帧,以根据该数据帧的帧序列号、上一次接收的数据帧的帧序列号以及定位表中存储的帧序列号,更新该定位表中属于该发送端的丢帧信息。
具体的,更新定位表的过程为:根据该数据帧的帧序列号以及上一次接收的数据帧的帧序列号,确定该接收端是否丢帧;若已丢帧,则确定数据帧与上一个数据帧之间丢失的各个数据帧的帧序列号。并检测定位表中存储的丢帧信息对应的任一帧序列号是否与当前丢失的各个数据帧的帧序列号一致,若不一致,则根据当前丢失的各个数据帧的帧序列号,更新至定位表中的丢帧信息,使得最新的丢帧信息不仅包含原先丢失的各个帧序列号,还包含当前的数据帧与上一个数据帧之间丢失的数据帧的帧序列号;反之,则该定位表中的丢帧信息依旧包含原先丢失的各个数据帧的帧序列号。该接收端未丢帧,则无需更新定位表。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
与上述图6相对应的,本发明实施例还提供了一种鲁棒的逐跳可靠数据传输装置,用于对图6中方法的具体实现,本发明实施例提供的鲁棒的逐跳可靠数据传输装置应用于接收端,其结构示意图如图9所示,具体包括:
解析单元901,用于当接收到发送端发送的数据帧时,解析所述数据帧,获得所述数据帧中的RHTP协议及数据负载;
检测单元902,用于获取所述RHTP协议中包含的帧序列号及发送端id,并基于所述发送端id,检测预先设置的定位表中是否存储属于所述发送端的丢帧信息;
第一判断单元903,用于若所述定位表中未存储属于所述发送端的丢帧信息,则基于所述数据帧的帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧;
生成单元904,用于当所述接收端丢帧时,确定所述接收端中各个已丢失的数据帧的帧序列号及丢帧数量,并基于各个所述已丢失的数据帧的帧序列号及丢帧数量,生成各个所述已丢失的数据帧对应的丢帧信息存储于所述定位表中;构建各个所述已丢失的数据帧对应的反馈帧,并触发预先设置的反馈机制将所述反馈帧发送至所述发送端;
获取单元905,用于当所述接收端未丢帧时,获取所述数据负载中封装的数据,并执行所述数据对应的数据操作;
第二判断单元906,用于若所述定位表中存储属于所述发送端的丢帧信息,则判断所述数据帧的帧序列号是否属于所述丢帧信息中包含的帧序列号;
执行单元907,用于若所述数据帧的帧序列号属于所述丢帧信息中包含的帧序列号,则更新所述定位表中的丢帧信息,使得所述数据帧的帧序列号不属于所述丢帧信息,并获取所述数据负载中封装的数据,并执行所述数据对应的数据操作。
本发明实施例提供的鲁棒的逐跳可靠数据传输装置中,接收端在接收到发送端发送的数据帧时,解析该数据帧获得其中的RHTP协议和数据负载。RHTP协议中包含帧序列号,数据负载中封装发送端从上层服务接收的数据。在接收到数据帧后,检测定位表中是否存储有丢帧信息,以确定接收端在接收到该数据帧之前是否丢帧,若在接收到该数据帧之前未丢帧,则基于该数据帧的帧序列号以及接收端上一次接收的数据帧的帧序列号,判断该接收端在接收到该数据帧后是否丢帧。其中,判断该数据帧的帧序列号与上一次接收的数据帧的帧序列号是否连续;若连续,则表征接收到并未丢帧;若不连续,则表征该接收端已丢帧。当确定该接收端丢帧时,根据该数据帧的帧序列号以及上一次接收的数据帧的帧序列号,确定该接收端当前丢失的数据帧的帧序列号,并基于各个已丢失的数据帧的帧序列号,生成对应的丢帧信息存储于定位表中,以在下一次接收到新的数据帧时,确定该新的数据帧是否属于该定位表中丢帧信息。在确定接收端丢帧后,生成各个已丢失的数据帧对应的反馈帧,将该反馈帧发送给发送端,发送端在接收到反馈帧后,根据反馈帧中包含的各个帧序列号,重新向接收端补发丢失的数据帧。当确定该接收端未丢帧时,则从数据帧的数据负载中获取数据,并执行该数据对应的数据操作。若接收端接收到数据帧后定位表中已存储有丢帧信息,则表征接收端在接收到数据帧之前已经丢失过数据帧,且还未接收到发送端补发的数据帧。因此,需要判断该数据帧的帧序列号是否为定位表中存储的丢帧信息中的帧序列号;若是,则证明该数据帧为发送端补发的该接收端原先丢失的数据帧;若否,则证明该数据帧并非补发的数据帧。在接收端接收到补发的数据帧后,更新定位表中的丢帧信息,并从数据帧的数据负载中获取该数据帧封装的数据,执行该数据对应的数据操作。
应用本发明实施例提供的装置,接收端在确定其丢失数据帧时,可以及时向发送端发送对应的反馈帧,以及时补充丢失的数据帧,并通过定位表维护丢失的数据帧,保证数据的传输的可靠性。
参考图10,本发明还提供了一种鲁棒的逐跳可靠数据传输系统,该系统包括:
上层服务1001、发送端1002及接收端1003;
所述上层服务1001,用于实时向发送端1002发送数据;
所述发送端1002,用于实时接收所述上层服务发送的数据,并执行如下述任意一项所述的鲁棒的逐跳可靠数据传输方法:
在每次接收到上层服务发送的数据时,将所述上层服务发送的当前的数据封装至其对应的数据帧中,所述数据帧包含RHTP协议和数据负载,所述当前的数据封装于所述数据负载中;
获取所述当前的数据中包含的接收端id,基于所述接收端id,确定所述数据帧的帧序列号;
基于所述帧序列号、所述接收端id及所述当前的数据的各个数据参数,填写所述数据帧的RHTP协议;
将所述数据帧存储至预先设置的发送链表,并经由所述发送端的底层链路发送端口发送所述数据帧至所述接收端id对应的接收端;
实时检测是否接收到所述接收端发送的反馈帧,并在接收到所述接收端发送的反馈帧时,基于所述反馈帧,判断所述接收端是否丢帧;
若所述接收端已丢帧,则基于所述反馈帧,确定至少一个所述接收端已丢帧的帧序列号;
在所述发送链表中查找每个所述已丢帧的帧序列号对应的数据帧,并将各个已查找到的数据帧发送至所述接收端。
上述的方法,可选的,所述基于所述接收端id,确定所述数据帧的帧序列号,包括:
获取预先设置的所述接收端id对应的计数模块,所述计数模块用于在所述发送端接收到包含所述接收端id的数据时,对所述计数模块中的数值加1;
确定所述计数模块中的当前数值,并将所述当前数值设置为所述数据帧的帧序列号。
上述的方法,可选的,所述将所述数据帧存储至预先设置的发送链表,包括:
对所述接收端id进行哈希计算,获得所述接收端id对应的哈希值;
基于所述哈希值及接收端id,在所述发送链表中查找所述接收端对应的链表表头;
基于所述帧序列号,在所述链表表头后生成与所述数据帧对应的链表元素,并将所述数据帧封装于所述链表元素中。
上述的方法,可选的,所述基于所述反馈帧,判断所述接收端是否丢帧,包括:
解析所述反馈帧,获得所述反馈帧中的反馈帧负载;
检测所述反馈帧负载的第一字段内是否有填写帧序列号,所述反馈帧负载的第一字段用于填写接收端已丢失的数据帧的帧序列号及丢帧数量;
若所述反馈帧负载的第一字段内有填写帧序列号,则确定所述接收端丢帧;
若所述反馈帧负载的第一字段内未填写帧序列号,则确定所述接收端未丢帧。
所述接收端1003,用于执行下述任意一项所述的鲁棒的逐跳可靠数据传输方法:
当接收到发送端发送的数据帧时,解析所述数据帧,获得所述数据帧中的RHTP协议及数据负载;
获取所述RHTP协议中包含的帧序列号及发送端id,并基于所述发送端id,检测预先设置的定位表中是否存储属于所述发送端的丢帧信息;
若所述定位表中未存储属于所述发送端的丢帧信息,则基于所述数据帧的帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧;
当所述接收端丢帧时,确定所述接收端中各个已丢失的数据帧的帧序列号及丢帧数量,并基于各个所述已丢失的数据帧的帧序列号及丢帧数量,生成各个所述已丢失的数据帧对应的丢帧信息存储于所述定位表中;构建各个所述已丢失的数据帧对应的反馈帧,并触发预先设置的反馈机制将所述反馈帧发送至所述发送端;
当所述接收端未丢帧时,获取所述数据负载中封装的数据,并执行所述数据对应的数据操作;
若所述定位表中存储属于所述发送端的丢帧信息,则判断所述数据帧的帧序列号是否属于所述丢帧信息中包含的帧序列号;
若所述数据帧的帧序列号属于所述丢帧信息中包含的帧序列号,则更新所述定位表中的丢帧信息,使得所述数据帧的帧序列号不属于所述丢帧信息,并获取所述数据负载中封装的数据,并执行所述数据对应的数据操作。
上述的方法,可选的,所述基于所述数据帧的帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧,包括:
判断所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号是否连续;
若所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号连续,则确定所述接收端未丢帧;
若所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号不连续,则确定所述接收端丢帧。
上述的方法,可选的,所述生成各个所述已丢失的数据帧对应的反馈帧,包括:
获取所述数据帧的RHTP协议中各个字段的各个数据参数,并基于各个所述数据参数生成反馈帧RHTP协议,各个所述数据参数中包含所述发送端的发送端id和接收端的接收端id;
将所述接收端id、所述发送端id、所述数据帧的帧序列号、上一次接收的数据帧的帧序列号、所述丢帧数量以及各个所述已丢失的数据帧的帧序列号填写入预先设置的反馈帧负载;
基于所述反馈帧RHTP协议及已填写的反馈帧负载,生成各个所述已丢失的数据帧对应的反馈帧。
本发明实施例提供的鲁棒的逐跳可靠数据传输系统中,发送端实时接收上层服务发送的数据,并在每次接收到上层服务发送的数据时,将接收到的当前的数据封装中数据帧的数据负载中,并确定当前的数据对应的接收顺序,将该接收顺序作为帧序列号写入数据帧的RHTP协议中,并通过各个数据参数完善该RHTP协议,获得最终的数据帧保存至发送链表,同时将数据帧发送至接收端。接收端在接收到数据帧后,解析该数据帧,把获取数据帧中的RHTP协议和数据负载。从RHTP协议中获取该数据帧的帧序列号,并检测定位表中是否包含丢帧信息;若不包含,则判断该接收端在接收到该数据帧后是否丢帧。若已丢帧,则生成反馈帧,并根据丢帧的数据帧的帧序列号及丢帧数量生成丢帧信息存入定位表中。发送端在接收到反馈帧后,根据反馈帧中的帧序列号,重新向接收端发送原先丢失的数据帧。接收端根据接收的数据帧的帧序列号,确定该数据帧为丢失的数据帧后,将更新定位表中的丢帧信息,并解析数据帧的数据负载,获得数据负载中的数据,执行该数据对应的数据操作。
本发明实施例提供的鲁棒的逐跳可靠数据传输系统中的发送端及接收端的具体执行过程与上述实施提供的方法的执行过程一致,此处将不复赘述。
应用本发明实施例提供的系统,发送端能够不中断地连续发送数据帧并将其存储在本地的发送链表中,接收端则可以根据丢失的数据帧触发反馈机制,向发送端反馈数据接收过程中丢包的情况,发送端可以根据接收端的反馈来维护发送缓存,从而保证数据传输的可靠性和及时性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种鲁棒的逐跳可靠数据传输方法,其特征在于,所述方法应用于发送端,所述方法包括:
在每次接收到上层服务发送的数据时,将所述上层服务发送的当前的数据封装至其对应的数据帧中,所述数据帧包含RHTP协议和数据负载,所述当前的数据封装于所述数据负载中;
获取所述当前的数据中包含的接收端id,基于所述接收端id,确定所述数据帧的帧序列号;
基于所述帧序列号、所述接收端id及所述当前的数据的各个数据参数,填写所述数据帧的RHTP协议;
将所述数据帧存储至预先设置的发送链表,并经由所述发送端的底层链路发送端口发送所述数据帧至所述接收端id对应的接收端;
实时检测是否接收到所述接收端发送的反馈帧,并在接收到所述接收端发送的反馈帧时,基于所述反馈帧,判断所述接收端是否丢帧;
若所述接收端已丢帧,则基于所述反馈帧,确定至少一个所述接收端已丢帧的帧序列号;
在所述发送链表中查找每个所述已丢帧的帧序列号对应的数据帧,并将各个已查找到的数据帧发送至所述接收端。
2.根据权利要求1所述的方法,其特征在于,所述基于所述接收端id,确定所述数据帧的帧序列号,包括:
获取预先设置的所述接收端id对应的计数模块,所述计数模块用于在所述发送端接收到包含所述接收端id的数据时,对所述计数模块中的数值加1;
确定所述计数模块中的当前数值,并将所述当前数值设置为所述数据帧的帧序列号。
3.根据权利要求2所述的方法,其特征在于,所述将所述数据帧存储至预先设置的发送链表,包括:
对所述接收端id进行哈希计算,获得所述接收端id对应的哈希值;
基于所述哈希值及接收端id,在所述发送链表中查找所述接收端对应的链表表头;
基于所述帧序列号,在所述链表表头后生成与所述数据帧对应的链表元素,并将所述数据帧封装于所述链表元素中。
4.根据权利要求1所述的方法,其特征在于,所述基于所述反馈帧,判断所述接收端是否丢帧,包括:
解析所述反馈帧,获得所述反馈帧中的反馈帧负载;
检测所述反馈帧负载的第一字段内是否有填写丢帧数量,所述反馈帧负载的第一字段用于填写接收端已丢失的数据帧的帧序列号及丢帧数量;
若所述反馈帧负载的第一字段内有填写丢帧数量,则确定所述接收端丢帧;
若所述反馈帧负载的第一字段内未填写帧序列号,则确定所述接收端未丢帧。
5.一种鲁棒的逐跳可靠数据传输装置,其特征在于,所述装置应用于发送端,所述装置包括:
封装单元,用于在每次接收到上层服务发送的数据时,将所述上层服务发送的当前的数据封装至其对应的数据帧中,所述数据帧包含RHTP协议和数据负载,所述当前的数据封装于所述数据负载中;
第一确定单元,用于获取所述当前的数据中包含的接收端id,基于所述接收端id,确定所述数据帧的帧序列号;
填写单元,用于基于所述帧序列号、所述接收端id及所述当前的数据的各个数据参数,填写所述数据帧的RHTP协议;
第一发送单元,用于将所述数据帧存储至预先设置的发送链表,并经由所述发送端的底层链路发送端口发送所述数据帧至所述接收端id对应的接收端;
检测单元,用于实时检测是否接收到所述接收端发送的反馈帧,并在接收到所述接收端发送的反馈帧时,基于所述反馈帧,判断所述接收端是否丢帧;
第二确定单元,用于若所述接收端已丢帧,则基于所述反馈帧,确定至少一个所述接收端已丢帧的帧序列号;
第二发送单元,用于在所述发送链表中查找每个所述已丢帧的帧序列号对应的数据帧,并将各个已查找到的数据帧发送至所述接收端。
6.一种鲁棒的逐跳可靠数据传输方法,其特征在于,所述方法应用于接收端,所述方法包括:
当接收到发送端发送的数据帧时,解析所述数据帧,获得所述数据帧中的RHTP协议及数据负载;
获取所述RHTP协议中包含的帧序列号及发送端id,并基于所述发送端id,检测预先设置的定位表中是否存储属于所述发送端的丢帧信息;
若所述定位表中未存储属于所述发送端的丢帧信息,则基于所述数据帧的帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧;
当所述接收端丢帧时,确定所述接收端中各个已丢失的数据帧的帧序列号及丢帧数量,并基于各个所述已丢失的数据帧的帧序列号及丢帧数量,生成各个所述已丢失的数据帧对应的丢帧信息存储于所述定位表中;构建各个所述已丢失的数据帧对应的反馈帧,并触发预先设置的反馈机制将所述反馈帧发送至所述发送端;
当所述接收端未丢帧时,获取所述数据负载中封装的数据,并执行所述数据对应的数据操作;
若所述定位表中存储属于所述发送端的丢帧信息,则判断所述数据帧的帧序列号是否属于所述丢帧信息中包含的帧序列号;
若所述数据帧的帧序列号属于所述丢帧信息中包含的帧序列号,则更新所述定位表中的丢帧信息,使得所述数据帧的帧序列号不属于所述丢帧信息,并获取所述数据负载中封装的数据,并执行所述数据对应的数据操作。
7.根据权利要求6所述的方法,其特征在于,所述基于所述数据帧的帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧,包括:
判断所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号是否连续;
若所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号连续,则确定所述接收端未丢帧;
若所述数据帧的帧序列号与所述接收端上一次接收的数据帧的帧序列号不连续,则确定所述接收端丢帧。
8.根据权利要求6所述的方法,其特征在于,所述生成各个所述已丢失的数据帧对应的反馈帧,包括:
获取所述数据帧的RHTP协议中各个字段的各个数据参数,并基于各个所述数据参数生成反馈帧RHTP协议,各个所述数据参数中包含所述发送端的发送端id和接收端的接收端id;
将所述接收端id、所述发送端id、所述数据帧的帧序列号、上一次接收的数据帧的帧序列号、所述丢帧数量以及各个所述已丢失的数据帧的帧序列号填写入预先设置的反馈帧负载;
基于所述反馈帧RHTP协议及已填写的反馈帧负载,生成各个所述已丢失的数据帧对应的反馈帧。
9.一种鲁棒的逐跳可靠数据传输装置,其特征在于,所述装置应用于接收端,所述装置包括:
解析单元,用于当接收到发送端发送的数据帧时,解析所述数据帧,获得所述数据帧中的RHTP协议及数据负载;
检测单元,用于获取所述RHTP协议中包含的帧序列号及发送端id,并基于所述发送端id,检测预先设置的定位表中是否存储属于所述发送端的丢帧信息;
第一判断单元,用于若所述定位表中未存储属于所述发送端的丢帧信息,则基于所述数据帧的帧序列号及所述接收端上一次接收的数据帧的帧序列号,判断所述接收端是否丢帧;
生成单元,用于当所述接收端丢帧时,确定所述接收端中各个已丢失的数据帧的帧序列号及丢帧数量,并基于各个所述已丢失的数据帧的帧序列号及丢帧数量,生成各个所述已丢失的数据帧对应的丢帧信息存储于所述定位表中;构建各个所述已丢失的数据帧对应的反馈帧,并触发预先设置的反馈机制将所述反馈帧发送至所述发送端;
获取单元,用于当所述接收端未丢帧时,获取所述数据负载中封装的数据,并执行所述数据对应的数据操作;
第二判断单元,用于若所述定位表中存储属于所述发送端的丢帧信息,则判断所述数据帧的帧序列号是否属于所述丢帧信息中包含的帧序列号;
执行单元,用于若所述数据帧的帧序列号属于所述丢帧信息中包含的帧序列号,则更新所述定位表中的丢帧信息,使得所述数据帧的帧序列号不属于所述丢帧信息,并获取所述数据负载中封装的数据,并执行所述数据对应的数据操作。
10.一种鲁棒的逐跳可靠数据传输系统,其特征在于,包括:
上层服务、发送端及接收端;
所述上层服务,用于实时向发送端发送数据;
所述发送端,用于实时接收所述上层服务发送的数据,并执行如上述权利要求1~4所述的鲁棒的逐跳可靠数据传输方法;
所述接收端,用于执行如上述权利要求6~8所述的鲁棒的逐跳可靠数据传输方法。
CN202110394450.3A 2021-04-13 2021-04-13 一种鲁棒的逐跳可靠数据传输方法、装置及系统 Active CN113300819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110394450.3A CN113300819B (zh) 2021-04-13 2021-04-13 一种鲁棒的逐跳可靠数据传输方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110394450.3A CN113300819B (zh) 2021-04-13 2021-04-13 一种鲁棒的逐跳可靠数据传输方法、装置及系统

Publications (2)

Publication Number Publication Date
CN113300819A true CN113300819A (zh) 2021-08-24
CN113300819B CN113300819B (zh) 2022-09-06

Family

ID=77319668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110394450.3A Active CN113300819B (zh) 2021-04-13 2021-04-13 一种鲁棒的逐跳可靠数据传输方法、装置及系统

Country Status (1)

Country Link
CN (1) CN113300819B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113910268A (zh) * 2021-09-29 2022-01-11 珠海格力电器股份有限公司 工业机器人的零部件损耗检测方法、装置、设备和介质
CN114500331A (zh) * 2021-12-29 2022-05-13 云控智行科技有限公司 一种数据补发方法、装置及设备
CN116389178A (zh) * 2023-04-07 2023-07-04 国家气象信息中心(中国气象局气象数据中心) 一种数据文件udp组播丢失帧级补调方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030179752A1 (en) * 2002-03-19 2003-09-25 Network Equipment Technologies, Inc. Reliable transport of TDM data streams over packet networks
US20050281243A1 (en) * 2004-06-18 2005-12-22 Qualcomm Incorporated Radio link protocols for a wireless communication system
US20070206673A1 (en) * 2005-12-08 2007-09-06 Stephen Cipolli Systems and methods for error resilience and random access in video communication systems
CN101521586A (zh) * 2008-02-28 2009-09-02 株式会社Ntt都科摩 在无线局域网中的多播方法
CN102932667A (zh) * 2012-11-15 2013-02-13 掌赢信息科技(上海)有限公司 一种实时流媒体上传中的丢帧控制与续传方法及系统
CN105245317A (zh) * 2015-10-20 2016-01-13 北京小鸟听听科技有限公司 一种数据传输方法、发送端、接收端和数据传输系统
CN108199814A (zh) * 2018-01-17 2018-06-22 中车青岛四方机车车辆股份有限公司 数据传输方法及装置
CN108322414A (zh) * 2017-01-17 2018-07-24 华为技术有限公司 一种反馈信息传输方法及装置
CN109327286A (zh) * 2018-12-08 2019-02-12 森大(深圳)技术有限公司 基于光纤的通信方法及系统
CN110557677A (zh) * 2019-09-27 2019-12-10 北京西山居互动娱乐科技有限公司 一种视频传输的方法及装置
WO2019242620A1 (zh) * 2018-06-21 2019-12-26 深圳市道通智能航空技术有限公司 数据传输控制方法、信息发送端、接收端及飞行器图传系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030179752A1 (en) * 2002-03-19 2003-09-25 Network Equipment Technologies, Inc. Reliable transport of TDM data streams over packet networks
US20050281243A1 (en) * 2004-06-18 2005-12-22 Qualcomm Incorporated Radio link protocols for a wireless communication system
US20070206673A1 (en) * 2005-12-08 2007-09-06 Stephen Cipolli Systems and methods for error resilience and random access in video communication systems
CN101521586A (zh) * 2008-02-28 2009-09-02 株式会社Ntt都科摩 在无线局域网中的多播方法
CN102932667A (zh) * 2012-11-15 2013-02-13 掌赢信息科技(上海)有限公司 一种实时流媒体上传中的丢帧控制与续传方法及系统
CN105245317A (zh) * 2015-10-20 2016-01-13 北京小鸟听听科技有限公司 一种数据传输方法、发送端、接收端和数据传输系统
CN108322414A (zh) * 2017-01-17 2018-07-24 华为技术有限公司 一种反馈信息传输方法及装置
CN108199814A (zh) * 2018-01-17 2018-06-22 中车青岛四方机车车辆股份有限公司 数据传输方法及装置
WO2019242620A1 (zh) * 2018-06-21 2019-12-26 深圳市道通智能航空技术有限公司 数据传输控制方法、信息发送端、接收端及飞行器图传系统
CN109327286A (zh) * 2018-12-08 2019-02-12 森大(深圳)技术有限公司 基于光纤的通信方法及系统
CN110557677A (zh) * 2019-09-27 2019-12-10 北京西山居互动娱乐科技有限公司 一种视频传输的方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TAN LI;SHUANGWU CHEN;ZHEN YAO;XIANG CHEN;JIAN YANG: "Semi-supervised network traffic classification using deep generative models", <2018 14TH INTERNATIONAL CONFERENCE ON NATURAL COMPUTATION, FUZZY SYSTEMS AND KNOWLEDGE DISCOVERY (ICNC-FSKD)> *
张洋洋; 陈双武; 完颜许哲; 杨坚: "基于HTTP的自适应视频传输算法", 《小型微型计算机系统》 *
陈双武: "网络多媒体服务系统的码率控制与性能优化", 《中国博士学位论文全文数据库 (信息科技辑)》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113910268A (zh) * 2021-09-29 2022-01-11 珠海格力电器股份有限公司 工业机器人的零部件损耗检测方法、装置、设备和介质
CN114500331A (zh) * 2021-12-29 2022-05-13 云控智行科技有限公司 一种数据补发方法、装置及设备
CN116389178A (zh) * 2023-04-07 2023-07-04 国家气象信息中心(中国气象局气象数据中心) 一种数据文件udp组播丢失帧级补调方法及装置
CN116389178B (zh) * 2023-04-07 2023-11-03 国家气象信息中心(中国气象局气象数据中心) 一种数据文件udp组播丢失帧级补调方法及装置

Also Published As

Publication number Publication date
CN113300819B (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
CN113300819B (zh) 一种鲁棒的逐跳可靠数据传输方法、装置及系统
CN108881008B (zh) 一种数据传输的方法、装置和系统
CN104093170B (zh) 基于tcp的数据传输方法和tcp代理装置
US7974229B2 (en) Relay for extended range point-to-point wireless packetized data communication system
CN104518853B (zh) 一种数据重传的方法、接收端及系统
CN102577267B (zh) 使终端之间的通信高速化的通信装置及通信系统
US7881205B2 (en) Configurable delay limit for error control communications
CA2604898C (en) System and method of message traffic optimization
US20050152350A1 (en) System and method for transmitting/receiving automatic repeat request
CN102857354B (zh) 告警信息上报方法、装置及系统
JP3377994B2 (ja) データ配信管理装置およびデータ配信管理方法
CN107959555B (zh) 一种基于lwaap的数据传输方法、装置及存储介质
CN112838910A (zh) 一种基于混合反馈的数据传输方法及装置
CN105791154A (zh) 一种基于udp的数据传输方法及装置
US20060259845A1 (en) Method and apparatus for acknowledging a bitwise data chunk in wireline and wireless communication systems
CN107508828B (zh) 一种超远程数据交互系统及方法
US20090232123A1 (en) Extended Range Wireless Packetized Data Communication System
CN109525374B (zh) 数据传输的方法、无线接入点、用户设备及传输设备
US11196792B2 (en) Method, device and system for transmitting data
CN104426638A (zh) 一种数据递交方法和装置
CN104580171B (zh) Tcp协议的传输方法、装置和系统
CN100471197C (zh) 用移动专用网络传输层有效发送/接收数据的方法、网络设备
JP4447028B2 (ja) 通信制御方法、送信装置、およびコンピュータプログラム
CN115348336A (zh) 异构数据流的通用传输架构
JP2009044694A (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
TR01 Transfer of patent right

Effective date of registration: 20231218

Address after: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Patentee after: University of Science and Technology of China

Patentee after: Zhang Yongdong

Patentee after: Yang Jian

Patentee after: Chen Shuangwu

Patentee after: Zheng Quan

Patentee after: Tan Xiaobin

Patentee after: Jiang Xiaofeng

Patentee after: Yang Feng

Patentee after: He Huasen

Address before: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Patentee before: University of Science and Technology of China

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240415

Address after: 230000 96 Jinzhai Road, Hefei City, Anhui Province

Patentee after: Zhang Yongdong

Country or region after: China

Patentee after: Yang Jian

Patentee after: Chen Shuangwu

Patentee after: Zheng Quan

Patentee after: Tan Xiaobin

Patentee after: Jiang Xiaofeng

Patentee after: Yang Feng

Patentee after: He Huasen

Address before: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Patentee before: University of Science and Technology of China

Country or region before: China

Patentee before: Zhang Yongdong

Patentee before: Yang Jian

Patentee before: Chen Shuangwu

Patentee before: Zheng Quan

Patentee before: Tan Xiaobin

Patentee before: Jiang Xiaofeng

Patentee before: Yang Feng

Patentee before: He Huasen

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240430

Address after: 230088, Building F5, Building 202, Kunpeng Building, Zhong'an Chuanggu Phase II, High tech Zone, Hefei City, Anhui Province

Patentee after: Hefei Wangyi Technology Co.,Ltd.

Country or region after: China

Address before: 230000 96 Jinzhai Road, Hefei City, Anhui Province

Patentee before: Zhang Yongdong

Country or region before: China

Patentee before: Yang Jian

Patentee before: Chen Shuangwu

Patentee before: Zheng Quan

Patentee before: Tan Xiaobin

Patentee before: Jiang Xiaofeng

Patentee before: Yang Feng

Patentee before: He Huasen

TR01 Transfer of patent right