一种在Android系统中GPS搜星的控制方法和装置与流程

文档序号:21358753发布日期:2020-07-04 04:31阅读:360来源:国知局
一种在Android系统中GPS搜星的控制方法和装置与流程

本申请涉及通信系统中的终端技术,特别涉及一种在android系统中gps搜星的控制方法和装置。



背景技术:

利用gps定位卫星,在全球范围内实时进行定位、导航的系统,称为全球卫星定位系统,简称gps。gps可以提供车辆定位、防盗、反劫、行驶路线监控及呼叫指挥等功能。终端上安装gps芯片后,就可以通过gps系统获取终端的实时位置信息。搜星是gps定位的前提,如果不能顺利搜星,gps就无法正常工作。

源生android系统在进行gps数据采集的时候,框架如图1所示:

最上面是应用层(ap),即android.location包中包含的内容,是以java语言提供的api;

第二层是框架层,这一层包含了系统服务的实现,主要由java语言来实现;

第三层是共享库层,本层由c以及c++语言实现,框架层与共享库层使用jni进行衔接;

最下面一层是linux内核层,整个android系统都是以linux内核为基础的。

目前,终端中的gps搜星和定位方法一般包括:在搜星过程中gps芯片在搜星成功的前提下会每秒获取并上报一次gps坐标给框架层进行处理分析。一般地,ap层业务使用gps信息时,通常包括两个可配置参数,分别是周期和距离,用于限定gps上报时机。其中,周期用来指示gps数据的上报时间,距离用来指示gps数据上报需要满足的终端位移条件。具体地,当距离上一次的上报时间满足周期参数的要求,且距离上一次上报时终端的位移满足距离参数的要求时,才将当前gps数据上报给应用层业务。因此,在每次获取gps数据后,根据参数周期和距离,判断是否需要上报给应用业务等。

这种处理方式下,只要终端开启了gps,由于gps每秒会更新一次定位信息,则ap层业务每秒会被唤醒一次,因此ap无法休眠,使得整个终端功耗巨大。



技术实现要素:

本申请提供一种在android系统中gps搜星的控制方法和装置,能够降低终端的功耗。

为实现上述目的,本申请采用如下技术方案:

一种在android系统中gps搜星的控制方法,包括:

在应用层业务首次订阅gis时,开启gps搜星;

对终端的运动状态进行监测,当终端由运动状态转变为静止状态、且当前没有执行尚未超时的搜星处理时,关闭gps,保存最近一次gps定位结果;当终端由静止状态转变为运动状态时,开启gps搜星;

其中,在gps关闭状态下,当所述业务的gps距离参数为非0时,不向所述业务上报gps定位结果;当所述业务的gps距离参数为0时,在所述业务的gps周期参数限定的上报时间,将保存的所述最近一次gps定位结果上报给所述业务。

较佳地,在开启gps搜星后,该方法进一步包括:若搜星成功,则在满足gps上报条件时向所述业务上报定位结果;若搜星超时、且当前为静止状态,则上报搜星失败,关闭gps;若搜星超时、且当前为运动状态,则重新搜星,直到搜星成功,或者,直到搜星超时、且当前为静止状态。

较佳地,所述终端上包括采用batching模式进行搜星处理的搜星芯片;

在所述业务处于对应于batching模式的场景时,所述搜星芯片保存最近n次搜星成功后的定位结果;在满足gps上报条件时,所述向所述业务上报定位结果包括:

所述业务从所述搜星芯片获取最近m次所述定位结果;其中,所述m和n为预先设定的正整数。

一种在android系统中gps搜星的控制装置,包括:初始订阅单元、运动状态监测单元和搜星单元;

所述初始订阅单元,用于在应用层业务首次订阅gis时,通知所述搜星单元开启gps搜星;

所述运动状态监测单元,用于对终端的运动状态进行监测,并将监测结果发送给所述搜星单元;

所述搜星单元,用于当终端由运动状态转变为静止状态、且当前没有执行尚未超时的搜星处理时,关闭gps,保存最近一次gps定位结果;还用于当终端由静止状态转变为运动状态时,开启gps搜星;其中,在gps关闭状态下,当所述业务的gps距离参数为非0时,不向所述业务上报gps定位结果;当所述业务的gps距离参数为0时,在所述业务的gps周期参数限定的上报时间,将保存的所述最近一次gps定位结果上报给所述业务。

较佳地,所述搜星单元包括控制子单元和搜星子单元;

所述控制子单元,用于当终端由运动状态转变为静止状态、且当前没有执行尚未超时的搜星处理时,关闭gps,保存最近一次gps定位结果;还用于当终端由静止状态转变为运动状态时,通知所述搜星子单元开启gps搜星;

所述搜星子单元,用于在gps关闭状态下,当所述业务的gps距离参数为非0时,不向所述业务上报gps定位结果;当所述业务的gps距离参数为0时,在所述业务的gps周期参数限定的上报时间,将保存的所述最近一次gps定位结果上报给所述业务;还用于在接收到控制子单元或初始订阅单元的开启gps搜星通知后开始搜星和定位操作,若搜星成功,则在满足gps上报条件时向所述业务上报定位结果;若搜星超时、且当前为静止状态,则上报搜星失败,关闭gps;若搜星超时、且当前为运动状态,则重新搜星,直到搜星成功,或者,直到搜星超时、且当前为静止状态。

较佳地,所述搜星子单元中包括采用batching模式进行搜星处理的搜星芯片;

所述搜星芯片,用于在所述业务处于对应于batching模式的场景时,保存最近n次搜星成功后的定位结果;

所述搜星子单元,还用于在满足gps上报条件时,从所述搜星芯片获取最近m次所述定位结果上报给所述业务;其中,所述m和n为预先设定的正整数。

由上述技术方案可见,本申请中,在应用层业务首次订阅gis时,开启gps搜星;

对终端的运动状态进行监测,当终端由运动状态转变为静止状态、且当前没有执行尚未超时的搜星处理时,关闭gps,保存最近一次gps定位结果;当终端由静止状态转变为运动状态时,开启gps搜星。其中,在gps关闭状态下,当业务的gps距离参数为非0时,不向应用层业务上报gps定位结果;当业务的gps距离参数为0时,在应用层业务的gps周期参数限定的上报时间,将保存的最近一次gps定位结果上报给业务。通过上述处理可见,终端在静止状态下关闭gps,在此过程中,不需要进行搜星和定位处理,在距离参数为非0时,完全不上报定位信息,因此不需要唤醒ap层业务;在距离参数为0时,在周期参数限定的上报时机只需要将保存的定位信息上报,不需要再进行搜星和定位。由此可见,上述方式大大减少了开启gps的时间,在关闭gps后不再进行搜星,大大降低了终端的功耗。

附图说明

图1源生android系统在进行gps数据采集时的框架示意图;

图2为batching模式进行搜星的框架示意图;

图3为本申请中搜星控制装置的基本结构示意图;

图4为源生gps搜星模式下的终端电流图;

图5为采用本申请搜星控制方法时终端处于静止状态时的电流图;

图6为采用本申请搜星控制方法且结合batching模式下终端的电流图。

具体实施方式

为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。

本申请中引入终端运动状态监测的处理,根据监测结果开启或关闭gps搜星,从而降低终端功耗。

本申请中gps搜星的控制方法具体包括:

1、应用层业务首次订阅gis时,开启gps搜星;

具体地,在首次gis订阅时,无论当前终端的运动状态是静止还是运动,都需要开启gps搜星,进行搜星和定位处理;

2、监测终端的运动状态,根据监测结果开启或关闭gps搜星。

具体地,当终端由运动状态转变为静止状态时,关闭gps,并保存最近一次gps定位结果。由于终端处于静止状态,因此其所在的位置就不会发生变化,这种情况下,只需要使用最近一次的定位结果作为当前定位信息,不需要再进行搜星和定位处理,因此,关闭gps,以最大限度节省终端功耗。

当终端由静止状态转变为运动状态时,开启gps搜星;由于终端处于运动状态,因此,其所在的位置会发生变化,需要通过搜星和定位处理来确定终端的当前位置信息,因此,开启gps搜星,以实现上报实时位置信息的作用。

下面介绍在gps关闭状态下的更详细的处理过程。

如前所述,gps上报时机通常取决于两个参数,距离参数和周期参数,当同时满足上述两个参数时,进行gps定位结果上报。上述两个参数可以由应用层业务根据需要进行设置。那么,在gps关闭状态下,也就是终端处于静止状态下,若应用层业务的gps上报距离参数为非0,则表明如果终端没有发生位移则不需要上报gps定位结果,因此不需要唤醒ap层业务,不上报定位结果。在gps关闭状态下,若应用层业务的gps上报距离参数为0,则表明gps上报时机只取决于周期参数,在满足设定周期时进行gps定位结果上报,这种情况下,在该业务的gps上报周期参数所限定的上报时间,将保存的最近一次gps定位结果上报给相应的应用层业务。具体处理时,可以注册定时器,在定时时间到后,判断相应应用层业务的上报条件,如果符合上报周期,则上报保存的定位结果;如果不符合上报周期,则不上报。

接下来介绍运动状态下开启gps搜星后的处理:

a、如果搜星成功,则在满足gps上报条件时向应用层业务上报搜星成功后的定位结果;

一般地,搜星需要消耗一定的时间,通常会设置一个搜星超时时间,在未超时前,会不停进行搜星尝试。那么在本申请中,在区分运动状态后,需要考虑一种情况:在终端开启gps搜星后进行搜星处理,在搜星成功前(且搜星未超时),终端可能由运动状态转换为静止状态,那么按照前面的设定,应当关闭gps,但是显然此时在搜星过程中不应当关闭gps,因此,本申请中限定在搜星成功前(且搜星未超时)若终端由运动状态转换为静止状态,此时不执行关闭gps的操作。基于此,将前述根据运动状态关闭gps的时机修正为:当终端由运动状态转变为静止状态、且当前没有执行尚未超时的搜星处理时,关闭gps,并保存最近一次gps定位结果。

b、如果搜星超时且当前状态为静止状态,则上报搜星失败,关闭gps;如果搜星超时、且当前为运动状态,则重新搜星,直到搜星成功,或者,直到搜星超时、且当前为静止状态。

通过上述处理方式,可以根据终端的运动状态开启或关闭gps,从而尽量在静止状态下关闭gps以实现节电。

在上述处理的基础上,还可以利用batching搜星模式进一步降低终端功耗。

具体地,gpsbatching特性是在gps基础功能上增加的一个特性,在终端上加入支持batching搜星模式的搜星芯片,并建立该搜星芯片到核心层、核心层到框架层以及框架层到应用层的batching模式的操作接口,从而实现利用batching模式进行搜星处理。

图2为batching模式搜星的框架示意图。应用层业务可以预先设定对应于batching模式的场景,当终端业务处于该场景时,例如屏幕关闭,后台gis上报时,可以打开batching功能,从而实现应用层业务休眠的目的。

更详细地,当终端使用batching搜星时,并不是每秒给上层ap一个gps坐标点,而是在芯片侧将最近n次搜星成功后的定位结果存储起来。对于应用层业务,当满足gps上报条件时,应用层业务从搜星芯片获取最近m次定位结果。例如,用户配置使用周期为60s,每隔60s时上层ap到芯片获取一次gps坐标,这样每隔60s才唤醒一次应用层业务,相对来说更加节省功耗。其中,m和n为预设的正整数。

上述即为batching的工作模式。优选地,在终端可以包括实时上报和batching两种不同的工作模式。需要实时位置信息或者更精确的位置信息时可以应用关闭batching功能。其中,实时上报模式也就是源生gps模式。另外,batching模式和实时上报模式也可以根据ap层业务设置的周期参数来区别,例如,当周期小于30s时,采用实时上报模式,当周期大于或等于30s时,采用batching模式。

上述即为本申请中搜星控制方法的具体实现。本申请还提供了一种搜星控制装置,可以用于实施上述控制方法。图3为搜星控制装置的基本结构示意图。如图3所示,该装置包括:初始订阅单元、运动状态监测单元和搜星单元。

其中,初始订阅单元,用于在应用层业务首次订阅gis时,通知搜星单元开启gps搜星。运动状态监测单元,用于对终端的运动状态进行监测,并将监测结果发送给所述搜星单元。搜星单元,用于当终端由运动状态转变为静止状态、且当前没有执行尚未超时的搜星处理时,关闭gps,保存最近一次gps定位结果;还用于当终端由静止状态转变为运动状态时,开启gps搜星;其中,在gps关闭状态下,当业务的gps距离参数为非0时,不向业务上报gps定位结果;当业务的gps距离参数为0时,在业务的gps周期参数限定的上报时间,将保存的最近一次gps定位结果上报给业务。

优选地,搜星单元可以包括控制子单元和搜星子单元。其中,控制子单元,用于当终端由运动状态转变为静止状态、且当前没有执行尚未超时的搜星处理时,关闭gps,保存最近一次gps定位结果;还用于当终端由静止状态转变为运动状态时,通知搜星子单元开启gps搜星。搜星子单元,用于在gps关闭状态下,当业务的gps距离参数为非0时,不向业务上报gps定位结果;当业务的gps距离参数为0时,在业务的gps周期参数限定的上报时间,将保存的最近一次gps定位结果上报给业务;还用于在接收到控制子单元或初始订阅单元的开启gps搜星通知后开始搜星和定位操作,若搜星成功,则在满足gps上报条件时向业务上报定位结果;若搜星超时、且当前为静止状态,则上报搜星失败,关闭gps;若搜星超时、且当前为运动状态,则重新搜星,直到搜星成功,或者,直到搜星超时、且当前为静止状态。

优选地,搜星子单元中还可以包括采用batching模式进行搜星处理的搜星芯片。其中搜星芯片,用于在业务处于对应于batching模式的场景时,保存最近n次搜星成功后的定位结果。搜星子单元,还用于在满足gps上报条件时,从搜星芯片获取最近m次定位结果上报给业务。

为说明本申请搜星控制方法与源生gps搜星方法下终端的功耗问题,进行了仿真。图4为源生gps搜星方式下终端的电流图。如图4所示,电流持续很高。图5为采用本申请搜星控制方法时终端处于静止状态时的电流图。如图5所示,电流始终不高。图6为采用本申请搜星控制方法且结合batching模式下终端的电流图。如图6所示,只有在采集位置才唤醒应用层业务。由此可见,本申请中的搜星方式大大降低了终端功耗。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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