CN103905220A - 数据同步处理方法及*** - Google Patents

数据同步处理方法及*** Download PDF

Info

Publication number
CN103905220A
CN103905220A CN201210570241.0A CN201210570241A CN103905220A CN 103905220 A CN103905220 A CN 103905220A CN 201210570241 A CN201210570241 A CN 201210570241A CN 103905220 A CN103905220 A CN 103905220A
Authority
CN
China
Prior art keywords
server
data block
data
mark
write
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
Application number
CN201210570241.0A
Other languages
English (en)
Other versions
CN103905220B (zh
Inventor
周智昊
田明
刘里
江兴才
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Beijing Co Ltd
Original Assignee
Tencent Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Beijing Co Ltd filed Critical Tencent Technology Beijing Co Ltd
Priority to CN201210570241.0A priority Critical patent/CN103905220B/zh
Priority to PCT/CN2013/084463 priority patent/WO2014101510A1/zh
Publication of CN103905220A publication Critical patent/CN103905220A/zh
Priority to HK15100004.7A priority patent/HK1199678A1/zh
Priority to US14/749,579 priority patent/US9525733B2/en
Application granted granted Critical
Publication of CN103905220B publication Critical patent/CN103905220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

一种数据同步处理方法,包括:提供对数据块配置有主标志和可写标志的第一服务器;提供第二服务器,并将该数据块的快照在所述第二服务器上导入;对所述第二服务器上的该数据块配置可同步标志;由同步组件将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;在要从所述第一服务器上迁出该数据块时,移除所述第一服务器上该数据块的可写标志;由同步组件将所述第一服务器上该数据块的最新写入数据同步至所述第二服务器上;在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,以及对所述第二服务器上的该数据块配置主标志和可写标志。

Description

数据同步处理方法及***
技术领域
本发明涉及数据同步技术领域;特别涉及一种数据同步处理方法及***。
背景技术
微博是一种典型的UGC(User Generated Content,用户原创内容)业务,数据的产生和用户的行为有很密切的关系。当底层存储服务器故障或因为运维不可写入时,用户会有很高的概率感知到后台***的故障。
为了减少底层业务故障对用户的直观影响,常见方法是采用一些柔性策略,例如在故障时只返回部分可用的数据,或使用某些副本上的数据做读取。在这种场景下,往往受影响的数据是不可写入的,此时的用户写操作将全部失败。为了降低机器故障等因素对用户产生的影响,需要一种快速的数据恢复和运维手段。
现有技术中,重做流水(redo)是一种后台服务常见的数据恢复方式,业务通过先将写动作的流水记录到本地或远程,当机器故障时可以通过将流水中的写动作重放,来恢复数据。
重做流水需要按原来的写入顺序(Seq)重放,这是为了保证写动作的顺序性。但从Seq=0开始从头恢复,一般需要消耗大量时间(相当于将所有写动作从头写一遍)。所以配合流水重做,一般还会配合数据快照(Snapshot)技术,将内存数据的快照导出到磁盘,并且记录导出时刻的顺序(Seq);当恢复数据前先将快照加载到内存,此时重做流水就可以从快照点的顺序(Seq)继续执行,从而节省从头重做流水(redo)的时间。
在传统方案中,当主机故障或进行数据迁移时,需要先取得当天或者前一天的数据快照,然后获取主机上的流水文件(或获取远程流水)。复制流水前还需要对主机禁写,这样是保证迁移过程中数据的一致性,如果在旧的机器上进行了写入但未复制该流水到新的主机,将导致这一部分数据的丢失。所以一般的,在数据恢复过程时,需要按照复制快照、主机禁写、复制流水、恢复快照、流水重做这样的步骤进行操作。
由于传统方案中需要进行繁琐的重做流水操作,并且需要对主机进行较长时间的禁写操作,对外不可写的时间较长,用户对机器故障等运维操作的感知程度较为明显。
发明内容
本发明实施例提供了一种数据同步处理方法及***,避免传统方法中繁琐的重做流水操作,并且很大程度缩短对外不可写的时间,从而减少用户对数据迁移或机器故障等运维操作的感知程度。所述技术方案如下:
一种数据同步处理方法,包括:
提供对数据块配置有主标志和可写标志的第一服务器;
提供第二服务器,并将该数据块的快照在所述第二服务器上导入;
对所述第二服务器上的该数据块配置可同步标志;
由同步组件将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;
在要从所述第一服务器上迁出该数据块时,移除所述第一服务器上该数据块的可写标志;
由同步组件将所述第一服务器上该数据块的最新写入数据同步至所述第二服务器上;
在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,以及对所述第二服务器上的该数据块配置主标志和可写标志。
一种数据同步处理方法,包括:
提供对数据块配置有可同步标志的第一服务器;
提供对该数据块配置有主标志和可写标志的第二服务器;
由同步组件将所述第二服务器上该数据块的写入数据同步至所述第一服务器上;
若所述第二服务器出现故障,则移除所述第二服务器上该数据块的主标志和移除所述第一服务器上该数据块的可同步标志,以及对所述第一服务器上的该数据块配置主标志和可写标志;
在所述第二服务器的故障恢复后,将该数据块的快照在所述第二服务器上导入;
对所述第二服务器上的该数据块配置可同步标志;
由同步组件将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;
在要恢复所述第二服务器针对该数据块的主机地位时,移除所述第一服务器上该数据块的可写标志;
由同步组件将所述第一服务器上该数据块的最新写入数据同步至所述第二服务器上;
在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,对所述第二服务器上的该数据块配置主标志和可写标志以及对所述第一服务器上的该数据块配置可同步标志。
一种数据同步处理***,包括:
第一服务器;
第二服务器;
配置模块,用于对所述第一服务器上的数据块配置主标志和可写标志;
导入模块,用于将该数据块的快照在所述第二服务器上导入;
所述配置模块还用于对所述第二服务器上的该数据块配置可同步标志;
同步组件,用于将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;
所述配置模块还用于在要从所述第一服务器上迁出该数据块时,移除所述第一服务器上该数据块的可写标志;
所述配置模块还用于在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,以及对所述第二服务器上的该数据块配置主标志和可写标志。
一种数据同步处理***,包括:
第一服务器;
第二服务器;
配置模块,用于对第一服务器上的数据块配置可同步标志,以及用于对第二服务器上的该数据块配置主标志和可写标志;
同步组件,用于将所述第二服务器上该数据块的写入数据同步至所述第一服务器上;
所述配置模块还用于若所述第二服务器出现故障时,则移除所述第二服务器上该数据块的主标志和移除所述第一服务器上该数据块的可同步标志,以及对所述第一服务器上的该数据块配置主标志和可写标志;
导入模块,用于在所述第二服务器的故障恢复后,将该数据块的快照在所述第二服务器上导入;
所述配置模块还用于在所述第二服务器的故障恢复后,对所述第二服务器上的该数据块配置可同步标志;
所述同步组件还用于在所述第二服务器的故障恢复后,将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;
所述配置模块还用于在要恢复所述第二服务器针对该数据块的主机地位时,移除所述第一服务器上该数据块的可写标志;
所述配置模块还用于在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,对所述第二服务器上的该数据块配置主标志和可写标志以及对所述第一服务器上的该数据块配置可同步标志。
本发明实施例提供的技术方案带来的有益效果是:通过在主机服务器上进行数据迁移或者主机服务器出现故障进行恢复的过程中,利用同步组件拥有将标有主标志的主机服务器上的数据同步到标有可同步标志的从机服务器上的特性,将主机服务器上的数据同步至从机服务器上,并配合在主机服务器的数据迁移或故障恢复过程中采用主写点切换的方式,可以避免传统方法中繁琐的重做流水操作,并且很大程度缩短数据迁移和故障恢复过程中对外不可写的时间,从而减少用户对数据迁移以及机器故障等运维操作的感知程度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的主从切换过程中数据块的标志位状态改变示意图;
图2是本发明第一实施例提供的数据同步处理方法的流程图;
图3是本发明第二实施例提供的数据同步处理方法的流程图;
图4是本发明第一实施例提供的数据同步处理***的结构示意图;
图5是本发明第二实施例提供的数据同步处理***的结构示意图。
具体实施方式
本发明实施例提供一种数据同步处理方法及***。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在描述本发明实施例提供的数据同步处理方法及***之前,先介绍本发明实施例提供的主从切换的概念。所谓主从切换,即在配备有主机服务器(Master)与从机服务器(Slave)的服务器架构中,由配置中心将具有主写点的主机服务器(Master)降级,并提升从机服务器(Slave)为主写点的方法。在进行主从切换之后,原从机服务器被提升为主机服务器,同时原主机服务器被降级为从机服务器。
请参考图1,图1是本发明实施例的主从切换过程中数据块的标志位状态改变的示意图;初始时,server1中对数据配置有主标志(M)、可写标志(W)和可读标志(R),server2中对数据配置有可同步标志(S)和可读标志(R),server1成为数据的主机服务器且为数据的主写点;server2成为数据的从机服务器且可从主机服务器上接收数据进行同步,以在从机服务器上建立数据副本。两者经过数据同步之后,从机服务器上的数据与主机服务器上的数据基本一致,除了主机服务器上刚写入的最新数据正在同步或者正在等待同步至从机服务器上之外。
在进行主从切换之前,首先由配置中心对server1禁写,即移除server1上数据的可写标志(W),并保持server1上数据的主标志(M)和server2上数据的可同步标志(S),使刚写入主机服务器上的最新数据也可以在对主机服务器禁写期间同步至从机服务器上,确保从机服务器上的数据与主机服务器上的数据完全一致,使从机服务器与主机服务器上的数据达到相同的同步点。
在从机服务器与主机服务器上的数据达到相同的同步点后,即可进行主从切换的操作,由配置中心移除server1上数据的主标志(M)和移除server2上数据的可同步标志(S),对server2上的数据配置主标志(M)和可写标志(W),并对server1上的数据配置可同步标志(S),此时server2升级为数据的新主机服务器,server1降级为数据的新从机服务器,从而完成主从切换的过程。
请参考图2,图2为本发明第一实施例提供的数据同步处理方法的流程图,在本实施例中,该数据同步处理方法适用于将数据从一台主机服务器上迁移至另一台服务器上。当某一台主机服务器上存储有A、B、C等多个数据块并持续接收外部数据写入时,如果其中某个数据块(例如A数据块)的外部数据写入量特别多,膨胀的很快,就可以把A数据块单独迁出至另一台服务器上,并将该另一台服务器配置为A数据块的主机服务器,使该另一台服务器成为A数据块的主写点,这样就可以缓解原主机服务器的存储压力,而外部数据写入量相对较少的其余数据块(B、C等数据块)仍然可以使用原主机服务器作为主写点。所述数据同步处理方法包括:
步骤S101:提供对数据块配置有主标志和可写标志的第一服务器;
所述第一服务器对数据块由于配置有主标志(M)和可写标志(W),因此所述第一服务器成为该数据块的主机服务器,并可以接收外部针对该数据块的数据写入。具体地,可由配置中心对所述第一服务器上的该数据块配置主标志(M)和可写标志(W);进一步地,还可以对所述第一服务器上的该数据块配置可读标志(R),使所述第一服务器同时还可对外提供该数据块的读取功能。
步骤S102:提供第二服务器,并将该数据块的快照在所述第二服务器上导入;
步骤S103:对所述第二服务器上的该数据块配置可同步标志;
如果所述第一服务器上的某数据块(例如A数据块)由于膨胀很快,需要将A数据块从所述第一服务器上迁移至另一台新的服务器上时,则提供一台新设备作为第二服务器,并将该数据块的快照在所述第二服务器上导入。
一般地,服务器中的数据会定期(例如每天早上某个时间)做一次快照(Snapshot),并将该快照存储在冷备中心,以备未来恢复数据时使用;在做快照时,既可以针对主机服务器上的数据制作快照,也可以针对从机服务器上的数据制作快照。另外,因为主机服务器是主写点,主机服务器上还会记录一份完整的写操作流水(Binlog),用于数据同步或恢复。
当需要将所述第一服务器上的A数据块迁移至所述第二服务器上时,首先需要将所述第二服务器搭建为A数据块的从机服务器,使所述第一服务器与所述第二服务器之间针对A数据块而言构成主机与从机的关系,以利用同步组件将A数据块的数据同步至所述第二服务器上。因此,可以先从冷备中心获取A数据块于最近时间(当天或者前一天)的快照,并将该快照在所述第二服务器上导入,之后再对所述第二服务器上的该数据块配置可同步标志(S),使所述第二服务器成为A数据块的从机服务器,即可由同步组件将A数据块于快照点之后的新写入数据从所述第一服务器发送至所述第二服务器上进行增量数据同步,避免从Seq=0开始数据的全量同步所需要消耗的大量时间,从而大大减少整个数据迁移所花费的时间。
具体地,对所述第二服务器上的该数据块配置可同步标志(S)时,可由配置中心对所述第二服务器配置可同步标志(S);进一步地,还可以对所述第二服务器上的该数据块配置可读标志(R),使所述第二服务器同时还可对外提供该数据块的读取功能。
步骤S104:由同步组件将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;
同步组件是一种通用的数据同步组件,用于将主机服务器接收的写入数据同步到对应可同步的从机服务器上,该同步组件的实现原理是通过读取主机服务器记录的写操作流水,按照从机服务器所需要流水序号(Seq)推送到从机服务器上,从而实现在主机服务器的写操作顺序同步到从机服务器的目的,这种实现将主机服务器上的数据按照写入顺序(Seq)推送到可同步从机服务器上的模块,统称为同步组件;同步组件拥有将标有主标志(M)的主机服务器上的数据同步到标有可同步标志(S)的从机服务器上的特性,因此在所述第一服务器与所述第二服务器之间对A数据块而言构成主机与从机的关系之后,便可由同步组件将所述第一服务器上A数据块的写入数据(写操作流水)发送至所述第二服务器上进行A数据块的数据同步,使所述第二服务器上A数据块的数据与所述第一服务器上A数据块的数据维持同步状态。
步骤S105:在要从所述第一服务器上迁出该数据块时,移除所述第一服务器上该数据块的可写标志;
步骤S106:由同步组件将所述第一服务器上该数据块的最新写入数据同步至所述第二服务器上;
在要从所述第一服务器迁出A数据块时,可由配置中心移除所述第一服务器上A数据块的可写标志(W),使所述第一服务器针对A数据块成为禁止写入状态。由于在上述步骤S104中,所述第二服务器与所述第一服务器进行A数据块的数据同步之后,所述第二服务器上A数据块的数据与所述第一服务器上A数据块的数据已基本一致,除了刚写入所述第一服务器上的最新数据正在同步或者正在等待同步至所述第二服务器上之外。为了使所述第二服务器上A数据块的数据与所述第一服务器上A数据块的数据完全同步即达到一个相同的同步点,此时可由配置中心移除所述第一服务器上A数据块的可写标志(W),对所述第一服务器进行短暂时间(例如几秒钟)的禁写,在禁写期间保持所述第一服务器上A数据块的主标志(M)和所述第二服务器上A数据块的可同步标志(S),使所述第一服务器与所述第二服务器之间对A数据块而言仍然构成主机与从机的关系,由同步组件将所述第一服务器上对A数据块刚写入的最新数据推送至所述第二服务器上进行数据同步,使所述第二服务器上A数据块的数据同步到与所述第一服务器上A数据块的数据完全一致,让所述第二服务器与所述第一服务器上A数据块的数据达到相同的同步点。
步骤S107:在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,以及对所述第二服务器上的该数据块配置主标志和可写标志。
在对所述第一服务器的A数据块禁写,并等待所述第二服务器上A数据块的数据与所述第一服务器上A数据块的数据完全同步后,则可由配置中心移除所述第一服务器上A数据块的主标志(M)和移除所述第二服务器上A数据块的可同步标志(S),以及对所述第二服务器上的A数据块配置主标志(M),此时所述第二服务器被提升为A数据块的新主机服务器,在确认新主机服务器工作正常后,即可由配置中心对所述第二服务器上的A数据块配置可写标志(W),A数据块的外部数据写入即被转移至所述第二服务器(即新主机服务器)上。
进一步地,在移除所述第一服务器上A数据块的主标志(M)之后,还包括:
步骤S108:清理所述第一服务器上的该数据块以回收该数据块所占用的空间。
A数据块迁出之后,需要将A数据块从所述第一服务器上清理掉,不然所述第一服务器上还会有A数据块的残留。将所述第一服务器上的A数据块清理后可回收A数据块所占用的空间,腾出来的空间可以留给所述第一服务器上的其他数据块(例如B、C等数据块)使用。至此整个数据迁移过程完成。
请参考图3,图3是本发明第二实施例提供的数据同步处理方法的流程图,在本实施例中,该数据同步处理方法适用于当主机服务器出现故障时对数据的同步处理,所述数据同步处理方法包括:
步骤S201:提供对数据块配置有可同步标志的第一服务器;
所述第一服务器对数据块由于配置有可同步标志(S),因此所述第一服务器成为该数据块的从机服务器。具体地,可由配置中心对所述第一服务器上的该数据块配置可同步标志(S);进一步地,还可以对所述第一服务器上的该数据块配置可读标志(R),使所述第一服务器同时还可对外提供该数据块的读取功能。
步骤S202:提供对该数据块配置有主标志和可写标志的第二服务器;
所述第二服务器对数据块由于配置有主标志(M)和可写标志(W),因此所述第二服务器成为该数据块的主机服务器,并可以接收外部针对该数据块的数据写入。具体地,可由配置中心对所述第二服务器上的该数据块配置主标志(M)和可写标志(W);进一步地,还可以对所述第二服务器上的该数据块配置可读标志(R),使所述第二服务器同时还可对外提供该数据块的读取功能。
步骤S203:由同步组件将所述第二服务器上该数据块的写入数据同步至所述第一服务器上;
同步组件是一种通用的数据同步组件,用于将主机服务器接收的写入数据同步到对应可同步的从机服务器上,该同步组件的实现原理是通过读取主机服务器记录的写操作流水,按照从机服务器所需要流水序号(Seq)推送到从机服务器上,从而实现在主机服务器的写操作顺序同步到从机服务器的目的,这种实现将主机服务器的数据按照写入顺序(Seq)推送到可同步从机服务器上的模块,统称为同步组件;由于同步组件拥有将标有主标志(M)的主机服务器上的数据同步到标有可同步标志(S)的从机服务器上的特性,因此在所述第二服务器与所述第一服务器之间针对数据块构成主机与从机的关系之后,便可由同步组件将所述第二服务器上数据块的写入数据(写操作流水)发送至所述第一服务器上进行数据同步,使所述第一服务器上数据块的数据与所述第二服务器上数据块的数据维持同步状态。
步骤S204:若所述第二服务器出现故障,则移除所述第二服务器上该数据块的主标志和移除所述第一服务器上该数据块的可同步标志,以及对所述第一服务器上的该数据块配置主标志和可写标志;
当所述第二服务器出现死机或硬件损坏等故障而无法提供正常服务时,可由配置中心下发移除所述第二服务器上该数据块的主标志(M)和移除所述第一服务器上该数据块的可同步标志(S),以及对所述第一服务器上的该数据块配置主标志(M)和可写标志(W),从而直接将所述第一服务器提升为该数据块的新主机服务器,使外部针对该数据块的数据写入从所述第二服务器(原来的主机服务器)转移至所述第一服务器(即新的主机服务器)上,从而在最短的时间内切换该数据块的主写点并恢复外部数据写入。
步骤S205:在所述第二服务器的故障恢复后,将该数据块的快照在所述第二服务器上导入;
步骤S206:对所述第二服务器上的该数据块配置可同步标志;
一般地,服务器中的数据会定期(例如每天早上某个时间)做一次快照(Snapshot),并将该快照存储在冷备中心,以备未来恢复数据时使用;在做快照时,既可以针对主机服务器上的数据制作快照,也可以针对从机服务器上的数据制作快照。另外,因为主机服务器是主写点,主机服务器上还会记录一份完整的写操作流水(Binlog),用于数据同步或恢复。
在第二服务器的故障恢复后,可以先从冷备中心获取该数据块于最近时间(当天或者前一天)的快照,并将该快照在所述第二服务器上导入,之后再由配置中心对第二服务器上的该数据块配置可同步标志(S)使其成为该数据块的从机服务器,使第一服务器与第二服务器之间对该数据块而言在当前构成主机与从机的关系,即可由同步组件将该数据块于快照点之后的新写入数据从第一服务器上发送至第二服务器上进行增量数据同步,从而大大减少同步数据所花费的时间。
步骤S207:由同步组件将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;
由于在经过上述步骤S205和步骤S206后,所述第一服务器与所述第二服务器之间对该数据块而言已构成主机与从机的关系,因此可由同步组件将所述第一服务器上该数据块的写入数据(写操作流水)发送至所述第二服务器上进行数据同步,使所述第二服务器上该数据块的数据与所述第一服务器上该数据块的数据维持同步状态。
步骤S208:在要恢复所述第二服务器针对该数据块的主机地位时,移除所述第一服务器上该数据块的可写标志;
步骤S209:由同步组件将所述第一服务器上该数据块的最新写入数据同步至所述第二服务器上;
在所述第二服务器恢复正常服务之后,还需要再做一次主从切换,将主写点从当前的第一服务器切换回原来的主机即第二服务器上,以恢复所述第二服务器的主机地位,这是因为原来作为主机的第二服务器一般在物理部署上比原来作为从机的第一服务器有性能优势,例如网络条件好、和接入服务器较近等。在上述步骤S207中已经将第一服务器上该数据块的数据同步至第二服务器上,使所述第二服务器上该数据块的数据与所述第一服务器上该数据块的数据基本一致,除了刚写入所述第一服务器上的最新数据正在同步或者正在等待同步至所述第二服务器上之外。在要恢复所述第二服务器的主机地位时,可由配置中心移除所述第一服务器上该数据块的可写标志(W),对所述第一服务器进行短暂时间(例如几秒钟)的禁写,同时在禁写期间保持第一服务器上该数据块的主标志(M)和第二服务器上该数据块的可同步标志(S),由同步组件将第一服务器上针对该数据块的最新写入数据发送至第二服务器上进行同步,使第二服务器上该数据块的数据同步到与第一服务器上该数据块的数据完全一致,让第二服务器与第一服务器上该数据块的数据达到相同的同步点。
步骤S210:在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,对所述第二服务器上的该数据块配置主标志和可写标志以及对所述第一服务器上的该数据块配置可同步标志。
在第二服务器与第一服务器上该数据块的数据达到相同的同步点后,可由配置中心移除第一服务器上该数据块的主标志(M)和移除第二服务器上该数据块的可同步标志(S),对第二服务器上的该数据块配置主标志(M)和可写标志(W),以及对第一服务器上的该数据块配置可同步标志(S),使第二服务器成为该数据块的主机服务器,使第一服务器该数据块的成为从机服务器,此时第二服务器被恢复到原来的主机身份,第一服务器被恢复到原来的从机身份。至此,该数据块的外部数据写入被重新转移至所述第二服务器上,至此所述第二服务器出现故障的整个数据同步恢复过程完成。
上述实施例中提出的数据同步处理方法,可应用于对主机服务器上的数据进行迁移或主机服务器出现故障而无法正常服务等情形下的数据同步处理。在数据迁移时,通过对新设备配置可同步标志,将新设备搭建为从机,再利用同步组件的特性,由同步组件将主机服务器上数据同步到搭建为从机的新设备上,避免传统方法中繁琐的重做流水操作,在整个数据迁移的过程中,只需要在进行数据的主写点切换之前对主机服务器进行短暂时间的禁写。在主机服务器出现故障时,通过直接将一个从机服务器提升为新的主机服务器,达到快速进行数据的主写点切换并及时恢复外部的数据写入,避免传统方案中需要等待主机服务器的故障恢复之后再在主机服务器上进行繁琐的重做流水操作;另外,若要将数据的主写点切回原来的主机服务器,也只需要在进行主写点切换之前对当前的主机服务器进行短暂时间的禁写。因此,上述数据同步处理方法中,数据的主写点切换在很短的时间内完成,外部数据在短时间之内即可重新写入,无需用户长时间的等待,避免传统方法中需要对主机服务器进行长时间的禁写操作而影响用户写入的情况出现,大幅降低用户对后台运维和故障的感知程度,同时达到简化故障恢复流程,降低运维成本。
请参考图4,图4为本发明第一实施例提供的数据同步处理***的结构示意图,所述数据同步处理***包括:
第一服务器301;
第二服务器302;
配置模块303,用于对所述第一服务器301上的数据块配置主标志和可写标志;
导入模块304,用于将该数据块的快照在所述第二服务器302上导入;
所述配置模块303还用于对所述第二服务器302上的该数据块配置可同步标志;
同步组件305,用于将所述第一服务器301上该数据块的写入数据同步至所述第二服务器302上;
所述配置模块303还用于在要从所述第一服务器301上迁出该数据块时,移除所述第一服务器301上该数据块的可写标志;
所述配置模块303还用于在所述第二服务器302上该数据块的数据与所述第一服务器301上该数据块的数据完全同步后,移除所述第一服务器301上该数据块的主标志和移除所述第二服务器302上该数据块的可同步标志,以及对所述第二服务器302上的该数据块配置主标志和可写标志。
所述同步组件305拥有将标有主标志的主机服务器上的数据同步到标有可同步标志的从机服务器上的特性。
进一步地,上述第一实施例中的数据同步处理***还包括清理模块306,所述配置模块303在移除所述第一服务器301上该数据块的主标志之后,所述清理模块306清理所述第一服务器301上的该数据块以回收该数据块所占用的空间。
请参考图5,图5为本发明第二实施例提供的数据同步处理***的结构示意图,所述数据同步处理***包括:
第一服务器401;
第二服务器402;
配置模块403,用于对第一服务器401上的数据块配置可同步标志,以及用于对第二服务器402上的该数据块配置主标志和可写标志;
同步组件404,用于将所述第二服务器402上该数据块的写入数据同步至所述第一服务器401上;
所述配置模块403还用于若所述第二服务器402出现故障时,则移除所述第二服务器402上该数据块的主标志和移除所述第一服务器401上该数据块的可同步标志,以及对所述第一服务器401上的该数据块配置主标志和可写标志;
导入模块405,用于在所述第二服务器402的故障恢复后,将该数据块的快照在所述第二服务器402上导入
所述配置模块403还用于在所述第二服务器402的故障恢复后,对所述第二服务器402上的该数据块配置可同步标志;
所述同步组件404还用于在所述第二服务器402的故障恢复后,将所述第一服务器401上该数据块的写入数据同步至所述第二服务器402;
所述配置模块403还用于在要恢复所述第二服务器402针对该数据块的主机地位时,移除所述第一服务器401上该数据块的可写标志;
所述配置模块403还用于在所述第二服务器402上该数据块的数据与所述第一服务器401上该数据块的数据完全同步后,移除所述第一服务器401上该数据块的主标志和移除所述第二服务器402上该数据块的可同步标志,对所述第二服务器402上的该数据块配置主标志和可写标志以及对所述第一服务器401上的该数据块配置可同步标志。
所述同步组件404拥有将标有主标志的主机服务器上的数据同步到标有可同步标志的从机服务器上的特性。
关于上述实施例中数据同步处理***的进一步细节,还可参阅上述实施例中数据同步处理方法及相关描述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种数据同步处理方法,其特征在于,包括:
提供对数据块配置有主标志和可写标志的第一服务器;
提供第二服务器,并将该数据块的快照在所述第二服务器上导入;
对所述第二服务器上的该数据块配置可同步标志;
由同步组件将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;
在要从所述第一服务器上迁出该数据块时,移除所述第一服务器上该数据块的可写标志;
由同步组件将所述第一服务器上该数据块的最新写入数据同步至所述第二服务器上;
在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,以及对所述第二服务器上的该数据块配置主标志和可写标志。
2.根据权利要求1所述的数据同步处理方法,其特征在于,在移除所述第一服务器上该数据块的主标志之后还包括:清理所述第一服务器上的该数据块以回收该数据块所占用的空间。
3.一种数据同步处理方法,其特征在于,包括:
提供对数据块配置有可同步标志的第一服务器;
提供对该数据块配置有主标志和可写标志的第二服务器;
由同步组件将所述第二服务器上该数据块的写入数据同步至所述第一服务器上;
若所述第二服务器出现故障,则移除所述第二服务器上该数据块的主标志和移除所述第一服务器上该数据块的可同步标志,以及对所述第一服务器上的该数据块配置主标志和可写标志;
在所述第二服务器的故障恢复后,将该数据块的快照在所述第二服务器上导入;
对所述第二服务器上的该数据块配置可同步标志;
由同步组件将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;
在要恢复所述第二服务器针对该数据块的主机地位时,移除所述第一服务器上该数据块的可写标志;
由同步组件将所述第一服务器上该数据块的最新写入数据同步至所述第二服务器上;
在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,对所述第二服务器上的该数据块配置主标志和可写标志以及对所述第一服务器上的该数据块配置可同步标志。
4.一种数据同步处理***,其特征在于,包括:
第一服务器;
第二服务器;
配置模块,用于对所述第一服务器上的数据块配置主标志和可写标志;
导入模块,用于将该数据块的快照在所述第二服务器上导入;
所述配置模块还用于对所述第二服务器上的该数据块配置可同步标志;
同步组件,用于将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;
所述配置模块还用于在要从所述第一服务器上迁出该数据块时,移除所述第一服务器上该数据块的可写标志;
所述配置模块还用于在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,以及对所述第二服务器上的该数据块配置主标志和可写标志。
5.根据权利要求4所述的数据同步处理***,其特征在于,还包括清理模块,所述配置模块在移除所述第一服务器上该数据块的主标志之后,所述清理模块清理所述第一服务器上的该数据块以回收该数据块所占用的空间。
6.根据权利要求4所述的数据同步处理***,其特征在于,所述同步组件拥有将标有主标志的主机服务器上的数据同步到标有可同步标志的从机服务器上的特性。
7.一种数据同步处理***,其特征在于,包括:
第一服务器;
第二服务器;
配置模块,用于对第一服务器上的数据块配置可同步标志,以及用于对第二服务器上的该数据块配置主标志和可写标志;
同步组件,用于将所述第二服务器上该数据块的写入数据同步至所述第一服务器上;
所述配置模块还用于若所述第二服务器出现故障时,则移除所述第二服务器上该数据块的主标志和移除所述第一服务器上该数据块的可同步标志,以及对所述第一服务器上的该数据块配置主标志和可写标志;
导入模块,用于在所述第二服务器的故障恢复后,将该数据块的快照在所述第二服务器上导入;
所述配置模块还用于在所述第二服务器的故障恢复后,对所述第二服务器上的该数据块配置可同步标志;
所述同步组件还用于在所述第二服务器的故障恢复后,将所述第一服务器上该数据块的写入数据同步至所述第二服务器上;
所述配置模块还用于在要恢复所述第二服务器针对该数据块的主机地位时,移除所述第一服务器上该数据块的可写标志;
所述配置模块还用于在所述第二服务器与所述第一服务器上该数据块的数据完全同步后,移除所述第一服务器上该数据块的主标志和移除所述第二服务器上该数据块的可同步标志,对所述第二服务器上的该数据块配置主标志和可写标志以及对所述第一服务器上的该数据块配置可同步标志。
8.根据权利要求7所述的数据同步处理***,其特征在于,所述同步组件拥有将标有主标志的主机服务器上的数据同步到标有可同步标志的从机服务器上的特性。
CN201210570241.0A 2012-12-25 2012-12-25 数据同步处理方法及*** Active CN103905220B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210570241.0A CN103905220B (zh) 2012-12-25 2012-12-25 数据同步处理方法及***
PCT/CN2013/084463 WO2014101510A1 (zh) 2012-12-25 2013-09-27 数据同步处理方法及***
HK15100004.7A HK1199678A1 (zh) 2012-12-25 2015-01-02 數據同步處理方法及系統
US14/749,579 US9525733B2 (en) 2012-12-25 2015-06-24 Method and system for data synchronization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210570241.0A CN103905220B (zh) 2012-12-25 2012-12-25 数据同步处理方法及***

Publications (2)

Publication Number Publication Date
CN103905220A true CN103905220A (zh) 2014-07-02
CN103905220B CN103905220B (zh) 2018-02-27

Family

ID=50996376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210570241.0A Active CN103905220B (zh) 2012-12-25 2012-12-25 数据同步处理方法及***

Country Status (4)

Country Link
US (1) US9525733B2 (zh)
CN (1) CN103905220B (zh)
HK (1) HK1199678A1 (zh)
WO (1) WO2014101510A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955989A (zh) * 2015-12-31 2016-09-21 无锡华云数据技术服务有限公司 一种云平台数据库主从服务器的建立方法
CN106453641A (zh) * 2016-11-24 2017-02-22 深圳市小满科技有限公司 企业云服务平台动态扩容方法、装置及***
CN108900497A (zh) * 2018-06-25 2018-11-27 江苏欧软信息科技有限公司 一种异构***间的数据同步方法及***
CN111858143A (zh) * 2019-04-24 2020-10-30 伊姆西Ip控股有限责任公司 用于管理存储***的方法、设备和计算机可读存储介质
CN112138372A (zh) * 2020-10-14 2020-12-29 腾讯科技(深圳)有限公司 分布式***中的数据同步方法及相关设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036676B2 (en) * 2016-03-04 2021-06-15 International Business Machines Corporation Modifying storage space consumed by snapshots
US10430270B2 (en) * 2017-12-04 2019-10-01 Bank Of America Corporation System for migrating data using dynamic feedback

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094466A1 (en) * 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Techniques for improving mirroring operations implemented in storage area networks and network based virtualization
CN101166309A (zh) * 2007-08-10 2008-04-23 中兴通讯股份有限公司 一种双归属***中实现用户数据同步的方法
CN102124450A (zh) * 2008-08-20 2011-07-13 通用电气智能平台有限公司 用于过程控制服务器的同步化的方法和***
CN102662751A (zh) * 2012-03-30 2012-09-12 浪潮电子信息产业股份有限公司 一种提高基于热迁移虚拟机***可用性的方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784503A (en) * 1994-08-26 1998-07-21 Unisys Corp Check reader utilizing sync-tags to match the images at the front and rear faces of a check
US6259829B1 (en) * 1995-04-07 2001-07-10 Unisys Corporation Check Reading apparatus and method utilizing sync tags for image matching
US20030088442A1 (en) * 2001-10-23 2003-05-08 Michael Martin W. Inventory management system and method
US7251732B2 (en) * 2003-06-18 2007-07-31 Microsoft Corporation Password synchronization in a sign-on management system
US7805403B2 (en) * 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
US8285121B2 (en) * 2007-10-07 2012-10-09 Fall Front Wireless Ny, Llc Digital network-based video tagging system
CN101316161B (zh) * 2008-06-25 2011-06-29 广东威创视讯科技股份有限公司 一种分布式视频同步显示方法和***
US20100293143A1 (en) * 2009-05-13 2010-11-18 Microsoft Corporation Initialization of database for synchronization
US9047312B1 (en) * 2011-03-30 2015-06-02 Amazon Technologies, Inc. System and method for deletion of extraneous delete marker objects
US9529810B2 (en) * 2014-02-18 2016-12-27 Ca, Inc. Methods of synchronizing files including synchronized hash map linked lists and related data processing nodes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094466A1 (en) * 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Techniques for improving mirroring operations implemented in storage area networks and network based virtualization
CN101166309A (zh) * 2007-08-10 2008-04-23 中兴通讯股份有限公司 一种双归属***中实现用户数据同步的方法
CN102124450A (zh) * 2008-08-20 2011-07-13 通用电气智能平台有限公司 用于过程控制服务器的同步化的方法和***
CN102662751A (zh) * 2012-03-30 2012-09-12 浪潮电子信息产业股份有限公司 一种提高基于热迁移虚拟机***可用性的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955989A (zh) * 2015-12-31 2016-09-21 无锡华云数据技术服务有限公司 一种云平台数据库主从服务器的建立方法
CN106453641A (zh) * 2016-11-24 2017-02-22 深圳市小满科技有限公司 企业云服务平台动态扩容方法、装置及***
CN108900497A (zh) * 2018-06-25 2018-11-27 江苏欧软信息科技有限公司 一种异构***间的数据同步方法及***
CN108900497B (zh) * 2018-06-25 2021-11-02 江苏欧软信息科技有限公司 一种异构***间的数据同步方法及***
CN111858143A (zh) * 2019-04-24 2020-10-30 伊姆西Ip控股有限责任公司 用于管理存储***的方法、设备和计算机可读存储介质
CN112138372A (zh) * 2020-10-14 2020-12-29 腾讯科技(深圳)有限公司 分布式***中的数据同步方法及相关设备

Also Published As

Publication number Publication date
HK1199678A1 (zh) 2015-07-10
CN103905220B (zh) 2018-02-27
US20150312340A1 (en) 2015-10-29
US9525733B2 (en) 2016-12-20
WO2014101510A1 (zh) 2014-07-03

Similar Documents

Publication Publication Date Title
CN103905220A (zh) 数据同步处理方法及***
CN102891849B (zh) 业务数据同步方法、恢复方法及装置和网络设备
CN103780638B (zh) 数据同步方法及***
KR100743180B1 (ko) 데이타이중화시스템
CN110389858B (zh) 存储设备的故障恢复方法和设备
CN107329859B (zh) 一种数据保护方法及存储设备
CN106919465B (zh) 用于存储***中多重数据保护的方法和装置
CN111427728A (zh) 状态管理方法、主备切换方法及电子设备
CN102890716A (zh) 分布式文件***和分布式文件***的数据备份方法
CN101316184A (zh) 容灾切换方法、***、装置
CN107729515B (zh) 一种数据同步的方法、装置及存储介质
CN106919473A (zh) 一种数据灾备***及业务处理方法
CN104993940A (zh) 一种减少主备节点故障切换过程中数据丢失的方法和装置
CN104407940A (zh) 一种快速恢复cdp***的方法
CN103902405A (zh) 一种准连续性数据复制方法及装置
CN104615381A (zh) 一种视频监控***的磁盘冗余阵列
CN104486387A (zh) 一种数据同步处理方法及***
CN103235748A (zh) 元数据的管理方法和***
CN104516796A (zh) 一种基于命令集的网元备份与恢复方法及装置
CN104268097A (zh) 一种元数据处理方法及***
CN101252464B (zh) 双机***和双机在线升级的方法
CN103544081B (zh) 双元数据服务器的管理方法和装置
CN107621994B (zh) 一种数据快照创建的方法及装置
CN105159944A (zh) 一种数据库应急处理方法及***
CN103064766B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1199678

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1199678

Country of ref document: HK