本发明涉及存储,特别是涉及一种数据存储方法、设备、存储介质及计算机程序产品。
背景技术:
1、快照技术是一种应用广泛的数据保护和数据备份的技术,可以基于时间点进行数据保护和数据备份,例如在某一时刻对某个卷中的数据生成快照数据,即对此卷在当前时刻的数据产生副本。在卷数据受到破坏后需要数据复原时,可以进行该卷的回滚,以使卷中的数据恢复到快照数据生成时刻的状态。
2、快照可以分为全量快照和增量快照两大类型。增量快照主要有写时拷贝(copy onwrite,cow)与写时重定向(redirect on write,row)两种方式实现。写时重定向的原理为当源卷的数据发生变化时,将数据保存在新的物理地址,即重定向写,再将数据的逻辑地址以及旧数据的物理地址之间的地址映射信息写入快照卷的元数据空间,将数据的逻辑地址以及新写入的物理地址之间的地址映射信息写入源卷的元数据空间,即重定向到新的存储位置。当选择快照卷进行回滚时,还需要将快照卷中的地址映射信息拷贝回源卷。
3、写时重定向相较于写时拷贝,虽然无需拷贝数据到快照卷,在一定程度上提升了写性能,但地址映射信息的拷贝仍然会使源卷的写性能下降。
4、如何解决地址映射信息拷贝带来的快照源卷写性能下降问题,使本领域技术人员需要解决的技术问题。
技术实现思路
1、本发明的目的是提供一种数据存储方法、设备、存储介质及计算机程序产品,用于解决地址映射信息拷贝带来的快照源卷写性能下降问题,提升快照源卷的写性能。
2、为解决上述技术问题,本发明提供一种数据存储方法,包括:
3、在为源卷创建快照卷后,记录所述快照卷的快照卷标识;
4、在所述源卷的数据发生变化时,根据目标写数据的目标写逻辑地址以及所述目标写数据所重定向写入的目标写物理地址,确定所述目标写逻辑地址对应的更新后的地址映射信息;
5、根据当前时刻与所述源卷对应的最新快照卷的最新快照卷标识确定与所述更新后的地址映射信息关联的关联快照卷标识;
6、将所述更新后的地址映射信息与所述关联快照卷标识关联存入所述源卷的元数据空间。
7、一方面,还包括:
8、在接收到对所述源卷的源卷回滚命令时,确定待回滚至的目标快照卷的目标快照卷标识;
9、在所述源卷的元数据空间中,根据所述目标快照卷标识重新确定各逻辑地址对应的最新地址映射信息后,完成所述源卷回滚命令。
10、另一方面,根据所述目标快照卷标识重新确定各逻辑地址对应的最新地址映射信息后,完成所述源卷回滚命令,包括:
11、为所述源卷创建影子快照卷,所述影子快照卷为空快照卷;
12、建立所述影子快照卷与所述目标快照卷的跳转关联关系后,确定完成所述源卷回滚命令;
13、其中,跳转关联关系为将访问所述影子快照卷跳转至访问所述目标快照卷的关联关系。
14、另一方面,还包括:
15、在完成所述源卷回滚命令后,根据所述目标快照卷标识确定在所述目标快照卷之后创建的待删除快照卷的待删除快照卷标识;
16、根据所述待删除快照卷标识删除所述目标快照卷至所述影子快照卷之间更新的地址映射信息。
17、另一方面,还包括:
18、若所述源卷具有在所述影子快照卷之前创建的历史影子快照卷,且所述历史影子快照卷的创建时间在所述影子快照卷和所述目标快照卷之间,则删除所述历史影子快照卷以及所述历史影子快照卷对应的跳转关联关系;
19、若所述源卷具有所述历史影子快照卷但所述历史影子快照卷的创建时间在所述目标快照卷之前,则保留所述历史影子快照卷以及所述历史影子快照卷对应的跳转关联关系。
20、另一方面,根据所述目标快照卷标识重新确定各逻辑地址对应的最新地址映射信息后,完成所述源卷回滚命令,包括:
21、在所述源卷的元数据空间中,根据所述目标快照卷标识确定在所述目标快照卷之后创建的待删除快照卷的待删除快照卷标识;
22、删除与所述待删除快照卷标识对应的地址映射信息后,确定完成所述源卷回滚命令。
23、另一方面,所述根据当前时刻与所述源卷对应的最新快照卷的最新快照卷标识确定与所述更新后的地址映射信息关联的关联快照卷标识,包括:
24、采用所述最新快照卷标识作为所述关联快照卷标识;
25、根据所述目标快照卷标识重新确定各逻辑地址对应的最新地址映射信息后,完成所述源卷回滚命令,包括:
26、若逻辑地址对应的地址映射信息中存在所述目标快照卷的上一时刻创建的上一时刻快照卷的上一时刻快照卷标识,则以所述上一时刻快照卷标识对应的地址映射信息为逻辑地址对应的最新地址映射信息;
27、若逻辑地址对应的地址映射信息中不存在所述上一时刻快照卷标识,则继续向所述上一时刻快照卷的上一时刻查询,直至查询得到所有逻辑地址对应的最新地址映射信息。
28、另一方面,所述根据当前时刻与所述源卷对应的最新快照卷的最新快照卷标识确定与所述更新后的地址映射信息关联的关联快照卷标识,包括:
29、根据所述最新快照卷标识确定未来将要创建的首个待创建快照卷的待创建快照卷标识;
30、以所述待创建快照卷标识为所述关联快照卷标识;
31、根据所述目标快照卷标识重新确定各逻辑地址对应的最新地址映射信息后,完成所述源卷回滚命令,包括:
32、若逻辑地址对应的地址映射信息中存在所述目标快照卷标识,则以所述目标快照卷标识为逻辑地址对应的最新地址映射信息;
33、若逻辑地址对应的地址映射信息中不存在所述目标快照卷标识,则向所述目标快照卷的上一时刻查询,直至查询得到所有逻辑地址对应的最新地址映射信息。
34、另一方面,还包括:
35、若所述源卷不具有所述快照卷,则在所述源卷的数据发生变化时,在确定所述更新后的地址映射信息后,将所述更新后的地址映射信息与生成的初始快照卷标识关联存入所述源卷的元数据空间。
36、另一方面,将所述更新后的地址映射信息与所述关联快照卷标识关联存入所述源卷的元数据空间,包括:
37、将同一逻辑地址对应的地址映射信息以及所述关联快照卷标识按照更新时间顺序存储于所述源卷的元数据空间中的相邻位置。
38、另一方面,还包括:
39、在接收到对所述源卷的读数据命令时,根据目标读数据的目标读逻辑地址自所述源卷的元数据空间查询所述目标读逻辑地址对应的地址映射信息中的最新读物理地址;
40、以所述最新读物理地址为所述目标读数据的目标读物理地址,自所述目标读物理地址读取所述目标读数据。
41、另一方面,快照卷标识为按照所述快照卷的创建顺序从小到大排序的快照卷版本号;
42、根据当前时刻与所述源卷对应的最新快照卷的最新快照卷标识确定与所述更新后的地址映射信息关联的关联快照卷标识,包括:
43、以所述源卷的元数据空间中存储的最大快照卷标识为所述最新快照卷标识,根据所述最新快照卷标识确定所述关联快照卷标识。
44、为解决上述技术问题,本发明还提供一种数据存储设备,包括:
45、存储器,用于存储计算机程序;
46、处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一项所述数据存储方法的步骤。
47、为解决上述技术问题,本发明还提供一种非易失性存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述数据存储方法的步骤。
48、为解决上述技术问题,本发明还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上述任意一项所述数据存储方法的步骤。
49、本发明所提供的数据存储方法,有益效果在于在源卷的元数据空间中以数据为单位进行不同版本的快照卷的元数据管理,在源卷的数据发生变化时,根据目标写数据的目标写逻辑地址以及目标写数据所重定向写入的目标写物理地址,确定目标写逻辑地址对应的更新后的地址映射信息,根据当前时刻与源卷对应的最新快照卷的最新快照卷标识确定与更新后的地址映射信息关联的关联快照卷标识,而后将更新后的地址映射信息与关联快照卷标识关联存入源卷的元数据空间,无需将旧的地址映射信息拷贝至快照卷的元数据空间即可实现写重定向快照,从而加快了重定向写的速度,提升了存储的写性能。在此基础上,无论读还是回滚过程都只需要到源卷的元数据空间直接查询到地址映射信息,也可以提升存储的读性能和回滚性能,实现一种兼具性能和可靠性的数据存储方案。
50、本发明还提供一种数据存储设备、非易失性存储介质及计算机程序产品,具有上述有益效果,在此不再赘述。
1.一种数据存储方法,其特征在于,包括:
2.根据权利要求1所述的数据存储方法,其特征在于,还包括:
3.根据权利要求2所述的数据存储方法,其特征在于,根据所述目标快照卷标识重新确定各逻辑地址对应的最新地址映射信息后,完成所述源卷回滚命令,包括:
4.根据权利要求3所述的数据存储方法,其特征在于,还包括:
5.根据权利要求3所述的数据存储方法,其特征在于,还包括:
6.根据权利要求2所述的数据存储方法,其特征在于,根据所述目标快照卷标识重新确定各逻辑地址对应的最新地址映射信息后,完成所述源卷回滚命令,包括:
7.根据权利要求2所述的数据存储方法,其特征在于,所述根据当前时刻与所述源卷对应的最新快照卷的最新快照卷标识确定与所述更新后的地址映射信息关联的关联快照卷标识,包括:
8.根据权利要求2所述的数据存储方法,其特征在于,所述根据当前时刻与所述源卷对应的最新快照卷的最新快照卷标识确定与所述更新后的地址映射信息关联的关联快照卷标识,包括:
9.根据权利要求1所述的数据存储方法,其特征在于,还包括:
10.根据权利要求1所述的数据存储方法,其特征在于,将所述更新后的地址映射信息与所述关联快照卷标识关联存入所述源卷的元数据空间,包括:
11.根据权利要求1所述的数据存储方法,其特征在于,还包括:
12.根据权利要求1所述的数据存储方法,其特征在于,快照卷标识为按照所述快照卷的创建顺序从小到大排序的快照卷版本号;
13.一种数据存储设备,其特征在于,包括:
14.一种非易失性存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12任意一项所述数据存储方法的步骤。
15.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如权利要求1至12任意一项所述数据存储方法的步骤。