当前位置: 首页 > 专利查询>伊姆西公司专利>正文

加快快照服务重新上线速度的方法、设备和计算机程序技术

技术编号:9276300 阅读:100 留言:0更新日期:2013-10-24 23:27
本发明专利技术提供了一种用于在系统重启时,加快快照服务重新上线速度的方法、设备和计算机程序产品。具体地,该方法包括在快照服务重新上线之前,仅重建用于源数据存储磁盘中部分数据块的位图。通过在快照服务重新上线之前仅恢复用于部分数据块的位图,可以加快快照服务重新上线速度,以及由此缩短了主文件系统和快照文件系统恢复使用所需的时间,为用户带来了更好的体验。

【技术实现步骤摘要】
加快快照服务重新上线速度的方法、设备和计算机程序
本专利技术涉及快照服务领域,更具体地,本专利技术涉及一种用于在系统重启时,加快快照服务重新上线速度的方法、设备和计算机程序产品。
技术介绍
在本部分中描述的内容旨在促进对本专利技术的理解,但并不因为将其包括在本部分中就承认是对于本专利技术而言的现有技术。在文件系统中,为了预防数据可能由于病毒感染、配置信息崩溃、系统崩溃等原因被“污染”或者在逻辑上被损毁,可以拍下一些历史时刻的数据内容进行留底,这被形象地称为“快照(snap)”技术。流行的快照技术包括第一次写时复制(CoFW)技术。根据CoFW技术,在启用了快照服务之后,如果系统上层有针对主文件系统的源数据存储磁盘中自从快照生成之后从来未被更新过的某个或者某些数据块(逻辑上的磁盘存储单位)的写入请求,则在更新这些数据块之前,先将数据块中存储的原始数据(即,需要获取其“快照”的数据)复制出来,放入快照文件系统的快照专用磁盘中(即,进行“快照”),然后再将新数据写入源数据存储磁盘的数据块中。换句话说,原始数据先占着位置,什么时候新数据来了,原始数据再让位。这样,源数据存储磁盘中的数据随时都是当前最新的数据,同时又能通过将源数据存储磁盘中的原始数据复制出来而使其不致丢失,以供日后使用。下面参考图1A-图1D对CoFW技术做详细描述。图1A示意性地示出了在最初未针对原始数据创建快照时的主文件系统和快照文件系统示意图。如图1A所示,源数据存储磁盘中的数据块(属于主文件系统)地址0、1、2...中存储有原始数据A、B、C...。在此初始状态,由于未针对原始数据执行过更新操作,所以快照专用磁盘中的数据块(属于快照文件系统)地址10、11、12...中未存储复制出来的原始数据。如图1A进一步所示,存在用于被复制至快照专用磁盘的原始数据的地址映射表。该地址映射表最初存在于实现主文件系统和快照文件系统的计算设备的内存中,用于存储进行了“快照”(即,从源数据存储磁盘的数据块复制到了快照专用磁盘的数据块中)的原始数据的原始存储位置与现在存储位置之间的地址映射(例如,如图1B的130所示),以使得在原始数据被移动了之后还能找到该原始数据。从图1A可见,该地址映射表存储于内存和磁盘二者中,也即,在内存中创建的地址映射表会在一段时间后被同步到磁盘,以进行持久化存储。图1A中还示出了位图,用于快速指示源数据存储磁盘的数据块中的原始数据是否进行了“快照”。该位图的地址空间与源数据存储磁盘中的数据块一一对应。位图的位存储有为0或1的值。若某个位存储0,则表示该位所对应的数据块中的原始数据未进行“快照”。若某个位为1,则表示原始数据进行了“快照”。可以理解,在图1A所示未针对原始数据创建快照的情况中,位图中存储的所有数值初始为0。在CoFW技术中进行访问操作时,通过查找位图(而非查找地址映射表),能够快速得知在源数据存储磁盘中某个数据块处的原始数据是否已进行了“快照”,即,简单地通过0和1就能辨识。需要注意的是,位图仅存在于计算设备的内存中,而不会在磁盘上进行持久化。换言之,在实现主文件系统和快照文件系统的计算设备重启之后,需要在内存中重建位图(针对图1D详述)。进一步,参考图1B,其中示意性地示出了针对源数据存储磁盘中第一数据块地址0进行了首次更新、并且已将用于该地址0处原始数据A的地址映射(0,10)同步至磁盘时的主文件系统和快照文件系统示意图。在此示例中涉及的具体更新操作如下:(1)系统查看位图,发现其中对应原始数据A的地址0的位为0(如之前的图1A所示),说明原始数据A未进行“快照”;(2)从地址0读取原始数据A,并将该原始数据A和部分元数据(例如,原始数据A的原始地址0和校验和checksum)写入快照专用磁盘中的地址10,如110所示;(3)将原始数据A的原始地址0和被复制至的地址10之间的地址映射(0,10)插入到内存中的地址映射表,如130所示;(4)将位图中与原始数据A的原始地址0对应的位设置为1,如120所示;(5)将更新数据E写入至原始数据A的原始地址0,如100所示;以及(6)在一段时间后,将内存中的地址映射表同步至磁盘,如130所示。由此,在快照专用磁盘中创建了同步点1201。需要注意,同步点对应于快照专用磁盘上的一个地址,会定期地创建。位于同步点以内(地址小于同步点)的原始数据(例如,图1B中的原始数据A)所对应的地址映射都被同步到了磁盘中,这部分数据区称为稳定数据区。位于同步点以外(地址大于同步点)的原始数据所对应的地址映射还没有同步到磁盘中,在系统重启或宕机启动时需要重构修复对应的地址映射,这部分数据区称为不稳定数据区。与图1B类似地,图1C示意性地示出了针对第二数据块地址1进行了首次更新后的、源数据存储磁盘中的第二数据块地址1、快照专用磁盘中的数据块地址11、位图以及内存中的地址映射表的状态。与图1B中更新操作的区别在于,此时未将用于原始数据B的地址映射同步至磁盘(通过比较附图标记131与131’可知)。从上文对同步点的描述容易得知,此时的同步点仍然为1201。假设,此时计算设备例如因掉电而关闭。随后,在计算设备重启后,快照服务所涉及的内存(易失性存储器)中的地址映射表为空,位图的所有位被重新初始化为0,以及磁盘中的地址映射表尚未存储用于已被复制出来的原始数据B的地址映射(如图1D所示)。为了使快照服务重新上线,即恢复使用,需要重建内存中的位图和地址映射表,以及相应地更新磁盘中的地址映射表。
技术实现思路
本专利技术人发现,按照已知的方法,在使快照服务重新上线之前,需要恢复用于源数据存储磁盘中所有数据块的整个位图。这样做的弊端在于:快照服务重新上线需要很长的时间,因为恢复时间与快照所涉及数据块的多少成线性比例关系。尤其在所涉及数据块非常多的情况下,这样做会严重影响各种应用的操作和用户的体验。为了克服上述缺陷中的一个或多个,本专利技术期望提供一种方法、设备和计算机程序产品,用于在系统重启时,加快快照服务重新上线速度。在本专利技术的第一方面中,提供了一种方法,例如可以包括:在快照服务重新上线之前,仅重建用于源数据存储磁盘中部分数据块的位图。显然,相比于在快照服务重新上线之前需要恢复用于源数据存储磁盘中所有数据块的位图的方式,根据本专利技术实施方式的、通过在快照服务重新上线之前仅恢复用于部分数据块的位图,可以加快快照服务重新上线速度,以及由此缩短了主文件系统和快照文件系统恢复使用所需的时间。根据本专利技术的某些实施方式,优选地,上述部分数据块中的原始数据已被复制到快照专用磁盘并且用于该原始数据的地址映射未同步至存储在磁盘中的地址映射表,即,这些原始数据位于快照专用磁盘中的不稳定数据区(如上文所述)。可以理解,这种数据块中的数据是刚刚进行了快照的数据,由此,这部分数据块的活跃度较高,被进一步访问的可能性较大。可见,重建用于这部分数据块的位图,能够提高针对这部分数据块的访问访问速度,由此进一步提高系统性能。根据本专利技术的某些实施方式,优选地,在快照服务重新上线之后,异步地重建用于源数据存储磁盘中除上述部分数据块以外的剩余数据块的位图。根据本专利技术的某些实施方式,优选地,剩余数据块中的原始数据已被复制到快照专用磁盘并且用于该原始数据的地址映射已同步本文档来自技高网
...
加快快照服务重新上线速度的方法、设备和计算机程序

【技术保护点】
一种方法,包括:在快照服务重新上线之前,仅重建用于源数据存储磁盘中部分数据块的位图。

【技术特征摘要】
1.一种位图重建方法,所述方法包括:在快照服务重新上线之前,重建仅针对源数据存储磁盘中的所有数据块中的部分数据块的位图,其中所述部分数据块中的原始数据已被复制到快照专用磁盘并且用于所述原始数据的地址映射未同步至存储在磁盘中的地址映射表。2.根据权利要求1所述的方法,进一步包括:在所述快照服务重新上线之后,异步地重建用于所述源数据存储磁盘中除所述部分数据块以外的剩余数据块的位图。3.根据权利要求2所述的方法,其中所述剩余数据块中的原始数据已被复制到所述快照专用磁盘并且用于所述原始数据的地址映射已同步至存储在所述磁盘中的地址映射表;或者所述剩余数据块中的原始数据未被复制到所述快照专用磁盘。4.根据权利要求2所述的方法,其中:异步地重建用于所述源数据存储磁盘中除所述部分数据块以外的剩余数据块的位图是由并发执行的线程实施的...

【专利技术属性】
技术研发人员:杨加林赵军平谢纲齐巍胡风华
申请(专利权)人:伊姆西公司
类型:发明
国别省市:

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

1