一种数据保护方法、装置、设备及存储介质制造方法及图纸

技术编号:34726163 阅读:26 留言:0更新日期:2022-08-31 18:13
本申请公开了一种数据保护方法、装置、设备及存储介质,涉及计算机技术领域,包括:获取虚拟化环境中待保护的原始数据;计算原始数据的纠删码,并将原始数据和纠删码保存至分布式系统的多个目标节点;当目标节点出现故障时,获取未出现故障的目标节点或出现故障的目标节点上的未丢失的原始数据和未丢失的纠删码,并利用未丢失的原始数据和未丢失的纠删码对所述原始数据进行恢复。本申请利用纠删码的副本冗余机制策略来实现数据保护,能够提高数据保护的可靠性,节省更多的磁盘空间,提高磁盘的利用率,大幅减少存储成本,并且能容忍多节点或者节点上的多块磁盘故障,使系统的容错能力得到大幅度的提高。力得到大幅度的提高。力得到大幅度的提高。

【技术实现步骤摘要】
一种数据保护方法、装置、设备及存储介质


[0001]本申请涉及计算机
,特别涉及一种数据保护方法、装置、设备及存储介质。

技术介绍

[0002]随着数据规模的不断增大,云计算也得到了飞速发展,而虚拟化作为云计算底层架构的基石也得到了广泛应用。在服务器虚拟化中,虚拟化软件需要实现对硬件的抽象、资源的分配、调度和管理。而随着公有云、私有云、政务云等在各行各业中的广泛应用,对虚拟化平台的稳定性、可靠性和数据冗余恢复机制等提出了更高的要求,尤其在金融、政务、医疗等行业,对数据业务安全等级又提升了一个档次。
[0003]目前虚拟化平台通常将服务器的CPU(Central Processing Unit,中央处理器)、内存、存储、网卡等硬件资源抽象成一整套软件系统提供给用户使用,用户通过在虚拟化平台上部署虚拟机来运行自己的业务,因此对用户来说,数据的安全和业务的稳定运行是至关重要的。
[0004]目前,在当前的虚拟化技术中,除了常用的快照和备份方式外,还有一种方案是通过开启磁盘多副本的方式对虚拟机进行数据保护的,即虚拟机在生产存储池里的磁盘数据,开启磁盘多副本后,会在所选择的备份存储池里生成相应的磁盘副本(如两副本、三副本等),如果生产存储池里的磁盘数据丢失后,可以通过恢复备份存储池里的磁盘副本恢复数据,达到数据冗余保护的目的。然而,虚拟机的磁盘多副本对于数据保护的可靠性虽然较高,但是牺牲了存储的利用率,两副本空间利用率为50%,三副本空间利用率为33.3%。这种通过牺牲存储空间来提高数据可靠性的方式,降低了磁盘空间利用、提高了存储成本,并且当多节点或者节点上的多块磁盘故障时,系统的容错能力将大大下降。

技术实现思路

[0005]有鉴于此,本申请的目的在于提供一种数据保护方法、装置、设备及存储介质,能够提高数据保护的可靠性,节省更多的磁盘空间,提高磁盘的利用率,大幅减少存储成本,并且能容忍多节点或者节点上的多块磁盘故障,使系统的容错能力得到大幅度的提高。其具体方案如下:
[0006]第一方面,本申请公开了一种数据保护方法,包括:
[0007]获取虚拟化环境中待保护的原始数据;
[0008]计算所述原始数据的纠删码,并将所述原始数据和所述纠删码保存至分布式系统的多个目标节点;
[0009]当所述目标节点出现故障时,获取未出现故障的所述目标节点或出现故障的所述目标节点上的未丢失的所述原始数据和未丢失的所述纠删码,并利用未丢失的所述原始数据和未丢失的所述纠删码对所述原始数据进行恢复。
[0010]可选的,所述获取虚拟化环境中待保护的原始数据,包括:
[0011]获取虚拟化环境中待保护的原始数据,并对所述原始数据进行分割,得到第一数量的原始数据块。
[0012]可选的,所述计算所述原始数据的纠删码,并将所述原始数据和所述纠删码保存至分布式系统的多个目标节点,包括:
[0013]利用预设纠删码校验码算法对所有所述原始数据块进行计算,得到第二数量的数据校验块;
[0014]将所述原始数据块和所述数据校验块分别保存至分布式系统的多个目标节点。
[0015]可选的,所述当所述目标节点出现故障时,获取未出现故障的所述目标节点或出现故障的所述目标节点上的未丢失的所述原始数据和未丢失的所述纠删码,并利用未丢失的所述原始数据和未丢失的所述纠删码对所述原始数据进行恢复,包括:
[0016]当所述目标节点出现故障时,统计出现故障的所述目标节点的数量,得到目标故障节点数量,并判断所述目标故障节点数量是否大于预设故障节点数量;
[0017]若所述目标故障节点数量小于或等于所述预设故障节点数量,则获取未出现故障的所述目标节点上的未丢失的所述原始数据块和未丢失的所述数据校验块,并利用未丢失的所述原始数据块和未丢失的所述数据校验块对丢失的所述原始数据块进行恢复。
[0018]可选的,所述计算所述原始数据的纠删码,并将所述原始数据和所述纠删码保存至分布式系统的多个目标节点,包括:
[0019]利用预设纠删码校验码算法对所有所述原始数据块进行计算,得到第三数量的数据校验块;
[0020]将所述原始数据块和所述数据校验块一同保存至分布式系统的多个目标节点的多个硬盘中。
[0021]可选的,所述当所述目标节点出现故障时,获取未出现故障的所述目标节点或出现故障的所述目标节点上的未丢失的所述原始数据和未丢失的所述纠删码,并利用未丢失的所述原始数据和未丢失的所述纠删码对所述原始数据进行恢复,包括:
[0022]当所述目标节点中的硬盘出现故障时,统计出现故障的硬盘数量,得到目标故障硬盘数量,并判断所述目标故障硬盘数量是否大于预设故障硬盘数量;
[0023]若所述目标故障硬盘数量小于或等于所述预设故障硬盘数量,则获取所述目标节点中未出现故障硬盘上的未丢失的所述原始数据块和未丢失的所述数据校验块,并利用未丢失的所述原始数据块和未丢失的所述数据校验块对丢失的所述原始数据块进行恢复。
[0024]可选的,所述未丢失的所述原始数据块和未丢失的所述数据校验块对丢失的所述原始数据块进行恢复,包括:
[0025]将所述第一数量的所述原始数据块按列进行排序,得到第一列向量;
[0026]利用所述数据校验块构造任意与所述第一数量相同个行向量都是相互独立的分布式矩阵,得到第一分布式矩阵;
[0027]删除所述第一列向量中丢失的所述原始数据块,得到第二列向量;
[0028]删除所述第一分布式矩阵中丢失的所述数据校验块对应的行向量,得到第二分布式矩阵;
[0029]计算所述第二分布式矩阵的逆矩阵,并利用所述逆矩阵、所述第二分布式矩阵和所述第二列向量对丢失的所述原始数据块进行恢复。
[0030]第二方面,本申请公开了一种数据保护装置,包括:
[0031]原始数据获取模块,用于获取虚拟化环境中待保护的原始数据;
[0032]数据计算与保存模块,用于计算所述原始数据的纠删码,并将所述原始数据和所述纠删码保存至分布式系统的多个目标节点;
[0033]数据恢复模块,用于当所述目标节点出现故障时,获取未出现故障的所述目标节点或出现故障的所述目标节点上的未丢失的所述原始数据和未丢失的所述纠删码,并利用未丢失的所述原始数据和未丢失的所述纠删码对所述原始数据进行恢复。
[0034]第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的数据保护方法。
[0035]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的数据保护方法。
[0036]可见,本申请先获取虚拟化环境中待保护的原始数据,然后计算所述原始数据的纠删码,并将所述原始数据和所述纠删码保存至分布式系统的多个目标节点,当所述目标节点出现故障时,获取未出现故障的所述目标节点或出现故障的所述目标节点上的未本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据保护方法,其特征在于,包括:获取虚拟化环境中待保护的原始数据;计算所述原始数据的纠删码,并将所述原始数据和所述纠删码保存至分布式系统的多个目标节点;当所述目标节点出现故障时,获取未出现故障的所述目标节点或出现故障的所述目标节点上的未丢失的所述原始数据和未丢失的所述纠删码,并利用未丢失的所述原始数据和未丢失的所述纠删码对所述原始数据进行恢复。2.根据权利要求1所述的数据保护方法,其特征在于,所述获取虚拟化环境中待保护的原始数据,包括:获取虚拟化环境中待保护的原始数据,并对所述原始数据进行分割,得到第一数量的原始数据块。3.根据权利要求2所述的数据保护方法,其特征在于,所述计算所述原始数据的纠删码,并将所述原始数据和所述纠删码保存至分布式系统的多个目标节点,包括:利用预设纠删码校验码算法对所有所述原始数据块进行计算,得到第二数量的数据校验块;将所述原始数据块和所述数据校验块分别保存至分布式系统的多个目标节点。4.根据权利要求3所述的数据保护方法,其特征在于,所述当所述目标节点出现故障时,获取未出现故障的所述目标节点或出现故障的所述目标节点上的未丢失的所述原始数据和未丢失的所述纠删码,并利用未丢失的所述原始数据和未丢失的所述纠删码对所述原始数据进行恢复,包括:当所述目标节点出现故障时,统计出现故障的所述目标节点的数量,得到目标故障节点数量,并判断所述目标故障节点数量是否大于预设故障节点数量;若所述目标故障节点数量小于或等于所述预设故障节点数量,则获取未出现故障的所述目标节点上的未丢失的所述原始数据块和未丢失的所述数据校验块,并利用未丢失的所述原始数据块和未丢失的所述数据校验块对丢失的所述原始数据块进行恢复。5.根据权利要求2所述的数据保护方法,其特征在于,所述计算所述原始数据的纠删码,并将所述原始数据和所述纠删码保存至分布式系统的多个目标节点,包括:利用预设纠删码校验码算法对所有所述原始数据块进行计算,得到第三数量的数据校验块;将所述原始数据块和所述数据校验块一同保存至分布式系统的多个目标节点的多个硬盘中。6.根据权利要求5所述的数据保护方法,其特征在于,所述当所述目标节点出现故障时,获...

【专利技术属性】
技术研发人员:张骁栋
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1