CN110413200A - 数据同步的方法、设备和计算机程序产品 - Google Patents

数据同步的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN110413200A
CN110413200A CN201810399269.XA CN201810399269A CN110413200A CN 110413200 A CN110413200 A CN 110413200A CN 201810399269 A CN201810399269 A CN 201810399269A CN 110413200 A CN110413200 A CN 110413200A
Authority
CN
China
Prior art keywords
bitmap
equipment
storage
size
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810399269.XA
Other languages
English (en)
Other versions
CN110413200B (zh
Inventor
杨岳
钟鑫
陈养峰
凌庆华
邵岩
顾远
李建保
韩磊
冯维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810399269.XA priority Critical patent/CN110413200B/zh
Priority to US16/227,683 priority patent/US10853209B2/en
Publication of CN110413200A publication Critical patent/CN110413200A/zh
Application granted granted Critical
Publication of CN110413200B publication Critical patent/CN110413200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例涉及用于数据同步的方法、设备和计算机程序产品。一种方法包括获取关于第一存储设备的第一位图,第一存储设备包括一组存储区域,第一位图中的位指示一组存储区域中具有第一大小的相应存储区域中的数据是否要被同步到第二存储设备。该方法还包括响应于第一存储设备的配置被改变,确定所述一组存储区域中的存储区域的第二大小。该方法还包括基于第一大小和第二大小来将第一位图转换为第二位图。此外,该方法还包括基于第二大小和第二位图,从第一存储设备向第二存储设备同步数据。本公开的实施例能够保证用于数据同步的位图和关于存储区域的大小的信息彼此匹配,由此避免第一存储设备和第二存储设备之间的数据不一致。

Description

数据同步的方法、设备和计算机程序产品
技术领域
本公开的实施例总体涉及数据存储领域,具体涉及用于数据同步的方法、设备和计算机程序产品。
背景技术
在现代存储系统中,出于保护数据的目的,通常会将写入到一个存储设备(以下也称为“源存储设备”)中的数据同步地写入到另一存储设备(以下也称为“目的存储设备”),以实现对该数据的备份。这样的数据备份也被称为从源存储设备向目的存储设备的数据同步。通常可以利用位图来指示源存储设备中的哪些数据要被同步到目的存储设备。例如,位图中的位可以对应于源存储设备上的特定大小的存储区域。当针对源存储设备进行写入时,可以将位图中与要写入的存储区域相对应的至少一位设置为指示该存储区域中的数据需要被同步到目的存储设备。
位图和关于存储区域的大小的信息可以被相关联地存储在特定的持久存储设备上(例如,源存储设备的特定存储区域中)。这样,如果在数据同步期间系统出现故障,可以在故障恢复之后从特定的持久存储设备读取该位图和信息,并且基于它们来继续执行未完成的数据同步。当源存储设备的配置发生改变时(例如,其大小发生改变),位图中的一位所对应的存储区域大小可能被改变,因此存储在特定的持久存储设备上的位图和关于存储区域的大小的信息需要被相应地更新。然而,如果在更新这两者之间系统出现故障,则可能导致位图和关于存储区域的大小的信息彼此不匹配,由此导致源存储设备和目的存储设备之间的数据不一致或者数据丢失。
发明内容
本公开的实施例提供了用于数据同步的方法、设备和计算机程序产品。
在本公开的第一方面,提供了一种用于数据同步的方法。该方法包括获取关于第一存储设备的第一位图,第一存储设备包括一组存储区域,第一位图中的位指示一组存储区域中具有第一大小的相应存储区域中的数据是否要被同步到第二存储设备。该方法还包括响应于第一存储设备的配置被改变,确定所述一组存储区域中的存储区域的第二大小。该方法还包括基于第一大小和第二大小来将第一位图转换为第二位图,第二位图中的位指示一组存储区域中具有第二大小的相应存储区域中的数据是否要被同步到第二存储设备。此外,该方法还包括基于第二大小和第二位图,从第一存储设备向第二存储设备同步数据。
在本公开的第二方面,提供了一种用于数据同步的设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得设备执行动作,该动作包括:获取关于第一存储设备的第一位图,第一存储设备包括一组存储区域,第一位图中的位指示一组存储区域中具有第一大小的相应存储区域中的数据是否要被同步到第二存储设备;响应于第一存储设备的配置被改变,确定所述一组存储区域中的存储区域的第二大小;基于第一大小和第二大小来将第一位图转换为第二位图,第二位图中的位指示一组存储区域中具有第二大小的相应存储区域中的数据是否要被同步到第二存储设备;以及基于第二大小和第二位图,从第一存储设备向第二存储设备同步数据。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令。该机器可执行指令在由设备执行时使该设备执行根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了可以在其中实现本公开的某些实施例的示例存储系统的框图;
图2示出了根据本公开的实施例的用于数据同步的方法的流程图;
图3示出了根据本公开的实施例的第一位图和其转换而成的第二位图的示意图;
图4示出了根据本公开的实施例的用于数据同步的方法的流程图;
图5示出了根据本公开的实施例的第一位图和第二位图合并而成的第三位图的示意图;以及
图6示出了可以用来实施本公开内容的实施例的示例设备的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如上所述,在现代存储系统中,出于保护数据的目的,通常会将写入到源存储设备中的数据同步地写入到目的存储设备,以实现对该数据的备份。通常可以利用位图来指示源存储设备中的哪些数据要被同步到目的存储设备。位图和关于存储区域的大小的信息可以被相关联地存储在特定的持久存储设备上(例如,源存储设备的特定存储区域中)。这样,如果在数据同步期间系统出现故障,可以在故障恢复之后从特定的持久存储设备读取该位图和信息,并且基于它们来继续执行未完成的数据同步。
然而,当源存储设备的配置发生改变时(例如,其大小发生改变),位图中的一位所对应的存储区域大小可能被改变,因此存储在特定的持久存储设备上的位图和关于存储区域的大小的信息需要被相应地更新。无论先更新这两者中的哪一个,如果在更新这两者之间系统出现故障,则可能导致位图和关于存储区域的大小的信息彼此不匹配(例如,位图被更新而信息未被更新,或者信息被更新而位图未被更新),由此导致源存储设备和目的存储设备之间的数据不一致或者数据丢失。
本公开的示例实施例提出了一种用于数据同步的方案,旨在解决上述问题以及其他潜在问题中的一个或多个。该方案能够保证用于数据同步的位图和关于存储区域的大小的信息彼此匹配,由此能够避免由于各种故障情况而导致的源存储设备和目的存储设备之间的数据不一致。
图1示出了本公开的实施例可以在其中被实现的示例存储系统100的框图。如图1所示,示例存储系统100总体上可以包括第一存储设备110和第二存储设备120,两者可以本地或远程地经由数据通道130而被互连。数据通道130可以是能够用于传输数据的任何接口或者通信信道,诸如光纤信道等。应当理解,仅出于示例性的目的描述示例存储系统100的结构和功能,而不暗示对于本公开的范围的任何限制。本公开的实施例还可以被应用到具有不同的结构和/或功能的存储系统中。在下文中第一存储设备110与“源存储设备”可互换地使用,而第二存储设备120与“目的存储设备”可互换地使用。
如图1所示,第一存储设备110可以包括存储资源池113,其由一个或多个存储盘组织而成。在此所述的“存储盘”可以指代任何目前已知或者将来开发的非易失性存储介质,例如磁盘、光盘、固态盘(SSD),以及由各种类型的盘所组成的盘阵列或者盘阵列组等。基于由存储资源池113所提供的物理存储资源,可以在存储设备110上创建用户存储对象111,以供主机和/或应用(未示出)操作。在此所述的用户存储对象指代基于物理存储资源而构建的逻辑存储对象,其与物理存储资源之间存在映射关系。用户存储对象111的示例可以包括但不限于逻辑存储单元(例如,逻辑单元号(LUN))、文件系统(FS)等。
如图1所示,第一存储设备110还包括镜像模块112,其用于使得存储设备110经由数据通道130与第二存储设备120进行数据同步。第二存储设备120可以具有与第一存储设备110完全相同的结构,并且互为镜像。例如,第二存储设备120可以具有与存储资源池113相对应的存储资源池123以及与用户存储对象111相对应的用户存储对象121。第二存储设备120还包括镜像模块122,其用于与镜像模块112相配合以实现数据从第一存储设备110向第二存储设备120的同步。
第一存储设备110中的镜像模块112可以利用位图来指示第一存储设备110中的哪些数据要被同步到第二存储设备120。该位图可以与由主机和/或上层应用可操作的用户存储对象111(例如,LUN或FS)相对应。例如,用户存储对象111可以向主机和/或应用提供特定大小的存储区域以供使用。该特定大小的存储区域可以被视为一组存储区域,其中的每个存储区域可以对应于存储资源池113中的相应物理存储资源(例如,一个或多个盘、或者盘中的一个或多个区段等)。位图可以具有与一组存储区域相对应的多个位,其中的每一位可以与一组存储区域之一相对应。当主机和/或上层应用操作用户存储对象111以向第一存储设备110写入数据时,镜像模块112可以将数据写入到存储资源池113中的对应物理存储资源中,同时镜像模块112还可以将位图中与所写入的存储区域相对应的一位或多位分别标记为“脏”(例如,置为“1”),以指示相应存储区域中的数据需要被同步到第二存储设备120。
当数据同步过程被发起时,镜像模块112可以基于所记录的位图以及与位图中的位所对应的存储区域的大小有关的信息来执行数据同步操作。例如,镜像模块112可以扫描位图中的每一位。当发现位图中的某一位被标记为“脏”时,镜像模块112可以读取与该位相对应的存储区域中的数据,并且将所读取的数据经由数据通道130传输至第二存储设备120中的镜像模块122。镜像模块122响应于接收到来自镜像模块112的数据,将该数据存储在第二存储设备120中的对应存储区域中。响应于被标记为“脏”的位所对应的存储区域中的数据被同步至第二存储设备120,镜像模块112可以将清除该位的标记(例如,将其置为“0”),以指示相应存储区域中的数据已被同步。
为了防止系统崩溃或者重启而导致位图信息被丢失,镜像模块112可以将用于进行数据同步的位图以及与位图中的位所对应的存储区域的大小有关的信息相关联地存储特定持久存储设备中。例如,该特定持久存储设备可以是与第一存储设备110和第二存储设备120分离的单独设备(图1未示出),或者可以是由第一存储设备110提供的特定持久存储区域。例如,可以基于存储资源池113中的一部分物理存储资源来创建用于保存系统信息的专用存储对象(例如,私有LUN),该专用存储对象不同于主机和/或上层应用可操作的用户存储对象111,其仅用于保存重要的系统信息而不可由主机和/或上层应用操作。镜像模块112可以将用于进行数据同步的位图以及与位图中的位所对应的存储区域的大小有关的信息相关联地存储在该专用存储对象(例如,私有LUN)中。以此方式,如果在数据同步期间系统出现故障(例如,第一存储设备110崩溃),可以在故障恢复(例如,第一存储设备110重启)之后从特定持久存储设备中读取该位图和信息,并且基于它们来继续执行未完成的数据同步。应当理解,用于进行数据同步的位图以及与位图中的位所对应的存储区域的大小有关的信息可以被存储在同一持久存储设备中,或者也可以被存储在不同的持久存储设备中,并且本公开的范围在此方面不受限制。
第一存储设备110向主机和/或上层应用提供的用户存储对象111可以是动态配置的,例如用户存储对象111可能随时间而被扩展或者收缩,因此其大小可能随之发生改变。然而,由于用于存储位图的特定持久存储设备的大小通常是固定的,因此与用户存储对象111相对应的位图中的位数通常也是固定的。在此情况下,当用户存储对象111的大小发生改变时,位图中的一位所对应的存储区域的大小可能随之改变,其实际大小可以基于被改变的用户存储对象111的大小和位图中的位数而被确定。为了保证数据同步被正确地执行,镜像模块112需要相应地更新用于数据同步的位图和关于存储区域的大小的信息,并且基于经更新的位图和存储区域的实际大小来执行数据同步操作。
图2示出了根据本公开的实施例的用于数据同步的方法200的流程图。例如,方法200可以由如图1所示的镜像模块112执行。以下结合图1来详细描述方法200中的各个动作。应当理解,方法200还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
在框210,镜像模块112获取关于第一存储设备110的第一位图。在一些实施例中,第一位图可以是在第一存储设备110的配置改变之前用于数据同步的位图。在一些实施例中,第一位图可以指示第一存储设备110所包括的一组存储区域(例如,与用户存储对象111相对应的一组存储区域)中的每个存储区域中的数据是否要被同步到第二存储设备120。如之前所描述的,第一位图和与第一位图中的位相对应的存储区域的大小有关的信息被相关联地存储在特定持久存储设备中。因此,镜像模块112可以从该特定持久存储设备获取关于第一存储设备110的第一位图。附加地,镜像模块112还可以从该特定持久存储设备获取与该位图中的位所对应的存储区域的大小(本文中将与第一位图相关联的存储区域大小称为“第一大小”)有关的信息(本文中将关于第一大小的信息称为“第一信息”)。
在框220,响应于第一存储设备110的配置被改变,镜像模块112可以确定一组存储区域中的存储区域的第二大小。在一些实施例中,例如第一存储设备110的配置指示由用户存储对象111提供的一组存储区域的大小。当一组存储区域的大小发生改变时,镜像模块112可以基于一组存储区域的被改变的大小和位图中的位数来确定由位图中的每一位指示的存储区域的第二大小。例如,可以通过将由用户存储对象111提供的一组存储区域的被改变的大小除以位图中的位数来确定第二大小。
在框230,镜像模块112基于第一大小和第二大小来将第一位图转换成第二位图。在一些实施例中,当第一大小小于第二大小时(也即,存储区域被扩展),第一位图中的一个或多个位可以被合并至第二位图中的一位中。在另一些实施例中,当第一大小大于第二大小时(也即,存储区域被收缩),第一位图中的一位可以被划分到第二位图中的一位或多位中。
图3示出了根据本公开的实施例的第一位图310和第二位图320的示意图。例如,如图3所示的示例对应于存储区域被扩展的情况。如图3所示,第一位图310可以包括与N个存储区域一一对应的N个位310-1、310-2……310-N,其中利用阴影来表示的位310-3、310-7、310-12和310-13被标记为“脏”,以指示与这些位相对应的存储区域中的数据要被同步到第二存储设备120。当存储区域的大小从第一大小变为第二大小时,镜像模块112可以基于第一大小和第二大小来将第一位图310转换为第二位图320。具体地,例如针对第一位图310中被标记为“脏”的位310-3,镜像模块112可以基于第一大小来确定与位310-3相对应的存储区域的起始位置和结束位置,然而基于该存储区域的起始位置和结束位置以及第二大小来确定第二位图320中与该存储区域相对应的位,例如位320-2。以此方式,镜像模块112可以确定第一位图310中的位310-7与第二位图320中的位320-4相对应,第一位图310中的位310-12和310-13与第二位图320中的位320-8相对应。
参考回到图2,在框240,镜像模块112可以基于第二大小和第二位图来从第一存储设备110向第二存储设备120同步数据。在一些实施例中,为了防止系统崩溃或者重启而导致位图信息被丢失,镜像模块112可以首先将第二位图和关于第二大小的信息(本文中也称为“第二信息”)存储在特定存储设备中。然后,镜像模块112可以响应于将第二位图和第二信息存储在特定存储设备中,来从第一存储设备110向第二存储设备120同步数据。
在一些实施例中,为了能够保证用于数据同步的位图和关于存储区域的大小的信息始终彼此匹配,镜像模块112可以不直接将第二位图和第二信息存储在特定持久存储设备中。相反,镜像模块112可以首先将第一位图和第二位图组合成包括两者的全部信息的第三位图,并且将第三位图存储在特定持久存储设备中。在利用第二信息替换在特定持久存储设备中存储的关于第一大小的第一信息之后,镜像模块112可以利用第二位图来替换在特定持久存储设备中存储的第三位图。以此方式,能够保证用于数据同步的位图和关于存储区域的大小的信息彼此匹配,由此能够避免由于各种故障情况而导致的第一存储设备110和第二存储设备120之间的数据不一致。
图4示出了根据本公开的实施例的用于数据同步的方法400的流程图。方法400可以作为如图2所示的框240的一种示例实现,并且可以在框230之后被执行。例如,方法400可以由如图1所示的镜像模块112执行。应当理解,方法400还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
在框410,镜像模块112将第一位图和第二位图合并成第三位图。在一些实施例中,第一位图可以指示一组存储区域中的第一存储区域中的数据要被同步到所述第二存储设备,第二位图可以指示一组存储区域中的第二存储区域中的数据要被同步到第二存储设备。第三位图可以与第一位图和第二位图具有相同的位数,其可以指示第一存储区域和第二存储区域两者中的数据要被同步到第二存储设备。
图5示出了根据本公开的实施例的将第一位图和第二位图合并而成的第三位图的示意图。图5示出了如图3所示的第一位图310以及由第一位图310转换而来的第二位图320。第一位图310中的位310-3、310-7、310-12和310-13被标记为“脏”,而第二位图320中的位320-2、320-4和320-8被标记为“脏”。图5还示出了第一位图310和第二位图320被合并成的第三位图510。如图5所示,第三位图510将与第一位图310中被标记为“脏”的位相对应的位也标记为“脏”,如位510-3、510-7、510-12和510-13所示。此外,第三位图510还将与第二位图320中被标记为“脏”的位相对应的位也标记为“脏”,如位510-2、510-4和510-8所示。以此方式,第三位图510能够包括第一位图310和第二位图320两者的全部信息。
参考回到图4,在框420,镜像模块112利用第三位图来替换存储在特定持久存储设备中的第一位图。以图5中的示例为例,镜像模块112可以将如图5所示的第三位图510存储在特定持久存储设备中,以替代之前存储的第一位图310。以此方式,第三位图和关于第一大小的第一信息被存储在特定持久存储设备中。
在一些实施例中,如果在框420被执行之后,第一存储设备110发生故障而被重启,镜像模块112可以从持久存储设备中读取第三位图和第一信息。镜像模块112可以基于第一信息来确定存储区域的第一大小,并且基于第一大小和第三位图来从执行第一存储设备110向第二存储设备120的同步。由于第三位图中包括了第一位图中的所有被标记为“脏”的位,因此通过基于第一大小来针对这些位所对应的存储区域进行数据同步,镜像模块112能够将第一存储设备110中所有需要同步的数据同步到第二存储设备120。尽管由于第三位图还包括第二位图中的所有被标记为“脏”的位并且因此镜像模块112还将基于第一大小来针对这些位进行数据同步,但是能够看出,针对这些位的同步不会导致第一存储设备110和第二存储设备120之间的数据不一致,因为这些位并不指示实际需要同步的存储区域。
在框430,镜像模块112利用关于第二大小的第二信息来替换存储在特定持久存储设备中的第一信息。以此方式,第三位图和关于第二大小的第二信息被存储在特定持久存储设备中。
在一些实施例中,如果在框430被执行之后,第一存储设备110发生故障而被重启,镜像模块112可以从持久存储设备中读取第三位图和第二信息。镜像模块112可以基于第二信息来确定存储区域的第二大小,并且基于第二大小和第三位图来从执行第一存储设备110向第二存储设备120的同步。由于第三位图中包括了第二位图中的所有被标记为“脏”的位,因此通过基于第二大小来针对这些位所对应的存储区域进行数据同步,镜像模块112能够将第一存储设备110中所有需要同步的数据同步到第二存储设备120。尽管由于第三位图还包括第一位图中的所有被标记为“脏”的位并且因此镜像模块112还将基于第二大小来针对这些位进行数据同步,但是能够看出,针对这些位的同步不会导致第一存储设备110和第二存储设备120之间的数据不一致,因为这些位并不指示实际需要同步的存储区域。
在框440,镜像模块112利用第二位图来替换存储在特定持久存储设备中的第三位图。以此方式,第二位图和第二信息被存储在特定持久存储设备中。
在一些实施例中,如果在框440被执行之后,第一存储设备110发生故障而被重启,镜像模块112可以从持久存储设备中读取第二位图和第二信息。镜像模块112可以基于第二信息来确定存储区域的第二大小,并且基于第二大小和第二位图来执行从第一存储设备110向第二存储设备120的同步。由于第二大小和第二位图是相匹配的,因此镜像模块112能够基于第二大小和第二位图对第一存储设备110中所有需要被同步的数据进行同步。
在框450,镜像模块112响应于第二位图和第二信息被存储在特定持久存储设备中,基于第二位图和由第二信息指示的第二大小来从第一存储设备110向第二存储设备120同步数据。
基于以上描述能够看出,本公开的示例实施例所提出的用于数据同步的方案能够保证用于数据同步的位图和关于存储区域的大小的信息彼此匹配,由此能够避免由于各种故障情况而导致的源存储设备和目的存储设备之间的数据不一致或者数据丢失。
图6示出了可以用来实施本公开内容的实施例的示例设备600的示意性框图。例如,如图1所示的存储设备110或者存储设备120可以由设备600实施。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200和/或400,可由处理单元601执行。例如,在一些实施例中,方法200和/或400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM603并由CPU 601执行时,可以执行上文描述的方法200和/或400的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (19)

1.一种用于数据同步的方法,包括:
获取关于第一存储设备的第一位图,所述第一存储设备包括一组存储区域,所述第一位图中的位指示所述一组存储区域中具有第一大小的相应存储区域中的数据是否要被同步到第二存储设备;
响应于所述第一存储设备的配置被改变,确定所述一组存储区域中的存储区域的第二大小;
基于所述第一大小和所述第二大小来将所述第一位图转换为第二位图,所述第二位图中的位指示所述一组存储区域中具有所述第二大小的相应存储区域中的数据是否要被同步到第二存储设备;以及
基于所述第二大小和所述第二位图,从所述第一存储设备向所述第二存储设备同步数据。
2.根据权利要求1所述的方法,其中所述第一存储设备的所述配置指示所述一组存储区域的大小,所述第一位图和所述第二位图具有相同的位数,并且确定所述第二大小包括:
响应于所述一组存储区域的所述大小被改变,基于被改变的所述一组存储区域的所述大小和所述位数来确定所述第二大小。
3.根据权利要求1所述的方法,其中所述第一位图和关于所述第一大小的第一信息被存储在特定持久存储设备中,并且获取所述第一位图包括:
从所述特定持久存储设备中获取所述第一位图。
4.根据权利要求3所述的方法,其中从所述第一存储设备向所述第二存储设备同步数据包括:
将所述第二位图和关于所述第二大小的第二信息存储在所述特定持久存储设备中;以及
响应于将所述第二位图和所述第二信息存储在所述特定持久存储设备中,从所述第一存储设备向所述第二存储设备同步数据。
5.根据权利要求4所述的方法,其中将所述第二位图和所述第二信息存储在所述特定持久存储设备中包括:
将所述第一位图和所述第二位图合并成第三位图;
利用所述第三位图来替换存储在所述特定持久存储设备中的所述第一位图;
利用所述第二信息来替换存储在所述特定持久存储设备中的所述第一信息;以及
利用所述第二位图来替换存储在所述特定持久存储设备中的所述第三位图。
6.根据权利要求5所述的方法,其中所述第一位图指示所述一组存储区域中的第一存储区域中的数据要被同步到所述第二存储设备,所述第二位图指示所述一组存储区域中的第二存储区域中的数据要被同步到所述第二存储设备,并且将所述第一位图和所述第二位图合并成所述第三位图包括:
使得所述第三位图指示所述第一存储区域和所述第二存储区域中的数据要被同步到所述第二存储设备。
7.根据权利要求5所述的方法,还包括:
在所述第三位图被存储在所述特定持久存储设备中之后并且在利用所述第二信息来替换所述第一信息之前,响应于所述第一存储设备从故障中被恢复,从所述特定持久存储设备中获取所述第三位图和所述第一信息;
基于所述第一信息,确定所述第一大小;以及
基于所述第一大小和所述第三位图,从所述第一存储设备向所述第二存储设备同步数据。
8.根据权利要求5所述的方法,还包括:
在所述第三位图和所述第二信息被存储在所述特定持久存储设备中之后并且在利用所述第二位图替换所述第三位图之前,响应于所述第一存储设备从故障中被恢复,从所述特定持久存储设备中获取所述第三位图和所述第二信息;
基于所述第二信息,确定所述第二大小;以及
基于所述第二大小和所述第三位图,从所述第一存储设备向所述第二存储设备同步数据。
9.根据权利要求4所述的方法,还包括:
在所述第二位图和所述第二信息被存储在所述特定持久存储设备中之后,响应于所述第一存储设备从故障中被恢复,从所述特定持久存储设备中获取所述第二位图和所述第二信息;
基于所述第二信息,确定所述第二大小;以及
基于所述第二大小和所述第二位图,从所述第一存储设备向所述第二存储设备同步数据。
10.一种用于数据同步的设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
获取关于第一存储设备的第一位图,所述第一存储设备包括一组存储区域,所述第一位图中的位指示所述一组存储区域中具有第一大小的相应存储区域中的数据是否要被同步到第二存储设备;
响应于所述第一存储设备的配置被改变,确定所述一组存储区域中的存储区域的第二大小;
基于所述第一大小和所述第二大小来将所述第一位图转换为第二位图,所述第二位图中的位指示所述一组存储区域中具有所述第二大小的相应存储区域中的数据是否要被同步到第二存储设备;以及
基于所述第二大小和所述第二位图,从所述第一存储设备向所述第二存储设备同步数据。
11.根据权利要求10所述的设备,其中所述第一存储设备的所述配置指示所述一组存储区域的大小,所述第一位图和所述第二位图具有相同的位数,并且确定所述第二大小包括:
响应于所述一组存储区域的所述大小被改变,基于被改变的所述一组存储区域的所述大小和所述位数来确定所述第二大小。
12.根据权利要求10所述的设备,其中所述第一位图和关于所述第一大小的第一信息被存储在特定持久存储设备中,并且获取所述第一位图包括:
从所述特定持久存储设备中获取所述第一位图。
13.根据权利要求12所述的设备,其中从所述第一存储设备向所述第二存储设备同步数据包括:
将所述第二位图和关于所述第二大小的第二信息存储在所述特定持久存储设备中;以及
响应于将所述第二位图和所述第二信息存储在所述特定持久存储设备中,从所述第一存储设备向所述第二存储设备同步数据。
14.根据权利要求13所述的设备,其中将所述第二位图和所述第二信息存储在所述特定持久存储设备中包括:
将所述第一位图和所述第二位图合并成第三位图;
利用所述第三位图来替换存储在所述特定持久存储设备中的所述第一位图;
利用所述第二信息来替换存储在所述特定持久存储设备中的所述第一信息;以及
利用所述第二位图来替换存储在所述特定持久存储设备中的所述第三位图。
15.根据权利要求14所述的设备,其中所述第一位图指示所述一组存储区域中的第一存储区域中的数据要被同步到所述第二存储设备,所述第二位图指示所述一组存储区域中的第二存储区域中的数据要被同步到所述第二存储设备,并且将所述第一位图和所述第二位图合并成所述第三位图包括:
使得所述第三位图指示所述第一存储区域和所述第二存储区域中的数据要被同步到所述第二存储设备。
16.根据权利要求14所述的设备,其中所述动作还包括:
在所述第三位图被存储在所述特定持久存储设备中之后并且在利用所述第二信息来替换所述第一信息之前,响应于所述第一存储设备从故障中被恢复,从所述特定持久存储设备中获取所述第三位图和所述第一信息;
基于所述第一信息,确定所述第一大小;以及
基于所述第一大小和所述第三位图,从所述第一存储设备向所述第二存储设备同步数据。
17.根据权利要求14所述的设备,其中所述动作还包括:
在所述第三位图和所述第二信息被存储在所述特定持久存储设备中之后并且在利用所述第二位图替换所述第三位图之前,响应于所述第一存储设备从故障中被恢复,从所述特定持久存储设备中获取所述第三位图和所述第二信息;
基于所述第二信息,确定所述第二大小;以及
基于所述第二大小和所述第三位图,从所述第一存储设备向所述第二存储设备同步数据。
18.根据权利要求13所述的设备,其中所述动作还包括:
在所述第二位图和所述第二信息被存储在所述特定持久存储设备中之后,响应于所述第一存储设备从故障中被恢复,从所述特定持久存储设备中获取所述第二位图和所述第二信息;
基于所述第二信息,确定所述第二大小;以及
基于所述第二大小和所述第二位图,从所述第一存储设备向所述第二存储设备同步数据。
19.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求1-9中的任一项所述的方法。
CN201810399269.XA 2018-04-28 2018-04-28 数据同步的方法、设备和计算机程序产品 Active CN110413200B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810399269.XA CN110413200B (zh) 2018-04-28 2018-04-28 数据同步的方法、设备和计算机程序产品
US16/227,683 US10853209B2 (en) 2018-04-28 2018-12-20 Method, apparatus and computer program product for data synchronization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810399269.XA CN110413200B (zh) 2018-04-28 2018-04-28 数据同步的方法、设备和计算机程序产品

Publications (2)

Publication Number Publication Date
CN110413200A true CN110413200A (zh) 2019-11-05
CN110413200B CN110413200B (zh) 2023-06-09

Family

ID=68292581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810399269.XA Active CN110413200B (zh) 2018-04-28 2018-04-28 数据同步的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US10853209B2 (zh)
CN (1) CN110413200B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868018A (zh) * 2021-08-25 2021-12-31 苏州浪潮智能科技有限公司 一种数据保存方法及装置和一种数据恢复方法
CN114115752A (zh) * 2022-01-27 2022-03-01 浙江大华技术股份有限公司 一种数据存储方法及计算机设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107800528B (zh) * 2016-08-31 2021-04-06 中兴通讯股份有限公司 一种传输同步信息的方法、装置和系统
CN112749134B (zh) 2019-10-30 2024-05-17 伊姆西Ip控股有限责任公司 用于位图转换的方法、设备和计算机可读存储介质
CN110990052B (zh) * 2019-11-29 2023-09-26 杭州迪普科技股份有限公司 一种配置保存方法及装置
US11416148B2 (en) * 2020-01-10 2022-08-16 Samsung Electronics Co., Ltd. System and method of providing atomicity to large writes to persistent memory
US20230393860A1 (en) * 2022-06-03 2023-12-07 Kyndryl, Inc. Automatic application configuration synchronization based on data analytics

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172316A1 (en) * 2002-03-06 2003-09-11 Tremblay Glenn A. Producing a mirrored copy using incremental-divergence
US20080016295A1 (en) * 2006-07-14 2008-01-17 Sun Microsystems, Inc. Reducing bitmap management overhead
US20100017573A1 (en) * 2008-07-15 2010-01-21 Fujitsu Limited Storage system, copy control method of a storage system, and copy control unit of a storage system
US20100161924A1 (en) * 2008-12-22 2010-06-24 Fujitsu Limited Storage switch, storage system, and data copying method
US20130080725A1 (en) * 2011-09-22 2013-03-28 Fujitsu Limited Control apparatus, control method, and storage apparatus
US20140108756A1 (en) * 2012-10-17 2014-04-17 International Business Machines Corporation Bitmap selection for remote copying of updates
US20150026141A1 (en) * 2013-07-17 2015-01-22 Sybase, Inc. In-Memory Bitmap for Column Store Operations
US9128943B1 (en) * 2011-09-29 2015-09-08 Emc Corporation Method and system for tracking re-sizing and re-creation of volumes created for making incremental backups
US20160139842A1 (en) * 2014-11-19 2016-05-19 Fujitsu Limited Storage control apparatus and storage system
CN105740303A (zh) * 2014-12-12 2016-07-06 国际商业机器公司 改进的对象存储的方法及装置
US20160378625A1 (en) * 2015-06-29 2016-12-29 International Business Machines Corporation Reverse resynchronization by a secondary data source when a data destination has more recent data
US20170262220A1 (en) * 2016-03-11 2017-09-14 Fujitsu Limited Storage control device, method of controlling data migration and non-transitory computer-readable storage medium
US9836515B1 (en) * 2013-12-31 2017-12-05 Veritas Technologies Llc Systems and methods for adding active volumes to existing replication configurations
CN107544864A (zh) * 2016-06-24 2018-01-05 深圳市深信服电子科技有限公司 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007074408A2 (en) 2005-07-14 2007-07-05 Yotta Yotta, Inc. Maintaining write order fidelity on a multi-writer system
US7552295B2 (en) * 2006-01-03 2009-06-23 International Business Machines Corporation Maintaining consistency when mirroring data using different copy technologies
US8271447B1 (en) 2010-06-18 2012-09-18 Emc International Company Mirroring metadata in a continuous data protection environment
US8996827B1 (en) * 2011-12-27 2015-03-31 Emc Corporation Creating and maintaining clones in continuous data protection
US9031913B1 (en) 2011-12-28 2015-05-12 Emc Corporation File replication
US10061666B1 (en) 2011-12-30 2018-08-28 Emc International Company Method and apparatus for adding a director to storage with network-based replication without data resynchronization
US10528256B2 (en) * 2017-05-24 2020-01-07 International Business Machines Corporation Processing a space release command to free release space in a consistency group

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172316A1 (en) * 2002-03-06 2003-09-11 Tremblay Glenn A. Producing a mirrored copy using incremental-divergence
US20080016295A1 (en) * 2006-07-14 2008-01-17 Sun Microsystems, Inc. Reducing bitmap management overhead
US20100017573A1 (en) * 2008-07-15 2010-01-21 Fujitsu Limited Storage system, copy control method of a storage system, and copy control unit of a storage system
US20100161924A1 (en) * 2008-12-22 2010-06-24 Fujitsu Limited Storage switch, storage system, and data copying method
US20130080725A1 (en) * 2011-09-22 2013-03-28 Fujitsu Limited Control apparatus, control method, and storage apparatus
US9128943B1 (en) * 2011-09-29 2015-09-08 Emc Corporation Method and system for tracking re-sizing and re-creation of volumes created for making incremental backups
US20140108756A1 (en) * 2012-10-17 2014-04-17 International Business Machines Corporation Bitmap selection for remote copying of updates
US20150026141A1 (en) * 2013-07-17 2015-01-22 Sybase, Inc. In-Memory Bitmap for Column Store Operations
US9836515B1 (en) * 2013-12-31 2017-12-05 Veritas Technologies Llc Systems and methods for adding active volumes to existing replication configurations
US20160139842A1 (en) * 2014-11-19 2016-05-19 Fujitsu Limited Storage control apparatus and storage system
CN105740303A (zh) * 2014-12-12 2016-07-06 国际商业机器公司 改进的对象存储的方法及装置
US20160378625A1 (en) * 2015-06-29 2016-12-29 International Business Machines Corporation Reverse resynchronization by a secondary data source when a data destination has more recent data
US20170262220A1 (en) * 2016-03-11 2017-09-14 Fujitsu Limited Storage control device, method of controlling data migration and non-transitory computer-readable storage medium
CN107544864A (zh) * 2016-06-24 2018-01-05 深圳市深信服电子科技有限公司 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868018A (zh) * 2021-08-25 2021-12-31 苏州浪潮智能科技有限公司 一种数据保存方法及装置和一种数据恢复方法
CN113868018B (zh) * 2021-08-25 2024-03-01 苏州浪潮智能科技有限公司 一种数据保存方法及装置和一种数据恢复方法
CN114115752A (zh) * 2022-01-27 2022-03-01 浙江大华技术股份有限公司 一种数据存储方法及计算机设备

Also Published As

Publication number Publication date
US20190332503A1 (en) 2019-10-31
CN110413200B (zh) 2023-06-09
US10853209B2 (en) 2020-12-01

Similar Documents

Publication Publication Date Title
CN110413200A (zh) 数据同步的方法、设备和计算机程序产品
Mayer et al. Fogstore: Toward a distributed data store for fog computing
CN107506258A (zh) 用于数据备份的方法和设备
US11150989B2 (en) Method, device and computer program product for managing a storage system
KR101231563B1 (ko) 실시간 데이터 복제
CN108964982A (zh) 用于实现区块链的多节点的部署的方法、装置及存储介质
CN108228082A (zh) 存储系统和用于存储控制的方法
CN104881333A (zh) 一种存储系统及其使用的方法
US10747460B2 (en) Method, device and computer program product for changing type of storage system
CN109213694A (zh) 用于缓存管理的方法和设备
CN108388524A (zh) 用于缓存数据的方法和设备
CN109725830A (zh) 管理独立磁盘冗余阵列的方法、设备和计算机程序产品
CN108228481A (zh) 用于保证数据一致性的方法和设备
CN110389786A (zh) 内核管理方法、设备和计算机程序产品
CN110058787A (zh) 用于写入数据的方法、设备和计算机程序产品
CN109446202A (zh) 标识符分配方法、装置、服务器和存储介质
CN109725825A (zh) 用于管理缓存的方法、设备和计算机程序产品
US10606489B2 (en) Sidefiles for management of data written via a bus interface to a storage controller during consistent copying of data
CN109933606A (zh) 一种数据库修改方法、装置、设备及存储介质
CN109726039A (zh) 用于管理虚拟机的方法和设备
CN110413214A (zh) 用于存储管理的方法、设备和计算机程序产品
US11281380B2 (en) Management of data written via a bus interface to a storage controller during consistent copying of data
CN110399545A (zh) 管理文档索引的方法和设备
CN108733307B (zh) 存储管理方法、设备以及计算机可读介质
JP7091457B2 (ja) 遠隔コピー操作中にバス・インターフェースを介してストレージ・コントローラに書き込まれるデータの管理

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant