CN113645608A - 数据传输方法和数据传输装置 - Google Patents
数据传输方法和数据传输装置 Download PDFInfo
- Publication number
- CN113645608A CN113645608A CN202111195306.3A CN202111195306A CN113645608A CN 113645608 A CN113645608 A CN 113645608A CN 202111195306 A CN202111195306 A CN 202111195306A CN 113645608 A CN113645608 A CN 113645608A
- Authority
- CN
- China
- Prior art keywords
- terminal device
- scanning
- terminal
- bluetooth
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
- H04W72/1215—Wireless traffic scheduling for collaboration of different radio technologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Telephone Function (AREA)
Abstract
本申请提供了一种数据传输方法和数据传输装置,有利于避免工作频段相同的Wi‑Fi和蓝牙共存场景下业务的扫描竞争空口资源,提高Wi‑Fi业务和/或蓝牙业务的数据传输速率,改善通信质量。该方法应用于第一终端设备,包括:第一终端设备通过该第一链路向第二终端设备发送扫描请求消息,该扫描请求消息用于请求该第二终端设备进行目标网络的扫描,该目标网络为Wi‑Fi或蓝牙;第二终端设备接收该扫描请求消息,并根据该扫描请求消息,对该目标网络进行扫描,得到扫描结果;第二终端设备向第一终端设备发送该扫描结果。
Description
技术领域
本申请涉及通信技术领域,更具体地,涉及一种数据传输方法和数据传输装置。
背景技术
随着终端设备的不断发展,许多终端设备同时支持无线保真(wirelessfidelity,WiFi)功能和蓝牙功能。其中,Wi-Fi和蓝牙都可以工作在2.4GHz频段。例如,Wi-Fi工作在2.4G频段时,Wi-Fi的频段是从2412MHz到2484MHz。蓝牙工作在2.4GHz频段时,蓝牙的频段是从2401MHz到2479MHz。
在终端设备的硬件条件有限的情况下,终端设备在很多场景下要求Wi-Fi和蓝牙同时工作。由于Wi-Fi和蓝牙工作在同一频段时,共用空口资源,二者同时工作时必然会或多或少会有互相干扰的现象,尤其是同时使用Wi-Fi和蓝牙过程中叠加扫描,二者彼此直接的干扰更严重。例如,终端设备通过Wi-Fi下载资源时,同时连接蓝牙耳机听音乐。此时,终端设备频繁发起2.4GHz频段上的Wi-Fi扫描和蓝牙扫描,造成Wi-Fi上网速率下降,并且蓝牙耳机听音乐时也出现了卡顿。可见,在终端设备的硬件条件有限的情况下,如何改善Wi-Fi和蓝牙共存场景下的频繁扫描带来的通信质量下降是亟待解决的问题。
发明内容
本申请提供一种数据传输方法和数据传输装置,有利于避免Wi-Fi和蓝牙共存场景下的频繁扫描带来的通信质量下降,提高Wi-Fi业务和/或蓝牙业务的数据传输速率。
第一方面,提供了一种数据传输方法,应用于第一终端设备,该第一终端设备与该第二终端设备之间建立有第一链路,该方法包括:在该第一终端设备执行Wi-Fi业务和/或蓝牙业务的过程中,若该第一终端设备检测到有业务发起扫描,该第一终端设备通过该第一链路向该第二终端设备发送扫描请求消息,该扫描请求消息用于请求该第二终端设备进行目标网络的扫描,该目标网络为Wi-Fi或蓝牙。该第一终端设备通过该第一链路接收来自该第二终端设备的扫描结果。
在本申请中,目标网络的扫描为Wi-Fi扫描或蓝牙扫描,在第一终端设备处于Wi-Fi和蓝牙共存场景下,若该第一终端设备检测到有新增的业务发起扫描,第一终端设备可以向第二终端设备发起扫描请求,以使第二终端设备进行业务的扫描,即进行Wi-Fi扫描或蓝牙扫描,并通过第二终端设备获取扫描结果。这样,第一终端设备无需执行业务的扫描,可以避免第一终端设备执行业务的扫描与正在进行的Wi-Fi业务和/或蓝牙抢占空口资源,有利于提高Wi-Fi业务和/或蓝牙业务的数据传输速率,改善通信质量。
结合第一方面,在第一方面的某些实现方式中,该第二终端设备的数量为多个,该方法还包括:该第一终端设备基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择目标第二终端设备。该第一终端设备通过该第一链路向该第二终端设备发送扫描请求消息,包括:该第一终端设备通过该第一链路向该目标第二终端设备发送该扫描请求消息。
在本申请中,第一终端设备可能与多个第二终端设备之间建立有第一链路,第一终端设备可以基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择一个目标第二终端设备执行业务的扫描,这样有利于实现扫描。
结合第一方面,在第一方面的某些实现方式中,该第一终端设备基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择一个目标第二终端设备,包括:该第一终端设备基于该多个第二终端设备的硬件能力信息,从支持该目标网络的第二终端设备中选择该目标第二终端设备。
在本申请中,由于执行业务的扫描需要相应的硬件能力的支持,因此第一终端设备可以在多个第二终端设备中选择硬件支持Wi-Fi扫描或蓝牙扫描的第二终端设备作为目标第二终端设备,这样有利于实现扫描。
结合第一方面,在第一方面的某些实现方式中,该第一终端设备基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择一个目标第二终端设备,包括:第一终端设备基于该多个第二终端设备的电量信息,将电量最高的第二终端设备确定为该目标第二终端设备。
在本申请中,由于进行执行业务的扫描会使得电量下降,因此第一终端设备可以在多个第二终端设备中选择电量最高的第二终端设备作为目标第二终端设备,这样有利于避免由于电量不足使得扫描中断。
结合第一方面,在第一方面的某些实现方式中,该第一终端设备基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择一个目标第二终端设备,包括:第一终端设备基于该多个第二终端设备的设备类型信息,从满足业务所需的设备类型的第二终端设备中选择该目标第二终端设备。
结合第一方面,在第一方面的某些实现方式中,该第一终端设备基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择一个目标第二终端设备,包括:第一终端设备基于该多个第二终端设备的硬件能力信息和设备类型信息,确定至少一个候选第二终端设备,该至少一个候选第二终端设备支持该目标网络且满足业务所需的设备类型。该第一终端设备基于该至少一个候选第二终端设备的电量信息,将该至少一个候选第二终端设备中电量最高的候选第二终端设备确定为该目标第二终端设备。
在本申请中,第一终端设备在多个第二终端设备中选择目标第二终端设备时,首先考虑多个第二终端设备的硬件能力信息和设备类型信息,在满足硬件能力和设备类型的条件的至少一个候选第二终端设备中再确定电量最高的第二终端设备为该目标第二终端设备这样有利于实现扫描。
结合第一方面,在第一方面的某些实现方式中,该第一终端设备向该第二终端设备发送链路建立请求消息,该链路建立请求消息用于请求与该第二终端设备建立该第一链路。该第一终端设备接收来自该第二终端设备的链路建立响应消息,该链路建立响应消息包括该第二终端设备的硬件能力信息、电量信息或者设备类型信息中的至少一个。
结合第一方面,在第一方面的某些实现方式中,该第一链路为Wi-Fi链路或蓝牙链路。
结合第一方面,在第一方面的某些实现方式中,该第一链路为蓝牙链路,该第一终端设备接收来自该第二终端设备的扫描结果,包括:该第一终端设备接收来自该第二终端设备的第一报文,该第一报文包括业务标识字段、命令标识字段以及有效载荷字段,该扫描结果位于该有效载荷字段。该第一终端设备根据该业务标识字段和该命令标识字段,从该有效载荷字段获取该扫描结果。
在本申请中,该第一终端设备可以与该第二终端设备进行蓝牙通信,交互扫描请求、扫描取消或扫描结果等消息,有利于控制交互逻辑,实现业务的扫描。
结合第一方面,在第一方面的某些实现方式中,该第一链路为Wi-Fi链路,该第一终端设备接收来自该第二终端设备的扫描结果,包括:该第一终端设备接收来自该第二终端设备的第二报文,该第二报文包括类别字段和类型长度值TLVs字段,该扫描结果位于该TLVs字段。该第一终端设备根据该类别字段,从该TLVs字段获取该扫描结果。
在本申请中,该第一终端设备可以与该第二终端设备进行Wi-Fi通信,交互扫描请求、扫描取消或扫描结果等消息,有利于控制交互逻辑,实现业务的扫描。
第二方面,提供了一种数据传输装置,用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面中任一种可能的实现方式中的方法的模块。
第三方面,提供了另一种数据传输装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
在一种实现方式中,该数据传输装置为终端设备。当该数据传输装置为终端设备时,通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,该数据传输装置为配置于终端设备中的芯片。当该数据传输装置为配置于终端设备中的芯片时,通信接口可以是输入/输出接口。
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
附图说明
图1是本申请实施例适用的一种终端设备的结构示意图;
图2是本申请实施例适用的终端设备的一种软件结构框图;
图3是本申请实施例提供的一种Wi-Fi和蓝牙共存场景的示例图;
图4是本申请实施例提供的一种Wi-Fi和蓝牙共存场景下的流程图;
图5是本申请实施例提供的另一种Wi-Fi和蓝牙共存场景下的流程图;
图6是本申请实施例提供的一种数据传输方法的流程示意图;
图7是本申请实施例提供的一种通信系统的示意图;
图8是本申请实施例提供的另一种数据传输方法的流程示意图;
图9是本申请实施例提供的一种echo报文的示意图;
图10是本申请实施例提供的一种动作帧的结构示意图;
图11是本申请实施例提供的一种数据传输装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在介绍本申请实施例提供的数据传输方法之前,先做出以下几点说明。
第一,在下文示出的实施例中,各术语及英文缩略语,如Wi-Fi业务、蓝牙业务、扫描业务、分时占比等,均为方便描述而给出的示例性举例,不应对本申请构成任何限定。本申请并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。
第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的终端设备等。
第三,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
图1是本申请实施例适用的一种终端设备100的结构示意图。如图1所示,该终端设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。可以理解的是,本实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,终端设备100也可以包括一个或多个处理器110。其中,处理器可以是终端设备100的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这就避免了重复存取,减少了处理器110的等待时间,因而提高了终端设备100的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或USB接口等。其中,USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,MicroUSB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备100充电,也可以用于终端设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本申请实施例示意的各模块间的接口连接关系为示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙(bluetooth),全球导航卫星系统(global navigationsatellite system,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括GSM,GPRS,CDMA,WCDMA,TD-SCDMA,LTE,GNSS,WLAN,NFC,FM,和/或IR技术等。上述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端设备100通过GPU、显示屏194以及应用处理器等可以实现显示功能。应用处理器可以包括NPU和/或DPU。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。DPU也称为显示子系统(display sub-system,DSS),DPU用于对显示屏194的色彩进行调整,DPU可以通过颜色三维查找表(3D look up table,3D LUT)对显示屏的色彩进行调整。DPU还可以对画面进行缩放、降噪、对比度增强、背光亮度管理、hdr处理、显示器参数Gamma调整等处理。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED)、柔性发光二极管(flex light-emittingdiode,FLED)、Miniled、MicroLed、Micro-oLed或量子点发光二极管(quantum dot lightemitting diodes,QLED)。在一些实施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得终端设备100执行各种功能应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得终端设备100执行各种功能应用及数据处理。
传感器180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
终端设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)系统为例,示例性说明终端设备100的软件结构。
图2为本申请实施例适用的终端设备的一种软件结构框图。分层架构将终端设备100的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android系统分为应用程序层(application,APP)、应用程序框架层(application framework)、安卓运行时(Android runtime)和系统库以及内核层(kernel)。
应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。如图2所示,应用程序包可以包括相机、日历、地图、电话、音乐、WLAN、蓝牙、视频、社交、图库、导航、短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,应用程序框架层可以包括窗口管理器、内容提供器、资源管理器、通知管理器、视图系统、电话管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。
视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备100振动,指示灯闪烁等。
安卓运行时包括核心库和虚拟机。安卓运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动、音频驱动、Wi-Fi驱动、蓝牙驱动等,本申请实施例对此不做限制。示例性地,本申请实施例中,内核层采用Wi-Fi驱动以驱动终端设备100中的天线2(硬件)实现Wi-Fi扫描。或者,内核层采用蓝牙驱动以驱动终端设备100中的天线2(硬件)实现蓝牙扫描。
目前,大多终端设备在很多场景下要求Wi-Fi和蓝牙使用同一根2.4G频段的天线同时工作。但是,终端设备的Wi-Fi模块和蓝牙模块同时频繁发起2.4G频段的扫描时可能会出现相互干扰的现象,从而导致Wi-Fi和蓝牙共存场景下终端设备的性能降低的问题。
示例性地,图3是本申请实施例提供的一种Wi-Fi和蓝牙共存场景的示例图。如图3所示,该场景可以为智能家居场景,该场景可以包括手机210,无线路由器220,智能开关230,智能电视240,扫地机250,蓝牙耳机260以及蓝牙音箱270等。
手机210可以通过蓝牙与蓝牙耳机260和蓝牙音箱270连接,通过无线路由器220与智能开关,智能电视240以及扫地机250连接。
示例性地,如图4所示,图4是本申请实施例提供的一种Wi-Fi和蓝牙共存场景下的流程图。终端设备的Wi-Fi功能和蓝牙功能开启后,假设用户正在使用Wi-Fi上网玩游戏,同时通过蓝牙连接的耳机或音箱听音乐。这种情况下,终端设备同时发起的后台Wi-Fi定位、蓝牙定位或蓝牙连接请求等等。由于终端设备新增加的业务发起蓝牙扫描时与Wi-Fi竞争空口资源,会导致游戏瞬间卡顿或网速瞬间下降等问题。当终端设备新增加的业务停止蓝牙高占空比扫描时,游戏卡顿或网速瞬间下降等现象才能得到缓解。
应理解,本申请实施例是以Wi-Fi通信技术和蓝牙通信技术为例进行描述,此外,本申请实施例提供的方法同样适用于其他不同的通信技术由于共用相同的空口资源从而造成的抢占空口资源、互相干扰的问题,本申请实施例对此不作限定。
本申请实施例涉及至少两个终端设备,为便于理解,下文以第一终端设备和第二终端设备为例进行描述,应理解,第一终端设备和第二终端设备都可以具有上述图1和/或图2所示的架构。
具体而言,用户可以通过第一终端设备与第二终端设备(例如,路由器)建立Wi-Fi链路,进行Wi-Fi业务数据传输,和/或,通过第一终端设备与第二终端设备(例如,蓝牙耳机)建立蓝牙链路,进行蓝牙业务数据传输。考虑到终端设备硬件成本的限制,Wi-Fi和蓝牙通常使用同一根2.4GHz频段的天线(例如图1中的天线2)进行数据传输,并且天线上的空口资源在单位时间内是有限且固定的,如果此时第一终端设备频繁地在同一根天线上发起Wi-Fi扫描或蓝牙扫描,可能在如下示例的一些场景中存在业务的扫描竞争空口资源的问题:
在一种可能的场景中,第一终端设备(例如,手机)已有Wi-Fi业务但无蓝牙业务(蓝牙开关打开)。例如,用户使用手机与路由器建立Wi-Fi链路上网玩游戏。如果此时手机发起Wi-Fi扫描或蓝牙扫描,那么业务的扫描可能与正在进行的游戏业务竞争空口资源,造成Wi-Fi上网速率下降,玩游戏卡顿。
在另一种可能的场景中,第一终端设备(例如,手机)已有热点业务但无蓝牙业务(蓝牙开关打开)。例如,用户使用手机1连接手机2的热点上网看视频,如果此时手机1发起Wi-Fi扫描或蓝牙扫描,那么业务的扫描可能与正在进行的视频业务竞争空口资源,造成热点业务的数据传输速率下降。
在又一种可能的场景中,第一终端设备(例如,手机)已有蓝牙业务但无Wi-Fi业务(Wi-Fi开关打开)。例如,用户使用手机与蓝牙耳机建立蓝牙链路进行通话。如果此时手机发起Wi-Fi扫描或蓝牙扫描,那么业务的扫描可能与正在进行的通话业务竞争空口资源,造成通话质量下降。
在又一种可能的场景中,已有Wi-Fi业务和蓝牙业务。例如,用户使用手机与路由器建立Wi-Fi链路上网玩游戏,并且使用手机与蓝牙音箱建立蓝牙链路播放手机上的音乐。如果此时手机发起Wi-Fi扫描或蓝牙扫描,那么业务的扫描可能与正在进行的游戏业务和音乐业务竞争空口资源,造成游戏画面卡顿以及音乐播放卡顿。
其中,空口资源可以是时域资源,受限于终端设备的硬件成本,通常Wi-Fi和蓝牙共用同一根2.4GHz的天线(例如,上述图1中的天线2),如果终端设备频繁发起扫描执行的业务也使用相同的2.4GHz的天线(例如,上述图1中的天线2),那么扫描执行的业务会与正在进行的Wi-Fi业务和/或蓝牙业务竞争空口资源。
由上述描述可知,在Wi-Fi和蓝牙共存场景下存在业务的扫描竞争空口资源而导致正在进行的Wi-Fi业务和/或蓝牙业务的数据传输速率下降的问题。有鉴于此,本申请实施例提供一种数据传输方法和数据传输装置,该方法可以在终端设备的硬件条件有限,无法改变终端设备的硬件的情况下,通过第二终端设备执行第一终端设备的Wi-Fi扫描或蓝牙扫描,并将扫描结果发送给第一终端设备,这样第一终端设备在不进行Wi-Fi扫描或蓝牙扫描的情况下便可以得到扫描结果,有利于避免终端设备发起扫描执行的业务与正在进行的Wi-Fi业务和/或蓝牙业务竞争空口资源,提高Wi-Fi业务和/或蓝牙业务的数据传输速率,改善通信质量。
示例性地,本申请实施例提供的数据传输方法可应用于同时使用两种无线通信技术的场景,该场景可以包括终端设备,与终端设备通过蓝牙连接的蓝牙设备(比如,蓝牙音箱和蓝牙耳机等)和/或与终端设备通过Wi-Fi连接的设备(比如,智能电视、洗衣机以及冰箱等)。其中,终端设备可以为手机、平板电脑(Pad)、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、智能手表、上网本、可穿戴电子设备、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、车载设备、智能汽车、智能音响等,本申请实施例对此不作限定。
示例性地,如图5所示,图5是本申请实施例提供的另一种Wi-Fi和蓝牙共存场景下的流程图。以终端设备为手机为例,手机的Wi-Fi功能和蓝牙功能开启后,假设用户正在使用Wi-Fi上网玩游戏,同时通过蓝牙连接的耳机或音箱听音乐。这种情况下,终端设备同时发起的后台Wi-Fi定位、蓝牙定位或蓝牙连接请求等等。为了避免终端设备新增加的业务发起蓝牙扫描时与Wi-Fi竞争空口资源而导致的游戏卡顿或网速下降等问题,手机可以和蓝牙外设进行蓝牙私有通信,将新增加的业务发起的蓝牙扫描通过蓝牙外设来执行,例如通过蓝牙耳机执行业务的扫描,相较于图4所描述的方法,图5所描述的方法有利于避免新增加的业务发起蓝牙扫描时竞争Wi-Fi的空口资源,从而可以缓解游戏卡顿或网速下降等问题。
下面以终端设备为手机为例,对手机业务的扫描进行介绍。
示例性地,手机中的某一应用发起Wi-Fi扫描之前,该应用首先可以注册一个广播监听器。例如,应用可以通过调用接口的方式注册一个广播监听器,比如,假设手机的操作系统为Android系统,该应用可以调用SCAN_RESULTS_AVAILABLE_ACTION接口注册广播监听器。然后,该应用请求Wi-Fi扫描时,也可以调用接口请求Wi-Fi扫描。比如,该应用通过调用WifiManager.startScan()接口请求Wi-Fi扫描。最后,该应用通过调用接口的方式获取Wi-Fi扫描结果。比如,该应用通过调用 WifiManager.getScanResults() 获取Wi-Fi扫描结果。
蓝牙扫描的目的在于发现设备或者接收设备广播,其中,设备包括经典(bluetooth,BT)蓝牙设备和低功耗(bluetooth low energy ,BLE)蓝牙设备,这两种设备的扫描方式不同。
其中,经典蓝牙设备发起蓝牙扫描可以通过调用接口的方式实现。以Android的经典蓝牙设备为例,经典蓝牙设备可以通过调用startDiscovery接口实现蓝牙扫描,返回的结果是通过BroadcastReceiver接收的。经典蓝牙设备发起蓝牙扫描后可以获取设备的硬件地址(media access control,MAC)地址,名称以及接收信号强度指示(received signalstrength indication,RSSI)。startDiscovery是个异步调用,会立即返回。如果不调用cancelDiscovery主动停止扫描的话,最多扫描12s。对于BLE蓝牙设备,发起蓝牙扫描也是通过调用接口实现的。以Android的BLE蓝牙设备为例,BLE蓝牙设备也可以通过调用startLeScan接口实现蓝牙扫描,返回的结果是通过onLeScan回调,除了获得设备MAC地址,名称及RSSI之外还能获取设备广播。
需要解释的是,上述手机中的应用发起Wi-Fi扫描和蓝牙扫描时调用的接口仅作为示例性表述,本申请实施例中对此不作限定。
图6是本申请实施例提供的一种数据传输方法600的流程示意图,应用于第一终端设备,第一终端设备和第二终端设备之间建立有第一链路,该第一终端设备处于Wi-Fi数据传输状态和/或蓝牙数据传输状态,方法600包括:
S601,在第一终端设备执行Wi-Fi业务和/或蓝牙业务的过程中,若第一终端设备检测到有业务发起扫描,第一终端设备通过第一链路向第二终端设备发送扫描请求消息,该扫描请求消息用于请求该第二终端设备进行目标网络的扫描,该目标网络为Wi-Fi或蓝牙。相应地,第二终端设备接收该扫描请求消息。
S602,第二终端设备根据该扫描请求消息,对目标网络进行扫描,确定扫描结果。
S603,第二终端设备向第一终端设备发送该扫描结果。相应地,第一终端设备接收该扫描结果。
在本申请实施例中,目标网络的扫描为Wi-Fi扫描或蓝牙扫描。第一终端设备可以在Wi-Fi和蓝牙共存场景下,通过第二终端设备来执行Wi-Fi扫描或蓝牙扫描以获取扫描结果,这样有利于避免Wi-Fi和蓝牙共存场景下业务的扫描对第一终端设备正在进行的Wi-Fi数据传输和/或蓝牙数据传输造成影响,进而提高Wi-Fi和蓝牙共存场景下的数据传输速率。
上述第一链路为Wi-Fi链路或蓝牙链路。其中,蓝牙链路可以蓝牙是异步无连接链路(asynchronous connectionless link,ACL)或者BLE链路。蓝牙扫描可以是BT扫描或者BLE扫描。
应理解,在本申请实施例中,业务的扫描是由第一终端设备在Wi-Fi和蓝牙共存场景下发起的。示例性地,第一终端设备可以是通过接收用户点击APP中扫描图标的操作指令以触发业务的扫描,也可以是第一终端设备中的APP在运行过程中自行发起的业务的扫描,这两种情况下发起的业务的扫描在执行过程中可能挤占正在进行的Wi-Fi业务和/或蓝牙业务的空口资源,从而造成数据传输速率下降,因此第一终端设备在检测到有业务发起Wi-Fi扫描或蓝牙扫描后可以向第二终端设备发送扫描请求消息,以通过第二终端设备来执行业务的扫描,从而有利于避免Wi-Fi和蓝牙共存场景下业务的扫描竞争空口资源的情况。
表一示出了部分WiFi和蓝牙共存场景下的扫描业务及其对应的扫描类型、扫描频率、影响因素、设备类型、硬件要求。
表一
示例性地,手机中的应用通过Wi-Fi执行投屏业务时,手机中的其它应用通过蓝牙发起定位功能。示例性地,手机可以通过BLE与蓝牙耳机蓝牙音箱相连接,且通过无线路由器与扫地机连接的场景下,用户可以通过语音唤醒的方法发现蓝牙音箱,并使蓝牙音箱与手机建立蓝牙连接,用户还可以通过操作手机中与扫地机对应的应用,以使得扫地机与手机之间建立Wi-Fi连接等。
图7是本申请实施例提供的一种通信系统700的示意图。如图7所示,通信系统700包括第一终端设备400、第二终端设备101、第二终端设备102以及第二终端设备103。示例性地,第一终端设备400与第二终端设备101之间建立有Wi-Fi链路,第一终端设备400与第二终端设备102以及第二终端设备103之间建立有蓝牙链路。
其中,第一终端设备400、第二终端设备101、第二终端设备102以及第二终端设备103可以具有如图1所示的硬件结构和/或如图2所示的软件结构。
应理解,图7示出了第一终端设备400与第二终端设备101、第二终端设备102以及第二终端设备103之间的一种可能的连接关系,还可以有如下几种可能的连接关系。
示例性地,还可以是第一终端设备400与第二终端设备101以及第二终端设备102之间建立有Wi-Fi链路,第一终端设备400与第二终端设备103之间建立有蓝牙链路。
示例性地,还可以是第一终端设备400与第二终端设备101以及第二终端设备103之间建立有Wi-Fi链路,第一终端设备400与第二终端设备102之间建立有蓝牙链路。
示例性地,还可以是第一终端设备400与第二终端设备101、第二终端设备102以及第二终端设备103之间建立有Wi-Fi链路。
示例性地,还可以是第一终端设备400与第二终端设备101、第二终端设备102以及第二终端设备103之间建立有蓝牙链路。
对于有多个第二终端设备的情况,例如,用户使用第一终端设备400通过Wi-Fi链路观看视频,在用户观看视频的过程中,如果第一终端设备400发起蓝牙扫描,与正在进行的Wi-Fi业务(即视频业务)竞争空口资源,影响Wi-Fi业务的分时占比,这样可能导致上网速率下降、视频卡顿。因此第一终端设备400可以向第二终端设备101、第二终端设备102以及第二终端设备103中的目标第二终端设备发送扫描请求消息,由目标第二终端设备进行Wi-Fi扫描或蓝牙扫描,并将扫描结果发送给第一终端设备400。
应理解,图7示出了三个第二终端设备,还可以有其他的第二终端设备与第一终端设备建立Wi-Fi链路或蓝牙链路,本申请实施例对第二终端设备的数量不作限定。
下面结合图7和图8对本申请实施例提供的数据传输方法进行说明。
图8是本申请实施例提供的另一种数据传输方法800的流程示意图。应理解,方法800是以图7中的第一终端设备400、第二终端设备101以及第二终端设备102为例进行介绍的。方法800包括如下步骤:
S801,第一终端设备400向第二终端设备101发送第一链路建立请求消息,该第一链路建立请求消息用于请求与第二终端设备101建立Wi-Fi链路。相应地,第二终端设备102接收该第一链路建立请求消息。
S802,第二终端设备101根据该第一链路建立请求消息,向第一终端设备400发送第一链路建立响应消息,该第一链路建立响应消息中携带第二终端设备102的硬件能力信息、电量信息或设备类型信息中的至少一种。相应地,第一终端设备400接收该第一链路建立响应消息。
示例性地,第一终端设备为手机,手机开机启动后,触发手机连接Wi-Fi并打开蓝牙。在手机的Wi-Fi已连接且蓝牙已打开后,用户可以使用手机打游戏、上网、下载应用以及传输数据(如图片、文件以及视频等)等,或者,用户还可以通过与手机蓝牙连接的蓝牙耳机接听电话、听音乐等。
作为一种可能的实现方式,手机的通知栏中显示有WLAN和蓝牙的图标,用户可以在手机的通知栏中开启WLAN和蓝牙。其中,WLAN可以采用Wi-Fi技术。若手机检测到用户点击通知栏中WLAN或蓝牙的图标,手机响应于用户的点击操作连接Wi-Fi或打开蓝牙。
作为另一种可能的实现方式,手机的设置界面中设置有WLAN和蓝牙的开启开关,用户也可以在手机的设置界面中开启WLAN和蓝牙。若手机检测到用户点击设置界面中WLAN或蓝牙的操作后,响应于用户的点击操作连接Wi-Fi或打开蓝牙。
上述手机连接Wi-Fi或打开蓝牙的方法仅作为示例性描述,任意可以实现的方式均适用于本申请中,此处不作限定。
S803,第一终端设备400向第二终端设备102发送第二链路建立请求消息,该第二链路建立请求消息用于请求与第二终端设备101建立蓝牙链路。相应地,第二终端设备102接收该第二链路建立请求消息。
S804,第二终端设备102根据该第二链路建立请求消息,向第一终端设备400发送第二链路建立响应消息,该第二链路建立响应消息中携带第二终端设备102的硬件能力信息、电量信息或设备类型信息中的至少一种。相应地,第一终端设备400接收该第二链路建立响应消息。
示例性地,第一终端设备为手机,第二终端设备为蓝牙耳机,建立的蓝牙链路为蓝牙ACL。在手机打开蓝牙后,手机可以接收来自蓝牙耳机的寻呼消息,该寻呼消息用于请求与手机建立蓝牙ACL。手机可以固定间隔地扫描(scan)外部寻呼,当手机扫描到外部寻呼消息时便可以响应(response)该寻呼消息,这样手机和蓝牙耳机之间便会建立蓝牙ACL。
S805,第一终端设备400根据第二终端设备101和第二终端设备102的硬件能力信息、电量信息或设备类型信息中的至少一种,确定目标第二终端设备。示例性地,图5中确定第二终端设备101作为目标第二终端设备。
作为一个可选的实施例,方法600中的第二终端设备的数量为多个,方法600还包括:第一终端设备基于硬件能力信息、电量信息、设备类型信息中的至少一个,从多个第二终端设备中选择一个目标第二终端设备;第一终端设备通过第一链路向第二终端设备发送扫描请求消息,包括:第一终端设备通过该第一链路向该目标第二终端设备发送该扫描请求消息。
在本申请实施例中,第一终端设备可以从与第一终端设备建立Wi-Fi连接或者蓝牙连接的多个第二终端设备中选择一个目标第二终端设备进行Wi-Fi扫描或蓝牙扫描,该目标第二终端设备满足Wi-Fi扫描或蓝牙扫描的需求,这样有利于实现业务的扫描。
作为一个可选的实施例,第一终端设备基于多个第二终端设备的硬件能力信息,从支持目标网络的第二终端设备中选择目标第二终端设备。
在本申请实施例中,以图7为例,第一终端设备400可以从第二终端设备101、第二终端设备102以及第二终端设备103中选择一个硬件能力支持Wi-Fi扫描或蓝牙扫描的第二终端设备作为目标第二终端设备,由该目标第二终端设备进行Wi-Fi扫描或蓝牙扫描。
示例性地,第一终端设备400发起的是蓝牙扫描,第二终端设备101和第二终端设备102的硬件不支持蓝牙扫描,第二终端设备103的硬件支持蓝牙扫描,则第一终端设备确定第二终端设备103为目标第二终端设备。
作为一个可选的实施例,第一终端设备基于多个第二终端设备的电量信息,将电量最高的第二终端设备确定为目标第二终端设备。
在本申请实施例中,以图7为例,由于扫描可能产生功耗,造成电量的下降,为了不使扫描因为电量较低而中断,第一终端设备400可以从第二终端设备101、第二终端设备102以及第二终端设备103中选择一个电量最高的第二终端设备作为目标第二终端设备,有利于实现业务的扫描。
示例性地,第二终端设备101的电量为30%,第二终端设备102的电量为20%,第二终端设备103的电量为60%,则第一终端设备400确定第二终端设备103为目标第二终端设备,即第一终端设备400选择电量最高的第二终端设备作为目标第二终端设备。
作为一个可选的实施例,第一终端设备基于多个第二终端设备的设备类型信息,从满足业务所需的设备类型的第二终端设备中选择目标第二终端设备。
上述设备类型包括手机、平板电脑、PC、路由器、音频设备或可穿戴设备中的至少一种。
示例性地,以图7为例,第二终端设备101路由器,第二终端设备102为蓝牙音箱,第二终端设备103为Pad。在Wi-Fi和蓝牙共存的场景下,第一终端设备接收指令,打开共享业务。其中,共享业务的扫描类型为Wi-Fi扫描或BLE扫描,扫描频率为周期常驻,影响扫描的因素为第二终端设备101、第二终端设备102以及第二终端设备103中的目标第二终端设备的开关、亮灭屏,通常实现共享业务的终端设备的类型可以是手机、Pad、PC或路由器,硬件上要求蓝牙支持BLE,Wi-Fi支持主动扫描。因此第一终端设备400可以选择第二终端设备103作为目标第二终端设备执行业务的扫描。
作为一个可选的实施例,第一终端设备基于多个第二终端设备的硬件能力信息和设备类型信息,确定至少一个候选第二终端设备,该至少一个候选第二终端设备支持该目标网络且满足业务所需的设备类型;第一终端设备基于该至少一个候选第二终端设备的电量信息,将该至少一个候选第二终端设备中电量最高的候选第二终端设备确定为该目标第二终端设备。
在本申请实施例中,以图7为例,第一终端设备400在选择目标第二终端设备时,可以优先考虑第二终端设备101、第二终端设备102以及第二终端设备103的硬件能力信息和设备类型信息,在支持该目标网络且满足业务所需的设备类型的第二终端设备中再根据电量选择目标第二终端设备。
示例性地,第二终端设备101为Pad,电量为70%,硬件不支持Wi-Fi扫描或蓝牙扫描。第二终端设备102为PC,电量为50%,支持Wi-Fi扫描或蓝牙扫描。第二终端设备103为蓝牙耳机,电量为60%,支持Wi-Fi扫描或蓝牙扫描。在Wi-Fi和蓝牙共存的场景下,第一终端设备400接收指令,打开多屏协同业务。其中,多屏协同业务的扫描类型为Wi-Fi扫描、BT扫描或BLE扫描,扫描频率为周期常驻,影响扫描的因素为第二终端设备101、第二终端设备102以及第二终端设备103中的目标第二终端设备的开关、亮灭屏,通常实现多屏协同业务的终端设备的类型可以是手机、Pad、PC或路由器,硬件上要求蓝牙支持BT或BLE,Wi-Fi支持主动扫描。
上述示例的第二终端设备101虽然满足多屏协同业务所需的设备类型,但是硬件不支持Wi-Fi扫描和蓝牙扫描,第二终端设备103虽然硬件支持Wi-Fi扫描和蓝牙扫描,但是不满足多屏协同业务所需的设备类型。第二终端设备102既满足协同多屏业务所需的设备类型,硬件又支持Wi-Fi扫描或蓝牙扫描。若通信系统700还包括一个既满足协同多屏业务所需的设备类型,硬件又支持Wi-Fi扫描或蓝牙扫描,并且电量为45%的第二终端设备(图7中未予以示出),那么第一终端设备400可以在这两个既满足协同多屏业务所需的设备类型,硬件又支持Wi-Fi扫描或蓝牙扫描的第二终端设备中选择电量最高的第二终端设备作为目标第二终端设备,即选择第二终端设备103作为目标第二终端设备。
S806,第一终端设备400向第二终端设备101发送扫描请求消息。相应地,第二终端设备101接收该扫描请求消息。
本步骤中,在第一终端设备执行Wi-Fi业务和/或蓝牙业务的过程中,若第一终端设备检测到有业务发起扫描,那么第一终端设备400可以向第二终端设备发送扫描请求消息,以通过第二终端设备进行业务的扫描,从而有利于避免业务的扫描与正在进行的Wi-Fi业务和/或蓝牙业务的竞争空口资源。
S807,第二终端设备101根据该扫描请求消息,对目标网络进行扫描,确定扫描结果。
S808,第二终端设备101向第一终端设备400发送该扫描结果。相应地,第一终端设备400接收该扫描结果。
其中,S806-S808与S601-S603类似,具体的解释可参见上述对于图6的描述,此处不再赘述。
作为一个可选的实施例,第一链路为蓝牙链路,第一终端设备接收来自第二终端设备的扫描结果,包括:第一终端设备接收来自第二终端设备的第一报文,该第一报文包括业务标识字段、命令标识字段以及有效载荷字段,扫描结果位于该有效载荷字段。第一终端设备根据业务标识字段和命令标识字段的指示,从该有效载荷字段获取该扫描结果。
在本申请实施例中,上述第一终端设备400和第二终端设备101可以通过私有的echo通信以使第二终端设备101实现Wi-Fi扫描或蓝牙扫描。私有的echo通信可以理解为不同厂商可以自定义协议中的字段,同一厂商的终端设备可以解析预先定义的echo报文中的字段。图9是本申请实施例提供的一种echo报文的示意图。
其中,报文头可以包括标记(flag)和版本(version),标记用于指示该报文是否为分片和/或该报文是否为最后一个分片。版本用于指示该报文的版本号。
业务标识(service ID)字段用于指示业务类型。示例性地,可以通过0x1F指示业务类型为外设扫描管理,表示可以通过外设终端(即上述实施例中的目标第二终端设备)执行Wi-Fi扫描或蓝牙扫描。
命令标识(command ID)字段用于指示执行的命令。示例性地,通过0x01指示执行BLE扫描,通过0x02指示执行BT扫描,通过0x03指示上报扫描结果,通过0x04指示停止扫描。
有效载荷(payload)字段中的类型长度值(type length value,TLV)格式用于指示私有数据。示例性地,TLV 0用于指示扫描占空比,TLV 1用于指示扫描间隔(interval),TLV 2用于指示扫描窗口(window)。应理解,图9中的Payload字段示出了3个TLV,还可以有其他的TLV来携带数据,例如第二终端设备并且上述对各字段的定义仅为示例,echo报文中各字段可灵活定义,本申请实施例中对此不作限定。
信息完整性检查(messages integrity check,MIC)用于检验该报文在传输过程中是否出错,可以保护有效载荷和报文头中的数据。
可选地,第一终端设备和第二终端设备之间可以预先协议echo报文中各字段所指示的含义。第一终端设备可以向第二终端设备发送echo报文指示第二终端设备进行Wi-Fi扫描、BT扫描、上报扫描结果或停止扫描,并且可以指示第二终端设备执行扫描时的扫描参数,例如扫描占空比、扫描周期、扫描间隔、扫描窗口等。
第二终端设备在接收到该echo报文后,根据协议规定,可以通过解析业务标识获取本次业务的业务类型,通过解析命令标识获取第一终端设备指示第二终端设备执行的命令,通过解析有效载荷中的扫描参数进行业务的扫描,获得扫描结果。
在得到扫描结果之后,第二终端设备通过echo报文的有效载荷字段中其中一个TLV携带该扫描结果,并向第一终端设备发送该携带扫描结果的echo报文,即上述实施例中的第一报文。
第一终端设备在接收到该携带扫描结果的echo报文之后,根据该业务标识字段指示的业务类型和命令标识字段指示的第二终端设备执行的命令,从有效载荷字段中获取该扫描结果。
作为一个可选的实施例,第一链路为Wi-Fi链路,第一终端设备接收来自第二终端设备的扫描结果,包括:第一终端设备接收来自第二终端设备的第二报文,该第二报文包括类别字段和TLVs字段,该扫描结果位于该TLVs字段。第一终端设备根据该类别字段,从该TLVs字段获取该扫描结果。
在本申请实施例中,上述第一终端设备400和第二终端设备101可以通过交互动作帧(action frame)以使第二终端设备101实现Wi-Fi扫描或蓝牙扫描。
图10是本申请实施例提供的一种动作帧的结构示意图。动作帧是基于802.11的基础帧结构的扩展,除了802.11的基础帧结构外,动作帧还包括一个固定长度的报文头以及多个TLV字段(如图10中的TLVs字段所示)。
其中,类型/子类型(type/subtype)字段用于指示802.11帧的类型或子类型。
持续时间(duration)字段的第15bit被设定为0时,该字段用于指示网络分配矢量(network allocation vector,NEV),其数值代表目前所进行的传输预计使用介质的时长,也就是预计占用信道的时间。
目的地址(destination address)的长度为6字节,用于指示帧的目的MAC地址。
源地址(source address)用于指示帧的源MAC地址。
基本服务集标识(basic service set identifier,BSSID)用于指示工作站的MAC地址,这里表示集群中主节点的MAC地址。
序列编号/片段编号(sequence/fragment no.)字段用于重组帧片段以及丢弃重复帧,包括序列编号(sequence number)和片段编号(fragment number)。
类别(category)字段设置为0时,表示频谱管理,可自定义其他的值。例如,通过0x1F指示业务的类别为外设扫描管理,表示可以通过外设终端(即上述实施例中的目标第二终端设备)执行Wi-Fi扫描或蓝牙扫描。
组织唯一标识符(organization unique identifier,OUI)字段的数字通常等于媒体接入控制(media access control,MAC)地址的前3字节,通常由芯片供应商提供。
物理层发射时间戳(PHY Tx Time)字段是用于同步的时间戳,表示帧的创建时间。
目标发射时间戳(target Tx Time)字段是用于同步的时间戳,表示帧进入传输队列的时间。
类型(type)字段用于指示帧的类型,可设置为8。
版本(version)字段用于指示帧的版本,目前为1.0版本。
子类型(subtype)字段用于指示帧的子类型,包括周期同步帧(0)和主指标广播帧(3)。
预留(reserved)字段用于后续扩展,可设置为0。
一个动作帧后会附着多个TLV字段(TLVs字段),携带私有数据。其中,TLV是一种可变格式,包括1字节的类型(type)子字段、2字节的长度(length)子字段以及值(value)子字段,值(value)子字段的长度由长度(length)子字段指定。
示例性地,例如,TLVs字段包括TLV 0、TLV 1、TLV 2以及TLV 3,第一终端设备可以在一个TLV 0字段指示目标第二终端设备执行Wi-Fi扫描、BT扫描或BLE扫描,在TLV 1指示扫描占空比,在TLV 2字段指示扫描间隔,在TLV 3字段指示扫描结果。
可选地,第一终端设备和第二终端设备之间可以预先协议私有数据被发布在TLVs字段,第一终端设备在接收到第二报文后,可以根据协议规定从TLVs字段获取扫描结果。
以上示出的TLV字段仅为示例,还可以通过其他的TLV字段指示扫描窗口、开始扫描、停止扫描等,每个TLV所指示的含义可以灵活定义,本申请实施例对此不作限定。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图10,详细描述了根据本申请实施例的数据传输方法,下面将结合图11,详细描述根据本申请实施例的数据传输装置。
图11是本申请实施例提供的一种数据传输装置1100的示意性框图。该装置1100包括处理器1110、收发器1120和存储器1130。其中,处理器1110、收发器1120和存储器1130通过内部连接通路互相通信,该存储器1130用于存储指令,该处理器1110用于执行该存储器1130存储的指令,以控制该收发器1120发送信号和/或接收信号。
应理解,装置1100可以具体为上述实施例中的第一终端设备,或者,上述实施例中第一终端设备的功能可以集成在装置1100中,装置1100可以用于执行上述方法实施例中与第一终端设备对应的各个步骤和/或流程。
可选地,该存储器1130可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器1110可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与第一终端设备对应的各个步骤和/或流程。
应理解,在本申请实施例中,处理器1110可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以
通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种数据传输方法,其特征在于,应用于第一终端设备,所述第一终端设备与第二终端设备之间建立有第一链路,所述方法包括:
在所述第一终端设备执行Wi-Fi业务和/或蓝牙业务的过程中,若所述第一终端设备检测到有业务发起扫描,所述第一终端设备通过所述第一链路向所述第二终端设备发送扫描请求消息,所述扫描请求消息用于请求所述第二终端设备进行目标网络的扫描,所述目标网络为Wi-Fi或蓝牙;
所述第一终端设备通过所述第一链路接收来自所述第二终端设备的扫描结果。
2.根据权利要求1所述的方法,其特征在于,所述第二终端设备的数量为多个,所述方法还包括:
所述第一终端设备基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择目标第二终端设备;
所述第一终端设备通过所述第一链路向所述第二终端设备发送扫描请求消息,包括:
所述第一终端设备通过所述第一链路向所述目标第二终端设备发送所述扫描请求消息。
3.根据权利要求2所述的方法,其特征在于,所述第一终端设备基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择一个目标第二终端设备,包括:
所述第一终端设备基于所述多个第二终端设备的硬件能力信息,从支持所述目标网络的第二终端设备中选择所述目标第二终端设备。
4.根据权利要求2所述的方法,其特征在于,所述第一终端设备基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择一个目标第二终端设备,包括:
所述第一终端设备基于所述多个第二终端设备的电量信息,将电量最高的第二终端设备确定为所述目标第二终端设备。
5.根据权利要求2所述的方法,其特征在于,所述第一终端设备基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择一个目标第二终端设备,包括:
所述第一终端设备基于所述多个第二终端设备的设备类型信息,从满足业务所需的设备类型的第二终端设备中选择所述目标第二终端设备。
6.根据权利要求2所述的方法,其特征在于,所述第一终端设备基于硬件能力信息、电量信息或者设备类型信息中的至少一个,从多个第二终端设备中选择一个目标第二终端设备,包括:
所述第一终端设备基于所述多个第二终端设备的硬件能力信息和设备类型信息,确定至少一个候选第二终端设备,所述至少一个候选第二终端设备支持所述目标网络且满足业务所需的设备类型;
所述第一终端设备基于所述至少一个候选第二终端设备的电量信息,将所述至少一个候选第二终端设备中电量最高的候选第二终端设备确定为所述目标第二终端设备。
7.根据权利要求2-6中任一项所述的方法,其特征在于,所述方法还包括:
所述第一终端设备向所述第二终端设备发送链路建立请求消息,所述链路建立请求消息用于请求与所述第二终端设备建立所述第一链路;
所述第一终端设备接收来自所述第二终端设备的链路建立响应消息,所述链路建立响应消息包括所述第二终端设备的硬件能力信息、电量信息或者设备类型信息中的至少一个。
8.根据权利要求7所述的方法,其特征在于,所述第一链路为Wi-Fi链路或蓝牙链路。
9.根据权利要求8所述的方法,其特征在于,所述第一链路为蓝牙链路,所述第一终端设备接收来自所述第二终端设备的扫描结果,包括:
所述第一终端设备接收来自所述第二终端设备的第一报文,所述第一报文包括业务标识字段、命令标识字段以及有效载荷字段,所述扫描结果位于所述有效载荷字段;
所述第一终端设备根据所述业务标识字段和所述命令标识字段,从所述有效载荷字段获取所述扫描结果。
10.根据权利要求8所述的方法,其特征在于,所述第一链路为Wi-Fi链路,所述第一终端设备接收来自所述第二终端设备的扫描结果,包括:
所述第一终端设备接收来自所述第二终端设备的第二报文,所述第二报文包括类别字段和类型长度值TLVs字段,所述扫描结果位于所述TLVs字段;
所述第一终端设备根据所述类别字段,从所述TLVs字段获取所述扫描结果。
11.一种数据传输装置,其特征在于,包括处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,当所述处理器调用所述计算机程序时,使得所述装置执行如权利要求1-10中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111195306.3A CN113645608B (zh) | 2021-10-14 | 2021-10-14 | 数据传输方法和数据传输装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111195306.3A CN113645608B (zh) | 2021-10-14 | 2021-10-14 | 数据传输方法和数据传输装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113645608A true CN113645608A (zh) | 2021-11-12 |
CN113645608B CN113645608B (zh) | 2021-12-10 |
Family
ID=78426804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111195306.3A Active CN113645608B (zh) | 2021-10-14 | 2021-10-14 | 数据传输方法和数据传输装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645608B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113613230A (zh) * | 2021-10-09 | 2021-11-05 | 荣耀终端有限公司 | 一种扫描参数的确定方法及电子设备 |
CN116055462A (zh) * | 2022-05-20 | 2023-05-02 | 荣耀终端有限公司 | 一种数据传输方法、终端设备、存储介质以及芯片系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080058031A1 (en) * | 2006-08-31 | 2008-03-06 | Lg Electronics Inc. | Apparatus and method of optimizing the power saving in a handset with wlan and bluetooth™ |
CN101960897A (zh) * | 2008-03-03 | 2011-01-26 | 高通股份有限公司 | 促进无线客户机终端的省电 |
CN108966302A (zh) * | 2017-05-18 | 2018-12-07 | 华为技术有限公司 | 实现在ap间切换的方法、设备及系统 |
US20210282098A1 (en) * | 2018-11-22 | 2021-09-09 | Huawei Technologies Co., Ltd. | Relay communication method and apparatus |
CN113490158A (zh) * | 2021-07-07 | 2021-10-08 | 荣耀终端有限公司 | 蓝牙设备配对连接方法、电子设备、蓝牙设备及终端系统 |
-
2021
- 2021-10-14 CN CN202111195306.3A patent/CN113645608B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080058031A1 (en) * | 2006-08-31 | 2008-03-06 | Lg Electronics Inc. | Apparatus and method of optimizing the power saving in a handset with wlan and bluetooth™ |
CN101960897A (zh) * | 2008-03-03 | 2011-01-26 | 高通股份有限公司 | 促进无线客户机终端的省电 |
CN108966302A (zh) * | 2017-05-18 | 2018-12-07 | 华为技术有限公司 | 实现在ap间切换的方法、设备及系统 |
US20210282098A1 (en) * | 2018-11-22 | 2021-09-09 | Huawei Technologies Co., Ltd. | Relay communication method and apparatus |
CN113490158A (zh) * | 2021-07-07 | 2021-10-08 | 荣耀终端有限公司 | 蓝牙设备配对连接方法、电子设备、蓝牙设备及终端系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113613230A (zh) * | 2021-10-09 | 2021-11-05 | 荣耀终端有限公司 | 一种扫描参数的确定方法及电子设备 |
CN113613230B (zh) * | 2021-10-09 | 2021-12-31 | 荣耀终端有限公司 | 一种扫描参数的确定方法及电子设备 |
CN116055462A (zh) * | 2022-05-20 | 2023-05-02 | 荣耀终端有限公司 | 一种数据传输方法、终端设备、存储介质以及芯片系统 |
CN116055462B (zh) * | 2022-05-20 | 2023-11-07 | 荣耀终端有限公司 | 一种数据传输方法、终端设备、存储介质以及芯片系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113645608B (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111641979B (zh) | 一种Wi-Fi点对点业务的实现方法以及相关设备 | |
US11683850B2 (en) | Bluetooth reconnection method and related apparatus | |
JP7389264B2 (ja) | 無線通信方法及び無線通信機能を有する装置 | |
CN113645693B (zh) | WiFi P2P连接方法、电子设备和介质 | |
CN113645608B (zh) | 数据传输方法和数据传输装置 | |
CN113645715B (zh) | 用于监听链路的方法和终端设备 | |
US20240069850A1 (en) | Application Sharing Method, Electronic Device, and Storage Medium | |
EP4311314A1 (en) | Sleep scheduling method and device | |
CN118018640A (zh) | 音量管理的方法及电子设备 | |
WO2023025191A1 (zh) | 通信方法及电子设备 | |
CN113835802A (zh) | 设备交互方法、系统、设备及计算机可读存储介质 | |
CN116056050A (zh) | 播放音频的方法、电子设备及系统 | |
CN113613230B (zh) | 一种扫描参数的确定方法及电子设备 | |
CN115767602B (zh) | 设备协议子系统异常自动纠错方法和电子设备 | |
CN116709557B (zh) | 业务处理方法、设备及存储介质 | |
WO2022206702A1 (zh) | 蓝牙通信方法及系统 | |
CN114928899B (zh) | 物理链路的建立方法和电子设备 | |
CN115087134B (zh) | 一种蓝牙连接的方法和电子设备 | |
CN114390569B (zh) | 同步信号块的测量方法、装置和移动终端 | |
WO2022228248A1 (zh) | 蓝牙通信方法、系统及电子设备 | |
WO2022206603A1 (zh) | 通信资源协作方法及电子设备 | |
CN118075393A (zh) | 一种显示方法和电子设备 | |
CN117631935A (zh) | 参数同步方法及电子设备 | |
CN115734344A (zh) | 通信方法及电子设备 | |
CN118101637A (zh) | 设备协同方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |