论文部分内容阅读
空间数据库是当前数据库领域中一个前沿研究课题。空间数据库突破了传统数据库主要基于文字和数字信息的应用,能够存储和分析大量具有复杂结构的空间信息。空间数据库是一种存储非空间和空间数据的数据库系统,在查询语言和数据模型中支持空间数据类型、空间索引、空间分析和空间查询。近年来,在很多领域中出现了高维数据应用,例如基于内容的多媒体检索和数据仓库,数据常常以高维向量的形式存在,并且数据量都比较大。在实际查询过程中,例如在医疗诊断领域,电子商务,用户不仅对检索精度有一定的要求,对检索时间也会提出更高的要求,必须保证系统有较高的检索效率,因此有必要研究针对大规模高维向量空间的高效查询算法。在低维空间中线性扫描算法及基于R树、VA文件和NB树的空间查询算法的查询效率较高,而在高维空间中这些算法的查询效率均出现不同程度上的恶化现象。空间填充曲线是一种把d维空间映射成一维空间的方法。它像一条线一样穿过高维空间中每个离散单元,且只穿过一次。它按照线性顺序对这些单元进行编号。针对上述算法应用到高维空间时查询效率较低的问题,本文利用空间填充曲线的降低空间维度和数据聚类性质,依据曲线的构造过程将高维空间分割成大小相等的网格,从而将位于高维空间网格中的点映射到线性空间中。提出一种基于Hilbert曲线高维近似k最近邻查询算法AKNN。算法AKNN将d维空间中的点进行(d+1)次平移,将平移后的点映射到线性空间中,并用B~+树进行存储。算法AKNN扫描查询点在每棵B~+树中的k个前驱点和k个后继点,从2k(d+1)个候选点集中选择距离查询点最近的k个点作为近似k最近邻。提出一种基于Z曲线高维近似k最近对查询算法AKCP。算法AKCP在点集上进行(d+1)次线性扫描,每次扫描计算包含当前点与其k个后继点的最小网格,当最小网格的边长大于候选解的最大值时停止当前点的扫描操作,继续扫描下一点。使用Z区域聚类相似数据,设计一种改进的索引结构B~Z树,提出一种采用深度优先高维空间范围查询算法B~ZRQ。算法B~ZRQ采用高效剪枝策略,能够快速遍历B~Z树。提出一种基于Hilbert曲线网格划分聚类算法HC。算法HC首先以网格为单位合并出面积较小的聚集,然后将小聚集经过若干次合并形成较大聚集,最终使得聚集最优。实验结果表明这些算法可行且高效。