CN103092992A - 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法 - Google Patents

基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法 Download PDF

Info

Publication number
CN103092992A
CN103092992A CN2013100516294A CN201310051629A CN103092992A CN 103092992 A CN103092992 A CN 103092992A CN 2013100516294 A CN2013100516294 A CN 2013100516294A CN 201310051629 A CN201310051629 A CN 201310051629A CN 103092992 A CN103092992 A CN 103092992A
Authority
CN
China
Prior art keywords
node
index
key
quaternary tree
order
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.)
Granted
Application number
CN2013100516294A
Other languages
English (en)
Other versions
CN103092992B (zh
CN103092992B8 (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.)
Nanjing Normal University
Original Assignee
Nanjing Normal University
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 Nanjing Normal University filed Critical Nanjing Normal University
Priority to CN201310051629.4A priority Critical patent/CN103092992B8/zh
Publication of CN103092992A publication Critical patent/CN103092992A/zh
Publication of CN103092992B publication Critical patent/CN103092992B/zh
Application granted granted Critical
Publication of CN103092992B8 publication Critical patent/CN103092992B8/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法,这种方法使数据物理存储次序与空间范围连续性一致、数据主键次序与物理存储次序一致,从而在空间查询时能减少I/O操作,提高查询效率。这种方法包括如下步骤:步骤1:完全四叉树空间划分与先序四叉树结点编码;步骤2:矢量数据前缀编码和索引构建;步骤3:先序四叉树索引。

Description

基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法
技术领域
本发明涉及空间数据库领域,特别涉及基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法。
背景技术
自E.F.Codd博士提出关系模型理论以来, 关系数据库得到迅速发展,并已成为数据库的主流,空间数据库也从文件型发展到关系数据库型。但随着互联网的高速发展,出现了很多大规模和高并发的空间数据在线应用,这些应用要求空间数据库支持数据的高并发性、存储访问的高效性和在线扩展性,关系数据库在这些应用面前疲态尽显,而NoSQL数据库具有高可用性、高可靠性和高性能等优异特性,无疑为满足上述应用要求提供了一条很有前景的解决之道。
空间索引是提高空间查询效率的关键技术,常用的空间索引包括网格索引、四叉树索引和R树索引等,而四叉树索引因其简单高效得到广泛应用。四叉树索引采用递归查询方法,从根结点开始进行层次遍历,对于关系型空间数据库,由于空间范围的连续性并不意味着数据物理存储的连续性,最终的空间查询结果往往需要很多次I/O操作,影响了查询效率。与关系数据库不同,Key/Value型NoSQL数据库具有顺序存储的特点,因此,如果数据查询时能进行顺序查询而不是随机查询,就能减少 I/O操作,提高查询效率。经典的四叉树索引或者不对数据对象编码作任何要求,或者采用层次四叉树编码,都不能有效利用Key/Value型NoSQL数据库顺序存储的优势。本发明在MX-CIF四叉树的基础上,设计了一种前序四叉树编码方案和索引方法,在使用Key/Value型NoSQL数据库存储时,能使矢量数据物理存储次序与空间连续性一致、数据主键次序与物理存储次序一致,从而在空间查询时发挥Key/Value型NoSQL数据库顺序查询的优势,提高查询性能。
发明内容
如图1所示,本发明针对矢量数据(主要是线状数据和面状数据)数据组织和四叉树索引的特点,结合Key/Value型NoSQL数据库主键逻辑顺序和物理顺序一致的特点,提供了一种基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法,这种方法矢量数据先序四叉树编码和索引方法包括如下步骤:
步骤1:完全四叉树空间划分与先序四叉树结点编码;
四叉树根结点对应整个数据空间,按完全四叉树的规则,将整个空间进行完全四叉树递归划分,直到到达四叉树的最大高度,得到一棵完全四叉树,然后对完全四叉树进行先序遍历,按先序遍历次序依次给各结点编号,直到完成整棵四叉树结点编码; 
步骤2:矢量数据前缀编码和索引构建;
从根结点开始遍历整棵四叉树,根据矢量对象的最小外包矩形(MBR)确定能完整包含该MBR的最小结点node,以该结点编码作为前缀编码该矢量对象,并以该编码作为主键key把矢量对象存储到数据库,然后更新node索引信息,索引信息包含两部分,一部分是索引对象(key,MBR)表,要求node中的索引对象表按主键key递增排列,一部分是索引区间(minKey,maxKey),表示以该结点为根的子树的索引键区间。最后更新从node到根结点路径上所有结点的索引区间;
步骤3:先序四叉树索引;
从根结点开始先序遍历;
A如果查询窗口与结点相离,跳过以该结点为根的整棵子树;
B如果查询窗口完全覆盖结点,则读取该结点的索引区间信息(minKey,maxKey),然后根据minKey和maxKey对数据库进行范围查询;
C如果查询窗口与结点部分相交,则首先读取该结点的索引对象表并进行MBR和查询窗口相交检测,然后使用通过检测的索引对象编码对数据库进行查询,最后先序遍历四棵子树,按上述方法处理子树结点。
本发明的优点为:该方法使数据物理存储次序与空间范围连续性一致、数据主键次序与物理存储次序一致,从而在空间查询时能减少 I/O操作,提高查询效率。
附图说明
图1为本发明的完全四叉树空间划分的示意图。
图2为本发明的四叉树先序编码的示意图。
附图标记说明:1-根结点编码;2、23、44、65、3、8、13、18、24、29、34、39、45、50、55、60、66、71、76、81、25、26、27、28、82、83、84、85-子结点编码。
 
图3为本发明的矢量数据前缀编码和索引构建的示意图。
附图标记说明:1、2、3、4、5、6-矢量对象及其外包矩形MBR。
图4为本发明的先序四叉树索引的示意图。
附图标记说明:1、2、3、4、5、6-矢量对象及其外包矩形MBR。
具体实施方式
以下结合说明书附图对本发明创造作进一步的详细说明。
实施例一。 
如图1、2、3和4所示,本实施例中,本发明的这种基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法:
步骤1:完全四叉树空间划分与先序四叉树结点编码;
(a)  完全四叉树空间划分;
设四叉树高度maxLevel = 4。将根结点一分为四得到四个等大的子结点,再对四个子结点进行递归分割,直到最大层次等于四叉树的高度,得到一个高度为maxLevel的完全四叉树;
(b)  四叉树先序编码;
对四叉树进行先序编码,根结点编码为1,得到高度=4的四叉树先序编码;
步骤2:矢量数据前缀编码和索引构建;
(a)前缀编码:对于每个矢量对象1(0001)、2(0002)、3(0003)、4(0004)、5(0005)、6(0006),首先得到其外包矩形MBR,确定能完整包含该MBR的最小结点编码分别为:1(02)、2(30)、3(65)、4(01)、5(76)、6(44)。把这些结点编码附加到矢量对象原来的编码上即为该对象的前缀编码;则这些矢量要素的前缀编码可记为1:020001、2:300002、3:650003,4:010004、5:760005、6:440006;
(b)索引构建:在矢量对象所在的四叉树结点中添加索引对象信息(前缀编码,MBR)。为了保证每个网格单元的索引信息表按前缀编码递增排序,采用直接插入排序插入索引信息。然后更新从该结点到根结点路径上所有结点的索引区间信息;
该例子中,对于结点1,其索引对象表:(010004,MBR),其索引区间:(010004,760005),对于结点65,其索引对象表:(650003,MBR),其索引区间:(650003, 760005);
步骤3:先序四叉树索引;
(a)从根结点开始先序遍历(灰色框为查询范围);
(b)  如果查询窗口与结点相离,跳过以该结点为根的整棵子树;
跳过编号为2,23和65的根结点的子树;
(c)如果查询窗口完全覆盖结点对应区域,则只需读取该结点的索引区间信息并对数据库进行范围查询;
没有找到查询窗口完全覆盖结点的区域;
(d)如果查询窗口与结点部分相交,则首先读取该结点的索引对象表并进行MBR和查询窗口相交检测,然后使用通过检测的索引对象编码对数据库进行查询;
编号为44的结点与查询窗口相交,该结点索引对象表为(650003,MBR)并能通过相交检测,则以650003对数据库查询,然后继续遍历子树,最后使用760005对数据库查询。

Claims (3)

1.基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法,其特征在于:这种矢量数据先序四叉树编码和索引方法包括如下步骤:
步骤1:完全四叉树空间划分与先序四叉树结点编码;
四叉树根结点对应整个数据空间,按完全四叉树的规则,将整个空间进行完全四叉树递归划分,直到到达四叉树的最大高度,得到一棵完全四叉树,然后对完全四叉树进行先序遍历,按先序遍历次序依次给各结点编号,直到完成整棵四叉树结点编码; 
步骤2:矢量数据前缀编码和索引构建;
从根结点开始遍历整棵四叉树,根据矢量对象的最小外包矩形(MBR)确定能完整包含该MBR的最小结点node,以该结点编码作为前缀编码该矢量对象,并以该编码作为主键key把矢量对象存储到数据库,然后更新node索引信息,索引信息包含两部分,一部分是索引对象(key,MBR)表,要求node中的索引对象表按主键key递增排列,一部分是索引区间(minKey,maxKey),表示以该结点为根的子树的索引键区间,最后更新从node到根结点路径上所有结点的索引区间;
步骤3:先序四叉树索引;
从根结点开始先序遍历;
A如果查询窗口与结点相离,跳过以该结点为根的整棵子树;
B如果查询窗口完全覆盖结点,则读取该结点的索引区间信息(minKey,maxKey),然后根据minKey和maxKey对数据库进行范围查询;
C如果查询窗口与结点部分相交,则首先读取该结点的索引对象表并进行MBR和查询窗口相交检测,然后使用通过检测的索引对象编码对数据库进行查询,最后先序遍历四棵子树,按上述方法处理子树结点。
2.根据权利要求1所述的基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法,其特征在于:该方法使数据物理存储次序与空间范围连续性一致。
3.根据权利要求1所述的基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法,其特征在于:该方法使数据主键次序与物理存储次序一致,从而在空间查询时能减少 I/O操作,提高查询效率。
CN201310051629.4A 2013-02-17 2013-02-17 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法 Expired - Fee Related CN103092992B8 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310051629.4A CN103092992B8 (zh) 2013-02-17 2013-02-17 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310051629.4A CN103092992B8 (zh) 2013-02-17 2013-02-17 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法

Publications (3)

Publication Number Publication Date
CN103092992A true CN103092992A (zh) 2013-05-08
CN103092992B CN103092992B (zh) 2016-08-03
CN103092992B8 CN103092992B8 (zh) 2016-09-14

Family

ID=48205557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310051629.4A Expired - Fee Related CN103092992B8 (zh) 2013-02-17 2013-02-17 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法

Country Status (1)

Country Link
CN (1) CN103092992B8 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126644A (zh) * 2016-06-22 2016-11-16 中国南方电网有限责任公司 基于NoSQL数据库的录波文件存储方法
CN103714145B (zh) * 2013-12-25 2016-11-23 中国地质大学(武汉) 关系型和Key-Value型数据库空间数据索引方法
CN108182242A (zh) * 2017-12-28 2018-06-19 湖南大学 一种用于海量多维数值数据范围查询的索引方法
CN110780793A (zh) * 2019-10-31 2020-02-11 北京梆梆安全科技有限公司 一种树形菜单的构建方法、装置、电子设备及存储介质
CN111666361A (zh) * 2019-03-08 2020-09-15 中南大学 一种存储多边形包含关系的四叉树构建方法及索引方法
CN111831876A (zh) * 2019-04-15 2020-10-27 北京四维图新科技股份有限公司 查询方法、设备和存储介质
CN113268557B (zh) * 2021-06-10 2023-08-04 中国人民解放军国防科技大学 一种适应显示导向型可视化分析的快速的空间索引方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289464A (zh) * 2011-07-18 2011-12-21 南京师范大学 一种矢量数据空间特征的编码方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289464A (zh) * 2011-07-18 2011-12-21 南京师范大学 一种矢量数据空间特征的编码方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MARIANO PEREZ等: "Efficient Coding of Quadtree Nodes", 《COMPUTATIONAL SCIENCE - ICCS 2006》, 31 December 2006 (2006-12-31), pages 13 - 16, XP019033079 *
李建勋等: "面向影像金字塔的线性四叉树编码及其特性", 《计算机应用》, vol. 31, no. 4, 30 April 2011 (2011-04-30), pages 1148 - 1151 *
赵波等: "面向移动GIS的动态四叉树空间索引算法", 《计算机工程》, vol. 33, no. 15, 31 August 2007 (2007-08-31) *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103714145B (zh) * 2013-12-25 2016-11-23 中国地质大学(武汉) 关系型和Key-Value型数据库空间数据索引方法
CN106126644A (zh) * 2016-06-22 2016-11-16 中国南方电网有限责任公司 基于NoSQL数据库的录波文件存储方法
CN108182242A (zh) * 2017-12-28 2018-06-19 湖南大学 一种用于海量多维数值数据范围查询的索引方法
CN111666361A (zh) * 2019-03-08 2020-09-15 中南大学 一种存储多边形包含关系的四叉树构建方法及索引方法
CN111666361B (zh) * 2019-03-08 2023-03-21 中南大学 一种存储多边形包含关系的四叉树构建方法及索引方法
CN111831876A (zh) * 2019-04-15 2020-10-27 北京四维图新科技股份有限公司 查询方法、设备和存储介质
CN110780793A (zh) * 2019-10-31 2020-02-11 北京梆梆安全科技有限公司 一种树形菜单的构建方法、装置、电子设备及存储介质
CN113268557B (zh) * 2021-06-10 2023-08-04 中国人民解放军国防科技大学 一种适应显示导向型可视化分析的快速的空间索引方法

Also Published As

Publication number Publication date
CN103092992B (zh) 2016-08-03
CN103092992B8 (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
CN103092992A (zh) 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法
CN103714145B (zh) 关系型和Key-Value型数据库空间数据索引方法
Xin et al. Graphx: Unifying data-parallel and graph-parallel analytics
US9400815B2 (en) Method of two pass processing for relational queries in a database system and corresponding database system
US9965821B2 (en) Fully parallel in-place construction of 3D acceleration structures in a graphics processing unit
US11307049B2 (en) Methods, apparatuses, systems, and storage media for storing and loading visual localization maps
CN103116625A (zh) 一种基于Hadoop的海量RDF数据分布式查询处理方法
CN107391502A (zh) 时间间隔的数据查询方法、装置及索引构建方法、装置
CN106874425B (zh) 基于Storm的实时关键词近似搜索算法
CN102662855B (zh) 一种二叉树的存储方法、系统
Wang et al. Distributed storage and index of vector spatial data based on HBase
CN103955514A (zh) 一种基于Lucene倒排索引的图像特征索引方法
CN105589908A (zh) 用于事务集合的关联规则计算方法
CN104408067A (zh) 一种多树结构的数据库设计方法及装置
CN103902700A (zh) 树形结构的数据处理方法
CN106503092A (zh) 一种使用多维化技术构建空间多维度搜索树的方法
CN103324762A (zh) 基于Hadoop的索引创建方法及其索引方法
CN113220820B (zh) 基于图的高效sparql查询应答方法、装置和设备
Roumelis et al. Bulk-loading and bulk-insertion algorithms for xBR^+-trees xBR+-trees in Solid State Drives
Sudhir et al. Replicated layout for in-memory database systems
CN112148830A (zh) 一种基于最大区域网格的语义数据存储与检索的方法及装置
CN102831146A (zh) 数据库子串过滤索引系统及其构建、查询方法
Roumelis et al. Bulk Insertions into xBR-trees
CN108108472B (zh) 数据处理方法以及服务器
Wang et al. GLIN: A (G) eneric (L) earned (In) dexing Mechanism for Complex Geometries

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Zhao Gang

Inventor after: Hu Bin

Inventor after: Liu Yi

Inventor after: Hu Qiuxiang

Inventor after: Luo Qing

Inventor after: Shao Hua

Inventor before: Hu Bin

Inventor before: Liu Yi

Inventor before: Hu Qiuxiang

Inventor before: Luo Qing

Inventor before: Shao Hua

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CI01 Publication of corrected invention patent application

Correction item: Inventor

Correct: Hu Bin|Zhao Gang|Liu Yi|Hu Qiuxiang|Luo Qing|Shao Hua

False: Zhao Gang|Hu Bin|Liu Yi|Hu Qiuxiang|Luo Qing|Shao Hua

Number: 25

Volume: 32

ERR Gazette correction
C53 Correction of patent of invention or patent application
CI01 Publication of corrected invention patent application

Correction item: Inventor

Correct: Hu Bin|Zhao Gang|Liu Yi|Hu Qiuxiang|Luo Qing|Shao Hua

False: Zhao Gang|Hu Bin|Liu Yi|Hu Qiuxiang|Luo Qing|Shao Hua

Number: 31

Volume: 32

CI03 Correction of invention patent

Correction item: Inventor

Correct: Hu Bin|Zhao Gang|Liu Yi|Hu Qiuxiang|Luo Qing|Shao Hua

False: Zhao Gang|Hu Bin|Liu Yi|Hu Qiuxiang|Luo Qing|Shao Hua

Number: 31

Page: The title page

Volume: 32

ERR Gazette correction
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160803

Termination date: 20200217

CF01 Termination of patent right due to non-payment of annual fee