CN117724896A - 一种校验云硬盘备份数据的方法、装置、介质及电子设备 - Google Patents
一种校验云硬盘备份数据的方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN117724896A CN117724896A CN202311516861.0A CN202311516861A CN117724896A CN 117724896 A CN117724896 A CN 117724896A CN 202311516861 A CN202311516861 A CN 202311516861A CN 117724896 A CN117724896 A CN 117724896A
- Authority
- CN
- China
- Prior art keywords
- backup
- data
- data block
- hash value
- backed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 69
- 238000013500 data storage Methods 0.000 claims abstract description 62
- 238000012795 verification Methods 0.000 claims abstract description 29
- 230000006835 compression Effects 0.000 claims description 13
- 238000007906 compression Methods 0.000 claims description 13
- 150000003839 salts Chemical class 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013524 data verification Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000011084 recovery Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种校验云硬盘备份数据的方法、装置、介质及电子设备,所述方法包括:确认备份元数据文件通过校验,其中,所述备份元数据文件用于记录与被备份快照对应的哈希算法以及所述被备份快照中各数据块的数据块备份属性信息,所述各数据块的数据块备份属性信息包括:目标哈希值以及各数据块在云硬盘的存储位置信息;根据所述各数据块的目标哈希值从备份数据存储空间获取相应被备份数据块,其中,所述备份数据存储空间采用所述目标哈希值作为存储文件名称;至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值;对所述待验证哈希值与相应数据块的目标哈希值进行匹配完成对所述被备份数据块的校验。
Description
技术领域
本申请涉及备份数据安全性领域,具体而言本申请实施例涉及一种校验云硬盘备份数据的方法、装置、介质及电子设备。
背景技术
随着云计算的兴起和应用,数据规模和复杂性不断增加,对数据管理和存储方面的需求也相应增加。超融合技术借助集成的存储和计算能力,可以更好地满足各种规模和类型的数据存储需求,并为云计算提供了基础设施支持。并且随着数据的重要性不断提高,数据丢失对个人和组织的影响也越来越大。硬件故障、自然灾害、人为错误等情况都可能导致数据丢失。因此,数据备份技术的发展成为超融合数据管理中至关重要的一环。
传统的备份方法存在一些弊端,例如备份数据的完整性难以保证。数据完整性是指数据是否完全、准确地保持其原始状态,且不受任何未经授权的修改或破坏。
发明内容
本申请实施例的目的在于提供一种校验云硬盘备份数据的方法、装置、介质及电子设备,采用本申请实施例可以对备份数据完整性进行校验,避免云硬盘的备份数据被篡改。
第一方面,本申请实施例提供一种校验云硬盘备份数据的方法,所述方法包括:确认备份元数据文件通过校验,其中,所述备份元数据文件用于记录与被备份快照对应的哈希算法以及所述被备份快照中各数据块的数据块备份属性信息,所述各数据块的数据块备份属性信息包括:目标哈希值以及各数据块在云硬盘的存储位置信息;根据所述各数据块的目标哈希值从备份数据存储空间获取相应被备份数据块,其中,所述备份数据存储空间采用所述目标哈希值作为存储文件名称;至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值;对所述待验证哈希值与相应数据块的目标哈希值进行匹配完成对所述被备份数据块的校验。
本申请的实施例通过把快照数据切成数据块进行数据块备份,并且每个数据块独立计算校验值,可以加快数据恢复时的完整性校验。
在一些实施例中,所述备份元数据还用于记录加密算法,其中,所述至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值,包括:通过所述加密算法对所述被备份数据块进行解密,得到被备份明文数据块;通过所述哈希算法计算所述被备份明文数据块的哈希值,得到待验证哈希值。
本申请的实施例在备份数据存储空间存储的被备份数据块的密文数据,可以提升被备份数据的安全性。
在一些实施例中,所述备份元数据还用于记录压缩算法,其中,所述至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值,包括:通过所述压缩算法对所述被备份数据块进行解压缩,得到被备份原始数据;通过所述哈希算法计算所述被备份原始数据的哈希值,得到待验证哈希值。
本申请的实施例在备份数据存储空间存储的被备份数据块的压缩格式,可以节约被备份数据在备份数据存储空间所占据的存储空间。
在一些实施例中,所述备份元数据还用于记录压缩算法和加密算法,其中,所述至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值,包括:通过所述加密算法对所述被备份数据块进行解密,得到被备份明文数据块;通过所述压缩算法对所述被备份明文数据块进行解压缩,得到被备份原始数据;通过所述哈希算法计算所述被备份原始数据的哈希值,得到待验证哈希值。
本申请的实施例在备份数据存储空间存储的是被备份数据块加密和压缩后的数据,可以节约被备份数据在备份数据存储空间所占据的存储空间且提升被备份数据的安全性。
在一些实施例中,所述备份元数据文件包括目标CRC64校验值,其中,所述确认备份元数据文件通过安全校验,包括:读取与所述备份元数据文件对应的密文;通过与云硬盘对应设置的密码对所述密文进行解密,得到所述备份元数据文件;计算所述备份元数据文件的CRC64校验值,并与所述目标CRC64校验值进行比较;若所述CRC64校验值与所述目标CRC64校验值一致,则确认对所述备份元数据文件的校验通过。
本申请的实施例首先验证备份元数据文件是否被篡改,可以尽可能保证被备份数据不被修改。
在一些实施例中,所述哈希值是根据与所述哈希算法对相应数据块进行哈希运算得到的。
本申请的一些实施例的哈希值是通过预定的哈希算法计算被备份数据块的哈希值得到的。
在本申请的一些实施例中,所述备份元数据文件还包括哈希盐,其中,所述哈希值是根据所述哈希算法对相应数据块以及所述哈希盐进行哈希运算得到的。
本申请的一些实施例为了进一步提升数据块的安全性,计算哈希值时还需要结合哈希盐对应的一个随机数。
在一些实施例中,所述备份元数据文件是与首次备份对应的初始备份元数据文件,其中,在所述确认备份元数据文件通过校验之前,所述方法还包括:在首次备份时,创建初始快照;向所述备份数据存储空间提供所述快照中的所有数据块,其中,所述备份数据存储空间采用与相应数据块对应的哈希值作为备份存储的文件名;生成所述初始备份元数据文件;其中,所述初始快照包括至少一个快照文件,每个快照文件用于存放相对于前一个快照文件在云硬盘上写入的增量数据,且所述每个快照文件将所述增量数据通过数据块形式存储。
本申请的实施例在首次备份中向备份数据存储空间提供最新需要备份的数据块,提升对应备份数据的准确性。
在一些实施例中,所述备份元数据文件是与首次备份之后的第i次备份对应的第i备份元数据文件,其中,在所述确认备份元数据文件通过校验之前,所述方法还包括:在所述第i次备份中,创建第i快照,其中,i为大于1的整数;向所述备份数据存储空间提供所述第i快照中的至少部分数据块,其中,所述至少部分数据块是与所述第i次备份之前的各次备份中所存储的数据块不同的数据块;生成所述第i备份元数据文件;其中,所述第i快照分别包括至少一个快照文件,每个快照文件用于存放相对于前一个快照文件在云硬盘上写入的增量数据,且所述每个快照文件将所述增量数据通过数据块形式存储。
本申请的实施例对于首次备份之后的各次备份仅需要向备份数据存储空间提供未被备份过的数据块,在节省数据传输量的同时还可以进一步提升对备份数据存储空间的利用率。
在一些实施例中,在所述至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值之前,所述方法还包括:确认所述备份数据存储空间中存储有与所述各数据块的数据块备份属性信息对应的相应数据块。
本申请的实施例通过备份元数据文件中的所有的数据块备份属性信息确认备份数据存储空间存储了所有相应的数据块,可以监测出在备份数据存储空间中被删除的数据块。
在一些实施例中,所述对所述待验证哈希值与相应数据块的目标哈希值进行匹配完成对所述被备份数据块的校验,包括:若确认所述待验证哈希值与相应数据块的目标哈希值相同,则确认对相应数据块的数据校验通过。
本申请的实施例通过计算备份数据存储空间中备份的各数据块的哈希值确认该数据块内容是否被篡改。
在一些实施例中,所述存储位置信息包括所述云硬盘的偏移量以及相应数据块的长度。
第二方面,本申请的一些实施例提供一种校验云硬盘备份数据的装置,所述装置包括:备份元数据文件校验模块,被配置为确认备份元数据文件通过校验,其中,所述备份元数据文件至少用于记录相应快照中存储的各数据块的数据块备份属性信息,所述各数据块的数据块备份属性信息包括:目标哈希值以及各数据块在云硬盘的存储位置信息;被备份数据块读取模块,被配置为根据所述各数据块的目标哈希值从备份数据存储空间获取相应被备份数据块,其中,所述备份数据存储空间采用所述目标哈希值作为存储相应数据块的存储单元的名称;数据块待验证哈希值获取模块,被配置为至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值;数据块校验结果获取模块,被配置为对所述待验证哈希值与相应数据块的目标哈希值进行匹配完成对所述被备份数据块的校验。
第三方面,本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面任意一个实施例所述的方法。
第四方面,本申请的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面任意一个实施例所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的备份系统的组成架构图;
图2为本申请实施例提供的备份数据存储空间备份数据的存储方式;
图3为本申请实施例提供的校验云硬盘备份数据的方法的流程图;
图4为本申请实施例提供的创建云硬盘的快照的示意图;
图5为本申请实施例提供的在外部存储(作为备份数据存储空间一个示例)上存储的各备份文件的示意;
图6为本申请实施例提供的备份元数据文件格式示意图;
图7为本申请实施例提供的校验云硬盘备份数据的装置的组成框图;
图8为本申请实施例提供的电子设备组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
与相关技术方案不同的是,本申请实施例提供的校验云硬盘备份数据的方法是一种云硬盘备份数据完整性校验方法,该方法通过把快照数据切成数据块进行备份,并且每个数据块独立计算校验值,可以加快数据恢复时的完整性校验。本申请实施例的每次备份都使用不同的哈希算法和加密算法对本次加密对应的新增数据块进行处理,并且使用不用哈希盐,避免数据泄露,也避免无法识别出数据恶意篡改。
请参看图1,图1为本申请实施例提供的备份系统,该系统包括云硬盘110以及备份数据存储空间120,其中,云硬盘110用于存储被备份的数据,备份数据存储空间120可用于存储备份数据,例如,在本申请的一些实施例中,云硬盘位于第一设备,备份数据存储空间120可以不属于第一设备的外部的文件存储或对象存储空间。
与相关技术存储备份数据的方式不同,本申请实施例的备份数据存储空间针对每次备份均分别存储对应的备份元数据文件以及备份数据,例如,在图2中展示的备份数据存储空间120中的初始备份元数据文件以及与该文件对应存储的初始备份数据,……,第i备份元数据文件以及与该第i备份元数据文件对应存储的第i备份数据等。由于本申请的实施例在各次备份中均存储了备份元数据文件且该文件用于描述本次备份的数据块属性信息,加密解压相应数据块的算法以及计算各数据块在备份数据存储空间上存储的文件名所采用哈希算法,因此本申请的一些实施例可以对备份数据完整性以及安全性进项全方位校验,提升备份数据的安全性和完整性,更好的恢复备份数据。
下面结合图3示例性阐述本申请一些实施例提供的校验云硬盘备份数据的方法,这些备份数据存储在如图1所示的备份数据存储空间中。
如图3所示,本申请实施例提供一种校验云硬盘备份数据的方法,该方法包括:
S101,确认备份元数据文件通过校验。
需要说明的是,本申请实施例的备份元数据文件用于记录与被备份快照对应的哈希算法以及所述被备份快照中各数据块的数据块备份属性信息,所述各数据块的数据块备份属性信息包括:目标哈希值以及各数据块在云硬盘的存储位置信息。
S102,根据所述各数据块的目标哈希值从备份数据存储空间获取相应被备份数据块。
需要说明的是,所述备份数据存储空间采用所述目标哈希值作为存储文件名称。
S103,至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值。
S104,对所述待验证哈希值与相应数据块的目标哈希值进行匹配完成对所述被备份数据块的校验。
不难理解的是,本申请的实施例通过把快照数据切成数据块进行数据块备份,并且每个数据块独立计算校验值,可以加快数据恢复时的完整性校验。
需要说明的是,本申请的实施例为了实现图3的各步骤需要预先在备份数据存储空间存储备份元数据文件以及对应的被备份数据块,下面首先示例性阐述在备份数据存储空间存储如图2所示的备份内容的过程。
与相关技术方案不同的是,本申请实施例的备份数据是基于对应构建的快照得到的。
在本申请的一些实施例中,S101所述的备份元数据文件是与首次备份对应的初始备份元数据文件,其中,在执行S101之前,所述方法还包括:在首次备份时,创建初始快照;向所述备份数据存储空间提供所述快照中的所有数据块,其中,所述备份数据存储空间采用与相应数据块对应的哈希值作为备份存储的文件名;生成所述初始备份元数据文件;其中,所述初始快照包括至少一个快照文件,每个快照文件用于存放相对于前一个快照文件在云硬盘上写入的增量数据,且所述每个快照文件将所述增量数据通过数据块形式存储。不难理解的是,本申请的实施例在首次备份中向备份数据存储空间提供最新需要备份的数据块,提升对应备份数据的准确性。
在本申请的一些实施例中,S101所述备份元数据文件是与首次备份之后的第i次备份对应的第i备份元数据文件,其中,在执行S101之前,所述方法还包括:在所述第i次备份中,创建第i快照,其中,i为大于1的整数;向所述备份数据存储空间提供所述第i快照中的至少部分数据块,其中,所述至少部分数据块是与所述第i次备份之前的各次备份中所存储的数据块不同的数据块;生成所述第i备份元数据文件;其中,所述第i快照分别包括至少一个快照文件,每个快照文件用于存放相对于前一个快照文件在云硬盘上写入的增量数据,且所述每个快照文件将所述增量数据通过数据块形式存储。不难理解的是,本申请的实施例对于首次备份之后的各次备份仅需要向备份数据存储空间提供未被备份过的数据块,在节省数据传输量的同时还可以进一步提升对备份数据存储空间的利用率。
下面结合图4示例性阐述本申请实施例构建的快照。
如图4所示,一个云硬盘可能存在多个快照,一个快照文件存放着这个云硬盘从上一个快照到这个快照这段时间该云硬盘新写入的数据,也就是增量数据。但是快照代表的是云硬盘在创建快照时的完整状态,包括其上面所有写入的数据。所以一个快照的数据是其快照文件其他之前的快照文件的合集,如果数据位置有重叠的,以新写入是数据为准,也就是较新的快照文件上面的数据。例如,图4的第一快照是由数据块1和数据块2组成的,图4的第二快照的是由数据块3、4和2组成的,其中,数据块3和4为增量数据块;第三快照是由数据块5、6、3、4、7和2组成的,其中,数据块5、6和7为增量数据块。本申请的实施例每次备份数据块时,先创建一个快照,然后基于快照中的数据进行备份。通过创建快照,可以实现数据的一致性。在创建快照时,会对数据进行冻结,确保备份的数据是在一个确定的时间点捕获的,这样可以避免备份过程中数据的不一致性问题。
下面结合图5示例性阐述根据创建的快照生成各次备份对应的备份文件(例如,图5包括首次备份相关数据以及第二次备份相关数据共两个备份文件,每个备份文件包括备份元数据文件(例如,图4的两个备份元数据文件,具体为与首次备份对应的备份1.confg以及与第二次备份对应的备份2.confg)以及对应的备份数据)的过程。
如图5所示,进行第一次备份(或称为首次备份,或称为首次备份)时,先创建图5的第二快照(与图4第二快照相同),图5的第一快照是首次备份之前已存在的快照。第一次备份需要进行全量备份,把属于第二快照的数据块3,4和2均进行备份,备份数据一般是上传到外部的文件存储或对象存储(即备份数据存储空间的示例)中。每个数据块上传的时候先对数据计算哈希值,哈希值作为上传到外部存储的文件名,数据内容为数据块压缩并加密后的数据。
进行第二次备份时,先创建图5的第四快照,图5的第一快照、第二快照以及第三快照均是第二次备份之前已存在的快照。第二次备份需要进行增量备份,不在备份首次已经备份过的数据块3和4,而是仅备份数据块6、8、9以及10,即在外部存储中存储这些数据块的压缩加密数据并存储对应的第二备份元数据文件(即图5的备份2.confg)。每个数据块上传的时候先对数据计算哈希值,哈希值作为上传到外部存储的文件名,数据内容为数据块压缩并加密后的数据。
也就是说,本申请的实施例在进行第二次备份时,先创建第四快照,第三快照是两次备份之间用户创建的其他快照,由于已存在首次备份相关数据,并且通过首次备份配置文件(或称为初始备份元数据文件)可以知道首次备份是基于第二快照备份的,所以第二次备份只需上传第二快照到第四快照之前的增量数据,如图2中的数据块8,6,9,10。而第四快照的其他有效数据块3,2在首次备份已经上传,只需通过首次备份获取这个两个数据块的哈希值,并直接记录在第二次备份的配置文件就好,无需重复上传相同的文件。
下面结合图6示例性阐述本申请一些实施例的备份元数据文件的格式。
在本申请的实施例中,备份元数据文件主要用于记录该备份由哪些数据块组成,其包含如图6所示的Snapshot、Hash、Salt、Compress、Encrypt、DataBlocks、DataBlock、Offset、Length、HashValue以及CRC64字段,其中各个字段含义如下:
Snapshot:快照名称,记录该备份是基于哪个快照的数据。
Hash:哈希函数名称。
Salt:哈希盐,为了增加哈希函数的安全性而随机生成的一个额外的随机值。
Compress:压缩函数名称。
Encrypt:加密函数名称。
DataBlocks:数据块信息列表。
DataBlock:数据块信息。
Offset:数据块在云硬盘的偏移量。
Length:数据块的长度。
HashValue:数据块哈希值。
CRC64:config中其他字段数据之和的CRC64校验值。
也就是说,本申请一些实施例的备份元数据文件保存了该备份基于那个快照,并且使用了哪些哈希、加密、压缩算法,并且记录着这个备份有哪些数据块组成,并且记录着每个数据块的位置信息和哈希值。有了备份元数据文件才能更加准确恢复并且校验数据,备份元数据文件是加密后保存在备份点上,每个云硬盘备份都有一份独有的密码。
需要说明的是,图6用于示例性阐述本申请实施例的备份元数据文件包括的字段,可以理解的是,本领域技术人员可以删除图6的某些字段,仅保留部分字段。
下面示例性阐述本申请实施例的基于备份元数据文件中的相应字段的校验云硬盘备份数据的方法。
在本申请的一些实施例中,所述备份元数据文件包括目标CRC64校验值,其中,S101示例性包括:读取与所述备份元数据文件对应的密文;通过与云硬盘对应设置的密码对所述密文进行解密,得到所述备份元数据文件;计算所述备份元数据文件的CRC64校验值,并与所述目标CRC64校验值进行比较;若所述CRC64校验值与所述目标CRC64校验值一致,则确认对所述备份元数据文件的校验通过。本申请的实施例首先验证备份元数据文件是否被篡改,可以尽可能保证被备份数据不被修改。
例如,在本申请的一些实施例中,所述哈希值是根据与所述哈希算法对相应数据块进行哈希运算得到的。本申请的一些实施例的哈希值是通过预定的哈希算法计算被备份数据块的哈希值得到的。
例如,在本申请的一些实施例中,所述备份元数据文件还包括哈希盐,其中,所述哈希值是根据所述哈希算法对相应数据块以及所述哈希盐进行哈希运算得到的。本申请的一些实施例为了进一步提升数据块的安全性,计算哈希值时还需要结合哈希盐对应的一个随机数。
在一些实施例中,在执行S103之前,所述方法还包括:确认所述备份数据存储空间中存储有与所述各数据块的数据块备份属性信息对应的相应数据块。本申请的实施例通过备份元数据文件中的所有的数据块备份属性信息确认备份数据存储空间存储了所有相应的数据块,可以监测出在备份数据存储空间中被删除的数据块。
在本申请的一些实施例中,所述备份元数据还用于记录加密算法,其中,S103示例性包括:通过所述加密算法对所述被备份数据块进行解密,得到被备份明文数据块;通过所述哈希算法计算所述被备份明文数据块的哈希值,得到待验证哈希值。本申请的实施例在备份数据存储空间存储的被备份数据块的密文数据,可以提升被备份数据的安全性。
在本申请的一些实施例中,所述备份元数据还用于记录压缩算法,其中,S103示例性包括:通过所述压缩算法对所述被备份数据块进行解压缩,得到被备份原始数据;通过所述哈希算法计算所述被备份原始数据的哈希值,得到待验证哈希值。本申请的实施例在备份数据存储空间存储的被备份数据块的压缩格式,可以节约被备份数据在备份数据存储空间所占据的存储空间。
在本申请的一些实施例中,所述备份元数据还用于记录压缩算法和加密算法,其中,S103示例性包括:通过所述加密算法对所述被备份数据块进行解密,得到被备份明文数据块;通过所述压缩算法对所述被备份明文数据块进行解压缩,得到被备份原始数据;通过所述哈希算法计算所述被备份原始数据的哈希值,得到待验证哈希值。本申请的实施例在备份数据存储空间存储的是被备份数据块加密和压缩后的数据,可以节约被备份数据在备份数据存储空间所占据的存储空间且提升被备份数据的安全性。
在本申请一些实施例中,S104示例性包括:若确认所述待验证哈希值与相应数据块的目标哈希值相同,则确认对相应数据块的数据校验通过。本申请的实施例通过计算备份数据存储空间中备份的各数据块的哈希值确认该数据块内容是否被篡改。
在一些实施例中,所述存储位置信息包括所述云硬盘的偏移量以及相应数据块的长度。
也就是说,当备份数据需要恢复时,本申请的一些实施例先读取备份元数据文件,然后通过每个云硬盘独有的密码进行解密,计算备份元数据文件的CRC64校验值,并且跟备份元数据文件中的CRC64校验值(即目标CRC64校验值)对比,如果校验值匹配不上,证明备份元数据文件被修改,立即退出数据恢复,避免恢复被篡改的数据。如果备份元数据文件没被篡改,根据datablocks字段记录的数据块信息,下载每一个数据并且恢复到云硬盘对应的位置。对于每个数据块,先根据数据块的哈希值作为外置存储上的文件名下载对应文件的数据,并根据备份元数据文件上记录的算法来解密数据和解压缩数据,得到原数据内容,并对原数据计算哈希值,如果哈希值跟备份元数据文件上记录的不一致,那么证明该数据被篡改过,应该中断数据恢复。本申请的实施例使用基于数据块的备份方法,并对每个数据块进行数据校验。在数据恢复时,只需下载跟该快照有关的数据块,加快了数据恢复的速度。例如,恢复第二次备份时,只需下载数据块3,6,8,9,10和2数据块,并分别对每个数据进行校验,无需下载每个快照的完整数据,减少了总的下载数据量,提高了恢复的数据。每个备份数据都使用不同的哈希算法和加密算法,并且使用不用哈希盐,所以不同虚拟机即使是相同的数据保存在备份服务器的数据也是不一样,避免数据泄露,也避免算法被推测出来导致数据被恶意篡改。
可以理解的是,本申请的实施例提供一种云硬盘备份数据完整性校验方法。本申请的一些实施例可应用于超融合和分布式存储等产品中,可以确保云硬盘的备份数据不泄露和确保了备份数据的完整性。无论是备份点上面的数据被删除或者被修复,都能有效校验出来。例如,恢复第二次备份时,如果数据块9被删除,那么DataBlocks字段记录的数据块就会有一个数据块找不到,此时就能感知到数据块丢失,无法完整恢复数据。如果是数据块被篡改了个别字节,或者备份点发生故障,导致数据异常,那么数据块的哈希值就会发生变化,如果数据块的哈希值跟DataBlock中记录的哈希信息不匹配,那么数据内容肯定发生了变化,此时也能判断出数据完整性被破化。采用本申请的实施例可以识别出各种因素导致的数据完整性问题,避免无法识别数据被篡改导致恢复成错误数据,并且能有效防止备份数据泄露。
请参考图7,图7示出了本申请实施例提供的一种校验云硬盘备份数据的装置,应理解,该装置与上述图3方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该校验云硬盘备份数据的装置,包括:备份元数据文件校验模块101、被备份数据块读取模块102、数据块待验证哈希值获取模块103以及数据块校验结果获取模块104。
备份元数据文件校验模块,被配置为确认备份元数据文件通过校验,其中,所述备份元数据文件至少用于记录相应快照中存储的各数据块的数据块备份属性信息,所述各数据块的数据块备份属性信息包括:目标哈希值以及各数据块在云硬盘的存储位置信息。
被备份数据块读取模块,被配置为根据所述各数据块的目标哈希值从备份数据存储空间获取相应被备份数据块,其中,所述备份数据存储空间采用所述目标哈希值作为存储相应数据块的存储单元的名称。
数据块待验证哈希值获取模块,被配置为至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值。
数据块校验结果获取模块,被配置为对所述待验证哈希值与相应数据块的目标哈希值进行匹配完成对所述被备份数据块的校验。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述方法包括的任意一个实施例所述的方法。
如图8所示,本申请的一些实施例提供一种电子设备700,包括存储器710、处理器720以及存储在所述存储器710上并可在所述处理器720上运行的计算机程序,其中,所述处理器720通过总线730读取程序并执行所述程序时可实现如上述方法包括的任意一个实施例所述的方法。
处理器720可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器720可以是微处理器。
存储器710可以用于存储由处理器720执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器720可以用于执行存储器710中的指令以实现图3中所示的方法。存储器710包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (15)
1.一种校验云硬盘备份数据的方法,其特征在于,所述方法包括:
确认备份元数据文件通过校验,其中,所述备份元数据文件用于记录与被备份快照对应的哈希算法以及所述被备份快照中各数据块的数据块备份属性信息,所述各数据块的数据块备份属性信息包括:目标哈希值以及各数据块在云硬盘的存储位置信息;
根据所述各数据块的目标哈希值从备份数据存储空间获取相应被备份数据块,其中,所述备份数据存储空间采用所述目标哈希值作为存储相应数据块的存储单元的名称;
至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值;
对所述待验证哈希值与相应数据块的目标哈希值进行匹配完成对所述被备份数据块的校验。
2.如权利要求1所述的方法,其特征在于,所述备份元数据还用于记录加密算法,其中,
所述至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值,包括:
通过所述加密算法对所述被备份数据块进行解密,得到被备份明文数据块;
通过所述哈希算法计算所述被备份明文数据块的哈希值,得到待验证哈希值。
3.如权利要求1所述的方法,其特征在于,所述备份元数据还用于记录压缩算法,其中,
所述至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值,包括:
通过所述压缩算法对所述被备份数据块进行解压缩,得到被备份原始数据;
通过所述哈希算法计算所述被备份原始数据的哈希值,得到待验证哈希值。
4.如权利要求1所述的方法,其特征在于,所述备份元数据还用于记录压缩算法和加密算法,其中,
所述至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值,包括:
通过所述加密算法对所述被备份数据块进行解密,得到被备份明文数据块;
通过所述压缩算法对所述被备份明文数据块进行解压缩,得到被备份原始数据;
通过所述哈希算法计算所述被备份原始数据的哈希值,得到待验证哈希值。
5.如权利要求1-4任一项所述的方法,其特征在于,所述备份元数据文件包括目标CRC64校验值,其中,
所述确认备份元数据文件通过安全校验,包括:
读取与所述备份元数据文件对应的密文;
通过与云硬盘对应设置的密码对所述密文进行解密,得到所述备份元数据文件;
计算所述备份元数据文件的CRC64校验值,并与所述目标CRC64校验值进行比较;
若所述CRC64校验值与所述目标CRC64校验值一致,则确认对所述备份元数据文件的校验通过。
6.如权利要求1-4任一项所述的方法,其特征在于,所述哈希值是根据与所述哈希算法对相应数据块进行哈希运算得到的。
7.如权利要求1-4任一项所述的方法,其特征在于,所述备份元数据文件还包括哈希盐,其中,所述哈希值是根据所述哈希算法对相应数据块以及所述哈希盐进行哈希运算得到的。
8.如权利要求7所述的方法,其特征在于,所述备份元数据文件是与首次备份对应的初始备份元数据文件,其中,
在所述确认备份元数据文件通过校验之前,所述方法还包括:
在首次备份时,创建初始快照;
向所述备份数据存储空间提供所述快照中的所有数据块,其中,所述备份数据存储空间采用与相应数据块对应的哈希值作为备份存储的文件名;
生成所述初始备份元数据文件;
其中,所述初始快照包括至少一个快照文件,每个快照文件用于存放相对于前一个快照文件在云硬盘上写入的增量数据,且所述每个快照文件将所述增量数据通过数据块形式存储。
9.如权利要求7所述的方法,其特征在于,所述备份元数据文件是与首次备份之后的第i次备份对应的第i备份元数据文件,其中,
在所述确认备份元数据文件通过校验之前,所述方法还包括:
在所述第i次备份中,创建第i快照,其中,i为大于1的整数;
向所述备份数据存储空间提供所述第i快照中的至少部分数据块,其中,所述至少部分数据块是与所述第i次备份之前的各次备份中所存储的数据块不同的数据块;
生成所述第i备份元数据文件;
其中,所述第i快照分别包括至少一个快照文件,每个快照文件用于存放相对于前一个快照文件在云硬盘上写入的增量数据,且所述每个快照文件将所述增量数据通过数据块形式存储。
10.如权利要求6所述的方法,其特征在于,在所述至少通过所述哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值之前,所述方法还包括:
确认所述备份数据存储空间中存储有与所述各数据块的数据块备份属性信息对应的相应数据块。
11.如权利要求1所述的方法,其特征在于,所述对所述待验证哈希值与相应数据块的目标哈希值进行匹配完成对所述被备份数据块的校验,包括:
若确认所述待验证哈希值与相应数据块的目标哈希值相同,则确认对相应数据块的数据校验通过。
12.如权利要求1所述的方法,其特征在于,所述存储位置信息包括所述云硬盘的偏移量以及相应数据块的长度。
13.一种校验云硬盘备份数据的装置,其特征在于,所述装置包括:
备份元数据文件校验模块,被配置为确认备份元数据文件通过校验,其中,所述备份元数据文件至少用于记录相应快照中存储的各数据块的数据块备份属性信息,所述各数据块的数据块备份属性信息包括:目标哈希值以及各数据块在云硬盘的存储位置信息;
被备份数据块读取模块,被配置为根据所述各数据块的目标哈希值从备份数据存储空间获取相应被备份数据块,其中,所述备份数据存储空间采用所述目标哈希值作为存储相应数据块的存储单元的名称;
数据块待验证哈希值获取模块,被配置为至少通过哈希算法计算与所述被备份数据块对应的哈希值,得到待验证哈希值;
数据块校验结果获取模块,被配置为对所述待验证哈希值与相应数据块的目标哈希值进行匹配完成对所述被备份数据块的校验。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现如权利要求1-12中任意一项权利要求所述的方法。
15.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如权利要求1-12中任意一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311516861.0A CN117724896A (zh) | 2023-11-14 | 2023-11-14 | 一种校验云硬盘备份数据的方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311516861.0A CN117724896A (zh) | 2023-11-14 | 2023-11-14 | 一种校验云硬盘备份数据的方法、装置、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117724896A true CN117724896A (zh) | 2024-03-19 |
Family
ID=90198783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311516861.0A Pending CN117724896A (zh) | 2023-11-14 | 2023-11-14 | 一种校验云硬盘备份数据的方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117724896A (zh) |
-
2023
- 2023-11-14 CN CN202311516861.0A patent/CN117724896A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8924354B2 (en) | Block level data replication | |
US9904601B2 (en) | Synchronization of storage using comparisons of fingerprints of blocks | |
US20070208918A1 (en) | Method and apparatus for providing virtual machine backup | |
US9396073B2 (en) | Optimizing restores of deduplicated data | |
US8782003B1 (en) | Synchronization of storage using log files and snapshots | |
US20110113013A1 (en) | Duplicate backup data identification and consolidation | |
US8972678B2 (en) | Efficient backup replication | |
US11671244B2 (en) | Blockchain technology for data integrity regulation and proof of existence in data protection systems | |
CN111008034B (zh) | 一种补丁生成方法及装置 | |
CN116560914B (zh) | 虚拟机cbt失效下的增量备份方法、系统及存储介质 | |
KR101443405B1 (ko) | 데이터를 안전하게 보호하기 위한 시스템 및 방법 | |
US10044801B1 (en) | Backup of user data with validity check | |
CN114780298B (zh) | 文件数据处理方法、装置、计算机终端及存储介质 | |
JP2000200208A (ja) | ファイルバックアップ方法,装置およびそのプログラム記録媒体 | |
Chen et al. | Auditable Version Control Systems. | |
US7441153B1 (en) | Method and system for secure and reliable event logging | |
EP2998903B1 (en) | System and method for robust full-drive encryption | |
CN117724896A (zh) | 一种校验云硬盘备份数据的方法、装置、介质及电子设备 | |
US20210271657A1 (en) | Virtual storage container for data storage and archiving | |
US11599559B2 (en) | Cloud image replication of client devices | |
US11435907B2 (en) | Ensuring data authenticity using notary as a service | |
Paul et al. | Block Level Incremental Backup With Brotli Compression | |
CN115640265A (zh) | 一种数据处理方法、装置、设备和计算机可读存储介质 | |
CN114116316A (zh) | 系统健壮性的维护方法、系统、存储介质及计算机设备 | |
CN115698975A (zh) | 设备、执行文件事务的方法和执行访问操作的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |