[发明专利]一种多维正交区域上基于属性的范围查询方法在审

专利信息
申请号: 201810054924.8 申请日: 2018-01-19
公开(公告)号: CN108388579A 公开(公告)日: 2018-08-10
发明(设计)人: 阚海斌;唐渊;张新鹏;陆尧;任艳丽;李雪峰 申请(专利权)人: 复旦大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 上海正旦专利代理有限公司 31200 代理人: 陆飞;陆尤
地址: 200433 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明属于计算几何的技术领域,具体涉及一种多维正交区域上基于属性的范围查询方法。问题的定义为:给定一个d维空间,d为一个常数,空间上任意的点对某属性可能为真或为假,对于该d维空间上任意的一个正交区域,判断该区域内某属性是否为真,即是否包含某属性为真的点。本发明在对给定的d维空间进行预处理的情况下,在接近常数的时间复杂度内,解决多维正交区域上基于属性的范围查询问题。相比现阶段存在的传统方法,本发明具有普适性强,占据空间少,查询时间短的优点。本方法适用所有正交形状上基于属性的范围查询,占用至多线性空间,并且可以在常数时间内得到查询结果。
搜索关键词: 正交 范围查询 多维 预处理 时间复杂度 查询结果 线性空间 占据空间 普适性 占用 查询
【主权项】:
1.一种多维正交区域上基于属性的范围查询方法,分为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;其特征在于:一、1维基于属性的范围查询的具体步骤如下:(一)预处理:设输入位矩阵A有个字,对于每个p∈[0,logM],构造两个大小为的数组Lp和Rp,令W(i)表示A中的第i(i∈[0,M‑1])个字;定义Lp如下:如果W(i)为1,L0[i]为0,反之为1;且有:Rp公式类似得出:数组元素Lp[i]存储从A开始测量2p个连续字的第i个块中包含最左边的1的距离;而数组元素Rp[i]存储从A结尾测量2p个连续字的第i个块中包含最右边的1的距离;Lp[i]=2p(Rp[i]=2p)表示A的2p个连续字中的第i个块不包含1;(二)执行查询:对于R1Q(i,j),考虑两种情况:(1)字内查询:如果(i,j)位于一个字内,则使用位偏移来得到基于属性的范围查询结果;(2)字间查询:如果(i,j)跨越多个字,则将查询分为三个子查询:(a)从i到其字结尾的基于属性的范围查询;(b)包含i的字和包含j的字之间的基于属性的范围查询;(c)从包含j的字开始到j的基于属性的范围查询;当且仅当三个子查询中的至少一个的基于属性的范围查询的结果为1时,字间查询的答案为1;第一和第三个子查询是字内查询,可以使用位偏移得到结果;假设包含索引i和j的字分别为I和J,且由R1QL0(I+1,J‑1)表示第二个子查询:使用J‑I‑1的最高有效位MSB,找出最大的整数p,使得2p≤J‑I‑1;将R1QL0(I+1,J‑1)分解为以下两个大小为2p的重叠查询:R1QL0(I+1,I+2P)和R1QL0(J‑2P,J‑1);如果这两个范围中的任一个包含1,则原始查询的结果将为1,否则为0;为说明R1QL0(I+1,I+2P),首先将L0分割成大小为2p的块,然后范围R1QL0(I+1,I+2P)可以被一个或两个连续的块覆盖,假设I+1在第k个块;如果范围在一个块中,通过检查Lp[k]<2p是否为真来判断该块是否存在1;如果范围被两个连续的块覆盖,通过检查Rp[k]≤(k+1)2p‑I和Lp[k+1]≤I+2P‑(k+1)2p的或值来判断块中是否存在1;同样地说明查询R1QL0(I+1,I+2P);二、多维基于属性的范围查询的具体步骤如下:多维基于属性的范围查询问题定义如下:对于d维基于属性的范围查询,输入位矩阵A的大小为N=nd,d≥2,为了说明简便,假定维度为2;查询R1Q([i1,j1][i2,j2])就是查询子矩阵A[i1…j1][i2…j2]中是否存在1;(一)预处理:对于每个p,q∈[0,logn],将A分成个块,每个大小为2p×2q,称为(p,q)块;对于每个(p,q)块,构造四个大小为的表,使用TL、BL、TR和BR代指左上、左下、右上和右下四个方向:(1)TLp,q:如果p≤q,TLp,q[i,j][k]表示从当前块的左上角开始高度为k的矩形,k∈[0,2p),必须具有至少TLp,q[i,j][k]的宽度,以包括至少一个1;(2)BL,TR,BR:与TL类似,但表示时分别从左下角,右上角和右下角开始;在所有情况下,存储值若为max(2p,2q)则表示该块没有1;(二)执行查询:给定一个查询[i1,j1][i2,j2],找出最大的整数p和q,使得2p≤j1‑i1+1和2q≤j2‑i2+1;之后原始查询范围就可以分解为四个重叠的(p,q)块,称为功率矩形;每个块都具有原始矩形的四个角中的一个角;如果这四个矩形中的任何一个包含1,则原始查询的答案将为1,否则为0;接下来说明如何进行功率矩形的基于属性的范围查询:考虑预处理(p,q)块中A的划分,四个大小为2p的功率矩形中每个最多相交四个预处理(p,q)块;定义每个包含在功率矩形和(p,q)块中的矩形叫做分割矩形;通过使用表查找来解答分割矩形的基于属性的范围查询,即检查适当(p,q)块的表值是否在功率矩形的边界内。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201810054924.8/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top