用户终端定位方法、装置、设备及计算机存储介质
技术领域
本发明实施例涉及定位技术领域,具体涉及一种用户终端定位方法、装置、设备及计算机存储介质。
背景技术
随着移动网络的快速发展,出现了一大批依赖于移动终端定位的应用。特别随着5G试验网的建设及2020年的正式运营,依赖新信息技术的发展,又将会涌现出一大批物联网、区块链等高价值企业,也必定将会对终端位置的定位精准性、完备性、实时性等提出更高要求。
在实现本发明实施例的过程中,发明人发现:目前,用户终端定位方法主要有小区定位、AOA(AngleofArrival,到达角)定位、TOA(Time of Arrival,到达时间)定位、TDOA(Time Difference of Arrival,到达时间差)定位和MRO(Measurement Report Original,测量原始数据)定位等几种定位方式。然而,小区定位精度依赖于通信基站的部署密度,AOA定位依赖于信号方位角的精确测量,TOA与TDOA定位需要保持终端时钟与基站时钟的严格同步,且同时需获取到3个以上基站信号,MRO定位的数据量庞大,计算量大,耗费资源。这些现存的方法存在定位精度差和耗费资源量大等问题,无法满足应用对数据高精度、高完备性及高实时性方面的要求。
发明内容
鉴于上述问题,本发明实施例提供了一种用户终端定位方法、装置、设备及计算机存储介质,克服了上述问题或者至少部分地解决了上述问题。
根据本发明实施例的一个方面,提供了一种用户终端定位方法,所述方法包括:获取待定位用户的信令数据;根据所述待定位用户的信令数据,确定所述待定位用户所属的信令ID和信号强度值;将所述待定位用户所属的信令ID与预先设置的定位指纹库进行匹配,确定定位栅格;根据所述待定位用户的信号强度值,计算各所述定位栅格与所述待定位用户的欧式距离;将与所述待定位用户的欧式距离最小的定位栅格的坐标确定为所述待定位用户的坐标。
在一种可选的方式中,所述方法之前,进一步包括:获取样本用户的位置数据和信令数据;根据所述位置数据,确定所述样本用户的坐标;对定位区域划分栅格;根据所述样本用户的坐标,将所述样本用户的信令数据映射在所述栅格内;根据所述栅格内样本用户的信令数据,确定所述栅格包含的信令ID和信号强度均值;根据各所述栅格包含的信令ID和信号强度均值,生成定位指纹库。
在一种可选的方式中,所述根据所述待定位用户的信号强度值,计算各所述定位栅格与所述待定位用户的欧式距离,具体为:根据所述待定位用户的信号强度值,计算所述待定位用户的信号强度差值;根据所述定位栅格内的信号强度均值和所述待定位用户的信号强度差值,计算所述定位栅格的偏离值;根据所述定位栅格的所有偏离值得到所述定位栅格与所述待定位用户的欧式距离。
在一种可选的方式中,所述根据所述栅格内样本用户的信令数据,确定所述栅格包含的信令ID和信号强度均值,具体为:根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的小区ID,其中,所述样本用户的信令数据包括样本用户的MR数据;将所述样本用户的MR数据按照所述小区ID进行分组;将每组内所述样本用户的MR数据的信号强度按照由大到小的排序进行两两差分,得到各小区的信号强度差值;根据所述各小区信号强度差值,确定所述栅格内各小区的信号强度均值。
在一种可选的方式中,所述根据所述栅格内样本用户的信令数据,确定所述栅格包含的信令ID和信号强度均值,还包括:
根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的WIFI SSID,其中,所述样本用户的信令数据包括样本用户的WIFI数据;将所述样本用户的WIFI数据按照所述WIFI SSID进行分组;将每组内所述样本用户的WIFI数据的信号强度按照由大到小的排序进行两两差分,得到各WIFI的信号强度差值;根据所述各WIFI信号强度差值,确定所述栅格内各WIFI的信号强度均值。
在一种可选的方式中,所述根据所述栅格内样本用户的信令数据,确定所述栅格包含的信令ID和信号强度均值,还包括:根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的蓝牙设备ID,其中,所述样本用户的信令数据包括样本用户的蓝牙数据;将所述样本用户的蓝牙数据按照所述蓝牙设备ID进行分组;将每组内所述样本用户的蓝牙数据的信号强度按照由大到小的排序进行两两差分,得到各蓝牙的信号强度差值;根据所述各蓝牙ID信号强度差值,确定所述栅格内各蓝牙的信号强度均值。
在一种可选的方式中,所述将所述待定位用户所属的信令ID与预先设置的定位指纹库进行匹配,确定定位栅格,具体为:根据所述待定位用户所属的信令ID,确定所述待定位用户所属的小区ID、WIFI SSID和蓝牙设备ID;分别计算所述定位指纹库内各栅格与待定位用户具有相同小区ID的数量、与待定位用户具有相同WIFI SSID的数量和与待定位用户具有相同蓝牙设备ID的数量,得到所述栅格的相同小区数、相同WIFI数和相同蓝牙数;将所述相同小区数最大的栅格、所述相同WIFI数最大的栅格和所述相同蓝牙数最大的栅格皆确定为所述定位栅格。
根据本发明实施例的另一方面,提供了一种用户终端定位装置,包括:第一获取模块,用于获取所述待定位用户的信令数据;第一确定模块,用于根据所述待定位用户的信令数据,确定所述待定位用户所属的信令ID和信号强度差值;第二确定模块,用于将所述待定位用户所属的信令ID与预先设置的定位指纹库进行匹配,确定定位栅格;计算模块,用于根据所述待定位用户的信号强度差值,计算各所述定位栅格与所述待定位用户的欧式距离;第三确定模块,用于将与所述待定位用户的欧式距离最小的定位栅格的坐标确定为所述待定位用户的坐标。
根据本发明实施例的另一方面,提供了一种用户终端定位设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述一种用户终端定位方法对应的操作。
根据本发明实施例的又一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行上述一种用户终端定位方法对应的操作。
本发明实施例通过获取待定位用户的信令数据,确定了待定位用户所属的信令ID和信号强度值。之后通过待定位用户的信令数据所属的信令ID与各定位指纹库中的信令ID的相似程度进行匹配从众多栅格中筛选出定位栅格。最后,根据待定位用户的信令数据的信号强度值与存储于定位指纹库中各定位栅格的信号强度值,计算出各定位栅格和待定位用户的欧式距离,欧式距离越小则说明待定位用户的信令数据的信号强度值与定位栅格的信号强度值越相似,而待定位用户位于信号强度值最相似的定位栅格的可能性最大,从而可以将与待定位用户的欧式距离最小的定位栅格的坐标确定为待定位用户的坐标。和现有技术相比,本发明实施例将对待定位用户定位过程分为了两步,通过先筛选定位栅格,减少了后续计算待定位用户的信令数据和栅格的信号强度相似程度的计算量。同时,通过计算欧式距离确定待定位用户位置的方式精确度也更高,不受基站部署密度、基站数量和方位角精确度的影响。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种用户终端定位方法的流程图;
图2示出了本发明实施例中确定定位指纹库的流程图;
图3示出了本发明实施例中确定栅格包含的信令ID和信号强度均值的子步骤流程图;
图4示出了本发明实施例中确定栅格包含的信令ID和信号强度均值的另一子步骤流程图;
图5示出了本发明实施例中确定栅格包含的信令ID和信号强度均值的又一子步骤流程图;
图6示出了本发明实施例中计算欧式距离的子步骤流程图;
图7示出了本发明实施例中确定定位栅格的子步骤流程;
图8示出了本发明实施例提供的用户终端定位装置的结构示意图;
图9示出了本发明实施例提供的用户终端定位设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
随着移动互联网和5G网络的快速发展,出现了越来越多依赖于移动终端定位的应用。而目前终端定位的方式主要有小区定位、AOA定位、TOA定位、TDOA定位和MRO定位。然而,以上几种方法主要有以下几点问题。
(1)定位精度差
基于小区、AOA、TOA和TDOA的定位方法,虽然其定位算法简单、计算消耗低,然而其精度只能达到100-200米级精度。特别的,基于小区切换的定位方法,精度主要依赖于基站的部署密度(市区300-500米,郊区500-1000米)。因此,这些方法只能满足宏观人流监控、人群迁徙分析等应用场景。难以满足新零售等大数据应用所要求的定位精度。
(2)应用范围、覆盖范围受限
AOA定位要求终端方位角的精确测量,因此在楼宇林立、地形复杂的城市、山区等环境下,其定位精度下降严重。而TOA和TDOA定位需要保证用户终端与定位基站之间的严格时钟同步,且需同时接收到多个基站信号,技术限制大,无法覆盖所有定位区域。单纯MRO定位受限于终端同一时刻接收到基站信号的个数,当同一时刻终端接收信号基站个数为1个或者2个时,定位精度就难以达到30-50米精度的级别。此外,受限于指纹仿真软件的准确性及在室内的环境下GPS信号被屏蔽等因素,单纯使用MRO定位算法,还难以在室内实现精准定位,不能满足室内商业应用的要求。因此,现有算法还存着着诸多应用条件限制,难以实现大范围、全覆盖的应用。
(3)算法复杂,数据量庞大,难以快速进行商业应用
AOA、TOA以及TDOA定位技术,其算法相对MRO定位要简单,但因其定位精度较差,却仍需耗费大量计算资源,难以达到计算资源与计算结果上的平衡。MRO定位现今主要采用指纹定位算法,其计算量相对小区、AOA、TOA和TDOA定位,计算量呈指数上升。此外,MRO定位还需进行S1-MME、用户上网信令数据与MRO数据的关联及计算,不仅计算量庞大,还需占用大量存储空间。
因此,本发明实施例提供了一种用户终端的定位方法,其具有高精度、计算复杂程度低和较大的使用范围等特点。
下面结合附图对本发明实施例进行说明。
请参阅图1,图1示出了本发明实施例提供的一种用户终端定位方法的流程图,该方法包括以下步骤:
步骤S110:获取待定位用户的信令数据。
在本步骤中,所述待定位用户是指需要进行定位的用户的移动终端。所述信令数据包括MR(Measurement Report,测量报告)数据和/或WIFI数据和/或蓝牙数据等。
其中,MR数据以通过通信网络信号测量统计文件获取,其包括用户所在小区的小区ID和RSRP(Reference Signal Receiving Power,参考信号接收功率)值等。具体地,用户在使用流量上网或者进行通话时,用户终端每5秒会上报一次3GPP规定的上报值,而每一3GPP规定的上报值对应一MR数据。所述小区是指通信小区,即基站的无线网络覆盖范围,而所述RSRP值表示指用户终端接收到的来自该小区所属基站的无线网络的信号强度。
WIFI数据可以通过发出该WIFI信号的路由器获取,其包括WIFI SSID(ServiceSet Identifier,服务集标识)和WIFI RSSI(Received Signal Strength Indication,接收的信号强度指示)值等。所述WIFI SSID表示路由器的物理地址,而所述WIFI RSSI值表示用户终端接收到的来自该路由器的无线网络的信号强度。
蓝牙数据可以通过与用户终端连接的蓝牙设备获取,其包括蓝牙设备ID和Bluetooth RSSI值等。所述蓝牙设备ID是指蓝牙设备的物理地址,所述Bluetooth RSSI值是指用户终端接收到的来自该蓝牙设备的无线网络的信号强度。
可以理解的是:根据待定位用户所处的场景或环境的不同,待定位用户的信令数据可能仅包括MR数据、WIFI数据和蓝牙数据中的一个或多个。例如,当待定位用户在室内停车场中时,基站发射的无线网络信号可能被屏蔽,但待定位用户可能连接WIFI和蓝牙设备,因此,待定位用户的信令数据仅包括WIFI数据和蓝牙数据。
步骤S120:根据所述待定位用户的信令数据,确定所述待定位用户所属的信令ID和信号强度值。
在本步骤中,所述待定位用户所属的信令ID是指上述步骤S110中MR数据、WIFI数据和蓝牙数据包含的小区ID、WIFI SSID和蓝牙设备ID,而所述信号强度值是指上述步骤S110中MR数据、WIFI数据和蓝牙数据包含的RSRP值、WIFI RSSI值和BluetoothRSSI值。其中,由于小区之间的重叠覆盖以及小区信号的漂移,待定位用户所属的小区ID通常会有3-5个,而WIFI和蓝牙信号的覆盖范围相对较窄,待定位用户所属的WIFI SSID和蓝牙设备ID通常仅有1个。
步骤S130:将所述待定位用户所属的信令ID与预先设置的定位指纹库进行匹配,确定定位栅格。
在本步骤中,所述预先设置的定位指纹库是指通过将样本用户的信令数据映射在预先划分的栅格内,形成各个栅格的指纹信息,其也包括信令ID和信号强度值。其中,由于样本用户较多,通常会有多个样本用户的信令数据映射在同一栅格内,所以一栅格包含的信令ID通常有5个以上的小区ID、一个以上的WIFI SSID和一个以上的蓝牙设备ID。而通过将待定位用户所属的小区ID、WIFI SSID和蓝牙设备ID与各栅格内包含的小区ID、WIFISSID和蓝牙设备ID进行匹配,可以确定各栅格中包含所有或最多待定位用户所属的小区ID、WIFI SSID和蓝牙设备ID的栅格,这些栅格可以确定为定位栅格,因为待定位用户的信令ID和这些栅格包含的信令ID的相似度很高,待定位用户位于这些栅格内的概率很高。当定位栅格仅有一个,则可以说明待定位用户位于该定位栅格内,可以将该定位栅格的中心位置确定为待定位用户的坐标。
需要说明的是:栅格也可能由于其所在场景或环境的不同而仅包含MR数据、WIFI数据和蓝牙数据中的一个或多个,即其包含的信令ID仅有小区ID、WIFI SSID和蓝牙设备ID中的一个或多个。
步骤S140:根据所述待定位用户的信号强度值,计算各所述定位栅格与所述待定位用户的欧式距离。
步骤S150:将与所述待定位用户的欧式距离最小的定位栅格的坐标确定为所述待定位用户的坐标。
通常情况下,定位栅格的数量通常会有一个以上,此时,还需进一步从各定位栅格中确定与待定位用户的信号强度值最为相似的定位栅格,最后将信号强度值最为相似的定位栅格的中心位置确定为待定位用户的坐标。具体地,可以计算各定位栅格与待定位用户的欧式距离,欧式距离越小则说明待定位用户与该定位栅格的信号强度值越为相似,因此可以将与待定位用户的欧式距离最小的定位栅格的坐标确定为待定位用户的坐标。
本发明实施例通过获取待定位用户的信令数据,确定了待定位用户所属的信令ID和信号强度值。之后通过待定位用户的信令数据所属的信令ID与各定位指纹库中的信令ID的相似程度进行匹配从众多栅格中筛选出定位栅格。最后,根据待定位用户的信令数据的信号强度值与存储于定位指纹库中各定位栅格的信号强度值,计算出各定位栅格和待定位用户的欧式距离,欧式距离越小则说明待定位用户的信令数据的信号强度值与定位栅格的信号强度值越相似,而待定位用户位于信号强度值最相似的定位栅格的可能性最大,从而可以将与待定位用户的欧式距离最小的定位栅格的坐标确定为待定位用户的坐标。和现有技术相比,本发明实施例将对待定位用户定位过程分为了两步,通过先筛选定位栅格,减少了后续计算待定位用户的信令数据和栅格的信号强度相似程度的计算量。同时,通过计算欧式距离确定待定位用户位置的方式精确度也更高,不受基站部署密度、基站数量和方位角精确度的影响。
对于上述预先设置的定位指纹库,其确定方式可以有多种实现方式,图2示出了本发明实施例中确定定位指纹库的流程图,如图2所示,在一些实施例中,确定定位指纹库的具体方式为:
步骤S210:获取样本用户的位置数据和信令数据。
步骤S220:根据所述位置数据,确定所述样本用户的坐标。
所述位置数据包括样本用户的OTT数据和/或路测数据和/或行为数据等。所述样本用户的信令数据和待定位用户的信令数据相同,其包括MR数据和/或WIFI数据和/或蓝牙数据。
其中,OTT数据是指通过互联网向用户提供各种应用服务的数据,其包括各种通信软件的数据,具体有:文字消息聊天、文件传输、语音通信和视频通信数据。这些数据中可能包含样本用户的位置信息,通过分析这些数据,可以确定样本用户的坐标。这些数据可以直接通过样本用户使用的通信软件获取。
所述路测数据是通过路测设备直接测量得到的,其包括采用用户所属小区的ID、采用用户的吞吐量和采样用户所在的地理位置等。因此,通过路测数据可以直接确定采用用户的坐标。
所述行为数据是指用户登录网址或者使用应用软件的行为产生的URL数据,通过解析这些URL数据可以抓取URL数据中包含的样本用户的坐标。
需要说明的是:由于路测数据存在遍历不全,而OTT数据和行为数据可能并未包含采样用户的位置信息,所以样本用户的位置数据通常仅包括OTT数据、路测数据和行为数据中的一种,即样本用户通常仅通过其OTT数据、路测数据和行为数据中的一种来进行定位。此外,上述步骤中的待定位用户的这些位置数据无法被采集,所以无法直接确定待定位用户的坐标,而是间接通过信令数据来确定其坐标。
步骤S230:对定位区域划分栅格。
在本步骤中,定位区域是指所有待定位用户所在的一个较大的区域,可以是一整个市或省。该定位区域的地理坐标信息可以从GIS(Geographic Information System,地理信息系统)地图上查找。之后可以在GIS地图上对定位区域进行栅格化处理,生成固定形状、同一面积大小的正方形或六边形栅格,并加以编号。此外,根据定位区域的地理坐标信息,可以确定各栅格的地理坐标信息。
步骤S240:根据所述样本用户的坐标,将所述样本用户的信令数据映射在所述栅格内。
在上述步骤S220中已经确定了样本用户的坐标,因此可以通过在GIS地图上对这些样本用户的坐标打点,从而将各样本用户映射在栅格内。在这过程中,可以会有多个样本用户映射在同一栅格内。
对于样本用户的信令数据中的WIFI数据和蓝牙数据是用户级的数据,其包含用户的ID信息,可以直接与各样本用户进行关联从而映射在样本用户所在的栅格内。而MR数据是小区级的数据,仅包括小区的ID信息,而不包括用户的ID信息。因此,需要以LTE系统中的S1接口信令数据S1_MME数据作为中间媒介,将MR数据与样本用户进行关联。
步骤S250:根据所述栅格内样本用户的信令数据,确定所述栅格包含的信令ID和信号强度均值。
步骤S260:根据各所述栅格包含的信令ID和信号强度均值,生成定位指纹库。
和上述步骤S120相同,所述信令ID可以是指小区ID和/或WIFI SSID和/或蓝牙设备ID。而所述信号强度均值是指表示各信令ID下的信号强度值平均水平的值。每一信令ID都对应一信号强度均值,栅格中的这些信令ID和信号强度均值的对应关系可以视为栅格的指纹信息,而各栅格及其指纹信息则共同构成定位指纹库。此外,这些指纹信息会周期性更新,以保证后续定位的准确性。
对于上述步骤S250,其可以有多种实现方式,具体地,栅格内样本用户的信令数据可能仅包含MR数据。图3示出了本发明实施例中确定栅格包含的信令ID和信号强度均值的子步骤流程图,如图3所示,步骤S250具体为:
步骤S301:根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的小区ID,其中,所述样本用户的信令数据包括样本用户的MR数据。
如步骤S110所述,MR数据中包含了小区的ID信息,因此,栅格内各样本用户的信令数据所属的小区ID可以直接通过MR数据确定。
步骤S302:将所述样本用户的MR数据按照所述小区ID进行分组。
步骤S303:将每组内所述样本用户的MR数据的信号强度按照由大到小的排序进行两两差分,得到各小区的信号强度差值。
其中,所述MR数据的信号强度是指步骤S110中所述的RSRP值,这些RSRP值表示的是各小区的信号强度大小,所以需要将其按小区进行分组,以更好地表示各小区的信号强度情况。此外,通过对每组的RSRP值按由大到小的顺序取差值得到的小区的信号强度差值可以反映样本用户接收到各小区信号的波动情况。每一栅格内各小区的信号波动情况皆不同,因此可以通过匹配待定位用户的接收到的小区信号的波动情况与栅格内各小区的信号波动情况,判断待定位用户的小区信号和各栅格小区信号的相似情况。
步骤S304:根据所述各小区信号强度差值,确定所述栅格内各小区的信号强度均值。
在本步骤中,所述信号强度均值是表示栅格包含的各小区的信号波动的平均情况。每一小区ID都会对应一小区信号强度均值。具体地,信号强度均值可以通过将各小区的信号强度差值分别求和取均值计算得到。
可以理解的是:所述信号强度均值也可以是其它表示各小区的信号波动的平均情况的特征值,例如,信号强度均值可以是各小区的信号强度差值的标准差。
本发明实施例通过计算小区的信号强度差值的平均值,而不是直接计算小区的信号强度的平均值,可以避免由于采样用户的终端或天气等客观因素,导致同一栅格内的小区信号强度在不同时刻整体上升或下降,从而使小区信号强度的平均值波动很大,影响后续对待定位用户进行定位的准确性。因此,本发明实施例采用计算小区信号波动情况的平均情况来作为栅格的指纹信息,可以避免客观因素的影响,有利于提升后续定位的稳定性和泛用性。
在一些实施例中,栅格内样本用户的信令数据还包括WIFI数据,图4示出了本发明实施例中确定栅格包含的信令ID和信号强度均值的另一子步骤流程图,如图4所示,步骤S250还包括:
步骤S401:根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的WIFI SSID,其中,所述样本用户的信令数据包括样本用户的WIFI数据。
如步骤S110所述,WIFI数据中包含了发射WIFI信号的路由器的物理地址信息,因此,栅格内各样本用户的信令数据所属的WIFI SSID可以直接通过WIFI数据确定。
步骤S402:将所述样本用户的WIFI数据按照所述WIFI SSID进行分组。
步骤S403:将每组内所述样本用户的WIFI数据的信号强度按照由大到小的排序进行两两差分,得到各WIFI的信号强度差值。
步骤S404:根据所述各WIFI信号强度差值,确定所述栅格内各WIFI的信号强度均值。
其中,所述WIFI数据的信号强度是指步骤S110中所述的WIFI RSSI值。这些WIFIRSSI值表示的是各路由器发出的WIFI信号强度大小,所以需要将其按WIFI SSID进行分组,以更好地表示各路由器发出的WIFI的信号强度情况。此外,通过对每组的WIFI RSSI值按由大到小的顺序取差值得到的WIFI的信号强度差值可以反映样本用户接收到各路由器发出的WIFI信号的波动情况。最后,和上述步骤S304相同,各组的WIFI的信号强度差值也会分别求和取均值得到各路由器发出的WIFI信号的信号强度均值,即每一WIFI SSID对应一WIFI的信号强度均值。
在另一些实施例中,栅格内样本用户的信令数据还包括WIFI数据,图5示出了本发明实施例中确定栅格包含的信令ID和信号强度均值的又一子步骤流程图,如图5所示,步骤S250还包括:
步骤S501:根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的蓝牙设备ID,其中,所述样本用户的信令数据包括样本用户的蓝牙数据。
步骤S502:将所述样本用户的蓝牙数据按照所述蓝牙设备ID进行分组。
步骤S503:将每组内所述样本用户的蓝牙数据的信号强度按照由大到小的排序进行两两差分,得到各蓝牙的信号强度差值。
步骤S504:根据所述各蓝牙ID信号强度差值,确定所述栅格内各蓝牙的信号强度均值。
其中,所述蓝牙数据的信号强度是指步骤S110中所述的Bluetooth RSSI值。这些Bluetooth RSSI值表示的是用户终端接收到的蓝牙设备的信号强度大小,所以需要将其按蓝牙设备ID进行分组,以更好地表示各蓝牙设备的信号强度情况。此外,通过对每组的Bluetooth RSSI值按由大到小的顺序取差值得到的蓝牙的信号强度差值可以反映样本用户的终端接收到的蓝牙设备的信号波动情况。最后,和上述步骤S304相同,各组的蓝牙的信号强度差值也会分别求和取均值得到蓝牙的信号强度均值,即每一蓝牙设备ID对应一蓝牙的信号强度均值。
可以理解的是:栅格内样本用户的信令数据也可以仅包括WIFI数据和/或蓝牙数据,此处不再赘述。
本发明实施例通过样本用户的MR数据、WIFI数据和蓝牙数据中的一种或多种来建立定位指纹库,极大地拓宽了本发明实施例的应用范围。因为WIFI信号和蓝牙信号具有覆盖范围小以及在室内环境下大量存在的特性,而通信小区的覆盖信号在室外较好,所以本发明实施例可以同时适用于室内和室外环境,和现有技术相比,应用范围更广。
对于上述步骤S140,其可以有多种实现方式,图6示出了本发明实施例中计算欧式距离的子步骤流程图,如图6所示,步骤S140具体为:
步骤S141:根据所述待定位用户的信号强度值,计算所述待定位用户的信号强度差值。
由于上述步骤中建立的定位指纹库中的信号强度均值为信号强度差值的均值,因此也需计算待定位用户的信号强度差值以便与这些信号强度均值进行匹配。其中,如上述步骤所述,所述待定位用户的信号强度值包括RSRP值和/或WIFI RSSI值和/或BluetoothRSSI值,此外,待定位用户在每一小区ID、WIFI SSID或蓝牙设备ID皆会计算出一组RSRP值差值、WIFI RSSI差值或BluetoothRSSI差值。例如,若待定位用户所属的信令ID包小区ID1、小区ID2、WIFISSID1和蓝牙设备ID1,则待定位用户最终会计算出两组RSRP值差值、一组WIFI RSSI差值和一组BluetoothRSSI差值。
需要说明的是:待定位用户的信号强度差值的计算方式和上述采用用户的信号强度差值的计算方式相同,也是通过先将信号强度值按信令ID进行分组,再将每组的信号强度值按从大到小的顺序两两差分计算得到。
可以理解的是:当定位指纹库中的信号强度均值为信号强度值的均值时,则不需要计算待定位用户的信号强度差值,而是直接使用其与定位指纹库中的信号强度均值进行匹配。
步骤S142:根据所述定位栅格内的信号强度均值和所述待定位用户的信号强度差值,计算所述定位栅格的偏离值。
步骤S143:根据所述定位栅格的所有偏离值得到所述定位栅格与所述待定位用户的欧式距离。
欧式距离的具体计算方式可以参考公式:
其中,a_i表示定位栅格中和待定位用户相同信令ID下的信号强度均值,i表示信令ID的序列号。d_ij表示待定位用户在序列号为i的信令ID下的信号强度差值。a_i-d_ij表示的则是定位栅格的偏离值。最终将这些偏离值平方求和之后开根号即可得到欧式距离。例如,若一待定位用户与定位栅格相同信令ID有小区ID1、小区ID2、和蓝牙设备ID1,其序列号分别为1、2和3。定位栅格在小区ID1、小区ID2、和蓝牙设备ID1下的信号强度均值分别为a1、a2和a3。此外,待定位用户在小区ID1下的信号强度差值为d11-d19,待定位用户在小区ID2下的信号强度差值为d21-d29,待定位用户在小区ID1下的信号强度差值为d31-d39。此时该定位栅格与待定位用户的欧式距离为sqrt[(a1-d11)^2+...+(a1-d19)^2+(a2-d21)^2+...+(a2-d29)^2+(a3-d31)^2+...+(a3-d39)^2]。
在另一些实施例中,由于小区覆盖信号容易发生漂移且可能会有重叠覆盖的情况,而蓝牙信号和WIFI信号相对稳定,因此上述步骤S130中确定定位栅格的方式也可以将信令ID中的小区ID、WIFI SSID和蓝牙设备ID分开考虑,而不是综合考虑其与待定位用户的信令ID的相似程度。图7示出了本发明实施例中确定定位栅格的子步骤流程,如图7所示,步骤S130具体为:
步骤S131:根据所述待定位用户所属的信令ID,确定所述待定位用户所属的小区ID、WIFI SSID和蓝牙设备ID。
步骤S132:分别计算所述定位指纹库内各栅格与待定位用户具有相同小区ID的数量、与待定位用户具有相同WIFI SSID的数量和与待定位用户具有相同蓝牙设备ID的数量,得到所述栅格的相同小区数、相同WIFI数和相同蓝牙数。
步骤S133:将所述相同小区数最大的栅格、所述相同WIFI数最大的栅格和所述相同蓝牙数最大的栅格皆确定为所述定位栅格。
本发明实施例分别通过待定位的所属的小区ID、WIFI SSID和蓝牙设备ID确定了3类定位栅格,其中,相同小区数最大的栅格为小区定位栅格、相同WIFI数最大的栅格WIFI定位栅格以及相同蓝牙数最大的栅格蓝牙定位栅格。通过将小区ID、WIFI SSID和蓝牙设备ID分开考虑来确定定位栅格可以防止由于小区信号覆盖广且存在信号漂移现象,导致定位指纹库中各栅格包含小区ID数量远大于WIFI SSID和蓝牙设备ID的数量,即小区ID对定位栅格的确定的影响权值过大,从而提高定位栅格确定的准确性。
可以理解的是:每类定位栅格的数量也可能不仅一个。例如,若相同小区数最大的栅格有两个,则小区定位栅会有两个。
在后续步骤中计算欧式距离时,对于小区定位栅格则仅计算其和待定位用户在相同小区ID下的小区信号强度均值和小区信号强度差值的偏离值,而不考虑其它相同的信令ID。例如,若小区定位栅格和待定位用户的相同的信令ID有小区ID1和蓝牙ID1,小区定位栅格在这两信令ID下的信号强度均值分别为a1和a2,而待定位用户在小区ID1和蓝牙ID1下的信号强度差值为d11-d19和d21-d29。则该小区定位栅格与待定位用户的欧式距离应该为sqrt[(a1-d11)^2+...+(a1-d19)^2]。相同地,对于WIFI定位栅格和蓝牙定位栅格于待定位用户的欧式距离,在计算时也不需要考虑其它相同的信令ID。
本发明实施例通过获取待定位用户的信令数据,确定了待定位用户所属的信令ID和信号强度值。之后通过待定位用户的信令数据所属的信令ID与各定位指纹库中的信令ID的相似程度进行匹配从众多栅格中筛选出定位栅格。最后,根据待定位用户的信令数据的信号强度值与存储于定位指纹库中各定位栅格的信号强度值,计算出各定位栅格和待定位用户的欧式距离,欧式距离越小则说明待定位用户的信令数据的信号强度值与定位栅格的信号强度值越相似,而待定位用户位于信号强度值最相似的定位栅格的可能性最大,从而可以将与待定位用户的欧式距离最小的定位栅格的坐标确定为待定位用户的坐标。和现有技术相比,本发明实施例将对待定位用户定位过程分为了两步,通过先筛选定位栅格,减少了后续计算待定位用户的信令数据和栅格的信号强度相似程度的计算量。同时,通过计算欧式距离确定待定位用户位置的方式精确度也更高,不受基站部署密度、基站数量和方位角精确度的影响。此外的,本发明实施例通过样本用户的MR数据、WIFI数据和蓝牙数据中的一种或多种来建立定位指纹库,极大地拓宽了本发明实施例的应用范围,使本发明实施例可以同时适用于室内和室外环境。
图8示出了本发明实施例提供的一种用户终端定位装置的结构示意图。如图8所示,所述用户终端定位装置100包括第一获取模块101、第一确定模块102、第二确定模块103、计算模块104和第三确定模块105。
第一获取模块101,用于获取所述待定位用户的信令数据;第一确定模块102,用于根据所述待定位用户的信令数据,确定所述待定位用户所属的信令ID和信号强度差值;第二确定模块103,用于将所述待定位用户所属的信令ID与预先设置的定位指纹库进行匹配,确定定位栅格;计算模块104,用于根据所述待定位用户的信号强度差值,计算各所述定位栅格与所述待定位用户的欧式距离;第三确定模块105,用于将与所述待定位用户的欧式距离最小的定位栅格的坐标确定为所述待定位用户的坐标。
在一种可选的方式中,所述用户终端定位装置100还包括:第二获取模块106、第四确定模块107、划分模块108、映射模块109、第五确定模块110和生成模块111。
第二获取模块106,用于获取样本用户的位置数据和信令数据;第四确定模块107,用于根据所述位置数据,确定所述样本用户的坐标;划分模块108,用于对定位区域划分栅格;映射模块109,用于根据所述样本用户的坐标,将所述样本用户的信令数据映射在所述栅格内;第五确定模块110,用于根据所述栅格内样本用户的信令数据,确定所述栅格包含的信令ID和信号强度均值;生成模块111,用于根据各所述栅格包含的信令ID和信号强度均值,生成定位指纹库。
在一种可选的方式中,所述计算模块104具体为:根据所述待定位用户的信号强度值,计算所述待定位用户的信号强度差值;根据所述定位栅格内的信号强度均值和所述待定位用户的信号强度差值,计算所述定位栅格的偏离值;根据所述定位栅格的所有偏离值得到所述定位栅格与所述待定位用户的欧式距离。
在一种可选的方式中,所述第五确定模块110具体为:根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的小区ID,其中,所述样本用户的信令数据包括样本用户的MR数据;将所述样本用户的MR数据按照所述小区ID进行分组;将每组内所述样本用户的MR数据的信号强度按照由大到小的排序进行两两差分,得到各小区的信号强度差值;根据所述各小区信号强度差值,确定所述栅格内各小区的信号强度均值。
在一种可选的方式中,所述第五确定模块110还包括:根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的WIFISSID,其中,所述样本用户的信令数据包括样本用户的WIFI数据;将所述样本用户的WIFI数据按照所述WIFI SSID进行分组;将每组内所述样本用户的WIFI数据的信号强度按照由大到小的排序进行两两差分,得到各WIFI的信号强度差值;根据所述各WIFI信号强度差值,确定所述栅格内各WIFI的信号强度均值。
在一种可选的方式中,所述第五确定模块110还包括:根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的蓝牙设备ID,其中,所述样本用户的信令数据包括样本用户的蓝牙数据;将所述样本用户的蓝牙数据按照所述蓝牙设备ID进行分组;将每组内所述样本用户的蓝牙数据的信号强度按照由大到小的排序进行两两差分,得到各蓝牙的信号强度差值;根据所述各蓝牙ID信号强度差值,确定所述栅格内各蓝牙的信号强度均值。
在一种可选的方式中,所述第二确定模块103具体为:根据所述待定位用户所属的信令ID,确定所述待定位用户所属的小区ID、WIFI SSID和蓝牙设备ID;分别计算所述定位指纹库内各栅格与待定位用户具有相同小区ID的数量、与待定位用户具有相同WIFI SSID的数量和与待定位用户具有相同蓝牙设备ID的数量,得到所述栅格的相同小区数、相同WIFI数和相同蓝牙数;将所述相同小区数最大的栅格、所述相同WIFI数最大的栅格和所述相同蓝牙数最大的栅格皆确定为所述定位栅格。
本发明实施例通过第一获取模块101获取的待定位用户的信令数据,确定了待定位用户所属的信令ID和信号强度值。之后通过第二确定模块103将待定位用户的信令数据所属的信令ID与各定位指纹库中的信令ID的相似程度进行匹配从众多栅格中筛选出定位栅格。最后,根据待定位用户的信令数据的信号强度值与存储于定位指纹库中各定位栅格的信号强度值,通过计算模块104计算出各定位栅格和待定位用户的欧式距离,欧式距离越小则说明待定位用户的信令数据的信号强度值与定位栅格的信号强度值越相似,而待定位用户位于信号强度值最相似的定位栅格的可能性最大,从而可以通过第三确定模块105将与待定位用户的欧式距离最小的定位栅格的坐标确定为待定位用户的坐标。和现有技术相比,本发明实施例将对待定位用户定位过程分为了两步,通过先筛选定位栅格,减少了后续计算待定位用户的信令数据和栅格的信号强度相似程度的计算量。同时,通过计算欧式距离确定待定位用户位置的方式精确度也更高,不受基站部署密度、基站数量和方位角精确度的影响。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用户终端定位方法。
图9示出了本发明实施例提供的用户终端定位设备的结构示意图,本发明具体实施例并不对用户终端定位设备的具体实现做限定。
如图9所示,该用户终端定位设备可以包括:处理器(processor)202、通信接口(Communications Interface)204、存储器(memory)206、以及通信总线208。
其中:处理器202、通信接口204、以及存储器206通过通信总线208完成相互间的通信。通信接口204,用于与其它设备比如客户端或其它服务器等的网元通信。处理器202,用于执行程序210,具体可以执行上述用户终端定位方法实施例中的相关步骤。
具体地,程序210可以包括程序代码,该程序代码包括计算机操作指令。
处理器202可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。用户终端定位设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器206,用于存放程序210。存储器206可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序210具体可以用于使得处理器202执行以下操作:
获取待定位用户的信令数据;
根据所述待定位用户的信令数据,确定所述待定位用户所属的信令ID和信号强度值;
将所述待定位用户所属的信令ID与预先设置的定位指纹库进行匹配,确定定位栅格;
根据所述待定位用户的信号强度值,计算各所述定位栅格与所述待定位用户的欧式距离;
将与所述待定位用户的欧式距离最小的定位栅格的坐标确定为所述待定位用户的坐标。
在一种可选的方式中,程序210具体可以进一步用于使得处理器202执行以下操作:
获取样本用户的位置数据和信令数据;
根据所述位置数据,确定所述样本用户的坐标;
对定位区域划分栅格;
根据所述样本用户的坐标,将所述样本用户的信令数据映射在所述栅格内;
根据所述栅格内样本用户的信令数据,确定所述栅格包含的信令ID和信号强度均值;
根据各所述栅格包含的信令ID和信号强度均值,生成定位指纹库。
在一种可选的方式中,程序210具体可以进一步用于使得处理器202执行以下操作:
根据所述待定位用户的信号强度值,计算所述待定位用户的信号强度差值;
根据所述定位栅格内的信号强度均值和所述待定位用户的信号强度差值,计算所述定位栅格的偏离值;
根据所述定位栅格的所有偏离值得到所述定位栅格与所述待定位用户的欧式距离。
在一种可选的方式中,程序210具体可以进一步用于使得处理器202执行以下操作:
根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的小区ID,其中,所述样本用户的信令数据包括样本用户的MR数据;
将所述样本用户的MR数据按照所述小区ID进行分组;
将每组内所述样本用户的MR数据的信号强度按照由大到小的排序进行两两差分,得到各小区的信号强度差值;
根据所述各小区信号强度差值,确定所述栅格内各小区的信号强度均值。
在一种可选的方式中,程序210具体可以进一步用于使得处理器202执行以下操作:
根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的WIFI SSID,其中,所述样本用户的信令数据包括样本用户的WIFI数据;
将所述样本用户的WIFI数据按照所述WIFI SSID进行分组;
将每组内所述样本用户的WIFI数据的信号强度按照由大到小的排序进行两两差分,得到各WIFI的信号强度差值;
根据所述各WIFI信号强度差值,确定所述栅格内各WIFI的信号强度均值。
在一种可选的方式中,程序210具体可以进一步用于使得处理器202执行以下操作:
根据所述栅格内样本用户的信令数据,确定所述栅格内各样本用户的信令数据所属的蓝牙设备ID,其中,所述样本用户的信令数据包括样本用户的蓝牙数据;
将所述样本用户的蓝牙数据按照所述蓝牙设备ID进行分组;
将每组内所述样本用户的蓝牙数据的信号强度按照由大到小的排序进行两两差分,得到各蓝牙的信号强度差值;
根据所述各蓝牙ID信号强度差值,确定所述栅格内各蓝牙的信号强度均值。
在一种可选的方式中,程序210具体可以进一步用于使得处理器202执行以下操作:
根据所述待定位用户所属的信令ID,确定所述待定位用户所属的小区ID、WIFISSID和蓝牙设备ID;
分别计算所述定位指纹库内各栅格与待定位用户具有相同小区ID的数量、与待定位用户具有相同WIFI SSID的数量和与待定位用户具有相同蓝牙设备ID的数量,得到所述栅格的相同小区数、相同WIFI数和相同蓝牙数;
将所述相同小区数最大的栅格、所述相同WIFI数最大的栅格和所述相同蓝牙数最大的栅格皆确定为所述定位栅格。
本发明实施例通过获取待定位用户的信令数据,确定了待定位用户所属的信令ID和信号强度值。之后通过待定位用户的信令数据所属的信令ID与各定位指纹库中的信令ID的相似程度进行匹配从众多栅格中筛选出定位栅格。最后,根据待定位用户的信令数据的信号强度值与存储于定位指纹库中各定位栅格的信号强度值,计算出各定位栅格和待定位用户的欧式距离,欧式距离越小则说明待定位用户的信令数据的信号强度值与定位栅格的信号强度值越相似,而待定位用户位于信号强度值最相似的定位栅格的可能性最大,从而可以将与待定位用户的欧式距离最小的定位栅格的坐标确定为待定位用户的坐标。和现有技术相比,本发明实施例将对待定位用户定位过程分为了两步,通过先筛选定位栅格,减少了后续计算待定位用户的信令数据和栅格的信号强度相似程度的计算量。同时,通过计算欧式距离确定待定位用户位置的方式精确度也更高,不受基站部署密度、基站数量和方位角精确度的影响。
本发明实施例提供了一种可执行程序,所述可执行程序可执行上述任意方法实施例中的用户终端定位方法。
本发明实施例提供了一种精准广告推送系统,所述精准广告推送系统包括如上实施例所述的用户终端定位设备。本发明实施例中的精准广告推送系统可以通过用户终端定位设备精准定位用户所在的室内商场环境或室外环境,并全时全量的捕获到用户的位置轨迹。结合预先定义广告、推送目标人群筛选规则和推送场景,可在适当的位置、时间场景下,向用户进行合适的广告推送,实现广告推送的高点击率及曝光率。例如:对晚餐时间进入商场范围内的用户,根据用户的行进方向,推送商场内热门品牌的餐饮服务;又例如,对节假日出现在高铁运行线路上的用户,根据用户历史的目的地类型,推送目的地范围内的景区及旅游线路信息。
本发明实施例还提供了一种交通违章识别系统,所述交通违章识别系统包括如上实施例所述的用户终端定位设备。本发明实施例中的交通违章识别系统通过用户终端定位设备可以精准地定位高速道路上的司机,并根据司机的移动距离,移动时间,计算得到司机的移动速度,并结合一段时间内司机的平均速度等情况,可识别出高速违章停车的司机,从而为高速管理提供准确的目标信息,降低节假日期间出行的拥堵情况,减少违章造成的事故率。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。