论文部分内容阅读
随着多样的定位手段、用户终端及通讯方式的出现,潜在的移动数据源迅速增长,以基于位置服务为代表的移动应用已步入移动大数据时代。移动大数据环境下,传统基于位置服务(LocationBased Servive,LBS)技术面临来自系统扩展性、性能等方面的挑战。近几年随着云计算的持续火热,业界已经兴起了一股云计算的潮流,由于其灵活的扩展性、强大的处理能力、高可靠性,云计算已经成为解决大数据问题的有效方法。在此背景下,本文进行了深入的研究,主要工作包括两个部分,第一是针对LBS应用的特点,利用云计算技术设计一个高通量、可扩展的LBS系统框架。第二个是针对LBS中典型的应用——连续范围查询进行了优化。针对LBS系统框架的设计,本文首先分析新时期LBS相关应用的大规模、实时性、频繁更新等特点,确定了 LBS查询系统框架应具备的特性。然后根据LBS逻辑结构,结合LBS特点选取系统框架的各个部件。在消息队列方面,使用了分布式发布订阅系统Kafka。在查询处理方面,为了提高系统实时性、可靠性和扩展性,使用了实时流计算框架Twitter Storm。在数据存储方面,使用了分布式的、面向列的键值数据库HBase。最后提出了基于Twitter Storm的LBS查询框架,为大规模移动对象的存储、索引和查询提出了一种有效的解决方案。同时为了解决分布式集群环境中共享资源的一致性问题,本文使用了基于ZooKeeper的分布式锁服务,提高了系统框架的健壮性。此外,本文结合Twitter Storm的特点,提出了一个通用的、可扩展的LBS查询拓扑结构。本文对连续范围查询算法的优化技术的研究主要包括三个方面:1)设计实现了基于Twitter Storm的并行连续范围查询算法,本文结合基于Twitter Storm的LBS查询框架,设计并实现了基于Twitter Storm的连续并行范围查询算法,对传统单线程范围查询算法进行了并行化,提高了查询效率。2)设计实现了基于TimeCacheMap的缓存优化算法,针对基于Twitter Storm并行连续范围查询算法中存在访问数据库开销较大的问题,提出了基于TimeCacheMap的缓存优化算法,有效减少了访问数据库的开销,提高了查询的速度和效率。3)分片直传策略,针对LBS的某些应用场景中存在用户响应时间过长的问题,本文对查询结果的返回策略进行了相关的研究,并提出了分片直传的结果返回策略,有效减少了用户响应时间,提高了服务质量。