一种数据撤销方法及相关装置与流程

本技术涉及存储,尤其涉及一种数据撤销方法及相关装置。
背景技术:
1、快照技术是一种常见的数据备份技术,一个快照是指关于指定数据集合的一个完全可用拷贝,该拷贝相当于该指定数据集合在某个时间点(创建快照的时间点)的映像。用户可以通过将数据回滚至任何快照的方法,实现数据恢复的目的。现有的基于快照的数据恢复方法,无法撤销某两个快照之间的增量数据,数据处理的效率低,用户体验差。
2、示例性的,在软件测试的过程中,需要安装多个业务组件,可以在完成一个业务组件后创建一个快照,以做该阶段的业务标记。如果测试过程中,其中某一个或某多个组件影响了测试效果,需要重新安装。现有的基于快照的数据恢复方法,需要将数据回滚至需要重新安装的业务组件之前的快照,重新开始测试流程,由于若干个正确安装的业务组件被重新测试,测试效率低。
技术实现思路
1、本技术的实施例提供一种数据撤销方法及相关装置,通过位图算法,实现了某两个快照之间的增量数据的撤销工作,提高了数据处理的效率,提高了用户体验。比如,在软件测试的过程中,可以撤销需要重新安装的业务组件的数据,也就是说,重新开始测试流程中,只需要重新开始该目标组件的测试流程,提高了测试效率。
2、第一方面,本技术实施例提供了一种数据撤销方法,包括:获取用户输入的选择信息,选择信息指示待撤销数据和待恢复数据,待撤销数据为第一快照和第一快照的上一快照之间的增量数据,待恢复数据为第二快照的全量数据,第一快照和第二快照为对源数据磁盘先后创建的快照;根据选择信息,确定第一快照的第一位图信息和第二快照的第二位图信息,第一位图信息为第一快照相对于上一快照的增量数据的位图信息,第二位图信息为第二快照相对于第一快照的增量数据的位图信息;根据第一位图信息和第二位图信息,确定第三位图信息,第三位图信息为第一快照的上一快照中需要复制的数据所在的磁盘位置;复制第二快照对应的全量数据至目标磁盘;根据第三位图信息,得到目标数据。
3、本技术的技术方案中,通过位图算法,根据第一位图信息和第二位图信息,确定第三位图信息,根据该第三位图信息,可以明确待撤销数据中需要覆盖的数据的磁盘位置分布,进而实现待撤销数据的撤销操作。相比于直接通过快照恢复数据的方法,本技术可以通过位图算法,实现撤销某个恢复快照之前的某个快照中的增量数据,进而可以实现数据恢复和数据撤销相组合的功能,满足了用户需求。本技术中所涉及的快照为cow快照,cow快照中的多个快照之间解关联,每个快照相当于对源数据盘的映射,每个快照盘都包含创建时刻的源数据盘的全部数据,因此,本技术的数据撤销过程不会改变待撤销快照以外的快照盘中的数据。本技术通过第三位图信息,可以实现具体的某个磁盘位置的数据撤销,是一种细粒度的数据撤销方法,可以实现精细的数据撤销和历史记录管理。
4、在一种可能的实现方式中,根据第一位图信息和第二位图信息,确定第三位图信息,包括:对第二位图信息进行取反操作,确定第二位图取反信息;对第二位图取反信息和第一位图信息进行与操作,确定第三位图信息。
5、在该实现方式中,根据第二位图信息,确定第二位图取反信息,第二位图取反信息表示第二快照相对于第一快照的增量数据未覆盖的磁盘位置,因此,可以根据第二位图取反信息和第一位图信息,确定哪些磁盘位置同时属于第一位图信息和第二位图取反信息,进而确定第三位图信息,使得第三位图信息可以表示哪些磁盘位置在第一位图信息中、而不在第二位图信息中,进而实现精准位置的数据撤销工作。该实现方式提供了确定第二位图取反信息和第三位图信息的实现方式,但并不构成对本技术的确定第二位图取反信息和第三位图信息的实现方式的具体限制。
6、在一种可能的实现方式中,上述的根据所述第三位图信息,得到目标数据,包括:复制第一快照的上一快照中的第三位图信息所指示的数据至所述目标磁盘,以替换第三位图信息所指示的所述全量数据中对应的磁盘位置的数据。
7、在该实现方式中,提供了一种根据所述第三位图信息,得到目标数据的方法。可以通过复制所述第一快照的上一快照中的所述第三位图信息所指示的数据至所述目标磁盘,得到目标数据;也可以通过其他方法读取数据被撤销之前的第三位图信息所指示的源数据磁盘中的磁盘位置的数据。也就是说,本技术实施例对“待撤销数据所覆盖掉的数据”的获取方法,不进行限制。
8、在一种可能的实现方式中,对第二位图取反信息和第一位图信息进行与操作,确定第三位图信息,包括:对于第二位图取反信息和第一位图信息中的均为0的项,设置第三位图信息中对应的项为0;对于第二位图取反信息和第一位图信息中的不均为0的项,进行同或计算,并设置第三位图信息中对应的项为同或计算后的值。
9、在该实现方式中,提供了一种与操作的实现方式,但并不构成对本技术的与操作的具体限制。
10、在一种可能的实现方式中,根据第三位图信息,复制第一快照的上一快照中的第三位图信息所指示的数据至目标磁盘,包括:读取第一快照的上一快照的全量数据中的第三位图信息所指示的数据;将读取的数据复制到目标磁盘中第三位图信息所指示的磁盘位置。
11、在该实现方式中,提供了一种根据第三位图信息复制数据的实现方式。读取第一快照的上一快照的全量数据中的第三位图信息所指示的数据;将读取的数据复制到目标磁盘中第三位图信息所指示的磁盘位置。第一快照的上一快照中的全量数据为根据第三位图信息所指示的磁盘位置对应的,可以实现替换第二快照的全量数据复制后的第三位图信息所指示的磁盘位置的数据。
12、在一种可能的实现方式中,当第一快照和第二快照为非相邻快照时,第二位图信息通过或运算至少一个中间快照和第二快照的位图信息得到,中间快照为创建时间晚于第一快照且早于第二快照的快照。
13、在该实现方式中,当第一快照和第二快照为非相邻快照时,可以对第一快照和第二快照之间的至少一个中间快照和第二快照的位图信息进行或运算,得到第二位图信息。也就是说,或运算第一快照的下一快照、…、第二快照等快照的位图信息,得到第二位图信息。可以根据第二位图信息,进行数据撤销工作,而不需要分别复制多个中间快照的数据,提高了数据复制的效率。
14、在一种可能的实现方式中,该方法还包括:根据选择信息,确定第三快照,第三快照为创建时间早于第一快照的快照,第三快照为待撤销数据对应的第一快照以外的快照;确定第三快照的第四位图信息和第二快照的第五位图信息,第四位图信息为第三快照相对于上一快照的增量数据的位图信息,第五位图信息为第二快照相对于第三快照的增量数据的位图信息;根据第四位图信息和第五位图信息,确定第六位图信息,第六位图信息为第三快照对应的待撤销数据中的待覆盖数据的位图信息。上述的根据第三位图信息,得到目标数据,包括:根据第三位图信息和第六位图信息,得到目标数据。
15、在该实现方式中,提供了撤销的快照包括两个快照时的实现方法。也就是说,在恢复第二快照的数据过程中,可以撤销多个快照中的增量数据。在进行多个快照的撤销过程中,可以理解为本技术中的单个快照撤销的多次执行。从而满足用户撤销多个快照中的增量数据的需求。
16、在一种可能的实现方式中,上述的根据第三位图信息和第六位图信息,得到目标数据,包括:根据第三位图信息,复制第一快照的上一快照中的第三位图信息所指示的数据至目标磁盘,以替换第三位图信息所指示的全量数据中对应的磁盘位置的数据;根据第六位图信息,复制第三快照的上一快照中的第六位图信息所指示的数据至目标磁盘,以替换第六位图信息所指示的全量数据中对应的磁盘位置的数据,得到目标数据。
17、在该实现方式中,提供了一种根据所述第三位图信息和第六位图信息,得到目标数据的方法。比如,可以通过复制所述第一快照的上一快照中的所述第三位图信息所指示的数据至所述目标磁盘,复制第三快照的上一快照中的第六位图信息所指示的数据至目标磁盘,得到目标数据。也可以通过其他方法读取数据被撤销之前的第三位图信息和第六位图信息所指示的源数据磁盘中的磁盘位置的数据。也就是说,本技术实施例对“待撤销数据所覆盖掉的数据”的获取方法,不进行限制,从上一个快照中获取仅为示例。
18、在一种可能的实现方式中,确定第三快照的第四位图信息和第二快照的第五位图信息包括:根据第三快照相对于上一快照的增量数据的位图信息,得到第四位图信息;或运算第一快照以外的中间快照和第二快照的位图信息,确定第五位图信息,第一快照以外的中间快照为创建时间晚于第三快照且早于第二快照的第一快照以外的一个或者多个快照。
19、在该实现方式中,可以或运算除了第一快照以外的中间快照和第二快照的位图信息,确定第五位图信息。第五位图信息不包括第一快照的位图信息,所以,第一快照和第三快照的数据撤销过程可以独立完成,从而实现了撤销多个快照中的增量数据的目的。
20、在一种可能的实现方式中,该方法还包括:对第三位图信息进行去重处理,去重处理包括当第六位图信息和第三位图信息存在同为1的项时,将第三位图信息中的同为1的项设置为0。
21、在该实现方式中,需要对第三位图信息进行去重处理,某个磁盘位置的数据,可能多次被待撤销数据覆盖,去重处理,可以使得该某个磁盘位置的数据,恢复到首次被待撤销数据覆盖前的状态。具体地,对于同为1的位置,将第三位图信息中的该位置的项设置为0,将第六位图信息中的该位置的项设置为1。原因在于:第六位图信息对应的第三快照的创建时间早于第三位图信息对应的第一快照的创建时间,从而实现“一撤到底”的目的。另外的,去重处理,使得第一快照中的待撤销数据和第三快照中的待撤销数据之间不存在重合的磁盘位置,从而可实现并行地执行第一快照和第三快照的撤销操作,也就是并行地复制第一快照的前一快照的数据和第三快照的前一快照的数据,提高了数据复制的效率。
22、第二方面,本技术实施例提供了一种数据撤销装置,包括:获取模块,用于获取用户输入的选择信息,选择信息指示源数据磁盘中的待撤销数据和待恢复数据,待撤销数据为第一快照和第一快照的上一快照之间的增量数据,待恢复数据为第二快照的全量数据,第一快照和第二快照为对源数据磁盘先后创建的快照;处理模块,用于根据选择信息,确定第一快照的第一位图信息和第二快照的第二位图信息,第一位图信息为第一快照相对于上一快照的增量数据的位图信息,第二位图信息为第二快照相对于第一快照的增量数据的位图信息;以及,根据第一位图信息和第二位图信息,确定第三位图信息,第三位图信息为第一快照的上一快照中需要复制的数据所在的磁盘位置;复制第二快照对应的全量数据至目标磁盘;根据第三位图信息,得到目标数据。
23、在一种可能的实现方式中,该处理模块具体用于:对第二位图信息进行取反操作,确定第二位图取反信息;对第二位图取反信息和第一位图信息进行与操作,确定第三位图信息。
24、在一种可能的实现方式中,该处理模块具体用于:复制第一快照的上一快照中的第三位图信息所指示的数据至所述目标磁盘,以替换第三位图信息所指示的所述全量数据中对应的磁盘位置的数据。
25、在一种可能的实现方式中,该处理模块具体用于:对于第二位图取反信息和第一位图信息中的均为0的项,设置第三位图信息中对应的项为0;对于第二位图取反信息和第一位图信息中的不均为0的项,进行同或计算,并设置第三位图信息中对应的项为同或计算后的值;
26、在一种可能的实现方式中,该处理模块具体用于:读取第一快照的上一快照的全量数据中的第三位图信息所指示的数据;将读取的数据复制到目标磁盘中第三位图信息所指示的磁盘位置。
27、在一种可能的实现方式中,当第一快照和第二快照为非相邻快照时,第二位图信息通过或运算至少一个中间快照和第二快照的位图信息得到,中间快照为创建时间晚于第一快照且早于第二快照的快照。
28、在一种可能的实现方式中,该处理模块还用于:根据选择信息,确定第三快照,第三快照为创建时间早于第一快照的快照,第三快照为待撤销数据对应的第一快照以外的快照;确定第三快照的第四位图信息和第二快照的第五位图信息,第四位图信息为第三快照相对于上一快照的增量数据的位图信息,第五位图信息为第二快照相对于第三快照的增量数据的位图信息;根据第四位图信息和第五位图信息,确定第六位图信息,第六位图信息为第三快照对应的待撤销数据中的待覆盖数据的位图信息。该处理模块具体用于:根据第三位图信息和第六位图信息,得到目标数据。
29、在一种可能的实现方式中,该处理模块具体用于:根据第三快照相对于上一快照的增量数据的位图信息,得到第四位图信息;或运算第一快照以外的中间快照和第二快照的位图信息,确定第五位图信息,第一快照以外的中间快照为创建时间晚于第三快照且早于第二快照的第一快照以外的一个或者多个快照。
30、在一种可能的实现方式中,该处理模块还用于:对第三位图信息进行去重处理,去重处理包括当第六位图信息和第三位图信息存在同为1的项时,将第三位图信息中的同为1的项设置为0。
31、在一种可能的实现方式中,该处理模块还用于:根据第三位图信息,复制第一快照的上一快照中的第三位图信息所指示的数据至目标磁盘,以替换第三位图信息所指示的全量数据中对应的磁盘位置的数据;根据第六位图信息,复制第三快照的上一快照中的第六位图信息所指示的数据至目标磁盘,以替换第六位图信息所指示的全量数据中对应的磁盘位置的数据,得到目标数据。
32、第三方面,本技术实施例提供一种用户界面系统,包括:用户界面,包括多个控件,每个控件用于指示待撤销数据或者待恢复数据;服务器,用于从用户界面获取用户对多个控件的选择信息,以及根据选择信息,确定待撤销数据对应的第一快照和待恢复数据对应的第二快照,以及执行上述第一方面及其实现方式中的任意一项的方法。
33、第四方面,本技术实施例提供一种数据撤销系统,包括:终端设备、服务器。终端设备用于提供用户界面,用户通过用户界面确定待撤销和待恢复的快照的选择信息,服务器用于接收选择信息,并根据选择信息,执行上述第一方面及其实现方式中的任意一项的方法。
34、第五方面,本技术实施例提供一种计算设备,计算设备包括:处理器、存储器。存储器中存储有指令操作或代码。处理器配置为与存储器通信,并执行存储器中的指令操作或代码以执行上述第一方面及其实现方式中的任意一项的方法。
35、第六方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质包括指令,当指令在计算机上运行时,使得计算机执行上述第一方面及其实现方式中的任意一项的方法。
36、第七方面,本技术实施例提供一种包含指令的计算机程序产品,当指令被计算设备运行时,使得计算设备执行上述第一方面及其实现方式中的任意一项的方法。
技术研发人员:李红磊,张存昕
技术所有人:超聚变数字技术有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
