论文部分内容阅读
随着3S(RS、GIS、GPS)技术的蓬勃发展,时空数据已成为各行业发展的重要引擎之一,“互联网+时空大数据”的时代已悄然而至。多尺度、多维度、高精度的矢量时空数据呈指数级的增长,如何对时空数据进行高效存储、索引及应用管理已成为亟待解决的热点问题。矢量时空数据作为GIS重要表现形式,其高效存储与索引管理是该领域应用的关键问题之一。传统关系型数据库考虑诸如事务、范式约束等特性,已无法满足大规模、高并发时空数据应用需求。NoSQL数据库以其分布式、可扩展性及无ACID等特性,在大数据复杂信息的存储与管理方面获得良好的性能,已受到学术界和商业界的青睐。基于此,本文借助Redis数据库对矢量时空数据的存储模型、时空索引、时空查询等方面展开深入研究。研究内容可概括为三部分:(1)构建了一种基于Redis的矢量数据存储模型。为满足矢量时空大数据高效存储与查询,利用Redis几种常见的键值数据类型,提出了矢量时空数据分层分级索引机制。首先,对国内外有关面向矢量大数据的存储模型进行探讨;其次,设计矢量时空分层存储模型,并在此基础上对该结构中各层矢量数据的要素对象进行组织。作为本文后续工作的理论依据和研究基础。(2)提出了一种基于Redis的矢量时空查询算法。鉴于时空数据的矢量查询应用中缺乏对时间维的考虑,构建了基于Redis的矢量时间-空间两级索引模型。首先,划分时空数据空间部分,Hilbert编码空间要素对象;其次,将具有相同Hilbert值的模块进行整合,构成多个空间数据集,各模块间是不同时间参考的图层集合;最后,利用Redis合适的键值数据类型对该模型进行组织。实验在真实数据集上展开,与传统空间数据库Oracle Spatial相比,进行时空范围查询及时空范围并行化查询测试。实验结果表明:所提算法查询耗时缩短4.5倍,并发性能更优,验证了Redis更适用于海量时空数据高效查询与并发处理。(3)提出了一种结合时间和聚类结果的Hilbert-R树分级索引算法。树形索引结合聚类技术来探讨空间索引技术的研究成为热门,然而进行树形索引构建时,易造成节点重叠和死空间的问题,提出一种基于Hilbert-R树的分级索引模型。首先,基于Redis丰富的key-value数据类型对周期化的数据集建立时间索引;其次,经Hilbert划分空间进而聚类处理;最后,利用聚类结果与时间属性构建Hilbert-R树的分层分级索引结构。设计了基于Hilbert-R树的时空查询处理方案,进行数据密集型及时空范围查询测试。经验证,所提算法受数据分布状况的影响不大,可有效降低时间开销,使查询时间平均缩短约25%,且对树节点的访问量较小。