CN109063194A - 基于空间编码的数据检索方法及装置 - Google Patents
基于空间编码的数据检索方法及装置 Download PDFInfo
- Publication number
- CN109063194A CN109063194A CN201811007474.3A CN201811007474A CN109063194A CN 109063194 A CN109063194 A CN 109063194A CN 201811007474 A CN201811007474 A CN 201811007474A CN 109063194 A CN109063194 A CN 109063194A
- Authority
- CN
- China
- Prior art keywords
- data
- spatial data
- encoded radio
- retrieved
- spatial
- 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.)
- Pending
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提供一种基于空间编码的数据检索方法及装置,涉及海量空间数据处理技术领域。该基于空间编码的数据检索方法包括:获取待检索的空间数据;采用空间数据编码算法将所述待检索的空间数据转换成待检索编码值;根据所述待检索编码值,计算检索行键;确定所述检索行键在预设非关系型数据库中对应的目标编码值位置;根据所述目标编码值位置,在所述预设非关系型数据库中读取目标编码值,获取所述目标编码值对应的空间数据。本申请通过空间编码算法将空间数据转换为编码值,利用编码值在非关系型数据库中构建空间索引,从而有效提高了空间数据的检索分析效率。
Description
技术领域
本发明涉及海量空间数据处理技术领域,具体而言,涉及一种基于空间编码的数据检索方法及装置。
背景技术
信息技术的快速发展,使得海量空间数据的存储和空间查询时效性面临巨大的挑战。大数据技术的日趋发展为海量空间数据的存储与查询提供解决思路。但现有的海量空间数据的研究大多停留在解决数据存储的层面上,在海量空间数据的查询及分析效率方面并不能较好的满足于生产需求。如何在现有的大数据存储方案的基础上解决空间数据的查询及分析效率的问题,是目前业界亟待解决的问题。
现有技术中,非关系型数据库HBase在分布式存储及查询方面都有很好的表现。因此在一些行业应用场景中也会采用HBase用于空间数据的存储。
由于HBase是面向列的数据库,传统的关系型数据库的空间索引方式很难应用于HBase中,这在很大程度上影响了空间数据的查询与分析效率。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种基于空间编码的数据检索方法及基于空间编码的数据检索装置,以解决在HBase中应用传统构建空间索引的方法进行空间数据检索时,检索效率低的问题,另外,也解决了HBase中数据量冗余问题。
为实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种基于空间编码的数据检索方法,包括:获取待检索的空间数据;采用空间数据编码算法将待检索的空间数据转换成待检索编码值;根据待检索编码值,计算检索行键;确定检索行键在预设非关系型数据库中对应的目标编码值位置;根据目标编码值位置,在预设非关系型数据库中读取目标编码值,获取目标编码值对应的空间数据。
进一步地,上述获取待检索的空间数据之前,还包括:获取待存储的空间数据集合,该空间数据集合包括:多个空间数据;采用空间数据编码算法将上述空间数据集合中每个空间数据转换成对应的待存储编码值;获取每个待存储编码值对应的行键;将待存储编码值以及上述行键,写入所述预设非关系型数据库中。
进一步地,上述采用空间数据编码算法将空间数据集合中每个空间数据转换成对应的待存储编码值,包括:获取空间数据集合中每个空间数据对应的图形数据;计算每个图形数据的最小外接矩形,且根据预设编码规则获取每个所述图形数据对应的标识;依据该最小外接矩形的顶点坐标信息对图形数据进行递归编码,获取每个图形数据对应的待存储编码值。
进一步地,上述计算获取每个待存储编码值对应的行键,包括:根据上述空间数据集合中空间数据量的大小,对预设非关系型数据库中的存储空间进行预分区,得到多个空间存储单元;根据每个空间存储单元的分区号、以及每个空间存储单元对应的待存储编码值,计算每个待存储编码值对应的行键。
进一步地,上述确定检索行键在预设非关系型数据库中对应的目标编码值位置之前,还包括:根据检索行键,在所述预设非关系型数据库中获取与待检索编码值匹配的编码值集合;根据每个所述图形数据对应的标识,将与所述待检索空间数据匹配的编码值集合中,重复的图形数据进行滤除、保留其中的一份图形数据。
第二方面,本申请实施例提供了一种基于空间编码的数据检索装置,该装置包括:获取模块,用于获取待检索的空间数据;计算模块,用于采用空间数据编码算法将待检索的空间数据转换成待检索编码值;根据待检索编码值,计算检索行键;匹配模块,用于确定检索行键在预设非关系型数据库中对应的目标编码值位置;确定模块,用于根据目标编码值位置,在预设非关系型数据库中读取目标编码值,获取目标编码值对应的空间数据。
进一步地,还包括:存储模块;获取模块,还用于获取待存储的空间数据集合,空间数据集合包括:多个空间数据;计算模块,还用于采用空间数据编码算法将空间数据集合中每个空间数据转换成对应的待存储编码值;获取每个待存储编码值对应的行键;存储模块,用于将待存储编码值以及行键,写入预设非关系型数据库中。
进一步地,计算模块,具体用于获取空间数据集合中每个空间数据对应的图形数据;计算每个图形数据的最小外接矩形,且根据预设编码规则获取每个图形数据对应的标识;依据最小外接矩形的顶点坐标信息对图形数据进行递归编码,获取每个图形数据对应的待存储编码值。
进一步地,计算模块,具体用于根据空间数据集合中空间数据量的大小,对预设非关系型数据库中的存储空间进行预分区,得到多个空间存储单元;根据每个空间存储单元的分区号、以及每个空间存储单元对应的待存储编码值,计算每个待存储编码值对应的行键。
进一步地,还包括去重模块,去重模块,用于根据检索行键,在预设非关系型数据库中获取与待检索编码值匹配的编码值集合;根据每个所述图形数据对应的标识,将与所述待检索空间数据匹配的编码值集合中,重复的图形数据进行滤除、保留其中的一份图形数据。
本发明的有益效果是:通过空间编码算法将空间数据转换为编码值,利用编码值在非关系型数据库中构建空间索引,从而有效提高了空间数据的检索分析效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的基于空间编码的数据检索方法流程示意图;
图2为本申请实施例提供的基于空间编码构建空间索引方法流程示意图;
图3为本申请实施例提供的基于空间编码进行数据编码方法流程示意图;
图4为本申请实施例提供的空间编码方法原理示意图;
图5为本申请实施例提供的HBase表预分区方法流程示意图;
图6为本申请实施例提供的HBase预分区原理示意图;
图7为本申请实施例提供的空间数据去重方法流程示意图一;
图8为本申请实施例提供的空间数据去重方法流程示意图二;
图9为本申请一实施例提供的基于空间编码的数据检索装置结构示意图;
图10为本申请另一实施例提供的基于空间编码的数据检索装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
第一实施例
图1为本申请实施例提供的基于空间编码的数据检索方法流程示意图,该方法可以由计算机、或服务器等设备执行,但不具体限制。如图1所示,该基于空间编码的数据检索方法包括:
S101、获取待检索的空间数据。
可以是用户通过检索界面输入待检索的空间数据。
S102、采用空间数据编码算法将待检索的空间数据转换成待检索编码值。
可选地,本实施例采用四分编码方式对空间矢量数据进行编码,通过四分编码能够方便快速的获取图形数据中点状数据、线状数据及面状数据的编码值,同时,编码值的长度也可根据实际情况进行调整。
S103、根据待检索编码值,计算检索行键。
S104、确定检索行键在预设非关系型数据库中对应的目标编码值位置。
需要说明的是,本申请实施例中所述的预设非关系型数据库可以为HBase数据库,待检索的编码值与检索行键是一一对应关系。HBase作为一种面向列的分布式数据库,通过在HBase中创建检索行键,以该检索行键为索引,能实现空间数据的快速检索,且准确率较高,而无需通过对HBase中的每一个数据进行遍历来进行数据检索,浪费时间且效率相对较低。
需要说明的是,HBase数据库是以区作为基本操作单元的,HBase中存储的数据被分布在多个不同区中,通过检索行键可引导用户在HBase中相应的区中对待检索的空间数据进行快速检索,另外,检索行键中还包含了待检索数据的编码值信息,通过该编码值信息,可在相应区中获取对应的目标编码值位置。
S105、根据目标编码值位置,在预设非关系型数据库中读取目标编码值,获取目标编码值对应的空间数据。
具体地,在目标编码值位置存储有待检索数据的编码值,通过该待检索数据的编码值,可获取与该编码值对应的空间数据,也即待检索的空间数据。
本实施例中通过空间编码算法将空间数据转换为编码值,利用编码值在非关系型数据库中构建空间索引,从而有效提高了空间数据的检索分析效率。
进一步地,图2为本申请实施例提供的基于空间编码构建空间索引方法流程示意图,如图2所示,上述获取待检索的空间数据之前,还会预先建立上述预设非关系型数据库。例如可以包括:
S201、获取待存储的空间数据集合,该空间数据集合包括:多个空间数据。
S202、采用空间数据编码算法将上述空间数据集合中每个空间数据转换成对应的待存储编码值。
S203、获取每个待存储编码值对应的行键。
需要说明的是,HBase中存储了海量的空间数据,要从这些海量数据中查找需要的数据,就需对这些数据构建空间索引,利用索引去在HBase中进行查找,能有效的提高数据的检索效率。
具体地,采用和前述相同的空间编码算法对HBase中所有空间数据进行编码,获取空间数据对应的编码值,根据所述编码值,获取编码值相应的行键,其中,每一个编码值与行键均是一一对应的。
S204、将待存储编码值以及上述行键,写入所述预设非关系型数据库中。
此处,将上述获取的编码值和行键均添加到HBase中,在进行数据检索的时候,通过待检索数据的编码值,在HBase中找到与其对应的行键,根据行键的位置指引,找到与待检索数据的编码值匹配的编码值,从而获取到该编码值对应的空间数据,也即待检索的数据,该数据最终被发送给用户。
需要说明的是,上述步骤即为根据待检索空间数据的编码值,在HBase中构建空间索引的过程,索引构建完成后,即可根据索引在HBase中快速的进行数据检索。
进一步地,图3为本申请实施例提供的基于空间编码进行数据编码方法流程示意图,如图3所示,上述采用空间数据编码算法将空间数据集合中每个空间数据转换成对应的待存储编码值,包括:
S301、获取空间数据集合中每个空间数据对应的图形数据。
需要说明的是,图形数据是由二维点坐标或者二维点坐标的集合组成。
S302、计算每个图形数据的最小外接矩形,且根据预设编码规则获取每个所述图形数据对应的标识。
图4为本申请实施例提供的空间编码方法原理示意图,如图4所示,计算每个图形数据最小外接矩形是为了获取该最小外接矩形对应的数据,先用平面直角坐标系将空间划分为四个象限,并对各个象限进行编号。例如以全球矩形范围(-180,90,180,-90)为基准格网(可根据具体应用场景调整矩形范围),对上述四个象限的每部分进行四分,依次类推,对整个空间逐级四分,每个细分的小区域均在其上级区域标号的基础上进行编号,如此求取每个图形数据的最小外接矩形数据。
例如,如图4中所示,第一级格网编号为(1,2,3,4),第二级格网编号为(11,12,13,14,21,22,23,24,31,32,33,34,41,42,43,44),依次类推。
需要说明的是,当格网划分到一定的级别后,图形数据的编码长度,尤其是线状数据和面状数据的编码长度会增加,导致重复数据增多。因此,在进行格网划分时,需要根据实际数据的特点进行权衡,其遵循的基本原则是确保大部分图形数据只拥有一个编码,允许少量的图形数据拥有多个编码。
另外,计算机会根据设定的规则对每个图形数据设定标识,该标识是唯一的,不会有两个不同的图形数据拥有相同的标识,设定该标识可用于后期的数据去重中。
S303、依据该最小外接矩形的顶点坐标信息对图形数据进行递归编码,获取每个图形数据对应的待存储编码值。
具体地,获取到图形数据对应的最小外接矩形后,将该矩形格网的编号作为该图形数据的对应的编码值,当一个图形数据跨越多个矩形格网时,该图形数据将拥有多个编码值,该多个编码值均会存储在Hbase中,该多个编码值所对应的行键均是该图形数据。
需要说明的是,通过上述方法,可准确高效的将空间数据转换为对应的编码值,为后续求取索引值做准备。
进一步地,图5为本申请实施例提供的HBase表预分区方法流程示意图,如图5所示,上述计算获取每个待存储编码值对应的行键,包括:
S501、根据上述空间数据集合中空间数据量的大小,对预设非关系型数据库中的存储空间进行预分区,得到多个空间存储单元。
需要说明的是,在HBase中,行键可以是任意字符串,最大长度64KB,实际应用中一般为10~100字节(bytes),存为byte[]字节数组,一般设计成定长。本实施例中,行键为预分区号、编码值和随机码的组合,其中,预分区号根据HBase中预分区的方案来设定,随机码即用于确保计算出来的行键具有唯一性。
具体地,图6为本申请实施例提供的HBase预分区原理示意图,如图6所示,对HBase进行预分区过程如下:
将空间范围按照格网进行划分,并对格网进行编号,将编号作为行键的前缀,分区时按照行键的前缀自动分区即可。从图5中可以看出,当预设4个分区时,仅需以第一级格网的编码作为分区号,当预设16个分区时,采用第二级格网编码作为预设分区号,按照此规则依次类推。
需要说明的是,在实际应用中,应当根据实际计算资源和数据量的大小,采用适当级别的分区号。如果采用级别偏低的格网编码,有可能造成单个分区内的数据量过大,不利于负载均衡;如果选用级别偏高的格网,可能会导致分区数量过多,单个分区内的数据太少,不利于数据的集中处理。
S502、根据每个空间存储单元的分区号、以及每个空间存储单元对应的待存储编码值,计算每个待存储编码值对应的行键。
具体地,通过步骤S501计算出的预分区号,将预分区号与编码值及随机码组合,获取到编码值对应的行键。该行键及其对应的空间数据的其他属性一起被存入HBase中,因存储到HBase中的行键已经具备了待检索空间数据的空间位置信息,在对HBase中对待检索空间数据进行检索时,可以根据行键快速检索到待检索数据的编码值,根据图形数据与编码值的一一对应关系,便获取到所需的图形数据,根据图形数据准确获取到待检索的空间数据,从而大大的提升了空间数据检索效率。
需要说明的是,HBase预分区就是根据实际的需求,在建立HBase表的时候就把预分区设置好,执行完建表命令后,这张新建的表就有了预分区。预分区的个数也是在建表前设置进去的。预分区表建好以后,假如建立的表设置了三个分区,分区号为(11-12,12-13,13-14),在向HBase中存储数据时,会根据行键的值直接存储到相应的分区中,假如计算出来的行键的值是114,由于行键的前两位是11,所以这条数据就会自动添加到11-12这分区中,从而将每个行键对应的图形数据存储在了HBase中,以便于根据行键值在数据库中进行数据的快速检索。
在建立完预设非关系型数据库后,还可以进一步地优化预设非关系型数据库,例如对预设非关系型数据库进行去重处理,去除里面重复的数据等。
图7为本申请实施例提供的空间数据去重方法流程示意图一,如图7所示,上述确定检索行键在预设非关系型数据库中对应的目标编码值位置之前,还包括:
S701、根据检索行键,在所述预设非关系型数据库中过滤掉与待检索编码值匹配的编码值集合。
S702、根据每个所述图形数据对应的标识,将与所述待检索空间数据匹配的编码值集合中,重复的图形数据进行滤除、保留其中的一份图形数据。
需要说明的是,如步骤S302中所述,在对图形数据进行编码时,允许少量图形数据拥有多个编码值,因为在线状数据或面状数据所跨的范围较大时,使用空间编码算法对图形数据进行编码时就会发生一个要素产生多个(n个)编码值。针对这种情况,该拥有多个编码值的图形数据会在HBase中存储n份,同时每份图形数据会被添加唯一的标识,这样,计算出来的行键也同样有n个,为确保空间索引构建的完整性及后期数据检索的准确性,本申请中,利用行键和上述所述的图形的唯一标识对数据去重,从而保证每个待检索空间数据均拥有唯一的编码值。
图8为本申请实施例提供的空间数据去重方法流程示意图二,如图8所示,对空间数据去重具体步骤如下:
S7011、读取HBase中的所有空间数据,将空间数据转换成弹性分布式数据集(RDD)。
需要说明的是,RDD是Spark框架中最基本的数据结构,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点,自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了数据查询速度。
S7012、读取待检索的空间数据,采用与构建空间索引时一致的空间编码算法对该待检索的空间数据对应的图形数据进行编码,获取编码值,建立编码值集合(Set1)。
需要说明的是,此处建立集合Set1是为了利用Set1中的编码值从HBase中滤除掉与编码值无关的图形数据。
S7013、根据Set1集合中的编码值从RDD中通过行键过滤数据,即把行键中不包含Set1集合编码值的数据剔除,得到RDD1。
需要说明的是,HBase中的数据是按列分布的,通过行键进行数据索引时,索引到的空间位置是HBase中的某一列,即与待检索空间数据的行键拥有相同预分区号的数据均会被检索到,而被检索到的所有数据,其行键只有预分区号是相同的,其对应的编码值和随机码均是不同的,因此,通过判断被检索到的所有数据的行键中是否包含待检索空间数据对应的编码值,可以将与待检索空间数据无关的数据去除掉,从而有效的缩减了HBase数据库,进而有效提高了后续进行数据检索的效率。在去除掉不相关数据后,得到剩余的空间数据组成的数据集RDD1。
S7014、获取RDD1中的各条数据,依据每条数据中所对应的图形数据的标识,对RDD1中的数据进行去重处理。
此处,计算剩余的空间数据对应的图形数据的编码值,用于利用该编码值去获取与编码值对应的待检索的空间数据,以保证待检索的空间数据与HBase中已被检索出的数据相匹配,避免出现与待检索空间数据不相关的数据。
需要说明的是,对于拥有n个编码值的待检索空间数据,RDD1中将包含n个该数据,这样,当输入待检索的空间数据时,在RDD1中相应的会检索出n个该数据,该n个数据对应的图形数据的标识是相同的,此处对数据去重,能有效避免检索结果重复的情况。
具体地,拥有n个编码值的图形数据,其图形数据的标识是相同的,利用该标识在RDD1中进行数据检索,当从数据库中检索到具有相同标识的图形数据时,即说明与该图形数据对应的待检索数据在数据库中出现了重复,故将具有相同标识的图形数据对应的n个编码值中的其他编码值删掉,最终是保留一个编码值,即使得数据库中只保存一份待检索数据,以保证空间数据检索的准确性。
本实施例提供的基于空间编码的数据检索方法,有效的解决了HBase中构建索引困难的问题,在提高空间数据检索效率的同时,通过数据去重,进一步提高了数据检索的准确性,具有很好的应用价值。
第二实施例
图9为本申请一实施例提供的基于空间编码的数据检索装置结构示意图,如图9所示,该基于空间编码的数据检索装置,该装置包括:获取模块801、计算模块802、匹配模块803及确定模块804,其中:
获取模块801,用于获取待检索的空间数据。
计算模块802,用于采用空间数据编码算法将待检索的空间数据转换成待检索编码值;根据待检索编码值,计算检索行键。
匹配模块803,用于确定检索行键在预设非关系型数据库中对应的目标编码值位置。
确定模块804,用于根据目标编码值位置,在预设非关系型数据库中读取目标编码值,获取目标编码值对应的空间数据。
进一步地,还包括存储模块805,获取模块801,还用于获取待存储的空间数据集合,空间数据集合包括:多个空间数据。
计算模块802,还用于采用空间数据编码算法将空间数据集合中每个所述空间数据转换成对应的待存储编码值;获取每个待存储编码值对应的行键。
存储模块805,用于将待存储编码值以及行键,写入所述预设非关系型数据库中。
进一步地,计算模块802,具体用于获取空间数据集合中每个空间数据对应的图形数据;计算每个图形数据的最小外接矩形,且根据预设编码规则获取每个图形数据对应的标识;依据最小外接矩形的顶点坐标信息对图形数据进行递归编码,获取每个图形数据对应的待存储编码值。
进一步地,计算模块802,具体用于根据空间数据集合中每个空间数据的大小,对预设非关系型数据库中的存储空间进行预分区,得到多个空间存储单元;根据每个空间存储单元的分区号,以及每个空间存储单元对应的待存储编码值,计算每个待存储编码值对应的行键。
进一步地,还包括去重模块806,去重模块806,用于根据检索行键,在预设非关系型数据库中过获取与待检索编码值匹配的编码值集合;根据每个所述图形数据对应的标识,将与所述待检索空间数据匹配的编码值集合中,重复的图形数据进行滤除、保留其中的一份图形数据。
上述装置可用于执行上述方法实施例提供的方法,具体实现方式和技术效果类似,这里不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图10为本申请另一实施例提供的基于空间编码的数据检索装置结构示意图,如图10所示,该装置包括:处理器901和存储器902,其中:
存储器902用于存储程序,处理器901调用存储器902存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种基于空间编码的数据检索方法,其特征在于,包括:
获取待检索的空间数据;
采用空间数据编码算法将所述待检索的空间数据转换成待检索编码值;
根据所述待检索编码值,计算检索行键;
确定所述检索行键在预设非关系型数据库中对应的目标编码值位置;
根据所述目标编码值位置,在所述预设非关系型数据库中读取目标编码值,获取所述目标编码值对应的空间数据。
2.根据权利要求1所述的方法,其特征在于,所述获取待检索的空间数据之前,还包括:
获取待存储的空间数据集合,所述空间数据集合包括:多个空间数据;
采用空间数据编码算法将所述空间数据集合中每个所述空间数据转换成对应的待存储编码值;
获取每个所述待存储编码值对应的行键;
将所述待存储编码值以及所述行键,写入所述预设非关系型数据库中。
3.根据权利要求2所述的方法,其特征在于,所述采用空间数据编码算法将所述空间数据集合中每个所述空间数据转换成对应的待存储编码值,包括:
获取所述空间数据集合中每个所述空间数据对应的图形数据;
计算每个所述图形数据的最小外接矩形,且根据预设编码规则获取每个图形数据对应的标识;
依据所述最小外接矩形的顶点坐标信息对所述图形数据进行递归编码,获取每个所述图形数据对应的待存储编码值。
4.根据权利要求2所述的方法,其特征在于,所述计算获取每个所述待存储编码值对应的行键,包括:
根据所述空间数据集合中空间数据量的大小,对所述预设非关系型数据库中的存储空间进行预分区,得到多个空间存储单元;
根据每个所述空间存储单元的分区号、以及每个所述空间存储单元对应的所述待存储编码值,计算每个所述待存储编码值对应的行键。
5.根据权利要求3所述的方法,其特征在于,所述确定所述检索行键在预设非关系型数据库中对应的目标编码值位置之前,还包括:
根据所述检索行键,在所述预设非关系型数据库中获取与所述待检索编码值匹配的编码值集合;
根据每个所述图形数据对应的标识,将与所述待检索空间数据匹配的编码值集合中,重复的图形数据进行滤除、保留其中的一份图形数据。
6.一种基于空间编码的数据检索装置,其特征在于,包括:
获取模块,用于获取待检索的空间数据;
计算模块,用于采用空间数据编码算法将所述待检索的空间数据转换成待检索编码值;根据所述待检索编码值,计算检索行键;
匹配模块,用于确定所述检索行键在预设非关系型数据库中对应的目标编码值位置;
确定模块,用于根据所述目标编码值位置,在所述预设非关系型数据库中读取目标编码值,获取所述目标编码值对应的空间数据。
7.根据权利要求6所述的装置,其特征在于,还包括:存储模块;
所述获取模块,还用于获取待存储的空间数据集合,所述空间数据集合包括:多个空间数据;
所述计算模块,还用于采用空间数据编码算法将所述空间数据集合中每个所述空间数据转换成对应的待存储编码值;获取每个所述待存储编码值对应的行键;
所述存储模块,用于将所述待存储编码值以及所述行键,写入所述预设非关系型数据库中。
8.根据权利要求7所述的装置,其特征在于,所述计算模块,具体用于获取所述空间数据集合中每个所述空间数据对应的图形数据;计算每个所述图形数据的最小外接矩形,且根据预设编码规则获取每个所述图形数据对应的标识;依据所述最小外接矩形的顶点坐标信息对所述图形数据进行递归编码,获取每个所述图形数据对应的待存储编码值。
9.根据权利要求7所述的装置,其特征在于,所述计算模块,具体用于根据所述空间数据集合中空间数据量的大小,对所述预设非关系型数据库中的存储空间进行预分区,得到多个空间存储单元;根据每个所述空间存储单元的分区号、以及每个所述空间存储单元对应的所述待存储编码值,计算每个所述待存储编码值对应的行键,其中,所述空间存储单元的分区号指示编码值位置。
10.根据权利要求8所述的装置,其特征在于,还包括去重模块;
所述去重模块,用于根据所述检索行键,在所述预设非关系型数据库中获取与所述待检索编码值匹配的编码值集合;根据每个所述图形数据对应的标识,将与所述待检索空间数据匹配的编码值集合中,重复的图形数据进行滤除、保留其中的一份图形数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811007474.3A CN109063194A (zh) | 2018-08-30 | 2018-08-30 | 基于空间编码的数据检索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811007474.3A CN109063194A (zh) | 2018-08-30 | 2018-08-30 | 基于空间编码的数据检索方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109063194A true CN109063194A (zh) | 2018-12-21 |
Family
ID=64758940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811007474.3A Pending CN109063194A (zh) | 2018-08-30 | 2018-08-30 | 基于空间编码的数据检索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109063194A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110680369A (zh) * | 2019-09-18 | 2020-01-14 | 东软医疗系统股份有限公司 | 能量编码表压缩方法、查询方法、装置及pet系统 |
CN110765331A (zh) * | 2019-07-08 | 2020-02-07 | 中国人民解放军战略支援部队信息工程大学 | 一种时空数据的检索方法及系统 |
CN111475535A (zh) * | 2020-03-09 | 2020-07-31 | 咪咕文化科技有限公司 | 数据存储、访问方法及装置 |
CN111522892A (zh) * | 2019-02-02 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 地理要素的检索方法及装置 |
CN113093998A (zh) * | 2021-04-21 | 2021-07-09 | 亿景智联(北京)科技有限公司 | 一种基于地理散列的空间分布式存储优化方法 |
CN115618078A (zh) * | 2022-11-17 | 2023-01-17 | 诡谷子人工智能科技(深圳)有限公司 | 用于pcb板孔位坐标数据的快速索引和检索方法和装置 |
CN115809244A (zh) * | 2022-11-20 | 2023-03-17 | 北京泰策科技有限公司 | 一种海量空间数据接入、处理、发布的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106284A (zh) * | 2013-03-01 | 2013-05-15 | 北京大学 | 用于三维数据球信息关联的剖分中间件和信息关联方法 |
CN103136371A (zh) * | 2013-03-21 | 2013-06-05 | 北京大学 | 多源空间数据的剖分标识生成方法以及数据检索方法 |
CN104199986A (zh) * | 2014-09-29 | 2014-12-10 | 国家电网公司 | 基于hbase和geohash的矢量数据空间索引方法 |
US20150026216A1 (en) * | 2011-01-31 | 2015-01-22 | Google Inc. | Methods and systems for encoding the maximum resolution data level for a quadtree |
CN104516985A (zh) * | 2015-01-15 | 2015-04-15 | 浪潮(北京)电子信息产业有限公司 | 一种基于HBase数据库的海量数据快速导入方法 |
CN105630968A (zh) * | 2015-12-23 | 2016-06-01 | 华中师范大学 | 面向Cassandra的分布式可扩展四叉树索引机制及基于该机制的查询方法 |
CN106844534A (zh) * | 2016-12-30 | 2017-06-13 | 西安电子科技大学 | 面向NoSQL数据库的将地理空间数据一维化的GeoHash编码方法 |
CN107391745A (zh) * | 2017-08-10 | 2017-11-24 | 国家基础地理信息中心 | 大规模空间数据分级快速索引方法和装置 |
-
2018
- 2018-08-30 CN CN201811007474.3A patent/CN109063194A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150026216A1 (en) * | 2011-01-31 | 2015-01-22 | Google Inc. | Methods and systems for encoding the maximum resolution data level for a quadtree |
CN103106284A (zh) * | 2013-03-01 | 2013-05-15 | 北京大学 | 用于三维数据球信息关联的剖分中间件和信息关联方法 |
CN103136371A (zh) * | 2013-03-21 | 2013-06-05 | 北京大学 | 多源空间数据的剖分标识生成方法以及数据检索方法 |
CN104199986A (zh) * | 2014-09-29 | 2014-12-10 | 国家电网公司 | 基于hbase和geohash的矢量数据空间索引方法 |
CN104516985A (zh) * | 2015-01-15 | 2015-04-15 | 浪潮(北京)电子信息产业有限公司 | 一种基于HBase数据库的海量数据快速导入方法 |
CN105630968A (zh) * | 2015-12-23 | 2016-06-01 | 华中师范大学 | 面向Cassandra的分布式可扩展四叉树索引机制及基于该机制的查询方法 |
CN106844534A (zh) * | 2016-12-30 | 2017-06-13 | 西安电子科技大学 | 面向NoSQL数据库的将地理空间数据一维化的GeoHash编码方法 |
CN107391745A (zh) * | 2017-08-10 | 2017-11-24 | 国家基础地理信息中心 | 大规模空间数据分级快速索引方法和装置 |
Non-Patent Citations (2)
Title |
---|
周旭光: ""四叉树空间索引原理及其实现"", 《HTTPS://BLOG.CSDN.NET/ZHOUXUGUANG236/ARTICLE/DETAILS/12312099》 * |
褚龙现 等: ""一种支持高效并行处理的矢量数据索引方法"", 《计算机工程与应用》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522892A (zh) * | 2019-02-02 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 地理要素的检索方法及装置 |
CN111522892B (zh) * | 2019-02-02 | 2024-01-09 | 阿里巴巴集团控股有限公司 | 地理要素的检索方法及装置 |
CN110765331A (zh) * | 2019-07-08 | 2020-02-07 | 中国人民解放军战略支援部队信息工程大学 | 一种时空数据的检索方法及系统 |
CN110765331B (zh) * | 2019-07-08 | 2024-03-26 | 中国人民解放军战略支援部队信息工程大学 | 一种时空数据的检索方法及系统 |
CN110680369A (zh) * | 2019-09-18 | 2020-01-14 | 东软医疗系统股份有限公司 | 能量编码表压缩方法、查询方法、装置及pet系统 |
CN111475535A (zh) * | 2020-03-09 | 2020-07-31 | 咪咕文化科技有限公司 | 数据存储、访问方法及装置 |
CN111475535B (zh) * | 2020-03-09 | 2024-02-06 | 咪咕文化科技有限公司 | 数据存储、访问方法及装置 |
CN113093998A (zh) * | 2021-04-21 | 2021-07-09 | 亿景智联(北京)科技有限公司 | 一种基于地理散列的空间分布式存储优化方法 |
CN115618078A (zh) * | 2022-11-17 | 2023-01-17 | 诡谷子人工智能科技(深圳)有限公司 | 用于pcb板孔位坐标数据的快速索引和检索方法和装置 |
CN115809244A (zh) * | 2022-11-20 | 2023-03-17 | 北京泰策科技有限公司 | 一种海量空间数据接入、处理、发布的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109063194A (zh) | 基于空间编码的数据检索方法及装置 | |
CN104199986B (zh) | 基于hbase和geohash的矢量数据空间索引方法 | |
CN106503196B (zh) | 云环境下可扩展存储索引结构的构建和查询方法 | |
CN103116610A (zh) | 基于HBase的矢量空间大数据存储方法 | |
CN110222029A (zh) | 一种大数据多维分析计算效率提升方法及系统 | |
CN109033340A (zh) | 一种基于Spark平台的点云K邻域的搜索方法及装置 | |
CN102693296B (zh) | 一种大批量二维点数据中坐标快速匹配的方法 | |
CN103714145A (zh) | 关系型和Key-Value型数据库空间数据索引方法 | |
CN107463585B (zh) | 指纹数据入库处理方法及装置 | |
CN108205562B (zh) | 地理信息系统的定位数据存储、检索方法及其装置 | |
CN111104457A (zh) | 基于分布式数据库的海量时空数据管理方法 | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
Deng et al. | Parallel processing of dynamic continuous queries over streaming data flows | |
CN108460123B (zh) | 高维数据检索方法、计算机设备和存储介质 | |
Balis et al. | Towards an operational database for real-time environmental monitoring and early warning systems | |
Zhang et al. | SPRIG: A learned spatial index for range and kNN queries | |
JP2023543004A (ja) | ヒルベルト曲線に基づくr木インデックスのマージ更新方法、装置及び媒体 | |
CN113656670A (zh) | 面向飞行数据的时空轨迹数据管理分析方法和装置 | |
CN109241236A (zh) | 海洋地理空间多维时变场数据分布式组织与查询处理方法 | |
CN114048204A (zh) | 基于数据库倒排索引的北斗网格空间索引方法和装置 | |
CN103559209A (zh) | 一种Voronoi Diagram与虚拟网格结合的高效空间最近邻查询方法 | |
CN104951442A (zh) | 一种确定结果向量的方法和装置 | |
CN116796083B (zh) | 一种空间数据划分方法及系统 | |
CN111414445B (zh) | 一种应用地理信息的地址反解析方法 | |
CN110674134B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181221 |
|
RJ01 | Rejection of invention patent application after publication |