论文部分内容阅读
随着信息技术的快速发展,各种行业应用中对多源异构数据的处理量飞速增长,如何对其进行高效的整合是是数据应用中的核心问题。然而,现有的数据整合工具在扩展性、性能、功能等方面存在不足,难以应对当下不断变化的数据整合需求。为此,本文基于Disruptor队列技术设计与实现了一个易扩展的高效ETL系统。首先本文研究并设计了一种基于插件式理念的“Framework + Plugin”ETL系统架构,并完成了系统功能模块和任务执行流程的设计。该架构具有良好的可扩展性,可针对不同的数据源提供具体的适配,从而能较好地解决数据的多源异构问题。然后,本文对ETL系统的性能优化展开了进一步的研究。首先,通过对“生产者--消费者”模型中数据缓冲区的实现方法进行了探索与验证,找到了传统ETL工具中基于阻塞队列技术的缓冲区性能问题所在,并基于Disruptor对数据缓冲区进行了性能优化,通过性能测试对Disruptor在性能方面的改进进行了验证。其次,采取了多线程并发的调度策略进行了 ETL工作流的设计。接下来,本文以传统ETL工具的实时抽取功能为基础,分析了其问题所在并设计了相关优化策略,设计并实现了一种可以进行动态频次调整的近实时抽取方法。最后本文详细陈述了该ETL系统的具体实现,根据WEBUI的展示介绍了其具体操作流程,结合插件的开发示例说明了扩展插件的具体方法,并通过功能测试、性能测试和相关调优实验验证了 ETL系统的性能。实验结果表明,本文改进的实时抽取方法可实现秒级的近实时数据同步,并可以根据数据新增的速率对抽取频次进行较好地动态调整。同时,性能测试结果证明Disruptor和多线程并行策略的应用都可以在一定程度上提升ETL系统的数据处理效率和性能,相较于Kettle有着较为明显的优势。