一种终端定位方法、装置、终端及存储介质与流程

文档序号:16278891发布日期:2018-12-14 22:45阅读:161来源:国知局
一种终端定位方法、装置、终端及存储介质与流程

本发明实施例涉及定位技术领域,尤其涉及一种用于终端的定位方法、装置、终端及存储介质。

背景技术

目前,定位技术已经应用到了物流、交通、电网、医疗等不同的领域,应用前景广阔,与人们的生活息息相关的一些终端设备也都具有定位功能,例如,智能手机、平板电脑和车载终端等。

由于全球定位系统(globalpositioningsystem,gps)首次定位所需时间长,现有技术大多使用辅助gps(assistedgps,a-gps)技术对终端进行实时定位,a-gps技术利用移动网络给gps提供星历数据,从而辅助gps缩短对终端首次定位的时间。但是,在终端重启或上电的情况下,a-gps技术首次定位所需时间也较长,不能满足用户对终端定位速度的需求。



技术实现要素:

本发明提供一种终端的定位方法、装置、终端及存储介质,以实现快速有效地定位终端位置。

第一方面,本发明实施例提供了一种终端定位方法,所述方法包括:

通过控制模块获取扩展预测轨道(extendedpredictionorbit,epo)文件,将所述epo文件发送到所述终端的定位模块;

通过所述控制模块将获取到的参考位置点发送到所述定位模块;

通过所述定位模块,根据所述epo文件和所述参考位置点,确定所述终端的定位数据。

可选的,在所述通过控制模块获取epo文件之前,还包括:通过所述控制模块检测存储在其中的epo文件的有效性;当所述epo文件无效,通过所述控制模块从epo服务器获取epo文件并检测有效性。

可选的,在所述通过所述控制模块检测存储在其中的epo文件的有效性之前,还包括:

当监测到所述定位模块上电或所述定位模块重新启动时,对所述定位模块进行网络时间协议(networktimeprotocol,ntp)校时,并根据校准的时间更新所述定位模块的当前时间;

若无法对所述定位模块进行ntp校时,则获取所述终端的实时时钟(real-timeclock,rtc)时间作为所述定位模块的当前时间;

若无法获取所述终端的rtc时间,则从所述epo服务器获取所述epo服务器的时间作为所述定位模块的当前时间。

可选的,所述通过所述控制模块检测所述epo文件的有效性,包括:

如果获取到的所述epo文件的时间与所述定位模块的当前时间,相差小于等于预设时间阈值,并且获取到的所述epo文件所对应的消息摘要算法5(messagedigestalgorithm5,md5)校验值与从epo服务器获得的md5校验值一致,则判断所述epo文件有效;

其中,从所述epo服务器获得的md5校验值,由所述epo服务器通过使用md5算法加密所述epo文件获得。

可选的,所述通过所述控制模块将获取到的参考位置点发送到所述定位模块,包括:

若所述控制模块存储有所述定位模块在断电前发送的定位点,且所述定位点有效,则将所述有效定位点作为所述参考位置点;

若所述控制模块上电或没有存储所述定位模块在断电前发送的定位点,则将当前获取到的基站信息发送至epo服务器,并将接收到的所述epo服务器下发的经纬度信息作为参考位置点;

其中,所述经纬度信息由所述epo服务器通过解析所述基站信息获得。

可选的,通过所述控制模块获取epo文件,包括:

将预设周期划分为多个预设时间段;

从所述预设时间段的起始时间开始到预设终止时间,向所述epo服务器发送获取epo文件的指令;

若达到所述预设终止时间之前,获取所述epo文件的次数小于预设次数,则继续向所述epo服务器发送获取epo文件的指令;

若达到所述预设终止时间之前,获取所述epo文件的次数等于预设次数,则放弃在此所述预设时间段内获取epo文件,等待下一个所述预设时间段获取epo文件。

可选的,所述将所述epo文件发送到定位模块,包括:

将所述epo文件分成预设数量的文件包;

将所述预设数量的文件包依次下发给所述定位模块;

接收所述定位模块成功接收每个文件包后返回的响应,若没有收到文件包接收成功的响应,则重新发送所述文件包;

若所述定位模块返回的响应数量等于预设数量,则判断所述epo文件发送完成。

第二方面,本发明实施例还提供了一种终端定位装置,所述终端定位装置包括:

epo文件获取和发送模块,用于通过控制模块获取epo文件,将所述epo文件发送到定位模块;

参考位置点发送模块,用于通过所述控制模块将获取到的参考位置点发送到所述定位模块;

定位执行模块,用于通过所述定位模块,根据所述epo文件和所述参考位置点,确定所述终端的定位数据。

第三方面,本发明实施例还提供了一种终端,所述终端包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的终端定位方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任意实施例提供终端定位方法。

本发明实施例通过控制模块获取epo文件和参考位置点并发送给定位模块,定位模块根据epo文件和参考位置点快速确定终端定位数据,从而解决了定位模块首次定位时间较长的问题,实现了缩短首次定位的时间,实现对终端的快速定位的效果。

附图说明

图1是本发明实施例一中的一种终端定位方法的流程图;

图2是本发明实施例二中的一种终端定位方法的流程图;

图3是本发明实施例三中的一种终端定位方法的流程图;

图4是本发明实施例四中的一种终端定位装置的结构示意图;

图5是本发明实施例五中的一种终端的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种终端定位方法的流程图,本实施例可适用于定位模块上电或定位模块重新启动的情况,该方法可以由终端定位装置来执行,该装置可以由硬件和/或软件来实现,并可以集成在终端中。如图1所示,该方法包括:

步骤110、通过控制模块获取epo文件,将epo文件发送到定位模块。

控制模块可以是单片机,也可以是微控制单元(microcontrollerunit,mcu),还可以是其他种类的控制器。

可选的,控制模块获取已经存储在控制模块中的epo文件,并发送给定位模块;或控制模块从epo服务器获取epo文件,并发送给定位模块;或控制模块从其他途径获取epo文件,并发送给定位模块。

其中,通过控制模块获取epo文件,包括

将预设周期划分为多个预设时间段;

预设周期可以是24小时,可以是48小时,也可以是其他的时间周期。预设周期的划分,可以是随机划分,也可以是固定时间段划分。

例如,由于epo文件的有效时间是6个半小时,因此,将一天的24个小时划分为4个时间段作为预设时间段,分别为:0:00-6:30、6:00-12:30、12:00-18:30和18:00-0:30。

其中,划分的时间段不唯一,本领域技术人员应该可以根据上述划分结果得出其他的时间段划分结果。

从预设时间段的起始时间开始到预设终止时间,向epo服务器发送获取epo文件的指令;

预设终止时间可以是半个小时,也可以是小于半个小时的其他时间。

例如,终端在其中一个时间段的半个小时内,如6:05-6:25之间的20分钟内,随机产生一个时间,并在该随机时间向epo服务器发送获取epo文件的指令。这样设置主要是为了避免不同的终端同时向epo服务器发送获取epo文件的指令,从而减小epo服务器阻塞的概率。

若达到预设终止时间之前,获取epo文件的次数小于预设次数,则继续向epo服务器发送获取epo文件的指令;若达到预设终止时间之前,获取epo文件的次数等于预设次数,则放弃在此预设时间段内获取epo文件,等待下一个预设时间段获取epo文件。

预设次数可以是3次,也可以是2次和4次等其他次数。

例如,若同一个epo文件在半个小时内获取次数达到3次,如在6:05-6:25之间的20分钟内获取同一个epo文件的次数达到3次,则暂时停止获取epo文件,等待下一个时间段再重新获取。这样设置主要是为了减少所述终端数据流量的消耗,若所述终端对数据流量的使用没有限制,则可以继续获取epo文件。

可选的,将epo文件发送到定位模块,包括:

将epo文件分成预设数量的文件包;

预设数量可以是36,也可以是其他的数量。

例如,由于定位用到36颗卫星,因此将epo文件分成36个文件包,每个文件包中包括一颗卫星的星历数据。36颗卫星包括gps定位卫星和一些其他的高精度定位卫星。由于epo文件所占内存较大,这样设置能够缩短发送epo文件的时间,进而加快终端定位。

将预设数量的文件包依次下发给定位模块;

将预设数量的文件包一个接一个的下发给定位模块,当前一个发送完成再下发下一个文件包。

例如,将epo文件分成的36个文件包依次下发给定位模块。

接收定位模块成功接收每个文件包后返回的响应,若没有收到文件包接收成功的响应,则重新发送文件包;

其中,将文件包依次下发给定位模块时,定位模块对每个文件包都会响应是否接收成功,只有接收到当前发送的文件包接收成功的响应后,才会下发下一个文件包;若是没有收到当前发送的文件包接收成功的响应,则重新发送文件包。

重新发送文件包的次数有上限值,文件包发送失败上限值次后,则放弃发送所述文件包。

上限值可以是4次,可以是5次,也可以是其他的次数。

例如,若文件包重新发送4次后,依然没有收到该文件包接收成功的响应,则放弃发送该文件包。

若定位模块返回的响应数量等于预设数量,则判断epo文件发送完成。

例如,若定位模块返回的接收成功的响应数量等于36,则判断epo文件发送完成,否则判断epo文件未发送完成。

步骤120、通过控制模块将获取到的参考位置点发送到定位模块;

其中,参考位置点的主要作用是,给定位模块提供终端的一个参考位置,从而提高终端的定位速度。

步骤130、通过定位模块,根据epo文件和参考位置点,确定终端的定位数据。

其中,定位模块根据epo文件所包括的星历数据和参考位置点,确定终端定位所需的星历数据。

星历数据是一种星体轨道参数表,即用列表数据说明每隔一定时间某星体预定所在位置,或每隔一定时间某人造卫星预定所在位置。

本实施例的技术方案,通过控制模块获取epo文件和参考位置点并发送给定位模块,定位模块根据epo文件和参考位置点快速确定终端定位数据,从而解决了定位模块首次定位时间较长的问题,实现了缩短首次定位的时间,实现对终端快速定位的效果,定位时间5秒以内。

实施例二

图2是本发明实施例二提供的一种终端定位方法的流程图。本实施例的技术方案,是在上述技术方案的基础上进一步细化,如图2所示,该方法包括:

步骤210、当监测到定位模块上电或重新启动时,对定位模块进行校时;

其中,由于epo文件的时间有效性只有6个半小时,若定位模块的时间不正确将导致获取无效的epo文件,从而延长定位的时间。因此,在获取epo文件之前需要对定位模块进行校时,从而提高定位方法的准确性,实现对终端的快速定位。

可选的,对定位模块进行校时,包括:

对定位模块进行ntp校时,并根据校准的时间更新定位模块的当前时间;

若无法对定位模块进行ntp校时,则获取终端的rtc时间作为定位模块的当前时间;

若无法获取终端的rtc时间,则从epo服务器获取epo服务器的时间作为定位模块的当前时间。

步骤220、通过控制模块获取epo文件,将epo文件发送到定位模块;

步骤230、通过控制模块将获取到的参考位置点发送到定位模块;

步骤240、通过定位模块,根据所述epo文件和参考位置点,确定终端的定位数据。

本实施例的技术方案,当监测到定位模块上电或重新启动时,对定位模块进行校时,通过控制模块获取epo文件和参考位置点,并且采用定位模块利用epo文件和参考位置点确定终端的定位数据,对终端进行快速定位,定位时间5秒以内。

实施例三

参照图3,图3是本发明实施例三提供的一种终端定位方法的流程图。如图3所示,该方法包括:

步骤310、控制模块检测epo文件的有效性;

可选的,控制模块检测epo文件的有效性,包括:

如果获取到的epo文件的时间与定位模块的当前时间,相差小于等于预设时间阈值,并且获取到的epo文件所对应的md5校验值与从epo服务器获得的md5校验值一致,则判断epo文件有效;

其中,从epo服务器获得的md5校验值,由epo服务器通过使用md5算法加密所述epo文件获得。

例如,获取到的epo文件的时间与定位模块的当前时间相差小于等于6个半小时,并且获取到的epo文件所对应的md5校验值与从epo服务器获得的md5校验值是一致的,则判定所述epo文件有效。

步骤320、通过控制模块获取epo文件,将epo文件发送到定位模块;

可选的,若控制模块检测到存储在其中的epo文件无效,则控制模块与epo服务器建立连接,通过控制模块从epo服务器重新获取epo文件,检测epo文件的有效性,并将有效的epo文件发送至定位模块。

步骤330、通过控制模块将获取到的参考位置点发送到定位模块;

可选的,控制模块获取参考位置点,包括:

若控制模块存储有定位模块在断电前发送的定位点,且定位点有效,则将有效定位点作为参考位置点;

若控制模块上电或没有存储定位模块在断电前发送的定位点,则将当前获取到的基站信息发送至epo服务器,并将epo服务器下发的经纬度信息作为参考位置点;

其中,经纬度信息由epo服务器通过解析所述基站信息获得。

其中,当参考位置点与基站之间的距离差值小于等于预设距离,则判断所述参考位置点有效。

例如,当参考位置点与基站之间的距离差值小于等于30km,则判断参考位置点有效。

这样设置是因为,如果参考位置点与基站之间的距离差值大于30km,会导致定位模块对定位判断错误,从而延长定位时间。

步骤340、通过定位模块,根据epo文件和参考位置点,确定终端的定位数据。

本实施例的技术方案,通过控制模块获取有效的epo文件和参考位置点,并且采用定位模块利用有效的epo文件和有效的参考位置点,确定终端的定位数据,对终端进行快速定位,定位时间5秒以内。

实施例四

图4是本发明实施例四提供的一种终端定位装置的结构示意图。如图4所示,该终端定位装置包括:

epo文件获取和发送模块401,用于通过控制模块获取epo文件,将epo文件发送到定位模块;

参考位置点发送模块402,用于通过控制模块将获取到的参考位置点发送到定位模块;

定位执行模块403,用于通过定位模块,根据epo文件和参考位置点,确定终端的定位数据。

可选地,该终端定位装置还包括:

有效性检测模块,用于在通过控制模块获取epo文件之前,通过控制模块检测存储在其中的epo文件的有效性;当epo文件无效,通过控制模块从epo服务器获取epo文件并检测有效性。

监测与校时模块,用于在通过所述控制模块检测存储在其中的epo文件的有效性之前,当监测到定位模块上电或定位模块重新启动时,对定位模块进行校时;

可选地,监测与校时模块包括第一校时模块、第二校时模块和第三校时模块:

第一校时模块,用于对定位模块进行网络时间协议ntp校时,并根据校准的时间更新定位模块的当前时间;

第二校时模块,用于若无法对定位模块进行ntp校时,则获取终端的实时时钟rtc时间作为定位模块的当前时间;

第三校时模块,用于若无法获取终端的rtc时间,则从epo服务器获取epo服务器的时间作为定位模块的当前时间。

可选地,有效性检测模块包括第一检测单元和第二检测单元:

第一检测单元,用于如果获取到的epo文件的时间与定位模块的当前时间,相差小于等于预设时间阈值,则进入第二检测单元继续判断,否则,判断epo文件无效;

第二检测单元,用于若获取到的epo文件所对应的md5校验值与从epo服务器获得的md5校验值一致,则判断epo文件有效,否则,判断epo文件无效;

其中,从epo服务器获得的md5校验值,由epo服务器通过使用md5算法加密epo文件获得。

可选地,该终端定位装置中,参考位置点发送模块,包括第一获取单元和第二获取单元:

第一获取单元,用于若控制模块存储有定位模块在断电前发送的定位点,且定位点有效,则将有效定位点作为参考位置点;

第二获取单元,用于若控制模块上电或没有存储定位模块在断电前发送的定位点,则将当前获取到的基站信息发送至epo服务器,并将接收到的epo服务器下发的经纬度信息作为参考位置点;

其中,经纬度信息由epo服务器通过解析基站信息获得。

可选地,epo文件获取和发送模块包括epo文件获取单元和epo文件发送单元:

epo文件获取单元,用于将预设周期划分为多个预设时间段;

从所述预设时间段的起始时间开始到预设终止时间,向所述epo服务器发送获取epo文件的指令;

若达到所述预设终止时间之前,获取所述epo文件的次数小于预设次数,则继续向所述epo服务器发送获取epo文件的指令;

若达到所述预设终止时间之前,获取所述epo文件的次数等于预设次数,则放弃在此所述预设时间段内获取epo文件,等待下一个所述预设时间段获取epo文件。

epo文件发送单元,用于将所述epo文件分成预设数量的文件包;

将所述预设数量的文件包依次下发给所述定位模块;

接收所述定位模块成功接收每个文件包后返回的响应,若没有收到文件包接收成功的响应,则重新发送所述文件包;

若所述定位模块返回的响应数量等于预设数量,则判断所述epo文件发送完成。

本发明实施例所提供的终端定位装置可执行本发明任意实施例所提供的终端定位方法,具备执行方法相应的功能模块和有益效果。

实施例五

参照图5,图5是本发明实施例五提供的一种终端的结构示意图,如图5所示,该终端包括处理器501、存储器502、输入装置503和输出装置504;终端中处理器501的数量可以是一个或多个,图5中以一个处理器501为例;终端中的处理器501、存储器502、输入装置503和输出装置504可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器502作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的终端定位方法对应的程序指令/模块(例如,终端定位装置中的epo文件获取和发送模块401、参考位置点发送模块402和定位执行模块403)。处理器501通过运行存储在存储器502中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的终端定位方法。

存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器502可进一步包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置503可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。输出装置504可包括显示屏等显示设备。

实施例六

本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种终端定位方法,该方法包括:

通过控制模块获取扩展预测轨道epo文件,将所述epo文件发送到定位模块;

通过所述控制模块将获取到的参考位置点发送到所述定位模块;

通过所述定位模块,根据所述epo文件和所述参考位置点,确定所述终端的定位数据。

当然,本发明实施例所提供的一种计算机可读存储介质,其计算机程序可执行不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的终端定位方法中的相关操作.

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述终端定位装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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