数据传输方法、装置、设备、存储介质及程序产品与流程

文档序号:36889343发布日期:2024-02-02 21:22阅读:14来源:国知局
数据传输方法、装置、设备、存储介质及程序产品与流程

本技术涉及通信,尤其涉及一种数据传输方法、装置、设备、存储介质及程序产品。


背景技术:

1、在数据传输场景中,网络丢包是一个常见问题,而网络丢包会导致数据传输的质量下降,从而影响用户体验。相关技术中,通常采用固定冗余率的前向纠错(forward errorcorrection,fec)技术来解决这个问题,即通过添加固定长度的冗余数据来纠正数据传输中出现的错误。但是,如此1)在网络较好的情况下,可能因冗余数据过多导致带宽资源的浪费;2)在网络较差的情况下,可能因冗余数据过少导致数据传输的可靠性降低。


技术实现思路

1、本技术实施例提供一种数据传输方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够提高数据传输的效率和可靠性。

2、本技术实施例的技术方案是这样实现的:

3、本技术实施例提供一种数据传输方法,包括:

4、数据发送端获取当前时刻待传输的源数据,并获取数据接收端在第一时间段前的多个第二时间段分别针对数据传输反馈的丢包数量,所述当前时刻处于所述第一时间段;

5、基于各所述第二时间段的丢包数量,预测第三时间段待反馈的丢包数量,得到预测丢包数量,所述第三时间段为所述第一时间段的下一时间段;

6、基于所述预测丢包数量,确定所述当前时刻的前向纠错冗余率;

7、基于所述前向纠错冗余率对所述源数据进行编码,得到包括冗余数据的目标数据,并向所述数据接收端发送所述目标数据,所述冗余数据用于在接收的源数据存在丢包情况时,基于所述冗余数据恢复所述源数据。

8、本技术实施例还提供一种数据传输装置,应用于数据发送端,包括:

9、获取模块,用于获取当前时刻待传输的源数据,并获取数据接收端在第一时间段前的多个第二时间段分别针对数据传输反馈的丢包数量,所述当前时刻处于所述第一时间段;

10、预测模块,用于基于各所述第二时间段的丢包数量,预测第三时间段待反馈的丢包数量,得到预测丢包数量,所述第三时间段为所述第一时间段的下一时间段;

11、确定模块,用于基于所述预测丢包数量,确定所述当前时刻的前向纠错冗余率;

12、发送模块,用于基于所述前向纠错冗余率对所述源数据进行编码,得到包括冗余数据的目标数据,并向所述数据接收端发送所述目标数据,所述冗余数据用于在接收的源数据存在丢包情况时,基于所述冗余数据恢复所述源数据。

13、在上述方案中,所述预测的过程通过机器学习模型实现,所述机器学习模型包括级联的m个长短期记忆网络,每个长短期记忆网络对应一个所述第二时间段;所述预测模块,还用于分别将各所述第二时间段的丢包数量,输入各所述第二时间段对应的长短期记忆网络中;通过所述m个长短期记忆网络中的第1个长短期记忆网络,对输入的丢包数量进行处理,得到第1个长短期记忆网络输出;通过所述m个长短期记忆网络中的第i个长短期记忆网络,对输入的丢包数量以及第(i-1)个长短期记忆网络输出进行处理,得到第i个长短期记忆网络输出,所述i为区间(1,m]内的整数;遍历所述i,得到第m个长短期记忆网络输出,并将所述第m个长短期记忆网络输出作为所述预测丢包数量。

14、在上述方案中,所述预测模块,还用于接收到所述数据接收端在所述第三时间段反馈的真实丢包数量;当所述真实丢包数量和所述预测丢包数量之间的差值大于差值阈值时,将指示预测错误次数的预测错误值加1;当所述预测错误值达到预测错误阈值时,对所述机器学习模型进行更新。

15、在上述方案中,所述确定模块,还用于获取所述源数据的数据包数量,并基于所述数据包数量以及所述预测丢包数量,确定所述当前时刻的预测丢包率;获取预测丢包率和前向纠错冗余率的对应关系;基于所述对应关系,确定所述当前时刻的预测丢包率对应的目标前向纠错冗余率,并将所述目标前向纠错冗余率,作为所述当前时刻的前向纠错冗余率。

16、在上述方案中,所述确定模块,还用于确定所述源数据的数据业务场景;获取所述源数据的数据包数量,并基于所述数据包数量以及所述预测丢包数量,确定所述当前时刻的预测丢包率;基于所述数据业务场景和所述预测丢包率,确定所述当前时刻的前向纠错冗余率。

17、在上述方案中,所述发送模块,还用于获取所述源数据的源数据量,并将所述源数据量和所述前向纠错冗余率相乘,得到所述冗余数据的冗余数据量;基于所述冗余数据量,对所述源数据进行前向纠错编码,得到冗余数据;为所述源数据添加所述冗余数据,得到所述目标数据。

18、在上述方案中,所述发送模块,还用于将所述源数据划分为多个数据块;针对各所述数据块,基于所述冗余数据量确定所述数据块的块冗余数据量,并为所述数据块添加所述块冗余数据量的块冗余数据,得到目标数据块;对各所述目标数据块进行组合,得到所述冗余数据。

19、在上述方案中,所述发送模块,还用于获取用于前向纠错的冗余率上限和冗余率下限;将所述前向纠错冗余率分别与所述冗余率上限和冗余率下限比较;当所述前向纠错冗余率小于所述冗余率上限且大于所述冗余率下限时,基于所述前向纠错冗余率对所述源数据进行编码,得到包括冗余数据的目标数据;所述发送模块,还用于当所述前向纠错冗余率大于或等于所述冗余率上限时,基于所述冗余率上限对所述源数据进行编码,得到包括冗余数据的目标数据;当所述前向纠错冗余率小于或等于所述冗余率下限时,基于所述冗余率下限对所述源数据进行编码,得到包括冗余数据的目标数据。

20、在上述方案中,所述确定模块,还用于生成冗余率列表,所述冗余率列表记录有第一时间周期内各时刻的前向纠错冗余率;在所述第一时间周期之后的各第二时间周期内,采用所述冗余率列表中各时刻的前向纠错冗余率进行数据传输。

21、在上述方案中,所述确定模块,还用于确定目标第二周期内的数据传输评估指标值;当所述数据传输评估指标值低于评估指标标准值时,更新所述冗余率列表,得到目标冗余率列表。

22、本技术实施例还提供一种电子设备,包括:

23、存储器,用于存储计算机可执行指令;

24、处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本技术实施例提供的数据传输方法。

25、本技术实施例还提供一种计算机可读存储介质,存储有计算机可执行指令或计算机程序,所述计算机可执行指令或计算机程序被处理器执行时,实现本技术实施例提供的数据传输方法。

26、本技术实施例还提供一种计算机程序产品,包括计算机可执行指令或计算机程序,所述计算机可执行指令或计算机程序被处理器执行时,实现本技术实施例提供的数据传输方法。

27、本技术实施例具有以下有益效果:

28、应用本技术上述实施例,数据发送端针对当前时刻待传输的源数据,首先获取数据接收端在第一时间段(当前时刻所处时间段)前的多个第二时间段分别针对数据传输反馈的丢包数量;可以理解的是,由于数据发送端和数据接收端之间数据传输存在往返时延的原因,当前时刻对应的丢包数量在当前时刻所在时间段之后的时间段才能反馈,因此则基于各第二时间段的丢包数量,预测第三时间段(第一时间段的下一时间段)待反馈的丢包数量,得到预测丢包数量;从而基于预测丢包数量,确定当前时刻的前向纠错冗余率,以基于当前时刻的前向纠错冗余率对源数据编码并进行数据传输。

29、这里,数据接收端会在当前时刻所在时间段之前的每个时间段均进行丢包数量的反馈,因此,每当数据发送端进行数据传输时,则可以基于当前时刻所在时间段之前的时间段反馈的丢包数量,对当前时刻所在时间段之后的时间段待反馈的丢包数量进行预测,从而基于预测丢包数量确定当前时刻的前向纠错冗余率,以用于当前时刻的数据传输。如此,当前时刻的数据传输可以采用当前时刻的前向纠错冗余率来控制,该前向纠错冗余率是根据当前时刻之前反馈的丢包数量确定的,而非固定冗余率,使得前向纠错冗余率能够更好地适应当前的网络环境,减少带宽资源的浪费,提高数据传输的效率和可靠性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1