一种重复数据删除方法和装置制造方法及图纸

技术编号:12110722 阅读:76 留言:0更新日期:2015-09-24 10:58
本发明专利技术公开了一种重复数据删除方法和装置,应用于数据处理技术领域。本发明专利技术中通过处理器调用存储器中储存的程序,将待处理数据划分成多个数据流,这样硬件加速器就可以同时分别计算这些数据流所包括的数据块的标识信息,然后再由处理器根据这些标识信息进行重复数据删除处理。由于本发明专利技术中重复数据删除装置可以将待处理数据划分成多个数据流,进而并行对这些数据流进行重复数据删除的处理,可以提高重复数据删除的效率;另外,本发明专利技术中,在实现重复数据删除过程中的部分功能时采用硬件结构来实现,而不是通过调用程序的软件实现,可以有效地提高重复数据删除流程的效率。

【技术实现步骤摘要】

本专利技术涉及数据处理
,特别涉及重复数据删除方法和装置
技术介绍
目前,网络中的数据总量呈现指数级增长,这不仅需要耗费越来越多的网络带宽传输数据,同时还需占用巨大的数据存储空间。为降低计算机数据存储系统和计算机网络的总体拥有成本(英文:Total Cost of Ownership,缩写:TC0),企业纷纷开始采用重复数据删除技术。重复数据删除(Data deduplicat1n)技术目前已成为计算机系统领域的一项主流且极为重要的技术。其工作原理为从数据流中识别出重复数据,只保留重复数据的一个备份,删除其它冗余数据,在删除重复数据的位置以指针引用,从而节约大量的数据存储空间或网络带宽。如何快速进行重复数据删除是一个比较重要的问题。
技术实现思路
本专利技术提供重复数据删除方法和装置,提高重复数据删除的效率。本专利技术第一方面提供一种重复数据删除装置,包括通过总线连接的处理器、存储器和硬件加速器,其中:所述存储器,用于储存用于数据分类的第一程序,及用于数据去重的第二程序;所述处理器,用于调用所述存储器中储存的第一程序,将待处理数据划分为N个数据流,并通过N个线程分别将所述N个数据流传送给所述硬件加速器;所述N为大于I的正整数;所述硬件加速器,用于分别计算所述N个数据流中所包括的数据块的标识信息;所述处理器,还用于调用所述存储器中储存的第二程序,根据所述硬件加速器计算的数据块的标识信息执行重复数据删除处理。本专利技术第一方面的第一种可能实现方式中:所述处理器,具体用于调用所述存储器中储存的第一程序后,根据如下信息中的至少一种将所述待处理数据划分为N个数据流:应用端口号,文件类型和应用类型。结合本专利技术第一方面或第一方面的第一种可能实现方式,在本专利技术第一方面的第二种可能实现方式中,所述硬件加速器包括:N个原始数据缓冲区、数据分片模块和N个结果数据缓冲区;所述N个原始数据缓冲区,用于分别缓冲所述处理器传送的N个数据流;所述数据分片模块,用于分别对所述N个数据流进行分片得到每个所述数据流所包括的数据块,并分别计算每个数据块的标识信息;所述N个结果数据缓冲区,用于分别缓冲所述数据分片模块计算的N个数据流所包括的数据块的标识信息。结合本专利技术第一方面第二种可能实现方式,在本专利技术第一方面的第三种可能实现方式中,所述数据分片模块具体包括:确定子模块,第一数据分片子模块以及第二数据分片子模块,其中:所述确定子模块,用于确定对每个数据流在执行重复数据删除处理时所需要的数据块的大小,并根据所述对每个数据流在执行重复数据删除处理时所需要的数据块的大小,将所述N个数据流分别发送给所述第一数据分片子模块或所述第二数据分片子模块;所述第一数据分片子模块,用于对接收的数据流进行分片得到所述数据流所包括的数据块,使得每个数据块的大小为2的η次方,并分别计算所述数据流的每个数据块的标识息;所述第二数据分片子模块,用于对接收的数据流进行分片得到所述数据流所包括的数据块,使得每个数据块的大小为非2的η次方,并分别计算所述数据流的每个数据块的标识信息。结合本专利技术第一方面第三种可能实现方式,在本专利技术第一方面的第四种可能实现方式中,所述第一数据分片子模块以及所述第二数据分片子模块分别包括:滑动窗口计算模块,用于在对数据流分片时,计算沿着所述数据流滑动的固定大小的滑动窗口内的数据的指纹;分片点计算模块;用于当所述当滑动窗口计算模块计算的指纹满足预置条件时,将所述滑动窗口的位置作为所述数据流所包括的数据块的分片点;所述指纹计算模块,用于计算所述数据流的每个数据块的数据指纹作为所述每个数据块的标识信息,并将所述数据流的每个数据块的数据指纹传送给所述数据流对应的结果数据缓冲区。本专利技术第二方面提供一种重复数据删除方法,应用于如权利要求1至6任一项所述的重复数据删除装置中,所述方法包括:处理器调用存储器中储存的第一程序,将待处理数据划分为N个数据流,并通过N个线程分别将所述N个数据流传送给硬件加速器;所述N为大于I的正整数;硬件加速器分别计算所述N个数据流中每个数据流所包括的数据块的标识信息;所述处理器调用所述存储器中储存的第二程序,根据所述硬件加速器计算的所述数据块的标识信息执行重复数据删除处理。本专利技术第二方面的第一种可能实现方式中,所述将待处理数据划分为N个数据流,具体包括:根据如下任信息中的至少一种将所述待处理数据划分为N个数据流:应用端口号,文件类型和应用类型。结合本专利技术第二方面或第二方面的第一种可能实现方式,在本专利技术第二方面的第二种可能实现方式中,所述硬件加速器分别计算所述N个数据流中所包括的数据块的标识信息,具体包括:所述硬件加速器分别对所述N个数据流进行分片得到每个所述数据流所包括的数据块;并分别计算每个数据块的标识信息。结合本专利技术第二方面第二种可能实现方式,在本专利技术第二方面的第三种可能实现方式中,所述硬件加速器分别对所述N个数据流进行分片之前,所述方法还包括:确定对每个数据流在执行重复数据删除处理时所需要的数据块的大小,将数据块的大小为2的η次方的数据流,和所述数据块的大小为非2的η次方的数据流,分别发送给不同的数据分片子模块。结合本专利技术第二方面第三种可能实现方式,在本专利技术第二方面的第四种可能实现方式中,所述硬件加速器分别对所述N个数据流进行分片得到每个数据流所包括的数据块,具体包括:所述不同的数据分片子模块分别对接收到的数据流计算沿着所述数据流滑动的固定大小的滑动窗口内的数据的指纹;当所述计算的指纹满足预置条件时,将滑动窗口的位置作为所述数据流所包括数据块的分片点。可见,本专利技术的重复数据删除装置,可以通过处理器调用存储器中储存的程序,将待处理数据划分成多个数据流,这样硬件加速器就可以同时分别计算这些数据流所包括的数据块的标识信息,然后再由处理器根据这些标识信息进行重复数据删除处理。由于本专利技术中重复数据删除装置可以将待处理数据划分成多个数据流,进而并行对这些数据流进行重复数据删除的处理,可以提高重复数据删除的效率;另外,本专利技术将计算数据流所包括的数据块的标识信息的功能,采用硬件结构来实现,而不是通过调用程序实现,可以有效地提高重复数据删除流程的效率。【附图说明】为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种重复数据删除装置的结构示意图;图当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种重复数据删除装置,其特征在于,包括通过总线连接的处理器、存储器和硬件加速器,其中:所述存储器,用于储存用于数据分类的第一程序,及用于数据去重的第二程序;所述处理器,用于调用所述存储器中储存的第一程序,将待处理数据划分为N个数据流,并通过N个线程分别将所述N个数据流传送给所述硬件加速器;所述N为大于1的正整数;所述硬件加速器,用于分别计算所述N个数据流中所包括的数据块的标识信息;所述处理器,还用于调用所述存储器中储存的第二程序,根据所述硬件加速器计算的数据块的标识信息执行重复数据删除处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:张亮陆承涛刘屹葛雄资吴俊
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1