论文部分内容阅读
在金融和证券等行业的大数据处理应用中,存在很多需要对大规模历史数据进行回放的服务需求。在一个历史数据回放应用中,首先需要从底层存储系统中查询和加载大规模历史数据,并以用户定义的逻辑处理这些数据,将数据转化为动态的数据流,最终由系统加以回放。例如,股票量化分析平台以及在线电子交易平台中,就存在很多这种数据回放服务需求,以便于进行回归测试分析或者系统性能测试。然而,目前国内外这种历史数据回放系统尚不多见。如前所述,这种历史数据回放系统是一种特殊的系统,它既需要具备按照用户需求进行数据查询的能力,同时又需要具备流式数据处理的能力与流出计算的能力,因而不等同于流式处理系统或数据库系统。因此,现有的包括流计算以及数据库在内的系统,都不具备这类数据回放服务能力。流计算系统本质上被设计成对动态流式数据进行流入计算处理,因而缺乏对已存在的历史数据进行回放处理的能力;而数据库系统虽然支持复杂灵活的查询,但不具备流处理功能,不能直接应用于上述流式数据回放服务。为此,有必要研究实现一种专门的历史数据回放系统。针对上述应用需求和问题背景,本文首先研究构建了一种通用化的数据回放模型与框架,并基于该模型与框架研究实现了一个高效的分布式数据回放系统。本文的主要研究工作和贡献点如下:(1)为了支持灵活的数据回放处理语义和逻辑,研究提出了一种通用化数据回放模型和框架,该模型和框架将流处理功能和复杂查询处理功能结合起来,并且构建了一系列内置的标准回放操作符,用于表达上层回放应用中复杂灵活的回放处理语义和逻辑。通过使用内置的标准回放操作符,回放应用系统开发者能够快速地为各种特定的回放应用业务需求开发复杂高效的回放应用程序。(2)基于上述的通用化数据回放模型和框架,本文研究并设计实现了一个高效的分布式数据回放系统Penguin。该回放系统支持回放应用开发者开发具备高吞吐量的回放应用程序,从而对来自多个底层数据源的大规模历史数据进行高效灵活的查询和回放处理,同时该回放系统还提供了回放速率调节功能,并保证了回放速率的QoS。(3)为了进一步提升该回放系统的回放性能,本文研究实现了两个底层优化技术,包括源数据缓存优化技术以及单数据流并行化生成技术。(4)性能测试实验结果表明,与Apache Phoenix和Apache Hive相比,在数据准备阶段,本文系统Penguin可分别达到2.5倍和47倍的加速比。在回放阶段,Penguin可分别达到8倍和7倍的加速比。(5)作为一个实际落地应用案例,本文回放系统Penguin已经部署在华泰证券公司的生产线上,为证券基金行业用户提供在线历史证券数据高效回放服务。本文研究提出了一种大数据回放计算模型,并设计实现了一个高效的分布式数据回放系统,该系统不仅在证券行业得到实际落地应用,而且由于其在大数据回放模型和系统上的创新性,在分布并行计算国际顶级期刊TPDS上发表了研究论文一篇(CCFA类期刊)。