基于蜂窝小区的定位方法和装置与流程

文档序号:12501883阅读:511来源:国知局
基于蜂窝小区的定位方法和装置与流程

本发明涉及网络通信领域,特别是涉及一种基于蜂窝小区的定位方法和装置。



背景技术:

在现代社会中,智能终端定位技术的应用越来越广泛,其中基于蜂窝小区的定位是最常见的定位方法,其中,定位精度与搜索到的小区数量成正比,搜索到的小区数量越多,需要的时间也越长。用户通过获取自己的位置可以享受很多服务,这个过程中对定位的精度要求越来越高,传统技术的定位精度不能满足用户基于位置获取服务的需求。



技术实现要素:

基于此,有必要针对上述问题,提供一种能精准定位的基于蜂窝小区的定位方法和装置。

一种基于蜂窝小区的定位方法,所述方法包括:

获取与终端连接的邻小区信息;

获取缓存中的小区组,所述小区组中包括一个服务小区信息和至少一个邻小区信息中的一种或多种小区信息;

判断终端是否成功连接网络,若是,则获取终端所接入的服务小区信息;

检测小区组中是否存在第一小区组,所述第一小区组包括的服务小区信息为所述终端接入的服务小区信息,若是,则

根据所述与终端连接的邻小区信息和所述第一小区组内的小区信息计算所述终端的位置信息。

在其中一个实施例中,所述方法还包括:

根据所述连接的邻小区信息和终端所接入的服务小区信息对所述第一小区组进行更新;

将更新后的第一小区组更新至内存中。

在其中一个实施例中,当判定不存在所述第一小区组时,

检测小区组中是否存在第二小区组,所述第二小区组包括的邻小区信息中包含所述终端接入的服务小区信息,若是,则

将所述第二小区组包括的邻小区信息中的所述终端接入的服务小区信息更新至第二小区组包括的服务小区信息中,并在所述第二小区组包括的邻小区信息中删除所述终端接入的服务小区信息;

根据所述与终端连接的邻小区信息和所述第二小区组内的小区信息计算所述终端的位置信息。

在其中一个实施例中,当判定不存在所述第一小区组时,

创建一个小区组,将所接入的服务小区信息作为所创建的小区组中的服务小区信息,将所述与终端连接的邻小区信息作为所创建的小区组中的邻小区信息;

根据所创建的小区组内的小区信息计算所述终端的位置信息。

在其中一个实施例中,所述方法还包括:

若终端未成功连接网络,则检测所述小区组中是否存在第三小区组,所述第三小区组包括的邻小区信息中,包含于终端连接的一个或多个邻小区信息,若是,则

根据所述第三小区组中的小区信息计算所述终端的位置信息。

在其中一个实施例中,若不存在第三小区组,则

创建一个小区组,将与终端相连接的邻小区信息作为所创建的小区组中的邻小区信息;

根据所创建的小区组内的小区信息计算所述终端的位置信息。

一种基于蜂窝小区的定位装置,所述装置包括:

信息获取模块,用于获取与终端连接的邻小区信息;获取缓存中的小区组,所述小区组中包括一个服务小区信息和至少一个邻小区信息中的一种或多种小区信息;

第一判断模块,用于判断终端是否成功连接网络;

信息获取模块还用于当所述第一判断模块的判定结果为是时,获取终端所接入的服务小区信息;

检测模块,用于检测小区组中是否存在第一小区组,所述第一小区组包括的服务小区信息为所述终端接入的服务小区信息;

位置获取模块,用于根据所述与终端连接的邻小区信息和所述第一小区组内的小区信息计算所述终端的位置信息。

在其中一个实施例中,所述装置还包括:

更新模块,用于根据所述连接的邻小区信息和终端所接入的服务小区信息对所述第一小区组进行更新;将更新后的第一小区组更新至内存中。

在其中一个实施例中,所述检测模块还用于检测小区组中是否存在第二小区组,所述第二小区组包括的邻小区信息中包含所述终端接入的服务小区信息,

所述更新模块还用于若存在所述第二小区组,则将所述第二小区组包括的邻小区信息中的所述终端接入的服务小区信息更新至第二小区组包括的服务小区信息中,并在所述第二小区组包括的邻小区信息中删除所述终端接入的服务小区信息;

所述位置获取模块还用于所述与终端连接的邻小区信息和所述第二小区组内的小区信息计算所述终端的位置信息。

在其中一个实施例中,所述装置还包括:

第一创建模块,用于当判定不存在所述第一小区组时,创建一个小区组,将所接入的服务小区信息作为所创建的小区组中的服务小区信息,将所述与终端连接的邻小区信息作为所创建的小区组中的邻小区信息;

所述位置获取模块还用于根据第一创建模块所创建的小区组内的小区信息计算所述终端的位置信息。

在其中一个实施例中,所述检测模块还用于若终端未成功连接网络,则检测所述小区组中是否存在第三小区组,所述第三小区组包括的邻小区信息中,包含于终端连接的一个或多个邻小区信息;

所述位置获取模块还用于若所述小区组存在第三小区组,则根据所述第三小区组中的小区信息计算所述终端的位置信息。

在其中一个实施例中,所所述装置还包括:

第二创建模块,用于若不存在第三小区组,则创建一个小区组,将与终端相连接的邻小区信息作为所创建的小区组中的邻小区信息;

所述位置获取模块还用于根据第二创建模块所创建的小区组内的小区信息计算所述终端的位置信息。

上述基于蜂窝小区的定位方法和装置,将每次获取到的服务小区信息和邻小区信息存储在非易失性存储器中,在每次定位时,将非易失性存储器中的小区信息复制到缓存中,在缓存中查找终端服务小区信息和终端临近小区信息,如果找到相应小区信息,则通过相应小区信息获取终端位置,使得定位精度越来越高。

附图说明

图1为一个实施例中基于蜂窝小区的定位方法的流程图;

图2为一个实施例中基于蜂窝小区的定位方法的存储方式原理图;

图3为另一个实施例中基于蜂窝小区的定位方法的流程图;

图4为又一个实施例中基于蜂窝小区的定位方法的流程图;

图5为另一个实施例中基于蜂窝小区的定位方法的原理图;

图6为一个实施例中基于蜂窝小区的定位装置的结构框图;

图7为另一个实施例中基于蜂窝小区的定位装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,在一个实施例中,提供了一种基于蜂窝小区的定位方法,包括:

步骤102,获取与终端连接的邻小区信息。

本实施例中,终端指的是智能终端,是拥有接入互联网和通信网络的能力,通常搭载各种操作系统,可根据用户需求定制化各种功能的设备。本文中的终端主要包括但不限于移动智能终端、车载智能终端、智能电视、可穿戴设备,最常见的移动智能终端是手机。小区信息指的是小区识别码、LAC(location area code,位置区码)、基站识别码、绝对射频信道号、PLMN(Pbulic Land Mobile Network,公共陆地移动网络)、波段、频带、信号强度等信息,根据该邻小区信息中的基站识别码,可获取对应的基站位置信息,根据该基站位置信息可获取邻小区的位置信息。每个小区信息被设置了对应的小区标识,根据该小区标识可唯一识别相应的小区信息。邻小区指的是终端通过进行全网搜索,获取到的终端所接入的小区之外的临近小区,终端所接入的小区即为服务小区。

步骤104,获取缓存中的小区组,小区组中包括一个服务小区信息和至少一个邻小区信息中的一种或多种小区信息。

本实施例中,小区组可以由一个服务小区和多个邻小区组成,或由一个服务小区和一个邻小区组成,或只由一个或多个邻小区组成。每个小区组为根据终端的历史连接到的服务小区信息和/或邻小区信息所构成的小区组。每个小区组被设置了用于唯一标识该小区组的小区组标识。小区组中可存储相应的小区标识,并对属于服务小区的小区标识进一步设置服务标记,使得根据该服务标记,可识别相应的小区标识所对应的小区信息为该小区组中的服务小区信息。

在一个实施例中,如图2所示,内存中包括多个小区组,小区组中的小区按照网络制式的不同进行分类。根据网络制式的不同,通信网络分为2G(2-Generation wireless tele-phone technology,第二代手机通信技术规格)、3G(3rd-Generation,第三代移动通信技术)、LTE(Long Term Evolution,长期演进)。若当前小区组所处服务小区没有通信网络服务,则在小区组中标记为No SIM(No Subscriber Identification Module,无客户识别模块)。服务小区与其对应的邻小区存储在一个小区组中,服务小区存在对应的服务小区数据库(Service Cell Database),邻小区存在对应的邻小区数据库(Neighbor Cell Database),不同的服务小区和邻小区按照不同的小区组严格区分。

步骤106,当终端成功连接到网络时,获取终端所接入的服务小区信息。

本实施例中,终端可实时检测自身是否成功连接到网络,终端连接网络指的是通过智能终端连接通信网络获取通信服务的过程。每个服务小区都有唯一的区别于其他服务小区的服务标记,终端根据该服务标记接入该服务小区,获取该服务小区信息。需要说明的是,在终端未成功连接到网络时,终端可以在所有的移动通信标准中搜索小区信息,例如可以在GSM(Global System for Mobile communication,全球移动通信系统)、WCDMA(Wideband Code Divesion Multiple Access,宽带码分多址)、TD-SCDMA(Time Division-Synchronous Code Division,时分同步码分多址)和LTE中搜索小区信息;在终端成功连接当网络时,终端只能在当前连接网络的移动通信标准中搜索小区信息,例如终端成功连接网络的移动通信标准是LTE,则终端只能获取到LTE服务小区信息和LTE邻小区信息。

步骤108,当小区组中存在第一小区组时,根据与终端连接的邻小区信息和第一小区组内的小区信息计算终端的位置信息。

本实施例中,检测小区组中是否存在第一小区组,该第一小区组包括的服务小区信息为所述终端接入的服务小区信息。若存在,则说明该第一小区组为终端之前所接入过的同一个服务小区所在的小区组。具体的,可检测缓存的所有的小区组中,是否存在一个被设置了服务标记的小区信息的小区标识与终端所接入的服务小区的小区标识相同,若存在,则该判定该小区组即为第一小区组。小区组中包含有多个,若小区组中存在包括服务小区信息的第一小区组,则可以通过第一小区组获取终端所接入网络的服务小区对应的邻小区信息,一般情况下,这些邻小区是在位置上与服务小区相邻或相近的小区。与终端连接的邻小区与第一小区组内的邻小区有可能部分相同,或者全部相同,也有可能全部不同。根据第一小区组内的服务小区信息确定了终端所处的位置范围,根据与终端连接的邻小区信息和第一小区组内的多个邻小区信息可以缩小终端所处的位置范围,从而更加精确的获得终端的位置。在计算终端位置时,邻小区的数量越多,定位的精度就越高,误差就越小,最终可以获取终端的准确位置。例如:用户在服务小区A使用手机,用户通过连接网络可以获取该服务小区A的标记,根据该服务小区A的标记在手机缓存中查找是否有包含该服务小区A的标记的小区组,若找到包含服务小区A的标记的小区组,则该小区组即为第一小区组。

本实施例中,将每次获取到的服务小区信息和邻小区信息存储在非易失性存储器中,在每次定位时,将非易失性存储器中的小区信息复制到缓存中,在缓存中查找终端服务小区信息和终端临近小区信息,如果找到相应小区信息,则通过相应小区信息获取终端位置,使得定位精度越来越高的前提下,能够实现智能终端快速定位。

如图3所示,在一个实施例中,提供了一种基于蜂窝小区的定位方法,包括:

步骤202,获取与终端连接的邻小区信息。

本实施例中,获取的邻小区信息指的是小区识别码、LAC、基站识别码、绝对射频信道号、PLMN、波段、频带、信号强度等信息。

步骤204,获取缓存中的小区组,小区组中包括一个服务小区信息和至少一个邻小区信息中的一种或多种小区。

本实施例中,小区组存储在终端内存中,终端内存采用的是非易失性存储器,使得终端在关闭电源的情况下,内存中的小区组信息不会丢失。在终端获取小区组信息的步骤中,首先读取内存中的小区组信息,然后将小区组信息复制到终端缓存中,最后在缓存中进行后续步骤的操作。

步骤206,判断终端是否成功连接网络,若是,则执行步骤208,否则,执行步骤218。

本实施例中,终端连接网络指的是通过智能终端连接通信网络获取通信服务的过程,根据网络制式的不同,通信网络分为2G、3G、LTE。

步骤208,获取终端所接入的服务小区。

本实施例中,若终端成功连接网络,则获取终端所接入的服务小区信息,并对服务小区的网络讯号强度进行标记,终端所接入的服务小区有且只有一个,根据服务小区信息可以获取终端所处的位置范围。

步骤210,检测小区组中是否存在第一小区组,若是,则执行步骤212,否则,执行步骤214。

本实施例中,第一小区组包括的服务小区信息为所述终端接入的服务小区信息。获取缓存中的小区组,在小区组中查找当前终端所接入的服务小区信息,若找到相应的第一小区组,则获取第一小区组的信息。通过第一小区组信息获取对应的邻小区信息,邻小区一般为多个,也可能存在只有一个邻小区的情况。具体的,在获取第一小区组中的多个邻小区信息后,对比与终端相连接的邻小区信息,将重复的邻小区信息删除,减少不必要的计算。第一小区组的组成形式如图2所示,根据第一小区组可以获取终端使用过程中积累的服务小区对应的邻小区信息,从而大幅减少搜索邻小区信息消耗的时间,在保证高精度定位的前提下,实现快速定位。例如,用户在利用手机获取当前位置信息时,若采用传统技术的定位方法,在获取手机接入的服务小区后,需要继续搜索邻小区信息,以保证定位精准,若用户处于基站密集区域,则获取邻小区信息的过程会很漫长,而且在获取足够的邻小区之前,定位精度不高,无法满足正常使用需求。

步骤212,根据与终端连接的邻小区信息和第一小区组内的小区信息计算终端的位置信息。

本实施例中,通过与终端连接的邻小区信息和第一小区组内的小区信息计算终端所在位置,具体的,小区信息中包含着基站识别码,由于基站的位置和坐标是固定的和已知的,通过获取基站识别码获取基站的位置,分析终端所在位置与各个基站位置的关系,最终计算出终端所在位置。例如,用户在服务小区A使用手机,服务小区A存在于手机缓存中的一个小区组中,手机可以通过A所属的基站获取用户所处的位置范围,手机再通过A所在小区组中的邻小区B、C、D的信息,通过计算手机与邻小区所在基站之间的距离,可以很快得出用户所在具体位置。

步骤214,创建一个小区组,将所接入的服务小区信息作为所创建的小区组中的服务小区信息,将与终端连接的邻小区信息作为所创建的小区组中的邻小区信息。

本实施例中,通过终端获取缓存中的小区组,检测是否存在包括终端接入的服务小区信息的小区组,若否,则在缓存中新建一个初始化状态的小区组,将终端接入的服务小区信息和与终端连接的邻小区信息存入新建的小区组中,作为小区组的信息。具体的,在完成新建小区组后,通过缓存中的小区组信息更新内存中的小区组信息,使得内存中的小区组数据不断更新,保证终端使用过程中,定位会越来越精准。

步骤216,根据所创建的小区组内的小区信息计算终端的位置信息。

本实施例中,通过所创建的小区组内的小区信息计算终端所在位置,该小区组包括终端所接入的服务小区信息和与终端连接的邻小区信息。

步骤218,检测小区组中是否存在第三小区组,若是,则执行步骤220,否则,执行步骤222。

本实施例中,第三小区组包括的邻小区信息中,包含于终端连接的一个或多个邻小区信息。若终端未能成功连接网络,则不能获取终端所在的服务小区信息,这种情况下,只能通过与终端连接的邻小区信息获取终端的位置。检测缓存中的小区组是否存在包含与终端连接的邻小区的第三小区组,若存在,则获取第三小区组信息。

步骤220,根据第三小区组中的小区信息计算终端的位置信息。

本实施例中,第三小区组包括的邻小区信息中,包含于终端连接的一个或多个邻小区信息。具体的,终端在检测过程中,每找到一个包括与终端连接的邻小区的小区组,立刻上传到终端中央处理器中,保证最快的获取终端位置。若找到的小区组与之前已经上传的小区组相同,则过滤重复的小区组,不进行上传。根据与终端连接的邻小区信息更新第三小区组信息,根据更新后的第三小区组信息更新内存中的小区组信息,使得内存中的小区组数据保存最新状态。

步骤222,创建一个小区组,将与终端相连接的邻小区信息作为所创建小区组中的邻小区信息。

本实施例中,若缓存中的小区组中不存在与终端相连接的邻小区信息,则在缓存中新建一个初始化状态的小区组,将与终端相连接的邻小区信息存入新建的小区组中,作为小区组的邻小区信息,在该新建的小区组中标记服务小区为No SIM。具体的,在完成新建小区组后,通过缓存中的小区组信息更新内存中的小区组信息,使得内存中的小区组数据不断更新,保证终端使用过程中,定位会越来越精准。

步骤224,根据所创建的小区组内的小区信息计算终端的位置信息。

本实施例中,根据新建的包括与终端相连接的邻小区信息的小区组内的小区信息计算终端的位置信息。在计算终端位置时,邻小区的数量越多,定位的精度就越高,误差就越小,最终可以获取终端的准确位置。

在一个实施例中,根据连接的邻小区信息和终端所接入的服务小区信息对第一小区组进行更新;将更新后的第一小区组更新至内存中。

本实施例中,根据连接的邻小区信息和终端所接入的服务小区信息对第一小区组进行更新,更新的内容是小区信息发生的任何改变,包括但是不限于小区识别码、LAC、基站识别码、绝对射频信道号、PLMN、波段、频带、信号强度,再讲更新后的第一小区组更新至内存中,可以保证内存中的小区组信息处于最新的状态,有利于下一次调用内存中的小区组进行定位,通过不断的完善内存中的小区组信息,可以使定位精度越来越高,而且定位速度越来越快。

如图4所示,在一个实施例中,提供了一种基于蜂窝小区的定位方法,包括:

步骤402,获取与终端连接的邻小区信息。

步骤404,获取缓存中的小区组,小区组中包括一个服务小区信息和至少一个邻小区信息中的一种或多种小区。

步骤406,判断终端是否成功连接网络,若是,则执行步骤408,否则,执行步骤418。

步骤408,获取终端所接入的服务小区。

步骤410,检测小区组中是否存在第一小区组,若是,则执行步骤412,否则,执行步骤414。

步骤412,根据与终端连接的邻小区信息和第一小区组内的小区信息计算终端的位置信息。

步骤414,当判定不存在第一小区组时,检测小区组中是否存在第二小区组,第二小区组包括的邻小区信息中包含终端接入的服务小区信息,若是,则将第二小区组包括的邻小区信息中的终端接入的服务小区信息更新至第二小区组包括的服务小区信息中,并在第二小区组包括的邻小区信息中删除终端接入的服务小区信息。

本实施例中,检测小区组中是否存在第二小区组时,检测的范围可以是不存在服务小区的小区组,第二小区组可以是不包含服务小区信息的小区组。当检测到第二小区组包括的邻小区信息中包含终端接入的服务小区信息时,可以将该服务小区信息更新至第二小区组包括的服务小区信息中,得到更新后的包括服务小区信息的新的第二小区组。删除第二小区组包括的邻小区信息中终端接入的服务小区信息,使得第二小区组内的小区信息不会出现重复的情况,减少不必要的计算。通过与终端连接的邻小区信息和更新后的第二小区组内的小区信息计算终端的位置信息,获取终端所在的位置。进一步的,检测小区组中是否存在第二小区组时,检测的范围可以是所有小区组,第二小区组可以是原本存在服务小区信息的小区组。当检测到第二小区组包括的邻小区信息中包含终端接入的服务小区信息时,将该服务小区信息更新至第二小区组包括的服务小区信息中,覆盖原本存在的服务小区信息,随后删除第二小区组包括的邻小区信息中终端接入的服务小区信息,通过与终端连接的邻小区信息和更新后的第二小区组内的小区信息计算终端的位置信息。

进一步的,检测小区组中是否存在第二小区组时,检测的范围可以是所有小区组,第二小区组可以是原本存在服务小区信息的小区组。当检测到第二小区组包括的邻小区信息中包含终端接入的服务小区信息时,可以新建一个小区组,将该服务小区信息作为该新建的小区组中的服务小区信息,将第二小区组包括的邻小区信息和与终端连接的邻小区信息作为该新建的小区组中的邻小区信息,随后删除该新建的小区组包括的邻小区信息中终端接入的服务小区信息,通过该新建的小区组中的小区信息计算终端的位置信息。

具体的,在检测小区组中是否存在第二小区组时,可以选择检测到的第一个符合条件的小区组作为第二小区组,以确保最快的速度获取终端所在位置;也可以选择在符合条件的小区组中搜索,包含最多与终端连接的邻小区信息的小区组作为第二小区组,使得终端获取到的位置更加精准。

步骤416,根据与终端连接的邻小区信息和第二小区组内的小区信息计算终端的位置信息。

步骤418,检测小区组中是否存在第三小区组,若是,则执行步骤420,否则,执行步骤422。

步骤420,根据第三小区组中的小区信息计算终端的位置信息。

步骤422,创建一个小区组,将与终端相连接的邻小区信息作为所创建小区组中的邻小区信息。

步骤424,根据所创建的小区组内的小区信息计算终端的位置信息。

在一个实施例中,基于蜂窝小区的定位方法的原理图如图4所示,其中,内存和缓存分别位于终端之内。实线代表肯定会执行的步骤,虚线代表可能会执行的步骤。结合图5,该基于蜂窝小区的定位方法包括如下步骤:

步骤(1),终端通过网络接口连接邻小区,获取邻小区信息。

当终端开机时,则自动进行全网小区搜索,搜索并连接可连接的邻小区,并获取邻小区信息。获取的邻小区信息指的是小区识别码、LAC、基站识别码、绝对射频信道号、PLMN、波段、频带、信号强度等信息,终端主要依据小区识别码和LAC获取相应的基站位置,由于基站的位置都是固定不变的,所以可以根据基站位置与临小区信息确定邻小区的位置信息。

步骤(2),终端通过网络接口连接服务小区,获取服务小区信息。

具体的,当终端成功连接网络时,才能获取终端所接入的服务小区。终端所接入的服务小区有且只有一个,根据服务小区信息可以获取终端所处的位置范围。例如,用户通过手机成功连接网络,则手机可以通过当前接入服务小区的位置信息,获取用户所处的位置范围,能够及时发现用户所在的城市和区域,从而基于位置提供更加准确的服务。若未能连接到网络,则直接执行步骤(6)。

步骤(3),读取存储在内存中的小区组信息。

具体的,小区组存储在终端内存中,终端内存采用的是非易失性存储器,使得终端在关闭电源的情况下,内存中的小区组信息不会丢失。

步骤(4),将存储在内存中的小区组信息复制到缓存中。

在读取内存中的小区组信息后,将小区组信息复制到终端缓存中,最后在缓存中进行后续步骤的操作,防止内存中的数据出现错误。

步骤(5),在小区组中查找第一小区组,若不存在第一小区组,则检测是否存在第二小区组或创建一个小区组。

第一小区组为:包括的服务小区信息是所述终端接入的服务小区信息的小区组。当终端连接到了服务小区时,才执行步骤(5)。

第二小区组为:包括的邻小区信息中包含终端接入的服务小区信息的小区组。

具体的,检测缓存中的小区组中的服务小区,是否存在与终端所连接的服务小区相同。若存在一个小区组中的服务小区,与终端所连接的服务小区相同,则判定该小区组为第一小区组。在缓存中,根据连接的邻小区信息和终端所接入的服务小区信息对第一小区组进行更新。若不存在,则说明缓存的所有小区组中,不存在该第一小区组。则检测小区组中是否存在第二小区组,第二小区组包括的邻小区信息中包含终端接入的服务小区信息,若是,则将第二小区组包括的邻小区信息中的终端接入的服务小区信息更新至第二小区组包括的服务小区信息中,并在第二小区组包括的邻小区信息中删除终端接入的服务小区信息或创建一个小区组,将所接入的服务小区信息作为所创建的小区组中的服务小区信息,将与终端连接的邻小区信息作为所创建的小区组中的邻小区信息。

步骤(6),在小区组中查找第三小区组,若不存在第三小区组,则创建一个小区组。

第三小区组为:包括的邻小区信息中,包含与终端连接的一个或多个邻小区信息的小区组。当终端未连接到服务小区时,执行步骤(6)。

检测缓存中的小区组中的一个或多个临小区,是否存在与终端所连接的其中一个或多个临小区相同。若存在一个或多个小区组中的服务小区,与终端所连接的服务小区相同,则判定该一个或多个小区组为第三小区组。在缓存中,根据连接的邻小区信息对第三小区组进行更新,将更新后的第三小区组更新至内存中。若不存在,则说明缓存的所有小区组中,不存在第三小区组。则创建一个小区组,将与终端相连接的邻小区信息作为所创建小区组中的邻小区信息。

步骤(7),通过缓存对终端内存进行更新。

具体的,通过步骤(5)或步骤(6)中的更新后的缓存中的信息更新内存中的信息。更新的内容是小区信息发生的任何改变,包括但是不限于小区识别码、LAC、基站识别码、绝对射频信道号、PLMN、波段、频带、信号强度,再将更新后的第一小区组更新至内存中,可以保证内存中的小区组信息处于最新的状态,有利于下一次调用内存中的小区组进行定位,通过不断的完善内存中的小区组信息,可以使定位精度越来越高,而且定位速度越来越快。

步骤(8),计算终端的位置信息。

将计算得到的终端的位置信息以及相应的小区组信息上传到终端,如果小区组信息中不存在服务小区信息,则只上传邻小区信息。

如图6所示,在一个实施例中,提供了一种基于蜂窝小区的定位装置,包括:

信息获取模块602,用于获取与终端连接的邻小区信息;获取缓存中的小区组,小区组中包括一个服务小区信息和至少一个邻小区信息中的一种或多种小区信息;

第一判断模块604,用于判断终端是否成功连接网络;

信息获取模块602还用于当第一判断模块的判定结果为是时,获取终端所接入的服务小区信息;

检测模块606,用于检测小区组中是否存在第一小区组,第一小区组包括的服务小区信息为终端接入的服务小区信息;

位置获取模块608,用于根据与终端连接的邻小区信息和第一小区组内的小区信息计算终端的位置信息。

如图7所示,在一个实施例中,基于蜂窝小区的定位装置还包括:

更新模块610,用于根据连接的邻小区信息和终端所接入的服务小区信息对第一小区组进行更新;将更新后的第一小区组更新至内存中。

第一创建模块612,用于当判定不存在第一小区组时,创建一个小区组,将所接入的服务小区信息作为所创建的小区组中的服务小区信息,将与终端连接的邻小区信息作为所创建的小区组中的邻小区信息;位置获取模块608还用于根据第一创建模块所创建的小区组内的小区信息计算终端的位置信息。

在一个实施例中,检测模块606还用于若终端未成功连接网络,则检测小区组中是否存在第三小区组,第三小区组包括的邻小区信息中,包含于终端连接的一个或多个邻小区信息。位置获取模块608还用于若小区组出存在第三小区组,则根据第三小区组中的小区计算终端的位置信息。

在一个实施例中,该定位装置还包括:第二创建模块614,用于若不存在第三小区组,则创建一个小区组,将与终端相连接的邻小区信息作为所创建的小区组中的邻小区信息;位置获取模块608还用于根据所创建的小区组内的小区信息计算终端的位置信息。

在一个实施例中,检测模块606还用于检测小区组中是否存在第二小区组,第二小区组包括的邻小区信息中包含终端接入的服务小区信息,更新模块610还用于若存在第二小区组,则将第二小区组包括的邻小区信息中的终端接入的服务小区信息更新至第二小区组包括的服务小区信息中,并在第二小区组包括的邻小区信息中删除终端接入的服务小区信息;位置获取模块608还用于根据第二小区组内的小区信息计算终端的位置信息。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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