一种数据同步方法、装置及服务器制造方法及图纸

技术编号:22260969 阅读:18 留言:0更新日期:2019-10-10 14:06
本发明专利技术公开了一种数据同步方法、装置及服务器,该数据同步方法包括:获取同步关系,同步关系包括数据源信息及对应的数据目的信息,数据源信息包括源数据库信息及源数据库中的源数据表信息;数据目的信息包括目的数据库信息及目的数据库中的目的数据表信息;基于同步关系,通过数据库变更抽取任务抽取源数据库表的变化数据;数据库变更抽取任务使用数据库变更捕获工具来获取源数据库表中的变化数据;基于同步关系,通过数据库变更消费任务将获取的变化数据同步到目的数据表中。通过实施本发明专利技术,无需依赖于传统的OGG、DataX等技术,处理过程简单,可以实现数据库实时数据同步,满足数据库备份数据的高实时性要求。

A Data Synchronization Method, Device and Server

【技术实现步骤摘要】
一种数据同步方法、装置及服务器
本专利技术涉及数据处理
,具体涉及一种数据同步方法、装置及服务器。
技术介绍
数据库的所有操作记录都包含在redolog(重做日志)中,如果数据库宕机导致数据丢失,可以通过解析redolog进行数据重做和恢复。但Redolog保存的重做日志数据经过加密保存,无法直接读取并使用。现有比较常见的数据库数据变更捕捉技术(ChangeDataCapature,CDC)有OGG、DataX等,这些技术产品基本都是收费的或者需要复杂的安装操作。在一些数据库备份数据实时性要求比较高的场景中,需要一种可以实现数据库实时数据同步的技术来实现该场景下的需求。
技术实现思路
有鉴于此,本专利技术实施例提供了一种数据同步方法、装置及服务器,以实现数据库实时数据同步,满足数据库备份数据的高实时性要求。根据第一方面,本专利技术实施例提供了一种数据同步方法,包括:获取同步关系,所述同步关系包括数据源信息及对应的数据目的信息,数据源信息包括源数据库信息及源数据库中的源数据表信息;数据目的信息包括目的数据库信息及目的数据库中的目的数据表信息;基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据;所述数据库变更抽取任务使用数据库变更捕获工具来获取源数据库表中的变化数据;基于所述同步关系,通过数据库变更消费任务将获取的变化数据同步到目的数据表中。通过实施本专利技术,获取同步关系,使用该同步关系的抽取任务及消费任务,实现源数据库到目的数据库的数据同步,处理过程简单,无需依赖于传统的OGG、DataX等技术,以实现数据库实时数据同步,满足数据库备份数据的高实时性要求。结合第一方面,在第一方面第一实施方式中,在基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据之后,所述方法还包括:将抽取的变化数据存储至存储中间件中;基于所述同步关系,通过数据库变更消费任务将获取的变化数据同步到目的数据表中,具体包括:基于所述同步关系,通过数据库变更消费任务将从所述存储中间件获取的变化数据同步至目的数据表中。结合第一方面第一实施方式,在第一方面第二实施方式中,所述目的数据表具有多个,且数据库变更消费任务的数量与目的数据表的数量相匹配;则在所述基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据之前,所述方法还包括:对各个数据库变更消费任务进行初始化,以将所述源数据库表中变化数据之前的原始数据同步至各个目的数据表中,并分别确定执行最后一条原始数据同步操作后,各个数据库变更消费任务分别对应的初始系统变化标识序列号;以及所述基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据,包括:利用所述数据库变更抽取任务,比较各个数据库变更消费任务分别对应的初始系统变化标识序列号,以确定最小的初始系统变化标识序列号;并从最小的初始系统变化标识序列号对应的数据开始,从所述源数据表中抽取变化数据。结合第一方面第二实施方式,在第一方面第三实施方式中,将抽取的变化数据存储至存储中间件中,包括:将抽取的变化数据和变化数据的第一系统变化标识序列号存储至所述存储中间件中;在基于所述同步关系,通过数据库变更消费任务将从所述存储中间件获取的变化数据同步至目的数据表中之前,还包括:对所述存储中间件进行初始化,通过将变化数据的第一系统变化标识序列号分别与每个数据库变更消费任务对应的初始系统变化标识序列号进行比较,以分别确定出不低于每个数据库变更消费任务对应的初始系统变化标识序列号的第一系统变化标识序列号;基于所述同步关系,通过数据库变更消费任务将从所述存储中间件获取的变化数据同步至目的数据表中,包括:针对每个数据库变更消费任务,利用该数据库变更消费任务,从不低于该数据库变更消费任务对应的初始系统变化标识序列号的第一系统变化标识序列号对应的数据开始,从所述存储中间件中获取变化数据并同步至该数据库变更消费任务对应的目的数据表中。结合第一方面第一实施方式至第三实施方式中的任意一种实施方式,在第一方面第四实施方式中,在所述基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据之前,所述方法还包括:若确定未为所述源数据库建立同步任务,则为所述源数据库建立同步任务并根据所述同步关系建立数据库变更抽取任务和数据库变更消费任务;若所述同步任务已存在且所述同步关系不存在时,则停止所述同步任务并基于所述同步关系建立数据库变更消费任务,并重启所述同步任务,以触发对所述数据库变更消费任务、所述源数据库的数据库变更抽取任务和存储中间件分别进行初始化的操作。结合第一方面第四实施方式,在第一方面第五实施方式中,所述存储中间件中存储有抽取的每一条变化数据及该条变化数据的第一系统变化标识序列号;则对所述数据库变更抽取任务进行初始化,包括:利用所述数据库变更抽取任务,从所述存储中间件中获取所述同步任务停止时、最新一条数据的第一系统变化标识序列号;确定所述最新一条数据的第一系统变化标识序列号与初始化后的数据库变更消费任务对应的初始系统变化标识序列号中的最小值和最大值;从所述源数据库表中所述最小值对应的数据开始抽取变化数据,直至抽取到所述最大值对应的数据为止,并将抽取的变化数据和变化数据的第一系统变化标识序列号存储至所述存储中间件中。结合第一方面第三实施方式或第五实施方式,在第一方面第六实施方式中,将抽取的变化数据和变化数据的第一系统变化标识序列号存储至所述存储中间件中,包括:将所述变化数据和变化数据的第一系统变化标识序列号暂存至所属事务对应的数据地图集合中;若所述第一系统变化标识序列号大于所述存储中间件中最新一条数据的第一系统变化标识序列号,则当所属事务执行完成后将暂存在所属事务对应的数据地图集合中的变化数据和变化数据的第一系统变化标识序列号存储至所述存储中间件中。结合第一方面,在第一方面第七实施方式中,所述目的数据库信息包括目的数据库类型,则基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据,包括:通过与所述目的数据库类型相适应的数据库变更抽取任务抽取所述源数据库表的变化数据;基于所述同步关系,通过数据库变更消费任务将获取的变化数据同步到目的数据表中,包括:通过与所述目的数据库类型相适应的数据库变更消费任务将获取的变化数据同步到目的数据表中。根据第二方面,本专利技术实施例提供了一种同步关系获取模块,用于获取同步关系,所述同步关系包括数据源信息及对应的数据目的信息,数据源信息包括源数据库信息及源数据库中的源数据表信息;数据目的信息包括目的数据库信息及目的数据库中的目的数据表信息;变化数据获取模块,用于基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据;所述数据库变更抽取任务使用数据库变更捕获工具来获取源数据库表中的变化数据;数据同步模块,用于基于所述同步关系,通过数据库变更消费任务将获取的变化数据同步到目的数据表中。根据第三方面,本专利技术实施例提供了一种服务器,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的数据同步方法。根据第四方面,本专利技术实施例提供了一种计算机可读存本文档来自技高网...

【技术保护点】
1.一种数据同步方法,其特征在于,包括:获取同步关系,所述同步关系包括数据源信息及对应的数据目的信息,数据源信息包括源数据库信息及源数据库中的源数据表信息;数据目的信息包括目的数据库信息及目的数据库中的目的数据表信息;基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据;所述数据库变更抽取任务使用数据库变更捕获工具来获取源数据库表中的变化数据;基于所述同步关系,通过数据库变更消费任务将获取的变化数据同步到目的数据表中。

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:获取同步关系,所述同步关系包括数据源信息及对应的数据目的信息,数据源信息包括源数据库信息及源数据库中的源数据表信息;数据目的信息包括目的数据库信息及目的数据库中的目的数据表信息;基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据;所述数据库变更抽取任务使用数据库变更捕获工具来获取源数据库表中的变化数据;基于所述同步关系,通过数据库变更消费任务将获取的变化数据同步到目的数据表中。2.根据权利要求1所述的数据同步方法,其特征在于,在基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据之后,还包括:将抽取的变化数据存储至存储中间件中;基于所述同步关系,通过数据库变更消费任务将获取的变化数据同步到目的数据表中,具体包括:基于所述同步关系,通过数据库变更消费任务将从所述存储中间件获取的变化数据同步至目的数据表中。3.根据权利要求2所述的数据同步方法,其特征在于,所述目的数据表具有多个,且数据库变更消费任务的数量与目的数据表的数量相匹配;则在所述基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据之前,所述方法还包括:对各个数据库变更消费任务进行初始化,以将所述源数据库表中变化数据之前的原始数据同步至各个目的数据表中,并分别确定执行最后一条原始数据同步操作后,各个数据库变更消费任务分别对应的初始系统变化标识序列号;以及所述基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据,包括:利用所述数据库变更抽取任务,比较各个数据库变更消费任务分别对应的初始系统变化标识序列号,以确定最小的初始系统变化标识序列号;并从最小的初始系统变化标识序列号对应的数据开始,从所述源数据表中抽取变化数据。4.如权利要求3所述的数据同步方法,其特征在于,将抽取的变化数据存储至存储中间件中,包括:将抽取的变化数据和变化数据的第一系统变化标识序列号存储至所述存储中间件中;在基于所述同步关系,通过数据库变更消费任务将从所述存储中间件获取的变化数据同步至目的数据表中之前,还包括:对所述存储中间件进行初始化,通过将变化数据的第一系统变化标识序列号分别与每个数据库变更消费任务对应的初始系统变化标识序列号进行比较,以分别确定出不低于每个数据库变更消费任务对应的初始系统变化标识序列号的第一系统变化标识序列号;基于所述同步关系,通过数据库变更消费任务将从所述存储中间件获取的变化数据同步至目的数据表中,包括:针对每个数据库变更消费任务,利用该数据库变更消费任务,从不低于该数据库变更消费任务对应的初始系统变化标识序列号的第一系统变化标识序列号对应的数据开始,从所述存储中间件中获取变化数据并同步至该数据库变更消费任务对应的目的数据表中。5.如权利要求2~4任一所述的数据同步方法,其特征在于,在所述基于所述同步关系,通过数据库变更抽取任务抽取所述源数据库表的变化数据之前,所述方法还包括:若确定未为所述源数据库建立同步任务,则为所述源数据库建立同步任务并根据所述同步关...

【专利技术属性】
技术研发人员:李洪雷
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:河南,41

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

1