CN111181698B - 数据处理方法、装置、设备及介质 - Google Patents
数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111181698B CN111181698B CN201911058150.7A CN201911058150A CN111181698B CN 111181698 B CN111181698 B CN 111181698B CN 201911058150 A CN201911058150 A CN 201911058150A CN 111181698 B CN111181698 B CN 111181698B
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- data packet
- redundant
- lost
- 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
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/1896—ARQ related signaling
-
- 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/1864—ARQ related signaling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种数据处理方法、装置、设备及介质,其中方法包括:接收数据发送端发送的数据包组;若接收到的数据包组存在丢包情况,则确定接收到的数据包组中所丢失的数据包及丢失的数据包的重传标识;根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包及冗余包的冗余信息;根据冗余包的冗余信息从丢失的数据包中确定丢失的原始包,将丢失的原始包的重传标识添加至目标丢包序列;向数据发送端发送携带目标丢包序列的重传请求,以请求数据发送端根据目标丢包序列重新发送丢失的原始包。本发明实施例可以更好地获取到丢失的原始包,提高处理效率,降低复杂度。
Description
技术领域
本发明涉及互联网技术领域,具体涉及通信技术领域,尤其涉及一种数据处理方法、一种数据处理装置、一种数据处理设备及一种计算机存储介质。
背景技术
包是网络通信传输中的数据单位,一般也称为“数据包”。当数据发送端欲向数据接收端传输某消息(如视频资源、会话消息或等)时,数据发送端需先将待传输的单个消息会被划分成多个原始数据包(简称原始包),然后将这多个原始包通过网络发送给数据接收端。相应的,数据接收端可通过网络接收这多个原始包,并对这多个原始包进行重新组合以得到该单个消息。
随着网络组成的日益复杂以及网络的数据传输量逐渐增大,很容易导致在通过网络传输原始包的过程中,出现原始包丢失的情况。为了避免此情况,数据发送端通常会在发送原始包的同时也发送冗余包;使得数据接收端在发现丢包时,可通过冗余包还原出丢失的原始包。经研究表明,现有的抗丢包方法,需要数据接收端对冗余包进行解码处理,才可还原出丢失的原始包,其处理效率较低,复杂度较高。
发明内容
本发明实施例提供了一种数据处理方法、装置、设备及计算机存储介质,可以更好地获取到丢失的原始包,提高处理效率,降低复杂度。
一方面,本发明实施例提供了一种数据处理方法,所述数据处理方法应用于数据接收端,所述数据处理方法包括:
接收数据发送端发送的数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识;
根据所述接收到的数据包组中各个数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;
根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包,并将所述丢失的原始包的重传标识添加至所述目标丢包序列;
向所述数据发送端发送携带所述目标丢包序列的重传请求,以请求所述数据发送端根据所述目标丢包序列重新发送所述丢失的原始包。
另一方面,本发明实施例提供了一种数据处理方法,所述数据处理方法应用于数据发送端,所述数据处理方法包括:
向数据接收端发送数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
若接收到所述数据接收端发送的携带目标丢包序列的重传请求,则根据所述目标丢包序列向所述数据接收端重新发送丢失的原始包;
其中,所述目标丢包序列包括所述数据接收端接收到的数据包组中所丢失的原始包的重传标识,所述丢失的原始包是由所述数据接收端在检测到所述接收到的数据包组存在丢包情况后,确定所述接收到的数据包中所丢失的数据包;根据所述接收到的数据包组中各个的数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;并根据所述冗余包的冗余信息从所述丢失的数据包中确定的。
再一方面,本发明实施例提供了一种数据处理装置,所述数据处理装置运行于数据接收端,所述数据处理装置包括:
接收单元,用于接收数据发送端发送的数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
所述处理单元,用于若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识;
所述处理单元,还用于根据所述接收到的数据包组中各个数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;
所述处理单元,还用于根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包,并将所述丢失的原始包的重传标识添加至所述目标丢包序列;
发送单元,用于向所述数据发送端发送携带所述目标丢包序列的重传请求,以请求所述数据发送端根据所述目标丢包序列重新发送所述丢失的原始包。
再一方面,本发明实施例提供了一种数据处理装置,所述数据处理装置运行于数据发送端,所述数据处理装置包括:
发送单元,用于向数据接收端发送数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
所述发送单元,还用于若接收到所述数据接收端发送的携带目标丢包序列的重传请求,则根据所述目标丢包序列向所述数据接收端重新发送丢失的原始包;
其中,所述目标丢包序列包括所述数据接收端接收到的数据包组中所丢失的原始包的重传标识,所述丢失的原始包是由所述数据接收端在检测到所述接收到的数据包组存在丢包情况后,确定所述接收到的数据包中所丢失的数据包;根据所述接收到的数据包组中各个的数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;并根据所述冗余包的冗余信息从所述丢失的数据包中确定的。
再一方面,本发明实施例提供了一种数据处理设备,所述数据处理设备包括输入接口和输出接口,所述数据处理设备还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由所述处理器加载并执行如下步骤:
接收数据发送端发送的数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识;
根据所述接收到的数据包组中各个数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;
根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包,并将所述丢失的原始包的重传标识添加至所述目标丢包序列;
向所述数据发送端发送携带所述目标丢包序列的重传请求,以请求所述数据发送端根据所述目标丢包序列重新发送所述丢失的原始包。
或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如下步骤:
向数据接收端发送数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
若接收到所述数据接收端发送的携带目标丢包序列的重传请求,则根据所述目标丢包序列向所述数据接收端重新发送丢失的原始包;
其中,所述目标丢包序列包括所述数据接收端接收到的数据包组中所丢失的原始包的重传标识,所述丢失的原始包是由所述数据接收端在检测到所述接收到的数据包组存在丢包情况后,确定所述接收到的数据包中所丢失的数据包;根据所述接收到的数据包组中各个的数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;并根据所述冗余包的冗余信息从所述丢失的数据包中确定的。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行如下步骤:
接收数据发送端发送的数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识;
根据所述接收到的数据包组中各个数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;
根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包,并将所述丢失的原始包的重传标识添加至所述目标丢包序列;
向所述数据发送端发送携带所述目标丢包序列的重传请求,以请求所述数据发送端根据所述目标丢包序列重新发送所述丢失的原始包。
或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如下步骤:
向数据接收端发送数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
若接收到所述数据接收端发送的携带目标丢包序列的重传请求,则根据所述目标丢包序列向所述数据接收端重新发送丢失的原始包;
其中,所述目标丢包序列包括所述数据接收端接收到的数据包组中所丢失的原始包的重传标识,所述丢失的原始包是由所述数据接收端在检测到所述接收到的数据包组存在丢包情况后,确定所述接收到的数据包中所丢失的数据包;根据所述接收到的数据包组中各个的数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;并根据所述冗余包的冗余信息从所述丢失的数据包中确定的。
本发明实施例中的数据接收端可接收数据发送端发送的数据包组,该数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识。若检测到接收到的数据包组存在丢包情况,则可先确定接收到的数据包组中所丢失的数据包;并根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包及冗余包的冗余信息。其次,可根据冗余包的冗余信息从丢失的数据包中确定丢失的原始包,并将丢失的原始包的重传标识添加至目标丢包序列;向数据发送端发送携带目标丢包序列的重传请求,以请求数据发送端根据目标丢包序列重新发送丢失的原始包。在上述的数据处理过程中,本发明实施例可根据冗余包的冗余信息对丢失的数据包进行有效过滤,实现向数据接收端只请求丢失的原始包,这样可以在一定程度上提高重传请求的有效性,节省带宽;并且,通过重传请求来获取丢失的原始包,无需对冗余包进行解码处理,可提高处理效率以及降低处理的复杂度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种通信系统的架构示意图;
图1b是本发明实施例提供的一种数据处理方案的示意图;
图2是本发明实施例提供的一种数据处理方法的流程示意图;
图3是本发明另一实施例提供的一种数据处理方法的流程示意图;
图4a是本发明实施例提供的一种数据发送端发送的数据包组的示意图;
图4b是本发明实施例提供的一种数据接收端接收的数据包组的示意图;
图4c是本发明实施例提供的一种根据冗余包的冗余信息确定出原始包序列和冗余包序列的示意图;
图5是本发明实施例提供的一种数据处理装置的结构示意图;
图6是本发明另一实施例提供的一种数据处理装置的结构示意图;
图7是本发明实施例提供的一种数据处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例的相关技术提及:在两个设备之间传输数据包时,可能会因为各种因素(如网络的信号衰减、网络的信道阻塞等),导致出现丢包情况;所谓丢包是指丢失数据包。目前常用的抗丢包技术可包括:ARQ(Automatic Repeat-reQuest,自动重传请求)技术和FEC(Forward Error Correction,引入前向纠错)技术;这两种技术均是用于不可靠传输通道下(例如UDP(User Datagram Protocol,用户数据报协议)通道)抵抗丢包的技术。其中,ARQ技术的原理为:数据接收端向数据发送端反馈数据包的丢失情况,数据发送端根据该丢失情况重新发送在传输通道中丢失的数据包,从而达到抗丢包的目的;在ARQ技术中,数据包可通过ARQ的sequence(序列号)进行唯一标识;且各个数据包使用相同的sequence序列。FEC技术的原理为:数据发送端在发送原始的数据包(简称原始包)的同时也发送冗余的数据包(简称冗余包)至数据接收端;数据接收端若发现丢包,则通过对冗余包进行解码操作以还原出丢失的数据包,从而达到抗丢包的目的;在FEC技术中,原始包和冗余包可通过FEC的sequence(序列号)进行唯一标识,且原始包和冗余包使用不同的sequence序列。
为了可以更好地达到抗丢包的目的,本发明实施例提出了一种改进的ARQ和FEC混合抗丢包的数据处理方法,该数据处理方法可应用在如图1a所示的通信系统中。在该通信系统中,可至少包括数据发送端和数据接收端;所谓的数据发送端是指发送数据包的数据处理设备,数据接收端是指接收数据包的数据处理设备;此处的数据处理设备可以包括以下任一种:智能手机、平板电脑、膝上计算机、台式计算机、智能手表等终端设备,或者应用服务器、云服务器等服务设备。在该数据处理方案的实际应用中,数据发送端可向数据接收端数据包组,该数据包组包括原始包和冗余包;每个冗余包中包括冗余信息,该冗余信息可用于推断出数据发送端所发送的数据包组的组成信息,该组成信息可包括原始包序列和冗余包序列;原始包序列中可包括数据发送端所发送的数据包组中的各个原始包的重传标识,冗余包序列中可包括数据发送端所发送的数据包组中的各个冗余包的重传标识。相应的,数据接收端可接收数据发送端所发送的数据包组。当数据接收端发现接收到的数据包组存在丢包情况时,可通过执行本发明实施例所提出的数据处理方案实现尽量向数据发送端重新请求丢失的原始包;该数据处理方案可参见图1b所示,其具体原理如下:
由于ARQ和FEC不共用一个sequence序列;且ARQ的sequence序列可同时标记数据包组中的原始包和冗余包,因此数据接收端在通过步骤s11接收到数据包组后,可先通过步骤s12解析接收到的数据包组中的各个数据包,得到接收到的各个数据包的ARQ sequence。然后,通过步骤s13根据接收到的各个数据包的ARQ sequence获取初始丢包序列,初始丢包序列包括丢失的数据包的ARQ sequence。由于丢失的数据包中可能既包含丢失的原始包,也包括丢失的冗余包;因此,数据接收端可根据接收到的各个数据包的类型标识,从接收到的数据包组中确定接收到的冗余包;并可在步骤s14中解析接收到的冗余包,得到的各个接收到的冗余包的冗余信息。然后,可在步骤s15中根据解析得到的冗余信息确定出数据发送端所发送的数据包组所对应的原始包序列,并通过步骤s16采用原始包序列对初始丢包序列进行过滤,从而得到目标丢包序列,该目标丢包序列中包括丢失的原始包的重传标识。然后,数据接收端可通过步骤s17向数据发送端发送携带目标丢包序列的重传请求,以请求数据发送端重新发送丢失的原始包,而不请求丢失的冗余包。
由此可见,本发明实施例所提出的数据处理方案可以在数据接收端发现丢包的情况下,根据接收到的冗余包所携带的冗余信息对初始丢包序列进行有效的冗余过滤,以过滤掉初始丢包序列中所包含的丢失的冗余包的重传标识,从而避免后续发送的重传请求中包含过多的无用请求(如关于丢失的冗余包的请求)。通过这样的处理方式,可在一定程度上提高重传请求的有效性,节省带宽,使得数据接收端向数据发送端请求重新发送丢失的原始包,从而达到抗丢包的目的。
基于上述数据处理方案的相关描述,本发明实施例提出了如图2所示的数据处理方法;该数据处理方法可应用于上述所提及的通信系统。参见图2所示,该数据处理方法可包括以下步骤S201-S206:
S201,数据发送端向数据接收端发送数据包组。
当数据发送端欲向数据接收端发送原始包时,可以将多个原始包划分为一个数据包组,并采用FEC算法根据这多个原始包计算出至少一个冗余包。其次,数据发送端可将计算得到的冗余包一并添加至该数据包组中;此时的数据包组中包括至少一个数据包,该数据包为原始包或者冗余包。数据发送端还可为数据包组中的各个数据包设置重传标识和类型标识,以唯一标识每个数据包。然后,数据发送端可将该数据包组发送给数据接收端。具体的,数据发送端可将数据包组中的各个数据包同时发送给数据接收端;也可将数据包组中的各个数据包依次发送给数据接收端。
其中,重传标识是指可用于生成重传请求的标识,其可以包括ARQ的sequence;需要说明的是,在为各数据包设置重传标识时,并不会区分该数据包是原始包还是冗余包;也就是说,数据包组中的原始包和冗余包使用的是同一sequence序列中的不同的重传标识。类型标识是指可用于指示数据包的类型的标识,其可以包括FEC的sequence;此处的类型可包括冗余数据包类型和原始数据包类型,即类型标识可用于指示数据包为原始包或者冗余包。需要说明的是,在为各数据包设置类型标识时,可根据数据包的类型为该数据包设置不同的类型标识;若数据包为原始包,则可为该数据包设置原始包所对应的类型标识;若数据包为冗余包,则可为该数据包设置冗余包所对应的类型标识;也就是说,数据包组中的原始包和冗余包使用的是不同的sequence序列中的类型标识。
相应的,数据接收端可接收数据发送端发送的数据包组;该数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示数据包为原始包或冗余包的类型标识。数据接收端在接收到数据包组后,可以检测该接收到的数据包组是否存在丢包情况;由前述可知,数据发送端发送的数据包组中的各个数据包均具有重传标识。并且,各个数据包的重传标识属于同一sequence序列;即数据发送端发送的数据包组中的各个数据包的重传标识是连续的。如果接收到的数据包组存在丢包情况,那么丢失的数据包所携带的重传标识也必然是丢失的,这样会使得接收到的数据包组的重传标识是不连续的。因此,数据接收端在检测接收到的数据包组是否存在丢包情况时,可检测接收到的数据包组中的各个数据包的重传标识是否连续;若不连续,则确定接收到的数据包组存在丢包情况,此情况下可执行步骤S202-S205;否则,可确定接收到的数据包组不存在丢包情况,此情况下可结束本流程。
S202,若接收到的数据包组存在丢包情况,则数据接收端确定接收到的数据包组中所丢失的数据包以及丢失的数据包的重传标识。
若接收到的数据包组存在丢包情况,则表明接收到的数据包组中的各个数据包的重传标识不连续。而由于数据发送端发送的数据包组中的各个数据包的重传标识依序排列,因此,若接收到的数据包组存在丢包情况,则数据接收端可获取接收到的数据包组中任意两个不连续的数据包的重传标识之间所丢失的重传标识;将丢失的重传标识所指示的数据包,作为接收到的数据包组中所丢失的数据包。例如,接收到的数据包组中的各个数据包的重传标识依次为:数据包a的重传标识为1、数据包b的重传标识为2、数据包c的重传标识为5;那么数据包b和数据包c为不连续的数据包,且这两个数据包的重传标识之间丢失了重传标识3和重传标识4,则可以将重传标识3所指示的数据包作为丢失的数据包,以及将重传标识4所指示的数据包作为丢失的数据包。又如,接收到的数据包组中的各个数据包的重传标识依次为:数据包a的重传标识为1、数据包b的重传标识为3、数据包c的重传标识为5;那么数据包a和数据包b为不连续的数据包,且这两个数据包的重传标识之间丢失了重传标识2,则可以将重传标识2所指示的数据包作为丢失的数据包;并且,数据包b和数据包c也为不连续的数据包,且这两个数据包的重传标识之间丢失了重传标识4,则可以将重传标识4所指示的数据包作为丢失的数据包,等等。
由于丢失的数据包可能存在以下组成情况:①只包括丢失的原始包;②只包括丢失的冗余包;③既包括丢失的原始包,又包括丢失的冗余包。而在实际应用中,数据接收端只需要重新获取丢失的原始包。因此,在确定了丢失的数据包后,数据接收端还可检测丢失的数据包中是否存在丢失的原始包;若存在丢失的原始包,则从丢失的数据包中查找出丢失的原始包,从而向数据发送端重新请求该丢失的原始包;其具体实施过程可参见下述步骤S203-S205的相关描述。
S203,数据接收端根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包以及冗余包的冗余信息;
由前述可知,冗余包中携带有冗余信息,该冗余信息可用于推断出数据发送端所发送的数据包组的组成信息;而组成信息可包括包含了数据发送端所发送的数据包组中的各个原始包的重传标识的原始包序列。因此,如果将丢失的数据包的重传标识和原始包序列中的各个重传标识进行比对,便可知道丢失的数据包中是否存在丢失的原始包。
基于此,数据接收端可先从接收到的数据包组中获取冗余包,以便于后续根据该冗余包中的冗余信息甄别丢失的数据包中是否存在丢失的原始包。由于每个数据包均具有类型标识,该类型标识可用于指示数据包为冗余包还是原始包;因此,在从接收到的数据包中获取冗余包时,可以根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包以及冗余包的冗余信息。而又由前述可知,冗余包和原始包使用的是不同sequence序列的类型标识。因此,在步骤S203的具体实施过程中,针对接收到的数据包组中的任一数据包,可检测该任一数据包的类型标识是否属于冗余包sequence序列中;若属于,则将该任一数据包作为冗余包;然后可解析该冗余包,得到冗余包的冗余信息。
S204,数据接收端根据冗余包的冗余信息从丢失的数据包中确定丢失的原始包,并将丢失的原始包的重传标识添加至目标丢包序列。
S205,数据接收端向数据发送端发送携带目标丢包序列的重传请求。
在步骤S204-S205中,数据接收端在得到冗余包的冗余信息之后,可以先根据冗余包的冗余信息推断出原始包序列。若某丢失的数据包的重传标识位于该原始包序列中,则可确定该丢失的数据包为丢失的原始包。在确定了丢失的原始包之后,数据接收端可将丢失的原始包的重传标识添加至目标丢包序列中;然后,生成携带目标丢包序列的重传请求,并将该携带目标丢包序列的重传请求发送至数据发送端,以请求数据发送端根据目标丢包序列重新发送丢失的原始包。需要说明的是,本发明实施例是以接收到的数据包组中包括一个冗余包为例进行说明的;当接收到的数据包组中包括多个冗余包,可以从接收到的多个冗余包中选取任一冗余包,从而执行上述步骤S204-S205。
S206,若接收到数据接收端发送的携带目标丢包序列的重传请求,则数据发送端根据目标丢包序列向数据接收端重新发送丢失的原始包。
由前述可知,目标丢包序列包括数据接收端接收到的数据包组中所丢失的原始包的重传标识,丢失的原始包是由数据接收端在检测到接收到的数据包组存在丢包情况后,确定接收到的数据包中所丢失的数据包;根据接收到的数据包组中各个的数据包的类型标识,从接收到的数据包组中获取冗余包以及冗余包的冗余信息;并根据冗余包的冗余信息从丢失的数据包中确定的。数据发送端若接收到数据接收端发送的重传请求,则可确定出现了丢包情况;此情况下,可根据目标丢包序列中的重传标识获取丢失的原始包,并将该丢失的原始包重新发送给数据接收端。
本发明实施例中的数据接收端可接收数据发送端发送的数据包组,该数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识。若检测到接收到的数据包组存在丢包情况,则可先确定接收到的数据包组中所丢失的数据包;并根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包及冗余包的冗余信息。其次,可根据冗余包的冗余信息从丢失的数据包中确定丢失的原始包,并将丢失的原始包的重传标识添加至目标丢包序列;向数据发送端发送携带目标丢包序列的重传请求,以请求数据发送端根据目标丢包序列重新发送丢失的原始包。在上述的数据处理过程中,本发明实施例可根据冗余包的冗余信息对丢失的数据包进行有效过滤,实现向数据接收端只请求丢失的原始包,这样可以在一定程度上提高重传请求的有效性,节省带宽;并且,通过重传请求来获取丢失的原始包,无需对冗余包进行解码处理,可提高处理效率以及降低处理的复杂度。
请参见图3,是本发明实施例提供的另一种数据处理方法的流程示意图。该数据处理方法可以由上述通信系统中的数据接收端执行。请参见图3,该数据处理方法可包括以下步骤S301-S307:
S301,接收数据发送端发送的数据包组。
数据发送端所发送的数据包组可包括至少一个数据包,每个数据包包括:重传标识和用于指示数据包为原始包或冗余包的类型标识。其中,重传标识可以是基于自动重传请求协议生成的;即重传标识可以是前述所提及的ARQ的sequence。类型标识可以是基于引入前向纠错协议生成的;即类型标识可以是前述所提及的FEC的sequence。
S302,若接收到的数据包组存在丢包情况,则确定接收到的数据包组中所丢失的数据包以及丢失的数据包的重传标识。
S303,根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包以及冗余包的冗余信息。
由于接收到的数据包组可能存在以下组成情况:①接收到的数据包组中的各数据包均为原始包;接收到的数据包组中的各数据包均为原始包;③接收到的数据包组既包括原始包,也包括冗余包;也就是说,接收到的数据包组中可能包括冗余包,也可能不包括冗余包。若接收到的数据包组中包括冗余包,则可根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中成功获取到冗余包;在此情况下,数据接收端可解析该冗余包,得到冗余包的冗余信息,并执行步骤S304-S305。若接收到的数据包组中不包括冗余包,则无法根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包,从而导致获取冗余包失败;在此情况下,数据接收端可执行步骤S306-S307。
其中,冗余信息可设置于冗余包的包头中;需要说明的是,在其他实施例中,冗余信息也可设置于冗余包的其他位置(如包尾)。冗余信息可包括:冗余包的位置信息及数据发送端发送的数据包组的包组信息;其中,位置信息用于指示冗余包在数据发送端发送的数据包组中的排列位置,包组信息用于指示数据发送端发送的数据包组所包括的原始包的数量和冗余包的数量,且任一原始包均排列在冗余包之前。例如,包组信息为“数据包组包括3个原始包和2个冗余包”,则可以确定数据发送端发送的数据包组所包括的原始包的数量为3以及数据发送端发送的数据包组所包括的冗余包的数量为2;并且,还可确定其排列顺序是:先排列3个原始包,再排列2个冗余包。
S304,根据冗余包的冗余信息从丢失的数据包中确定丢失的原始包,并将丢失的原始包的重传标识添加至目标丢包序列。
由前述可知,冗余信息可包括:冗余包的位置信息、数据发送端发送的数据包组所包括的原始包的数量等信息。那么步骤S304中,可先利用冗余信息推断出数据发送端所发送的数据包组的组成信息(如原始包序列);具体的推断过程可以为:根据冗余包的位置信息、冗余包的重传标识和包组信息中的原始包的数量,确定原始包序列;该原始包序列包括数据发送端发送的数据包组中的各个原始包的重传标识。例如,设根据冗余包的位置信息确定冗余包在数据包组中的排列位置是第4位,该冗余包的重传标识为10。若包组信息中的原始包的数量为3个,则可确定位于该冗余包之前的数据包均为原始包,且这3个原始包的重传标识依次为:7、8、9,即原始包序列为7-8-9。又如,设根据冗余包的位置信息确定冗余包在数据包组中的排列位置是第4位,该冗余包的重传标识为15。若包组信息中的原始包的数量为2个,则可确定位于该冗余包之前的数据包包括2个原始包和1个冗余包;而又由于原始包均位于冗余包之前,因此可确定这2个原始包的重传标识依次为:12、13,即原始包序列为12-13;另外还可确定重传标14所指示的数据包为冗余包。
在得到原始包序列后,可根据原始包序列中的重传标识从丢失的数据包中确定丢失的原始包,丢失的原始包的重传标识位于原始包序列中。具体的,针对任一丢失的数据包,若该任一丢失的数据包的重传标识与原始包序列中的任一重传标识相同,则将该任一丢失的数据包确定为丢失的原始包。例如,原始包序列为12-13,丢失的数据包的重传标识包括:13和14;由于重传标识13位于原始包序列中,因此可以确定重传标识13所指示的丢失的数据包为丢失的原始包。在确定了丢失的原始包后,可将丢失的原始包的重传标识添加至目标丢包序列。
S305,向数据发送端发送携带目标丢包序列的重传请求,以请求数据发送端根据目标丢包序列重新发送丢失的原始包。
S306,若获取冗余包失败,则根据丢失的数据包的重传标识生成初始丢包序列。
S307,向数据发送端发送携带初始丢包序列的重传请求,以请求数据发送端根据初始丢包序列重新发送丢失的数据包。
相应的,由于携带初始丢包序列的重传请求是由数据接收端在获取冗余包失败时发送的,该初始丢包序列中包括丢失的数据包的重传标识;因此,若接收到数据接收端发送的携带初始丢包序列的重传请求,则数据发送端可确定出现了丢包情况,此情况下,数据发送端可根据初始丢包序列向数据接收端重新发送丢失的数据包。
本发明实施例中的数据接收端可接收数据发送端发送的数据包组,该数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识。若检测到接收到的数据包组存在丢包情况,则可先确定接收到的数据包组中所丢失的数据包;并根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包及冗余包的冗余信息。其次,可根据冗余包的冗余信息从丢失的数据包中确定丢失的原始包,并将丢失的原始包的重传标识添加至目标丢包序列;向数据发送端发送携带目标丢包序列的重传请求,以请求数据发送端根据目标丢包序列重新发送丢失的原始包。在上述的数据处理过程中,本发明实施例可根据冗余包的冗余信息对丢失的数据包进行有效过滤,实现向数据接收端只请求丢失的原始包,这样可以在一定程度上提高重传请求的有效性,节省带宽;并且,通过重传请求来获取丢失的原始包,无需对冗余包进行解码处理,可提高处理效率以及降低处理的复杂度。
需要说明的是,上述数据处理方法的相关实施例均是以一个数据包组为例进行说明的;当存在多个数据包组时,数据接收端仍可以采用上述的数据处理方法对各个数据包组进行数据处理,从而实现向数据发送端请求丢失的原始包。在实际应用中,可将上述的数据处理方法运用在不同消息资源的传输场景中;此处的消息资源可包括但不限于:会话消息、视频资源、图像资源、音乐资源、云消息资源以及设备之间所传输的其他任何消息资源。其中,云消息资源是指存储在云盘(一种互联网存储工具)中的消息资源;下面以数据发送端为云盘所对应的云服务器,数据接收端为相应的智能终端,且在数据发送端和数据接收端之间传输云消息资源为例,对该数据处理方法的具体应用场景进行阐述:
当某用户想要从云盘中下载某云消息资源时,可通过智能终端向云盘所对应的云服务器发送资源获取请求,该资源获取请求携带了云消息资源的标识。相应的,当云服务器接收到该资源获取请求后,可先根据该资源获取请求所携带的标识从云盘中获取该云消息资源,并将该云消息资源划分成多个原始包。其次,云服务器可将这多个原始包划分成一个或多个数据包组,每个数据包组中可包括N个原始包。针对任一数据包组,云服务器可以采用FEC算法根据该数据包组中的原始包计算出M个冗余包,M∈[0,N];并将计算得到的M个冗余包一并添加至该数据包组中。以将云消息资源划分成9个原始包,且以N=3为例,则每个数据包组中可包括3个原始包和0-3个冗余包,即每个数据包组可包括3-6个数据包。然后,云服务器可为各个数据包组中的各个冗余包和原始包设置重传标识和类型标识;并在设置好重传标识和类型标识后,可将各个数据包组发送给智能终端,云服务器所发送的各个数据包组可参见图4a所示。
相应的,智能终端可接收云服务器发送的各个数据包组,并解析接收到的数据包组。智能终端检测到接收到的数据包组的重传标识不连续;因此,智能终端可确定接收到的数据包组存在丢包情况,此情况下智能终端可先根据接收到的数据包组中的各个数据包的重传标识获得初始丢包序列,该初始丢包序列中包括丢失的数据包的重传标识。例如,设智能终端接收到的各个数据包组如图4b所示,那么初始丢包序列为3-4-6-7-8-9-11-12-13。由于丢失的数据包中可能既包含丢失的原始包,又包含丢失的冗余包;因此,智能终端还可根据接收到的各个数据包的类型标识,从接收到的数据包组中确定接收到的冗余包;并根据接收到的冗余包的冗余信息从丢失的数据包中确定出原始包序列,并根据原始包序列对初始丢包序列进行过滤,从而得到包含丢失的原始包的重传标识的目标丢包序列。例如,通过解析接收到的重传标识为10的目标冗余包,可得到相应的冗余信息,并根据该冗余信息可知:该目标冗余包所属的数据包组的组成为:前3个包是原始包,后2个包是冗余包,并且该目标冗余包在该数据包组内的位置是第4个包;那么可以推断出:在目标冗余包(即重传标识为10的冗余包)之前有3个原始包,在目标冗余包之后有1个冗余包。而由于目标冗余包的重传标识是10,那么在目标冗余包之前的3个原始包的重传标识必然为9(10-1)、8(10-2)、7(10-3);在目标冗余包之后的1个冗余包的重传标识必然为11(10+1)。由此可知,目标冗余包所述的数据包组的原始包序列为:7-8-9,冗余包序列为:10-11。通过采用上述方法可推断出云消息资源的各个数据包组的原始包序列和冗余包序列,如图4c所示。采用各个原始包序列中的重传标识对初始丢包序列进行过滤,便可得到目标丢包序列(即丢失的原始包序列)为3-7-8-9-12-13(如图4c中的黑色框),丢失的冗余包序列为4-6-11(如图4c中的灰色框)。然后,智能终端可向数据发送端发送携带目标丢包序列的重传请求,以请求数据发送端重新发送丢失的原始包,而不请求丢失的冗余包。
由此可见,本发明实施例所提出的数据处理方案可以在智能终端发现丢包的情况下,根据接收到的冗余包所携带的冗余信息对初始丢包序列进行有效的冗余过滤,以过滤掉初始丢包序列中所包含的丢失的冗余包的重传标识,从而避免后续发送的重传请求中包含过多的无用请求(如关于丢失的冗余包的请求)。通过这样的处理方式,可在一定程度上提高重传请求的有效性,节省带宽,使得智能终端向云服务器请求重新发送丢失的原始包,从而达到抗丢包的目的。
基于上述数据处理方法实施例的描述,本发明实施例还公开了一种数据处理装置,所述数据处理装置可以是运行于数据接收端中的一个计算机程序(包括程序代码)。该数据处理装置可以执行图2中的部分方法步骤,以及图3所示的方法。请参见图5,所述数据处理装置可以运行如下单元:
接收单元101,用于接收数据发送端发送的数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
处理单元102,用于若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识;
所述处理单元102,还用于根据所述接收到的数据包组中各个数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;
所述处理单元102,还用于根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包,并将所述丢失的原始包的重传标识添加至所述目标丢包序列;
发送单元103,用于向所述数据发送端发送携带所述目标丢包序列的重传请求,以请求所述数据发送端根据所述目标丢包序列重新发送所述丢失的原始包。
在一种实施方式中,所述数据发送端发送的数据包组中的各个数据包的重传标识依序排列;相应的,处理单元102还可用于:
检测所述接收到的数据包组中的各个数据包的重传标识是否连续;
若不连续,则确定所述接收到的数据包组存在丢包情况。
再一种实施方式中,处理单元102在用于若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识时,具体用于:
若接收到的数据包组存在丢包情况,则获取所述接收到的数据包组中任意两个不连续的数据包的重传标识之间所丢失的重传标识;
将所述丢失的重传标识所指示的数据包,作为所述接收到的数据包组中所丢失的数据包。
再一种实施方式中,所述冗余信息设置于所述冗余包的包头中,所述冗余信息包括:所述冗余包的位置信息及所述数据发送端发送的数据包组的包组信息;
其中,所述位置信息用于指示所述冗余包在所述数据发送端发送的数据包组中的排列位置,所述包组信息用于指示所述数据发送端发送的数据包组所包括的原始包的数量和冗余包的数量,且任一原始包均排列在冗余包之前。
再一种实施方式中,处理单元102在用于根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包时,具体用于:
根据所述冗余包的位置信息、所述冗余包的重传标识和所述包组信息中的原始包的数量,确定原始包序列,所述原始包序列包括所述数据发送端发送的数据包组中的各个原始包的重传标识;
根据所述原始包序列中的重传标识从所述丢失的数据包中确定丢失的原始包,所述丢失的原始包的重传标识位于所述原始包序列中。
再一种实施方式中,所述接收到的数据包组中的各数据包均为原始包;相应的,处理单元102还可用于:
若获取所述冗余包失败,则根据所述丢失的数据包的重传标识生成初始丢包序列;
向所述数据发送端发送携带所述初始丢包序列的重传请求,以请求所述数据发送端根据所述初始丢包序列重新发送所述丢失的数据包。
再一种实施方式中,所述重传标识是基于自动重传请求协议生成的,所述类型标识是基于引入前向纠错协议生成的。
根据本发明的一个实施例,图2所示的部分方法步骤,和图3所示的方法所涉及的各个步骤均可以是由图5所示的数据处理装置中的各个单元来执行的。例如,图2中所示的步骤S201-S204可由图5中所示的处理单元102来执行,步骤S205可由图5中所示的发送单元103来执行;又如,图3中所示的步骤S301可由图5中所示的接收单元101来执行,步骤S302-S304以及步骤S306可由图5中所示的处理单元102来执行,步骤S305和S307可由图5中所示的发送单元103来执行。
根据本发明的另一个实施例,图5所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2中所示的部分方法步骤,以及图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5中所示的数据处理装置设备,以及来实现本发明实施例的数据处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例中的数据接收端可接收数据发送端发送的数据包组,该数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识。若检测到接收到的数据包组存在丢包情况,则可先确定接收到的数据包组中所丢失的数据包;并根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包及冗余包的冗余信息。其次,可根据冗余包的冗余信息从丢失的数据包中确定丢失的原始包,并将丢失的原始包的重传标识添加至目标丢包序列;向数据发送端发送携带目标丢包序列的重传请求,以请求数据发送端根据目标丢包序列重新发送丢失的原始包。在上述的数据处理过程中,本发明实施例可根据冗余包的冗余信息对丢失的数据包进行有效过滤,实现向数据接收端只请求丢失的原始包,这样可以在一定程度上提高重传请求的有效性,节省带宽;并且,通过重传请求来获取丢失的原始包,无需对冗余包进行解码处理,可提高处理效率以及降低处理的复杂度。
基于上述数据处理方法实施例的描述,本发明实施例还公开了一种数据处理装置,所述数据处理装置可以是运行于数据发送端中的一个计算机程序(包括程序代码)。该数据处理装置可以执行图2中的部分方法步骤。请参见图6,所述数据处理装置可以运行如下单元:
发送单元201,用于向数据接收端发送数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
所述发送单元201,还用于若接收到所述数据接收端发送的携带目标丢包序列的重传请求,则根据所述目标丢包序列向所述数据接收端重新发送丢失的原始包;
其中,所述目标丢包序列包括所述数据接收端接收到的数据包组中所丢失的原始包的重传标识,所述丢失的原始包是由所述数据接收端在检测到所述接收到的数据包组存在丢包情况后,确定所述接收到的数据包中所丢失的数据包;根据所述接收到的数据包组中各个的数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;并根据所述冗余包的冗余信息从所述丢失的数据包中确定的。
在一种实施方式中,发送单元201还可用于:若接收到所述数据接收端发送的携带初始丢包序列的重传请求,则根据所述初始丢包序列向所述数据接收端重新发送丢失的数据包;
其中,所述携带初始丢包序列的重传请求是由所述数据接收端在获取冗余包失败时发送的,所述初始丢包序列中包括所述丢失的数据包的重传标识。
再一种实施方式中,数据处理装置还可运行接收单元202;所述接收单元202可用于:接收所述数据接收端发送的携带目标丢包序列的重传请求,或者接收所述数据接收端发送的携带初始丢包序列的重传请求。
根据本发明的一个实施例,图2中所示的步骤S201和S206可由图6中所示的发送单元201来执行。根据本发明的另一个实施例,图6所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2中中所涉及的部分步骤的计算机程序(包括程序代码),来构造如图6中所示的数据处理装置设备,以及来实现本发明实施例的数据处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例中的数据发送端可向数据发送端发送数据包组,该数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识。使得当存在丢包情况时,数据接收端可先确定接收到的数据包组中所丢失的数据包;根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包及冗余包的冗余信息;根据冗余包的冗余信息从丢失的数据包中确定丢失的原始包,并将丢失的原始包的重传标识添加至目标丢包序列,并返回携带目标丢包序列的重传请求。相应的,数据发送端可根据目标丢包序列向数据接收端重新发送丢失的原始包。这样的处理方式可在一定程度上提高重传请求的有效性,节省带宽;并且,通过重传请求来获取丢失的原始包,无需对冗余包进行解码处理,可提高处理效率以及降低处理的复杂度。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种数据处理设备。请参见图7,该数据处理设备至少包括处理器301、输入接口302、输出接口303以及计算机存储介质304。其中,数据处理设备内的处理器301、输入接口302、输出接口303以及计算机存储介质304可以通过总线或其他方式连接。
计算机存储介质304可以存储在数据处理设备的存储器中,所述计算机存储介质304用于存储计算机程序,所述计算机程序包括程序指令,所述处理器301用于执行所述计算机存储介质304存储的程序指令。处理器301(或称CPU(Central Processing Unit,中央处理器))是数据处理设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
在一个实施例中,本发明实施例所提出的数据处理设备可以是数据接收端;此实施方式下,数据处理设备中的处理器201可以用于进行如下的一系列的数据处理,包括:接收数据发送端发送的数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识;根据所述接收到的数据包组中各个数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包,并将所述丢失的原始包的重传标识添加至所述目标丢包序列;向所述数据发送端发送携带所述目标丢包序列的重传请求,以请求所述数据发送端根据所述目标丢包序列重新发送所述丢失的原始包,等等。
再一个实施例中,本发明实施例所提出的数据处理设备可以是数据发送端;此实施方式下,数据处理设备中的处理器201可以用于进行如下的一系列的数据处理,包括:向数据接收端发送数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;若接收到所述数据接收端发送的携带目标丢包序列的重传请求,则根据所述目标丢包序列向所述数据接收端重新发送丢失的原始包;其中,所述目标丢包序列包括所述数据接收端接收到的数据包组中所丢失的原始包的重传标识,所述丢失的原始包是由所述数据接收端在检测到所述接收到的数据包组存在丢包情况后,确定所述接收到的数据包中所丢失的数据包;根据所述接收到的数据包组中各个的数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;并根据所述冗余包的冗余信息从所述丢失的数据包中确定的,等等。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是数据处理设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括数据处理设备中的内置存储介质,当然也可以包括数据处理设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了数据处理设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器加载并执行计算机存储介质中存放的一条或多条第一指令,以实现上述有关数据接收端侧的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条第一指令由处理器加载并执行如下步骤:
接收数据发送端发送的数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识;
根据所述接收到的数据包组中各个数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;
根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包,并将所述丢失的原始包的重传标识添加至所述目标丢包序列;
向所述数据发送端发送携带所述目标丢包序列的重传请求,以请求所述数据发送端根据所述目标丢包序列重新发送所述丢失的原始包。
在一种实施方式中,所述数据发送端发送的数据包组中的各个数据包的重传标识依序排列;相应的,所述一条或多条第一指令还可由处理器加载并具体执行:
检测所述接收到的数据包组中的各个数据包的重传标识是否连续;
若不连续,则确定所述接收到的数据包组存在丢包情况。
再一种实施方式中,在若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识时,所述一条或多条第一指令由处理器加载并具体执行:
若接收到的数据包组存在丢包情况,则获取所述接收到的数据包组中任意两个不连续的数据包的重传标识之间所丢失的重传标识;
将所述丢失的重传标识所指示的数据包,作为所述接收到的数据包组中所丢失的数据包。
再一种实施方式中,所述冗余信息设置于所述冗余包的包头中,所述冗余信息包括:所述冗余包的位置信息及所述数据发送端发送的数据包组的包组信息;
其中,所述位置信息用于指示所述冗余包在所述数据发送端发送的数据包组中的排列位置,所述包组信息用于指示所述数据发送端发送的数据包组所包括的原始包的数量和冗余包的数量,且任一原始包均排列在冗余包之前。
再一种实施方式中,在根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包时,所述一条或多条第一指令由处理器加载并具体执行:
根据所述冗余包的位置信息、所述冗余包的重传标识和所述包组信息中的原始包的数量,确定原始包序列,所述原始包序列包括所述数据发送端发送的数据包组中的各个原始包的重传标识;
根据所述原始包序列中的重传标识从所述丢失的数据包中确定丢失的原始包,所述丢失的原始包的重传标识位于所述原始包序列中。
再一种实施方式中,所述接收到的数据包组中的各数据包均为原始包;相应的,所述一条或多条第一指令还可由处理器加载并具体执行:
若获取所述冗余包失败,则根据所述丢失的数据包的重传标识生成初始丢包序列;
向所述数据发送端发送携带所述初始丢包序列的重传请求,以请求所述数据发送端根据所述初始丢包序列重新发送所述丢失的数据包。
再一种实施方式中,所述重传标识是基于自动重传请求协议生成的,所述类型标识是基于引入前向纠错协议生成的。
另一个实施例中,可由处理器加载并执行计算机存储介质中存放的一条或多条第二指令,以实现上述有关数据发送端侧的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条第二指令由处理器加载并执行如下步骤:
向数据接收端发送数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
若接收到所述数据接收端发送的携带目标丢包序列的重传请求,则根据所述目标丢包序列向所述数据接收端重新发送丢失的原始包;
其中,所述目标丢包序列包括所述数据接收端接收到的数据包组中所丢失的原始包的重传标识,所述丢失的原始包是由所述数据接收端在检测到所述接收到的数据包组存在丢包情况后,确定所述接收到的数据包中所丢失的数据包;根据所述接收到的数据包组中各个的数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;并根据所述冗余包的冗余信息从所述丢失的数据包中确定的。
在一种实施方式中,该一条或多条第二指令还可由处理器加载并具体执行:
若接收到所述数据接收端发送的携带初始丢包序列的重传请求,则根据所述初始丢包序列向所述数据接收端重新发送丢失的数据包;
其中,所述携带初始丢包序列的重传请求是由所述数据接收端在获取冗余包失败时发送的,所述初始丢包序列中包括所述丢失的数据包的重传标识。
本发明实施例中的数据接收端可接收数据发送端发送的数据包组,该数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识。若检测到接收到的数据包组存在丢包情况,则可先确定接收到的数据包组中所丢失的数据包;并根据接收到的数据包组中各个数据包的类型标识,从接收到的数据包组中获取冗余包及冗余包的冗余信息。其次,可根据冗余包的冗余信息从丢失的数据包中确定丢失的原始包,并将丢失的原始包的重传标识添加至目标丢包序列;向数据发送端发送携带目标丢包序列的重传请求,以请求数据发送端根据目标丢包序列重新发送丢失的原始包。在上述的数据处理过程中,本发明实施例可根据冗余包的冗余信息对丢失的数据包进行有效过滤,实现向数据接收端只请求丢失的原始包,这样可以在一定程度上提高重传请求的有效性,节省带宽;并且,通过重传请求来获取丢失的原始包,无需对冗余包进行解码处理,可提高处理效率以及降低处理的复杂度。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
接收数据发送端发送的数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识;
根据所述接收到的数据包组中各个数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;
根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包,并将所述丢失的原始包的重传标识添加至所述目标丢包序列;
向所述数据发送端发送携带所述目标丢包序列的重传请求,以请求所述数据发送端根据所述目标丢包序列重新发送所述丢失的原始包。
2.如权利要求1所述的方法,其特征在于,所述数据发送端发送的数据包组中的各个数据包的重传标识依序排列;所述方法还包括:
检测所述接收到的数据包组中的各个数据包的重传标识是否连续;
若不连续,则确定所述接收到的数据包组存在丢包情况。
3.如权利要求2所述的方法,其特征在于,所述若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识,包括:
若接收到的数据包组存在丢包情况,则获取所述接收到的数据包组中任意两个不连续的数据包的重传标识之间所丢失的重传标识;
将所述丢失的重传标识所指示的数据包,作为所述接收到的数据包组中所丢失的数据包。
4.如权利要求1所述的方法,其特征在于,所述冗余信息设置于所述冗余包的包头中,所述冗余信息包括:所述冗余包的位置信息及所述数据发送端发送的数据包组的包组信息;
其中,所述位置信息用于指示所述冗余包在所述数据发送端发送的数据包组中的排列位置,所述包组信息用于指示所述数据发送端发送的数据包组所包括的原始包的数量和冗余包的数量,且任一原始包均排列在冗余包之前。
5.如权利要求4所述的方法,其特征在于,所述根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包,包括:
根据所述冗余包的位置信息、所述冗余包的重传标识和所述包组信息中的原始包的数量,确定原始包序列,所述原始包序列包括所述数据发送端发送的数据包组中的各个原始包的重传标识;
根据所述原始包序列中的重传标识从所述丢失的数据包中确定丢失的原始包,所述丢失的原始包的重传标识位于所述原始包序列中。
6.如权利要求1所述的方法,其特征在于,所述接收到的数据包组中的各数据包均为原始包,所述方法还包括:
若获取所述冗余包失败,则根据所述丢失的数据包的重传标识生成初始丢包序列;
向所述数据发送端发送携带所述初始丢包序列的重传请求,以请求所述数据发送端根据所述初始丢包序列重新发送所述丢失的数据包。
7.如权利要求1-6任一项所述的方法,其特征在于,所述重传标识是基于自动重传请求协议生成的,所述类型标识是基于引入前向纠错协议生成的。
8.一种数据处理方法,其特征在于,包括:
向数据接收端发送数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
若接收到所述数据接收端发送的携带目标丢包序列的重传请求,则根据所述目标丢包序列向所述数据接收端重新发送丢失的原始包;
其中,所述目标丢包序列包括所述数据接收端接收到的数据包组中所丢失的原始包的重传标识,所述丢失的原始包是由所述数据接收端在检测到所述接收到的数据包组存在丢包情况后,确定所述接收到的数据包中所丢失的数据包;根据所述接收到的数据包组中各个的数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;并根据所述冗余包的冗余信息从所述丢失的数据包中确定的。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
若接收到所述数据接收端发送的携带初始丢包序列的重传请求,则根据所述初始丢包序列向所述数据接收端重新发送丢失的数据包;
其中,所述携带初始丢包序列的重传请求是由所述数据接收端在获取冗余包失败时发送的,所述初始丢包序列中包括所述丢失的数据包的重传标识。
10.一种数据处理装置,运行于数据接收端,其特征在于,包括:
接收单元,用于接收数据发送端发送的数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
处理单元,用于若接收到的数据包组存在丢包情况,则确定所述接收到的数据包组中所丢失的数据包以及所述丢失的数据包的重传标识;
所述处理单元,还用于根据所述接收到的数据包组中各个数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;
所述处理单元,还用于根据所述冗余包的冗余信息从所述丢失的数据包中确定丢失的原始包,并将所述丢失的原始包的重传标识添加至所述目标丢包序列;
发送单元,用于向所述数据发送端发送携带所述目标丢包序列的重传请求,以请求所述数据发送端根据所述目标丢包序列重新发送所述丢失的原始包。
11.一种数据处理装置,运行于数据发送端,其特征在于,包括:
发送单元,用于向数据接收端发送数据包组,所述数据包组包括至少一个数据包,每个数据包包括:重传标识和用于指示所述数据包为原始包或冗余包的类型标识;
所述发送单元,还用于若接收到所述数据接收端发送的携带目标丢包序列的重传请求,则根据所述目标丢包序列向所述数据接收端重新发送丢失的原始包;
其中,所述目标丢包序列包括所述数据接收端接收到的数据包组中所丢失的原始包的重传标识,所述丢失的原始包是由所述数据接收端在检测到所述接收到的数据包组存在丢包情况后,确定所述接收到的数据包中所丢失的数据包;根据所述接收到的数据包组中各个的数据包的类型标识,从所述接收到的数据包组中获取冗余包以及所述冗余包的冗余信息;并根据所述冗余包的冗余信息从所述丢失的数据包中确定的。
12.一种数据处理设备,包括输入接口和输出接口,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条指令第一适于由所述处理器加载并执行如权利要求1-7任一项所述的数据处理方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条指令第二适于由所述处理器加载并执行如权利要求8或9所述的数据处理方法。
13.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-7任一项所述的数据处理方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条指令第二适于由所述处理器加载并执行如权利要求8或9所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911058150.7A CN111181698B (zh) | 2019-10-31 | 2019-10-31 | 数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911058150.7A CN111181698B (zh) | 2019-10-31 | 2019-10-31 | 数据处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111181698A CN111181698A (zh) | 2020-05-19 |
CN111181698B true CN111181698B (zh) | 2022-12-20 |
Family
ID=70653693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911058150.7A Active CN111181698B (zh) | 2019-10-31 | 2019-10-31 | 数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111181698B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333268A (zh) * | 2020-11-02 | 2021-02-05 | 中国联合网络通信集团有限公司 | 一种数据传输方法及装置 |
CN113114526B (zh) * | 2021-03-12 | 2022-09-30 | 广州技象科技有限公司 | 一种基于分包防干扰的数据传输方法及装置 |
CN114513418B (zh) * | 2022-04-21 | 2022-06-24 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及相关设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3757857B2 (ja) * | 2001-12-12 | 2006-03-22 | ソニー株式会社 | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
CN100571217C (zh) * | 2007-09-19 | 2009-12-16 | 腾讯科技(深圳)有限公司 | 一种在数据传输过程中抵抗丢包的方法、收发装置及系统 |
CN107196746B (zh) * | 2016-03-15 | 2020-11-27 | 中兴通讯股份有限公司 | 实时通信中的抗丢包方法、装置和系统 |
CN108075859A (zh) * | 2016-11-17 | 2018-05-25 | 中国移动通信有限公司研究院 | 数据传输方法及装置 |
EP3621229B1 (en) * | 2017-02-06 | 2021-05-19 | Telefonaktiebolaget LM Ericsson (publ) | Method for partial retransmission |
CN107147481A (zh) * | 2017-07-19 | 2017-09-08 | 北京数码视讯科技股份有限公司 | 丢包重传方法、装置及电子设备 |
CN108282277A (zh) * | 2018-01-22 | 2018-07-13 | 西安万像电子科技有限公司 | 一种丢包重传方法、装置及系统 |
CN110098899B (zh) * | 2018-01-31 | 2021-11-09 | 国广融合(北京)传媒科技发展有限公司 | 一种基于融合传输系统的协议栈、数据重传的方法 |
-
2019
- 2019-10-31 CN CN201911058150.7A patent/CN111181698B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111181698A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111181698B (zh) | 数据处理方法、装置、设备及介质 | |
US10212613B2 (en) | HARQ frame data structure and method of transmitting and receiving with HARQ in systems using blind detection | |
JP2004180295A (ja) | 通信デバイスのモジュール間で伝送された喪失メッセージを検出するためのシステムおよび方法 | |
CN110460412B (zh) | 用于数据传输的方法和rdma网卡 | |
CN110505123B (zh) | 丢包率的计算方法、服务器及计算机可读存储介质 | |
CN111740939B (zh) | 报文传输装置、设备、方法及存储介质 | |
CN104980257B (zh) | 物联网通讯方法及装置 | |
JP2020515175A (ja) | フィードバック情報送信方法およびデバイス | |
CN112770312A (zh) | 数据传输方法、装置、计算机可读介质及电子设备 | |
CN113992654A (zh) | 一种高速的文件传输方法、系统、设备及介质 | |
CN103684707A (zh) | 服务端、用户端消息传输处理方法、消息传输方法及系统 | |
CN114039703A (zh) | 数据传输方法、装置、设备和介质 | |
US8149830B2 (en) | Efficient light-weight multicasting communication protocol | |
CN112671771A (zh) | 数据传输方法、装置、电子设备及介质 | |
CN109120385B (zh) | 一种基于数据传输系统的数据传输方法、装置及系统 | |
CN110958084B (zh) | 传输确认报文的方法和通信设备 | |
EP3672189B1 (en) | Data transmission method, device and system | |
CN109067503B (zh) | 一种数据重传方法和装置 | |
CN113595694B (zh) | 数据的传输方法、计算设备及存储介质 | |
US7636313B2 (en) | Use of internal buffer to reduce acknowledgement related delays in acknowledgement-based reliable communication protocols | |
CN116032998A (zh) | 数据传输方法、装置、计算机可读存储介质及电子设备 | |
CN113746647B (zh) | 数据传输方法、节点、电子设备及可读存储介质 | |
CN110971535B (zh) | 一种通信拥塞控制方法及装置、设备和存储介质 | |
CN114553375A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN116260887A (zh) | 数据传输方法、数据发送装置、数据接收装置和存储介质 |
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 |