论文部分内容阅读
随着时态地理信息系统的发展和智能移动设备的普及,全球每时每刻都在产生海量地理空间数据。大量有价值的知识和潜在的规律信息被蕴藏在数据中,这些数据的价值会随着时间的流逝而减少。因此,对时刻产生的地理空间数据进行实时处理与应用显得格外重要。地理空间数据的传统处理方式是将文件或数据库中存储的数据一次性加载到内存中,对这些数据进行处理后将得到的结果反馈给用户。该方式存在很多弊端,首先流数据是不间断产生的,并且具有无限的特性,而传统分析方法需要将所有数据都加载到内存中再进行后续分析,在数据量过大同时内存限制的环境下,传统分析方法就会失效;其次,传统处理方式在处理流数据时,通常会对数据进行循环扫描处理,而在处理流数据过程中,分析方法通常只能单遍扫描,即每个数据只会被处理一次。流数据处理方式是在数据流到来时及时处理并将结果反馈给用户。针对上述问题,本文基于Spark Streaming和HBase等核心技术设计实现了地理空间实时流数据压缩与查询技术方案。该技术实现了对地理空间数据进行实时压缩、存储管理与连续查询等功能,具有高效压缩、实时查询等优点。本文的主要工作如下:(1)针对地理空间实时流数据实时性和具有时空属性等特点,对CE轨迹压缩算法进行改进,结合时间属性与空间属性信息作为阈值,设计了T-CE轨迹压缩算法,该算法避免了短时间内曲线中具有代表性的点被误删除的情况,在一定程度上提高了压缩精度。(2)根据地理空间数据的结构特点和HBase的存储特性,实现了地理空间数据在HBase中的存储模型,并根据轨迹压缩和连续查询时不同存储需求选择不同的行键设计。(3)针对轨迹点数据动态更新的特点,提出了基于四叉树索引的概念分区方式,通过该方式访问数据能够更好地适应轨迹点实时更新特性,并且解决了简单网格索引由于数据的不均匀分布导致的各个网格内数据量负载不平衡问题。(4)基于四叉树索引的概念分区方式,实现了连续k邻近查询和连续范围查询,在查询过程中基于轨迹数据变化特点对历史查询结果进行更新,得到最新查询结果。通过结果更新方式,避免了查询工作的大量重复计算,提高了查询性能。最后,本文搭建了集群环境,基于T-Drive北京出租车轨迹数据,进行了相关性能测试。实验结果显示本文研究的地理空间实时流数据压缩与查询技术在连续查询性能方面优于同类方案,在实时压缩方面,本文提出的T-CE算法具有压缩速度快、误差小等特点。