一种数据库同步方法技术

技术编号:8453112 阅读:194 留言:0更新日期:2013-03-21 17:41
本发明专利技术公开了一种数据库同步方法,原数据库中的待同步内容与目标数据库中对应于待同步内容的副本具有相同或者等价的数据库存储结构;从而所述同步方法包括以下步骤:1)分配数据表,顺序存放所述待同步内容产生数据变化的操作命令;以及2)目标数据库调用所述数据表,执行该数据表中匹配的所述操作命令完成对所述副本的操作。依据本发明专利技术便于后期维护和升级。

【技术实现步骤摘要】

本专利技术涉及。
技术介绍
数据库同步指的是把源数据库的待同步数据(可以是数据库全部或者部分数据) 对目标数据库的副本进行更新,使该副本与原数据库待同步数据保持一致的操作。通常应用系统中的数据库同步操作实现方法与应用系统数据库的具体结构有关。 当应用系统需求发生变化时,数据库同步的实现方法往往也需要随之调整。因此,常规的数据同步方法不便于系统的维护与升级,在以下的内容中对此做出详细描述。中国专利技术专利申请公开之《一种分布式数据库同步系统、同步方法和节点管理方法》(公开号CN102693324A)提供了,该方法通过定期读取管理节点的相关同步信息表,实现与其它节点的数据同步。该方案的目的是建立有效的多节点数据同步更新过程中的管理调度机制,没有提供实现数据从原始数据到数据副本之间的复制更新的具体方法。中国专利技术专利申请公开之《基于数据库服务间的通用数据同步方法及其系统》(公开号CN102637214A)提供了,可以实现不同节点之间的磁盘文件的同步。该方案实现了数据文件从一个服务器复制到另一个服务器的操作,该方法用于数据库同步,只能针对文件型数据库,例如Microsoft Access,把文件型数据库从一个节点完整复制到另一个节点。该方法不能把多个客户端节点数据同步到公用的后台服务器。中国专利技术专利申请公开之《关系型数据库之间的同步方法及系统》(公开号 CN102542007A)提供了一种方法,通过建立多个数据库之间的针对变化数据的数据同步任务。该方法针对关系型数据库开发,利用关系型数据库的触发器机制和任务机制。由于触发器和数据库任务的建立都依赖应用系统数据库的具体结构,因此该方法与应用需求密切相关,不利于系统的维护和升级。中国专利技术专利申请公开之《一种嵌入式设备与数据库数据同步方法》(公开号 CN102456052A)提供了一种方法,实现嵌入式设备与远程数据库间的数据一致性。该方法只能解决嵌入式设备与服务器通讯中断的情形下,通过缓存数据,等通讯正常后续传数据的功能,不属于数据库同步技术范畴。中国专利技术专利申请公开之《及装置》(公开号CN102426611A) 提供了一种方法,提供了及与方法对应的装置,用于将第一数据库的内容同步到第二数据库中。该方法为数据库的数据表建立了一个哈希字段,把表中的每条数据记录转变为哈希值,通过必将原始数据和数据副本得哈希值判断数据是否一致,如果不一致的话就进行同步操作。这种同步方法具体实施的时候需要逐个对每个需要同步的数据表添加哈希值的计算管理模块,与具体应用需求关联比较密切,不利于系统的维护与升级。中国专利技术专利申请公开之《数据库的数据同步信息处理方法及装置》(公开号CN102413149A)提供了一种方法,将待同步的数据剥离出来并处理成待发送文件,实现同步 操作。“将待同步的数据剥离出来并处理成待发送文件”这一过程与具体的业务需求密切相 关,不利于数据库的后期维护与升级。
技术实现思路
因此,本专利技术的目的在于提供一种便于后期维护和升级的数据库同步方法。本专利技术采用以下技术方案,原数据库中的待同步内容与目标数据库中对应于待同步内容的 副本具有相同或者等价的数据库存储结构;从而所述同步方法包括以下步骤1)分配数据表,顺序存放所述待同步内容产生数据变化的操作命令;以及2)目标数据库调用所述数据表,执行该数据表中匹配的所述操作命令完成对所述副本 的操作。从以上的技术方案可以看出,通过分配数据表,记录原数据库的命令日志,通过原 数据库命令日志传送至目标服务器,让目标服务器执行原数据库的所述数据表中或者说日 志中的操作命令而实现数据库的同步。这种方法,与业务系统的耦合比较松,一些情况下与 具体的业务完全无关,从而不会对后续的维护和升级产生太大的影响,而利于系统的后期 维护和升级。在一些较佳的实施例中,上述数据库同步方法,为每一个待同步内容创建一个数 据表,并在步骤2)完成后,删除该数据表,在避免重复执行相应操作命令的情况下,减轻服 务器的负担。在另一些实施例中,所有待同步内容共用一个所述的数据表,而在步骤2)后删除 对应的操作命令或者做出执行标记,也可以减轻服务器的负担,并可以针对不同的应用其 灵活性更好。在一些实施例中,上述数据库同步方法,步骤2)调用所述数据表时采用顺序执行 的方式执行所记录的操作命令,并在同步过程中,基于命令指针的方式标记操作指令序列 的执行位置,这种情形下,所执行的命令被完整保存,有利于后续服务器的维护;同时,基于 命令指针,又不会充分执行相应的操作命令。在一些实施例中,所述分数据表含有时间表项,所述执行标记为独立存放的一个 时间标志,这种方式也能够准确的标定操作命令项的执行位置。在一些实施例中,所述数据表含有序列表项,从而在本次执行完毕后,记录当前操 作命令的执行完毕的序号,作为下次执行的位置标志,存储结构更加简单,且能够对执行位 置进行准确标识。优选地,所述数据表中被执行完毕的操作命令被做出标记,使得该操作命令不能 够在被执行,也能够避免相应的操作命令被重复执行。上述数据库同步方法,所述步骤2)与所述步骤I)在一天内不同的时间段内执行, 减轻服务器的负担。附图说明图I为一种数据库同步装置的结构图。具体实施方式参照说明书附图1,一种数据库同步装置,其具有以下特点源数据库代理模块P在源数据库进行操作时记录对数据库进行操作的操作命令,而生 成源数据库执行日志E,以数据表的形式进行存放。其中数据表存放的应当是被同步的内容所对应的操作命令。配置同步模块Q,调用所述源数据库执行命令日志E,执行所述源数据库执行命令 日志E中的操作命令而对目标数据库B进行更新。从而,把“源数据库A”中的“待同步内容C”同步到“目标数据库B”中的“原数据 库待同步内容副本D”,参见附图I。具体步骤如下I、“源数据库A”中的“待同步内容C”和“目标数据库B”中的“原数据库副本D”的具 有相同或者等价的数据库存储结构,以保证同步操作的顺利进行。在一些应用中,采用不同存储结构的数据库之间的同步实现起来非常困难而不具 有实际操作价值。1-1、根据1,“源数据库A”中的“待同步内容C”是“源数据库A”全部内容。这种实施方式中,若目标数据库B与源数据库A的数据结构一致,可以认为目标数 据库B是源数据库A至少在内容上的存储内容上镜像。加以对应的以下几种实施方式,本领域的技术人员可根据自己的实际需要灵活选择。1-2、根据1,“源数据库A”中的“待同步内容C”是“源数据库A”部分数据项目。1-3、根据1,“目标数据库B”中的“源数据库副本D”用于保存“源数据库A”中的 “待同步内容C”的副本。1-4、根据1,“目标数据库B”中的“源数据库副本D”是“目标数据库B”全部内容。1-5、根据1,“目标数据库B”中的“源数据库副本D”是“目标数据库B”部分内容。1-6、根据1,“目标数据库B”中的“源数据库副本D”含“源数据库A”中的“待同 步内容C”副本以外其它内容。2、进而外部操作或者预定的内部操作的对“源数据库A”中的“待同步内容C”的 数据修改操作通过“源数据库代理模块P”进行。这里外部,如外部程序或者通过外部中断产生的操作,以及预定的内部操作,均指 会对源数据库待同步内容C产生影响的操作。3、从而,“源数据库代理模本文档来自技高网
...

【技术保护点】
一种数据库同步方法,其特征在于,原数据库中的待同步内容与目标数据库中对应于待同步内容的副本具有相同或者等价的数据库存储结构;从而所述同步方法包括以下步骤:1)分配数据表,顺序存放所述待同步内容产生数据变化的操作命令;以及2)目标数据库调用所述数据表,执行该数据表中匹配的所述操作命令完成对所述副本的操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:许野平方亮
申请(专利权)人:山东神思电子技术股份有限公司
类型:发明
国别省市:

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

1