一种数据传输方法、相关设备及存储介质技术

技术编号:37549497 阅读:15 留言:0更新日期:2023-05-15 07:35
本申请提供了一种数据传输方法、相关设备及存储介质,该方法通过在本申请中,接收发送端基于重传机制发送的数据帧,对接收到的所述数据帧进行排序,得到排序结果,基于排序结果可以确定是否存在数据帧丢失,在确定存在丢失的至少一个数据帧的情况下,判断丢失的至少一个数据帧中是否包含关键帧,若包含,则生成重传状态报告,重传状态报告至少包含丢失的至少一个数据帧的标识,将重传状态报告发送给发送端,以使发送端基于重传状态报告,重新发送关键帧,至少可以解决在UM传输模式下,不能保证关键帧数据可靠传输的技术问题,达到提高关键帧传输的成功率的目的。帧传输的成功率的目的。帧传输的成功率的目的。

【技术实现步骤摘要】
一种数据传输方法、相关设备及存储介质


[0001]本申请涉及通信
,特别涉及一种数据传输方法、相关设备及存储介质。

技术介绍

[0002]数据传输模式包含有UM(Unacknowledged Mode,非确认模式)和AM(Acknowledged Mode,确认模式)两种模式。AM模式可以保证数据的可靠传输,UM模式不保证数据的可靠传输,但是可以提高数据传输的实时性。
[0003]对于视频等实时性要求高的业务,通常选择UM模式进行业务数据传输,但是UM模式不能保证实时性要求高的业务的关键帧数据可靠的传输,而,关键帧数据缺失可能会对后续解码产生灾难性的结果,比如H264视频传输中关键I帧的丢失,就会导致随后的一整个序列无法有效解码,带来视觉体验的下降。
[0004]由上可见,在UM传输模式下,如何增加关键帧的传输成功率成为问题。

技术实现思路

[0005]为解决上述技术问题,本申请实施例提供一种数据传输方法、相关设备及存储介质,以达到增加关键帧的传输成功率的目的,技术方案如下:
[0006]一种数据传输方法,应用于接收端,包括:
[0007]接收发送端基于重传机制发送的数据帧;
[0008]对接收到的所述数据帧进行排序,得到排序结果,在基于所述排序结果确定存在丢失的至少一个数据帧的情况下,判断所述丢失的至少一个数据帧中是否包含关键帧;
[0009]若包含,则生成重传状态报告,所述重传状态报告至少包含丢失的至少一个所述数据帧的标识;
[0010]将所述重传状态报告发送给所述发送端,以使所述发送端基于所述重传状态报告,重新发送关键帧;
[0011]接收所述发送端重新发送的所述关键帧。
[0012]可选的,所述发送端基于重传机制发送的数据帧的保留位携带有帧格式信息,所述帧格式信息至少表征所述数据帧的类型;
[0013]所述判断所述丢失的至少一个数据帧中是否包含关键帧,包括:
[0014]分别获取接收到的所述数据帧中,与所述丢失的每个数据帧相邻的前一个数据帧中保留位携带的第一帧格式信息;
[0015]分别获取接收到的所述数据帧中,与所述丢失的每个数据帧相邻的下一个数据帧中保留位携带的第二帧格式信息;
[0016]至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧。
[0017]可选的,所述至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧,包括:
[0018]若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为非关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为非关键帧,则判断所述第一帧格式信息与所述第二帧格式信息是否一致;
[0019]若不一致,则基于所述发送端的输出模板,确定所述丢失的数据帧为关键帧,所述输出模板为每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧;
[0020]若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为非关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为关键帧,且,所述关键帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
[0021]若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为关键帧,且所述关键帧为其所属编码序列中多个关键帧中的第一个关键帧或中间关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
[0022]若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为其所属编码序列中唯一的关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
[0023]若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为其所属编码序列中多个关键帧中的最后一个关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧。
[0024]可选的,所述至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧,包括:
[0025]在预设丢失数据帧映射表中查找与所述第一帧格式信息及所述第二帧格式信息匹配的信息;
[0026]若查找到,判断与所述第一帧格式信息及所述第二帧格式信息匹配的信息是否表征所述丢失的至少一个数据帧中包含关键帧。
[0027]可选的,所述判断所述丢失的至少一个数据帧中是否包含关键帧之前,还包括:
[0028]启动重排序定时器开始计时;
[0029]所述生成重传状态报告,包括:
[0030]启动重传状态报告定时器,在所述重传状态报告定时器计时的第二计时时长达到所述重传状态报告定时器的第二设定时间阈值的情况下,生成重传状态报告;
[0031]其中,所述重传状态报告定时器计时的第二时长达到所述第二设定时间阈值的情况下,所述重排序定时器计时的第一时长未达到所述重排序定时器的第一设定时间阈值,所述第二设定时间阈值小于所述重排序定时器的第一设定时间阈值。
[0032]可选的,所述将所述重传状态报告发送给所述发送端之后,还包括:
[0033]在所述重排序定时器计时的第一计时时长达到所述第一设定时间阈值的情况下,若接收到所述发送端重新发送的所述关键帧,则传输接收到的所述数据帧及所述发送端重新发送的关键帧给应用层;若未接收到所述发送端重新发送的所述关键帧,则传输接收到的所述数据帧给应用层。
[0034]一种数据传输方法,应用于发送端,包括:
[0035]在每获取到编码器输出的一个数据帧的情况下,则确定所述数据帧的类型及所述数据帧之前的历史数据帧的信息,所述历史数据帧的信息至少包含所述历史数据帧的类型和/或所述历史数据帧的帧格式信息,所述编码器按照输出模板输出数据帧:每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧;
[0036]基于所述数据帧的类型、所述数据帧之前的历史数据帧的信息及所述输出模板,确定所述数据帧的帧格式信息,并将所述数据帧的帧格式信息写入所述数据帧的保留位中;
[0037]基于重传机制发送所述保留位携带有所述帧格式信息的数据帧;
[0038]若接收到接收端的重传状态报告,则基于所述重传状态报告,重新发送关键帧,以使所述接收端接收所述发送端重新发送的所述关键帧。
[0039]可选的,所述基于所述数据帧的类型、所述数据帧之前的历史数据帧的信息及所述输出模板,确定所述数据帧的帧格式信息,包括:
[0040]若所述数据帧的类型为关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为非关键帧,则基于所述输出模板,确定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于接收端,包括:接收发送端基于重传机制发送的数据帧;对接收到的所述数据帧进行排序,得到排序结果,在基于所述排序结果确定存在丢失的至少一个数据帧的情况下,判断所述丢失的至少一个数据帧中是否包含关键帧;若包含,则生成重传状态报告,所述重传状态报告至少包含丢失的至少一个所述数据帧的标识;将所述重传状态报告发送给所述发送端,以使所述发送端基于所述重传状态报告,重新发送关键帧;接收所述发送端重新发送的所述关键帧。2.根据权利要求1所述的方法,其特征在于,所述发送端基于重传机制发送的数据帧的保留位携带有帧格式信息,所述帧格式信息至少表征所述数据帧的类型;所述判断所述丢失的至少一个数据帧中是否包含关键帧,包括:分别获取接收到的所述数据帧中,与所述丢失的每个数据帧相邻的前一个数据帧中保留位携带的第一帧格式信息;分别获取接收到的所述数据帧中,与所述丢失的每个数据帧相邻的下一个数据帧中保留位携带的第二帧格式信息;至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧。3.根据权利要求2所述的方法,其特征在于,所述至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧,包括:若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为非关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为非关键帧,则判断所述第一帧格式信息与所述第二帧格式信息是否一致;若不一致,则基于所述发送端的输出模板,确定所述丢失的数据帧为关键帧,所述输出模板为每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧;若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为非关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为关键帧,且,所述关键帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为关键帧,且所述关键帧为其所属编码序列中多个关键帧中的第一个关键帧或中间关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为其所属编码序列中唯一的关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为其所属编码序列中多个关键帧中的最后一个关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输
出模板,确定所述丢失的数据帧为关键帧。4.根据权利要求2所述的方法,其特征在于,所述至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧,包括:在预设丢失数据帧映射表中查找与所述第一帧格式信息及所述第二帧格式信息匹配的信息;若查找到,判断与所述第一帧格式信息及所述第二帧格式信息匹配的信息是否表征所述丢失的至少一个数据帧中包含关键帧。5.根据权利要求1所述的方法,其特征在于,所述判断所述丢失的至少一个数据帧中是否包含关键帧之前,还包括:启动重排序定时器开始计时;所述生成重传状态报告,包括:启动重传状态报告定时器,在所述重传状态报告定时器计时的第二计时时长达到所述重传状态报告定时器的第二设定时间阈值的情况下,生成重传状态报告;其中,所述重传状态报告定时器计时的第二时长达到所述第二设定时间阈值的情况下,所述重排序定时器计时的第一时长未达到所述重排序定时器的第一设定时间阈值,所述第二设定时间阈值小于所述重排序定时器的第一设定时间阈值。6.根据权利要求5所述的方法,其特征在于,所述将所述重传状态报告发送给所述发送端之后,还包括:在所述重排序定时器计时的第一计时时长达到所述第一设定时间阈值的情况下,若接收到所述发送端重新发送的所述关键帧,则传输接收到的所述数据帧及所述发...

【专利技术属性】
技术研发人员:王志东刘宏波王德章
申请(专利权)人:哈尔滨海能达科技有限公司
类型:发明
国别省市:

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

1