核心思想
主要任务是选出reverse skyline查询点
- 初始状态下,候选集为全局点集
- 经过第一个MapReduce任务,得到了经过候选过滤集筛选过的候选集,这时候选集中的点已经得到了指数级的下降
- 经过第二个MapReduce任务,利用判断过滤集进一步筛选,得到最终的结果集
名词解释
- 候选集:有机会成为结果集中的点,一开始,全局点集均是候选集中的点;经过候选过滤集中的点的全局、局部两次筛选,又经历combine操作的筛选,砍掉很大一批;然后到第二个MapReduce,经过判断集的筛选,把不合适的都剔除掉了!最后幸存的就是结果集。
- 判断集:判断集用来在第二个MapReduce任务中判断候选集中的点是不是查询点的reverse skyline点,利用的性质是,查询点必须是结果集中点的dynamic skyline点;这个时候判断集中的点绝对不能很多,否则遍历太麻烦。那么怎么确定判断集呢,这时就需要判断过滤集了
- 判断过滤集:用来筛选得到判断集的集合,首先全局点集都是判断集,利用判断过滤集三次筛选(分区,细化分区,具体点)才能得到最终的判断集。它是由候选过滤集的长方形判断区域的右上角的点组成(第一象限时)
- 候选过滤集:用来筛选候选集中的点,它跟利用判断过滤集筛选判断集是一样的。是由离查询点最近的点组成的点集
算法实现的具体步骤:
- 以全局点集为候选集
- 根据skyline查询选出候选过滤集
- 用候选过滤集过滤候选集,过滤掉一些分区
- 再次细分,用候选过滤集进行局部过滤,过滤掉一些小分区
- combine阶段,用候选过滤集过滤掉具体点
- reduce阶段,判断候选集中的点是否合格
- 第二阶段
- 用判断过滤集过滤全局的点,分为全局过滤和局部过滤,与第一阶段中用候选过滤集过滤全局中的点类似,得到判断集
- combine操作:用判断集对候选集进行过滤 方法为判断查询点是否为候选集中的点的dynamic skyline点
- reduce操作:合并,筛选出所有任务都未被过滤的点,得到结果集即为查询点的reverse skyline点集