论文部分内容阅读
Skyline查询返回数据集合中不被任意对象支配的对象,描述了数据集的轮廓,在多目标决策、偏好查询等领域具有重要应用。目前 Skyline查询受到了学者的极大关注,在集中式环境和分布式环境下开展了卓有成效的工作。然而,Skyline查询存在一个不足,即随着数据属性维度的增大,Skyline查询返回的结果集大小无法控制,最坏情况下可能接近原数据集,从而无法为用户的决策提供有效的支持。基于这个背景,在 Skyline集中选择有代表性的点显得日益重要。本文在集中式和分布式环境下研究了选择 k个skyline代表点的问题,它同时考虑得分与距离两个因素,返回了更具代表的skyline点。本文的主要贡献包括: (1)集中式环境下,定义了新的评价函数作为Skyline代表点的衡量尺度,选取具有 k个最大评价函数值的Skyline作为Skyline代表点。新的评价函数兼顾了得分与距离双重属性,满足体现 Skyline集分布特性,同时又具有高支配能力的k个数据点的集合,最大化代表点的得分和非代表点与它最近的代表点之间距离的乘积。在二维空间提出了基于动态规划的解决方案,在高维空间采用aR-tree的索引结构存储数据,给出了近似的解决算法。算法维持一个访问列表,每次迭代先计算访问列表中得分与代表距离乘积最大的条目,再判断其是否被支配。若条目被支配则将其剪枝且终止当前迭代;若不被支配则继续迭代,选择条目中得分与代表距离最大的子条目继续计算。 (2)分布式环境下,提出了一个适用于分布式的评价函数。提出了 FDRA算法,算法利用反馈方法降低了计算开销。分布子节点每次只发送局部最大评价 F值的点到中心服务器,服务器再选取具有最大评价值和最小评价值的点 pa和 pb发送到分布子节点比较剪枝。若 pa不被任意点支配剪枝,则返回 pa作为一个skyline代表点输出并把被 pa支配的点剪枝;同时若分布节点内局部代表点的评价函数值值比 pb小,则剪枝整个分布节点,因为该分布节点内的点不可能成为代表点。算法尽早地最大限度地剪枝不可能成为skyline代表的点,大大地降低了通信开销,而且具有很好的渐进性。 (3)将提出的集中式和分布式下的算法与已有的解决算法进行了对比实验。集中式环境下,从评价函数值、代表错误以及运行时间等方面对算法的性能进行了分析验证;分布式环境下,从元组转移数目、评价函数值等方面进行评估,实验结果显示了新算法的有效性。