论文部分内容阅读
伴随着移动互联网的迅猛发展,基于LBS的兴趣点查询成为各种主流APP的核心功能之一。与此同时,基于LBS兴趣点数据的海量增长,使得原有技术越来越不能满足如下两方面的需求,一方面,现有关系型数据库对兴趣点数据的空间坐标属性处理能力相对薄弱,另一方面,关系型数据库无法有效地支持横向扩展与海量规模数据的处理。这就需要引入一种新的解决方案,该解决方案对空间数据的处理支持良好,又适应于大规模数据的扩展。HBase在数据库横向扩展及大规模数据处理上具有先天优势;同时,Geohash支持将二维坐标转换为一维字符串,且保留原有二维坐标的空间特性;HBase结合Geohash可有效地对海量规模的兴趣点数据进行存储与查询。针对传统关系数据库处理海量空间数据的不足,本文结合HBase天生处理海量数据的特性以及兴趣点数据特征,分别从兴趣点索引的设计与构建、兴趣点的区域查询两个方面展开研究。首先,根据HBase存储机制、主键设计原则以及兴趣点数据特征,结合HBase和Geohash,提出了一种新型的兴趣点数据索引结构GH-Index,并基于GH-Index提出了基于BulkLoad模式的兴趣点索引并行构建方案。其次,采用最小包围矩形近似策略,提出了基于GH-Index索引结构的矩形区域查询算法、K近邻区域查询算法。另外,对兴趣点区域查询算法的过滤方案进行了改进和实现,提高了兴趣点区域查询算法的查询效率。最后,对兴趣点的索引构建与区域查询进行了测试与对比分析。通过一系列对比实验证明:1)GH-Index索引的并行构建提高了索引构建效率;2)Region服务器端过滤方案提高了兴趣点区域查询算法效率;3)对比传统经纬度二维索引结构,基于GH-Index的区域查询算法的查询效率更高、可扩展性更好。