点对点数据复制方法、设备和系统以及主节点切换方法、设备和系统技术方案

技术编号:14563417 阅读:77 留言:0更新日期:2017-02-05 20:18
本发明专利技术公开了一种点对点数据复制方法、设备和系统,以及主节点切换方法、设备和系统。所述点对点数据复制方法包括:当主节点第一物理实体上发生第一写操作时,生成附带CSN的第一提交重做记录,其中,所述主节点预设有所述第一物理实体和第二物理实体,并且与第一用户节点和第二用户节点相连接;基于物理实体与用户节点之间的映射关系推送所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,其中,通过所述第一用户节点推送接收到的第一提交重做记录至所述第二用户节点,所述第一提交重做记录用于将所述第一写操作的数据从所述主节点复制到所述第一用户节点,然后再复制到所述第二用户节点。本发明专利技术能缓解复制集群中主节点的复制瓶颈问题。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机
,尤其涉及点对点数据复制方法、设备和系统以及主节点切换方法、设备和系统
技术介绍
在许多电信和企业的应用程序中,常规做法是单主机RDBMS(关系数据库管理系统)复制。有一个节点充当主节点,在该节点上进行写入。然后,通过复制这些物理写入或复制结构化查询语言(SQL)语句(即,逻辑写入),将这些写入同步至一个或多个用户。图1为现有技术中的单主机复制拓扑结构。如图1所示,应用程序连接到所述主数据库(主节点)。允许该应用程序通过SQL语句(数据操纵语言(DML)或数据定义语言(DDL))在所述数据库上写入。一旦写入成功,所述主数据库复制数据至用户数据库1和2。所述复制可由物理复制或逻辑复制完成,并可以是异步或同步的。图2为根据图1所示的单主机复制拓扑结构进行的复制的一种标准实现方式的示意图。如图2所示,所述应用程序推送DML/DDL语句至所述主数据库S201,所述主数据库解析所述DML/DDL语句S202,然后再执行所述DML/DDL语句S203,结果产生数据库中的物理写入S204。所述物理写入可以位于所述主节点的内存页上,或者可以是所述主数据库的存储盘中的直接输入/输出(I/O)写入。一旦该写入成功,所述主数据库判断是否需要复制正在被写入的数据至任何连接所述主数据库的用户数据库S205,如果否,所述主数据库结束复制S206;如果是,所述主数据库发送重做实体至每个连接所述主数据库的用户数据库,以复制正在被写入的数据至所述用户数据库S207,其中,所述数据复制流程与上述写操作流程类似,并且传送的是所述SQL语句,而非物理重做。上述现有技术存在单个网络瓶颈的重大缺点。主节点成为整个方案的瓶颈。根据图1所示的单主机复制拓扑结构,所述主数据库不得不复制同一数据两次,因此导致网络负荷翻倍。
技术实现思路
本专利技术实施例提供了点对点数据复制方法、设备和系统,以及主节点切换方法、设备和系统,通过在点对点模式中进行分布式复制来缓解复制集群中主节点的复制瓶颈问题。本专利技术实施例采用以下技术方案。本专利技术的第一方面提供了一种点对点数据复制方法,包括:当主节点第一物理实体上发生第一写操作时,所述主节点生成附带提交序号(CSN)的第一提交重做记录,其中,所述主节点预设有包括所述第一物理实体和第二物理实体在内的至少两个物理实体,并且所述主节点与包括第一用户节点和第二用户节点在内的至少两个用户节点相连接,所述第一提交重做记录附带的CSN用于指示所述主节点中所述第一写操作的顺序;所述主节点基于物理实体与用户节点之间的映射关系推送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,其中,通过所述第一用户节点推送接收到的第一提交重做记录至所述第二用户节点,所述第一提交重做记录用于将所述第一写操作的数据从所述主节点复制到与所述第一物理实体对应的所述第一用户节点,然后再复制到所述第二用户节点。在本专利技术第一方面的第一实现方式中,所述物理实体为表空间、设备档案文件、页面和/或分区。在本专利技术第一方面的第二实现方式中,所述物理实体与用户节点之间的映射关系由所述主节点通过以下方式建立:将不同的用户节点映射至所述主节点与用户节点之间的不同连接,并将不同的连接映射至所述主节点中的不同物理实体组,其中,各物理实体组包括一个或多个物理实体;所述主节点基于物理实体与用户节点之间的映射关系推送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,包括:所述主节点基于所述第一物理实体与所述第一用户节点之间的映射关系并通过所述主节点与所述第一用户节点之间的连接,推送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的第一用户节点。在本专利技术第一方面的第三实现方式中,所述物理实体与用户节点之间的映射关系由所述主节点通过以下方式建立:将不同的用户节点映射至所述主节点与用户节点之间的不同连接,并将不同的连接映射至所述主节点中的不同物理实体组,其中,所述主节点中的各物理实体组包括多个物理实体,同时还将所述主节点中一个物理实体组的不同物理实体映射至与该物理实体组对应的用户节点中的不同物理实体;所述主节点基于物理实体与用户节点之间的映射关系推送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,包括:基于所述主节点中的所述第一物理实体所属的物理实体组与所述第一用户节点之间的映射关系,以及所述第一物理实体与第三物理实体之间的映射关系,并且通过所述主节点与所述第一用户节点之间的连接,所述主节点推送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的所述第三物理实体,其中,所述第一用户节点预设有包括所述第三物理实体和第四物理实体在内的至少两个物理实体。在本专利技术第一方面的第四实现方式中,当新的用户节点与所述主节点连接时,还包括:在重配置所述主节点中的物理实体,以及所述物理实体与包括所述新的用户节点在内的所述用户节点之间的映射关系后,所述主节点将提交重做记录同步至所述新的用户节点。在本专利技术第一方面的第五实现方式中,所述第一提交记录基于发生相关写操作的物理实体与第二提交记录相分离,所述第二提交记录由所述主节点在第二写操作发生在第二物理实体上时生成。在本专利技术第一方面的第六实现方式中,所述主节点分别并行推送所述第一提交记录和所述第二提交记录至所述第一用户节点和所述第二用户节点,以使所述第一提交记录和所述第二提交记录由所述第一用户节点和第二用户节点分别并行重播;其中,通过所述第二用户节点将接收到的第二提交重做记录推送至所述第一用户节点,所述第二提交重做记录用于将所述第二写操作的数据从所述主节点复制到与所述第二物理实体对应的第二用户节点,然后再复制到所述第一用户节点。本专利技术的第二方面提供了一种点对点数据复制方法,包括:用户节点从主节点接收附带提交序号(CSN)的提交重做记录,其中,所述提交重做记录附带的CSN用于指示所述主节点中写操作的顺序;当所述提交重做记录附带的CSN减去所述用户节点的CSN的绝对值为1时,更新所述用户节点的CSN至所述提交重做记录附带的CSN,其中,所述用户节点的CSN在初始化过程中设置为0;所述用户节点重播所述提交重做记录,以将发生在主节点上的写操作的数据从所述主节点复制到所述用户节点,其中,所述用户节点与所述主节点相连接,本文档来自技高网
...
点对点数据复制方法、设备和系统以及主节点切换方法、设备和系统

【技术保护点】
一种点对点数据复制方法,其特征在于,包括:当主节点第一物理实体上发生第一写操作时,所述主节点生成附带提交序号(CSN)的第一提交重做记录,其中,所述主节点预设有包括所述第一物理实体和第二物理实体在内的至少两个物理实体,并且所述主节点与包括第一用户节点和第二用户节点在内的至少两个用户节点相连接,所述第一提交重做记录附带的CSN用于指示所述主节点中所述第一写操作的顺序;所述主节点基于物理实体与用户节点之间的映射关系推送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,其中,通过所述第一用户节点推送接收到的第一提交重做记录至所述第二用户节点,所述第一提交重做记录用于将所述第一写操作的数据从所述主节点复制到与所述第一物理实体对应的所述第一用户节点,然后再复制到所述第二用户节点。

【技术特征摘要】
【国外来华专利技术】2014.05.05 IN 2253/CHE/20141.一种点对点数据复制方法,其特征在于,包括:
当主节点第一物理实体上发生第一写操作时,所述主节点生成附带提交
序号(CSN)的第一提交重做记录,其中,所述主节点预设有包括所述第一
物理实体和第二物理实体在内的至少两个物理实体,并且所述主节点与包括
第一用户节点和第二用户节点在内的至少两个用户节点相连接,所述第一提
交重做记录附带的CSN用于指示所述主节点中所述第一写操作的顺序;
所述主节点基于物理实体与用户节点之间的映射关系推送附带CSN的
所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,其中,
通过所述第一用户节点推送接收到的第一提交重做记录至所述第二用户节点,
所述第一提交重做记录用于将所述第一写操作的数据从所述主节点复制到与
所述第一物理实体对应的所述第一用户节点,然后再复制到所述第二用户节
点。
2.根据权利要求1所述的方法,其特征在于,所述物理实体为表空间
、设备文件、页面和/或分区。
3.根据权利要求1或2所述的方法,其特征在于,
所述物理实体与用户节点之间的映射关系由所述主节点通过以下方式建
立:将不同的用户节点映射至所述主节点与用户节点之间的不同连接,并将
不同的连接映射至所述主节点中的不同物理实体组,其中,各物理实体组包
括一个或多个物理实体;
所述主节点基于物理实体与用户节点之间的映射关系推送附带CSN的
所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,包括:
所述主节点基于所述第一物理实体与所述第一用户节点之间的映射关系
并通过所述主节点与所述第一用户节点之间的连接,推送附带CSN的所述
第一提交重做记录至与所述第一物理实体对应的第一用户节点。
4.根据权利要求1或2所述的方法,其特征在于,所述物理实体与用

\t户节点之间的映射关系由所述主节点通过以下方式建立:将不同的用户节点
映射至所述主节点与用户节点之间的不同连接,并将不同的连接映射至所述
主节点中的不同物理实体组,其中,所述主节点中的各物理实体组包括多个
物理实体,同时还将所述主节点中一个物理实体组的不同物理实体映射至与
该物理实体组对应的用户节点中的不同物理实体;
所述主节点基于物理实体与用户节点之间的映射关系推送附带CSN的
所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,包括:
基于所述主节点中的所述第一物理实体所属的物理实体组与所述第一用
户节点之间的映射关系,以及所述第一物理实体与第三物理实体之间的映射
关系,并且通过所述主节点与所述第一用户节点之间的连接,所述主节点推
送附带CSN的所述第一提交重做记录至与所述第一物理实体对应的所述第
三物理实体,其中,所述第一用户节点预设有包括所述第三物理实体和第四
物理实体在内的至少两个物理实体。
5.根据权利要求1或2所述的方法,其特征在于,当新的用户节点与
所述主节点连接时,还包括:
在重配置所述主节点中的物理实体,以及所述物理实体与包括所述新的
用户节点在内的所述用户节点之间的映射关系后,所述主节点将提交重做记
录同步至所述新的用户节点。
6.根据权利要求1或2所述的方法,其特征在于,所述第一提交记录
基于发生相关写操作的物理实体与第二提交记录相分离,所述第二提交记录
由所述主节点在第二写操作发生在第二物理实体上时生成。
7.根据权利要求6所述的方法,其特征在于,所述主节点分别并行推
送所述第一提交记录和所述第二提交记录至所述第一用户节点和所述第二用
户节点,以使所述第一提交记录和所述第二提交记录由所述第一用户节点和
第二用户节点分别并行重播;其中,通过所述第二用户节点将接收到的第二
提交重做记录推送至所述第一用户节点,所述第二提交重做记录用于将所述

\t第二写操作的数据从所述主节点复制到与所述第二物理实体对应的第二用户
节点,然后再复制到所述第一用户节点。
8.一种点对点数据复制方法,其特征在于,包括:
用户节点从主节点接收附带提交序号(CSN)的提交重做记录,其中,
所述提交重做记录附带的CSN用于指示所述主节点中写操作的顺序;
当所述提交重做记录附带的CSN减去所述用户节点的CSN的绝对值为
1时,更新所述用户节点的CSN至所述提交重做记录附带的CSN,其中,
所述用户节点的CSN在初始化过程中设置为0;
所述用户节点重播所述提交重做记录,以将发生在主节点上的写操作的
数据从所述主节点复制到所述用户节点,其中,所述用户节点与所述主节点
相连接,并且其他用户节点与所述主节点相连接;
所述用户节点推送所述提交重做记录至所述其他用户节点,以将发生在
所述主节点上的所述写操作的数据复制到其他用户。
9.根据权利要求8所述的方法,其特征在于,还包括:
当接收到的提交重做记录附带的CSN减去所述用户节点的CSN的绝对
值不为1时,所述用户节点保存接收到的提交重做记录并且等待另一提交重
做记录;
在所述用户节点的CSN更新至某个值,使得接收到的提交重做记录附
带的CSN减去所述用户节点更新后的CSN的绝对值为1后,所述用户节点
重播所述提交重做记录,以将发生在所述主节点上的所述写操作的数据从所
述主节点复制到所述用户节点。
10.根据权利要求8所述的方法,其特征在于,还包括:
在所述主节点宕机并且所述用户节点被选为新的主节点后,所述用户节
点传输拉取请求至所有其他用户节点,以获取所述其他用户节点中的发生在
所述主节点上的所述写操作的所有数据,所述所有数据通过重播所述提交重
做记录获得;
所述充当新的主节点的用户节点重新分配所述新的主节点中的物理实体
与除所述用户节点外的所述其他用户节点之间的映射关系。
11.根据权利要求8所述的方法,其特征在于,还包括:
在前主节点宕机并且另一用户节点被选为新的主节点后,所述用户节点
将所述用户节点中的发生在所述前主节点上的所述写操作的数据传输至充当
新的主节点的用户节点,以响应所述新的主节点传输的拉取请求。
12.一种主节点切换方法,包括:
当主节点宕机时,至少两个用户节点中的一个用户节点在所述用户节点
与其他用户节点之间进行数据同步,直到完成所述数据同步或达到所述数据
同步的预配置时间段,其中,所述多个用户节点和所述主节点在同一集群中;
基于用户节点的最大提交序号(CSN)从多个用户节点中选择所述用户
节点作为新的主节点后,所述充当新的主节点的用户节点传输拉取请求至未
被选为新的主节点的其余用户节点;
所述充当新的主节点的用户节点从未被选为新的主节点的其余用户节点
中接收数据。
13.根据权利要求12所述的方法,其特征在于,还包括:
所述充当新的主节点的用户节点建立所述新的主节点中的物理实体与除
所述用户节点外的其他用户节点之间的映射关系;
当所述新的主节点中的物理实体上发生写操作时,所述充当新的主节点
的用户节点根据所述映射关系在所述新的主节点与未被选为新的主节点的其
他用户节点之间进行点对点数据复制。
14.一种主节点切换方法,包括:
当主节点宕机时,至少两个用户节点中的一个用户节点在所述用户节点
与其他用户节点之间进行数据同步,直到完成所述数据同步或达到所述数据
同步的预配置时间段,其中,所述多个用户节点和所述主节点在同一集群中;
所述用户节点与其他用户节点一起基于用户节点的最大提交序号(CSN)

\t从多个用户节点中选择一个用户节点作为新的主节点;
未被选为新的主节点的用户节点接收新的主节点下发的拉取请求;
未被选为新的主节点的用户节点将所述用户节点中的数据传输至新的主
节点,以响应所述新的主节点传输的所述拉取请求。
15.一种点对点数据复制设备,其特征在于,所述设备位于主节点上,
所述设备包括:
生成单元,用于当所述主节点第一物理实体上发生第一写操作时,生成
附带提交序号(CSN)的第一提交重做记录,其中,所述主节点预设有包括
所述第一物理实体和第二物理实体在内的至少两个物理实体,并且所述主节
点与包括第一用户节点和第二用户节点在内的至少两个用户节点相连接,所
述第一提交重做记录附带的CSN用于指示所述主节点中所述第一写操作的
顺序;
复制单元,用于基于物理实体与用户节点之间的映射关系推送附带
CSN的所述第一提交重做记录至与所述第一物理实体对应的第一用户节点,
其中,通过所述第一用户节点推送接收到的第一提交重做记录至所述第二用
户节点,所述第一提交重做记录用于将所述第一写操作的数据从所述主节点
复制到与所述第一物理实体对应的所述第一用户节点,然后再复制到所述第
二用户节点。
16.根据权利要求15所述的点对点数据复制设备,其特征在于,所述
物理实体为表空间、设备档案文件、页面和/或分区。
17.根据权利要求15或16所述的点对点数据复制设备,还包括:
第一映射单元,用于通过以下方式建立物理实体与用户节点之间的映射
关系:将不同的用户节点映射至所述主节点与用户节点之间的不同连接,并
将不同的连接映射至所述主节点中的不同物理实体组,其中,各物理实体组
包括一个或多个物理实体;
所述复制单元具体用于,基于所述第一物理实体与所述第一用户节点之

\t间的映射关系并且通过所述主节点与所述第一用户节点之间的连接,推送附
带CSN的所述第一提交重做记录至与所述第一物理实体对应的第一用户节
点,其中,通过所述第一用户节点推送接收到的第一提交重做记录至所述第
二用户节点,所述第一提交重做记录用于将所述第一写操作的数据从所述主
节点复制到与所述第一物理实体对应的所述第一用户节点,然后再复制到所
述第二用户节点。
18.根据权利要求15或16所述的点对点数据复制设备,还包括:
第二映射单元,用于通过以下方式建立物理实体与用户节点之间的映射
关系:将不同的用户节点映射至所述主节点与用户节点之间的不同连接,并
将不同的连接映射至所述主节点中的不同物理实体组,其中,所述主节点中
的各物理实体组包括多个物理实体,同时还将所述主节点中一个物理实体组
的不同物理实体映射至与该物理实体组对应的用户节点中的不同物理实体;
所述复制单元具体用于,基于所述主节点中的所述第一物理实体所属的
物理实体组与所述第一用户节点之间的映射关系,以及所述第一物理实体与
第三物理实体之间的映射关系,并且通过所述主节点与所述第一用户节点之
间的连接,推送附带CSN的所述第一提交重做记录至与所述第一物理实体
对应的所述第三物理实体,其中,所述第一用户节点预设有包括所述第三物
理实体和第四物理实体在内的至少两个物理实体;其中,通过所述第一用户
节点推送接收到的第一提交重做记录至所述第二用户节点,所述第一提交重
做记录用于将所述第一写操作的数据从所述主节点复制到与所述第一物理实
体对应的所述第一用户节点,然后再复制到所述第二用户节点。
19.根据权利要求15或16所述的点对点数据复制设备,其特征在于,
所述复制单元还用于,当新的用户节点与所述主节点连接时,在重配置所述
主节点中的物理实体,以及所述物理实体与包括所述新的用户节点在内的所
述用户节点之间的映射关系后,将提交重做记录同步至所述新的用户节点。
20.根据权利要求15或16所述的点对点数据复制设备,其特征在于,

\t所述第一提交记录基于发生相关写操作的物理实体与第二提交记录相分离,
所述第二提交记录由所述设备在第二写操作发生在第二物理实体上时生成。
21.根据权利要求20所述的点对点数据复制设备,其特征在于,所述
复制单元分别并行推送所述第一提交记录和所述第二提交记录至所述第一用
户节点和所述第二用户节点,以使所述第一提交记录和所述第二提交记录由
所述第一用户节点和第二用户节点分别并行重播;其中,通过所述第二用户
节点将接收到的第二提交重做记录推送至所述第一用户节点,所述第二提交
重做记录用于将所述第二写操作的数据从所述主节点复制到与所述第二物理
实体对应的第二用户节点,然后再复制到所述第一用户节点。
22.一种点对点数据复制设备,其特征在于,所述设备位于用户节点上,
所述设备包括:
接收单元,用于从主节点接收附带提交序号(CSN)的提交重做记录,
其中,所述提交重做记录附带...

【专利技术属性】
技术研发人员:普拉森纳·文卡特斯·拉玛穆尔蒂万斯·克里斯纳
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1