CN117714000A - 基于动态fec编码的数据传输方法、装置、存储介质及设备 - Google Patents
基于动态fec编码的数据传输方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN117714000A CN117714000A CN202311695505.XA CN202311695505A CN117714000A CN 117714000 A CN117714000 A CN 117714000A CN 202311695505 A CN202311695505 A CN 202311695505A CN 117714000 A CN117714000 A CN 117714000A
- Authority
- CN
- China
- Prior art keywords
- residual bandwidth
- packet loss
- loss rate
- link
- redundancy
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 87
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000001514 detection method Methods 0.000 claims description 29
- 101100117775 Arabidopsis thaliana DUT gene Proteins 0.000 description 11
- 101150091805 DUT1 gene Proteins 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 101100444142 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) dut-1 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种基于动态FEC编码的数据传输方法及装置、计算设备及存储介质,该方法包括:获取传输链路质量参数,所述传输链路质量参数包括丢包率和剩余带宽值;根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度;按照动态匹配的所述最优FEC编码冗余度编码数据并传输。本申请通过获取丢包率和剩余带宽值动态匹配最优FEC编码冗余度,使用动态的FEC编码冗余度编码数据并传输,而不是固定的FEC编码冗余度,所以不会在传输过程中出现解码无效或者剩余带宽浪费的情况,从而达到在不丢包的情况下传输效率最高。
Description
技术领域
本申请涉及数据传输技术领域,特别是指一种基于动态FEC编码的数据传输方法及装置、计算设备及存储介质。
背景技术
在数据传输过程中,经常遇到各种复杂情况导致网络传输质量变差,无法满足实时传输和数据完整传输的问题。目前,对该问题的解决方式,除了在整个传输网络中增加冗余物理链路外,还可以选择适当的编码方法增加数据冗余从而保证接收数据的完整性。
其中,冗余编码主要方案为:在原始K个数据包的基础上增加R个冗余包进行编码传输,当实际丢包数量少于R时,即可以根据解码恢复出原始的K个数据包。冗余包R与原始数据包数K的比值(即R/K)定义为FEC编码冗余度。冗余度越高,抗丢包能力越高,但同时传输效率也越低,浪费传输剩余带宽。冗余度越低,抗丢包能力越低,甚至当丢包数过多(如多于R个时)可能无法恢复出原始的K个数据包,造成解码无效的情况。
由上,在数据传输过程中,如何配置FEC编码冗余度,以既降低在传输过程中出现解码无效的情况,又减少剩余带宽浪费的情况,是有待解决的技术问题。
发明内容
鉴于现有技术的以上问题,本申请提供一种数据传输方法及装置、计算设备及存储介质,以实现不丢包的情况下传输效率最高的效果。
为达到上述目的,本申请第一方面提供了基于动态FEC编码的一种数据传输方法,包括:
获取传输链路质量参数,所述传输链路质量参数包括丢包率和剩余带宽值;
根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度;
按照动态匹配的所述最优FEC编码冗余度编码数据并传输。
由上,本申请通过获取丢包率和剩余带宽值动态匹配最优FEC编码冗余度,使用动态的FEC编码冗余度编码数据并传输,而不是固定的FEC编码冗余度,所以不会在传输过程中出现解码无效或者剩余带宽浪费的情况,从而达到在不丢包的情况下传输效率最高。
作为第一方面的一种可能的实现方式,获取传输链路质量参数,包括:
向数据交换设备发送第一链路探测报文,所述第一链路探测报文包括第一有序数据包和/或第一链路剩余带宽;
接收所述数据交换设备回复的第二链路探测报文,所述第二链路探测报文包括第二有序数据包和/或第二链路剩余带宽;所述第二有序数据包为所述数据交换设备接收到所述第一链路探测报文后记录的有序数据包;
记录第三有序数据包,所述第三有序数据包为接收到所述第二链路探测报文后记录的有序数据包;
根据所述第一有序数据包和所述第三有序数据包确定丢包率;
根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值。
由上,本申请采用发送链路探测报文的方式确定丢包率和剩余带宽值,这样可以得到较为精准的丢包率和剩余带宽值,以使后续匹配到最优FEC编码冗余度,这样使用动态的FEC编码冗余度编码数据并传输,而不是固定的FEC编码冗余度,不会在传输过程中出现解码无效或者剩余带宽浪费的情况,从而达到在不丢包的情况下传输效率最高。
作为第一方面的一种可能的实现方式,根据所述第一有序数据包和所述第三有序数据包确定丢包率,包括:
确定所述第一有序数据包和所述第三有序数据包的差值;
确定所述差值与2倍所述第一有序数据包的比值,所述比值作为所述丢包率。
作为第一方面的一种可能的实现方式,根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值,包括:
将所述第一链路剩余带宽和所述第二链路剩余带宽中的最小值作为所述剩余带宽值。
作为第一方面的一种可能的实现方式,根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度,包括:
获取预设的剩余带宽值、丢包率和FEC编码冗余度的对应关系;
确定所述剩余带宽值是否在所述对应关系中,若所述剩余带宽值在所述对应关系中,则确定所述丢包率是否在所述对应关系中,若所述丢包率在所述对应关系中,则从所述对应关系中选择所述剩余带宽值和所述丢包率对应的FEC编码冗余度作为所述最优FEC编码冗余度。
作为第一方面的一种可能的实现方式,根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度,还包括如下之一:
若所述剩余带宽值不在所述对应关系中,则不进行FEC编码;
若所述剩余带宽值在所述对应关系中,而所述丢包率不在所述对应关系中,则不进行FEC编码。
由上,本申请给出了剩余带宽值、丢包率和FEC编码冗余度的对应关系,以此来可以动态匹配出最优FEC编码冗余度,这样使用动态的FEC编码冗余度编码数据并传输,而不是固定的FEC编码冗余度,不会在传输过程中出现解码无效或者剩余带宽浪费的情况,从而达到在不丢包的情况下传输效率最高。
作为第一方面的一种可能的实现方式,还包括:
每隔设定时间,重新进行所述传输链路质量参数获取步骤和匹配步骤。
由上,本申请会在一定之间之后重新进行传输链路质量参数获取和最优FEC编码冗余度匹配,以应对由于时间变化使得链路的剩余带宽可能会出现变化,进而导致匹配的最优FEC编码冗余度产生变化的情况。
为达到上述目的,本申请第二方面提供了一种基于动态FEC编码的数据传输装置,包括:
参数获取模块,用于获取传输链路质量参数,所述传输链路质量参数包括丢包率和剩余带宽值;
动态匹配模块,用于根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度;
编码传输模块,用于按照动态匹配的所述最优FEC编码冗余度编码数据并传输。
本申请第三方面提供了一种计算设备,包括:
处理器,以及
存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行上述第一方面任一所述的方法。
本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机实现上述第一方面的任一所述的方法。
附图说明
图1是本申请实施例提供的一种基于动态FEC编码的数据传输方法的一实施例的流程图;
图2是本申请实施例提供的传输链路质量参数(丢包率和剩余带宽值)的获取方法示意图;
图3是FEC编码示意图;
图4是FEC解码示意图;
图5为本申请实施例提供的一种根据丢包率和剩余带宽值动态匹配最优FEC编码冗余度的流程图;
图6为本申请实施例提供的一种基于动态FEC编码的数据传输方法的一具体实施方式的流程图;
图7为本申请实施例提供的一种基于动态FEC编码的数据传输装置的结构性示意性图;
图8是本申请实施例提供的一种计算设备的结构性示意性图。
应理解,上述结构示意图中,各框图的尺寸和形态仅供参考,不应构成对本发明实施例的排他性的解读。结构示意图所呈现的各框图间的相对位置和包含关系,仅为示意性地表示各框图间的结构关联,而非限制本发明实施例的物理连接方式。
具体实施方式
下面结合附图并举实施例,对本申请提供的技术方案作进一步说明。应理解,本申请实施例中提供的系统结构和业务场景主要是为了说明本申请的技术方案的可能的实施方式,不应被解读为对本申请的技术方案的唯一限定。本领域普通技术人员可知,随着系统结构的演进和新业务场景的出现,本申请提供的技术方案对类似技术问题同样适用。
应理解,本申请实施例提供的数据传输方案,包括数据传输方法及装置。由于这些技术方案解决问题的原理相同或相似,在如下具体实施例的介绍中,某些重复之处可能不再赘述,但应视为这些具体实施例之间已有相互引用,可以相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本发明,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义。
在数据传输网络中,通常采用固定的FEC编码冗余度的冗余编码方法来保证接收数据的完整性,但是这样会因为FEC编码冗余度固定造成传输过程中出现解码无效或者剩余带宽浪费的情况。为了解决这一问题,本申请实施例提供了一种数据传输方法,根据网络中链路的传输质量自动调节FEC编码的冗余度,从而达到在不丢包的情况下传输效率最高。
本申请实施例可以应用于采用了固定的FEC编码冗余度的冗余编码方法的数据传输场景当中。
【数据传输方法的一实施例】
本申请第一实施例提供了一种基于动态FEC编码的数据传输方法,如图1所示,该方法包括:
S110:获取传输链路质量参数,所述传输链路质量参数包括丢包率和剩余带宽值;
S120:根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度;
S130:按照动态匹配的所述最优FEC编码冗余度编码数据并传输。
在上述实施例中,本申请通过获取丢包率和剩余带宽值动态匹配最优FEC编码冗余度,使用动态的FEC编码冗余度编码数据并传输,而不是固定的FEC编码冗余度,所以不会在传输过程中出现解码无效或者剩余带宽浪费的情况,从而达到在不丢包的情况下传输效率最高。并且,本申请实施例中的最优FEC编码是自动匹配的,免去了人工参与配置FEC编码冗余度的流程,节省人力成本。
在一些实施例中,获取传输链路质量参数(即S110),包括:
向数据交换设备发送第一链路探测报文,所述第一链路探测报文包括第一有序数据包和/或第一链路剩余带宽;
接收所述数据交换设备回复的第二链路探测报文,所述第二链路探测报文包括第二有序数据包和/或第二链路剩余带宽;所述第二有序数据包为所述数据交换设备接收到所述第一链路探测报文后记录的有序数据包;
记录第三有序数据包,所述第三有序数据包为接收到所述第二链路探测报文后记录的有序数据包;
根据所述第一有序数据包和所述第三有序数据包确定丢包率;
根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值。
在一些实施例中,根据所述第一有序数据包和所述第三有序数据包确定丢包率,包括:
确定所述第一有序数据包和所述第三有序数据包的差值;
确定所述差值与2倍所述第一有序数据包的比值,所述比值作为所述丢包率。
在一些实施例中,根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值,包括:
将所述第一链路剩余带宽和所述第二链路剩余带宽中的最小值作为所述剩余带宽值。
在上述该些实施例中,如图2所示,以DUT1和DUT2之间进行数据传输为例进行说明。其中,DUT1和DUT2之间存在链路质量探测协议。具体的:
1、DUT1向DUT2发送第一链路探测报文,其携带第一有序数据包D和第一链路剩余带宽BW1;
2、DUT2收到DUT1的有序数据包并记录为D’(即第二有序数据包);
3、DUT2向DUT1回复第二链路探测报文,携带收到的数据D’和第二链路剩余带宽BW2;
4、DUT1接收到DUT2的有序数据包并记录为D”(即第三有序数据包),然后计算丢包率PLR=(D-D”)/2D得到PLR和剩余带宽值BW=MIN(BW1,BW2)。
因为链路有可能存在丢包情况,则第一有序数据包D和第二有序数据包D’、第二有序数据包D’和第三有序数据包D”是不同的,所以可以根据第一有序数据包D和第三有序数据包D”确定最终的丢包率。若不存在丢包情况,则第一有序数据包D和第二有序数据包D’、第二有序数据包D’和第三有序数据包D”是相同的,丢包率为0。
由上,本申请采用发送链路探测报文的方式确定丢包率和剩余带宽值,这样可以得到较为精准的丢包率和剩余带宽值,以使后续匹配到最优FEC编码冗余度,这样使用动态的FEC编码冗余度编码数据并传输,而不是固定的FEC编码冗余度,不会在传输过程中出现解码无效或者剩余带宽浪费的情况,从而达到在不丢包的情况下传输效率最高。
在一些实施例中,根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度(即S120),包括:
获取预设的剩余带宽值、丢包率和FEC编码冗余度的对应关系;
确定所述剩余带宽值是否在所述对应关系中,若所述剩余带宽值在所述对应关系中,则确定所述丢包率是否在所述对应关系中,若所述丢包率在所述对应关系中,则从所述对应关系中选择所述剩余带宽值和所述丢包率对应的FEC编码冗余度作为所述最优FEC编码冗余度。
在一些实施例中,根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度,还包括如下之一:
若所述剩余带宽值不在所述对应关系中,则不进行FEC编码;
若所述剩余带宽值在所述对应关系中,而所述丢包率不在所述对应关系中,则不进行FEC编码。
在上述该些实施例中,FEC编码算法工作原理如下:
假设有效数据有K个,期望生成R个冗余数据。如图3所示,把K个有效数据组成一个单位向量D,生成一个变幻矩阵A,A由一个K阶的单位矩阵和一个K*R的范德蒙特矩阵(Vandemode)组成。两个矩阵A和D相乘得到的矩阵G,即包含了R个冗余的FEC数据,冗余度为Rnum=R/K。
假设数据D1,D4,D6,C2丢失了,则取对应行的范德蒙矩阵的逆乘以没有丢失的数据矩阵,则可以恢复出原始的数据矩阵,如图4所示。原理为分别取没有丢失的行构成A'和G'根据公式A'*D=G'可以导出,D=A'的逆*G'。
所以根据链路直连探测协议获取的丢包率PLR和剩余带宽值BW,自动灵活调整FEC算法的冗余度,可以保证数据无丢失传输并且为最优的传输效率。
下面如图5所示介绍确定最优FEC编码冗余度的方法。
1、输入剩余带宽BW值;
2、判断BW值是否在算法关系表(即表1链路质量自动调节FEC算法参数对照表)中。该表中包括预设的剩余带宽值、丢包率和FEC编码冗余度的对应关系。
表1
剩余带宽BW | 丢包率PLR | FEC算法冗余度Rnum |
无要求 | 0% | 0% |
至少6% | 5% | 6% |
至少11% | 10% | 12% |
至少16% | 15% | 18% |
至少20% | 20% | 25% |
至少26% | 25% | 34% |
至少31% | 30% | 43% |
至少36% | 35% | 54% |
至少41% | 40% | 67% |
至少46% | 45% | 83% |
至少50% | 50% | 100% |
3、如果BW值在算法表中,则输入丢包率PLR值;如果BW值不在算法表中,则不进行FEC编码,提示链路质量差,建议更换链路;
4、如果PLR值在算法表中,则选择最终算法表中的冗余度;如果PLR值不在算法表中,则不进行FEC编码,提示链路质量差,建议更换链路。
例如,链路探测协议返回参数剩余带宽BW值=31%,查表1后得到FEC算法最优能够纠错丢包率为30%的数据,保证无差错传输,大于30%丢包率将无法保证传输质量。如果丢包率PLR的值为25%,则可以得到FEC算法冗余度的值为34%,从而实现根据链路质量自动调整FEC算法冗余度,然后利用该FEC算法冗余度34%进行编码并进行数据传输。如果BW值=31%、丢包率PLR为40%,则查表1后得到FEC算法最优能够纠错丢包率小于30%的数据,但是丢包率PLR为40%,所以找不到最优的FEC算法冗余度Rnum。
由上,本申请给出了剩余带宽值、丢包率和FEC编码冗余度的对应关系,以此来可以动态匹配出最优FEC编码冗余度,这样使用动态的FEC编码冗余度编码数据并传输,而不是固定的FEC编码冗余度,不会在传输过程中出现解码无效或者剩余带宽浪费的情况,从而达到在不丢包的情况下传输效率最高。
对于S130中如何按照动态匹配的所述最优FEC编码冗余度编码数据并传输属于本领域技术人员熟知的技术,在此不做详细描述。
在一些实施例中,还包括:
每隔设定时间,重新进行所述传输链路质量参数获取步骤和匹配步骤。
在该些实施例中,由于链路的剩余带宽和丢包率可能会出现变化,进而导致匹配的最优FEC编码冗余度产生变化,所以需要一定之间之后重新进行传输链路质量参数获取和最优FEC编码冗余度匹配,匹配得到此时的最优FEC编码冗余度。
【数据传输方法的一具体实施方式】
图6为本申请实施例提供的一种数据传输方法的一具体实施方式的流程图,如图6所示,该方法在设备DUT1和DUT2实施。具体的:
1、DUT1向DUT2发送链路探测报文(D,BW1);
2、DUT2收到DUT1的有序数据包D’;
3、DUT2向DUT1回复链路探测报文(D’,BW2);
4、DUT1接收到DUT2的有序数据包D”,计算丢包率PLR=(D-D”)/2D得到PLR和剩余带宽值BW=MIN(BW1,BW2)。
5、DUT1获取表1的链路质量自动调节FEC算法参数对照表,判断BW值是否在算法关系表1中,若在,则输入丢包率PLR值;如果BW值不在算法表中,则不进行FEC编码,提示链路质量差,建议更换链路;
6、如果PLR值在算法表中,则选择最终算法表中的冗余度;如果PLR值不在算法表中,则不进行FEC编码,提示链路质量差,建议更换链路。
【本申请数据传输装置的实施例】
如图7所示,本申请实施例提供了一种基于动态FEC编码的数据传输装置,该数据传输装置可以用于实现上述实施例中的数据传输方法,如图7所示,该数据传输装置具有参数获取模块710、动态匹配模块720、编码传输模块730。
参数获取模块710,用于获取传输链路质量参数,所述传输链路质量参数包括丢包率和剩余带宽值;
动态匹配模块720,用于根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度;
编码传输模块730,用于按照动态匹配的所述最优FEC编码冗余度编码数据并传输。
在一些实施例中,参数获取模块710具体用于:
向数据交换设备发送第一链路探测报文,所述第一链路探测报文包括第一有序数据包和/或第一链路剩余带宽;
接收所述数据交换设备回复的第二链路探测报文,所述第二链路探测报文包括第二有序数据包和/或第二链路剩余带宽;所述第二有序数据包为所述数据交换设备接收到所述第一链路探测报文后记录的有序数据包;
记录第三有序数据包,所述第三有序数据包为接收到所述第二链路探测报文后记录的有序数据包;
根据所述第一有序数据包和所述第三有序数据包确定丢包率;
根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值。
在一些实施例中,参数获取模块710具体用于:
按照如下方式根据所述第一有序数据包和所述第三有序数据包确定丢包率:
确定所述第一有序数据包和所述第三有序数据包的差值;
确定所述差值与2倍所述第一有序数据包的比值,所述比值作为所述丢包率。
在一些实施例中,参数获取模块710具体用于:
按照如下方式根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值:
将所述第一链路剩余带宽和所述第二链路剩余带宽中的最小值作为所述剩余带宽值。
在一些实施例中,动态匹配模块720具体用于:
获取预设的剩余带宽值、丢包率和FEC编码冗余度的对应关系;
确定所述剩余带宽值是否在所述对应关系中,若所述剩余带宽值在所述对应关系中,则确定所述丢包率是否在所述对应关系中,若所述丢包率在所述对应关系中,则从所述对应关系中选择所述剩余带宽值和所述丢包率对应的FEC编码冗余度作为所述最优FEC编码冗余度。
在一些实施例中,动态匹配模块720具体用于:
若所述剩余带宽值不在所述对应关系中,则不进行FEC编码;
若所述剩余带宽值在所述对应关系中,而所述丢包率不在所述对应关系中,则不进行FEC编码。
在一些实施例中,还包括:
每隔设定时间,重新进行所述传输链路质量参数获取步骤和匹配步骤。
具体可参见方法实施例中的详细描述,此处不做赘述。
【本申请计算设备的实施例】
图8是本申请实施例提供的一种计算设备900的结构性示意性图。该计算设备可以作为数据传输装置,执行上述数据传输方法中的各可选实施例,该计算设备可以是终端,也可以是终端内部的芯片或芯片系统。如图8所示,该计算设备900包括:处理器910、存储器920、通信接口930。
应理解,图8所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信,具体可以包括一个或多个收发电路或接口电路。
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中采用了一条无箭头的线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的任一操作步骤以及其中任一可选的实施例。
应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
另外,说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在上述的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,均属于本申请保护范畴。
Claims (10)
1.一种基于动态FEC编码的数据传输方法,其特征在于,包括:
获取传输链路质量参数,所述传输链路质量参数包括丢包率和剩余带宽值;
根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度;
按照动态匹配的所述最优FEC编码冗余度编码数据并传输。
2.如权利要求1所述的方法,其特征在于,获取传输链路质量参数,包括:
向数据交换设备发送第一链路探测报文,所述第一链路探测报文包括第一有序数据包和/或第一链路剩余带宽;
接收所述数据交换设备回复的第二链路探测报文,所述第二链路探测报文包括第二有序数据包和/或第二链路剩余带宽;所述第二有序数据包为所述数据交换设备接收到所述第一链路探测报文后记录的有序数据包;
记录第三有序数据包,所述第三有序数据包为接收到所述第二链路探测报文后记录的有序数据包;
根据所述第一有序数据包和所述第三有序数据包确定丢包率;
根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值。
3.如权利要求2所述的方法,其特征在于,根据所述第一有序数据包和所述第三有序数据包确定丢包率,包括:
确定所述第一有序数据包和所述第三有序数据包的差值;
确定所述差值与2倍所述第一有序数据包的比值,所述比值作为所述丢包率。
4.如权利要求2所述的方法,其特征在于,根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值,包括:
将所述第一链路剩余带宽和所述第二链路剩余带宽中的最小值作为所述剩余带宽值。
5.如权利要求1所述的方法,其特征在于,根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度,包括:
获取预设的剩余带宽值、丢包率和FEC编码冗余度的对应关系;
确定所述剩余带宽值是否在所述对应关系中,若所述剩余带宽值在所述对应关系中,则确定所述丢包率是否在所述对应关系中,若所述丢包率在所述对应关系中,则从所述对应关系中选择所述剩余带宽值和所述丢包率对应的FEC编码冗余度作为所述最优FEC编码冗余度。
6.如权利要求5所述的方法,其特征在于,根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度,还包括如下之一:
若所述剩余带宽值不在所述对应关系中,则不进行FEC编码;
若所述剩余带宽值在所述对应关系中,而所述丢包率不在所述对应关系中,则不进行FEC编码。
7.如权利要求1所述的方法,其特征在于,还包括:
每隔设定时间,重新进行所述传输链路质量参数获取步骤和匹配步骤。
8.一种基于动态FEC编码的数据传输装置,其特征在于,包括:
参数获取模块,用于获取传输链路质量参数,所述传输链路质量参数包括丢包率和剩余带宽值;
动态匹配模块,用于根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度;
编码传输模块,用于按照动态匹配的所述最优FEC编码冗余度编码数据并传输。
9.一种计算设备,其特征在于,包括:
处理器,以及
存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行权利要求1至7任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311695505.XA CN117714000A (zh) | 2023-12-11 | 2023-12-11 | 基于动态fec编码的数据传输方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311695505.XA CN117714000A (zh) | 2023-12-11 | 2023-12-11 | 基于动态fec编码的数据传输方法、装置、存储介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117714000A true CN117714000A (zh) | 2024-03-15 |
Family
ID=90152699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311695505.XA Pending CN117714000A (zh) | 2023-12-11 | 2023-12-11 | 基于动态fec编码的数据传输方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117714000A (zh) |
-
2023
- 2023-12-11 CN CN202311695505.XA patent/CN117714000A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11394488B2 (en) | Polarized coding method and apparatus, electronic device, and storage medium | |
US11290131B2 (en) | Bit error detection method and apparatus | |
CN115037700B (zh) | 一种复杂网络数据包传送方法、系统、终端及存储介质 | |
CN103229444B (zh) | 编码/解码方法、装置及系统 | |
CN113255953A (zh) | Rru欠压风险预测方法、装置、系统、设备及介质 | |
KR20200024319A (ko) | 미디어 콘텐츠 기반의 자가 적응 시스템 코드 fec의 코딩 및 디코딩 방법, 장치, 시스템 및 매체 | |
CN109617834B (zh) | 一种精准切负荷系统及其通信方法、接入装置 | |
JP2005512462A (ja) | ネットワークを介した付加情報を送信するためのシステム | |
CN105210349B (zh) | 无线通信品质信息处理装置及通信系统 | |
CN111682966B (zh) | 带故障主动报告功能的网络通信装置,系统及其方法 | |
CN117714000A (zh) | 基于动态fec编码的数据传输方法、装置、存储介质及设备 | |
CN108347292A (zh) | 一种物理编码子层的数据编解码方法和装置 | |
US8320262B2 (en) | Bus system and method and device for transmitting communications on a bus system | |
CN115633044B (zh) | 报文的处理方法、装置、电子设备及存储介质 | |
EP4283893A1 (en) | Data processing method, device, and data transmission system | |
CN113242473B (zh) | 一种数据处理方法、系统、数据采集设备及可读存储介质 | |
CN114157674B (zh) | 无线通信方法、装置、系统、服务器以及介质 | |
CN104796735B (zh) | 一种视频数据传输方法及装置 | |
CN114726893A (zh) | 可支持多种底层承载协议的物联网应用层接入方法和系统 | |
US9559724B2 (en) | Method and device for processing received data | |
JP2019083507A (ja) | 受信装置、送信装置、受信方法及び送信方法 | |
CN112702289B (zh) | 信息处理方法及装置、终端、基站、存储介质 | |
CN115052264B (zh) | 基于多路径筛选的铁路客站无线网络通信方法及装置 | |
CN113328832B (zh) | 数据传输方法、装置和系统 | |
US20070011588A1 (en) | Architecture and method for error detection and correction for data transmission in a network |
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 |