CN106814972B - 分布式块存储的快照节点的回滚方法和装置 - Google Patents

分布式块存储的快照节点的回滚方法和装置 Download PDF

Info

Publication number
CN106814972B
CN106814972B CN201611200257.7A CN201611200257A CN106814972B CN 106814972 B CN106814972 B CN 106814972B CN 201611200257 A CN201611200257 A CN 201611200257A CN 106814972 B CN106814972 B CN 106814972B
Authority
CN
China
Prior art keywords
snapshot
node
snapshot node
current data
auto
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.)
Expired - Fee Related
Application number
CN201611200257.7A
Other languages
English (en)
Other versions
CN106814972A (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.)
Beijing Internet Science And Technology Ltd Of Cloud Of China
Original Assignee
Beijing Internet Science And Technology Ltd Of Cloud Of China
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 Beijing Internet Science And Technology Ltd Of Cloud Of China filed Critical Beijing Internet Science And Technology Ltd Of Cloud Of China
Priority to CN201611200257.7A priority Critical patent/CN106814972B/zh
Publication of CN106814972A publication Critical patent/CN106814972A/zh
Application granted granted Critical
Publication of CN106814972B publication Critical patent/CN106814972B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06F3/065Replication mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种分布式块存储的快照节点的回滚方法和装置,能够保证快照树结构的完整性。本发明一种分布式块存储的快照节点的回滚方法,包括:接收到快照节点的回滚指令;所述回滚指令包括:待回滚到的目标快照节点;对所述当前数据卷进行自动快照,生成自动快照节点;根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。本发明自动进行快照,保证了快照树结构的完整性。

Description

分布式块存储的快照节点的回滚方法和装置
技术领域
本发明涉及分布式块存储技术领域,尤其涉及一种分布式块存储的快照节点的回滚方法和装置。
背景技术
作为云存储的核心基础平台,分布式存储的重要性日益凸显。分布式存储系统对数据卷快照功能、快照树的支持已经很普遍。当快照树的分支增加时,每个分支要保留数据卷的完整数据,这样可以回滚到任何一个自己打快照的状态,因此,在快照树中需要记录任何一个快照的完整数据。
通常,每个快照卷必须依赖一个完整的数据卷。那么对于快照树的多分支来说,每个分支都需要一个完整的数据卷,这样空间上存在浪费。另外,这样大的数据库做回滚,时间消耗也是很大的。
发明内容
本发明的实施例提供了一种分布式块存储的快照节点的回滚方法和装置,自动进行快照,保证了快照树结构的完整性。
为了实现上述目的,本发明采取了如下技术方案。
一种分布式块存储的快照节点的回滚方法,包括:
接收到快照节点的回滚指令;所述回滚指令包括:待回滚到的目标快照节点;
对所述当前数据卷进行自动快照,生成自动快照节点;
根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。
一种分布式块存储的快照节点的回滚装置,包括:
接收单元,接收到快照节点的回滚指令;所述回滚指令包括:待回滚到的目标快照节点;
快照和更新单元,对所述当前数据卷进行自动快照,生成自动快照节点;根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例中,当接收到快照节点的回滚指令时,对当前数据卷进行自动快照,生成自动快照节点;然后,根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。自动快照保障了快照树的结构完整性,后续可以根据完整快照树,回滚到任何一个快照树节点。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种分布式块存储的快照节点的回滚方法的处理流程图;
图2为本发明实施例二提供的一种分布式块存储的快照节点的回滚方法的处理流程图;
图3为本发明实施例中根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态的步骤的流程示意图;
图4为本发明的回滚流程的应用场景的示意图;
图5为本发明的回滚流程的应用场景中快照节点的示意图;
图6为本发明的回滚流程的应用场景中快照节点的示意图;
图7、图8为本发明的回滚流程的应用场景中快照节点的示意图;
图9为本发明实施例一提供的一种分布式块存储的快照节点的回滚装置的连接示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
如图1所示,为本发明所述的一种分布式块存储的快照节点的回滚方法,其特征在于,包括:
步骤11,接收到快照节点的回滚指令;所述回滚指令包括:待回滚到的目标快照节点;
步骤12,对当前数据卷进行自动快照,生成自动快照节点;
步骤13,根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。
本发明中,当接收到快照节点的回滚指令时,对当前数据卷进行自动快照,生成自动快照节点;然后,根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。本发明的自动快照保障了快照树的结构完整性,后续可以根据完整的快照树,回滚到任何一个快照树节点。
如图2所示,为本发明所述的一种分布式块存储的快照节点的回滚方法,包括:
步骤21,接收到快照节点的回滚指令;所述回滚指令包括:待回滚到的目标快照节点;
步骤22,判断距离所述当前数据卷最近的快照节点是否具有至少两个子节点,生成判断结果;
步骤23,当所述判断结果为是时,根据所述回滚指令,将所述当前数据卷更新到所述目标快照时的状态;
步骤24,当所述判断结果为否时,对所述当前数据卷进行自动快照,生成自动快照节点;
步骤25,根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。
上述方案中,当距离所述快照树的当前数据卷最近的快照节点具有至少两个子节点时,则按照写即拷贝(CoW:Copy On Write)的写入方式,可以在快照路径上找到所有需要的数据块数据。因此,不需要自动快照。由于进行自动快照需要计算存储的数据集,需要遍历当前数据卷的所有数据块,流程比较复杂且处理的数据量比较大,会让流程处理变慢。而增加判断步骤所带来的处理流程和资源消耗都比较少,因此,本发明先进行判断,然后根据判断结果决定是否进行自动快照,可以节省资源消耗。
其中,步骤24包括:
步骤241,根据第一路径上的各个快照节点的数据块的位置集合,获取自动快照节点中待记录的数据块的位置集合;所述第一路径为从所述当前数据卷的根快照节点到距离所述当前数据卷最近的快照节点之间的路径。具体为:
其中,auto_snap_loc为自动快照节点中待记录的数据块的位置集合;
Ai为所述第一路径上的第i个快照节点,记录有从第i个快照节点到第i+1个快照节点变化的数据块的位置集合;
An为所述第一路径上的第n个快照节点的数据块的位置集合,也是距离当前数据卷最近的快照节点的数据块的位置集合。例如,图5中,n为5。
i为所述第一路径上的快照节点的序号;
n为距离当前数据卷最近的快照节点的序号。
步骤242,将所述待记录的数据块的位置集合处的数据块,保存到自动快照节点,以使得所述自动快照节点记录所述第一路径上的所有变更但没有被所述第一路径上的快照节点记录的数据块,并在所述自动快照节点中保存所述自动快照节点与所述距离所述当前数据卷最近的快照节点之间的节点关系信息。
如图3所示,所述根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态的步骤包括:
步骤251,依次读出所述目标快照节点的每一个数据块数据,作为当前数据块数据;
步骤252,判断所述当前数据块数据是否在从所述目标快照节点的根快照节点到所述目标快照节点的路径上被修改过,生成第一判断结果;
步骤253,如果所述第一判断结果为修改过,则判断为:所述当前数据块数据保存在所述目标快照节点的子节点上;在从所述目标快照节点到所述目标快照节点的最后一个子快照节点的方向路径上,找到所述当前数据块数据的第一个变更记录,作为查找到的第一数据记录;该步骤中,路径的开始节点是目标快照节点,结束节点是目标快照节点的子路径上的最后一个快照节点,并且,这样的子路径可能存在多条。也就是说,目标快照可能有多个分支,因此会有多条子节点路径。如果在目标快照节点之前有修改,那么数据可以在目标快照的子节点路径上找到。在任何一条子节点路径都可以找到当前数据块的对应数据,只要找到就不需再继续找。
步骤254,在所述当前数据卷的所述当前数据块数据的对应位置上,保存所述第一数据记录;
步骤255,如果所述第一判断结果为没有修改过,则判断所述目标快照节点和所述当前数据卷是否有共同父节点,生成第二判断结果;
根据所述第二判断结果,进行相应处理。
所述根据所述第二判断结果,进行相应处理的步骤包括:
步骤256,如果所述第二判断结果为:有共同父节点,则判断为:所述当前数据块数据保存在所述共同父节点到所述当前数据卷的第二方向路径上;在所述第二方向路径上,找到所述当前数据块数据的第一个变更记录,作为查找到的第二数据记录;
步骤257,在所述当前数据卷的所述当前数据块数据的对应位置上,保存所述第二数据记录;
步骤258,如果所述第二判断结果为没有共同父节点,则判断为:所述当前数据块数据在所述当前数据卷的根节点到所述当前数据卷的第三方向路径上;在所述第三方向路径上,找到所述当前数据块数据的第一个变更记录,作为查找到的第三数据记录;
步骤259,在所述当前数据卷的所述当前数据块数据的对应位置上,保存所述第三数据记录。
上述实施例中,(CoW,Copy On Write,写即拷贝)的保存方式,决定了使用上述查找方式,可以快速找到对应数据。
以下描述本发明的应用场景。
本发明为一种分布式块存储的高效快照树的方法,卷快照的创建以写时复制(CopyOn Write,COW)为基础,优化了快照结构的完整性和快照回滚精简算法。当前系统采用的快照操作技术,不需要对每个分支做一个完整的卷,回滚时也不需要复制很大的数据,只需要复制少量变化的数据块。
如图4所示,为本发明的优化的回滚流程,包括:
首先描述本发明的优化快照结构的完整性。
快照树结构中,除了用户自主操作创建的快照外,在用户做回滚动作时,增加系统自动快照auto_snap,标记未记录的变更数据。
系统自动快照需要标记的变更数据块位置算法为:
auto_snap_loc记录有当前数据卷的快照根节点到最后一个快照(最后一个快照为距离当前数据卷volume_curr最近的快照)的变更但是没有被记录的数据块。
其中,快照根为快照路径上的第一个快照节点。
Ai为第i个快照节点保存的数据块的位置集合。
算法主要解决的是计算自动快照需要标记的数据块位置集合。上述集合保存有数据变化的最小集合,这样,在每个分支路径上保证了数据完整性的同时,占用的空间最少,且在回滚时使用回滚算法快速回滚,提高了快照的空间利用率,减少了卷快照回滚的时间,提高了卷快照回滚的速度,达到了高效的快照管理的目的。
如图5所示,假设当前数据卷(volume_curr)到根的快照路径为snap1、snap2…snapn、volume_curr,此时操作当前数据卷(volume_curr)回滚到snap2。
回滚之前先进行判断,判断为距离当前数据卷volume_curr最近的快照snap5没有其他分支,那么,需要做系统自动快照,系统自动快照需要保存的数据块位置集合为auto_snap_loc。
在图5的实施例中,auto_snap_loc=A1∪A2∪A3∪A4-A5
={1}∪{2}∪{2,3}∪{4}-{3,4,5}
={1,2,3,4}-{3,4}
={1,2}
即,自动快照auto_snap保存的数据块位置为1,2的数据,即a1、b2,这样,自动快照保存最少的变更数据块,节省了数据占用空间。
以下描述快照回滚的精简算法。
在图5的实施例中,做完系统自动快照后,按照图4的流程,将volume_curr回滚到snap2。auto_snap制作完毕,之后的流程如下:
第一个数据块在目标快照snap2到根之间的路径有变更,在snap2之后找到变更后的数据,即:在auto_snap中找到a1;
第二个数据块在目标快照snap2到根之间的路径没有变更,在目标快照snap2和源volume_corr之间的路径上找到了数据变更记录b(即,顺序找第一个变更,snap2记录了b);
第三个数据块在目标快照snap2到根之间的路径没有变更,在目标快照snap2和源volume_corr之间的路径上找到了数据变更记录c(即,顺序找第一个变更,snap3记录了c);
第四个数据块在目标快照snap2到根之间的路径没有变更,在目标快照snap2和源volume_corr之间的路径上找到了数据变更记录d(即,顺序找第一个变更,snap4记录了d);
第五个数据块在目标快照snap2到根之间的路径没有变更,在目标快照snap2和当前卷volume_curr之间的路径上找到了数据变更记录e(即,顺序找第一个变更,snap5记录了e);
其他数据,在目标快照snap2到目标快照的根快照节点(snap1)之间的路径没有变更,目标快照snap2和当前卷volume_curr存在共同父节点snap2,所以在共同父节点snap2到当前卷volume_curr的路径上,没有变更记录的话,那么数据在当前卷volume_curr找到数据,当前卷属于当前共同父节点到当前卷路径上的情况。
如图6所示,所有数据块遍历完成,快照回滚完成,标记volume_curr到snap2下,此时volume_curr就呈现了snap2的状态。
在图7的实施例中,snap1中记录数据a、c的数据块,在snap1到snap2之间有变更,a变到a1,c变到c1以此类推。
假如在当前数据卷(VOL)回滚到snap2,当前数据块为第一数据块,在snap2到snap1之间有修改,因此,在snap2的子节点中找到第一个变更记录,在AUTO中记录a1,将a1记录在当前数据卷volume上;
当前数据块为第二数据块,在snap2到snap1之间没有修改,在snap2和当前数据卷有共同父节点snap2,在共同父节点snap2到当前数据卷的路径上找到第一个变更记录,snap2中记录有b,将b记录在当前数据卷volume上;
在图8的实施例中,假设snap1被删除,当前数据卷要回滚到snap4,当前数据块为第一数据块,在snap4到snap3之间有修改,在snap4的子路径上找到AUTO记录有a3,将a3记录在volume上;
当前数据块为第二数据块,在snap4到snap3之间没有修改,在snap4和当前数据卷没有共同父节点,在当前数据卷到snap2的路径上找到snap2记录有b,将b记录在volume上。
如图9所示,为一种分布式块存储的快照节点的回滚装置,包括:
接收单元71,接收到快照节点的回滚指令;所述回滚指令包括:待回滚到的目标快照节点;
快照和更新单元72,对所述当前数据卷进行自动快照,生成自动快照节点;根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。
所述快照和更新单元72包括:
判断子单元,判断距离所述当前数据卷最近的快照节点是否具有至少两个子节点,生成判断结果;
第一更新子单元,当所述判断结果为是时,根据所述回滚指令,将所述当前数据卷更新到所述目标快照时的状态;
快照子单元,当所述判断结果为否时,对所述当前数据卷进行自动快照,生成自动快照节点;
第二更新子单元,根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。
所述快照子单元包括:
获取模板,根据第一路径上的各个快照节点的数据块的位置集合,获取自动快照节点中待记录的数据块的位置集合;所述第一路径为从所述当前数据卷的根快照节点到距离所述当前数据卷最近的快照节点之间的路径;
保存模板,将所述待记录的数据块的位置集合处的数据块,保存到自动快照节点,以使得所述自动快照节点记录所述第一路径上的所有变更但没有被所述第一路径上的快照节点记录的数据块,并在所述自动快照节点中保存所述自动快照节点与所述距离所述当前数据卷最近的快照节点之间的节点关系信息。
所述获取模板具体为:
其中,auto_snap_loc为自动快照节点中待记录的数据块的位置集合;
Ai为所述第一路径上的第i个快照节点,记录有从第i个快照节点到第i+1个快照节点变化的数据块的位置集合;
An为所述第一路径上的第n个快照节点的数据块集合;
i为所述第一路径上的的快照节点的序号;
n为距离当前数据卷最近的快照节点的序号。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (9)

1.一种分布式块存储的快照节点的回滚方法,其特征在于,包括:
接收到快照节点的回滚指令;所述回滚指令包括:待回滚到的目标快照节点;
对当前数据卷进行自动快照,生成自动快照节点;
根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态;
所述对所述当前数据卷进行自动快照,生成自动快照节点的步骤包括:
根据第一路径上的各个快照节点的数据块的位置集合,获取自动快照节点中待记录的数据块的位置集合;所述第一路径为从所述当前数据卷的根快照节点到距离所述当前数据卷最近的快照节点之间的路径;
将所述待记录的数据块的位置集合处的数据块,保存到自动快照节点,以使得所述自动快照节点记录所述第一路径上的所有变更但没有被所述第一路径上的快照节点记录的数据块,并在所述自动快照节点中保存所述自动快照节点与所述距离所述当前数据卷最近的快照节点之间的节点关系信息。
2.根据权利要求1所述的方法,其特征在于,所述对所述当前数据卷进行自动快照,生成自动快照节点;根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态的步骤包括:
判断距离所述当前数据卷最近的快照节点是否具有至少两个子节点,生成判断结果;
当所述判断结果为是时,根据所述回滚指令将所述当前数据卷更新到所述目标快照时的状态;
当所述判断结果为否时,对所述当前数据卷进行自动快照,生成自动快照节点;根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。
3.根据权利要求2所述的方法,其特征在于,所述根据第一路径上的各个快照节点的数据块的位置集合,获取自动快照节点中待记录的数据块的位置集合的步骤包括:
<mrow> <mi>a</mi> <mi>u</mi> <mi>t</mi> <mi>o</mi> <mo>_</mo> <mi>s</mi> <mi>n</mi> <mi>a</mi> <mi>p</mi> <mo>_</mo> <mi>l</mi> <mi>o</mi> <mi>c</mi> <mo>=</mo> <munder> <mrow> <mi></mi> <mo>&amp;cup;</mo> </mrow> <mrow> <mi>i</mi> <mo>&amp;Element;</mo> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>,</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> </munder> <msub> <mi>A</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>A</mi> <mi>n</mi> </msub> <mo>;</mo> </mrow>
其中,auto_snap_loc为自动快照节点中待记录的数据块的位置集合;
Ai为所述第一路径上的第i个快照节点,记录有从第i个快照节点到第i+1个快照节点变化的数据块的位置集合;
An为所述第一路径上的第n个快照节点的数据块集合;
i为所述第一路径上的的快照节点的序号;
n为距离当前数据卷最近的快照节点的序号。
4.根据权利要求1所述的方法,其特征在于,所述根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态的步骤包括:
依次读出所述目标快照节点的每一个数据块数据,作为当前数据块数据;
判断所述当前数据块数据是否在从所述目标快照节点的根快照节点到所述目标快照节点的路径上被修改过,生成第一判断结果;
如果所述第一判断结果为修改过,则判断为:所述当前数据块数据保存在所述目标快照节点的子节点上;在从所述目标快照节点到所述目标快照节点的最后一个子快照节点的方向路径上,找到所述当前数据块数据的第一个变更记录,作为查找到的第一数据记录;在所述当前数据卷的所述当前数据块数据的对应位置上,保存所述第一数据记录;
如果所述第一判断结果为没有修改过,则判断所述目标快照节点和所述当前数据卷是否有共同父节点,生成第二判断结果;
根据所述第二判断结果,进行相应处理。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第二判断结果,进行相应处理的步骤包括:
如果所述第二判断结果为:有共同父节点,则判断为:所述当前数据块数据保存在所述共同父节点到所述当前数据卷的第二方向路径上;在所述第二方向路径上,找到所述当前数据块数据的第一个变更记录,作为查找到的第二数据记录;在所述当前数据卷的所述当前数据块数据的对应位置上,保存所述第二数据记录;
如果所述第二判断结果为没有共同父节点,则判断为:所述当前数据块数据在所述当前数据卷的根节点到所述当前数据卷的第三方向路径上;在所述第三方向路径上,找到所述当前数据块数据的第一个变更记录,作为查找到的第三数据记录,在所述当前数据卷的所述当前数据块数据的对应位置上,保存所述第三数据记录。
6.一种分布式块存储的快照节点的回滚装置,其特征在于,包括:
接收单元,接收到快照节点的回滚指令;所述回滚指令包括:待回滚到的目标快照节点;
快照和更新单元,对当前数据卷进行自动快照,生成自动快照节点;根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态;
所述快照和更新单元具体为:
根据第一路径上的各个快照节点的数据块的位置集合,获取自动快照节点中待记录的数据块的位置集合;所述第一路径为从所述当前数据卷的根快照节点到距离所述当前数据卷最近的快照节点之间的路径;
将所述待记录的数据块的位置集合处的数据块,保存到自动快照节点,以使得所述自动快照节点记录所述第一路径上的所有变更但没有被所述第一路径上的快照节点记录的数据块,并在所述自动快照节点中保存所述自动快照节点与所述距离所述当前数据卷最近的快照节点之间的节点关系信息。
7.根据权利要求6所述的装置,其特征在于,所述快照和更新单元包括:
判断子单元,判断距离所述当前数据卷最近的快照节点是否具有至少两个子节点,生成判断结果;
第一更新子单元,当所述判断结果为是时,根据所述回滚指令,将所述当前数据卷更新到所述目标快照时的状态;
快照子单元,当所述判断结果为否时,对所述当前数据卷进行自动快照,生成自动快照节点;
第二更新子单元,根据所述回滚指令,将所述当前数据卷更新到所述目标快照节点时的状态。
8.根据权利要求7所述的装置,其特征在于,所述快照子单元包括:
获取模板,根据第一路径上的各个快照节点的数据块的位置集合,获取自动快照节点中待记录的数据块的位置集合;所述第一路径为从所述当前数据卷的根快照节点到距离所述当前数据卷最近的快照节点之间的路径;
保存模板,将所述待记录的数据块的位置集合处的数据块,保存到自动快照节点,以使得所述自动快照节点记录所述第一路径上的所有变更但没有被所述第一路径上的快照节点记录的数据块,并在所述自动快照节点中保存所述自动快照节点与所述距离所述当前数据卷最近的快照节点之间的节点关系信息。
9.根据权利要求8所述的装置,其特征在于,所述获取模板具体为:
<mrow> <mi>a</mi> <mi>u</mi> <mi>t</mi> <mi>o</mi> <mo>_</mo> <mi>s</mi> <mi>n</mi> <mi>a</mi> <mi>p</mi> <mo>_</mo> <mi>l</mi> <mi>o</mi> <mi>c</mi> <mo>=</mo> <munder> <mrow> <mi></mi> <mo>&amp;cup;</mo> </mrow> <mrow> <mi>i</mi> <mo>&amp;Element;</mo> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>,</mo> <mi>n</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> </munder> <msub> <mi>A</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>A</mi> <mi>n</mi> </msub> <mo>;</mo> </mrow>
其中,auto_snap_loc为自动快照节点中待记录的数据块的位置集合;
Ai为所述第一路径上的第i个快照节点,记录有从第i个快照节点到第i+1个快照节点变化的数据块的位置集合;
An为所述第一路径上的第n个快照节点的数据块集合;
i为所述第一路径上的的快照节点的序号;
n为距离当前数据卷最近的快照节点的序号。
CN201611200257.7A 2016-12-22 2016-12-22 分布式块存储的快照节点的回滚方法和装置 Expired - Fee Related CN106814972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611200257.7A CN106814972B (zh) 2016-12-22 2016-12-22 分布式块存储的快照节点的回滚方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611200257.7A CN106814972B (zh) 2016-12-22 2016-12-22 分布式块存储的快照节点的回滚方法和装置

Publications (2)

Publication Number Publication Date
CN106814972A CN106814972A (zh) 2017-06-09
CN106814972B true CN106814972B (zh) 2018-04-17

Family

ID=59109526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611200257.7A Expired - Fee Related CN106814972B (zh) 2016-12-22 2016-12-22 分布式块存储的快照节点的回滚方法和装置

Country Status (1)

Country Link
CN (1) CN106814972B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273051B (zh) * 2017-05-15 2018-07-03 北京华云网际科技有限公司 Io数据的读写方法和装置
CN107291396B (zh) * 2017-06-27 2018-04-13 北京华云网际科技有限公司 分布式块存储系统中的io数据的写入方法和装置
CN108255638B (zh) * 2017-06-29 2021-05-28 新华三技术有限公司 一种快照回滚方法及装置
CN110232057B (zh) * 2019-05-29 2021-03-12 掌阅科技股份有限公司 数据回滚方法、电子设备、存储介质
CN111090400B (zh) * 2019-12-29 2022-03-22 浪潮(北京)电子信息产业有限公司 一种快照自动回滚的方法、装置及设备
CN111208949B (zh) * 2020-01-13 2020-12-25 上海依图网络科技有限公司 一种确定分布式存储系统中的数据回滚时段的方法
CN113157199A (zh) * 2020-01-22 2021-07-23 阿里巴巴集团控股有限公司 快照占用空间计算方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095016B (zh) * 2014-05-16 2018-05-18 北京云巢动脉科技有限公司 一种磁盘快照回滚方法及装置
US9639432B2 (en) * 2014-12-01 2017-05-02 Citrix Systems, Inc. Live rollback for a computing environment
CN106055431B (zh) * 2016-05-30 2018-09-21 河海大学 基于快照在线回滚的数据备份与恢复的方法及装置

Also Published As

Publication number Publication date
CN106814972A (zh) 2017-06-09

Similar Documents

Publication Publication Date Title
CN106814972B (zh) 分布式块存储的快照节点的回滚方法和装置
CN104376025B (zh) 分布式数据库的数据存储方法和装置
US9405590B2 (en) Method, apparatus, and system for issuing partition balancing subtask
US7197632B2 (en) Storage system and cluster maintenance
CN103634375B (zh) 扩容集群节点的方法、装置及设备
CN104506619A (zh) 一种数据备份、恢复方法及其装置、服务器
WO2015188750A1 (en) Method, apparatus and system for implementing location based services
JP2006294023A (ja) ファイルシステム管理装置及び方法
US10642530B2 (en) Global occupancy aggregator for global garbage collection scheduling
CN108932271B (zh) 一种文件管理方法及装置
CN105518641A (zh) 点对点数据复制方法、设备和系统以及主节点切换方法、设备和系统
CN108255638A (zh) 一种快照回滚方法及装置
CN116610496A (zh) 一种数据恢复系统
CN105930357A (zh) 分布式文件系统及数据节点数据存储处理的方法、装置
CN110597912B (zh) 一种区块存储方法及装置
CN103729301B (zh) 数据处理方法和装置
CN109614268A (zh) 一种云备份数据的恢复方法、装置及系统
CN101833585A (zh) 数据库服务器操作控制系统、方法及设备
CN106648474A (zh) 一种基于逻辑卷恢复虚拟机磁盘的方法
TW201227295A (en) Flash memory device and data writing method thereof
CN114756385A (zh) 一种深度学习场景下的弹性分布式训练方法
CN108259340A (zh) 一种拓扑信息传输方法和装置
CN110569231B (zh) 数据迁移方法、装置、设备和介质
CN111061423B (zh) 一种数据处理方法、装置和管理节点
CN109962942B (zh) 副本更新方法和装置以及计算机可读存储介质

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
PP01 Preservation of patent right

Effective date of registration: 20181115

Granted publication date: 20180417

PP01 Preservation of patent right
PD01 Discharge of preservation of patent

Date of cancellation: 20211115

Granted publication date: 20180417

PD01 Discharge of preservation of patent
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180417

Termination date: 20191222

CF01 Termination of patent right due to non-payment of annual fee