一种数据传输方法及装置、终端、存储介质与流程

文档序号:20050107发布日期:2020-03-03 04:32阅读:158来源:国知局
一种数据传输方法及装置、终端、存储介质与流程

本发明涉及通信技术领域,尤其涉及一种数据传输方法及装置、终端、存储介质。



背景技术:

随着通信和信息技术的不断发展,短距离无线通信技术的应用步伐不断加快,正日益走向成熟。一般意义上,只要通信收发双方通过无线电波传输信息且传输距离限制在一定范围以内,就可称为短距离无线通信。常见的短距离通信包括:蓝牙通信、近场通信(nearfieldcommunication,nfc)等。短距离通信基于其传输速度、耗电量等优势有其广泛的应用场景,然而,短距离通信终究不能越过距离的束缚,到目前为止,对于超出有效通信距离的无线设备之间如何实现数据传输功能,还未出现可行的解决方案。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种数据传输方法及装置、终端、存储介质,能够使得超出有效通信距离的终端设备之间实现无线通信功能。

本发明的技术方案是这样实现的:

第一方面,本发明实施例提供一种数据传输方法,应用于第一终端中,所述方法包括:

确定自身与第二终端的第一距离,所述第一终端为终端集合中的一个终端,所述第二终端为所述终端集合中除所述第一终端外的其他终端;

获取所述第二终端中多个子终端之间的第二距离;

根据所述第一距离和所述第二距离,确定将所述第一终端作为中转设备实现数据传输。

在上述方案中,所述根据所述第一距离和所述第二距离,确定将所述第一终端作为中转设备实现数据传输,包括:

根据所述第一距离和所述第二距离分别获取所述终端集合中的任一终端与其他终端的距离和;

若所述第一终端与所述第二终端的距离和最小,且所述第一距离在通信距离之内,则将所述第一终端作为中转设备实现数据传输。

在上述方案中,所述第二终端包括第一子终端和第二子终端,所述将所述第一终端作为中转设备实现数据传输,包括:

获取所述第一子终端发送的数据的目的地址;

接收所述第一子终端发送的所述数据;

若所述目的地址对应所述第二子终端,则与所述第二子终端建立通信连接;

基于所述通信连接,发送所述数据给所述第二子终端。

在上述方案中,所述基于所述通信连接,发送所述数据给所述第二子终端之后,所述方法还包括:

接收所述第二子终端的反馈信息,断开与所述第二子终端的通信连接。

第二方面,本发明实施例提供一种数据传输方法,应用于第二终端中,所述第二终端为所述终端集合中除第一终端外的其他终端,所述第一终端为所述终端集合中的一个终端,所述方法包括:

确定自身多个子终端之间的第二距离;

获取与所述第一终端的第一距离;

根据所述第一距离和所述第二距离,确定接收所述第一终端的中转操作实现数据传输。

在上述方案中,所述根据所述第一距离和所述第二距离,确定接收所述第一终端的中转操作实现数据传输,包括:

根据所述第一距离和所述第二距离分别获取所述终端集合中的任一终端与其他终端的距离和;

若所述第一终端与所述第二终端的距离和最小,且所述第一距离在通信距离之内,则接收所述第一终端的中转操作实现数据传输。

在上述方案中,所述第二终端包括第一子终端和第二子终端,所述接收所述第一终端的中转操作实现数据传输,包括:

所述第一子终端指定数据的目的地址,向所述第一终端发送所述数据;

若所述数据的目的地址是所述第二子终端,则所述第二子终端和所述第一终端建立通信连接;

基于所述通信连接,所述第二子终端接收所述第一终端转发的所述数据。

第三方面,本发明实施例提供一种第一数据传输装置,所述装置包括:

第一确定单元,用于确定自身与第二数据传输装置的第一距离,所述第一数据传输装置为数据传输装置中的一个装置,所述第二数据传输装置为所述数据传输装置中除所述第一数据传输装置外的其他装置;

第一获取单元,用于获取所述第二数据传输装置中多个子装置之间的第二距离;

第一数据传输单元,用于根据所述第一距离和所述第二距离,将所述第一数据传输装置作为中转装置实现数据传输。

第四方面,本发明实施例提供一种第二数据传输装置,所述装置包括:

第二确定单元,用于确定所述第二数据传输装置中多个子装置之间的第二距离;

第二获取单元,用于获取和第一数据传输装置的第一距离;所述第一数据传输装置为数据传输装置中不同于所述第二数据传输装置的一个装置;

第二数据传输单元,用于根据所述第一距离和所述第二距离接收所述第一数据传输装置的中转操作实现数据传输。

第五方面,本发明实施例提供一种第一终端,所述第一终端至少包括第一处理器、第一存储器、第一通信接口及第一总线,其中,

所述第一通信总线用于实现所述第一处理器、所述第一通信接口和所述第一存储器之间的连接通信;

所述第一通信接口,用于接收和发送数据;

所述第一处理器,用于执行所述第一存储器中存储的数据传输程序,并通过所述第一通信接口接收和发送数据,以实现如上第一方面中所述的方法。

第六方面,本发明实施例提供一种第二终端,所述第二终端至少包括第二处理器、第二存储器、第二通信接口及第二总线,其中,

所述第二通信总线用于实现所述第二处理器、所述第二通信接口和所述第二存储器之间的连接通信;

所述第二通信接口,用于发送和接收数据;

所述第二处理器,用于执行所述第二存储器中存储的数据传输程序,并通过所述第二通信接口发送和接收数据,以实现如上第二方面所述的方法。

第七方面,本发明实施例提供一种第一计算机可读存储介质,其上存储有数据传输程序,所述数据传输程序被第一处理器执行时实现如上第一方面所述的方法。

第八方面,本发明实施例提供一种第二计算机可读存储介质,其上存储有数据传输程序,所述数据传输程序被第二处理器执行时实现如上第二方面所述的方法。

本发明实施例提供了一种数据传输方法及装置、终端、存储介质,应用于第一终端中,所述方法包括:确定自身与第二终端的第一距离,所述第一终端为终端集合中的一个终端,所述第二终端为所述终端集合中除所述第一终端外的其他终端;获取所述第二终端中的多个子终端之间的第二距离;根据所述第一距离和所述第二距离,确定将所述第一终端作为中转设备实现数据传输。如此,本发明实施例提出的一种数据传输方法,通过借助中转设备,使得超出有效距离的终端设备之间能执行无线通信功能,以实现多个终端设备之间的数据传输。

附图说明

图1为本发明实施例提供的一种数据传输方法;

图2为本发明实施例中蓝牙中转设备选取的示意图;

图3为本发明实施例中可实现蓝牙对讲的蓝牙设备的结构图;

图4为本发明实施例中蓝牙对讲设备之间的控制链路图;

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

图6为本发明实施例又提供的一种数据传输方法;

图7为本发明实施例提出的一种数据传输方法的流程示意图二;

图8为本发明实施例中蓝牙中转设备确定过程的交互流程图;

图9为本发明实施例提出的一种蓝牙多人对讲方法的交互流程图一;

图10为本发明实施例提出的一种蓝牙多人对讲方法的交互流程图二;

图11为本发明实施例提出的一种蓝牙多人对讲方法的交互流程图三;

图12为本发明实施例提供的一种第一数据传输装置;

图13为本发明实施例提供的一种第一数据传输装置中第一数据传输单元的模块图;

图14为本发明实施例提出的第一终端的组成结构示意图;

图15为本发明实施例提供的一种第二数据传输装置;

图16为本发明实施例提供的一种第二数据传输装置中第二数据传输单元的模块图;

图17为本发明实施例提出的第二终端的组成结构示意图。

具体实施方式

常见的短距离通信设备有蓝牙设备、nfc设备等,在本发明的实施例中,参与数据传输的终端集合由三个或三个以上的短距离通信终端构成,且终端集合中的每个终端中均含有终端应用(application,app),具备用户界面(userinterface,ui)交互能力。终端应用中含有需要建立数据传输的终端的身份标识,该身份标识保存在设备信息表中。当需要新增一个终端时,用户在其中一个终端的应用中进行登记,并将设备信息表同步给所有其他终端。

具体的,在本发明的实施例中,以蓝牙设备为例进行说明。蓝牙设备使用蓝牙技术,蓝牙技术是一种无线技术标准,可实现无线连接电脑、便携设备、移动电话、打印机、数码相机、耳麦、键盘甚至是电脑鼠标之间的短距离数据交换,其有效蓝牙通信距离是100m。蓝牙技术是一种新型的低成本、低功率、近距离无线连接技术标准的代称,是实现数据与语音无线传输的开发性规范,使用了全球通用的频带(2.4ghz),以确保能在世界各地通行无阻。目前,几乎所有的智能手机都配备了蓝牙功能。

传统的蓝牙功能有文件传输、语音通话、音乐回放等。蓝牙语音通话基于蓝牙免提协议(hands-freeprofile,hfp),实现手机蓝牙和蓝牙耳机类设备之间的实时语音传输。蓝牙音乐回放基于蓝牙高级音频分发协议(advancedaudiodistributionprofile,a2dp),将手机上的音乐发送给立体声蓝牙耳机类设备。

在本发明的实施例中,以3个蓝牙终端之间的数据传输为例进行说明。3个蓝牙终端分为2类:第一终端和第二终端。其中,第一终端是指在蓝牙数据传输过程中起中转作用的蓝牙终端,在本发明的实施例中称之为蓝牙终端a;第二终端是指在蓝牙数据传输过程中除蓝牙中转设备之外的其他蓝牙终端,在本发明的实施例中,第二终端中包括蓝牙终端b和蓝牙终端c。本发明实施例将从第一终端和第二终端的角度进行多侧的描述。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

首先以第一终端作为中转设备的选取过程为例进行说明

实施例一

图1为本发明实施例提供的一种数据传输方法,应用于第一终端中,如图1所示,该方法可以包括如下步骤:

s101、确定自身与第二终端的第一距离,第一终端为终端集合中的一个终端,第二终端为终端集合中除第一终端外的其他终端。

在本发明实施例中,第一终端确定自身与第二终端的第一距离,以便于根据距离来判断将哪个终端作为中转设备。

进一步地,在本发明实施例中,第一终端会分别记录与设备信息表中的其他终端之间距离,即第一终端会分别记录与第二终端中的子终端之间的距离,通过将所有距离相加,即将第一距离加和确定出第一终端与第二终端的第一距离和。

示例性的,在本发明实施例中,不同蓝牙终端之间,相互搜索配对,获取两两之间的信号强度指示(receivedsignalstrengthindicator,rssi),并上传至终端中的应用。具体的,作为第一终端的蓝牙终端a,分别记录与蓝牙终端b的rssi值对应的第一距离以及和蓝牙终端c的rssi值对应的第一距离并上传至终端中的应用,终端中的应用将上述第一距离相加作为第一距离和。

s102、获取第二终端中多个子终端之间的第二距离。

在本发明的实施例中,第一终端获取第二距离以便于根据距离来判断将哪个终端作为中转设备。

进一步地,在本发明的实施例中,第一终端获取第二终端中多个子终端之间的第二距离,并根据第二距离以及第一距离确定第二终端中任一子终端的第二距离和。

示例性的,在本发明实施例中,作为第一终端的蓝牙终端a,通过app同步获取蓝牙终端b和蓝牙终端c的rssi值对应的第二距离与蓝牙终端a和蓝牙终端b的rssi值对应的第一距离相加,获得其中一份第二距离和。同时,作为第一终端的蓝牙终端a,通过app同步获取蓝牙终端c和蓝牙终端b的rssi值对应的第二距离与蓝牙终端a和蓝牙终端c的rssi值对应的第一距离相加,获得另一份第二距离和。

需要说明的是,在本发明实施例中,当有三个参与数据传输的终端设备时,第一终端获取的第二距离和为2份,当有n个参与数据传输的终端设备时,第一终端获取n-1份第二距离和,其中n为大于3的自然数。且,在本发明实施例中,不同终端设备之间的距离值的同步基于无线协议(wireless-fidelity,wi-fi)来获取,示例性的,如rssi值的同步,是基于wi-fi来同步的。

s103、根据第一距离和第二距离,确定将第一终端作为中转设备实现数据传输。

在本发明实施例中,通过上述获得的第一距离和第二距离,根据距离来判断将哪个终端设备作为中转设备。

如上述s101和s102中所述的,在本发明的实施例中,第一终端根据第一距离和第二距离分别获取终端集合中的任一终端与其他终端的距离和。

进一步地,在本发明的实施例中,第一终端在获取距离和后,若第一终端与第二终端的距离和最小,且第一距离在通信距离之内,则将所述第一终端作为中转设备实现数据传输。

具体的,在本发明实施例中,第一终端在根据第一距离和第二距离计算获得第一距离和以及至少2份第二距离和之后,会比较第一距离和以及至少2份第二距离和,在第一距离和最小且第一终端与第二终端在通信距离之内时,则将第一终端作为中转设备,通过中转设备实现数据传输。

通过中转设备实现数据传输包括:通过中转设备实现不在通信距离之内的多个终端间的数据中转,还可进一步地通过中转设备发送数据给终端设备中的任一终端或多个终端。

示例性的,在本发明实施例中,以通过蓝牙中转设备实现不在通信距离之内的多个蓝牙终端间的数据中转为例进行说明。蓝牙最大有效通信范围是100米(m),即蓝牙通信距离是100m。第一终端分别与第二终端在通信距离之内就是指第一终端与第二终端在100m之内。也就是说,当有n个参与蓝牙数据传输的蓝牙设备时,第一终端与第二终端的距离和小于(n-1)*100m。示例性的,如有5个参与数据传输的蓝牙设备,则第一终端与第二终端的距离和应该小于400m。

满足以上第一距离和最小且第一终端与第二终端在通信距离之内的条件下,第一终端作为中转设备。具体的,在本发明实施例中,蓝牙终端a和蓝牙终端b的距离是80m,蓝牙终端a和蓝牙终端c的距离是60m,蓝牙终端b和蓝牙终端c的距离是140m,则蓝牙终端a的第一距离和是140m,蓝牙终端b的第二距离和是220m,蓝牙终端c的第二距离和是200m。可知,此时第一距离和最小,且蓝牙终端a与蓝牙终端b和蓝牙终端c的通信距离都在100m之内,则将蓝牙终端a作为中转设备。在确认了蓝牙终端a作为中转设备之后,终端b和终端c即使超出了蓝牙通信距离,依然可以通过蓝牙终端a实现中转,实现蓝牙终端a、蓝牙终端b和蓝牙终端c之间的多人数据传输。

需要说明的是,在本发明实施例中,终端中的应用在确认好中转设备之后,会将第一终端作为中转设备的身份标识信息告知所有终端设备。且,在首次确认了中转设备之后,参与数据传输的终端设备中还会动态记录相互之间的距离,以避免终端设备的位置关系发生变化,导致不能实现有效的数据传输。

示例性的,在本发明实施例中,蓝牙终端a、蓝牙终端b和蓝牙终端c会主动上报自身和其他蓝牙终端的两者之间的rssi值到终端中的应用。终端中的应用在收到上报的rssi值之后,当根据rssi值判断此时蓝牙终端b与蓝牙终端a和蓝牙终端c的距离之和最小时,且蓝牙终端b和蓝牙终端a以及蓝牙终端c的距离值在蓝牙通信距离之内,则将蓝牙终端b作为新的中转设备,并通知给蓝牙终端a、蓝牙终端b和蓝牙终端c。

需要说明的是,在本发明实施例中,假设总能找到这样一个中转设备,且因中转设备确认过程的耗时基本可以忽略,在传输过程中终端设备之间相互位置关系发生变化的情形不在本发明实施例的考虑范围之内。

基于以上,示例性的,图2为本发明实施例中蓝牙中转设备选取的示意图,在实现多个蓝牙设备数据传输之前,如图2所示,包括如下三个过程:1、蓝牙设备之间搜索配对;2、通过rssi计算相互之间的距离;3、确认蓝牙中转设备。如此,本发明实施例提出的一种蓝牙多人数据传输方法,通过借助确认蓝牙中转设备,使得超出有效蓝牙距离的蓝牙设备之间能执行蓝牙功能。

在确认好中转设备之后,就可以进行多个终端设备之间的数据传输了,多个终端设备之间的数据传输包括:语音数据、音频文件数据、图像文件数据等。在本发明的实施例中,以多个蓝牙设备之间的对讲为例进行说明,多个蓝牙设备之间发送语音数据。图3为本发明实施例中可实现蓝牙对讲的蓝牙设备的结构图,如图3所示,蓝牙设备的结构由4个模块组成,包括:语音输入模块、语音输出模块、音频模块、蓝牙通信模块。具体的,语音输入模块可以是手机的麦克风,用于接收语音;语音输出模块可以是手机的扬声器,用于播放语音;音频模块接收语音输入模块的语音给蓝牙通信模块,或者是接收蓝牙通信模块的数据提供给语音输出模块,还可以是转发通信模块收到的数据给其他蓝牙设备;蓝牙通信模块,用于和其他蓝牙设备进行通信,收发控制数据和语音数据。本发明实施例中,控制数据建立rfcomm链路传输,语音数据建立面向连接的同步链路(synchronousconnectionoriented,sco)传输。具体的,图4为本发明实施例中蓝牙对讲设备之间的控制链路图,如图4所示,蓝牙终端a和蓝牙终端b、蓝牙终端c之间,通过控制链路和音频链路进行通信连接,实现对蓝牙终端b和蓝牙终端c的语音数据,其中控制链路即为rfcomm链路,音频链路即为sco链路。

需要说明的是,若是进行音频文件数据传输,则可以省去rfcomm链接。设备之间只进行音频数据传输时,除了采用上面的sco链接外,也可以考虑采用蓝牙a2dp协议来实现。

图5为本发明实施例提出的一种数据传输方法的流程示意图一,如图5所示,将第一终端作为中转设备实现数据传输的方法包括如下步骤:

s201、获取第二终端中第一子终端发送的数据的目的地址。

在本发明的实施例中,在实现数据传输前,第一终端基于终端应用会同步获取到第二终端发送的数据的目的地址。

需要说明的是,在本发明实施例中,各终端设备均具备ui能力,且各终端设备中均包含设备信息表,各终端设备均已在设备信息表中注册了身份标识。第一子终端在发送数据之前,先通过第一子终端的app中的ui界面指定需要发送数据的候选终端设备,与此同时,第一终端和第二子终端均可以同步收到该指定内容。由此,第一终端根据身份标识,同步获取到了第一子终端待发送的数据的目的地址。

示例性的,在本发明实施例中,第一子终端可以为蓝牙终端b,第二子终端可以为蓝牙终端c。蓝牙终端b在app的ui界面上指定需要发送的语音数据的目的地址,作为第一终端的蓝牙终端a同步获取到该目的地址,以便于根据目的地址执行相应的功能。

s202、接收第一子终端发送的数据。

在本发明实施例中,第一终端在获知了第一子终端待发送数据的目的地址之后,就可以接收第一子终端发送的数据了。

示例性的,在本发明实施例中,蓝牙终端a接收蓝牙终端b发送的语音数据。

s203、若目的地址对应第二子终端,则与第二子终端建立通信连接。

在本发明实施例中,第一终端在收到第一子终端发送的数据后,需要判断数据的目的地址,以便于执行相应的操作。

示例性的,在本发明实施例中,蓝牙终端a在收到蓝牙终端b发送的语音数据后,会根据之前同步获取到的语音数据的目的地址,确定下一步执行的操作。

进一步地,若第一终端判断出第一子终端发送的数据的目的地址对应自身,则第一终端的响应数据即可。示例性的,在本发明实施例中,蓝牙终端a判断蓝牙终端b发送的语音数据的目的地址为自身,则蓝牙终端a的语音输出模块响应该语音数据即可。

进一步地,在本发明实施例中,若第一终端判断出第一子终端发送的数据的目的地址对应第二子终端,则第一终端与第二子终端建立通信连接。

需要说明的是,在本发明实施例中,为节约功耗,第一终端接收到第一子终端的数据后,会断开与第一子终端的连接。

且,进一步地,若第一子终端发送的数据的目的地址对应第一终端和第二子终端,则第一终端会响应数据,且第一终端会与第二子终端建立通信连接。

示例性的,在本发明实施例中,蓝牙终端a接收蓝牙终端b的语音数据,若蓝牙终端a判断该语音数据的目的地址是蓝牙终端c,则蓝牙终端a与蓝牙终端c建立通信连接;进一步地,若蓝牙终端a判断该语音数据的目的地址是蓝牙终端a和蓝牙终端c,则蓝牙终端a的语音输出模块响应该语音数据,且蓝牙终端a与蓝牙终端c建立通信连接。

s204、基于通信连接,发送数据给第二子终端。

在本发明的实施例中,第一终端基于和第二子终端建立的通信连接,将数据转发给第二子终端,由此实现了第一子终端和第二子终端之间的数据传输。

进一步地,第一终端在转发数据给第二子终端后,会接收到第二子终端的执行反馈,并断开与第二子终端的通信连接,以节约功耗。

本发明实施例提出的一种数据传输方法,通过中转设备,使得超出通信距离的第二终端之间能实现数据的传输。

需要说明的是,在本发明实施例中,作为中转设备的第一终端,也可直接向第二终端传输数据,即第一终端可同时向第一子终端和第二子终端传输数据;也可以是第一终端仅向第一子终端或第二子终端传输数据,且,当第一子终端和第二子终端在通信距离之内时,也可以通过第一终端来实现中转。

示例性的,在本发明实施例中,若蓝牙终端a判断语音数据的目的地址是蓝牙终端c时,蓝牙终端a基于与蓝牙终端c建立的通信连接;转发语音数据给蓝牙终端c。同理,蓝牙终端c也可以通过蓝牙终端a给蓝牙终端b发送语音数据,由此实现超过蓝牙通信距离的蓝牙终端b和蓝牙终端c之间能实现对讲,当蓝牙终端b和蓝牙终端c在通信距离之内时,也可以通过蓝牙终端a来中转。

下面以第二终端为例进行说明。

实施例二

图6为本发明实施例又提供的一种数据传输方法,应用于第二终端中,第二终端为终端集合中除第一终端外的其他终端,如图6所示,所述方法包括:

s301、确定自身多个子终端之间的第二距离。

在本发明实施例中,第二终端中包括多个子终端,多个子终端之间会计算彼此之间的第二距离。

需要说明的是,在本发明实施例中,终端集合中的每个终端设备中均具备用户ui交互能力且含有终端应用,该终端应用中含有所有可能需要建立数据传输的终端设备的身份标识,该身份标识保存在设备信息表中。当需要新增一个终端设备时,用户在其中一个终端设备的终端应用中进行登记,并将设备信息表同步给所有其他终端设备。

示例性的,在本发明实施例中,不同蓝牙终端之间,相互搜索配对,获取两两之间的rssi值,并上传至终端中的应用。以蓝牙终端b作为第一子终端,蓝牙终端c作为第二子终端进行说明,作为第一子终端的蓝牙终端b,获取蓝牙终端b和蓝牙终端c的rssi值对应的距离即为第二距离,同时蓝牙终端c也会同步获取到该第二距离。

s302、获取与第一终端的第一距离。

在本发明实施例中,第二终端会获取与第一终端的第一距离。具体的,第二终端中的多个子终端,分别获取和第一终端的第一距离。

示例性的,在本发明实施例中,作为第二终端的蓝牙终端b和蓝牙终端c,分别获取与蓝牙终端a的rssi值对应的第一距离。

s303、根据第一距离和第二距离,确定接收第一终端的中转操作实现数据传输。

在本发明实施例中,通过上述获得的第一距离与第二距离,第二终端确定接收第一终端的中转操作实现数据传输。

进一步地,在本发明的实施例中,第二终端根据第一距离和第二距离分别获取终端集合中的任一终端与其他终端的距离和;若第一终端与第二终端的距离和最小,且第一终端与第二终端的第一距离在通信距离之内,则接收第一终端的中转操作实现数据传输。

示例性的,在本发明的实施例中,蓝牙终端a将与蓝牙终端b的第一距离以及蓝牙终端a与蓝牙终端c的第一距离相加,获得第一距离和;蓝牙终端b将与蓝牙终端a的第一距离以及蓝牙终端b与蓝牙终端c的第二距离相加作为其中一份第二距离和;蓝牙终端c将与蓝牙终端a的第一距离以及与蓝牙终端b的第二距离相加作为另一份第二距离和。通过比较第一距离和以及2份第二距离和,在蓝牙终端a的第一距离和最小且蓝牙终端a与蓝牙终端b和蓝牙终端c在通信距离之内时,则蓝牙终端b和蓝牙终端c接收蓝牙终端a的中转操作实现数据传输。

由此,在本发明实施例中,通过第一距离与第二距离,第二终端接收第一终端的中转操作实现数据传输,保证了第二终端中超过通信距离的多个子终端间可进行通信。

图7为本发明实施例提出的一种数据传输方法的流程示意图二,如图7所示,第二终端包括第一子终端和第二子终端,第二终端接收第一终端的中转实现数据传输的方法包括如下步骤:

s401、第一子终端指定数据的目的地址,向第一终端发送数据。

在本发明的实施例中,在实现数据传输之前,第一子终端先指定待传输的数据的目的地址,再向第一终端发送数据。

需要说明的是,在本发明实施例中,第一子终端在发送数据之前,先通过第一子终端的app中的ui界面指定需要发送数据的候选终端设备,与此同时,第一终端和第二子终端均可以同步收到该指定内容。

示例性的,在本发明实施例中,第一子终端可以为蓝牙终端b,第二子终端可以为蓝牙终端c。蓝牙终端b在app的ui界面上指定需要发送的语音数据的目的地址,作为第一终端的蓝牙终端a同步获取到该目的地址,以便于根据目的地址执行相应的功能。

s402、若数据的目的地址是第二子终端,则第二子终端和第一终端建立通信连接。

在本发明实施例中,若第一终端判断出第一子终端发送的数据的目的地址对应第二子终端,则第二子终端和第一终端建立通信连接。

需要说明的是,在本发明实施例中,为节约功耗,第一子终端在向第一终端发送完数据后,会断开与第一终端的连接。

示例性的,在本发明实施例中,蓝牙终端a接收蓝牙终端b的语音数据,若蓝牙终端a判断该语音数据的目的地址是蓝牙终端c,则蓝牙终端a与蓝牙终端c建立通信连接。

s403、基于通信连接,第二子终端接收第一终端转发的数据。

在本发明的实施例中,第二子终端基于和第一终端建立的通信连接,接收第一终端转发的数据,由此实现了超过通信距离的第一子终端和第二子终端之间的数据传输。

进一步地,第二子终端在收到第一终端转发的数据后,会向第一终端反馈接收成功的消息,并断开与第一终端的通信连接,以节约功耗。

示例性的,在本发明实施例中,以通过蓝牙中转设备实现不在通信距离之内的多个蓝牙终端间的数据中转为例进行说明。具体的,若蓝牙终端a判断语音数据的目的地址是蓝牙终端c时,蓝牙终端a基于与蓝牙终端c建立的通信连接;转发语音数据给蓝牙终端c。同理,蓝牙终端c也可以通过蓝牙终端a给蓝牙终端b发送语音数据,由此实现超过蓝牙通信距离的蓝牙终端b和蓝牙终端c之间能实现对讲。

本发明实施例提出的一种数据传输方法,通过中转设备,使得超出通信距离的第二终端之间能实现数据的传输。

实施例三

基于上述实施例一至实施例二的同一发明构思,以蓝牙终端之间的对讲为例进行说明,本发明实施例提供了一种蓝牙多人数据传输方法,应用于第一终端和第二终端中。其中,所述第一终端和第二终端均具有蓝牙芯片功能,且第一终端和第二终端是具备ui处理能力的智能终端,第二终端中包括至少2个蓝牙终端。具体的,在本发明实施例中第一终端用蓝牙终端a表示,第二终端为用蓝牙终端b和蓝牙终端c表示。蓝牙终端a、蓝牙终端b、蓝牙终端c中均安装有终端应用,可基于wi-fi协议同步数据,且默认存在一个蓝牙中转设备。第一终端和第二终端在进行数据传输的过程中,第一终端确定第一终端与第二终端的第一距离和,第二终端确定第二终端的距离以及第二终端中至少二个子终端之间的距离,确定至少二份第二距离和,比较各距离和之间的大小,当第一距离和最小,且第一终端与第二终端中的各终端均在蓝牙通信距离之内,则第一终端作为蓝牙中转设备,并通过终端中的应用通知给各蓝牙终端。

图8为本发明实施例中蓝牙中转设备确定过程的交互流程图,如图8所示,示例性的,以蓝牙终端a、蓝牙终端b、蓝牙终端c之间通过距离来确定蓝牙中转设备的过程为例进行说明,蓝牙中转设备的确定过程可包括如下步骤:

s501、蓝牙终端a、蓝牙终端b、蓝牙终端c之间相互搜索配对。

s502、蓝牙终端a上传与其他蓝牙终端之间的rssi值到终端应用,终端应用计算dab+dac确定第一距离和,并同步到蓝牙终端b和蓝牙终端c。

需要说明的是,在本发明实施例中,dab指根据蓝牙终端a和蓝牙终端b之间的rssi计算出来的距离值,dac指根据蓝牙终端a和蓝牙终端c之间的rssi计算出来的距离值。

s503、同理,蓝牙终端b上传与其他终端之间的rssi值到终端应用,终端应用计算dba+dbc确定第一份第二距离和,并同步到蓝牙终端a和蓝牙终端c。

s504、同理,蓝牙终端c上传与其他终端之间的rssi值到终端应用,终端应用计算dca+dcb确定第二份第二距离和,并同步到蓝牙终端a和蓝牙终端b。

需要说明的是,在本发明实施例中,s502-s504的过程可同步执行。

s505、蓝牙终端a中的终端应用比较第一距离和和每份第二距离和的大小。

需要说明的是,在本发明实施例中,比较第一距离和和每份第二距离和大小的过程可以在任一蓝牙终端的终端应用中执行,为描述方便,本发明以在蓝牙终端a中比较为例。

s506、当第一距离和最小,则将蓝牙终端a作为蓝牙中转设备。

s507、蓝牙终端a中的终端应用将蓝牙终端a作为中转设备的标识同步到蓝牙终端b和蓝牙终端c。

进一步地,在本发明的实施例中,蓝牙终端a、蓝牙终端b和蓝牙终端c之间的位置关系可能会发生变化,此时,蓝牙终端中会动态记录相互之间的rssi值。蓝牙终端a、蓝牙终端b和蓝牙终端c在获取到新的rssi值之后,会即时上报新的rssi值给终端应用。

终端应用在同步到不同蓝牙终端间的rssi值之后,会动态执行s502-s504中不同蓝牙终端距离和的获取,即获取新的第一距离和和第二距离和,以便更新获取最新的中转设备。

基于上述蓝牙中转设备的确定,以蓝牙多人对讲为例,图9为本发明实施例提出的一种蓝牙多人对讲方法的交互流程图一,如图9所示,示例性的,在本发明的实施例中,蓝牙终端b、蓝牙终端c之间超过蓝牙通信距离,蓝牙终端a作为蓝牙中转设备和蓝牙终端b、蓝牙终端c之间的交互过程可以包括以下步骤:

s601、蓝牙终端b与蓝牙终端a发起对讲。

s602、蓝牙终端b通过蓝牙通信模块向蓝牙终端a发起rfcomm连接。

需要说明的是,在本发明实施例中此rfcomm链路是下面sco链路的基础。

s603、蓝牙终端b判断rfcomm链路是否建立成功。

s604、若rfcomm链路建立失败,重新进行步骤s602。rfcomm链路建立成功,蓝牙终端b向蓝牙终端a发起sco链路连接,此sco链路用作语音发送。

s605、蓝牙终端b判断sco链路是否建立成功。

s606、sco链路建立起来后,蓝牙终端b便可以将语音发送给蓝牙终端a。

s607、蓝牙终端a接收语音后,判断语音的目的地,做不同的操作。

s607-1、目的地仅蓝牙终端a,蓝牙终端a接收完语音后,通过语音输出模块播放声音。

s607-2、目的地仅蓝牙终端c,蓝牙终端a接收完语音后,不播放声音,只转发语音给目的地蓝牙终端c,并向蓝牙终端c发起rfcomm链接;目的地为蓝牙终端a以及蓝牙终端c,蓝牙终端a接收完语音后,播放声音,并向蓝牙终端c发起rfcomm链接。

s608-1、蓝牙终端a断开与蓝牙终端b的rfcomm以及sco链接。

s608-2、若蓝牙终端a向蓝牙终端c发起的rfcomm链路建立失败,重新进行步骤s607-2,蓝牙终端a发起与蓝牙终端c的rfcomm链接。

s609-2、若rfcomm链路建立成功,蓝牙终端a向蓝牙终端c发起sco链路连接。

s610-2、蓝牙终端a判断sco链路是否建立成功。

s611-2、sco链路建立起来后,蓝牙终端a便可以将语音发送给蓝牙终端c。

s612-2、蓝牙终端c标识是否接收完语音。

s613-2、蓝牙终端c接收完语音,一方面通过音频模块传递给语音输出模块,一方面通过蓝牙rfcomm链路反馈给蓝牙终端a语音接收完成。

s614-2、蓝牙终端a收到蓝牙终端c反馈的消息后,断开与蓝牙终端c的rfcomm以及sco链接。

通过以上s601至s614-2,使得超出有效蓝牙距离的蓝牙终端b和蓝牙终端c之间也能实现对讲。

进一步地,图10为本发明实施例提出的一种蓝牙多人对讲方法的交互流程图二,如图10所示,示例性的,在本发明的实施例中,蓝牙终端a向蓝牙终端b、蓝牙终端c发起全员对讲的交互过程可以包括以下步骤:

s701、蓝牙终端a发起与蓝牙终端b以及蓝牙终端c的全员对讲。

s702、蓝牙终端a通过蓝牙通信模块向蓝牙终端b、蓝牙终端c发起rfcomm连接。

需要说明的是,在本发明实施例中此rfcomm链路是下面sco链路的基础。

s703、蓝牙终端a判断rfcomm链路是否建立成功。若rfcomm链路建立失败,重新进行步骤s702。

s704、rfcomm链路建立成功,蓝牙终端a向蓝牙终端b、蓝牙终端c发起sco链路连接,此sco链路用作语音发送。

s705、蓝牙终端a判断sco链路是否建立成功。

s706、sco链路建立起来后,蓝牙终端a便可以将语音发送给蓝牙终端b和蓝牙终端c了。

s707、蓝牙终端b和蓝牙终端c标识语音是否接收完成。

s708、蓝牙终端b和蓝牙终端c接收语音后,一方面通过语音模块传递给语音输出模块,一方面通过蓝牙rfcomm链路反馈给蓝牙终端a语音接收完成。

s709、蓝牙终端a收到蓝牙终端b和蓝牙终端c反馈的消息后,断开与蓝牙终端b、蓝牙终端c的rfcomm以及sco连接。

进一步地,图11为本发明实施例提出的一种蓝牙多人对讲方法的交互流程图三,如图11所示,示例性的,在本发明的实施例中,蓝牙终端a向蓝牙终端b发起全员对讲的交互过程可以包括以下步骤:

s801、蓝牙终端a发起与蓝牙终端b的对讲。

s802、蓝牙终端a通过蓝牙通信模块向蓝牙终端b发起rfcomm连接。

需要说明的是,在本发明实施例中此rfcomm链路是下面sco链路的基础。

s803、若rfcomm链路建立失败,重新进行步骤s802。rfcomm链路建立成功,蓝牙终端a向蓝牙终端b发起sco链路连接,此sco链路用作语音发送。

s804、sco链路建立起来后,蓝牙终端a便可以将语音发送给蓝牙终端b。

s805、蓝牙终端b接收语音后,一方面通过语音模块传递给语音输出模块,一方面通过蓝牙rfcomm链路反馈给蓝牙终端a语音接收完成。

s806、蓝牙终端a收到蓝牙终端b反馈的消息后,断开与蓝牙终端b的rfcomm以及sco连接。

本发明实施例提供了一种蓝牙多人对讲方法,通过借助蓝牙中转设备,使得超出有效蓝牙距离的蓝牙设备之间能执行蓝牙功能,以实现多个蓝牙设备之间的对讲以及全员对讲。

实施例四

基于实施例一的同一发明构思,本发明实施例还提供一种第一数据传输装置,图12为本发明实施例提供的一种第一数据传输装置,如图12所示,所述装置1200包括:

第一确定单元1201,用于确定自身与第二数据传输装置的第一距离,所述第一数据传输装置为数据传输装置中的一个装置,所述第二数据传输装置为所述数据传输装置中除所述第一数据传输装置外的其他装置;

第一获取单元1202,用于获取所述第二数据传输装置中多个子装置之间的第二距离;

第一数据传输单元1203,用于根据所述第一距离和所述第二距离,将所述第一数据传输装置作为中转装置实现数据传输。

在其他实施例中,如图13所示,图13为本发明实施例提供的一种第一数据传输装置中第一数据传输单元的模块图,所述第二数据传输装置包括第一子装置和第二子装置,所述第一数据传输单元1203,还包括:

获取模块1203a,用于获取所述第一子装置发送的数据的目的地址;

接收模块1203b,用于接收所述第一子装置发送的所述数据;

连接模块1203c,用于若所述目的地址对应所述第二子装置,则与所述第二子装置建立通信连接;

基于所述通信连接,通过所述第一数据传输单元发送所述数据给所述第二子装置。

在其他实施例中,所述第一数据传输单元,还用于通过所述第一数据传输装置发送数据给所述第一子装置和/或所述第二子装置。

在其他实施例中,所述装置还包括:

第一响应单元,用于若所述目的地址对应自身和所述第二子装置,且所述第一子装置和所述第二子装置的距离超过所述通信距离,则通过所述第一响应单元响应所述数据;同时第一数据传输装置通过所述第一连接单元与所述第二子装置建立通信连接。

在其他实施例中,所述第一连接单元还用于,基于所述通信连接,发送所述数据给所述第二子装置之后,接收所述第二子装置的反馈信息,断开与所述第二子装置的通信连接。

本发明装置实施例的描述,与上述实施例一中方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。

对应的,基于实施例一,本发明实施例提供一种第一终端,图14为本发明实施例提出的第一终端的组成结构示意图,如图14所示,本发明提出的第一终端可以包括第一处理器01、存储有第一处理器01可执行指令的第一存储器02、第一通信接口03,和用于连接第一处理01、第一存储器02以及第一通信接口03的第一总线04。其中,第一通信接口03用于接收和发送数据,第一处理器01用于执行第一存储器02中存储的数据传输程序,以实现以下步骤:

确定自身与第二终端的第一距离,所述第一终端为终端集合中的一个终端,所述第二终端为所述终端集合中除所述第一终端外的其他终端;

获取所述第二终端中多个子终端之间的第二距离;

根据所述第一距离和所述第二距离,确定将所述第一终端作为中转设备实现数据传输。

进一步地,上述第一处理器01,用于根据所述第一距离和所述第二距离分别获取所述终端集合中的任一终端与其他终端的距离和;若所述第一终端与所述第二终端的距离和最小,且所述第一距离在通信距离之内,则将所述第一终端作为中转设备实现数据传输。

进一步地,所述第二终端包括第一子终端和第二子终端,上述第一处理器01,具体用于获取所述第一子终端发送的数据的目的地址;接收所述第一子终端发送的所述数据;若所述目的地址对应所述第二子终端,且所述第一子终端和所述第二子终端的距离超过所述通信距离,则与所述第二子终端建立通信连接;基于所述通信连接,发送所述数据给所述第二子终端。

进一步地,上述第一处理器01,还具体用于若所述目的地址对应自身和所述第二子终端,且所述第一子终端和所述第二子终端的距离超过所述通信距离,则响应所述数据并与所述第二子终端建立通信连接。

进一步地,上述第一处理器01,还具体用于接收所述第二子终端的反馈信息,断开与所述第二子终端的通信连接。

在本发明的实施例中,上述第一处理器01可以为特定用途集成电路(applicationspecificintegratedcircuit,asic)、数字信号处理器(digitalsignalprocessor,dsp)、数字信号处理装置(digitalsignalprocessingdevice,dspd)、可编程逻辑装置(programmablelogicdevice,pld)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、cpu、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。该第一终端还可以包括第一存储器02,该第一存储器02可以与第一处理器01连接,其中,第一存储器02用于存储数据传输程序代码,该程序代码包括计算机操作指令,第一存储器02可能包含高速ram存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。

在实际应用中,上述第一存储器02可以是易失性第一存储器(volatilememory),例如随机存取第一存储器(random-accessmemory,ram);或者非易失性第一存储器(non-volatilememory),例如只读第一存储器(read-onlymemory,rom),快闪第一存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);或者上述种类的第一存储器的组合,并向第一处理器01提供指令和数据。

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

集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例提供了一种第一终端,通过确认第一终端为中转设备,使得超出有效距离的终端设备之间能执行无线通信功能,以实现多个终端设备之间的数据传输。

本发明实施例提供一种第一计算机可读存储介质,其上存储有数据传输程序,该程序被第一处理器执行时实现如实施例一中的方法。

实施例五

基于实施例二的同一发明构思,本发明实施例还提供一种第二数据传输装置,图15为本发明实施例提供的一种第二数据传输装置,如图15所示,所述装置1300包括:

第二确定单元1301,用于确定所述第二数据传输装置中多个子装置之间的第二距离;

第二获取单元1302,用于获取和第一数据传输装置的第一距离;所述第一数据传输装置为数据传输装置中不同于所述第二数据传输装置的一个装置;

第二数据传输单元1303,用于根据所述第一距离和所述第二距离接收所述第一数据传输装置的中转操作实现数据传输。

在其他实施例中,如图16所示,图16为本发明实施例提供的一种第二数据传输装置中第二数据传输单元的模块图,所述第二数据传输装置包括第一子装置和第二子装置,所述第二数据传输单元1303还可以包括:

发送模块1303a,用于向所述第一数据传输装置发送所述数据;

连接模块1303b,用于若所述数据的目的地址是所述第二子装置,则所述第二子装置和所述第一数据传输装置建立通信连接;

接收模块1303c,用于基于所述通信连接,所述第二子装置接收所述第一数据传输装置转发的所述数据。

本发明装置实施例的描述,与上述实施例二中的方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。

对应的,基于实施例二的同一发明构思下,本发明实施例提供一种第二终端,图17为本发明实施例提出的第二终端的组成结构示意图,第二终端为终端集合中除第一终端外的其他终端,第一终端为终端集合中的一个终端,如图17所示,本发明实施例提出的第二终端可以包括第二处理器11、存储有第二处理器11可执行指令的第二存储器12、第二通信接口13,和用于连接第二处理器11、第二存储器12以及第二通信接口13的第二总线14。其中,第二通信接口13用于发送和接收数据,第二处理器11用于执行存储器中存储的数据传输程序,以实现以下步骤:

确定自身多个子终端之间的第二距离;

获取与所述第一终端的第一距离;

根据所述第一距离和所述第二距离,确定接收所述第一终端的中转操作实现数据传输。

进一步地,上述第二处理器11,具体用于根据所述第一距离和所述第二距离分别获取所述终端集合中的任一终端与其他终端的距离和;若所述第一终端与所述第二终端的距离和最小,且所述第一距离在通信距离之内,则接收所述第一终端的中转操作实现数据传输。

进一步地,在本发明实施例中,所述第二终端包括第一子终端和第二子终端,上述第二处理器11,具体用于所述第一子终端指定数据的目的地址,向所述第一终端发送所述数据;若所述数据的目的地址是所述第二子终端,且所述第一子终端和所述第二子终端的距离超过通信距离,则所述第二子终端和所述第一终端建立通信连接;基于所述通信连接,所述第二子终端接收所述第一终端转发的所述数据。

在本发明的实施例中,上述第二处理器11可以为特定用途集成电路、数字信号处理器、数字信号处理装置、可编程逻辑装置、现场可编程门阵列、cpu、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。该第二终端还可以包括第二存储器12,该第二存储器12可以与第二处理器11连接,其中,第二存储器12用于存储数据传输程序代码,该程序代码包括计算机操作指令,第二存储器12可能包含高速ram存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。

在实际应用中,上述第二存储器12可以是易失性第二存储器,例如随机存取第二存储器;或者非易失性第二存储器,例如只读第二存储器,快闪第二存储器,硬盘或固态硬盘;或者上述种类的第二存储器的组合,并向第二处理器11提供指令和数据。

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

本发明实施例提供一种第二终端,通过借助中转设备,使得超出有效距离的第二终端之间能执行无线通信功能,以实现第二终端之间的数据传输。

本发明实施例提供一种第二计算机可读存储介质,其上存储有数据传输程序,应用于第二终端中,该程序被第二处理器执行时实现如实施例二中的方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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