一种数据库的数据同步方法、装置及系统的制作方法

文档序号:9687515阅读:478来源:国知局
一种数据库的数据同步方法、装置及系统的制作方法
【技术领域】
[0001] 本发明涉及数据库同步技术领域,尤其涉及一种数据库的数据同步方法、装置及 系统。
【背景技术】
[0002] 自从1970年E. F. Codd博±提出最初的理论模型W来,关系型数据库已经成为所 有信息系统中必不可少的基础设施之一,其重要性仅次于操作系统,如今已经没有哪个大 型的系统能够脱离数据库而存在。
[0003] 在实际应用中,由于业务逻辑的复杂性和功能的模块化设计,往往一个信息系统 中会部署有多套数据库,而且送多套库之间需要协同合作共享数据,送就要求各数据库之 间能够实现数据同步。
[0004] 传统的数据库同步方式一般是基于全量的同步,即主备服务器上的数据完全相 同。然而在W下几种场景中,普通的全量同步无法满足要求。
[0005] 场景一;在异构数据库同步的场景中,会出现目的库的存储容量与源库不匹配的 情况。当数据量很大时,依然要求目的节点必须是与源库容量相当的存储设备。而多数情 况下目的库只是作为数据备份使用,送样的要求势必会增加设备成本,而且异构数据库的 优越性也无法得到很好体现。
[0006] 场景二:在一对多复制的场景中,源库作为数据源,保存有全量的数据,而每个目 的库作为一个独立的单元被访问,只需要保存部分相关的数据即可。使用传统的全量复制, 会造成传输的兀余和空间的浪费。
[0007] 场景Η ;在复制场景中,在某个时间段可能会出现大量的语句不需要同步的情况, 比如对某个字段大量的update操作。传统的全量复制,默认同步所有语句,会造成资源的 浪费。
[0008] W上几种场景,反映了传统的全量复制方式存在一定的局限性,数据库系统不能 根据不同的数据同步需求进行有选择的数据复制同步,不能区分哪些数据是需要同步的, 将全量数据进行同步造成了传输的兀余W及资源的浪费问题。

【发明内容】

[0009] 为了解决传统全量复制模式造成的传输兀余、资源浪费问题,本发明提供了一种 数据库的数据同步方法、装置及系统,W至少解决上述问题。
[0010] 根据本发明的一个方面,提供了一种数据库的数据同步方法,包括;获取源数据库 的逻辑变化记录LCR (Logical化ange Record,简称为LCR);获取目的数据库信息;根据所 述LCR和所述目的数据库信息更新对应的所述目的数据库。
[0011] 优选地,所述获取目的数据库信息,包括W下至少一种;获取全部目的数据库信 息;获取指定的目的数据库信息;根据所述LCR获取对应的目的数据库信息。
[0012] 优选地,所述根据所述LCR获取对应的目的数据库信息,包括W下至少一种;根据 所述LCR中的字段名称、字段取值和目的库对应关系获取对应的目的数据库信息;根据所 述LCR中的字段名称、语句类型获取对应的目的数据库信息。
[0013] 优选地,所述根据所述LCR和所述目的数据库信息更新对应的所述目的数据库, 包括;将所述LCR转化为与所述目的数据库相应的S化语句;根据所述S化语句更新对应的 所述目的数据库。
[0014] 优选地,所述获取源数据库的逻辑变化记录LCR,还包括;将所述逻辑变化记录 LCR的格式转换为所述数据库系统内部标准的LCR格式。
[0015] 根据本发明的另一个方面,提供了一种数据库的数据同步装置,包括:采集模块, 用于获取源数据库的逻辑变化记录LCR ;选择模块,用于获取目的数据库信息;更新模块, 用于根据所述LCR和所述目的数据库信息更新对应的所述目的数据库。
[0016] 优选地,所述选择模块还包括W下至少一种;全量单元,用于获取全部目的数据库 信息;指定单元,用于获取指定的目的数据库信息;过滤单元,用于根据所述LCR获取对应 的目的数据库信息。
[0017] 优选地,所述过滤单元还包括W下至少一种;字段值子单元,用于根据所述LCR中 的字段名称、字段取值和目的库对应关系获取对应的目的数据库信息。类型子单元,用于根 据所述LCR中的字段名称、语句类型获取对应的目的数据库信息。
[0018] 优选地,所述更新模块,包括;语句转化单元,用于将所述LCR转化为与所述目的 数据库相应的S化语句;执行单元,用于根据所述S化语句对相应的所述目的数据库进行更 新。
[0019] 优选地,所述采集模块,包括;格式转换单元,用于将所述逻辑
[0020] 变化记录LCR的格式转换为所述数据库内部标准的LCR格式。
[0021] 根据本发明再一个方面,提供了一种数据库的数据同步系统,包括:
[0022] 源数据库,用于生成逻辑变化记录LCR ;
[0023] 数据同步装置,包括:采集模块,用于获取源数据库的逻辑变化记录LCR ;选择模 块,用于获取目的数据库信息;更新模块,用于根据所述LCR和所述目的数据库信息更新对 应的所述目的数据库;
[0024] 目的数据库,用于执行所述更新操作;
[0025] 其中,所述采集模块与所述源数据库相连;所述更新模块与所述目的数据库相连。
[0026] 优选地,所述更新模块为至少两个,每一个所述更新模块与对应的至少一个目的 数据库相连。
[0027] 优选地,所述获取源数据库的逻辑变化记录LCR,包括主动获取方式和被动获取方 式。
[0028] 通过本发明,获取源数据库的逻辑变化记录LCR,获取目的数据库信息,根据所述 LCR和所述目的数据库信息更新对应的所述目的数据库。使得在对数据库进行数据同步时, 可W根据不同的数据同步需要进行有选择的数据复制并同步,避免了大量复制同步不必要 的数据,节省了数据库系统的传输空间和资源。
【附图说明】
[0029] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0030] 图1是根据本发明实施例的数据库的数据同步方法流程图一;
[0031] 图2是根据本发明实施例的数据库的数据同步方法流程图二;
[0032] 图3是根据本发明实施例的数据库的数据同步装置结构框图一;
[0033] 图4是根据本发明实施例的数据库的数据同步装置结构框图二;
[0034] 图5是根据本发明实施例的数据库的数据同步系统结构图。
【具体实施方式】
[0035] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可W相互组合。
[0036] 本发明实施例提供了一种数据库的数据同步方法,图1是根据本发明实施例的数 据库的数据同步方法流程图一,如图1所示,该方法包括W下步骤:
[0037] S202,获取源数据库的逻辑变化记录LCR ;
[0038] S204,获取目的数据库信息;
[0039] S206,根据上述获取的目的数据库信息,定位到需要更新的目的数据库,将上述获 取的逻辑变化记录LCR更新到上述目的数据库。
[0040] 其中,上述LCR为Logical化ange Record的简称,在本实施方式中即为源数据库 的逻辑变化记录,是用来记录DML/孤L变化内容的消息格式,记录操作类型、变化前后的数 据等内容。上述获取目的数据信息,包括数据库的服务器别名、执行语句所用的用户名和密 码。
[0041] 通过本发明实施例,获取源数据库的逻辑变化记录LCR,获取目的数据库信息,根 据上述获取的目的数据库信息,定位到需要更新的目的数据库,将上述获取的逻辑变化记 录LCR更新到上述目的数据库。使得在对数据库进行数据同步时,可W根据不同的数据同 步需要进行有选择的数据复制并同步,避免了大量复制同步不必要的数据,节省了数据库 系统的传输空间和资源。
[0042] 在本发明的一个实施方式中,上述获取目的数据库信息,包括:获取全部目的数据 库信息。图2是根据本发明实施例的数据库的数据同步方法流程图二,其中,源数据库提供 解析好的源库自有格式的LCR,本实施方式中会主动获取送样的LCR,并进行格式转换,转 换为同步系统内部标准LCR消息格式。如图2所示,本发明实施方式即为图2中所示的全 量复制模式,该方法包括:
[0043] S302,获取源数据库的逻辑变化记录LCR,并将格式转换为所述数据库系统内部标 准的LCR格式;
[0044] S304,获取全部目的数据库信息;
[0045] S306,根据上述获取的全部目的数据库信息,定位到所有的目的数据库;
[0046] S308,读取数据库类型,将上述获取的逻辑变化记录LCR拼成与数据库类型相应 的S化语句;
[0047] S310,在所有的目的数据库上执行上述S化语句,对所有的目的数据库进行更新。 [004引在本发明的一个实施方式中,上述获取目的数据库信息,包括:获取指定的目的数 据库信息。如图2所示,本发明实施方式即为图2中所示的指定复制模式,该方法包括:
[0049] S402,获取
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1