System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据传输,特别是指一种基于动态fec编码的数据传输方法及装置、计算设备及存储介质。
技术介绍
1、在数据传输过程中,经常遇到各种复杂情况导致网络传输质量变差,无法满足实时传输和数据完整传输的问题。目前,对该问题的解决方式,除了在整个传输网络中增加冗余物理链路外,还可以选择适当的编码方法增加数据冗余从而保证接收数据的完整性。
2、其中,冗余编码主要方案为:在原始k个数据包的基础上增加r个冗余包进行编码传输,当实际丢包数量少于r时,即可以根据解码恢复出原始的k个数据包。冗余包r与原始数据包数k的比值(即r/k)定义为fec编码冗余度。冗余度越高,抗丢包能力越高,但同时传输效率也越低,浪费传输剩余带宽。冗余度越低,抗丢包能力越低,甚至当丢包数过多(如多于r个时)可能无法恢复出原始的k个数据包,造成解码无效的情况。
3、由上,在数据传输过程中,如何配置fec编码冗余度,以既降低在传输过程中出现解码无效的情况,又减少剩余带宽浪费的情况,是有待解决的技术问题。
技术实现思路
1、鉴于现有技术的以上问题,本申请提供一种数据传输方法及装置、计算设备及存储介质,以实现不丢包的情况下传输效率最高的效果。
2、为达到上述目的,本申请第一方面提供了基于动态fec编码的一种数据传输方法,包括:
3、获取传输链路质量参数,所述传输链路质量参数包括丢包率和剩余带宽值;
4、根据所述丢包率和剩余带宽值动态匹配最优fec编码冗余度;
6、由上,本申请通过获取丢包率和剩余带宽值动态匹配最优fec编码冗余度,使用动态的fec编码冗余度编码数据并传输,而不是固定的fec编码冗余度,所以不会在传输过程中出现解码无效或者剩余带宽浪费的情况,从而达到在不丢包的情况下传输效率最高。
7、作为第一方面的一种可能的实现方式,获取传输链路质量参数,包括:
8、向数据交换设备发送第一链路探测报文,所述第一链路探测报文包括第一有序数据包和/或第一链路剩余带宽;
9、接收所述数据交换设备回复的第二链路探测报文,所述第二链路探测报文包括第二有序数据包和/或第二链路剩余带宽;所述第二有序数据包为所述数据交换设备接收到所述第一链路探测报文后记录的有序数据包;
10、记录第三有序数据包,所述第三有序数据包为接收到所述第二链路探测报文后记录的有序数据包;
11、根据所述第一有序数据包和所述第三有序数据包确定丢包率;
12、根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值。
13、由上,本申请采用发送链路探测报文的方式确定丢包率和剩余带宽值,这样可以得到较为精准的丢包率和剩余带宽值,以使后续匹配到最优fec编码冗余度,这样使用动态的fec编码冗余度编码数据并传输,而不是固定的fec编码冗余度,不会在传输过程中出现解码无效或者剩余带宽浪费的情况,从而达到在不丢包的情况下传输效率最高。
14、作为第一方面的一种可能的实现方式,根据所述第一有序数据包和所述第三有序数据包确定丢包率,包括:
15、确定所述第一有序数据包和所述第三有序数据包的差值;
16、确定所述差值与2倍所述第一有序数据包的比值,所述比值作为所述丢包率。
17、作为第一方面的一种可能的实现方式,根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值,包括:
18、将所述第一链路剩余带宽和所述第二链路剩余带宽中的最小值作为所述剩余带宽值。
19、作为第一方面的一种可能的实现方式,根据所述丢包率和剩余带宽值动态匹配最优fec编码冗余度,包括:
20、获取预设的剩余带宽值、丢包率和fec编码冗余度的对应关系;
21、确定所述剩余带宽值是否在所述对应关系中,若所述剩余带宽值在所述对应关系中,则确定所述丢包率是否在所述对应关系中,若所述丢包率在所述对应关系中,则从所述对应关系中选择所述剩余带宽值和所述丢包率对应的fec编码冗余度作为所述最优fec编码冗余度。
22、作为第一方面的一种可能的实现方式,根据所述丢包率和剩余带宽值动态匹配最优fec编码冗余度,还包括如下之一:
23、若所述剩余带宽值不在所述对应关系中,则不进行fec编码;
24、若所述剩余带宽值在所述对应关系中,而所述丢包率不在所述对应关系中,则不进行fec编码。
25、由上,本申请给出了剩余带宽值、丢包率和fec编码冗余度的对应关系,以此来可以动态匹配出最优fec编码冗余度,这样使用动态的fec编码冗余度编码数据并传输,而不是固定的fec编码冗余度,不会在传输过程中出现解码无效或者剩余带宽浪费的情况,从而达到在不丢包的情况下传输效率最高。
26、作为第一方面的一种可能的实现方式,还包括:
27、每隔设定时间,重新进行所述传输链路质量参数获取步骤和匹配步骤。
28、由上,本申请会在一定之间之后重新进行传输链路质量参数获取和最优fec编码冗余度匹配,以应对由于时间变化使得链路的剩余带宽可能会出现变化,进而导致匹配的最优fec编码冗余度产生变化的情况。
29、为达到上述目的,本申请第二方面提供了一种基于动态fec编码的数据传输装置,包括:
30、参数获取模块,用于获取传输链路质量参数,所述传输链路质量参数包括丢包率和剩余带宽值;
31、动态匹配模块,用于根据所述丢包率和剩余带宽值动态匹配最优fec编码冗余度;
32、编码传输模块,用于按照动态匹配的所述最优fec编码冗余度编码数据并传输。
33、本申请第三方面提供了一种计算设备,包括:
34、处理器,以及
35、存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行上述第一方面任一所述的方法。
36、本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机实现上述第一方面的任一所述的方法。
本文档来自技高网...【技术保护点】
1.一种基于动态FEC编码的数据传输方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,获取传输链路质量参数,包括:
3.如权利要求2所述的方法,其特征在于,根据所述第一有序数据包和所述第三有序数据包确定丢包率,包括:
4.如权利要求2所述的方法,其特征在于,根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值,包括:
5.如权利要求1所述的方法,其特征在于,根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度,包括:
6.如权利要求5所述的方法,其特征在于,根据所述丢包率和剩余带宽值动态匹配最优FEC编码冗余度,还包括如下之一:
7.如权利要求1所述的方法,其特征在于,还包括:
8.一种基于动态FEC编码的数据传输装置,其特征在于,包括:
9.一种计算设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至7任一项所述的方法。
【技术特征摘要】
1.一种基于动态fec编码的数据传输方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,获取传输链路质量参数,包括:
3.如权利要求2所述的方法,其特征在于,根据所述第一有序数据包和所述第三有序数据包确定丢包率,包括:
4.如权利要求2所述的方法,其特征在于,根据所述第一链路剩余带宽和所述第二链路剩余带宽确定剩余带宽值,包括:
5.如权利要求1所述的方法,其特征在于,根据所述丢包率和剩余带宽值动态匹配最优fec编码...
【专利技术属性】
技术研发人员:严萌,
申请(专利权)人:北京东土军悦科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。