发明内容
针对上述技术问题,本发明提供一种数据备份的设备、系统和方法,用于在备份或恢复数据时,能够动态调整数据备份和恢复的时间,满足不同的时间需求。
本发明实施例提供的一种数据备份的方法,该方法包括:
计算机设备以时间间隔T为周期,采用第一备份方式将数据备份到外部存储设备;所述计算机设备以第一备份方式的特征标签为输入值,采用序列生成算法生成由两种不同状态的元素组成且长度为M的序列;在第一备份方式的周期T内,所述计算机设备以时间间隔t为周期,根据所述序列的两种不同状态的元素分别采用第二备份方式和/或第三备份方式将数据备份到外部存储设备;其中,M≥1且为整数,当mod(T,t)=0,M=(T/t)-1;当mod(T,t)>0,
根据本发明的进一步实施例,所述第一备份方式是指所述计算机设备对所有数据进行全部备份;所述第二备份方式是指所述计算机设备对与前一次备份相比增加或被修改的数据进行备份;所述第三备份方式是指所述计算机设备对前一次采用第一备份方式进行备份之后有变化的数据进行备份。
根据本发明的进一步实施例,所述计算机设备能够根据数据备份和/或恢复的需求,动态选择序列生成算法。
根据本发明的进一步实施例,所述序列生成算法具有如下特征:如果所述序列生成算法的输入值相同,则所述序列生成算法的输出值也相同。
根据本发明的进一步实施例,所述计算机设备能够根据数据备份和/或恢复的要求,更改所述生成序列中的N个元素的状态,并记录更改序列元素状态的行为,其中,0≤N≤M,且N为整数。
根据本发明的进一步实施例,所述生成序列的第X+1个元素为第一状态元素,所述计算机设备对数据进行第X次备份后,标记数据为已备份状态;或者,所述生成序列的第X-Y个和第X+1个元素均为第二状态元素,所述计算机设备对数据进行第X次备份后,清除从第X-Y次到第X次备份的所有数据的备份标记;其中,1≤X≤M-1,0≤Y≤X-1,且X,Y为整数。
根据本发明的进一步实施例,若所述计算机设备在第X次备份之后、第X+1次备份之前恢复数据,如果所述生成序列的第X个元素为第一状态元素,且第X-Y个元素为第二状态元素,所述计算机设备将从第X-Y次到第X次备份的所有数据,以及前一次采用第一备份方式进行备份的数据全部恢复;或者,如果所述生成序列的第X个元素为第二状态元素,所述计算机设备将第X次备份的数据,和前一次采用第一备份方式进行备份的数据全部恢复;其中,1≤X≤M,0≤Y≤X-1,且X,Y为整数,当且仅当X=1时,Y=0。
本发明实施例提供的一种数据备份系统,该系统包括计算机设备和外部存储设备。所述计算机设备,用于采用第一备份方式将数据备份到外部存储设备,并以第一备份方式的特征标签为输入值,采用序列生成算法生成由两种不同状态的元素组成且长度为M的序列;在第一备份方式的周期T内,根据所述序列的两种不同状态的元素分别采用第二备份方式和/或第三备份方式将数据备份到外部存储设备;所述外部存储设备,用于存储计算机设备的采用第一备份方式、第二和/或第三备份方式进行备份的数据。
本发明实施例提供的一种数据备份的计算机设备,该设备包括序列生成单元、算法存储单元、设置单元、发送单元和接收单元。所述序列生成单元,用于以第一备份方式的特征标签为输入值,采用序列生成算法生成由两种不同状态的元素组成的序列;所述算法存储单元,用于存储序列生成单元所需的序列生成算法;所述设置单元,用于根据数据备份和/或恢复的要求,更改所述生成序列中元素的状态,并记录更改序列元素状态的行为;所述发送单元,用于根据第一备份方式、第二和/或第三备份方式将备份数据发送到外部存储设备;所述接收单元,用于恢复数据时,接收来自外部存储设备的数据。
本发明实施例提供的一种数据备份的外部存储设备,该设备包括接收单元和发送单元。所述接收单元,用于备份数据时,接收计算机设备发送单元根据第一备份方式、第二和/或第三备份方式发送的数据;所述发送单元,用于恢复数据时,将备份数据发送至计算机设备的接收单元。
本发明中特征标签可以是完全备份周期的时间标签,例如完全备份周期为一个月,则该周期的年月可以作为其特征标签
本发明综合增量备份时间短和差异备份恢复时间短的优点,能够实现最优的数据备份或恢复综合性能。进一步地,通过动态选择序列生成算法,能够动态调整数据备份和恢复的时间,满足不同的时间需求。
具体实施方式
本发明实施例提供了一种数据备份的设备、系统和方法,用于在计算机设备备份或恢复数据时,能够动态调整数据备份和恢复的时间,满足不同的时间需求。
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
图3为本发明实施例备份数据的流程示意图,如图所示,在数据备份上可以包括如下步骤:
步骤301:计算机设备以时间间隔T为周期,采用第一备份方式将数据备份到外部存储设备;
步骤302:所述计算机设备以第一备份方式的特征标签为输入值,采用序列生成算法生成由两种不同状态的元素组成且长度为M的序列;
步骤303:在第一备份方式的周期T内,所述计算机设备以时间间隔t为周期,根据所述序列的两种不同状态的元素分别采用第二备份方式和/或第三备份方式将数据备份到外部存储设备。
在具体实施中,第一备份方式是指所述计算机设备对所有数据进行全部备份,即完全备份方式;第二备份方式是指所述计算机设备对与前一次备份相比增加或被修改的数据进行备份,即增量备份方式;第三备份方式是指所述计算机设备对前一次采用第一备份方式进行备份之后有变化的数据进行备份,即差异备份方式。
当然,第二备份方式与增量备份方式,以及第三备份方式与差异备份方式的对应关系不是固定的,二者的对应关系可以进行对换。
在具体实施中,完全备份方式的备份周期通常较长,例如每周备份一次,即T为一周。而增量备份和差异备份的备份周期较短,例如每两小时备份一次,即t为两小时。因此,在一个完全备份周期内,计算机设备需要进行多次增量备份和/或差异备份。
在具体实施中,计算机设备以第一备份方式的特征标签为输入值,采用序列生成算法生成序列。其中,特征标签可以是完全备份周期的时间标签,例如完全备份周期为一个月,则该周期的年月可以作为其特征标签。
当然,特征标签可以是任何能够唯一表征两次完全备份之间时间段的标签,只要能够根据标签区分不同时间段即可。
在具体实施中,生成序列应该包括两种不同状态的元素,例如两种不同电平的信号,或两种不同的数字等。生成序列的元素并局限上述两种情况,只要生成的序列中两种元素能够明确区分即可。这两种元素分别与增量备份和差异备份对应,以根据相应的元素选择相应的备份方式。
生成序列的长度M应与一个完全备份周期内增量备份和/或差异备份的次数相等,可以通过周期完全备份周期T及增量备份和/或差异备份周期t计算出来。如果完全备份的周期正好是增量备份和/或差异备份周期的整数倍,即mod(T,t)=0,则增量备份和/或差异备份的次数为M=(T/t)-1。而如果完全备份的周期不是增量备份和/或差异备份周期的整数倍,即mod(T,t)>0,则增量备份和/或差异备份的次数为
即T与t之商的下取整。
在具体实施中,序列生成算法需要具备如下特征:如果所述序列生成算法的输入值相同,则所述序列生成算法的输出值也相同,而且输出值的长度可以指定。这样的特征保证了根据特征标签和算法生成的序列具有一定的确定性,在恢复数据时能够快速确定使用增量备份方式或差异备份方式的时间点。
在具体实施中,序列生成算法可以根据用户的需求进行动态选择,在算法选择方面,主要分为如下情况:
情况一:用户希望数据的备份时间和恢复时间具有均衡性,则序列生成算法应采用能够根据相同概率生成两种不同状态元素的算法,例如哈希(Hash)算法。
哈希算法可以将一段数据使用唯一且极其紧凑的二进制数值表示出来,数值的长度可以指定,且在二进制数值序列中,0和1的生成概率是相同的。
情况二:用户希望数据的备份时间或恢复时间较短,而不在乎恢复或备份时间的长短。此时,序列生成算法应采用其中一种状态元素生成概率较高的算法,这样生成的序列中能够包含较多的该状态的元素。例如,根据均匀分布、几何分布、正态分布等各种分布函数构造的随机序列生成算法,其中元素的概率通过分布函数的概率密度函数指定。
如果希望备份时间较短,则将该状态的元素与增量备份对应。而如果希望恢复时间较短,则将该状态的元素与差异备份对应。
在极端情况下,如果希望仅采用增量备份或差异备份,则序列生成算法仅生成一种状态元素即可,将这种状态元素与增量备份或差异备份相对应。
从上述可以看出,利用本发明实施例可以数据备份或恢复时间的动态调整,满足不同的时间需求。
在具体实施中,为了满足用户的特殊需求,例如希望某个时间点采用确定的方式备份数据,则可以通过更改生成序列中相应的元素状态来实现。
在极端情况下,如果用户希望全部采用完全备份,则需要将序列中的元素状态更改为第三种不同的状态。
需要说明的是,这种状态更改行为需要被计算机设备记录,否则的话,在进行数据恢复时,将发生错误。
在具体实施中,增量备份仅对与前一次备份相比增加或被修改的数据进行备份,因此计算机设备在进行增量异备份之前一次的备份后,需要把已备份数据标记为已备份状态。
而差异备份对前一次采用完全备份进行备份之后有变化的数据进行备份,因此计算机设备在进行完差异备份之前一次的备份后,需要将前一次差异备份到本次差异备份之间(包括前一次差异备份,不包括本次差异备份)的所有数据的备份标记清除。
在具体实施中,如果在第X次备份和第X+1次备份之间,计算机设备需要从外部存储设备恢复数据,则包括如下两种情况:
情况一:如果第X次备份为增量备份,则计算机设备需要将从前一次差异备份到第X次增量备份之间的所有数据(包括前一次差异备份和第X次增量备份),以及前一次完全备份的数据全部恢复;
情况二:如果第X次备份为差异备份,则计算机设备需要将第X次差异备份和前一次完全备份的所有数据全部恢复。
图4为本发明实施例中计算机设备根据生成序列备份数据的示意图。如图所示,假设完全备份的周期为48小时,增量备份和/或差异备份的周期为2小时,则以完全备份的特征标签为输入值,采用序列生成算法生成的序列长度为(48/2)-1=23。
假设序列生成算法生成序列为二进制数值序列[0,0,1,0,1,1,0,1,…,1,0],将二进制数值0与差异备份相对应,二进制数值1与增量备份相对应,计算机设备采用差异备份和增量备份将数据备份到外部存储设备。
如果在备份过程中,用户希望第4次备份采用增量备份,缩短备份时间,则可以通过计算机设备将序列中的第4个二进制数值修改为1。计算机设备记录本次修改行为,如果需要恢复数据,计算机设备会根据记录确定本次备份方式为增量备份。
在备份过程中,如果下一次备份为增量备份,则本次备份数据后,需要将备份数据标识为已备份状态。例如,第5次备份为增量备份,则计算机设备在进行完第4次差异备份后,需要将已备份的数据标识为已备份状态。
但如果下一次备份为差异备份,情况则不相同,需要清除上一次差异备份到本次备份的备份数据的已备份状态标识。例如第7次备份为差异备份,则计算机设备在进行完第6次增量备份后,需要清除第4次到第6次的备份数据的已备份状态标识。
在恢复数据的过程中,如果恢复时刻之前的一次备份为增量备份,则需要将前一次差异备份到本次增量备份,以及前一次完全备份的所有数据都恢复。例如,在第6次备份和第7次备份之间需要恢复数据,计算机设备需要将第4次到第6次,以及前一次完全备份的数据全部恢复。
而如果恢复时刻之前的一次备份为差异备份,则将这次备份和前一次完全备份的所有数据都恢复。例如,在第7次和第8次之间恢复数据,计算机设备将第7次备份和前一次完全备份的所有数据恢复即可。
图5为本发明实施例中数据备份和恢复的系统结构示意图,该系统包括计算机设备501和外部存储设备502。
计算机设备501,用于采用完全备份方式将数据备份到外部存储设备502,并以完全备份方式的特征标签为输入值,采用序列生成算法生成由两种不同状态的元素组成的序列。进一步地,在一个完全备份周期内,计算机设备501根据所述序列的两种不同状态的元素分别采用增量备份方式和/或差异备份方式将数据备份到外部存储设备502,其中序列的长度等于一个完全备份周期内,采用增量备份方式和/或差异备份方式进行数据备份的次数。
外部存储设备502,用于存储计算机设备501的采用完全备份方式、增量备份方式和/或差异备份方式进行备份的数据。
外部存储设备502通常采用磁带库、光盘、RAID(Redundant Arrays of InexpensiveDisks,磁盘阵列)等存储方式。此外,随着网络存储和新技术的发展,外部存储设备还可以采用例如FC SAN(Fibre Channel Storage Area Network,光纤通道存储区域网络)、IP SAN(Internet Protocol Storage Area Network,互联协议存储区域网络)、FCoESAN(Fibre Channel over Ethernet Storage Area Network,以太网光纤通道存储区域网络)、对象存储、云存储等各种存储方式备份数据。
在数据恢复过程中,计算机设备501从外部存储设备502读取之前备份的数据。
图6为本发明实施例中数据备份和恢复的设备拓扑示意图,如图所示,所涉及的设备包括计算机设备和外部存储设备。
通常上,外部存储设备是相对计算机设备内部包含的存储设备而言的。通常计算机设备内部包括自己的硬盘或存储阵列等,但为了防止系统出现故障造成数据丢失,都会保持一份数据拷贝在外部存储设备。
计算机设备包括:
序列生成单元601,用于以完全备份方式的特征标签为输入值,采用序列生成算法生成由两种不同状态的元素组成的序列;
算法存储单元602,用于存储序列生成单元601所需的序列生成算法;
设置单元603,用于根据数据备份和/或恢复的要求,更改所述生成序列中元素的状态,并记录更改序列元素状态的行为;
发送单元604,用于根据完全备份方式、增量备份方式和/或差异备份方式将备份数据发送到外部存储设备的接收单元606;
接收单元605,用于恢复数据时,接收来自外部存储设备发送单元607发送的数据。
外部存储设备包括:
接收单元606,用于备份数据时,接收计算机设备发送单元604根据完全备份方式、增量备份方式和/或差异备份方式发送的数据;
发送单元607,用于恢复数据时,将备份数据发送至计算机设备的接收单元605。
在具体实施中,发送单元604根据一定周期采用完全备份方式向接收单元606备份数据。在一个完全备份周期内,序列生成单元601以完全备份方式的特征标签为输入值,采用序列生成算法生成由两种不同状态的元素组成的序列,发送单元604根据所生成的序列采用增量备份方式和/或差异备份方式向接收单元606备份数据。
序列生成单元601可以根据备份或恢复数据的需求,从算法存储单元602中动态选择序列生成算法。进一步地,设置单元603可以根据备份或恢复数据的需求更改序列中部分或全部元素的状态,并记录更改行为。当恢复备份的数据时,发送单元607将备份的数据发送给接收单元605。
综上所述,本发明实施例中,计算机设备采用第一备份方式将数据备份到外部存储设备;所述计算机设备以第一备份方式的特征标签为输入值,采用序列生成算法生成序列;所述计算机设备根据所述序列的两种不同状态的元素分别采用第二备份方式和/或第三备份方式将数据备份到外部存储设备,实现了动态调整数据备份和恢复的时间,满足了不同的时间需求。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。