The invention relates to a data synchronization method, which includes reading the transaction log of the source database; decoding the transaction into a database operation statement according to the read transaction log, and marking the predetermined key of the records involved in the firm; setting up a queue mapping table based on the predetermined key, and mapping the list of the queues. A corresponding relationship between the predetermined key of the record and which queue corresponding to the record should be placed; at least one queue is constructed according to the queue mapping table; a thread is allocated for each queue, and the database operation statement of the transactions in at least one of the at least one queue is executed in the target database. The invention also relates to a data synchronization device and a computer readable storage medium. According to the invention, data changes in the source database can be quicker synchronized to the target database on the basis of ensuring the correctness of the data.
【技术实现步骤摘要】
数据同步方法、数据同步装置和计算机可读存储介质
本专利技术总体上涉及数据库
,特别涉及用于在源数据库与目标数据库之间同步数据的数据同步方法、数据同步装置和计算机可读存储介质。
技术介绍
目前,在源数据库与目标数据库之间进行变化数据的复制或者数据同步更新时,通常如图1所示,首先是读取源数据库的事务日志,然后将源数据库的记录的变化解析为对应的一条条增、删、改的SQL语句,并以完整的事务为单位,在目标数据库串行执行解析出的SQL语句,从而保证源数据库的数据变化得以完整复制到目标数据库,或者说使得数据在源数据库与目标数据库之间同步得到更新。然而,目前存在的主要问题是,当源数据库中的记录更新并发量大,数据更新频繁时,受制于源数据库到目标数据库的更新是串行执行的,目标数据库中的数据更新缓慢,数据将会被积压,并导致源数据库、目标数据库的数据差异越来越大。如果简单地将串行执行改为并行执行,则将导致事务顺序错乱,目标数据库中的数据更新发生错误而不可用。
技术实现思路
鉴于上述情况,提出了本专利技术,其目的是当源数据库中的记录更新并发量大时,在保证数据正确的基础上,更快地将源数据库 ...
【技术保护点】
一种数据同步方法,用于在源数据库与目标数据库之间同步数据,包括:读取源数据库的事务日志;根据所读取的事务日志,将事务解码为数据库操作语句,并标记所述事务所涉及的记录的预定键;根据所标记的预定键,建立队列映射表,所述队列映射表标示所述记录的预定键与该记录所对应的事务应放入哪个队列之间的对应关系;根据所述队列映射表,构建至少一个队列;为每个队列分配一个线程,在目标数据库中并行执行所述至少一个队列中的事务的数据库操作语句。
【技术特征摘要】
1.一种数据同步方法,用于在源数据库与目标数据库之间同步数据,包括:读取源数据库的事务日志;根据所读取的事务日志,将事务解码为数据库操作语句,并标记所述事务所涉及的记录的预定键;根据所标记的预定键,建立队列映射表,所述队列映射表标示所述记录的预定键与该记录所对应的事务应放入哪个队列之间的对应关系;根据所述队列映射表,构建至少一个队列;为每个队列分配一个线程,在目标数据库中并行执行所述至少一个队列中的事务的数据库操作语句。2.如权利要求1所述的数据同步方法,还包括:根据所述记录的预定键,建立事务映射表,所述事务映射表标示所述记录的预定键与该记录所对应的事务之间的对应关系。3.如权利要求2所述的数据同步方法,其中,所述建立队列映射表进一步包括:将一个事务Tp所涉及的记录的预定键与所述队列映射表中的预定键进行比较,如果未找到相同的预定键,则将该事务Tp放入长度最短的队列中;如果只找到一个相同的预定键,则将该事务Tp放入所述一个相同的预定键所对应的队列中;如果找到两个或两个以上相同的预定键,则将该事务Tp放入待处理列表中。4.如权利要求3所述的数据同步方法,其中,所述建立事务映射表进一步包括:当事务Tp放入队列后,根据该事务Tp所涉及的预定键,在所述事务映射表中查找是否具有相同的预定键,如果未找到相同的预定键,则将该事务Tp放入事务映射表的新事...
【专利技术属性】
技术研发人员:张升玺,余杨华,
申请(专利权)人:北京华宇信息技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。