论文部分内容阅读
出租车是现代社会广泛使用的交通工具,它在日常生活中起着重要的作用。然而,打车难却是人们时常遇到的问题。人们经常不知道该去哪里等出租车,也不知道等待出租车要花费多长时间。现在,许多城市的出租车已经安装了定位装置,这些装置按照一定的频率采集出租车的定位信息,并发送到中央服务器。随着大数据技术的发展,现在已经有能力去发现隐藏在这些大数据中的潜在价值。本文的目的就是通过分析大规模出租车定位的轨迹数据,设计并实现出租车打车推荐系统。用户通过移动APP软件,获得打车推荐服务,从而有效地解决打车难问题。本文首先介绍了该领域的不同阶段的研究成果。阐述了数据库、分布式系统、移动互联网等相关技术在打车推荐系统中的应用。在此基础上,根据打车问题的实际应用场景,分析了用户的实际需求,并结合对相关技术的研究,设计并实现了该分布式系统。系统底层基于Hadoop分布式集群,此外,MySQL和MongoDB提供数据库服务,Tomcat服务器提供查询服务,移动APP作为系统的客户端。该系统能同时为多用户提供推荐服务和拼车服务。本文重点研究了挖掘模块的核心技术难点,分析了已有的算法存在的问题,改进了相关算法。针对地图匹配算法的误计算问题,本文改进了它的转移概率公式。针对海量数据的计算规模问题,本算法优化了空间索引算法并实现了并行计算模型。实验证明,改进后的算法有更好的地图匹配效果,并且计算速度大大提高。在此基础上,本文改进了一种基于概率学的推荐模型。针对乘客排队乘车的问题,引入了优先队列模型描述乘客等车的场景。实验证明,通过该模型能更好的计算出不同区域的打车难易度。最后,本文测试了打车推荐系统的推荐服务和拼车服务。通过采用人工记录的方式,统计不同位置的真实数据并与系统计算的数据进行比对。测试结果证明,各项服务运行稳定,达到预期效果。打车推荐系统有效的解决了打车难问题,降低了用户的出行的成本。