一种无线设备的扫描启停方法及无线设备与流程

文档序号:16248513发布日期:2018-12-11 23:48阅读:291来源:国知局
一种无线设备的扫描启停方法及无线设备与流程

本说明书实施例方案属于无线通信技术领域,尤其涉及一种无线设备的扫描启动方法及无线设备。

背景技术

随着终端技术的不断发展,越来越多的终端设备都会配备无线功能。该无线功能可以通过无线通信组件来实现。例如,所述无线通信组件可以是wifi组件、蓝牙组件、zigbee组件、nfc组件等。其中,部分无线通信组件在传输无线信号之前,可以发出扫描信号,并通过扫描信号与其它的无线通信组件建立连接。以蓝牙组件为例,在一次蓝牙通信中,蓝牙组件可以工作于从模式(peripheralmode)或者主模式(centralmode)。其中,处于主模式状态的蓝牙组件可以主动扫描周围处于从模式状态的蓝牙组件,而处于从模式状态的蓝牙组件可以向外发出广播信息,从而等待被处于主模式状态的蓝牙组件连接。

目前,考虑到主动发起扫描请求的过程比较耗电,因此通常都会对无线通信组件在指定时长内的扫描启动次数有限制。例如,对于蓝牙组件而言,通常会限制在30秒内最多启动5次扫描。如果在该指定时长内超过限定的扫描启动次数,无线通信组件便无法响应请求方下达的启动扫描指令。这样,无线通信组件需要等待一段时间,才能正常启动扫描过程。因此,目前的这种扫描启停方法,受限于指定时长内的扫描启动次数,导致无线通信组件的响应会比较迟缓。



技术实现要素:

本说明书实施例目的在于提供一种无线设备的扫描启停方法,能够提高无线设备针对扫描启停指令的响应速度。

为实现上述目的,本说明书实施例提供一种无线设备的扫描启停方法,所述无线设备在指定时长内具备扫描启动次数的上限值,提供有扫描启动时间序列,所述扫描启动时间序列中包括指定数量个历史启动时间节点,所述指定数量基于所述上限值确定;所述方法包括:接收请求方发来的扫描关闭指令;响应于所述扫描关闭指令,计算当前的时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差,并对比所述时间差与所述指定时长,以判断是否停止本次扫描;在判定不停止本次扫描的情况下,继续执行本次扫描至目标时间节点,并在所述目标时间节点处停止本次扫描;其中,所述目标时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差大于或者等于所述指定时长。

为实现上述目的,本说明书实施例还提供一种无线设备,所述无线设备在指定时长内具备扫描启动次数的上限值,所述无线设备包括:存储单元,用于存储扫描启动时间序列,所述扫描启动时间序列中包括指定数量个历史启动时间节点,所述指定数量基于所述上限值确定;关闭指令接收单元,用于接收请求方发来的扫描关闭指令;判断单元,用于响应于所述扫描关闭指令,计算当前的时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差,并对比所述时间差与所述指定时长,以判断是否停止本次扫描;持续扫描单元,用于在判定不停止本次扫描的情况下,继续执行本次扫描至目标时间节点,并在所述目标时间节点处停止本次扫描;其中,所述目标时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差大于或者等于所述指定时长。

为实现上述目的,本说明书实施例还提供一种无线设备,所述无线设备在指定时长内具备扫描启动次数的上限值,所述无线设备包括存储器和处理器,所述存储器用于存储计算机程序和扫描启动时间序列,所述扫描启动时间序列中包括指定数量个历史启动时间节点,所述指定数量基于所述上限值确定;当所述计算机程序被所述处理器执行时,实现上述的方法。

为实现上述目的,本说明书实施例还提供一种无线设备的扫描启停方法,所述无线设备在指定时长内具备扫描启动次数的上限值,提供有基于所述指定时长和所述上限值确定的阈值时长;所述方法包括:当接收到请求方发来的针对本次扫描的扫描关闭指令后,将本次扫描持续的时长与所述阈值时长对比,并根据对比结果判断是否停止本次扫描;在判定不停止本次扫描的情况下,继续执行本次扫描,直至本次扫描持续的时长达到所述阈值时长的情况下,停止本次扫描。

为实现上述目的,本说明书实施例还提供一种无线设备,所述无线设备在指定时长内具备扫描启动次数的上限值,所述无线设备包括:存储单元,用于存储基于所述指定时长和所述上限值确定的阈值时长;判断单元,用于当接收到请求方发来的针对本次扫描的扫描关闭指令后,将本次扫描持续的时长与所述阈值时长对比,并根据对比结果判断是否停止本次扫描;持续扫描单元,用于在判定不停止本次扫描的情况下,继续执行本次扫描,直至本次扫描持续的时长达到所述阈值时长的情况下,停止本次扫描。

为实现上述目的,本说明书实施例还提供一种无线设备,所述无线设备在指定时长内具备扫描启动次数的上限值,所述无线设备包括存储器和处理器,所述存储器用于存储计算机程序以及基于所述指定时长和所述上限值确定的阈值时长;当所述计算机程序被所述处理器执行时,实现上述的方法。

本说明书实施例提供的技术方案,可以预先加载扫描启动时间序列,该扫描启动时间序列中可以包含最近一段时间内的历史启动时间节点。该历史启动时间节点可以表征启动无线扫描服务时的时间节点。在实际应用中,无线设备在指定时长内具备扫描启动次数的上限值,那么扫描启动时间序列中包含的历史启动时间节点的数量,可以与该上限值一致。例如,无线设备在30秒内限定最多只能启动5次扫描服务,那么扫描启动时间序列中便可以包含最近的5个历史启动时间节点。这样,在无线设备处于开启扫描服务的过程中,如果接收到请求方发来的扫描关闭指令,并不会直接停止本次扫描,而是会计算当前的时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差,如果该时间差超过了上述的指定时长,则表明在指定时长内扫描启动次数并没有超出上限值,那么后续如果再次接收到请求方发来的启动扫描指令,便可以直接启动扫描服务。因此,在这种情况下,可以直接停止本次扫描。但是,如果计算得到的时间差小于上述的指定时长,则表明在指定时长内,扫描启动次数已经达到了上限值。若此时直接停止本次扫描,那么假设后续立即接收到请求方发来的扫描开启指令,由于在指定时长内已经无法再次启动扫描服务,从而导致无法响应请求方发来的该扫描开启指令。因此,在本说明书实施例提供的技术方案中,如果计算得到的时间差小于上述的指定时长,则不能停止本次扫描,而是需要继续执行本次扫描的过程。但此时可以停止向请求方反馈扫描结果,这样,在请求方这一侧来看,本次扫描已经停止了,但实际上本次扫描依旧在执行。当本次扫描执行至目标时间节点时,可以正常停止本次扫描的过程。该目标时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差大于或者等于所述指定时长,从而保证停止本次扫描之后,可以正常开启下一次扫描过程。进一步地,如果在继续执行本次扫描的过程中,接收到请求方发来的扫描开启指令,那么由于本次扫描实际没有停止,因此可以直接向请求方反馈当前的扫描结果。这样,从请求方这一侧来看,当下达扫描关闭指令后,便无法接收到扫描结果;而当发起扫描开启指令后,便可以及时接收到扫描结果。因此,本说明书实施例提供的技术方案,能够及时地响应请求方发起的扫描启停指令,提高了无线设备针对扫描启停指令的响应速度。

附图说明

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

图1是本说明书实施例提供的无线设备的扫描启停方法流程图;

图2是本说明书实施例提供的应用组件之间的交互场景示意图;

图3是本说明书实施例提供的时间轴第一示意图;

图4是本说明书实施例提供的时间轴第二示意图;

图5是本说明书实施例提供的时间轴第三示意图;

图6是本说明书提供的一种具体应用示例中的流程示意图;

图7是是本说明书实施例提供的无线设备的功能模块示意图;

图8是是本说明书实施例提供的无线设备的结构示意图;

图9是是本说明书另一个实施例提供的无线设备的扫描启停方法流程图。

具体实施方式

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

本说明书实施例提供一种无线设备的扫描启停方法,所述无线设备可以是安装有无线通信组件的终端设备。例如,所述无线设备可以是安装了wifi组件和蓝牙组件的智能手机、平板电脑、智能可穿戴设备(智能手表、虚拟现实眼镜等)、车载设备、专用设备等。在所述无线设备中,可以由服务应用组件来执行启动或者关闭扫描的步骤,该服务应用组件可以是在系统后台运行,并且通常不提供用户界面的应用组件。此外,在所述无线设备中,可以通过活动应用组件与所述服务应用组件进行数据交互,该活动应用组件可以向用户提供交互界面,并可以接收用户下达的启动或者关闭无线扫描的指令(例如开启蓝牙功能或者关闭蓝牙功能)。该活动应用组件可以向服务应用组件传递用户下达的指令,并且可以接收服务应用组件反馈的扫描结果,并将扫描结果呈现在交互界面中,以供用户浏览。具体地,针对安装有安卓(android)系统的终端设备而言,该服务应用组件例如可以是service组件,该活动应用组件例如可以是activity组件。当然,在实际应用中,不同的操作程序,对应的组件名称可以不同,还可以在操作程序中自定义一个或者多个组件来实现上述服务应用组件和活动应用组件的功能,本说明书实施例对此并不做限定。

本说明书实施例中的无线设备,在指定时长内通常具备扫描启动次数的上限值。例如,在30秒的时长内,最多允许启动5次扫描服务,那么30秒可以作为上述的指定时长,5可以作为上述的上限值。在本实施例中,可以预先构建扫描启动时间序列,所述扫描启动时间序列中可以用于存储最近一段时间内的各个历史启动时间节点。该历史启动时间节点可以表征启动无线扫描服务时的时间节点。所述扫描启动时间序列中存放的历史启动时间节点的指定数量,可以基于所述无线设备对应的上限值确定。具体地,所述指定数量可以与所述上限值一致。例如,无线设备在指定时长内最多允许启动5次扫描服务,那么扫描启动时间序列中存放的历史启动时间节点的数量也可以是5个。若扫描启动时间序列中已经存满历史时间节点,但还需要向其中写入新的历史时间节点时,可以遵循先进先出的原则,将扫描启动时间序列中最早存放的历史时间节点删除,并将新的历史时间节点写入扫描启动时间序列中。

请参阅图1,本说明书实施例提供的无线设备的扫描启停方法,可以包括以下步骤。

s11:接收请求方发来的扫描关闭指令。

在本实施例中,所述请求方可以是下达扫描关闭指令或者扫描开启指令的一方。在实际应用中,所述请求方可以是上述的活动应用组件。活动应用组件可以与用户进行交互,从而可以接收到用户下达的扫描关闭指令。活动应用组件在接收到用户下达的扫描关闭指令之后,可以将该指令转发至服务应用组件。这样,服务器应用组件便可以接收到请求方发来的扫描关闭指令。该服务应用组件便可以是步骤s11的执行主体。

请参阅图2,在实际应用场景中,可以通过服务应用组件实现无线通信组件的连接、扫描、断连、停止扫描等功能。并且在服务应用组件中,可以存放上述的扫描启动时间序列。扫描启动时间序列中的t1至t5可以表示历史启动时间节点。活动应用组件可以向服务应用组件下达开启扫描指令或者关闭扫描指令,并且可以接收所述服务应用组件反馈的扫描信息。所述扫描信息中可以包括当前扫描到的其它无线设备的信息。例如,扫描到的信息可以包括其它无线设备的设备标识以及其它无线设备对应的rssi(receivedsignalstrengthindicator,接收信号强度指示)等信息。

s13:响应于所述扫描关闭指令,计算当前的时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差,并对比所述时间差与所述指定时长,以判断是否停止本次扫描。

s15:在判定不停止本次扫描的情况下,继续执行本次扫描至目标时间节点,并在所述目标时间节点处停止本次扫描;其中,所述目标时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差大于或者等于所述指定时长。

在本实施例中,无线设备当前可以处于开启扫描状态,在接收到所述扫描关闭指令后,服务应用组件并不会直接在后台停止本次扫描。而是会响应于所述扫描关闭指令,停止向所述请求方反馈当前的扫描信息。这样,请求方下达了扫描关闭指令之后,便不再接收到反馈的扫描信息。因此,从请求方这一侧来看,服务应用组件及时响应了扫描关闭指令,并停止了本次扫描。然而,实际上服务应用组件只是停止向请求方反馈扫描信息。服务应用组件可以进一步地判断,目前是否应当停止本次扫描。具体地,服务应用组件可以计算当前的时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差,并可以对比所述时间差与所述指定时长,从而根据对比结果来判断是否停止本次扫描。

在本实施例中,所述扫描启动时间序列中包含的历史启动时间节点的数量与无线设备对应的上限值一致,那么在所述时间差小于所述指定时长的情况下,如果此时停止本次扫描,那么请求方后续再次发起扫描开启指令时,可能会与扫描启动次数的上限值相冲突,从而导致服务应用组件无法及时启动新一次的扫描。举例来说,请参阅图3,假设在指定时长内扫描启动次数的上限值为5,横向的直线表示时间轴,竖向的短实线表示扫描启动时间序列中的各个历史启动时间节点,最左侧的竖实线便可以为上述的最早的历史启动时间节点。假设服务应用组件在第一个向上的短箭头处接收到扫描关闭指令,此时计算出的时间差小于指定时长。如果按照现有技术中的方式,直接停止本次扫描(本次扫描就是在第5个竖实线处开启的扫描),那么当在第二个向上的短箭头处接收到扫描开启指令时,由于在指定时长内无法开启第6次扫描服务,因此本次的扫描开启指令便无法执行。鉴于此,在本实施例中,若所述时间差小于所述指定时长,则可以判定不停止本次扫描。在这种情况下,后台的服务应用组件可以继续执行本次扫描至目标时间节点,所述目标时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差需要大于或者等于所述指定时长。那么在继续执行本次扫描至目标时间节点之后,便可以在所述目标时间节点处停止本次扫描。这样,便可以保证后续发起的扫描开启请求能够被及时响应。举例来说,请参阅图4,与图3中的场景一致,扫描启动时间序列中包含5个历史启动时间节点,第一个向上的短箭头处接收到扫描关闭指令,那么由于当前的时间差小于指定时长,因此可以继续执行本次扫描,当达到目标时间节点时,当前的时间差已经与指定时长相等,那么便可以停止本次扫描。当在第二个向上的短箭头处接收到扫描开启指令时,由于本次扫描开启指令已经在指定时长之外,服务应用组件从而可以正常开启新一次的扫描。

在一个实施例中,若在继续执行本次扫描的过程中,接收到所述请求方发来的扫描开启指令,那么由于本次扫描实际上没有停止(只是停止反馈扫描信息),因此可以直接向所述请求方反馈当前的扫描信息,并在达到所述目标时间节点后,不停止本次扫描,而是继续执行本次扫描。请参阅图5,第二个向上的短箭头表征接收到扫描开启指令的时间节点,那么由于本次扫描实际上还在执行过程中,因此可以直接反馈当前的扫描信息,并且由于接收到扫描开启指令,因此在达到目标时间节点之后,也不停止本次扫描,而是继续执行下去,直至接收到下一个扫描关闭指令时,再按照上述的步骤判断是否停止。按照图5所示的方案,尽管在第二个向上的短箭头处接收到了扫描开启指令,但实际上服务应用组件并没有执行新一次的扫描服务,而是沿用了上一次的扫描服务。这样,便可以不与限定的扫描启动次数的上限值相冲突。同时,按照本说明书实施例提供的方案,在继续执行本次扫描的过程中,接收到扫描开启指令后,可以直接反馈当前的扫描信息,而无需经历开启扫描的过程,从而加快了反馈扫描信息的速度。

在一个实施例中,若计算出的所述时间差大于或者等于所述指定时长,则可以判定停止本次扫描。在停止本次扫描之后,后续若接收到所述请求方发来的扫描开启指令,那么由于该扫描开启指令已经处于指定时长以外,因此服务应用组件可以正常启动新一次的扫描过程。只不过,在开启新一次的扫描过程后,服务应用组件需要对扫描启动时间序列中的历史启动时间节点进行更新。具体地,服务应用组件可以将所述扫描启动时间序列中所述最早的历史启动时间节点删除,并将所述新一次的扫描过程对应的启动时间节点写入所述扫描启动时间序列中,从而遵循先进先出的原则。同时,服务应用组件可以将所述新一次的扫描过程中产生的扫描信息反馈给所述请求方,以表征当前的扫描过程在正常执行。

在一个实施例中,考虑到用户可能会在短时间内频繁地开启或者关闭扫描服务,而重新开启新一次的扫描服务时,都需要等待一段服务启动的时长。为了减少用户等待的时间,在本实施例中可以预先设置一个延时时长,该延时时长可以使得服务应用组件在接收到扫描关闭指令后,继续执行本次扫描一段时间,如果用户在短时间内再次下达了扫描开启指令,便可以避免开启新一次的扫描服务,而是直接反馈扫描结果。因此,在接收到请求方发来的扫描关闭指令之后,可以计算当前的时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差,并将该时间差和所述指定时长与预设延时时长之和进行对比。若所述时间差小于所述指定时长与所述预设延时时长之和,则判定不停止本次扫描,而是继续执行本次扫描,直至时间差达到所述指定时长与所述预设延时时长之和为止。在继续执行本次扫描的过程中,如果接收到请求方发来的扫描开启指令,则可以按照上述实施例中的方式进行处理,这里便不再赘述。若所述时间差大于或者等于所述指定时长与所述预设延时时长之和,则表明短时间内用户没有下达扫描开启指令,从而可以判定停止本次扫描。

请参阅图2和图6,在一个具体应用示例中,service组件在接收到activity组件发来的扫描开启指令后,可以判断目前是否停止了扫描服务,如果没有停止,则可以直接向activity组件反馈当前的扫描信息,并且维持当前的扫描服务处于执行状态。如果目前没有扫描服务在执行,则可以开启新一次的扫描服务,并且当前的时间节点按照先进先出的规则,写入扫描启动时间序列中。在启动新的扫描服务后,可以向service组件反馈扫描信息。

在该应用示例中,如果activity组件向service组件下达了扫描关闭指令,此时activity组件可以停止向service组件反馈扫描信息,并且按照上述实施例中的判断方式,判断是否应当停止本次扫描。如果判定不停止,则可以继续执行本次扫描,直至本次扫描执行至目标时间节点之后,再停止本次扫描。当然,如果在继续执行本次扫描的过程中,又接收到service组件发来的扫描开启指令,则可以直接向service组件反馈当前的扫描信息,并保持本次扫描处于执行状态。

请参阅图7,本说明书实施例还提供一种无线设备,所述无线设备在指定时长内具备扫描启动次数的上限值,所述无线设备包括:

存储单元,用于存储扫描启动时间序列,所述扫描启动时间序列中包括指定数量个历史启动时间节点,所述指定数量基于所述上限值确定;

关闭指令接收单元,用于接收请求方发来的扫描关闭指令;

判断单元,用于响应于所述扫描关闭指令,计算当前的时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差,并对比所述时间差与所述指定时长,以判断是否停止本次扫描;

持续扫描单元,用于在判定不停止本次扫描的情况下,继续执行本次扫描至目标时间节点,并在所述目标时间节点处停止本次扫描;其中,所述目标时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差大于或者等于所述指定时长。

在一个实施例中,所述无线设备还包括:

扫描信息反馈单元,用于响应于所述扫描关闭指令,停止向所述请求方反馈当前的扫描信息。

在一个实施例中,所述无线设备还包括:

持续扫描单元,用于若在继续执行本次扫描的过程中,接收到所述请求方发来的扫描开启指令,向所述请求方反馈当前的扫描信息,并在达到所述目标时间节点后,继续执行本次扫描。

在一个实施例中,所述无线设备还包括:

扫描重启单元,用于若在停止本次扫描之后,接收到所述请求方发来的扫描开启指令,启动新一次的扫描过程;

时间节点更新单元,用于将所述扫描启动时间序列中所述最早的历史启动时间节点删除,并将所述新一次的扫描过程对应的启动时间节点写入所述扫描启动时间序列中;

扫描信息反馈单元,用于将所述新一次的扫描过程中产生的扫描信息反馈给所述请求方。

请参阅图8,本说明书实施例还提供一种无线设备,所述无线设备在指定时长内具备扫描启动次数的上限值,所述无线设备包括存储器和处理器,所述存储器用于存储计算机程序和扫描启动时间序列,所述扫描启动时间序列中包括指定数量个历史启动时间节点,所述指定数量基于所述上限值确定;当所述计算机程序被所述处理器执行时,可以实现上述的方法。

本说明书实施例还提供一种无线设备的扫描启停方法,同样地,所述无线设备在指定时长内也具备扫描启动次数的上限值。在本实施例中,可以预先基于所述指定时长和所述上限值,确定阈值时长,该阈值时长可以用于判断当前的扫描服务是否能够被停止。具体地,可以将所述指定时长与所述上限值的比值确定为所述阈值时长。例如,无线设备在30秒内最多只允许启动5次扫描服务,那么平均每次扫描服务需要持续6秒才能被停止,这样,6秒便可以作为所述阈值时长。

请参阅图9,本说明书实施例提供的无线设备的扫描启停方法可以包括以下步骤。

s21:当接收到请求方发来的针对本次扫描的扫描关闭指令后,将本次扫描持续的时长与所述阈值时长对比,并根据对比结果判断是否停止本次扫描。

s23:在判定不停止本次扫描的情况下,继续执行本次扫描,直至本次扫描持续的时长达到所述阈值时长的情况下,停止本次扫描。

在本实施例中,所述指定时长与所述上限值的比值可以作为所述阈值时长,那么,在判断是否停止本次扫描时,若本次扫描持续的时长小于所述阈值时长,则判定不停止本次扫描。若本次扫描持续的时长大于或者等于所述阈值时长,则判定停止本次扫描。

在判定不停止本次扫描的情况下,服务应用组件可以继续执行本次扫描,直至本次扫描持续的时长达到所述阈值时长的情况下,才停止本次扫描。

在一个实施例中,当接收到所述扫描关闭指令后,可以响应于所述扫描关闭指令,停止向所述请求方反馈当前的扫描信息。这样,在请求方这一侧来看,下达的扫描关闭指令被及时响应了。但实际上,本次扫描可能还在后台持续运行。

在一个实施例中,若在继续执行本次扫描的过程中,接收到所述请求方发来的扫描开启指令,那么由于本次扫描并没有停止执行,因此可以直接向所述请求方反馈当前的扫描信息,从而省去了开启扫描服务所需的等待时间。由于接收到扫描开启指令,因此在本次扫描持续的时长达到所述阈值时长的情况下,不会停止本次扫描,而是继续执行本次扫描。在本次扫描继续执行的过程中,如果再次接收到扫描关闭指令,同样可以按照上述实施例中的判断规则,判断是否应当停止本次扫描。

在一个实施例中,若在停止本次扫描之后,接收到所述请求方发来的扫描开启指令,则可以启动新一次的扫描过程,并将所述新一次的扫描过程中产生的扫描信息反馈给所述请求方。当然,针对新一次的扫描过程,也需要持续扫描的时长达到阈值时长之后,服务应用组件才会响应于扫描关闭指令,在后台将其关闭。

由上可见,本实施例提供的技术方案,可以根据指定时长以及指定时长内限定的扫描启动次数的上限值,确定出每次扫描服务应当持续的阈值时长,并且只有在达到阈值时长的情况下,才能响应于扫描关闭指令将其关闭。

本说明书实施例还提供一种无线设备,所述无线设备在指定时长内具备扫描启动次数的上限值,所述无线设备包括:

存储单元,用于存储基于所述指定时长和所述上限值确定的阈值时长;

判断单元,用于当接收到请求方发来的针对本次扫描的扫描关闭指令后,将本次扫描持续的时长与所述阈值时长对比,并根据对比结果判断是否停止本次扫描;

持续扫描单元,用于在判定不停止本次扫描的情况下,继续执行本次扫描,直至本次扫描持续的时长达到所述阈值时长的情况下,停止本次扫描。

在一个实施例中,所述无线设备还包括:

扫描信息反馈单元,用于响应于所述扫描关闭指令,停止向所述请求方反馈当前的扫描信息。

在一个实施例中,所述无线设备还包括:

持续扫描单元,用于若在继续执行本次扫描的过程中,接收到所述请求方发来的扫描开启指令,向所述请求方反馈当前的扫描信息,并在本次扫描持续的时长达到所述阈值时长的情况下,继续执行本次扫描。

本说明书实施例还提供一种无线设备,所述无线设备在指定时长内具备扫描启动次数的上限值,所述无线设备包括存储器和处理器,所述存储器用于存储计算机程序以及基于所述指定时长和所述上限值确定的阈值时长;当所述计算机程序被所述处理器执行时,可以实现上述的方法。

在本说明书中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如ram、rom等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置,如cd或dvd。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等等。

在本说明书中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。

本说明书实施例提供的无线设备,其存储器和处理器实现的具体功能,可以与本说明书中对应的前述实施例相对照解释,并能够达到前述实施例的技术效果,这里便不再赘述。

由上可见,本说明书实施例提供的技术方案,可以预先加载扫描启动时间序列,该扫描启动时间序列中可以包含最近一段时间内的历史启动时间节点。该历史启动时间节点可以表征启动无线扫描服务时的时间节点。在实际应用中,无线设备在指定时长内具备扫描启动次数的上限值,那么扫描启动时间序列中包含的历史启动时间节点的数量,可以与该上限值一致。例如,无线设备在30秒内限定最多只能启动5次扫描服务,那么扫描启动时间序列中便可以包含最近的5个历史启动时间节点。这样,在无线设备处于开启扫描服务的过程中,如果接收到请求方发来的扫描关闭指令,并不会直接停止本次扫描,而是会计算当前的时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差,如果该时间差超过了上述的指定时长,则表明在指定时长内扫描启动次数并没有超出上限值,那么后续如果再次接收到请求方发来的启动扫描指令,便可以直接启动扫描服务。因此,在这种情况下,可以直接停止本次扫描。但是,如果计算得到的时间差小于上述的指定时长,则表明在指定时长内,扫描启动次数已经达到了上限值。若此时直接停止本次扫描,那么假设后续立即接收到请求方发来的扫描开启指令,由于在指定时长内已经无法再次启动扫描服务,从而导致无法响应请求方发来的该扫描开启指令。因此,在本说明书实施例提供的技术方案中,如果计算得到的时间差小于上述的指定时长,则不能停止本次扫描,而是需要继续执行本次扫描的过程。但此时可以停止向请求方反馈扫描结果,这样,在请求方这一侧来看,本次扫描已经停止了,但实际上本次扫描依旧在执行。当本次扫描执行至目标时间节点时,可以正常停止本次扫描的过程。该目标时间节点与所述扫描启动时间序列中最早的历史启动时间节点之间的时间差大于或者等于所述指定时长,从而保证停止本次扫描之后,可以正常开启下一次扫描过程。进一步地,如果在继续执行本次扫描的过程中,接收到请求方发来的扫描开启指令,那么由于本次扫描实际没有停止,因此可以直接向请求方反馈当前的扫描结果。这样,从请求方这一侧来看,当下达扫描关闭指令后,便无法接收到扫描结果;而当发起扫描开启指令后,便可以及时接收到扫描结果。因此,本说明书实施例提供的技术方案,能够及时地响应请求方发起的扫描启停指令,提高了无线设备针对扫描启停指令的响应速度。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

上述实施例阐明的模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现各个应用组件以外,完全可以通过将方法步骤进行逻辑编程来使得各个应用组件以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种应用组件可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

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

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

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

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

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

本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于无线设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。

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