CN112821992B - 数据传输方法、装置、电子设备和存储介质 - Google Patents
数据传输方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112821992B CN112821992B CN202110023898.4A CN202110023898A CN112821992B CN 112821992 B CN112821992 B CN 112821992B CN 202110023898 A CN202110023898 A CN 202110023898A CN 112821992 B CN112821992 B CN 112821992B
- Authority
- CN
- China
- Prior art keywords
- rate
- time
- packet loss
- redundancy
- data
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000008569 process Effects 0.000 claims description 4
- 230000006872 improvement Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 238000011084 recovery Methods 0.000 abstract description 16
- 230000003247 decreasing effect Effects 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000008707 rearrangement Effects 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/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/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
- H04L1/1819—Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0841—Round trip packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种数据传输方法、装置、电子设备和存储介质,数据传输方法包括:在数据传输的过程中获取网络的时延和丢包率,当根据时延确定网络处于非拥塞状态时根据丢包率获取冗余率,判断冗余率是否大于当前冗余率;若是,以获取到的冗余率对数据进行编码并发送至接收终端将当前时间记录为冗余率提高时间,若否,计算当前时间与上一冗余率提高时间的时间差,在时间差大于时间阈值时以获取到的冗余率对数据进行编码并发送至接收终端,实现了网络处于非拥塞状态需要降低冗余率时,若当前时间与上一冗余率提高时间的时间差大于时间阈值时降低冗余率,避免了提高冗余率后短时间内降低冗余率造成数据包恢复率低的问题,提高了数据包的恢复率。
Description
技术领域
本发明实施例涉及网络传输技术领域,尤其涉及一种数据传输方法、装置、电子设备和存储介质。
背景技术
随着移动互联网越来越普及,在实时音频通信服务中,内容分发网络和终端之间通过IP(Internet Protocol,因特网协议)网络互连,使用UDP(User Datagram Protocol,用户数据报协议)报文传输媒体数据。
然而,由于网络原因,UDP报文在经过多个承载网络设备后可能出现随机丢失,造成接收终端侧的声音卡顿,由于实时通信应用要求实时性,采用重传实现的丢包恢复方法通常无法满足实时性要求,因此,很多应用都使用前向纠错方式恢复丢失的数据包,前向纠错可以在丢失某些分组情况下,使用冗余包恢复丢失或损坏的数据。
在现有技术中,接收终端监视网络的丢包并报告发送终端,发送终端可以基于来自接收终端的反馈计算丢包率后调整冗余率,当网络条件随时间变化不大时,此种方式能够有效地恢复丢失的数据包,在移动无线网络中,当网络质量频繁发生变化时,如果丢包率降低即降低冗余率,有可能造成丢失的数据包的恢复率下降。
发明内容
本发明实施例提供一种数据传输方法、装置、电子设备和存储介质,以解决现有技术中丢包率降低即降低冗余率,造成丢失的数据包的恢复率下降的问题。
第一方面,本发明实施例提供了一种数据传输方法,包括:
在数据传输的过程中获取网络传输的时延和丢包率;
当根据所述时延确定所述网络处于非拥塞状态时,根据所述丢包率获取冗余率;
判断所述冗余率是否大于当前冗余率;
若是,以所述冗余率对数据进行编码并发送至接收终端,以及将当前时间记录为冗余率提高时间;
若否,计算当前时间与上一冗余率提高时间的时间差;
在所述时间差大于预设的时间阈值时,以所述冗余率对数据进行编码并发送至接收终端。
第二方面,本发明实施例提供了一种数据传输装置,包括:
时延和丢包率获取模块,用于在数据传输的过程中获取网络传输的时延和丢包率;
冗余率获取模块,用于当根据所述时延确定所述网络处于非拥塞状态时,根据所述丢包率获取冗余率;
冗余率判断模块,用于判断所述冗余率是否大于当前冗余率;
冗余率提高模块,用于以所述冗余率对数据进行编码并发送至接收终端,以及将当前时间记录为冗余率提高时间;
时间差计算模块,用于计算当前时间与上一冗余率提高时间的时间差;
冗余率降低模块,用于在所述时间差大于预设的时间阈值时,以所述冗余率对数据进行编码并发送至接收终端。
第三方面,本发明实施例提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第一方面所述的数据传输方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面所述的数据传输方法。
本发明实施例的数据传输方法,在数据传输的过程中获取网络传输的时延和丢包率,当根据时延确定网络处于非拥塞状态时,根据丢包率获取冗余率,判断冗余率是否大于当前冗余率;若是,以获取到的冗余率对数据进步编码并发送至接收终端,并将当前时间记录为冗余率提高时间,若否,计算当前时间与上一冗余率提高时间的时间差,在时间差大于预设的时间阈值时,以获取到的冗余率对数据进行编码并发送至接收终端,本发明实施例实现了在网络处于非拥塞状态时,如果需要提高冗余率时立即提高冗余率,以提高丢失的数据包的恢复率,当需要降低冗余率时,在当前时间与上一冗余率提高时间的时间差大于预设的时间阈值时降低冗余率,避免了提高冗余率后短时间内又降低冗余率造成数据包恢复率降低的问题,可以提高数据包的恢复率。
附图说明
图1是本发明实施例一提供的一种数据传输方法的步骤流程图;
图2是本发明实施例二提供的一种数据传输方法的步骤流程图;
图3是本发明实施例中丢包率离散点的示意图;
图4是本发明实施例的一种数据传输方法的一个示例的流程图;
图5是本发明实施例三提供的一种数据传输装置的结构框图;
图6是本发明实施例四提供的一种电子设备的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种数据传输方法的步骤流程图,本发明实施例可适用于数据传输过程中确定冗余率来对数据进行编码后发送到接收终端的情况,该方法可以由本发明实施的数据传输装置来执行,该数据传输装置可以由硬件或软件来实现,并集成在本发明实施例所提供的电子设备中,如集成在移动终端等发送终端中,具体地,如图1所示,本发明实施例的数据传输方法可以包括如下步骤:
S101、在数据传输的过程中获取网络传输的时延和丢包率。
在本发明实施例中,数据包可以是语音数据包、视频数据包或者其他数据包等,以语音数据包为示例,当发送终端上的语音应用程序采集用户的语音信号后,将语音数据按照预设的编码规则将语音数据编码成多个语音数据包,并将多个语音数据包发送到接收终端,接收终端可以接收到各个语音数据包,接收终端在接收到语音数据包后向发送终端发送接收到语音数据包的反馈包,或者接收终端在接收到语音数据包后确定丢包时,可以向发送终端发送丢包的反馈包。
在网络传输数据包的过程中,由于网络传输波动的原因有可能造成发送终端发送的数据包无法传输到接收终端时即发生丢包,接收终端在接收到各个数据包后,可以对各个数据包进行校验以确定是否发生丢包,在一个示例中,每个数据包均设置有校验码,接收终端可以通过校验码来确定接收到的是第几个数据包从而确定丢包,并向发送终端发送丢包的反馈包。
发送终端每接收到接收终端发送的反馈包后,可以计算时延和丢包率,其中,时延(RTT,Round-Trip Time)是计算机网络中重要的性能指标,时延表示从发送终端发送数据开始,到发送终端收到来自接收终端的确认总共经历的时延。丢包率可以是丢失的数据包占发送的总数据包的比例,发送终端可以统计发送的数据包的总数量和接收到丢包的反馈包的总数量,通过计算接收到丢包的反馈包的总数量与发送的数据包的总数量的比值作为丢包率。
当然,丢包率也可以是接收终端实时计算并反馈到发送终端,使得发送终端可以直接从接收终端接收到丢包率,本发明实施例对获取丢包率的方式不加以限制。
S102、当根据所述时延确定所述网络处于非拥塞状态时,根据所述丢包率获取冗余率。
发送终端可以根据时延确定网络是否拥塞,在一个示例中,当时延大于预设阈值时,可以确定网络处于拥塞状态,在另一个示例中,可以根据多个时延拟合时延变化曲线,取当前时刻曲线上的点的斜率,在斜率大于预设值时可以确定网络处于拥塞状态,当然,还可以通过其他方式确定网络是否处于拥塞状态,本发明实施例对确定网络是否拥塞状态的方式不加以限制。
当网络处于非拥塞状态时,可以在预设的冗余表中查找与丢包率匹配的冗余率,其中,冗余率为对数据进行编码时,冗余包与数据包的比例,预设的冗余表中包括了丢包率与冗余率的对应关系,可以通过查表快速获取到丢包率对应的冗余率。当然,在实际应用中也可以通过丢包率-冗余率函数实时计算丢包率对应的冗余率,本发明实施例对通过丢包率获取冗余率的方式不加以限制。
S103、判断所述冗余率是否大于当前冗余率。
发送终端在对数据进行编码时,以一定的冗余率来对数据进行编码得到数据包和冗余包,可以将获取到的冗余率与发送终端编码使用的当前冗余率进行比较,如果获取到的冗余率大于当前冗余率,则执行S104,否则执行S105-S106。
S104、以所述冗余率对数据进行编码并发送至接收终端,以及将当前时间记录为冗余率提高时间。
如果根据当前丢包率获取到的冗余率大于当前冗余率,说明丢包率上升,应该编码更多的冗余包来辅助接收终端恢复丢失的数据包,在网络处于非拥塞状态时,可以立即提高冗余率来对数据进行编码并发送到接收终端,同时记录提高冗余率的当前时间作为本次提高冗余率的冗余率提高时间。
S105、计算当前时间与上一冗余率提高时间的时间差。
在本发明实施例中,每提高一次冗余率均记录该次提高冗余率的时间,冗余率下降则不记录时间,当根据丢包率获取到的冗余率小于当前冗余率时,说明丢包率下降,可以编码较少的冗余包以提高数据传输的效率,避免冗余包占用过多的带宽,此时可以先计算当前时间与上一冗余率提高时间的时间差,即当前时间与上一回提高冗余率的时间间隔,如果时间差大于预设的时间阈值,说明当前时间距离上一回提高冗余率已经间隔较长的时间,丢包率已经下降,可以执行S106,否则,说明当前时间距离上一回提高冗余率还比较短,虽然丢包率短时间内下降,但上一回提高冗余率有可能没有达到提高丢包恢复率的效果,如果立即降低冗余率,有可能造成丢包恢复率进一步降低,因此应当继续以当前冗余率对数据编码,并实时获取丢包率和时延,使用新的丢包率重新获取冗余率,即返回S101。
S106、在所述时间差大于预设的时间阈值时,以所述冗余率对数据进行编码并发送至所述接收终端。
如果时间差大于预设的时间阈值,说明当前时间距离上一回提高冗余率已经间隔较长的时间,丢包恢复率已经上升,丢包率也降低,网络质量提升,可以降低冗余率来编码数据以提高数据传输的效率。
本发明实施例的数据传输方法,在数据传输的过程中获取网络传输的时延和丢包率,当根据时延确定网络处于非拥塞状态时,根据丢包率获取冗余率,判断冗余率是否大于当前冗余率;若是,以获取到的冗余率对数据进行编码并发送至接收终端,以及将当前时间记录为冗余率提高时间,若否,计算当前时间与上一冗余率提高时间的时间差,在时间差大于预设的时间阈值时,以获取到的冗余率对数据进行编码并发送至接收终端,本发明实施例实现了在网络处于非拥塞状态时,如果需要提高冗余率时立即提高冗余率,以提高丢失的数据包的恢复率,当需要降低冗余率时,在当前时间与上一冗余率提高时间的时间差大于预设的时间阈值时降低冗余率,避免了提高冗余率后短时间内又降低冗余率造成数据包恢复率降低的问题,可以提高数据包的恢复率。
实施例二
图2为本发明实施例二提供的一种数据传输方法的步骤流程图,本发明实施例在前述实施例一的基础上进行优化,具体地,如图2所示,本发明实施例的数据传输方法可以包括如下步骤:
S201、在数据传输的过程中,当接收到接收终端发送的反馈包时,计算网络传输的时延和丢包率。
本发明实施例以语音数据为示例,当发送终端上的语音应用程序采集用户的语音信号后,将语音数据按照预设的编码规则将语音数据编码成多个语音数据包,并将多个语音数据包发送到接收终端,接收终端在接收到语音数据包后向发送终端发送接收到语音数据包的反馈包,或者接收终端在接收到语音数据包后确定丢包,可以向发送终端发送丢包的反馈包。
发送终端每接收到接收终端发送的反馈包后,计算接收到反馈包的时间和发送数据包的时间的时间差得到时延,并且统计接收到丢包反馈的反馈包的总数量,以及统计已发送的数据包的总数量,计算丢包反馈的反馈包的总数量与已发送的数据包的总数量的比值得到丢包率。
S202、判断所述时延是否大于预设阈值。
在实际应用中,时延反映了网络质量,时延越大说明网络质量越差,网络有更大的概率发生拥塞,相反,时延越小说明网络质量越好,网络越通畅,可以预先设置阈值,当时延大于预设阈值时,可以确定网络处于拥塞状态,可以执行S203,否则说明网络处于非拥塞状态,可以执行S204。
S203、确定所述网络处于拥塞状态,停止发送冗余包。
如果网络处于拥塞状态,说明网络质量变差,可以停止发送冗余包,避免冗余包占用网络带宽,以释放出网络带宽来降低网络拥塞,在一个示例中,可以在对数据进行编码时不再编码冗余包来停止发送冗余包。
S204、确定所述网络处于非拥塞状态,在预设的冗余表中查找与所述丢包率匹配的冗余率。
本发明可以预先设置冗余表,该冗余表中包括了丢包率与冗余率的对应关系,在一个示例中,丢包率可以划分为多个丢包率等级,每个丢包率等级对应于一个丢包率范围,并且每个丢包率等级对应一个冗余率,在获取到丢包率后,可以先确定丢包率在冗余表中的丢包率等级,然后获取到该丢包率等级对应的冗余率,以实现通过查询冗余表快速获取到丢包率对应的冗余率。当然,在实际应用中也可以通过丢包率-冗余率函数计算丢包率对应的冗余率,本发明实施例对通过丢包率获取冗余率的方式不加以限制。
S205、判断所述冗余率是否大于当前冗余率。
具体地,发送终端在编码数据时,以一定的冗余率来编码数据,可以将查找冗余表获取到的冗余率与发送终端编码使用的当前冗余率进行比较,如果查找得到的冗余率大于当前冗余率,则执行S206,否则执行S207-S211。
S206、以所述冗余率对数据进行编码并发送至接收终端,以及将当前时间记录为冗余率提高时间。
在本发明实施例中,如果根据当前丢包率查找冗余表得到的冗余率大于当前冗余率,说明丢包率上升,应该编码更多的冗余包来辅助接收终端恢复丢失的数据包以提高恢复率,可选地,可以获取待编码的数据的数据包总数量,计算数据包总数量和冗余率的乘积得到冗余包数量,对待编码的数据进行编码得到编码后的数据包,以及编码后的冗余包,其中,数据包的数量等于数据包总数量,冗余包的数量等于冗余包数量,编码后可以将数据包和冗余包发送到接收终端。
以语音数据为示例,如果发送终端需要编码100个语音数据包发送到接收终端,冗余率为20%,则应该编码的冗余包的数量为100×20%=20个,即编码100个语音包数据包的过程中需要编码20个冗余包,将100个语音数据包和20个冗余包一同发送到接收终端。
S207、计算当前时间与上一冗余率提高时间的时间差。
在本发明实施例中,每提高一次冗余率均记录该次提高冗余率的时间,降低冗余率则不记录时间,在实际应用中,编码开始前可以初始化上一冗余率提高时间为对数据进行编码时的开始时间,每次提高冗余率时,将提高冗余率时的时间赋值给上一冗余率提高时间,从而实现每提高一次冗余率均更新冗余率提高时间。
当根据丢包率获取到的冗余率小于当前冗余率时,说明丢包率下降,可以编码较少的冗余包以提高数据传输的效率,避免冗余包占用过多的带宽,此时可以先计算当前时间与上一冗余率提高时间的时间差,以获得上一次提高冗余率后到目前丢包率下降的间隔时间。
S208、根据所述丢包率确定时间阈值。
在本发明的可选实施例中,可以动态计算时间阈值,在本发明的可选实施例中,可以根据丢包率来确定时间阈值,在一个示例中,可以选取多个丢包率以及丢包率的时间得到多个丢包率离散点,对丢包率离散点作快速傅里叶变换得到丢包率频谱图,从频谱图中选择峰值最小的丢包率的波动频率,将波动频率对应的周期的周期长设置为时间阈值。
具体地,发送终端每接收到一个反馈包计算一次丢包率,每个丢包率都对应有一个时间,在一个示例中,丢包率的时间可以是发送终端接收到反馈包的时间,多个丢包率组成时间上的丢包率离散点,则可以选取一段时间内的多个丢包率得到多个丢包率离散点,在一个示例中,可以将多个丢包率按照时间顺序添加到预设长度的滑动时间窗口中,选取滑动时间窗口内的多个丢包率以及丢包率的时间得到多个丢包率离散点,例如,滑动时间窗口的时间长度为1分钟,则可以将当前时间往前1分钟内计算得到的丢包率选取出来。当然,滑动窗口还可以是丢包率滑动窗口,即每计算出一个丢包率后添加到该丢包率滑动窗口中,当丢包率滑动窗口中的丢包率的数量大于丢包率滑动窗口的长度时,例如丢包率滑动窗口的长度为1000个时,删除最先添加到丢包率滑动窗口中的丢包率,将最新计算出的丢包率增加到该丢包率滑动窗口中。
如图3所示为丢包率离散点的示意图,在图3中,横坐标为时间,纵坐标为丢包率,可以对图3中的丢包率离散点进行快速傅里叶变换得到频谱图,在频谱图中横坐标为频率,纵坐标为幅值,可以从频谱图中多个丢包率离散点中确定出幅值最小的丢包率离散点,该最小幅值对应于横坐标上的频率为丢包率波动频率,该丢包率波动频率的倒数即为周期,可以将该周期长作为时间阈值,即该时间阈值与周期正相关。
当然,在实际应用中,本领域技术人员还可以统计一段时间内网络的质量参数来设置固定的或者动态的时间阈值,本发明实施例对设置时间阈值的方式不加以限制。
本发明实施例根据丢包率来设置时间阈值,使得时间阈值可以根据丢包率实时动态变化,该时间阈值能够自适应网络质量,可以根据时间阈值来控制冗余率降低的速度,避免冗余率降低过快造成丢包恢复率降低的问题,提高了丢包恢复率。
S209、判断所述时间差是否大于所述时间阈值。
如果时间差大于预设的时间阈值,说明当前时间距离上一回提高冗余率已经间隔较长的时间,丢包率已经下降,可以执行S210,否则,说明当前时间距离上一回提高冗余率还比较短,虽然丢包率短时间内下降,但上一回提高冗余率有可能没有达到提高丢包恢复率的效果,如果立即降低冗余率,有可能造成丢包恢复率进一步降低,因此应当执行S211继续以当前冗余率对数据编码。
S210、以所述冗余率对数据进行编码并发送至所述接收终端。
当时间差是否大于时间阈值时,可以根据丢包率查找冗余表得到的冗余率来对数据进行编码,即根据冗余率编码一定数量的冗余包,将冗余包和编码后的数据包一同发送到接收终端,使得接收终端可以通过冗余包来恢复丢失的数据。
S211、以当前冗余率编码数据发送至所述接收终端。
如果时间差小于预设的时间阈值,则可以继续以当前冗余率来对数据进行编码并发送到接收终端,即保持当前冗余率继续对数据进行编码,以避免降低冗余率造成恢复率进一步下降。
为了使得本领域技术人员更清楚地理解本发明实施例的数据传输流程,以下结合图4对数据传输流程加以示例说明,如图4所示,本示例的数据传输包括以下步骤:
S0、接收反馈包。
S1、计算RTT和丢包率。
S2、判断网络是否拥塞,若是执行S3、若否执行S4。
如判断RTT是否大于预设的RTT阈值,若是则确定网络处于拥塞状态,若否则确定网络处于非拥塞状态。
S3、停止发送冗余包。
示例性地,不再编码冗余包发送到接收终端。
S4、通过丢包率查找冗余包获得冗余率。
S5、判断该冗余率相对于当前冗余率是否上升,若是执行S6,若否执行S7。
S6、提高冗余率。
S7、判断当前时间与上一提升冗余率的时间的时间差是否大于阈值,若是执行S8,若否执行S9。
S8、降低冗余率。
S9、保持冗余率不变。
S10、编码冗余包发送到接收终端。
本发明实施例的数据传输方法,在数据传输的过程中获取网络传输的时延和丢包率,当根据时延确定网络处于非拥塞状态时,根据丢包率获取冗余率,判断冗余率是否大于当前冗余率;若是,以获取到的冗余率对数据进行编码并发送至接收终端,并将当前时间记录为冗余率提高时间,若否,计算当前时间与上一冗余率提高时间的时间差,在时间差大于预设的时间阈值时,以获取到的冗余率对数据进行编码并发送至接收终端,本发明实施例实现了在网络处于非拥塞状态时,如果需要提高冗余率时立即提高冗余率,以提高丢失的数据包的恢复率,当需要降低冗余率时,在当前时间与上一冗余率提高时间的时间差大于预设的时间阈值时降低冗余率,避免了提高冗余率后短时间内又降低冗余率造成数据包恢复率降低的问题,可以提高数据包的恢复率。
进一步地,根据丢包率动态设置时间阈值,使得时间阈值可以根据丢包率实时动态变化,该时间阈值能够自适应网络质量,可以根据时间阈值来控制冗余率降低的速度,避免冗余率降低过快造成丢包恢复率降低的问题,提高了丢包恢复率。
实施例三
图5是本发明实施例三提供的一种数据传输装置的结构框图,如图5所示,本发明实施例的数据传输装置具体可以包括如下模块:
时延和丢包率获取模块501,用于在数据传输的过程中获取网络传输的时延和丢包率;
冗余率获取模块502,用于当根据所述时延确定所述网络处于非拥塞状态时,根据所述丢包率获取冗余率;
冗余率判断模块503,用于判断所述冗余率是否大于当前冗余率;
冗余率提高模块504,用于以所述冗余率对数据进行编码并发送至接收终端,以及将当前时间记录为冗余率提高时间;
时间差计算模块505,用于计算当前时间与上一冗余率提高时间的时间差;
冗余率降低模块506,用于在所述时间差大于预设的时间阈值时,以所述冗余率对数据进行编码并发送至接收终端。
本发明实施例所提供的数据传输装置可执行本发明实施例一、实施例二所提供的数据传输方法,具备执行方法相应的功能模块和有益效果。
实施例四
参照图6,示出了本发明一个示例中的一种电子设备的结构示意图。如图6所示,该电子设备具体可以包括:处理器600、存储器601、具有触摸功能的显示屏602、输入装置603、输出装置604以及通信装置605。该电子设备中处理器600的数量可以是一个或者多个,图6中以一个处理器600为例。该电子设备的处理器600、存储器601、显示屏602、输入装置603、输出装置604以及通信装置605可以通过总线或者其他方式连接,图600中以通过总线连接为例。
本发明实施例还提供一种计算机可读存储介质,所述存储介质中的指令由设备的处理器执行时,使得设备能够执行如上述方法实施例所述的数据传输方法。
需要说明的是,对于装置、电子设备、存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种数据传输方法,其特征在于,包括:
在数据传输的过程中获取网络传输的时延和丢包率;
当根据所述时延确定所述网络处于非拥塞状态时,根据所述丢包率获取冗余率;
判断所述冗余率是否大于当前冗余率;
若是,以所述冗余率对数据进行编码并发送至接收终端,以及将当前时间记录为冗余率提高时间;
若否,计算当前时间与上一冗余率提高时间的时间差;
在所述时间差大于预设的时间阈值时,以所述冗余率对数据进行编码并发送至接收终端。
2.根据权利要求1所述的数据传输方法,其特征在于,所述在数据传输的过程中获取网络传输的时延和丢包率,包括:
在数据传输的过程中,当接收到接收终端发送的反馈包时,计算网络传输的时延和丢包率。
3.根据权利要求1所述的数据传输方法,其特征在于,在根据所述丢包率获取冗余率之前,还包括:
判断所述时延是否大于预设阈值;
若是,确定所述网络处于拥塞状态,停止发送冗余包;
若否,确定所述网络处于非拥塞状态,执行根据所述丢包率获取冗余率的步骤。
4.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述丢包率获取冗余率,包括:
在预设的冗余表中查找与所述丢包率匹配的冗余率。
5.根据权利要求1-4任一项所述的数据传输方法,其特征在于,在所述时间差大于预设的时间阈值时,以所述冗余率对数据进行编码并发送至接收终端之前,还包括:
根据所述丢包率确定时间阈值。
6.根据权利要求5所述的数据传输方法,其特征在于,在根据所述丢包率确定时间阈值之后,还包括:
判断所述时间差是否大于所述时间阈值;
若是,执行以所述冗余率对数据进行编码并发送至接收终端的步骤;
若否,以当前冗余率对数据进行编码并发送至所述接收终端。
7.根据权利要求5所述的数据传输方法,其特征在于,所述根据所述丢包率设置时间阈值,包括:
选取多个丢包率以及所述丢包率的时间得到多个丢包率离散点;
对所述丢包率离散点作快速傅里叶变换得到丢包率频谱图;
从所述频谱图中选择峰值最小的丢包率的波动频率;
将所述波动频率对应的周期的周期长设置为时间阈值。
8.根据权利要求7所述的数据传输方法,其特征在于,所述选取多个丢包率以及所述丢包率的时间得到多个丢包率离散点,包括:
选取滑动时间窗口内的多个丢包率以及所述丢包率的时间得到多个丢包率离散点。
9.根据权利要求1-4任一项所述的数据传输方法,其特征在于,以所述冗余率编码数据发送至所述接收终端,包括:
获取待编码数据的数据包总数量;
计算所述数据包总数量和所述冗余率的乘积得到冗余包数量;
对所述待编码数据进行编码得到编码后的数据包,以及编码冗余包,其中,所述数据包的数量等于所述数据包总数量,所述冗余包的数量等于所述冗余包数量;
将所述数据包和所述冗余包发送到所述接收终端。
10.一种数据传输装置,其特征在于,包括:
时延和丢包率获取模块,用于在数据传输的过程中获取网络传输的时延和丢包率;
冗余率获取模块,用于当根据所述时延确定所述网络处于非拥塞状态时,根据所述丢包率获取冗余率;
冗余率判断模块,用于判断所述冗余率是否大于当前冗余率;
冗余率提高模块,用于以所述冗余率对数据进行编码并发送至接收终端,以及将当前时间记录为冗余率提高时间;
时间差计算模块,用于计算当前时间与上一冗余率提高时间的时间差;
冗余率降低模块,用于在所述时间差大于预设的时间阈值时,以所述冗余率对数据进行编码并发送至接收终端。
11.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一项所述的数据传输方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110023898.4A CN112821992B (zh) | 2021-01-08 | 2021-01-08 | 数据传输方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110023898.4A CN112821992B (zh) | 2021-01-08 | 2021-01-08 | 数据传输方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112821992A CN112821992A (zh) | 2021-05-18 |
CN112821992B true CN112821992B (zh) | 2024-02-06 |
Family
ID=75868674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110023898.4A Active CN112821992B (zh) | 2021-01-08 | 2021-01-08 | 数据传输方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112821992B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515584B (zh) * | 2021-07-13 | 2023-11-24 | 禾多阡陌科技(北京)有限公司 | 局部地图数据分发方法、装置、电子设备和介质 |
CN114448569A (zh) * | 2022-01-27 | 2022-05-06 | 阿里巴巴(中国)有限公司 | 数据传输方法、设备及计算机存储介质 |
CN114531210B (zh) * | 2022-02-03 | 2024-01-26 | 百果园技术(新加坡)有限公司 | 数据重传方法、装置、电子设备及存储介质 |
CN114615164B (zh) * | 2022-03-09 | 2023-12-29 | 网易(杭州)网络有限公司 | 丢包率探测方法及装置、存储介质、电子设备 |
CN114726758B (zh) * | 2022-06-01 | 2022-11-04 | 山东云天安全技术有限公司 | 工业网络异常确定方法、装置、计算机设备及存储介质 |
CN116405741B (zh) * | 2023-04-21 | 2024-01-16 | 深圳大学 | 基于多条传输路径的视频传输的调度方法、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072083A (zh) * | 2007-06-04 | 2007-11-14 | 深圳市融合视讯科技有限公司 | 一种优化网络数据传输冗余纠错率的方法 |
JP2010119133A (ja) * | 2010-01-28 | 2010-05-27 | Sony Corp | パケット送信装置、通信システム及びプログラム |
CN102457714A (zh) * | 2010-11-01 | 2012-05-16 | 中国移动通信集团上海有限公司 | 对摄像机采集的音视频数据进行传输的方法、系统及设备 |
CN106357693A (zh) * | 2016-11-09 | 2017-01-25 | 深圳市云之讯网络技术有限公司 | 实时媒体流丢包补偿方法 |
CN109150398A (zh) * | 2018-08-06 | 2019-01-04 | 华南理工大学 | 基于udp自适应冗余编码的无线p2p传输方法及模型 |
CN109412753A (zh) * | 2018-10-25 | 2019-03-01 | 网易(杭州)网络有限公司 | 数据传输方法及装置、电子设备以及存储介质 |
CN109525458A (zh) * | 2018-11-20 | 2019-03-26 | 网易(杭州)网络有限公司 | 数据传输方法、装置、介质及电子设备 |
CN110855400A (zh) * | 2019-11-29 | 2020-02-28 | 江苏方天电力技术有限公司 | 基于纠错码的自适应丢包恢复方法、计算设备及存储介质 |
CN112187817A (zh) * | 2020-10-09 | 2021-01-05 | 厦门亿联网络技术股份有限公司 | 流媒体数据传输方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729320A (zh) * | 2009-12-14 | 2010-06-09 | 华为技术有限公司 | 传输控制方法和接入设备及传输系统 |
-
2021
- 2021-01-08 CN CN202110023898.4A patent/CN112821992B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072083A (zh) * | 2007-06-04 | 2007-11-14 | 深圳市融合视讯科技有限公司 | 一种优化网络数据传输冗余纠错率的方法 |
JP2010119133A (ja) * | 2010-01-28 | 2010-05-27 | Sony Corp | パケット送信装置、通信システム及びプログラム |
CN102457714A (zh) * | 2010-11-01 | 2012-05-16 | 中国移动通信集团上海有限公司 | 对摄像机采集的音视频数据进行传输的方法、系统及设备 |
CN106357693A (zh) * | 2016-11-09 | 2017-01-25 | 深圳市云之讯网络技术有限公司 | 实时媒体流丢包补偿方法 |
CN109150398A (zh) * | 2018-08-06 | 2019-01-04 | 华南理工大学 | 基于udp自适应冗余编码的无线p2p传输方法及模型 |
CN109412753A (zh) * | 2018-10-25 | 2019-03-01 | 网易(杭州)网络有限公司 | 数据传输方法及装置、电子设备以及存储介质 |
CN109525458A (zh) * | 2018-11-20 | 2019-03-26 | 网易(杭州)网络有限公司 | 数据传输方法、装置、介质及电子设备 |
CN110855400A (zh) * | 2019-11-29 | 2020-02-28 | 江苏方天电力技术有限公司 | 基于纠错码的自适应丢包恢复方法、计算设备及存储介质 |
CN112187817A (zh) * | 2020-10-09 | 2021-01-05 | 厦门亿联网络技术股份有限公司 | 流媒体数据传输方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
Dynamic redundancy allocation for video streaming using Sub-GOP based FEC code;Li Yu;《2014 IEEE Visual Communications and Image Processing Conference》;全文 * |
基于应用层FEC的无线局域网流媒体系统研究;冯松佳;《中国优秀硕士学位论文全文数据库》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112821992A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112821992B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
CN102468941B (zh) | 网络丢包处理方法及装置 | |
US10542064B2 (en) | Method, server side and system for computing bandwidth of network transmission of streaming media | |
WO2017148260A1 (zh) | 语音编码发送方法和装置 | |
CN101621351B (zh) | 一种调节多媒体编码速率的方法、装置及系统 | |
US8341684B2 (en) | Method and device for transmitting data | |
US10652138B2 (en) | Link decision-making method and decision-making device | |
WO2017000719A1 (zh) | 一种基于队列时延的拥塞控制方法及装置 | |
EP2382726B1 (en) | Method of transmitting data in a communication system | |
JP4000895B2 (ja) | リアルタイム通信のためのビットレート制御方法および装置 | |
EP1337061A1 (en) | Method of dynamically transmitting data packets using RTP and RTCP protocols | |
JP4320024B2 (ja) | 誤り訂正パケットを用いた伝送率制御方法およびそれを用いた通信装置 | |
US20110299399A1 (en) | Method and apparatus for congestion control | |
US10492085B2 (en) | Real-time transport protocol congestion control techniques in video telephony | |
CN115037416A (zh) | 数据前向纠错处理方法、装置、电子设备和存储介质 | |
US20060031564A1 (en) | Methods and systems for streaming data at increasing transmission rates | |
CN113300817A (zh) | 数据传输方法以及装置 | |
CN109379165B (zh) | 一种适用视频通信的丢包处理方法 | |
CN112822116B (zh) | 一种tcp拥塞控制方法及装置 | |
JP3974027B2 (ja) | 基地局制御装置、データ伝送方法及びプログラム | |
CN117676695A (zh) | Tcp传输方法、装置和系统 | |
JP5533177B2 (ja) | パケットロス率推定装置、パケットロス率推定方法、パケットロス率推定プログラム、及び、通信システム | |
CN110290552B (zh) | 缓存深度的测量方法和装置、存储介质、电子装置 | |
CN113543208B (zh) | 无线传输控制方法及无线通信系统、计算机存储介质 | |
WO2021164405A1 (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 |