一种云备份过程中数据去重的方法和系统的制作方法_2

文档序号:9547051阅读:来源:国知局
份数据的类型建立。所述云备份客户端使用子数据库和主数据库存储所述经过切块的待备份数据的指纹信息,包括:
[0040]1、根据数据块的类型进行所述子数据库检索。
[0041]在本发明实施例中,相同类型的文件出现相同数据块的概率远大于不同类型的文件出现相同数据块的概率,因此优先对子数据库进行检索,如果子数据库中存在相同的数据块,则直接丢弃待备份数据。
[0042]2、如果在所述子数据库中没有检索到相同的数据块,则对所述主数据库进行检索。
[0043]在本发明实施例中,如果在子数据库中没有检索到相同的数据块,则对主数据库进行检索,如果在主数据库中检索到相同的数据块,则将检索的相同数据块的索引插入其类型对应的子数据库中,并丢弃待备份数据。
[0044]3、如果在所述主数据库中没有检索到相同的数据块,则在所述子数据库和所述主数据库分别存储所述待备份数据的指纹信息。
[0045]在本发明实施例中,如果在主数据库中也没有检索到与待备份数据相同的数据块,则表示待备份数据是新的数据,将待备份数据的指纹信息分别存储到主数据库和对应的子数据库。
[0046]如图3所示为本发明实施例提供的存储指纹信息的示意图。
[0047]步骤S104,云备份服务器端根据所述指纹信息对云备份服务器端本地的数据库进行全局检索,如果所述数据库中有相同的数据块,则通知所述云备份客户端终止上传所述待备份数据,如果所述数据库中没有相同的数据块,将所述指纹信息写入云备份服务器端的数据库,并通知所述云备份客户端上传所述待备份数据。
[0048]在本发明实施例中,云备份客户端将待备份数据的指纹信息发送到云备份服务器端,云备份服务器端对指纹信息进行全局检索,根据检索结果进行后续处理,包括:
[0049]如果检索到相同的指纹信息,表示云备份服务器端存储有相同的数据块,云,则通知云备份客户端终止上传待备份数据;或者,
[0050]如果没有检索到相同的指纹信息,表示云备份服务器端没有存储相同的数据块,将所述指纹信息写入云备份服务器端的数据库,并通知所述云备份客户端上传所述待备份数据。
[0051]本发明实施例,云备份客户端对待备份数据进行分类处理,对经过分类的待备份数据使用预设的切块算法进行切块,使用子数据库和主数据库存储经过切块的待备份数据的指纹信息,并将指纹信息发送到云备份服务器端,云备份服务器端根据指纹信息对云备份服务器端本地的数据库进行全局检索,根据检索结果进行后续处理,使得云备份过程中去重效率得到提升。
[0052]作为本发明的一个可选实施例,在所述云备份客户端对待备份数据进行分类处理的步骤之后,所述方法还包括以下步骤:
[0053]云备份客户端根据预设的大小阈值对所述经过分类处理的待备份数据进行过滤,并将小于所述大小阈值的待备份数据合并为大于所述大小阈值的待备份数据。
[0054]在本发明实施例中,在数据中存在一种大小不超过10kb的微小数据,这种微小数据会增加备份过程中系统的I/O操作次数,因此需要根据预设的文件大小阈值对待备份数据进行过滤,小于大小阈值的数据可以确定为微小数据,并将微小数据合并为大于大小阈值的非微小数据。
[0055]需要指出的是,为了保证微小数据可以恢复,在将微小数据合并为非微小数据的过程中,需要建立一个key-value表来记录微小数据合并的相关信息,其中,key表示微小数据的指纹,value表示合并后的非微小数据的指纹。
[0056]如图4所示为本发明实施例提供的过滤数据块的示意图。
[0057]实施例二
[0058]如图5所示为本发明实施例提供的云备份过程中数据去重系统的结构图,为了便于说明,仅示出与本发明实施例相关的部分,包括:
[0059]云备份客户端501,用于对待备份数据进行分类处理,对所述经过分类的待备份数据使用预设的切块算法进行切块,使用子数据库和主数据库存储所述经过切块的待备份数据的指纹信息,并将所述指纹信息发送到云备份服务器端502,所述子数据库根据所述待备份数据的类型建立。
[0060]云备份服务器端502,用于接收所述云备份客户端501发送的指纹信息,根据所述指纹信息对云备份服务器端本地的数据库进行全局检索,如果所述数据库中有相同的数据块,则通知所述云备份客户端终止上传所述待备份数据,如果所述数据库中没有相同的数据块,将所述指纹信息写入云备份服务器端的数据库,并通知所述云备份客户端上传所述待备份数据。
[0061]在本发明实施例中,云备份客户端首先对待备份的数据进行分类处理,将待备份的数据分类为以下类别中的一种或多种:
[0062]l、FSCF(Fixed_Size Chunk File,简称:定长块文件),FSCF是指文件内容一次成型,变动小,内部有冗余的文件,该类文件包括:系统镜像文件、虚拟机文件等;
[0063]2、DSCF(Dynamic-Size Chunk File,简称:动长块文件),DSCF是指文件内容频繁变更,内部有冗余的文件,该类文件包括:word文件、报表文件等;
[0064]3、NNCF(No Need Cut File,简称:无需切分文件),NNCF是指内部冗余极少,去重成本高于完整存储文件成本的文件,该类文件包括:视频文件、音频文件等;
[0065]4、SCF (Structural Chunk File,简称:结构块文件),SCF是指具有固定结构类型的文件,该类文件包括文件、邮件文件等。
[0066]云备份客户端在将待备份数据分类了之后,使用预设的切块算法对待备份数据进行备份,其中,切块算法包括多种不同的切块算法。所述云备份客户端对所述经过分类的待备份数据使用预设的切块算法进行切块的步骤,包括:
[0067]1、使用定长切分算法FSP对FSCF进行切块;以及,
[0068]2、使用基于内容的切块算法⑶C对DSCF和SCF进行切块;以及,
[0069]3、使用基于文件的切块算法WFD对NNCF进行切块。
[0070]其中,FSP(Fixed_Size Partit1n,简称:定长切分算法)切分出的数据块的大小是固定的,块的大小一般是4kb?10mb ;Q)C(Content-Defined Chunking,简称:基于内容的切块算法)切分出的数据块的大小是非固定的,其对DSCF和SCF的切块效率很高;WFD (Whole File Detect1n,简称:基于文件的切块算法)无法检测出文件内部的冗余,其只是文件间的切块。
[0071]通过该步骤,云备份客户端可以建立切块以后的数据与指纹一一对应的集合。
[0072]待备份数据在备份过程中会产生数量巨大的文件快,这些文件块的索引效率是影响去重性能的重要因素,为了提高文件快的去重效率,采用多个子数据库和一个主数据库的方式来存储文件快的指纹信息,所述子数据库根据待备份数据的类型建立。所述云备份客户端使用子数据库和主数据库存储所述经过切块的待备份数据的指纹信息,包括:
[0073]1、根据数据块的类型进行所述子数据库检索。
[0074]在本发明实施例中,相同类型的文件出现相同数据块的概率远大于不同类型的文件出现相同数据块的概率,因此优先对子数据库进行检索,如果子数据库中存在相同的数据块,则直接丢弃待备份数据。
[0075]2、如果在所述子数据库中没有检索到相同的数据块,则对所述主数据库进行检索。
[0076]在本发明实施例中,如果在子数据库中没有检索到相同的数据块,则对主数据库进行检索,如果在主数据库中检索到相同的数据
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1