CN103064761A - 一种数据同步方法、设备和系统 - Google Patents
一种数据同步方法、设备和系统 Download PDFInfo
- Publication number
- CN103064761A CN103064761A CN2012105665835A CN201210566583A CN103064761A CN 103064761 A CN103064761 A CN 103064761A CN 2012105665835 A CN2012105665835 A CN 2012105665835A CN 201210566583 A CN201210566583 A CN 201210566583A CN 103064761 A CN103064761 A CN 103064761A
- Authority
- CN
- China
- Prior art keywords
- daily record
- affairs
- thread
- redo
- main frame
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据同步方法、设备和系统,属于网络通信领域。方法包括:通过写日志线程将当前执行的一批事务产生的重做Redo日志从重做缓存保存到主机磁盘中,并阻止所述写日志线程;通过发送线程将保存在所述主机磁盘的Redo日志发送给备机;当接收到所述备机在将所述Redo日志保存到备机磁盘后发送的应答消息时,解除阻止所述写日志线程。系统包括:主机和备机。本发明解决了目前的异步方式备机和主机的数据差异性大和可靠性差的问题,大大降低了主备交换时大量数据丢失的风险,提高了数据同步的处理速度和性能。
Description
技术领域
本发明涉及网络通信领域,特别涉及一种数据同步方法、设备和系统。
背景技术
在高可用性的通信系统如电子银行、电子通信中,通常使用数据库双机,以便通信系统中一个节点出现故障时可以切换到另外一个节点继续提供服务。在数据库双机中,对外提供服务的节点为主机,另外一个节点为备机。主机和备机都在运行,主机需要将数据同步到备机,这样才可以保证主机发生故障时备机能够正常提供服务,所以主备机的数据同步也就尤为重要。
目前,主备机的数据同步方式有同步、半同步、异步;在同步方式下,主机将一个事务的重做Redo日志发给备机,备机将Redo日志存到磁盘且Replay(执行某一操作产生的Redo日志来重复这个操作)完Redo日志后,发送应答消息给主机,主机收到消息后执行下一次操作;在半同步模式下,主机将一个事务的重做Redo日志发给备机,备机在接收到主机发送的Redo日志后,立即给主机发送应答消息,而不用等待Redo日志存到磁盘,主机收到应答消息后执行下一次操作操作和备机replay可以并发;在异步方式下,主机将一批事务的重做Redo日志发给备机,主机继续执行事务和向备机发送Redo日志完全是异步的,主机不用等待备机。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
同步方式虽然可靠性好,但性能很低;异步方式性能好,但是备机和主机的数据差异性可能很大,可靠性差,如果主机出现故障,备机接管业务会存在大量数据丢失;半同步方式可靠性较好,但是主机仍需要在每个事务上等待备机,处理速度和性能较低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据同步方法、设备和系统。所述技术方案如下:
第一方面,提供了一种数据同步方法,所述方法包括:
通过写日志线程将当前执行的一批事务产生的重做Redo日志从重做缓存保存到主机磁盘中,并阻止所述写日志线程;
通过发送线程将保存在所述主机磁盘的Redo日志发送给备机;
当接收到所述备机在将所述Redo日志保存到备机磁盘后发送的应答消息时,解除阻止所述写日志线程。
在第一方面的第一种可能的实现方式中,所述通过写日志线程将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中之后,还包括:
继续执行下一批事务,并将执行的所述下一批事务产生的Redo日志保存到所述重做缓存中,如果所述重做缓存达到预设的阈值,则停止执行事务。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述停止执行事务之后,还包括:
如果接收到所述备机在将所述Redo日志保存到所述备机磁盘后发送的应答消息,且解除阻止所述写日志线程之后,通过所述写日志线程将执行的下一批事务产生的Redo日志从所述重做缓存保存到所述主机磁盘中,并阻止所述写日志线程;
通过发送线程将保存在所述主机磁盘的执行下一批事务产生的Redo日志发送给备机;
当接收到所述备机在将所述执行下一批事务产生的Redo日志保存到备机磁盘后发送的应答消息时,解除阻止所述写日志线程。
结合第一方面的第一种、第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
第二方面,提供了一种数据同步设备,所述设备包括:
处理模块,用于通过写日志线程将当前执行的一批事务产生的重做Redo日志从重做缓存保存到主机磁盘中;
阻止模块,用于阻止所述写日志线程;
发送模块,用于通过发送线程将所述保存模块保存在所述主机磁盘的Redo日志发送给备机;
解除模块,用于当接收到所述备机在将所述Redo日志保存到备机磁盘后发送的应答消息时,解除阻止所述写日志线程。
在第二方面的第一种可能的实现方式中,所述处理模块,还用于继续执行下一批事务,并将执行所述下一批事务产生的Redo日志保存到所述重做缓存中;
所述阻止模块,还用于如果所述重做缓存达到所述预设的阈值,则停止执行事务。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理模块,还用于如果接收到所述备机在将所述Redo日志保存到所述备机磁盘后发送的应答消息,且解除阻止所述写日志线程之后,通过所述写日志线程将执行的下一批事务产生的Redo日志从所述重做缓存保存到所述主机磁盘中;
所述阻止模块,还用于阻止所述写日志线程;
所述发送模块,还用于通过发送线程将所述保存模块保存在所述主机磁盘的执行下一批事务产生的Redo日志发送给备机;
解除模块,还用于当接收到所述备机在将所述执行下一批事务产生的Redo日志保存到备机磁盘后发送的应答消息时,解除阻止所述写日志线程。
结合第二方面的第一种、第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述处理模块处理的一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
第三方面,提供了一种数据同步方法,所述方法包括:
接收主机的发送线程发送的保存在所述主机磁盘的重做Redo日志,所述Redo日志为所述主机执行一批事务产生的Redo日志,由所述主机的写日志线程从所述主机的重做缓存保存到所述主机磁盘中后,所述写日志线程被阻止;
将所述Redo日志保存到备机磁盘之后,向所述主机发送应答消息,以便所述主机根据所述应答消息解除阻止的写日志线程;
根据收到的所述Redo日志重新执行对应的所述一批事务的操作。
在第三方面的第一种可能的实现方式中,所述向所述主机发送应答消息之后,还包括:
接收所述主机的发送线程发送的保存在所述主机磁盘的Redo日志,所述Redo日志为所述主机执行下一批事务产生的Redo日志,由所述主机的写日志线程从所述主机的重做缓存保存到所述主机磁盘中后,所述写日志线程被阻止;
将所述Redo日志保存到备机磁盘之后,向所述主机发送应答消息,以便所述主机根据所述应答消息解除阻止的写日志线程;
根据收到的所述Redo日志重新执行对应的所述下一批事务的操作。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
第四方面,提供了一种数据同步设备,所述设备包括:
接收模块,用于接收主机的发送线程发送的保存在所述主机磁盘的重做Redo日志,所述Redo日志为所述主机执行一批事务产生的Redo日志,由所述主机的写日志线程从所述主机的重做缓存保存到所述主机磁盘中后,所述写日志线程被阻止;
发送模块,用于将所述接收模块接收到的Redo日志保存到备机磁盘之后,向所述主机发送应答消息,以便所述主机根据所述应答消息解除阻止的写日志线程;
执行模块,用于根据所述接收模块接收到的所述Redo日志重新执行对应的所述一批事务的操作。
在第四方面的第一种可能的实现方式中,所述接收模块,还用于接收所述主机的发送线程发送的保存在所述主机磁盘的Redo日志,所述Redo日志为所述主机执行下一批事务产生的Redo日志,由所述主机的写日志线程从所述主机的重做缓存保存到所述主机磁盘中后,所述写日志线程被阻止;
所述发送模块,还用于将所述接收模块接收到的Redo日志保存到备机磁盘之后,向所述主机发送应答消息,以便所述主机根据所述应答消息解除阻止的写日志线程;
所述执行模块,还用于根据所述接收模块接收到的所述Redo日志重新执行对应的所述下一批事务的操作。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述执行模块执行的一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
第五方面,提供了一种数据同步系统,所述系统包括:主机和备机;
其中,所述主机如第二方面所述的设备,所述备机如第四方面所述的设备。
本发明实施例提供的技术方案带来的有益效果是:
通过写日志线程将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;将保存在主机磁盘的Redo日志发送给备机,当接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程,解决了目前的异步方式备机和主机的数据差异性大和可靠性差的问题,大大降低了主备交换时大量数据丢失的风险,提高了数据同步的处理速度和性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的数据同步方法流程图;
图2是本发明实施例二提供的数据同步设备结构示意图;
图3是本发明实施例三提供的数据同步方法流程图;
图4是本发明实施例四提供的数据同步设备结构示意图;
图5是本发明实施例五提供的数据同步系统结构示意图;
图6是本发明实施例六提供的数据同步方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种数据同步方法,参见图1,该方法包括:
101、通过写日志线程将当前执行的一批事务产生的重做Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;
102、通过发送线程将保存在主机磁盘的Redo日志发送给备机;
103、当接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程。
具体地,通过写日志线程将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中之后,还包括:
继续执行下一批事务,并将执行的下一批事务产生的Redo日志保存到重做缓存中,如果重做缓存达到预设的阈值,则停止执行事务。
进一步地,停止执行事务之后,还包括:
如果接收到备机在将Redo日志保存到备机磁盘后发送的应答消息,且解除阻止写日志线程之后,通过写日志线程将执行的下一批事务产生的Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;
通过发送线程将保存在主机磁盘的执行下一批事务产生的Redo日志发送给备机;
当接收到备机在将执行下一批事务产生的Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程。
其中,一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
本发明实施例提供的方法,通过写日志线程将当前执行的一批事务产生的重做Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;将保存在主机磁盘的Redo日志发送给备机,当接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程,解决了目前的异步方式备机和主机的数据差异性大和可靠性差的问题,大大降低了主备交换时大量数据丢失的风险,提高了数据同步的处理速度和性能。
实施例二
参见图2,本发明实施例提供了一种数据同步的设备,该设备包括:
处理模块201,用于通过写日志线程将当前执行的一批事务产生的重做Redo日志从重做缓存保存到主机磁盘中;
阻止模块202,用于阻止写日志线程;
发送模块203,用于通过发送线程将保存模块保存在主机磁盘的Redo日志发送给备机;
解除模块204,用于当接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程。
具体地,处理模块201,还用于继续执行下一批事务,并将执行下一批事务产生的Redo日志保存到重做缓存中;
阻止模块202,还用于如果重做缓存达到预设的阈值,则停止执行事务。
进一步地,处理模块201,还用于如果接收到备机在将Redo日志保存到备机磁盘后发送的应答消息,且解除阻止写日志线程之后,通过写日志线程将执行的下一批事务产生的Redo日志从重做缓存保存到主机磁盘中;
阻止模块202,还用于阻止写日志线程;
发送模块203,还用于通过发送线程将保存模块保存在主机磁盘的执行下一批事务产生的Redo日志发送给备机;
解除模块204,还用于当接收到备机在将执行下一批事务产生的Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程。
其中,处理模块201处理的一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
本发明实施例提供的设备,通过写日志线程将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;将保存在主机磁盘的Redo日志发送给备机,当接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程,解决了目前的异步方式备机和主机的数据差异性大和可靠性差的问题,大大降低了主备交换时大量数据丢失的风险,提高了数据同步的处理速度和性能。
实施例三
参见图3,本发明实施例提供了一种数据同步方法,该方法包括:
301、接收主机的发送线程发送的保存在主机磁盘的重做Redo日志,Redo日志为主机执行一批事务产生的Redo日志,由主机的写日志线程从主机的重做缓存保存到主机磁盘中后,写日志线程被阻止;
302、将Redo日志保存到备机磁盘之后,向主机发送应答消息,以便主机根据应答消息解除阻止的写日志线程;
303、根据收到的Redo日志重新执行对应的一批事务的操作。
具体地,向主机发送应答消息之后,还包括:
接收主机的发送线程发送的保存在主机磁盘的Redo日志,Redo日志为主机执行下一批事务产生的Redo日志,由主机的写日志线程从主机的重做缓存保存到主机磁盘中后,写日志线程被阻止;
将Redo日志保存到备机磁盘之后,向主机发送应答消息,以便主机根据应答消息解除阻止的写日志线程;
根据收到的Redo日志重新执行对应的下一批事务的操作。
其中,一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
本发明实施例提供的方法,通过写日志线程将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;将保存在主机磁盘的Redo日志发送给备机,当接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程,解决了目前的异步方式备机和主机的数据差异性大和可靠性差的问题,大大降低了主备交换时大量数据丢失的风险,提高了数据同步的处理速度和性能。
实施例四
参见图4,本发明实施例提供了一种数据同步的设备,该设备包括:
接收模块401,用于接收主机的发送线程发送的保存在主机磁盘的重做Redo日志,Redo日志为主机执行一批事务产生的Redo日志,由主机的写日志线程从主机的重做缓存保存到主机磁盘中后,写日志线程被阻止;
发送模块402,用于将接收模块401接收到的Redo日志保存到备机磁盘之后,向主机发送应答消息,以便主机根据应答消息解除阻止的写日志线程;
执行模块403,用于根据接收模块401接收到的Redo日志重新执行对应的一批事务的操作。
具体地,接收模块401,还用于接收主机的发送线程发送的保存在主机磁盘的Redo日志,Redo日志为主机执行下一批事务产生的Redo日志,由主机的写日志线程从主机的重做缓存保存到主机磁盘中后,写日志线程被阻止;
发送模块402,还用于将接收模块401接收到的Redo日志保存到备机磁盘之后,向主机发送应答消息,以便主机根据应答消息解除阻止的写日志线程;
执行模块403,还用于根据接收模块401接收到的Redo日志重新执行对应的下一批事务的操作。
其中,执行模块执行的一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
本发明实施例提供的设备,通过写日志线程将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;将保存在主机磁盘的Redo日志发送给备机,当接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程,解决了目前的异步方式备机和主机的数据差异性大和可靠性差的问题,大大降低了主备交换时大量数据丢失的风险,提高了数据同步的处理速度和性能。
实施例五
参见图5,本发明实施例提供了一种数据同步系统,该系统包括:
主机501和备机502;
其中,主机501用于如实施例二所述的设备,备机502如实施例四所述的设备,具体功能参见实施例二和实施例四,不再赘述。
本发明实施例提供的系统,通过写日志线程将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;将保存在主机磁盘的Redo日志发送给备机,当接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程,解决了目前的异步方式备机和主机的数据差异性大和可靠性差的问题,大大降低了主备交换时大量数据丢失的风险,提高了数据同步的处理速度和性能。
实施例六
本发明实施例提供了一种数据同步方法,参见图6,该方法包括:
601、主机当前执行完一批事务后,将当前执行的一批事务产生的Redo日志保存到重做缓存中;
具体地,本发明实施例中的一批事务为预设内存大小的一批事务比如每1M为一批事务,或,预设时间间隔内处理的一批事务比如主机每处理3秒则划为一批事务;重做缓存用于暂时保存执行完一批事务产生的重做Redo日志,本发明实施例可以设置重做缓存Redo buffer的大小和一批事务的大小对应相等,比如一批事务大小为1M,则可以设置重做缓存的大小为1M。
通过写日志线程将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中之后,主机继续执行下一批事务,并将执行的下一批事务产生的Redo日志保存到重做缓存中,如果重做缓存达到预设的阈值,则停止执行事务。
602、主机通过写日志线程LogWriter将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;
其中,本发明实施例中的写日志线程为主机本身自带的,用于将产生的Redo日志从重做缓存写到主机磁盘中,主机的LogWriter线程将这些事务产生的一批Redo日志从重做缓存写到磁盘,并阻止写日志线程LogWriter。虽然写日志线程是阻止的,但是主机仍然可以继续执行下一批事务,并将事务的Redo日志写到重做缓存中,直到重做缓存达到预设的阈值比如90%,此时主机无法将执行事务产生的Redo日志写到重做缓存中,主机停止执行事务。
603、主机通过发送线程将保存在主机磁盘的Redo日志发送给备机;
具体地,主机通过Send线程将保存在主机磁盘的Redo日志发送给备机,此时主机仍然可以继续执行下一批事务,并将事务的Redo日志写到重做缓存中。
604、备机接收到Redo日志后保存到备机磁盘后,向主机发送应答消息;
具体地,备机接收到Redo日志后保存到备机磁盘后,向主机发送应答消息通知主机已经将该批事务存盘,由于只要备机能够将Redo日志存盘即可实现主备切换时,备机能够继续执行事务,所以此时即可向主机发送应答消息,同时备机可以执行replay将Redo日志在备机端重新执行一次操作。
605、当主机接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程。
具体地,主机接收到备机的应答后,解除LogWriter写日志线程的阻止;
其中,通过发送线程将保存在主机磁盘的Redo日志发送给备机之后,当没有接收到备机在将Redo日志保存到备机磁盘后发送的应答消息且已经将执行的下一批事务产生的Redo日志保存到重做缓存中时,阻止继续执行事务。
进一步地,阻止继续执行事务之后,如果接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除写日志线程;通过写日志线程将执行的下一批事务产生的Redo日志从重做缓存保存到主机磁盘中,继续执行事务。
606、主机解除写日志线程之后,通过写日志线程将执行的下一批事务产生的Redo日志从重做缓存保存到主机磁盘中。
具体地,写日志线程LogWriter开始将重做缓存Redo buffer保存到主机磁盘,重做缓存Redo buffer有空余空间后,主机如果阻塞也可继续执行操作,主机的应用阻塞也就解除。
如果主机将执行的下一批事务产生的Redo日志保存到重做缓存中,且重做缓存达到预设的阈值已停止执行事务之后,还包括:
如果主机接收到备机在将Redo日志保存到备机磁盘后发送的应答消息,且解除阻止写日志线程之后,通过写日志线程将执行的下一批事务产生的Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;
通过发送线程将保存在主机磁盘的执行下一批事务产生的Redo日志发送给备机;
当接收到备机在将执行下一批事务产生的Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程。
需要说明的是,本发明实施例提供的数据同步方式通常不会阻塞应用,只有没有收到备机发送的应答消息且重做缓存Redo buffer被写满时,才会阻塞主机执行业务,由于可以设置重做缓存每次只会刷一批事务,所以主备机之间的Redo日志差异可以控制在一批事务之内。
本发明实施例提供的方法,通过写日志线程将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中,并阻止写日志线程;将保存在主机磁盘的Redo日志发送给备机,当接收到备机在将Redo日志保存到备机磁盘后发送的应答消息时,解除阻止写日志线程,解决了目前的异步方式备机和主机的数据差异性大和可靠性差的问题,大大降低了主备交换时大量数据丢失的风险,提高了数据同步的处理速度和性能。
需要说明的是:上述实施例提供的数据同步系统和设备在对数据进行同步时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置和设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据同步系统和设备与数据同步方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种数据同步方法,其特征在于,所述方法包括:
通过写日志线程将当前执行的一批事务产生的重做Redo日志从重做缓存保存到主机磁盘中,并阻止所述写日志线程;
通过发送线程将保存在所述主机磁盘的Redo日志发送给备机;
当接收到所述备机在将所述Redo日志保存到备机磁盘后发送的应答消息时,解除阻止所述写日志线程。
2.根据权利要求1所述的方法,其特征在于,所述通过写日志线程将当前执行的一批事务产生的Redo日志从重做缓存保存到主机磁盘中之后,还包括:
继续执行下一批事务,并将执行的所述下一批事务产生的Redo日志保存到所述重做缓存中,如果所述重做缓存达到预设的阈值,则停止执行事务。
3.根据权利要求2所述的方法,其特征在于,所述停止执行事务之后,还包括:
如果接收到所述备机在将所述Redo日志保存到所述备机磁盘后发送的应答消息,且解除阻止所述写日志线程之后,通过所述写日志线程将执行的下一批事务产生的Redo日志从所述重做缓存保存到所述主机磁盘中,并阻止所述写日志线程;
通过发送线程将保存在所述主机磁盘的执行下一批事务产生的Redo日志发送给备机;
当接收到所述备机在将所述执行下一批事务产生的Redo日志保存到备机磁盘后发送的应答消息时,解除阻止所述写日志线程。
4.根据权利要求1-3中任一权利要求所述的方法,其特征在于,所述一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
5.一种数据同步的设备,其特征在于,所述设备包括:
处理模块,用于通过写日志线程将当前执行的一批事务产生的重做Redo日志从重做缓存保存到主机磁盘中;
阻止模块,用于阻止所述写日志线程;
发送模块,用于通过发送线程将所述保存模块保存在所述主机磁盘的Redo日志发送给备机;
解除模块,用于当接收到所述备机在将所述Redo日志保存到备机磁盘后发送的应答消息时,解除阻止所述写日志线程。
6.根据权利要求5所述的设备,其特征在于,所述处理模块,还用于继续执行下一批事务,并将执行所述下一批事务产生的Redo日志保存到所述重做缓存中;
所述阻止模块,还用于如果所述重做缓存达到所述预设的阈值,则停止执行事务。
7.根据权利要求6所述的设备,其特征在于,所述处理模块,还用于如果接收到所述备机在将所述Redo日志保存到所述备机磁盘后发送的应答消息,且解除阻止所述写日志线程之后,通过所述写日志线程将执行的下一批事务产生的Redo日志从所述重做缓存保存到所述主机磁盘中;
所述阻止模块,还用于阻止所述写日志线程;
所述发送模块,还用于通过发送线程将所述保存模块保存在所述主机磁盘的执行下一批事务产生的Redo日志发送给备机;
解除模块,还用于当接收到所述备机在将所述执行下一批事务产生的Redo日志保存到备机磁盘后发送的应答消息时,解除阻止所述写日志线程。
8.根据权利要求5-7中任一权利要求所述的设备,其特征在于,所述处理模块处理的一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
9.一种数据同步方法,其特征在于,所述方法包括:
接收主机的发送线程发送的保存在所述主机磁盘的重做Redo日志,所述Redo日志为所述主机执行一批事务产生的Redo日志,由所述主机的写日志线程从所述主机的重做缓存保存到所述主机磁盘中后,所述写日志线程被阻止;
将所述Redo日志保存到备机磁盘之后,向所述主机发送应答消息,以便所述主机根据所述应答消息解除阻止的写日志线程;
根据收到的所述Redo日志重新执行对应的所述一批事务的操作。
10.根据权利要求9所述的方法,其特征在于,所述向所述主机发送应答消息之后,还包括:
接收所述主机的发送线程发送的保存在所述主机磁盘的Redo日志,所述Redo日志为所述主机执行下一批事务产生的Redo日志,由所述主机的写日志线程从所述主机的重做缓存保存到所述主机磁盘中后,所述写日志线程被阻止;
将所述Redo日志保存到备机磁盘之后,向所述主机发送应答消息,以便所述主机根据所述应答消息解除阻止的写日志线程;
根据收到的所述Redo日志重新执行对应的所述下一批事务的操作。
11.根据权利要求9或10所述的方法,其特征在于,所述一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
12.一种数据同步的设备,其特征在于,所述设备包括:
接收模块,用于接收主机的发送线程发送的保存在所述主机磁盘的重做Redo日志,所述Redo日志为所述主机执行一批事务产生的Redo日志,由所述主机的写日志线程从所述主机的重做缓存保存到所述主机磁盘中后,所述写日志线程被阻止;
发送模块,用于将所述接收模块接收到的Redo日志保存到备机磁盘之后,向所述主机发送应答消息,以便所述主机根据所述应答消息解除阻止的写日志线程;
执行模块,用于根据所述接收模块接收到的所述Redo日志重新执行对应的所述一批事务的操作。
13.根据权利要求12所述的设备,其特征在于,所述接收模块,还用于接收所述主机的发送线程发送的保存在所述主机磁盘的Redo日志,所述Redo日志为所述主机执行下一批事务产生的Redo日志,由所述主机的写日志线程从所述主机的重做缓存保存到所述主机磁盘中后,所述写日志线程被阻止;
所述发送模块,还用于将所述接收模块接收到的Redo日志保存到备机磁盘之后,向所述主机发送应答消息,以便所述主机根据所述应答消息解除阻止的写日志线程;
所述执行模块,还用于根据所述接收模块接收到的所述Redo日志重新执行对应的所述下一批事务的操作。
14.根据权利要求12或13所述的设备,其特征在于,所述执行模块执行的一批事务为预设内存大小的一批事务,或,预设时间间隔内处理的一批事务。
15.一种数据同步系统,其特征在于,所述系统包括:主机和备机;
其中,所述主机如所述权利要求5至8中任一权利要求所述的设备,所述备机如所述权利要求12至14中任一权利要求所述的设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210566583.5A CN103064761B (zh) | 2012-12-24 | 2012-12-24 | 一种数据同步方法、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210566583.5A CN103064761B (zh) | 2012-12-24 | 2012-12-24 | 一种数据同步方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103064761A true CN103064761A (zh) | 2013-04-24 |
CN103064761B CN103064761B (zh) | 2016-12-28 |
Family
ID=48107394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210566583.5A Active CN103064761B (zh) | 2012-12-24 | 2012-12-24 | 一种数据同步方法、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103064761B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365746A (zh) * | 2013-07-03 | 2013-10-23 | 华为技术有限公司 | 一种同步方法、设备及系统 |
CN103412803A (zh) * | 2013-08-15 | 2013-11-27 | 华为技术有限公司 | 数据恢复的方法及装置 |
CN106815094A (zh) * | 2015-12-02 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种用于实现主备同步模式下事务提交的方法与设备 |
CN106919679A (zh) * | 2017-02-27 | 2017-07-04 | 北京小米移动软件有限公司 | 应用于分布式文件系统的日志重演方法、装置及终端 |
CN108920095A (zh) * | 2018-06-06 | 2018-11-30 | 深圳市脉山龙信息技术股份有限公司 | 一种基于crush的数据存储优化方法和装置 |
CN110597904A (zh) * | 2018-05-25 | 2019-12-20 | 海能达通信股份有限公司 | 一种数据同步方法、备机和主机 |
WO2020025049A1 (zh) * | 2018-08-02 | 2020-02-06 | 中兴通讯股份有限公司 | 数据同步的方法、装置、数据库主机及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030195864A1 (en) * | 2002-04-10 | 2003-10-16 | Emc Corporation | Deactivating virtual devices and rolling backup |
CN101034364A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种实现内存数据备份的方法、装置和系统 |
CN101408855A (zh) * | 2008-11-07 | 2009-04-15 | 北京威视数据系统有限公司 | 连续数据保护系统在远程备份设备临时异常时的保护方法 |
CN101876996A (zh) * | 2009-12-01 | 2010-11-03 | 广州从兴电子开发有限公司 | 一种内存数据库到文件数据库的数据同步方法及系统 |
-
2012
- 2012-12-24 CN CN201210566583.5A patent/CN103064761B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030195864A1 (en) * | 2002-04-10 | 2003-10-16 | Emc Corporation | Deactivating virtual devices and rolling backup |
CN101034364A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种实现内存数据备份的方法、装置和系统 |
CN101408855A (zh) * | 2008-11-07 | 2009-04-15 | 北京威视数据系统有限公司 | 连续数据保护系统在远程备份设备临时异常时的保护方法 |
CN101876996A (zh) * | 2009-12-01 | 2010-11-03 | 广州从兴电子开发有限公司 | 一种内存数据库到文件数据库的数据同步方法及系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365746B (zh) * | 2013-07-03 | 2016-12-28 | 华为技术有限公司 | 一种同步方法、设备及系统 |
CN103365746A (zh) * | 2013-07-03 | 2013-10-23 | 华为技术有限公司 | 一种同步方法、设备及系统 |
CN103412803A (zh) * | 2013-08-15 | 2013-11-27 | 华为技术有限公司 | 数据恢复的方法及装置 |
CN103412803B (zh) * | 2013-08-15 | 2016-08-10 | 华为技术有限公司 | 数据恢复的方法及装置 |
CN106815094B (zh) * | 2015-12-02 | 2020-12-11 | 阿里巴巴集团控股有限公司 | 一种用于实现主备同步模式下事务提交的方法与设备 |
CN106815094A (zh) * | 2015-12-02 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种用于实现主备同步模式下事务提交的方法与设备 |
CN106919679A (zh) * | 2017-02-27 | 2017-07-04 | 北京小米移动软件有限公司 | 应用于分布式文件系统的日志重演方法、装置及终端 |
CN106919679B (zh) * | 2017-02-27 | 2019-12-13 | 北京小米移动软件有限公司 | 应用于分布式文件系统的日志重演方法、装置及终端 |
CN110597904A (zh) * | 2018-05-25 | 2019-12-20 | 海能达通信股份有限公司 | 一种数据同步方法、备机和主机 |
CN110597904B (zh) * | 2018-05-25 | 2023-11-24 | 海能达通信股份有限公司 | 一种数据同步方法、备机和主机 |
CN108920095A (zh) * | 2018-06-06 | 2018-11-30 | 深圳市脉山龙信息技术股份有限公司 | 一种基于crush的数据存储优化方法和装置 |
CN108920095B (zh) * | 2018-06-06 | 2021-06-29 | 深圳市脉山龙信息技术股份有限公司 | 一种基于crush的数据存储优化方法和装置 |
CN110807062A (zh) * | 2018-08-02 | 2020-02-18 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和数据库主机 |
CN110807062B (zh) * | 2018-08-02 | 2021-06-22 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和数据库主机 |
WO2020025049A1 (zh) * | 2018-08-02 | 2020-02-06 | 中兴通讯股份有限公司 | 数据同步的方法、装置、数据库主机及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103064761B (zh) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103064761A (zh) | 一种数据同步方法、设备和系统 | |
CN100390747C (zh) | 全程化实时系统中基于内存数据库的软双机备份方法 | |
CN105975579B (zh) | 一种内存数据库的主备复制方法及内存数据库系统 | |
CN101102281B (zh) | 移动通信系统中大量数据上报时的数据处理方法 | |
CN102609479B (zh) | 一种内存数据库节点复制方法 | |
CN102752093B (zh) | 基于分布式文件系统的数据处理方法、设备和系统 | |
CN107491355A (zh) | 一种基于共享内存的进程间功能调用方法及装置 | |
CN102867035B (zh) | 一种分布式文件系统集群高可用方法和装置 | |
CN102521712A (zh) | 一种流程实例数据处理方法和装置 | |
CN105045533A (zh) | 适用于双控高可用存储系统的磁盘心跳收发方法 | |
CN103139157A (zh) | 一种基于socket的网络通信方法、装置及系统 | |
WO2015106656A1 (zh) | 一种跨数据中心的数据同步方法 | |
CN102736594B (zh) | 一种智能配电终端统一平台模块化设计方法 | |
CN102855163A (zh) | 一种内存数据库双机热备方法及主机 | |
CN108710646A (zh) | 一种数据同步的方法及装置 | |
CN102075341A (zh) | 一种主备同步方法及系统 | |
US20180121531A1 (en) | Data Updating Method, Device, and Related System | |
CN110134541A (zh) | 存储集群的配置信息的切换方法、系统、设备及存储介质 | |
CN110213359A (zh) | 一种基于d2d的车联网组网数据推送系统和方法 | |
CN104243554B (zh) | 一种集群系统中的时序库主备机内存同步方法 | |
CN101855839B (zh) | 用于异步地双重备份文件的方法 | |
CN101621535A (zh) | 一种实时监控系统网络通讯方法和装置 | |
CN113110948A (zh) | 一种容灾数据处理方法和装置 | |
CN113839875B (zh) | 一种堆叠系统中mac地址的同步方法、装置、设备及介质 | |
CN103078748A (zh) | 计费系统中的双机切换方法及相关设备、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |