CN111859187B - 基于分布式图数据库的poi查询方法、装置、设备及介质 - Google Patents

基于分布式图数据库的poi查询方法、装置、设备及介质 Download PDF

Info

Publication number
CN111859187B
CN111859187B CN202010621177.9A CN202010621177A CN111859187B CN 111859187 B CN111859187 B CN 111859187B CN 202010621177 A CN202010621177 A CN 202010621177A CN 111859187 B CN111859187 B CN 111859187B
Authority
CN
China
Prior art keywords
grid
poi
target geographic
pois
different
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
CN202010621177.9A
Other languages
English (en)
Other versions
CN111859187A (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.)
Hangzhou Ouruozhi Technology Co ltd
Original Assignee
Hangzhou Ouruozhi 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 Hangzhou Ouruozhi Technology Co ltd filed Critical Hangzhou Ouruozhi Technology Co ltd
Priority to CN202010621177.9A priority Critical patent/CN111859187B/zh
Publication of CN111859187A publication Critical patent/CN111859187A/zh
Priority to US17/325,245 priority patent/US11500934B2/en
Application granted granted Critical
Publication of CN111859187B publication Critical patent/CN111859187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于分布式图数据库的POI查询方法,涉及大数据分析领域,旨在通过将图和地理位置信息结合存储,实现POI的快速查询。该方法包含以下步骤:获取各POI对应的不同网格ID,其中所述各POI的每个网格ID对应一个网格层级;构建所述各POI到所述不同网格ID的映射关系,将映射关系缓存在图数据库中;接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合;从所述图数据库中查询所述网格ID集合对应的POI集合。本发明还公开了一种基于分布式图数据库的POI查询装置、电子设备和计算机存储介质。

Description

基于分布式图数据库的POI查询方法、装置、设备及介质
技术领域
本发明涉及大数据分析领域,尤其涉及一种基于分布式图数据库的POI查询方法、装置、设备及介质。
背景技术
随着大数据和人工智能的迅猛发展,超大规模关系网络逐步在社交推荐、风险控制、物联网、区块链、安全防控领域被广泛使用,而作为所有这些应用的技术基石之一,大规模分布式关系网络的存储和计算平台越来越受到学术界和工业界的关注。
大规模分布式关系网络通常以数据结构中的图论(Graph)为理论基础,构成图的核心要素有两个:节点(vertex或node,也称为点)以及节点上的属性、关系(edge或者Relationship,也称为边)以及关系上的属性。例如,节点可以对应于社交网络中的个人,其属性可以是邮箱、账号等;关系可以对应于社交网络中的好友关系或者转账关系;关系具有方向性,关系的属性可以是转账金额、时间等。由于图论的节点-关系-属性模型可以非常方便的应用于建模现实世界,所以基于图论的数据库系统受到越来越多的欢迎。
另一方面,由于外卖、打车、快递和旅游等本地生活服务的发展,对于结合地理位置和图论两者的需求得到了极多的关注。例如,在一个消费者-商户模型中,存在有消费者之间的社交互动关系,消费者和商户之间的消费及收藏关系,消费者和商户也各自有地理坐标和行为轨迹。对于商户来说,希望招揽更多新老客户;对于消费者来说,希望找到附近满意的商户。因此在图数据库中增加地理位置信息有着现实的商业意义。
但是,图和地理位置是两种不同的数据模型,通常采用两套不同的数据库服务,一套提供图的计算、查询和存储服务,一套提供地理位置信息服务;直接由业务系统从上述两套系统中获取数据并自行加工,完成图和地理位置的结合,存在以下问题:1.两个系统的数据一致性问题,由于数据加工的时延,两个系统的数据时间戳很大概率不一致,这对于时延敏感的系统是不可接受的;2.存储冗余问题,由于两个系统逻辑是单独的服务,通常部分常用属性会在两套系统中各冗余一份以保证各自的业务逻辑完整性,这导致部分属性的冗余存储;3.多次网络交互,业务系统需要从一个系统中抽取出数据加工分析得到所需再从另外一个系统抽取,这样往复多次,导致整体时延较高;而无法像数据库通常使用的存储过程来提高性能。
为此,亟需一种能同时实现图和地理位置信息存储的方法以实现附近POI的快速查询。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种基于分布式图数据库的POI查询方法,通过将图和地理位置信息结合,能同时满足图和地理位置信息的查询需求,实现快速查询附近POI。
本发明的目的之一采用以下技术方案实现:
一种基于分布式图数据库的POI查询方法,包括以下步骤:
获取各POI对应的不同网格ID,其中所述各POI的每个网格ID对应一个网格层级;
构建所述各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中;
接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;
根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合;
根据所述各POI到所述不同网格ID的映射关系,从所述图数据库中查询所述网格ID集合对应的POI集合。
进一步地,获取各POI对应的不同网格ID,包括:
基于地理位置库,计算各POI在不同网格层级下的网格ID,得到所述各POI对应的不同网格ID;其中,所述网格层级以及所述不同网格层级下的网格ID由所述地理位置库预先定义。
进一步地,构建所述各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中,具体包括以下步骤:
将所述各POI分别作为所述图数据库的POI节点;
将所述各POI对应的不同网格ID分别所述图数据库的网格节点;
在所述各POI节点和所述各POI对应的不同网格节点之间构建一条映射关系,其中所述映射关系的属性为网格层级。
进一步地,构建各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中,具体包括以下步骤:
将所述各POI和对应的不同网格ID分别构建为悬挂关系,并存储在独立的图空间中。
进一步地,接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;包括:
根据预先设置的覆盖方式,计算所述目标地理坐标的目标地理覆盖区域;
其中,所述覆盖方式包括圆覆盖或多边形覆盖。
进一步地,根据预先设置的覆盖方式,计算所述目标地理坐标的目标地理覆盖区域,包括:
根据圆覆盖方式,计算所述目标地理坐标的目标地理覆盖区域时,得到圆心坐标和半径;
根据所述圆心坐标和所述半径构建所述目标地理覆盖区域;
或,
根据多边形覆盖方式,计算所述地理坐标的地理覆盖区域时,得到多边形的各顶点坐标,根据所述各顶点坐标构建所述目标地理覆盖区域。
进一步地,根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合,包括:
基于所述地理位置库,根据预先设置的目标网格层级,计算所述目标地理覆盖区域的网格ID;
其中,所述地理位置库为google s2,所述地理位置库预先定义有30个网格层级,每个地理坐标在每个网格层级均具有一个网格ID。
本发明的目的之二在于提供一种基于分布式图数据库的POI查询装置,通过将图和地理位置结合,实现快速查询POI。
本发明的目的之二采用以下技术方案实现:
一种基于分布式图数据库的POI查询装置,包括:
网格ID求取模块,用于获取各POI对应的不同网格ID,其中所述各POI的每个网格ID对应一个网格层级;
映射构建模块,用于构建所述各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中;
区域求取模块,用于接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;
集合求取模块,用于根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合;
POI查询模块,用于根据所述各POI到所述不同网格ID的映射关系,从所述图数据库中查询所述网格ID集合对应的POI集合。
本发明的目的之三在于提供执行发明目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的基于分布式图数据库的POI查询方法。
本发明的目的之四在于提供存储发明目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于分布式图数据库的POI查询方法。
相比现有技术,本发明的有益效果在于:
本发明通过建立不同网格层级下POI和其地理位置的映射关系,并将映射关系存储在图数据库中,实现在图数据库中增加地理位置,能满足从一个数据库服务中同时对地理位置数据和图数据的获取,从而实现对附近POI的快速查询,能降低交互次数和处理时延。
附图说明
图1是本发明基于分布式图数据库的POI查询方法的流程图;
图2是实施例2的基于分布式图数据库的POI查询装置的结构框图;
图3是实施例3的电子设备的结构框图。
具体实施方式
以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。
实施例1
本实施例提供了一种基于分布式图数据库的POI查询方法,旨在同时满足图和地理位置信息的查询需求,以实现快速查询附近POI。
如图1所示,基于分布式图数据库的POI查询方法,具体包括以下步骤:
获取各POI对应的不同网格ID,其中所述各POI的每个网格ID对应一个网格层级;
构建所述各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中;
接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;
根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合;
根据所述各POI到所述不同网格ID的映射关系,从所述图数据库中查询所述网格ID集合对应的POI集合。
本实施例的基于分布式图数据库的POI查询方法应用于业务系统,该业务系统在服务器运行,用于为远程终端提供服务。
上述图数据库,用于存储POI数据和POI对应的地理位置信息,本实施例采用的是基于开源的分布式数据库Nebula Graph作为图数据库,在其他实施例中也可采用其他图数据库,具体图数据库的选择不会影响本发明方法的执行,因此不对图数据库作具体限定。
Nebula Graph图数据库中的一个图由以下两种图元素组成:
(1)节点及节点的属性;
(2)关系及关系的属性。
在实际应用中,节点和关系具有多个属性,通常用来描述节点和关系的属性,其中,悬挂边是指一个关系的两端连接的节点未制定,也可称为悬挂关系。
本实施例的基于分布式图数据库的POI查询方法,求解各POI对应的不同网格ID时,基于将地球表面根据不同切割层次切割为网格的原理,每个切割层次(即上述网格层级)由不同大小的正方形网格(cell)组成,因此网格层级决定了网格的精度,网格层级越高,网格越多。每个网格均被赋予一个唯一ID,即网格ID。每个地图上的经纬度坐标,在不同网格层级下对应一系列能覆盖该经纬度坐标的网格ID。因此对应一个POI来说,根据其在地图上具有经纬度坐标(地理位置信息),将对应不同网格ID。
根据所述各POI对应的不同网格ID,分别构建所述各POI到其不同网格ID的映射关系,然后将所述映射关系缓存在图数据库中,即将映射关系构成的关系网络写入图数据库。
在将映射关系写入图数据库后,接收目标地理坐标,该目标地理坐标由终端发送,该终端可以为手机、智能手表、平板电脑等具有GPS功能和网络传输功能的智能设备,该终端上可安装打车、美食推荐等生活服务应用,用户可在应用内利用终端自带的GPS定位功能或手动输入地理位置,得到上述目标地理位置坐标。业务系统接收到该目标地理坐标,可根据所述目标地理坐标计算覆盖该目标地理坐标的区域,得到目标地理覆盖区域,即将目标地理坐标周围的地理区域进行拼接,形成所述目标地理覆盖区域。
因不同的生活服务应用对定位的精度要求不同,因此,业务系统会根据不同应用,预先设置对应所述不同应用的网格层级,以获取所述目标地理覆盖区域的网格ID集合,即将目标覆盖区域内包含符合预先设置的网关覆盖层级的网格ID组成集合。
最后,从所述图数据库中通过图遍历的方式,查询与该网格ID集合中的网格ID存在映射关系的POI,组成POI集合,该POI集合即为目标地理坐标附近的POI,从而实现查询附近POI。
需要注意的是,因网格层级越高,划分的网格越多,因此查找和计算也就越慢,且本业务系统对接的本地生活服务类的应用,采用厘米级别的网格层级(level)没有意义,因此本实施例选用的目标网格层级大约在7km~27m之间,可保证业务场景(不同生活服务类应用)的需求和数据库性能两者的平衡。
本实施例通过将POI和网格ID之间的映射关系存储在图数据库中,实现将包含POI的图和地理位置信息同时存储在一个数据库服务中,能保证数据的一致性,也可避免通过两个数据库服务存储交互数据导致的存储冗余问题。在进行附近POI查询时,因为只涉及与一个数据库的交互,降低了交互次数,从而降低了业务系统的处理时延,提高了查找附近POI的速度,进而能提高用户体验。
优选地,获取各POI对应的不同网格ID,包括:
基于地理位置库,计算各POI在不同网格层级下的网格ID,得到所述各POI对应的不同网格ID;其中,所述网格层级以及所述不同网格层级下的网格ID由所述地理位置库预先定义。
本实施例采用Google开源的Google S2地理位置库,基于Google S2地理位置库计算各POI在不同网格层级下的网格ID时,采用地理位置库自带的算法,通过可将地球表面切割成30个层次的level(等同于上述网格层级),每个level又由不同大小的正方形cell(等同于上述网格),Google S2将预先为每个cell赋予一个唯一标识,即上述网格ID。因此,一旦选定一个level,google s2将整个地球表面划分成一系列的cell,每个cell均被googles2赋予一个唯一的ID(网格ID),假如选定的level=20,则一个cell大约覆盖的面积是77.32平方米。
需要注意的是,因level的不同,同一个经纬度坐标基于不同的level,将落在不同的cell内。该level决定了cell的精度,每个地理上的点都会落在一个cell中,例如要求取某个地理位置上的点附近5km的商家,需要先指定level,再求取该level下,附近的所有cell的组合(所有cell可以拼接成一个近似的圆)。因此给定一个经纬度坐标(地理上的点),如(30.28522 120.01338),基于Google S2地理位置库,可以计算出覆盖该点的网格ID,由于覆盖网格的层级不同,通过计算可以得到一系列能覆盖该点的网格ID,如cellid1,cell id2等等,每个网格ID对应一个google s2的level。
因采用Google S2地理位置库,其网格层级(level)总共为30,但是考虑本发明的实际业务应用,本实施例选择的网格层级大约在7km~27m之间,对应Google S2的最小网格层级为10,最大网格层级是18。又因不同类型的生活服务类应用对定位精度的要求不一样,比如“打车”和“附近的小吃”两种地理位置查询请求,对于定位精度的要求肯定是不同的。因此,业务系统为不同的生活服务类应用预先设置不同网格层级(上述目标网格),介于10-18之间。
由于单独计算一次google s2算法比较浪费计算资源,当POI的数量有限且其坐标不变时(一般提供本地生活服务的商家,其坐标不会变化),为减少计算时间,可以预先将POI到不同网格ID的映射关系缓存在上述图数据库中,以实现实时查询访问,避免在线实时计算,提高查询效率。
优选地,构建所述各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中,具体包括以下步骤:
将所述各POI分别作为所述图数据库的POI节点;
将所述各POI对应的不同网格ID分别所述图数据库的网格节点;
在所述各POI节点和所述各POI对应的不同网格节点之间构建一条映射关系,其中所述映射关系的属性为网格层级。
例如,一个经纬度坐标(30.28522 120.01338),在本申请中选用的level是10~18,那么可以理解为google s2计算出对应的level 10的cellid10是1298739451,googles2计算出对应的level 11的cellid11是1312312313。即一个POI节点对应多个网格节点,该POI节点与对应的网格之间的关系为网关层级。
此外,为避免在原图中引入新的图元素(上述网格节点),导致图遍历性能的下降,采用以下方式:
优选地,构建各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中,具体包括以下步骤:
将所述各POI和对应的不同网格ID分别构建为悬挂关系,并存储在独立的图空间中。
POI的属性除了地理坐标之外,通常还有一系列其他属性,例如name。没有必要将POI的不同属性存储在两个图空间中,因此悬挂边将POI的属性存储在同一个图空间中。其次,根据分布式数据库Nebula Graph的分布式设计原理,出边和起点存储在同一台服务器的同一个partition中,这样可以避免一次远程网络请求,有助于节约网络资源。
优选地,接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;包括:
根据预先设置的覆盖方式,计算所述目标地理坐标的目标地理覆盖区域;
其中,所述覆盖方式包括圆覆盖或多边形覆盖。
优选地,根据预先设置的覆盖方式,计算所述目标地理坐标的目标地理覆盖区域,包括:
根据圆覆盖方式,计算所述目标地理坐标的目标地理覆盖区域时,得到圆心坐标和半径;
根据所述圆心坐标和所述半径构建所述目标地理覆盖区域;
或,
根据多边形覆盖方式,计算所述地理坐标的地理覆盖区域时,得到多边形的各顶点坐标,根据所述各顶点坐标构建所述目标地理覆盖区域。
业务系统可以预先为应用设置覆盖方式,以在实际应用时得到不同形状的目标覆盖区域。
优选地,根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合,包括:
基于所述地理位置库,根据预先设置的目标网格层级,计算所述目标地理覆盖区域的网格ID;
其中,所述地理位置库为google s2,所述地理位置库预先定义有30个网格层级,每个地理坐标在每个网格层级均具有一个网格ID。
本实施例基于google s2地理位置库计算该目标地理覆盖区域的网格集合,得到网格ID集合,通过网格ID集合中的网格ID可以在图数据库中遍历到与之存在映射关系的POI,从而实现POI的查询。
实施例2
本实施例公开了一种对应实施例1的基于分布式图数据库的POI查询方法的装置,为虚拟结构装置,在本实施例中,如图2所示,包括:
网格ID求取模块210,用于获取各POI对应的不同网格ID,其中所述各POI的每个网格ID对应一个网格层级;
映射构建模块220,用于构建所述各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中;
区域求取模块230,用于接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;
集合求取模块240,用于根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合;
POI查询模块250,用于根据所述各POI到所述不同网格ID的映射关系,从所述图数据库中查询所述网格ID集合对应的POI集合。
本实施例的网格ID求取模块210、区域求取模块230和集合求取模块240均基于Google S2地理位置库完成相关计算并从Google S2地理位置库中获取相关计算结果,本实施例所述的图数据库为分布式数据库Nebula Graph。
实施例3
图3为本发明实施例3提供的一种电子设备的结构示意图,如图3所示,该电子设备包括处理器310、存储器320、输入装置330和输出装置340;计算机设备中处理器310的数量可以是一个或多个,图3中以一个处理器310为例;电子设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例1中所述的基于分布式图数据库的POI查询方法对应的程序指令/模块(例如,基于分布式图数据库的POI查询装置中的网格ID求取模块210、映射构建模块220、区域求取模块230、集合求取模块240和POI查询模块250)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现实施例1的基于分布式图数据库的POI查询方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可接收通过输入设备输入的坐标数据等。输出装置340可包括显示屏等显示设备。
实施例4
本发明实施例4还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现基于分布式图数据库的POI查询方法,该方法包括:
获取各POI对应的不同网格ID,其中所述各POI的每个网格ID对应一个网格层级;
构建所述各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中;
接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;
根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合;
根据所述各POI到所述不同网格ID的映射关系,从所述图数据库中查询所述网格ID集合对应的POI集合。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于分布式图数据库的POI查询方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述基于分布式图数据库的POI查询方法或装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

Claims (9)

1.一种基于分布式图数据库的POI查询方法,其特征在于,应用于业务系统,所述业务系统在服务器运行,用于为远程终端提供服务,包括以下步骤:
获取各POI对应的不同网格ID,其中所述各POI的每个网格ID对应一个网格层级;
构建所述各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中;
接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;
根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合;
根据所述各POI到所述不同网格ID的映射关系,从所述图数据库中查询所述网格ID集合对应的POI集合;其中,从所述图数据库中通过图遍历的方式,查询与所述网格ID集合中的网格ID存在映射关系的POI,组成POI集合,所述POI集合为所述目标地理坐标附近的POI,实现查询附近POI;
其中,每个地图上的经纬度坐标,在不同网格层级下对应一系列能覆盖所述经纬度坐标的网格ID,根据POI在地图上具有经纬度坐标,将对应不同网格ID;
构建各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中,具体包括以下步骤:将所述各POI和对应的不同网格ID分别构建为悬挂关系,并存储在独立的图空间中;其中,所述悬挂关系将POI的属性存储在同一个图空间中,根据分布式图数据库的分布式设计原理,出边和起点存储在同一台服务器的同一个partition中;
其中,所述业务系统为不同的生活服务类应用预先设置不同网格层级,不同类型的生活服务类应用对定位精度的要求不一样。
2.如权利要求1所述的基于分布式图数据库的POI查询方法,其特征在于,获取各POI对应的不同网格ID,包括:
基于地理位置库,计算各POI在不同网格层级下的网格ID,得到所述各POI对应的不同网格ID;其中,所述网格层级以及所述不同网格层级下的网格ID由所述地理位置库预先定义。
3.如权利要求1所述的基于分布式图数据库的POI查询方法,其特征在于,构建所述各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中,具体包括以下步骤:
将所述各POI分别作为所述图数据库的POI节点;
将所述各POI对应的不同网格ID分别所述图数据库的网格节点;
在所述各POI节点和所述各POI对应的不同网格节点之间构建一条映射关系,其中所述映射关系的属性为网格层级。
4.如权利要求1所述的基于分布式图数据库的POI查询方法,其特征在于,接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;包括:
根据预先设置的覆盖方式,计算所述目标地理坐标的目标地理覆盖区域;
其中,所述覆盖方式包括圆覆盖或多边形覆盖。
5.如权利要求4所述的基于分布式图数据库的POI查询方法,其特征在于,根据预先设置的覆盖方式,计算所述目标地理坐标的目标地理覆盖区域,包括:
根据圆覆盖方式,计算所述目标地理坐标的目标地理覆盖区域时,得到圆心坐标和半径;
根据所述圆心坐标和所述半径构建所述目标地理覆盖区域;
或,
根据多边形覆盖方式,计算所述地理坐标的地理覆盖区域时,得到多边形的各顶点坐标,根据所述各顶点坐标构建所述目标地理覆盖区域。
6.如权利要求2所述的基于分布式图数据库的POI查询方法,其特征在于,根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合,包括:
基于所述地理位置库,根据预先设置的目标网格层级,计算所述目标地理覆盖区域的网格ID;
其中,所述地理位置库为google s2,所述地理位置库预先定义有30个网格层级,每个地理坐标在每个网格层级均具有一个网格ID。
7.一种基于分布式图数据库的POI查询装置,其特征在于,应用于业务系统,所述业务系统在服务器运行,用于为远程终端提供服务,包括:
网格ID求取模块,用于获取各POI对应的不同网格ID,其中所述各POI的每个网格ID对应一个网格层级;
映射构建模块,用于构建所述各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中;
区域求取模块,用于接收目标地理坐标,根据所述目标地理坐标获取目标地理覆盖区域;
集合求取模块,用于根据预先设置的目标网格层级,获取所述目标地理覆盖区域的网格ID集合;
POI查询模块,用于根据所述各POI到所述不同网格ID的映射关系,从所述图数据库中查询所述网格ID集合对应的POI集合;其中,从所述图数据库中通过图遍历的方式,查询与所述网格ID集合中的网格ID存在映射关系的POI,组成POI集合,所述POI集合为所述目标地理坐标附近的POI,实现查询附近POI;
其中,每个地图上的经纬度坐标,在不同网格层级下对应一系列能覆盖所述经纬度坐标的网格ID,根据POI在地图上具有经纬度坐标,将对应不同网格ID;
构建各POI到所述不同网格ID的映射关系,将所述映射关系缓存在图数据库中,具体包括以下步骤:将所述各POI和对应的不同网格ID分别构建为悬挂关系,并存储在独立的图空间中;其中,所述悬挂关系将POI的属性存储在同一个图空间中,根据分布式图数据库的分布式设计原理,出边和起点存储在同一台服务器的同一个partition中;
其中,所述业务系统为不同的生活服务类应用预先设置不同网格层级,不同类型的生活服务类应用对定位精度的要求不一样。
8.一种电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的基于分布式图数据库的POI查询方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的基于分布式图数据库的POI查询方法。
CN202010621177.9A 2020-06-30 2020-06-30 基于分布式图数据库的poi查询方法、装置、设备及介质 Active CN111859187B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010621177.9A CN111859187B (zh) 2020-06-30 2020-06-30 基于分布式图数据库的poi查询方法、装置、设备及介质
US17/325,245 US11500934B2 (en) 2020-06-30 2021-05-20 POI recommendation method and device based on graph database, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010621177.9A CN111859187B (zh) 2020-06-30 2020-06-30 基于分布式图数据库的poi查询方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN111859187A CN111859187A (zh) 2020-10-30
CN111859187B true CN111859187B (zh) 2024-02-20

Family

ID=72988995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010621177.9A Active CN111859187B (zh) 2020-06-30 2020-06-30 基于分布式图数据库的poi查询方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN111859187B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360586B (zh) * 2021-06-03 2024-05-03 深圳前海微众银行股份有限公司 地址聚集度查询方法、装置、设备及计算机可读存储介质
CN113660345A (zh) * 2021-08-23 2021-11-16 上海微盟企业发展有限公司 一种快速定位方法、系统、装置及计算机可读存储介质
CN114596048A (zh) * 2022-01-19 2022-06-07 北京吉威数源信息技术有限公司 基于空间位置的关联数据查询方法、装置、设备
CN114820960B (zh) * 2022-04-18 2022-12-16 北京百度网讯科技有限公司 构建图谱的方法、装置、设备和介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004793A (zh) * 2010-12-08 2011-04-06 厦门雅迅网络股份有限公司 一种基于网格空间的poi位置查询索引文件及进行信息查询的方法
CN102651005A (zh) * 2011-02-24 2012-08-29 北京千橡网景科技发展有限公司 兴趣点搜索方法以及设备
CN103729802A (zh) * 2013-12-20 2014-04-16 深圳供电局有限公司 基于电网设备地理信息分层索引的快速定位方法及装置
CN103970835A (zh) * 2014-04-09 2014-08-06 方正国际软件有限公司 一种矢量地图数据存储方法及系统
CN105404685A (zh) * 2015-12-09 2016-03-16 中国农业银行股份有限公司 一种电子地图空间查询方法及系统
WO2016095749A1 (zh) * 2014-12-18 2016-06-23 高德软件有限公司 电子地图中查询空间对象和建立空间索引的方法及装置
CN106156138A (zh) * 2015-04-10 2016-11-23 高德软件有限公司 兴趣点的空间索引的建立、周边搜索方法和装置
CN107153711A (zh) * 2017-05-19 2017-09-12 北京旋极伏羲大数据技术有限公司 地理信息数据处理方法及装置
CN108920462A (zh) * 2018-06-29 2018-11-30 北京奇虎科技有限公司 基于地图的兴趣点poi检索方法和装置
CN109033432A (zh) * 2018-08-13 2018-12-18 北京车和家信息技术有限公司 一种兴趣点显示方法及终端设备
CN109992636A (zh) * 2019-03-22 2019-07-09 中国人民解放军战略支援部队信息工程大学 时空编码方法、时空索引及查询方法及装置
WO2019137369A1 (zh) * 2018-01-12 2019-07-18 阿里巴巴集团控股有限公司 基于地理位置的poi检索方法和装置
CN110569292A (zh) * 2019-07-30 2019-12-13 深圳市跨越新科技有限公司 基于电子地图的数据标注方法及系统
CN111008255A (zh) * 2019-10-16 2020-04-14 中国平安财产保险股份有限公司 违章地点识别方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100082242A1 (en) * 2008-10-01 2010-04-01 Park Jong Am System and method for intuitive poi (point of interests) map search
US8458173B2 (en) * 2009-12-15 2013-06-04 Mapquest, Inc. Computer-implemented methods and systems for multi-level geographic query
US10331710B2 (en) * 2015-10-01 2019-06-25 Microsoft Technology Licensing, Llc Partitioning of geographic data

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004793A (zh) * 2010-12-08 2011-04-06 厦门雅迅网络股份有限公司 一种基于网格空间的poi位置查询索引文件及进行信息查询的方法
CN102651005A (zh) * 2011-02-24 2012-08-29 北京千橡网景科技发展有限公司 兴趣点搜索方法以及设备
CN103729802A (zh) * 2013-12-20 2014-04-16 深圳供电局有限公司 基于电网设备地理信息分层索引的快速定位方法及装置
CN103970835A (zh) * 2014-04-09 2014-08-06 方正国际软件有限公司 一种矢量地图数据存储方法及系统
CN105786822A (zh) * 2014-12-18 2016-07-20 高德软件有限公司 电子地图中查询空间对象和建立空间索引的方法及装置
WO2016095749A1 (zh) * 2014-12-18 2016-06-23 高德软件有限公司 电子地图中查询空间对象和建立空间索引的方法及装置
CN106156138A (zh) * 2015-04-10 2016-11-23 高德软件有限公司 兴趣点的空间索引的建立、周边搜索方法和装置
CN105404685A (zh) * 2015-12-09 2016-03-16 中国农业银行股份有限公司 一种电子地图空间查询方法及系统
CN107153711A (zh) * 2017-05-19 2017-09-12 北京旋极伏羲大数据技术有限公司 地理信息数据处理方法及装置
WO2019137369A1 (zh) * 2018-01-12 2019-07-18 阿里巴巴集团控股有限公司 基于地理位置的poi检索方法和装置
CN108920462A (zh) * 2018-06-29 2018-11-30 北京奇虎科技有限公司 基于地图的兴趣点poi检索方法和装置
CN109033432A (zh) * 2018-08-13 2018-12-18 北京车和家信息技术有限公司 一种兴趣点显示方法及终端设备
CN109992636A (zh) * 2019-03-22 2019-07-09 中国人民解放军战略支援部队信息工程大学 时空编码方法、时空索引及查询方法及装置
CN110569292A (zh) * 2019-07-30 2019-12-13 深圳市跨越新科技有限公司 基于电子地图的数据标注方法及系统
CN111008255A (zh) * 2019-10-16 2020-04-14 中国平安财产保险股份有限公司 违章地点识别方法、装置、电子设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Web GIS路径规划关键技术研究;刘灿;《中国优秀硕士学位论文全文数据库 基础科学辑》;20141215(第12期);A008-23 *
基于Geohash的面数据区域查询;金安 等;《地理与地理信息科学》;20130915;第29卷(第05期);31-35 *
基于全球剖分网格的空间数据编码方法;金安 等;《测绘科学技术学报》;第30卷(第03期);284-287 *
基于网格的空间数据分布式查询技术研究;陈晓斌 等;《测绘工程》;20121225;第21卷(第06期);16-21 *

Also Published As

Publication number Publication date
CN111859187A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111859187B (zh) 基于分布式图数据库的poi查询方法、装置、设备及介质
CN101370025A (zh) 地理信息数据的存储方法、调度方法及管理系统
KR20160100809A (ko) 목표 주소를 확정하기 위한 방법 및 장치
CN104254865A (zh) 凭经验的专家确定和问题路由系统和方法
CN106341471A (zh) 用于位置服务的周边目标地理信息获取和搜索方法
CN103884345A (zh) 兴趣点信息采集方法、显示方法、装置及系统
CN107423998B (zh) 一种基于SaaS平台的可视化销售数据管理方法及系统
CN105989087B (zh) 一种确定热点区域的方法和装置
US9734162B2 (en) Geospatial queries using associated distribution data
US11500934B2 (en) POI recommendation method and device based on graph database, and storage medium
Ding et al. SeaCloudDM: a database cluster framework for managing and querying massive heterogeneous sensor sampling data
CN106202378A (zh) 一种流式气象数据的快速处理方法及系统
CN109739943A (zh) 面向自然资源矢量地表覆盖变化统计处理方法
CN106162544A (zh) 一种地理围栏的生成方法和设备
US20140114958A1 (en) Method and system for calculating number of users
CN104301354A (zh) 一种基于云计算的空间类业务数据gis化服务的实现方法和系统
CN105096062A (zh) Cors应用管理系统
Goldin et al. Georouting and delta-gathering: Efficient data propagation techniques for geosensor networks
CN107463559A (zh) 一种企业位置信息获取分析及存储系统
CN110674134B (zh) 一种地理信息数据存储方法、查询方法及装置
Chandio et al. An approach for map-matching strategy of GPS-trajectories based on the locality of road networks
CN109241207B (zh) 一种在地图上显示数据的方法及装置
US20220207796A1 (en) Processing Geospatial Data
CN206117732U (zh) 一种地图数据服务器系统
CN104462467B (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wu Min

Inventor after: Chen Pengwei

Inventor after: Ye Xiaomeng

Inventor before: Wu Min

Inventor before: Chen Pengwei

Inventor before: Ye Xiaomeng

GR01 Patent grant
GR01 Patent grant