[发明专利]一种并行的相互子空间Skyline查询方法有效
申请号: | 201811346389.X | 申请日: | 2018-11-13 |
公开(公告)号: | CN109446294B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 蒋涛;张彬;余发红;杨俊;陈丽 | 申请(专利权)人: | 嘉兴学院 |
主分类号: | G06F16/29 | 分类号: | G06F16/29;G06F16/2458 |
代理公司: | 杭州裕阳联合专利代理有限公司 33289 | 代理人: | 姚宇吉 |
地址: | 314000 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并行 相互 空间 skyline 查询 方法 | ||
1.一种并行的相互子空间Skyline查询方法,其特征在于,该方法的步骤如下:
步骤1)对所有数据对象,根据每一个维度i的坐标值建立一棵名为BDi-tree的B+树索引,以便于根据距离查询对象的远近顺序访问数据对象第i维的坐标值;
步骤2)根据用户参考点qu的起始位置并行地遍历BDi-tree索引,遍历遵循距离参考点越近越优先以及各维度同步的原则;
步骤3)计算用户参考点的动态的子空间Skyline,维护其对象集合S1,计算过程采用虚拟点VP来避免冗余扫描;
步骤4)根据反向参考点qr的起始位置并行地再次遍历BDi-tree索引,遍历策略与上述的步骤2)相同;
步骤5)计算反向参考点的反向子空间Skyline,维护对象集合S2,计算过程先求全局子空间的Skyline对象,再根据修剪策略消除非反向子空间Skyline的数据对象;
步骤6)计算集合S1和集合S2的交集,即从集合S1中将非反向子空间Skyline对象清除掉,获得更新的相互子空间Skyline结果列表。
2.根据权利要求1所述的一种并行的相互子空间Skyline查询方法,其特征在于:所述的步骤2)中的遍历策略指的是访问索引中节点的先后顺序以及多个维度访问时如何控制访问步进;该策略分三种情况考虑:
1)在同一个维度上,当未被访问的左边的节点与查询点的距离比未被访问的右边节点与查询点的距离更小时,先访问左边的节点,否则访问右边的节点;
2)在同一个维度上,当未被访问的左边的节点与查询点的距离等于未被访问的右边节点与查询点的距离时,左右两边的节点分别访问;
3)在不同的维度上,根据未被访问的节点与查询点距离的远近升序访问;每次访问后计算未被访问节点与查询点的L1距离;当所有维度中,有未被访问节点与查询点的距离最小时,该维度上的节点先被访问,直到未被访问节点与查询点的距离在所有维度中达到最大时为止。
3.根据权利要求1所述的一种并行的相互子空间Skyline查询方法,其特征在于:所述的步骤3)中的计算参考点qu的动态子空间Skyline的步骤包括:
1)根据参考对象qu维度i的坐标值qu[i],并行地获得其在每个维度的初始访问位置,即与qu[i]坐标值最接近的BDi-tree上的坐标值位置;
2)根据索引遍历策略并行地获得一组访问节点,并保存在列表中,计算每个维度的虚拟点VP;
3)针对列表中的当前组节点,根据动态skyline方法计算其局部的动态子空间Skyline点;
4)运用虚拟点测试和动态Skyline方法,在局部的动态子空间Skyline点上,并行地计算动态的子空间Skyline,维护参考点的动态子空间Skyline集合;
5)利用局部的动态子空间Skyline点,并行地判断参考点qu的动态子空间Skyline是否结束;如果满足指定的条件,则终止参考点qu的动态子空间Skyline计算,获得其结果集合S1。
4.根据权利要求1所述的一种并行的相互子空间Skyline查询方法,其特征在于:所述的步骤5)中的计算参考点qr的反向子空间Skyline的步骤包括:
1)根据反向参考对象qr维度i的坐标值qr[i],并行地获得其在每个维度的初始访问位置,即与qr[i]坐标值最接近的BDi-tree上的坐标值位置;
2)根据索引遍历策略并行地获得一组访问节点,并分发到各个分区的列表中,分区根据参考点坐标和当前数据点坐标的相对位置关系得出;
3)处理每个分区中的数据对象,获得反向参考点qr的反向子空间中的Skyline对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于嘉兴学院,未经嘉兴学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811346389.X/1.html,转载请声明来源钻瓜专利网。