[发明专利]一种空间数据库中分组反向轮廓查询方法有效
申请号: | 201410007699.4 | 申请日: | 2014-01-07 |
公开(公告)号: | CN103778198B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 高云君;柳晴;苗晓晔;陈璐;赵靖文;秦旭 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 杭州天正专利事务所有限公司33201 | 代理人: | 王兵,黄美娟 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 空间 数据库 分组 反向 轮廓 查询 方法 | ||
技术领域
本发明涉及数据库的索引与查询技术,特别是一种空间数据库中分组反向轮廓查询方法。
背景技术
空间数据库通常基于通用数据库管理系统构建。不同的空间数据库系统实现时选取的数据库管理系统平台与操作系统平台不尽相同。空间数据库引擎是以屏蔽操作系统和数据库管理系统差异为目的,在应用层和数据库层之间构建基于高效空间搜索的数据访问中间件,是向应用层提供数据存储、高效检索、数据管理、网络通信、事务处理和简单数据处理功能的程序集合。空间数据库引擎基于传统的关系数据库,但它能对空间数据信息进行有效的处理和管理,并提供特定的空间数据关系运算和空间数据分析功能。
在所有空间数据库的索引技术中,R树及其变体因为简单易用和有效性而受到广泛地应用。R树空间索引结构是一个高度平衡的数据结构,它是基于对经典的B+树索引结构的改进与扩展,从而能够有效地处理空间数据信息。R树的每个结点包含一个矩形区域的索引码,该矩形区域由对应结点的所有孩子结点的最小外包矩形嵌套组成,其中最小外包矩形的每一条边都和一个全局坐标系的坐标轴平行,同时每个结点还包括一系列的子索引项,每个子索引项包括对应的子结点指针和子结点的矩形索引码。
轮廓查询问题也称为极大向量问题,是一个典型的多目标优化问题,对它的研究最早可以追溯到1975年。具体而言,轮廓查询是指从一个给定的空间对象集合S中选择一个子集,该子集中的点都不能被S中的任意一个其他点所控制,满足这个条件的点称为轮廓点SP。反向轮廓查询则是轮廓查询的一个重要变体,它与轮廓查询的执行立场刚好相反,目前已受到了专家学者们的重视。
在现实情况中,所给的数据之中可以根据某些属性分成若干组。传统的反向轮廓查询只能在整个数据集上返回整体的反向轮廓。如果要返回每一组的反向轮廓,则要对每一组的数据都建立一棵R树,然后在每一棵R树上返回相应的结果,但这样的查询效率极低。
发明内容
本发明的目的在于提供一种空间数据库中分组反向轮廓查询方法。
本发明解决其技术问题采用技术方案的步骤如下:
步骤(1):根据分组反向轮廓查询本身的特性以及用户的需求选用一个合适的数据库管理系统;
步骤(2):开发一个空间数据库引擎,能与步骤1)中选用的数据库管理系统平台交互,并选用空间数据库索引技术;
步骤(3):开发一个用于分组反向轮廓查询的分组引擎;
步骤(4):在步骤(2)中构建的空间数据库和步骤(3)中构建的分组引擎的基础上实现各组全局轮廓计算引擎,包括第一层和第二层全局轮廓计算;
步骤(5):开发一个全局轮廓比较引擎,对步骤(4)中得到的结果进行验证;
步骤(6):对步骤(5)中的结果进行分组,以得到最终的查询结果。
所述的步骤(1)中选用的数据库管理系统平台应支持基本的SQL查询,目前大部分的数据库管理系统都满足这一要求,像Oracle、SQL Server、MySQL。
所述的步骤(2)中的空间数据库引擎是构建在应用层和数据库层之间的一种中间件,它必须与步骤(1)中选用的数据库管理系统相互配合,接受上层查询引擎的命令并转化为SQL语句在数据库管理系统中运行,空间数据库索引一般选用R树。
所述的步骤(3)中的分组引擎,它主要根据对象原有的属性对其进行分组,需考虑两种情况:
3.1)该结点是中间索引结点,不做任何操作,因为中间结点所包含的对象可能来自不同组;
3.2)该结点是数据索引结点,那么将其分到相应的组中。
所述的步骤(4)中计算各组全局轮廓的方法如下:
4.1)初始化一个最小堆,并将根结点放入堆,该最小堆根据R树索引结点到查询点的最小距离进行排序;初始化两个对象集合,一个用来保存第一层全局轮廓,另外一个用来保存第二层全局轮廓;
4.2)如果最小堆为空,则过滤算法结束,返回两个对象集合,即第一层和第二层全局轮廓;否则取出堆顶元素;
4.3)计算取出的堆顶元素被该组当前已经找到的第一层和第二层全局轮廓点所全局控制的次数。对于R树索引结点被全局控制的次数,需考虑两种情况:
a)该结点是中间索引结点,这种状况下根据其被全局控制的次数分为两种情况:
i)该中间结点最多只被一个该组第一层全局轮廓点所全局控制,那么将其索引孩子结点都加入到最小堆中,并跳到4.2)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410007699.4/2.html,转载请声明来源钻瓜专利网。