一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种高精度网络定位方法、系统、电子设备及存储介质与流程

2022-11-23 14:48:35 来源:中国专利 TAG:
1.本发明涉及定位
技术领域
:,更具体地,涉及一种高精度网络定位方法、系统、电子设备及存储介质。
背景技术
::2.全球卫星定位系统(globlepositioningsystem,gps)是一种结合卫星及通讯发展的技术,利用导航卫星进行测时和测距。全球卫星定位系统(简称gps)是美国从上世纪70年代开始研制,历时20余年,耗资200亿美元,于1994年全面建成。具有海陆空全方位实时三维导航与定位能力的新一代卫星导航与定位系统。经过近十年我国测绘等部门的使用表明,全球卫星定位系统以全天候、高精度、自动化、高效益等特点,成功地应用于大地测量、工程测量、航空摄影、运载工具导航和管制、地壳运动测量、工程变形测量、资源勘察、地球动力学等多种学科,取得了好的经济效益和社会效益。[0003]gps定位依赖于太空中的卫星,特点是首次定位反应慢并且部分手持设备没有gps芯片或者在较高的遮挡物前以及信号不好的建筑物内获取不到gps信号无法进行定位功能。因此,如何进一步满足用户的精确定位需求是亟待解决的问题。技术实现要素:[0004]本发明针对现有技术中存在的技术问题,提供一种高精度网络定位方法、系统、电子设备及存储介质,用以解决如何进一步满足用户的精确定位需求的问题。[0005]根据本发明的第一方面,提供了一种高精度网络定位系统,包括:网络定位模块、数据模块和基础服务模块,所述网络定位模块分别与所述基础服务模块和所述数据模块连接;所述基础服务模块,用于接收外网用户发送的网络定位请求,将所述网络定位请求转发至所述网络定位模块,并获取所述网络定位模块返回的所述网络定位请求对应的定位信息,并将所述定位信息返给所述外网用户;所述网络定位模块,用于根据所述网络定位请求查询所述数据模块,获取所述网络定位请求对应的定位信息,并将所述定位信息返回至所述基础服务模块;所述数据模块,用于存储移动wifi和通信基站的定位数据。[0006]在上述技术方案的基础上,本发明还可以作出如下改进。[0007]可选的,所述网络定位模块,还用于将移动设备上报的移动wifi和/或通信基站信息进行无定位筛选,将筛选出的无定位移动wifi和/或通信基站信息通过所述数据模块进行存储。[0008]可选的,所述基础服务模块,还包括:服务治理平台、服务配置平台和ak管理平台;所述服务治理平台,用于提供所述外网用户的白名单许可配置;所述服务配置平台,用于为所述高精度网络定位系统服务的配置文件提供配置入口;所述ak管理平台,用于为每一个外网用户生成唯一的应用密钥,并将所述应用密钥存储在所述数据模块中。[0009]可选的,所述网络定位模块,还用于在未获取到所述网络定位请求对应的定位信息时,将所述网络定位请求中的移动wifi和/或通信基站信息设定为无定位的移动wifi和/或通信基站信息,并将其发送至所述基础服务模块,以使所述基础服务模块将所述无定位的移动wifi和/或通信基站信息存储至所述数据模块。[0010]可选的,所述数据模块,包括:hive数据仓库、hbase数据库和redis数据库;所述hive数据仓库,用于按天存储所述无定位移动wifi和/或通信基站信息,并存储最近一周的移动wifi和通信基站的定位数据;所述hbase数据库,用于移动wifi和通信基站的定位数据;所述redis数据库,用于存储所述应用密钥,并对所述网络定位请求中的应用密钥进行合法性校验返回校验结果。[0011]可选的,所述系统,还包括:大数据平台定时作业模块;所述大数据平台定时作业模块,用于定时通过第三方接口获取所述hive数据仓库中无定位移动wifi和/或通信基站的定位信息,将所述定位信息存储至所述数据模块中,并定时对所述数据模块中的数据进行数据清洗。[0012]可选的,所述网络定位模块,还用于获取内网用户发送的网络定位请求,并基于所述网络定位请求获取所述数据模块中的定位信息,并将所述定位信息返回至所述内网用户。[0013]根据本发明的第二方面,提供一种高精度网络定位方法,包括:获取用户发送的网络定位请求,基于所述网络定位请求中的服务密钥进行合法性校验;在校验结果为合法时,获取所述网络定位请求中的移动wifi和/或通信基站信息;基于所述移动wifi和/或通信基站信息,获取所述网络定位请求对应的定位信息,并将所述定位信息发送至所述用户。[0014]根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现上述第二方面中任一高精度网络定位方法的步骤。[0015]根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现上述第二方面中任一高精度网络定位方法的步骤。[0016]本发明提供的一种高精度网络定位方法、系统、电子设备及存储介质,所述系统包括:网络定位模块、数据模块和基础服务模块。本发明通过基础服务模块对外提供网络定位入口,并将用户通过网络定位入口发送的网络定位请求转发至网络定位模块,网络定位模块基于上述网络定位请求查询数据模块中移动wifi和/或通信基站的定位数据,并将上述定位数据返回至用户,从而通过移动wifi和/或通信基站的定位数据为用户提供了精确的定位服务。同时通过将无定位的移动wifi和/或通信基站,通过第三方接口获取对应的定位数据,将上述定位数据存储至数据库中,从而完善了缺失的移动wifi和/或通信基站的定位数据,进而进一步提高了定位的准确性,大大的提升了用户体验。附图说明[0017]图1为本发明提供的一种高精度网络定位系统结构示意图;图2为本发明提供的网络定位系统架构示意图;图3为本发明提供的网络定位数据清洗架构示意图;图4为本发明提供的一种高精度网络定位方法流程图;图5为本发明提供的一种可能的电子设备的硬件结构示意图;图6为本发明提供的一种可能的计算机可读存储介质的硬件结构示意图。具体实施方式[0018]下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。[0019]图1为本发明提供的一种高精度网络定位系统结构示意图,如图1所示,系统包括:网络定位模块、数据模块和基础服务模块,所述网络定位模块分别与所述基础服务模块和所述数据模块连接。[0020]其中,所述基础服务模块,用于接收外网用户发送的网络定位请求,将所述网络定位请求转发至所述网络定位模块,并获取所述网络定位模块返回的所述网络定位请求对应的定位信息,并将所述定位信息返给所述外网用户;所述网络定位模块,用于根据所述网络定位请求查询所述数据模块,获取所述网络定位请求对应的定位信息,并将所述定位信息返回至所述基础服务模块;所述数据模块,用于存储移动wifi和通信基站的定位数据。[0021]需要说明的是,本发明实施例中的高精度网络定位系统是采用的dubbo和spring架构,通过分布式的部署方式部署在docker容器中,从而同时对外网用户和内网用户提供返回经纬度坐标服务。[0022]可以理解的是,上述外网用户可以是指与上述docker容器对应的服务器不在同一局域网内的用户,由此可知,与上述docker容器对应的服务器在同一局域网内的用户即为内网用户。[0023]应理解的是,上述网络定位请求中可以携带有上述外网用户连接的移动wifi和/或通信基站信息,上述网络定位模块通过上述移动wifi和/或通信基站信息查询对应的定位信息,并将上述定位信息作为上述外网用户的定位信息返回给上述外网用户。[0024]作为实施例,所述网络定位模块,还用于获取内网用户发送的网络定位请求,并基于所述网络定位请求获取所述数据模块中的定位信息,并将所述定位信息返回至所述内网用户。[0025]可以理解的是,外网用户需要通过上述基础服务模块才能访问本发明实施例中的高精度网络定位系统,而内网用户则可以直接将网络定位请求发送至网络定位模块,从而快速完成定位需求。[0026]作为实施例,所述基础服务模块,还包括:服务治理平台、服务配置平台和ak管理平台。[0027]其中,所述服务治理平台,用于提供所述外网用户的白名单许可配置;所述服务配置平台,用于为所述高精度网络定位系统服务的配置文件提供配置入口;所述ak管理平台,用于为每一个外网用户生成唯一的应用密钥,并将所述应用密钥存储在所述数据模块中。[0028]可以理解的是,为了进一步提高系统的安全性,本发明实施例中的基础服务模块,还包括服务治理平台、服务配置平台和ak管理平台。[0029]其中,服务治理平台用于为外网用户配置可用于访问系统的url地址,可以理解为外网网关,同时还可以针对于每一个用户设定访问权限,其访问权限可以通过白名单进行设置,将外网用户添加至白名单后用户的网络定位请求才会被受理。[0030]服务配置平台(也称为disconf平台),可以是一个灵活的配置文件服务,用于为本发明实施例中高精度网络定位系统的全部配置文件提供web配置界面,使得管理员可以直接通过web配置界面对系统的配置文件进行修改,同时上述服务配置平台支持热部署,从而使得配置文件修改后,可以无间断对外提供网络定位服务,大大的提升系统的稳定性。[0031]ak管理平台,用于针对于每一个用户生成一个唯一的应用密钥(即一个ak),用户访问本系统时,需要在访问请求中携带上述应用密钥;ak管理平台中生成的应用密钥存储在数据模块中的redis数据库中,管理员可以通过服务配置平台通过配置每一个应用密钥的访问属性来控制外网用户的访问频率和次数,并且上述ak管理平台还可以针对于应用密码进行使用频率、次数以及合法性校验成功率进行统计,为针对于外网用户的合规访问做数据支撑。其中,用户发送的网络定位请求中携带应用密钥通过请求参数ak=xxx&param=des进行传递。[0032]为了进一步清楚的说明本发明实施例中高精度网络定位系统的系统架构,参见图2,图2为本发明提供的网络定位系统架构示意图;在图2中,外网用户和内网用户通过不同的网关(也即是服务治理平台中配置的不同的url地址)进行系统访问,用户请求通过https协议转发至内/外网网关,其中外网用户通过外网网关时需要进行用户权限验证,检查外网用户是否在白名单中,若不在,则拒绝其访问请求,若在,则该访问请求被转发至内网网关,再由内网网关将用户请求转发至微服务集群所在的容器中(其中,微服务器集群丰箱可以是用于集中管理微服务的平台,微服务包括但不限于ak管理平台、disconf平台和/或服务治理平台),微服务平台在通过dubbo框架与大数据平台hbase集群数据库进行数据交互。[0033]其中,网络定位模块可以从redis获取ak相关信息并判断网络定位请求中的ak是否合法,其判断步骤可以包括:校验ak是否启用,检验ak是否在有效时间范围内,校验ak每分钟/每小时/每天的访问量是否超过管理员设定的最大值,其中,ak校验的步骤可以是在redis中进行处理然后返回结果至网络定位模块,也可以是直接在网络定位模块中进行校验的,本实施例对此不做限制。[0034]在合法的前提下利用des解密算法解析param参数得到数组list《cellbean》和list《wifibean》,其中cellbean对象包括mcc、mnc、lac、cellid字段(缩略解析见名称解释),wifibean包括mac地址,根据解析后的参数,若为基站为将参数拼接为mcc|mnc|lac|cellid这种字符串形式作为key,若为wifi为将mac地址去掉:变为16进制,并将16进制转为十进制后的值作为key,分别从redis里根据key查询是否有wifi、基站坐标数据,如果没有命中则继续从hbase里查询,wifi对应的数据表为network_location_wifi,基站对应的数据表为network_location_cell,将查询到的坐标数据会分别回写到redis,对应的数据值为字符串类型string,,当再次以相同的参数请求服务时,直接从redis获取对应的坐标数据(设置redis数据缓存时间为1天)。[0035]作为实施例,所述数据模块,包括:hive数据仓库、hbase数据库和redis数据库。[0036]其中,所述hive数据仓库,用于按天存储所述无定位移动wifi和/或通信基站信息,并存储最近一周的移动wifi和通信基站的定位数据;所述hbase数据库,用于移动wifi和通信基站的定位数据;所述redis数据库,用于存储所述应用密钥,并对所述网络定位请求中的应用密钥进行合法性校验返回校验结果。[0037]作为实施例,所述网络定位模块,还用于在未获取到所述网络定位请求对应的定位信息时,将所述网络定位请求中的移动wifi和/或通信基站信息设定为无定位的移动wifi和/或通信基站信息,并将其发送至所述基础服务模块,以使所述基础服务模块将所述无定位的移动wifi和/或通信基站信息存储至所述数据模块。[0038]参见图3,图3为本发明提供的网络定位数据清洗架构示意图;网络定位请求中包含有请求的基站和/或wifi的基本信息,若在hbase库中没有则会将wifi或基站写入kafka,通过flink实时消费写入到待抓取的wifi、基站的hive表中。同时部分手持设备的app会周期性扫描附近的wifi、基站数据并将结果存入hive表中,手持设备上报的wifi、基站数据按天过滤掉最近一周已经抓取过的数据。大数据环境下每天会定时通过spark任务读取待抓取hive表中的wifi、基站数据并调用第三方接口获取对应的经纬度坐标,然后批量将数据插入到业务hbase库,以便对外提供高精度的定位服务。[0039]在具体实现中,如基于上述网络定位请求中的移动wifi和/或通信基站信息,2、若在hbase数据表network_location_cell或者network_location_wifi查不到对应的坐标数据,则将该wifi(格式示例为{"mac":"00:00:00:00:04:5f"}或基站信息格式示例为{"mnc":11,"mcc":460,"cellid":2147483647,"lac":2147483647}。分别将消息数据发送给kafka服务的topic分别为unkown_wifi、unkown_cell的主题。[0040]同时,大数据平台flink实时计算引擎分别消费步骤二topic的消息数据,并将json数据解析后分别存入数据仓库引擎hive数据库的unkown_wifi_df(缺失的wifi表)和unkown_cell_df表(缺失的基站表),表按天分区存储。[0041]作为实施例,所述网络定位模块,还用于将移动设备上报的移动wifi和/或通信基站信息进行无定位筛选,将筛选出的无定位移动wifi和/或通信基站信息通过所述数据模块进行存储。[0042]可以理解的是,随着用户的逐步增长,与用户移动设备连接的移动wifi和/或通信基站也会出现不在系统存在对应的定位信息,因此,为了进一步完善系统中的定位数据,本实施例中还可以通过在移动设备上的应用定时上报移动wifi和/或通信基站的信息,然后进行无定位筛选。[0043]应理解的是,上述无定位筛选可以是基于上述移动wifi和/或通信基站信息查询数据模块中的定位信息,若没有查询到对应的定位信息,则设定上述移动wifi和/或通信基站为无定位的移动wifi和/或通信基站信息。[0044]在具体实现中,上述收集移动设备发送的移动wifi和/或通信基站的步骤可以为:a)手持设备app每10分钟定时将附近采集到的wifi信息(主要包括mac地址、latitude、longitude、accuracy)或基站信息主要包括(mcc、mnc、lac、cellid、latitude、longitude、accuracy)发给后端对应接口:http://ip:port/report/wifi或http://ip:port/report/cell。[0045]b)后端服务收到请求后将消息数据发往kafka服务topic为device_wifi、device_cell的主题。[0046]c)flink实时消费b步骤的数据,并将消息数据存入hive数据库的device_wifi_df(设备上报wifi表)和device_cell_df(设备上报基站表),按天存储数据。[0047]作为实施例,所述高精度网络定位系统还包括:大数据平台定时作业模块。[0048]其中,所述大数据平台定时作业模块,用于定时通过第三方接口获取所述hive数据仓库中无定位移动wifi和/或通信基站的定位信息,将所述定位信息存储至所述数据模块中,并定时对所述数据模块中的数据进行数据清洗。[0049]在具体实现中,大数据平台每天凌晨1时定时执行任务,将最近一周已抓取的wifi和基站坐标数据(对应的hive数据表分别为week_wifi和week_cell表)分别与步骤4的wifi和基站通过leftjoin操作,以wifi为例找到在device_wifi_df表存在且不在week_wifi表的数据,即insertintotableunkown_wifi_dfpartition(df=’2022-03-04’)select*from(selectmacfromdevice_wifi_dfwheredf='2022-03-04')aleftjoin(selectmacfromb)bona.mac=b.macwhereb.macisnull;将查询到的数据写入hive的unkown_wifi_df或unkown_cell_df表。[0050]大数据平台定时任务调用spark程序分别读取unkown_wifi_df和unkown_cell_df表数据,调用第三方对外服务的接口(包含但不限于腾讯地图接口、百度地图接口等),示例如http://restlbs.map.qq.com/,部分参数为wifi的mac地址或者基站的mcc、mnc、lac、cellid的四个值返回相应的经纬度和精度分别存入哈希结构的map,变量名分别为wifi_map和cell_map,格式示例:key为mcc|mnc|lac|cellid的值拼接如1|2|344552|123485,value为json字符串{"latitude":30.456324,"longitude":123.659001,"accuracy":124.3}。[0051]同时将存入map的wifi或基站数据,以100个为一组,通过spark程序批量插入hbase库的network_location_wifi和network_location_cell表,以便网络定位服务接口能根据wifi或基站参数获取到经纬度坐标进而提供精准的定位服务,同时将map数据也写入到hive的week_wifi和week_cell表。[0052]大数据平台还可以设定定时任务脚本,每天将hive的week_wifi和week_cell表的数据清洗,去掉一周前的数据,该表只保留最近一周的wifi或基站数据。清除脚本示例如下:insertoverwritetableweek_wifiselect*fromweek_wifiwheredf》='20220101'anddf《='20220107'。[0053]本发明提供的一种高精度网络定位方法、系统、电子设备及存储介质,所述系统包括:网络定位模块、数据模块和基础服务模块。本发明通过基础服务模块对外提供网络定位入口,并将用户通过网络定位入口发送的网络定位请求转发至网络定位模块,网络定位模块基于上述网络定位请求查询数据模块中移动wifi和/或通信基站的定位数据,并将上述定位数据返回至用户,从而通过移动wifi和/或通信基站的定位数据为用户提供了精确的定位服务。同时通过将无定位的移动wifi和/或通信基站,通过第三方接口获取对应的定位数据,将上述定位数据存储至数据库中,从而完善了缺失的移动wifi和/或通信基站的定位数据,进而进一步提高了定位的准确性,大大的提升了用户体验。[0054]请参阅图4,图4为本发明实施例提供的一种高精度网络定位方法流程图,如图4所示,一种高精度网络定位系统,包括:步骤s100:获取用户发送的网络定位请求,基于所述网络定位请求中的服务密钥进行合法性校验;步骤s200:在校验结果为合法时,获取所述网络定位请求中的移动wifi和/或通信基站信息;步骤s300:基于所述移动wifi和/或通信基站信息,获取所述网络定位请求对应的定位信息,并将所述定位信息发送至所述用户。[0055]可以理解的是,本发明提供的一种高精度网络定位方法与前述各实施例提供的高精度网络定位系统相对应,高精度网络定位方法的相关技术特征可参考高精度网络定位系统的相关技术特征,在此不再赘述。[0056]请参阅图5,图5为本发明实施例提供的电子设备的实施例示意图。如图5所示,本发明实施例提供了一种电子设备,包括存储器1310、处理器1320及存储在存储器1310上并可在处理器1320上运行的计算机程序1311,处理器1320执行计算机程序1311时实现以下步骤:获取用户发送的网络定位请求,基于上述网络定位请求中的服务密钥进行合法性校验;在校验结果为合法时,获取上述网络定位请求中的移动wifi和/或通信基站信息;基于上述移动wifi和/或通信基站信息,获取上述网络定位请求对应的定位信息,并将上述定位信息发送至上述用户。[0057]请参阅图6,图6为本发明提供的一种计算机可读存储介质的实施例示意图。如图6所示,本实施例提供了一种计算机可读存储介质1400,其上存储有计算机程序1411,该计算机程序1411被处理器执行时实现如下步骤:获取用户发送的网络定位请求,基于上述网络定位请求中的服务密钥进行合法性校验;在校验结果为合法时,获取上述网络定位请求中的移动wifi和/或通信基站信息;基于上述移动wifi和/或通信基站信息,获取上述网络定位请求对应的定位信息,并将上述定位信息发送至上述用户。[0058]本发明提供的一种高精度网络定位方法、系统、电子设备及存储介质,所述系统包括:网络定位模块、数据模块和基础服务模块。本发明通过基础服务模块对外提供网络定位入口,并将用户通过网络定位入口发送的网络定位请求转发至网络定位模块,网络定位模块基于上述网络定位请求查询数据模块中移动wifi和/或通信基站的定位数据,并将上述定位数据返回至用户,从而通过移动wifi和/或通信基站的定位数据为用户提供了精确的定位服务。同时通过将无定位的移动wifi和/或通信基站,通过第三方接口获取对应的定位数据,将上述定位数据存储至数据库中,从而完善了缺失的移动wifi和/或通信基站的定位数据,进而进一步提高了定位的准确性,大大的提升了用户体验。[0059]需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。[0060]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0061]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0062]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0063]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0064]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。[0065]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献