文件备份方法和主存储设备的制作方法

文档序号:6625345阅读:181来源:国知局
文件备份方法和主存储设备的制作方法
【专利摘要】本发明实施例提供一种文件备份方法和主存储设备,所述方法中,主存储设备通过将主文件的存储空间划分为N个子数据块,在增量备份的每个备份时刻,将上一备份时刻到本次备份时刻之间的被更新的子数据块中的数据拷贝到本地备份缓冲区中,在差量备份的每个备份时刻,将初始备份时刻到本次备份时刻之间被更新的子数据块中数据拷贝到本地备份缓冲区中,主存储设备只需要同步本地备份缓冲区中存储的被更新的子数据块中的数据,没有被更新的子数据块的数据不需要同步,从而能够减少文件备份的数据量,提高文件备份效率,节省备份数据的存储空间。
【专利说明】文件备份方法和主存储设备

【技术领域】
[0001]本发明实施例涉及数据通信技术,尤其涉及一种文件备份方法和主存储设备。

【背景技术】
[0002]数据备份是保护企业核心数据的一种常见方法,在很多企业应用中,存在大量的文件,诸如IBM lotus Motes MSF文件和虚拟机虚拟磁盘文件VMDK/VHD)这类文件,文件大而且经常变化,如果每次备份都将所有文件进行一次全备份,将会消耗非常大的存储空间,无疑加大了企业的IT投资。
[0003]针对上述问题,现有技术中通常采用差量备份和增量备份,增量备份需要备份上一次全备份或上一次增量备份后增加或者被修改的文件,差量备份需要备份上一次全备份之后增加或者被修改的文件。在增量备份和差量备份中,会将增加或者被修改的整个文件都备份,例如I个1G的文件被修改了,但是该1G的文件中只有IKB数据变化了,按照现有的增量备份和差量备份方法,需要将该1G的文件全部备份,导致大量存储空间被浪费。


【发明内容】

[0004]本发明实施例提供一种文件备份方法和主存储设备,能够节约备份文件占用的存储空间。
[0005]本发明第一方面提供一种文件备份方法,包括:
[0006]主存储设备将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数;
[0007]在初始备份时刻,所述主存储设备将所述主文件中的初始数据同步到备份存储设备的备份文件中;
[0008]在第M个备份时刻,所述主存储设备将第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,所述第M-1个备份时刻为所述第M个备份时刻的上一备份时刻,M为大于等于2的正整数;
[0009]所述主存储设备将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
[0010]结合本发明第一方面,在本发明第一方面的第一种可能的实现方式中,所述主存储设备将第M-ι个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,包括:
[0011 ] 所述主存储设备根据所述N个子数据块中的数据分别生成所述N个子数据块对应的第M个备份时刻的哈希值;
[0012]所述主存储设备依次判断所述N个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值是否相同;
[0013]若所述N个子数据块中的第i个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值相同,则所述主存储设备确定所述第i个子数据块中的数据没有被更新;
[0014]若所述N个子数据块中的第i个子数据块的每个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值不相同,则所述主存储设备确定所述第i个子数据块中的数据被更新了;
[0015]所述主存储设备将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
[0016]结合本发明第一方面的第一种可能的实现方式,在本发明第一方面的第二种可能的实现方式中,所述主存储设备将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中之后,所述方法还包括:
[0017]所述主存储设备将所述N个子数据块的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块的第M个备份时刻的哈希值和所述第M个备份时刻之前的所有备份时刻的哈希值恢复所述主文件的数据。
[0018]结合本发明第一方面的第一种可能的实现方式,在本发明第一方面的第三种可能的实现方式中,所述主存储设备将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中之后,所述方法还包括:
[0019]若所述N个子数据块中的第i个子数据块中的数据没有被更新,则所述主存储设备将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则所述主存储设备将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块--对应;
[0020]所述主存储设备将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述第M个备份时刻之前的所有备份时刻的位图恢复所述主文件的数据。
[0021]结合本发明第一方面以及本发明第一方面的第一种至第三种可能的实现方式,在本发明第一方面的第四种可能的实现方式中,在所述主存储设备将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之后,所述方法还包括:
[0022]所述主存储设备删除所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
[0023]结合本发明第一方面,在本发明第一方面的第五种可能的实现方式中,所述主存储设备将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,所述方法还包括:
[0024]所述主存储设备判断自己当前的服务质量QoS条件是否满足要求;
[0025]若所述QoS条件满足要求,则所述主存储设备将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中。
[0026]结合本发明第一方面的第五种可能的实现方式,在本发明第一方面的第六种可能的实现方式中,所述QoS条件包括以下条件中的任意一个或其组合:所述主存储设备的中央处理器CPU利用率、内存利用率、磁盘利用率以及所述主存储设备和所述备份存储设备之间的网络带宽。
[0027]结合本发明第一方面,在本发明第一方面的第七种可能的实现方式中,所述主存储设备将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,所述方法还包括:
[0028]所述主存储设备判断所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小是否大于预先设置的数据量阈值;
[0029]若所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小大于所述数据量阈值,则所述主存储设备将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
[0030]结合本发明第一方面,在本发明第一方面的第八种可能的实现方式中,所述主存储设备将主文件的存储空间划分为N个子数据块之前,所述方法还包括:
[0031]所述主存储设备配置所述本地备份缓冲区的大小和所述快照资源池的大小。
[0032]本发明第二方面提供一种文件备份方法,包括:
[0033]主存储设备将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数;
[0034]在初始备份时刻,所述主存储设备将所述主文件中的初始数据同步到备份存储设备的备份文件中;
[0035]在第M个备份时刻,所述主存储设备将所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,M为大于等于2的正整数;
[0036]所述主存储设备将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
[0037]结合本发明第二方面,在本发明第二方面的第一种可能的实现方式中,所述主存储设备将所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,包括:
[0038]所述主存储设备根据所述N个子数据块中的数据生成每个子数据块对应的第M个备份时刻的哈希值;
[0039]所述主存储设备依次判断所述N个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值是否相同;
[0040]若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值相同,则所述主存储设备确定所述第i个子数据块中的数据没有被更新;
[0041]若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值不相同,则所述主存储设备确定所述第i个子数据块中的数据被更新了 ;
[0042]所述主存储设备将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
[0043]结合本发明第二方面的第一种可能的实现方式,在本发明第二方面的第二种可能的实现方式中,所述主存储设备将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中之后,所述方法还包括:
[0044]所述主存储设备将所述N个子数据块对应的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块对应的第M个备份时刻的哈希值和所述初始备份时刻的哈希值恢复所述主文件的数据。
[0045]结合本发明第二方面的第一种可能的实现方式,在本发明第二方面的第三种可能的实现方式中,所述主存储设备将所述被更新的子数据块中的数据拷贝到所述本地备份缓冲区之后,所述方法还包括:
[0046]若所述N个子数据块中的第i个子数据块中的数据没有被更新,则所述主存储设备将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则所述主存储设备将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块--对应;
[0047]所述主存储设备将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述初始备份时刻的位图恢复所述主文件的数据。
[0048]结合本发明第二方面以及第二方面的第一种至第三种可能的实现方式,在本发明第二方面的第四种可能的实现方式中,在所述主存储设备将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之后,所述方法还包括:
[0049]所述主存储设备删除所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
[0050]结合本发明第二方面,在本发明第二方面的第五种可能的实现方式中,所述主存储设备将本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,所述方法还包括:
[0051]所述主存储设备判断自己当前的服务质量QoS条件是否满足要求;
[0052]若所述QoS条件满足要求,则所述主存储设备将本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
[0053]本发明第三方面提供一种主存储设备,包括:
[0054]分块模块,用于将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数;
[0055]备份模块,用于在初始备份时刻,将所述主文件中的初始数据同步到备份存储设备的备份文件中;
[0056]拷贝模块,用于在第M个备份时刻,将第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,所述第M-1个备份时刻为所述第M个备份时刻的上一备份时刻,M为大于等于2的正整数;
[0057]所述备份模块还用于,将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
[0058]结合本发明第三方面,在本发明第三方面的第一种可能的实现方式中,所述拷贝模块包括:
[0059]生成单元,用于根据所述N个子数据块中的数据分别生成所述N个子数据块对应的第M个备份时刻的哈希值;
[0060]判断单元,用于依次判断所述N个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值是否相同,若所述N个子数据块中的第i个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值相同,则确定所述第i个子数据块中的数据没有被更新,若所述N个子数据块中的第i个子数据块的每个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值不相同,则确定所述第i个子数据块中的数据被更新了 ;
[0061]拷贝单元,用于将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
[0062]结合本发明第三方面的第一种可能的实现方式,在本发明第三方面的第二种可能的实现方式中,所述备份模块还用于:
[0063]将所述N个子数据块的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块的第M个备份时刻的哈希值和所述第M个备份时刻之前的所有备份时刻的哈希值恢复所述主文件的数据。
[0064]结合本发明第三方面的第一种可能的实现方式,在本发明第三方面的第三种可能的实现方式中,所述备份模块还用于:
[0065]若所述N个子数据块中的第i个子数据块中的数据没有被更新,则将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块对应;
[0066]将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述第M个备份时刻之前的所有备份时刻的位图恢复所述主文件的数据。
[0067]结合本发明第三方面以及本发明第三方面的第一种至第三种可能的实现方式,在本发明第三方面的第四种可能的实现方式中,所述设备还包括::
[0068]删除模块,用于删除所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
[0069]结合本发明第三方面,在本发明第三方面的第五种可能的实现方式中,所述备份模块还用于:
[0070]判断所述主存储设备的当前的服务质量QoS条件是否满足要求;
[0071]若所述QoS条件满足要求,则将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中。
[0072]结合本发明第三方面的第五种可能的实现方式,在本发明第三方面的第六种可能的实现方式中,所述QoS条件包括以下条件中的任意一个或其组合:所述主存储设备的中央处理器CPU利用率、内存利用率、磁盘利用率以及所述主存储设备和所述备份存储设备之间的网络带宽。
[0073]结合本发明第三方面,在本发明第三方面的第七种可能的实现方式中,所述备份模块还用于:
[0074]判断所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小是否大于预先设置的数据量阈值;
[0075]若所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小大于所述数据量阈值,则将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
[0076]结合本发明第三方面,在本发明第三方面的第八种可能的实现方式中,所述设备还包括:
[0077]配置模块,用于配置所述本地备份缓冲区的大小和所述快照资源池的大小。
[0078]本发明第四方面提供一种主存储设备,包括:
[0079]分块模块,用于将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数;
[0080]备份模块,用于在初始备份时刻,将所述主文件中的初始数据同步到备份存储设备的备份文件中;
[0081]拷贝模块,用于在第M个备份时刻,将所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,M为大于等于2的正整数;
[0082]所述备份模块还用于,将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
[0083]结合本发明第四方面,在本发明第四方面的第一种可能的实现方式中,所述拷贝模块包括:
[0084]生成单元,用于根据所述N个子数据块中的数据生成每个子数据块对应的第M个备份时刻的哈希值;
[0085]判断单元,用于依次判断所述N个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值是否相同,若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值相同,则确定所述第i个子数据块中的数据没有被更新,若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值不相同,则确定所述第i个子数据块中的数据被更新了 ;
[0086]拷贝单元,用于将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
[0087]结合本发明第四方面的第一种可能的实现方式,在本发明第四方面的第二种可能的实现方式中,所述备份模块还用于:
[0088]将所述N个子数据块对应的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块对应的第M个备份时刻的哈希值和所述初始备份时刻的哈希值恢复所述主文件的数据。
[0089]结合本发明第四方面的第一种可能的实现方式,在本发明第四方面的第三种可能的实现方式中,所述备份模块还用于:
[0090]若所述N个子数据块中的第i个子数据块中的数据没有被更新,则将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块对应;
[0091]将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述初始备份时刻的位图恢复所述主文件的数据。
[0092]结合本发明第四方面以及第四方面的第一种至第三种可能的实现方式,在本发明第四方面的第四种可能的实现方式中,所述设备还包括:
[0093]删除模块,用于删除所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
[0094]结合本发明第四方面,在本发明第四方面的第五种可能的实现方式中,所述备份模块还用于:
[0095]判断所述主存储设备的当前的服务质量QoS条件是否满足要求;
[0096]若所述QoS条件满足要求,则将本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
[0097]本发明实施例提供一种文件备份方法和主存储设备,主存储设备通过将主文件的存储空间划分为N个子数据块,在增量备份的每个备份时刻,将上一备份时刻到本次备份时刻之间的被更新的子数据块中的数据拷贝到本地备份缓冲区中,在差量备份的备份时亥IJ,将初始备份时刻到本次备份时刻之间被更新的子数据块中数据拷贝到本地备份缓冲区中,主存储设备只需要同步本地备份缓冲区中存储的被更新的子数据块中的数据,没有被更新的子数据块的数据不需要同步,从而能够减少文件备份的数据量,提高文件备份效率,节省备份数据的存储空间。

【专利附图】

【附图说明】
[0098]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0099]图1为本发明各实施例所适用的文件存储系统的结构示意图;
[0100]图2为本发明实施例一提供的文件备份方法的流程图;
[0101]图3为主文件的存储空间的分块示意图;
[0102]图4为本发明实施例二提供的确定被更新子数据块的流程图;
[0103]图5为备份时刻的位图的一种示意图;
[0104]图6为备份时刻的位图合并的示意图;
[0105]图7为本发明实施例三提供的文件备份方法的完整流程图;
[0106]图8为本发明实施例四提供的文件备份方法的流程图;
[0107]图9为本发明实施例五提供的确定被更新子数据块的流程图;
[0108]图10为本发明实施例六提供的主存储设备的结构示意图;
[0109]图11为本发明实施例七提供的主存储设备的结构示意图;
[0110]图12为本发明实施例八提供的主存储设备的结构示意图;
[0111]图13为本发明实施例九提供的主存储设备的结构示意图;
[0112]图14为本发明实施例十提供的主存储设备的结构示意图;
[0113]图15为本发明实施例十一提供的主存储设备的结构示意图。

【具体实施方式】
[0114]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0115]图1为本发明各实施例所适用的文件存储系统的结构示意图,如图1所示,该文件存储系统中包括一个主存储设备和一个备份存储设备。主存储设备中包括主文件的存储空间和本地备份缓冲区,主文件的存储空间用于存储主文件,主文件是相对于备份文件而言的,本发明实施例的方法中,主文件的存储空间被划分为了 N个子数据块。在采用增量备份时,本地备份缓冲区用于存储第M-1个备份时刻到第M个备份时刻之间被更新的子数据块中的数据,第M-1个备份时刻为第M个备份时刻的上一备份时刻。当采用增量备份时,本地备份缓冲区中用于存储初始备份时刻到第M个备份时刻之间被更新的子数据块中的数据。主存储设备可以在对主文件的存储空间分块之前配置本地备份缓冲区的大小,例如,将本地备份缓冲区的大小设置为主文件大小的5%?10%,本地备份缓冲区的大小可以根据需要灵活配置,本地备份缓冲区支持扩容策略。
[0116]备份存储设备包括备份文件的存储空间和快照资源池,备份文件的存储空间用于存储主文件的初始数据,快照资源池用于存储备份文件的增量数据,在初始备份之后,后续备份时刻同步的数据都称为备份文件的增量数据,快照资源池可以按照时间点来记录增量数据。主存储设备可以在对主文件的存储空间分块之前对快照资源池进行配置,例如,将快照资源池的初始大小设置为主文件大小的10%?20%,快照资源池的大小可以根据需要灵活配置,并且快照资源池也支持扩容策略,例如,当快照资源池中数据达到80 %,则对快照资源池扩容20%。图1所示的文件存储系统只是举例说明,在实际的应用中,文件存储系统中可以包括多个主存储设备,每个主存储设备具有一个或多个备份存储设备,并且还还可以包括一个管理设备,该管理设备用于管理文件存储系统中的所有存储设备。
[0117]图2为本发明实施例一提供的文件备份方法的流程图,请参照图1和图2所示,本实施例中以增量备份方法为例对文件备份方法进行详细说明,本实施例的方法可以包括以下步骤:
[0118]步骤101、主存储设备将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数。
[0119]本实施例中,主存储设备在对主文件的存储空间进行分块时,每个子数据块的大小可以相同也可以不同,子数据块的大小和分块个数可以根据主文件的存储空间的大小确定,例如,当主文件的存储空间较大时,每个子数据块的大小也可以相应大一些,当主文件的存储空间较小时,每个子数据块的大小相应也小一些。对主文件的存储空间分块的目的是为了精确识别被改变的数据所在的位置,因此,子数据块的大小要合适,子数据块太小会影响分块效率,子数据块太大会导致每次同步的数据量大。需说明的是,本发明实施例中的主文件是相对于备份文件说的。
[0120]主存储设备对主文件的存储空间进行分块时,具体为:首先,读取主文件的存储空间的逻辑区块地址(Logical Block Address,简称LBA),然后,根据每个子数据块的大小对LBA地址进行分段,记录每个子数据块的LBA地址,每个子数据块的LBA地址包括:开始LBA地址和结束LBA地址,将所有子数据块的LBA地址记录在一张地址表中,该地址表的格式如表I所示:
[0121]表I
[0122]
子数据块的编号I开始地址 I结束地址
110000011 10001111
2XXXXXXXX
~ XXXX XXXX
N XXXX XXXX
[0123]对于一个子数据块来说,该子数据块的LBA地址可能不连续,那么一个子数据块的LBA地址可能需要多个LBA地址串联起来,类似于指针一样,该地址表可以保存在主存储设备的本地备份缓冲区中。
[0124]步骤102、在初始备份时刻,主存储设备将主文件中的初始数据同步到备份存储设备的备份文件中。
[0125]在对主文件的存储空间分块之后,主存储设备对主文件进行初始备份,即将主文件中的初始数据同步到备份存储设备的备份文件中。在对主文件进行初始备份时,主文件的存储空间可能没有存满数据,只有部分子数据块中存满数据,因此,在初始备份时,只对存储有数据的子数据块进行备份。
[0126]在分块时对各个子数据块进行了编号,因此,可以按照编号的顺序依次将各子数据块存储满数据。如图3所示,图3为主文件的存储空间的分块示意图,主文件的存储空间被分成了 N个子数据块,前K-1个子数据块中存满数据,第K个子数据块中没有存储满数据,第K个子数据块虚线左侧的存储空间存满数据,虚线右侧的存储空间为未使用的存储空间,第K个子数据块至第N个子数据块为未使用的存储空间,第K个子数据块为当前存储子数据块,当前存储子数据块中还未存满数据,新写入的数据会被存储在当前存储子数据块,在第K个子数据块存储满后,新写入的数据会存储在第K+1个子数据块中。当然,主存储设置在存储数据时也可以不按照子数据块的顺序进行存储。本实施例中,主存储设备将所述主文件中的初始数据同步到备份存储设备的备份文件中,具体为:主存储设备将主文件的前K-1个子数据块中的数据以及第K个子数据块中的数据同步到备份存储设备的备份文件中。
[0127]步骤103、在第M个备份时刻,主存储设备将第M-1个备份时刻到第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,第M-1个备份时刻为第M个备份时刻的上一备份时刻,M为大于等于2的正整数。
[0128]本实施例中按照时间点触发备份操作,例如为每半个小时触发一次备份操作,具体的触发间隔可以根据实际情况需要进行设置,例如,主存储设备中的数据经常变化,那么可以将触发间隔设置的短一些。
[0129]增量备份只备份上次备份以后有变化的子数据中的数据,因此,在第M个备份时亥|J,主存储设备只将第M-1个备份时刻到第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区中,第M-1个备份时刻为第M个备份时刻的上一备份时刻,即将上一备份时刻到本次备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区中。本实施例中,第M-1个备份时刻到第M个备份时刻之间被更新的子数据块包括以下三种数据块:(I)在第M-1个备份时刻已经存储满数据,并且在第M个备份时刻之前该子数据块中的数据被修改了 ;(2)在第M-1个备份时刻没有存储数据的子数据块,并且在第M个备份时刻之前被存储满或正在写的子数据块;(3)在第M-1个备份时刻没有存储满数据,并且在第M各备份时刻存储满数据的子数据块。
[0130]步骤104、主存储设备将本地备份缓冲区中的第M-1个备份时刻到第M个备份时刻之间被更新的子数据块中的数据同步到备份存储设备的快照资源池中,快照资源池用于存储所述备份文件的增量数据。
[0131]在将被更新的子数据块中的数据拷贝到本地备份缓冲区后,主存储设备进行数据同步,将本地备份缓冲区中的第M-1个备份时刻到第M个备份时刻之间被更新的子数据块中的数据发送到备份存储设备的快照资源池中,完成数据备份。在每次数据备份完成之后,主存储设备删除本地备份缓冲区中的第M-1个备份时刻到第M个备份时刻之间被更新的子数据块中的数据。
[0132]本实施例中,主存储设备通过将主文件的存储空间划分为N个子数据块,在每个备份时刻,将上一备份时刻到本次备份时刻之间的被更新的子数据块中的数据拷贝到本地备份缓冲区中,主存储设备只需要同步本地备份缓冲区中存储的被更新的子数据块中的数据,没有被更新的子数据块的数据不需要同步,从而能够减少文件备份的数据量,提高文件备份效率,节省备份数据的存储空间。
[0133]在对文件进行备份时,当备份的数据量较大时,会对服务器上已经运行的应用的性能产生影响,并且对网络带宽也是一个极大的冲击。因此,在本发明可行的实现方式中,在步骤104之前,可选地,所述方法还可以包括以下步骤:主存储设备判断自己当前的服务质量QoS条件是否满足要求;若该QoS条件满足要求,则主存储设备执行步骤104,将本地备份缓冲区中的第M-1个备份时刻到第M个备份时刻之间被更新的子数据块的数据同步到备份存储设备的快照资源池中。若该QoS条件不满足要求,则主存储设备不执行数据同步操作。
[0134]该QoS条件包括以下条件中的任意一个或其组合:主存储设备的中央处理器(Central Processing Unit,简称CPU)利用率、内存利用率、磁盘利用率以及主存储设备和备份存储设备之间的网络带宽。例如,设置主存储设备的CPU利用率、内存利用率、磁盘利用率均低于60%才允许数据同步,当上述三个条件中的任意一个不满足时不进行数据同步。或者,当网络带宽利用率低于70%允许进行数据同步,当网络带宽的利用率高于70%暂停数据同步。可以理解的是,主存储设备在进行数据同步的同时,可能还在接收客户端发送的数据存储请求,或者执行其他操作,这些操作也会占用主存储设备的CPU、内存、磁盘等物理资源。当主存储设备的CPU利用率、内存利用率和磁盘利用率高于60%时,如果主存储设备执行数据同步操作,该数据同步操作也会占用CPU、内存、磁盘资源,那么就会对主存储设备中已经存在的应用的性能产生影响,例如,由于数据同步操作占用了 CPU资源,使得主存储设备对客户端的数据存储请求响应慢。另外,当备份的数据大时,会对网络带宽造成影响,因此,本实施例中,在备份时刻,若当前网络带宽大于带宽阈值,则不进行数据备份,从而减少数据备份对网络带宽的影响。
[0135]在实施例一的基础上,可选地,在步骤104之前还可以包括以下步骤:主存储设备判断本地备份缓冲区中的第M-1个备份时刻到第M个备份时刻之间被更新的子数据块中的数据的大小是否大于预先设置的数据量阈值;若该被更新的子数据块中的数据的大小大于所述数据量阈值,则主存储设备将该被更新的子数据块中的数据同步到备份存储设备的快照资源池。
[0136]本发明实施例二是对实施例一中步骤103的详细描述,图4为本发明实施例二提供的确定被更新子数据块的流程图,如图4所示,本实施例提供的方法可以包括以下步骤:
[0137]步骤201、主存储设备根据N个子数据块中的数据分别生成N个子数据块对应的第M个备份时刻的哈希值。
[0138]步骤202、主存储设备依次判断N个子数据块的每个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值是否相同,若N个子数据块中的第i个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值相同,则主存储设备确定第i个子数据块中的数据没有被更新,若N个子数据块中的第i个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值不相同,则主存储设备确定第i个子数据块中的数据被更新了。
[0139]步骤203、主存储设备将N个子数据块中被更新的子数据块中的数据拷贝到本地备份缓冲区。
[0140]主存储设备读取每个子数据块中的数据,然后,计算每个子数据块中数据的哈希值,现有技术中有多种哈希算法,例如MD5、MD2、MD4等,本实施例中,可以采用现有的任意一种哈希算法计算子数据块的哈希值。本实施例的方法中,在每个备份时刻,主存储设备都会计算每个子数据块在当前备份时刻的哈希值,然后,将每个子数据块在当前备份时刻的哈希值与上一备份时刻的哈希值进行比较,若某一子数据块在当前备份时刻的哈希值与上一备份时刻的哈希值相同,则说明该子数据块中的数据没有被更新,若某一子数据块在当前备份时刻的哈希值与上一备份时刻的哈希值不相同,则说明该子数据块中的数据被更新了。主存储设备将N个子数据块中被更新的所有子数据块中的数据拷贝到本地备份缓冲区中。
[0141]本实施例中,主存储设备将本地备份缓冲区中的第M-1个备份时刻到第M个备份时刻之间被更新的子数据块中的数据同步到备份存储设备的快照资源池中之后,所述方法还包括以下步骤:主存储设备将N个子数据块的第M个备份时刻的哈希值发送给备份存储设备,以使备份存储设备根据N个子数据块对应的第M个备份时刻的哈希值和第M个备份时刻之前的所有备份时刻的哈希值恢复主文件的数据。
[0142]上述方法中,在每次数据备份完成之后,主存储设备都会将本次备份时刻生成的各子数据块在本次备份时刻的哈希值发送给备份存储设备,以使备份存储设备根据每个备份时刻的哈希值恢复主文件的数据。在另一种可行的实现方式中,备份存储设备也可以根据每个备份时刻的位图进行数据恢复,位图的每一位与主文件的N个子数据块--对应。
位图中的每一位有两种可能的取值:非初始值和初始值,非初始值表示该位对应的子数据块中的数据相对于上一备份时刻更新了,初始值表示该位对应的子数据块中的数据相对于上一备份时刻没有更新。
[0143]图5为备份时刻的位图的一种不意图,图5中非初始值用I表不,初始值用O表示。当备份存储设备采用备份时刻位图进行数据恢复时,相应地,在主存储设备完成数据备份之后,所述方法还包括以下步骤:若N个子数据块中的第i个子数据块没有被更新,则主存储设备将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若N个子数据块中的第i个子数据块被更新了,则主存储设备将第M个备份时刻的位图中第i个子数据块对应位上的值设置为非初始值。并将第M个备份时刻的位图发送给备份存储设备,以使备份存储设备根据第M个备份时刻的位图和第M个备份时刻之前的所有备份时刻的位图恢复主文件的数据。
[0144]当主文件故障(比如文件损坏)或数据丢失后,可以使用备份文件和快照资源池中存储的备份文件的增量数据对主文件的数据进行恢复。当采用增量备份时,可以根据初始备份时刻位图和恢复时刻之前的所有备份时刻位图恢复主文件的数据。备份存储设备在进行数据恢复时,可以根据每个子数据块在各备份时刻的哈希值进行恢复,也可以根据每个备份时刻的位图进行数据恢复。
[0145]以备份存储设备根据每个备份时刻的位图进行数据恢复为了进行说明,假设,共有M个增量备份点,M个增量备份点的备份时刻分别为Tl、T2……Tm,若需要恢复Tm时刻时主文件的数据,首先需要合并初始备份时刻的位图和Tl时刻的位图得到Tl时刻的合并位图和数据,然后,合并Tl时刻的合并位图和T2时刻的位图得到T2时刻的合并位图和数据,依次类推得到Tm时刻的合并位图和数据。图6为备份时刻的位图合并的示意图,如图6所示,O表示对应的子数据块中数据没有更新,I表示对应子数据块中的数据被更新,ABCDEFG表示对应子数据块中的数据,初始备份时刻的位图为10101100,初始备份时刻子数据块2、4、7、8中没有存储数据,子数据1、3、5、6中分别存储数据A、B、C、D。Tl时刻的位图为00110010,可知,Tl时刻子数据块3、4、7中的数据被更新了,Tl时刻子数据块3、4、7中的数据被更新为E、F、G。合并后Tl时刻的合并位图为10111110,合并后的各子数据块对应的合并数据如图所示。
[0146]同理,当备份存储设备根据各子数据块在每个备份时刻的哈希值进行数据恢复时,备份存储设备将各子数据块第M个备份时刻的哈希值与第M-1个备份时刻的哈希值进行比较,确定哪些子数据块被更新了,在合并时被更新了的子数据块中的数据以第N个备份时刻的数据为准,依次类推,得到Tm时刻的合并数据。
[0147]图7为本发明实施例三提供的文件备份方法的完整流程图,如图7所示,本实施例的方法可以包括以下步骤:
[0148]步骤301、主存储设备配置本地备份缓冲区的大小和快照资源池的大小。
[0149]主存储设备根据主文件的存储空间的大小确定本地缓冲区的大小和快照资源池的大小,例如,配置本地缓冲区的大小为主文件的存储空间的10%,快照资源池的大小为主文件的存储空间的20%。然后,主存储设备为备份缓冲区在本地分配相应大小的存储空间,并将快照资源池的大小发送给备份存储设备,由备份存储设备为快照资源池分配相应大小的存储空间。主存储设备还可以为本地备份缓冲区和快照资源池设置扩容策略,例如,当快照资源池中的数据达到了快照资源池大小的80%,那么扩容20%。
[0150]步骤302、主存储设备将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数。
[0151]主文件的存储空间的大小和N的取值由人为预先设定好,在设定N的取值时,可以根据主文件的存储空间的大小确定N的取值,通常可以将子数据块的大小设置为60K左右,那么当主文件的存储空间大时,N取值也大,当主文件的存储空间小时,N取值也相应的小。
[0152]步骤303、在初始备份时刻,主存储设备将主文件中的初始数据同步到备份存储设备的备份文件中。
[0153]步骤304、在第M个备份时刻,主存储设备将第M-1个备份时刻到第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,M的初始值为2。
[0154]本实施例中,初始备份时刻为第I个备份时刻。
[0155]步骤305、当主存储设备的QoS条件满足要求时,主存储设备将本地备份缓冲区中的被更新的子数据块中的数据同步到备份存储设备的快照资源池中,生成第M个备份时刻的位图,并将第M个备份时刻的位图发送给备份存储设备。
[0156]步骤306、主存储设备删除本地备份缓冲区中存储的被更新的子数据块中的数据。
[0157]步骤307、主存储设备检查快照资源池的大小,若快照资源池的使用率达到阈值,则对快照资源池进行扩容。
[0158]在步骤307执行完成后,当下一备份时刻到达时,循环执行步骤304-307。
[0159]本实施例中,主存储设备通过将主文件划分为N个子数据块,在备份时刻,主存储设备只同步上次备份时刻到本次备份时刻被更新的子数据块中的数据,没有被更新的子数据块中的数据不需要同步,从而能够减少文件备份的数据量,提高文件备份效率,节省备份数据的存储空间。另外,主存储设备在对主文件进行备份时,通过判断自己当前的QoS条件是否满足要求,只有在QoS满足条件时才进行数据备份,能够减少数据备份对主存储设备中已经存在的应用的性能和网络带宽的影响。
[0160]图8为本发明实施例四提供的文件备份方法的流程图,请参照图1和图8所示,和实施例一的方法相比,本实施例中以差量备份方法为例对文件备份方法进行详细说明,本实施例的方法可以包括以下步骤:
[0161]步骤401、主存储设备将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数;
[0162]步骤402、在初始备份时刻,主存储设备将主文件中的初始数据同步到备份存储设备的备份文件中。
[0163]步骤403、在第M个备份时刻,主存储设备将初始备份时刻到第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,M为大于等于2的正整数。
[0164]步骤404、主存储设备将本地备份缓冲区中的初始备份时刻到第M个备份时刻之间被更新的子数据块中的数据同步到备份存储设备的快照资源池中,快照资源池用于存储备份文件的增量数据。
[0165]步骤401和步骤402的具体实现方式可参照实施例一中的步骤101和102的相关描述,这里不再赘述。
[0166]增量备份和差量备份的主要区别在于:差量备份中,本次备份时刻备份的数据是本次备份时刻相对于初始备份时刻被更新的数据;而增量备份中,本次备份时刻备份的数据是本次备份时刻相对于上一备份时刻被更新的数据。因此,本实施例中只有步骤403,在第M个备份时刻,主存储设备将初始备份时刻到第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区。然后,将被更新的子数据块中的数据同步到快照资源池中。在数据备份完成后,主存储设备删除本地备份缓冲区中被更新的子数据块中的数据。
[0167]本实施例中,主存储设备通过将主文件的存储空间划分为N个子数据块,在每个备份时刻,将初始备份时刻到本次备份时刻之间的被更新的子数据块中的数据拷贝到本地备份缓冲区中,主存储设备只需要同步本地备份缓冲区中存储的被更新的子数据块中的数据,没有被更新的子数据块的数据不需要同步,从而能够减少文件备份的数据量,提高文件备份效率,节省备份数据的存储空间。
[0168]在上述实施例四的基础上,可选地,在步骤104之前,所述方法还可以包括以下步骤:主存储设备判断自己当前的服务质量QoS条件是否满足要求;若QoS条件满足要求,则主存储设备将本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池,若QoS条件不满足要求,则主存储设备不执行数据备份操作。或者,主存储设备判断本地备份缓冲区中的所述初始备份时刻到第M个备份时刻之间被更新的子数据块中的数据的大小是否大于预先设置的数据量阈值;若本地备份缓冲区中的所述初始备份时刻到第M个备份时刻之间被更新的子数据块中的数据的大小大于数据量阈值,则主存储设备将本地备份缓冲区中的初始备份时刻到第M个备份时刻之间被更新的子数据块中的数据同步到备份存储设备的快照资源池。
[0169]本发明实施例五是对实施例四中步骤403的详细描述,图9为本发明实施例五提供的确定被更新子数据块的流程图,如图9所示,本实施例提供的方法可以包括以下步骤:
[0170]步骤501、主存储设备根据所述N个子数据块中的数据生成每个子数据块对应的第M个备份时刻的哈希值。
[0171]步骤502、主存储设备依次判断N个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值是否相同,若N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值相同,则主存储设备确定第i个子数据块中的数据没有被更新,若N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值不相同,则主存储设备确定第i个子数据块中的数据被更新了。
[0172]步骤503、主存储设备将N个子数据块中被更新的子数据块中的数据拷贝到本地备份缓冲区。
[0173]本实施例和实施例二的区别在于:本实施例中,主存储设备是将N个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值进行比价,以确定被更新的子数据块。
[0174]在实施例五的基础上,主存储设备在本次数据备份完成之后,还执行以下步骤:主存储设备将N个子数据块对应的第M个备份时刻的哈希值发送给备份存储设备,以使备份存储设备根据N个子数据块对应的第M个备份时刻的哈希值和初始备份时刻的哈希值恢复主文件的数据。
[0175]或者,主存储设备生成第N个备份时刻的位图,将第N个备份时刻的位图发送给备份存储设备,以使备份存储设备根据初始备份时刻的位图和第N个备份时刻的位图恢复出主文件在第N个备份时刻的数据。具体地:若N个子数据块中的第i个子数据块中的数据没有被更新,则主存储设备将第M个备份时刻的位图中第i个子数据块对应位上的值设置为初始值,若N个子数据块中的第i个子数据块中的数据被更新了,则主存储设备将第M个备份时刻的位图中第i个子数据块对应位上的值设置为非初始值,第M个备份时刻的位图的每一位与主文件的N个子数据块--对应。
[0176]差量备份的数据恢复过程比增量备份的数据恢复过程更加简单,增量备份在数据恢复时需要经过多个数据合并才能恢复完整数据,而在差量备份中,只需要进行一次数据合并就可以恢复完整数据。例如,若要恢复第N个备份时刻的数据,那么备份存储设备只根据各子数据块在第N个备份时刻的哈希值和初始备份时刻的哈希值进行数据恢复,或者,只根据各子数据块在第N个备份时刻的位图和初始备份时刻的位图进行数据恢复。差量备份中,备份存储设备进行数据合并过程和增量备份相同,因此,这里不再赘述,具体实现方式可参照增量备份的数据恢复过程。
[0177]图10为本发明实施例六提供的主存储设备的结构示意图,如图10所示,本实施例的主存储设备可以包括:分块模块11、备份模块12和拷贝模块13。
[0178]其中,分块模块11,用于将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数;
[0179]备份模块12,用于在初始备份时刻,将所述主文件中的初始数据同步到备份存储设备的备份文件中;
[0180]拷贝模块13,用于在第M个备份时刻,将第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,所述第M-1个备份时刻为所述第M个备份时刻的上一备份时刻,M为大于等于2的正整数;
[0181]所述备份模块12还用于,在拷贝模块13将第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区之后,将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
[0182]本实施例的主存储设备,可以用于执行实施例一的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0183]图11为本发明实施例七提供的主存储设备的结构示意图,如图11所示,本实施例的主存储设备在图10所示的主存储设备的结构的基础上,进一步地,还可以包括:删除模块14和配置模块15,该删除模块14用于,在备份模块12将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之后,删除所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。配置模块15,用于配置所述本地备份缓冲区的大小和所述快照资源池的大小。
[0184]本实施例中,所述拷贝模块13具体包括:生成单元131,判断单元132和拷贝单元133。生成单元131,用于根据所述N个子数据块中的数据分别生成所述N个子数据块对应的第M个备份时刻的哈希值;判断单元132,用于依次判断所述N个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值是否相同,若所述N个子数据块中的第i个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值相同,则确定所述第i个子数据块中的数据没有被更新,若所述N个子数据块中的第i个子数据块的每个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值不相同,则确定所述第i个子数据块中的数据被更新了 ;拷贝单元133,用于将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
[0185]进一步地,所述备份模块12还用于:将所述N个子数据块的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块的第M个备份时刻的哈希值和所述第M个备份时刻之前的所有备份时刻的哈希值恢复所述主文件的数据。
[0186]或者,所述备份模块12还用于:若所述N个子数据块中的第i个子数据块中的数据没有被更新,则将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块一一对应;并将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述第M个备份时刻之前的所有备份时刻的位图恢复所述主文件的数据。
[0187]可选地,所述备份模块12还用于:在将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,判断所述主存储设备的当前的服务质量QoS条件是否满足要求;若所述QoS条件满足要求,则所述备份模块12将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中。其中,所述QoS条件包括以下条件中的任意一个或其组合:所述主存储设备的中央处理器CPU利用率、内存利用率、磁盘利用率以及所述主存储设备和所述备份存储设备之间的网络带宽。
[0188]可选地,所述备份模块12还用于:在将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,判断所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小是否大于预先设置的数据量阈值;若所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小大于所述数据量阈值,则所述备份模块12将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
[0189]本实施例的主存储设备,可以用于执行实施例一至实施例三的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0190]图12为本发明实施例八提供的主存储设备的结构示意图,如图12所示,本实施例的主存储设备可以包括:分块模块21、备份模块22和拷贝模块23。
[0191]分块模块21,用于将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数;
[0192]备份模块22,用于在初始备份时刻,将所述主文件中的初始数据同步到备份存储设备的备份文件中;
[0193]拷贝模块23,用于在第M个备份时刻,将所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,M为大于等于2的正整数;
[0194]所述备份模块还用于22,在所述拷贝模块23将所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区之后,将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
[0195]本实施例的主存储设备可以用于执行实施例四提供的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0196]图13为本发明实施例九提供的主存储设备的结构示意图,如图13所示,本实施例的主存储设备在图12所示的主存储设备的结构的基础上,进一步地,还可以包括:删除模块24,所述删除模块24,用于在所述备份模块22将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之后,删除所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
[0197]本实施例中,所述拷贝模块23具体包括:生成单元231、判断单元232和拷贝单元233,其中,生成单元231,用于根据所述N个子数据块中的数据生成每个子数据块对应的第M个备份时刻的哈希值;判断单元232,用于依次判断所述N个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值是否相同,若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值相同,则确定所述第i个子数据块中的数据没有被更新,若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值不相同,则确定所述第i个子数据块中的数据被更新了 ;拷贝单元233,用于将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
[0198]进一步地,所述备份模块22还用于:将所述N个子数据块对应的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块对应的第M个备份时刻的哈希值和所述初始备份时刻的哈希值恢复所述主文件的数据。
[0199]或者,所述备份模块22还用于:若所述N个子数据块中的第i个子数据块中的数据没有被更新,则将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块--对应;并将生成的所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述初始备份时刻的位图恢复所述主文件的数据。
[0200]可选地,所述备份模块22还用于,在将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中之前,判断所述主存储设备的当前的服务质量QoS条件是否满足要求;若所述QoS条件满足要求,则将本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
[0201]本实施例的主存储设备,可以用于执行实施例四和实施例五提供的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0202]图14为本发明实施例十提供的主存储设备的结构示意图,如图14所示,本实施例的主存储设备300包括:处理器31、存储器32、通信接口 33以及系统总线34,存储器32和通信接口 33通过系统总线34与处理器31连接并通信,通信接口 33用于和其他设备进行通信,存储器32中存储有计算机执行指令321 ;所述处理器31,用于运行所述计算机执行指令321,执行如下所述的方法:
[0203]将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数;
[0204]在初始备份时刻,将所述主文件中的初始数据同步到备份存储设备的备份文件中;
[0205]在第M个备份时刻,将第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,所述第M-1个备份时刻为所述第M个备份时刻的上一备份时刻,M为大于等于2的正整数;
[0206]将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
[0207]所述处理器31在执行上述方法之前还用于:配置所述本地备份缓冲区的大小和所述快照资源池的大小。
[0208]所述处理器31在将第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区时,具体用于:首先,根据所述N个子数据块中的数据分别生成所述N个子数据块对应的第M个备份时刻的哈希值。然后,依次判断所述N个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值是否相同;若所述N个子数据块中的第i个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值相同,则所述主存储设备确定所述第i个子数据块中的数据没有被更新;若所述N个子数据块中的第i个子数据块的每个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值不相同,则所述主存储设备确定所述第i个子数据块中的数据被更新了。最后,将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
[0209]所述处理器31在将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中之后,还用于执行如下操作:将所述N个子数据块的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块的第M个备份时刻的哈希值和所述第M个备份时刻之前的所有备份时刻的哈希值恢复所述主文件的数据。或者,若所述N个子数据块中的第i个子数据块中的数据没有被更新,则所述主存储设备将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则所述主存储设备将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块一一对应;并将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述第M个备份时刻之前的所有备份时刻的位图恢复所述主文件的数据。
[0210]进一步地,在所述处理器31将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之后,所述处理器31还用于:删除所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
[0211]可选地,所述处理器31在将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,还用于:判断主存储设备300的当前的服务质量QoS条件是否满足要求;若所述QoS条件满足要求,则所述处理器31将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中。其中,所述QoS条件包括以下条件中的任意一个或其组合:所述主存储设备300的处理器31的利用率、内存利用率、磁盘利用率以及所述主存储设备300和所述备份存储设备之间的网络带宽。
[0212]可选地,所述处理器31在将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,还用于:判断所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小是否大于预先设置的数据量阈值;若所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小大于所述数据量阈值,则所述处理器31将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
[0213]本实施例的主存储设备,可以用于执行实施例一至实施例三提供的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0214]图15为本发明实施例十一提供的主存储设备的结构示意图,如图15所示,本实施例的主存储设备400包括:处理器41、存储器42、通信接口 43以及系统总线44,存储器42和通信接口 43通过系统总线44与处理器41连接并通信,通信接口 43用于和其他设备进行通信,存储器42中存储有计算机执行指令421 ;所述处理器41,用于运行所述计算机执行指令421,执行如下所述的方法:
[0215]将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数;
[0216]在初始备份时刻,将所述主文件中的初始数据同步到备份存储设备的备份文件中;
[0217]在第M个备份时刻,将所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,M为大于等于2的正整数;
[0218]将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
[0219]所述处理器41在将所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区时,具体用于:首先,根据所述N个子数据块中的数据生成每个子数据块对应的第M个备份时刻的哈希值。然后,依次判断所述N个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值是否相同,若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值相同,则确定所述第i个子数据块中的数据没有被更新;若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值不相同,则确定所述第i个子数据块中的数据被更新了。最后,将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
[0220]所述处理器41在将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中之后,还用于:将所述N个子数据块对应的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块对应的第M个备份时刻的哈希值和所述初始备份时刻的哈希值恢复所述主文件的数据。或者,若所述N个子数据块中的第i个子数据块中的数据没有被更新,则所述处理器41将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则所述处理器41将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块一一对应;并将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述初始备份时刻的位图恢复所述主文件的数据。
[0221]进一步,所述处理器41在将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之后,还用于:删除所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
[0222]可选地,所述处理器41在将本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,还用于:判断自己当前的服务质量QoS条件是否满足要求;若所述QoS条件满足要求,则所述处理器41将本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
[0223]本实施例的主存储设备,可以用于执行实施例四和实施例五提供的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0224]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0225]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种文件备份方法,其特征在于,包括: 主存储设备将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数; 在初始备份时刻,所述主存储设备将所述主文件中的初始数据同步到备份存储设备的备份文件中; 在第M个备份时刻,所述主存储设备将第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,所述第M-1个备份时刻为所述第M个备份时刻的上一备份时刻,M为大于等于2的正整数; 所述主存储设备将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
2.根据权利要求1所述的方法,其特征在于,所述主存储设备将第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,包括: 所述主存储设备根据所述N个子数据块中的数据分别生成所述N个子数据块对应的第M个备份时刻的哈希值; 所述主存储设备依次判断所述N个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值是否相同; 若所述N个子数据块中的第i个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值相同,则所述主存储设备确定所述第i个子数据块中的数据没有被更新; 若所述N个子数据块中的第i个子数据块的每个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值不相同,则所述主存储设备确定所述第i个子数据块中的数据被更新了; 所述主存储设备将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
3.根据权利要求2所述的方法,其特征在于,所述主存储设备将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中之后,所述方法还包括: 所述主存储设备将所述N个子数据块的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块的第M个备份时刻的哈希值和所述第M个备份时刻之前的所有备份时刻的哈希值恢复所述主文件的数据。
4.根据权利要求2所述的方法,其特征在于,所述主存储设备将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中之后,所述方法还包括: 若所述N个子数据块中的第i个子数据块中的数据没有被更新,则所述主存储设备将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则所述主存储设备将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块--对应; 所述主存储设备将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述第M个备份时刻之前的所有备份时刻的位图恢复所述主文件的数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述主存储设备将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之后,所述方法还包括: 所述主存储设备删除所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
6.根据权利要求1所述的方法,其特征在于,所述主存储设备将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,所述方法还包括: 所述主存储设备判断自己当前的服务质量QoS条件是否满足要求; 若所述QoS条件满足要求,则所述主存储设备将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中。
7.根据权利要求6所述的方法,其特征在于,所述QoS条件包括以下条件中的任意一个或其组合:所述主存储设备的中央处理器CPU利用率、内存利用率、磁盘利用率以及所述主存储设备和所述备份存储设备之间的网络带宽。
8.根据权利要求1所述的方法,其特征在于,所述主存储设备将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,所述方法还包括: 所述主存储设备判断所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小是否大于预先设置的数据量阈值; 若所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小大于所述数据量阈值,则所述主存储设备将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
9.根据权利要求1所述的方法,其特征在于,所述主存储设备将主文件的存储空间划分为N个子数据块之前,所述方法还包括: 所述主存储设备配置所述本地备份缓冲区的大小和所述快照资源池的大小。
10.一种文件备份方法,其特征在于,包括: 主存储设备将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数; 在初始备份时刻,所述主存储设备将所述主文件中的初始数据同步到备份存储设备的备份文件中; 在第M个备份时刻,所述主存储设备将所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,M为大于等于2的正整数; 所述主存储设备将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
11.根据权利要求10所述的方法,其特征在于,所述主存储设备将所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,包括: 所述主存储设备根据所述N个子数据块中的数据生成每个子数据块对应的第M个备份时刻的哈希值; 所述主存储设备依次判断所述N个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值是否相同; 若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值相同,则所述主存储设备确定所述第i个子数据块中的数据没有被更新; 若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值不相同,则所述主存储设备确定所述第i个子数据块中的数据被更新了 ; 所述主存储设备将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
12.根据权利要求11所述的方法,其特征在于,所述主存储设备将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中之后,所述方法还包括: 所述主存储设备将所述N个子数据块对应的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块对应的第M个备份时刻的哈希值和所述初始备份时刻的哈希值恢复所述主文件的数据。
13.根据权利要求11所述的方法,其特征在于,所述主存储设备将所述被更新的子数据块中的数据拷贝到所述本地备份缓冲区之后,所述方法还包括: 若所述N个子数据块中的第i个子数据块中的数据没有被更新,则所述主存储设备将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则所述主存储设备将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块--对应; 所述主存储设备将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述初始备份时刻的位图恢复所述主文件的数据。
14.根据权利要求11-13中任一项所述的方法,其特征在于,在所述主存储设备将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之后,所述方法还包括: 所述主存储设备删除所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
15.根据权利要求10所述的方法,其特征在于,所述主存储设备将本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池之前,所述方法还包括: 所述主存储设备判断自己当前的服务质量QoS条件是否满足要求; 若所述QoS条件满足要求,则所述主存储设备将本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
16.一种主存储设备,其特征在于,包括: 分块模块,用于将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数; 备份模块,用于在初始备份时刻,将所述主文件中的初始数据同步到备份存储设备的备份文件中; 拷贝模块,用于在第M个备份时刻,将第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,所述第M-1个备份时刻为所述第M个备份时刻的上一备份时刻,M为大于等于2的正整数; 所述备份模块还用于,将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
17.根据权利要求16所述的设备,其特征在于,所述拷贝模块包括: 生成单元,用于根据所述N个子数据块中的数据分别生成所述N个子数据块对应的第M个备份时刻的哈希值; 判断单元,用于依次判断所述N个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值是否相同,若所述N个子数据块中的第i个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值相同,则确定所述第i个子数据块中的数据没有被更新,若所述N个子数据块中的第i个子数据块的每个子数据块的第M个备份时刻的哈希值与第M-1个备份时刻的哈希值不相同,则确定所述第i个子数据块中的数据被更新了 ; 拷贝单元,用于将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
18.根据权利要求17所述的设备,其特征在于,所述备份模块还用于: 将所述N个子数据块的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块的第M个备份时刻的哈希值和所述第M个备份时刻之前的所有备份时刻的哈希值恢复所述主文件的数据。
19.根据权利要求17所述的设备,其特征在于,所述备份模块还用于: 若所述N个子数据块中的第i个子数据块中的数据没有被更新,则将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块--对应; 将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述第M个备份时刻之前的所有备份时刻的位图恢复所述主文件的数据。
20.根据权利要求16-19中任一项所述的设备,其特征在于,所述设备还包括: 删除模块,用于删除所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
21.根据权利要求16所述的设备,其特征在于,所述备份模块还用于: 判断所述主存储设备的当前的服务质量QoS条件是否满足要求; 若所述QoS条件满足要求,则将所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中。
22.根据权利要求21所述的设备,其特征在于,所述QoS条件包括以下条件中的任意一个或其组合:所述主存储设备的中央处理器CPU利用率、内存利用率、磁盘利用率以及所述主存储设备和所述备份存储设备之间的网络带宽。
23.根据权利要求16所述的设备,其特征在于,所述备份模块还用于: 判断所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小是否大于预先设置的数据量阈值; 若所述本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据的大小大于所述数据量阈值,则将本地备份缓冲区中的所述第M-1个备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
24.根据权利要求16所述的设备,其特征在于,所述设备还包括: 配置模块,用于配置所述本地备份缓冲区的大小和所述快照资源池的大小。
25.一种主存储设备,其特征在于,包括: 分块模块,用于将主文件的存储空间划分为N个子数据块,N为大于等于2的正整数; 备份模块,用于在初始备份时刻,将所述主文件中的初始数据同步到备份存储设备的备份文件中; 拷贝模块,用于在第M个备份时刻,将所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据拷贝到本地备份缓冲区,M为大于等于2的正整数; 所述备份模块还用于,将所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池中,所述快照资源池用于存储所述备份文件的增量数据。
26.根据权利要求25所述的设备,其特征在于,所述拷贝模块包括: 生成单元,用于根据所述N个子数据块中的数据生成每个子数据块对应的第M个备份时刻的哈希值; 判断单元,用于依次判断所述N个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值是否相同,若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值相同,则确定所述第i个子数据块中的数据没有被更新,若所述N个子数据块中的第i个子数据块的第M个备份时刻哈希值与初始备份时刻的哈希值不相同,则确定所述第i个子数据块中的数据被更新了 ; 拷贝单元,用于将所述N个子数据块中被更新的子数据块中的数据拷贝到所述本地备份缓冲区。
27.根据权利要求26所述的设备,其特征在于,所述备份模块还用于: 将所述N个子数据块对应的第M个备份时刻的哈希值发送给所述备份存储设备,以使所述备份存储设备根据所述N个子数据块对应的第M个备份时刻的哈希值和所述初始备份时刻的哈希值恢复所述主文件的数据。
28.根据权利要求26所述的设备,其特征在于,所述备份模块还用于: 若所述N个子数据块中的第i个子数据块中的数据没有被更新,则将第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为初始值,若所述N个子数据块中的第i个子数据块中的数据被更新了,则将所述第M个备份时刻的位图中所述第i个子数据块对应位上的值设置为非初始值,所述第M个备份时刻的位图的每一位与所述主文件的N个子数据块--对应; 将所述第M个备份时刻的位图发送给所述备份存储设备,以使所述备份存储设备根据所述第M个备份时刻的位图和所述初始备份时刻的位图恢复所述主文件的数据。
29.根据权利要求25-28中任一项所述的设备,其特征在于,所述设备还包括: 删除模块,用于删除所述本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据。
30.根据权利要求25所述的设备,其特征在于,所述备份模块还用于: 判断所述主存储设备的当前的服务质量QoS条件是否满足要求; 若所述QoS条件满足要求,则将本地备份缓冲区中的所述初始备份时刻到所述第M个备份时刻之间被更新的子数据块中的数据同步到所述备份存储设备的快照资源池。
【文档编号】G06F11/14GK104166606SQ201410436375
【公开日】2014年11月26日 申请日期:2014年8月29日 优先权日:2014年8月29日
【发明者】秦祖福 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1