CN114389758A - 一种数据传输方法和装置 - Google Patents
一种数据传输方法和装置 Download PDFInfo
- Publication number
- CN114389758A CN114389758A CN202011119358.8A CN202011119358A CN114389758A CN 114389758 A CN114389758 A CN 114389758A CN 202011119358 A CN202011119358 A CN 202011119358A CN 114389758 A CN114389758 A CN 114389758A
- Authority
- CN
- China
- Prior art keywords
- data
- tail
- backup
- information
- length
- 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
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
- H04W28/065—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
Abstract
一种数据传输方法和装置,涉及通信技术领域。该方法包括:数据发送端获取目标数据的尾部数据,对尾部数据进行编码,得到备份数据;备份数据用于对丢失的部分尾部数据进行恢复;数据发送端将尾部数据和备份数据发送给数据接收端。数据接收端接收尾部数据和备份数据,确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。该方法通过对目标数据的尾部数据进行编码保护,同时得到尾部数据的备份数据,从而数据传输过程中,发生尾部数据丢失时,可以通过备份数据进行恢复,使得数据接收端能够接收到足够的ACK信息,以减少尾部数据丢失而产生重传尾部数据的时延,从而可提高整体数据的传输效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法和装置。
背景技术
在通信网络中,发送端将待发送的数据发送给接收端,所述接收端在接收到该数据后,会向所述发送端返回相应的确认(ACKnowledge,ACK)信息。在数据传输过程中,为了保证所述接收端能接收到完整的该数据,可通过可靠的方式进行传输,例如传输控制协议transmission control protocol,TCP)进行数据的传输。然而,通过所述可靠的方式传输也往往会存在原始尾部数据丢失的问题,因此,所述发送端需要使用重新传输数据的技术向所述接收端重传丢失的尾部数据。
在现有重新传输数据的技术中,主要包括传统的TCP方案和探测超时(probetimeout,PTO)方案。其中,所述TCP方案主要采用快速恢复(fast recovery,FR)或超时重传(retransmission timeout,RTO)进行数据重传。当发送端接收到足够多的ACK信息时,则采用所述FR重新传输数据;当发送端没有接收任何重复确认(DUPlicate ACKnowledge,DUPACK)信息时,则采用所述RTO重新传输数据。由于尾部数据的丢失,所述发送端不能接收到接收端返回的足够多ACK,导致无法触发FR和早期重传(early retransmission,ER)进行重传,只能采用RTO进行重传,即依靠计时器超时来触发进行原始尾部数据重传,从而将造成原始尾部数据的超时传输时延,使得整体数据传输的时延较长。
发明内容
本申请提供一种数据传输方法和装置,用于减少尾部数据丢失而产生的重传尾部数据的时延,以提高整体数据的传输效率。
第一方面,本发明实施例提供一种数据传输方法,该方法适用于数据发送端。该方法包括以下步骤:获取目标数据的尾部数据;对所述尾部数据进行编码,得到备份数据,所述备份数据用于对丢失的部分尾部数据进行恢复;发送所述尾部数据和所述备份数据。
通过该设计,数据发送端针对获取的目标数据的尾部数据,对尾部数据进行编码保护,以及得到尾部数据的备份数据。因此,该方法可以避免目标数据在传输过程中出现尾部数据的丢失,并且若目标数据发生丢失时,通过备份数据也可以重新获得丢失的数据。
在一个可能的设计中,生成备份数据指示信息,所述备份指示信息用于指示以下至少一项:所述备份数据在所述尾部数据中的位置、所述编码的编码方式、所述尾部数据的长度信息、所述尾部数据被编码的起始位置。
通过该设计,数据发送端还生成备份数据指示信息,以便数据接收端可以通过备份数据指示信息,获知尾部数据位于目标数据中的位置,以及所述数据端进行数据编码的方式,以及所述尾部数据的长度、尾部数据被编码的起始位置,进而实现通过备份数据对丢失尾部数据的恢复。
在一个可能的设计中,所述方法还包括:在同一发送周期内发送所述备份数据指示信息、所述尾部数据和所述备份数据。
通过该设计,所述尾部数据、备份数据,以及备份数据指示信息在同一发送周期内发送给数据接收端,该方法可以避免因各数据的发送周期时间不同,导致所述数据接收端无法准确的确定接收的尾部数据所对应备份数据和备份数据指示信息,进而无法实现对丢失的尾部数据进行有效的恢复。
在一个可能的设计中,所述获取目标数据的尾部数据,包括:根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据,所述尾部标识用于识别所述尾部数据;或,根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据;或根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据。
通过该设计,数据发送端可通过不同的方式,灵活的确定目标数据的尾部数据的位置和长度信息,进而准确的获取目标数据的尾部数据。
在一个可能的设计中,所述根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据,包括:所述目标数据中的比特为所述尾部标识指示的起始比特时,根据所述尾部标识指示的起始比特获取所述尾部数据;其中,所述尾部数据的长度为所述尾部标识指示的起始比特至所述目标数据的结束比特。
通过该设计,数据发送端可以直接根据目标数据中携带的尾部标识确定目标数据中的尾部数据,进而快速且准确的获取所述目标数据的尾部数据。
在一个可能的设计中,所述根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据,包括:根据拥塞窗口和/或链路状态信息,确定所述目标数据中尾部数据的长度;根据所述尾部数据的长度和所述目标数据的末尾位置,获取所述尾部数据的起始位置。
通过该设计,数据发送端根据实际的网络拥塞窗口和/或链路状态,确定传输尾部数据的长度,进而在传输数据时,避免网络拥塞而丢失数据,从而可提高数据的传输效率。
在一个可能的设计中,所述根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据,包括:所述目标数据中的比特为所述长度信息指示的起始比特时,根据所述长度信息指示的起始比特获取所述尾部数据;其中,所述尾部数据的长度为所述长度信息指示的起始比特至所述目标数据的结束比特。
通过该设计,数据发送端可以根据预定的尾部数据长度信息,快速且准确的获取目标数据中的尾部数据。
在一个可能的设计中,所述发送所述尾部数据、所述备份数据之后,所述方法还包括:接收所述数据接收端反馈的确认ACK信息,所述ACK信息为所述数据接收端在确定所述尾部数据已全部被成功接收,或所述ACK信息为所述数据接收端在确定基于所述备份数据成功将所述尾部数据恢复。
通过该设计,数据发送端通过接收数据接收端反馈的确认ACK信息,可知所述数据接收端已接收到完整的尾部数据,从而避免所述数据发送端再次向所述数据接收端重传数据而造成额外开销。
在一个可能的设计中,所述发送所述尾部数据、所述备份数据之后,所述方法还包括:接收所述数据接收端反馈的选择性确认SACK信息,所述SACK信息用于指示所述数据接收端接收到所述备份数据,以及尾部数据丢失且丢失的尾部数据无法被所述备份数据恢复。
通过该设计,数据发送端通过接收数据接收端反馈的SACK信息,可知所述数据接收端没有接收到完整的尾部数据,需要所述数据发送端再次向所述数据接收端重传丢失的数据,使得所述接收端能接收到全部的目标数据。
第二方面,本发明实施例提供一种数据传输方法,该方法适用于数据接收端。该方法包括以下步骤:接收尾部数据、备份数据;其中,所述备份数据是对尾部数据进行编码得到的,用于对丢失的部分尾部数据进行恢复;确定所述尾部数据存在数据丢失时,根据所述备份数据对丢失尾部数据进行恢复。
通过该设计,数据接收端在确定目标数据的尾部数据发生丢失时,可以直接通过备份数据对丢失的尾部数据进行恢复,无需数据发送端再次向所述数据接收端重传丢失尾部数据,从而减少了重传而造成的额外传输时延以及开销。
在一个可能的设计中,所述方法还包括:在同一接收周期内接收所述尾部数据和所述备份数据,以及备份数据指示信息;其中,所述备份数据指示信息用于指示所述备份数据在所述尾部数据中的位置和所述编码的编码方式。
通过该设计,数据接收端在同一接收周期内接收所述尾部数据、备份数据,以及备份数据指示信息,该方法可以避免因各数据的接收周期时间不同,导致所述数据接收端无法准确的确定接收的尾部数据所对应备份数据和备份数据指示信息,进而无法实现对丢失的尾部数据进行有效的恢复。
在一个可能的设计中,所述确定所述尾部数据存在数据丢失,包括:在接收的所述尾部数据的长度小于预先约定的尾部数据的长度时,确定接收的所述尾部数据存在数据丢失;或者备份数据指示信息中还包含用于指示所述原始尾部数据的长度的长度信息,当在接收的所述尾部数据的长度小于所述长度信息指示的长度时,确定接收的所述尾部数据存在数据丢失。
通过该设计,数据接收端可以确定接收数据发送端发送的尾部数据是否发生丢失,从而可以避免目标数据的尾部数据丢失而不知的情况。
在一个可能的设计中,所述根据所述备份数据对丢失的尾部数据进行恢复,包括:根据接收的所述尾部数据以及备份数据指示信息指示所述备份数据在所述尾部数据中的位置,确定所述备份数据所在的位置;在确定的所述位置处获取所述备份数据;根据所述备份数据指示信息中包含的所述编码的编码方式对应的解码方式,对获取的所述备份数据进行解码,得到所述丢失尾部数据。
通过该设计,数据接收端根据备份数据指示信息,确定丢失数据所对应的备份数据,以及数据发送端编码方式,进而确定对应的解码方式,有效的对所述备份数据进行解码,从而得到准确的已丢失的尾部数据。
在一个可能的设计中,所述接收所述尾部数据、所述备份数据之后,所述方法还包括:在确定所述尾部数据已全部被成功接收,或者确定丢失部分所述尾部数据、但基于所述备份数据已成功恢复时,向数据发送端发送确认ACK信息;或者在确定所述备份数据已被成功接收,且存在尾部数据丢失、丢失的数据无法被所述备份数据恢复时,向数据发送端发送选择性确认SACK信息。
通过该设计,数据接收端根据接收到尾部数据的情况,向数据发送端返回相应的信息,使得所述数据发送端获知数据接收端接收尾部数据的情况,以便停止传输数据,或执行重传丢失数据的操作。
第三方面,本申请提供一种数据传输装置,该装置具有实现上述第一方面或上述第一方面的任意一种可能的设计中所述方法的功能,或具有实现上述第二方面或上述第二方面的任意一种可能的设计中所述方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。比如包括通信单元和处理单元。
第四方面,本申请实施例中还提供一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述第一方面或其中任意一种设计提供的方法,或实现上述第二方面或其中任意一种设计提供的方法。
第五方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或其中任一种设计提供的方法,或执行上述第二方面或其中任一种设计提供的方法。
第六方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持设备实现上述第一方面中所涉及的功能,或支持设备实现上述第二方面中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
第七方面,本申请提供了一种芯片系统,该芯片系统包括处理器和接口,所述接口用于获取程序或指令,所述处理器用于调用所述程序或指令以实现或者支持设备实现第一方面或第二方面所涉及的功能,例如,确定或处理上述方法中所涉及的数据和信息中的至少一种。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存终端设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
上述第三方面至第七方面中可以达到的技术效果,可以参照上述第一方面或第二方面中任意一种设计可以达到的技术效果说明,这里不再重复赘述。
附图说明
图1为本申请实施例提供的一种尾部数据的示意图;
图2A为本申请实施例提供的一种通信系统架构的示意图;
图2B为本申请实施例提供的一种组播场景下通信系统的架构的示意图;
图2C为本申请实施例提供的一种组播场景下通信系统的架构的示意图;
图3为本申请实施例提供的一种数据传输方法的流程示意图;
图4为本申请实施例提供的一种原始的TCP报文格式的示意图;
图5为本申请实施例提供的一种被编码保护TCP报文格式的示意图;
图6为本申请实施例提供的一种备份报文格式的示意图;
图7为本申请实施例提供的一种尾部数据和备份数据的示意图;
图8为本申请实施例提供的一种数据传输装置的结构示意图;
图9为本申请实施例提供的一种数据传输装置的结构示意图;
图10为本申请实施例提供的一种数据传输设备的结构示意图;
图11为本申请实施例提供的一种数据传输设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、本申请实施例涉及的尾部数据,如图1所示,数据发送端需要向数据接收端发送一段传输数据,具体的,该段待传输数据的起始位置至结尾位置之间的所有数据表示为所述待传输数据,其中,所述待传输数据的尾部数据是指从该段数据的结尾位置至该段数据中任意一个位置A之间的数据。所述位置A在所述待传输数据上的位置可取决于尾部数据长度信息,或者可根据所述位置A确定尾部数据长度信息,所述尾部数据长度还可以根据实际网络拥塞窗口和/或传输数据的链路状态信息而确定。
2)、本申请实施例涉及的备份数据,指的是对同一数据的重复存储,在本申请实施例中数据传输过程中发生数据丢失时,所述备份数据可以被用于对丢失的数据进行恢复。例如冗余数据,利用网络编码产生额外数据,用于恢复丢失的被保护数据。其中,备份数据生成方式或者备份数据格式可根据实际情况进行设定,本申请不做具体限定。
3)、本申请实施例涉及的数据编码,指的是通过一种编码方式,对数据进行处理,进而使得编码后的数据在传输过程中不易发生数据损坏或丢失,且提高了数据的传输效率。其中,编码方式是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式,本申请实施例中对编码方式可不做具体限定。
4)、本申请实施例涉及的拥塞窗口,具体指在发送端设置一个窗口结构,根据网络的拥塞情况,动态调整该窗口大小,发送端只能发送大小小于滑动窗口和拥塞窗口的数据,在发送端设置的这个窗口就是拥塞窗口。设置网络拥塞窗口主要用于避免数据传输过程中,由于网络拥塞,造成数据的丢失,以及接收端接收数据的失序。
5)、本申请实施例涉及的多个,是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
本申请实施例应用的通信系统可以包括一个或多个数据发送端,以及一个或多个数据接收端。其中,一个发送端可以向一个或多个接收端传输数据。多个发送端也可以同时为一个接收端传输数据。一个发送端也可以同时为多个接收端传输数据。比如,本申请提供的数据传输方法可以应用于各类通信系统中,例如,可以是物联网(internet of things,IoT)、窄带物联网(narrow band internet of things,NB-IoT)、长期演进(long termevolution,LTE),也可以是第五代(5G)通信系统,还可以是LTE与5G混合架构、也可以是5G新无线(new radio,NR)系统以及未来通信发展中出现的新的通信系统等。本申请所述的5G通信系统可以包括非独立组网(non-standalone,NSA)的5G通信系统、独立组网(standalone,SA)的5G通信系统中的至少一种。通信系统还可以是公共陆地移动网络(public land mobile network,PLMN)网络、设备到设备(device-to-device,D2D)网络、机器到机器(machine to machine,M2M)网络或者其他网络。
在短距离传输情况下,数据发送端可以直接通过网络传输链路向数据接收端传输数据,例如图2A;在远距离传输情况下,该通信系统中还可以包括一个或多个中间节点,数据发送端可以通过一个或多个中间节点向数据接收端传输数据,且本申请实施例可以用于组播场景,也可以应用于单播场景。例如,单播场景下通信系统的架构如图2B所示,多播场景下通信系统的架构如图2C所示。应理解,图2B和图2C仅是示例性说明,并不对通信系统中发送端、中间节点、接收端的数量以及连接关系进行具体限定。示例性的,数据发送端可以是网络设备,也可以是终端设备,也可以是其他发送数据的设备,或者也可以是编码器。数据接收端可以是终端设备,或者也可以是其他接收数据的设备,或者也可以是译码器。中间节点可以是路由节点、转发节点、中继节点等传输设备,或者也可以是编码器。
本申请实施例中涉及的发送端和接收端可以是终端设备,也可以是网络设备,本申请对此不做限定。
其中,终端设备是用户侧的一种用于接收或发射信号的实体。终端设备可以是一种向用户提供语音、数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。终端设备也可以是连接到无线调制解调器的其他处理设备。终端设备可以通过无线接入网(radio access network,RAN)与一个或多个核心网进行通信。终端设备也可以称为无线终端、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobilestation)、移动台(mobile)、远程站(remote station)、接入点(access point)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user device)、或用户装备(user equipment)等等。终端设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言、数据。例如,终端设备还可以是个人通信业务(personal communication service,PCS)电话、无绳电话、会话发起协议(session initiation protocol,SIP)话机、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、等设备。常见的终端设备例如包括:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,例如智能手表、智能手环、计步器等,但本申请实施例不限于此。本申请实施例中涉及的终端设备还可以是未来演进的PLMN中出现的终端设备等,本申请实施例对此并不限定。
此外,在本申请实施例中,终端设备还可以是IoT系统中的终端设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。在本申请实施例中,IoT技术可以通过例如窄带(narrow band,NB)技术,做到海量连接,深度覆盖,终端省电。
此外,在本申请实施例中,终端设备还可以包括智能打印机、火车探测器、加油站等传感器,主要功能包括收集数据(部分终端设备)、接收网络设备的控制信息与下行数据,并发送电磁波,向网络设备传输上行数据。
本申请实施例中所涉及的网络设备,是网络侧的一种用于发射或接收信号的实体。本申请实施例中的网络设备可以是无线网络中的设备,例如将终端接入到无线网络的RAN节点。例如,网络设备可以是LTE中的演进型基站(evolutional Node B,eNB或e-NodeB),还可以是新无线控制器(new radio controller,NR controller),可以是5G系统中的gNode B(gNB),可以是集中式网元(centralized unit,CU),可以是新无线基站,可以是射频拉远模块,可以是微基站,可以是中继(relay),可以是分布式网元(distributedunit,DU),可以是家庭基站,可以是传输接收点(transmission reception point,TRP)或传输点(transmission point,TP)或者任何其它无线接入设备,但本申请实施例不限于此。网络设备可以覆盖1个或多个小区。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在现有的数据可靠传输中(例如TCP),往往会存在尾部数据丢失的问题,很容易增大传输延迟,因此,如何解决尾部的丢包问题,对于提升完成小流的传输效率,降低整体任务的完成时间有着较大的意义。在现有的数据的尾部数据的重传技术中,主要包括传统的TCP方案和探测超时PTO方案。其中,TCP方案主要采用快速恢复FR或超时重传RTO进行数据重传。当发送端接收到足够多的ACK信息时,则采用FR重新传输数据;当发送端没有接收任何重复确认DUP ACK信息时,则采用RTO重新传输数据。由于尾部数据的丢失,发送端不能接收到接收端返回的足够多ACK,导致无法触发FR和早期重传ER进行重传,只能采用RTO进行重传,即依靠计时器超时来触发进行尾部数据重传,从而将造成尾部数据的超时传输时延,使得整体数据传输的时延较长。
其中,PTO方案利用尾部的探测定时器PTO来避免触发RTO,并采用尾部丢包探测TLP技术设置PTO,使得尾部重传时延稳定在max(2*RTT,10ms)的范围之内,然而,当丢失数据包所对应序列为非最高序列时,PTO方案所造成的尾部数据传输时延也相对较大。
有鉴于此,本申请实施例提供的一种数据传输方法,可以适用于上述图2A-2C的网络架构中,该方法可以用于减少尾部数据丢失而产生的重传尾部数据的时延,以提高整体数据的传输效率。该方法用于对尾部数据进行传输,以实现尾部数据的高效传输。在该方法中,数据发送端获取目标数据的尾部数据,然后,对尾部数据进行编码,得到备份数据,其中,备份数据用于对丢失的部分尾部数据进行恢复;数据发送端将尾部数据和备份数据发送给数据接收端。数据接收端接收尾部数据和备份数据;数据接收端确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。因此,上述方法通过对数据的尾部数据进行编码保护,同时得到尾部数据的备份数据,从而当数据传输过程中,发生尾部数据丢失时,可以通过备份数据进行恢复,使得数据接收端能够接收到足够的ACK信息,因此,该方法可以减少尾部数据丢失而产生的重传尾部数据的时延,从而提高整体数据的传输效率。
下面结合附图对本申请实施例提供的方法进行具体说明。
请参考图3,其为本申请实施例提供的一种数据传输方法的实施流程图。该方法可以应用于图2A或图2B或图2C所示的通信系统架构中,当然也可应用于除此之外的通信系统架构,本申请对此不做限定。并且在上述通信系统中,在数据发送端可以对待发送的尾部数据进行编码保护,或者数据发送端和数据接收端之间也可以存在中间节点对数据发送端发送的尾部数据进行编码保护,本申请不做具体限定。参阅图3所示,该方法可包括如下处理流程。
S301:数据发送端获取目标数据的尾部数据。
在一种实施方式中,数据发送端获取目标数据的尾部数据,包括以下三种实现方式,具体如下所述:
在第一种实现方式中,数据发送端根据目标数据中携带的尾部标识,获取目标数据的尾部数据,尾部标识用于识别尾部数据。
具体的,数据发送端根据目标数据中携带的尾部标识,获取目标数据的尾部数据,包括:
目标数据中的比特为尾部标识指示的起始比特时,根据尾部标识指示的起始比特获取尾部数据;其中,尾部数据的长度为尾部标识指示的起始比特至目标数据的结束比特。例如:目标数据的比特对应的序号为1、2、3、4、5,其中,“1”为目标数据末尾比特对应的序号,“5”为目标数据起始比特对应的序号;若数据发送端确定尾部标识指示的起始比特为序号“3”对应的比特,那么数据发送端确定尾部数据为序号“1”~“3”的比特。
在第二种实现方式中,数据发送端根据计算得到的尾部数据的起始位置,获取目标数据的尾部数据。具体的,数据发送端可以根据拥塞窗口和/或链路状态信息,确定目标数据中尾部数据的长度;根据尾部数据的长度和目标数据的末尾位置,获取尾部数据的起始位置。例如:数据发送端根据拥塞窗口和/链路状态信息,通过传输协议带有的拥塞控制算法,计算出待传输的尾部数据的长度。然后,数据发送端根据计算得到的尾部数据的长度和目标数据的末尾位置,确定尾部数据在目标数据中的起始位置,进而获取起始位置至目标数据的末尾位置之间的数据。
在第三种实现方式中,数据发送端根据预定的尾部数据的长度信息,获取目标数据的尾部数据。具体的,数据发送端可以在目标数据中的比特为长度信息指示的起始比特时,根据长度信息指示的起始比特获取尾部数据;其中,尾部数据的长度为长度信息指示的起始比特至目标数据的结束比特。例如:目标数据的比特对应的序号为1、2、3、4、5,其中,“1”为目标数据末尾比特对应的序号,“5”为目标数据起始比特对应的序号;若预设的尾部数据的长度信息指示尾部数据在目标数据中的起始比特为序号“3”对应的比特,那么数据发送端根据预设的尾部数据的长度信息,确定尾部数据的长度为序号“1”~“3”对应的比特。
需要注意的是,本申请实施例数据传输涉及到一套通用的传输协议,可以在修改后的TCP或者其他的有尾部数据边界的传输协议上进行实现本申请实施例的方法。在传输协议的数据发送端与数据接收端建立连接之后,应用可以通过接口向数据发送端提交待传输的目标数据。
S302:数据发送端对尾部数据进行编码,得到备份数据,备份数据用于对丢失的部分尾部数据进行恢复。
在一种实施方式中,数据发送端获取目标数据的尾部数据;对尾部数据进行编码,得到备份数据时,在数据发送端还生成备份数据指示信息。
可选的,备份指示信息用于指示以下至少一项:备份数据在尾部数据中的位置、编码的编码方式、数据的长度信息、尾部数据被编码的起始位置。
示例性的,数据发送端可以在有效尾部数据中选取不同比特位组,任意两组比特位组之间包含的比特位不相同;针对任意一个比特位组执行:对比特位组包括的至少一个比特位上的数据比特进行运算,得到一个对应的备份数据。
S303:数据发送端向数据接收端发送尾部数据和备份数据;数据接收端接收尾部数据、备份数据;其中,备份数据是对尾部数据进行编码得到的,用于对丢失的部分尾部数据进行恢复。
需要注意的是,数据发送端向数据接收端发送的尾部数据为实际尾部数据,数据接收端接收数据发送端发送的尾部数据为有效尾部数据。数据接收端接收得到的有效尾部数据量与数据发送端实际发送的实际尾部数据量不一定相等。
例如,数据接收端接收得到的有效尾部数据量等于数据发送端发送的实际尾部数据量,或者数据发送端发送的实际尾部数据在传输过程中发生丢失,导致数据接收端接收得到的有效尾部数据量小于数据发送端发送的实际尾部数据量。
在一种实施方式中,数据发送端在同一发送周期内向数据接收端发送备份数据指示信息、尾部数据和备份数据。以及数据接收端在同一接收周期内接收尾部数据和备份数据,以及备份数据指示信息;其中,备份数据指示信息用于指示备份数据在尾部数据中的位置和编码的编码方式。
在一种实施方式中,数据接收端接收到的尾部数据为编码后的尾部数据之后,确定数据接收端确定接收到的尾部数据和备份数据为编码后的尾部数据和备份数据。
在本申请实施例中以TCP为例,且尾部数据以报文形式为例做具体说明,但是其他协议数据也适用,它们只需保护相同的属性就行,本申请实施例不做具体限定。
示例性的,请参考图4-图6,数据接收端可以通过以下方式实现确定接收到的尾部数据和备份数据为编码后的尾部数据和备份数据:
修改TCP的接口,能够获得目标数据的结尾信息。TCP的格式为:Void send(intsockfd,char*data,int size,int flags=MsgEnd),其中data是数据缓存,size是数据长度,flags是传输的标识。我们只需增加flag=MsgEnd的类别,来说明提交的是目标数据的结尾。
原始的TCP报文格式如图4所示,图4中记载的Reserved表示三位,NS(NONCE)表示一个只被使用一次的任意或非重复的随机数值。CWR(Congestion Window Reduce)表示拥塞窗口减少标志被发送主机设置,用来表明它接收到了设置ECE标志的TCP包,数据发送端通过降低发送窗口的大小来降低发送速率。ECE(ECN Echo)表示在TCP3次握手时表明一个TCP端是具备ECN功能的,并且表明接收到的TCP包的IP头部的ECN被设置为11。URG(Urgent)表示紧急(The urgent pointer)标志有效。ACK(Acknowledgment)表示确定的TCP包,取值为1则表示Acknowledgment Number字段有效,取值0则不是确认包。PSH(Push)表示数据发送端缓存中已经没有待发送的数据。RST(Reset)用于常在发生异常或者错误的时候会触发复位TCP连接。SYN(Synchronize)表示同步序列编号(Synchronize Sequence Numbers)有效。FIN(Finish)标志用于结束一个TCP会话,但对应端口仍处于开放状态,准备接收后续数据。
需要注意的是,图4中的Options是可选的,它后面就是paylaod(有效负载)。通常TCP是没有Options的,本申请实施例中的被编码保护报文(数据)和备份报文(数据)都没有options。
在本申请实施例中,被编码保护后的报文如图5所示,根据图5中描述,与原始报文相比,被编码保护后的报文具体存在两点不同:1、Reserved的最后一位置由“0”更改成“1”,表示该报文是被编码保护的报文。2、报头后,有效负载Payload前,需要增加16bit的packetlength,该packet length用于说明报文真正有效的数据长度。因为编码需要报文等长,若有效负载payload不够,则需要补足长度,因此,数据包长度Packet length可以用来区分有效数据和补足数据。
在本申请实施例中,备份报文(例如冗余报文)如图6所示,根据图5中描述,备份报文的特殊格式包括以下四点:1、选用Reserved,第一位置(最高位置)为1,表示是备份报文。2、将窗口大小Window Size用于说明编码方式,因为备份报文不涉及拥塞控制,因此,可以选择部分位用于说明编码长度,剩下的部分位用于说明编码的方式。3、序列号SequenceNumber表示编码起始的位置。由于备份报文不需要ack,因此Sequence Number可以用来做其他用处。4、报文的有效负载payload为对被保护数据编码的计算结果,其余报文的数据包长度Packet length也参与到编码计算。
因此,数据接收端接收到备份报文(数据),可知编码起始位置和编码方式,只要数据接收端接收到足够的被保护报文(数据),就可以解码出丢失的报文的有效负载payload和数据包长度packet length,从而可以还原出真正的有效信息。数据接收端可以根据编码的长度信息,确定是否接收到数据发送端发送的完整的报文。数据接收端可以根据原窗口大小window size,可知编码长度和编码的方式。例如:原窗口大小window size的前10位可以用于表示0-1024的编码长度,剩下6bit可用于说明编码的方式。
需要注意是,这里的原窗口大小的作用与备份数据指示信息的作用可等同。
S304:数据接收端确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。
在一种实施方式中,数据接收端确定尾部数据存在数据丢失,包括以下两种实现方式,具体如下所述:
在第一种实现方式中,数据接收端在接收的尾部数据的长度小于预先约定的尾部数据的长度时,确定接收的尾部数据存在数据丢失。
在第二种实现方式中,备份数据指示信息中还包含用于指示原始尾部数据的长度的长度信息,当数据接收端接收的尾部数据的长度小于长度信息指示的长度时,确定接收的尾部数据存在数据丢失。
在一种实施方式中,数据接收端根据备份数据对丢失的尾部数据进行恢复,包括:根据接收的尾部数据以及备份数据指示信息指示备份数据在尾部数据中的位置,确定备份数据所在的位置;在确定的位置处获取备份数据;根据备份数据指示信息中包含的编码的编码方式对应的解码方式,对获取的备份数据进行解码,得到丢失的尾部数据。
S305:数据发送端向数据接收端发送响应信息。
在一种实施方式中,数据接收端根据接收到尾部数据情况,以及对丢失后的数据进行恢复的情况,向数据发送端返回响应消息。具体包括以下几种情况:
第一种情况:当数据接收端接收到数据发送端发送的尾部数据之后,确定数据发送端发送的尾部数据已全部被成功接收,则数据接收端向数据发送端发送确认ACK信息。
数据发送端接收数据接收端反馈的确认ACK信息,ACK信息表示数据接收端已成功全部接收数据发送端发送的尾部数据。
第二种情况:数据接收端确定丢失部分尾部数据、但基于备份数据已成功恢复时,向数据发送端发送确认ACK信息。
数据发送端接收数据接收端反馈的确认ACK信息,ACK信息表示数据接收端确定数据发送端发送的尾部数据发生丢失时,并基于备份数据成功将丢失的尾部数据恢复。
第三种情况:数据接收端确定备份数据已被成功接收,且接收到数据发送端发送的尾部数据发生丢失,但丢失的数据无法被备份数据恢复时,则向数据发送端发送选择性确认SACK信息。
数据发送端接收SACK信息,SACK信息用于指示数据接收端接收到备份数据,以及尾部数据丢失且丢失的尾部数据无法被备份数据恢复。数据发送端根据SACK信息,向数据接收端重输丢失的数据。当数据接收端确定接收到全部的尾部数据,则停止数据发送端与数据接收端之间的传输。
需要注意的是,若数据接收端确定备份数据已被成功接收,且接收到数据发送端发送的尾部数据发生丢失,但丢失的数据无法被备份数据恢复时,则使用传统的FR、RTO、PTO方法,该部分本申请不再具体赘述。
基于上述的实施例提供的一种数据传输方法,本申请给出一个利用交织编码实现尾部数据传输的实施例,请参考图7:
a701:假如数据发送端侧向数据接收端发送目标数据150KB的消息,带宽100Mbps,RTT的传输时间以10ms为例,那么完成传输时间最小为(150KB*8/100Mbps)+10ms=22ms+10ms=22ms。
a702:如图7所示,假设尾部有13(取13是为了说明不对称交织)个数据要发送(假如带宽充分利用,拥塞窗口为125KB,剩下的25KB),生成3个备份数据。
a704:当数据接收端确定备份数据无丢失时,可以恢复任意连续3个(或少于3个)数据的丢包。采用异或编码,解码速度可以忽略(小于1ms)。
a705:当数据接收端确定目标数据的尾部数据11、12、13任意丢失,或者全部丢失时,本申请实施例方法可节省1个RTO或者PTO+1次额外重传。
a706:当数据接收端确定接收到备份数据,但是丢失的目标数据的尾部数据不可被恢复,则本申请实施例方法可节省1个RTO或PTO重传。
通过以上描述可知,本申请实施例中数据发送端通过对目标数据的尾部数据进行编码保护和生成备份数据,防止尾部数据在传输过程中发生丢失,若尾部数据在传输过程中发生部分数据的丢失,数据接收端可以根据备份数据对丢失的数据进行恢复,这种方式不需要数据发送端重传数据,从而不仅减少了重传丢失数据造成的额外开销,也可大大减少尾部的延迟,提高了目标数据的传输效率。
综上所述,本申请实施例提供了一种数据传输方法,该方法用于对尾部数据进行传输,以实现尾部数据的高效传输。在该方法中,数据发送端获取目标数据的尾部数据,然后,对尾部数据进行编码,得到备份数据,其中,备份数据用于对丢失的部分尾部数据进行恢复;数据发送端将尾部数据和备份数据发送给数据接收端。数据接收端接收尾部数据和备份数据;数据接收端确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。因此,上述方法通过对数据的尾部数据进行编码保护,同时得到尾部数据的备份数据,从而当数据传输过程中,发生尾部数据丢失时,可以通过备份数据进行恢复,使得数据接收端能够接收到足够的ACK信息,因此,该方法可以减少尾部数据丢失而产生的重传尾部数据的时延,从而提高整体数据的传输效率。
基于同一技术构思,本申请实施例还提供一种数据传输装置,该装置可以具有如图8所示的结构,且具有上述方法实施例中数据发送端的行为功能。如图8所示,该装置800可包括通信单元801以及处理单元802,下面对各单元进行具体的介绍。
通信单元801,用于获取目标数据的尾部数据;处理单元802,用于对尾部数据进行编码,得到备份数据,备份数据用于对丢失的部分尾部数据进行恢复;通信单元801,还用于发送尾部数据和备份数据。
一种可能的设计中,处理单元802,还用于生成备份数据指示信息,备份指示信息用于指示以下至少一项:备份数据在尾部数据中的位置、编码的编码方式、数据的长度信息、尾部数据被编码的起始位置。
一种可能的设计中,通信单元801在同一发送周期内发送备份数据指示信息、尾部数据和备份数据。
一种可能的设计中,通信单元801,在获取目标数据的尾部数据时,具体用于根据目标数据中携带的尾部标识,获取目标数据的尾部数据,尾部标识用于识别尾部数据;或根据计算得到的尾部数据的起始位置,获取目标数据的尾部数据;或根据预定的尾部数据的长度信息,获取目标数据的尾部数据。
一种可能的设计中,通信单元801,在根据目标数据中携带的尾部标识,获取目标数据的尾部数据时,具体用于在目标数据中的比特为尾部标识指示的起始比特时,根据尾部标识指示的起始比特获取尾部数据;其中,尾部数据的长度为尾部标识指示的起始比特至目标数据的结束比特。
一种可能的设计中,通信单元801,在根据计算得到的尾部数据的起始位置,获取目标数据的尾部数据时,具体用于根据拥塞窗口和/或链路状态信息,确定目标数据中尾部数据的长度;根据尾部数据的长度和目标数据的末尾位置,获取尾部数据的起始位置。
一种可能的设计中,通信单元801,在根据预定的尾部数据的长度信息,获取目标数据的尾部数据时,具体用于在目标数据中的比特为长度信息指示的起始比特时,根据长度信息指示的起始比特获取尾部数据;其中,尾部数据的长度为长度信息指示的起始比特至目标数据的结束比特。
一种可能的设计中,通信单元801,还用于:在发送尾部数据、备份数据之后,接收数据接收端反馈的确认ACK信息,ACK信息为数据接收端在确定尾部数据已全部被成功接收,或ACK信息为数据接收端在确定基于备份数据成功将尾部数据恢复。
一种可能的设计中,通信单元801,还用于:在发送尾部数据、备份数据之后,接收数据接收端反馈的选择性确认SACK信息,SACK信息用于指示数据接收端接收到备份数据,以及尾部数据丢失且丢失的尾部数据无法被备份数据恢复。
基于同一技术构思,本申请实施例还提供一种数据传输装置,该装置可以具有如图9所示的结构,且具有上述方法实施例中数据接收端的行为功能。如图9所示,该装置900可包括通信单元901以及处理单元902,下面对各单元进行具体的介绍。
通信单元901,用于接收尾部数据、备份数据;其中,备份数据是对尾部数据进行编码得到的,用于对丢失的部分尾部数据进行恢复;处理单元902,用于确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。
一种可能的设计中,通信单元901在同一接收周期内接收尾部数据和备份数据,以及备份数据指示信息;其中,备份数据指示信息用于指示备份数据在尾部数据中的位置和编码的编码方式。
一种可能的设计中,处理单元902,在确定尾部数据存在数据丢失时,具体用于在接收的尾部数据的长度小于预先约定的尾部数据的长度时,确定接收的尾部数据存在数据丢失;或者备份数据指示信息中还包含用于指示原始尾部数据的长度的长度信息,当在接收的尾部数据的长度小于长度信息指示的长度时,确定接收的尾部数据存在数据丢失。
一种可能的设计中,处理单元902,在根据备份数据对丢失的尾部数据进行恢复时,具体用于根据接收的尾部数据以及备份数据指示信息指示备份数据在尾部数据中的位置,确定备份数据所在的位置;在确定的位置处获取备份数据;根据备份数据指示信息中包含的编码的编码方式对应的解码方式,对获取的备份数据进行解码,得到丢失尾部数据。
一种可能的设计中,通信单元901,还用于在接收尾部数据、备份数据之后,确定尾部数据已全部被成功接收,或者确定丢失部分尾部数据、但基于备份数据已成功恢复时,向数据发送端发送确认ACK信息;或者在确定备份数据已被成功接收,且存在尾部数据丢失、丢失的数据无法被备份数据恢复时,向数据发送端发送选择性确认SACK信息。
此外,本申请实施例还提供一种数据传输设备,该设备可以具有如图10所示的结构,该传输设备作为数据发送端。如图10所示的数据传输设备1000可以包括至少一个处理器1002,至少一个处理器1002用于与存储器耦合,读取并执行存储器中的指令以实现本申请实施例提供的方法中数据发送端涉及的步骤。可选的,该装置1000还可以包括收发器1001,用于支持装置1000进行信令或者数据的接收或发送。装置1000中的收发器1001,可用于实现上述通信单元801所具有的功能,例如,收发器1001可用于装置1000执行如图3所示的数据传输方法中的S301和S303、S305所示步骤,处理器1002可用于实现上述处理单元802所具有的功能,例如,处理器1002可用于装置1000执行如图3所示的数据传输方法中的S302所示步骤。可选的,装置1000还可以包括存储器1004,其中存储有计算机程序、指令,存储器1004可以与处理器1002和/或收发器1001耦合,用于支持处理器1002调用存储器1004中的计算机程序、指令以实现本申请实施例提供的方法中数据发送端涉及的步骤;另外,存储器1004还可以用于存储本申请方法实施例所涉及的数据,例如,用于存储支持收发器1001实现交互所必须的数据、指令,和/或,用于存储装置1000执行本申请实施例所述方法所必须的配置信息。
本申请实施例还提供一种数据传输设备,该设备可以具有如图11所示的结构,该传输设备作为数据接收端。如图11所示的数据传输设备1100可以包括至少一个处理器1102,至少一个处理器1102用于与存储器耦合,读取并执行存储器中的指令以实现本申请实施例提供的方法中数据接收端涉及的步骤。可选的,该装置1100还可以包括收发器1101,用于支持装置1100进行信令或者数据的接收或发送。装置1100中的收发器1101,可用于实现上述通信单元901所具有的功能,例如,收发器1101可用于装置1100执行如图3所示的数据传输方法中的S301和S303、S305所示步骤,处理器1102可用于实现上述处理单元902所具有的功能,例如,处理器1102可用于装置1100执行如图3所示的数据传输方法中的S304所示步骤。可选的,装置1100还可以包括存储器1104,其中存储有计算机程序、指令,存储器1104可以与处理器1102和/或收发器1101耦合,用于支持处理器1102调用存储器1104中的计算机程序、指令以实现本申请实施例提供的方法中数据接收端涉及的步骤;另外,存储器1104还可以用于存储本申请方法实施例所涉及的数据,例如,用于存储支持收发器1101实现交互所必须的数据、指令,和/或,用于存储装置1100执行本申请实施例所述方法所必须的配置信息。
基于与上述方法实施例相同构思,本申请实施例还提供了一种计算机可读存储介质,其上存储有一些指令,这些指令被计算机调用执行时,可以使得计算机完成上述方法实施例、方法实施例的任意一种可能的设计中所涉及的方法。本申请实施例中,对计算机可读存储介质不做限定,例如,可以是RAM(random-access memory,随机存取存储器)、ROM(read-only memory,只读存储器)等。
基于与上述方法实施例相同构思,本申请还提供一种计算机程序产品,该计算机程序产品在被计算机调用执行时可以完成方法实施例以及上述方法实施例任意可能的设计中所涉及的方法。
基于与上述方法实施例相同构思,本申请还提供一种芯片,该芯片可以包括处理器以及接口电路,用于完成上述方法实施例、方法实施例的任意一种可能的实现方式中所涉及的方法,其中,“耦合”是指两个部件彼此直接或间接地结合,这种结合可以是固定的或可移动性的,这种结合可以允许流动液、电、电信号或其它类型信号在两个部件之间进行通信。
综上所述,本申请实施例提供了一种数据传输方法,该方法用于对尾部数据进行传输,以实现尾部数据的高效传输。在该方法中,数据发送端获取目标数据的尾部数据,然后,对尾部数据进行编码,得到备份数据,其中,备份数据用于对丢失的部分尾部数据进行恢复;数据发送端将尾部数据和备份数据发送给数据接收端。数据接收端接收尾部数据和备份数据;数据接收端确定尾部数据存在数据丢失时,根据备份数据对丢失尾部数据进行恢复。因此,上述方法通过对数据的尾部数据进行编码保护,同时得到尾部数据的备份数据,从而当数据传输过程中,发生尾部数据丢失时,可以通过备份数据进行恢复,使得数据接收端能够接收到足够的ACK信息,因此,该方法可以减少尾部数据丢失而产生的重传尾部数据的时延,从而提高整体数据的传输效率。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请实施例可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、电可擦可编程只读存储器(electrically erasable programmable read only memory,EEPROM)、只读光盘(compactdisc read-Only memory,CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(digital subscriber line,DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本申请实施例所使用的,盘(disk)和碟(disc)包括压缩光碟(compact disc,CD)、激光碟、光碟、数字通用光碟(digital video disc,DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (31)
1.一种数据传输方法,其特征在于,应用于数据发送端,所述方法包括:
获取目标数据的尾部数据;
对所述尾部数据进行编码,得到备份数据,所述备份数据用于对丢失的部分尾部数据进行恢复;
发送所述尾部数据和所述备份数据。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
生成备份数据指示信息,所述备份指示信息用于指示以下至少一项:所述备份数据在所述尾部数据中的位置、所述编码的编码方式、所述数据的长度信息、所述尾部数据被编码的起始位置。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
在同一发送周期内发送所述备份数据指示信息、所述尾部数据和所述备份数据。
4.如权利要求1所述的方法,其特征在于,所述获取目标数据的尾部数据,包括:
根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据,所述尾部标识用于识别所述尾部数据;或,
根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据;或,
根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据。
5.如权利要求4所述的方法,其特征在于,所述根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据,包括:
所述目标数据中的比特为所述尾部标识指示的起始比特时,根据所述尾部标识指示的起始比特获取所述尾部数据;
其中,所述尾部数据的长度为所述尾部标识指示的起始比特至所述目标数据的结束比特。
6.如权利要求4所述的方法,其特征在于,所述根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据,包括:
根据拥塞窗口和/或链路状态信息,确定所述目标数据中尾部数据的长度;
根据所述尾部数据的长度和所述目标数据的末尾位置,获取所述尾部数据的起始位置。
7.如权利要求4所述的方法,其特征在于,所述根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据,包括:
所述目标数据中的比特为所述长度信息指示的起始比特时,根据所述长度信息指示的起始比特获取所述尾部数据;
其中,所述尾部数据的长度为所述长度信息指示的起始比特至所述目标数据的结束比特。
8.如权利要求1-7中任一项所述的方法,其特征在于,所述发送所述尾部数据、所述备份数据之后,所述方法还包括:
接收所述数据接收端反馈的确认ACK信息,所述ACK信息为所述数据接收端在确定所述尾部数据已全部被成功接收,或所述ACK信息为所述数据接收端在确定基于所述备份数据成功将所述尾部数据恢复。
9.如权利要求1-7任一项所述的方法,其特征在于,所述发送所述尾部数据、所述备份数据之后,所述方法还包括:
接收所述数据接收端反馈的选择性确认SACK信息,所述SACK信息用于指示所述数据接收端接收到所述备份数据,以及尾部数据丢失且丢失的尾部数据无法被所述备份数据恢复。
10.一种数据传输方法,其特征在于,应用于数据接收端,所述方法包括:
接收尾部数据、备份数据;其中,所述备份数据是对尾部数据进行编码得到的,用于对丢失的部分尾部数据进行恢复;
确定所述尾部数据存在数据丢失时,根据所述备份数据对丢失尾部数据进行恢复。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
在同一接收周期内接收所述尾部数据和所述备份数据,以及备份数据指示信息;
其中,所述备份数据指示信息用于指示所述备份数据在所述尾部数据中的位置和所述编码的编码方式。
12.如权利要求10所述的方法,其特征在于,所述确定所述尾部数据存在数据丢失,包括:
在接收的所述尾部数据的长度小于预先约定的尾部数据的长度时,确定接收的所述尾部数据存在数据丢失;或者
备份数据指示信息中还包含用于指示所述原始尾部数据的长度的长度信息,当在接收的所述尾部数据的长度小于所述长度信息指示的长度时,确定接收的所述尾部数据存在数据丢失。
13.如权利要求10-12中任一项所述的方法,其特征在于,所述根据所述备份数据对丢失的尾部数据进行恢复,包括:
根据接收的所述尾部数据以及备份数据指示信息指示所述备份数据在所述尾部数据中的位置,确定所述备份数据所在的位置;
在确定的所述位置处获取所述备份数据;
根据所述备份数据指示信息中包含的所述编码的编码方式对应的解码方式,对获取的所述备份数据进行解码,得到所述丢失尾部数据。
14.如权利要求10-13中任一项所述的方法,其特征在于,所述接收所述尾部数据、所述备份数据之后,所述方法还包括:
在确定所述尾部数据已全部被成功接收,或者确定丢失部分所述尾部数据、但基于所述备份数据已成功恢复时,向数据发送端发送确认ACK信息;或者
在确定所述备份数据已被成功接收,且存在尾部数据丢失、丢失的数据无法被所述备份数据恢复时,向数据发送端发送选择性确认SACK信息。
15.一种数据传输装置,其特征在于,该装置应用于数据发送端,包括:
通信单元,用于获取目标数据的尾部数据;
处理单元,用于对所述尾部数据进行编码,得到备份数据,所述备份数据用于对丢失的部分尾部数据进行恢复;
所述通信单元,还用于发送所述尾部数据和所述备份数据。
16.如权利要求15所述的装置,其特征在于,
所述处理单元,还用于生成备份数据指示信息,所述备份指示信息用于指示以下至少一项:所述备份数据在所述尾部数据中的位置、所述编码的编码方式、所述数据的长度信息、所述尾部数据被编码的起始位置。
17.如权利要求15或16所述的装置,其特征在于,所述通信单元在同一发送周期内发送所述备份数据指示信息、所述尾部数据和所述备份数据。
18.如权利要求15所述的装置,其特征在于,所述通信单元,在获取目标数据的尾部数据时,具体用于:
根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据,所述尾部标识用于识别所述尾部数据;或,
根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据;或,
根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据。
19.如权利要求18所述的装置,其特征在于,所述通信单元,在根据所述目标数据中携带的尾部标识,获取所述目标数据的尾部数据时,具体用于:
所述目标数据中的比特为所述尾部标识指示的起始比特时,根据所述尾部标识指示的起始比特获取所述尾部数据;
其中,所述尾部数据的长度为所述尾部标识指示的起始比特至所述目标数据的结束比特。
20.如权利要求18所述的装置,其特征在于,所述通信单元,在根据计算得到的尾部数据的起始位置,获取所述目标数据的尾部数据时,具体用于:
根据拥塞窗口和/或链路状态信息,确定所述目标数据中尾部数据的长度;
根据所述尾部数据的长度和所述目标数据的末尾位置,获取所述尾部数据的起始位置。
21.如权利要求18所述的装置,其特征在于,所述通信单元,在根据预定的所述尾部数据的长度信息,获取所述目标数据的尾部数据时,具体用于:
所述目标数据中的比特为所述长度信息指示的起始比特时,根据所述长度信息指示的起始比特获取所述尾部数据;
其中,所述尾部数据的长度为所述长度信息指示的起始比特至所述目标数据的结束比特。
22.如权利要求15-21中任一项所述的装置,其特征在于,所述通信单元,还用于:在发送所述尾部数据、所述备份数据之后,接收所述数据接收端反馈的确认ACK信息,所述ACK信息为所述数据接收端在确定所述尾部数据已全部被成功接收,或所述ACK信息为所述数据接收端在确定基于所述备份数据成功将所述尾部数据恢复。
23.如权利要求15-21任一项所述的装置,其特征在于,所述通信单元,还用于:在发送所述尾部数据、所述备份数据之后,接收所述数据接收端反馈的选择性确认SACK信息,所述SACK信息用于指示所述数据接收端接收到所述备份数据,以及尾部数据丢失且丢失的尾部数据无法被所述备份数据恢复。
24.一种数据传输装置,其特征在于,该装置应用于数据接收端,包括:
通信单元,用于接收尾部数据、备份数据;其中,所述备份数据是对尾部数据进行编码得到的,用于对丢失的部分尾部数据进行恢复;
处理单元,用于确定所述尾部数据存在数据丢失时,根据所述备份数据对丢失尾部数据进行恢复。
25.如权利要求24所述的装置,其特征在于,所述通信单元在同一接收周期内接收所述尾部数据和所述备份数据,以及备份数据指示信息;
其中,所述备份数据指示信息用于指示所述备份数据在所述尾部数据中的位置和所述编码的编码方式。
26.如权利要求24所述的装置,其特征在于,所述处理单元,在确定所述尾部数据存在数据丢失时,具体用于:
在接收的所述尾部数据的长度小于预先约定的尾部数据的长度时,确定接收的所述尾部数据存在数据丢失;或者
备份数据指示信息中还包含用于指示所述原始尾部数据的长度的长度信息,当在接收的所述尾部数据的长度小于所述长度信息指示的长度时,确定接收的所述尾部数据存在数据丢失。
27.如权利要求24-26中任一项所述的装置,其特征在于,所述处理单元,在根据所述备份数据对丢失的尾部数据进行恢复时,具体用于:
根据接收的所述尾部数据以及备份数据指示信息指示所述备份数据在所述尾部数据中的位置,确定所述备份数据所在的位置;
在确定的所述位置处获取所述备份数据;
根据所述备份数据指示信息中包含的所述编码的编码方式对应的解码方式,对获取的所述备份数据进行解码,得到所述丢失尾部数据。
28.如权利要求24-27中任一项所述的装置,其特征在于,所述通信单元,还用于:在接收所述尾部数据、所述备份数据之后,
在确定所述尾部数据已全部被成功接收,或者确定丢失部分所述尾部数据、但基于所述备份数据已成功恢复时,向数据发送端发送确认ACK信息;或者
在确定所述备份数据已被成功接收,且存在尾部数据丢失、丢失的数据无法被所述备份数据恢复时,向数据发送端发送选择性确认SACK信息。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至9任一项所述的方法,或执行如权利要求10至14任一项所述的方法。
30.一种数据传输装置,其特征在于,包括:处理器和存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,使得所述通信装置执行如权利要求1至9任一项所述的方法,或执行如权利要求10至14中任一项所述的方法。
31.一种数据传输装置,其特征在于,包括至少一个处理器和接口,所述至少一个处理器用于执行计算机程序,使得所述通信装置执行如权利要求1至9中任一项所述的方法,或执行如权利要求10至14中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011119358.8A CN114389758A (zh) | 2020-10-19 | 2020-10-19 | 一种数据传输方法和装置 |
PCT/CN2021/118934 WO2022083371A1 (zh) | 2020-10-19 | 2021-09-17 | 一种数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011119358.8A CN114389758A (zh) | 2020-10-19 | 2020-10-19 | 一种数据传输方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114389758A true CN114389758A (zh) | 2022-04-22 |
Family
ID=81193451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011119358.8A Pending CN114389758A (zh) | 2020-10-19 | 2020-10-19 | 一种数据传输方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114389758A (zh) |
WO (1) | WO2022083371A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579083A (zh) * | 2022-05-09 | 2022-06-03 | 上海擎昆信息科技有限公司 | 一种基于矢量处理器的数据处理装置和方法 |
CN115085890A (zh) * | 2022-06-23 | 2022-09-20 | 杭州云合智网技术有限公司 | 数据中心网络芯片优化tcp rto重传等待时间的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410927A (zh) * | 2014-11-27 | 2015-03-11 | 江苏辰汉电子科技有限公司 | 删除信道中视频传输丢包低冗余度补偿方法 |
WO2016092686A1 (ja) * | 2014-12-12 | 2016-06-16 | 株式会社日立製作所 | 通信装置、通信装置システム及び通信方法 |
CN104580171B (zh) * | 2014-12-24 | 2018-01-12 | 北京高森明晨信息科技有限公司 | Tcp协议的传输方法、装置和系统 |
CN104967502B (zh) * | 2015-02-03 | 2017-06-27 | 深圳市腾讯计算机系统有限公司 | 数据发送方法和装置、数据接收方法和装置 |
CN110855400B (zh) * | 2019-11-29 | 2022-02-25 | 江苏方天电力技术有限公司 | 基于纠错码的自适应丢包恢复方法、计算设备及存储介质 |
CN111414277B (zh) * | 2020-03-06 | 2023-10-20 | 网易(杭州)网络有限公司 | 数据恢复方法、装置、电子设备和介质 |
-
2020
- 2020-10-19 CN CN202011119358.8A patent/CN114389758A/zh active Pending
-
2021
- 2021-09-17 WO PCT/CN2021/118934 patent/WO2022083371A1/zh active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579083A (zh) * | 2022-05-09 | 2022-06-03 | 上海擎昆信息科技有限公司 | 一种基于矢量处理器的数据处理装置和方法 |
CN114579083B (zh) * | 2022-05-09 | 2022-08-05 | 上海擎昆信息科技有限公司 | 一种基于矢量处理器的数据处理装置和方法 |
CN115085890A (zh) * | 2022-06-23 | 2022-09-20 | 杭州云合智网技术有限公司 | 数据中心网络芯片优化tcp rto重传等待时间的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022083371A1 (zh) | 2022-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018127228A1 (zh) | 一种随机接入反馈、处理方法、基站及终端 | |
EP1845694B1 (en) | Communication device, communication method, and program | |
JP6522855B2 (ja) | パケット送信方法およびユーザ機器 | |
CN106559739B (zh) | 适于蓝牙低功耗无线通信系统的轻量级数据传输方法 | |
WO2018000841A1 (zh) | 一种harq重传的指示方法及相关设备 | |
CN102217258B (zh) | 探测处理方法、数据发送端、数据接收端以及通信系统 | |
JP2020061749A (ja) | ワイヤレスネットワークにおいて可変長ブロック確認応答フィールドをシグナリングおよび生成するためのシステムおよび方法 | |
CN112436994B (zh) | 一种数据传输方法及电子设备 | |
CN107567107B (zh) | 一种传输数据的方法及装置 | |
CN111224999A (zh) | 一种传输协议切换方法、装置、设备及存储介质 | |
CN103841002A (zh) | 语音传输方法、终端、语音服务器及语音传输系统 | |
WO2013130190A1 (en) | Block acknowledgement mechanism including sequence number acknowledgement and retry bit | |
TWI358922B (en) | Method and apparatus of default timer configuratio | |
RU2009116675A (ru) | Кодирование в беспроводной дальней связи | |
RU2701523C1 (ru) | Система и способ обеспечения синхронизации в передачах в режиме без соединения | |
WO2022083371A1 (zh) | 一种数据传输方法和装置 | |
WO2018228477A1 (zh) | 通信方法、网络设备和终端 | |
CN111328104B (zh) | 数据包的解压缩方法和装置 | |
CN108886713B (zh) | 一种数据传输方法、数据接收设备及数据发送设备 | |
CN106537959B (zh) | 电信网络中编码和解码帧的方法 | |
CN114979839A (zh) | 一种传输控制协议代理方法及通信装置 | |
CN108540273B (zh) | 一种数据包重传的方法和装置 | |
WO2018094873A1 (zh) | 一种多播分簇建立方法和装置 | |
CN107431965B (zh) | 一种实现传输控制协议tcp传输的方法及装置 | |
CN101114891B (zh) | 使用无线网络中的时间关系来加快arq块的重传的装置和方法 |
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 |