CN116743318A - 丢包数据恢复方法、装置、设备及存储介质 - Google Patents
丢包数据恢复方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116743318A CN116743318A CN202310834952.2A CN202310834952A CN116743318A CN 116743318 A CN116743318 A CN 116743318A CN 202310834952 A CN202310834952 A CN 202310834952A CN 116743318 A CN116743318 A CN 116743318A
- Authority
- CN
- China
- Prior art keywords
- data
- lost
- terminal
- packet
- packet loss
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000011084 recovery Methods 0.000 title claims description 53
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
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
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
- H04L1/0077—Cooperative coding
-
- 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/1835—Buffer management
-
- 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/04—Error control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种丢包数据恢复方法、装置、设备及存储介质,该方法包括步骤:步骤S1:所述第一终端将接收到的第一丢包数据进行编码处理,得到第一编码数据,并将所述第一编码数据发送至第二终端;步骤S2:所述第二终端将接收到的第一编码数据进行解码,得到丢失的源数据包,并将接收的第二丢包数据进行编码后传输至所述第一终端,以供所述第一终端根据编码后的所述第二丢包数据恢复所丢失数据;其中,所述第一丢包数据和所述第二丢包数据由所述基站端发出,且所述第一丢包数据中所丢失数据不同于所述第二丢包数据中所丢失数据。本申请提高了基站与用户端之间的数据传输效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种丢包数据恢复方法、装置、设备及存储介质。
背景技术
在应对自然灾害导致的通信基础设施毁坏而通信中断时,需要通过应急通信系统快速、有效、可靠地实现灾情信息的传递上报,然而,在进行数据传输的过程中,无线信道会受到信号衰减、阴影和多径效应的影响而衰落,导致出现数据丢包的现象。
现有的丢包恢复方案大多是基于反馈的丢包重传方案,即用户需要向广播源(如车载基站)反馈接收情况,广播源接收反馈信息后动态调节自身的广播内容,再重传数据包给广播范围内的用户,由于应急通信场景下的无线信道条件较差,当信道中包含大量的反馈信息,并通过广播源不断地向用户重传数据包时,会增加数据包的接收时延,导致数据传输效率低下。
发明内容
本申请的主要目的在于提供一种丢包数据恢复方法、装置、设备及存储介质,旨在解决相关技术中,通过基于反馈的丢包重传方案向用户重传数据包,增加了用户端的数据包的接收时延,导致数据传输效率低下的技术问题。
为实现上述目的,本申请实施例提供了一种丢包数据恢复方法,应用于丢包数据恢复系统中的用户端,所述丢包数据恢复系统还包括基站端,所述用户端包括多个第一终端和多个第二终端,所述方法包括以下步骤:
步骤S1:所述第一终端将接收到的第一丢包数据进行编码处理,得到第一编码数据,并将所述第一编码数据发送至第二终端;
步骤S2:所述第二终端将接收到的第一编码数据进行解码,得到丢失的源数据包,并将接收的第二丢包数据进行编码后传输至所述第一终端,以供所述第一终端根据编码后的所述第二丢包数据恢复所丢失数据;
其中,所述第一丢包数据和所述第二丢包数据由所述基站端发出,且所述第一丢包数据中所丢失数据不同于所述第二丢包数据中所丢失数据。
在本申请的一种可能的实施方式中,所述步骤S2,包括:
若所述第二终端未接收到第一编码数据,则对所述第二丢包数据进行编码,生成第二编码数据;
将所述第二编码数据、所述第二终端的虚拟队列数据和未解码队列数据发送至所述第一终端;
若所述第二终端接收到第一编码数据,则根据预设编码窗口中数据包的第一数量与预设缓存阈值的比较结果,生成第二编码数据,并更新所述虚拟队列数据和所述未解码队列数据;
将所述第二编码数据、更新后的所述虚拟队列数据和所述未解码队列数据发送至所述第一终端,其中,所述预设缓存阈值与预设编码窗口的最大值相关联。
在本申请的一种可能的实施方式中,所述若所述第二终端接收到第一编码数据,则根据预设编码窗口中数据包的第一数量与预设缓存阈值的比较结果,生成第二编码数据,并更新所述虚拟队列数据和所述未解码队列数据的步骤,包括:
当所述第一数量大于等于预设缓存阈值,则对编码窗口未被编码的数据包进行编码,得到第二编码数据;
当所述第一数量小于预设缓存阈值,则根据未编码队列的数据信息,删除预设编码窗口中的未被编码的数据,对所述预设编码窗口中剩余的数据包进行编码,得到第二编码数据;
将所述第一编码数据进行解码,并根据解码后的第一编码数据,更新所述虚拟队列数据和所述未解码队列数据。
在本申请的一种可能的实施方式中,所述步骤S1,包括:
所述第一终端根据预设编码窗口生成的编码系数,对接收的数据包进行网络编码,生成第一编码数据;
将所述第一编码数据以及所述第一编码数据对应的序列号信息发送至第二终端。
在本申请的一种可能的实施方式中,所述步骤S2之后,包括:
若所述第一终端和所述第二终端恢复所丢失数据,则将所述基站端发送的原始数据包加入编码窗口;
若所述第一终端和所述第二终端未恢复所丢失数据,则将所述基站端发送的原始数据包所对应的序列号加入所述虚拟队列数据以及所述未解码队列数据。
在本申请的一种可能的实施方式中,所述用户端在预设时间段内恢复所丢失数据,其中,所述预设时间段小于等于所述基站端与所述用户端的数据传输时间。
在本申请的一种可能的实施方式中,所述第一终端和所述第二终端之间的数据传输次数与所述基站端和所述用户端之间的广播信道带宽以及所述用户端之间的协作信道带宽相关联。
本申请还提供一种丢包数据恢复装置,所述丢包数据恢复装置还包括:
编码模块,用于将接收到的第一丢包数据进行编码处理,得到第一编码数据,并将所述第一编码数据发送至第二终端;
解码模块,用于将接收到的第一编码数据进行解码,得到丢失的源数据包,并将接收的第二丢包数据进行编码后传输至所述第一终端,以供所述第一终端根据编码后的所述第二丢包数据恢复所丢失数据;
其中,所述第一丢包数据和所述第二丢包数据由所述基站端发出,且所述第一丢包数据中所丢失数据不同于所述第二丢包数据中所丢失数据。
本申请还提供一种丢包数据恢复设备,所述丢包数据恢复设备为实体节点设备,所述丢包数据恢复设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述丢包数据恢复方法的程序,所述丢包数据恢复方法的程序被处理器执行时可实现如上述所述丢包数据恢复方法的步骤。
为实现上述目的,还提供一种存储介质,所述存储介质上存储有丢包数据恢复程序,所述丢包数据恢复程序被处理器执行时实现上述任一所述的丢包数据恢复方法的步骤。
本申请提供了一种丢包数据恢复方法、装置、设备及存储介质,与相关技术中,通过基于反馈的丢包重传方案向用户重传数据包,增加了用户端的数据包的接收时延,导致数据传输效率低下相比,在本申请中,通过所述第一终端将接收到的第一丢包数据进行编码处理,得到第一编码数据,并将所述第一编码数据发送至第二终端;所述第二终端将接收到的第一编码数据进行解码,得到丢失的源数据包,并将接收的第二丢包数据进行编码后传输至所述第一终端,以供所述第一终端根据编码后的所述第二丢包数据恢复所丢失数据;其中,所述第一丢包数据和所述第二丢包数据由所述基站端发出,且所述第一丢包数据中所丢失数据不同于所述第二丢包数据中所丢失数据。在本申请中,由基站端发送数据包给用户端,通过用户端之间相互传输所接收的数据,在通过对接收的数据进行解码,从而,由于第一丢包数据中所丢失数据不同于第二丢包数据中所丢失数据,可以从其他用户终端中获取到所丢包数据的源数据包,不需要向基站端反馈用户信息即可恢复丢包数据,从而降低了基站端与用户端之间的传输时延,提高了数据传输效率。
附图说明
图1为本申请丢包数据恢复方法的第一实施例的流程示意图;
图2为本申请丢包数据恢复方法涉及的应用场景示意图;
图3为本申请实施例方案涉及的硬件运行环境的设备结构示意图;
图4为本申请丢包数据恢复方法涉及的第一终端与第二终端之间的丢包恢复时隙示意图;
图5为本申请丢包数据恢复方法涉及的整体处理流程示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供一种丢包数据恢复方法,在本申请丢包数据恢复方法的第一实施例中,参照图1,应用于丢包数据恢复系统中的用户端,所述丢包数据恢复系统还包括基站端,所述用户端包括多个第一终端和多个第二终端,所述方法包括以下步骤:
步骤S1,所述第一终端将接收到的第一丢包数据进行编码处理,得到第一编码数据,并将所述第一编码数据发送至第二终端;
步骤S2,所述第二终端将接收到的第一编码数据进行解码,得到丢失的源数据包,并将接收的第二丢包数据进行编码后传输至所述第一终端,以供所述第一终端根据编码后的所述第二丢包数据恢复所丢失数据;
其中,所述第一丢包数据和所述第二丢包数据由所述基站端发出,且所述第一丢包数据中所丢失数据不同于所述第二丢包数据中所丢失数据。
本实施例旨在:通过在用户端之间相互传输数据,由于第一丢包数据中所丢失数据不同于第二丢包数据中所丢失数据,可以从其他用户终端中获取到所丢包数据的源数据包,不需要向基站端反馈用户信息即可恢复丢包数据,从而降低了基站端与用户端之间的传输时延,提高了数据传输效率。
在本实施例中,针对的研发背景为:
目前,应急通信主要采用的通信方式基本为两种,即有线和无线。无线通信是利用电磁波信号可在自由空间中传播的特性进行信息交换的一种通信方式,不需要专门布线,在其信号所覆盖的范围内可方便接入,并可以实现在移动中的通信,因此,相较于有线通信,无线通信具有抗毁能力强、组网简单、灵活快速等特点,是处置各种紧急突发事件时最常用的通信方式。
通常在应急通信系统中由车载基站或无人机向用户终端广播数据包来实现无线通信。然而无线信道会受到信号衰减、阴影和多径效应的影响而衰落,导致不同用户终端接收数据包的随机失败。
在本实施例中,针对的应用场景为:
通常在应急通信系统中由车载基站或无人机向用户终端广播数据包来实现无线通信。然而无线信道会受到信号衰减、阴影和多径效应的影响而衰落,导致不同用户终端接收数据包的随机失败。为了提高广播系统的传输可靠性,本方案将随机线性网络编码技术和D2D协同通信结合以保证应急通信系统中数据传输的可靠性,提高带宽效率,并增大网络吞吐量。
具体步骤如下:
步骤S1:所述第一终端将接收到的第一丢包数据进行编码处理,得到第一编码数据,并将所述第一编码数据发送至第二终端;
作为一种示例,丢包数据恢复方法可以应用于丢包数据恢复装置,丢包数据恢复装置属于丢包数据恢复系统,该丢包数据恢复系统属于丢包数据恢复设备。
作为一种示例,终端与终端之间的通信称为D2D通信,D2D通信通过相邻设备之间的合作来恢复有损环境中丢失的数据包。此功能可以减少基站的重传次数,显着提高资源利用率并减少传输的完成时间,D2D通信可以支持大量设备的连接,并且可以提高多用户场景下的数据速率,大量实证结果表明,D2D协同恢复机制可以有效增强系统可靠性,提高网络吞吐量,并可能在车联网、岸电等众多新兴紧急通信应用场景中发挥重要作用。
作为一种示例,基站端为丢包数据恢复系统中的数据发送端,通过为各个用户端发送数据,从而在一个区域内为多个用户建立网络连接,具体如图2所示,图2中的广播源S即是基站端,每个用户对应的一个用户端,一个车载基站S通过一个广播信道(也称为有损信道)向其覆盖区域依次广播数据包,任意两个广播接收端U1和U2(组成一个D2D协作对),U1和U2一边通过长距离天线接收来自S的广播信息,一边通过短距离天线协作恢复彼此丢失的数据包;各个用户通过广播信道与基站端之间建立网络连接,并通过协助信道相互传输数据。
作为一种示例,第一终端和第二终端可以是用户端中的某一个用户终端,第一终端和第二终端的数量可以是多个,在传输数据的过程中,第一终端和第二终端的数量相同,通过第一终端和第二终端相互传输数据,达到恢复丢包数据的目的。
作为一种示例,第一丢包数据为接收的基站端所发送数据在传输过程中出现损耗后的数据,在信道不稳定或无线传输环境复杂的情况下,很容易出现丢包现象。
作为一种示例,编码处理过程可以是网络编码,网络编码是一种融合了路由和编码的信息交换技术,它的核心思想是在网络中的各个节点上对各条信道上收到的信息进行线性或者非线性的处理,然后转发给下游节点,中间节点扮演着编码器或信号处理器的角色,当数据包通过有损中继链路传递时,如果中间节点可以对接收到的数据包进行重新编码和转发,则可以减少整个传输的完成时间和吞吐量。
作为一种示例,编码处理过程具体为随机线性网络编码(Randomized LinearNetwork Coding,RLNC),RLNC在码字构造中随机生成编码系数,因此是无速率码,适合于网络拓扑未知或变化频繁的网络场景。
作为一种示例,第一编码数据为对接收的数据包进行编码后得到的数据,通过将数据进行编码,从而减少了整个传输的完成时间和吞吐量。
其中,所述步骤S1,包括:
步骤A1,所述第一终端根据预设编码窗口生成的编码系数,对接收的数据包进行网络编码,生成第一编码数据;
作为一种示例,预设编码窗口为用于为数据编码的虚拟窗口,也可以储存未编码的数据包,通过预设编码窗口可以将接收的数据包进行编码运算,之后生成第一编码数据。
作为一种示例,编码系数为预设编码窗口随机生成的系数,例如,用户终端的编码窗口包含数据包X1、X3和X5,且用户终端随机生成的编码系数为(1,2,4),则生成的随机线性网络编码包为:Y=X1+2X3+4X5。
步骤A2,将所述第一编码数据以及所述第一编码数据对应的序列号信息发送至第二终端。
作为一种示例,用户终端在对数据进行编码后,再把每一个数据包的编码向量g1,g2......gm作为头部信息添加到数据首部,生成一个编码数据包。然后用户终端将编码数据包通过D2D信道发送给对方用户终端。
作为一种示例,序列号信息为每个数据包对应的序列号,在终端对数据进行编码后,生成多个数据包,此时,每个数据包都对应一个序列号。
步骤S2:所述第二终端将接收到的第一编码数据进行解码,得到丢失的源数据包,并将接收的第二丢包数据进行编码后传输至所述第一终端,以供所述第一终端根据编码后的所述第二丢包数据恢复所丢失数据;
其中,所述第一丢包数据和所述第二丢包数据由所述基站端发出,且所述第一丢包数据中所丢失数据不同于所述第二丢包数据中所丢失数据。
作为一种示例,第一终端和第二终端并没有严格地分别,二者相互传输数据,再根据接收到的编码数据中恢复丢包数据。
作为一种示例,解码过程可以是先对接收到的n个编码数据包进行判断,得到这n个编码数据包中携带的编码系数的线性相关性,记用户终端收到的n个数据包中的编码数据为Y1,Y2......Yn,其中的第i个数据包携带的编码向量为gi,1,gi,2......gi,。如果由所有的编码向量组成的编码系数矩阵满秩,则可以通过下式恢复出原始的n个数据包。
作为一种示例,由于第一丢包数据中所丢失数据不同于第二丢包数据中所丢失数据,在解码完成后,第二终端即可从接收的第一编码数据中获取丢失的源数据包。
作为一种示例,第二丢包数据为第二终端接收的基站端所发送数据在传输过程中出现损耗后的数据,将第二丢包数据发送至第一终端后,同理,也可以使得第一终端恢复所丢失数据。
其中,所述步骤S2之后,包括:
步骤B1,若所述第一终端和所述第二终端恢复所丢失数据,则将所述基站端发送的原始数据包加入编码窗口;
作为一种示例,当第一终端和第二终端进行多轮数据协作后,则可判定为丢包数据恢复完成,此时,基站端完成广播数据包的传输。
作为一种示例,若此时用户端成功接收或保存了基站端发送的原始数据包,则将原始数据包添加至预设编码窗口。
步骤B2,若所述第一终端和所述第二终端未恢复所丢失数据,则将所述基站端发送的原始数据包所对应的序列号加入所述虚拟队列数据以及所述未解码队列数据。
作为一种示例,当用户端未恢复所丢失数据时,将基站端发送的原始数据包所对应的序列号加入虚拟队列数据以及未解码队列数据,以便进行后续的丢包数据恢复过程。
本申请提供了一种丢包数据恢复方法、装置、设备及存储介质,与相关技术中,通过基于反馈的丢包重传方案向用户重传数据包,增加了用户端的数据包的接收时延,导致数据传输效率低下相比,在本申请中,通过所述第一终端将接收到的第一丢包数据进行编码处理,得到第一编码数据,并将所述第一编码数据发送至第二终端;所述第二终端将接收到的第一编码数据进行解码,得到丢失的源数据包,并将接收的第二丢包数据进行编码后传输至所述第一终端,以供所述第一终端根据编码后的所述第二丢包数据恢复所丢失数据;其中,所述第一丢包数据和所述第二丢包数据由所述基站端发出,且所述第一丢包数据中所丢失数据不同于所述第二丢包数据中所丢失数据。在本申请中,由基站端发送数据包给用户端,通过用户端之间相互传输所接收的数据,在通过对接收的数据进行解码,从而,由于第一丢包数据中所丢失数据不同于第二丢包数据中所丢失数据,可以从其他用户终端中获取到所丢包数据的源数据包,不需要向基站端反馈用户信息即可恢复丢包数据,从而降低了基站端与用户端之间的传输时延,提高了数据传输效率。
进一步地,基于本申请中第一实施例,提供本申请的另一实施例,在该实施例中,所述步骤S2,包括:
步骤S30,若所述第二终端未接收到第一编码数据,则对所述第二丢包数据进行编码,生成第二编码数据;
作为一种示例,由于存在丢包现象,当在第二终端未接收到第一编码数据时,则直接将接收的第二丢包数据进行编码,生成第二编码数据。
步骤S40,将所述第二编码数据、所述第二终端的虚拟队列数据和未解码队列数据发送至所述第一终端;
作为一种示例,虚拟队列数据可以是终端所接收数据形成的队列,记为Qi(i=1,2),虚拟队列数据记录了当前的用户终端或节点已接收但未在队列中的数据包序列号。
作为一种示例,未解码队列数据包括用户终端所接收数据,但未解码的数据所形成的队列,记为Li(i=1,2),未解码队列数据包含该节点未解码的数据包包序列号。
作为一种示例,在未接收到第一编码数据时,虚拟队列数据和未解码队列数据并未发生变化和更新。
作为一种示例,当预设编码窗口中的编码包为空时,只发送虚拟队列数据和未解码队列数据发送至第一终端。
步骤S50,若所述第二终端接收到第一编码数据,则根据预设编码窗口中数据包的第一数量与预设缓存阈值的比较结果,生成第二编码数据,并更新所述虚拟队列数据和所述未解码队列数据;
作为一种示例,预设编码窗口记为Wi,记最大编码窗口大小设为Emax,则Wi窗口大小≤Emax,预设编码窗口用于缓存待编码的数据包。
作为一种示例,预设缓存阈值具体为Emax/2,通过将预设编码窗口中数据包的第一数量和Emax/2相比较,可以防止因为数据包过多导致溢出的现象,避免丢包。
作为一种示例,根据预设编码窗口中的数据包的数量与Emax/2相比较,确定后续如何生成生成第二编码数据。
步骤S60,将所述第二编码数据、更新后的所述虚拟队列数据和所述未解码队列数据发送至所述第一终端,其中,所述预设缓存阈值与预设编码窗口的最大值相关联。
其中,所述若所述第二终端接收到第一编码数据,则根据预设编码窗口中数据包的第一数量与预设缓存阈值的比较结果,生成第二编码数据,并更新所述虚拟队列数据和所述未解码队列数据的步骤,包括:
步骤S70,当所述第一数量大于等于预设缓存阈值,则对编码窗口未被编码的数据包进行编码,得到第二编码数据;
作为一种示例,第二终端接收到第一终端的第一编码数据后,若虚拟队列数据为空,则令i=0;否则第一终端中必定存在L1(i)=Q1(0),这表示着第一终端中包含i个已经进入队列但没有被解码的源数据包。
作为一种示例,若i≥Emax/2,则U2将编码窗口中包序列号小于Q1(0)的数据包网络编码生成编码包,U2根据从U1接收到的编码包解码后更新虚拟队列数据Q2和未解码队列数据L2。
步骤S80,当所述第一数量小于预设缓存阈值,则根据未编码队列的数据信息,删除预设编码窗口中的未被编码的数据,对所述预设编码窗口中剩余的数据包进行编码,得到第二编码数据;
步骤S90,将所述第一编码数据进行解码,并根据解码后的第一编码数据,更新所述虚拟队列数据和所述未解码队列数据。
作为一种示例,若i<Emax/2,则U2根据未解码队列数据L1的信息将已被第一终端的虚拟队列中的数据包从编码窗口W2中删除,根据从U1接收到的编码包解码后更新虚拟队列数据Q2和未解码队列数据L2,更新完成后,U2将W2中的数据包编码生成编码包。
作为一种示例,在执行数据传输的过程中,第一终端和第二终端的执行过程相同,具体如图5所示,由图5可得,由基站S向用户终端发送原始数据包St,由于第一终端与第二终端的执行过程相同,以第一终端为例,在U1编码缓存窗口W1中的数据包,连同虚拟队列和未编码队列通过协作信道发送给U2,进而收到U2的第二编码数据,U1再根据U2的编码包来更新W1、Q1和L1,这时完成第二轮协作,第一终端和第二终端均完成丢包数据恢复过程,此时,基站广播结束,判断用户是否成功接收原始数据包St,成功接收原始数据包后,将数据包St加入预设编码窗口,当没有完全恢复丢包数据时,将数据包St的序列号加入用户端的虚拟序列以及未编码序列,以进行下一轮协作。
在本实施例中,通过与最大缓存Emax进行对比,并根据对比结果相互传输数据,以防止用户终端缓存溢出导致丢包。
进一步地,基于本申请中第一实施例和第二实施例,提供本申请的另一实施例,在该实施例中,所述用户端在预设时间段内恢复所丢失数据,其中,所述预设时间段小于等于所述基站端与所述用户端的数据传输时间。
作为一种示例,预设时间段可以是基站端与用户端的数据传输时间,也可以小于基站端与用户端的数据传输时间,由于基站端与用户端之间的广播信道带宽比用户端之间的短程信道带宽小,例如,VHF电视广播的最大带宽频率是300MHz,而正常的短程Wi-Fi是2.4GHz,因此,为了应对两类信道的带宽差异,本方案中将合作时隙分为若干个相等的子时隙,两个用户之间发送的每个合作包正好占据一个子时隙(记为子时隙CT)。
作为一种示例,在数据传输过程中,用户端之间相互传输合作数据包,即U1→U2→U1→U2。
作为一种示例,通过信道传输的时间差,通过让用户在协作阶段交叉传输数据,减少丢包数据的恢复时间。
其中,所述第一终端和所述第二终端之间的数据传输次数与所述基站端和所述用户端之间的广播信道带宽以及所述用户端之间的协作信道带宽相关联。
在本实施例中,第一终端与第二终端之间的丢包恢复时隙示意图如图4所示,其中,一个广播阶段的总时隙包括4个子时隙,子时隙CT的数量k是固定的,其值等于合作信道的带宽与广播的带宽之比,在本申请中,考虑系统中协作信道带宽是广播信道带宽的4倍,即k=4,因此广播信道每发送一个数据包,两个用户可以利用D2D协作信道分别发送和接收2个编码数据包。
在本实施例中,各个用户端通过在预设时间段内从其他用户端获取编码数据包,通过编码数据包可在一定时隙内恢复源数据包,提高了丢包数据恢复效率。
参照图3,图3是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
如图3所示,该丢包数据恢复设备可以包括:处理器1001,存储器1005,通信总线1002。通信总线1002用于实现处理器1001和存储器1005之间的连接通信。
可选地,该丢包数据恢复设备还可以包括用户接口、网络接口、摄像头、RF(RadioFrequency,射频)电路,传感器、WiFi模块等等。用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图3中示出的丢包数据恢复设备结构并不构成对丢包数据恢复设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块以及丢包数据恢复程序。操作系统是管理和控制丢包数据恢复设备硬件和软件资源的程序,支持丢包数据恢复程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与丢包数据恢复系统中其它硬件和软件之间通信。
在图3所示的丢包数据恢复设备中,处理器1001用于执行存储器1005中存储的丢包数据恢复程序,实现上述任一项所述的丢包数据恢复方法的步骤。
本申请丢包数据恢复设备具体实施方式与上述丢包数据恢复方法各实施例基本相同,在此不再赘述。
本申请还提供一种丢包数据恢复装置,所述丢包数据恢复装置还包括:
编码模块,用于将接收到的第一丢包数据进行编码处理,得到第一编码数据,并将所述第一编码数据发送至第二终端;
解码模块,用于将接收到的第一编码数据进行解码,得到丢失的源数据包,并将接收的第二丢包数据进行编码后传输至所述第一终端,以供所述第一终端根据编码后的所述第二丢包数据恢复所丢失数据;
其中,所述第一丢包数据和所述第二丢包数据由所述基站端发出,且所述第一丢包数据中所丢失数据不同于所述第二丢包数据中所丢失数据。
在本申请的一种可能的实施方式中,所述解码模块包括:
编码单元,用于若所述第二终端未接收到第一编码数据,则对所述第二丢包数据进行编码,生成第二编码数据;
第一发送单元,用于将所述第二编码数据、所述第二终端的虚拟队列数据和未解码队列数据发送至所述第一终端;
第一生成单元,用于若所述第二终端接收到第一编码数据,则根据预设编码窗口中数据包的第一数量与预设缓存阈值的比较结果,生成第二编码数据,并更新所述虚拟队列数据和所述未解码队列数据;
第二发送单元,用于将所述第二编码数据、更新后的所述虚拟队列数据和所述未解码队列数据发送至所述第一终端,其中,所述预设缓存阈值与预设编码窗口的最大值相关联。
在本申请的一种可能的实施方式中,所述生成单元包括:
第一编码子单元,用于当所述第一数量大于等于预设缓存阈值,则对编码窗口未被编码的数据包进行编码,得到第二编码数据;
第二编码子单元,用于当所述第一数量小于预设缓存阈值,则根据未编码队列的数据信息,删除预设编码窗口中的未被编码的数据,对所述预设编码窗口中剩余的数据包进行编码,得到第二编码数据;
解码子单元,用于将所述第一编码数据进行解码,并根据解码后的第一编码数据,更新所述虚拟队列数据和所述未解码队列数据。
在本申请的一种可能的实施方式中,所述编码模块包括:
第二生成单元,用于所述第一终端根据预设编码窗口生成的编码系数,对接收的数据包进行网络编码,生成第一编码数据;
第三发送单元,用于将所述第一编码数据以及所述第一编码数据对应的序列号信息发送至第二终端。
在本申请的一种可能的实施方式中,所述装置还包括:
第一添加模块,用于若所述第一终端和所述第二终端恢复所丢失数据,则将所述基站端发送的原始数据包加入编码窗口;
第二添加模块,用于若所述第一终端和所述第二终端未恢复所丢失数据,则将所述基站端发送的原始数据包所对应的序列号加入所述虚拟队列数据以及所述未解码队列数据。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种丢包数据恢复方法,其特征在于,应用于丢包数据恢复系统中的用户端,所述丢包数据恢复系统还包括基站端,所述用户端包括多个第一终端和多个第二终端,所述方法包括以下步骤:
步骤S1:所述第一终端将接收到的第一丢包数据进行编码处理,得到第一编码数据,并将所述第一编码数据发送至第二终端;
步骤S2:所述第二终端将接收到的第一编码数据进行解码,得到丢失的源数据包,并将接收的第二丢包数据进行编码后传输至所述第一终端,以供所述第一终端根据编码后的所述第二丢包数据恢复所丢失数据;
其中,所述第一丢包数据和所述第二丢包数据由所述基站端发出,且所述第一丢包数据中所丢失数据不同于所述第二丢包数据中所丢失数据。
2.如权利要求1所述的丢包数据恢复方法,其特征在于,所述步骤S2,包括:
若所述第二终端未接收到第一编码数据,则对所述第二丢包数据进行编码,生成第二编码数据;
将所述第二编码数据、所述第二终端的虚拟队列数据和未解码队列数据发送至所述第一终端;
若所述第二终端接收到第一编码数据,则根据预设编码窗口中数据包的第一数量与预设缓存阈值的比较结果,生成第二编码数据,并更新所述虚拟队列数据和所述未解码队列数据;
将所述第二编码数据、更新后的所述虚拟队列数据和所述未解码队列数据发送至所述第一终端,其中,所述预设缓存阈值与预设编码窗口的最大值相关联。
3.如权利要求2所述的丢包数据恢复方法,其特征在于,所述若所述第二终端接收到第一编码数据,则根据预设编码窗口中数据包的第一数量与预设缓存阈值的比较结果,生成第二编码数据,并更新所述虚拟队列数据和所述未解码队列数据的步骤,包括:
当所述第一数量大于等于预设缓存阈值,则对编码窗口未被编码的数据包进行编码,得到第二编码数据;
当所述第一数量小于预设缓存阈值,则根据未编码队列的数据信息,删除预设编码窗口中的未被编码的数据,对所述预设编码窗口中剩余的数据包进行编码,得到第二编码数据;
将所述第一编码数据进行解码,并根据解码后的第一编码数据,更新所述虚拟队列数据和所述未解码队列数据。
4.如权利要求1所述的丢包数据恢复方法,其特征在于,所述步骤S1,包括:
所述第一终端根据预设编码窗口生成的编码系数,对接收的数据包进行网络编码,生成第一编码数据;
将所述第一编码数据以及所述第一编码数据对应的序列号信息发送至第二终端。
5.如权利要求2所述的丢包数据恢复方法,其特征在于,所述步骤S2之后,包括:
若所述第一终端和所述第二终端恢复所丢失数据,则将所述基站端发送的原始数据包加入编码窗口;
若所述第一终端和所述第二终端未恢复所丢失数据,则将所述基站端发送的原始数据包所对应的序列号加入所述虚拟队列数据以及所述未解码队列数据。
6.如权利要求1所述的丢包数据恢复方法,其特征在于,所述用户端在预设时间段内恢复所丢失数据,其中,所述预设时间段小于等于所述基站端与所述用户端的数据传输时间。
7.如权利要求1所述的丢包数据恢复方法,其特征在于,所述第一终端和所述第二终端之间的数据传输次数与所述基站端和所述用户端之间的广播信道带宽以及所述用户端之间的协作信道带宽相关联。
8.一种丢包数据恢复装置,其特征在于,所述丢包数据恢复装置包括:
编码模块,用于将接收到的第一丢包数据进行编码处理,得到第一编码数据,并将所述第一编码数据发送至第二终端;
解码模块,用于将接收到的第一编码数据进行解码,得到丢失的源数据包,并将接收的第二丢包数据进行编码后传输至所述第一终端,以供所述第一终端根据编码后的所述第二丢包数据恢复所丢失数据;
其中,所述第一丢包数据和所述第二丢包数据由所述基站端发出,且所述第一丢包数据中所丢失数据不同于所述第二丢包数据中所丢失数据。
9.一种丢包数据恢复设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的丢包数据恢复程序,所述丢包数据恢复程序配置为实现如权利要求1至7中任一项所述的丢包数据恢复方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有丢包数据恢复程序,所述丢包数据恢复程序被处理器执行时实现如权利要求1至7中任一项所述的丢包数据恢复方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310834952.2A CN116743318A (zh) | 2023-07-07 | 2023-07-07 | 丢包数据恢复方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310834952.2A CN116743318A (zh) | 2023-07-07 | 2023-07-07 | 丢包数据恢复方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116743318A true CN116743318A (zh) | 2023-09-12 |
Family
ID=87913387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310834952.2A Pending CN116743318A (zh) | 2023-07-07 | 2023-07-07 | 丢包数据恢复方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743318A (zh) |
-
2023
- 2023-07-07 CN CN202310834952.2A patent/CN116743318A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9083420B2 (en) | Queued cooperative wireless networks configuration using rateless codes | |
US7508791B2 (en) | Wireless communication coding and transmission systems and methods | |
US8630310B2 (en) | Wireless transmission of layered signals in a relay network | |
US10484137B2 (en) | Polar code hybrid automatic repeat request method and apparatus | |
JP5665850B2 (ja) | データパケット中継およびデータパケット復号のための方法および装置 | |
CN113055285B (zh) | 基于mptcp与网络编码的自适应数据传输方法 | |
CN102208962B (zh) | 无线数据传输方法 | |
CN109088702B (zh) | 通信方法、网络设备和终端 | |
WO2016002436A1 (ja) | 無線通信装置、無線通信方法及びプログラム | |
CN114157342A (zh) | 一种基于cdn缓存技术的卫星组播分发系统及其工作方法 | |
KR101082544B1 (ko) | 릴레이 장치 및 이 릴레이 장치에서의 데이터 패킷의 전송 방법 | |
US9854458B2 (en) | Data transmission method and system, and a non-transitory computer-readable storage medium | |
CN113163428B (zh) | 一种低复杂度低时延和低信令开销的5g数据传输方法 | |
CN115276891A (zh) | 数据传输方法、装置及可读存储介质 | |
CN116743318A (zh) | 丢包数据恢复方法、装置、设备及存储介质 | |
WO2022062426A1 (zh) | 中继基站的多播调度方法和装置、存储介质及电子装置 | |
KR101137014B1 (ko) | 복수의 릴레이 장치를 포함하는 이동 통신 시스템 및 이 통신 시스템에서의 데이터 패킷의 전송 방법 | |
US8050622B2 (en) | Method and system for detecting messages using enhanced distributed signaling | |
US7395486B2 (en) | Image communication system using a hierarchical code comprised of a plurality of layers | |
US9036658B2 (en) | Apparatus and method for transmitting/receiving data in communication system | |
CN111585696B (zh) | 基于异或运算的双向传输网络下行吞吐量增强方法及系统 | |
CN111741507B (zh) | 一种5g前端设备的全双工中继数据包优化调度方法 | |
KR101695838B1 (ko) | 통신 시스템에서 데이터 송수신 장치 및 방법 | |
KR101801565B1 (ko) | 통신 시스템에서 데이터 송수신 장치 및 방법 | |
CN116318357A (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 |