丢包处理方法、装置及可读存储介质制造方法及图纸

技术编号:25529260 阅读:45 留言:0更新日期:2020-09-04 17:17
本发明专利技术实施例提供了一种丢包处理方法、装置及可读存储介质,其中的方法包括:接收发送设备发送的封装数据包,根据每个数据包组中包括的数据包的预设个数、预设的FEC纠错门限、以及接收到的属于目标数据包组的目标数据包的个数,判断是否需要重传目标数据包组中丢失的封装数据包,若确定需要重传丢失的封装数据包,则确定第一重传数据包,并从发送设备获得第一重传数据包,第一重传数据包的重传个数小于目标数据包组的丢包个数且大于等于丢包个数与FEC纠错门限的差值,根据目标数据包和第一重传数据包进行FEC解码,以得到目标数据包组中的所有封装数据包,并根据所有封装数据包,播放音视频。从而提高了播放音视频的流畅性。

【技术实现步骤摘要】
丢包处理方法、装置及可读存储介质
本专利技术涉及通信
,特别是涉及丢包处理方法、装置及可读存储介质。
技术介绍
无线保真(WiFi,WirelessFidelity)或移动网络中影响网络链路带宽的因素较多,在网络链路带宽不足时可能会引起数据包丢失,从而影响音视频业务正常进行。为了保证音视频业务正常进行,通常采用重传包策略,即接收端对接收到的数据包(数据包包括音频数据包和视频数据包)的包序进行检测,当检测到丢失数据包时及时请求发送端重发丢失的数据包,然而,在链路带宽不足时,可能会导致相同时间段内丢失的数据包的个数越来越多,从而使接收端等待发送端重新发送丢失的数据包的时间越来越长,导致音视频花屏、卡顿等问题。
技术实现思路
本专利技术实施例的目的在于提供一种丢包处理方法、装置及可读存储介质,以实现在链路带宽不足的情况下,通过较少的重传数据包提高音视频的流畅性。具体技术方案如下:在本专利技术实施的第一方面,首先提供了一种丢包处理方法,包括:接收发送设备发送的封装数据包,其中,所述封装数据包为对原始数据包或冗余数据包进行封装后生成的,所述冗余数据包为所述发送设备对所述原始数据包进行前向纠错FEC编码生成的;根据每个数据包组中包括的数据包的预设个数、预设的FEC纠错门限、以及接收到的属于目标数据包组的目标数据包的个数,判断是否需要重传所述目标数据包组中丢失的封装数据包;若确定需要重传丢失的封装数据包,则确定第一重传数据包,并从所述发送设备获得所述第一重传数据包,其中,所述第一重传数据包的重传个数小于所述目标数据包组的丢包个数且大于等于所述丢包个数与所述FEC纠错门限的差值;根据所述目标数据包和所述第一重传数据包进行FEC解码,以得到所述目标数据包组中的所有封装数据包,并根据所述所有封装数据包,播放音视频。在本专利技术实施的第二方面,还提供了一种丢包处理装置,包括:接收模块,用于接收发送设备发送的封装数据包,其中,所述封装数据包为对原始数据包或冗余数据包进行封装后生成的,所述冗余数据包为所述发送设备对所述原始数据包进行前向纠错FEC编码生成的;第一判断模块,用于根据每个数据包组中包括的数据包的预设个数、预设的FEC纠错门限、以及接收到的属于目标数据包组的目标数据包的个数,判断是否需要重传所述目标数据包组中丢失的封装数据包;第一确定模块,用于若确定需要重传丢失的封装数据包,则确定第一重传数据包,并从所述发送设备获得所述第一重传数据包,其中,所述第一重传数据包的重传个数小于所述目标数据包组的丢包个数且大于等于所述丢包个数与所述FEC纠错门限的差值;解码模块,用于根据所述目标数据包和所述第一重传数据包进行FEC解码,以得到所述目标数据包组中的所有封装数据包,并根据所述所有封装数据包,播放音视频。本专利技术实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述所述的丢包处理方法的步骤。本专利技术的第四方面,提供了一种丢包处理装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述所述的丢包处理方法的步骤。针对在先技术,本专利技术具备如下优点:本专利技术实施例提供的丢包处理方法,通过接收发送设备发送的封装数据包,根据每个数据包组中包括的数据包的预设个数、预设的FEC纠错门限、以及接收到的属于目标数据包组的目标数据包的个数,判断是否需要重传目标数据包组中丢失的封装数据包,若确定需要重传丢失的封装数据包,则确定第一重传数据包,并从发送设备获得第一重传数据包,第一重传数据包的重传个数小于目标数据包组的丢包个数且大于等于丢包个数与FEC纠错门限的差值,根据目标数据包和第一重传数据包进行FEC解码,以得到目标数据包组中的所有封装数据包,并根据所有封装数据包,播放音视频。从而在链路带宽不足的情况下,通过将前向纠错技术和重传包策略相结合的方案,实现重传较少的封装数据包,因此节省了接收设备等待重传数据包的时间。并根据重传的封装数据包和已接收到的封装数据包,采用前向纠错解码方法恢复所有丢失的封装数据包,从而得到数据包组中的所有的封装数据包,也即并非一个数据包组中的所有丢失的数据包都通过重传数据包的方式实现,而是所有丢失的数据包中一部分数据包是采用重传数据包的方式获得,另一部分数据包通过前向纠错解码的方式获得,因此,相对于现有技术中单一采用重传包策略节省了重传时间和带宽占用,从而能够加快获得数据包组中的所有封装数据包,进而提高了播放音视频的流畅性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1为本专利技术实施例中提供的一种丢包处理方法的步骤流程图。图2为本专利技术实施例中提供的另一种丢包处理方法的步骤流程图;图3为本专利技术实施例中提供的一种丢包处理装置的结构示意图;图4是本专利技术的一种视联网的组网示意图;图5是本专利技术的一种节点服务器的硬件结构示意图;图6是本专利技术的一种接入交换机的硬件结构示意图;图7是本专利技术的一种以太网协转网关的硬件结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行描述。参照图1,图1为本专利技术实施例中提供的一种丢包处理方法的步骤流程图。该方法可以应用于接收设备,接收设备包括终端设备和服务器,该方法包括如下步骤:步骤101、接收发送设备发送的封装数据包。其中,封装数据包包括封装数据包所属数据包组的组号和封装数据包在组号对应的数据包组中的包序列号,封装数据包为对原始数据包或发送设备对原始数据包进行前向纠错FEC编码生成的冗余数据包进行封装后生成的数据包。发送设备可以为终端设备或服务器,其中,前向纠错(FEC,ForwardErrorCorrection)编码是一种通过增加冗余数据对丢失的数据包进行恢复的编码算法。具体地说就是由发送设备对原始数据包进行FEC编码,生成冗余数据包(原始数据包和冗余数据包的数量比例是固定的,例如原始数据包为12个,冗余数据包为4个),生成冗余包后将原始数据包和冗余数据包封装成例如实时传输协议(RTP,Real-timeTransportProtocol)数据包,并把封装成的RTP数据包发送给接收设备(例如RTP数据包即为封装数据包),其中,封装数据包包括封装数据包所属数据包组的组号和封装数据包在组号对应的数据包组中的包序列号,包序列号用于表示该RTP数据在一个数据包组中的位置。例如,发送设备对第一个原始数据包(第n个原始数据包以原始数据包n表示,n为正整数)进行封装,封装数据包1为对原始数据包1进行封装后得到的数据包,封装数据包2为对原始数据包2进行封装后得到的数据包,依次类推,封装数据包12为对原始数据包12封装得到的数据包,封装数据包13为对冗余数据包1进行封装本文档来自技高网...

【技术保护点】
1.一种丢包处理方法,其特征在于,包括:/n接收发送设备发送的封装数据包,其中,所述封装数据包为对原始数据包或冗余数据包进行封装后生成的,所述冗余数据包为所述发送设备对所述原始数据包进行前向纠错FEC编码生成的;/n根据每个数据包组中包括的数据包的预设个数、预设的FEC纠错门限、以及接收到的属于目标数据包组的目标数据包的个数,判断是否需要重传所述目标数据包组中丢失的封装数据包;/n若确定需要重传丢失的封装数据包,则确定第一重传数据包,并从所述发送设备获得所述第一重传数据包,其中,所述第一重传数据包的重传个数小于所述目标数据包组的丢包个数且大于等于所述丢包个数与所述FEC纠错门限的差值;/n根据所述目标数据包和所述第一重传数据包进行FEC解码,以得到所述目标数据包组中的所有封装数据包,并根据所述所有封装数据包,播放音视频。/n

【技术特征摘要】
1.一种丢包处理方法,其特征在于,包括:
接收发送设备发送的封装数据包,其中,所述封装数据包为对原始数据包或冗余数据包进行封装后生成的,所述冗余数据包为所述发送设备对所述原始数据包进行前向纠错FEC编码生成的;
根据每个数据包组中包括的数据包的预设个数、预设的FEC纠错门限、以及接收到的属于目标数据包组的目标数据包的个数,判断是否需要重传所述目标数据包组中丢失的封装数据包;
若确定需要重传丢失的封装数据包,则确定第一重传数据包,并从所述发送设备获得所述第一重传数据包,其中,所述第一重传数据包的重传个数小于所述目标数据包组的丢包个数且大于等于所述丢包个数与所述FEC纠错门限的差值;
根据所述目标数据包和所述第一重传数据包进行FEC解码,以得到所述目标数据包组中的所有封装数据包,并根据所述所有封装数据包,播放音视频。


2.根据权利要求1所述的方法,其特征在于,还包括:
若确定不需要重传丢失的封装数据包,则根据所述目标数据包进行FEC解码,以得到所述目标数据包组中的所有封装数据包,并根据所述所有封装数据包,播放音视频。


3.根据权利要求1或2所述的方法,其特征在于,所述根据数据包组中包括的数据包的预设个数、预设的FEC纠错门限、以及接收到的属于目标数据包组的目标数据包的个数,判断是否需要重传所述目标数据包组中丢失的封装数据包,包括:
根据所述预设个数、以及所述目标数据包的个数,计算所述丢包个数;在所述丢包个数大于所述FEC纠错门限的情况下,确定需要重传丢失的封装数据包,或者,
根据所述预设个数与所述FEC纠错门限,计算所述差值;在所述目标数据包的个数小于所述差值的情况下,确定需要重传丢失的封装数据包。


4.根据权利要求1所述的方法,其特征在于,所述确定第一重传数据包,包括:
将所述丢包个数与所述FEC纠错门限的差值作为所述重传个数;
从所述目标数据包组丢失的封装数据包中确定与所述重传个数相同个数的数据包,并将确定的与所述重传个数相同个数的数据包作为所述第一重传数据包。


5.根据权利要求1或2所述的方法,其特征在于,在所述根据所述目标数据包和所述第一重传数据包进行FEC解码之后,还包括:
判断所述FEC解码后获得的数据包是否包括所述目标数据包组中的所有数据包;...

【专利技术属性】
技术研发人员:谢文龙李云鹏吕亚亚杨春晖
申请(专利权)人:视联动力信息技术股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1