CN107153699A - 一种动态扩展集群服务器的方法及装置 - Google Patents

一种动态扩展集群服务器的方法及装置 Download PDF

Info

Publication number
CN107153699A
CN107153699A CN201710321179.4A CN201710321179A CN107153699A CN 107153699 A CN107153699 A CN 107153699A CN 201710321179 A CN201710321179 A CN 201710321179A CN 107153699 A CN107153699 A CN 107153699A
Authority
CN
China
Prior art keywords
server
cluster
data
database
newly
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
CN201710321179.4A
Other languages
English (en)
Other versions
CN107153699B (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.)
Beijing Forever Technology Co Ltd
Original Assignee
Beijing Forever Technology 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 Beijing Forever Technology Co Ltd filed Critical Beijing Forever Technology Co Ltd
Priority to CN201710321179.4A priority Critical patent/CN107153699B/zh
Publication of CN107153699A publication Critical patent/CN107153699A/zh
Application granted granted Critical
Publication of CN107153699B publication Critical patent/CN107153699B/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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/21Design, administration or maintenance of databases
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

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

Abstract

本发明公开一种动态扩展集群服务器的方法及装置,该方法在获得扩展指令时,从服务器集群(集群中各服务器的数据库内容一致)中确定出目标服务器,将目标服务器的数据库数据拷贝至新增服务器,其中,所拷贝数据为目标服务器在拷贝起始时刻前最后一次更新数据库后所对应的数据;并在完成拷贝后,获得拷贝起始时刻至拷贝结束时刻集群中各已有服务器的数据库数据更新信息,以及依据该更新信息对新增服务器的进行数据更新,以使得新增服务器与集群中各已有服务器的数据库内容一致。由此可见,本发明实现了一种在不影响、不中断集群中各服务器节点当前服务状态的前提下,动态扩展集群服务器的方案,与现有技术相比,可明显提升集群的数据库服务质量。

Description

一种动态扩展集群服务器的方法及装置
技术领域
本发明属于数据库扩展技术领域,尤其涉及一种动态扩展集群服务器的方法及装置。
背景技术
服务器集群用于将多个服务器集中起来一起进行同一种服务,每个服务器构成集群的一个节点,从客户端角度来看可以将服务器集群认为是只有一个向外提供服务的机器。服务器集群可以利用多个服务器节点进行并行处理,从而获得很高的处理速度,也可以利用多个服务器节点互为冗余,从而使得任何一个节点发生故障时不影响整个集群系统的正常运行。
在数据库服务器集群中,往往利用集群中的多个服务器节点进行大批量数据库请求任务的并行处理,在因数据库压力大等原因需扩展数据库服务器的情况下,现有技术中,一般会首先停掉集群中各服务器节点,在停掉机器的前提下,再将集群中既有服务器节点中的数据库内容拷贝至新增节点,从而使得新增节点具备集群的数据库服务所需的数据基础,进而实现了集群中数据库服务器的扩展。
然而,现有技术的数据库扩展方式在进行数据库扩展时,因需停掉集群中各既有服务器节点,从而会中断集群中各既有服务器节点的服务,进而降低了集群的数据库服务质量。
发明内容
有鉴于此,本发明的目的在于提供一种动态扩展集群服务器的方法及装置,旨在实现在不影响、不中断集群中各服务器节点当前服务状态的前提下,完成集群服务器的动态扩展。
为此,本发明公开如下技术方案:
一种动态扩展集群服务器的方法,所述集群包括多个数据库服务器,各个数据库服务器存储的数据库内容保持一致;所述方法包括:
在获得扩展指令时,从所述集群中确定出作为数据源的目标服务器;
将目标服务器中的数据库数据拷贝至新增服务器;其中,所拷贝数据为目标服务器在拷贝起始时刻前最后一次更新数据库后所对应的数据库数据;
在完成拷贝后,若在拷贝起始时刻至拷贝结束时刻的时间段内,所述集群中各个已有服务器的数据库数据发生更新,则获得所述时间段内集群中各个已有服务器的数据库数据更新信息;
依据所述数据库数据更新信息,对所述新增服务器的拷贝数据进行更新,以使得所述新增服务器与所述集群中各已有服务器的数据库内容保持一致。
上述方法,优选的,所述从所述集群中确定出作为数据源的目标服务器,包括:
从所述集群包括的各服务器中选取出任一服务器为目标服务器。
上述方法,优选的,所述集群中的各个已有服务器基于已构建的通信连接进行数据库数据的同步更新,以使得各服务器的数据库内容保持一致;其中,在各服务器进行数据的同步更新时,各服务器维护同步记录,所述同步记录包括数据库的每次同步更新事件所对应的更新信息;
则所述获得拷贝起始时刻至拷贝结束时刻的时间段内,所述数据库服务器集群中各个已有服务器的数据库数据更新信息,包括:
基于所述集群中任一已有服务器的同步记录,获得在拷贝起始时刻至拷贝结束时刻的时间段内集群中各已有服务器的数据库数据更新信息。
上述方法,优选的,还包括:
当新增服务器进行数据库数据更新时,向集群中其他各服务器推送同步更新指示信息,以使得其他各服务器基于获得的同步更新指示信息,进行数据库数据的同步更新,且新增服务器在完成数据更新时,维护同步记录。
上述方法,优选的,还包括:
当新增服务器接收到集群中其他任一服务器推送的同步更新指示信息时,基于接收的同步更新指示信息对新增服务器中的数据库内容进行同步更新,并维护同步记录;
其中,所述更新指示信息为所述任一服务器在进行数据库数据更新时所推送的信息。
一种动态扩展集群服务器的装置,所述集群包括多个数据库服务器,各个数据库服务器存储的数据库内容保持一致;所述装置包括:
确定单元,用于在获得扩展指令时,从所述集群中确定出作为数据源的目标服务器;
拷贝单元,用于将所述目标服务器中的数据库数据拷贝至新增服务器;其中,所拷贝数据为目标服务器在拷贝起始时刻前最后一次更新数据库后所对应的数据库数据;
获取单元,用于在完成拷贝后,若在拷贝起始时刻至拷贝结束时刻的时间段内,所述集群中各个已有服务器的数据库数据发生更新,则获得所述时间段内集群中各个已有服务器的数据库数据更新信息;
更新单元,用于依据所述数据库数据更新信息,对所述新增服务器的拷贝数据进行更新,以使得所述新增服务器与所述集群中各已有服务器的数据库内容保持一致。
上述装置,优选的,所述确定单元,进一步用于:
从所述集群包括的各服务器中选取出任一服务器为目标服务器。
上述装置,优选的,所述集群中的各个已有服务器基于已构建的通信连接进行数据库数据的同步更新,以使得各服务器的数据库内容保持一致;其中,在各服务器进行数据的同步更新时,各服务器维持同步记录,所述同步记录包括数据库的每次同步更新事件所对应的更新信息;
则所述获取单元,进一步用于:
基于所述集群中任一已有服务器的同步记录,获得在拷贝起始时刻至拷贝结束时刻的时间段内集群中各已有服务器的数据库数据更新信息。
上述装置,优选的,还包括:
推送单元,用于在新增服务器进行数据库数据更新时,向集群中其他各服务器推送同步更新指示信息,以使得其他各服务器基于获得的同步更新指示信息进行数据库数据的同步更新,且新增服务器在完成数据更新时,维护同步记录。
上述装置,优选的,还包括:
同步处理单元,用于在新增服务器接收到集群中其他任一服务器推送的同步更新指示信息时,基于接收的同步更新信息对新增服务器中的数据库内容进行同步更新,并维护同步记录;
其中,所述同步更新指示信息为所述任一服务器在进行数据库数据更新时所推送的信息。
由以上方案可知,本发明提供的动态扩展集群服务器的方法及装置,在获得扩展指令时,从服务器集群(集群中各服务器的数据库内容一致)中确定出作为数据源的目标服务器,将目标服务器中的数据库数据拷贝至新增服务器,其中,所拷贝数据为目标服务器在拷贝起始时刻前最后一次更新数据库后所对应的数据库数据;并在完成拷贝后,获得拷贝起始时刻至拷贝结束时刻集群中各个已有服务器的数据库数据更新信息,以及依据该数据库数据更新信息,对新增服务器的拷贝数据进行更新,以使得新增服务器与集群中各已有服务器的数据库内容保持一致。由此可见,本发明实现了一种在不影响、不中断集群中各服务器节点当前服务状态的前提下,动态扩展集群中服务器节点的方案,与现有技术相比,可明显提升集群的数据库服务质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的动态扩展集群服务器的方法流程图;
图2是本发明实施例二提供的动态扩展集群服务器的方法流程图;
图3是本发明实施例三提供的动态扩展集群服务器的方法流程图;
图4是-图6是本发明实施例四提供的动态扩展集群服务器的装置的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:
事务:对数据库的一般操作,客户端新建一个和数据库的连接,开启事务,执行增加、修改、删除、查询类操作,提交事务,这一系列操作称为一个事务。
Galera:基于mysql的一个修改数据库,其中,Mysql为一种开源数据库。
Wsapi:write set api的简称,Galera的数据通信方式。
Galera集群:多个相互之间可通信的Galera数据库。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种动态扩展集群服务器的方法,以实现在不影响、不中断集群中各服务器节点当前服务状态的前提下,动态扩展集群的服务器节点,提升集群的数据库服务质量。参考图1示出的动态扩展集群服务器的方法流程图,该方法可以包括以下步骤:
步骤101、在获得扩展指令时,从所述集群中确定出作为数据源的目标服务器。
所述集群具体为数据库服务器集群,包括多个数据库服务器,各个数据库服务器存储的数据库内容保持一致;具体地,所述集群中的各个已有服务器基于已构建的通信连接进行数据库数据的同步更新,以使得各服务器的数据库内容保持一致;且在各服务器进行数据的同步更新时,各服务器均各自维护相应的同步记录,所述同步记录包括每次数据更新所对应的更新信息。
以Galera集群为例,集群中包括的各个Galera数据库服务器可基于Wsapi来建立通信连接实现通信,各Galera数据库服务器在初始时具有相同的数据库数据,且在集群运行过程中,当集群的任一服务器执行了数据库更新操作,一般为基于客户端请求的事务性更新操作,则负责执行事务的当前服务器侵入到所执行的事务中(不影响事务执行过程),获得事务对应的数据更改指令,并将获得的数据更改指令作为同步更新指示信息通过Wsapi连接推送至集群中其他服务器,从而可使得其他服务器根据该同步更新指示信息中的数据更新指令进行数据库数据的同步更新,进而确保各服务器的数据库内容一致,使得各服务器能够具备同等的数据库服务能力。
且各服务器中维护有相应的同步记录,各服务器维护的同步记录中包含数据库的每次同步更新事件所对应的更新信息,更具体地,可包括每次同步更新事件所对应的唯一标识,如包括事务同步事件的唯一标识等,从而使得后续可基于该同步记录中记载的标识信息对集群中各服务器同步执行的历史事务事件进行溯源,进而进行相应应用,如进行事务回滚等。
本步骤中所获得的所述扩展指令,具体用于指示在集群中进行集群节点即数据库服务器节点的动态扩展,实际应用中,可将待扩展进集群的新增服务器作为本申请方案的执行主体。
所述扩展指令,可以是相关人员在对待扩展至集群的新增服务器进行一些必要设置后,如对所述新增服务器进行防火墙,文件路径等设置后,由所述相关人员手动触发的指令,也可以是在相关人员对所述新增服务器完成所需设置后,由所述新增服务器自动触发的指令。
在获得扩展指令后,为实现将所述新增服务器扩展至服务器集群,使得所述新增服务器在集群中具备与其他服务器同等的数据库服务能力,需确保所述新增服务器中具有与集群中其他服务器相一致的数据库内容。
基于此,本步骤中,当获得扩展指令时,从集群中包括的各个已有服务器中选取出一目标服务器,该目标服务器具体作为向新增服务器进行数据拷贝的数据源。其中,由于集群的各数据库服务器中具备相互一致的数据库内容,从而可从集群中选取出任一服务器作为所述目标服务器。
步骤102、将所述目标服务器中的数据库数据拷贝至新增服务器;其中,所拷贝数据为目标服务器在拷贝起始时刻前最后一次更新数据库后所对应的数据库数据。
在从集群的已有各服务器中确定出作为数据源的目标服务器后,可将该目标服务器中的数据库数据拷贝至待扩展至集群的所述新增服务器,其中,需要说明的是,所拷贝的数据为目标服务器在拷贝起始时刻前最后一次更新数据库后所对应的数据库数据。而对于拷贝过程中在目标数据库上所产生的数据更新,则通过后续步骤将其延迟更新至新增服务器。
本发明中,在向新增服务器进行数据拷贝时,不需打断作为数据源的所述目标服务器以及集群中其他各个已有服务器的当前工作状态,不影响集群中各服务器的正常运行。
步骤103、在完成拷贝后,若在拷贝起始时刻至拷贝结束时刻的时间段内,所述集群中各个已有服务器的数据库数据发生更新,则获得所述时间段内集群中各个已有服务器的数据库数据更新信息。
由于拷贝过程中,集群中包括所述目标服务器在内的各已有服务器正常向外提供数据库服务,从而,不可避免地,在数据拷贝过程中,集群中各个已有服务器可能发生了数据库内容的同步更新,基于此,为使得新增服务器与集群中各已有服务器的数据库内容保持一致,在完成拷贝后,需获得集群中各个已有服务器在拷贝起始时刻至拷贝结束时刻的时间段内的数据库数据更新信息,以实现为新增服务器中拷贝数据的更新(还原拷贝过程中的数据修改)提供支持。
本实施例中,当拷贝结束时,所述新增服务器与集群中各个已有服务器建立通信连接,例如对于Galera集群,当完成拷贝时,新增的Galera数据库服务器与集群中其他已有的各个Galera数据库服务器进行Wsapi连接的构建,以使得能够支持后续新增服务器与集群中各已有服务器间的数据同步。
其中,在完成拷贝后,可基于集群中任一已有服务器的同步记录,获知在拷贝起始时刻至拷贝结束时刻的时间段内集群中各已有服务器是否发生了同步数据更新,具体而言,若任一已有服务器的同步记录中在该时间段内存在相应记录数据,则表示在拷贝起始时刻至拷贝结束时刻的该时间段内,集群中各服务器的数据库内容发生了同步更新,在此情况下,可进一步从所述任一服务器的同步记录中获得该段时间段内的同步记录数据,进而根据该同步记录数据获得数据库数据更新信息,例如获得数据库在该时间段内所执行的事务操作等等。
反之,若所述任一已有服务器的同步记录中在该时间段内不存在任何记录数据,则表示在拷贝起始时刻至拷贝结束时刻的该时间段内,集群中各服务器的数据库内容未发生同步更新,从而无需对新增服务器中的拷贝数据执行针对该时间段的还原数据修改操作。
步骤104、依据所述数据库数据更新信息,对所述新增服务器的拷贝数据进行更新,以使得所述新增服务器与所述集群中各已有服务器的数据库内容保持一致。
在获得集群中各已有服务器的数据库数据更新信息后,可基于该数据库数据更新信息,对新增服务器中的拷贝数据进行相应更新,使得在新增服务器中还原拷贝起始时刻至拷贝结束时刻的时间段内未能同步的数据修改。例如,根据集群中各已有服务器在拷贝起始时刻至拷贝结束时刻的时间段内所执行的同步事务操作,获得相应事务指令,对新增服务器中的已拷贝数据进行相应的延时更新(即新增服务器未能在拷贝过程中与其他已有服务器进行同步数据更新),以使得所述新增服务器与所述集群中各已有服务器的数据库内容保持一致。从而使得新增服务器能够与集群中各已有服务器提供同等的数据库服务能力,实现了集群中数据库服务器的扩展。
由以上方案可知,本发明提供的动态扩展集群服务器的方法,在获得扩展指令时,从服务器集群(集群中各服务器的数据库内容一致)中确定出作为数据源的目标服务器,将目标服务器中的数据库数据拷贝至新增服务器,其中,所拷贝数据为目标服务器在拷贝起始时刻前最后一次更新数据库后所对应的数据库数据;并在完成拷贝后,获得拷贝起始时刻至拷贝结束时刻集群中各个已有服务器的数据库数据更新信息,以及依据该数据库数据更新信息,对新增服务器的拷贝数据进行更新,以使得新增服务器与集群中各已有服务器的数据库内容保持一致。由此可见,本发明实现了一种在不影响、不中断集群中各服务器节点当前服务状态的前提下,动态扩展集群中服务器节点的方案,与现有技术相比,可明显提升集群的数据库服务质量。
实施例二
本发明实施例二中,参考图2示出的一种动态扩展集群服务器的方法流程图,所述方法还可以包括:
步骤105、当新增服务器接收到集群中其他任一服务器推送的同步更新指示信息时,基于接收的同步更新指示信息对新增服务器中的数据库内容进行同步更新,并维护同步记录;其中,所述更新指示信息为所述任一服务器在进行数据库数据更新时所推送的信息。
在新增服务器拷贝结束并建立与集群中各已有服务器间的通信连接后,所述新增服务器即可接收到集群中各已有服务器在进行数据库内容更新时,所推送的同步更新指示信息,基于此,当新增服务器还原拷贝起始时刻至拷贝结束时刻的时间段内未能同步的数据修改后,即可基于所接收到的集群中其他任一服务器所推送的同步更新指示信息,对新增服务器中的数据库进行同步更新,并维护同步记录,如在在同步记录中添加每次同步更新事件所对应的唯一标识等。
此处需要说明是,如果在还原数据修改的过程中(新增服务器还原拷贝起始时刻至拷贝结束时刻内未能同步的数据修改),新增服务器有接收到集群中其他服务器推送的同步更新指示信息,则新增服务器具体在完成还原任务后,再基于在该时间段内接收的同步更新指示信息,进行数据库数据的延迟式修改更新。直至新增服务器能够完全融入集群中,与集群中各服务器进行同步的数据更新,并具有与各服务器同等的数据库服务能力。
实施例三
本发明实施例三中,参考图3示出的一种动态扩展集群服务器的方法流程图,所述方法还可以包括:
步骤106、当新增服务器进行数据库数据更新时,向集群中其他各服务器推送同步更新指示信息,以使得其他各服务器基于获得的同步更新指示信息,进行数据库数据的同步更新,且新增服务器在完成数据更新时,维护同步记录。
在新增服务器拷贝结束并建立与集群中各已有服务器间的连接后,所述新增服务器即可接收到集群中各已有服务器在进行数据库内容更新时,所推送的同步更新指示信息,同时,若所述新增服务器发生了数据库数据更新,例如,新增服务器基于客户端请求,对数据库执行事务性修改操作等,则新增服务器向集群中其他各服务器推送同步更新指示信息,以使得其他各服务器基于获得的同步更新指示信息,进行数据库数据的同步更新,且新增服务器在完成数据更新时,维护同步记录。。
具体地,对于扩展至集群,并作为集群中一节点的新增服务器而言,当新增服务器进行数据库数据更新时,为使得集群中所有服务器中的数据保持一致,则新增服务器需基于当前的更新事件,向集群中其他各服务器推送同步更新指示信息,以使得其他各服务器基于获得的同步更新指示信息,进行数据库数据的同步更新,且集群中各服务器(新增服务器及其他服务器)基于所进行的数据更新事件,维护各自的同步记录,向同步记录中添加此次同步更新事件的相关信息。
基于本发明实施例二及实施例三的方案,可使得在集群服务器运行过程中保持新增服务器与集群中其他各服务器的数据库内容相互一致,进而为集群服务器运行过程中,在各服务器节点提供同等的数据库服务能力提供了保障。
实施例四
本发明实施例四公开一种动态扩展集群服务器的装置,参考图4示出的一种动态扩展集群服务器的装置的结构示意图,所述装置可以包括:
确定单元1,用于在获得扩展指令时,从所述集群中确定出作为数据源的目标服务器;拷贝单元2,用于将所述目标服务器中的数据库数据拷贝至新增服务器;其中,所拷贝数据为目标服务器在拷贝起始时刻前最后一次更新数据库后所对应的数据库数据;获取单元3,用于在完成拷贝后,若在拷贝起始时刻至拷贝结束时刻的时间段内,所述集群中各个已有服务器的数据库数据发生更新,则获得所述时间段内集群中各个已有服务器的数据库数据更新信息;更新单元4,用于依据所述数据库数据更新信息,对所述新增服务器的拷贝数据进行更新,以使得所述新增服务器与所述集群中各已有服务器的数据库内容保持一致。
在本发明实施例的一实施方式中,所述确定单元,进一步用于:从所述集群包括的各服务器中选取出任一服务器为目标服务器。
在本发明实施例的一实施方式中,所述获取单元,进一步用于:基于所述集群中任一已有服务器的同步记录,获得在拷贝起始时刻至拷贝结束时刻时间段内集群中各已有服务器的数据库数据更新信息。
在本发明实施例的一实施方式中,参考图5,所述装置还包括:推送单元5,用于在新增服务器进行数据库数据更新时,向集群中其他各服务器推送同步更新指示信息,以使得其他各服务器基于获得的同步更新指示信息进行数据库数据的同步更新,且新增服务器在完成数据更新时,维护同步记录。
在本发明实施例的一实施方式中,参考图5,所述装置还包括:同步处理单元6,用于在新增服务器接收到集群中其他任一服务器推送的同步更新指示信息时,基于接收的同步更新信息对新增服务器中的数据库内容进行同步更新,并维护同步记录;其中,所述同步更新指示信息为所述任一服务器在进行数据库数据更新时所推送的信息。
此处,需要说明的是,本实施例涉及的动态扩展集群服务器的装置的描述,与上文方法的描述是类似的,且同方法的有益效果描述,对于本发明的动态扩展集群服务器的装置在本实施例中未披露的技术细节,请参照本发明方法实施例的说明,本实施对此不再作赘述。
还需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种动态扩展集群服务器的方法,其特征在于,所述集群包括多个数据库服务器,各个数据库服务器存储的数据库内容保持一致;所述方法包括:
在获得扩展指令时,从所述集群中确定出作为数据源的目标服务器;
将目标服务器中的数据库数据拷贝至新增服务器;其中,所拷贝数据为目标服务器在拷贝起始时刻前最后一次更新数据库后所对应的数据库数据;
在完成拷贝后,若在拷贝起始时刻至拷贝结束时刻的时间段内,所述集群中各个已有服务器的数据库数据发生更新,则获得所述时间段内集群中各个已有服务器的数据库数据更新信息;
依据所述数据库数据更新信息,对所述新增服务器的拷贝数据进行更新,以使得所述新增服务器与所述集群中各已有服务器的数据库内容保持一致。
2.根据权利要求1所述的方法,其特征在于,所述从所述集群中确定出作为数据源的目标服务器,包括:
从所述集群包括的各服务器中选取出任一服务器为目标服务器。
3.根据权利要求1所述的方法,其特征在于,所述集群中的各个已有服务器基于已构建的通信连接进行数据库数据的同步更新,以使得各服务器的数据库内容保持一致;其中,在各服务器进行数据的同步更新时,各服务器维护同步记录,所述同步记录包括数据库的每次同步更新事件所对应的更新信息;
则所述获得拷贝起始时刻至拷贝结束时刻的时间段内,所述数据库服务器集群中各个已有服务器的数据库数据更新信息,包括:
基于所述集群中任一已有服务器的同步记录,获得在拷贝起始时刻至拷贝结束时刻的时间段内集群中各已有服务器的数据库数据更新信息。
4.根据权利要求3所述的方法,其特征在于,还包括:
当新增服务器进行数据库数据更新时,向集群中其他各服务器推送同步更新指示信息,以使得其他各服务器基于获得的同步更新指示信息,进行数据库数据的同步更新,且新增服务器在完成数据更新时,维护同步记录。
5.根据权利要求3所述的方法,其特征在于,还包括:
当新增服务器接收到集群中其他任一服务器推送的同步更新指示信息时,基于接收的同步更新指示信息对新增服务器中的数据库内容进行同步更新,并维护同步记录;
其中,所述更新指示信息为所述任一服务器在进行数据库数据更新时所推送的信息。
6.一种动态扩展集群服务器的装置,其特征在于,所述集群包括多个数据库服务器,各个数据库服务器存储的数据库内容保持一致;所述装置包括:
确定单元,用于在获得扩展指令时,从所述集群中确定出作为数据源的目标服务器;
拷贝单元,用于将所述目标服务器中的数据库数据拷贝至新增服务器;其中,所拷贝数据为目标服务器在拷贝起始时刻前最后一次更新数据库后所对应的数据库数据;
获取单元,用于在完成拷贝后,若在拷贝起始时刻至拷贝结束时刻的时间段内,所述集群中各个已有服务器的数据库数据发生更新,则获得所述时间段内集群中各个已有服务器的数据库数据更新信息;
更新单元,用于依据所述数据库数据更新信息,对所述新增服务器的拷贝数据进行更新,以使得所述新增服务器与所述集群中各已有服务器的数据库内容保持一致。
7.根据权利要求6所述的装置,其特征在于,所述确定单元,进一步用于:
从所述集群包括的各服务器中选取出任一服务器为目标服务器。
8.根据权利要求6所述的装置,其特征自傲与,所述集群中的各个已有服务器基于已构建的通信连接进行数据库数据的同步更新,以使得各服务器的数据库内容保持一致;其中,在各服务器进行数据的同步更新时,各服务器维持同步记录,所述同步记录包括数据库的每次同步更新事件所对应的更新信息;
则所述获取单元,进一步用于:
基于所述集群中任一已有服务器的同步记录,获得在拷贝起始时刻至拷贝结束时刻的时间段内集群中各已有服务器的数据库数据更新信息。
9.根据权利要求8所述的装置,其特征在于,还包括:
推送单元,用于在新增服务器进行数据库数据更新时,向集群中其他各服务器推送同步更新指示信息,以使得其他各服务器基于获得的同步更新指示信息进行数据库数据的同步更新,且新增服务器在完成数据更新时,维护同步记录。
10.根据权利要求8所述的装置,其特征在于,还包括:
同步处理单元,用于在新增服务器接收到集群中其他任一服务器推送的同步更新指示信息时,基于接收的同步更新信息对新增服务器中的数据库内容进行同步更新,并维护同步记录;
其中,所述同步更新指示信息为所述任一服务器在进行数据库数据更新时所推送的信息。
CN201710321179.4A 2017-05-09 2017-05-09 一种动态扩展集群服务器的方法及装置 Active CN107153699B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710321179.4A CN107153699B (zh) 2017-05-09 2017-05-09 一种动态扩展集群服务器的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710321179.4A CN107153699B (zh) 2017-05-09 2017-05-09 一种动态扩展集群服务器的方法及装置

Publications (2)

Publication Number Publication Date
CN107153699A true CN107153699A (zh) 2017-09-12
CN107153699B CN107153699B (zh) 2020-10-02

Family

ID=59792769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710321179.4A Active CN107153699B (zh) 2017-05-09 2017-05-09 一种动态扩展集群服务器的方法及装置

Country Status (1)

Country Link
CN (1) CN107153699B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595451A (zh) * 2017-12-04 2018-09-28 阿里巴巴集团控股有限公司 业务请求处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186722A (ja) * 2001-12-20 2003-07-04 Hitachi Software Eng Co Ltd クラスタシステムにおけるデータベースサーバフェイルオーバー方法
CN102693324A (zh) * 2012-01-09 2012-09-26 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
CN102982085A (zh) * 2012-10-31 2013-03-20 北京奇虎科技有限公司 数据迁移系统和方法
US20140101103A1 (en) * 2012-10-02 2014-04-10 Nextbit Systems Inc. Data synchronization based on file system activities
CN105677736A (zh) * 2015-12-29 2016-06-15 曙光信息产业(北京)有限公司 一种增加、删除服务器节点的方法及装置
CN106339387A (zh) * 2015-07-08 2017-01-18 阿里巴巴集团控股有限公司 一种数据库集群中新增服务器的数据同步方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186722A (ja) * 2001-12-20 2003-07-04 Hitachi Software Eng Co Ltd クラスタシステムにおけるデータベースサーバフェイルオーバー方法
CN102693324A (zh) * 2012-01-09 2012-09-26 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
US20140101103A1 (en) * 2012-10-02 2014-04-10 Nextbit Systems Inc. Data synchronization based on file system activities
CN102982085A (zh) * 2012-10-31 2013-03-20 北京奇虎科技有限公司 数据迁移系统和方法
CN106339387A (zh) * 2015-07-08 2017-01-18 阿里巴巴集团控股有限公司 一种数据库集群中新增服务器的数据同步方法及装置
CN105677736A (zh) * 2015-12-29 2016-06-15 曙光信息产业(北京)有限公司 一种增加、删除服务器节点的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595451A (zh) * 2017-12-04 2018-09-28 阿里巴巴集团控股有限公司 业务请求处理方法及装置

Also Published As

Publication number Publication date
CN107153699B (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
US7103586B2 (en) Collision avoidance in database replication systems
CN102891849B (zh) 业务数据同步方法、恢复方法及装置和网络设备
EP3117349B1 (en) System and method for massively parallel processing database
EP2790112B1 (en) Method and system for data synchronization and data access apparatus
US7177866B2 (en) Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US8949178B2 (en) Method and system for efficient data synchronization
US7693882B2 (en) Replicating data across the nodes in a cluster environment
US10565071B2 (en) Smart data replication recoverer
CN113396407A (zh) 用于利用区块链技术扩充数据库应用的系统和方法
KR101993432B1 (ko) 2-단계 커미트 호출들의 엄격한 순서화에 근거하여 트랜잭션 복구를 지원하는 시스템들 및 방법들
EP2521037A2 (en) Geographically distributed clusters
US20100023564A1 (en) Synchronous replication for fault tolerance
CN109643310B (zh) 用于数据库中数据重分布的系统和方法
CN102214205A (zh) 带有自适应克隆的经聚类的数据库系统中的逻辑复制
CN105608086A (zh) 分布式数据库系统的事务处理方法及装置
US11917005B2 (en) Clustered storage system synchronization
CN104767794B (zh) 一种分布式系统中的节点选举方法及节点
KR102038529B1 (ko) 인-메모리 데이터베이스의 실시간 데이터 변경 처리 시스템
CN115617908A (zh) 一种MySQL数据同步方法、装置、数据库终端、介质及系统
CN113297173B (zh) 分布式数据库集群管理方法及装置、电子设备
CN111404737B (zh) 一种容灾处理方法以及相关装置
CN107153699A (zh) 一种动态扩展集群服务器的方法及装置
CN111653052A (zh) 收银系统及收银机切换方法
US8918364B1 (en) Online mirror state transitioning in databases
CN115904817A (zh) 分布式数据库并行回放方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant