数据传输方法及相关产品与流程

文档序号:16404987发布日期:2018-12-25 20:22阅读:218来源:国知局
数据传输方法及相关产品与流程

本申请涉及电子设备技术领域,具体涉及一种数据传输方法及相关产品。

背景技术

随着电子设备(例如,智能手机)的大量普及与快速发展,越来越多的应用被安装在用户的电子设备中,例如视频类应用、游戏类应用、音乐类应用等,其中,大量应用的使用都要依赖于移动数据网络。

目前,人们经常会出现由于移动数据网络信号不好,或者移动数据网络的数据流量用完的情况下,无法正常观看音频数据或者视频数据,影响用户的正常使用。



技术实现要素:

本申请实施例提供了一种数据传输方法及相关产品,可以实现电子设备在没有移动网络数据的情况下获取音视频数据,提升数据传输的便捷性。

第一方面,本申请实施例提供了一种数据传输方法,应用于第一设备,所述第一设备为邻近感知网络nan网络中的nan设备,所述方法包括:

当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据;

接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据;

从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备;

与所述至少一个目标设备协商所述目标数据的传输通道;

通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。

第二方面,本申请实施例提供了一种数据传输装置,应用于第一设备,所述第一设备为邻近感知网络nan网络中的nan设备,所述数据传输装置包括广播单元、接收单元、选取单元和通信单元,其中:

所述广播单元,用于当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据;

所述接收单元,用于接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据;

所述选取单元,用于从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备;

所述通信单元,用于与所述至少一个目标设备协商所述目标数据的传输通道;

所述接收单元,还用于通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。

第三方面,本申请实施例提供了一种第一设备,包括:处理器,存储器,以及一个或多个程序;所述一个或多个程序被存储在上述存储器中,并且被配置成由所述处理器执行,所述程序包括用于执行本申请实施例第一方面任一方法中所描述的步骤的指令。

第四方面,本申请实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有用于电子数据交换的计算机程序,该计算机程序具体包括指令,所述指令用于执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤,所述计算机包括第一设备。

第五方面,本申请实施例提供了一种计算机程序产品,其中,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包,所述计算机包括第一设备。

可以看出,本申请实施例中,第一设备首先当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据,然后,接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据,随后,从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备,再后,与所述至少一个目标设备协商所述目标数据的传输通道,最后,通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。可见,第一设备需要目标数据但是移动网络的数据传输速度低于预设速度阈值时,通过向nan网络中的其他设备广播第一消息,来从包括目标数据的目标设备上通过nan网络获取该目标数据,无需移动网络,也无需浪费数据流量,有利于实现电子设备在没有移动网络数据的情况下获取音视频数据,提升数据传输的便捷性。

附图说明

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

图1是本申请实施例公开的一种nan网络一个簇的dw的示意图;

图2是本申请实施例公开的一种数据传输方法的流程示意图;

图3是本申请实施例公开的另一种数据传输方法的流程示意图;

图4是本申请实施例公开的另一种数据传输方法的流程示意图;

图5是本申请实施例公开的一种第一设备的结构示意图;

图6是本申请实施例公开的一种数据传输装置的功能单元组成框图。

具体实施方式

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

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本申请实施例所涉及到的电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,ue),移动台(mobilestation,ms),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为电子设备,以下所述的第一设备和第二设备均为所述电子设备。下面对本申请实施例进行详细介绍。

首先对nan机制进行简要的介绍,临近感知网络(neighborawarenessnetwork,简称nan)机制是无线保真wi-fi联盟制订的一个标准,这个标准的作用是在没有中心节点的情况下,使得所有参与nan机制的设备(即nan设备)同步起来,在nan机制约定的发现时间窗(discoverywindow,简称dw)中进行nan机制的维持工作和服务发现工作,服务发现即通过发送服务发现帧(servicediscoveryframe,简称sdf)消息实现,所述服务发现帧消息包括查询消息或广播消息。设备基于服务发现中获得的信息,可以建立相应的连接,然后进行数据传输。

具体的,在wi-fi联盟指定的标准中,在nan机制中可以以第6信道为发现信道,在第6信道上,对于每个簇而言,发现时间窗dw的时长是固定的,且该簇的任意相邻的两个dw之间的时间间隔也是固定的。

在nan机制中,设置有发现窗口(discoverywindow,dw),nan设备会在dw中进行服务发现。nan机制一般每512个tu(timeunit,时间单元)内设置有一个dw,其中一个tu的持续时长大约为1024μs,dw的持续时长一般为16tu,即在nan机制中,一般每隔496个tu设置一个dw。在nan机制中,一个或多个nan设备形成一个簇cluster(又称为邻近感知网络),一个cluster在进入dw时,由该cluster中处于主节点(master)、锚主节点(anchormaster,am)、以及负责同步的主节点(non-mastersynchronization,non-mastersync)状态等的nan设备发送同步信标帧(syncbeacon)消息,该消息中携带有该cluster中的am的信息,用于接收到该消息的nan设备与该cluster中的am实现同步。

示例性的,如图1所示,为一个簇的dw的示意图,根据wi-fi联盟制定的标准,在dw中,该簇中的nan设备可以在dw中发送服务发现帧sdf消息,进行服务发现,在dw以外的时间中,该簇中的nan设备可以发送发现信标(discoverybeacon)消息,以宣告该簇的存在。簇中的每个nan设备都可以在dw中进行服务发现,以发现能够和其进行数据传输的其他nan设备。经过服务发现后,相互之间需要进行数据传输的至少两个nan设备,可以在该dw中约定时频资源和网络连接方式,并当该dw结束后,在约定的时频资源上根据约定的网络连接方式组件相应的无中心节点的nan网络。

nan设备完成服务发现的流程如下:

1、一个设备激活nan功能后(即成为nan设备后),可以将自身设置为am,创建一个cluster,并基于自身的mac(mediaaccesscontrol,介质访问控制)地址设定该cluster的cluster身份标识(identity,id)值,将时间同步功能tsf设置为512tu的整数倍。

2、一旦该nan设备接收到来自一个或多个其他cluster的nan设备发送的beacon帧(即syncbeacon,以下统一称为beacon帧)时,就可以判断自己是否要加入对方的cluster。

在beacon帧中,一般携带有相应的cluster的信息,具体可以是相应的cluster中的am的信息,例如可以包括锚主节点等级(anchormasterrank,amr)、主节点等级(masterrank,mr)、主节点优先权(masterpreference,mp)、锚主节点优先权(anchormasterpreference,amp)、随机因素(randomfactor,rf)、锚主节点信号传输时间(anchormasterbeacontransmissiontime,ambtt)、时间同步功能(timesynchronizationfunction,tsf)、clusterid、以及簇等级(clustergrade,cg)中的一种或多种。

一个nan设备可以通过发送beacon帧将自己所属的cluster的am的信息发送给其他的nan设备,同样,一个nan设备也可以接收本cluster或其他cluster中的nan设备发送的beacon帧。

在nan设备接收到一个beacon帧后,可以判断该beacon帧是来自自身所属的cluster中的nan设备还是来自其他cluster中的nan设备,若是来自其他cluster中的nan设备,则该nan设备可以判断接收的beacon帧中的簇等级cg的值是否大于自身的簇等级cg的值,若大于,则该nan设备加入该接收的beacon帧对应的cluster,否则,该nan设备不做处理。这就完成了nan设备的聚合,即,nan设备会加入簇等级cg的值较高的cluster。

3、若判断确定要加入对方的cluster,则,在加入对方的cluster之后与加入的cluster中的am实现同步,具体可以是将自身的am中的各项参数信息与加入的cluster中的am同步,例如将自身原有的时间同步功能tsf更新为加入的cluster中的am的tsf等。

4、在同步后,当加入的cluster的dw到来时,该nan设备在dw中发送sdf(servicediscoveryframes,服务发现帧)消息以进行服务发现,该sdf消息中例如可以携带有用于查询所需的服务的服务查询(servicesubscription)信息,或例如可以携带有用于发布该nan设备所能够提供的服务的服务发布(servicepublish)信息,其他nan设备在接收到该nan设备发送的sdf消息后,若确定满足该sdf消息,即能够进行服务匹配,则可以在dw中向该nan设备回复sdf消息。

同样的,在dw中,该nan设备也可能会接收到其他nan设备发送的用于进行服务发现的sdf消息,若该nan设备确定满足所接收的sdf消息,则该nan设备也会在dw中向相应的nan设备回复sdf消息。

以下对am中包含的各类信息进行解释。

锚主节点等级amr,一般最大取值为8个字节(byte),是am的mr的值。

主节点等级mr,一般最大取值为8个字节,是根据mp值、rf值以及本nan设备的mac地址计算得出,表示该nan设备想当master的意愿。mr的值越大,表明该nan设备想当master意愿越高。mr也可以看做是mp的另外表达形式。

主节点优先权mp,一般最大取值为1个字节,表明本nan设备想当master的意愿。mp的值越大,表明该nan设备想当master意愿越高。

锚主节点优先权amp,一般最大取值为1个字节,是am的mp的值。

随机因素rf,一般最大取值为1个字节,是nan设备选择的随机数。

锚主节点信号传输时间ambtt,一般最大取值为4个字节,表明am的beacon帧的发送时间。一般来说,发送beacon帧的nan设备会携带有ambtt,用于其他nan设备与该ambtt对应的am的时间实现同步。

时间同步功能tsf,一般最大取值为8个字节,表明nan设备的同步功能,使得接收到该tsf的nan设备的计时器(timer)与发送该tsf的nan设备对应的am的时间实现同步。tsf也可以表示时间信息。

簇身份标识clusterid,一般最大取值为6个字节,将其携带在beacon帧中的address(地址)3的字段中。

簇等级cg,一般最大取值为8个字节,表示cluster的等级,用于不同的cluster在合并时进行比较,cg的值小的cluster合并到cg的值大的cluster中。

以下介绍服务发现帧sdf消息。

sdf消息是一种专门定义用来做服务发现的动作帧(actionframe),根据功能不同,sdf消息大致可以分为三种:sdf发布publish消息、sdf订阅subscribe消息、sdf回复follow-up消息,一般来说,在sdf消息中包括一个指示位,用于指示该sdf消息是哪种sdf消息。

sdfpublish消息:用于发布nan设备所能提供的服务,或用于回复收到的其他nan设备发送的sdfsubscribe消息;

sdfsubscribe消息:用于查找需要使用的服务;

sdffollow-up消息:用于回复收到的sdfpublish消息,或者用于协商更多的信息。

请参阅图2,图2是本申请实施例提供了一种数据传输方法的流程示意图,应用于第一设备,所述第一设备为邻近感知网络nan网络中的nan设备,如图所示,本数据传输方法包括:

s201,第一设备当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据;

其中,所述广播第一消息可以是当用户在欣赏视频或者音乐时,电子设备检测到无移动网络信号,或者移动网络的数据传输速度低于预设速度阈值时,通过广播第一消息,用于查找需要目标数据服务,使第一设备在没有移动网络的情况下也可以继续播放视频或者音乐,所述第一消息具体可以为sdfsubscribe消息。

其中,所述广播第一消息也可以是在用户认为剩余的数据流量较少时,主动触发,例如通过选择第一设备的视频请求功能按键触发等,触发条件不做唯一限定。

s202,所述第一设备接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据;

其中,所述第一消息可以包含所述目标数据的名称标识,所述第二设备在接收到第一消息时,可以通过提取所述第一消息中名称标识的关键词;根据所述关键词搜索所述第二设备的本地资源;当检测到所述本地资源中包含所述目标数据时,向所述第一设备发送所述响应消息,当检测到本地资源中不包含所述目标数据时,不需要向所述第一设备发送所述响应消息。

其中,所述响应消息具体可以是sdfpublish消息。

其中,所述多个第二设备中可以是包含所述目标数据的全部数据,也可以是包含所述目标数据中的部分数据,在此不做限定。

其中,所述多个第二设备中可能包括所述nan网络中的设备,也可能包括其他nan网络中的设备,所述其他nan网络中的设备可以通过所述nan网络中的中继设备接收所述第一消息,以及发送所述响应消息,所述中继设备为具有中继功能的nan设备,且为存在于至少两个nan网络中的nan设备,所述中继设备可以在接收到第一设备广播的第一消息后,转发所述第一消息至其他nan网络中。

s203,所述第一设备从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备;

其中,所述第一设备从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备的具体实现方式可以是多种多样的,例如可以是选择接收到的第一个响应消息对应的第二设备为所述目标设备,也可以是选择所述多个第二设备中电量多的设备为所述目标设备等,在此不做限定。

s204,所述第一设备与所述至少一个目标设备协商所述目标数据的传输通道。

具体实现中,对于第一设备与至少一个目标设备之间的传输通道,协商过程可以是第一设备通过sdffollow-up消息与至少一个目标设备进行传输通道协商。

s205,所述第一设备通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。

其中,第一设备会分别通过每个传输通道接收来自至少一个目标设备的目标数据,所述目标数据也可以分别通过第二设备与中继设备之间的传输通道,以及中继设备与所述第一设备之间的传输通道进行传输,在此不做限定。

可以看出,本申请实施例中,第一设备首先当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据,然后,接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据,随后,从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备,再后,与所述至少一个目标设备协商所述目标数据的传输通道,最后,通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。可见,第一设备需要目标数据但是移动网络的数据传输速度低于预设速度阈值时,通过向nan网络中的其他设备广播第一消息,来从包括目标数据的目标设备上通过nan网络获取该目标数据,无需移动网络,也无需浪费数据流量,有利于实现电子设备在没有移动网络数据的情况下获取音视频数据,提升数据传输的便捷性。

在一个可能的示例中,所述从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备,包括:

根据所述目标数据的数据量确定所述至少一个目标设备的个数;

根据所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备;

所述通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据,包括:

根据所述至少一个目标设备的个数,将所述目标数据分为多个数据段任务,通过协商的所述传输通道分配给所述至少一个目标设备;

通过协商的所述传输通道同时接收来自所述至少一个目标设备中每个目标设备对应的所述目标数据中的数据段。

其中,不同的数据量对应不同的至少一个目标设备的个数,数据量越多,目标设备的个数越多,所述第一设备中可以预存有数据量区间与至少一个目标设备的个数之间的映射关系,第一设备可以根据该映射关系确定至少一个目标设备的个数。

其中,所述多个数据段任务的个数与所述至少一个目标设备的个数相同或者数据段任务的个数是所述至少一个目标设备的倍数,在此不做限定,若每个目标设备有两个或者以上的数据段任务时,可以先向第一设备发送数据段对应的时间节点靠前的数据段,然后再发送数据段对应的时间节点靠后的数据段。

其中,所述将所述目标数据分为多个数据段任务可以是将目标数据平均分为多个数据段任务,也可以是根据不同目标设备的性能(例如响应速度、接收信号强度等)分为不同数据量的多个数据段任务,在此不做限定。

其中,所述通过协商的所述传输通道分配给所述至少一个目标设备的具体实现方式可以是通过sdffollow-up消息将数据段任务的起始时间点和结束时间点发送给所述至少一个目标设备。

可见,本示例中,第一设备将目标数据分为多个数据段,分别通过多个目标设备接收数据段,有利于提升数据获取的速度,而且,根据数据量确定目标设备的个数,提升了数据获取的合理性。

在这个可能的示例中,所述根据所述至少一个目标设备的个数从所述多个第二设备选择用于提供所述目标数据的所述至少一个目标设备,包括:

根据所述响应消息的接收时间确定所述多个第二设备的响应速度;

根据所述响应速度的顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备。

其中,根据所述响应速度的从快到慢的顺序选取所述至少一个目标设备,所述接收时间越小,所述响应速度越快。

可见,本示例中,第一设备根据所述多个第二设备的响应速度确定所述至少一个目标设备,而不是在多个第二设备中随意选取目标设备,选取响应速度快的目标设备,有利于提升目标数据传输的速度,提升数据传输效率。

在一个可能的示例中,所述根据所述至少一个目标设备的个数从所述多个第二设备选择用于提供所述目标数据的所述至少一个目标设备,包括:

根据所述响应消息确定所述多个第二设备的接收信号强度(receivedsignalstrengthindicator,rssi);

根据所述rssi的信号强度顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备。

其中,根据所述rssi从强到弱的顺序选取所述至少一个目标设备。

可见,本示例中,第一设备根据所述多个第二设备的rssi的信号强度确定所述至少一个目标设备,而不是在多个第二设备中随意选取目标设备,选取响应速度快的目标设备,有利于提升目标数据传输的稳定性。

在这个可能的示例中,所述至少一个目标设备的个数为1个,所述根据所述rssi的信号强度顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备,包括:

从所述多个第二设备中选择所述rssi最强的所述第二设备为用于提供所述目标数据的第一目标设备;

判断所述第一目标设备中是否包含所述目标数据的全部数据;

当判断出所述第一目标设备中仅包含所述目标数据的部分数据时,选取所述多个第二设备中包含所述目标数据中除所述部分数据之外的数据的第二设备为第二目标设备。

其中,所述选取所述多个第二设备中包含所述目标数据中除所述部分数据之外的数据的第二设备为第二目标设备的具体实现方式可以是按照响应速度从快到慢选择包含所述目标数据中除所述部分数据之外的数据的第二设备,也可以是按照rssi的从强到弱选择包含所述目标数据中除所述部分数据之外的数据的第二设备,在此不做限定。

可见,本示例中,第一设备在选取目标设备之后,在判断第一目标设备仅仅包括目标数据的部分数据时,选取第二目标设备,有利于提升数据传输的完整性。

在一个可能的示例中,所述响应消息包括设备能力信息,所述根据所述至少一个目标设备的个数从所述多个第二设备选择用于提供所述目标数据的所述至少一个目标设备,包括:

根据所述设备能力信息确定所述多个第二设备的选取顺序;

根据所述选取顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备,所述至少一个目标设备中均包括所述目标数据的全部数据。

其中,所述设备能力信息可以包括剩余电量、cpu工作频率、目标数据资源的质量等,这些设备能力信息关联第二设备的目标数据提供能力,如果目标数据资源为电视剧视频,那么设备能力还可以包括能够提供当前剧集之后的剧集数量,这样便可以一直使用与剧集数据多的第二设备进行数据传输,不用多次更换第二设备,保证数据传输的稳定性。

其中,根据所述设备能力信息确定所述多个第二设备的选取顺序的具体实现方式可以是多种多样的,例如可以是首先根据剩余电量从多到少进行排序,当任意两个第二设备的剩余电量相同时,按照其他能力信息对这两个第二设备进行排序,或者可以是每个不同的能力信息对应有影响因子,根据影响因子以及能力信息计算每个设备的总的得分,根据得分从高到低对多个第二设备进行排序,在此不做限定。

可见,本示例中,第一设备根据第二设备携带的本端的设备能力信息对多个第二设备进行排序,进而选取至少一个目标设备,有利于提升数据传输的稳定性,避免因设备能力较弱,在目标数据没有全部传输完成时,传输中断或者传输较慢的情况。

在一个可能的示例中,所述广播第一消息之前,所述方法还包括:

启用nan功能;

根据预设测距策略通过所述nan功能检测所述第一设备与预设区域内每个设备的距离;

筛选所述距离小于预设距离阈值的所述多个设备;

与所述多个设备形成所述nan网络,并完成所述nan网络中每个设备的同步。

其中,1、首先,第一设备向第一设备待测距的预设区域内每个设备(例如以下将其称为参考nan设备)发送ftmrequest(ftm请求),用于请求一个周期性的时间窗口,参考nan设备在接收到ftmrequest后,可根据自己的资源情况和能力等来回复消息,表明接受或重置一个时间窗口。其中,ftmrequest是一种actionframe。

2、参考nan设备如果接受了预置时间窗,那么参考nan设备和第一设备就都开始进行时间捕获。其中,参考nan设备捕获该参考nan设备向第一设备回复针对ftmrequest的回复消息的时刻为t1,第一设备捕获接收到参考nan设备针对ftmrequest的回复消息的时刻为t2。

3、第一设备向参考nan设备回复针对该回复消息的ack(acknowledgement,确认应答),并捕获发送该ack的时刻为t3,参考nan设备捕获接收该ack的时刻为t4。

4、若第一设备要完成测距,则参考nan设备向第一设备发送测距消息,该测距消息中携带有t1和t4。

这样第一设备就获得了时间t1、t2、t3、t4四个时间,从而可计算出消息来回的时间rtt(round-triptime,往返时延)为:

rtt=[(t4–t1)–(t3–t2)](1)

然后可以计算出第一设备与参考nan设备之间的距离d为:

d=1/2*rtt*c(2)

其中c为光速,也可以等于wi-fi信号的传输速度。

可见,本示例中,第一设备基于请求触发nan功能,常态下保持nan功能关闭,节省电量,而且,第一设备可以基于距离检测快速筛选出符合nan网络的潜在设备,提高nan网络创建的高效性。

与所述图2所示的实施例一致的,请参阅图3,图3是本申请实施例提供的另一种数据传输方法的流程示意图,应用于第一设备,所述第一设备为邻近感知网络nan网络中的nan设备,如图所示,本数据传输方法包括:

s301,第一设备当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据。

s302,所述第一设备接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据。

s303,所述第一设备根据所述目标数据的数据量确定至少一个目标设备的个数。

s304,所述第一设备根据所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的至少一个目标设备。

s305,所述第一设备与所述至少一个目标设备协商所述目标数据的传输通道。

s306,所述第一设备根据所述至少一个目标设备的个数,将所述目标数据分为多个数据段任务,通过协商的所述传输通道分配给所述至少一个目标设备。

s307,所述第一设备通过协商的所述传输通道同时接收来自所述至少一个目标设备中每个目标设备对应的所述目标数据中的数据段。

可以看出,本申请实施例中,第一设备首先当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据,然后,接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据,随后,从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备,再后,与所述至少一个目标设备协商所述目标数据的传输通道,最后,通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。可见,第一设备需要目标数据但是移动网络的数据传输速度低于预设速度阈值时,通过向nan网络中的其他设备广播第一消息,来从包括目标数据的目标设备上通过nan网络获取该目标数据,无需移动网络,也无需浪费数据流量,有利于实现电子设备在没有移动网络数据的情况下获取音视频数据,提升数据传输的便捷性。

此外,第一设备将目标数据分为多个数据段,分别通过多个目标设备接收数据段,有利于提升数据获取的速度,而且,根据数据量确定目标设备的个数,提升了数据获取的合理性。

与所述图2所示的实施例一致的,请参阅图4,图4是本申请实施例提供的另一种数据传输方法的流程示意图,应用于第一设备,所述第一设备为邻近感知网络nan网络中的nan设备,如图所示,本数据传输方法包括:

s401,第一设备当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,启用nan功能,所述目标数据为音频数据和/或视频数据。

s402,所述第一设备根据预设测距策略通过所述nan功能检测所述第一设备与预设区域内每个设备的距离。

s403,所述第一设备筛选所述距离小于预设距离阈值的多个设备。

s404,所述第一设备与所述多个设备形成所述nan网络,并完成所述nan网络中每个设备的同步。

s405,所述第一设备广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的所述多个设备请求所述目标数据。

s406,所述第一设备接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据。

s407,所述第一设备从所述多个第二设备中选择用于提供所述目标数据的至少一个目标设备。

s408,所述第一设备与所述至少一个目标设备协商所述目标数据的传输通道。

s409,所述第一设备通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。

可以看出,本申请实施例中,第一设备首先当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据,然后,接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据,随后,从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备,再后,与所述至少一个目标设备协商所述目标数据的传输通道,最后,通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。可见,第一设备需要目标数据但是移动网络的数据传输速度低于预设速度阈值时,通过向nan网络中的其他设备广播第一消息,来从包括目标数据的目标设备上通过nan网络获取该目标数据,无需移动网络,也无需浪费数据流量,有利于实现电子设备在没有移动网络数据的情况下获取音视频数据,提升数据传输的便捷性。

此外,第一设备基于请求触发nan功能,常态下保持nan功能关闭,节省电量,而且,第一设备可以基于距离检测快速筛选出符合nan网络的潜在设备,提高nan网络创建的高效性。

与上述图2、图3、图4所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种的第一设备的结构示意图,如图所示,该第一设备为邻近感知网络nan网络中的nan设备,该第一设备包括处理器501、存储器502、通信接口503以及一个或多个程序504,其中,上述一个或多个程序504被存储在上述存储器502中,并且被配置由上述处理器501执行,上述程序包括用于执行以下步骤的指令;

当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据;

接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据;

从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备;

与所述至少一个目标设备协商所述目标数据的传输通道;

通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。

可以看出,本申请实施例中,第一设备首先当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据,然后,接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据,随后,从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备,再后,与所述至少一个目标设备协商所述目标数据的传输通道,最后,通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。可见,第一设备需要目标数据但是移动网络的数据传输速度低于预设速度阈值时,通过向nan网络中的其他设备广播第一消息,来从包括目标数据的目标设备上通过nan网络获取该目标数据,无需移动网络,也无需浪费数据流量,有利于实现电子设备在没有移动网络数据的情况下获取音视频数据,提升数据传输的便捷性。

在一个可能的示例中,在所述从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备方面,所述程序中的指令具体用于执行以下操作:根据所述目标数据的数据量确定所述至少一个目标设备的个数;以及用于根据所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备;

在所述通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据方面,所述程序中的指令具体用于执行以下操作:根据所述至少一个目标设备的个数,将所述目标数据分为多个数据段任务,通过协商的所述传输通道分配给所述至少一个目标设备;以及用于通过协商的所述传输通道同时接收来自所述至少一个目标设备中每个目标设备对应的所述目标数据中的数据段。

在这个可能的示例中,在所述根据所述至少一个目标设备的个数从所述多个第二设备选择用于提供所述目标数据的所述至少一个目标设备方面,所述程序中的指令具体用于执行以下操作:根据所述响应消息的接收时间确定所述多个第二设备的响应速度;以及用于根据所述响应速度的顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备。

在一个可能的示例中,在所述根据所述至少一个目标设备的个数从所述多个第二设备选择用于提供所述目标数据的所述至少一个目标设备方面,所述程序中的指令具体用于执行以下操作:根据所述响应消息确定所述多个第二设备的接收信号强度rssi;以及用于根据所述rssi的信号强度顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备。

在这个可能的示例中,所述至少一个目标设备的个数为1个,在所述根据所述rssi的信号强度顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备方面,所述程序中的指令具体用于执行以下操作:从所述多个第二设备中选择所述rssi最强的所述第二设备为用于提供所述目标数据的第一目标设备;以及用于判断所述第一目标设备中是否包含所述目标数据的全部数据;以及用于当判断出所述第一目标设备中仅包含所述目标数据的部分数据时,选取所述多个第二设备中包含所述目标数据中除所述部分数据之外的数据的第二设备为第二目标设备。

在一个可能的示例中,所述响应消息包括设备能力信息,在所述根据所述至少一个目标设备的个数从所述多个第二设备选择用于提供所述目标数据的所述至少一个目标设备方面,所述程序中的指令具体用于执行以下操作:根据所述设备能力信息确定所述多个第二设备的选取顺序;以及用于根据所述选取顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备,所述至少一个目标设备中均包括所述目标数据的全部数据。

在一个可能的示例中,上述程序还包括用于执行以下步骤的指令:所述广播第一消息之前,启用nan功能;以及用于根据预设测距策略通过所述nan功能检测所述第一设备与预设区域内每个设备的距离;以及用于筛选所述距离小于预设距离阈值的所述多个设备;以及用于与所述多个设备形成所述nan网络,并完成所述nan网络中每个设备的同步。

上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,第一设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对第一设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图6是本申请实施例中所涉及的数据传输装置600的功能单元组成框图。该数据传输装置600应用于第一设备,所述第一设备为邻近感知网络nan网络中的nan设备,该数据传输装置600包括广播单元601、接收单元602、选取单元603和通信单元604,其中,

所述广播单元601,用于当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据;

所述接收单元602,用于接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据;

所述选取单元603,用于从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备;

所述通信单元604,用于与所述至少一个目标设备协商所述目标数据的传输通道;

所述接收单元602,还用于通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。

可以看出,本申请实施例中,第一设备首先当检测到针对目标数据播放请求,且移动网络的数据传输速度低于预设速度阈值时,广播第一消息,所述第一消息用于所述第一设备向所述nan网络中除所述第一设备之外的多个设备请求所述目标数据,所述目标数据为音频数据和/或视频数据,然后,接收来自多个第二设备的响应消息,所述响应消息用于指示所述多个第二设备包含所述目标数据,随后,从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备,再后,与所述至少一个目标设备协商所述目标数据的传输通道,最后,通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据。可见,第一设备需要目标数据但是移动网络的数据传输速度低于预设速度阈值时,通过向nan网络中的其他设备广播第一消息,来从包括目标数据的目标设备上通过nan网络获取该目标数据,无需移动网络,也无需浪费数据流量,有利于实现电子设备在没有移动网络数据的情况下获取音视频数据,提升数据传输的便捷性。

在一个可能的示例中,在所述从所述多个第二设备选择用于提供所述目标数据的至少一个目标设备方面,所述选取单元603具体用于:根据所述目标数据的数据量确定所述至少一个目标设备的个数;以及用于根据所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备;

在所述通过协商的所述传输通道接收来自所述至少一个目标设备的所述目标数据方面,所述通信单元604具体用于:根据所述至少一个目标设备的个数,将所述目标数据分为多个数据段任务,通过协商的所述传输通道分配给所述至少一个目标设备;以及用于通过协商的所述传输通道同时接收来自所述至少一个目标设备中每个目标设备对应的所述目标数据中的数据段。

在这个可能的示例中,在所述根据所述至少一个目标设备的个数从所述多个第二设备选择用于提供所述目标数据的所述至少一个目标设备方面,所述选取单元603具体用于:根据所述响应消息的接收时间确定所述多个第二设备的响应速度;以及用于根据所述响应速度的顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备。

在一个可能的示例中,在所述根据所述至少一个目标设备的个数从所述多个第二设备选择用于提供所述目标数据的所述至少一个目标设备方面,所述选取单元603具体用于:根据所述响应消息确定所述多个第二设备的接收信号强度rssi;以及用于根据所述rssi的信号强度顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备。

在这个可能的示例中,所述至少一个目标设备的个数为1个,在所述根据所述rssi的信号强度顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备方面,所述选取单元603具体用于:从所述多个第二设备中选择所述rssi最强的所述第二设备为用于提供所述目标数据的第一目标设备;以及用于判断所述第一目标设备中是否包含所述目标数据的全部数据;以及用于当判断出所述第一目标设备中仅包含所述目标数据的部分数据时,选取所述多个第二设备中包含所述目标数据中除所述部分数据之外的数据的第二设备为第二目标设备。

在一个可能的示例中,所述响应消息包括设备能力信息,在所述根据所述至少一个目标设备的个数从所述多个第二设备选择用于提供所述目标数据的所述至少一个目标设备方面,所述选取单元603具体用于:根据所述设备能力信息确定所述多个第二设备的选取顺序;以及用于根据所述选取顺序和所述至少一个目标设备的个数从所述多个第二设备中选择用于提供所述目标数据的所述至少一个目标设备,所述至少一个目标设备中均包括所述目标数据的全部数据。

在一个可能的示例中,所述数据传输装置600还包括建立单元,所述建立单元在所述广播第一消息之前,用于:启用nan功能;以及用于根据预设测距策略通过所述nan功能检测所述第一设备与预设区域内每个设备的距离;以及用于筛选所述距离小于预设距离阈值的所述多个设备;以及用于与所述多个设备形成所述nan网络,并完成所述nan网络中每个设备的同步。

其中,广播单元601、接收单元602,和通信单元604可以是收发器或者通信接口,所述选取单元603可以是处理器,所述建立单元可以是处理器或者收发器。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种数据传输方法的部分或全部步骤,上述计算机包括第一设备。

本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种数据传输方法的部分或全部步骤,上述计算机包括第一设备。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

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

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

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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