[发明专利]一种空间数据库中分组反向轮廓查询方法有效
申请号: | 201410007699.4 | 申请日: | 2014-01-07 |
公开(公告)号: | CN103778198B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 高云君;柳晴;苗晓晔;陈璐;赵靖文;秦旭 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 杭州天正专利事务所有限公司33201 | 代理人: | 王兵,黄美娟 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种空间数据库中分组反向轮廓查询方法。充分利用将现有的数据库管理系统平台和空间数据库引擎相结合构建而成的空间数据库系统,以及现有的空间数据库索引技术,本发明选用了R树作为分组反向轮廓查询方法的索引。在此基础上本发明首先开发了分组引擎,将多组混合在一起的数据进行有效的分离。接着开发了全局轮廓计算引擎,它计算出每组的第一层和第二层全局轮廓,其中第一层全局轮廓是作为最终查询结果的候选集,而第二层全局轮廓则用于后续的执行。最后开发了全局轮廓比较引擎,它能够有效地排除第一层全局轮廓中的错误命中,并得到每一组的最终反向轮廓。 | ||
搜索关键词: | 一种 空间 数据库 分组 反向 轮廓 查询 方法 | ||
【主权项】:
一种空间数据库中分组反向轮廓查询方法:其特征在于该方法的步骤如下:步骤(1):根据分组反向轮廓查询本身的特性以及用户的需求选用一个合适的数据库管理系统;步骤(2):开发一个空间数据库引擎,能与步骤1)中选用的数据库管理系统平台交互,并选用空间数据库索引技术;步骤(3):开发一个用于分组反向轮廓查询的分组引擎;步骤(4):在步骤(2)中构建的空间数据库和步骤(3)中构建的分组引擎的基础上实现各组全局轮廓计算引擎,包括第一层和第二层全局轮廓计算;步骤(5):开发一个全局轮廓比较引擎,对步骤(4)中得到的结果进行验证;步骤(6):对步骤(5)中的结果进行分组,以得到最终的查询结果;所述的步骤(1)中选用支持基本的SQL查询的数据库管理系统平台;所述的步骤(2)中的空间数据库引擎是构建在应用层和数据库层之间的中间件,所述的中间件与步骤(1)中选用的数据库管理系统相互配合,接受上层查询引擎的命令并转化为SQL语句在数据库管理系统中运行,空间数据库索引选用R树;所述的步骤(3)中的分组引擎根据对象原有的属性对其进行分组,需考虑两种情况:3.1)结点是中间索引结点,不做任何操作,因为中间结点所包含的对象可能来自不同组;3.2)结点是数据索引结点,那么将其分到相应的组中;所述的步骤(4)中计算各组全局轮廓的方法如下:4.1)初始化一个最小堆,并将根结点放入堆,该最小堆根据R树索引结点到查询点的最小距离进行排序;初始化两个对象集合,一个用来保存第一层全局轮廓,另外一个用来保存第二层全局轮廓;4.2)如果最小堆为空,则过滤算法结束,返回两个对象集合,即第一层和第二层全局轮廓;否则取出堆顶元素;4.3)计算取出的堆顶元素被该组当前已经找到的第一层和第二层全局轮廓点所全局控制的次数;对于R树索引结点被全局控制的次数,需考虑两种情况:a)该结点是中间索引结点,这种状况下根据其被全局控制的次数分为两种情况:i)中间结点最多只被一个该组第一层全局轮廓点所全局控制,那么将其索引孩子结点都加入到最小堆中,并跳到4.2);ii)中间结点被多个该组第一层全局轮廓点所全局控制,那么对于其孩子结点不做任何操作,并跳到4.2);b)该结点是数据索引结点,这种状况下根据其被全局控制的次数分为三种情况:i)数据结点没有被任何一个当前已找到的该组第一层全局轮廓点所全局控制,那么将该数据索引结点加入到第一层全局轮廓结果列表中并跳到4.2);ii)数据结点被一个当前已找到的该组第一层全局轮廓点和第二层全局轮廓点所全局控制,那么将该数据索引结点加入到第二层全局轮廓结果列表中并跳到4.2);iii)数据结点被多个当前已找到的该组第一层和第二层全局轮廓点所全局控制,那么对于该数据索引结点不做任何操作,并跳到4.2);所述的步骤(5)中全局轮廓比较方法如下:5.1)初始化一个对象集合,用来保存最终结果;5.2)取出一个第一层全局轮廓点,计算出该点的查询窗口,以进行下一步精炼;该查询窗口的中心点是相应的第一层全局轮廓点,查询点q则作为该查询窗口的一个顶点;如果所有组的第一层全局轮廓都已经精炼完,则算法结束;否则,继续操作5.3);5.3)遍历与5.2)中取出的第一层全局轮廓点同一组的第一层全局轮廓点,如果该查询窗口包含其它该组第一层全局轮廓点,那么该点不是最终结果并跳转到5.2);5.4)遍历与5.2)中取出的第一层全局轮廓点同一组的第二层全局轮廓点,如果该查询窗口包含其它该组第二层全局轮廓点,那么该点不是最终结果;否则该点是最终结果,加入到最终结果对象集合;并跳转到5.2);所述的步骤(6)中对步骤(5)中得到的结果根据其所在组进行整理,以得到每一组的反向轮廓。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410007699.4/,转载请声明来源钻瓜专利网。