网络容灾系统的数据传输方法_4

文档序号:9330384阅读:来源:国知局
制结束后,再根据备节点的头指标与主节点的头指标之间的数据生成新的bitmap,并基于新的bitmap开始下一轮的增量复制。因此,这段数据增量同步完成后,备节点的数据就处于完整的状态。当然,这时候增量同步有可能也会导致BWR满,此时中止增量同步,并重新生成bitmap 即可。
[0098]综上所述,本发明在节点之间重新握手时,通过交换各自的元数据信息判断采用何种复制模式进行数据传输,能有效降低主备节点进行全盘复制的概率,减少主备节点的数据传输量,大大的缩短容灾中应用恢复所需要的时间,减少备机数据不完整的时间,降低因为备机数据不完整而造成容灾数据不可用的风险;进一步地,在进行增量同步时,主节点若写入数据并不立马更新数据增量位图,而是等待本轮增量复制结束后,将备节点的头指标与主节点的头指标之间的数据转化为数据增量位图数据后再次进行增量同步,如此,在增量复制完成后备节点数据完整性能得到保障,减少增量复制时对上层应用性能的损失。
[0099]上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的【具体实施方式】,上述的【具体实施方式】仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
【主权项】
1.一种网络容灾系统的数据传输方法,所述容灾系统包括至少两个节点,所述至少两个节点分为一个主节点和至少一个备节点,其特征在于,每个节点存储有元数据信息,所述元数据信息包括该节点上一次进行输出传输过程中涉及到的主节点的信息以及前次写入数据的信息, 所述方法包括: 51、每个备节点与主节点连接握手,并交换各自的元数据信息; 52、针对每个备节点,主节点将自身的元数据信息与该备节点的元数据信息进行比较,确定四种复制模式中的一种实现主节点与该备节点之间的数据传输;其中,所述四种复制模式包括为顺序复制、增量复制、全盘复制、冲突合并。2.根据权利要求1所述的网络容灾系统的数据传输方法,其特征在于,所述元数据信息包括本地主节点信息和前次主节点信息,所述本地主节点信息和前次主节点信息均包括以下字段: uuid,用于唯一标识一个节点的一次变成主节点的过程; id,用于唯一标识当前的主节点; seq,用于记录节点当前写入数据的序列号,且在写入的数据为增量复制中的增量数据时,seq为零。3.根据权利要求2所述的网络容灾系统的数据传输方法,其特征在于, 当一个节点从备节点变成主节点时产生所述本地主节点信息,当一个节点从主节点变成备节点并开始接收其他主节点传输的数据时,将所述本地主节点信息清空; 当一个节点作为备节点并接受其他主节点传输的数据时产生所述前次主节点信息,该前次主节点信息的uuid、id和seq被设置为该其他主节点的本地主节点信息的uuid、id和seq,并在接收到新的数据时更新前次主节点信息的seq的值。4.根据权利要求3所述的网络容灾系统的数据传输方法,其特征在于,所述步骤S2包括: 521、判断备节点的本地主节点信息是否非空,如果不是,则进入步骤S22,如果是,则进入步骤S23 ; 522、如果备节点的本地主节点信息与主节点的前次主节点信息的所有字段均相等,则主节点与备节点之间采用顺序复制;如果备节点的本地主节点信息与主节点的前次主节点信息的UUID和id两个字段相等、或者备节点的前次主节点信息与主节点的本地主节点信息的UUID和id两个字段相等、或者备节点的前次主节点信息与主节点的前次主节点信息的所有字段均相等,则主节点与备节点之间进行冲突合并;其他情况采用全盘复制,结束; 523、如果备节点的前次主节点信息与主节点的本地主节点信息的UUID和id两个字段相等、或者备节点的前次主节点信息与主节点的前次主节点信息的所有字段均相等,则判断备节点的前次主节点信息的seq字段是否为零,如果是,则主节点与备节点之间采用增量复制,如果不是,则主节点与备节点之间采用顺序复制;其他情况采用全盘复制,结束。5.根据权利要求1所述的网络容灾系统的数据传输方法,其特征在于,每个节点均包括后端数据设备和磁盘缓冲队列,所述磁盘缓冲队列用于顺序存储外部写入的数据,并通过写操作将数据写入本地的后端数据设备的数据块,所述磁盘缓冲队列还存储有与各个节点绑定的多个数据增量位图,所述数据增量位图记录有主节点所有写操作的数据块的位置; 所述顺序复制包括:主节点将磁盘缓冲队列中的数据依次发往备节点; 所述增量复制包括:主节点将备节点的数据增量位图中所指定的后端数据设备的数据块的数据发往备节点。6.根据权利要求5所述的网络容灾系统的数据传输方法,其特征在于,所述磁盘缓冲队列中包括Meta区、DBM区和DATA区,所述Meta区存储有所述元数据信息、一个尾指标和与各个节点绑定的多个头指标;所述DBM区存储有所述的多个数据增量位图;所述DATA区包括多个数据块,用于顺序存储外部写入的数据; 所述数据增量位图包括多个bit位,每一个bit位与后端数据设备中的一个数据块对应,如果一个bit位被置为1,则表示该bit位对应的数据块的数据没有备份到相应的备节点,如果一个bit位被置为O,则表示该bit位对应的数据块的数据备份到相应的备节点; 当DATA区的一个数据块写入数据时,所述尾指标前移一位;当DATA区的一个数据块的数据写入到主节点的后端数据设备时,主节点的头指标前移一位。7.根据权利要求6所述的网络容灾系统的数据传输方法,其特征在于,如果主节点在增量复制结束前写入新的数据,则等待本轮增量复制结束后,根据备节点的头指标与主节点的头指标之间的数据生成新的数据增量位图,并基于新的数据增量位图开始下一轮的增量复制。8.根据权利要求7所述的网络容灾系统的数据传输方法,其特征在于,所述的根据备节点的头指标与主节点的头指标之间的数据生成新的数据增量位图包括:在该备节点的数据增量位图中,将备节点的头指标至主节点的头指标之间的数据块所对应的bit位全部置为1,再将备节点的头指标前移至主节点的头指标的位置。9.根据权利要求6所述的网络容灾系统的数据传输方法,其特征在于, 所述顺序复制为:主节点将Meta区所存储的备节点的头指标所对应的DATA区的数据块中的数据发往备节点,且在收到备节点返回的确认信息后将备节点的头指标前移一位,当备节点的头指标与主节点的头指标所指向的数据块相同时,主节点与该备节点之间的顺序复制结束; 所述增量复制为:主节点在DBM区找到备节点的数据增量位图,将数据增量位图中的数值为I的bit位所对应的数据块的数据发送到备节点,并在接收到备节点返回的确认信息后将对应的bit位清零,当数据增量位图的所有bit位全部为O时,主节点与该备节点之间的增量复制结束; 所述全盘复制为:主节点将备节点的数据增量位图的所有的bit位全部置为I ;基于该数据增量位图执行所述增量复制,或者将各个数据块的hash值发送至备节点进行比较,如果hash值相同,贝Ij备节点返回确认信息将对应的bit位清零,如果hash值不同,贝>J备节点通知主节点传输对应的数据块的数据,并在接收到数据时返回确认信息将对应的bit位清零;当数据增量位图的所有bit位全部为O时,主节点与该备节点之间的全盘复制结束; 所述冲突合并为:主节点和备节点分别根据各自的DATA区的数据生成数据增量位图,主节点将双方的数据增量位图进行异或运算产生新的数据增量位图,然后基于新的数据增量位图执行所述增量复制。10.根据权利要求6所述的网络容灾系统的数据传输方法,其特征在于,在顺序复制的过程中,如果尾指标指向最小的头指标所指向的数据块的上一个数据块,则停止对该最小的头指标所对应的备节点的顺序复制,根据该最小的头指标与尾指标之间的数据生成该最小的头指标所对应的备节点的数据增量位图,并将该最小的头指标前移至尾指标的位置,且将主节点与该最小的头指标所对应的备节点的复制模式切换到增量复制。
【专利摘要】一种网络容灾系统的数据传输方法,系统包括一个主节点和至少一个备节点,每个节点存储有元数据信息,元数据信息包括该节点上一次进行输出传输涉及到的主节点的信息以及前次写入数据的信息,方法包括:S1、备节点与主节点连接握手,并交换各自的元数据信息;S2、主节点将自身的元数据信息与该备节点的元数据信息进行比较,确定四种复制模式中的一种实现数据传输。本发明在重新握手时自动判断采用何种复制模式,缩短容灾恢复所需要的时间,进一步地,在增量同步时主节点若写入数据并不立马更新数据增量位图,而是等待本轮增量复制结束后将备节点的头指标与主节点的头指标之间的数据转化为数据增量位图后再次进行增量同步,保证备节点数据完整性。
【IPC分类】H04L12/24, H04L1/22
【公开号】CN105049258
【申请号】CN201510501210
【发明人】李俊
【申请人】深圳市傲冠软件股份有限公司
【公开日】2015年11月11日
【申请日】2015年8月14日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1