CN107423368B - 一种非关系数据库中的时空数据索引方法 - Google Patents

一种非关系数据库中的时空数据索引方法 Download PDF

Info

Publication number
CN107423368B
CN107423368B CN201710516384.6A CN201710516384A CN107423368B CN 107423368 B CN107423368 B CN 107423368B CN 201710516384 A CN201710516384 A CN 201710516384A CN 107423368 B CN107423368 B CN 107423368B
Authority
CN
China
Prior art keywords
data
time
index
space
spatio
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
CN201710516384.6A
Other languages
English (en)
Other versions
CN107423368A (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.)
Chinese Academy of Surveying and Mapping
Original Assignee
Chinese Academy of Surveying and Mapping
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 Chinese Academy of Surveying and Mapping filed Critical Chinese Academy of Surveying and Mapping
Priority to CN201710516384.6A priority Critical patent/CN107423368B/zh
Publication of CN107423368A publication Critical patent/CN107423368A/zh
Application granted granted Critical
Publication of CN107423368B publication Critical patent/CN107423368B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种非关系数据库中的时空数据索引方法,在分布式环境中,为时空数据建立基于四叉树与Hilbert曲线的空间索引;结合时空数据的时间属性,形成统一的时空索引;将时空索引分为分区键和排序键两部分,并使用一致性哈希实现空间数据在动态的网络拓扑中分布存储和路由;当收到查询请求时,根据时间及空间范围确定查询范围的分区键和排序键并在存储节点中进行检索,返回查询结果。本发明提高了时空数据的存储与查询效率,每个存储节点只需要维护自身分配的数据,且存储节点的增加删除都不会引起索引的错误,满足了高并发条件下数据访问的实时性要求,数据库可扩展性好。

Description

一种非关系数据库中的时空数据索引方法
技术领域
本发明涉及数据库技术领域,具体是一种非关系数据库中的时空数据索引方法。
背景技术
随着技术的发展,大数据广泛存在于各行各业中,如企业数据、医疗数据、互联网数据、物联网数据等,包括结构化的、半结构化的和非结构化的数据,数据种类多且数量大,其规模或复杂程度已远远超出了常用传统数据库和软件技术所能管理和处理的数据集范围。
大数据为各行各业带来新的发展机遇,同时也为有效管理和利用大数据提出了挑战。尽管不同种类的海量数据存在一定的差异,但总体而言,支持海量数据管理的系统应具有如下特性:高可扩展性(满足数据量增长的需要)、高性能(满足数据读写的实时性和查询处理的高性能)、容错性(保证分布系统的可用性)、可伸缩性(按需分配资源)和尽可能低的运营成本等。然而,由于传统的RDBMS的设计从未考虑需要处理日益增长且格式多变的数据,以及访问数据并进行分析的用户数量呈爆炸式增长,所以在处理海量数据时存在诸多局限:(1)不易更改:RDBMS一般都是固定的schema,缺乏对非结构化数据的支持,而且Schema一旦确定后期很难更改;(2)扩展困难:由于存在类似Join这样多表查询机制,而且缺少对数据分片存储的管理,使得数据库在数据扩容方面很艰难;(3)I/O效率差,吞吐量低:这种情况主要发生在数据量达到一定规模时由于关系数据库的系统逻辑非常复杂,使得其非常容易发生死锁等的并发问题,所以导致其读写速度下滑非常严重;(4)有限的容量支撑:很难满足大规模数据存储和实时分析处理的要求。因此,大数据时期由关系数据库发展至非关系数据库是大势所趋。
时空数据是一种典型的大数据,它是一种同时具有时间和空间维度的数据,现实世界中的数据超过80%与地理位置有关。近年来,随着人类生产活动的加剧及新型空间地理信息技术的不断发展涌现,时空数据正呈爆炸式增长,时空大数据正势不可挡地取代传统的静态空间数据而成为地理信息社会化应用的主要形式。与传统的静态空间数据相比,时空大数据呈现出Volume(体量大)、Velocity(增速快)、Variety(样式多)、Value(价值高)的“4V”特点。传统的基于关系数据库进行扩展或基于传统数据库管理系统开发空间数据库引擎的空间数据库管理技术、索引技术已经无法解决时空数据在生产管理与应用上面临的存储组织与分析处理难、集成应用难及数据全生命周期管理难等问题,将时空大数据放至非关系数据库中进行一体化管理的技术应运而生。
目前,大多数基于分布式的数据库系统通常采用key-value存储模型存储数据,即数据库中的数据组织为key-value对。Key-Value数据库典型的是以key索引为主,常见的有hash索引、B-tree索引等。为了提供丰富的查询能力,一些key-value数据库还建有二级索引或称辅助索引(secondary index),同时,为了提高对海量数据的查询效率,一些系统采用了BloomFilter技术,但已有的这些索引都是局部索引。
传统的空间索引包括四叉树、R-tree等,但对于时空大数据的存储这些索引结构暴露出以下的不足之处:(1)不适用于以Key-Value方式进行数据存储的数据库(bondingbox信息无法转换为1维信息作为Key值一部分用于检索);(2)对于分布式数据库,其维护更新索引的代价较大;(3)对于分布式数据库(特别是master-slave架构),当数据更新时,各节点索引的一致性很难保证(尤其是在高并发读写情况下);(4)对数据库服务器,索引需常驻内存,对内存资源消耗过大,不适用于海量数据构建索引;(5)当数据量达到一定数量级别后,构建索引时间长,且索引文件较大。
可见,使用非关系数据库存储时空大数据存在索引的问题,沿用传统的索引方式导致数据存储与访问的效率低下,难以满足高并发、大数据量下的实时性要求,非关系数据库的性能优势得不到发挥。
发明内容
本发明的目的在于提供一种非关系数据库中的时空数据索引方法,通过在分布式环境中建立基于四叉树与Hilbert曲线的时空索引,实现对于时空数据时间、空间维度的统一索引,并使用一致性哈希实现空间数据在动态的网络拓扑中分布存储和路由,以提高时空数据的存储与检索效率。
为实现上述目的,本发明提供如下技术方案:
一种非关系数据库中的时空数据索引方法,包括以下步骤:
A、在分布式环境中,为时空数据建立基于四叉树与Hilbert曲线的空间索引;
B、在空间索引的基础上,结合时空数据的时间属性,形成统一的时空索引;
C、将时空索引分为分区键和排序键两部分,并使用一致性哈希实现空间数据在动态的网络拓扑中分布存储和路由;
D、当收到查询请求时,根据时间及空间范围确定查询范围的分区键和排序键并在存储节点中进行检索,返回查询结果。
作为本发明进一步的方案:空间索引的构建包括如下步骤:
步骤1:建立包围整个地球的立方体:[-1,1]×[-1,1]×[-1,1];
步骤2:地球上的某一点P投影到立方体某一面上;
步骤3:在每一个立方体面上构建四叉树,每个四叉树单元都由一个控制点进行标识;
步骤4:找到包含点P对应投影点的四叉树单元;
步骤5:将该四叉树单元映射到到某一级的Hilbert曲线上,生成时空数据的CellID。
作为本发明进一步的方案:步骤4中,找到包含点P对应投影点的四叉树单元的过程为:从四叉树根节点开始,判断投影点属于哪个象限,递归到相应的节点,重复步骤,直到到达叶节点,然后将该点加入存储节点的索引点列表中。
作为本发明进一步的方案:空间索引中含有应用Hilbert曲线层次分解的30个level。
作为本发明进一步的方案:分区键包括空间索引的第N层索引值与时间索引的YYMM,其中N为用户自定的最高分区层次,YYMM表示年、月。
作为本发明进一步的方案:排序键是指时空索引中去除分区键内容的部分。
作为本发明进一步的方案:查询的过程包括如下步骤:
步骤1:用户输入任意多边形M与时间区间[t1,t2]作为查询窗口;
步骤2:计算M所在的最小外包细胞cellmin与分区细胞集合C={celli|i∈R,i≥1};
步骤3:计算时间区间[t1,t2]所对应的时期集合:E={epochj|j∈R,j≥1};
步骤4:计算cellmin的区域编码最大值:
Figure BDA0001336746950000041
和区域编码最小值
Figure BDA0001336746950000042
步骤5:遍历分区细胞集合C与时期集合E中的所有元素进行两两组合,并计算一致性哈希值H={hash(cell,epoch)|cell∈C,epoch∈E};
步骤6:根据一致性哈希值H查找所有时空数据的存储节点集合N;
步骤7:存储节点集合N中的每个存储节点按照查询条件
Figure BDA0001336746950000043
对时空数据进行扫面并返回扫描结果,其中pos为存储节点集合N中每一条时空数据对应的区域编码;
步骤8:将存储节点集合N返回的扫描结果与多边形M进行相交查询,得到最终查询结果。
与现有技术相比,本发明的有益效果是:
本发明为时空数据提供了一种统一的索引方法,该方法保证了地球上任何一个具有时空信息的实体都具有唯一标识,同时保证了时间、空间上相邻的实体保存在同一个或相邻的存储节点中。索引中使用了分区键和排序键,通过一致性哈希使时空数据均匀映射到分布式环境的存储节点中,提高了时空数据的存储与查询效率。每个存储节点只需要维护自身分配的数据,且存储节点的增加删除都不会引起索引的错误,满足了高并发条件下数据访问的实时性要求,数据库可扩展性好。
附图说明
图1是本发明提供的基于四叉树与Hilbert曲线的空间索引原理示意图;
图2为四叉树索引编码示意图;
图3为希尔伯特(Hilbert)曲线画法示意图;
图4为将该四叉树单元对应到某一级的Hilbert曲线上的方法示意图;
图5为非关系数据中空间数据存储使用的“哈希环”示意图;
图6为本发明提出的时空索引分段索引设计示意图;
图7为本发明提出的空间数据查询流程示意图。
图8是本发明流程图。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着越来越多的数据和应用和地理空间相关,空间索引变得愈加重要。然而,有效地查询地理空间数据是相当大的挑战,因为数据是二维的(有时候更高),不能用标准的索引技术来查询位置。本发明建立基于四叉树与Hilbert曲线的空间索引,对地球上任何具有时空信息的实体进行唯一标识,提高数据的检索效率。请参阅图8。
空间索引的构建包括如下步骤:
步骤1:建立包围整个地球的立方体:[-1,1]×[-1,1]×[-1,1];
步骤2:地球上的某一点P投影到立方体某一面上;
步骤3:在每一个立方体面上构建四叉树,每个四叉树单元(Cell)都由一个控制点进行标识;
步骤4:找到包含点P对应投影点的四叉树单元;
步骤5:将该四叉树单元(Cell)映射到到某一级的Hilbert曲线上,生成时空数据的Cell ID,此Cell ID具有唯一性。
四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构。它将已知范围的空间等分成四个相等的子空间,如此递归下去,直至树的层次达到一定深度或者满足某种要求后停止分割。四叉树的结构比较简单,并且当空间数据对象分布比较均匀时,具有比较高的空间数据插入和查询效率,因此四叉树是GIS中常用的空间索引之一。构建四叉树如图2所示,在四叉树中,每个节点表示覆盖了部分进行索引的空间的边界框,根节点覆盖了整个区域。
找到包含点P对应投影点的四叉树单元的过程为:从四叉树根节点开始,判断投影点属于哪个象限,递归到相应的节点,重复步骤,直到到达叶节点,然后将该点加入节点的索引点列表中。
希尔伯特(Hilbert)曲线属于一类被称为空间填充曲线的一维分形,因为它们虽然是一维的线,却可以填充固定区域的所有空间。因其具有局域性和连续性,所以其通常用于将多个变量以线性顺序进行表达,将地球空间映射到一个Hilbert曲线。
如图3所示,Hilbert曲线以U字形来访问区域,其构造方法如下:取一个正方形并且把它分出4个相等的小正方形,然后从左下角的正方形开始至右上角的正方形结束,依次把小正方形的中心用线段连接起来;下一步把每个小正方形分成4个相等的正方形,然后上述方式把其中心连接起来,将这种操作手续无限进行下去,最终得到的极限情况的曲线就被称作Hilbert曲线。
本发明中提出的空间索引中含有应用Hilbert曲线层次分解的30个level,各种cell level以及他们可以覆盖的范围,如表1:
表1
Figure BDA0001336746950000061
Figure BDA0001336746950000071
将四叉树单元对应到某一级的Hilbert曲线上的方法如图4所示:
假设用图4中的表来确定某个点在第三层Hilbert曲线上的位置。在这个例子中,假设点的坐标是(5,2)。从上图的第一个方形开始,找到该点所在的象限。在这个例子中,是在右上方的象限。那么点在Hilbert曲线上的位置的第一部分是3(二进制是11)。接着进入象限3里面的方块,在这个例子中,它是(图4中的)左下角第二个方块,意味着位置的下一部分是1(二进制01)。重复这个过程,点落在右上角的子象限,因此位置的最后部分是3(二进制11)。把这些位置连接起来,得到点在曲线上的位置是二进制的110111,或者十进制的55。
非关系数据库以键值对(KV,Key-Value)存储时空数据,时空数据按照键值对的形式进行组织、索引和存储,其存储结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,从而减少时间和空间的开销,同时能有效减少读写磁盘的次数,比关系数据库存储拥有更好的读写性能。
非关系数据库存储矢量、栅格数据的首要目标是实现高可用性、性能可预期和可扩展性,数据切分技术十分关键。在数据切分过程中,为保证分布式系统的无缝扩展能力,本发明采用一致性哈希作为切分算法。一致性哈希能使添加或移除单个节点后,保持大部分节点与数据的映射关系,从而使节点变化对切分过程的影响尽可能降低,这也是保证性能可预期的系统扩展的基础。
图5为非关系数据中空间数据存储使用的“哈希环”示意图,所述“哈希环”是指:
将时空数据对应的key值哈希到一个具有264个数值的空间中,即值域为0~264-1的数字空间中,将这些数字头尾相连,即形成一个闭合的环形。进而通过特定的哈希函数计算出空间对象对应的key值,然后散列到哈希环上。假设需要对object1、object2、object3、
object4四个对象进行分布存储,则先对各个对象进行哈希计算,如下式所示:
Hash(object1)=key1 (1)
Hash(object2)=key2 (2)
Hash(object3)=key3 (3)
Hash(object4)=key4 (4)
通过使用与对象存储一样的一致性哈希算法将机器也映射到哈希环中(一般情况下对机器的哈希计算是采用机器的IP或者机器唯一的别名作为输入值),然后以顺时针的方向计算,将所有对象存储到离自己最近的机器中。
假设现在有NODE1,NODE2,NODE3三台机器,通过一致性哈希算法得到对应的KEY值,映射到哈希环中,如下式所示:
Hash(NODE1)=KEY1 (5)
Hash(NODE2)=KEY2 (6)
Hash(NODE3)=KEY3 (7)
可以看出,空间对象与机器处于同一哈希空间中,如图5所示,按顺时针转动object1存储于NODE1中,object3存储于NODE2中,object2、object4存储于NODE3中。在这样的部署环境中,哈希环是不会变更的,因此,通过算出对象的哈希值就能快速的定位到对应的机器中,这样就能找到对象真正的存储位置。
在一致性哈希算法下,增删节点只会影响与该节点相邻的节点的映射关系。由于一致性哈希算法难以处理值域负载以及节点性能差异问题,本发明引入了虚拟节点,一个物理节点可以对应多个虚拟节点,从而实现负载均衡。
图6为本发明提出的时空索引分段索引设计示意图,所述时空索引分段索引是指在非关系数据库Key键的主键中,本发明将一致性哈希后的时空索引值作为Key值的一部分进行管理,并分为分区键、排序键两部分。其中,分区键包括空间索引的第N层索引值(N为用户自定的最高分区层次)、时间索引的YYMM(年、月),排序键包括完整空间索引和时间索引。分区键用来决定空间数据的存储节点,排序键用来决定时间数据在其存储节点上的排列顺序。
本发明实施例还提供了一种时空数据查询的方法,在时空数据搜索过程中,用户需要定义空间与时间范围作为查询窗口。本发明查询方法会根据用户定义的查询窗口首先确定时空数据位置(存储节点位置),然后根据在此存储节点上搜索目标数据。如图7所示,该数据查询方法的流程可以包括如下步骤:
步骤1:用户输入任意多边形M与时间区间[t1,t2]作为查询窗口;
步骤2:计算多边形M所在的最小外包细胞cellmin与分区细胞集合C={celli|i∈R,i≥1};
步骤3:计算时间区间[t1,t2]所对应的时期集合:E={epochj|j∈R,j≥1};
步骤4:计算cellmin的区域编码最大值:
Figure BDA0001336746950000091
和区域编码最小值
Figure BDA0001336746950000092
步骤5:遍历分区细胞集合C与时期集合E中的所有元素进行两两组合,并计算一致性哈希值H={hash(cell,epoch)|cell∈C,epoch∈E};
步骤6:根据一致性哈希值H查找所有时空数据的存储节点集合N;
步骤7:存储节点集合N中的每个存储节点按照查询条件
Figure BDA0001336746950000093
对时空数据进行扫面并返回扫描结果,其中pos为存储节点集合N中每一条数据对应的区域编码;
步骤8:将存储节点集合N返回的扫描结果与多边形M进行相交查询(Intersects),并得到最终查询结果。
实施例1
本发明基于New Map软件空间数据库引擎API,利用上述技术开发了基于Cassandra分布式NoSQL数据库的数据驱动程序(以下称为NM-TSDE)。测试环境采用了三台VMWare虚拟机(1CPU,双核,4G内存,50GB硬盘,Windows Server 2008操作系统)。对比试验采用了Oracle数据库与ArcSDE(空间数据几何信息采用ST_GEOMETRY对象存储)在相同的计算机(CPU 8核3.6GHz、4G内存、100M以太网卡)、相同的网络带宽(百兆以太网)、相同的Oracle数据库服务器(CPU 8核2.40GHz、16G内存、100M以太网卡)下进行存储与查询效率测试。
试验数据采用Open Street Map(OSM)提供的2016年3月、亚洲地区日本、格式为Shapefile的矢量数据,数据大小3.29GB,共8个图层,其中点图层2个,线和面图层各3个;测试结果如下所示。
表2 矢量数据存取效率对比
Figure BDA0001336746950000101
从表2中可以看出,NM-TSDE对矢量数据的存取效率整体要优于ArcSDE,与Oracle相差不大。特别是数据量越大,如线数据(roads)、面数据(buildings),NM-TSDE导入数据效率优势越明显。
对于空间数据的查询效率测试。本发明对空间数据选取同一地理范围内的数据,分别对Oracle和ArcSDE进行测试。如表3所示,对于矢量数据查询效率NM-TSDE明显优于ArcSDE与Oracle,而且随着数据量的增大,优势越明显。
表3 矢量数据查询效率对比
Figure BDA0001336746950000111
对于高并发测试,我们随机产生了174个不同大小的查询窗口,测试过程中将174个查询窗口同时提交给服务器执行查询,并统计完成所有查询所需要的时间。测试过程中的处理进程数分别设定为1,2,3,4,5,且每个进程支持200个并发线程,表4为实验结果。
表4:Cassandra并发查询结果统计
Figure BDA0001336746950000112
如表4所示在高并发条件下NM-TSDE完成所有查询所需要的时间趋于稳定,证明本发明完全可以胜任高并发条件下海量数据的查询要求。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (5)

1.一种非关系数据库中的时空数据索引方法,其特征在于,包括以下步骤:
A、在分布式环境中,为时空数据建立基于四叉树与Hilbert曲线的空间索引;
B、在空间索引的基础上,结合时空数据的时间属性,形成统一的时空索引;
C、将时空索引分为分区键和排序键两部分,并使用一致性哈希实现空间数据在动态的网络拓扑中分布存储和路由,其中,分区键包括空间索引的第N层索引值与时间索引的YYMM,其中N为用户自定的最高分区层次,YYMM表示年、月;排序键是指时空索引中去除分区键内容的部分;
D、当收到查询请求时,根据时间及空间范围确定查询范围的分区键和排序键并在存储节点中进行检索,返回查询结果。
2.根据权利要求1所述的非关系数据库中的时空数据索引方法,其特征在于,空间索引的构建包括如下步骤:
步骤1:建立包围整个地球的立方体:[-1,1]×[-1,1]×[-1,1];
步骤2:地球上的某一点P投影到立方体某一面上;
步骤3:在每一个立方体面上构建四叉树,每个四叉树单元都由一个控制点进行标识;
步骤4:找到包含点P对应投影点的四叉树单元;
步骤5:将该四叉树单元映射到到某一级的Hilbert曲线上,生成时空数据的Cell ID。
3.根据权利要求2所述的非关系数据库中的时空数据索引方法,其特征在于,步骤4中,找到包含点P对应投影点的四叉树单元的过程为:从四叉树根节点开始,判断投影点属于哪个象限,递归到相应的节点,重复步骤,直到到达叶节点,然后将该点加入存储节点的索引点列表中。
4.根据权利要求1所述的非关系数据库中的时空数据索引方法,其特征在于,空间索引中含有应用Hilbert曲线层次分解的30个level。
5.根据权利要求1所述的非关系数据库中的时空数据索引方法,其特征在于,查询的过程包括如下步骤:
步骤1:用户输入任意多边形M与时间区间[t1,t2]作为查询窗口;
步骤2:计算M所在的最小外包细胞cellmin与分区细胞集合C={celli|i∈R,i≥1},其中,R表示集合理论中的实数集;
步骤3:计算时间区间[t1,t2]所对应的时期集合:E={epochj|j∈R,j≥1},其中,R表示集合理论中的实数集;
步骤4:计算cellmin的区域编码最大值:
Figure FDA0002428903000000021
和区域编码最小值
Figure FDA0002428903000000022
步骤5:遍历分区细胞集合C与时期集合E中的所有元素进行两两组合,并计算一致牲哈希值H={hash(cell,epoch)|cell∈C,epoch∈E};
步骤6:根据一致性哈希值H查找所有时空数据的存储节点集合N;
步骤7:存储节点集合N中的每个存储节点按照查询条件
Figure FDA0002428903000000023
对时空数据进行扫面并返回扫描结果,其中pos为存储节点集合N中每一条时空数据对应的区域编码;
步骤8:将存储节点集合N返回的扫描结果与多边形M进行相交查询,得到最终查询结果。
CN201710516384.6A 2017-06-29 2017-06-29 一种非关系数据库中的时空数据索引方法 Active CN107423368B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710516384.6A CN107423368B (zh) 2017-06-29 2017-06-29 一种非关系数据库中的时空数据索引方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710516384.6A CN107423368B (zh) 2017-06-29 2017-06-29 一种非关系数据库中的时空数据索引方法

Publications (2)

Publication Number Publication Date
CN107423368A CN107423368A (zh) 2017-12-01
CN107423368B true CN107423368B (zh) 2020-07-17

Family

ID=60426348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710516384.6A Active CN107423368B (zh) 2017-06-29 2017-06-29 一种非关系数据库中的时空数据索引方法

Country Status (1)

Country Link
CN (1) CN107423368B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108257678B (zh) * 2018-01-22 2020-01-17 大连大学 建立用于移动医疗服务的分布式时空多维索引方法
CN108153910B (zh) * 2018-01-22 2021-11-16 大连大学 建立用于移动医疗服务的分布式时空多维索引系统
CN108628969B (zh) * 2018-04-24 2022-05-06 咪咕文化科技有限公司 一种空间关键字索引方法及平台、存储介质
US11487822B2 (en) * 2018-06-13 2022-11-01 International Business Machines Corporation Facilitating spatial indexing on distributed key-value stores
CN108595720B (zh) * 2018-07-12 2020-05-19 中国科学院深圳先进技术研究院 一种区块链时空数据查询方法、系统及电子设备
CN111797174A (zh) * 2019-04-08 2020-10-20 华为技术有限公司 管理时空数据的方法和装置
CN110134692B (zh) * 2019-05-17 2023-04-07 南京大学 一种基于频率属性和pca的时空索引建立方法
CN110377624B (zh) * 2019-07-31 2022-05-27 象辑科技股份有限公司 一种对具有时间空间多维属性的地理信息数据的存储和查询方法
CN112541044A (zh) * 2019-09-20 2021-03-23 中移(苏州)软件技术有限公司 一种数据库设计方法、装置以及存储介质
CN112579714A (zh) * 2019-09-30 2021-03-30 阿里巴巴集团控股有限公司 数据查询方法、装置、设备及机器可读存储介质
CN111104457A (zh) * 2019-10-30 2020-05-05 武汉大学 基于分布式数据库的海量时空数据管理方法
US20220391923A1 (en) * 2019-11-14 2022-12-08 Tetra Laval Holdings & Finance S.A. Generating and storing unique marking codes for liquid food packages
CN111125119A (zh) * 2019-12-30 2020-05-08 中科星图股份有限公司 一种基于HBase的时空数据存储与索引方法
US11487824B2 (en) 2020-02-13 2022-11-01 International Business Machines Corporation Automated database query filtering for spatial joins
CN111414403B (zh) * 2020-03-20 2023-04-14 腾讯科技(深圳)有限公司 数据访问方法和装置、数据存储方法和装置
CN111639075B (zh) * 2020-05-09 2023-05-12 武汉大学 一种基于扁平化r树的非关系数据库矢量数据管理方法
CN111914043B (zh) * 2020-05-29 2024-05-31 淘宝(中国)软件有限公司 时空数据编码方法及装置、存储介质、计算设备
CN111723096B (zh) * 2020-06-23 2022-08-05 重庆市计量质量检测研究院 一种集成GeoHash和Quadtree的空间数据索引方法
CN113297199B (zh) * 2020-06-24 2024-03-08 阿里巴巴集团控股有限公司 时空数据引擎的使用方法、装置及Cassandra数据库系统
US11762932B2 (en) 2020-06-30 2023-09-19 Amazon Technologies, Inc. Spatial search using key-value store
CN111814328B (zh) * 2020-07-07 2024-06-18 浙江工业大学 一种带有飞行区的时空数据立方体的建模与查询方法
CN112380222B (zh) * 2020-11-26 2023-08-29 吉林师范大学 地理空间数据全局唯一标识生成处理方法及装置
CN113179313B (zh) * 2021-04-25 2023-04-07 湖南视觉伟业智能科技有限公司 分布式时空查询方法及系统
CN113032405A (zh) * 2021-05-25 2021-06-25 湖南省第二测绘院 时空数据管理方法、系统、主机及计算机可读存储介质
CN113486005B (zh) * 2021-06-09 2024-04-19 中国科学院空天信息创新研究院 异构结构下的空间科学卫星大数据组织及查询方法
CN113656670A (zh) * 2021-08-23 2021-11-16 南京航空航天大学 面向飞行数据的时空轨迹数据管理分析方法和装置
CN115297131B (zh) * 2022-08-01 2023-05-26 东北大学 一种基于一致性哈希的敏感数据分布式储存方法
CN116756152A (zh) * 2023-08-22 2023-09-15 中国信息通信研究院 基于区块链的数据处理方法和装置、电子设备和存储介质
CN117271529B (zh) * 2023-11-20 2024-03-29 阿里云计算有限公司 索引处理方法、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750708B (zh) * 2013-12-27 2018-09-28 华为技术有限公司 一种时空数据的索引建立方法、查询方法、装置及设备
CN103745008B (zh) * 2014-01-28 2016-08-31 河海大学 一种大数据索引的排序方法
CN105426491B (zh) * 2015-11-23 2018-12-14 武汉大学 一种时空地理大数据的检索方法及系统
CN105630968B (zh) * 2015-12-23 2019-07-09 华中师范大学 面向Cassandra的分布式可扩展四叉树索引方法
CN106528773B (zh) * 2016-11-07 2020-06-26 山东联友通信科技发展有限公司 一种基于Spark平台支持空间数据管理的图计算系统及方法

Also Published As

Publication number Publication date
CN107423368A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN107423368B (zh) 一种非关系数据库中的时空数据索引方法
Davoudian et al. A survey on NoSQL stores
Nishimura et al. MD-HBase: A scalable multi-dimensional data infrastructure for location aware services
Nishimura et al. -HBase: design and implementation of an elastic data infrastructure for cloud-scale location services
Ma et al. An efficient index for massive IOT data in cloud environment
CN108600321A (zh) 一种基于分布式内存云的图数据存储方法和系统
Amirian et al. Evaluation of data management systems for geospatial big data
US11429581B2 (en) Spatial-temporal query for cognitive IoT contexts
US20230385353A1 (en) Spatial search using key-value store
Jing et al. An improved distributed storage and query for remote sensing data
Tian et al. A survey of spatio-temporal big data indexing methods in distributed environment
Du et al. Spatio-temporal data index model of moving objects on fixed networks using hbase
Hong et al. Efficient R-tree based indexing scheme for server-centric cloud storage system
Kumar et al. M-Grid: a distributed framework for multidimensional indexing and querying of location based data
Iyer et al. A scalable distributed spatial index for the internet-of-things
de Souza Baptista et al. NoSQL geographic databases: an overview
He et al. Dynamic multidimensional index for large-scale cloud data
Malensek et al. Autonomously improving query evaluations over multidimensional data in distributed hash tables
CN114153987A (zh) 分布式知识图谱查询方法、装置及存储介质
Xiong et al. Distributed or Centralized: An Experimental Study on Spatial Database Systems for Processing Big Trajectory Data
Tang et al. Skewness‐aware clustering tree for unevenly distributed spatial sensor nodes in smart city
Wang et al. Efficient spatial big data storage and query in HBase
Vilaça et al. On the expressiveness and trade-offs of large scale tuple stores
Ge et al. Cinhba: A secondary index with hotscore caching policy on key-value data store
Simmonds et al. Antares: A scalable, real-time, fault tolerant data store for spatial analysis

Legal Events

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