CN106682002A - 数据库同步方法及***、源数据和目标数据同步装置 - Google Patents
数据库同步方法及***、源数据和目标数据同步装置 Download PDFInfo
- Publication number
- CN106682002A CN106682002A CN201510750681.8A CN201510750681A CN106682002A CN 106682002 A CN106682002 A CN 106682002A CN 201510750681 A CN201510750681 A CN 201510750681A CN 106682002 A CN106682002 A CN 106682002A
- Authority
- CN
- China
- Prior art keywords
- source
- unique index
- data
- synchronization message
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了源数据、目标数据同步装置和数据库同步方法及***,通过对源数据库中的源表的监测,将源表中发生基于数据操纵语言的操作的源数据的源唯一索引添加到与源表对应的中间表中,在满足同步条件后,在根据中间表中记录的源唯一索引在源表中查找相关的待同步源数据,并向与源表对应的目标库中的目标表发送带有源唯一索引的同步消息,再根据该同步消息在目标表中进行查找并同步;该同步过程无须在归档模式下完成,保证了数据库的性能,节约了磁盘空间。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种数据库同步方法及***、源数据和目标数据同步装置。
背景技术
目前有多种实现oracle数据库同步的方法,包括dataguard、stream、goldengate等成熟技术实现。
在以上数据库同步技术中,均属于在oracle归档模式下完成,基于挖掘oracle归档日志或者redo日志完成数据同步。而oracle开启归档模式对数据库磁盘空间有一定要求,且需要配置定期的清理机制清理归档。而且,以上技术适用于大型的多数据量的同步,对于一些特定场景的数据库同步,可能没有条件采用上述技术实现数据同步,在归档开启后,数据库性能与磁盘空间会受到限制,尤其越是数据量大的数据库这个问题越严重。
发明内容
本发明提供了一种数据库同步方法及***、源数据和目标数据同步装置,解决了现有技术中因数据库同步在归档模式下完成而导致的数据库性能不佳,磁盘空间受限的问题。
为解决上述技术问题,本发明提供了一种数据库同步方法,包括如下步骤:
对源数据库中的源表进行监测;
当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;
在第一同步条件满足后,根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据对应的源唯一索引的同步消息。
进一步的,一个所述源表唯一对应一个所述中间表;所述第一同步条件包括:到达预设的时间和/或所述中间表累计的数量达到预设的阈值。
进一步的,所述源唯一索引包括所述源表中的源数据对应的主键值。
进一步的,所述在源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据的源唯一索引的同步消息包括:
判断所述源唯一索引在所述源表中是否存在;
若否,则在所述同步消息中仅包含所述源唯一索引;
若是,则提取所述源唯一索引对应的源数据作为待同步数据,并加入所述同步消息中。
进一步的,在所述对源数据库中的源表进行监测之前,还包括:
判断所述源表的数据量级是否小于预设的数量级阈值;
若是,则在第二同步条件满足后,将所述源表当前的所有源数据和对应的源唯一索引发送给所述目标表进行同步匹配。
进一步的,所述同步匹配包括:基于merge语句进行匹配同步。
为了解决上述技术问题,本发明还提供了一种数据库同步方法,包括如下步骤:
接收来自源数据库中的源表的同步消息,所述同步消息至少包括发生基于数据操纵语言的操作的待同步源数据对应的源唯一索引;
从所述同步消息中提取出所述源唯一索引;
根据所述源唯一索引在目标库的对应的目标表中查找对应的目标唯一索引,并根据查找结果和所述同步消息进行同步操作。
进一步的,所述根据查找结果和同步消息进行同步操作包括:
当查找结果为所述目标表中存在与所述源唯一索引对应的目标唯一索引,而所述同步消息中仅包含所述源唯一索引时,删除所述目标表中的所述目标唯一索引及对应的目标数据;
当查找结果为所述目标表中存在与所述源唯一索引对应的目标唯一索引,且所述同步消息中包含所述源唯一索引和对应的待同步源数据时,则用所述待同步源数据更新所述目标表中与目标唯一索引对应的目标数据;
当查找结果为所述目标表中不存在与所述源唯一索引对应的目标唯一索引,且所述同步消息中包含所述源唯一索引和对应的待同步源数据时,则将所述源唯一索引和对应的待同步源数据***所述目标表中。
为了解决上述技术问题,本发明还提供了一种数据库同步方法,包括如下步骤:
对源数据库中的源表的数据进行监测;
当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;
在第一同步条件满足后,根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据对应的源唯一索引的同步消息;
从所述同步消息中提取出所述源唯一索引;
根据所述源唯一索引在所述目标表中查找对应的目标唯一索引,并根据查找结果和所述同步消息进行同步操作。
为了解决上述技术问题,本发明还提供了一种源数据同步装置,包括触发模块,消息模块,第一发送模块;
所述触发模块用于对所述源数据库的源表进行监测,当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;
所述消息模块用于根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并生成同步消息;所述同步消息至少包括所述待同步源数据的源唯一索引;
所述第一发送模块用于将所述同步消息发送给目标库中对应的目标表。
进一步的,还包括判断模块,第二发送模块;
所述判断模块用于判断所述源表的数据量级是否小于预设的数量级阈值;
所述第二发送模块用于当所述判断模块判断所述源表的数据量级小于预设的数量级阈值时,在满足第二同步条件后,将所述源表当前的所有源数据对应的源唯一索引发送给所述目标表。
为了解决上述技术问题,本发明还提供了一种目标数据同步装置,包括接收模块,提取模块,同步模块;
所述接收模块用于接收来自源数据库中的源表的同步消息;所述同步消息包括所述源表中发生基于数据操纵语言的操作的源数据对应的源唯一索引;
所述提取模块用于从所述同步消息中提取出所述源唯一索引;
所述同步模块用于根据所述源唯一索引在所述目标表中查找对应的目标唯一索引,并根据查找结果和所述同步消息进行同步操作。
进一步的,所述同步模块包括查询子模块,删除子模块,***子模块,更新子模块;
所述查询子模块用于查询所述源唯一索引对应的所述目标表中的目标唯一索引;
所述删除子模块用于当查询到所述目标表中存在与所述源唯一索引对应的目标唯一索引,而所述同步消息中仅包含所述源唯一索引时,删除所述目标表中的所述目标唯一索引及对应的目标数据;
所述更新子模块用于当查询到所述目标表中存在与所述源唯一索引对应的目标唯一索引,且所述同步消息中包含所述源唯一索引和对应的待同步源数据时,则用所述待同步源数据更新所述目标表中与目标唯一索引对应的目标数据;
所述***子模块用于当查询到所述目标表中不存在与所述源唯一索引对应的目标唯一索引,且所述同步消息中包含所述源唯一索引和对应的待同步源数据时,则将所述源唯一索引和对应的待同步源数据***所述目标表中。
为了解决上述技术问题,本发明还提供了一种数据库同步***,包括源数据同步装置和目标数据同步装置;所述源数据同步装置包括触发模块,消息模块,第一发送模块;所述目标数据同步装置包括接收模块,提取模块,同步模块;
所述触发模块用于对所述源数据库的源表进行监测,当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;
所述消息模块用于根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并生成同步消息;所述同步消息至少包括所述待同步源数据的源唯一索引;
所述第一发送模块用于将所述同步消息发送给目标库中对应的目标表;
所述接收模块用于接收来自所述源表的同步消息;
所述提取模块用于从所述同步消息中提取出所述源唯一索引;
所述同步模块用于根据所述源唯一索引在所述目标表中查找对应的目标唯一索引,并根据查找结果进行同步操作。
有益效果
本发明提供了源数据、目标数据同步装置和数据库同步方法及***,通过对源数据库中的源表的监测,将源表中发生基于数据操纵语言的操作的源数据的源唯一索引添加到与源表对应的中间表中,在满足同步条件后,在根据中间表中记录的源唯一索引在源表中查找相关的待同步源数据,并向与源表对应的目标库中的目标表发送带有源唯一索引的同步消息,再根据该同步消息在目标表中进行查找并同步;本发明直接利用中间表记录源表中发生基于数据操纵语言的操作的源数据的源唯一索引,无须采用日志记录,不用在归档模式下完成,保证了数据库的性能,节约了磁盘空间。
附图说明
图1为本发明实施例一中数据库同步方法流程图;
图2为本发明实施例二中数据库同步方法流程图;
图3为本发明实施例三中数据库同步方法流程图;
图4为本发明实施例四中源数据同步装置示意图;
图5为本发明实施例五中目标数据同步装置示意图;
图6为本发明实施例六中数据库同步***示意图。
具体实施方式
本发明的构思在于,检测源数据库中源表的动作,将发生基于数据操纵语言的操作的源数据的源唯一索引添加到与源表对应的中间表中,再根据中间表中记录的源唯一索引分别在源表和目标库中的目标表中查找,无须开启归档模式,有效减少了磁盘空间的浪费。
实施例一
本实施例提供了一种数据库同步方法,如图1所示,请参考图1:
S101、对源数据库中的源表进行监测;
S102、当监测到源表中的某一部分源数据发生基于DML(Data ManipulationLanguage,数据操纵语言)的操作时,将这部分源数据对应的源唯一索引添加到与源表对应的中间表中;
S103、在第一同步条件满足后,根据中间表中的源唯一索引在源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含待同步源数据对应的源唯一索引的同步消息。
其中,步骤S102中的检测到源表中的某一部分源数据发生DML操作时,这部分源数据在原来的数据的基础上发生了变化,包括delete(删除)这部分源数据,insert(***)这部分源数据,或者update(更新)这部分源数据;这三种DML操作被监测到之后,这部分源数据对应的源唯一索引会被添加到与该源表对应的中间表中。中间表是预先建立好的,一个中间表可以是唯一对应一个源表,这时一个中间表中只记录一个源表中的源数据的源唯一索引,源唯一索引优选为源表的主键值,直接采用源表的主键值作为源唯一索引减少定义过程,降低成本和节约时间;也可以是一个中间表可以对应记录多个源表的源数据的源唯一索引,这种情况下就需要进一步的在源唯一索引上添加各个源表的标识。
在步骤S103中,根据步骤S102确定的源唯一索引,对源表的源唯一索引进行查找,并根据查找的结果生成同步消息;这个查找过程包括将中间表中的源唯一索引一一与源表的源唯一索引进行比对,比对的结果有如下两种:源表中不存在源唯一索引,则说明该源数据发生了delete操作,此时的同步消息仅仅包含源唯一索引而没有与其对应的源数据;源表中存在源唯一索引,则说明该源唯一索引对应的源数据在源表中存在,说明该源数据发生了insert操作或者update操作,此时,将该源数据提取出来作为待同步数据,并添加到同步消息中,即同步消息中包含了源唯一索引和对应的待同步源数据。这样的查找过程可以让中间表仅仅添加源唯一索引即可,节约了磁盘空间。
上述的第一同步条件表示将同步消息发送给目标库中的目标表需要满足的时机,这个时机可以是预设的间隔时间的定时机制,即到达预设的时间就执行将同步消息发送给目标表;也可以是在进行多个表的同步的前提下,若在源表发生DML操作时生成与源表对应的中间表,则中间表累计的数量达到预设的阈值也可以作为将同步消息发送给目标表的时机,该阈值根据源表的总量而定;还可以是上述两种第一同步条件的组合,即满足两者中任意一种即执行将同步消息发送给目标表。这样可以避免实时同步给数据库造成的负担,也可以使数据库的同步足够及时。
进一步的,在对源数据库中的源表进行监测之前,还包括判断源表的数据量级是否小于预设的数量级阈值。若此时源表的数据量级小于预设的数量级阈值,则可以在第二同步条件满足后,将源表当前所有源数据和对应的源唯一索引发送给目标表,进行同步匹配。在源表数据量级小于阈值的前提下,采用这种方式消耗的时间更少,且对源表没有影响;预设的数量级阈值根据数据库的性能而定。该同步匹配过程优选为基于merge语句的同步匹配过程,具体包括:将源表当前所有数据的源唯一索引发送给目标表,将源唯一索引和目标表的目标唯一索引进行匹配,若匹配成功,则使用源数据update目标表中对应的目标数据;若匹配不成功,则使用源表数据insert目标表;最后,查找并delete目标表中存在目标唯一索引而源表中不存在与其对应的源唯一索引的目标数据。进一步的,第二同步条件为到达预设的时间,即设定每间隔一段时间执行将源表当前所有源数据和对应的源唯一索引发送给目标表;此时的间隔时间可以根据源表中DML操作的频率而定,不必设定为固定的值。
实施例二
本实施例提供了一种数据库同步方法,如图2所示,请参考图2:
S201、接收来自源数据库中的源表的同步消息,同步消息至少包括发生基于数据操纵语言的操作的待同步源数据对应的源唯一索引;
其中,该同步消息与实施例一中的同步消息一致,这里不再赘述。
S202、从同步消息中提取出源唯一索引;
S203、根据源唯一索引在目标库的对应的目标表中查找对应的目标唯一索引,并根据查找结果和同步消息进行同步操作。
在步骤S202中,从同步消息中提取出源唯一索引是指在接收到的同步消息中至少包含了与发生了DML操作的待同步源数据对应的源唯一索引,将该源唯一索引提取出来与目标表的目标唯一索引进行比对,即步骤S203中的根据源唯一索引在目标表中查找对应的目标唯一索引。查找的结果有以下两种:目标表中存在与源唯一索引对应的目标唯一索引;目标表中不存在与源唯一索引对应的目标唯一索引。而同步消息有两种:只含有源唯一索引;含有源唯一索引和对应的待同步源数据。当查找结果为目标表中存在与源唯一索引对应的目标唯一索引,而同步消息只含有唯一索引时,可以得出源数据发生了delete操作,此时delete目标表中的目标唯一索引和对应的目标数据;当查找结果为目标表中存在与源唯一索引对应的目标唯一索引,且同步消息含有源唯一索引和对应的待同步源数据时,可以得出源数据发生了update操作,此时用待同步源数据update目标表中与目标唯一索引对应的目标数据;当查找结果为目标表中不存在与源唯一索引对应的目标唯一索引,而同步消息中含有源唯一索引和对应的待同步源数据时,可以得出源数据发生了insert操作,此时将源唯一索引和对应的待同步源数据insert目标表中。进一步的,目标唯一索引优选为目标表的主键值。
实施例三
本实施例提供了一种数据库同步方法,如图3所示,请参考图3:
S301、对源数据库中的源表的数据进行监测;
S302、当监测到源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与源表对应的中间表中;
S303、在第一同步条件满足后,根据中间表中的源唯一索引在源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含待同步源数据对应的源唯一索引的同步消息;
S304、从同步消息中提取出源唯一索引;
S305、根据源唯一索引在目标表中查找对应的目标唯一索引,并根据查找结果和同步消息进行同步操作。
实施例四
本实施例提供了一种源数据同步装置,如图4所示,请参考图4:
源数据同步装置包括触发模块401,消息模块402,第一发送模块403;
触发模块401用于对源数据库中的源表进行监测;当检测到源表中的某一部分数据发生DML操作时,将这部分源数据对应的源唯一索引添加到与源表对应的中间表中。触发模块401一般设置于源表内,实时监测源表是否发生了DML操作,该触发模块401优选为触发器,一旦发生了DML操作就会触发。
消息模块402用于根据中间表的源唯一索引在源表中确定出待同步源数据,并生成同步消息。其中,该同步消息与实施例一中的同步消息一致,这里不再赘述。
第一发送模块403用于将同步消息发送给目标库中对应的目标表。
此外,还包括判断模块404和第二发送模块405;判断模块404用于在触发模块对源数据库的源表进行监测之前,判断源表的数据量级是否小于预设的数量级阈值;第二发送模块用于当判断模块判断源表的数据量级小于预设的数量级阈值时,在满足第二同步条件后,将源表当前的所有源数据对应的源唯一索引发送给目标表。
实施例五
本实施例提供了一种目标数据同步装置,如图5所示,请参考图5:
目标数据同步装置包括接收模块501,提取模块502,同步模块503;
接收模块501用于接收来自源数据库的源表的同步消息;该同步消息与实施例一中的同步消息一致,这里不再赘述。
提取模块502用于从同步消息中提取出源唯一索引;
同步模块503用于根据源唯一索引在目标表中查找对应的目标唯一索引,并根据查找结果和同步消息进行同步操作。
进一步的,同步模块包括查询子模块5031,删除子模块5032,更新子模块5033,***子模块5034;查询子模块用于查询源唯一索引对应的目标表中的目标唯一索引,查找结果与实施例二中的查找结果一致,这里不再赘述;删除子模块5032用于当查找结果为目标表中存在与源唯一索引对应的目标唯一索引,而同步消息中仅包含源唯一索引时,delete目标表中的目标唯一索引和对应的目标数据;更新子模块5033用于当查找结果为目标表中存在与源唯一索引对应的目标唯一索引,且同步消息中包含源唯一索引和对应的待同步源数据时,用待同步源数据update目标表中与目标唯一索引对应的目标数据;***子模块5034用于当查找结果为目标表中不存在与源唯一索引对应的目标唯一索引,且同步消息中包含源唯一索引和对应的待同步源数据时,将源唯一索引和对应的待同步源数据insert目标表中。
实施例六
本实施例提供了一种数据库同步***,如图6所示,请参考图6:
数据同步***包括源数据同步装置40和目标数据同步装置50;其中源数据同步装置40包括触发模块401,消息模块402,第一发送模块403;目标数据同步装置50包括接收模块501,提取模块502,同步模块503。
触发模块401用于对源数据库中的源表进行监测;当检测到源表中的某一部分数据发生DML操作时,将这部分源数据对应的源唯一索引添加到与源表对应的中间表中。触发模块401一般设置于源表内,实时监测源表是否发生了DML操作,该触发模块401优选为触发器,一旦发生了DML操作就会触发。
消息模块402用于根据中间表的源唯一索引在源表中确定出待同步源数据,并生成同步消息。其中,该同步消息与实施例一中的同步消息一致,这里不再赘述。
第一发送模块403用于将同步消息发送给目标库中对应的目标表。
接收模块501用于接收来自源数据库的源表的同步消息;
提取模块502用于从同步消息中提取出源唯一索引;
同步模块503用于根据源唯一索引在目标表中查找对应的目标唯一索引,并根据查找结果和同步消息进行同步操作。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (14)
1.一种数据库同步方法,其特征在于,包括如下步骤:
对源数据库中的源表进行监测;
当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;
在第一同步条件满足后,根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据对应的源唯一索引的同步消息。
2.如权利要求1所述的数据库同步方法,其特征在于,一个所述源表唯一对应一个所述中间表;所述第一同步条件包括:到达预设的时间和/或所述中间表累计的数量达到预设的阈值。
3.如权利要求1所述的数据库同步方法,其特征在于,所述源唯一索引包括所述源表中的源数据对应的主键值。
4.如权利要求1至3任一项所述的数据库同步方法,其特征在于,所述在源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据的源唯一索引的同步消息包括:
判断所述源唯一索引在所述源表中是否存在;
若否,则在所述同步消息中仅包含所述源唯一索引;
若是,则提取所述源唯一索引对应的源数据作为待同步数据,并加入所述同步消息中。
5.如权利要求1至3任一项所述的数据库同步方法,其特征在于,在所述对源数据库中的源表进行监测之前,还包括:
判断所述源表的数据量级是否小于预设的数量级阈值;
若是,则在第二同步条件满足后,将所述源表当前的所有源数据和对应的源唯一索引发送给所述目标表进行同步匹配。
6.如权利要求5所述的数据库同步方法,其特征在于,所述同步匹配包括:基于merge语句进行匹配同步。
7.一种数据库同步方法,其特征在于,包括如下步骤:
接收来自源数据库中的源表的同步消息,所述同步消息至少包括发生基于数据操纵语言的操作的待同步源数据对应的源唯一索引;
从所述同步消息中提取出所述源唯一索引;
根据所述源唯一索引在目标库的对应的目标表中查找对应的目标唯一索引,并根据查找结果和所述同步消息进行同步操作。
8.如权利要求7所述的数据库同步方法,其特征在于,所述根据查找结果和同步消息进行同步操作包括:
当查找结果为所述目标表中存在与所述源唯一索引对应的目标唯一索引,而所述同步消息中仅包含所述源唯一索引时,删除所述目标表中的所述目标唯一索引及对应的目标数据;
当查找结果为所述目标表中存在与所述源唯一索引对应的目标唯一索引,且所述同步消息中包含所述源唯一索引和对应的待同步源数据时,则用所述待同步源数据更新所述目标表中与目标唯一索引对应的目标数据;
当查找结果为所述目标表中不存在与所述源唯一索引对应的目标唯一索引,且所述同步消息中包含所述源唯一索引和对应的待同步源数据时,则将所述源唯一索引和对应的待同步源数据***所述目标表中。
9.一种数据库同步方法,其特征在于,包括如下步骤:
对源数据库中的源表的数据进行监测;
当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;
在第一同步条件满足后,根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据对应的源唯一索引的同步消息;
从所述同步消息中提取出所述源唯一索引;
根据所述源唯一索引在所述目标表中查找对应的目标唯一索引,并根据查找结果和所述同步消息进行同步操作。
10.一种源数据同步装置,其特征在于,包括触发模块,消息模块,第一发送模块;
所述触发模块用于对所述源数据库的源表进行监测,当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;
所述消息模块用于根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并生成同步消息;所述同步消息至少包括所述待同步源数据的源唯一索引;
所述第一发送模块用于将所述同步消息发送给目标库中对应的目标表。
11.如权利要求10所述的源数据同步装置,其特征在于,还包括判断模块,第二发送模块;
所述判断模块用于在所述触发模块对所述源数据库的源表进行监测之前,判断所述源表的数据量级是否小于预设的数量级阈值;
所述第二发送模块用于当所述判断模块判断所述源表的数据量级小于预设的数量级阈值时,在满足第二同步条件后,将所述源表当前的所有源数据对应的源唯一索引发送给所述目标表。
12.一种目标数据同步装置,其特征在于,包括接收模块,提取模块,同步模块;
所述接收模块用于接收来自源数据库中的源表的同步消息;所述同步消息包括所述源表中发生基于数据操纵语言的操作的源数据对应的源唯一索引;
所述提取模块用于从所述同步消息中提取出所述源唯一索引;
所述同步模块用于根据所述源唯一索引在所述目标表中查找对应的目标唯一索引,并根据查找结果和所述同步消息进行同步操作。
13.如权利要求12所述的目标数据同步装置,其特征在于,所述同步模块包括查询子模块,删除子模块,***子模块,更新子模块;
所述查询子模块用于查询所述源唯一索引对应的所述目标表中的目标唯一索引;
所述删除子模块用于当查询到所述目标表中存在与所述源唯一索引对应的目标唯一索引,而所述同步消息中仅包含所述源唯一索引时,删除所述目标表中的所述目标唯一索引及对应的目标数据;
所述更新子模块用于当查询到所述目标表中存在与所述源唯一索引对应的目标唯一索引,且所述同步消息中包含所述源唯一索引和对应的待同步源数据时,则用所述待同步源数据更新所述目标表中与目标唯一索引对应的目标数据;
所述***子模块用于当查询到所述目标表中不存在与所述源唯一索引对应的目标唯一索引,且所述同步消息中包含所述源唯一索引和对应的待同步源数据时,则将所述源唯一索引和对应的待同步源数据***所述目标表中。
14.一种数据库同步***,其特征在于,包括源数据同步装置和目标数据同步装置;所述源数据同步装置包括触发模块,消息模块,第一发送模块;所述目标数据同步装置包括接收模块,提取模块,同步模块;
所述触发模块用于对所述源数据库的源表进行监测,当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;
所述消息模块用于根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并生成同步消息;所述同步消息至少包括所述待同步源数据的源唯一索引;
所述第一发送模块用于将所述同步消息发送给目标库中对应的目标表;
所述接收模块用于接收来自所述源表的同步消息;
所述提取模块用于从所述同步消息中提取出所述源唯一索引;
所述同步模块用于根据所述源唯一索引在所述目标表中查找对应的目标唯一索引,并根据查找结果进行同步操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510750681.8A CN106682002A (zh) | 2015-11-05 | 2015-11-05 | 数据库同步方法及***、源数据和目标数据同步装置 |
PCT/CN2016/104537 WO2017076321A1 (zh) | 2015-11-05 | 2016-11-04 | 数据库同步方法及***、源数据和目标数据同步装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510750681.8A CN106682002A (zh) | 2015-11-05 | 2015-11-05 | 数据库同步方法及***、源数据和目标数据同步装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106682002A true CN106682002A (zh) | 2017-05-17 |
Family
ID=58661739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510750681.8A Pending CN106682002A (zh) | 2015-11-05 | 2015-11-05 | 数据库同步方法及***、源数据和目标数据同步装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106682002A (zh) |
WO (1) | WO2017076321A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203642A (zh) * | 2017-06-19 | 2017-09-26 | 山东浪潮通软信息科技有限公司 | 一种数据同步方法和装置 |
CN107403012A (zh) * | 2017-08-01 | 2017-11-28 | 山东浪潮通软信息科技有限公司 | 一种数据交换方法及装置 |
CN107590207A (zh) * | 2017-08-24 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 数据同步方法及装置、电子设备 |
CN107885804A (zh) * | 2017-11-02 | 2018-04-06 | 平安科技(深圳)有限公司 | 数据库同步方法、应用服务器及计算机可读存储介质 |
CN108804561A (zh) * | 2018-05-22 | 2018-11-13 | 北京科东电力控制***有限责任公司 | 数据同步方法及装置 |
CN109189864A (zh) * | 2018-08-09 | 2019-01-11 | 联动优势电子商务有限公司 | 一种数据同步延时的确定方法、装置和设备 |
CN109271351A (zh) * | 2018-11-12 | 2019-01-25 | 珠海格力电器股份有限公司 | 一种数据库同步方法及*** |
CN109388644A (zh) * | 2017-08-09 | 2019-02-26 | 北京国双科技有限公司 | 一种数据更新方法及装置 |
CN109684407A (zh) * | 2018-11-23 | 2019-04-26 | 武汉达梦数据库有限公司 | 一种dml操作的数据同步方法 |
CN109857809A (zh) * | 2019-01-31 | 2019-06-07 | 浙江小泰科技有限公司 | 一种原始数据库数据同步到目标数据库的同步方法及*** |
CN110162569A (zh) * | 2019-04-15 | 2019-08-23 | 平安普惠企业管理有限公司 | 基于gg同步进程的数据处理方法、装置及计算机设备 |
CN111324624A (zh) * | 2018-12-17 | 2020-06-23 | 中兴通讯股份有限公司 | 数据库组件的merge into功能兼容方法、设备和存储介质 |
CN111984731A (zh) * | 2020-08-27 | 2020-11-24 | 平安国际智慧城市科技股份有限公司 | 大数据平台数仓之间数据同步方法、装置及存储介质 |
CN112463786A (zh) * | 2020-12-10 | 2021-03-09 | 上海携宁计算机科技股份有限公司 | 数据同步方法、***、服务器及存储介质 |
CN113282599A (zh) * | 2021-05-31 | 2021-08-20 | 平安国际智慧城市科技股份有限公司 | 数据同步方法及*** |
CN114880409A (zh) * | 2022-06-15 | 2022-08-09 | 中银金融科技有限公司 | 数据表归档方法及相关装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959545A (zh) * | 2018-07-02 | 2018-12-07 | 山东汇贸电子口岸有限公司 | 一种Oracle数据处理方法 |
CN112988804A (zh) * | 2019-12-12 | 2021-06-18 | 陕西西部资信股份有限公司 | 数据传输方法及*** |
CN112000649B (zh) * | 2020-07-07 | 2023-06-27 | 武汉达梦数据库股份有限公司 | 一种基于map reduce的增量数据同步的方法和装置 |
CN112182104A (zh) * | 2020-09-25 | 2021-01-05 | 中国建设银行股份有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN113495890B (zh) * | 2021-07-08 | 2024-05-14 | 上海二三四五网络科技有限公司 | 一种批量异构数据源自动比对***、方法及设备 |
CN113538107A (zh) * | 2021-07-27 | 2021-10-22 | 畅销家(深圳)科技有限公司 | 一种订单信息同步方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794724A (zh) * | 2005-10-27 | 2006-06-28 | 华为技术有限公司 | 在SyncML层实现数据同步的方法 |
CN101662760A (zh) * | 2009-07-31 | 2010-03-03 | 中兴通讯股份有限公司 | 将终端数据进行备份的方法及*** |
CN101923566A (zh) * | 2010-06-24 | 2010-12-22 | 浙江协同数据***有限公司 | 一种基于触发器的数据增量抽取方法 |
CN103455557A (zh) * | 2013-08-08 | 2013-12-18 | 上海新炬网络技术有限公司 | 一种基于日志的结构化数据同步方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019863B2 (en) * | 2008-03-28 | 2011-09-13 | Ianywhere Solutions, Inc. | Synchronizing events between mobile devices and servers |
CN102982171A (zh) * | 2012-12-17 | 2013-03-20 | 山东神思电子技术股份有限公司 | 一种数据库同步方法 |
-
2015
- 2015-11-05 CN CN201510750681.8A patent/CN106682002A/zh active Pending
-
2016
- 2016-11-04 WO PCT/CN2016/104537 patent/WO2017076321A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794724A (zh) * | 2005-10-27 | 2006-06-28 | 华为技术有限公司 | 在SyncML层实现数据同步的方法 |
CN101662760A (zh) * | 2009-07-31 | 2010-03-03 | 中兴通讯股份有限公司 | 将终端数据进行备份的方法及*** |
CN101923566A (zh) * | 2010-06-24 | 2010-12-22 | 浙江协同数据***有限公司 | 一种基于触发器的数据增量抽取方法 |
CN103455557A (zh) * | 2013-08-08 | 2013-12-18 | 上海新炬网络技术有限公司 | 一种基于日志的结构化数据同步方法 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203642A (zh) * | 2017-06-19 | 2017-09-26 | 山东浪潮通软信息科技有限公司 | 一种数据同步方法和装置 |
CN107403012A (zh) * | 2017-08-01 | 2017-11-28 | 山东浪潮通软信息科技有限公司 | 一种数据交换方法及装置 |
CN109388644B (zh) * | 2017-08-09 | 2021-10-15 | 北京国双科技有限公司 | 一种数据更新方法及装置 |
CN109388644A (zh) * | 2017-08-09 | 2019-02-26 | 北京国双科技有限公司 | 一种数据更新方法及装置 |
CN107590207A (zh) * | 2017-08-24 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 数据同步方法及装置、电子设备 |
CN107885804A (zh) * | 2017-11-02 | 2018-04-06 | 平安科技(深圳)有限公司 | 数据库同步方法、应用服务器及计算机可读存储介质 |
WO2019085471A1 (zh) * | 2017-11-02 | 2019-05-09 | 平安科技(深圳)有限公司 | 数据库同步方法、应用服务器及计算机可读存储介质 |
CN108804561A (zh) * | 2018-05-22 | 2018-11-13 | 北京科东电力控制***有限责任公司 | 数据同步方法及装置 |
CN108804561B (zh) * | 2018-05-22 | 2021-10-15 | 北京科东电力控制***有限责任公司 | 数据同步方法及装置 |
CN109189864A (zh) * | 2018-08-09 | 2019-01-11 | 联动优势电子商务有限公司 | 一种数据同步延时的确定方法、装置和设备 |
CN109189864B (zh) * | 2018-08-09 | 2021-03-16 | 联动优势电子商务有限公司 | 一种数据同步延时的确定方法、装置和设备 |
CN109271351A (zh) * | 2018-11-12 | 2019-01-25 | 珠海格力电器股份有限公司 | 一种数据库同步方法及*** |
CN109684407A (zh) * | 2018-11-23 | 2019-04-26 | 武汉达梦数据库有限公司 | 一种dml操作的数据同步方法 |
WO2020125537A1 (zh) * | 2018-12-17 | 2020-06-25 | 中兴通讯股份有限公司 | 数据库组件的merge into功能兼容方法、设备和存储介质 |
CN111324624A (zh) * | 2018-12-17 | 2020-06-23 | 中兴通讯股份有限公司 | 数据库组件的merge into功能兼容方法、设备和存储介质 |
CN111324624B (zh) * | 2018-12-17 | 2024-06-21 | 金篆信科有限责任公司 | 数据库组件的merge into功能兼容方法、设备和存储介质 |
CN109857809A (zh) * | 2019-01-31 | 2019-06-07 | 浙江小泰科技有限公司 | 一种原始数据库数据同步到目标数据库的同步方法及*** |
CN110162569A (zh) * | 2019-04-15 | 2019-08-23 | 平安普惠企业管理有限公司 | 基于gg同步进程的数据处理方法、装置及计算机设备 |
CN111984731A (zh) * | 2020-08-27 | 2020-11-24 | 平安国际智慧城市科技股份有限公司 | 大数据平台数仓之间数据同步方法、装置及存储介质 |
CN112463786B (zh) * | 2020-12-10 | 2021-08-13 | 上海携宁计算机科技股份有限公司 | 数据同步方法、***、服务器及存储介质 |
CN112463786A (zh) * | 2020-12-10 | 2021-03-09 | 上海携宁计算机科技股份有限公司 | 数据同步方法、***、服务器及存储介质 |
CN113282599A (zh) * | 2021-05-31 | 2021-08-20 | 平安国际智慧城市科技股份有限公司 | 数据同步方法及*** |
CN114880409A (zh) * | 2022-06-15 | 2022-08-09 | 中银金融科技有限公司 | 数据表归档方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2017076321A1 (zh) | 2017-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106682002A (zh) | 数据库同步方法及***、源数据和目标数据同步装置 | |
CN103699580B (zh) | 数据库同步方法及装置 | |
CN102393922B (zh) | 变电站智能报警专家***的模糊Petri推理方法 | |
CN1992632B (zh) | 一种通信网络告警方法以及告警*** | |
CN106972978A (zh) | 一种***告警推送方法及装置 | |
WO2003107127A3 (en) | SYSTEM AND METHOD FOR SEARCHING FOR PERSONALIZED INFORMATION BASED ON USE EXPERTISE | |
CN106250424A (zh) | 一种日志上下文内容的搜索方法、装置及*** | |
CN103618733B (zh) | 一种应用于移动互联网的数据过滤***及方法 | |
CN106649236B (zh) | 修改提示的方法及装置 | |
KR102038529B1 (ko) | 인-메모리 데이터베이스의 실시간 데이터 변경 처리 시스템 | |
CN104239321B (zh) | 一种面向搜索引擎的数据处理方法及装置 | |
CN101291342A (zh) | 一种分布式体系中的数据同步方法及*** | |
CN106934057A (zh) | 一种分页缓存数据的更新方法和装置 | |
CN110471938A (zh) | 一种面向海量轨迹数据的流式处理与实时检索的方法 | |
CN106156318A (zh) | 一种实现多节点数据库高可用的***及方法 | |
CN108880980A (zh) | 基于微信群信息的数据分析*** | |
CN109033192A (zh) | 一种视频监控智能数据采集处理方法 | |
CN103701653B (zh) | 一种接口热插拔配置数据的处理方法及网络配置服务器 | |
CN105721256B (zh) | 一种分布式部署审计平台的审计数据去重方法 | |
CN106919691A (zh) | 基于网页库进行检索的方法、装置及检索*** | |
CN109635584A (zh) | 一种基于区块链的数据链接隐私计算方法 | |
CN107506408A (zh) | 对海量事件分布式关联匹配的方法及*** | |
CN105447168A (zh) | Mp4格式的碎片文件恢复与重组的方法 | |
CN110515895B (zh) | 大数据存储***中对数据文件进行关联存储的方法及*** | |
CN106484694A (zh) | 基于分布式数据库的全文搜索方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170517 |
|
RJ01 | Rejection of invention patent application after publication |