论文部分内容阅读
数据迁移是指将数据从一个存储系统传输到另一个存储系统的过程,包括对数据的选择、提取、转换等。现有的数据迁移技术大多针对某两种数据库进行数据模式的转换,存在因仅支持特定数据库之间的转换而造成的数据迁移功能不足以及可扩展性能和迁移性能低下等问题,难以满足大数据时代下企业对多源异构的数据整合、备份和分析的需求。为此,本文提出了一种可支持多种异构数据模式转换、可扩展新数据源的数据迁移技术,开发了相应的数据迁移系统,并通过Hadoop集群并行计算实现了在大数据场景下高性能迁移。主要研究工作包括:1.提出一种通过中间数据格式实现多种异构模式之间相互转换的方法,为迁移两端的异构数据模型提供抽象和通用的表示。与直接数据迁移不同,该方法首先将源数据格式转换为中间数据格式,再将中间数据格式转换为目标数据格式。以中间数据格式为中介,可有效实现各种数据格式之间的转换,降低不同异构数据格式之间模式转换的复杂度,提高新增数据源的可扩展性。2.设计并实现了数据转换模块,通过插件架构支持多种数据源的扩展。模块将不同数据源之间的通用迁移流程设计为抽象类,包装成SDK包进行二次开发,完成一类数据源与中间数据格式的转换,并作为插件提交至系统框架主程序进行解析、加载及运行。3.设计并实现了任务执行模块,基于Map Reduce框架实现高性能的并行迁移。本模块调用数据源插件,获取任务信息,进行数据统计并均等分割,将其包装成Map任务提交给分布式集群并行计算,提高迁移效率。4.设计并实现了系统管理模块以及用户交互模块,基于MVC架构提供易于用户交互的API接口。模块实现系统后端数据管理功能,包括插件的管理与解析、数据存储、消息传输等,并支持用户调用RESTful API添加、删除数据源和数据迁移任务,查看迁移任务状态等常见管理功能。通过部署测试,验证了系统对多种异构数据源的支持,无需对系统代码重新编译,即可新增和加载数据源插件,实现了对数据源支持的可扩展性。系统可以根据用户任务配置,正确完成同构或异构数据源之间的数据迁移。此外,系统在集群部署下,可横向添加节点,显著提高大数据迁移的性能。