实现数据的异步复制到同步复制的转换方法和系统技术方案

技术编号:3544528 阅读:528 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种实现数据的异步复制到同步复制的转换方法和系统,所述方法的主要步骤:备用节点的异步复制单元接收到异步复制要求,向源节点的异步复制单元发出异步复制请求;源节点提交日志到备用节点,实时判断其提交的日志和已同步到备用节点的异步复制日志的偏差是否满足系统指定的范围,若是,备用节点的同步复制单元接收到同步复制要求,向主用节点的同步复制单元请求进行同步复制,否则,继续提交日志到备用节点;主用节点启动同步复制;备用节点接收到同步复制消息后,将同步来的日志缓存到追赶日志缓冲区。本发明专利技术加快了备用节点和主用节点的数据同步,减少了主备交互的过程,大大降低主用节点的负荷,维护系统的可靠性。

【技术实现步骤摘要】

本专利技术涉及数据库系统领域,具体涉及多数据库间数据的复制,尤其是数据的异步复制到同步复制的转换方法和系统。
技术介绍
目前,为了提高数据库系统的可靠性,通常采用冗余备份的方式,即同时运行两个或两个以上包含相同内容的数据库节点来提高系统抗风险的能力,这样数据在多个节点内部的复制则是整个系统可靠工作的前提。一般而言数据复制有同步和异步之分,同步复制保证各个节点的数据完全一致,异步复制则允许备用节点和主用节点间数据存在一定内容上的偏差。由于存在异常情况,平时进行同步复制的节点也会转换到采用异步复制的状态,然后根据情况再转换为同步复制状态。在专利CN1555530A中描述了一种复制协议,当主/备用节点出现数据不同步的情况下,依靠主用节点向备用节点间不停的心跳消息传递数据的版本信息,备用节点根据主用节点版本和备用节点版本进行比较,如果出现偏差则进行增量复制,同时备用节点也在接收主用节点不停的系统变化数据复制请求(可以是两阶段提交或单阶段提交等协议)。当增量复制的结果满足同步数据复制条件,则不再进行增量复制,开始正常的变化数据复制过程。然而上述复制协议在异步复制过程中,同步复制的消息不停止(变化数据的复制消息),备用节点始终处于一个变化的追赶状态,消息交互多,且流程复杂,当主用节点的数据变化非常快的时候,主/备用数据到达一致的时间比较长。-->并且如果一个分布式系统是多个备用节点的时候,每个备用节点的异步复制仍然需要通过主用节点,会引起主用节点的负荷增加,严重威胁系统的可靠性。
技术实现思路
本专利技术的目的是,提出一种实现数据的异步复制到同步复制的转换方法和系统,用以解决现有技术中数据库间数据的异步复制向同步复制转换的过程中,交互过多,流程复杂使系统可靠性大大降低的问题。为了实现上述专利技术目的,本专利技术具体是这样实现的:实现数据的异步复制到同步复制的转换方法包括,步骤1,备用节点的异步复制单元接收到异步复制要求,向源节点的异步复制单元发出异步复制请求;步骤2,源节点提交日志到备用节点,实时判断其提交的日志和已同步到备用节点的异步复制日志的偏差是否满足系统指定的范围,若是,则触发备用节点同步复制,转入步骤3,否则,继续提交日志到备用节点;步骤3,备用节点的同步复制单元接收到同步复制要求,向主用节点的同步复制单元请求进行同步复制;步骤4,主用节点启动同步复制;步骤5,备用节点接收到同步复制消息后,将同步来的日志缓存到追赶日志缓冲区。在所述的实现数据的异步复制到同步复制的转换方法的步骤1前增加如下步骤:主用节点发现主/备用节点间存在日志偏差,判断该偏差是否满足系统指定的范围,若满足,向备用节点的异步复制单元发出异步复制要求,同时向备用节点的同步复制单元发出同步复制要求,然后跳转步骤3;否则,只向备用节点的异步复制单元发出异步复制要求。在所述的实现数据的异步复制到同步复制的转换方法中的所述备用节点的-->异步复制单元接收到的异步复制要求,是主用节点的启动单元通过备用节点的启动单元发送的,或者是主用节点的心跳检测单元通过备用节点的心跳检测单元发送的。在所述的实现数据的异步复制到同步复制的转换方法中的所述步骤2中触发备用节点的同步复制是这样实现的:备用节点的异步复制单元接收到源节点的异步复制单元发出的同步复制要求后,向其同步复制单元发出同步复制要求。在所述的实现数据的异步复制到同步复制的转换方法中,所述备用节点的同步复制单元接收到的同步复制要求,是主用节点的启动单元通过备用节点的启动单元发送的,或者是主用节点的心跳检测单元通过备用节点的心跳检测单元发送的。在所述的实现数据的异步复制到同步复制的转换方法中,所述步骤4中主用节点启动同步复制是指,主用节点的同步复制单元向备用节点的同步复制单元发送同步复制开始的日志编号;所述备用节点的同步复制单元将接收到的同步复制开始的日志编号通知其异步复制单元,作为异步复制的结束条件。在所述的实现数据的异步复制到同步复制的转换方法中,所述备用节点的异步复制单元收到其同步复制单元发送的异步复制结束条件后通知源节点的异步复制单元异步复制结束。在所述的实现数据的异步复制到同步复制的转换方法中,所述备用节点的同步复制单元收到其异步复制单元发送的同步复制结束通知,将缓存的主用节点发送来的同步复制日志全部提交到数据库单元,然后通知系统控制单元同步复制完成。实现数据的异步复制到同步复制的转换系统,包括通过网络互相连接的主用节点和备用节点,在所述主用节点和备用节点上设置的,用于对其所在节点在内存和硬盘上-->的数据进行管理的数据库管理单元;用于对其所在节点上产生的日志进行管理的日志管理单元;负责主用节点和备用节点间数据的同步复制交互的同步复制单元;负责其所在节点与系统内其它节点间数据的异步复制交互的异步复制单元;负责其所在节点启动的启动单元;负责其所在节点和系统内其他节点间的心跳消息维护的心跳检测单元;负责控制其所在节点的工作状态的系统控制单元;以及设置在内存,用于存放备用节点上异步复制单元或同步复制单元所接收到的日志的日志缓冲区,和用于存放备用节点的同步复制单元从主用节点的同步复制单元接收的同步复制日志的追赶日志缓冲区。进一步,所述的实现数据的异步复制到同步复制的转换系统,还包括:在硬盘上设置的日志存储区和数据存储区,所述日志存储区和数据存储区均通过I/O通道与主用节点或者备用节点进行连接;所述日志存储区用于对存放在日志缓冲区中的主用节点或者备用节点上发生变化的日志进行存储;所述数据存储区用于对主用节点或者备用节点上的数据进行存储。本专利技术将数据的异步复制和同步复制流程分离,而且在进行数据同步复制时,备用节点的同步复制单元在收到正常的同步复制消息后,将得到的同步日志缓存到追赶日志缓冲区,不提交到数据库,提高了系统数据同步复制的效率,加快了备用节点和主用节点的数据同步,使得备用节点能更快的对外提供应用服务;由于备用节点异步复制可以不依赖于主用节点,而是通过集群内其他任意一个正常工作的节点进行,减少了主备交互的过程,大大降低主用节点的负荷,维护系统的可靠性。附图说明图1为实现本专利技术一实施例的集群分布示意图;图2为实现数据的异步复制到同步复制的转换系统结构框图;-->图3为备用节点启动追赶复制流程;图4为备用节点启动异步复制流程;图5为主用节点的心跳检测单元在发现与备用节点通讯中断后的处理流程;图6为失步备用节点通过异步复制进行主/备间数据校正流程;图7为正常工作的备用节点的异步复制处理单元在收到失步备用节点的异步复制请求后的处理流程;图8为失步备用节点的异步复制单元收到同步复制的处理流程;图9为失步备用节点的同步复制单元在收到本节点的异步复制单元的发出的追赶请求后的处理流程;图10为失步备用节点的异步复制单元收到异步复制结束的处理流程;图11为失步备用节点的同步复制单元收到追赶结束的处理流程;图12为主用节点的同步复制单元收到请求追赶的处理流程。具体实施方式本专利技术的主要技术思想是,本专利技术将数据的异步复制和同步复制流程分离,加快了备用节点和主用节点的数据同步,使得备用节点能更快的对外提供应用服务,并且备用节点异步复制可以不依赖于主用节点,而可以通过集群内其他任意一个正常工作的节点进行,这样能够大大降低主本文档来自技高网...

【技术保护点】
实现数据的异步复制到同步复制的转换方法,其特征在于包括, 步骤1,备用节点的异步复制单元接收到异步复制要求,向源节点的异步复制单元发出异步复制请求; 步骤2,源节点提交日志到备用节点,实时判断其提交的日志和已同步到备用节点的异步复制日志的偏差是否满足系统指定的范围,若是,则触发备用节点同步复制,转入步骤3,否则,继续提交日志到备用节点; 步骤3,备用节点的同步复制单元向主用节点的同步复制单元请求进行同步复制; 步骤4,主用节点启动同步复制; 步骤5,备用节点接收到同步复制消息后,将同步来的日志缓存到追赶日志缓冲区。

【技术特征摘要】
1、实现数据的异步复制到同步复制的转换方法,其特征在于包括,步骤1,备用节点的异步复制单元接收到异步复制要求,向源节点的异步复制单元发出异步复制请求;步骤2,源节点提交日志到备用节点,实时判断其提交的日志和已同步到备用节点的异步复制日志的偏差是否满足系统指定的范围,若是,则触发备用节点同步复制,转入步骤3,否则,继续提交日志到备用节点;步骤3,备用节点的同步复制单元向主用节点的同步复制单元请求进行同步复制;步骤4,主用节点启动同步复制;步骤5,备用节点接收到同步复制消息后,将同步来的日志缓存到追赶日志缓冲区。2、如权利要求1所述的实现数据的异步复制到同步复制的转换方法,其特征在于,在所述步骤1前增加如下步骤:主用节点发现主/备用节点间存在日志偏差,判断该偏差是否满足系统指定的范围,若满足,向备用节点的异步复制单元发出异步复制要求,同时向备用节点的同步复制单元发出同步复制要求,然后跳转步骤3;否则,只向备用节点的异步复制单元发出异步复制要求。3、如权利要求1或2所述的实现数据的异步复制到同步复制的转换方法,其特征在于:所述备用节点的异步复制单元接收到的异步复制要求,是主用节点的启动单元通过备用节点的启动单元发送的,或者是主用节点的心跳检测单元通过备用节点的心跳检测单元发送的。4、如权利要求1所述的实现数据的异步复制到同步复制的转换方法,其特征在于:所述步骤2中触发备用节点的同步复制是这样实现的:备用节点的异步复制单元接收到源节点的异步复制单元发出的同步复制要求后,向其同步复制单元发出同步复制要求。5、如权利要求2所述的实现数据的异步复制到同步复制的转换方法,其特征在于:所述备用节点的同步复制单元接收到的同步复制要求,是主用节点的启动单元通过备用节点的启动单元发送的,或者是主用节点的心跳检测单元通过备用节点的心跳检测单元发送的。6、如权利要求1所述的实现数据的异步复制到同步复制的转换方法,其特征在于:所述步骤4中主用节点启动同步复制是指,主用节点的同步复制单元向备用节点...

【专利技术属性】
技术研发人员:肖旸章恩华郑国斌
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1
相关领域技术
  • 暂无相关专利