异构数据源实时数据传输方法及系统、存储介质及终端技术方案

技术编号:28941756 阅读:13 留言:0更新日期:2021-06-18 21:47
本发明专利技术提供一种异构数据源实时数据传输方法及系统、存储介质及终端,包括以下步骤:配置源数据库和目标数据库之间的数据同步任务;抓取全量数据,并将所述全量数据写入消息队列;订阅增量数据日志,并将增量数据写入所述消息队列;将所述消息队列中的数据写入到所述目标数据库中。本发明专利技术的异构数据源实时数据传输方法及系统、存储介质及终端通过采用全量和增量数据同步结合的方式实现了不停机的数据迁移,且能够避免数据丢失与重复传输,极大地提高了数据传输效率。

【技术实现步骤摘要】
异构数据源实时数据传输方法及系统、存储介质及终端
本专利技术涉及数据传输的
,特别是涉及一种异构数据源实时数据传输方法及系统、存储介质及终端。
技术介绍
随着互联网技术的飞速发展,微服务架构的普及,一项业务由多个服务应用来支撑。其中,每个服务都有自身独立的数据源。伴随着数据规模的不断扩大,传统的关系型数据库不在能够满足所有的存储需求,各种分布式数据库解决方案不断涌现。异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问。几个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的数据库管理系统。异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍有自己的应用特性、完整性控制和安全性控制。在实际使用中,数据库管理员(DatabaseAdministrator,DBA)在日常的数据维护过程中存在不同的关系型数据库之间相关数据迁移的场景。为了满足大数据量的实时搜索,将MySQL等关系型数据库中的数据实时同步到Elasticsearch等搜索引擎中。同时,在异地双活应用中,需要解决多数据中心的数据源之间的数据同步问题。因此,异构数据源之间的实时数据传输成为当前研究的热点课题。现有技术中,为了实现异构数据源之间的数据传输,一般是通过SQL或中间文件的导入导出来完成。具体地,通过数据导出工具将一个数据源的数据导出为SQL或中间文件,然后通过相对应导入数据源提供的导入工具将数据导入。然而,上述方法在使用上存在以下缺陷:(1)无法满足业务的零停机迁移需求;(2)导入导出任务都是单机执行,在面对大数据量同步任务时,性能表现很差,耗时很长;(3)无法支持断点续传,如果同步过程中出现网络抖动,同步任务将无法继续进行。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种异构数据源实时数据传输方法及系统、存储介质及终端,通过采用全量和增量数据同步结合的方式实现了不停机的数据迁移,且能够避免数据丢失与重复传输,极大地提高了数据传输效率。为实现上述目的及其他相关目的,本专利技术提供一种异构数据源实时数据传输方法,包括以下步骤:配置源数据库和目标数据库之间的数据同步任务;抓取全量数据,并将所述全量数据写入消息队列;订阅增量数据日志,并将增量数据写入所述消息队列;将所述消息队列中的数据写入到所述目标数据库中。于本专利技术一实施例中,所述同步任务的配置信息包括源数据库地址、同步数据、任务节点、消息队列和目标数据库地址。于本专利技术一实施例中,抓取全量数据,并将所述全量数据写入消息队列包括以下步骤:获取所述源数据库的数据结构,并记录所述源数据库的快照;分配全量数据同步任务,并选择任务节点进行全量数据同步;将所述全量数据进行实时压缩,并写入所述消息队列。于本专利技术一实施例中,将所述全量数据转换为所述目标数据库对应的数据格式后再写入所述消息队列。于本专利技术一实施例中,订阅增量数据日志,并将增量数据写入所述消息队列包括以下步骤:订阅源数据库增量数据日志;选择任务节点进行增量数据同步;将所述增量数据进行实时压缩,并写入所述消息队列。于本专利技术一实施例中,将所述增量数据转换为所述目标数据库对应的数据格式后再写入所述消息队列。于本专利技术一实施例中,所述全量数据写入和所述增量数据写入同步进行。对应地,本专利技术提供一种异构数据源实时数据传输系统,包括配置模块、全量数据同步模块、增量数据同步模块和写入模块;所述配置模块用于配置源数据库和目标数据库之间的数据同步任务;所述全量数据同步模块用于抓取全量数据,并将所述全量数据写入消息队列;所述增量数据同步模块用于订阅增量数据日志,并将增量数据写入所述消息队列;所述写入模块用于将所述消息队列中的数据写入到所述目标数据库中。本专利技术提供一种存储介质,其上存储有计算机程序,该所述计算机程序被处理器执行时实现上述的异构数据源实时数据传输方法。最后,本专利技术提供一种终端,包括:处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行上述的异构数据源实时数据传输方法。如上所述,本专利技术的异构数据源实时数据传输方法及系统、存储介质及终端,具有以下有益效果:(1)通过采用全量和增量数据同步结合的方式,分别同步全量数据和增量数据,从而能够在业务不停机的前提下进行数据迁移;(2)通过同步状态记录、消息队列暂存等方式支持记录级的断点续传,避免了数据丢失与重复传输;(3)支持导出数据压缩、同步任务自动化编排,极大地提高了数据传输效率。附图说明图1显示为本专利技术的异构数据源实时数据传输方法于一实施例中的流程图;图2显示为本专利技术的异构数据源实时数据传输方法于一实施例中的框架示意图;图3显示为本专利技术的异构数据源实时数据传输系统于一实施例中的结构示意图;图4显示为本专利技术的终端于一实施例中的结构示意图。元件标号说明31配置模块32全量数据同步模块33增量数据同步模块34写入模块41处理器42存储器具体实施方式以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,遂图式中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本专利技术的异构数据源实时数据传输方法及系统、存储介质及终端将数据划分为全量数据和增量数据,通过采用全量数据和增量数据同步相结合的方式实现了不停机的数据迁移,有效避免了数据的丢失与重复传输,极大地提高了数据传输效率,满足不同场景下的异构数据源的数据实时传输。其中,所述全量数据就是表中所有的数据;所述增量数据是上次导出之后的新数据。如图1和图2所示,于一实施例中,本专利技术的异构数据源实时数据传输方法包括以下步骤:步骤S1、配置源数据库和目标数据库之间的数据同步任务。具体地,在进行数据实时传输之前,首先进行数据同步任务的配置。于本专利技术一实施例中,所述同步任务的配置信息包括源数据库地址、同步数据、任务节点、消息队列和目标数据库地址。其中,所述源数据库地址和所述目标数据库地址可采所述源数据库的链接和所述目标数据库的链接。步骤S2、抓取全量数据,并将所述全量数据写入消息队列。具体地,在数据同步任务配置完成之本文档来自技高网
...

【技术保护点】
1.一种异构数据源实时数据传输方法,其特征在于:包括以下步骤:/n配置源数据库和目标数据库之间的数据同步任务;/n抓取全量数据,并将所述全量数据写入消息队列;/n订阅增量数据日志,并将增量数据写入所述消息队列;/n将所述消息队列中的数据写入到所述目标数据库中。/n

【技术特征摘要】
1.一种异构数据源实时数据传输方法,其特征在于:包括以下步骤:
配置源数据库和目标数据库之间的数据同步任务;
抓取全量数据,并将所述全量数据写入消息队列;
订阅增量数据日志,并将增量数据写入所述消息队列;
将所述消息队列中的数据写入到所述目标数据库中。


2.根据权利要求1所述的异构数据源实时数据传输方法,其特征在于:所述同步任务的配置信息包括源数据库地址、同步数据、任务节点、消息队列和目标数据库地址。


3.根据权利要求1所述的异构数据源实时数据传输方法,其特征在于:抓取全量数据,并将所述全量数据写入消息队列包括以下步骤:
获取所述源数据库的数据结构,并记录所述源数据库的快照;
分配全量数据同步任务,并选择任务节点进行全量数据同步;
将所述全量数据进行实时压缩,并写入所述消息队列。


4.根据权利要求3所述的异构数据源实时数据传输方法,其特征在于:将所述全量数据转换为所述目标数据库对应的数据格式后再写入所述消息队列。


5.根据权利要求1所述的异构数据源实时数据传输方法,其特征在于:订阅增量数据日志,并将增量数据写入所述消息队列包括以下步骤:
订阅源数据库增量数据日志;
选择任务节点进行增量数据同步;
将所...

【专利技术属性】
技术研发人员:陈清阳严永峰张小虎吴旭刘宇陈宏斌
申请(专利权)人:天翼电子商务有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1