点对点数据复制方法、设备和系统以及主节点切换方法、设备和系统的制作方法_2

文档序号:9756879阅读:来源:国知局
82]处理器和与所述处理器耦合的存储器;
[0083]其中,所述处理器用于:
[0084]当所述主节点第一物理实体上发生第一写操作时,生成附带提交序号(CSN)的第一提交重做记录,其中,所述主节点预设有包括所述第一物理实体和第二物理实体在内的至少两个物理实体,并且所述主节点与包括第一用户节点和第二用户节点在内的至少两个用户节点相连接,所述第一提交重做记录附带的CSN用于指示所述主节点中所述第一写操作的顺序;
[0085]基于物理实体与用户节点之间的映射关系推送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,其中,通过所述第一用户节点推送接收到的第一提交重做记录至所述第二用户节点,所述第一提交重做记录用于将所述第一写操作的数据从所述主节点复制到与所述第一物理实体对应的所述第一用户节点,然后再复制到所述第二用户节点。
[0086]在本发明第九方面的第一实现方式中,所述物理实体为表空间、设备档案文件、页面和/或分区。
[0087]在本发明第九方面的第二实现方式中,所述处理器还用于:
[0088]通过以下方式建立物理实体与用户节点之间的映射关系:将不同的用户节点映射至所述主节点与用户节点之间的不同连接,并将不同的连接映射至所述主节点中的不同物理实体组,其中,各物理实体组包括一个或多个物理实体;
[0089]基于所述第一物理实体与所述第一用户节点之间的映射关系并且通过所述主节点与所述第一用户节点之间的连接,推送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的第一用户节点。
[0090]在本发明第九方面的第三实现方式中,所述处理器还用于:
[0091]通过以下方式建立物理实体与用户节点之间的映射关系:将不同的用户节点映射至所述主节点与用户节点之间的不同连接,并将不同的连接映射至所述主节点中的不同物理实体组,其中,所述主节点中的各物理实体组包括多个物理实体,同时还将所述主节点中一个物理实体组的不同物理实体映射至与该物理实体组对应的用户节点中的不同物理实体;
[0092]基于所述主节点中的所述第一物理实体所属的物理实体组与所述第一用户节点之间的映射关系,以及所述第一物理实体与第三物理实体之间的映射关系,并且通过所述主节点与所述第一用户节点之间的连接,推送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的所述第三物理实体,其中,所述第一用户节点预设有包括所述第三物理实体和第四物理实体在内的至少两个物理实体。
[0093]在本发明第九方面的第四实现方式中,所述处理器还用于:
[0094]当新的用户节点与所述主节点连接时,在重配置所述主节点中的物理实体,以及所述物理实体与包括所述新的用户节点在内的所述用户节点之间的映射关系后,将提交重做记录同步至所述新的用户节点。
[0095]在本发明第九方面的第五实现方式中,所述第一提交记录基于发生相关写操作的物理实体与第二提交记录相分离,所述第二提交记录由所述设备在第二写操作发生在第二物理实体上时生成。
[0096]在本发明第九方面的第六实现方式中,所述处理器分别并行推送所述第一提交记录和所述第二提交记录至所述第一用户节点和所述第二用户节点,以使所述第一提交记录和所述第二提交记录由所述第一用户节点和第二用户节点分别并行重播;其中,通过所述第二用户节点将接收到的第二提交重做记录推送至所述第一用户节点,所述第二提交重做记录用于将所述第二写操作的数据从所述主节点复制到与所述第二物理实体对应的第二用户节点,然后再复制到所述第一用户节点。
[0097]本发明的第十方面提供了一种点对点数据复制设备,所述设备位于用户节点上,所述设备包括:
[0098]处理器和与所述处理器耦合的存储器;
[0099]其中,所述处理器用于:
[0100]从主节点接收附带提交序号(CSN)的提交重做记录,其中,所述提交重做记录附带的CSN用于指示所述主节点中写操作的顺序;
[0101]当所述提交重做记录附带的CSN减去所述用户节点的CSN的绝对值为I时,更新所述用户节点的CSN至所述提交重做记录附带的CSN,其中,所述用户节点的CSN在初始化过程中设置为O;
[0102]重播所述提交重做记录,以将发生在主节点上的写操作的数据从所述主节点复制到所述用户节点,其中,所述用户节点与所述主节点相连接,并且其他用户节点与所述主节点相连接;
[0103]推送所述提交重做记录至所述其他用户节点,以将发生在所述主节点上的所述写操作的数据复制到其他用户。
[0104]在本发明第十方面的第一实现方式中,所述处理器还用于:
[0105]当接收到的提交重做记录附带的CSN减去所述用户节点的CSN的绝对值不为I时,保存接收到的提交重做记录并且等待另一提交重做记录;
[0106]在所述用户节点的CSN更新至某个值,使得接收到的提交重做记录附带的CSN减去所述用户节点更新后的CSN的绝对值为I后,重播所述提交重做记录,以将发生在所述主节点上的所述写操作的数据从所述主节点复制到所述用户节点。
[0107]在本发明第十方面的第二实现方式中,所述处理器还用于:
[0108]在所述主节点宕机并且所述用户节点被选为新的主节点后,传输拉取请求至所有其他用户节点,以获取所述其他用户节点中的发生在所述主节点上的所述写操作的所有数据,所述所有数据通过重播所述提交重做记录获得;
[0109]映射单元,用于当所述用户节点充当新的主节点时,重新分配所述新的主节点中的物理实体与除充当新的主节点的用户节点外的其他用户节点之间的映射关系。
[0110]在本发明第十方面的第三实现方式中,所述处理器还用于:
[0111]在前主节点宕机并且另一用户节点被选为新的主节点后,将所述用户节点中的发生在所述前主节点上的所述写操作的数据传输至充当新的主节点的用户节点,以响应所述新的主节点传输的拉取请求。
[0112]本发明的第十一方面提供了一种主节点切换设备,所述设备位于用户节点上,所述设备包括:
[0113]处理器和与所述处理器耦合的存储器;
[0114]其中,所述处理器用于:
[0115]当主节点宕机时,在所述用户节点与其他用户节点之间进行数据同步,直到完成所述数据同步或达到所述数据同步的预配置时间段,其中,所述多个用户节点和所述主节点在同一集群中;
[0116]在基于用户节点的最大提交序号(CSN)从多个用户节点中选择所述用户节点作为新的主节点后,传输拉取请求至未被选为新的主节点的其余用户节点;
[0117]从未被选为新的主节点的其余用户节点中接收数据。
[0118]在本发明第十一方面的第一实现方式中,所述处理器还用于:
[0119]当所述用户节点充当新的主节点时,建立所述新的主节点中的物理实体与除所述用户节点外的其他用户节点之间的映射关系;
[0120]当所述新的主节点中的物理实体上发生写操作时,根据所述映射关系在所述新的主节点与未被选为新的主节点的其他用户节点之间进行点对点数据复制。
[0121]本发明的第十二方面提供了一种主节点切换设备,所述设备位于用户节点上,所述设备包括:
[0122]处理器和与所述处理器耦合的存储器;
[0123]其中,所述处理器用于:
[0124]当主节点宕机时,在所述用户节点与其他用户节点之间进行数据同步,直到完成所述数据同步或达到所述数据同步的预配置时间段,其中,所述多个用户节点和所述主节点在同一集群中;
[0125]与其他用户节点一起基于用户节点的最大提交序号(CSN)从多个用户节点中选择一个用户节点作为新的主节点;
[0126]当用户节点未被选为新的主节点时,接收新的主节点下发的拉取请求;
[0127]当用户节点未被选为新的主节点时,将所述用户节点中的数据传输至新的主节点,以响应所述新的主节点传输的所述拉取请求。
[0128]本发明的第十三方面提供了一种单主机集群系统,包括一个主节点,以及包括第一用户节点和第二用户节点在内的至少两个用户节点,其中:
[0129]在所述主节点上配有根据所述第五方面、第九方面及其实现方式中任一项所述的点对点数据复制设备;
[0130]在各个用户节点上配有根据所述第六方面、第十方面及其实现方式中任一项所述的点对点数据复制设备。
[0131]本发明的第十四方面提供了一种单主机集群系统,包括一个主节点以及至少两个用户节点,其中:
[0132]在各个用户节点上配有根据所述第七方面、第十一方面及其实现方式中任一项所述的主节点切换设备以及根据所述第八方面、第十二方面及其实现方式中所述的主节点切换设备。
[0133]根据本发明实施例提供的点对点数据复制方法、设备和系统,主节点将写操作发生在所述主节点上时生成的提交重做记录分割成多个提交重做记录,并将所述多个提交重做记录推送至不同用户,其中,每个所述提交重做记录由所述主节点推送至唯一一个用户,然后由接收到所述提交重做记录的所述唯一一个用户推送至其他用户节点,从而减少了主节点与用户节点之间的传输,并且因此缓解了复制集群中主节点的复制瓶颈问题。
[0134]根据本发明实施例提供的主节点切换方法、设备和系统,当所述主节点宕机时,所述多个用户节点有能力使得包括所述多个用户节点在内的集群迅速恢复工作。
【附图说明】
[0135]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术中所需的附图作一简要说明。显然,这些附图只是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0136]图1为现有技术中的单主机复制拓扑结构;
[0137]图2为根据图1所示单主机复制拓扑结构进行的复制的传统实现方式的示意图;
[0138]图3为本发明实施例提供的一种点对点数据复制方法的流程图;
[0139]图4a为本发明实施例提供的用于实现点对点数据复制方法的单主机复制拓扑结构的一个实例;
[0140]图4b为本发明实施例提供的用于实现点对点数据复制方法的单主机复制拓扑结构的另一实例;
[0141]图4c为本发明实施例提供的用于实现点对点数据复制方法的单主机复制拓扑结构的另一实例;
[0142]图5示出了图4c所示的单主机复制拓扑结构的配置流程示意图;
[0143]图6为本发明实施例提供的用于实现点对点数据复制方法的单主机复制拓扑结构的另一实例;
[0144]图7为本发明实施例提供的一种主节点同步操作的实例的流程示意图;
[0145]图8为本发明实施例提供的一种订阅节点操作的实例的流程示意图;
[0146]图9为本发明实施例提供的一种订阅节点操作的另一实例的流程示意图;
[0147]图10示出了一种P2P网络的简单场景;
[0148]图11为现有技术中一个数据可用性问题的实例的示意图;
[0149]图12为本发明实施例提供的当主节点宕机时的一种点对点复制方法的流程示意图;
[0150]图13为本发明实施例提供的一种点对点数据复制方法的适用场景的实例的结构示意图;
[0151]图14为本发明实施例提供的一种主节点切换方法的流程示意图;
[0152]图15为本发明实施例提供的另一种主节点切换方法的流程示意图;
[0153]图16为本发明实施例提供的一种点对点数据复制设备的结构示意图;
[0154]图17为本发明另一实施例提供的一种点对点数据复制设备的结构示意图;
[0155]图18为本发明另一实施例提供的一种点对点数据复制设备的结构示意图;
[0156]图19为本发明另一实施例提供的一种点对点数据复制设备的结构示意图;
[0157]图20为本发明另一实施例提供的一种点对点数据复制设备的结构示意图;
[0158]图21为本发明另一实施例提供的一种点对点数据复制设备的结构示意图;
[0159]图22为本发明另一实施例提供的一种点对点数据复制设备的结构示意图;
[0160]图23为本发明实施例提供的一种主节点切换设备的结构示意图;
[0161]图24为本发明另一实施例提供的一种主节点切换设备的结构示意图;
[0162]图25为本发明实施例提供的一种主节点切换设备的结构示意图;
[0163]图26为本发明实施例提供的一种主节点切换设备的结构示意图;
[0164]图27为本发明实施例提供的一种主节点切换设备的结构示意图;
[0165]图28为本发明实施例提供的一种单主机集群系统的结构示意图;
[0166]图29为本发明另一实施例提供的一种单主机集群系统的结构示意图。
【具体实施方式】
[0167]下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行充分、清晰地描述。显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,均属于本发明保护的范围。
[0168]本发明实施例提供了一种点对点数据复制方法。图3为本发明实施例提供的一种点对点数据复制方法的流程图。如图3所示,所述方法包括以下步骤。
[0169]301.当主节点第一物理实体上发生第一写操作时,主节点生成附带提交序号(CSN)的第一提交重做记录,其中,所述主节点预设有包括所述第一物理实体和第二物理实体在内的至少两个物理实体,并且所述主节点与包括第一用户节点和第二用户节点在内的至少两个用户节点相连接,所述第一提交重做记录附带的CSN用于指示所述主节点中所述第一写操作的顺序。
[0170]302.所述主节点基于物理实体与用户节点之间的映射关系推送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,其中,通过所述第一用户节点推送接收到的第一提交重做记录至所述第二用户节点,所述第一提交重做记录用于将所述第一写操作的数据从所述主节点复制到与所述第一物理实体对应的所述第一用户节点,然后再复制到所述第二用户节点。
[0171]这里,所述主节点为包括主数据库的节点,所述用户节点为包括用户数据库的节点,所述物理实体可以为表空间、设备档案文件、页面和/或分区。为便于描述,本发明实施例以所述物理实体为表空间的例子进行描述。
[0172]图4a为本发明实施例提供的用于实现点对点数据复制方法的单主机复制拓扑结构的一个实例。如图4a所示,在所述单主机复制拓扑结构中,主节点与用户节点I和用户节点2连接,用户节点I与用户节点2连接,其中,所述主节点包括一个主数据库,所述用户节点I包括一个用户数据库,所述用户节点2包括一个用户数据库。此外,所述主节点用于映射所述两个用户节点至两个连接。具体地,所述主节点映射用户节点I至连接I,映射用户节点2至连接2。然后,所述主节点映射所述两个连接至所述主节点中的两个表空间。具体地,所述主节点映射连接I至表空间I,映射连接2至表空间2。
[0173]图4b为本发明实施例提供的用于实现点对点数据复制方法的单主机复制拓扑结构的另一实例。如图4b所示,在所述单主机复制拓扑结构中,主节点与用户节点I和用户节点2连接,用户节点I与用户节点2连接,其中,所述主节点包括一个主数据库,所述用户节点I包括一个用户数据库,所述用户节点2包括一个用户数据库。此外,所述主节点用于映射所述两个用户节点至两个连接,如连接I和连接2,然后,所述主节点映射所述两个连接至两个表空间组,也就是说,一个连接被映射至所述主节点中的一个表空间组,另一个连接被映射至所述主节点中的另一个表空间组,其中,各个表空间组包括多个表空间,如表空间1、表空间2、表空间3。进一步地,所述主节点也可映射所述主节点中两个表空间组之一的表空间至相关用户节点中的任一物理实体,如表空间、页面、设备档案文件、分区、段等。例如,所述主节点映射用户节点I至主节点与用户节点I之间的连接1,映射主节点与用户节点I之间的连接I至主节点中包括表空间1、表空间2、表空间3的第一表空间组,然后再映射所述主节点中的表空间I至用户节点I中的表空间I’,映射所述主节点中的表空间2至用户节点I中的表空间2’,映射所述主节点中的表空间3至用户节点I中的表空间3’。
[0174]图4c为本发明实施例提供的用于实现点对点数据复制方法的单主机复制拓扑结构的另一实例。如图4c所示,在所述单主机复制拓扑结构中,主节点与用户节点I和用户节点2连接,用户节点I与用户节点2连接,其中,所述主节点包括一个主数据库,所述用户节点I包括一个用户数据库,所述用户节点2包括一个用户数据库。此外,所述主节点用于映射所述两个用户节点至两个连接,如连接I和连接2,然后所述主节点映射所述两个连接至所述主节点中的两个表空间组,具体地,所述主节点映射包括表空间I和表空间2的第一表空间组至主节点与用户节点I之间的连接I,映射包括表空间3的第二表空间组至主节点与用户节点2之间的连接2。进一步地,为了实现用户节点I与用户节点2之间的数据复制,还需要分别建立用户节点I与用户节点2之间的连接3和连接4,其中,连接3用于将数据从用户节点2复制到用户节点I,即,连接3也被映射至用户节点2中的表空间3’,具体地,用户节点2用于映射用户节点I至用户节点2与用户节点I之间的连接3,然后用户节点2映射连接3至用户节点2中的一个表空间组,具体地,用户节点2映射表空间3’至用户节点2与用户节点I之间的连接3,并且具体用于将数据从表空间3’(其中的数据与表空间3中的数据相同)复制到表空间6;连接4用于将数据从用户节点I复制到用户节点2,即,连接4也被映射至用户节点I中的表空间I’和表空间2’,具体地,用户节点I用于映射用户节点2至用户节点I与用户节点2之间的连接4,然后用户节点I映射连接4至用户节点I中包括表空间I ’和表空间2 ’的一个表空间组,进一步地,用户节点I中的表空间I’被映射至用户节点2中的表空间4,用户节点I中的表空间2’被映射至用户节点2中的表空间5,并且具体用于将数据从表空间I’和表空间2’(其中的数据与表空间I和表空间2中的数据相同)分别复制到表空间4和表空间5。
[0175]图5示出了图4c所示的单主机复制拓扑结构的配置流程示意图。如图5所示,所述单主机复制拓扑结构的配置流程可包括:
[0176]501.配置主节点并创建数据库;
[0177]502.在所述主节点中创建不同的表空间,例如,创建三个表空间;
[0178]503.配置用户节点I;
[0179]504.创建所述主节点与用户节点I之间的连接,以下简称为Connl;因此,连接I的创建如图4c所示;
[0180]505.配置所述主节点中的关系,
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1