数据传输方法及装置与流程

文档序号:19750651发布日期:2020-01-21 19:24阅读:195来源:国知局
数据传输方法及装置与流程

本发明实施例涉及无线通信领域,尤其涉及一种数据传输方法及装置。



背景技术:

电子设备(例如:手机、电脑等)通常可以连接至少一个耳机,并向至少一个耳机发送音频包。至少一个耳机可以将音频包转换为用户可听的音频,从而使得用户在佩戴耳机的过程中,可以听到该音频。

在现有技术中,在至少一个耳机中确定主耳机之后,电子设备向主耳机发送音频包,在主耳机接收到音频包之后,主耳机向从耳机发送音频包。在上述过程中,主耳机向从耳机发送音频包时,主耳机无法接收电子设备向主耳机发送的另一音频包,因此,导致主耳机需要浪费与电子设备的正常通信时长,去向从耳机发送音频包,进而导致主耳机和电子设备的通信效率降低。



技术实现要素:

本发明实施例提供一种数据传输方法及装置,用于提高第一设备和数据源设备的通信效率、以及第一设备向第二设备发送音频数据的发送效率。

第一方面,本发明实施例提供一种数据传输方法,应用于音频设备组中的第一设备,所述第一设备分别与数据源设备和第二设备无线连接,所述第二设备为所述音频设备组中除所述第一设备之外的设备,所述方法包括:

所述第一设备在第一时隙中接收数据包,所述数据包为噪声或者从所述数据源设备接收到的数据包;

所述第一设备根据所述数据包确定所述数据源设备和所述第一设备之间的链路状态,所述链路状态为空闲状态或者繁忙状态;

在所述第一设备确定所述链路状态为空闲状态时,在所述第一时隙中向所述第二设备发送音频数据,所述音频数据为所述第一设备从所述数据源设备接收到的音频数据。

在一种可能的设计中,所述第一设备根据所述数据包确定所述数据源设备和所述第一设备之间的链路状态,包括:

所述第一设备判断所述数据包中是否包括同步信息和包头;

若否,则所述第一设备确定所述链路状态为空闲状态;

若是,则所述第一设备根据所述数据包的包头和/或所述数据包中是否包括负载,确定所述链路状态。

在另一种可能的设计中,所述第一设备根据所述数据包的包头和/或所述数据包中是否包括负载,确定所述链路状态,包括:

所述第一设备在所述数据包中获取第一同步信息;

所述第一设备获取所述第一同步信息和所述预设同步信息的相关度;

所述第一设备根据所述相关度,确定所述链路状态。

在另一种可能的设计中,所述第一设备根据所述相关度,确定所述链路状态,包括:

若确定所述相关度小于第一阈值,则所述第一设备确定所述链路状态为所述空闲状态;

若确定所述相关度大于等于所述第一阈值,则所述第一设备根据对所述包头进行校验的校验结果,确定所述链路状态。

在另一种可能的设计中,所述第一设备根据对所述包头进行校验的校验结果,确定所述链路状态,包括:

所述第一设备在所述包头中获取第一校验信息和第二信息,所述第二信息为所述包头中除所述第一校验信息之外的信息;

所述第一设备根据所述第二信息生成第二校验信息;

若所述第一校验信息和所述第二校验信息不相同,则所述第一设备确定所述链路状态为空闲状态;

若所述第一校验信息和所述第二校验信息相同,则根据所述包头中的数据包类型和/或所述数据包中是否包括负载,所述第一设备确定所述链路状态。

在另一种可能的设计中,所述第一设备根据所述包头中的数据包类型和/或所述数据包中是否包括负载,确定所述链路状态,包括:

若所述数据包的类型为第一类型,或者所述数据包中不包括负载,则所述第一设备确定所述链路状态为空闲状态,所述第一类型用于指示所述数据包不包括负载;

若所述数据包的类型为第二类型,或者所述数据包中包括负载,则所述第一设备确定所述链路状态为繁忙状态。

在另一种可能的设计中,所述第一设备在所述第一时隙中向所述第二设备发送待发送的音频数据,包括:

所述第一设备通过预设调制方式和预设物理带宽,对所述音频数据进行调制处理,得到调制数据;

所述第一设备根据所述调制数据,确定所述音频包,所述音频包包括所述调制数据和包头;

所述第一设备向所述第二设备发送所述音频包。

在另一种可能的设计中,所述第一设备在所述第一时隙中向所述第二设备发送待发送的音频数据,包括:

所述第一设备向所述第二设备发送当前数据帧的标识;

所述第一设备接收所述第二设备发送的侦听信息,所述侦听信息用于指示所述第二设备对n个数据帧的接收状态,所述n个数据帧包括所述当前数据帧、以及位于当前数据帧之前且距离所述当前数据帧最近的n-1个数据帧,所述接收状态为接收成功或接收失败,所述n为大于或等于1的整数;

所述第一设备根据所述侦听信息,确定所述第二设备未侦听到的数据帧;

所述第一设备向所述第二设备发送所述第二设备未侦听到的数据帧。

在另一种可能的设计中,所述第一设备向所述第二设备发送当前数据帧的标识之前,还包括:

所述第一设备向所述第二设备发送所述第一设备与所述数据源设备之间的链路信息,所述链路信息用于所述第二设备与所述数据源设备建立第一双向链路。

在另一种可能的设计中,在所述第二设备在第一时隙中对所述数据源设备向所述第一设备发送的数据包侦听失败后,所述第二设备的状态为接收状态。

在另一种可能的设计中,所述无线连接为蓝牙连接。

在另一种可能的设计中,所述预设调制方式为正交相移键控或者八相移键控,所述预设物理带宽为2兆赫兹,物理速率为4兆或6兆比特/秒。

第二方面,本发明实施例提供一种数据传输装置,应用于音频设备组中的第一设备,所述第一设备分别与数据源设备和第二设备无线连接,所述第二设备为所述音频设备组中除所述第一设备之外的设备,所述装置包括:接收模块、确定模块和发送模块,其中,

所述接收模块用于,所述第一设备在第一时隙中接收数据包,所述数据包为噪声或者从所述数据源设备接收到的数据包;

所述确定模块用于,所述第一设备根据所述数据包确定所述数据源设备和所述第一设备之间的链路状态,所述链路状态为空闲状态或者繁忙状态;

所述发送模块用于,在所述第一设备确定所述链路状态为空闲状态时,在所述第一时隙中向所述第二设备发送音频数据,所述音频数据为所述第一设备从所述数据源设备接收到的音频数据。

在一种可能的设计中,所述确定模块具体用于:

所述第一设备判断所述数据包中是否包括同步信息和包头;

若否,则所述第一设备确定所述链路状态为空闲状态;

若是,则所述第一设备根据所述数据包的包头和/或所述数据包中是否包括负载,确定所述链路状态。

在另一种可能的设计中,所述确定模块具体用于:

所述第一设备在所述数据包中获取第一同步信息;

所述第一设备获取所述第一同步信息和所述预设同步信息的相关度;

所述第一设备根据所述相关度,确定所述链路状态。

在另一种可能的设计中,所述确定模块具体用于:

若确定所述相关度小于第一阈值,则所述第一设备确定所述链路状态为所述空闲状态;

若确定所述相关度大于等于所述第一阈值,则所述第一设备根据对所述包头进行校验的校验结果,确定所述链路状态。

在另一种可能的设计中,所述确定模块具体用于:

所述第一设备在所述包头中获取第一校验信息和第二信息,所述第二信息为所述包头中除所述第一校验信息之外的信息;

所述第一设备根据所述第二信息生成第二校验信息;

若所述第一校验信息和所述第二校验信息不相同,则所述第一设备确定所述链路状态为空闲状态;

若所述第一校验信息和所述第二校验信息相同,则根据所述包头中的数据包类型和/或所述数据包中是否包括负载,所述第一设备确定所述链路状态。

在另一种可能的设计中,所述确定模块具体用于:

若所述数据包的类型为第一类型,或者所述数据包中不包括负载,则所述第一设备确定所述链路状态为空闲状态,所述第一类型用于指示所述数据包不包括负载;

若所述数据包的类型为第二类型,或者所述数据包中包括负载,则所述第一设备确定所述链路状态为繁忙状态。

在另一种可能的设计中,所述发送模块具体用于:

所述第一设备通过预设调制方式和预设物理带宽,对所述音频数据进行调制处理,得到调制数据;

所述第一设备根据所述调制数据,确定所述音频包,所述音频包包括所述调制数据和包头;

所述第一设备向所述第二设备发送所述音频包。

在另一种可能的设计中,所述发送模块具体用于:

所述第一设备向所述第二设备发送当前数据帧的标识;

所述第一设备接收所述第二设备发送的侦听信息,所述侦听信息用于指示所述第二设备对n个数据帧的接收状态,所述n个数据帧包括所述当前数据帧、以及位于当前数据帧之前且距离所述当前数据帧最近的n-1个数据帧,所述接收状态为接收成功或接收失败,所述n为大于或等于1的整数;

所述第一设备根据所述侦听信息,确定所述第二设备未侦听到的数据帧;

所述第一设备向所述第二设备发送所述第二设备未侦听到的数据帧。

在另一种可能的设计中,所述发送模块具体用于:所述第一设备向所述第二设备发送当前数据帧的标识之前,所述第一设备向所述第二设备发送所述第一设备与所述数据源设备之间的链路信息,所述链路信息用于所述第二设备与所述数据源设备建立第一双向链路。

在另一种可能的设计中,在所述第二设备在第一时隙中对所述数据源设备向所述第一设备发送的数据包侦听失败后,所述第二设备的状态为接收状态。

在另一种可能的设计中,所述无线连接为蓝牙连接。

在另一种可能的设计中,所述预设调制方式为正交相移键控或者八相移键控,所述预设物理带宽为2兆赫兹,物理速率为4兆或6兆比特/秒。

第三方面,本发明实施例提供一种数据传输装置,包括:处理器和存储器;

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

处理器用于,执行存储器存储的计算机执行指令,使得处理器执行如上述第一方面任意一项的方法。

第四方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上述第一方面任意一项的方法。

本发明实施例提供的数据传输方法及装置,该方法包括:第一设备在第一时隙中接收数据包,数据包为噪声或者从数据源接收到的数据包。第一设备根据数据包确定数据源设备和第一设备之间的链路状态,链路状态为空闲状态或者繁忙状态。在第一设备确定链路状态为空闲状态时,在第一时隙中向第二设备发送音频数据,音频数据为第一设备从数据源设备接收到的音频数据。在上述过程中,第一设备确定链路状态为空闲状态时,第一设备在第一时隙中向第二设备发送音频数据,使得第一设备无需浪费与数据源设备的正常通信时长,向第二设备发送音频数据,提高了第一设备和数据源设备的通信效率、以及第一设备向第二设备发送音频数据的发送效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的数据传输方法的应用场景示意图;

图2为本发明实施例提供的数据传输方法的流程示意图一;

图3为本发明是实例提供的数据传输方法的流程示意图二;

图4为本发明实施例提供的数据传输方法的流程示意图三;

图5为本发明实施例提供的第一时隙的时隙结构;

图6为本发明实施例提供一种数据传输装置的结构示意图;

图7为本发明实施例提供的数据传输装置的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的数据传输方法的应用场景示意图。如图1所示,包括:数据源设备101和音频设备组102,其中,音频设备组102中包括:第一设备11和第二设备12。

可选地,数据源设备101可以为智能手机、平板电脑。

可选地,第一设备11和第二设备12均为无线收发设备,例如:耳机或者音箱等。

可选地,数据源设备101可以通过无线传输方式与第一设备11进行交互,第一设备可以通过无线传输方式与第二设备12进行交互。其中,无线传输方式可以为蓝牙、无线保真(wirelessfidelity,简称wifi)。需要说明的是,对第一设备和第二设备的详细说明请参见图2实施例,此处,不再进行详细地解释。

在实际应用中,数据源设备101与第一设备11之间建立通信链路后,数据源设备101与第一设备11进行交互。例如,第一设备11在第一时隙内接收到数据源设备101发送的数据包后,可以根据数据包确定上述通信链路的链路状态,在确定链路状态为空闲状态之后,第一设备11与第二设备12进行交互。

例如,在第一设备确定链路状态为空闲状态后,第一设备可以在第一时隙中向第二设备发送前一时隙中收到音频数据。例如,当链路状态为繁忙状态时,第一设备在第一时隙中接收数据源设备发送的数据包,而不向第二设备发送前一时隙中收到音频数据。在上述过程中,第一设备向第二设备发送音频数据是在第一时隙中,因此,无需浪费第一设备与数据源设备的正常通信时长,去向第二设备发送音频数据,提高了第一设备和数据源设备之间的通信效率、以及第一设备向发送第二设备音频数据的发送效率。

下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。

具体的,以音频设备组中包括两个设备(第一设备和第二设备)为例,在图2实施例中,对本申请提供的数据传输方法进行说明。

图2为本发明实施例提供的数据传输方法的流程示意图一。如图2所示,数据传输方法包括:

s201:第一设备在第一时隙中接收数据包,数据包为噪声或者从数据源接收到的数据包。

可选地,本发明实施例的执行主体可以为第一设备,也可以为设置在第一设备中的数据传输装置,该数据传输装置可以通过软件和/或硬件的结合实现。

可选地,数据包为噪声或者从数据源接收到的数据包。例如,该噪声可以为第一设备接收到的除数据源设备以外的其它无线收发设备发送的无线信号,或者,在数据源设备不向第一设备发送数据时,第一设备也可能收到噪声(例如高斯白噪声)。进一步地,数据包为从数据源接收到的数据包时,该数据包中包括同步信息和包头。

s202:第一设备根据数据包确定数据源设备和第一设备之间的链路状态,链路状态为空闲状态或者繁忙状态。

可选的,该链路状态为第一时隙中、数据源设备和第一设备之间的链路状态。

可选地,第一设备可以根据数据包中是否包括同步信息和包头,确定链路状态;还可以在确定数据包中包括同步信息和包头之后,根据包头中的数据包类型和/或数据包中是否包括负载,确定链路状态。

具体的,第一设备根据数据包确定数据源设备和第一设备之间的链路状态的执行过程可参见图3实施例中的s301~s312。此处,不再详述。

s203:在第一设备确定链路状态为空闲状态时,在第一时隙中向第二设备发送音频数据,音频数据为第一设备从数据源设备接收到的音频数据。

具体的,第一设备在第一时隙中向第二设备发送的音频数据,为第一设备在前一时隙中接收到的数据设备发送的数据包中的音频数据。

可选地,若第一设备为左声道(或者右声道)设备、第二设备为右声道(或者左声道)设备,则第一设备在第一时隙中向第二设备发送的音频数据可以为第一设备在前一时隙中接收到的数据设备发送的数据包中的音频数据中的右声道音频数据(或者左声道音频数据)。

本发明实施例提供的数据传输方法,包括:第一设备在第一时隙中接收数据包,数据包为噪声或者从数据源接收到的数据包。第一设备根据数据包确定数据源设备和第一设备之间的链路状态,链路状态为空闲状态或者繁忙状态。在第一设备确定链路状态为空闲状态时,在第一时隙中向第二设备发送音频数据,音频数据为第一设备从数据源设备接收到的音频数据。在上述过程中,第一设备确定链路状态为空闲状态时,第一设备在第一时隙中向第二设备发送音频数据,使得第一设备无需浪费与数据源设备的正常通信时长,向第二设备发送音频数据,提高了第一设备和数据源设备的通信效率、以及第一设备向第二设备发送音频数据的发送效率。

图3为本发明是实例提供的数据传输方法的流程示意图二。如图3所示,数据传输方法包括:

s301:数据源设备向第一设备发送数据包。

可选地,该数据包可以为1时隙包、3时隙包、或者5时隙包等。

其中,1时隙包表示发送该数据包的需要耗时625微秒,通常将1时隙包简称为“2dh1”,3时隙包表示发送该数据包的需要耗时1875微秒,通常简称为“2dh3”,5时隙包表示发送该数据包的需要耗时3120微秒,通常简称为“2dh5”。

s302:第一设备在第一时隙中接收数据包,数据包为噪声或者从数据源接收到的数据包。

具体的,s302的执行方法和s201的执行方法相同,此处,不再赘述s302的执行过程。

需要说明的是,对第一时隙的详细说明,请参见图5实施例。此处不再赘述。

s303:第一设备判断数据包中是否包括同步信息和包头。

若否,则执行s312。

若是,则执行s304。

可选地,第一设备可以根据预设通信协议标准对数据包进行检测,从而确定数据包中是否包括同步信息和包头。其中,预设通信协议标准为预先设定的音频设备组与数据源设备之间的通信协议标准。

s304:第一设备在数据包中获取第一同步信息。

具体的,第一设备还可以在数据包的包头中获取第一同步信息。

s305:第一设备获取第一同步信息和预设同步信息的相关度。

s306:第一设备判断相关度是否小于第一阈值。

若是,则执行s312。

若否,则执行s307。

s307:第一设备在包头中获取第一校验信息和第二信息,第二信息为包头中除第一校验信息之外的信息。

s308:第一设备根据第二信息生成第二校验信息。

s309:第一设备判断第一校验信息和第二校验信息是否相同。

若否,则执行s312。

若是,则执行s310。

s310:第一设备判断数据包的类型是否为第一类型、或者数据包中是否不包括负载。

若是,则执行s312。

若否,则执行s311。

可选地,第一类型可以为空包(null)类型、检测包或者轮询包(poll)类型、或者噪声类型中的任意一种。

可选地,若第一设备根据包头中的数据包类型,确定数据包的类型为第一类型,则确定链路状态为空闲状态;或者,第一设备对数据包中包括的字段进行检查,在确定数据包中不存在负载对应的字段时,确定链路状态为空闲状态。

s311:第一设备确定链路状态为繁忙状态。

具体的,在确定出数据包的类型为第二类型,或者数据包中包括负载时,可以确定链路状态为繁忙状态。

可选地,若第一设备根据包头中的数据包类型,确定数据包的类型为第二类型,则确定链路状态为繁忙状态;或者,若第一设备对数据包中的字段进行检查,确定数据包中存在负载对应的字段,则确定链路状态为繁忙状态。

可选地,第一设备确定链路状态为繁忙状态,且数据包为第二类型时,第一设备可以向数据源设备发送确认字符(acknowledgecharacter,ack),该ack用于指示第一设备正确的接收数据源设备发送的数据包。

s312:第一设备确定链路状态为空闲状态。

s313:第一设备通过预设调制方式和预设物理带宽,对第一设备在第一时隙中向第二设备待发送的音频数据进行调制处理,得到调制数据。

具体的,预设调制方式为正交相移键控(quadraturephaseshiftkeying,qpsk)或者8相移键控(8phaseshiftkeying,8psk)、预设物理带宽为2兆赫兹,物理速率为4兆或6兆比特/秒。

可选地,待发送的音频数据可以为单声道音频数据、或者双声道音频数据。

在实际应用中,数据源设备向第一设备发送的数据包为“2dh5”时,数据包中的负载大小为670字节(byte),若第一设备向第二设备发送的音频数据为单声道音频数据,则单声道音频数据的大小约为335字节。在现有技术中,第一设备通常采用2兆比特/秒的调制带宽和qpsk调制方式对向第二设备发送的单声道音频数据进行调制处理得到调制数据,第一设备向第二设备发送调制数据时,所需的发送时长为335*8/2=1.34毫秒(ms),由于1.34ms大于1.25ms(一帧的时长),因此第一设备需要通过2次发送,才可以将调制数据完整的发送至第二设备。而在本申请中,若第一设备采用4兆比特/秒的调制带宽和qpsk调制方式对向第二设备发送的单声道音频数据进行调制处理得到调制数据,则第一设备向第二设备发送调制数据时,需要的发送时长为335*8/4=770微秒(us),由于770us小于1.25ms,因此第一设备需要通过1次发送,就可以将调制数据完整的发送至第二设备,减少第一设备向第二设备发送数据的次数,进而减少发送时延。

s314:第一设备根据调制数据,确定音频包,该音频包包括调制数据和包头。

可选地,第一设备可以根据预设通信协议标准,对调制数据和包头信息进行组帧处理,得到音频包。

s315:第一设备在第一时隙中向第二设备发送音频包。

本发明实施例提供的数据传输方法包括:数据源设备将第一设备发送数据包。第一设备在第一时隙中接收数据包,数据包为噪声或者从数据源接收到的数据包。第一设备判断数据包中是否包括同步信息和包头。若是,第一设备确定链路状态为空闲状态。如否,第一设备在数据包中获取第一同步信息。第一设备获取第一同步信息和预设同步信息的相关度。第一设备判断相关度是否小于第一阈值。若是,第一设备确定链路状态为空闲状态。如否,第一设备在包头中获取第一校验信息和第二信息,第二信息为包头中除第一校验信息之外的信息。第一设备根据第二信息生成第二校验信息。第一设备判断第一校验信息和第二校验信息是否相同。若否,第一设备确定链路状态为空闲状态。若是,判断数据包的类型是否为第一类型、或者数据包中是否不包括负载。若是,第一设备确定链路状态为空闲状态。若否,第一设备确定链路状态为繁忙状态。第一设备通过预设调制方式和预设物理带宽,对第一设备在第一时隙中向第二设备待发送的音频数据进行调制处理,得到调制数据。第一设备根据调制数据,确定音频包,音频包包括调制数据和包头。第一设备在第一时隙中向第二设备发送音频包。在上述方法中,第一设备确定链路状态为空闲状态时,在第一时隙中向第二设备发送音频包,使得第一设备无需浪费与数据源设备的正常通信时长,向第二设备发送音频包,提高了第一设备和数据源设备的通信效率、以及第一设备向第二设备发送音频包的发送效率。进一步地,第一设备向第二设备发送的音频包中的调制数据为通过预设调制方式和预设物理带宽对向第二设备待发送的音频数据进行调制处理后得到的,因此,减少第一设备向第二设备完整发送音频包的次数,进而减少发送时延。

在上述实施例的基础上,下面结合图4实施例,对本申请提供的数据传输方法作进一步的说明。具体的,请参见图4实施例。

图4为本发明实施例提供的数据传输方法的流程示意图三。如图4所示,数据传输方法包括:

s401:第一设备向第二设备发送第一设备与数据源设备之间的链路信息,链路信息用于第二设备与数据源设备建立第一双向链路。

具体的,第一双向链路使第二设备侦听数据源设备向第一设备发送的数据包,并按照预设条件根据侦听结果反馈确认信息。

进一步的,预设条件可以为在第二设备没有侦听到数据源设备向第一设备发送的数据包时,向数据源设备发送第一信息,该第一信息指示第二设备没有收到数据包;在第二设备侦听到数据源设备向第一设备发送的数据包时,不向数据源设备发送第一信息。

s402:数据源设备向第一设备发送数据包。

具体的,s402的执行方法与s301的执行方法相同,此处,不再赘述s402的执行过程。

s403:第一设备在第一时隙中接收数据源设备发送的数据包,。

s404:第一设备根据数据包确定数据源设备与第一设备之间的通信链路的链路状态为空闲状态。

需要说明的是,第一设备在第一时隙中接收数据源设备发送的数据包的执行方法与s402的执行方法相同,此处,不再赘述第一设备在第一时隙中接收数据源设备发送的数据包的执行过程。

进一步地,第一设备根据数据包确定链路状态为空闲状态的执行方法可以参见s301~s312的执行方法,此处不再赘述第一设备根据数据包确定链路状态为空闲状态的执行过程。

s404:第二设备接收第一设备与数据源设备之间的链路信息,链路信息用于第二设备与数据源设备建立第一双向链路,并根据第一双向链路侦听数据源设备向第一设备发送的数据包。

可选地,第二设备接收到的链路信息可以为第一设备发送的,也可以为数据源设备发送的。

需要说明的是,第二设备根据数据包确定是否成功侦听数据源设备向第一设备发送数据包。

在一种可能的实施方式中,在第二设备在第一时隙中对数据源设备向第一设备发送的数据包侦听失败后,第二设备的状态为接收状态。即第二设备可以接收第一设备发送的数据。

s405:第一设备向第二设备发送当前数据帧的标识。

需要说明的是,当前数据帧的标识为第一设备中缓存的最新数据帧的标识。

可选地,数据帧的标识的可以为连续序号,例如:0、1、2等,还可以为其它连续数据组合,例如00、01、10等。具体的,本申请中不限定标识的具体表示形式。

s406:第二设备接收当前数据帧的标识。

s407:第二设备向第一设备发送侦听信息,侦听信息用于指示第二设备对n个数据帧的接收状态,n个数据帧包括当前数据帧、以及位于当前数据帧之前且距离当前数据帧最近的n-1个数据帧,接收状态为接收成功或接收失败,n为大于或等于1的整数。

可选地,n可以为1、2、3等。

可选地,接收状态可以为“1”或“0”,其中,“1”表示接收成功,“0”表示接收失败,还可以为“ture”或“flase”,其中,“ture”表示接收成功,“flase”表示接收失败。

例如,n为5、接收状态为“1”或“0”时,若采用序号1、2、3、4、5分别标识个数据帧,则侦听信息可以包括1-1、0-2、1-3、1-4、1-5,其中,1-1表示接收成功第一个数据帧,2-0表示接收失败第二个数据帧,3-1接收成功第三个数据帧,4-1接收成功第四个数据帧,5-1接收成功第五个数据帧。

s408:第一设备接收第二设备发送的侦听信息,并根据侦听信息,确定第二设备未侦听到的数据帧。

可选的,第一设备存储有成功缓存过的数据帧的标识,或者存储有缓存过的数据帧的标识、以及每个数据帧的接收状态(为接收成功)。

可选地,第一设备可以根据成功缓存过的数据帧的标识(或者缓存过的数据帧的标识、以及每个数据帧的接收状态)和侦听信息,确定第二设备未侦听到的数据帧。

例如,第一设备根据成功缓存过的数据帧的标识和侦听信息,确定第二设备未侦听到的数据帧时,若侦听信息包括1-1、0-2、1-3、1-4、1-5,成功缓存过的数据帧的标识中存在1、2、3、4、5,则可以确定第二设备未侦听到的数据帧为标识为2对应的数据帧。

s409:第一设备在第一时隙向第二设备发送第二设备未侦听到的数据帧。

可选地,第一设备可以直接向第二设备发送未侦听到的数据帧,也可以为通过预设调制方式和预设物理带宽对未侦听到的数据帧中音频数据进行调制,进行调制数据,将调制数据和包头信息得到侦听到的数据帧,并将第二设备发送未侦听到的数据帧。

本申请提供的数据传输方法包括:第一设备向第二设备发送第一设备与数据源设备之间的链路信息,链路信息用于第二设备与数据源设备建立第一双向链路。数据源设备向第一设备发送数据包。第一设备在第一时隙中接收数据源设备发送的数据包,并根据数据包确定数据源设备与第一设备之间的通信链路的链路状态为空闲状态。第二设备接收第一设备与数据源设备之间的链路信息,并根据链路信息与第二设备与所述数据源设备建立第一双向链路,并根据第一双向链路侦听数据源设备向第一设备发送的数据包。第一设备向第二设备发送当前数据帧的标识。第二设备接收当前数据帧的标识,并向第一设备发送侦听信息,侦听信息用于指示第二设备对n个数据帧的接收状态,n个数据帧包括当前数据帧、以及位于当前数据帧之前且距离当前数据帧最近的n-1个数据帧,接收状态为接收成功或接收失败,n为大于或等于1的整数。第一设备接收第二设备发送的侦听信息,并根据侦听信息,确定第二设备未侦听到的数据帧。第一设备在第一时隙向第二设备发送第二设备未侦听到的数据帧。上述过程中,第二设备侦听数据源设备向第一设备发送的数据包,第一设备向第二设备发送第二设备未侦到的数据帧,减少了第一设备向第二设备发送的数据量,提高了第一设备向第二设备发送数据的发送速率。

下面以第一设备接收的数据包为第一类型(poll类型或null类型)时,结合图5对第一时隙进行说明。

图5为本发明实施例提供的第一时隙的时隙结构。如图5所示,第一时隙50包括2个时隙,2个时隙分别为时隙1、时隙2,其中,每个时隙包括两个半时隙,每个半时隙的时长为312.5微秒,每个时隙的时长为625微秒。

其中,包头时隙51和空闲时隙52占用第一时隙50包括4个时隙。需要说明的是,包头时隙51通常占用126微秒,空闲时隙52通常占用1124微秒(1.25毫秒-126微秒)。因此,第一设备可以在空闲时隙52(1124微秒)中向第二设备发送音频数据。

图6为本发明实施例提供数据传输装置的结构示意图。如图6所示,数据传输装置10包括:接收模块11、确定模块12和发送模块13,其中,

所述接收模块11用于,所述第一设备在第一时隙中接收数据包,所述数据包为噪声或者从所述数据源设备接收到的数据包;

所述确定模块12用于,所述第一设备根据所述数据包确定所述数据源设备和所述第一设备之间的链路状态,所述链路状态为空闲状态或者繁忙状态;

所述发送模块13用于,在所述第一设备确定所述链路状态为空闲状态时,在所述第一时隙中向所述第二设备发送音频数据,所述音频数据为所述第一设备从所述数据源设备接收到的音频数据。

本申请提供的数据传输装置10应用于音频设备组中的第一设备,所述第一设备分别与数据源设备和第二设备无线连接,所述第二设备为所述音频设备组中除所述第一设备之外的设备,

本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。

在一种可能的设计中,所述确定模块12具体用于:

所述第一设备判断所述数据包中是否包括同步信息和包头;

若否,则所述第一设备确定所述链路状态为空闲状态;

若是,则所述第一设备根据所述数据包的包头和/或所述数据包中是否包括负载,确定所述链路状态。

在另一种可能的设计中,所述确定模块12具体用于:

所述第一设备在所述数据包中获取第一同步信息;

所述第一设备获取所述第一同步信息和所述预设同步信息的相关度;

所述第一设备根据所述相关度,确定所述链路状态。

在另一种可能的设计中,所述确定模块具体用于:

若确定所述相关度小于第一阈值,则所述第一设备确定所述链路状态为所述空闲状态;

若确定所述相关度大于等于所述第一阈值,则所述第一设备根据对所述包头进行校验的校验结果,确定所述链路状态。

在另一种可能的设计中,所述确定模块12具体用于:

所述第一设备在所述包头中获取第一校验信息和第二信息,所述第二信息为所述包头中除所述第一校验信息之外的信息;

所述第一设备根据所述第二信息生成第二校验信息;

若所述第一校验信息和所述第二校验信息不相同,则所述第一设备确定所述链路状态为空闲状态;

若所述第一校验信息和所述第二校验信息相同,则根据所述包头中的数据包类型和/或所述数据包中是否包括负载,所述第一设备确定所述链路状态。

在另一种可能的设计中,所述确定模块12具体用于:

若所述数据包的类型为第一类型,或者所述数据包中不包括负载,则所述第一设备确定所述链路状态为空闲状态,所述第一类型用于指示所述数据包不包括负载;

若所述数据包的类型为第二类型,或者所述数据包中包括负载,则所述第一设备确定所述链路状态为繁忙状态。

在另一种可能的设计中,所述发送模块13具体用于:

所述第一设备通过预设调制方式和预设物理带宽,对所述音频数据进行调制处理,得到调制数据;

所述第一设备根据所述调制数据,确定所述音频包,所述音频包包括所述调制数据和包头;

所述第一设备向所述第二设备发送所述音频包。

在另一种可能的设计中,所述发送模块13具体用于:

所述第一设备向所述第二设备发送当前数据帧的标识;

所述第一设备接收所述第二设备发送的侦听信息,所述侦听信息用于指示所述第二设备对n个数据帧的接收状态,所述n个数据帧包括所述当前数据帧、以及位于当前数据帧之前且距离所述当前数据帧最近的n-1个数据帧,所述接收状态为接收成功或接收失败,所述n为大于或等于1的整数;

所述第一设备根据所述侦听信息,确定所述第二设备未侦听到的数据帧;

所述第一设备向所述第二设备发送所述第二设备未侦听到的数据帧。

在另一种可能的设计中,所述发送模块13具体用于:所述第一设备向所述第二设备发送当前数据帧的标识之前,所述第一设备向所述第二设备发送所述第一设备与所述数据源设备之间的链路信息,所述链路信息用于所述第二设备与所述数据源设备建立第一双向链路。

在另一种可能的设计中,在所述第二设备在所述第一时隙中对所述数据源设备向所述第一设备发送的数据包侦听失败后,所述第二设备的状态为接收状态。

在另一种可能的设计中,所述无线连接为蓝牙连接。

在另一种可能的设计中,所述预设调制方式为正交相移键控或者八相移键控,所述预设物理带宽为2兆赫兹,物理速率为4兆或6兆比特/秒。

本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。

图7为本发明实施例提供的数据传输装置的硬件结构示意图。如图7所示,数据传输装置20包括:处理器21和存储器22,其中,

存储器22用于,存储计算机执行指令;

处理器21用于,执行存储器中存储的计算机执行指令,使得处理器执行上述任意方法实施例数据传输方法。

可选地,存储器22既可以是独立的,也可以跟处理器201集成在一起。

当存储器22独立设置时,该数据传输装置还包括总线203,用于连接存储器22和处理器21。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中计算机执行指令,当处理器执行计算机执行指令时,实现如上述任意方法实施例中的数据传输方法。

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

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例的方法的部分步骤。

应理解,上述处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

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

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