论文部分内容阅读
近年来,大量的GPS设备产生了大规模的具有时间和空间位置的数据,我们称之为海量时空数据。目前主流的时空数据存储方法大多基于单机空间数据库,由于单机性能有限,扩展性不高,渐渐不能适用于处理大规模时空数据。随着分布式云计算的高速发展,众多高性能的云平台层出不穷,为处理海量时空数据提供了契机,但是这些云平台在机器成本、能耗、实验场地等方面造价高,对普通用户收取的费用也是昂贵的。当前,时空索引的研究大多是单机下的串行索引,分布式时空索引很少研究。存储在分布式云平台上的海量时空数据,不但数据存放无序,而且需要遍历每条记录,才能检索到用户所需的内容,检索效率低下。所以,时空数据在云平台上的存储策略以及索引构建上面临巨大压力。如何利用云平台的高性能计算能力,有效的存储与检索时空数据,是必须解决的关键技术问题之一。基于以上问题,通过大量的准备工作,本文提出以下解决方案。首先,采用低成本低能耗的Cubieboard2 ARM开发板搭建Hadoop分布式云平台,分析云平台性能与能耗,验证其实用性。然后,在HDFS层次上,设计了两种全局-局部索引,即TGrid索引和QDtree索引。TGrid索引采用改进的网格划分算法将时空数据均匀的划分到HDFS数据块中,每个数据块构造一维时间的局部索引;QDtree索引采用改进的四叉树划分算法划分时空数据,构建多维R-tree的局部索引管理数据块中的数据。最后,设计存储优化策略,采用列存储与数据压缩的方法,减小磁盘存储空间,提高数据检索和网络传输效率。实验表明,该云平台虽然单机性能有限,但能够充分发挥Hadoop可扩展性,发挥并行计算的优势,弥补单节点的不足,而且成本低廉,有很好的借鉴意义。通过本文提出的两种时空索引机制和存储优化策略,不但合理的存储海量时空数据,节省存储的开销,而且索引对时间和空间属性的有效剪枝,大大提高了数据检索效率。