CN104268034B - 一种数据备份方法及装置和数据恢复方法及装置 - Google Patents
一种数据备份方法及装置和数据恢复方法及装置 Download PDFInfo
- Publication number
- CN104268034B CN104268034B CN201410527483.0A CN201410527483A CN104268034B CN 104268034 B CN104268034 B CN 104268034B CN 201410527483 A CN201410527483 A CN 201410527483A CN 104268034 B CN104268034 B CN 104268034B
- Authority
- CN
- China
- Prior art keywords
- subsequence
- sequence
- continuous
- symbolism
- classification
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据备份方法及装置和数据恢复方法及装置,首先对待备份数据进行序列分割生成子序列集,并将子序列集中的各个元素被其所属子序列类别对应的类别符号替换生成符号化序列,实现对待备份数据的一次压缩,然后通过分别与各个每个最大频率连续子序列对应的序列符号对符号化序列进行编码,生成与符号化序列对应的编码序列,实现对待备份数据的二次压缩,进而通过将子序列类别与代表子序列之间的对应关系、最大频繁连续子序列与序列符号之间的对应关系及经过压缩后的编码序列作为备份数据,可有效避免现有技术因备份数据的数据量较大,而导致的数据恢复效率低的问题。
Description
技术领域
本申请涉及数据备份技术领域,特别是涉及一种数据备份方法及装置和数据恢复方法及装置。
背景技术
随着大数据时代的来临,数据规模越来越大,海量数据的存储管理带来了一定的风险,因灾难的发生所造成的数据丢失,将可能导致巨大经济的损失。
现有技术通常采用数据备份的方法进行防灾,以实现当灾难发生时,通过数据恢复的方式,保证数据的安全性。传统的数据备份方法通常是直接对数据进行完全的备份(如:直接通过复制待备份数据的方式得到备份数据)。
但是,该方法在灾难发生,利用备份数据进行数据恢复时,通常会因备份数据的数据量较大,导致数据恢复慢、恢复效率低的问题。
发明内容
有鉴于此,本申请提供一种数据备份方法及装置和数据恢复方法及装置,以解决现有技术因备份数据的数据量较大,而导致的数据恢复效率低的问题。
为了实现上述目的,本发明实施例提供的技术方案如下:
一种数据备份方法,包括:
对待备份数据进行序列分割,利用分割得到的各个子序列生成与所述待备份数据对应的子序列集;
对所述子序列集中的各个元素进行聚类,利用每个所述元素所属子序列类别对应的唯一的类别符号替换该元素,生成与所述子序列集对应的符号化序列;
计算分别与每个所述子序列类别对应的代表子序列;
获取所述符号化序列中的各个最大频繁连续子序列;
利用分别与每个所述最大频繁连续子序列对应的唯一的序列符号对所述符号化序列进行编码,生成与所述符号化序列对应的编码序列;
将子序列类别与代表子序列之间的对应关系、最大频繁连续子序列与序列符号之间的对应关系及编码序列作为备份数据。
优选的,所述对所述子序列集中的各个元素进行聚类,利用每个所述元素所属子序列类别对应的唯一的类别符号替换该元素,生成与所述子序列集对应的符号化序列,包括:
通过预先设置的动态时间弯曲算法计算所述子序列集中各个元素之间的距离矩阵;
利用所述距离矩阵及预先设置的层次聚类算法,对所述子序列集中的各个元素进行聚类;
利用每个所述元素所属子序列类别对应的唯一的类别符号替换该元素,生成与所述子序列集对应的符号化序列。
优选的,所述计算分别与每个所述子序列类别对应的代表子序列,包括针对每个所述子序列类别执行以下过程:
获取所述子序列类别中的各个子序列;
分别计算所述子序列类别中的每个子序列到该子序列类别中的各个其他子序列之间的距离和;
将到所述子序列类别中的各个其他子序列之间的距离和的值最小的子序列,确定为与所述子序列类别对应的代表子序列。
优选的,所述获取所述符号化序列中的各个最大频繁连续子序列,包括:
利用预先设置的基于投影数据库的频繁子序列挖掘算法计算所述符号化序列中的各个频繁连续子序列;
根据预先设置的最大频繁连续子序列获取规则,从各个所述频繁连续子序列中获取各个最大频繁连续子序列。
优选的,所述根据预先设置的最大频繁连续子序列获取规则,从各个所述频繁连续子序列中获取各个最大频繁连续子序列,包括:
A1、从各个所述频繁连续子序列中获取长度为i的各个频繁连续子序列;
B1、判断参考序列是否为某个长度为i的频繁连续子序列中的部分字符串;
C1、当否时,将该参考序列确定为目标值;
D1、判断各个所述频繁连续子序列中是否存在长度为i+1的频繁连续子序列;
E1、当存在时,将长度为i的各个所述频繁连续子序列更新为所述参考序列,且令i′=i+1,将i′确定为新的i,返回执行A1;
F1、当不存在时,将每个所述目标值作为一个最大频繁连续子序列。
优选的,利用所述符号化序列中每个所述最大频繁连续子序列对应的唯一的序列符号替换该最大频繁连续子序列,生成与所述符号化序列对应的编码序列。
优选的,利用所述符号化序列中每个所述最大频繁连续子序列对应的唯一的序列符号,及某些最大频繁连续子序列中的部分字符串对应的唯一的序列符号,生成与所述符号化序列对应的编码序列。
优选的,所述利用所述符号化序列中每个所述最大频繁连续子序列对应的唯一的序列符号,及某些最大频繁连续子序列中的部分字符串对应的唯一的序列符号,生成与所述符号化序列对应的编码序列,包括:
A2、依据所述符号化序列中元素的顺序从所述符号化序列中读取一个类别符号放入缓冲器buffer中;
B2、判断所述buffer中的类别符号串是否为某个最大频繁连续子序列中的部分字符串;当是时,执行步骤C2;当否时,执行步骤D2;
C2、判断buffer的中类别符号串的长度是否等于某个最大频繁连续子序列中的字符串的长度,当是时,执行F2;当否时,执行A2;
D2、获取与所述buffer中除最后一个类别符号的类别符号串对应的唯一的序列符号;
E2、清空buffer,返回执行步骤A2;
F2、获取与所述buffer中的类别符号串对应的序列符号;
G2、利用上述步骤A2~F2在执行过程中获取的序列符号,生成编码序列。
一种数据备份装置,包括:
分割单元,用于对待备份数据进行序列分割,利用分割得到的各个子序列生成与所述待备份数据对应的子序列集;
第一生成单元,用于对所述子序列集中的各个元素进行聚类,利用每个所述元素所属子序列类别对应的唯一的类别符号替换该元素,生成与所述子序列集对应的符号化序列;
计算单元,用于计算分别与每个所述子序列类别对应的代表子序列;
获取单元,用于获取所述符号化序列中的各个最大频繁连续子序列;
第二生成单元,用于利用分别与每个所述最大频繁连续子序列对应的唯一的序列符号对所述符号化序列进行编码,生成与所述符号化序列对应的编码序列;
备份数据确定单元,用于利用分别与每个所述最大频繁连续子序列对应的唯一的序列符号,生成与所述符号化序列对应的编码序列。
一种数据恢复方法,包括:
利用预先设置的最大频繁连续子序列与序列符号之间的对应关系对预先设置的编码序列进行译码,生成与所述编码序列对应的符号化序列;
利用预先设置的子序列类别与代表子序列之间的对应关系,通过代表子序列替换所述符号化序列中与该代表子序列对应的子序列类别对应的类别符号,生成与所述符号化序列对应的待备份数据。
一种数据恢复装置,包括:
第一恢复单元,用于利用预先设置的最大频繁连续子序列与序列符号之间的对应关系对预先设置的编码序列进行译码,生成与所述编码序列对应的符号化序列;
第二恢复单元,用于利用预先设置的子序列类别与代表子序列之间的对应关系,通过代表子序列替换所述符号化序列中与该代表子序列对应的子序列类别对应的类别符号,生成与所述符号化序列对应的待备份数据。
本申请提供一种数据备份方法及装置和数据恢复方法及装置,首先对待备份数据进行序列分割生成子序列集,并将子序列集中的各个元素被其所属子序列类别对应的类别符号替换生成符号化序列,实现对待备份数据的一次压缩,然后通过分别与各个每个最大频率连续子序列对应的序列符号对符号化序列进行编码,生成与符号化序列对应的编码序列,实现对待备份数据的二次压缩,进而通过将子序列类别与代表子序列之间的对应关系、最大频繁连续子序列与序列符号之间的对应关系及经过压缩后的编码序列作为备份数据,可有效避免现有技术因备份数据的数据量较大,而导致的数据恢复效率低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例一提供的一种数据备份方法流程图;
图2为本申请实施例二提供的一种数据备份装置的结构示意图;
图3为本申请实施例三提供的一种数据恢复方法流程图;
图4为本申请实施例四提供的一种数据恢复装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
图1为本申请实施例一提供的一种数据备份方法流程图。
如图1所示,该方法包括:
S101、对待备份数据进行序列分割,利用分割得到的各个子序列生成与待备份数据对应的子序列集。
在本申请实施例中,优选的,当需要对待备份数据进行数据备份时,首先需要将待备份数据看成一个时间序列,然后采用基于滑动窗口的斜率变化分段线性分割时间序列的方法实现对该待备份数据的序列分割,具体的,对待备份数据进行序列分割的过程如下:给定一个滑动窗口大小W以及一个误差阈值K,滑动窗口W沿着时间序列的时间戳移动,每次移动一个点就通过最小二乘回归计算该滑动窗口中的线段的斜率,并与前一个滑动窗口中的线段的斜率进行比较,如果斜率的改变量超过了误差阈值K,则一个分割点就被记录下来,该分割点为上一个滑动窗口最右边的点,同时,将滑动窗口移至分割点右边的点,重复执行上述过程;如果斜率的改变量没有超过误差阈值K,则原来的斜率值被当前滑动窗口中线段的斜率替代,滑动窗口继续向前移动,重复执行上述过程;直至该时间序列中的各个点均被遍历。
在本申请实施例中,当对待备份数据进行序列分割后,会得到与待备份数据的数据内容顺序对应的各个子序列,与待备份数据的数据内容顺序对应的各个子序列组成的集合即为子序列集。
S102、对子序列集中的各个元素进行聚类,利用每个元素所属子序列类别对应的唯一的类别符号替换该元素,生成与子序列集对应的符号化序列。
在本申请实施例中,优选的,当生成与待备份数据对应的子序列集后,需对该子序列集中的各个元素进行聚类(即:对子序列集中的各个元素进行分类),然后才利用每个元素所属子序列类别对应的唯一的类别符号替换该元素,生成与子序列集对应的符号化序列,其中,该过程包括:
1、通过预先设置的动态时间弯曲算法计算子序列集中各个元素之间的距离矩阵。
在本申请实施例中,优选的,利用预先设置的动态时间弯曲算法计算得到的距离矩阵包括:子序列集中每个元素到其他各个元素之间的距离。
在本申请实施例中,预先设置的动态时间弯曲算法为现有技术,详细请参见现有技术,在此不做详细介绍。
2、利用距离矩阵及预先设置的层次聚类算法,对子序列集中的各个元素进行聚类。
在本申请实施例中,当计算出子序列集中各个元素之间的距离矩阵后,需要利用该距离矩阵及预先设置的层次聚类算法,对子序列集中的各个元素进行聚类,通过对子序列集中的各个元素进行聚类,可以使得同一子序列类别中的各个元素尽可能的相似,而不同子序列类别中的元素具有明显差别。
在本申请实施例中,预先设置的层次聚类算法为现有技术,详细请参见现有技术,在此不做详细介绍。
3、利用每个元素所属子序列类别对应的唯一的类别符号替换该元素,生成与子序列集对应的符号化序列。
在本申请实施例中,当对子序列集中的各个元素进行聚类后,分别为每个子序列类别分配一个唯一的类别符号,进而实现利用每个元素所属子序列类别对应的唯一的类别符号替换该元素,生成与子序列集对应的符号化序列。
在本申请实施例中,该步骤S102的目的是将子序列集中属于同一子序列类别的各个元素均用于该子序列类别对应的类别符号表示,进而实现对待备份数据的一次压缩。
S103、计算分别与每个子序列类别对应的代表子序列。
在本申请实施例中,优选的,在计算分别与每个子序列类别对应的代表子序列的过程中,需针对每个子序列类别均执行以下过程:
1、获取子序列类别中的各个子序列。
2、分别计算子序列类别中的每个子序列到该子序列类别中的各个其他子序列之间的距离和。
在本申请实施例中,优选的,针对每个子序列类别均执行以下过程:利用预先设置的动态时间弯曲算法计算该子序列分别到该子序列类别中的各个其他子序列的距离,并计算各个距离的距离和。
3、将到子序列类别中的各个其他子序列之间的距离和的值最小的子序列,确定为与子序列类别对应的代表子序列。
S104、获取符号化序列中的各个最大频繁连续子序列。
在本申请实施例中,优选的,获取符号化序列中的各个最大频繁连续子序列包括:
1、利用预先设置的基于投影数据库的频繁子序列挖掘算法计算符号化序列中的各个频繁连续子序列。
在本申请实施例中,优选的,基于投影数据库的频繁子序列挖掘算法为现有技术,详细描述请参见现有技术,在此不做详细介绍。
2、根据预先设置的最大频繁连续子序列获取规则,从各个频繁连续子序列中获取各个最大频繁连续子序列。
在本申请实施例中,优选的,根据预先设置的最大频繁连续子序列获取规则,从各个频繁连续子序列中获取各个最大频繁连续子序列,包括:
A1、从各个频繁连续子序列中获取长度为i的各个频繁连续子序列。
在本申请实施例中,优选的,初始化i的值为1。
在本申请实施例中,优选的,频繁连续子序列是由类别符号组成的字符串,长度i代表组成该频繁连续子序列的字符串中的类别符号的个数。
B1、判断参考序列是否为某个长度为i的频繁连续子序列中的部分字符串。
在本申请实施例中,优选的,初始化参考序列为步骤A1中获取到的各个频繁连续子序列中的一个。
在本申请实施例中,优选的,当步骤A1中获取到的某个频繁连续子序列为ABCDE,而参考序列为ABCD时,则认为该参考序列是长度为5的频繁连续子序列ABCDE中的部分字符串;而当参考序列为AC时,认为该参考序列并不是频繁连续子序列ABCDE中的部分字符串。
C1、当否时,将该参考序列确定为目标值。
在本申请实施例中,优选的,参考序列为至少一个,当某个参考序列是某个长度为i的频繁连续子序列中的部分字符串时,该参考序列不是目标值,此时可以忽略该参考序列不做考虑;当某个参考序列针对每个长度为i的频繁连续子序列,均不是其部分字符串时,则确定该参考序列为目标值。
D1、判断各个频繁连续子序列中是否存在长度为i+1的频繁连续子序列。
E1、当存在时,将长度为i的各个频繁连续子序列更新为参考序列,且令i′=i+1,将i′确定为新的i,返回执行A1。
F1、当不存在时,将每个目标值作为一个最大频繁连续子序列。
S105、利用分别与每个最大频繁连续子序列对应的唯一的序列符号对符号化序列进行编码,生成与符号化序列对应的编码序列。
在本申请实施例中,优选的,利用分别与每个最大频繁连续子序列对应的唯一的序列符号对符号化序列进行编码,生成与符号化序列对应的编码序列,包括:利用符号化序列中每个最大频繁连续子序列对应的唯一的序列符号替换该最大频繁连续子序列,生成与符号化序列对应的编码序列。
在本申请实施例中,优选的,当执行步骤S105时直接为符号化序列中每个最大频繁连续子序列分配一个唯一的序列符号,且利用每个最大频繁连续子序列对应的唯一的序列符号替换符号化序列中的该最大频繁连续子序列,生成与该符号化序列对应的编码序列。
在本申请实施例中,优选的,利用分别与每个最大频繁连续子序列对应的唯一的序列符号,生成与符号化序列对应的编码序列,包括:利用符号化序列中每个最大频繁连续子序列对应的唯一的序列符号,及某些最大频繁连续子序列中的部分字符串对应的唯一的序列符号,生成与符号化序列对应的编码序列,具体的,该过程如下:
A2、依据符号化序列中元素的顺序从符号化序列中读取一个类别符号放入buffer中。
B2、判断buffer中的类别符号串是否为某个最大频繁连续子序列中的部分字符串;当是时,执行步骤C2;当否时,执行步骤D2。
C2、判断buffer的中类别符号串的长度是否等于某个最大频繁连续子序列中的字符串的长度,当是时,执行F2;当否时,执行A2。
在本申请实施例中,优选的,设置类别符号串的长度为该类别符号串中类别符号的个数。
D2、获取与buffer中除最后一个类别符号的类别符号串对应的唯一的序列符号。
在本申请实施例中,优选的,该buffer中除最后一个类别符号的类别符号串对应的唯一的序列符号为当执行步骤D2时,直接为该buffer中除最后一个类别符号的类别符号串分配的一个唯一的序列符号。
E2、清空buffer,返回执行步骤A2。
F2、获取与buffer中的类别符号串对应的序列符号。
在本申请实施例中,优选的,该过程中buffer中的类别符号串的长度等于某个最大频繁连续子序列,即说明该buffer中的类别符号串为某个最大频繁连续子序列。
G2、利用上述步骤A2~F2在执行过程中获取的序列符号,生成编码序列。
在本申请实施例中,优选的,按照获取的序列符号的顺序,生成由获取到的序列符号组合成的编码序列。
S106、将子序列类别与代表子序列之间的对应关系、最大频繁连续子序列与序列符号之间的对应关系及编码序列作为备份数据。
在本申请实施例中,优选的,利用分别与每个最大频繁连续子序列对应的唯一的序列符号对符号化序列进行编码,生成与符号化序列对应的编码序列的过程为:利用符号化序列中每个最大频繁连续子序列对应的唯一的序列符号替换该最大频繁连续子序列,生成与符号化序列对应的编码序列时,该备份数据包括:子序列类别与代表子序列之间的对应关系、最大频繁连续子序列与序列符号之间的对应关系及编码序列。
在本申请实施例中,优选的,利用分别与每个最大频繁连续子序列对应的唯一的序列符号对所述符号化序列进行编码,生成与符号化序列对应的编码序列的过程为:利用符号化序列中每个最大频繁连续子序列对应的唯一的序列符号,及某些最大频繁连续子序列中的部分字符串对应的唯一的序列符号,生成与符号化序列对应的编码序列时,该备份数据包括:子序列类别与代表子序列之间的对应关系、最大频繁连续子序列与序列符号之间的对应关系及编码序列,其中,最大频繁连续子序列与序列符号之间的对应关系中不仅包括最大频繁连续子序列与序列符号之间的对应关系,还包括某些最大频繁连续子序列中的部分符号串与序列符号之间的对应关系。
本申请提供一种数据备份方法,该方法首先对待备份数据进行序列分割生成子序列集,并将子序列集中的各个元素被其所属子序列类别对应的类别符号替换生成符号化序列,实现对待备份数据的一次压缩,然后通过分别与各个每个最大频率连续子序列对应的序列符号对符号化序列进行编码,生成与符号化序列对应的编码序列,实现对待备份数据的二次压缩,进而通过将子序列类别与代表子序列之间的对应关系、最大频繁连续子序列与序列符号之间的对应关系及经过压缩后的编码序列作为备份数据,可有效避免现有技术因备份数据的数据量较大,而导致的数据恢复效率低的问题。
实施例二:
图2为本申请实施例二提供的一种数据备份装置的结构示意图。
如图2所示,该装置包括:依次相连的分割单元11、第一生成单元12、计算单元13、获取单元14、第二生成单元15及备份数据确定单元16。
分割单元11,用于对待备份数据进行序列分割,利用分割得到的各个子序列生成与待备份数据对应的子序列集。
第一生成单元12,用于对子序列集中的各个元素进行聚类,利用每个元素所属子序列类别对应的唯一的类别符号替换该元素,生成与子序列集对应的符号化序列。
计算单元13,用于计算分别与每个子序列类别对应的代表子序列。
获取单元14,用于获取符号化序列中的各个最大频繁连续子序列。
第二生成单元15,用于利用分别与每个最大频繁连续子序列对应的唯一的序列符号对符号化序列进行编码,生成与符号化序列对应的编码序列。
备份数据确定单元16,用于利用分别与每个最大频繁连续子序列对应的唯一的序列符号,生成与符号化序列对应的编码序列。
本申请提供一种数据备份装置,该装置首先对待备份数据进行序列分割生成子序列集,并将子序列集中的各个元素被其所属子序列类别对应的类别符号替换生成符号化序列,实现对待备份数据的一次压缩,然后通过分别与各个每个最大频率连续子序列对应的序列符号对所述符号化序列进行编码,生成与符号化序列对应的编码序列,实现对待备份数据的二次压缩,进而通过将子序列类别与代表子序列之间的对应关系、最大频繁连续子序列与序列符号之间的对应关系及经过压缩后的编码序列作为备份数据,可有效避免现有技术因备份数据的数据量较大,而导致的数据恢复效率低的问题。
实施例三:
图3为本申请实施例三提供的一种数据恢复方法流程图。
如图3所示,该方法包括:
S201、利用预先设置的最大频繁连续子序列与序列符号之间的对应关系对预先设置的编码序列进行译码,生成与所述编码序列对应的符号化序列。
S202、利用预先设置的子序列类别与代表子序列之间的对应关系,通过代表子序列替换所述符号化序列中与该代表子序列对应的子序列类别对应的类别符号,生成与所述符号化序列对应的待备份数据。
本申请实施例提供一种数据恢复方法,该方法利用预先设置的最大频繁连续子序列与序列符号之间的对应关系对预先设置的编码序列进行译码,生成与编码序列对应的符号化序列,并利用预先设置的子序列类别与代表子序列之间的对应关系,通过代表子序列替换符号化序列中与该代表子序列对应的子序列类别对应的类别符号,生成与符号化序列对应的待备份数据,实现对数据的恢复。进而使得本领域技术人员通过本申请提供的数据恢复方法可明确了解通过本申请提供的数据备份方法对待备份数据进行数据备份得到备份数据后,如果利用该备份数据得到待备份数据以实现数据恢复过程。且本申请实施例提供的数据恢复方法在利用经过聚类以及二次压缩后生成的备份数据进行数据恢复时,不仅可以通过压缩后的较小数据量的备份数据提高数据恢复效率,而且通过聚类后的待备份数据中的属于同一类别的子序列可用同一代表子序列表示,同一类别中的子序列对应的代表子序列无需查通过二次查询得到,进而可进一步提高数据恢复效率。
实施例四:
图4为本申请实施例四提供的一种数据恢复装置的结构示意图。
如图4所示,该装置包括:第一恢复单元21,及与该第一恢复单元21相连的第二恢复单元22,其中:
第一恢复单元21,用于利用预先设置的最大频繁连续子序列与序列符号之间的对应关系对预先设置的编码序列进行译码,生成与所述编码序列对应的符号化序列。
第二恢复单元22,用于利用预先设置的子序列类别与代表子序列之间的对应关系,通过代表子序列替换所述符号化序列中与该代表子序列对应的子序列类别对应的类别符号,生成与所述符号化序列对应的待备份数据。
本申请实施例提供一种数据恢复装置,该装置利用预先设置的最大频繁连续子序列与序列符号之间的对应关系对预先设置的编码序列进行译码,生成与编码序列对应的符号化序列,并利用预先设置的子序列类别与代表子序列之间的对应关系,通过代表子序列替换符号化序列中与该代表子序列对应的子序列类别对应的类别符号,生成与符号化序列对应的待备份数据,实现对数据的恢复。进而使得本领域技术人员通过本申请提供的数据恢复方法可明确了解通过本申请提供的数据备份方法对待备份数据进行数据备份得到备份数据后,如果利用该备份数据得到待备份数据以实现数据恢复过程。且本申请实施例提供的数据恢复装置在利用经过聚类以及二次压缩后生成的备份数据进行数据恢复时,不仅可以通过压缩后的较小数据量的备份数据提高数据恢复效率,而且通过聚类后的待备份数据中的属于同一类别的子序列可用同一代表子序列表示,同一类别中的子序列对应的代表子序列无需查通过二次查询得到,进而可进一步提高数据恢复效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上仅是本申请的优选实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种数据备份方法,其特征在于,包括:
对待备份数据进行序列分割,利用分割得到的各个子序列生成与所述待备份数据对应的子序列集;
对所述子序列集中的各个元素进行聚类,利用每个所述元素所属子序列类别对应的唯一的类别符号替换该元素,生成与所述子序列集对应的符号化序列;
计算分别与每个所述子序列类别对应的代表子序列;
获取所述符号化序列中的各个最大频繁连续子序列;
利用分别与每个所述最大频繁连续子序列对应的唯一的序列符号对所述符号化序列进行编码,生成与所述符号化序列对应的编码序列;
将子序列类别与代表子序列之间的对应关系、最大频繁连续子序列与序列符号之间的对应关系及编码序列作为备份数据;
其中,所述计算分别与每个所述子序列类别对应的代表子序列,包括针对每个所述子序列类别执行以下过程:
获取所述子序列类别中的各个子序列;
分别计算所述子序列类别中的每个子序列到该子序列类别中的各个其他子序列之间的距离和;
将到所述子序列类别中的各个其他子序列之间的距离和的值最小的子序列,确定为与所述子序列类别对应的代表子序列;
所述获取所述符号化序列中的各个最大频繁连续子序列,包括:
利用预先设置的基于投影数据库的频繁子序列挖掘算法计算所述符号化序列中的各个频繁连续子序列;
根据预先设置的最大频繁连续子序列获取规则,从各个所述频繁连续子序列中获取各个最大频繁连续子序列。
2.根据权利要求1所述的方法,其特征在于,所述对所述子序列集中的各个元素进行聚类,利用每个所述元素所属子序列类别对应的唯一的类别符号替换该元素,生成与所述子序列集对应的符号化序列,包括:
通过预先设置的动态时间弯曲算法计算所述子序列集中各个元素之间的距离矩阵;
利用所述距离矩阵及预先设置的层次聚类算法,对所述子序列集中的各个元素进行聚类;
利用每个所述元素所属子序列类别对应的唯一的类别符号替换该元素,生成与所述子序列集对应的符号化序列。
3.根据权利要求2所述的方法,其特征在于,所述根据预先设置的最大频繁连续子序列获取规则,从各个所述频繁连续子序列中获取各个最大频繁连续子序列,包括:
A1、从各个所述频繁连续子序列中获取长度为i的各个频繁连续子序列;
B1、判断参考序列是否为某个长度为i的频繁连续子序列中的部分字符串;
C1、当否时,将该参考序列确定为目标值;
D1、判断各个所述频繁连续子序列中是否存在长度为i+1的频繁连续子序列;
E1、当存在时,将长度为i的各个所述频繁连续子序列更新为所述参考序列,且令i′=i+1,将i′确定为新的i,返回执行A1;
F1、当不存在时,将每个所述目标值作为一个最大频繁连续子序列。
4.根据权利要求3所述的方法,其特征在于,利用所述符号化序列中每个所述最大频繁连续子序列对应的唯一的序列符号替换该最大频繁连续子序列,生成与所述符号化序列对应的编码序列。
5.根据权利要求3所述的方法,其特征在于,利用所述符号化序列中每个所述最大频繁连续子序列对应的唯一的序列符号,及某些最大频繁连续子序列中的部分字符串对应的唯一的序列符号,生成与所述符号化序列对应的编码序列。
6.根据权利要求5所述的方法,其特征在于,所述利用所述符号化序列中每个所述最大频繁连续子序列对应的唯一的序列符号,及某些最大频繁连续子序列中的部分字符串对应的唯一的序列符号,生成与所述符号化序列对应的编码序列,包括:
A2、依据所述符号化序列中元素的顺序从所述符号化序列中读取一个类别符号放入缓冲器buffer中;
B2、判断所述buffer中的类别符号串是否为某个最大频繁连续子序列中的部分字符串;当是时,执行步骤C2;当否时,执行步骤D2;
C2、判断buffer的中类别符号串的长度是否等于某个最大频繁连续子序列中的字符串的长度,当是时,执行F2;当否时,执行A2;
D2、获取与所述buffer中除最后一个类别符号的类别符号串对应的唯一的序列符号;
E2、清空buffer,返回执行步骤A2;
F2、获取与所述buffer中的类别符号串对应的序列符号;
G2、利用上述步骤A2~F2在执行过程中获取的序列符号,生成编码序列。
7.一种数据备份装置,其特征在于,包括:
分割单元,用于对待备份数据进行序列分割,利用分割得到的各个子序列生成与所述待备份数据对应的子序列集;
第一生成单元,用于对所述子序列集中的各个元素进行聚类,利用每个所述元素所属子序列类别对应的唯一的类别符号替换该元素,生成与所述子序列集对应的符号化序列;
计算单元,用于计算分别与每个所述子序列类别对应的代表子序列;
获取单元,用于获取所述符号化序列中的各个最大频繁连续子序列;
第二生成单元,用于利用分别与每个所述最大频繁连续子序列对应的唯一的序列符号对所述符号化序列进行编码,生成与所述符号化序列对应的编码序列;
备份数据确定单元,用于利用分别与每个所述最大频繁连续子序列对应的唯一的序列符号,生成与所述符号化序列对应的编码序列;
其中,所述计算分别与每个所述子序列类别对应的代表子序列,包括针对每个所述子序列类别执行以下过程:
获取所述子序列类别中的各个子序列;
分别计算所述子序列类别中的每个子序列到该子序列类别中的各个其他子序列之间的距离和;
将到所述子序列类别中的各个其他子序列之间的距离和的值最小的子序列,确定为与所述子序列类别对应的代表子序列;
所述获取所述符号化序列中的各个最大频繁连续子序列,包括:
利用预先设置的基于投影数据库的频繁子序列挖掘算法计算所述符号化序列中的各个频繁连续子序列;
根据预先设置的最大频繁连续子序列获取规则,从各个所述频繁连续子序列中获取各个最大频繁连续子序列。
8.一种数据恢复方法,其特征在于,所述数据恢复方法基于权利要求1-6任意一项所述的数据备份方法,包括:
利用预先设置的最大频繁连续子序列与序列符号之间的对应关系对预先设置的编码序列进行译码,生成与所述编码序列对应的符号化序列;
利用预先设置的子序列类别与代表子序列之间的对应关系,通过代表子序列替换所述符号化序列中与该代表子序列对应的子序列类别对应的类别符号,生成与所述符号化序列对应的待备份数据。
9.一种数据恢复装置,其特征在于,所述数据恢复装置基于权利要求7所述的数据备份装置,该装置包括:
第一恢复单元,用于利用预先设置的最大频繁连续子序列与序列符号之间的对应关系对预先设置的编码序列进行译码,生成与所述编码序列对应的符号化序列;
第二恢复单元,用于利用预先设置的子序列类别与代表子序列之间的对应关系,通过代表子序列替换所述符号化序列中与该代表子序列对应的子序列类别对应的类别符号,生成与所述符号化序列对应的待备份数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410527483.0A CN104268034B (zh) | 2014-10-09 | 2014-10-09 | 一种数据备份方法及装置和数据恢复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410527483.0A CN104268034B (zh) | 2014-10-09 | 2014-10-09 | 一种数据备份方法及装置和数据恢复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268034A CN104268034A (zh) | 2015-01-07 |
CN104268034B true CN104268034B (zh) | 2017-11-07 |
Family
ID=52159557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410527483.0A Active CN104268034B (zh) | 2014-10-09 | 2014-10-09 | 一种数据备份方法及装置和数据恢复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268034B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630999A (zh) * | 2015-12-28 | 2016-06-01 | 华为技术有限公司 | 服务器压缩数据的方法和装置 |
CN110986915A (zh) * | 2019-12-13 | 2020-04-10 | 西安航天精密机电研究所 | 一种光纤陀螺温度漂移实时补偿方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576834A (zh) * | 2009-05-08 | 2009-11-11 | 西安蓝海本立信息科技有限公司 | 基于时间戳建立数据视图的连续数据保护系统及方法 |
CN101630282A (zh) * | 2009-07-29 | 2010-01-20 | 国网电力科学研究院 | 一种基于Erasure编码和副本技术的数据备份方法 |
CN101989929A (zh) * | 2010-11-17 | 2011-03-23 | 中兴通讯股份有限公司 | 容灾数据备份的方法及系统 |
-
2014
- 2014-10-09 CN CN201410527483.0A patent/CN104268034B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576834A (zh) * | 2009-05-08 | 2009-11-11 | 西安蓝海本立信息科技有限公司 | 基于时间戳建立数据视图的连续数据保护系统及方法 |
CN101630282A (zh) * | 2009-07-29 | 2010-01-20 | 国网电力科学研究院 | 一种基于Erasure编码和副本技术的数据备份方法 |
CN101989929A (zh) * | 2010-11-17 | 2011-03-23 | 中兴通讯股份有限公司 | 容灾数据备份的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104268034A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102833040B (zh) | 解码处理方法、装置及编解码系统 | |
CN107086870B (zh) | 修复多节点失效的mds阵列码编码以及解码方法 | |
CN105824720B (zh) | 一种面向数据连续读取的重删纠删混合系统的数据放置方法 | |
CN103150260B (zh) | 重复数据删除方法和装置 | |
CN104040899B (zh) | 生成符号的代码字母表以便为与程序一起使用的字生成代码字 | |
CN113626250B (zh) | 一种基于纠删码的条带合并方法及系统 | |
Diggavi et al. | Capacity upper bounds for the deletion channel | |
CN105518996B (zh) | 一种基于二进制域里德所罗门码的数据编解码方法 | |
CN104168085A (zh) | 一种基于冗余熵变换的数据压缩方法 | |
CN108712232A (zh) | 一种用于连续变量量子密钥分发系统中的多码字并行译码方法 | |
CN104021123A (zh) | 用于数据迁移的方法和系统 | |
CN103995827B (zh) | MapReduce计算框架中的高性能排序方法 | |
CN104268034B (zh) | 一种数据备份方法及装置和数据恢复方法及装置 | |
CN107003933A (zh) | 部分复制码的构建方法、装置及其数据修复的方法 | |
CN103984609A (zh) | 一种基于写时复制的文件系统中回收检查点的方法和装置 | |
CN103606032B (zh) | 一种二维电网gis数据集中的方法 | |
CN105490684B (zh) | 一种有限长ldpc码的打孔算法 | |
CN109495211A (zh) | 一种信道编码和解码方法 | |
El Rouayheb et al. | Synchronizing edits in distributed storage networks | |
CN103838649A (zh) | 一种降低二进制编码存储系统中计算量的方法 | |
CN107153661A (zh) | 一种基于hdfs系统的数据的存储、读取方法及其装置 | |
CN104102558B (zh) | 一种基于纠删码的文件追加方法 | |
CN101908378B (zh) | 闪存的控制器以及于闪存存取数据的方法 | |
CN104123347B (zh) | 一种应用于boss系统的数据重删方法及系统 | |
CN104967856A (zh) | 一种编码方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |