本发明涉及存储,具体涉及数据备份方法、装置、计算机设备及存储介质。
背景技术:
1、随着云计算的快速发展,云硬盘备份已经成为用户保护数据的重要方式。这样,在云主机磁盘故障、用户误删数据、遭到黑客攻击等情况下,可以将备份的数据快速恢复到源云硬盘,有效保证用户数据的安全性。
2、一般备份云硬盘的过程是通过将源云硬盘存储的数据通过同步拷贝的方式备份到备份云硬盘的。同步拷贝即将数据按顺序一个一个复制到备份云硬盘。在同步拷贝的方式下,备份耗时会随着数据量的增加而增加。在数据量较大的情况下,备份时间会过长,过长的备份时间对云主机的业务会产生较大影响。
技术实现思路
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、根据多条所述训练数据中的每一条训练数据对应的所述预测线程数和所述实际线程数,确定目标损失值,其中,所述目标损失值为其中,mse(y,y’)为所述目标损失值,x为所述训练数据集中训练数据的数量,yi为所述训练数据集中的第i条训练数据对应的预测线程数,y’为所述第i条训练数据对应的实际线程数;
38、当根据所述目标损失值确定满足停止训练条件时,将完成训练的每一个所述决策树模型,确定为所述目标决策树模型;
39、或者,当根据所述目标损失值确定满足停止训练条件时,进入下一迭代周期,直到根据任一迭代周期的目标损失值确定满足停止训练条件时,停止训练,并将最终完成训练时的每一个决策树模型,确定为所述目标决策树模型;
40、所有的所述目标决策树模型构成所述线程计算模型。
41、具体地,通过迭代训练,可以得到一个较为精准的随机森林算法模型。通过随机森林算法模型可以自动完成最优线程数的确定,无需人工进行确定。另外,通过使用最优线程数的线程进行数据备份,可以大大提高数据备份的效率。
42、第二方面,本发明提供了一种数据备份装置,所述装置应用于云平台系统,所述云平台系统包括宿主机和存储系统,包括:
43、获取模块,用于获取备份操作指令以及所述宿主机的至少一个属性参数值,其中,所述备份操作指令中包括目标硬盘的标识信息;
44、提取模块,用于从所述备份操作指令中提取所述标识信息;
45、所述获取模块,还用于根据所述标识信息,获取所述目标硬盘中的目标备份数据所占用的存储空间大小,以及所述目标备份数据在所述目标硬盘中的存储位置信息集合;
46、确定模块,用于根据至少一个所述属性参数值中所有的属性参数值,以及所述目标备份数据所占用的存储空间大小,确定最优线程数量;
47、挂载模块,用于分别将所述目标硬盘和目标基础卷挂载至所述宿主机,其中,所述目标基础卷为所述存储系统中存储的与所述目标硬盘关联的基础卷列表中创建时间最新,且容量大小与所述目标硬盘的容量大小相同的基础卷;
48、划分模块,用于根据所述目标备份数据所占用的存储空间大小、预设数据块大小、所述存储位置信息集合和所述最优线程数量,对所述目标备份数据进行划分得到与所述最优线程数量等同数量的数据组;
49、确定模块,用于根据所述存储位置信息集合,确定与每一个所述数据组中的数据块对应的存储位置;
50、备份模块,用于通过与目标数据组对应的目标线程,从所述目标硬盘中与所述目标数据组中的数据块对应的存储位置提取数据,并备份到所述目标基础卷,其中,所述目标数据组为任一个所述数据组。
51、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的数据备份方法。
52、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的数据备份方法。
1.一种数据备份方法,其特征在于,所述方法应用于云平台系统,所述云平台系统包括宿主机和存储系统,所述方法由所述宿主机执行,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据至少一个所述属性参数值中所有的属性参数值,以及所述目标备份数据所占用的存储空间大小,确定最优线程数量,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标备份数据所占用的存储空间大小、预设数据块大小、所述存储位置信息集合和所述最优线程数量,对所述目标备份数据进行划分得到与所述最优线程数量等同数量的数据组,包括:
4.根据权利要求1-3任一项所述的方法,其特征在于,所述通过与目标数据组对应的目标线程,从所述目标硬盘中与所述目标数据组中的数据块对应的存储位置提取数据,并备份到所述目标基础卷之后,所述方法还包括:
5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述将所述备份记录信息发送至所述存储系统之后,所述方法还包括:
7.根据权利要求2所述的方法,其特征在于,所述线程计算模型为随机森林算法模型,所述随机森林算法模型中包括多个目标决策树模型,所述获取备份操作指令以及所述宿主机的至少一个属性参数值之前,所述方法还包括:
8.一种数据备份装置,其特征在于,所述装置应用于云平台系统,所述云平台系统包括宿主机和存储系统,所述装置包括:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的数据备份方法。
