一种数据传输方法、系统、电子设备及存储介质技术方案

技术编号:34751242 阅读:12 留言:0更新日期:2022-08-31 18:46
本发明专利技术公开了一种数据传输方法、系统、电子设备及存储介质,其方法包括:在发送端,获取待传输数据并依据数据类型设定数据优先级标识,以划分为不同优先级数据;将不同优先级数据缓存至对应的缓冲队列;基于数据优先级标识将缓冲队列中的不同优先级数据依次进行发送;在接收端,获取传输数据,基于传输数据的数据类型、传输数据的数据优先级标识,对缓存的传输数据解码并播放。通过上述方法,能够依据数据类型设定相应的数据优先级标识,使得在网络波动时优先传输设定的数据类型,避免出现延时或断续的情况。或断续的情况。或断续的情况。

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


[0001]本申请涉及网络传输
,特别是涉及一种数据传输方法、系统、电子设备及存储介质。

技术介绍

[0002]随着无线网络技术的日渐成熟和普及,人们对无线网络下的流媒体要求越来越高,在实时性要求较高的场合中,如视频聊天,会因为无线网络的拥塞情况而导致声音出现断续,图像卡顿等问题。
[0003]对现有技术的研究和实践过程中,本申请的专利技术人发现,随着无线网络的流行,对实时性的要求也越来越高,现有技术中对于提高无线流媒体传输质量的技术方案主要有:一、根据无线网络带宽情况进行音视频传输码流的自适应调整;二、在应用层将流媒体数据分为音频队列和视频队列,进行依次发送;但第一种方案没有解决音频有限优先传输,而第二种方案从缓冲读取数据发送时,音频数据没有优先,都会在无线网络波动的情况下,出现声音延时,甚至出现声音断续等问题。

技术实现思路

[0004]本申请主要解决的技术问题是提供一种数据传输方法、系统、电子设备及存储介质,能够通过数据类型设定数据优先级标识,并依据数据优先级标识对数据缓存至对应的缓冲队列,进而通过数据优先级标识将缓冲队列中的不同优先级数据依次进行发送,实现待传输数据在网络拥塞情况下,依据数据优先级标识进行依次传输,解决声音断续等问题。
[0005]为解决上述技术问题,本申请采用的一个技术方案是:提供一种数据传输方法,应用于发送端,所述方法包括:获取待传输数据并依据数据类型设定数据优先级标识,以划分为不同优先级数据;将所述不同优先级数据缓存至对应的缓冲队列;基于所述数据优先级标识将所述缓冲队列中的不同优先级数据依次进行发送。
[0006]在本申请的一实施例中,所述获取待传输数据并依据数据类型设定数据优先级标识,以划分为不同优先级数据,包括:获取待传输数据中的信令数据、音频数据和视频数据,设定信令数据的数据优先级标识为第一优先级,设定音频数据的数据优先级标识为第二优先级,设定视频数据的数据优先级标识为第三优先级;其中,第一优先级到第三优先级的优先级等级依次递减。
[0007]在本申请的一实施例中,所述将所述不同优先级数据缓存至对应的缓冲队列,包括:依据所述数据优先级标识将所述不同优先级数据分别缓存至对应的缓冲队列,其中,将第一优先级的信令数据缓存至信令缓冲队列,将第二优先级的音频数据缓存至音频缓冲队列,将第三优先级的视频数据缓存至视频缓冲队列。
[0008]在本申请的一实施例中,在获取待传输数据并依据数据类型设定数据优先级标识,以划分为不同优先级数据之后,所述数据传输方法还包括:获取待传输数据的数据长度;以及获取所述数据优先级标识对应缓冲队列的剩余空间;若所述剩余空间小于0,则返
回,若剩余空间大于0,则根据所述数据长度和所述剩余空间之间最小值将所述待传输数据缓存至对应的缓冲队列中。
[0009]在本申请的一实施例中,所述基于所述数据优先级标识将所述缓冲队列中的不同优先级数据依次进行发送,包括:根据所述数据优先级标识依次查询发送缓冲队列中是否有数据待发送,若有数据待发送,则获取该发送缓冲队列中的数据;若没有数据待发送,则查询下一个发送缓冲队列中是否有数据待发送,完成所有发送缓冲队列查询;对查询获取的数据增加对应于数据优先级标识的头部信息组成数据包,并基于所述头部信息依次发送。
[0010]在本申请的一实施例中,所述对查询获取的数据增加对应于数据优先级标识的头部信息,并基于所述头部信息依次发送,包括:对查询获取的数据添加头部信息,并封装为数据包;其中,所述头部信息包括数据包序号和数据优先级标识;获取拥塞窗口大小和已发送未被对端确认的数据大小并进行比较;若拥塞窗口小于或等于已发送未被对端确认的数据大小,则不能发送数据;若拥塞窗口大于已发送未被对端确认的数据大小,则依据所述数据包序号、数据优先级标识以及拥塞窗口大小依次发送各缓冲队列中的数据包。
[0011]在本申请的一实施例中,在查询发送缓冲队列前,还包括:获取发送丢包列表并判断发送丢包列表是否为空;若发送丢包列表为空,则进入发送缓冲队列查询;若发送丢包列表不为空,则获取当前发送丢包列表中优先级最高的数据包,进而封装该数据包进行发送。
[0012]为解决上述技术问题,本申请采用的另一个技术方案是:提供一种数据传输方法,应用于接收端,所述方法包括:接收传输数据并进行解析,获取所述传输数据的数据优先级标识、数据类型;依据所述传输数据的数据优先级标识和数据类型对接收的传输数据分别进行缓存;对缓存的所述传输数据解码并播放。
[0013]在本申请的一实施例中,所述接收传输数据并进行解析,获取所述传输数据的数据优先级标识、数据类型,包括:接收传输数据中的数据包,对所述数据包进行解析,获取所述数据包的数据优先级标识、数据包序号、数据类型和数据完整性;其中,对于解析出来的控制报文,读取控制报文的内容,若所述控制报文的内容为NACK,则设置发送丢包列表,否则设置拥塞控制信息;对于解析出来的数据报文,获取数据报文的优先级标识和报文序号;其中,所述报文序号对应所述数据包序号。
[0014]在本申请的一实施例中,所述依据所述传输数据的数据优先级标识和数据类型对接收的传输数据分别进行缓存,包括:基于所述传输数据的优先级标识、所述数据类型、所述数据包序号和数据完整性,判断传输数据中的数据包是否连续,若数据包连续则存入缓存,若数据包不连续则存入接收丢包列表。
[0015]在本申请的一实施例中,所述基于所述传输数据的优先级标识、所述数据类型、所述数据包序号和数据完整性,判断传输数据中的数据包是否连续,若数据包连续则存入缓存,若数据包不连续则存入接收丢包列表,包括:若报文序号连续,则将数据报文存入数据优先级标识对应缓冲队列中,并更新缓冲可读位置,若报文序号不连续,则根据报文序号判断该数据报文是否为重传包,若该数据包为重传包,则从接收丢包列表中删除该报文序号,若该数据包不是重传包,则将不连续报文序号添加到接收丢包列表,并周期性将接收丢包列表返回发送端。
[0016]在本申请的一实施例中,所述判断该数据报文是否为重传包的步骤完成之后,还
包括:判断接收丢包列表中的反馈周期是否到期,到期则置位第一通知事件标识;所述更新缓冲可读位置的步骤完成之后,还包括:判断接收速率信息的反馈周期是否到期,到期则置位第二通知事件标识;判断所述第一通知事件标识和所述第二通知事件标识是否有置位,若有置位,根据置位标识,对反馈数据进行封装,并调用UDP接口发送,若无置位,则结束。
[0017]为解决上述技术问题,本申请采用的再一个技术方案是:提供一种数据传输系统,所述数据传输系统包括第一数据传输装置和第二数据传输装置;其中,所述第一数据传输装置通过如上述应用于发送端的数据传输方法发送数据,所述第二数据传输装置通过如上述应用于接收端的数据传输方法接收数据。
[0018]为解决上述技术问题,本申请采用的又一个技术方案是:提供一种电子设备,所述电子设备包括存储器以及与所述存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于发送端,所述方法包括:获取待传输数据并依据数据类型设定数据优先级标识,以划分为不同优先级数据;将所述不同优先级数据缓存至对应的缓冲队列;基于所述数据优先级标识将所述缓冲队列中的不同优先级数据依次进行发送。2.根据权利要求1所述的方法,其特征在于,所述获取待传输数据并依据数据类型设定数据优先级标识,以划分为不同优先级数据,包括:获取待传输数据中的信令数据、音频数据和视频数据,设定信令数据的数据优先级标识为第一优先级,设定音频数据的数据优先级标识为第二优先级,设定视频数据的数据优先级标识为第三优先级;其中,第一优先级到第三优先级的优先级等级依次递减。3.根据权利要求2所述的方法,其特征在于,所述将所述不同优先级数据缓存至对应的缓冲队列,包括:依据所述数据优先级标识将所述不同优先级数据分别缓存至对应的缓冲队列,其中,将第一优先级的信令数据缓存至信令缓冲队列,将第二优先级的音频数据缓存至音频缓冲队列,将第三优先级的视频数据缓存至视频缓冲队列。4.根据权利要求1所述的方法,其特征在于,在获取待传输数据并依据数据类型设定数据优先级标识,以划分为不同优先级数据之后,所述数据传输方法还包括:获取待传输数据的数据长度;以及获取所述数据优先级标识对应缓冲队列的剩余空间;若所述剩余空间小于0,则返回,若剩余空间大于0,则根据所述数据长度和所述剩余空间之间最小值将所述待传输数据缓存至对应的缓冲队列中。5.根据权利要求1所述的方法,其特征在于,所述基于所述数据优先级标识将所述缓冲队列中的不同优先级数据依次进行发送,包括:根据所述数据优先级标识依次查询发送缓冲队列中是否有数据待发送,若有数据待发送,则获取该发送缓冲队列中的数据;若没有数据待发送,则查询下一个发送缓冲队列中是否有数据待发送,完成所有发送缓冲队列查询;对查询获取的数据增加对应于数据优先级标识的头部信息组成数据包,并基于所述头部信息依次发送。6.根据权利要求5所述的方法,其特征在于,所述对查询获取的数据增加对应于数据优先级标识的头部信息组成数据包,并基于所述头部信息依次发送,包括:对查询获取的数据添加头部信息,并封装为数据包;其中,所述头部信息包括数据包序号和数据优先级标识;获取拥塞窗口大小和已发送未被对端确认的数据大小并进行比较;若拥塞窗口小于或等于已发送未被对端确认的数据大小,则不能发送数据;若拥塞窗口大于已发送未被对端确认的数据大小,则依据所述数据包序号、数据优先级标识以及拥塞窗口大小依次发送各缓冲队列中的数据包。
7.根据权利要求5所述的方法,其特征在于,在查询发送缓冲队列前,还包括:获取发送丢包列表并判断发送丢包列表是否为空;若发送丢包列表为空,则进入发送缓冲队列查询;若发送丢包列表不为空,则获取当前发送丢包列表中优先级最高的数据包,进而封装该数据包进行发送。8.一种数据传输方法,其特征在于,应用于接收端,所述方法包括:接收传输数据并进行解析,获取所述传输数据的数据优先级标识、数据类型;依据...

【专利技术属性】
技术研发人员:黄信杰叶奇王飞邓志吉
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

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

1