一种数据传输方法以及通信设备

文档序号:118019 发布日期:2021-10-19 浏览:23次 >En<

阅读说明:本技术 一种数据传输方法以及通信设备 (Data transmission method and communication equipment ) 是由 柳亮亮 叶进洲 于 2020-04-10 设计创作,主要内容包括:本申请实施例公开了一种数据传输方法以及通信设备,用于预测连续丢包的目标时间段,并接收目标时间段内产生的数据。本申请实施例方法包括:第一通信设备通过预测连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C,并向第二通信设备发送指示消息,指示消息用于向第二通信设备指示连续丢包的目标时间段,使得第一通信设备在时刻C起接收第二通信设备发送的第一数据,第一数据为第二通信设备在目标时间段内生成的数据,并从时刻C起播放第一数据,使得在连续丢包的目标时间段内产生的第一数据不会丢失,成功传输给第一通信设备。(The embodiment of the application discloses a data transmission method and communication equipment, which are used for predicting a target time period of continuous packet loss and receiving data generated in the target time period. The method in the embodiment of the application comprises the following steps: the first communication device predicts a target time period of continuous packet loss, the starting time of the target time period is time B, the ending time of the target time period is time C, and sends an indication message to the second communication device, wherein the indication message is used for indicating the target time period of continuous packet loss to the second communication device, so that the first communication device receives first data sent by the second communication device from time C, the first data is data generated by the second communication device in the target time period, and the first data is played from time C, so that the first data generated in the target time period of continuous packet loss is not lost and is successfully transmitted to the first communication device.)

一种数据传输方法以及通信设备

技术领域

本申请涉及实时通信领域,尤其涉及一种数据传输方法以及通信设备。

背景技术

在音频或视频通信的过程中,当传输网出现问题时,会严重的影响音频或视频的通信质量,可能会导致声音断续,或者导致视频画面冻结或者马赛克。其中,以连续丢包对于体验的影响最大。以音频为例,人正常语速说话为1秒钟平均6个字,一个字对应8到10个语音包,连续丢包3个以上,就会吞一个字,如果连续丢包吞多个字就会出现断续问题。通过大量的样本分析,丢包为吞字断续的主要因素。

当前对于丢包的处理,主要手段为自动重传请求(automatic repeat-request,ARQ)和前向纠错码(forward error correction,FEC)。ARQ为由发送方进行FEC编码引入冗余包,接收方进行FEC解码并恢复丢失的数据包;FEC为通过接收方请求发送方重传出错的数据报文来恢复出错的报文,是通信中用于处理信道所带来差错的方法之一。

但是,ARQ以及FEC默认状况下都不启用,只有在发生异常时由媒体收端反映到媒体发端,发端对应的采取措施。而在连续丢包场景下,在应用做出响应前,丢包事件可能已经结束了,即其响应时间具有滞后性。另外,在连续丢包时间片,重传的请求消息和第二次重发的报文,仍然会大概率丢失。

发明内容

本申请实施例提供了一种数据传输方法以及通信设备,用于预测连续丢包的目标时间段,并接收目标时间段内产生的数据。

第一方面,本申请提出了一种数据传输方法,用于在实时通信过程中的第一通信设备和第二通信设备,方法包括:第一通信设备预测连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C;第一通信设备向第二通信设备发送指示消息,指示消息用于向第二通信设备指示连续丢包的目标时间段;第一通信设备在时刻C起接收第二通信设备发送的第一数据,第一数据为第二通信设备在目标时间段内生成的数据;第一通信设备从时刻C起播放第一数据。使得在连续丢包的目标时间段内产生的第一数据不会丢失,成功传输给第一通信设备。

在一些可能的实现方式中,第一通信设备从时刻C起以预设的快速播放速率播放第一数据,快速播放速率大于正常播放速率。以使得目标时间段内产生的第一数据可以快速播放完毕,继而播放时刻C之后产生的数据。

在一些可能的实现方式中,第一通信设备接收第二通信设备发送的第二数据,第二数据为第二通信设备在时刻C之后产生的数据;第一通信设备以快速播放速率播放第二数据。以使得尽快将缓存的数据播放完毕,以恢复实时通信。

在一些可能的实现方式中,快速播放速率为正常播放速率的1.25倍。合适的播放速率可以降低用户的不适感。

在一些可能的实现方式中,第一通信设备从时刻A至时刻C之间的时间段内以预设的慢速播放速率播放第三数据,时刻A在时刻B之前,第三数据为时刻A到时刻B之间接收的第二通信设备发送的数据,慢速播放速率低于正常播放速率。使得第一通信设备可以在目标时间段内有可播放的内容,不至于出现卡顿的情况。

在一些可能的实现方式中,第一通信设备根据慢速播放速率、正常播放速率、时刻B和时刻C计算时刻A。计算时刻A后,可以按照预设的慢速播放速率对第二数据进行播放,可以通过设置慢速播放速率为接近正常播放速率,避免了导致较差的用户体验。

在一些可能的实现方式中,时刻A=(时刻C*慢速播放速率-时刻B*正常播放速率)/(慢速播放速率-正常播放速率)。

在一些可能的实现方式中,慢速播放速率为正常播放速率的80%。

第二方面,本申请提出了一种数据传输方法,用于在实时通信过程中的第一通信设备和第二通信设备,方法包括:

第二通信设备接收第一通信设备发送的指示消息,指示消息用于指示连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C;第二通信设备缓存目标时间段内生成的第一数据;第二通信设备在时刻C起向第一通信设备发送第一数据。使得在连续丢包的目标时间段内产生的第一数据不会丢失,成功传输给第一通信设备。

在一些可能的实现方式中,第二通信设备在时刻C起以预设的快速传输速率向第一通信设备发送第一数据,快速传输速率高于正常传输速率。以使得可以对第一数据快速传输完毕,以传输在时刻C开始产生的数据。

在一些可能的实现方式中,快速传输速率为正常传输速率的5倍。

在一些可能的实现方式中,第二通信设备缓存在时刻C起产生的第二数据;第二通信设备以快速传输速率向第一通信设备发送第二数据。以使得第二通信设备可以在时刻D起以正常传输速率向第一通信设备传输数据。

在一些可能的实现方式中,第二通信设备在时刻B之前的预设时长内进行静音检测,得到静音时间段,静音时间段为时刻E至时刻B,时刻E在时刻B之前,第二通信设备在静音时间段内停止向第一通信设备发送数据,降低传输资源的负担。

第三方面,本申请提出了一种通信设备,通信设备包括:

处理模块,用于预测连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C;

收发模块,用于向第二通信设备发送指示消息,指示消息用于向第二通信设备指示连续丢包的目标时间段;

收发模块,还用于在时刻C起接收第二通信设备发送的第一数据,第一数据为第二通信设备在目标时间段内生成的数据;

播放模块,用于从时刻C起播放第一数据。

在一些可能的实现方式中,播放模块具体用于:

从时刻C起以预设的快速播放速率播放第一数据,快速播放速率大于正常播放速率。

在一些可能的实现方式中,收发模块,还用于接收第二通信设备发送的第二数据,第二数据为第二通信设备在时刻C之后产生的数据;

播放模块,还用于第一通信设备以快速播放速率播放第二数据。

在一些可能的实现方式中,播放模块,还用于从时刻A至时刻C之间的时间段内以预设的慢速播放速率播放第三数据,时刻A在时刻B之前,第三数据为时刻A到时刻B之间接收的第二通信设备发送的数据,慢速播放速率低于正常播放速率。

在一些可能的实现方式中,处理模块,还用于根据慢速播放速率、正常播放速率、时刻B和时刻C计算时刻A。

第四方面,本申请提出了一种通信设备,包括:

收发模块,用于接收第一通信设备发送的指示消息,指示消息用于指示连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C;

存储模块,用于缓存目标时间段内生成的第一数据;

收发模块,还用于在时刻C起向第一通信设备发送第一数据。

在一些可能的实现方式中,收发模块,具体用于:

在时刻C起以预设的快速传输速率向第一通信设备发送第一数据,快速传输速率高于正常传输速率。

在一些可能的实现方式中,存储模块,还用于缓存在时刻C起产生的第二数据;

收发模块,还用于以快速传输速率向第一通信设备发送第二数据。

在一些可能的实现方式中,处理模块,还用于在时刻B之前的预设时长内进行静音检测,得到静音时间段,静音时间段为时刻E至时刻B,时刻E在时刻B之前;

处理模块,还用于在静音时间段内停止向第一通信设备发送数据。

第五方面,本申请提供了一种通信设备,包括:一个或多个处理器;一个或多个存储器;多个应用程序;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,当所述一个或者多个程序被所述处理器执行时,使得所述终端设备执行上述第一方面至第二方面及任一方面的可能实现方式中任一项所述的步骤。

第六方面,本申请提供了一种装置,该装置包含在通信设备中,该装置具有实现上述第一方面至第二方面及任一方面的可能实现方式中任一项通信设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。

第七方面,本申请提供了一种终端设备,包括:一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序。其中,一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令。当指令被电子设备执行时,使得电子设备执行上述第一方面至第四方面及任一方面的可能实现方式中任一项可能实现方式中任一项所述的步骤。

第八方面,本申请提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备或服务器上运行时,使得电子设备执行上述任一方面任一项可能的方法。

第九方面,本申请提供了一种计算机程序产品,当计算机程序产品在电子设备或服务器上运行时,使得电子设备执行上述任一方面任一项可能的方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

第一通信设备通过预测连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C,并向第二通信设备发送指示消息,指示消息用于向第二通信设备指示连续丢包的目标时间段,使得第一通信设备在时刻C起接收第二通信设备发送的第一数据,第一数据为第二通信设备在目标时间段内生成的数据,并从时刻C起播放第一数据,使得在连续丢包的目标时间段内产生的第一数据不会丢失,成功传输给第一通信设备。

附图说明

图1为本申请实施例提供的通信系统的结构示意;

图2为本申请实施例提供的通信设备的结构示意;

图3为本申请实施例提供的一种数据传输方法的实施例示意图;

图4为本申请实施例提供的通信设备的一种结构示意图;

图5为本申请实施例提供的通信设备的一种结构示意图。

具体实施方式

本申请实施例提供了一种数据传输方法以及通信设备,用于预测连续丢包的目标时间段,并接收目标时间段内产生的数据。

下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

为便于理解,下面将对本申请实施例提供的通信系统1000的结构进行示例说明。参见图1,图1是本申请实施例提供的通信系统的结构示意图。通信系统1000包括第一通信设备1100和第二通信设备1200。其中,第一通信设备1100和第二通信设备1200可以为终端设备或服务器,此处不做限定。

参见图2,图2为本申请实施例提供的通信设备的一种结构示意图,通信设备200具体可以表现为虚拟现实设备、手机、平板、笔记本电脑、智能穿戴设备等,此处不做限定。具体的,通信设备200包括:接收器210、发射器220、处理器230和存储器240(其中通信设备200中的处理器230的数量可以一个或多个,图2中以一个处理器为例),其中,处理器230可以包括应用处理器231和通信处理器232。在本申请的一些实施例中,接收器210、发射器220、处理器230和存储器240可通过总线或其它方式连接。

存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据。存储器240的一部分还可以包括非易失性随机存取存储器(non-volatilerandomaccess memory,NVRAM)。存储器240存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。

处理器230控制终端设备的操作。具体的应用中,终端设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。

上述本申请实施例揭示的方法可以应用于处理器230中,或者由处理器230实现。处理器230可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器230中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器230可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器230可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器240,处理器230读取存储器240中的信息,结合其硬件完成上述方法的步骤。

接收器210可用于接收输入的数字或字符信息,以及产生与终端设备的相关设置以及功能控制有关的信号输入。发射器220可用于通过第一接口输出数字或字符信息;发射器220还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器220还可以包括显示屏等显示设备。

本申请实施例中,在一种情况下,处理器230,用于执行上述实施例中的数据传输方法中与处理相关的步骤。

在音频或视频通信的过程中,当传输网出现问题时,会严重的影响音频或视频的通信质量,可能会导致声音断续,或者导致视频画面冻结或者马赛克。其中,以连续丢包对于体验的影响最大。以音频为例,人正常语速说话为1秒钟平均6个字,一个字对应8到10个语音包,连续丢包3个以上,就会吞一个字,如果连续丢包吞多个字就会出现断续问题。通过大量的样本分析,丢包为吞字断续的主要因素。

当前对于丢包的处理,主要手段为自动重传请求(automatic repeat-request,ARQ)和前向纠错码(forward error correction,FEC)。ARQ为由发送方进行FEC编码引入冗余包,接收方进行FEC解码并恢复丢失的数据包;FEC为通过接收方请求发送方重传出错的数据报文来恢复出错的报文,是通信中用于处理信道所带来差错的方法之一。

但是,ARQ以及FEC默认状况下都不启用,只有在发生异常时由媒体收端反映到媒体发端,发端对应的采取措施。而在连续丢包场景下,在应用做出响应前,丢包事件可能已经结束了,即其响应时间具有滞后性。另外,在连续丢包时间片,重传的请求消息和第二次重发的报文,仍然会大概率丢失。

为此,本申请提出了一种数据传输方法,用于实时通信的第一通信设备和第二通信设备,第一通信设备通过预测连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C,并向第二通信设备发送指示消息,指示消息用于向第二通信设备指示连续丢包的目标时间段,使得第一通信设备在时刻C起接收第二通信设备发送的第一数据,第一数据为第二通信设备在目标时间段内生成的数据,并从时刻C起播放第一数据,使得在连续丢包的目标时间段内产生的第一数据不会丢失,成功传输给第一通信设备。

为了便于理解,本申请以下实施例将以具有图1所示的通信系统,图2所示结构的通信设备为例,结合附图和应用场景,对本申请实施例提供的一种数据传输方法进行具体阐述。

参照图3,图3为本申请实施例提供的一种数据传输方法的实施例示意图,如图3所示,本申请提供的数据传输方法,用于实时通信的第一通信设备和第二通信设备,包括:

301、第一通信设备预测连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C。

在本申请实施例中,可以通过人工智能等方式对连续丢包的时间段进行预测。当前主流的方式是通过建立深度神经网络模型。具体的,通过建立一个由预测模型,通过滚动优化和反馈校正三部分组成的联系系统,实现对于丢包的预测并保证预测模型不断优化,属于己有技术或者己有技术的扩展应用,具体不再详细描述。

在一些可能的实现方式,第一通信设备可以预测未来的一个连续丢包的目标时间段,也可以预测未来连续丢包的多个目标时间段,此处不做限定。在一些可能的实现方式中,目标时间段的表示方法可以为开始时刻和结束时刻,也可以表示为开始时刻和持续时长。在此,以开始时刻和结束时刻为例,开始其实为时刻B,结束时刻为时刻C。

例如,以当前通话时间为开始时刻,该开始时刻为0s(秒)。该开始时刻以第二通信设备(即数据发送端)的实时传输协议(real-time transport protocol,RTP)时间戳为基准,其物理含义为当前报文中第一个字节的采样时间,其值与采样率有关。比如对于打包时长为20ms的语音报文,采样率为8K(千),则相邻两个报文的时间戳差别为8000/(1000/20)=160。

那么,在第一通信设备和第二通信设备进行实时通信的过程中,第一通信设备预测未来的目标时间段,得到时刻B=10s,时刻C=11s,即时长S=1s。在一些可能的实现方式,第一通信设备也可以预测未来的若干个目标时间段,例如得到2个目标时间段,分别称为时间段1和时间段2,其中,时间段1可以是时刻B=10s,时刻C=11s,即时长S=1s,时间段2可以是时刻B=20s,时刻C=22s,即时长S=2s。

302、第一通信设备向第二通信设备发送指示消息,指示消息用于向第二通信设备指示连续丢包的目标时间段。

当第一通信设备预测了目标时间段后,可以向第二通信设备发送指示消息,指示消息用于向第二通信设备指示连续丢包的目标时间段。需要说明的是,第一通信设备和第二通信设备进行实时通信时,第一通信设备和第二通信设备为数据接收端,也为数据发送端。但是对于一个报文而言,其中一个作为数据接收端,另一个作为数据发送端。在本申请实施例中,以第一通信设备为数据接收端,以第二通信设备为数据发送端为例进行说明。数据接收端可以根据接收到的信息对目标时间段进行预测,然后将预测的结果发送给数据发送端,让数据发送端根据预测的结果发送数据。即,第一通信设备可以向第二通信设备发送预测的结果,即目标时间段,让第二通信设备根据预测结果发送数据。

在一些可能的实现方式,当第一通信设备预测了目标时间段后,可以马上向第二通信设备发送指示消息,也可以在该目标时间段的开始时刻之前的预设时长之前发送给第二通信设备,此处不做限定。

例如,第一通信设备预测到的目标时间段为时刻B=10s,时刻C=11s,即持续时长S=1s,那么第一通信设备在时刻B之前的预设时长之前,比如0.5s,发送给第二通信设备。

在接收到指示消息之后,第二通信设备将在时刻B到时刻C之间不传输数据。在时刻B之前,第二通信设备以正常传输速率向第一通信设备发送第二数据,第二数据为第二通信设备实时产生的数据,即第二通信设备在时刻B之前,实时产生数据,实时发送数据。

在实时通信的过程中,一句话与下一句话之间是有停顿的,那么在一定的概率上,第二数据的最后一段时间是静音的,如果把这部分数据也传输了,那么会造成传输资源上的浪费。为此,在一些可能的实现方式,第二通信设备可以在时刻B之前的预设时长内进行静音检测,得到静音时间段,静音时间段为时刻E至时刻B,时刻E在时刻B之前,第二通信设备在静音时间段内停止向第一通信设备发送数据。具体的,第二通信设备可以在临近时刻B之前的预示时长前进行静音检测,如果发现静音(静音时刻为时刻E),则停止向第一通信设备发送数据。

例如,在时刻B之前的0.2s的时间点上进行静音检测,如果在时刻B之前的0.1s(时刻E)发现静音了,用户说一句话已经结束了,则时刻B之前的0.1s为静音,其所产生的数据则不需要向第一通信设备发送。

静音检测是一个相对成熟的技术领域,也就是语音端点检测技术。这个技术的主要任务是从带有噪声的语音中准确的定位出语音的开始和结束点,因为语音中含有很长的静音,也就是把静音和实际语音分离开来,因为是语音数据的原始处理,所以静音检测是语音信号处理过程的关键技术之一。

303、第一通信设备根据慢速播放速率、正常播放速率、时刻B和时刻C计算时刻A。

在本申请实施例中,为了不至于显得卡顿,第一通信设备可以在目标时间段内播放内容。为此,在本申请实施例中,第一通信设备可以通过慢放目标时间段之前的一段数据,以覆盖掉目标时间段。具体的,设时刻A为时刻B之前的时间点,那么可以将时刻A到时刻B的数据拉长到时刻A到时刻C进行慢放。

例如,目标时间段为时刻A=9s,时刻B=10s,时刻C=11s,那么可以将时刻A到时刻B之间时间段的第三数据慢放,拉长到覆盖掉时刻A到时刻C。但是为了将慢放的速度进行控制,不造成不良的用户体验,可以设置固定的慢放播放速率对时刻A到时刻B之间时间段的数据进行播放,慢速播放速率的播放速率低于正常播放帧率。

需要说明的是,慢速播放速率可以是预设的,也可以是临时决定的,或者预设若干个帧率以供选择,此处不做限定。例如,慢速播放速率为正常播放速率的80%。但是,在某些情况下,例如预测了目标时间段的开始时刻临近,若以正常播放速率的80%播放这段数据,仍然会造成时刻B到时刻C之间的时间段内,存在没有数据可播放的情况,造成用户体验不良。那么,为了恰好覆盖时刻B到时刻C之间的时间段,也可以调整慢速播放速率,例如调整到正常播放速率的50%,或者正常播放速率的30%,此处不做限定。

在本申请实施例中,可以根据当前时刻、时刻B和时刻C、正常播放速率计算慢速播放速率。例如,当前时刻为时刻N,时刻B到时刻C的时长为时长S,时刻N到时刻C的时长为时长Sn,那么:

(时刻B-时刻N)*正常播放速率=(时刻C-时刻N)*慢速播放速率

则得到:

慢速播放速率=(时刻B-时刻N)*正常播放速率/(时刻C-时刻N)

从而算出慢速播放速率。

例如,时刻N为8秒,时刻B=10s,时刻C=11s,那么时长S=1s,时长Sn=3s,那么:

慢速播放速率=2s*正常播放速率/3s

慢速播放速率=2/3*正常播放速率

即得到慢速播放速率为正常播放速率的2/3。

在一些可能的实现方式,若当前时刻距离目标时间段较长时间,那么不需要使用上述方法,而是可以使用固定的慢速播放速率,从而计算时刻A,时刻A为开始慢放的时刻。

具体的,假设时刻A到时刻C的时长为时长Sa,那么:

(时刻C-时刻B)*正常播放速率=(时刻C-时刻A)*慢速播放速率

则:

时刻A=(时刻C*快速播放速率-时刻B*正常播放速率)/(快速播放速率-正常播放速率)

例如,时刻C=11s,时刻B=10s,慢速播放速率的播放速率为正常播放速率的80%,那么:

时刻A=(11*8m/s-10s*10m/s)/(8m/s-10m/s)=9.75s

即时刻A为时刻B之前的10s-9.75s=0.25s。

那么,即在目标时间段之前的0.25s,开始使用正常播放速率的80%的慢放播放速率对第三数据进行播放。

304、第一通信设备从时刻A至时刻C之间的时间段内以预设的慢速播放速率播放第三数据。

在本申请实施例中,将时刻A到时刻B之间接收的数据拉长到时刻A到时刻C之间慢放,使得目标时间段有数据可以播放,不会造成由于第二通信设备在目标时间段不发送数据而产生的卡顿的现象。需要说明的是,在时刻A到时刻B之间的时间段内,当第二通信设备产生了数据后实时向第一通信设备发送,那么由于第一通信设备以慢速播放速率慢放该第三数据,那么需要缓存那些未播放的数据,使得拉长第一数据的播放时间,以覆盖时刻A到时刻C的时间段,使得目标时间段(时刻B至时刻C)有数据可播放,而不至于卡顿。

305、第二通信设备缓存目标时间段内生成的第一数据。

在本申请实施例中,当第二通信设备接收到指示消息后,继续正常发送数据,直到所指示的目标时间段的开始时刻,即时刻B,缓存时刻B到时刻C之间产生的第一数据,以防丢失。

306、第二通信设备在时刻C起向第一通信设备发送第一数据。

在本申请实施例中,当目标时间段结束后,即时刻C之后,视为网络恢复正常,那么第二通信设备可以向第一通信设备以正常传输速率发送第一数据。在本申请实施例中,由于在发送第一数据的过程中,持续产生新的数据,这些数据同样需要发送给第一通信设备,但是由于产生这些新的数据的时间的传输资源被传输第一数据占用,因此第二通信设备需要尽快将第一数据发送给第一通信设备。为此,第二通信设备可以将第一数据进行压缩之后发送。以ARM报文为例,第二通信设备将多个ARM报文压缩为1个ARM报文(例如5个ARM报文压缩为1个),以快速传输速率发送给第一通信设备,以使得可以尽快发送完毕,以发送在目标时间段之后产生的数据。而在传输第一数据过程中产生的新的数据,则缓存起来,待第一数据传输完毕之后再以快速传输速率向第一通信设备发送。当传输数据的速率快于产生数据的速率,则可以将所有缓存的数据都传输完毕,则可以以正常传输速率发送数据,即实时产生数据,实时传输。

例如,第二通信设备从时刻C开始以较快速率发送第一数据,当第一数据发送完毕之后,由于缓存了时刻C之后产生的数据,需要继续以快速传输速率发送数据,直到在时刻D才把第一数据和时刻C到时刻D之间时间段产生的数据一并发送完成,接下来,第二通信设备以正常传输速率发送数据,即产生数据的同时进行发送。假设第一数据的数据量为10m(兆),时刻B=10s,时刻C=11s,快速传输速率=20m/s,正常传输速率=10m/s,那么:

快速传输速率*(时刻D-时刻C)=第一数据的数据量+正常传输速率*(时刻D-时刻C)

即:

时刻D=(时刻B*正常传输速率-时刻C*快速传输速率)/(正常传输速率-快速传输速率)

时刻D=12s

即时刻D为时刻C之后的1s,即第二通信设备可以在时刻C之后的1s之内以快速传输速率进行数据传输,1s之后即可以正常传输速率进行数据传输。

307、第一通信设备在时刻C起以预设的快速播放速率播放第一数据。

在本申请实施例中,第一通信设备从时刻C开始,即目标时间段结束后,接收第一数据并以快速播放速率播放第一数据,快速播放速率的播放速率大于正常播放速率。需要说明的是,由于第一通信设备需要对第一数据进行快放,即以快速播放速率进行播放,但是播放速率不可能超过接收数据的速率,因此,快速播放速率可以根据第二通信设备传输第一数据的速率而确定。在一些可能的实现方式中,快速播放速率为正常播放速率的1.25倍。

例如,第二通信设备每秒传输20m/s,那么第一通信设备最多只能每秒播放20m/s的数据。在一些可能的实现方式,如果传输数据的速率较快,也可以按照预设的固定的快速播放速率进行播放,例如快速播放速率为正常播放速率的1.25倍,即快放1.25倍,在一些可能的实现方式,也可以为1.5倍,此处不做限定。

308、第二通信设备缓存在时刻C起产生的第二数据。

需要说明的是,在传输第一数据的过程中,即时刻C开始,第二通信设备仍然实时产生数据,在此称为第二数据。第二数据原本应该在产生的时候实时发送,即时刻C开始发送,但是时刻C开始被第一数据占用了传输资源,那么,第二数据需要在第一数据发送完毕后再发送。

309、第二通信设备以快速传输速率向第一通信设备发送第二数据。

需要说明的是,当第一数据传输完毕后,继续传输第二数据,那么第二通信设备会继续实时产生数据,这些新产生的数据则会缓存,等待传输。因此,第二通信设备的对数据的传输速度需要快于数据的产生数据,这样才能把缓存的数据传输完毕,尽快恢复到实时通信。

310、第一通信设备以快速播放速率播放第二数据。

需要说明的是,若第一通信设备的播放速率小于第二通信设备的传输速率,那么第一通信设备可以缓存接收到的数据,依次进行播放。需要说明的是,当播放第一数据完毕之后,若第二通信设备继续以较快的速率传输数据,即传输目标时间段之后产生并缓存的数据,那么第一通信设备可以继续以快速播放速率进行播放,直到第二通信设备以正常传输速率发送数据为止。

例如,第一通信设备从时刻C开始以快速播放速率播放第一数据,当第一数据播放完毕之后,由于第二通信设备继续以较快的速率发送时刻C之后产生的第二数据,需要继续以快速播放速率继续播放第二数据,直到将缓存的数据播放完毕,再以正常播放速率播放实时接收的数据。

例如,假设第一数据的数据量为10m,目标时间段的时长为1s,则可知正常播放速率为10m/s(即正常产生数据的速率也为10m/s),相对于正常播放速率。在时刻C之后,第一通信设备以1.25倍速播放,即快速播放速率为正常播放速率的1.25倍,那么播放速率为12.5m/s,那么,由于10m/(12.5m/s)=0.8s即可把第一数据播放完毕,由于缓存这0.8s期间的第二数据,需要继续以快速播放速率,即12.5m/s的播放速率对第二数据进行播放。

那么,得到:

12.5m/s*T=10m+T*10m/s

T为快速播放速率的播放时长,那么得到:

T=4s

即第二通信设备可以在时刻C之后的4s之内以正常的数据传输速率的1.25倍的速率播放数据(包括第一数据和第二数据),在时刻C的4s之后,恢复实时通信。

在本申请实施例中,第一通信设备通过预测连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C,并向第二通信设备发送指示消息,指示消息用于向第二通信设备指示连续丢包的目标时间段,使得第一通信设备在时刻C起接收第二通信设备发送的第一数据,第一数据为第二通信设备在目标时间段内生成的数据,并从时刻C起播放第一数据,使得在连续丢包的目标时间段内产生的第一数据不会丢失,成功传输给第一通信设备。

接下来介绍本申请实施例提供的一种通信设备,请参阅图4,图4为本申请实施例提供的通信设备400的一种结构示意图,通信设备400包括:

处理模块401,用于预测连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C;

收发模块402,用于向第二通信设备发送指示消息,指示消息用于向第二通信设备指示连续丢包的目标时间段;

收发模块402,还用于在时刻C起接收第二通信设备发送的第一数据,第一数据为第二通信设备在目标时间段内生成的数据;

播放模块403,用于从时刻C起播放第一数据。

在一些可能的实现方式中,播放模块403具体用于:从时刻C起以预设的快速播放速率播放第一数据,快速播放速率大于正常播放速率。

在一些可能的实现方式中,收发模块402,还用于接收第二通信设备发送的第二数据,第二数据为第二通信设备在时刻C之后产生的数据;播放模块403,还用于以快速播放速率播放第二数据。

在一些可能的实现方式中,播放模块403,还用于从时刻A至时刻C之间的时间段内以预设的慢速播放速率播放第三数据,时刻A在时刻B之前,第三数据为时刻A到时刻B之间接收的第二通信设备发送的数据,慢速播放速率低于正常播放速率。

在一些可能的实现方式中,处理模块,还用于根据慢速播放速率、正常播放速率、时刻B和时刻C计算时刻A。

请参阅图5,图5为本申请实施例提供的通信设备500的一种结构示意图,通信设备500包括:

收发模块501,用于接收第一通信设备发送的指示消息,指示消息用于指示连续丢包的目标时间段,目标时间段的开始时刻为时刻B,结束时刻为时刻C;

存储模块502,用于缓存目标时间段内生成的第一数据;

收发模块501,还用于在时刻C起向第一通信设备发送第一数据。

在一些可能的实现方式中,收发模块501,具体用于:

在时刻C起以预设的快速传输速率向第一通信设备发送第一数据,快速传输速率高于正常传输速率。

在一些可能的实现方式中,存储模块502,还用于缓存在时刻C起产生的第二数据;

收发模块501,还用于以快速传输速率向第一通信设备发送第二数据。

在一些可能的实现方式中,通信设备500还包括:

处理模块503,用于在时刻B之前的预设时长内进行静音检测,得到静音时间段,静音时间段为时刻E至时刻B,时刻E在时刻B之前;

处理模块503,还用于在静音时间段内停止向第一通信设备发送数据。

本申请还提供了一种通信设备,包括:一个或多个处理器;一个或多个存储器;多个应用程序;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,当所述一个或者多个程序被所述处理器执行时,使得所述终端设备执行上述301-310所述的步骤。

本申请还提供了一种装置,该装置包含在通信设备中,该装置具有实现上述301-310所述的步骤的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。

本申请提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备或服务器上运行时,使得电子设备执行上述301-310所述方法步骤。

本申请提供了一种计算机程序产品,当计算机程序产品在电子设备或服务器上运行时,使得电子设备执行上述301-310所述方法步骤。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于车机CAN网络信号测试的自动化实现方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!