一种数据同步处理方法及系统技术方案

技术编号:11252165 阅读:60 留言:0更新日期:2015-04-02 01:22
本发明专利技术提供一种数据同步处理方法及系统,上述方法包括以下步骤:触发数据同步事件发生时,获取位图中置位数之和,若不为零,则遍历所述位图中被置为1的节点;将所述节点的信息插入红黑树的叶子节点,进行同步数据传输;其中,所述红黑树是指自平衡二叉查找树,本发明专利技术实现了数据的快速、准确的同步,同时避免了同步时由写冲突导致的数据不一致的问题,而且红黑树的实现方式,有着很高的插入删除效率,并且有着良好的最坏时间复杂度。

【技术实现步骤摘要】
一种数据同步处理方法及系统
本专利技术属于数据同步领域,尤其涉及一种数据同步处理方法及系统。
技术介绍
容灾系统是指在相隔较远的异地,建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换,当一处系统因意外(如火灾、地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作;容灾技术是系统的高可用性技术的一个组成部分,容灾系统更加强调处理外界环境对系统的影响,特别是灾难性事件对整个IT节点的影响,提供节点级别的系统恢复功能。远程复制是数据保护的重要组成部分,提供主站点失效时的数据保护功能;远程复制提供一个连续的,非破坏性的,主机独立的解决方案以应对灾难恢复,数据备份或者远距离数据迁移,通过灵活的部署同步或异步复制来满足用户对成本,性能和数据可用性的不同需求。利用存储系统强大的远程复制功能,可以让不同站点间的存储池或整个系统进行数据拷贝,当本地系统故障或者事故发生而导致源卷数据损坏时,用户可以借助于基于磁盘的远程复制卷在几分钟内恢复服务,如果本地故障恢复时用户想把存储应用切换回来,可以快速在两个卷之间实现反向同步。当主机和备机出现故障,或者网络出现问题时,会导致主备两端数据不一致,当问题修复时,需要进行数据再同步,以达到两端数据一致的目的,因此如何提供一种提高数据再同步准确性和效率性的方案,是亟需解决的问题。
技术实现思路
本专利技术提供一种数据同步处理方法及系统,以解决上述问题。本专利技术提供一种数据同步处理方法,包括以下步骤:触发数据同步事件发生时,获取位图中置位数之和,若不为零,则遍历所述位图中被置为1的节点;将所述节点的信息插入红黑树的叶子节点,进行同步数据传输;其中,所述红黑树是指自平衡二叉查找树。本专利技术还提供一种数据同步处理系统,包括触发遍历模块、同步模块;其中,所述触发遍历模块与所述同步模块相连;所述触发遍历模块,用于触发数据同步事件发生时,获取位图中置位数之和,若不为零,则遍历所述位图中被置为1的节点并将所述节点的信息发送至所述同步模块;所述同步模块,用于将所述节点的信息插入红黑树的叶子节点,进行同步数据传输;其中,所述红黑树是指自平衡二叉查找树。相较于先前技术,根据本专利技术提供的本专利技术提供一种数据同步处理方法及系统,实现了数据的快速、准确的同步,同时避免了同步时由写冲突导致的数据不一致的问题,而且红黑树的实现方式,有着很高的插入删除效率,并且有着良好的最坏时间复杂度。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1所示为本专利技术实施例1的数据同步处理方法流程图;图2所示为本专利技术实施例2的位图数据信息在元数据管理中心线性存储的方式图;图3所示为本专利技术实施例3的位图树方式存储至元数据管理中心的示意图;图4所示为本专利技术实施例4的数据同步处理系统结构图。具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1所示为本专利技术实施例1的数据同步处理方法流程图,包括以下步骤:步骤101:触发数据同步事件发生时,获取位图中置位数之和,若不为零,则遍历所述位图中被置为1的节点;触发数据同步事件是指链路故障恢复。位图中的一个节点即bit位,标记一块预设大小(例如:4KB)的数据块。若所述bit位“置1”,则该bit位表示的数据块在本端与远端之间链路异常后被修改过;若该bit位“置0”,则表示本端与远端数据一致。位图数据信息以页为单位,存储至内存。例如:页大小为4KB空间,一个页可以存储2^15个bit,可以描述128M数据。链路故障时,将内存中的位图数据信息以页为单位按序线性存储至元数据管理中心;链路恢复时,从所述元数据管理中心中以页为单位读取所述位图数据信息至内存页。链路故障时,将内存中的位图数据信息以位图树的方式存储至元数据管理中心;链路恢复时,所述元数据管理中心中读取所述位图数据信息至内存页。所述位图树包括主节点、一个或多个一级节点、一个或多个二级节点;所述主节点分别与一个或多个一级节点相连;所述一级节点分别与对应的二级节点相连。主节点存储一级节点与其元数据逻辑块的对应关系,一级节点存储二级节点与其元数据逻辑块的对应关系,二级节点存储所述位图数据信息。位图数据信息在元数据管理中心有两种方式存储:一种是线性存储,所有的位图页按顺序存储至元数据管理中心,操作简单,占用元数据空间少,但可扩展性差。当数据量增大时,位图数据信息相应需要扩大,当有多个位图数据信息连续存储时,线性存储的元数据管理中心无法扩容,只能重新申请元数据空间,并把位图数据信息拷贝到新申请的位置,这样往往会造成元数据空间不能得到有效利用。位图数据信息在元数据管理中心线性存储的方式如图2所示,位图数据信息以页为单位进行组织后,按序存储至元数据管理中心。第二种为位图树方式存储至元数据管理中心,如图3所示,包括主节点、一级节点、二级节点;其中,主节点分别与一个或多个一级节点相连,一级节点与对应的二级节点相连。获取第一个数据块的位图数据信息的方法如下:步骤1:主节点从其元数据逻辑块5中获取一级节点1的信息,其中,主节点存储一级节点与其元数据逻辑块的对应关系;步骤2:一级节点1从其元数据逻辑块7中获取二级节点1的信息,其中,一级节点存储二级节点与其元数据逻辑块的对应关系;步骤3:二级节点1查找第一个数据块对应的元数据逻辑块9,然后读取元数据逻辑块9,获取位图数据信息。以位图树的方式存储位图数据信息需要额外元数据空间来存储节点信息,优点在于方便扩展,当扩展时只需要分配新的元数据逻辑块并修改节点信息;在创建远程复制时需要检查位图元数据空间是否充足,如果元数据空间不足则创建远程复制失败,并返回元数据空间不足的提示。步骤102:将所述节点的信息插入红黑树的叶子节点,进行同步数据传输;其中,所述红黑树是指自平衡二叉查找树。将所述节点的信息插入红黑树的叶子节点之前,还包括:通过比较当前操作信息与红黑树中的节点信息,确认不存在写冲突操作。若存在写冲突操作,则跳过所述节点。若同步成功,则删除红黑树中节点信息,将位图中对应bit位“置0”;若未同步成功,则删除红黑树中节点信息,跳过所述节点。采用红黑树来保存正在处理的磁盘块信息,红黑树是一种自平衡二叉查找树,它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的,并且空间复杂度上要小于散列表;虽然AVL树和红黑树很类似,但是AVL树的删除和插入操作需要多次旋转操作及不断向根节点回溯,所以在大量删除和插入操作的情况下,AVL树的操作效率不高;红黑树是一种查找效率仅次于AVL树的不完全平衡二叉树,它能够以O(logn)的时间复杂度进行插入、删除操作,而且它的插入和删除最多需要两次或者三次旋转即可保持树的平衡。虽然二者的算法复杂度相同,但在最坏情况下,红黑树提供一种快实时的删除和插入一个节点的算法,显然红黑树的高效操作更适合。红黑树的叶子节点保存当前写磁盘操作的起始位置和大小,当写磁盘操作或再同步操作进入远程复制流程中时,将信息插入红黑树节点;操作返回时,将节点从红黑树删除。检测是否有本文档来自技高网...
一种数据同步处理方法及系统

【技术保护点】
一种数据同步处理方法,其特征在于,包括以下步骤:触发数据同步事件发生时,获取位图中置位数之和,若不为零,则遍历所述位图中被置为1的节点;将所述节点的信息插入红黑树的叶子节点,进行同步数据传输;其中,所述红黑树是指自平衡二叉查找树。

【技术特征摘要】
1.一种数据同步处理方法,其特征在于,包括以下步骤:触发数据同步事件发生时,获取位图中置位数之和,若不为零,则遍历所述位图中被置为1的节点;将所述节点的信息插入红黑树的叶子节点,进行同步数据传输;其中,所述红黑树是指自平衡二叉查找树,红黑树的叶子节点保存当前写磁盘操作的起始位置和大小,当写磁盘操作或再同步操作进入远程复制流程中时,将信息插入红黑树节点,操作返回时,将节点从红黑树删除。2.根据权利要求1所述的方法,其特征在于,触发数据同步事件是指链路故障恢复。3.根据权利要求1所述的方法,其特征在于,位图中的一个节点即bit位,标记一块预设大小的数据块,若所述bit位“置1”,则该bit位表示的数据块在本端与远端之间链路异常后被修改过;若所述bit位“置0”,则表示本端与远端数据一致。4.根据权利要求1所述的方法,其特征在于,位图数据信息以页为单位,存储至内存。5.根据权利要求4所述的方法,其特征在于,链路故障时,将内存中的位图数据信息以页为单位按序线性存储至元数据管理中心;链路恢复时,从所述元数据管理中心中以页为单位读取所述位图数据信息至内存页。6.根据权利要求4所述的方法,其特征在于,链路故障时,将内存中的位图数据信息以位图树的方式存储至元数据管理中心;链路恢...

【专利技术属性】
技术研发人员:孟宪伟张在理王倩
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1