The invention provides a data synchronization method and apparatus used in multilevel heterogeneous database, the method includes: obtaining the relationship between each source database and target database, the relationship includes at least each source data in the source database and target database to synchronize data between tables and data mapping between the first conversion formula in a preset period; simultaneously, when the detected source data in the database is changed, the identification information to obtain the change of data; in the synchronous cycle, according to the identification information relation and change data, generate data synchronization instruction; data synchronization instruction is encapsulated into the target database corresponding to the structured query language, sent to the target database. The data synchronization method and device provided by the invention does not need to change the original program logic of the database system, and can support data synchronization in different data table modes, and has enough flexibility.
【技术实现步骤摘要】
一种数据同步方法及装置
本专利技术涉及数据库领域,特别涉及一种数据同步方法及装置。
技术介绍
在全球数字化发展的背景下,信息技术和网络技术的飞速发展,数据库技术也由集中式向分布式逐渐演变。比如对于一些地域上分散而管理相对集中的企业来说,通过搭建分布式数据库系统增加数据副本,来提高系统的可靠性,成为一种主流趋势。数据同步作为维护分布式数据库系统的数据一致性的主要技术手段,有着重要意义。这是由于一致的多个数据副本能提供更多的数据服务,进而增大数据访问吞吐量,增强数据可用性;能够使用户应用只需要访问本地副本而无需访问远程数据,进而减少数据访问延迟,提高用户应用的性能;应对不可预测因素造成的数据丢失,进而保证数据可靠性。而分布式数据库系统之间的数据同步,主要有以下两个问题:数据库各个系统开发时间与环境不一致,所采用的数据库工具与所设计的数据库表一般差异较大,因此各业务系统之间数据交换和共享难以进行;各业务系统在更新换代过程中,为了让用户拥有一段时间的适应期,出现的新旧系统同时运行的过渡阶段,这种情况下,新旧系统的数据库可能出现重构,并且旧系统中发生的数据变化需要实用同步更新到新系统中。也就是说,数据同步的难题主要集中在两个方面:在数据异构性上涉及了数据类型不同和数据表模式不同两个因素;在数据传播方向上是由下级系统向上级系统进行同步,由旧系统向新系统进行同步。在现有技术中,数据库同步的产品通常或者对于异构数据库的支持较弱,或者不具备足够的灵活性,主要表现为以下问题:第一,在数据库的异构性上,现有的数据库复制产品虽然能够支持不同数据类型的转换,但是不能够支持不同数据表 ...
【技术保护点】
一种数据同步方法,应用于多级异构数据库,其特征在于,所述方法包括:获取目标数据库与所有源数据库之间的关联关系,所述关联关系至少包括所述目标数据库与所有源数据库之间的映射关系以及预设的第一数据转换公式;在一预设的同步周期内,当检测到所述源数据库中的数据发生变化时,获取变化数据的标识信息;在所述同步周期内,根据所述关联关系以及所述变化数据的标识信息,生成数据同步指令;将所述数据同步指令封装成所述目标数据库对应的结构化查询语言,发送给所述目标数据库。
【技术特征摘要】
1.一种数据同步方法,应用于多级异构数据库,其特征在于,所述方法包括:获取目标数据库与所有源数据库之间的关联关系,所述关联关系至少包括所述目标数据库与所有源数据库之间的映射关系以及预设的第一数据转换公式;在一预设的同步周期内,当检测到所述源数据库中的数据发生变化时,获取变化数据的标识信息;在所述同步周期内,根据所述关联关系以及所述变化数据的标识信息,生成数据同步指令;将所述数据同步指令封装成所述目标数据库对应的结构化查询语言,发送给所述目标数据库。2.如权利要求1所述的数据同步方法,其特征在于,所述获取目标数据库与所有源数据库之间的关联关系之前,所述方法包括:获取目标数据库中的每个待同步数据表与所有源数据库中的源数据表之间的映射关系以及第二数据转换公式;对所有的所述第二数据转换公式进行分析计算,得到第一数据转换公式。3.如权利要求1所述的数据同步方法,其特征在于,所述变化数据的标识信息至少包括:所述变化数据所在源数据表的表名、所述变化数据所在源数据表的主键值、所述变化数据的变化类型值和所述变化数据的变化时间。4.如权利要求3所述的数据同步方法,其特征在于,所述在一预设周期内,当检测到所述源数据库中的数据发生变化时,获取变化数据的标识信息,具体包括:为每个所述源数据库分别创建一个控制表;在一预设周期内,当检测到所述源数据库中的数据发生变化时,获取变化数据的标识信息,并将所述变化数据的标识信息存储在所述源数据库对应的控制表中。5.如权利要求4所述的数据同步方法,其特征在于,所述在所述同步周期内,根据所述关联关系以及所述变化数据的标识信息,生成数据同步指令,具体包括:在所述同步周期内,根据所述变化数据所在源数据表的表名以及所述关联关系中的映射关系,确定对应的所述目标数据库中的待同步数据表;根据所述变化数据所在源数据表的主键值、所述变化数据的变化类型值以及第一数据转换公式,生成所述待同步数据表对应的数据同步指令,并将所述变化数据的变化时间作为所述数据同步指令的下达时间。6.如权利要求5所述的数据同步方法,其特征在于,所述将所述数据同步指令封装成所述目标数据库对应的结构化查询语言,发送给所述目标数据库之后,所述方法还包括:获取所述数据同步指令的下达时间,使所述目标数据库执行与当前时间最接近的数据同步指令对应的结构化查询语言。7.如权利要求6所述的数据同步方法,其特征在于,所述获取所述数据同步指令的下达时间,使所述目标数据库执行与当前时间最接近的数据同步指令对应的结构化查询语言的步骤之后,所述方法还包括:获取所述目标数据库对所述与当前时间最接近的数据同步指令对应的结构化查询语言的执行结果:当所述执行结果为已执行时,删除所述控制表中对应的变化数据的标识信息。8.一种数据同步装置,应用于多级异构数据库,其特征在...
【专利技术属性】
技术研发人员:郭相军,
申请(专利权)人:北大方正集团有限公司,北京北大方正电子有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。