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

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

The Method, Storage Media, Equipment and System of User Location Computing under Large Data

The invention discloses a method, storage medium, equipment and system for realizing user location calculation under large data, and relates to the technical field of large data application. The method includes: building a custom LBS service, which is used to parse the location information of the user according to the longitude and latitude information of the user; parsing the position information corresponding to the longitude and latitude information collected regularly by calling the custom LBS service; storing the parsed location information into the HBase table, and taking the corresponding longitude and latitude information and the dimension-reduced longitude and latitude information as the HBase table. The row keywords are stored to complete the establishment of HBase tables. The data in HBase tables are imported into Hive tables as basic data, and the parallel computing function of Hive tables is used to realize the parallel computing of user location. The invention can realize the fast calculation of a large number of user locations under large-scale data volume, meets the real-time requirements under large-scale data and does not lead to a large number of redundant data caching.

【技术实现步骤摘要】
大数据下实现用户位置计算的方法、存储介质、设备及系统
本专利技术涉及大数据应用
,具体来讲是一种大数据下实现用户位置计算的方法、存储介质、设备及系统。
技术介绍
随着互联网技术的迅速发展,大型互联网公司能获取到用户的很多经纬度信息。在大数据时代,分析用户位置信息能得到公司用户在国内各地的地理位置的分布信息,而利用这些位置分布信息能为公司带来许多利益,因此,各公司都希望能得到用户的地理位置分布信息。但在数据量越来越大的今天,实时从海量的经纬度坐标得到用户的位置信息面临很大的挑战。虽然传统的GIS(GeographicInformationSystem,地理信息系统)技术,已经有相关算法从经纬度得到用户在哪个城市、哪个街道的信息。但面对海量数据,比如实时分析时,每天可能有数亿级的数据需要转换和计算,而如果分析一个月的数据,就会有几十亿的数据需要同时处理,传统的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、使用Springboot框架构建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的定位功能根据用户的经纬度信息解析出用户所在的位置信息;所述服务接口构建子模块用于:使用Springboot框架构建http服务的对外服务接口;通过构建的http服务的对外服务接口将设置好的自定义LBS服务提供给外部调用。在上述技术方案的基础上,该系统还包括新经纬度信息添加模块,该新经纬度信息添加模块用于:当有新的用户经纬度信息时,首先在当前HBase表中查找是否已存在该经纬度信息,若是,结束操作;否则,将该经纬本文档来自技高网
...

【技术保护点】
1.一种大数据下实现用户位置计算的方法,其特征在于,该方法包括以下步骤:S1、自定义LBS服务的搭建:搭建自定义LBS服务,所述自定义LBS服务用于:根据用户的经纬度信息解析出用户所在的位置信息,该位置信息由行政三级信息表示,包括用户所在省、市、县的三级信息;并通过对外服务接口将搭建好的自定义LBS服务提供给外部使用;S2、HBase表的建立:将定期收集的所有用户的经纬度信息导入一个Hive表中;将Hive表中的每个经纬度信息通过调用自定义LBS服务,解析出每个经纬度信息对应的位置信息;将解析出的所有位置信息存入一个HBase表中,并将每个位置信息对应的经纬度信息作为HBase表的行关键字存储;再将每个位置信息对应的经纬度信息按照指定的降维规则进行降维,生成对应的降维经纬度信息,将降维经纬度信息也作为HBase表的行关键字存储;S3、基于HBase表的用户位置计算:将当前HBase表中的数据作为基础数据导入到另一个Hive表中;利用Hive表的并行计算功能实现用户位置的并行计算。

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

【专利技术属性】
技术研发人员:刘宇超陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1