一种确定热点区域的方法和装置
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种确定热点区域的方法和装置。
【背景技术】
基于服务的目的性和针对性,现在越来越多的服务基于移动设备的位置信息来实现,特别是针对移动设备用户经常活动的位置区域,即热点区域。诸如:移动应用基于移动设备的热点区域进行信息推送;移动应用在更新地图、位置等数据时,优先更新移动设备热点区域的数据;用户在使用移动设备进行搜索时,热点区域作为参数调整搜索结果的排序;等等。
那么如何确定移动设备的热点区域就成为关键。目前常用的方式是在服务器端持续收集移动设备的定位结果,并基于定位结果确定各移动设备的热点区域。然而,这种方式需要移动设备采用GPS或网络定位的方式进行定位,并且持续不断地上传定位结果,对网络资源和移动设备的性能都会造成很大影响。另外,服务器端收集的移动设备的位置信息是点状的,而通常用户活动的热点区域应该是面状的,不能够直接地对热点区域进行反映。
【发明内容】
有鉴于此,本发明提供了一种确定热点区域的方法和装置,以便于降低对网络资源和移动设备性能的影响。
具体技术方案如下:
本发明提供了一种确定热点区域的方法,该方法包括:
利用移动设备本地预置的定位数据库进行定位,记录定位结果;其中所述定位数据库包含定位区域数据,所述定位区域数据包括定位区域标识及其对应的位置信息;
依据所述定位结果确定所述移动设备的热点定位区域,将所述热点定位区域确定为热点区域。
根据本发明一优选实施方式,所述利用移动设备本地预置的定位数据库进行定位包括:
确定所述移动设备探测到的基站,依据探测到的基站对应的定位区域在所述定位数据库中查询对应的位置信息,利用查询到的位置信息确定所述移动设备的定位结果。
根据本发明一优选实施方式,所述利用移动设备本地预置的定位数据库进行定位包括:
监听到所述移动设备发生定位区域的切换时,利用切换后的定位区域对应的标识信息在所述定位数据库中查询对应的位置信息,利用查询到的位置信息确定所述移动设备的定位结果。
根据本发明一优选实施方式,所述定位区域数据预先配置于所述定位数据库;或者,
所述移动设备从服务器端获取所述定位区域数据并存储于所述定位数据库。
根据本发明一优选实施方式,该方法还包括:
记录采用GPS或者网络定位得到的定位结果。
根据本发明一优选实施方式,所述定位区域数据包括位置区码LAC数据,所述热点定位区域为LAC;或者,
所述定位区域数据包括小区数据,所述热点定位区域为小区;或者,
所述热点区域数据包括LAC数据和小区数据,所述热点定位区域为LAC或小区。
根据本发明一优选实施方式,如果所述定位数据库包括LAC数据,则在确定出所述移动设备的热点LAC后,该方法还包括:从所述服务器端获取所述热点LAC对应的小区数据,并将获取的小区数据存储于所述定位数据库。
根据本发明一优选实施方式,依据所述定位结果确定所述移动设备的热点定位区域包括:
依据定位结果的数量设置各定位区域的热度值,将热度值满足预设条件的定位区域确定为热点定位区域,所述预设条件包括:热度值排在前M个,M为预设的正整数,或者热度值大于或等于预设的热度阈值。
根据本发明一优选实施方式,在确定热度值时,采用GPS或网络定位方式得到的定位结果的权重大于利用移动设备本地预置的定位数据库进行定位得到的定位结果的权重。
根据本发明一优选实施方式,依据所述定位结果确定所述移动设备的热点定位区域包括:
对定位结果进行聚类,得到至少一个类;
将满足预设热点区域标准的类对应的定位区域确定为热点定位区域;其中,所述热点区域标准包括:包含定位结果数量排在前N个,所述N为预设正整数;或者,包含定位结果数量大于或等于预设数量阈值。
根据本发明一优选实施方式,依据所述定位结果确定所述移动设备的热点定位区域包括:
采用时间序列分析法,得到定位时间处于某时间段内的X个定位结果满足相关性要求,将所述X个定位结果对应的定位区域确定为所述某时间段内的热点定位区域,所述X大于或等于预设数量阈值。
根据本发明一优选实施方式,所述热点区域采用以下方式中的至少一种描述:
热点区域的中心点经纬度和区域半径的结合;
热点区域对应的行政区划信息。
本发明还提供了一种确定热点区域的装置,其特征在于,该装置包括:
离线定位单元,用于利用移动设备本地预置的定位数据库进行定位,其中所述定位数据库包含定位区域数据,所述定位区域数据包括定位区域标识及其对应的位置信息;
记录单元,用于记录定位结果;
分析单元,用于依据所述记录单元记录的定位结果,确定所述移动设备的热点定位区域,将所述热点定位区域确定为热点区域。
根据本发明一优选实施方式,所述离线定位单元在进行定位时,具体执行:
确定所述移动设备探测到的基站,依据探测到的基站对应的定位区域在所述定位数据库中查询对应的位置信息,利用查询到的位置信息确定所述移动设备的定位结果。
根据本发明一优选实施方式,所述离线定位单元在进行定位时,具体执行:监听到所述移动设备发生定位区域的切换时,利用切换后的定位区域对应的标识信息在所述定位数据库中查询对应的位置信息,利用查询到的位置信息确定所述移动设备的定位结果。
根据本发明一优选实施方式,所述定位区域数据预先配置于所述定位数据库;或者,
该装置还包括:获取单元,用于从服务器端获取所述定位区域数据并存储于所述定位数据库。
根据本发明一优选实施方式,所述记录单元,还用于记录采用GPS或网络定位方式得到的定位结果。
根据本发明一优选实施方式,所述定位区域数据包括位置区码LAC数据,所述热点定位区域为LAC;或者,
所述定位区域数据包括小区数据,所述热点定位区域为小区;或者,
所述热点区域数据包括LAC数据和小区数据,所述热点定位区域为LAC或小区。
根据本发明一优选实施方式,如果所述定位数据库包括LAC数据;则该装置还包括:获取单元,用于在所述分析单元确定出所述移动设备的热点LAC后,从所述服务器端获取所述热点LAC对应的小区数据,并将获取的小区数据存储于所述定位数据库。
根据本发明一优选实施方式,所述分析单元,具体用于依据定位结果的数量设置各定位区域的热度值,将热度值满足预设条件的定位区域确定为热点定位区域,所述预设条件包括:热度值排在前M个,M为预设的正整数,或者热度值大于或等于预设的热度阈值。
根据本发明一优选实施方式,在确定热度值时,采用GPS或网络定位方式得到的定位结果的权重大于利用移动设备本地预置的定位数据库进行定位得到的定位结果的权重。
根据本发明一优选实施方式,所述分析单元,具体用于:
对定位结果进行聚类,得到至少一个类;
将满足预设热点区域标准的类对应的定位区域确定为热点定位区域;其中,所述热点区域标准包括:包含定位结果数量排在前N个,所述N为预设正整数;或者,包含定位结果数量大于或等于预设数量阈值。
根据本发明一优选实施方式,所述分析单元,具体用于采用时间序列分析法,得到定位时间处于某时间段内的X个定位结果满足相关性要求,将所述X个定位结果对应的定位区域确定为所述某时间段内的热点定位区域,所述X大于或等于预设数量阈值。
根据本发明一优选实施方式,所述热点区域采用以下方式中的至少一种描述:
热点区域的中心点经纬度和区域半径的结合;
热点区域对应的行政区划信息。
由以上技术方案可以看出,本发明确定热点区域的方式是基于移动设备端的定位结果,即移动设备端利用本地预置的定位数据库进行定位,这种离线定位的方式无需GPS模块,也无需移动设备实时上传定位结果给服务器端,降低了对移动设备性能和网络资源的影响。
【附图说明】
图1为本发明实施例提供的确定热点区域的方法流程图;
图2为本发明实施例提供的装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明的核心思想在于,在移动设备本地预置定位数据库,该定位数据库中包括定位区域数据,其中定位区域数据包括定位区域标识及其对应的位置信息。移动设备能够利用本地预置的定位数据库进行定位,记录定位结果。并且在移动设备端依据记录的定位结果确定热点定位区域,将热点定位区域确定为热点区域。
优选地,上述定位区域数据可以包括LAC数据,对应的热点定位区域为热点LAC。上述定位区域也可以包括小区(Cell)数据,对应的热点定位区域为热点小区。上述定位区域也可以包括LAC数据和小区数据,对应的热点定位区域可以为热点LAC或热点小区。其中LAC数据包括LAC标识信息及其对应的位置信息,小区数据包括Cellid(小区标识)及其对应的位置信息。这里的“小区”指的是移动通信中的小区概念,是基站信号的覆盖范围。
本发明实施例中涉及的“热点区域”指的是移动设备经常所处的区域,其反映了用户经常活动的地点范围。
图1为本发明实施例提供的确定热点区域的方法流程图,在该实施例中以定位区域数据为LAC数据,热点定位区域为热点LAC为例。对于定位区域数据为小区数据,热点定位区域为热点小区的实现方式与图1中流程类似。如图1中所示,该方法可以包括以下步骤:
在101中,移动设备本地预置定位数据库。
本步骤中可以将LAC数据预置于定位数据库,可以采用手工配置、出厂配置等方式,也可以采用从服务器端获取的LAC数据后存储于定位数据库的方式。
现有技术情况下,用于定位的数据主要存储于服务器端,在服务器端存储的数据主要是基站级别的,数据量较大。为了降低对移动设备端的存储压力,本发明实施例中优选地,初始配置时,可以仅在移动设备端的定位数据库中存储LAC数据,LAC数据量相比较基站级别的数据大大降低了数据量,可以从千万级别缩减为万级别,完全可以在移动设备端进行存储。
服务器端基站级别的数据通常包括基站id(标识)、所属的LAC标识以及基站位置信息。本发明实施例中LAC数据可以是基于LAC标识对基站级别的数据进行合并后得到的。LAC数据可以包括LAC标识信息及其对应的位置信息,该位置信息可以包括LAC所覆盖区域的中心点位置信息,还可以包括LAC所覆盖区域的轮廓信息或半径信息。
在对基站数据进行合并时,可以采用聚类的方式。即将属于同一LAC的基站数据基于位置信息进行聚类,大多数情况下,属于同一LAC的基站数据会被聚类成同一类,记录该LAC对应类的中心点的位置信息,该位置信息可以是经纬度,也可以是所在的行政区划信息,例如在xx省xx市xx区,更进一步地,还可以记录LAC对应类的轮廓信息或半径信息。
在有些情况下,例如LAC覆盖的区域过大,则可能会产生同一LAC的基站数据会被聚类成多个类(本发明实施例中所述“多个”指代多于一个),此时可以对得到的类分别判断是否符合预设的属性标准,如果不符合,则将该类过滤掉。记录该LAC对应的符合属性标准的类的中心点的位置信息,还可以进一步记录符合属性标准的类的轮廓信息。
其中,上述属性标准可以采用但不限于以下所列中之一或任意组合:
1)类内基站的创建时间在最近的预设时间范围内。这种情况是为了防止有些基站创建时间很久,有可能实际的基站已经不再使用,但数据库中的基站数据未及时更新,对于这种情况产生的类可以将其过滤掉,不进行记录。
2)类的覆盖面积大于或等于预设的面积标准。有些基站离散于其他大多数基站而分布成一小类,用户在该类所覆盖区域的概率相比较其他类通常要低得多,往往是一些在距离市区很远的某些地方,基于某种特殊的需求而创建的基站,因此对于这种情况产生的类可以将其过滤掉。
3)类内基站的数量大于或等于预设的数量标准。通常对于用户较密集、需求量比较高的地方,通常会设置较多数量的基站。与上述第2)种情况类似的,有些基站离离散于其他大多数基站而分布成一小类,用户在该类所覆盖区域的概率相比较其他类通常要低得多,因此对于这种情况产生的类可以将其过滤掉。
也就是说,进行上述过滤后最终得到的类所覆盖的区域即为该LAC覆盖的区域。
在对基站数据基于位置信息进行聚类时,可以采用诸如K-means、K-medoids、DBSCAN(Density-Based Spatial Clustering of Applications with Noise,,具有噪声的基于密度的聚类方法)等聚类方法,本发明对聚类方式不加以限制。
在确定类的轮廓信息时,可以采用多种轮廓确定方法,在此以其中一种方式为例:将类中每一个基站数据作为一个位置点,确定类中一个位于该类中各点中最外侧的点作为第一轮廓点;确定与第一轮廓点相邻的、且与第一轮廓点相连形成直线后使得所有位置点均位于该直线上或直线的同一侧的第二轮廓点,将第二轮廓点送入轮廓点队列;从第二轮廓点开始,用同样的方法依次找到其他轮廓点,直到再次找到第一轮廓点并将第一轮廓点列入轮廓点队列为止。最终轮廓点队列中的位置点就是该类的轮廓,即位于该类所覆盖区域最外侧的采样点。
小区数据是服务器端根据定位数据得到的,将定位数据中属于同一小区的定位结果进行整合,在进行整合时,也可以采用对属于同一小区的定位结果进行聚类的方式。同样,在聚类后产生至少一个类,同样可以对这些类进行过滤。将最终得到的类覆盖的区域作为该小区对应的区域,该区域的位置信息可以包括中心点的位置信息,还可以包括该区域的轮廓信息或半径信息。其中聚类方式、过滤方式、轮廓信息的确定方式均与LAC数据中的处理类似,不再赘述。其中中心点的位置信息可以采用经纬度进行描述,或者采用行政区划信息进行描述。然后记录Cellid及其对应的位置信息得到小区数据。
在102中,利用移动设备本地预置的定位数据库进行定位,记录定位时间和定位结果。
本步骤的实现可以采用但不限于以下两种方式:
第一种方式:确定移动设备当前探测到的基站,依据当前探测到的基站所属的LAC标识信息在定位数据库中查询对应的位置信息,利用查询到的位置信息确定移动设备的定位结果。
这种方式可以周期性进行定位,例如每隔预设的时间进行一次定位。也可以在被定位事件触发时执行,例如用户在移动设备上的操作产生了定位事件,则进行一次定位。
这种情况下,记录的定位时间就是执行本方式进行定位时的时间。
第二种方式:监听到移动设备发生LAC切换时,利用切换后的LAC对应的标识信息在定位数据库中查询对应的位置信息,利用查询到的位置信息确定移动设备的定位结果。
这种方式是在发生LAC切换时执行的定位方式。这种情况下,记录的定位时间可以是执行本方式进行定位时的时间,也可以是一个时间段,即从发生切换的时间到下次发生切换的时间。例如当监听到移动设备从LAC1切换到LAC2,那么利用LAC2的标识在定位数据库中查询对应的位置信息,利用该LAC2的位置信息确定移动设备的定位结果,此时的时间为t1。经过一段时间后,在t2又监听到从LAC2切换到LAC3,那么记录LAC2的位置信息对应的定位时间为t1至t2。也就是说,在t1至t2这段时间内,移动设备位于LAC2的区域范围内。
上述两种方式中,经查询本地数据库获得的位置信息可以是中心点的经纬度,也可以是中心点经纬度与区域半径的结合,也可以是中心点经纬度与轮廓信息的结合,也可以是行政区划信息,例如xx省xx市xx区,除了中心点的经纬度之外,其他位置信息都是面状位置信息。
另外,上述两种方式是离线定位方式,无需消耗网络流量,也无需具有GPS模块。在本发明实施例中,进行定位的模块可以封装在系统层,并提供API供应用层调用。当需要进行离线定位时,调用该API以获得定位结果。
在103中,记录移动设备采用其他定位方式得到的定位时间和定位结果。
在本发明实施例中,诸如GPS或网络定位等其他定位方式获得的定位时间和定位结果也可以在移动设备端进行记录,并用于后续确定热点区域时使用。即其他定位方式可以作为离线定位的辅助。其中网络定位指的是定位逻辑在服务器端,由服务器端完成移动设备的定位处理后,通过网络将定位结果返回给移动设备的方式,诸如基站定位、wifi定位等都属于网络定位。
需要说明的是,上述102和103并没有固定的先后顺序,是两种各自独立的定位方式。且实际中,可以只执行102或只执行103。
在104中,依据记录的定位时间和定位结果,确定预设时间段的热点LAC。
由于通常用户的活动是有强烈的时间性的,即不同的时间段活动热点区域可能是不同的。例如在白天的活动热点区域为办公室,在晚上的活动热点区域为家。再例如,用户去年住在海淀区,那么其热点活动区域为海淀区,今年住在朝阳区,那么其热点活动区域为朝阳区。
那么在确定移动设备的热点区域时,可以依据时间段进行划分,确定预设时间段的热点区域。该预设时间段可以以小时、天、星期、月甚至年为粒度。
当然,在确定热点区域时,也可以不对时间段进行限制和划分。相应地,在102中,利用移动设备本地预置的定位数据库进行定位时,记录定位结果即可,而无需记录定位时间。在103中,记录移动设备采用其他定位方式得到的定位结果即可。在104中,依据记录的定位结果,确定热点LAC。
具体地,可以依据定位时间和定位结果,确定预设时间段内的定位结果;对该预设时间段内的定位结果进行聚类,得到至少一个类;然后将满足预设热点区域标准的类对应的LAC确定为该预设时间段内的热点LAC,该热点LAC就是移动设备在该预设时间段内的活动热点区域。其中预设的热点区域标准可以采用但不限于:包含定位结果数量排在前N个,N为预设正整数;包含定位结果数量大于或等于预设的数量阈值。例如将包含定位结果数量最多的类确定为热点区域。定义热点区域标准是为了排除一些偶然性的活动所产生的误差。理想情况下,类中所有的定位结果都属于同一LAC,也有些偶然情况会引起误差,例如移动设备所处位置正好处于LAC切换的附近位置,导致移动设备可能接入不同LAC,对于这种情况,取类中大多数定位结果对应的LAC为热点LAC。
举个例子,预设两个时间段,一个时间段为:9:00~17:00;一个时间段为10:00~6:00。依据记录的定位时间和定位结果,从中找到定位时间在9:00~17:00内的定位结果,将这些定位结果进行聚类,假设得到三个类,一个类,这三个类对应的位置信息分别为:北京市海淀区知春路、北京市海淀区牡丹园和北京市海淀区北京大学。这三个类包含的定位结果数量分别为:88、10和2,那么可以将北京市海淀区知春路作为9:00~17:00时间段的活动热点区域。再从记录的定位时间和定位结果中找到定位时间在22:00~6:00内的定位结果,将这些定位结果进行聚类,假设也得到三个类,这三个类对应的位置信息分别为:北京市昌平区回龙观小区、北京市朝阳区三里屯、北京市海淀区民族大学。这三个类包含的定位结果数量分别为:91、3和7,那么可以将北京市昌平区回龙观小区作为22:00~6:00时间段内的活动热点区域。由于通常情况下,在9:00~17:00时间段内用户在公司办公,在22:00~6:00时间段内用户在家休息,因此采用上述方式就可以确定出用户的办公地点为北京市海淀区知春路,用户的住所为北京市昌平区回龙观小区。
再举个例子,预设时间段为近一个月,依据记录的定位时间和定位结果,从中找到定位时间在近一个月内的定位结果,将这些定位结果进行聚类,假设得到十个类,包含定位结果数量排在前3个的类分别为:北京市海淀区知春路、北京市昌平区回龙观小区、北京市海淀区中关村。那么可以将这三个区域作为用户在近一个月内的活动热点区域。通过这种方式就可以逐渐得到用户热点区域的变化。
除了步骤104所描述的方式之外,还可以采用依据预设时间段内定位结果的数量设置各LAC的热度值,将热度值满足预设条件的LAC确定为热点LAC。这里预设条件可以包括:热度值排在前M个,M为预设正整数,或者热度值大于或等于预设的热度阈值。也就是说,当得到一个定位结果时,该定位结果对应的LAC热度值就有所增加,例如将热度值加1,当确定热点LAC时,可以将预设时间段内热度值最高的LAC确定为热点LAC。在本发明实施例中“热度值”指的是定位区域的热度量化值,其直接反映了移动设备在该定位区域的活动热度。
对于这种方式,由于GPS或网络定位等方式的定位精度较高,因此可以设置采用GPS或网络定位方式得到的定位结果对热度值的贡献度高于采用离线定位方式得到的定位结果对热度值的贡献度。例如,离线定位方式得到的定位结果对该定位结果所属LAC的热度值增加1,GPS或网络定位方式得到的定位结果对该定位结果所属LAC的热度值增加2。
本步骤还可以采用其他方式实现,诸如采用时间序列分析法。当采用时间序列分析法时,可以绘制每天的定位时间与定位结果的关系图,利用关系图进行相关性计算,可以得到满足相关性要求的定位结果以及定位时间范围,例如可以得到9:00~17:00时间段内的一些定位结果满足相关性要求,得到22:00~6:00时间段内的一些定位结果满足相关性要求。除了绘制关系图的方式之外,时间序列分析法还可以采用诸如建模的方式、确定相关函数的方式等等,在此不对时间序列分析法进行具体描述。总之,采用时间序列分析法可以得到某时间段内的X个定位结果满足相关性要求,可以将该X个定位结果所属的LAC确定为所述某时间段内的热点LAC。
本步骤可以是周期性执行的,即每隔一段时间确定出活动热点区域,也可以是基于事件触发的,例如当有应用需要使用活动热点区域时,执行本步骤。
在105中,将热点LAC对应的区域确定为热点区域,基于确定出的热点区域向移动设备提供服务。
本发明实施例中热点区域的描述可以采用热点区域的中心点经纬度和区域半径的结合,也可以采用热点区域对应的行政区划信息。该行政区划信息可以精确到县、区、村等,也可以精确到街道、社区、商圈、甚至楼宇。
本发明实施例中可以将确定热点区域的模块封装在系统层,并向应用层提供API(即系统接口)供移动应用进行调用。
在确定出热点区域后,可以有多种利用方式,可以包括但不限于:
移动应用基于移动设备的热点区域进行信息推送。例如,大众点评等生活服务类APP调用系统接口获取到移动设备的热点区域包括“北京市海淀区知春路”时,可以推送该热点区域范围内的美食、娱乐等信息。天气预报类APP调用系统接口获取到移动设备的热点区域包括“北京市昌平区”,则可以向移动设备推送北京市昌平区的天气信息。等等。
移动应用在更新地图、位置等数据时,优先更新移动设备热点区域的数据。例如地图类APP调用系统接口获取到移动设备近一个月的热点区域包括“北京市昌平区”,那么可以优选更新北京市昌平区的地图数据。
向用户提供搜索结果时,将热点区域作为参数调整搜索结果的排序。例如搜索引擎获取到用户在搜索框中输入关键词“鲜花快递”,调用系统接口获取到移动设备当前时间段的热点区域包括“北京市海淀区知春路”,那么可以将“北京市海淀区知春路”作为参数,将与北京市海淀区知春路相关的搜索结果的排序提前,这样用户就能够优先从搜索结果中看到北京市海淀区知春路上的鲜花快递服务。
除了定位区域数据包括LAC数据或小区数据的情况之外,还可以存在定位区域数据包括LAC数据和小区数据的情况,对于这种情况,确定出的热点定位区域可以是LAC,也可以是小区。如果确定出的热点LAC与热点小区不存在重叠,则将确定的热点LAC和热点小区分别作为热点区域。如果确定的热点LAC和热点小区存在重叠,则可以采用热点LAC或者热点小区作为热点区域,由于小区的精度更高,因此可以优选热点小区作为热点区域。当然也可以根据应用的需要来确定是选择热点LAC还是热点小区。如果该应用需要的热点区域精度较高,则可以选择热点小区作为热点区域,否则选择热点小区作为热点区域。
当采用LAC数据进行定位时,通常定位精度较差,一般定位到县、区级别,但LAC数据的数据量较小。利用小区数据的定位精度较高,一般可以定位到街道、社区甚至楼宇,但小区数据的数据量较大。因此为了节省移动设备的存储空间,可以在初始配置定位数据库时,仅在定位数据库中预置LAC数据。当利用LAC数据确定出热点LAC区域时,移动设备再从服务器端获取该热点LAC区域对应的小区数据,将获取的小区数据存储于定位数据库。这样后续在进行定位时,如果移动设备在该热点LAC区域中,则可以采用小区数据做精度更高的定位,从而达到逐步求精的效果。
以上是对本发明提供的方法进行的详细描述,下面对本发明提供的装置进行详细描述。
图2为本发明实施例提供的装置结构图,该装置设置于移动设备中,如图2所示,该装置可以包括:离线定位单元01、记录单元02和分析单元03,还可以包括获取单元04。
离线定位单元01负责利用移动设备本地预置的定位数据库进行定位,其中定位数据库包含定位区域数据。上述的定位区域数据可以预置于定位数据库,可以采用手工配置、出厂配置等方式。也可以由获取单元04从服务器端获取定位区域数据后存储于定位数据库。
记录单元02负责记录定位结果,还可以进一步记录定位时间。
具体地,离线定位单元01在进行定位时,可以采用但不限于以下两种方式:
第一种方式:确定移动设备探测到的基站,依据探测到的基对应的定位区域标识信息在定位数据库中查询对应的位置信息,利用查询到的位置信息确定移动设备的定位结果。
这种方式可以周期性进行定位,例如每隔预设的时间进行一次定位。也可以在被定位事件触发时执行,例如用户在移动设备上的操作产生了定位事件,则进行一次定位。
这种情况下,记录单元02记录的定位时间就是离线定位单元01进行定位时的时间。
第二种方式:监听到移动设备发生定位区域的切换时,利用切换后的定位区域对应的标识信息在定位数据库中查询对应的位置信息,利用查询到的位置信息确定移动设备的定位结果。
这种情况下,记录单元02记录的定位时间为定位单元01本次定位的时间,或者为本次定位的时间至移动设备切换到其他定位区域的时间。
上述两种方式中,经查询本地数据库获得的位置信息可以是中心点的经纬度,也可以是中心点经纬度与区域半径的结合,也可以是中心点经纬度与轮廓信息的结合,也可以是行政区划信息,例如xx省xx市xx区,除了中心点的经纬度之外,其他位置信息都是面状位置信息。
除此之外,由于移动设备中可能还存在GPS模块或网络定位单元,那么记录单元02也可以记录采用GPS或网络定位方式得到的定位时间和定位结果,并用于后续确定热点区域时使用。即其他定位方式可以作为离线定位的辅助。
分析单元03负责依据记录单元02记录的定位结果,确定移动设备的热点定位区域,将热点定位区域确定为热点区域。
由于通常用户的活动是有强烈的时间性的,即不同的时间段活动热点区域可能是不同的。那么在确定移动设备的热点区域时,可以依据时间段进行划分,确定预设时间段的热点区域。该预设时间段可以以小时、天、星期、月甚至年为粒度。具体地,分析单元03可以依据预设时间段内定位结果的数量设置各定位区域的热度值,将热度值满足预设条件的定位区域确定为热点定位区域,其中预设条件可以包括:热度值排在前M个,M为预设的正整数,或者热度值大于或等于预设的热度阈值。
分析单元03在依据预设时间段内定位结果的数量设置各定位区域的热度值时,可以设置采用GPS或网络定位方式得到的定位结果对热度值的贡献度大于利用移动设备本地预置的定位数据库进行定位(即离线定位方式)得到的定位结果对热度值的贡献度,即在确定热度值时,采用GPS或网络定位方式得到的定位结果的权重大于利用移动设备本地预置的定位数据库进行定位(即离线定位方式)得到的定位结果的权重。
分析单元03还可以依据定位时间和定位结果,确定预设时间段内的定位结果;对预设时间段内的定位结果进行聚类,得到至少一个类;将满足预设热点区域标准的类对应的定位区域确定为预设时间段内的热点定位区域。
其中热点区域标准可以采用但不限于:包含定位结果数量排在前N个,N为预设正整数;或者,包含定位结果数量大于或等于预设数量阈值。定义热点区域标准是为了排除一些偶然性的活动所产生的误差。
当然也可以不依据定位时间对定位结果进行时间上的划分,而针对所有定位结果来确定热点定位区域。
分析单元03还可以采用其他方式实现,诸如采用时间序列分析法。当采用时间序列分析法时,可以绘制每天的定位时间与定位结果的关系图,利用关系图进行相关性计算,可以得到满足相关性要求的定位结果以及定位时间范围,例如可以得到9:00~17:00时间段内的X个定位结果满足相关性要求,得到22:00~6:00时间段内的X个定位结果满足相关性要求。除了绘制关系图的方式之外,时间序列分析法还可以采用诸如建模的方式、确定相关函数的方式等等,在此不对时间序列分析法进行具体描述。总之,采用时间序列分析法可以得到某时间段内的X个定位结果满足相关性要求,X大于或等于预设的数量阈值,可以将这些定位结果对应的定位区域确定为所述某时间段内的热点区域。
本发明实施例中热点区域的描述可以采用热点区域的中心点经纬度和区域半径的结合,也可以采用热点区域对应的行政区划信息。该行政区划信息可以精确到县、区、村等,也可以精确到街道、社区、商圈、甚至楼宇。
该装置可以封装在系统层,并向应用层提供API供移动应用进行调用。对热点区域的利用方式可以包括但不限于:移动应用基于移动设备的热点区域进行信息推送;移动应用在更新地图、位置等数据时,优先更新移动设备热点区域的数据;向用户提供搜索结果时,将热点区域作为参数调整搜索结果的排序;等等。
优选地,上述定位区域数据可以包括LAC数据,对应的热点定位区域为热点LAC。上述定位区域也可以包括小区(Cell)数据,对应的热点定位区域为热点小区。上述定位区域也可以包括LAC数据和小区数据,对应的热点定位区域可以为热点LAC或热点小区。其中LAC数据包括LAC标识信息及其对应的位置信息,小区数据包括Cellid(小区标识)及其对应的位置信息。
当采用LAC数据进行定位时,通常定位精度较差,一般定位到县、区级别,但LAC数据的数据量较小。利用小区数据的定位精度较高,一般可以定位到街道、社区、商圈甚至楼宇,但小区数据的数据量较大。因此为了节省移动设备的存储空间,可以在初始配置定位数据库时,仅在定位数据库中预置LAC数据。在分析单元03确定出移动设备的热点LAC后,获取单元04再从服务器端获取热点LAC对应的小区数据,并将获取的小区数据存储于定位数据库。
由以上描述可以看出,本发明提供的方法和装置可以具备以下优点:
1)本发明确定热点区域的方式是基于移动设备端的定位结果,即移动设备端利用本地预置的定位数据库进行定位,这种离线定位的方式无需GPS模块,也无需移动设备实时上传定位结果给服务器端,降低了对移动设备性能和网络资源的影响。
2)本发明中确定的热点区域为LAC或小区对应的区域,本身就可以是面状的,无需进行额外的聚合等处理。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。