CN109213940B - 大数据下实现用户位置计算的方法、存储介质、设备及系统 - Google Patents

大数据下实现用户位置计算的方法、存储介质、设备及系统 Download PDF

Info

Publication number
CN109213940B
CN109213940B CN201710523013.0A CN201710523013A CN109213940B CN 109213940 B CN109213940 B CN 109213940B CN 201710523013 A CN201710523013 A CN 201710523013A CN 109213940 B CN109213940 B CN 109213940B
Authority
CN
China
Prior art keywords
longitude
information
user
latitude information
latitude
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710523013.0A
Other languages
English (en)
Other versions
CN109213940A (zh
Inventor
刘宇超
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Southern Power Grid Internet Service Co ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710523013.0A priority Critical patent/CN109213940B/zh
Publication of CN109213940A publication Critical patent/CN109213940A/zh
Application granted granted Critical
Publication of CN109213940B publication Critical patent/CN109213940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种大数据下实现用户位置计算的方法、存储介质、设备及系统,涉及大数据应用技术领域。该方法包括:搭建自定义LBS服务,该自定义LBS服务用于根据用户的经纬度信息解析出用户所在的位置信息;通过调用自定义LBS服务,解析出定期收集的经纬度信息对应的位置信息;将解析的位置信息存入HBase表中,并将对应的经纬度信息、降维经纬度信息作为HBase表的行关键字存储,从而完成HBase表的建立;将HBase表中的数据作为基础数据导入到Hive表中,利用Hive表的并行计算功能实现用户位置的并行计算。本发明能在大规模的数据量下实现大量用户位置的快速计算,满足了大数据下的实时性要求且不会导致大量冗余的数据缓存。

Description

大数据下实现用户位置计算的方法、存储介质、设备及系统
技术领域
本发明涉及大数据应用技术领域,具体来讲是一种大数据下实现用户位置计算的方法、存储介质、设备及系统。
背景技术
随着互联网技术的迅速发展,大型互联网公司能获取到用户的很多经纬度信息。在大数据时代,分析用户位置信息能得到公司用户在国内各地的地理位置的分布信息,而利用这些位置分布信息能为公司带来许多利益,因此,各公司都希望能得到用户的地理位置分布信息。
但在数据量越来越大的今天,实时从海量的经纬度坐标得到用户的位置信息面临很大的挑战。虽然传统的GIS(Geographic Information System,地理信息系统)技术,已经有相关算法从经纬度得到用户在哪个城市、哪个街道的信息。但面对海量数据,比如实时分析时,每天可能有数亿级的数据需要转换和计算,而如果分析一个月的数据,就会有几十亿的数据需要同时处理,传统的GIS技术已力不从心,无法满足大数据下的实时性要求。而面对大数据量,互联网行业常用的技巧就是做key-value(键值对)的缓存,但由于key-value的缓存是一维缓存,即一个关键字对应一个值的缓存,这就导致大量冗余的数据缓存,比如两个人就离一米远,但他们的经纬度却是完全不同,若采用key-value缓存,就需要对这两个经纬度对应的位置信息分别进行缓存,但实际上,对于这种距离较近或一定范围内(如1000米左右)的情况,我们认为位置信息变化不大,无需多次做缓存。因此,传统的key-value一维缓存因导致大量冗余的数据缓存而无法在大数据量下发挥作用。
由此可见,如何在大规模的数据量下实现大量用户位置的快速计算,满足大数据下的实时性要求,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种大数据下实现用户位置计算的方法、存储介质、设备及系统,能在大规模的数据量下实现大量用户位置的快速计算,满足了大数据下的实时性要求且不会导致大量冗余的数据缓存。
为达到以上目的,本发明采取的技术方案是:提供一种大数据下实现用户位置计算的方法,该方法包括以下步骤:
S1、自定义LBS服务的搭建:搭建自定义LBS服务,所述自定义LBS服务用于:根据用户的经纬度信息解析出用户所在的位置信息,该位置信息由行政三级信息表示,包括用户所在省、市、县的三级信息;并通过对外服务接口将搭建好的自定义LBS服务提供给外部使用;
S2、HBase表的建立:将定期收集的所有用户的经纬度信息导入一个Hive表中;将Hive表中的每个经纬度信息通过调用自定义LBS服务,解析出每个经纬度信息对应的位置信息;将解析出的所有位置信息存入一个HBase表中,并将每个位置信息对应的经纬度信息作为HBase表的行关键字存储;再将每个位置信息对应的经纬度信息按照指定的降维规则进行降维,生成对应的降维经纬度信息,将降维经纬度信息也作为HBase表的行关键字存储;
S3、基于HBase表的用户位置计算:将当前HBase表中的数据作为基础数据导入到另一个Hive表中;利用Hive表的并行计算功能实现用户位置的并行计算。
在上述技术方案的基础上,步骤S1具体包括以下流程:S101、通过从互联网网站下载,获取到中国县级地图的Shapefile格式文件;S102、通过从互联网网站下载,获取到中国行政三级规划图;S103、将中国行政三级规划图中的县级行政信息融合到所述Shapefile格式文件中;S104、将自定义LBS服务设置为:使用Geotools开源工具来读写上述融合后的Shapefile格式文件,并利用GIS的定位功能根据用户的经纬度信息解析出用户所在的位置信息;S105、使用Spring boot框架构建http服务的对外服务接口;通过构建的http服务的对外服务接口将设置好的自定义LBS服务提供给外部调用。
在上述技术方案的基础上,步骤S2之后还包括以下操作:当有新的用户经纬度信息时,首先在当前HBase表中查找是否已存在该经纬度信息,若是,结束操作;否则,将该经纬度信息按照指定的降维规则进行降维生成降维经纬度信息,再在当前HBase表中查找是否已存在该降维经纬度信息,若是,结束操作;否则,将该经纬度信息通过调用所述自定义LBS服务,解析出对应的位置信息;将解析出的位置信息添加至当前HBase表中,并将对应的经纬度信息以及对应的降维经纬度信息均作为HBase表的行关键字存储。
本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述大数据下实现用户位置计算的方法的步骤。
本发明还提供一种大数据下实现用户位置计算的设备,包括存储器、处理器及存储在存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述大数据下实现用户位置计算的方法的步骤。
本发明还提供一种大数据下实现用户位置计算的系统,该系统包括自定义LBS服务搭建模块、HBase表建立模块和用户位置计算模块;
所述自定义LBS服务搭建模块用于:搭建自定义LBS服务,所述自定义LBS服务用于根据用户的经纬度信息解析出用户所在的位置信息,该位置信息由行政三级信息表示,包括用户所在省、市、县的三级信息;并通过对外服务接口将搭建好的自定义LBS服务提供给外部使用;
所述HBase表建立模块用于:将定期收集的所有用户的经纬度信息导入一个Hive表中;将Hive表中的每个经纬度信息通过调用自定义LBS服务,解析出每个经纬度信息对应的位置信息;将解析出的所有位置信息存入一个HBase表中,并将每个位置信息对应的经纬度信息作为HBase表的行关键字存储;再将每个位置信息对应的经纬度信息按照指定的降维规则进行降维,生成对应的降维经纬度信息,将降维经纬度信息也作为HBase表的行关键字存储;
所述用户位置计算模块用于:将当前HBase表中的数据作为基础数据导入到另一个Hive表中;利用Hive表的并行计算功能实现用户位置的并行计算。
在上述技术方案的基础上,所述自定义LBS服务搭建模块包括县级地图Shapefile文件获取子模块、行政三级规划图获取子模块、Shapefile文件融合子模块、自定义LBS服务设置子模块、服务接口构建子模块;
所述县级地图Shapefile文件获取子模块用于:通过从互联网网站下载,获取到中国县级地图的Shapefile格式文件;
所述行政三级规划图获取子模块用于:通过从互联网网站下载,获取到中国行政三级规划图;
所述Shapefile文件融合子模块用于:将中国行政三级规划图中的县级行政信息融合到所述Shapefile格式文件中;
所述自定义LBS服务设置子模块用于:将自定义LBS服务设置为:使用Geotools开源工具来读写上述融合后的Shapefile格式文件,并利用GIS的定位功能根据用户的经纬度信息解析出用户所在的位置信息;
所述服务接口构建子模块用于:使用Spring boot框架构建http服务的对外服务接口;通过构建的http服务的对外服务接口将设置好的自定义LBS服务提供给外部调用。
在上述技术方案的基础上,该系统还包括新经纬度信息添加模块,该新经纬度信息添加模块用于:当有新的用户经纬度信息时,首先在当前HBase表中查找是否已存在该经纬度信息,若是,结束操作;否则,将该经纬度信息按照指定的降维规则进行降维生成降维经纬度信息,再在当前HBase表中查找是否已存在该降维经纬度信息,若是,结束操作;否则,将该经纬度信息通过调用所述自定义LBS服务,解析出对应的位置信息;将解析出的位置信息添加至当前HBase表中,并将对应的经纬度信息以及对应的降维经纬度信息均作为HBase表的行关键字存储。
在上述技术方案的基础上,所述HBase表建立模块将定期收集的所有用户的经纬度信息导入一个Hive表中时,是将每个星期收集的所有用户的经纬度信息导入一个Hive表中。
在上述技术方案的基础上,所述HBase表建立模块采用的指定的降维规则为:将超过两位小数的经纬度降维为仅保留两位小数的经纬度。
本发明的有益效果在于:
(1)本发明中,搭建了一个自定义的LBS服务,该服务克服了现有第三方LBS服务因有QPS限制而无法大量使用的缺陷,实现了大数据下的用户位置的解析,为后续大量用户位置的快速计算提供了技术基础。另外,在建立作为基础数据的Hbase表时,我们将位置信息对应的经纬度信息以及降维经纬度信息均作为HBase表的行关键字rowkey存储,形成二维空间缓存。这就使得每一个位置信息都可通过对应的经纬度信息或对应的降维经纬度信息方便迅速地查询到。采用二维空间缓存,将降维后的经纬度信息也作为某个位置信息的查询关键字,是因为降维后的经纬度能将查询精度控制到我们指定的范围内,只要用户的活动范围不超过我们指定的范围内,我们都认为其位置信息相同。这样不仅避免了大量冗余的数据缓存,而且能减少大量重复的查询计算,处理效率高,进而满足了大数据下的实时性要求。
(2)本发明为了更好的满足实时性要求,除了对定期收集的用户的经纬度信息进行解析并存储外,还需对平时产生的新的用户经纬度信息进行处理,进一步保证了实时性要求。并且,对新的用户经纬度信息进行处理会先进行查找操作,若已存在在Hbase表中,则不会进行重复存储,进一步避免了数据冗余、提高了处理效率。
(3)本发明中,定期收集用户经纬度信息的时间以及所采用的指定的降维规则,均可由具体人员根据实际使用情况进行自行设置和调整,灵活性更强。
附图说明
图1为本发明实施例中大数据下实现用户位置计算的方法的流程图;
图2为本发明实施例中步骤S1的具体流程图;
图3为本发明实施例中大数据下实现用户位置计算的设备的结构示意图;
图4为本发明实施例中大数据下实现用户位置计算的系统的结构框图;
图5为本发明实施例中自定义LBS服务搭建模块的具体结构框图;
图6为本发明另一实施例中大数据下实现用户位置计算的系统的结构框图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种大数据下实现用户位置计算的方法,该方法包括以下步骤:
步骤S1、自定义LBS服务的搭建:搭建自定义LBS(Location Based Service,基于位置服务)服务,所述自定义LBS服务用于:根据用户的经纬度信息解析出用户所在的位置信息,该位置信息由行政三级信息表示,即用户所在省、市、县的三级信息;并通过对外服务接口将搭建好的自定义LBS服务提供给外部(该外部是指除自定义LBS服务之外,包括系统内部、外部的其他程序模块等)使用。
可以理解的是,由于现有的第三方LBS服务都有QPS(Query Per Second,每秒查询率)限制,无法大量使用,因此,为了实现大数据下的用户位置的解析,我们需要搭建自定义的LBS服务,此服务可以从用户的经纬度解析出用户所在的位置信息。并且,该位置信息由行政三级信息表示,也就是说位置信息具体到县一级。之所以只具体到县一级,是因为地理位置信息属于国家涉密信息,我们无法搭建更详细的地理位置服务,比如到乡镇级。但是,由行政三级信息表示的位置信息,已足够满足目前企业对用户位置信息的服务需求。
如图2所示,在一种实施方式中,步骤S1具体包括以下流程:
步骤S101、通过从相关互联网网站下载,获取到中国县级地图的Shapefile格式文件。Shapefile文件是描述空间数据的几何和属性特征的非拓扑实体矢量数据结构的一种格式,由ESRI公司开发。
步骤S102、通过从相关互联网网站下载,获取到中国行政三级规划图。
步骤S103、将中国行政三级规划图中的县级行政信息融合(添加)到所述Shapefile格式文件中。
步骤S104、将自定义LBS服务设置为:使用Geotools开源工具(Geotools是Java语言编写的开源GIS工具包)来读写上述融合后的Shapefile格式文件,并利用现有的GIS的定位功能根据用户的经纬度信息解析出用户所在的位置信息,从而完成自定义LBS服务的搭建。可以理解的是,由于当前的Shapefile格式文件中融合了中国县级地图和中国行政三级规划图中的县级行政信息,因此,在解析得到用户所在的县一级信息后,可根据县一级信息利用Shapefile格式文件相应得到由行政三级信息表示的位置信息,即用户所在省、市、县的三级信息。
步骤S105、使用现有的Spring boot框架(Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,实现快速开发)构建http服务的对外服务接口;通过构建的http服务的对外服务接口将搭建好的自定义LBS服务提供给外部调用。
步骤S2、二维空间缓存HBase表的建立:将定期收集的所有用户的经纬度信息导入一个已有的Hive表中(Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行);将HIVE表中的每一个经纬度信息通过调用自定义LBS服务,解析出每一个经纬度信息对应的位置信息;将解析出的所有位置信息存入一个已有的HBase表中(HBase是一个分布式的、面向列的开源数据库),并将每一个位置信息对应的经纬度信息作为HBase表的行关键字rowkey存储;将每一个位置信息对应的经纬度信息按照指定的降维规则进行降维,生成对应的降维经纬度信息,将每一个位置信息对应的降维经纬度信息也作为HBase表的行关键字rowkey存储。至此,就完成了HBase表的二维空间缓存的建立。也就是说,在HBase表中,每一个位置信息都可通过对应的经纬度信息或对应的降维经纬度信息方便迅速地查询到。
可以理解的是,由于用户的经纬度信息的数据量巨大,因此步骤S2中,我们采用定期收集的方式来收集用户的经纬度信息,并将这些信息导入至Hive表中保存。但由于Hive表的写入和查询功能很差,而现有的HBase表可以很方便的查询数据并且也能储存大量的数据,因此我们将解析出的位置信息存入Hbase表中,将Hbase表作为二维空间缓存的载体。并且,在建立Hbase表时,我们将位置信息对应的经纬度信息以及降维经纬度信息均作为HBase表的行关键字rowkey存储,这就使得每一个位置信息都可通过对应的经纬度信息或对应的降维经纬度信息方便迅速地查询到。之所以采用二维空间缓存,将降维后的经纬度信息也作为某个位置信息的查询关键字,是因为降维后的经纬度能将查询精度控制到我们指定的范围内,例如,将原来5位小数的经纬度信息降维至2位小数的经纬度(由于一度的经纬度大概是110公里,两位小数的能精确到1000米左右),使得经纬度的精确度控制到1000米范围左右,即只要用户的活动范围不超过1000米,我们都认为其位置信息相同。这样不仅避免了大量冗余的数据缓存,而且能减少大量重复的查询计算,处理效率高,进而满足了大数据下的实时性要求。
本实施例中,定期收集的所有用户的经纬度信息为每个星期收集的所有用户的经纬度信息;并且采用的指定的降维规则为:将超过两位小数的经纬度降维为仅保留两位小数的经纬度。例如,原始的纬度为23.34267度,则按照上述降维规则,则应降维为纬度为23.34度。实际应用中,定期收集用户经纬度信息的时间以及所采用的指定的降维规则,均可由具体人员根据实际使用情况进行自行设置和调整,灵活性更强。
进一步的,为了更好的满足实时性要求,我们除了对定期收集的用户的经纬度信息进行解析并存储外,还需对平时产生的新的用户经纬度信息进行处理。因此,在另一种实施方式中,步骤S2之后还包括以下操作:当有新的用户经纬度信息时,首先在当前HBase表中查找是否已存在该经纬度信息,若是,结束操作;否则,将该经纬度信息按照指定的降维规则进行降维生成降维经纬度信息,再在当前HBase表中查找是否已存在该降维经纬度信息,若是,结束操作;否则,将该经纬度信息通过调用自定义LBS服务,解析出对应的位置信息;将解析出的位置信息添加至当前HBase表中,并将对应的经纬度信息以及对应的降维经纬度信息均作为HBase表的行关键字rowkey存储。
步骤S3、基于HBase表的用户位置计算:将当前HBase表中的数据作为基础数据导入到另一个已有的Hive表中;利用该Hive表的并行计算功能实现用户位置的并行计算。也就是说,利用Hive并行处理数据的能力,能在数秒内根据用户的经纬度信息处理得到几千万的用户位置信息,快速高效,能在大规模的数据量下实现大量用户位置的快速计算,满足了大数据下的实时性要求。
对应上述的大数据下实现用户位置计算的方法,本发明实施例还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现上述各实施例中的大数据下实现用户位置计算的方法的步骤。需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,参见图3所示,对应上述的大数据下实现用户位置计算的方法,本发明实施例还提供一种大数据下实现用户位置计算的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时可实现上述各实施例中的大数据下实现用户位置计算的方法的步骤。
参见图4所示,本发明实施例还提供一种大数据下实现用户位置计算的系统,该系统包括自定义LBS服务搭建模块、HBase表建立模块和用户位置计算模块。
其中,自定义LBS服务搭建模块用于:搭建自定义LBS服务,所述自定义LBS服务用于根据用户的经纬度信息解析出用户所在的位置信息,该位置信息由行政三级信息表示,包括用户所在省、市、县的三级信息;并通过对外服务接口将搭建好的自定义LBS服务提供给外部使用;
HBase表建立模块用于:将定期收集的所有用户的经纬度信息导入一个Hive表中;将Hive表中的每个经纬度信息通过调用自定义LBS服务,解析出每个经纬度信息对应的位置信息;将解析出的所有位置信息存入一个HBase表中,并将每个位置信息对应的经纬度信息作为HBase表的行关键字存储;再将每个位置信息对应的经纬度信息按照指定的降维规则进行降维,生成对应的降维经纬度信息,将降维经纬度信息也作为HBase表的行关键字存储;
用户位置计算模块用于:将当前HBase表中的数据作为基础数据导入到另一个Hive表中;利用Hive表的并行计算功能实现用户位置的并行计算。
进一步地,参见图5所示,自定义LBS服务搭建模块包括县级地图Shapefile文件获取子模块、行政三级规划图获取子模块、Shapefile文件融合子模块、自定义LBS服务设置子模块、服务接口构建子模块。
其中,县级地图Shapefile文件获取子模块用于:通过从互联网网站下载,获取到中国县级地图的Shapefile格式文件。行政三级规划图获取子模块用于:通过从互联网网站下载,获取到中国行政三级规划图。Shapefile文件融合子模块用于:将中国行政三级规划图中的县级行政信息融合到所述Shapefile格式文件中。自定义LBS服务设置子模块用于:将自定义LBS服务设置为:使用Geotools开源工具来读写上述融合后的Shapefile格式文件,并利用GIS的定位功能根据用户的经纬度信息解析出用户所在的位置信息。服务接口构建子模块用于:使用Spring boot框架构建http服务的对外服务接口;通过构建的http服务的对外服务接口将设置好的自定义LBS服务提供给外部调用。
进一步地,为了更好的满足实时性要求,我们除了对定期收集的用户的经纬度信息进行解析并存储外,还需对平时产生的新的用户经纬度信息进行处理。因此,参见图6所示,在另一种实施方式中,该大数据下实现用户位置计算的系统还包括新经纬度信息添加模块。该新经纬度信息添加模块用于:当有新的用户经纬度信息时,首先在当前HBase表中查找是否已存在该经纬度信息,若是,结束操作;否则,将该经纬度信息按照指定的降维规则进行降维生成降维经纬度信息,再在当前HBase表中查找是否已存在该降维经纬度信息,若是,结束操作;否则,将该经纬度信息通过调用所述自定义LBS服务,解析出对应的位置信息;将解析出的位置信息添加至当前HBase表中,并将对应的经纬度信息以及对应的降维经纬度信息均作为HBase表的行关键字存储。
需要说明的是:上述实施例提供的系统在实现大数据下的用户位置计算时,仅以上述各功能模块的划分进行举例说明,实际应用中,可根据需要将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (8)

1.一种大数据下实现用户位置计算的方法,其特征在于,该方法包括以下步骤:
S1、自定义LBS服务的搭建:搭建自定义LBS服务,所述自定义LBS服务用于:根据用户的经纬度信息解析出用户所在的位置信息,该位置信息由行政三级信息表示,包括用户所在省、市、县的三级信息;并通过对外服务接口将搭建好的自定义LBS服务提供给外部使用;
S2、HBase表的建立:将定期收集的所有用户的经纬度信息导入一个Hive表中;将Hive表中的每个经纬度信息通过调用自定义LBS服务,解析出每个经纬度信息对应的位置信息;将解析出的所有位置信息存入一个HBase表中,并将每个位置信息对应的经纬度信息作为HBase表的行关键字存储;再将每个位置信息对应的经纬度信息按照指定的降维规则进行降维,生成对应的降维经纬度信息,将降维经纬度信息也作为HBase表的行关键字存储;
当有新的用户经纬度信息时,首先在当前HBase表中查找是否已存在该经纬度信息,若是,结束操作;否则,将该经纬度信息按照指定的降维规则进行降维生成降维经纬度信息,再在当前HBase表中查找是否已存在该降维经纬度信息,若是,结束操作;否则,将该经纬度信息通过调用所述自定义LBS服务,解析出对应的位置信息;将解析出的位置信息添加至当前HBase表中,并将对应的经纬度信息以及对应的降维经纬度信息均作为HBase表的行关键字存储;
S3、基于HBase表的用户位置计算:将当前HBase表中的数据作为基础数据导入到另一个Hive表中;利用Hive表的并行计算功能实现用户位置的并行计算。
2.如权利要求1所述的大数据下实现用户位置计算的方法,其特征在于,步骤S1具体包括以下流程:
S101、通过从互联网网站下载,获取到中国县级地图的Shapefile格式文件;
S102、通过从互联网网站下载,获取到中国行政三级规划图;
S103、将中国行政三级规划图中的县级行政信息融合到所述Shapefile格式文件中;
S104、将自定义LBS服务设置为:使用Geotools开源工具来读写上述融合后的Shapefile格式文件,并利用GIS的定位功能根据用户的经纬度信息解析出用户所在的位置信息;
S105、使用Spring boot框架构建http服务的对外服务接口;通过构建的http服务的对外服务接口将设置好的自定义LBS服务提供给外部调用。
3.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述权利要求1至2中任一项所述方法的步骤。
4.一种大数据下实现用户位置计算的设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现上述权利要求1至2中任一项所述方法的步骤。
5.一种大数据下实现用户位置计算的系统,其特征在于:该系统包括自定义LBS服务搭建模块、HBase表建立模块和用户位置计算模块;
所述自定义LBS服务搭建模块用于:搭建自定义LBS服务,所述自定义LBS服务用于根据用户的经纬度信息解析出用户所在的位置信息,该位置信息由行政三级信息表示,包括用户所在省、市、县的三级信息;并通过对外服务接口将搭建好的自定义LBS服务提供给外部使用;
所述HBase表建立模块用于:将定期收集的所有用户的经纬度信息导入一个Hive表中;将Hive表中的每个经纬度信息通过调用自定义LBS服务,解析出每个经纬度信息对应的位置信息;将解析出的所有位置信息存入一个HBase表中,并将每个位置信息对应的经纬度信息作为HBase表的行关键字存储;再将每个位置信息对应的经纬度信息按照指定的降维规则进行降维,生成对应的降维经纬度信息,将降维经纬度信息也作为HBase表的行关键字存储;
所述用户位置计算模块用于:将当前HBase表中的数据作为基础数据导入到另一个Hive表中;利用Hive表的并行计算功能实现用户位置的并行计算;
该系统还包括新经纬度信息添加模块,该新经纬度信息添加模块用于:当有新的用户经纬度信息时,首先在当前HBase表中查找是否已存在该经纬度信息,若是,结束操作;否则,将该经纬度信息按照指定的降维规则进行降维生成降维经纬度信息,再在当前HBase表中查找是否已存在该降维经纬度信息,若是,结束操作;否则,将该经纬度信息通过调用所述自定义LBS服务,解析出对应的位置信息;将解析出的位置信息添加至当前HBase表中,并将对应的经纬度信息以及对应的降维经纬度信息均作为HBase表的行关键字存储。
6.如权利要求5所述的大数据下实现用户位置计算的系统,其特征在于:所述自定义LBS服务搭建模块包括县级地图Shapefile文件获取子模块、行政三级规划图获取子模块、Shapefile文件融合子模块、自定义LBS服务设置子模块、服务接口构建子模块;
所述县级地图Shapefile文件获取子模块用于:通过从互联网网站下载,获取到中国县级地图的Shapefile格式文件;
所述行政三级规划图获取子模块用于:通过从互联网网站下载,获取到中国行政三级规划图;
所述Shapefile文件融合子模块用于:将中国行政三级规划图中的县级行政信息融合到所述Shapefile格式文件中;
所述自定义LBS服务设置子模块用于:将自定义LBS服务设置为:使用Geotools开源工具来读写上述融合后的Shapefile格式文件,并利用GIS的定位功能根据用户的经纬度信息解析出用户所在的位置信息;
所述服务接口构建子模块用于:使用Spring boot框架构建http服务的对外服务接口;通过构建的http服务的对外服务接口将设置好的自定义LBS服务提供给外部调用。
7.如权利要求5或6中任一项所述的大数据下实现用户位置计算的系统,其特征在于:所述HBase表建立模块将定期收集的所有用户的经纬度信息导入一个Hive表中时,是将每个星期收集的所有用户的经纬度信息导入一个Hive表中。
8.如权利要求5或6中任一项所述的大数据下实现用户位置计算的系统,其特征在于:所述HBase表建立模块采用的指定的降维规则为:将超过两位小数的经纬度降维为仅保留两位小数的经纬度。
CN201710523013.0A 2017-06-30 2017-06-30 大数据下实现用户位置计算的方法、存储介质、设备及系统 Active CN109213940B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710523013.0A CN109213940B (zh) 2017-06-30 2017-06-30 大数据下实现用户位置计算的方法、存储介质、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710523013.0A CN109213940B (zh) 2017-06-30 2017-06-30 大数据下实现用户位置计算的方法、存储介质、设备及系统

Publications (2)

Publication Number Publication Date
CN109213940A CN109213940A (zh) 2019-01-15
CN109213940B true CN109213940B (zh) 2021-02-02

Family

ID=64976897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710523013.0A Active CN109213940B (zh) 2017-06-30 2017-06-30 大数据下实现用户位置计算的方法、存储介质、设备及系统

Country Status (1)

Country Link
CN (1) CN109213940B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815219B (zh) * 2019-02-18 2021-11-23 国家计算机网络与信息安全管理中心 支持多数据库引擎的数据生命周期管理的实现方法
CN110990367A (zh) * 2019-11-19 2020-04-10 中国移动通信集团广东有限公司 一种基于图团体聚类实现gps定位集群计算性能优化方法
CN112000312B (zh) * 2020-07-24 2022-04-29 湖北地信科技集团股份有限公司 基于Kettle和GeoTools的空间大数据自动化并行处理方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306287A1 (en) * 2009-05-26 2010-12-02 Nabil Raafat Mahrous Raphaeil Method and apparatus for global addressing of parcels of land
CN104252489B (zh) * 2013-06-28 2019-04-09 厦门雅迅网络股份有限公司 一种根据经纬度数据快速获得位置文字描述信息的方法
CN103530330B (zh) * 2013-09-29 2016-08-31 天泽信息产业股份有限公司 一种逆地理编码处理系统的处理方法
CN104462860B (zh) * 2014-12-31 2017-12-22 宇龙计算机通信科技(深圳)有限公司 定位数据的处理方法及处理装置
CN105975626B (zh) * 2016-05-27 2019-12-27 海尔优家智能科技(北京)有限公司 一种设备地理位置信息的编码方法及装置

Also Published As

Publication number Publication date
CN109213940A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
US9880012B2 (en) Hybrid road network and grid based spatial-temporal indexing under missing road links
CN108446293B (zh) 一种基于城市多源异构数据构建城市画像的方法
Poorthuis et al. Making big data small: strategies to expand urban and geographical research using social media
US9305019B2 (en) Method of associating user related data with spatial hierarchy identifiers for efficient location-based processing
Liu et al. A cloud‐based taxi trace mining framework for smart city
CN109213940B (zh) 大数据下实现用户位置计算的方法、存储介质、设备及系统
Gupta et al. Faster as well as early measurements from big data predictive analytics model
US11853259B2 (en) Indexing documents in a nested hierarchy of directories
CN111258978A (zh) 一种数据存储的方法
CN106599190A (zh) 基于云计算的动态Skyline查询方法
CN106599189A (zh) 基于云计算的动态Skyline查询装置
Karimi et al. Exploring Real‐Time Geoprocessing in Cloud Computing: Navigation Services Case Study
Karim et al. Spatiotemporal Aspects of Big Data.
CN110895591A (zh) 一种定位自提点的方法和装置
CN112308738A (zh) 一种水务数据分析处理系统
Wu et al. Research on data sharing architecture for ecological monitoring using Iot streaming data
Shrivastava A review of spatial big data platforms, opportunities, and challenges
Liu et al. Location correction technique based on mobile communication base station for earthquake population heat map
CN116108120A (zh) 用于轨迹数据的网格索引方法、轨迹数据搜索方法和装置
Li et al. Bringing geospatial data closer to mobile users: A caching approach based on vector tiles for wireless multihop scenarios
Negru et al. A unified approach to data modeling and management in big data era
Gambs et al. Mapreducing gepeto or towards conducting a privacy analysis on millions of mobility traces
CN105260461B (zh) 实现空间大数据快速处理及检索的方法
Raval et al. An overview of big data analytics: A state-of-the-art platform for water resources management
CN112116403A (zh) 一种信息推荐方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231108

Address after: Room 606-609, Compound Office Complex Building, No. 757, Dongfeng East Road, Yuexiu District, Guangzhou, Guangdong Province, 510699

Patentee after: China Southern Power Grid Internet Service Co.,Ltd.

Address before: 430000 Wuhan Donghu Development Zone, Wuhan, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right