CN106339387B - 一种数据库集群中新增服务器的数据同步方法及装置 - Google Patents

一种数据库集群中新增服务器的数据同步方法及装置 Download PDF

Info

Publication number
CN106339387B
CN106339387B CN201510398241.0A CN201510398241A CN106339387B CN 106339387 B CN106339387 B CN 106339387B CN 201510398241 A CN201510398241 A CN 201510398241A CN 106339387 B CN106339387 B CN 106339387B
Authority
CN
China
Prior art keywords
data
server
newly
base cluster
incremental
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.)
Active
Application number
CN201510398241.0A
Other languages
English (en)
Other versions
CN106339387A (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.)
Alibaba Damo Institute Hangzhou Technology Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510398241.0A priority Critical patent/CN106339387B/zh
Publication of CN106339387A publication Critical patent/CN106339387A/zh
Application granted granted Critical
Publication of CN106339387B publication Critical patent/CN106339387B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F16/275Synchronous replication

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据库集群中新增服务器的数据同步方法,包括:将数据库集群中服务器的第一存储设备中存储的待同步数据同步到新增服务器中;允许所述新增服务器开始接收增量数据;所述增量数据包括所述数据库集群中服务器实时接收的外部输入的新增数据;将所述数据库集群中服务器的第二存储设备中存储的待同步数据同步到所述新增服务器中;所述第二存储设备用于存储所述增量数据,存储在第二存储设备中的增量数据最终被存储到所述第一存储设备中;所述待同步数据同步完成后,将所述新增服务器添加到所述数据库集群并上线,向外提供数据读写服务。所述数据库集群中新增服务器的数据同步方法,对外提供统一的数据服务,实现简单方便。

Description

一种数据库集群中新增服务器的数据同步方法及装置
技术领域
本申请涉及数据同步技术领域,具体涉及一种数据库集群中新增服务器的数据同步方法。本申请同时涉及一种数据库集群中新增服务器的数据同步装置。
背景技术
随着信息系统和办公自动化的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色,伴随着企业的成长,以及业务量提高的同时,系统的访问量和数据流量的快速增长,相应的,对系统对应的服务器的处理能力和计算强度也相应提高,使得单一服务器无法承担相应的业务处理能力,严重影响系统的正常运行,甚至可能带来巨大的经济损失;在这种情况下,通过组建数据库集群,来保证系统在数据量比较大或者数据压力比较大时的可用性;所述数据库集群应当理解为大量存储数据的各类服务器组成的集群,不仅指严格意义上的数据库服务器组成的数据库集群,还可能是用于提供其它类型数据服务源的服务器集群,比如搜索引擎服务器集群、缓存服务器集群;也可以包括多种类型的数据服务源混合组成的服务器集群。
目前,现有技术提供的数据库集群中,当数据库集群中输入的数据量较大时,数据库集群需要更高的数据处理速度,通过在数据库集群中添加新的服务器并上线,就可以使数据库集群的数据处理能力得到提高;当数据库集群中某个节点的工作压力较大时,在该节点添加新的服务器并上线,减轻该节点中的服务器的工作压力;当数据库集群中的服务器发生故障时,将发生故障的服务器下线,并进行修复,修复完成后重启该服务器,继续对外提供数据服务。
基于上述现有技术提供的实现方案,在技术上比较成熟,但是在具体应用中存在以下缺陷:
1)在数据库集群中动态添加服务器时,需要停止外部实时写入的增量数据,等待添加的数据库服务器上线之后恢复增量数据的写入,由于增量数据是实时产生的,因此,在停止增量数据时,可能会导致增量数据没有完全写入数据库集群的服务器中,造成数据丢失;
2)在重启数据库集群中服务器时,重启之后的服务器与数据库集群中保持正常数据服务的服务器相比,存在数据缺失,重启这一时间段的增量数据没有写入数据库集群的服务器中,需要通过后续对账的方式进行同步,当增量数据的数据量较大时,需要后续同步的增量数据较多,实现较为困难。
发明内容
本申请提供一种数据库集群中新增服务器的数据同步方法,以解决现有技术存在的数据丢失和实现困难的问题。本申请同时涉及一种数据库集群中新增服务器的数据同步装置。
本申请提供一种数据库集群中新增服务器的数据同步方法,包括:
将数据库集群中服务器的第一存储设备中存储的待同步数据同步到新增服务器中;
允许所述新增服务器开始接收增量数据;所述增量数据包括所述数据库集群中服务器实时接收的外部输入的新增数据;
将所述数据库集群中服务器的第二存储设备中存储的待同步数据同步到所述新增服务器中;所述第二存储设备用于存储所述增量数据,存储在第二存储设备中的增量数据最终被存储到所述第一存储设备中;
所述待同步数据同步完成后,将所述新增服务器添加到所述数据库集群并上线,向外提供数据读写服务。
可选的,所述第一存储设备为大容量的永久性存储设备。
可选的,所述第一存储设备为磁盘。
可选的,所述第二存储设备包括内存和中继存储设备。
可选的,所述数据库集群中服务器的第二存储设备的内存,包括至少两个内存单元;
相应的,所述增量数据通过如下步骤写入所述数据库集群中服务器的第二存储设备的内存:
所述两个内存单元中的一个被设置为当前有效内存单元;所述当前有效内存单元接收所述增量数据的写入;
若所述当前有效内存单元被所述增量数据写满,则将另一个内存单元设置为当前有效内存单元,该新设置的当前有效内存单元继续接收所述增量数据的写入;
将所述被写满增量数据的内存单元中存储的所述增量数据存储到该服务器的所述中继存储设备中,使该内存单元成为有能力接收所述增量数据的内存单元。
可选的,所述中继存储设备按照预定规则存储来自所述内存单元的增量数据,并在其存储空间被占满之前,将其存储的增量数据转存到所述第一存储设备中。
可选的,所述预定规则为:
根据所述增量数据的获得时间,按照预设时间间隔存储所述增量数据,并在每段时间间隔的所述增量数据中插入标明其获得时间的时间标识。
可选的,第一存储设备中存储的待同步数据,包括根据所述中继存储设备中存储的增量数据整理生成的索引。
可选的,所述将所述数据库集群中服务器的第二存储设备中存储的待同步数据同步到所述新增服务器中步骤,包括:
将所述中继存储设备存储的增量数据同步到所述新增服务器中;
将所述内存中存储的增量数据同步到所述新增服务器中。
可选的,所述允许所述新增服务器开始接收增量数据步骤,包括:
将接收所述增量数据的状态标识赋予所述新增服务器,以使所述新增服务器能够接收所述增量数据;
通过所述新增服务器接收所述增量数据并写入其存储元件中;
其中,所述接收所述增量数据的状态标识包括:内部可读标识。
可选的,所述将接收所述增量数据的状态标识赋予所述新增服务器子步骤之后,执行下述子步骤:
向所述数据库集群中的服务器通知所述新增服务器的状态标识。
可选的,所述将所述新增服务器添加到所述数据库集群并上线步骤,包括:
将所述新增服务器的状态标识更新为允许外部读写数据的可读写状态标识。
可选的,所述新增服务器包括:
新加入所述数据库集群的服务器、所述数据库集群中重启的服务器。
可选的,若所述新增服务器为所述数据库集群中重启的服务器,则所述将数据库集群中服务器的第一存储设备中存储的待同步数据同步到新增服务器中步骤中,同步到所述新增服务器中的待同步数据为空。
可选的,所述数据库集群包含至少一个节点,每一个节点包含至少一个服务器;
若所述数据库集群的节点中包含有多个服务器,则该节点中包含的多个服务器中存储的数据是一致的,并且该节点中包含的多个服务器之间互为备份关系。
可选的,所述备份关系包括:主备备份。
本申请还提供一种数据库集群中新增服务器的数据同步装置,包括:
第一存储设备数据同步单元,用于将数据库集群中服务器的第一存储设备中存储的待同步数据同步到新增服务器中;
增量数据接收单元,用于允许所述新增服务器开始接收增量数据;所述增量数据包括所述数据库集群中服务器实时接收的外部输入的新增数据;
第二存储设备数据同步单元,用于将所述数据库集群中服务器的第二存储设备中存储的待同步数据同步到所述新增服务器中;所述第二存储设备用于存储所述增量数据,存储在第二存储设备中的增量数据最终被存储到所述第一存储设备中;
上线单元,用于所述待同步数据同步完成后,将所述新增服务器添加到所述数据库集群并上线,向外提供数据读写服务。
可选的,所述数据库集群中服务器的第二存储设备的内存,包括至少两个内存单元;
相应的,所述增量数据通过下述单元写入所述数据库集群中服务器的第二存储设备的内存:
第一设置单元,用于所述两个内存单元中的一个被设置为当前有效内存单元;所述当前有效内存单元接收所述增量数据的写入;
第二设置单元,若所述当前有效内存单元被所述增量数据写满,用于将另一个内存单元设置为当前有效内存单元,该新设置的当前有效内存单元继续接收所述增量数据的写入;
数据转存单元,用于将所述被写满增量数据的内存单元中存储的所述增量数据存储到该服务器的所述中继存储设备中,使该内存单元成为有能力接收所述增量数据的内存单元。
可选的,所述第二存储设备数据同步单元,包括:
述中继存储设备数据同步子单元,用于将所述中继存储设备存储的增量数据同步到所述新增服务器中;
内存数据同步子单元,用于将所述内存中存储的增量数据同步到所述新增服务器中。
可选的,所述增量数据接收单元,包括:
状态标识设置子单元,用于将接收所述增量数据的状态标识赋予所述新增服务器,以使所述新增服务器能够接收所述增量数据;
新增服务器接收子单元,用于通过所述新增服务器接收所述增量数据并写入其存储元件中;
其中,所述接收所述增量数据的状态标识包括:内部可读标识。
可选的,所述增量数据接收单元,包括:
状态标识通知子单元,用于向所述数据库集群中的服务器通知所述新增服务器的状态标识。
可选的,所述上线单元,包括:
状态标识更新子单元,用于将所述新增服务器的状态标识更新为允许外部读写数据的可读写状态标识。
与现有技术相比,本申请具有以下优点:
本申请提供的数据库集群中新增服务器的数据同步方法,包括:将数据库集群中服务器的第一存储设备中存储的待同步数据同步到新增服务器中;允许所述新增服务器开始接收增量数据;所述增量数据包括所述数据库集群中服务器实时接收的外部输入的新增数据;将所述数据库集群中服务器的第二存储设备中存储的待同步数据同步到所述新增服务器中;所述第二存储设备用于存储所述增量数据,存储在第二存储设备中的增量数据最终被存储到所述第一存储设备中;所述待同步数据同步完成后,将所述新增服务器添加到所述数据库集群并上线,向外提供数据读写服务。
本申请提供的所述数据库集群中新增服务器的数据同步方法,将服务器集群中服务器存储的待同步数据向所述新增服务器同步时,根据所述服务器集群中服务器存储数据的方式,分层次的将所述服务器中存储的数据同步到所述新增服务器中,避免了数据同步过程中数据的丢失,使所述服务器集群中服务器的数据保持一致性,对外提供统一的数据服务;同时避免了所述新增服务器上线之后的数据同步操作,实现简单方便。
附图说明
附图1是本申请提供的一种数据库集群中新增服务器的数据同步方法实施例的处理流程图;
附图2是本申请提供的一种服务器中数据的存储结构示意图;
附图3是本申请提供的一种数据库集群中新增服务器的数据同步装置实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种数据库集群中新增服务器的数据同步方法,本申请同时涉及一种数据库集群中新增服务器的数据同步装置。以下分别结合本申请提供的实施例的附图进行说明,并且对方法的各个步骤进行说明。
本申请提供的一种数据库集群中新增服务器的数据同步方法实施例如下:
参照附图1,其示出了本申请提供的一种数据库集群中新增服务器的数据同步方法实施例的处理流程图。
步骤S101,将数据库集群中服务器的第一存储设备中存储的待同步数据同步到新增服务器中。
数据库集群中通常包含多个节点,每个节点中都包含有若干服务器,每个节点中各个服务器存储的数据是相互同步的,即相互一致,每个服务器上通常运行多个数据库实例,每个数据库实例都可以向用户提供数据库服务。
当写入数据库集群的节点的数据流量较大时,数据库集群的节点的工作压力也比较大,此时,需要在节点中添加新的服务器,以缓解节点的工作压力,避免节点中的服务器由于工作压力过大出现超负荷工作状态甚至服务器故障,在这种情况下,采用本申请提供的数据库集群中新增服务器的数据同步方法,将节点中保持正常服务的服务器存储的数据,同步到节点中新添加的服务器中,使节点中的服务器的数据保持一致性,对外提供统一的数据服务。
此外,当写入数据库集群的节点的数据流量较大、节点中的服务器发生故障时,发生故障的服务器下线修复之后,与节点中保持正常数据服务的服务器相比,可能存在数据的缺失,在这种情况下,同样采用本申请提供的数据库集群中新增服务器的数据同步方法,执行数据同步操作,将节点中保持正常服务的服务器存储的数据,同步到重启的服务器中,使重启服务器的数据与节点中保持正常数据服务的服务器的数据保持一致,对外提供统一的数据服务。
优选的,所述新增服务器包括:新加入数据库集群的服务器和数据库集群中重启的服务器。
优选的,在数据库集群中,对于同一个节点中的各个服务器,相互之间互为备份关系,比如节点中重启的服务器在重启之后,需要从节点中保持正常服务的服务器同步数据,此时节点中保持正常服务的服务器可以看作是重启的服务器的备份;类似的,节点中新添加的服务器,需要从节点中保持正常数据服务的服务器同步数据,此时,节点中保持正常数据服务的服务器可以看作是新添加服务器的备份。
优选的,在充分考虑到数据库自身特点的基础上,对于同一个节点中的各个服务器,相互之间互为主备备份,比如节点中包含两个服务器,则互为“一主一备”的主备备份关系,再比如节点中包含三个或者三个以上的服务器,则互为“一主多备”的主备备份关系,但不限于此,还可以采用本实施例提供的主备备份关系之外的其他备份关系,作为所述数据库集群的节点中服务器之间的备份关系。
所述数据库集群中服务器,是指所述数据库集群的节点中保持正常数据服务的服务器,如果用备份关系来表述,此时,所述数据库集群中服务器的角色是备机,新增服务器的角色是主机;当所述数据库集群的节点中新添加主机或者主机出现故障重启时,需要将备机上的数据同步到主机。
为了更准确的说明数据同步的过程,首先对增量数据写入所述数据库集群中服务器的步骤进行说明,并且对所述数据库集群中服务器中数据的存储结构进行说明,下面结合附图进行详细说明。
如附图2所示,其为本实施例提供的一种服务器中数据的存储结构示意图。
需要说明的是,此处所述的服务器是指数据库集群的节点中保持正常数据服务的服务器,即备机,在数据同步过程中,作为数据备份一方,向新添加的服务器或者重启的服务器同步数据。
其中,所述服务器用于存储数据的设备包括:第一存储设备201和第二存储设备202;
优选的,所述第一存储设备201为大容量的永久性存储设备。
优选的,所述第一存储设备201是指磁盘。
优选的,所述第二存储设备202包括:内存202-1和中继存储设备202-2;所述中继存储单元202-2是指容量较小的永久性存储设备,比如磁盘。
所述增量数据写入所述服务器的步骤如下:
1、将增量数据写入内存202-1中;
2、将所述内存202-1中存储的增量数据转存到中继存储设备202-2中;
本实施例中,这两个步骤是交替进行的,放在一起进行说明。
所述增量数据,是指外部实时输入所述数据库集群的节点中服务器的新增数据,比如外部业务产生的、并且实时写入节点中服务器的新增数据。
通常情况下,将所述增量数据写入所述内存202-1中,在所述内存202-1被写满之前,将所述内存202-1中存储的增量数据转存到所述中继存储设备202-2中即可,由于增量数据是实时的、不间断的写入所述内存202-1的,因此,在从所述内存202-1中读取增量数据写入所述中继存储设备202-2时,增量数据不能被写入所述内存202-1中,可能会造成数据丢失。
优选的,设置两个内存单元,在写入所述增量数据时,其中一个内存单元被设置为当前有效内存单元,用于接收所述增量数据的写入;
若所述当前有效内存单元被所述增量数据写满,则将另一个内存单元设置为当前有效内存单元,该新设置的当前有效内存单元继续接收所述增量数据的写入;
并且将所述被写满增量数据的内存单元中存储的增量数据转存到所述中继存储设备202-2中,使该内存单元成为有能力接收所述增量数据的内存单元。
通过设置的两个内存单元的交替的进行读增量数据操作和写增量数据操作,避免了单个内存在执行读增量数据操作和写增量数据操作存在的数据丢失风险。
需要说明的是,所述内存单元的个数不限于2个,也可以设置3个或者3个以上的内存单元实现上述步骤,在此不做限定。
优选的,所述中继存储设备202-2中存储的增量数据是按照预定规则存储的,所述预定规则是指根据所述增量数据的获得时间,按照预设时间间隔存储所述增量数据,并在每段时间间隔的所述增量数据中插入标明其获得时间的时间标识。比如在所述增量数据写入所述中继存储设备202-2时,每隔一小时插入一个用于标识当前时间点的时间标识。
3、将所述中继存储设备202-2中存储的增量数据转存到第一存储设备201中。
读取所述中继存储设备202-2中存储的插入有时间标识的增量数据,将所述插入有时间标识的增量数据进行整理合并,生成增量数据的索引,并将建立好的增量数据的索引写入所述第一存储设备201中。
所述索引的每个索引条目中,包含增量数据和写入该增量数据的时间点信息。
在写入所述数据库集群的节点数据量较大时,为了防止数据同步过程中增量数据的丢失,确保所述数据库集群的节点中服务器数据的一致性,本步骤将所述数据库集群的节点中保持正常数据服务的服务器的第一存储设备201中存储的增量数据同步到所述新增服务器中,并且结合下述步骤S102允许所述新增服务器开始接收增量数据,下述步骤S103将所述数据库集群中服务器的第二存储设备202中存储的增量数据同步到所述新增服务器中,确保了所述新增服务器中数据的完整性,以及所述新增服务器与该新增服务器所属节点中服务器数据的一致性。
本步骤中,将所述数据库集群中服务器的第一存储设备201中存储的待同步数据同步到新增服务器中。
其中,所述数据库集群中服务器,是指所述数据库集群的节点中保持正常数据服务的服务器,并且与所述新增服务器属于所述数据库集群的同一个节点。
优选的,所述待同步数据,是指所述第一存储设备201中存储的增量数据的索引。
针对新加入所述数据库集群的服务器,从与该新增服务器属于同一节点的服务器的第一存储设备201中读取该服务器预先存储的增量数据的索引,写入所述新增服务器中。
优选的,针对重启的服务器,在重启之前,该重启的服务器的第一存储设备201中已经存储了所述增量数据的索引,因此,本步骤同步到所述重启的服务器的索引为空。
步骤S102,允许所述新增服务器开始接收增量数据。
优选的,本步骤具体实施如下:
将接收所述增量数据的状态标识赋予所述新增服务器,以使所述新增服务器能够接收所述增量数据;
通过所述新增服务器接收所述增量数据并写入其存储元件中;
其中,所述接收所述增量数据的状态标识包括:内部可读标识。
所述内部可读标识,是指在所述数据库集群内部,相互之间可以读写数据。
若服务器的状态标识被设置为内部可读标识,则所述数据库集群中的任意一个服务器可以向该服务器写入数据或者从该服务器读取数据,相应的,该服务器也可以从所述数据库集群中的任意一个服务器读取数据,或者向所述数据库集群中的任意一个服务器写入数据。
优选的,在本步骤将所述内部可读标识赋予所述新增服务器之后,向所述数据库集群的节点中的服务器通知所述新增服务器的状态标识,并且等待一段时间,比如5S之后,执行下述步骤S103。
步骤S103,将所述数据库集群中服务器的第二存储设备中存储的待同步数据同步到所述新增服务器中。
根据上述步骤S101,所述第二存储设备202包括内存201-1和中继存储单元202-2,
在写入所述数据库集群的数据量较大时,如果优先将所述内存202-1中存储的新增数据同步到所述新增服务器中,之后将所述中继存储设备202-2存储的数据同步到所述新增服务器中,在同步所述中继存储设备202-2存储的数据时,一旦有增量数据写入所述内存202-1,则这部分增量数据被丢失,没有同步到所述新增服务器中,造成数据丢失。为了防止数据同步过程中增量数据的丢失,确保所述数据库集群的节点中服务器数据的一致性,本步骤中,优先将所述中继存储设备202-2存储的数据同步到所述新增服务器中,之后将所述内存202-1中存储的新增数据同步到所述新增服务器中,避免了数据丢失,保持了所述数据库集群的节点中服务器数据的完整性和一致性。
具体实施如下:
1、将所述中继存储设备202-2存储的增量数据同步到所述新增服务器中;
所述中继存储设备202-2存储的增量数据,不仅包括所述增量数据,还包括每隔一个时间间隔的插入所述增量数据中用于标明其获得时间的时间标识。
读取所述中继存储设备202-2中存储的数据,写入所述增量服务器中。
2、将所述内存202-1中存储的新增数据同步到所述新增服务器中。
读取所述内存202-1中存储的数据,写入所述增量服务器中。
步骤S104,所述待同步数据同步完成后,将所述新增服务器添加到所述数据库集群并上线,向外提供数据读写服务。
执行上述步骤S101、步骤S102和步骤S103之后,所述新增服务器中的数据,与该新增服务器所属节点中服务器的数据保持一致;此时,所述新增服务器可以上线,向外提供数据服务,在写入所述数据库集群的节点的数据量较大时,可减轻所属节点内服务器的工作压力,避免了由于服务器的工作压力过大产生的超负荷工作甚至服务器故障。
上述步骤S102中,将所述内部可读标识赋予所述新增服务器,本步骤中,将所述内部可读标识更新为可读写状态标识。
所述可读写状态标识,是指所述新增服务器向外提供了读写数据的权限,比如外部业务可以写入数据至所述新增服务器中,也可以从所述新增服务器中读取数据。
综上所述,本申请提供的所述数据库集群中新增服务器的数据同步方法,在写入所述数据库集群的节点数据量较大时,将节点中保持正常服务的服务器存储的数据,同步到节点中新添加的服务器或者重启的服务器中,避免了数据同步过程中数据的丢失,使节点中服务器的数据保持一致性,对外提供统一的数据服务;
同时,当写入所述数据库集群的节点数据量较大时,在节点中添加新服务器,可以减轻节点内服务器的工作压力,避免节点中的服务器由于工作压力过大出现超负荷工作状态甚至服务器故障。
本申请提供的一种数据库集群中新增服务器的数据同步装置实施例如下:
在上述的实施例中,提供了一种数据库集群中新增服务器的数据同步方法,与之相对应的,本申请还提供了一种数据库集群中新增服务器的数据同步装置,与下面结合附图进行说明。
参照附图3,其示出了本申请提供的一种数据库集群中新增服务器的数据同步装置实施例的示意图。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供一种数据库集群中新增服务器的数据同步装置,包括:
第一存储设备数据同步单元301,用于将数据库集群中服务器的第一存储设备中存储的待同步数据同步到新增服务器中;
增量数据接收单元302,用于允许所述新增服务器开始接收增量数据;所述增量数据包括所述数据库集群中服务器实时接收的外部输入的新增数据;
第二存储设备数据同步单元303,用于将所述数据库集群中服务器的第二存储设备中存储的待同步数据同步到所述新增服务器中;所述第二存储设备用于存储所述增量数据,存储在第二存储设备中的增量数据最终被存储到所述第一存储设备中;
上线单元303,用于所述待同步数据同步完成后,将所述新增服务器添加到所述数据库集群并上线,向外提供数据读写服务。
可选的,所述第一存储设备为大容量的永久性存储设备。
可选的,所述第一存储设备为磁盘。
可选的,所述第二存储设备包括内存和中继存储设备。
可选的,所述数据库集群中服务器的第二存储设备的内存,包括至少两个内存单元;
相应的,所述增量数据通过下述单元写入所述数据库集群中服务器的第二存储设备的内存:
第一设置单元,用于所述两个内存单元中的一个被设置为当前有效内存单元;所述当前有效内存单元接收所述增量数据的写入;
第二设置单元,若所述当前有效内存单元被所述增量数据写满,用于将另一个内存单元设置为当前有效内存单元,该新设置的当前有效内存单元继续接收所述增量数据的写入;
数据转存单元,用于将所述被写满增量数据的内存单元中存储的所述增量数据存储到该服务器的所述中继存储设备中,使该内存单元成为有能力接收所述增量数据的内存单元。
可选的,所述中继存储设备按照预定规则存储来自所述内存单元的增量数据,并在其存储空间被占满之前,将其存储的增量数据转存到所述第一存储设备中。
可选的,所述预定规则为:
根据所述增量数据的获得时间,按照预设时间间隔存储所述增量数据,并在每段时间间隔的所述增量数据中插入标明其获得时间的时间标识。
可选的,第一存储设备中存储的待同步数据,包括根据所述中继存储设备中存储的增量数据整理生成的索引。
可选的,所述第二存储设备数据同步单元303,包括:
述中继存储设备数据同步子单元,用于将所述中继存储设备存储的增量数据同步到所述新增服务器中;
内存数据同步子单元,用于将所述内存中存储的增量数据同步到所述新增服务器中。
可选的,所述增量数据接收单元302,包括:
状态标识设置子单元,用于将接收所述增量数据的状态标识赋予所述新增服务器,以使所述新增服务器能够接收所述增量数据;
新增服务器接收子单元,用于通过所述新增服务器接收所述增量数据并写入其存储元件中;
其中,所述接收所述增量数据的状态标识包括:内部可读标识。
可选的,所述增量数据接收单元302,包括:
状态标识通知子单元,用于向所述数据库集群中的服务器通知所述新增服务器的状态标识。
可选的,所述上线单元304,包括:
状态标识更新子单元,用于将所述新增服务器的状态标识更新为允许外部读写数据的可读写状态标识。
可选的,所述新增服务器包括:
新加入所述数据库集群的服务器、所述数据库集群中重启的服务器。
可选的,若所述新增服务器为所述数据库集群中重启的服务器,则所述第一存储设备数据同步单元301中,同步到所述新增服务器中的待同步数据为空。
可选的,所述数据库集群包含至少一个节点,每一个节点包含至少一个服务器;
若所述数据库集群的节点中包含有多个服务器,则该节点中包含的多个服务器中存储的数据是一致的,并且该节点中包含的多个服务器之间互为备份关系。
可选的,所述备份关系包括:主备备份。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (22)

1.一种数据库集群中新增服务器的数据同步方法,其特征在于,包括:
将数据库集群中服务器的第一存储设备中存储的待同步数据同步到新增服务器中;
允许所述新增服务器开始接收增量数据;所述增量数据包括所述数据库集群中服务器实时接收的外部输入的新增数据;
将所述数据库集群中服务器的第二存储设备中存储的待同步数据同步到所述新增服务器中;所述第二存储设备用于存储所述增量数据,存储在第二存储设备中的增量数据最终被存储到所述第一存储设备中;
所述待同步数据同步完成后,将所述新增服务器添加到所述数据库集群并上线,向外提供数据读写服务。
2.根据权利要求1所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述第一存储设备为大容量的永久性存储设备。
3.根据权利要求2所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述第一存储设备为磁盘。
4.根据权利要求1所述的对数据库集群的新增服务器进行数据同步的方法,其特征在于,所述第二存储设备包括内存和中继存储设备。
5.根据权利要求4所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述数据库集群中服务器的第二存储设备的内存,包括至少两个内存单元;
相应的,所述增量数据通过如下步骤写入所述数据库集群中服务器的第二存储设备的内存:
所述两个内存单元中的一个被设置为当前有效内存单元;所述当前有效内存单元接收所述增量数据的写入;
若所述当前有效内存单元被所述增量数据写满,则将另一个内存单元设置为当前有效内存单元,该新设置的当前有效内存单元继续接收所述增量数据的写入;
将所述被写满增量数据的内存单元中存储的所述增量数据存储到该服务器的所述中继存储设备中,使该内存单元成为有能力接收所述增量数据的内存单元。
6.根据权利要求5所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述中继存储设备按照预定规则存储来自所述内存单元的增量数据,并在其存储空间被占满之前,将其存储的增量数据转存到所述第一存储设备中。
7.根据权利要求6所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述预定规则为:
根据所述增量数据的获得时间,按照预设时间间隔存储所述增量数据,并在每段时间间隔的所述增量数据中插入标明其获得时间的时间标识。
8.根据权利要求7所述的数据库集群中新增服务器的数据同步方法,其特征在于,第一存储设备中存储的待同步数据,包括根据所述中继存储设备中存储的增量数据整理生成的索引。
9.根据权利要求4所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述将所述数据库集群中服务器的第二存储设备中存储的待同步数据同步到所述新增服务器中步骤,包括:
将所述中继存储设备存储的增量数据同步到所述新增服务器中;
将所述内存中存储的增量数据同步到所述新增服务器中。
10.根据权利要求1所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述允许所述新增服务器开始接收增量数据步骤,包括:
将接收所述增量数据的状态标识赋予所述新增服务器,以使所述新增服务器能够接收所述增量数据;
通过所述新增服务器接收所述增量数据并写入其存储元件中;
其中,所述接收所述增量数据的状态标识包括:内部可读标识。
11.根据权利要求10所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述将接收所述增量数据的状态标识赋予所述新增服务器子步骤之后,执行下述子步骤:
向所述数据库集群中的服务器通知所述新增服务器的状态标识。
12.根据权利要求10所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述将所述新增服务器添加到所述数据库集群并上线步骤,包括:
将所述新增服务器的状态标识更新为允许外部读写数据的可读写状态标识。
13.根据权利要求1所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述新增服务器包括:
新加入所述数据库集群的服务器、所述数据库集群中重启的服务器。
14.根据权利要求13所述的数据库集群中新增服务器的数据同步方法,其特征在于,若所述新增服务器为所述数据库集群中重启的服务器,则所述将数据库集群中服务器的第一存储设备中存储的待同步数据同步到新增服务器中步骤中,同步到所述新增服务器中的待同步数据为空。
15.根据权利要求1所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述数据库集群包含至少一个节点,每一个节点包含至少一个服务器;
若所述数据库集群的节点中包含有多个服务器,则该节点中包含的多个服务器中存储的数据是一致的,并且该节点中包含的多个服务器之间互为备份关系。
16.根据权利要求15所述的数据库集群中新增服务器的数据同步方法,其特征在于,所述备份关系包括:主备备份。
17.一种数据库集群中新增服务器的数据同步装置,其特征在于,包括:
第一存储设备数据同步单元,用于将数据库集群中服务器的第一存储设备中存储的待同步数据同步到新增服务器中;
增量数据接收单元,用于允许所述新增服务器开始接收增量数据;所述增量数据包括所述数据库集群中服务器实时接收的外部输入的新增数据;
第二存储设备数据同步单元,用于将所述数据库集群中服务器的第二存储设备中存储的待同步数据同步到所述新增服务器中;所述第二存储设备用于存储所述增量数据,存储在第二存储设备中的增量数据最终被存储到所述第一存储设备中;
上线单元,用于所述待同步数据同步完成后,将所述新增服务器添加到所述数据库集群并上线,向外提供数据读写服务。
18.根据权利要求17所述的数据库集群中新增服务器的数据同步装置,其特征在于,所述数据库集群中服务器的第二存储设备的内存,包括至少两个内存单元;
相应的,所述增量数据通过下述单元写入所述数据库集群中服务器的第二存储设备的内存:
第一设置单元,用于所述两个内存单元中的一个被设置为当前有效内存单元;所述当前有效内存单元接收所述增量数据的写入;
第二设置单元,若所述当前有效内存单元被所述增量数据写满,用于将另一个内存单元设置为当前有效内存单元,该新设置的当前有效内存单元继续接收所述增量数据的写入;
数据转存单元,用于将所述被写满增量数据的内存单元中存储的所述增量数据存储到该服务器的中继存储设备中,使该内存单元成为有能力接收所述增量数据的内存单元。
19.根据权利要求17所述的数据库集群中新增服务器的数据同步装置,其特征在于,所述第二存储设备数据同步单元,包括:
中继存储设备数据同步子单元,用于将该服务器的中继存储设备存储的增量数据同步到所述新增服务器中;
内存数据同步子单元,用于将所述内存中存储的增量数据同步到所述新增服务器中。
20.根据权利要求17所述的数据库集群中新增服务器的数据同步装置,其特征在于,所述增量数据接收单元,包括:
状态标识设置子单元,用于将接收所述增量数据的状态标识赋予所述新增服务器,以使所述新增服务器能够接收所述增量数据;
新增服务器接收子单元,用于通过所述新增服务器接收所述增量数据并写入其存储元件中;
其中,所述接收所述增量数据的状态标识包括:内部可读标识。
21.根据权利要求20所述的数据库集群中新增服务器的数据同步装置,其特征在于,所述增量数据接收单元,包括:
状态标识通知子单元,用于向所述数据库集群中的服务器通知所述新增服务器的状态标识。
22.根据权利要求20所述的数据库集群中新增服务器的数据同步装置,其特征在于,所述上线单元,包括:
状态标识更新子单元,用于将所述新增服务器的状态标识更新为允许外部读写数据的可读写状态标识。
CN201510398241.0A 2015-07-08 2015-07-08 一种数据库集群中新增服务器的数据同步方法及装置 Active CN106339387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510398241.0A CN106339387B (zh) 2015-07-08 2015-07-08 一种数据库集群中新增服务器的数据同步方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510398241.0A CN106339387B (zh) 2015-07-08 2015-07-08 一种数据库集群中新增服务器的数据同步方法及装置

Publications (2)

Publication Number Publication Date
CN106339387A CN106339387A (zh) 2017-01-18
CN106339387B true CN106339387B (zh) 2019-11-22

Family

ID=57826095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510398241.0A Active CN106339387B (zh) 2015-07-08 2015-07-08 一种数据库集群中新增服务器的数据同步方法及装置

Country Status (1)

Country Link
CN (1) CN106339387B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153699B (zh) * 2017-05-09 2020-10-02 北京恒华伟业科技股份有限公司 一种动态扩展集群服务器的方法及装置
CN107070730B (zh) * 2017-06-16 2020-03-31 郑州云海信息技术有限公司 一种ctdb的启动方法和装置
CN108259613B (zh) * 2018-01-24 2019-12-24 平安科技(深圳)有限公司 容灾数据的在线同步装置、方法及计算机可读存储介质
CN108762988B (zh) * 2018-05-31 2022-04-22 郑州云海信息技术有限公司 一种数据处理的方法以及相关设备
CN110377580B (zh) * 2019-07-25 2022-02-01 中国工商银行股份有限公司 一种数据迁移方法、装置及设备
CN115237892B (zh) * 2022-09-20 2022-12-16 联通智网科技股份有限公司 数据迁移方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137132A (zh) * 2010-01-26 2011-07-27 腾讯科技(深圳)有限公司 数据同步系统及方法
CN102693324A (zh) * 2012-01-09 2012-09-26 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
CN103002011A (zh) * 2012-10-29 2013-03-27 北京奇虎科技有限公司 基于服务器的数据更新方法和服务器
CN103078927A (zh) * 2012-12-28 2013-05-01 合一网络技术(北京)有限公司 一种key-value数据分布式缓存系统及其方法
CN104320486A (zh) * 2014-11-10 2015-01-28 连云港杰瑞电子有限公司 一种基于大数据的智能交通平台数据集成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137132A (zh) * 2010-01-26 2011-07-27 腾讯科技(深圳)有限公司 数据同步系统及方法
CN102693324A (zh) * 2012-01-09 2012-09-26 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
CN103002011A (zh) * 2012-10-29 2013-03-27 北京奇虎科技有限公司 基于服务器的数据更新方法和服务器
CN103078927A (zh) * 2012-12-28 2013-05-01 合一网络技术(北京)有限公司 一种key-value数据分布式缓存系统及其方法
CN104320486A (zh) * 2014-11-10 2015-01-28 连云港杰瑞电子有限公司 一种基于大数据的智能交通平台数据集成方法

Also Published As

Publication number Publication date
CN106339387A (zh) 2017-01-18

Similar Documents

Publication Publication Date Title
CN106339387B (zh) 一种数据库集群中新增服务器的数据同步方法及装置
CN103780638B (zh) 数据同步方法及系统
CN105468473B (zh) 数据迁移方法及数据迁移装置
US9628438B2 (en) Consistent ring namespaces facilitating data storage and organization in network infrastructures
US20160026699A1 (en) Method for Synchronization of UGC Master and Backup and System Thereof, and Computer Storage Medium
CN107451172A (zh) 用于版本管理系统的数据同步方法及设备
CN106375360B (zh) 一种图数据更新方法、装置及系统
CN108848132B (zh) 一种基于云的配电调度主站系统
CN111880956B (zh) 一种数据同步方法和装置
CN105635311A (zh) 一种云管理平台中资源池信息同步的方法
US20220374407A1 (en) Multi-tenant partitioning in a time-series database
CN103795801A (zh) 一种基于实时应用集群的元数据集群设计方法
US20150370647A1 (en) Directed backup for massively parallel processing databases
US20230418811A1 (en) Transaction processing method and apparatus, computing device, and storage medium
CN111552701B (zh) 确定分布式集群中数据一致性的方法及分布式数据系统
JP2019204527A (ja) 記憶機器のデータ位置の処理方法及び処理装置、コンピュータ機器並びにコンピュータ読み取り可能な記憶媒体
CN102724301B (zh) 云数据库系统以及云数据读写处理方法、设备
CN107943615B (zh) 基于分布式集群的数据处理方法与系统
CN111737226B (zh) 一种基于Redis集群优化HBase集群性能的方法
CN113157701A (zh) 一种oracle数据库的双活机制部署方法及装置
CN111414356A (zh) 数据存储方法、装置、非关系数据库系统及存储介质
CN116303789A (zh) 多分片多副本数据库并行同步方法、装置及可读介质
Goncalves et al. DottedDB: Anti-entropy without merkle trees, deletes without tombstones
CN112115206A (zh) 一种处理对象存储元数据的方法和装置
CN115587141A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211112

Address after: Room 516, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: Alibaba Dharma Institute (Hangzhou) Technology Co.,Ltd.

Address before: P.O. Box 847, 4th floor, Grand Cayman capital building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170118

Assignee: Hangzhou Jinyong Technology Co.,Ltd.

Assignor: Alibaba Dharma Institute (Hangzhou) Technology Co.,Ltd.

Contract record no.: X2024980001317

Denomination of invention: A data synchronization method and device for adding servers in a database cluster

Granted publication date: 20191122

License type: Common License

Record date: 20240123

Application publication date: 20170118

Assignee: Golden Wheat Brand Management (Hangzhou) Co.,Ltd.

Assignor: Alibaba Dharma Institute (Hangzhou) Technology Co.,Ltd.

Contract record no.: X2024980001316

Denomination of invention: A data synchronization method and device for adding servers in a database cluster

Granted publication date: 20191122

License type: Common License

Record date: 20240123

Application publication date: 20170118

Assignee: Hangzhou Xinlong Huazhi Trademark Agency Co.,Ltd.

Assignor: Alibaba Dharma Institute (Hangzhou) Technology Co.,Ltd.

Contract record no.: X2024980001315

Denomination of invention: A data synchronization method and device for adding servers in a database cluster

Granted publication date: 20191122

License type: Common License

Record date: 20240123