论文部分内容阅读
随着数据库技术在商业、军事等领域的广泛应用,对海量数据的分析与提取显得日益重要。基于属性偏好的查询作为数据库领域最为重要的查询之一,能够根据个性化的需求为用户筛选出用户最感兴趣的查询对象。目前,偏好查询在多目标决策、推荐系统等方面具有广阔的应用前景。反向k排名查询作为近年来出现的一种偏好查询,可以帮助商家查询对其产品最为感兴趣的消费群体,从而更好地服务于商业决策和市场营销。该查询在结果集规模、查询视角等方面具有其他查询无法比拟的优势。但是,在查询多样性、结果可用性方面仍然存在不足,鉴于此,本文结合真实的应用场景,从查询多样性、结果可用性两个层面对反向k排名查询技术展开研究,主要工作概括如下:(1)针对现有的方法不能有效解决多对象反向k排名查询的不足,提出了一种基于群组的反向k排名查询算法GP-RKR。该方法首先根据属性相似性原则,采用聚类算法对查询点集合进行聚类划分;然后给出了一种层次网格索引结构LG-Index对数据点进行分层索引,并基于该索引结构,采用边界值裁剪和提前过滤策略,减少排名计算过程中的判定次数,进一步优化查询效率。在模拟和真实数据集上验证算法的正确性和有效性,实验表明该查询方法在解决多对象下的反向k排名查询问题能够兼顾结果集质量和查询效率。(2)为了提高反向k排名查询的结果可用性,从而帮助用户得到其想要的查询结果,本文对反向k排名查询中的Why-not问题进行了分析,并构建了查询调整的代价模型。在此基础上,提出了反向k排名查询中求解Why-not问题的MWKR算法。算法采用修改缺失向量集与k值的查询调整策略,通过样本空间裁剪、候选集渐进构造等方法,得到局部最优解。在模拟数据集和真实数据集上验证了算法的有效性和高效性。(3)从反向k排名查询的现实应用场景出发,设计并实现了一个支持空间约束的反向k排名查询系统。首先分析了现实应用场景的查询需求,构建了查询模型和数据模型;然后,对该系统的总体架构、数据交换模块、索引模块、查询引擎模块进行了详尽的介绍。在此基础上,通过Java Web技术实现了该原型系统,并结合一个真实的用户查询场景给出了查询过程和结果展示,从而验证了该系统的可用性。友好的前端可视化界面使得查询结果可以动态的呈现在地图及平行坐标轴上,方便用户直观的分析结果。