论文部分内容阅读
随着立体对地观测网、移动互联网、泛在物联网等技术的快速发展,海量时空数据(如车辆轨迹、个人轨迹、社交媒体数据,签到数据等)爆发式增长。这类数据具有流式动态、时空多维、规模海量、价值稀疏等特征。传统地理信息平台已无法克服时空大数据带来的严峻挑战,进而转向分布式文件系统和分布式数据库存储管理。基于分布式文件系统的时空大数据管理方式能够高效支持离线批处理任务,但无法支持低延迟时空查询;以HBase为代表的分布式数据库支持键值对条件过滤查询,但对多维时空查询支持能力不足。现有基于HBase的时空大数据存储研究对多维度时空查询进行了扩展,提高了多维度查询的性能,但仍然存在以下问题:1)部分研究方案仅支持点数据对象的存储及查询,不支持更为复杂的线、面矢量数据;2)部分研究方案虽同时支持对点、线、面矢量数据的存储与查询,但时空范围查询、k-NN查询效率仍有进一步提高和优化的空间。针对上述问题,本文在分布式数据库HBase的基础上,利用NoSQL数据库的优势,提出一套完整的存储组织、时空索引、查询检索的系统。该系统首先为矢量对象数据集分别构建了元数据表、编码表、数据表。其中元数据主要记录数据集的元信息,如包含数据的编码方案,矢量类型,空间参考等信息;编码表用于时空范围查询、k-NN查询;数据表用于支持时空矢量对象的属性查询。系统借助时空立方体理论,提出了基于空间填充曲线降维的时空串接编码索引,并基于该时空索引设计实现了时空范围查询算法,且本文设计提出了一种顾及数据分布的k-NN查询算法,其能够根据数据的分布控制网格的大小进行扩充搜索,从而提高查询效率。以纽约出租车数据为实验数据,本文进行了一系列对比实验:在关于空间划分最大递归次数的实验中,经试验验证当最大递归次数为6~10时查询性能最佳;在不同串接编码的性能对比实验中,TS编码在各个查询场景下整体占优;以k-NN查询的对比实验中,随着k的不断增加,k-NN查询所消耗的时间在数据密集区域k-NN查询时间更为稳定,没有明显的线性增长,而在数据稀疏区域k-NN查询时间呈明显的线性增长。且经实验验证,该方案系统能够在大数据场景下存储海量的时空矢量数据对象,且同时支持低延迟的时空范围查询、k-NN查询。