[发明专利]一种多维特定非正交区域上基于属性的范围查询方法在审
申请号: | 201810054922.9 | 申请日: | 2018-01-19 |
公开(公告)号: | CN108388578A | 公开(公告)日: | 2018-08-10 |
发明(设计)人: | 阚海斌;唐渊;张新鹏;陆尧;任艳丽;吴小川 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: |
本发明属于计算几何的应用领域,具体为一种多维特定非正交区域上基于属性的范围查询方法。问题的定义为:给定一个 |
||
搜索关键词: | 多维 非正交 范围查询 直角三角形 平行 预处理 时间复杂度 占据空间 普适性 直角边 坐标轴 正交 查询 分解 | ||
【主权项】:
1.一种多维特定非正交区域上基于属性的范围查询方法,分为直角三角形的基于属性的范围查询和球体的基于属性的范围查询两个部分;定义1,网格点属性:任意给定一个d维网格,网格中的每个点为0或1,表示该网格点某属性为真或假;定义2,基于属性的范围查询问题:给定一个d维空间,d为一个常数,空间上任意的点对某属性可能为真或为假,对于该d维空间上任意的一个区域,判断该区域内某属性是否为真,即是否包含某属性为真的点;定义3,输入位矩阵A[0…N‑1],N∈[1,2w),w是机器位宽大小即字的大小,这里假定N是2的偶数幂;定义4,范围(i,j)上基于属性的范围查询定义为R1Q(i,j),则R1Q(i,j)就是查询子矩阵A[i…j]中是否存在点1;设N是输入矩阵A的大小为n*n;其特征在于:一、直角三角形基于属性的范围查询定义轴平行直角三角形ABC由三个网格点A、B和C构成,直角三角形基于属性的范围查询就是查询ABC中是否存在1;具体步骤为:(一)预处理:对于包含0的每个网格点P(x,y),每个
存储8个不同方向上的其他网格点的坐标:寻找位于P左水平距离为2p以内的一个1点,定为点L,使得PL沿顺时针方向与通过P的水平线有最小的角度θ;L的意义在于,没有任何一个直角三角形能够在具有长度为2p的水平基准的时候同时具有以下特征:在(x,y)处有一个端点;在(x,y)左边有另一个端点;斜边沿顺时针方向与通过P的水平线形成的非负角度比θ更小;包含一个1;使用同样的方法来标识这8个点;(二)执行查询:令2p为不大于|AB|的2的最大幂,2q为不大于|CB|的2的最大幂;分别在AB和CB上设定网格点D和E,使得|AD|=2p和|CE|=2q;设通过D的垂直于AB的线与AC相交于点G,通过E的垂直于BC的线与AC相交于点H,其中G和H不一定是网格点;假设顶点A,B和C中没有一个包含1;解决三角形ADG和CEH以及矩形BDFE的基于属性的范围查询问题,就可解决三角形ABC的情况;对于矩形的基于属性的范围查询问题,使用已有的消耗常数时间的确定性算法来解决;对于具有高度或长度等于2的幂的具有特定取向的直角三角形的基于属性的范围查询问题,在常数时间内被解决,即通过检查斜边上适当端点具体方向上的存储中是否具有在三角形内部的点;二、球形基于属性的范围查询球形基于属性的范围查询问题定义如下:给定d维输入位矩阵A,预处理给定A中的任何网格点p和半径
判断是否在以p为中心的半径为r的d维球中存在1,(d≥2);定义:距离网格点p最近的一个1称为p的最近邻,记为NN,每个网格点只有一个NN;(一)预处理:将位矩阵A的网格点的NN的位置存储在占用O(NlogN)位空间的临时NN矩阵中,并进行压缩以占用O(NlogN)位空间:将网格划分为
块,存储每个块边界上所有网格点的NN位置;内部点用箭头(→,←,↑,↓)和子弹(·)替换,具体规则如下:如果网格点p包含1,则p替换为(·),网格点的箭头指向它的NN;如果从任意一个内部点跟随箭头的方向,最终将停在包含1的边界点或内部点上;对于任何给定的块,如上所述创建的矩阵被称为符号矩阵;(1)创建位置矩阵:对于每种块类型,创建一个位置矩阵,如果NN是内部点,则存储对于块内的每个网格点指向其NN的指针,如果NN是外部或边界点,则存储指向边界点的指针;而边界点在输入数组中已经存储自己的NN位置;(2)压缩表示:丢弃原始输入矩阵,并将其替换:对于输入矩阵中的每个块,存储其块类型,即指向相应块类型的指针,然后存储其边界点的NN位置;对于每个块类型,保留其位置矩阵;(二)执行查询:通过检查中心点的NN位置是否在查询球体范围内,来解决球形基于属性的范围查询问题;确定NN位置的方法如下:找到给定点所属的块,并跟随指向其块类型的指针;检查位置矩阵中给定点存储的位置,如果它指向内部点,则该点是正确的NN;如果它指向一个边界点,再次按照存储在边界点处的指针来获取正确的NN。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810054922.9/,转载请声明来源钻瓜专利网。