蓝牙扫描方法、装置、终端及存储介质与流程

文档序号:17238225发布日期:2019-03-30 08:27阅读:297来源:国知局
蓝牙扫描方法、装置、终端及存储介质与流程
本申请实施例涉及蓝牙
技术领域
,特别涉及一种蓝牙扫描方法、装置、终端及存储介质。
背景技术
:随着蓝牙技术的不断成熟,越来越多的终端具备蓝牙功能。终端之间可以通过建立蓝牙连接来进行数据通信。蓝牙低功耗(bluetoothlowenergy,ble)4.0协议中定义了三种蓝牙工作模式,分别为低功耗模式(lowpowermode)、平衡模式(balancemode)以及低延迟模式(lowlatencymode)。其中,低功耗模式下的蓝牙扫描时间<平衡模式下的蓝牙扫描时间<低延迟模式下的蓝牙扫描时间。并且,为了降低终端功耗,终端长时间开启蓝牙时,蓝牙芯片处于低功耗模式。技术实现要素:本申请实施例提供了一种蓝牙扫描方法、装置、设备及存储介质,可以解决相关技术中,低功耗模式下频繁接收到同一蓝牙设备广播的数据时,需要频繁唤醒处理器,导致低功耗模式下功耗增加的问题。所述技术方案如下:一方面,提供了一种蓝牙扫描方法,所述方法用于蓝牙从设备,所述方法包括:低功耗模式下,当接收到信标(beacon)数据时,唤醒处理器,所述beacon数据由蓝牙主设备广播,所述处理器用于处理所述beacon数据;若接收到同一蓝牙主设备广播的n条所述beacon数据,则获取n条所述beacon数据各自对应的计步器数据,所述计步器数据是在接收到所述beacon数据时获取得到,n≥2,n为整数;若所述计步器数据满足预设条件,则关闭蓝牙扫描,其中,关闭蓝牙扫描后,所述蓝牙从设备停止接收所述beacon数据。另一方面,提供了一种蓝牙扫描装置,所述装置用于蓝牙从设备,所述装置包括:数据接收模块,用于低功耗模式下,当接收到beacon数据时,唤醒处理器,所述beacon数据由蓝牙主设备广播,所述处理器用于处理所述beacon数据;数据获取模块,用于若接收到同一蓝牙主设备广播的n条所述beacon数据,则获取n条所述beacon数据各自对应的计步器数据,所述计步器数据是在接收到所述beacon数据时获取得到,n≥2,n为整数;关闭模块,用于当所述计步器数据满足预设条件时,关闭蓝牙扫描,其中,关闭蓝牙扫描后,所述蓝牙从设备停止接收所述beacon数据。另一方面,提供了一种蓝牙设备,所述蓝牙设备包括处理器、存储器和蓝牙组件;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的蓝牙扫描方法。另一方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述方面所述的蓝牙扫描方法。蓝牙从设备在低功耗模式下接收到beacon数据后,确定广播该beacon数据的蓝牙主设备,并在检测到接收到该蓝牙主设备广播的n条beacon数据,获取接收到各条beacon数据时的计步器数据,从而在计步器数据满足预设条件时,关闭蓝牙扫描;由于关闭蓝牙扫描后蓝牙从设备不会接收到beacon数据,因此能够避免因再次接收到同一蓝牙主设备广播的beacon数据而唤醒处理器,进一步降低了低功耗模式下蓝牙从设备的功耗。附图说明图1示出了本申请一个实施例提供的实施环境的示意图;图2是低功耗模式下蓝牙从设备的电流变化曲线图;图3示出了本申请一个示例性实施例所提供的蓝牙设备的结构示意图;图4示出了本申请一个示例性实施例提供的蓝牙扫描方法的方法流程图;图5示出了本申请另一个示例性实施例提供的蓝牙扫描方法的方法流程图;图6示出了本申请另一个示例性实施例提供的蓝牙扫描方法的方法流程图;图7示出了本申请另一个示例性实施例提供的蓝牙扫描方法的方法流程图;图8示出了本申请一个实施例提供的蓝牙扫描装置的结构框图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。请参考图1,其示出了本申请一个实施例提供的实施环境的示意图,该实施环境中包含蓝牙主设备110和蓝牙从设备120。蓝牙主设备110和蓝牙从设备120是安装有蓝牙芯片的电子设备,该电子设备可以是智能手机、平板电脑、智能家电(比如智能音箱、智能冰箱、智能空调等等)、可穿戴式智能设备(比如智能眼镜、智能手表等等)、智能传感器(比如温度传感器、门窗传感器等等),本申请实施例并不对蓝牙主设备110和蓝牙从设备120的设备类型进行限定。如图1所述,蓝牙主设备110为智能音箱,而蓝牙从设备120为智能手机。可选的,蓝牙主设备110和蓝牙从设备120支持相同的蓝牙协议,比如,本申请实施例中的蓝牙主设备110和蓝牙从设备120均支持ble4.0协议。工作状态下,蓝牙主设备110按照预定广播周期(比如100ms)向周侧广播beacon数据(即蓝牙广播),可选的,该beacon数据中包括31字节的数据内容。低功耗模式下,蓝牙从设备120按照预定扫描周期(比如1s)扫描周侧的蓝牙广播。当在扫描周期内扫描到蓝牙主设备110广播的beacon数据时,蓝牙从设备120即唤醒处于挂起状态的处理器,并对接收到beacon数据进行解析处理。当然,蓝牙主设备110可以通过关闭蓝牙广播功能,并开启蓝牙扫描功能,从而转换为蓝牙从设备,相应的,蓝牙从设备120可以通过开启蓝牙广播功能,并关闭蓝牙扫描功能,从而转换为蓝牙主设备,本申请实施例对此不做限定。示意性的,低功耗模式下蓝牙从设备120的电流变化曲线如图2所示。其中,低功耗模式下,蓝牙从设备120未扫描到蓝牙广播(即未接收到beacon数据)时,无需唤醒处于挂起(suspend)状态的处理器,进而保持较低的功耗;当扫描到蓝牙广播时,蓝牙从设备120需要唤醒处理器对接收到的beacon数据进行处理,导致蓝牙从设备120在低功耗模式下出现较高的电流尖峰;并且,蓝牙从设备120每次扫描到同一蓝牙主设备广播的beacon数据后,都需要唤醒处理器,导致低功耗模式下蓝牙从设备120的功耗增加。为了解决低功耗模式下频繁唤醒处理器导致设备功耗增加的问题,本申请实施例提供了一种蓝牙扫描方法。将该蓝牙扫描方法应用到蓝牙设备后,若蓝牙设备连续扫描到同一蓝牙主设备广播的蓝牙广播,且蓝牙设备在接收蓝牙广播期间未发生移动(或处于缓慢移动状态),蓝牙从设备即关闭蓝牙扫描功能,从而避免因频繁唤醒处理器造成的功耗增加的问题。下面以蓝牙扫描方法应用于图1所示的蓝牙从设备120为例进行说明。请参考图3,其示出了本申请一个示例性实施例所提供的蓝牙设备的结构示意图,该蓝牙设备可以实现成为图1中的蓝牙从设备120。可选的,该蓝牙设备中包括:处理器122、存储器124、蓝牙组件126和显示屏128。处理器122可以包括一个或者多个处理核心。处理器122利用各种接口和线路连接整个终端120内的各个部分,通过运行或执行存储在存储器124内的指令、程序、代码集或指令集,以及调用存储在存储器124内的数据,执行蓝牙设备的各种功能和处理数据。可选的,处理器122可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器122可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器122中,单独通过一块芯片进行实现。存储器124可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器140包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器124可用于存储指令、程序、代码、代码集或指令集。存储器124可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储下面各个方法实施例中涉及到的数据等。蓝牙组件126是用于实现蓝牙功能的组件。可选的,蓝牙组件126中包含收发器(transceiver)、功率放大器(poweramplifier,pa)、低噪声放大器(lownoiseamplifier,lna)和天线(antenna)。可选的,在发射蓝牙信号时,收发器按照蓝牙协议规范,将数据加载到预定频段的蓝牙信号中,并通过功率放大器对蓝牙信号进行放大,从而通过天线发射。在接收蓝牙信号时,通过天线接收到蓝牙信号后,通过低噪声放大器对接收到的蓝牙信号进行降噪,并将降噪后的蓝牙信号回传到收发器。显示屏128是用于显示图像的组件。显示屏128可以仅具有图像显示功能,也可以同时具有图像显示以及接收触摸操作的功能,即该显示屏128可以为触摸显示屏。并且,显示屏128可以是全面屏、异形屏、折叠屏、曲面屏或其他形式的屏幕,本申请实施例并不对此进行限定。本申请实施例中,蓝牙设备还包括计步器,该计步器由振动传感器和电子计数器组成,用于统计用户携带蓝牙设备时行进的步数。当然,蓝牙设备还可以包含距离传感器、摄像头、加速度传感器、角速度传感器、定位模块、红外模块等其他组件,本申请实施例并不对蓝牙设备的具体结构构成限定。请参考图4,其示出了本申请一个示例性实施例提供的蓝牙扫描方法的方法流程图,本实施例以该方法用于图1所示的蓝牙从设备120为例进行说明,该方法可以包括如下步骤。步骤401,低功耗模式下,当接收到beacon数据时,唤醒处理器,beacon数据由蓝牙主设备广播,处理器用于处理beacon数据。低功耗模式下,蓝牙从设备按照预定扫描周期扫描蓝牙广播,若在当前扫描周期内未扫描到蓝牙广播,蓝牙从设备不会唤醒处于挂起状态的处理器,并在到达下一个扫描周期时再次进行扫描。若扫描到蓝牙广播,蓝牙从设备则会唤醒处于挂起状态的处理器,并通过处理器对接收到的蓝牙广播数据(即beacon数据)进行处理。可选的,该beacon数据中包含唯一通用识别码(universallyuniqueidentifier,uuid)、编号(major)、标号(minor)和接收信号强度指示(receivedsignalstrengthindication,rssi)。本申请并不对beacon数据中包含的具体内容进行限定。步骤402,若接收到同一蓝牙主设备广播的n条beacon数据,则获取n条beacon数据各自对应的计步器数据,计步器数据是在接收到beacon数据时获取得到,n≥2,n为整数。在一种可能的实施方式中,对于接收到的每一条beacon数据,蓝牙从设备确定广播beacon数据的蓝牙主设备,并检测是否连续接收到同一蓝牙主设备广播的n条beacon数据(蓝牙从设备在接收n条beacon数据的过程中,需要频繁唤醒处理器)。若连续接收到同一蓝牙主设备广播的n条beacon数据,蓝牙从设备则进一步获取n条beacon数据各自对应的计步器数据。可选的,该计步器数据是在接收到beacon数据时获取并记录。若未连续接收到同一蓝牙主设备广播的n条beacon数据,蓝牙从设备则继续进行蓝牙扫描。可选的,在确定n条beacon数据是否为连续接收得到时,蓝牙从设备获取各条beacon数据的接收时刻,并根据接收时刻计算相邻beacon数据的接收时间差,若计算得到的n-1个接收时间差相同,则确定n条beacon数据是连续接收得到。比如,当连续接收到同一蓝牙主设备广播的10条beacon数据时,蓝牙从设备获取这10条beacon数据各自对应的计步器数据(共10条)。在一种可能的实施方式中,当蓝牙从设备同时扫描到多个蓝牙主设备广播的beacon数据时,蓝牙从设备统计接收到各个蓝牙主设备广播的beacon数据的次数,并在接收到任一蓝牙主设备广播的beacon数据的次数达到n时,执行获取beacon数据对应计步器数据的步骤。步骤403,若计步器数据满足预设条件,则关闭蓝牙扫描,其中,关闭蓝牙扫描后,蓝牙从设备停止接收beacon数据。在一种可能的实施方式中,蓝牙从设备根据n条计步器数据识别自身是否发生移动,若n条计步器数据指示蓝牙从设备未发生移动时,则确定n条计步器数据满足预设条件,并在低功耗模式下关闭蓝牙扫描,从而避免因再次接收到同一蓝牙主设备广播的beacon数据而唤醒处理器。在一种可能的应用场景中,待机状态下,智能手机的蓝牙处于低功耗工作模式,当智能手机停留在某一地点,并扫描到周侧蓝牙设备广播的beacon数据时,相关技术中,智能手机在停留期间会持续接收到beacon数据,进而频繁唤醒cpu;而采用本申请实施例提供的方案,智能手机在连续接收到同一beacon数据,并根据计步器数据检测到自身未发生移动时,会关闭蓝牙扫描功能,从而避免频繁唤醒cpu,进而降低智能手机在低功耗模式下的整体功耗。综上所述,本申请实施例中,蓝牙从设备在低功耗模式下接收到beacon数据后,确定广播该beacon数据的蓝牙主设备,并在检测到接收到该蓝牙主设备广播的n条beacon数据,获取接收到各条beacon数据时的计步器数据,从而在计步器数据满足预设条件时,关闭蓝牙扫描;由于关闭蓝牙扫描后蓝牙从设备不会接收到beacon数据,因此能够避免因再次接收到同一蓝牙主设备广播的beacon数据而唤醒处理器,进一步降低了低功耗模式下蓝牙从设备的功耗。在一种可能的实施方式中,蓝牙从设备在检测到计步器数据满足预设条件时,启动定时器,并在定时器时长内关闭蓝牙扫描;当达到定时器时长时,蓝牙从设备重启蓝牙扫描。下面采用示意性的实施例进行说明。请参考图5,其示出了本申请另一个示例性实施例提供的蓝牙扫描方法的方法流程图,本实施例以该方法用于图1所示的蓝牙从设备120为例进行说明,该方法可以包括如下步骤。步骤501,低功耗模式下,当接收到beacon数据时,唤醒处理器,beacon数据由蓝牙主设备广播,处理器用于处理beacon数据。本步骤的实施方式可以参考上述步骤401,本实施例在此不再赘述。步骤502,读取各条beacon数据中包含的蓝牙设备标识。对于接收到的每一条beacon数据,蓝牙从设备读取beacon数据中包含的蓝牙设备标识,并根据该蓝牙设备标识确定广播该beacon数据的蓝牙主设备。可选的,蓝牙从设备从beacon数据的uuid字段中读取蓝牙设备标识。步骤503,若n条beacon数据中包含同一蓝牙设备标识,则确定n条beacon数据由同一蓝牙主设备广播,并获取n条beacon数据各自对应的计步器数据。在一种可能的实施方式中,蓝牙从设备每接收到一条beacon数据时,即获取计步器当前的计步器数据,当接收到n条包含相同蓝牙设备标识的beacon数据时,蓝牙从设备确定这n条beacon数据由同一蓝牙主设备广播,并读取各条beacon数据对应的计步器数据。示意性的,蓝牙从设备获取到9条beacon数据对应的计步器数据如表一所示。表一beacon数据123456789计步器数据912913913913913913913914914步骤504,计算n条计步器数据中相邻计步器数据的计步数据差值。在一种可能的实施方式中,蓝牙从设备根据相邻两条计步器数据,计算相邻蓝牙扫描周期内的计步数据差值,从而计算得到n-1个计步数据差值。示意性的,结合表一所示的数据,蓝牙从设备根据10条beacon数据计算得到9个计步数据差值:1,0,0,0,0,0,0,1,0。步骤505,若n-1个计步数据差值之和小于第一步数阈值,和/或,n-1个计步数据差值均小于第二步数阈值,则确定计步器数据满足预设条件。当蓝牙从设备处于静止状态时,其采集到的计步器数据不会发生较大波动,因此,蓝牙从设备根据计步器数据的增加幅度,确定自身是否处于静止状态。可选的,蓝牙从设备计算n-1个计步数据差值之和,n-1个计步数据差值之和即为接收n条beacon数据期间内的运行步数。蓝牙从设备检测n-1个计步数据差值之和是否小于第一步数阈值,若满足,则确定接收n条beacon数据期间内蓝牙从设备未发生运行,计步器数据满足预设条件。为了避免计步器数据出现短暂激增(即发生运行),而n-1个计步数据差值之和却小于第一步数阈值时,将蓝牙从设备误判为处于静止状态,可选的,蓝牙从设备检测n-1个计步数据差值是否均小于第二步数阈值,若n-1个计步数据差值是否均小于第二步数阈值,则确定接收n条beacon数据期间内蓝牙从设备未发生运行,计步器数据满足预设条件。结合上述实施例中的示例,当第一步数阈值10步,第二步数阈值为4步时,由于9个计步数据差值之和为2<10,且每个计步数据差值均小于4,因此,蓝牙从设备确定自身处于静止状态。步骤506,若计步器数据满足预设条件,则启动定时器。根据n-1条计步器数据确定自身处于静止状态后,蓝牙从设备进一步启动定时器。可选的,该定时器的定时器时长为定值,或,该定时器时长由蓝牙从设备动态确定。比如,该定时器的定时器时长为1分钟。步骤507,在定时器的定时器时长内关闭蓝牙扫描。启动定时器后,蓝牙从设备的蓝牙扫描功能在定时器时长内保持关闭状态。由于关闭蓝牙扫描后无法接收到beacon数据,因此处理器在定时器时长内能够保持挂起状态,进而降低设备的功耗。除了在定时器时长内关闭蓝牙扫描功能这种降低功耗的方式外,在其他可能的实施方式中,在定时器时长内,蓝牙从设备可以延长蓝牙扫描周期,从而减少唤醒处理器的次数。比如,蓝牙从设备在定时器时长内,将蓝牙扫描周期由1s/次延长为10s/次。步骤508,当定时器达到定时器时长时,重新开启蓝牙扫描。当达到定时器时长时,蓝牙从设备重启蓝牙扫描,并在接收到蓝牙主设备广播的beacon数据时唤醒处理器。步骤509,若接收到蓝牙主设备广播的beacon数据,且beacon数据对应的计步器数据与上一条计步器数据的差值小于第二步数阈值,则启动定时器,并在定时器时长内关闭蓝牙扫描。重新开启蓝牙扫描后,蓝牙从设备若再次接收到先前蓝牙主设备广播的beacon数据(基于beacon数据中的蓝牙设备标识确定),进一步获取该beacon数据对应的计步器数据,并计算该计步器数据与上一条计步器数据之间的差值,并检测该差值是否小于第二步数阈值。若差值小于第二步数阈值,则确定蓝牙从设备(相对于蓝牙主设备)未发生移动,并重新启动定时器,从而在定时器时长内停止蓝牙扫描,降低设备功耗;若差值大于第二步数阈值,则确定蓝牙从设备发生移动,并继续保持蓝牙扫描。可选的,为了提高判断准确性,当重启蓝牙扫描后接收到蓝牙主设备广播的m条beacon数据,且各条beacon数据对应的计步器数据与其上一条计步器数据的差值均小于第二步数阈值时,蓝牙从设备启动定时器,其中,m<n,m为整数。结合上述步骤504中的示例,若重启蓝牙扫描后,再次接收到定时器开启前接收到的beacon数据,并获取到接收数据时刻的计步器数据为915,由于计步器数据915与上一计步器数据914之间的差值小于第二步数阈值4,因此,蓝牙从设备确定自身未发生移动,并重启定时器。本实施例中,蓝牙从设备根据连续接收beacon数据期间的计步器数据,确定自身是否发生移动,并在确定自身未发生移动时,在定时器时长内关闭蓝牙扫描,从而避免定时器时长内处理器被频繁唤醒;同时在达到定时器时长后,蓝牙从设备重新开启蓝牙扫描,避免蓝牙扫描长时间关闭对使用造成影响。在一种可能的实施方式中,为了进一步增加设备在静止状态下的功耗,蓝牙从设备根据定时器的启动次数,动态设置下一定时器的定时器时长,在图5的基础上,如图6所示,上述步骤506之前还包括如下步骤:步骤510,获取定时器的启动次数。当确定n条计步器数据满足预设条件时,蓝牙从设备确定需要启动定时器,从而获取定时器的(连续)启动次数,其中,定时器的启动次数越多,表明蓝牙从设备保持静止状态的时间越长。在一种可能的实施方式中,蓝牙从设备每次启动定时器时,都会对该定时器的启动次数进行加一操作,后续蓝牙从设备即可直接读取到该启动次数。示意性的,蓝牙从设备获取定时器的启动次数为5次。步骤511,根据启动次数确定定时器时长,并对启动次数进行加一操作,定时器时长与启动次数呈正相关关系。在一种可能的实施方式中,定时器的定时器时长固定,比如,该定时器时长为1分钟。然而,当采用固定的定时器时长时,若定时器时长设置过长,会导致蓝牙扫描长时间关闭,影响正常使用;若定时器时长设置过短,会导致蓝牙从设备在达到定时器时长后频繁唤醒处理器。因此,本实施例中,定时器的定时器时长根据定时器的启动次数动态确定。其中,定时器时长与启动次数呈正相关关系,即定时器的启动次数越多,定时器时长越长。在一种可能的实施方式中,蓝牙从设备中存储有定时器时长与启动次数的对应关系,该对应关系示意性如表二所示。表二启动次数定时器时长1-2次1min2-5次5min5次以上10min比如,当蓝牙从设备获取到定时器的启动次数为5次时,基于表二所示的对应关系确定定时器时长为5min。同时,蓝牙从设备对定时器的启动次数执行加一操作,以便后续再次启动定时器前,根据实时的启动次数确定定时器时长。比如,蓝牙从设备对启动次数5次进行加一操作,得到更新后的启动次数6次。除了根据启动次数动态确定定时器时长外,在其他可能的实施方式中,蓝牙从设备在启动定时器前,可以确定当前时刻所属的当前时间段,并确定当前时间段对应的定时器时长。其中,不同时间段对应不同的定时器时长,且定时器时长与时间段内设备的使用频率呈负相关关系。比如,深夜时间段对应的定时器时长大于日间时间段对应的定时器时长(由于相较于日间,用户在深夜使用设备的使用频率较低,因此在深夜可以设置更长的定时器时长,从而降低功耗)。在其他可能的实施方式中,蓝牙从设备在启动定时器前,可以获取当前地理位置,并确定当前地理位置对应的定时器时长。其中,不同地理位置对应不同的定时器时长,且定时器时长与地理位置处设备的使用频率呈正相关关系。相应的,上述步骤508之后,还包括如下步骤。步骤512,若接收到蓝牙主设备广播的beacon数据,且beacon数据对应的计步器数据与上一条计步器数据的差值大于第二步数阈值,则重置启动次数。若beacon数据对应的计步器数据与上一条计步器数据的差值大于第二步数阈值,蓝牙从设备则确定自身发生移动,为了避免当前维护的启动次数对后续定时器的定时器时长造成影响,蓝牙从设备重置定时器的启动次数,将将启动次数设置为0。本实施例中,蓝牙从设备根据定时器的启动次数,动态确定定时器时长,避免采用固定定时器时长时,导致蓝牙扫描长时间关闭(定时器时长过长),或,在达到定时器时长后频繁唤醒处理器(定时器时长过短)的问题。上述实施例中,蓝牙从设备基于第一步数阈值和/或第二步数阈值判断是否需要关闭蓝牙扫描,因此蓝牙扫描关闭策略的执行效果与设置的步数阈值紧密重要。然而,由于预设的部署阈值是在实验室中测试得到,而实际应用场景的复杂度远远高于实验场景(设备计步器的准确度不同),因此预设的步数阈值可能并不合理。在一种可能的实施方式中,蓝牙从设备将执行蓝牙扫描关闭策略前后处理器的唤醒次数上报至服务器,由服务器对大量设备上传的唤醒次数进行分析,从而确定蓝牙扫描关闭策略的执行效果,进而对执行效果产生相关的步数阈值进行调整。可选的,在图5的基础上,如图7所示,步骤509之后还包括如下步骤。步骤513,获取低功耗模式下蓝牙从设备的第一处理器唤醒次数和第二处理器唤醒次数,第一处理器唤醒次数是执行蓝牙扫描关闭策略时处理器的唤醒次数,第二处理器唤醒次数是未执行蓝牙扫描关闭策略时处理器的唤醒次数。在一种可能的实施方式中,蓝牙从设备在第一时间段内执行蓝牙扫描关闭策略,并在每次唤醒处理器时,对唤醒次数进行加一操作,从而得到第一时间段内的第一处理器唤醒次数;相应的,在第二时间段内不执行蓝牙扫描关闭策略,并在每次唤醒处理器时,对唤醒次数进行加一操作,从而得到第二时间段内的第二处理器唤醒次数,其中,第一时间段和第二时间段长度相同。比如,第一时间段和第二时间段均为一天。步骤514,向服务器上报第一处理器唤醒次数和第二处理器唤醒次数,服务器用于根据各个蓝牙设备上报的第一处理器唤醒次数和第二处理器唤醒次数确定蓝牙扫描关闭策略的执行效果,并根据执行效果更新第一步数阈值和/或第二步数阈值。蓝牙从设备将获取到的第一处理器唤醒次数和第二处理器唤醒次数上报给服务器,由服务器根据第一处理器唤醒次数和第二处理器唤醒次数确定蓝牙扫描关闭策略的执行效果。在一种可能的实施方式中,服务器计算第一处理器唤醒次数与第二处理器唤醒次数的比值,并根据该比值确定执行效果,从而根据执行效果调整步数阈值。可选的,当比值<第一阈值(例如0.05),服务器确定关闭蓝牙扫描过于频繁,从而增加第一步数阈值和第二步数阈值;当第一阈值≤比值≤第二阈值(例如0.1),服务器确定执行效果良好,从而保持当前步数阈值;当比值>第二阈值,服务器确定关闭蓝牙扫描次数过少,从而降低第一步数阈值和第二步数阈值。可选的,服务器将更新后的步数阈值下发给各个蓝牙设备,以便蓝牙设备对本地的步数阈值进行更新。本实施例中,借助大数据,服务器对蓝牙扫描关闭策略中的参数进行动态调整,提高了蓝牙扫描关闭策略的合理性,避免因参数设置不合理导致蓝牙扫描关闭次数过多或过少的问题。请参考图8,其示出了本申请一个实施例提供的蓝牙扫描装置的结构框图。该蓝牙扫描装置可以通过软件、硬件或者两者的结合实现成为蓝牙从设备120的全部或一部分。该装置包括:数据接收模块801,用于低功耗模式下,当接收到beacon数据时,唤醒处理器,所述beacon数据由蓝牙主设备广播,所述处理器用于处理所述beacon数据;数据获取模块802,用于若接收到同一蓝牙主设备广播的n条所述beacon数据,则获取n条所述beacon数据各自对应的计步器数据,所述计步器数据是在接收到所述beacon数据时获取得到,n≥2,n为整数;关闭模块803,用于当所述计步器数据满足预设条件时,关闭蓝牙扫描,其中,关闭蓝牙扫描后,所述蓝牙从设备停止接收所述beacon数据。可选的,所述数据获取模块802,包括:标识读取单元,用于读取各条所述beacon数据中包含的蓝牙设备标识;数据获取单元,用于若n条所述beacon数据中包含同一蓝牙设备标识,则确定n条所述beacon数据由同一蓝牙主设备广播,并获取n条所述beacon数据各自对应的所述计步器数据。可选的,所述装置还包括:差值计算模块,用于计算n条所述计步器数据中相邻计步器数据的计步数据差值;条件确定模块,用于若n-1个所述计步数据差值之和小于第一步数阈值,和/或,n-1个所述计步数据差值均小于第二步数阈值,则确定所述计步器数据满足所述预设条件。可选的,所述关闭模块803,包括:定时器启动单元,用于启动定时器;扫描关闭单元,用于在所述定时器的定时器时长内关闭蓝牙扫描;所述装置还包括:重启扫描模块,用于当所述定时器达到所述定时器时长时,重新开启蓝牙扫描。可选的,所述装置还包括:定时器重启模块,用于若接收到所述蓝牙主设备广播的所述beacon数据,且所述beacon数据对应的计步器数据与上一条计步器数据的差值小于所述第二步数阈值,则启动所述定时器,并在所述定时器时长内关闭蓝牙扫描。可选的,所述装置还包括:启动次数获取模块,用于获取所述定时器的启动次数;时长确定模块,用于根据所述启动次数确定所述定时器时长,并对所述启动次数进行加一操作,所述定时器时长与所述启动次数呈正相关关系;所述装置还包括:重置模块,用于若接收到所述蓝牙主设备广播的所述beacon数据,且所述beacon数据对应的计步器数据与上一条计步器数据的差值大于所述第二步数阈值,则重置所述启动次数。可选的,所述装置还包括:唤醒次数获取模块,用于获取低功耗模式下所述蓝牙从设备的第一处理器唤醒次数和第二处理器唤醒次数,所述第一处理器唤醒次数是执行蓝牙扫描关闭策略时所述处理器的唤醒次数,所述第二处理器唤醒次数是未执行所述蓝牙扫描关闭策略时所述处理器的唤醒次数;上报模块,向服务器上报所述第一处理器唤醒次数和所述第二处理器唤醒次数,所述服务器用于根据各个蓝牙设备上报的所述第一处理器唤醒次数和所述第二处理器唤醒次数确定所述蓝牙扫描关闭策略的执行效果,并根据所述执行效果更新所述第一步数阈值和/或第二步数阈值。综上所述,本申请实施例中,蓝牙从设备在低功耗模式下接收到beacon数据后,确定广播该beacon数据的蓝牙主设备,并在检测到接收到该蓝牙主设备广播的n条beacon数据,获取接收到各条beacon数据时的计步器数据,从而在计步器数据满足预设条件时,关闭蓝牙扫描;由于关闭蓝牙扫描后蓝牙从设备不会接收到beacon数据,因此能够避免因再次接收到同一蓝牙主设备广播的beacon数据而唤醒处理器,进一步降低了低功耗模式下蓝牙从设备的功耗。需要说明的是,本实施例仅以蓝牙扫描装置包括上述模块为例进行说明,该蓝牙扫描装置还可以按照其他方式划分出其他用于实现上述蓝牙扫描方法的功能模块,本实施例对此不做限定。本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的蓝牙扫描方法。本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的蓝牙扫描方法。本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1