论文部分内容阅读
随着定位技术的普及和无线传输技术的发展,大量轨迹数据正以各种方式快速产生和收集起来,并被广泛用于基于位置的服务(LBS)、无人驾驶、动物行为研究、气象预测和城市规划等领域中。应用行业的快速发展提出了对轨迹数据进行管理、计算、分析和挖掘的强烈需求。 为支持相关行业的发展,数据库社区在近几年提出了大量针对轨迹数据设计的技术和系统。然而,传统的方法和系统在应对现在的各种轨迹数据分析场景时,已表现出显著的局限性。首先,现有的方法往往只针对轨迹数据管理和分析整个流程中的某一特定环节而设计,导致用户在各种分析场景中只能将多个系统拼凑起来形成一种异构而低效的架构方案。其次,由于异构架构的分隔性以及系统灵活性的缺失,大量针对不同场景而设计的优化技术无法应用在复杂的轨迹数据分析流程中。再次,基于传统数据库或分布式批处理的系统无法应对实时轨迹数据的动态变化,而基于流式计算的系统又难以维护并结合大规模历史轨迹数据进行有效实时分析。最后,受到系统效率和易用性的限制,现有系统难以支持对大规模轨迹数据进行有效可视分析和实时交互。 本文主要从新型数据库系统架构的角度,针对大规模轨迹数据管理与分析的问题进行深入探索和研究,同时也针对新系统的特性设计了新的优化算法与索引结构。以大规模轨迹数据管理和分析的全流程为目标,本文提出了一个统一的系统平台——UlTraMan。UlTraMan为轨迹数据管理和分析提供了高效性、灵活性、可靠性、可扩展性、易于优化性和便于使用性,同时从数据引擎底层有效融合了数据批处理和流式计算两种范式,为多种轨迹数据分析场景提供了统一的框架和高效的平台。具体而言,UlTraMan系统的创新性体现在以下几个方面: 1)针对静态轨迹数据,UlTraMan创造性地替换了Spark的内部数据缓存机制,从而支撑更好的数据管理功能,从底向上构建了一个融合存储与计算的数据引擎。同时,在这个融合引擎的支持下,我们基于MapReduce提出了一个更为强大和灵活的分布式计算范式TrajDataset,在分布式的全局和本地任务中都能有效支持数据的随机访问和任务调度。 2)UlTraMan能有效支持轨迹数据的动态管理和实时分析。在保留高效性、灵活性、可扩展性、易于优化性和便于使用性的同时,UlTraMan提供动态轨迹的更新机制、错误轨迹数据的修正机制和分析结果的动态变化机制,从而为更加广泛的动态轨迹数据管理、实时分析和迭代式数据清洗维护的各种场景提供了新的解决方案。 3)基于高效的数据管理和分析框架,结合最新的信息可视化技术,UlTraMan提供了一个轨迹数据实时交互和可视分析的系统原型。该系统一方面验证了数据管理和分析框架的有效性和易用性,另一方面也扩展了应用场景,使得系统能更好地应对轨迹数据可视分析场景中的各种复杂情况。 4)针对常见的几个基础轨迹查询,以及另外几个复杂且创新的轨迹数据分析场景,UlTraMan设计和实现了新的索引结构和算法优化,提出了一个可以端到端使用的轨迹数据管理与分析系统。同时,通过详尽的对比实验,UlTraMan展示出了相比于现有方法的高效性与优越性。