数据库系统的数据同步方法、存储介质及设备技术方案

技术编号:38034110 阅读:11 留言:0更新日期:2023-06-30 11:00
本发明专利技术提供了一种数据库系统的数据同步方法、存储介质及设备。数据库系统包括多个数据库,数据同步方法包括:在每个数据库创建相同的辅助表,辅助表预置有标记字段和可修改字段,标记字段下预先写入数据库系统所有数据库的唯一标识;从上游数据库获取针对下游数据库的待同步事务,其中,上游数据库为数据来源的数据库,下游数据库为接收数据的数据库;获取待同步事务中的附加操作,附加操作是针对辅助表中一个唯一标识对应的可修改字段的修改操作;判断附加操作含有的唯一标识是否与下游数据库的唯一标识相同,若相同,抛弃待同步事务。在事务中添加针对辅助表的操作来对事务进行标记,避免事务同步回最初的数据库。避免事务同步回最初的数据库。避免事务同步回最初的数据库。

【技术实现步骤摘要】
数据库系统的数据同步方法、存储介质及设备


[0001]本专利技术涉及数据库
,特别是涉及一种数据库系统的数据同步方法、存储介质及设备。

技术介绍

[0002]在具有多个数据库的数据库系统中,一种常见的配置方式是所有数据库均可以进行写操作。而所有数据库均可以进行写操作,使得每个数据库都需要向其他所有数据库同步数据。一种数据同步的处理方式为将所有数据库通过环状链路进行连接,使得每个数据库只有一个下游数据库。这样,在一个数据库写入数据库后,可以利用环状链路依次同步到其余数据库。
[0003]但是,因为数据库利用环状链路进行连接,所以由一个数据库同步出去的数据会再次同步回自身,也就是使得数据不断在数据库之间循环同步,浪费了数据系统的系统资源。

技术实现思路

[0004]本专利技术的一个目的是要提供一种能够解决上述任一问题的数据库系统的数据同步方法、存储介质及设备。
[0005]特别地,本专利技术提供了一种数据库系统的数据同步方法,数据库系统包括多个数据库,数据同步方法包括:
[0006]在每个数据库创建相同的辅助表,辅助表预置有标记字段和可修改字段,标记字段下预先写入数据库系统所有数据库的唯一标识;
[0007]从上游数据库获取针对下游数据库的待同步事务,其中,在每两个数据库之间的数据同步过程中,上游数据库为数据来源的数据库,下游数据库为接收数据的数据库;
[0008]获取待同步事务中的附加操作,附加操作是针对辅助表中一个唯一标识对应的可修改字段的修改操作;/>[0009]判断附加操作含有的唯一标识是否与下游数据库的唯一标识相同,若相同,抛弃待同步事务。
[0010]可选地,获取待同步事务中的附加操作的步骤之前包括:
[0011]判断待同步事务是否含有附加操作,若是,执行获取待同步事务中的附加操作的步骤;
[0012]若否,根据待同步事务生成同步事务;
[0013]在同步事务中添加初始附加操作,将上游数据库记为原始数据库,初始附加操作用于将原始数据库的唯一标识对应的可修改字段修改为预设的初始可修改字段值;
[0014]将同步事务同步到所述下游数据库。
[0015]可选地,判断附加操作含有的所述唯一标识是否与下游数据库的唯一标识相同的步骤之后包括:
[0016]若不相同,将待同步事务同步到下游数据库。
[0017]可选地,将待同步事务同步到下游数据库的步骤之前包括:
[0018]判断附加操作含有的可修改字段值是否符合预设条件,若是,抛弃待同步事务,若否,修改附加操作中的可修改字段值后,执行将待同步事务同步到下游数据库的步骤。
[0019]可选地,初始可修改字段值为原始数据库的唯一标识,预设条件为含有下游数据库的唯一标识;
[0020]修改附加操作中的可修改字段值的步骤包括:
[0021]将上游数据库的唯一标识添加到附加操作的可修改字段值中。
[0022]可选地,初始可修改字段值为整数,预设条件为大于等于第一预设阈值;
[0023]修改附加操作中的可修改字段值的步骤包括:
[0024]将可修改字段值增加第一预设固定值;
[0025]第一预设阈值=初始可修改字段值+第一预设固定值
×
(数据库系统的数据库数量

2)。
[0026]可选地,初始可修改字段值为整数,预设条件为小于等于第二预设阈值;
[0027]修改附加操作中的可修改字段值的步骤包括:
[0028]将可修改字段值减去第二预设固定值;
[0029]第二预设阈值=初始可修改字段值

第二预设固定值
×
(数据库系统的数据库数量

2)。
[0030]可选地,根据待同步事务生成同步事务的步骤包括:
[0031]暂存待同步事务直至获取到预设数量的待同步事务;
[0032]将所有待同步事务合并为一个事务,作为同步事务。
[0033]根据本专利技术的另一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据上述任一项的数据库系统的数据同步方法。
[0034]根据本专利技术的又一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据上述任一项的数据库系统的数据同步方法。
[0035]本专利技术的数据库系统的数据同步通过在每个数据库创建辅助表,使得可以在事务中添加针对辅助表的操作来对事务进行标记,而且不会影响事务的正常执行。在从上游数据库获取针对下游数据库的待同步事务的过程中,读取到待同步事务中含有的针对辅助表的附加操作,判断附加操作含有的数据库的唯一标识是否与下游数据库相同,如果附加操作中含有的数据库的唯一标识与下游数据库相同,说明当前的下游数据库是此待同步事务的最初来源的数据库,所以直接将待同步事务抛弃,无需再同步到当前的下游数据库。因此,可以避免一个事务同步回最初的数据库,从而打断环状链路的数据库系统的循环同步,进而减小数据库系统的资源浪费。
[0036]根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。
附图说明
[0037]后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0038]图1是根据本专利技术一个实施例的数据库系统的示意图;
[0039]图2是根据本专利技术一个实施例的数据库系统的数据同步方法的示意性流程图;
[0040]图3是根据本专利技术另一个实施例的数据库系统的数据同步方法的示意性流程图;
[0041]图4是根据本专利技术又一个实施例的数据库系统的数据同步方法的示意性流程图;
[0042]图5是根据本专利技术一个实施例的机器可读存储介质的示意图;
[0043]图6是根据本专利技术一个实施例的计算机设备的示意图。
具体实施方式
[0044]本领域技术人员应当理解的是,下文所描述的实施例仅仅是本专利技术的一部分实施例,而不是本专利技术的全部实施例,该一部分实施例旨在用于解释本专利技术的技术原理,并非用于限制本专利技术的保护范围。基于本专利技术提供的实施例,本领域普通技术人员在没有付出创造性劳动的情况下所获得的其它所有实施例,仍应落入到本专利技术的保护范围之内。
[0045]需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据库系统的数据同步方法,所述数据库系统包括多个数据库,所述数据同步方法包括:在每个所述数据库创建相同的辅助表,所述辅助表预置有标记字段和可修改字段,所述标记字段下预先写入所述数据库系统所有数据库的唯一标识;从上游数据库获取针对下游数据库的待同步事务,其中,在每两个所述数据库之间的数据同步过程中,上游数据库为数据来源的数据库,下游数据库为接收数据的数据库;获取所述待同步事务中的附加操作,所述附加操作是针对所述辅助表中一个所述唯一标识对应的可修改字段的修改操作;判断所述附加操作含有的所述唯一标识是否与所述下游数据库的唯一标识相同,若相同,抛弃所述待同步事务。2.根据权利要求1所述的数据库系统的数据同步方法,其中,所述获取所述待同步事务中的附加操作的步骤之前包括:判断所述待同步事务是否含有所述附加操作,若是,执行所述获取所述待同步事务中的附加操作的步骤;若否,根据所述待同步事务生成同步事务;在所述同步事务中添加初始附加操作,将所述上游数据库记为原始数据库,所述初始附加操作用于将所述原始数据库的唯一标识对应的可修改字段修改为预设的初始可修改字段值;将所述同步事务同步到所述下游数据库。3.根据权利要求2所述的数据库系统的数据同步方法,其中,所述判断所述附加操作含有的所述唯一标识是否与所述下游数据库的唯一标识相同的步骤之后包括:若不相同,将所述待同步事务同步到所述下游数据库。4.根据权利要求3所述的数据库系统的数据同步方法,其中,所述将所述待同步事务同步到所述下游数据库的步骤之前包括:判断所述附加操作含有的可修改字段值是否符合预设条件,若是,抛弃所述待同步事务,若否,修改所述附加操作中的所述可修改字段值后,执行所述将所述待同步事务同步到所述下游数据库的步骤。5.根据权利要求4所述的数据库系统的数据同步方法,其中,...

【专利技术属性】
技术研发人员:王凯龙冷建全
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

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

1