CN102004780A - 一种数据同步方法及装置 - Google Patents
一种数据同步方法及装置 Download PDFInfo
- Publication number
- CN102004780A CN102004780A CN2010105571646A CN201010557164A CN102004780A CN 102004780 A CN102004780 A CN 102004780A CN 2010105571646 A CN2010105571646 A CN 2010105571646A CN 201010557164 A CN201010557164 A CN 201010557164A CN 102004780 A CN102004780 A CN 102004780A
- Authority
- CN
- China
- Prior art keywords
- data end
- synchrodata
- data
- destination data
- safe
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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
Abstract
本发明涉及数据同步技术领域,为了解决现有技术中在工作环境恶劣的情况下很容易出现数据同步的失败,导致数据丢失的问题,提供一种数据同步方法及装置,该方法包括:在源数据端和目的数据端进行数据同步的过程中,当出现同步异常时,将源数据端中待同步数据写入安全缓存中,同步异常恢复后,将安全缓存中的待同步数据发送给目的数据端,由于采用了安全缓存机制,使得在工作环境恶劣的情况下也不会出现数据同步的失败,进而保证了数据不会被丢失。
Description
技术领域
本发明涉及数据同步技术领域,尤其涉及一种数据同步方法及装置。
背景技术
目前全球各高端领域的很多业务在处理庞大数据的时候无不使用到数据库,但是单个数据库难以满足多点使用,这样会增加数据库的压力。这就必须要使用到数据同步技术将新变更数据从一个数据库同步到其他同类用途的数据库(比如将本地区数据库的数据同步到其它多个地区数据库一对多的同步)。
目前数据同步技术在链路出现异常或者目的端出现异常时无法保证数据同步的可靠性,可见现有技术中存在在工作环境恶劣的情况下很容易出现数据同步的失败,导致数据丢失。
发明内容
为了解决现有技术中在工作环境恶劣的情况下很容易出现数据同步的失败,导致数据丢失的问题,本发明提供了一种彩铃点播方法及系统。
本发明实施例提供的一种数据同步方法,包括:
在源数据端和目的数据端进行数据同步的过程中,当出现同步异常时,将源数据端中待同步数据写入安全缓存中;
同步异常恢复后,将安全缓存中的待同步数据发送给目的数据端。
本发明实施例还提供了一种数据同步装置,包括:
写缓存模块,用于在源数据端和目的数据端进行数据同步的过程中,当出现同步异常时,将源数据端中待同步数据写入安全缓存中;
发送模块,用于同步异常恢复后,将安全缓存中的待同步数据发送给目的数据端。
由于本发明实施例提供的方案,由于采用了安全缓存机制,使得在工作环境恶劣的情况下也不会出现数据同步的失败,进而保证了数据不会被丢失。
附图说明
图1为本发明实施例提供的方法流程图;
图2为为本发明实施例提供的装置结构图。
具体实施方式
下面结合附图对本发明实施例的技术方案进行详细说明。本发明实施例提供的技术方案是将一个源数据端和两个目的数据端(目的数据端A、目的数据端B)进行数据同步。
本实施方案的主要流程如图1所示包括:
步骤101:源数据端发生数据变更。
源数据端发生数据变更,以此为启动条件,触发源数据端和目的数据端进行数据同步。
步骤102:收集源数据端的数据变更信息,判断是否出现同步异常,如果出现同步异常则执行步骤104,否则执行步骤103。
步骤103:直接将数据变更信息发送给目的数据端。
本实施例中将数据变更信息作为由源数据端向目的数据端发送的待同步数据。当然不限于此,也可以是第一次数据同步时,将全部的数据由源数据端向目的数据端发送,作为待同步数据。
本步骤中根据需求,若只需向目的数据端A发送数据变更信息,则仅向目的数据端A发送数据变更信息,若确定目的数据端A和目的数据端B都有数据变更信息需要发送,则向目的数据端A和目的数据端B发送数据变更信息。本实施例中,判断是否出现同步异常时,需判断源数据端与目的数据端链路是否正常,以及目的数据端是否正常,若两者均正常则可确定没有出现同步异常,否则,可以确定出现同步异常。
步骤104:将数据变更信息存储到对应的安全缓存中,并每隔一定时间去检测异常是否恢复,同时发出告警。
安全缓存A和目的数据端A对应,安全缓存B和目的数据端B对应。例如数据变更信息A是由源数据端向目的数据端A发送的数据变更信息,数据变更信息B是由源数据端向目的数据端B发送的数据变更信息,则出现同步异常时,数据变更信息A存储到对应的安全缓存A中,数据变更信息B存储到对应的安全缓存B中。
步骤105:当同步异常恢复正常后,优先将保存在缓存中的数据变更信息按照时间的先后顺序发送给目的数据端。
通过检测发现同步异常已恢复,则优先将安全缓存A、安全缓存B中的数据变更信息A和数据变更信息B分别发送给目的数据端A和目的数据端B。本步骤中等数据同步恢复正常时,优先将保存在安全缓存中的数据同步到目的数据端,然后再重新启动源数据端和目的数据端的数据同步,进入正常的同步流程。在向目的数据端发送保存在缓存中的数据变更信息时,按照时间的先后顺序发送,例如从同步异常到同步异常恢复这段时间,50条数据变更信息(从数据同步开始第51条到第100条)分别保存在安全缓存A和安全缓存B中,在由安全缓存A和安全缓存B中分别向目的数据端A和目的数据端B发送时,依次从第51条到第100条的顺序发送。
步骤106:安全缓存中数据发送完毕后,清除安全缓存中的内容。
在本步骤中,安全缓存A、安全缓存B中的数据变更信息A和数据变更信息B发送完毕后,需要清除安全缓存A和安全缓存B中的数据变更信息A和数据变更信息B。
本实施例中的上述步骤流程可执行于源数据端,也可单独由一个与源数据端连接的专用的服务器执行,在源数据端执行时,出现同步异常后,可以直接在源数据端内收集源数据端的数据变更信息,以及直接将数据变更信息写入到源数据端中的安全缓存,并在后续直接发送给目的数据端,专用的服务器执行时,出现同步异常后,专用的服务器可以获取在源数据端内收集源数据端的数据变更信息,专用的服务器将数据变更信息写入到该专用的服务器中的安全缓存,并在后续专用的服务器直接发送给目的数据端。本实施例中源数据端和专用服务器分别确定出现同步异常的条件一致,一般由以下几种情况引起:一、同步链路中断;二、目的数据终端异常;三、同步过程中,如果由于消息量太大导致消息挤压,写入到安全缓存。
现有技术中的数据同步方案,如果在数据同步的过程中出现异常,会导致数据丢失,会极大的影响业务的正常运行,导致业务出错。这是因为目前的同步技术没有很好的考虑到同步异常时对数据的保护,当整个系统遇到严重异常情况时,由于没有很好的数据保护机制。这种情况下,那些没有数据保护机制的同步方法会造成数据丢失。
本发明实施例的方案中的数据同步技术,增加同步数据缓存保护机制是对同步技术的一种改进,增加了数据同步的可靠性。解决了目前数据同步技术在链路出现异常或者目的端出现异常时无法保证数据同步的可靠性,在工作环境恶劣的情况下很容易出现数据同步的失败,导致数据丢失的问题。并且同时解决了由于先前数据的丢失很有可能就会造成后续数据同步的失败的问题(考虑到数据的事务性)。本发明实施例中通过缓存保护机制的同步方法,在数据同步出现异常时将同步数据写入安全缓存中(该安全缓存为共享内存或映射文件,但不限于这两种保存方式),等数据同步恢复正常时,优先将保存在安全缓存中的数据同步到目的端,然后再进入正常的同步流程,这种方法可以避免在同步异常时数据的丢失,以确保数据同步的可靠性,另外通过这种缓存机制可以保证数据同步的顺序,以确保数据库的事务性。本发明提高了数据同步的的实用性、安全可靠性。多次试验证明该发明实施例中的方案可以达到零数据丢失(同步数据记录数在千万级别)。
本发明实施例还提供了一种数据同步装置,如图2所示包括:
写缓存模块201,用于在源数据端和目的数据端进行数据同步的过程中,当出现同步异常时,将源数据端中待同步数据写入安全缓存中;
发送模块202,用于同步异常恢复后,将安全缓存中的待同步数据发送给目的数据端。
进一步,还包括:清除模块203,用于清除安全缓存中的待同步数据。
进一步,写缓存模块201,还用于当源数据端和目的数据端链路出现异常,或目的数据端出现异常时,将源数据端中待同步数据写入安全缓存中。
进一步,还包括:
同步模块204,用于重新启动源数据端和目的数据端进行数据同步的过程。
进一步,写缓存模块201,还用于源数据端同时和多个目的数据端进行数据同步的过程中出现同步异常时,将源数据端中待同步数据分别写入每一个目的数据端的安全缓存中,每个安全缓存只存储向与其相对应的目的数据端发送的待同步数据;
发送模块202,还用于同步异常恢复后,将各安全缓存中的待同步数据发送给对应的目的数据端。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
在源数据端和目的数据端进行数据同步的过程中,当出现同步异常时,将源数据端中待同步数据写入安全缓存中;
同步异常恢复后,将安全缓存中的待同步数据发送给目的数据端。
2.如权利要求1所述的方法,其特征在于,将安全缓存中的待同步数据发送给目的数据端步骤后还包括:
清除安全缓存中的待同步数据。
3.如权利要求1所述的方法,其特征在于,当出现同步异常时,将源数据端中待同步数据写入安全缓存中步骤具体为:
当源数据端和目的数据端链路出现异常,或目的数据端出现异常时,将源数据端中待同步数据写入安全缓存中。
4.如权利要求1所述的方法,其特征在于,将安全缓存中的待同步数据发送给目的数据端步骤后还包括:
重新启动源数据端和目的数据端进行数据同步的过程。
5.如权利要求1所述的方法,其特征在于,在源数据端和目的数据端进行数据同步的过程中,当出现同步异常时,将源数据端中待同步数据写入安全缓存中具体为:
源数据端同时和多个目的数据端进行数据同步的过程中出现同步异常时,将源数据端中待同步数据分别写入每一个目的数据端的安全缓存中,每个安全缓存只存储向与其相对应的目的数据端发送的待同步数据;
同步异常恢复后,将安全缓存中的待同步数据发送给目的数据端步骤具体为:
同步异常恢复后,将各安全缓存中的待同步数据发送给对应的目的数据端。
6.一种数据同步装置,其特征在于,包括:
写缓存模块,用于在源数据端和目的数据端进行数据同步的过程中,当出现同步异常时,将源数据端中待同步数据写入安全缓存中;
发送模块,用于同步异常恢复后,将安全缓存中的待同步数据发送给目的数据端。
7.如权利要求6所述的装置,其特征在于,还包括:清除模块,用于清除安全缓存中的待同步数据。
8.如权利要求6所述的装置,其特征在于,写缓存模块,还用于当源数据端和目的数据端链路出现异常,或目的数据端出现异常时,将源数据端中待同步数据写入安全缓存中。
9.如权利要求6所述的装置,其特征在于,还包括:
同步模块,用于重新启动源数据端和目的数据端进行数据同步的过程。
10.如权利要求6所述的装置,其特征在于,写缓存模块,还用于源数据端同时和多个目的数据端进行数据同步的过程中出现同步异常时,将源数据端中待同步数据分别写入每一个目的数据端的安全缓存中,每个安全缓存只存储向与其相对应的目的数据端发送的待同步数据;
发送模块,还用于同步异常恢复后,将各安全缓存中的待同步数据发送给对应的目的数据端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105571646A CN102004780A (zh) | 2010-11-23 | 2010-11-23 | 一种数据同步方法及装置 |
PCT/CN2011/070524 WO2012068787A1 (zh) | 2010-11-23 | 2011-01-24 | 一种数据同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105571646A CN102004780A (zh) | 2010-11-23 | 2010-11-23 | 一种数据同步方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102004780A true CN102004780A (zh) | 2011-04-06 |
Family
ID=43812142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105571646A Pending CN102004780A (zh) | 2010-11-23 | 2010-11-23 | 一种数据同步方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102004780A (zh) |
WO (1) | WO2012068787A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102769533A (zh) * | 2011-05-04 | 2012-11-07 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 数据处理方法和数据处理装置 |
CN103051678A (zh) * | 2012-12-04 | 2013-04-17 | 中国电信股份有限公司云计算分公司 | 一种高可靠性的数据通信方法和装置 |
CN105653539A (zh) * | 2014-11-13 | 2016-06-08 | 腾讯数码(深圳)有限公司 | 索引分布式存储的实现方法和装置 |
CN106649735A (zh) * | 2016-12-23 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种记录日志数据的方法和装置 |
CN108234465A (zh) * | 2017-12-26 | 2018-06-29 | 创新科存储技术有限公司 | 一种分布式文件系统中应对异常的冗余方法和装置 |
CN108710646A (zh) * | 2018-04-25 | 2018-10-26 | 福建天泉教育科技有限公司 | 一种数据同步的方法及装置 |
CN109271442A (zh) * | 2018-07-27 | 2019-01-25 | 东软集团股份有限公司 | 数据库同步恢复方法、装置、计算机可读存储介质和电子设备 |
CN110245500A (zh) * | 2019-05-08 | 2019-09-17 | 上海市第十人民医院 | 一种基于医疗体系的安全管理方法及系统 |
CN112799884A (zh) * | 2021-04-14 | 2021-05-14 | 北京八角科技有限责任公司 | 网络数据处理系统异常退出后的自动恢复方法、装置和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1520562A (zh) * | 2001-06-30 | 2004-08-11 | 国际商业机器公司 | 用于中央同步服务器的缓存机构的系统和方法 |
US7249193B1 (en) * | 2001-08-28 | 2007-07-24 | Emc Corporation | SRDF assist |
WO2009040879A1 (ja) * | 2007-09-25 | 2009-04-02 | Fujitsu Limited | 情報処理装置及び制御方法 |
CN101630232A (zh) * | 2008-07-15 | 2010-01-20 | 中兴通讯股份有限公司 | 双存储控制器的管理方法和装置 |
CN101692249A (zh) * | 2009-09-18 | 2010-04-07 | 深圳市科陆电子科技股份有限公司 | 对电力需求侧系统进行数据存取的方法 |
US20100100688A1 (en) * | 2008-10-16 | 2010-04-22 | Microsoft Corporation | Low-level conditional synchronization support |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1277374C (zh) * | 2003-09-29 | 2006-09-27 | 中兴通讯股份有限公司 | 通信系统中基站与服务器数据库实时同步方法 |
US20070297433A1 (en) * | 2006-06-26 | 2007-12-27 | Mediatek Inc. | Method and apparatus for double buffering |
-
2010
- 2010-11-23 CN CN2010105571646A patent/CN102004780A/zh active Pending
-
2011
- 2011-01-24 WO PCT/CN2011/070524 patent/WO2012068787A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1520562A (zh) * | 2001-06-30 | 2004-08-11 | 国际商业机器公司 | 用于中央同步服务器的缓存机构的系统和方法 |
US7249193B1 (en) * | 2001-08-28 | 2007-07-24 | Emc Corporation | SRDF assist |
WO2009040879A1 (ja) * | 2007-09-25 | 2009-04-02 | Fujitsu Limited | 情報処理装置及び制御方法 |
CN101630232A (zh) * | 2008-07-15 | 2010-01-20 | 中兴通讯股份有限公司 | 双存储控制器的管理方法和装置 |
US20100100688A1 (en) * | 2008-10-16 | 2010-04-22 | Microsoft Corporation | Low-level conditional synchronization support |
CN101692249A (zh) * | 2009-09-18 | 2010-04-07 | 深圳市科陆电子科技股份有限公司 | 对电力需求侧系统进行数据存取的方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102769533A (zh) * | 2011-05-04 | 2012-11-07 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 数据处理方法和数据处理装置 |
CN103051678A (zh) * | 2012-12-04 | 2013-04-17 | 中国电信股份有限公司云计算分公司 | 一种高可靠性的数据通信方法和装置 |
CN105653539A (zh) * | 2014-11-13 | 2016-06-08 | 腾讯数码(深圳)有限公司 | 索引分布式存储的实现方法和装置 |
CN106649735A (zh) * | 2016-12-23 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种记录日志数据的方法和装置 |
CN106649735B (zh) * | 2016-12-23 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 一种记录日志数据的方法和装置 |
CN108234465A (zh) * | 2017-12-26 | 2018-06-29 | 创新科存储技术有限公司 | 一种分布式文件系统中应对异常的冗余方法和装置 |
CN108710646A (zh) * | 2018-04-25 | 2018-10-26 | 福建天泉教育科技有限公司 | 一种数据同步的方法及装置 |
CN109271442A (zh) * | 2018-07-27 | 2019-01-25 | 东软集团股份有限公司 | 数据库同步恢复方法、装置、计算机可读存储介质和电子设备 |
CN110245500A (zh) * | 2019-05-08 | 2019-09-17 | 上海市第十人民医院 | 一种基于医疗体系的安全管理方法及系统 |
CN112799884A (zh) * | 2021-04-14 | 2021-05-14 | 北京八角科技有限责任公司 | 网络数据处理系统异常退出后的自动恢复方法、装置和存储介质 |
CN112799884B (zh) * | 2021-04-14 | 2021-08-03 | 北京八角科技有限责任公司 | 网络数据处理系统异常退出后的自动恢复方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2012068787A1 (zh) | 2012-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102004780A (zh) | 一种数据同步方法及装置 | |
CN101582787B (zh) | 一种双机备份系统及备份方法 | |
US10659292B2 (en) | Arbitration method, apparatus, and system used in active-active data centers | |
WO2018023994A1 (zh) | 一种容灾切换的方法、节点及系统 | |
US10565071B2 (en) | Smart data replication recoverer | |
US10095576B2 (en) | Anomaly recovery method for virtual machine in distributed environment | |
CN101094154B (zh) | 一种多主控模式的数据备份异地保护系统以及保护方法 | |
CN102855163B (zh) | 一种内存数据库双机热备方法及主机 | |
CN106502838B (zh) | 列车数据的缓存方法、装置和系统 | |
CN105045533B (zh) | 适用于双控高可用存储系统的磁盘心跳收发方法 | |
GB2499533A (en) | Storage management in clustered data processing systems | |
CN102752093B (zh) | 基于分布式文件系统的数据处理方法、设备和系统 | |
CN103886091B (zh) | 一种基于记录标记的数据库同步方法 | |
CN104021200B (zh) | 一种数据库的数据同步方法和装置 | |
US20150254271A1 (en) | Distributed File System and Data Backup Method for Distributed File System | |
CN102340422A (zh) | 告警的处理方法和系统 | |
CN113282604B (zh) | 基于消息队列实现的高可用时序数据库集群系统 | |
CN102231137B (zh) | 一种数据存储系统及方法 | |
US20130013566A1 (en) | Storage group synchronization in data replication environments | |
CN107329859A (zh) | 一种数据保护方法及存储设备 | |
CN104679888A (zh) | 一种数据同步的装置及方法 | |
CN102750195A (zh) | 一种集群文件系统数据容错的方法 | |
CN104243554B (zh) | 一种集群系统中的时序库主备机内存同步方法 | |
CN105760261B (zh) | 业务输入输出io处理方法和装置 | |
CN112948484A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110406 |