重复数据删除系统及其动态缓存的分配方法

文档序号:10512112阅读:613来源:国知局
重复数据删除系统及其动态缓存的分配方法
【专利摘要】本发明公开了一种重复数据删除系统及其动态缓存的分配方法。该分配方法基于重复数据删除系统分配指纹缓存和读缓存,其包括:根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益;根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存。通过以上方式,本发明能够提高重复数据删除系统的效率,并且提高空间利用率。
【专利说明】
重复数据删除系统及其动态缓存的分配方法
技术领域
[0001] 本发明涉及动态缓存分配技术领域,特别是涉及一种重复数据删除系统及其动态 缓存的分配方法。
【背景技术】
[0002] 通过某种技术检测数据集中相同的部分,将这些内容相同的数据删除,只保留其 中一份,这种技术称为重复数据删除(Data Deduplication)。为了快速判断数据块是否相 同,需要分配存储数据块的指纹的指纹缓存。在重复数据删除存储系统中,缓存可以分为读 缓存和指纹缓存两部分。读请求是同步的,如果读请求被阻塞,将会影响整个上层应用。因 此在重复数据删除系统中除了考虑指纹缓存以外,还需要考虑读缓存对系统性能的影响。 指纹缓存容量的大小会对写性能产生较大的影响,读缓存大小会对读性能产生较大的影 响。由于外部应用负载并不是一成不变的,读写请求会交替出现。
[0003] 因此,在重复数据删除存储系统中,读缓存和指纹缓存的大小对系统读写性能有 直接的影响,读缓存和指纹缓存的大小分配不合适,会造成读写性能差和缓存利用率不足 的技术问题。

【发明内容】

[0004] 本发明实施例提供了一种重复数据删除系统及其动态缓存的分配方法,能够提高 重复数据删除系统的效率。
[0005] 第一方面提供一种动态缓存的分配方法,分配方法基于重复数据删除系统分配指 纹缓存和读缓存,其包括:根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的 容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益;根据指纹缓存的效益和 读缓存的效益进行分配指纹缓存和读缓存。
[0006] 结合第一方面的实现方式,在第一种实现方式中,根据指纹缓存的命中次数、读缓 存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存 的效益之前,还包括:统计在预设时间内指纹缓存的命中次数和读缓存的命中次数。
[0007] 结合第一方面的第一种实现方式,在第二种实现方式中,指纹缓存的效益满足以 下公式:
[0008] Cgl=Hgl/Scl;
[0009] 其中,Cgl为指纹缓存的效益,H gl为指纹缓存的命中次数,S "为当前指纹缓存的容 量。
[0010] 结合第一方面的第二种实现方式,在第三种实现方式中,读缓存的效益满足以下 公式:
[0011] Cgr= H gr/Scr;
[0012] 其中,Q为读缓存的效益,Η p为读缓存的命中次数,S "为当前读缓存的容量。
[0013] 结合第一方面的第三种实现方式,在第四种实现方式中,根据指纹缓存的效益和 读缓存的效益进行分配指纹缓存和读缓存包括:将指纹缓存的效益与读缓存的效益进行比 较;若指纹缓存的效益大于读缓存的效益,则调整指纹缓存增加第一调整值,调整读缓存减 少第一调整值;若读缓存的效益大于指纹缓存的效益,则调整指纹缓存减少第二调整值,调 整读缓存增加第二调整值。
[0014] 结合第一方面的第四种实现方式,在第五种实现方式中,第一调整值满足以下公 式:
[0015] S1= S2*(Cgl/Cgr)
[0016] 其中,Si为第一调整值;S 2为缓存调整的单位值;
[0017] 第二调整值满足以下公式:
[0018] S3= S2*(Cgr/Cgl)
[0019] 其中,S3为第二调整值。
[0020] 第二方面提供一种重复数据删除系统,其包括:缓存效益分析模块,用于根据指纹 缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指 纹缓存的效益和读缓存的效益;缓存分配模块,与缓存效益分析模块连接,用于根据指纹缓 存的效益和读缓存的效益进行分配指纹缓存和读缓存。
[0021] 结合第二方面的实现方式,在第一种实现方式中,系统还包括负载检测模块,负载 检测模块与缓存效益分析模块连接,负载检测模块用于统计在预设时间内指纹缓存的命中 次数和读缓存的命中次数。
[0022] 结合第二方面的第一种实现方式,在第二种实现方式中,缓存效益分析模块根据 以下公式获取指纹缓存的效益:
[0023] Cgl=Hgl/Scl;
[0024] 其中,Cgl为指纹缓存的效益,H gl为指纹缓存的命中次数,S "为当前指纹缓存的容 量。
[0025] 结合第二方面的第二种实现方式,在第三种实现方式中,缓存效益分析模块根据 以下公式获取读缓存的效益:
[0026] Cgr= H gr/Scr;
[0027] 其中,Q为读缓存的效益,Η p为读缓存的命中次数,S "为当前读缓存的容量。
[0028] 结合第二方面的第三种实现方式,在第四种实现方式中,缓存分配模块将指纹缓 存的效益与读缓存的效益进行比较;
[0029] 若指纹缓存的效益大于读缓存的效益,则缓存分配模块调整指纹缓存增加第一调 整值,缓存分配模块调整读缓存减少第一调整值;
[0030] 若读缓存的效益大于指纹缓存的效益,则缓存分配模块调整指纹缓存减少第二调 整值,缓存分配模块调整读缓存增加第二调整值。
[0031] 结合第二方面的第四种实现方式,在第五种实现方式中,第一调整值满足以下公 式:
[0032] S1= S2*(Cgl/Cgr)
[0033] 其中,Si为第一调整值;S 2为缓存调整的单位值;
[0034] 第二调整值满足以下公式:
[0035] S3= S2*(Cgr/Cgl)
[0036] 其中,S3为第二调整值。
[0037] 通过上述方案,本发明的有益效果是:本发明通过根据指纹缓存的命中次数、读缓 存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存 的效益;根据指纹缓存的效益和读缓存的效益分配指纹缓存和读缓存,能够提高重复数据 删除系统的效率,并且提高缓存空间利用率。
【附图说明】
[0038] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。其中:
[0039] 图1是本发明第一实施例的重复数据删除系统的缓存的结构示意图;
[0040] 图2是本发明第一实施例的动态缓存的分配方法的流程图;
[0041] 图3是本发明第三实施例的动态缓存的分配方法的流程图;
[0042] 图4是本发明第一实施例的重复数据删除系统的结构示意图;
[0043] 图5是本发明第二实施例的重复数据删除系统的结构示意图。
【具体实施方式】
[0044] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0045] 本实发明所描述的动态缓存的分配方法基于重复数据删除系统分配指纹缓存和 读缓存。其中,重复数据删除系统通过对相同内容的数据进行删除,只保留其中一份,实现 重复数据删除,能够大量节省存储空间提供存储系统性能。
[0046] 其中,重复数据删除系统进行重复数据删除具体包括:首先将文件切分为数据块, 为每个数据块计算指纹值;然后以指纹值为关键字进行查找,若查找到相同指纹值,则表示 数据块的内容相同;若查找到的指纹值不相同,则表示数据块不相同。
[0047] 其中,重复数据删除系统的缓存包括指纹缓存11、影子指纹缓存12、读缓存13以 及影子读缓存14,如图1所示。影子缓存为存储在重复数据删除系统的后备存储设备上缓 存数据的镜像,即影子指纹缓存12为存储在后备存储设备上指纹缓存数据的镜像,影子读 缓存14为存储在后备设备上读缓存数据的镜像。
[0048] 请参见图2,图2是本发明第一实施例的动态缓存的分配方法的流程图。如图2所 示,本实施例所揭示的分配方法包括:
[0049] S201 :重复数据删除系统根据指纹缓存的命中次数、读缓存的命中次数、当前指纹 缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益。
[0050] 其中,重复数据删除系统获取在预设时间内指纹缓存的命中次数和读缓存的命中 次数,即重复数据删除系统统计在预设时间内指纹缓存的命中次数和读缓存的命中次数。 指纹缓存的命中为缓存了要被访问的指纹数据存在,读缓存的命中为缓存了要被访问的读 数据存在。
[0051] 在本实施例中,指纹缓存的命中次数包括指纹缓存11的命中次数和影子指纹缓 存12的命中次数,读缓存的命中次数包括读缓存13的命中次数和影子读缓存14的命中次 数。重复数据删除系统记录当前指纹缓存的容量以及当前读缓存的容量,指纹缓存的容量 包括指纹缓存11的容量和影子指纹缓存12的容量,读缓存的容量包括读缓存13的容量和 影子读缓存14的容量。
[0052] 其中,重复数据删除系统根据指纹缓存的命中次数以及当前指纹缓存的容量计算 指纹缓存的效益,并满足以下公式:
[0053] Cgl=Hgl/Scl (1)
[0054] 其中,Cgl为指纹缓存的效益,H gl为指纹缓存的命中次数,S "为当前指纹缓存的容 量。
[0055] 重复数据删除系统根据读缓存的命中次数以及当前读缓存的容量计算读缓存的 效益,并满足以下公式:
[0056] Cgr=Hgr/Scr (2)
[0057] 其中,Q为读缓存的效益,Η p为读缓存的命中次数,S "为当前读缓存的容量。
[0058] S202:重复数据删除系统根据指纹缓存的效益和读缓存的效益进行分配指纹缓存 和读缓存。
[0059] 具体地,重复数据删除系统将指纹缓存的效益Cgl与读缓存的效益C ρ进行比较; 若指纹缓存的效益Cgl大于读缓存的效益C 则重复数据删除系统调整指纹缓存增加第一 调整值Si,并且调整读缓存减少第一调整值S1;其中第一调整值S ^茜足以下公式;
[0060] S1= S2*(Cgl/Cgr) (3)
[0061] 其中,Si为第一调整值;S2为缓存调整的单位值,即52是一个调整的粒度单位,这 个调整单位是可以动态的由指纹数据或者读数据占用的空间大小的单位,既可以调整为指 纹缓存,也可以调整为读缓存,只要指纹缓存的效益C gl大于读缓存的效益C 要调整的就 是这个粒度的Cgl/Cff倍。例如:在初始化时将读缓存设置为4GB、指纹缓存设置为4GB,5 2定 义为1GB (调整单位的大小可以根据经验进行设定)。如果Cgl/Cff的值是1. 5,那么要调整的 就是1. 5GB,即最后的指纹缓存为初始值4GB+调整值1. 5GB = 5. 5GB,读缓存为4GB-1. 5GB =2. 5GB,总的缓存仍然为8GB。但是为了防止Si的计算结果超出读缓存或指纹缓存的大 小,需要限制Cgl/C ff的上限。当C gl/Cff的值超过S "/S2时(一般初始化时,优选的会设置 为&和S "相等,且均大于S 2),将Cgl/Cff取值为S "/S2,这是一种极端情况,这种情况下即 当前所有缓存空间都用作指纹缓存,如上面例子中,Cgl/C ff的上限值是4GB/1GB,即为4, Cgl/ Cp的值大于4,也会取值为4。临界状态是所有缓存空间被指纹或者读数据占用,即全部调 整为一种缓存。即指纹缓存为8GB,没有读缓存。当然,为了保证缓存中的指纹和读数据的 存储缓存都有最基本的空间,也可以限制C gl/Cff的上限值,例如,上面例子中,若希望指纹 缓存和读缓存最小要保存2GB的基本空间,则限制C gl/Cff的上限为2,这样,指纹缓存和读 缓存最大的缓存空间为4G+2G = 6G,最小也会有4G-2G = 2G的缓存空间;
[0062] 若读缓存的效益Cp大于指纹缓存的效益C gl,则重复数据删除系统调整指纹缓存 减少第二调整值S3,并且调整读缓存增加第二调整值S 3。
[0063] S3=S2*(Cgr/Cgl) (4)
[0064] 其中,S3为第二调整值。S2为缓存调整的单位值,即5 2是一个调整的粒度单位,只 要指纹缓存的效益Cp大于读缓存的效益cgl,要调整的就是这个粒度的c gycgl倍;S3的调整 方法与调整方法类似,此处不再赘述。
[0065] 因此,重复数据删除系统能够根据应用负载的情况动态调整指纹缓存和读缓存的 比例,提高整个系统的性能。此外,重复数据删除系统能够保证指纹查找的性能的同时,还 能提尚缓存的利用率。
[0066] S203 :重复数据删除系统对变量进行归零化处理,并更新指纹缓存的容量和读缓 存的容量。
[0067] 其中,返回S201进入下一轮缓存分配。
[0068] 本实施例所揭示的分配方法通过重复数据删除系统根据指纹缓存的命中次数、读 缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓 存的效益,并根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存,能够调整 指纹缓存和读缓存的比例,提高整个系统的性能,并且提高缓存的利用率。
[0069] 本发明还提供第二实施例的动态缓存的分配方法,其在第一实施例所揭示的动态 缓存的分配方法的基础上进行描述。本实施例所揭示的分配方法的运算程序为:
[0070]
[0072] 本发明还提供第三实施例的动态缓存的分配方法,其在第一实施例所揭示的动态 缓存的分配方法的基础上进行描述。本实施例所揭示的重复数据删除系统将数据流中的文 件进行分块,形成多个数据块,并获得数据块指纹值,根据指纹值进行查找数据块,能够提 高系统的性能。如图3所示,分配方法还包括:
[0073] S301 :重复数据删除系统将写请求的文件划分为多个数据块。
[0074] 其中,数据块分为三种类型:第一种类型,完全重复的数据块;第二种类型,部分 重复的数据块,重复的数据块和新的数据库混合且重复的数据块数量小于预设的阈值,阈 值优选为3 ;第三种类型,部分重复的数据块,重复的数据块和新的数据块混合且重复的数 据块数量大于预设的阈值。
[0075] S302 :重复数据删除系统获取每个数据块的指纹值。
[0076] S303:重复数据删除系统将数据块的指纹值与存储在指纹缓存的指纹值进行比 较,对指纹缓存和读缓存进行分配。
[0077] 其中,当写请求比较密集时,重复数据删除系统增加指令缓存的容量,减少读缓存 的容量。当数据块被淘汰时,重复数据删除系统将被淘汰的数据块存储在影子指纹缓存12 中。
[0078] 当读请求比较密集时,重复数据删除系统增加读缓存的容量,减少指纹缓存的容 量。当数据块被淘汰时,重复数据删除系统将被淘汰的数据块存储在影子读缓存14中。
[0079] 当读缓存的容量和指令缓存的容量发生改变时,读缓存和指令缓存均有换入或换 出的操作,换入或换出的缓存数据存储在后备存储设备中。
[0080] S304 :若数据块的指纹值与存储在指纹缓存的指纹值不相同,则重复数据删除系 统将数据块写入后备存储设备,并更新指纹库。
[0081] 若数据块的指纹值与存储在指纹缓存的指纹值相同,则重复数据删除系统更新指 纹引用值,并更新指纹库。
[0082] 本发明还提供第一实施例的重复数据删除系统,其在第一实施例所揭示的动态缓 存的分配方法的基础上进行描述。如图4所示,本实施所描述的重复数据删除系统包括:负 载检测模块41、缓存效益分析模块42以及缓存分配模块43,缓存效益分析模块42分别与 负载检测模块41、缓存分配模块43连接。
[0083] 其中,负载检测模块41用于获取在预设时间内指纹缓存的命中次数和读缓存的 命中次数,即负载检测模块41用于统计在预设时间内指纹缓存的命中次数和读缓存的命 中次数。指纹缓存的命中为缓存了要被访问的指纹数据存在,读缓存的命中为缓存了要被 访问的读数据存在。指纹缓存的命中次数包括指纹缓存11的命中次数和影子指纹缓存12 的命中次数,读缓存的命中次数包括读缓存13的命中次数和影子读缓存14的命中次数。负 载检测模块41还记录当前指纹缓存的容量以及当前读缓存的容量,指纹缓存的容量包括 指纹缓存11的容量和影子指纹缓存12的容量,读缓存的容量包括读缓存13的容量和影子 读缓存14的容量。
[0084] 在本实施例中,缓存效益分析模块42从负载检测模块41获取指纹缓存的命中次 数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量,缓存效益分析模块42 用于根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存 的容量获取指纹缓存的效益和读缓存的效益。
[0085] 其中,缓存效益分析模块42根据指纹缓存的命中次数以及当前指纹缓存的容量 计算指纹缓存的效益,并满足以下公式:
[0086] Cgl=Hgl/Scl (1)
[0087] 其中,Cgl为指纹缓存的效益,H gl为指纹缓存的命中次数,S "为当前指纹缓存的容 量。
[0088] 缓存效益分析模块42根据读缓存的命中次数以及当前读缓存的容量计算读缓存 的效益,并满足以下公式:
[0089] Cgr=Hgr/Scr (2)
[0090] 其中,Q为读缓存的效益,Η p为读缓存的命中次数,S "为当前读缓存的容量。
[0091] 缓存分配模块43从缓存效益分析模块42获取指纹缓存的效益和读缓存的效益, 缓存分配模块43用于根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存。
[0092] 具体地,缓存分配模块43将指纹缓存的效益Cgl与读缓存的效益C #进行比较;若 指纹缓存的效益Cgl大于读缓存的效益C 则缓存分配模块43调整指纹缓存增加第一调整 值Si,并且调整读缓存减少第一调整值S1;其中第一调整值S ^茜足以下公式;
[0093] S1= S2*(Cgl/Cgr) (3)
[0094] 其中,Si为第一调整值;S2为缓存调整的单位值,即52是一个调整的粒度单位,这 个调整单位是可以动态的由指纹数据或者读数据占用的空间大小的单位,既可以调整为指 纹缓存,也可以调整为读缓存,只要指纹缓存的效益C gl大于读缓存的效益C 要调整的就 是这个粒度的Cgl/Cff倍,S i的具体调整方法与前面本发明第一实施例的动态缓存的分配方 法中类似,此处不再赘述;
[0095] 若读缓存的效益大于指纹缓存的效益C gl,则缓存分配模块43调整指纹缓存减 少第二调整值S3,并且调整读缓存增加第二调整值S 3。
[0096] S3=S2*(Cgr/Cgl) (4)
[0097] 其中,S3为第二调整值。S2为缓存调整的单位值,即5 2是一个调整的粒度单位,只 要指纹缓存的效益Cp大于读缓存的效益cgl,要调整的就是这个粒度的c gycgl倍;S3的调整 方法与调整方法类似,此处不再赘述。
[0098] 缓存分配模块43还对变量进行归零化处理,并更新指纹缓存的容量和读缓存的 容量,以进入下一轮缓存分配。
[0099] 本实施例所揭示的重复数据删除系统通过缓存效益分析模块42根据指纹缓存的 命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存 的效益和读缓存的效益,缓存分配模块43根据指纹缓存的效益和读缓存的效益进行分配 指纹缓存和读缓存,能够调整指纹缓存和读缓存的比例,提高整个系统的性能,并且提高缓 存的利用率。
[0100] 本发明还提供第二实施例的重复数据删除系统,其在第一实施例所揭示的重复数 据删除系统的基础上进行描述。如图5所示,本实施例所揭示的重复数据删除系统包括处 理器51、存储器52以及通信接口 53,处理器51通过通信接口 53与存储器52进行连接。处 理器51从存储器52获取运行程序,并运行运算程序,以获取指纹缓存的效益和读缓存的效 益,并根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存。处理器51运行运 算程序执行的分配指纹缓存和读缓存的方法与图2中本发明第一实施例的动态缓存的分 配方法相同,本处不再赘述。运行的该运算程序可以为:
[0101]
[0103] 本发明还提供第三实施例的重复数据删除系统,其在第一实施例所揭示的重复数 据删除系统的基础上进行描述。本实施例所揭示的重复数据删除系统将写请求的文件划 分为多个数据块。其中,数据块分为三种类型:第一种类型,完全重复的数据块;第二种类 型,部分重复的数据块,重复的数据块和新的数据库混合且重复的数据块数量小于预设的 阈值,阈值优选为3 ;第三种类型,部分重复的数据块,重复的数据块和新的数据块混合且 重复的数据块数量大于预设的阈值。
[0104] 重复数据删除系统获取每个数据块的指纹值,并将数据块的指纹值与存储在指纹 缓存的指纹值进行比较,对指纹缓存和读缓存进行分配。
[0105] 其中,当写请求比较密集时,重复数据删除系统增加指令缓存的容量,减少读缓存 的容量。当数据块被淘汰时,重复数据删除系统将被淘汰的数据块存储在影子指纹缓存12 中。
[0106] 当读请求比较密集时,重复数据删除系统增加读缓存的容量,减少指纹缓存的容 量。当数据块被淘汰时,重复数据删除系统将被淘汰的数据块存储在影子读缓存14中。
[0107] 当读缓存的容量和指令缓存的容量发生改变时,读缓存和指令缓存均有换入或换 出的操作,换入或换出的缓存数据存储在后备存储设备中。
[0108] 若数据块的指纹值与存储在指纹缓存的指纹值不相同,则重复数据删除系统将数 据块写入后备存储设备,并更新指纹库。
[0109] 若数据块的指纹值与存储在指纹缓存的指纹值相同,则重复数据删除系统更新指 纹引用值,并更新指纹库。
[0110] 综上所述,本发明通过根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓 存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益;根据指纹缓存的效 益和读缓存的效益进行分配指纹缓存和读缓存,能够提高重复数据删除系统的效率,并且 提高空间利用率。
[0111] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发 明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技 术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1. 一种动态缓存的分配方法,其特征在于,所述分配方法基于重复数据删除系统分配 指纹缓存和读缓存,所述分配方法包括: 根据所述指纹缓存的命中次数、所述读缓存的命中次数、当前所述指纹缓存的容量以 及当前所述读缓存的容量获取所述指纹缓存的效益和所述读缓存的效益; 根据所述指纹缓存的效益和所述读缓存的效益进行调整所述指纹缓存和所述读缓存。2. 根据权利要求1所述的方法,其特征在于,所述根据所述指纹缓存的命中次数、所述 读缓存的命中次数、当前所述指纹缓存的容量以及当前所述读缓存的容量获取所述指纹缓 存的效益和所述读缓存的效益之前,还包括: 统计在预设时间内所述指纹缓存的命中次数和所述读缓存的命中次数。3. 根据权利要求2所述的方法,其特征在于,所述指纹缓存的效益满足以下公式: Cgl=Hgl/Scl; 其中,Cgl为所述指纹缓存的效益,H gl为所述指纹缓存的命中次数,S "为当前所述指纹 缓存的容量。4. 根据权利要求3所述的方法,其特征在于,所述读缓存的效益满足以下公式: Cgr H gr/Scr; 其中,为所述读缓存的效益,H 为所述读缓存的命中次数,S 为当前所述读缓存的 容量。5. 根据权利要求4所述的方法,其特征在于,所述根据所述指纹缓存的效益和所述读 缓存的效益进行调整所述指纹缓存和所述读缓存包括: 将所述指纹缓存的效益与所述读缓存的效益进行比较; 若所述指纹缓存的效益大于所述读缓存的效益,则调整所述指纹缓存增加第一调整 值,调整所述读缓存减少所述第一调整值; 若所述读缓存的效益大于所述指纹缓存的效益,则调整所述指纹缓存减少第二调整 值,调整所述读缓存增加所述第二调整值。6. 根据权利要求5所述的方法,其特征在于,所述第一调整值满足以下公式: s1= s2*(cgl/cgr) 其中,Si为所述第一调整值;S 2为缓存调整的单位值; 所述第二调整值满足以下公式: s3=s2*(cgr/c gl) 其中,s3为所述第二调整值。7. -种重复数据删除系统,其特征在于,所述系统包括: 缓存效益分析模块,用于根据所述指纹缓存的命中次数、所述读缓存的命中次数、当前 所述指纹缓存的容量以及当前所述读缓存的容量获取所述指纹缓存的效益和所述读缓存 的效益; 缓存分配模块,与所述缓存效益分析模块连接,用于根据所述指纹缓存的效益和所述 读缓存的效益进行调整所述指纹缓存和所述读缓存。8. 根据权利要求7所述的系统,其特征在于,所述系统还包括负载检测模块,所述负载 检测模块与所述缓存效益分析模块连接,所述负载检测模块用于统计在预设时间内所述指 纹缓存的命中次数和所述读缓存的命中次数。9. 根据权利要求8所述的系统,其特征在于,所述缓存效益分析模块根据以下公式获 取所述指纹缓存的效益: Cgl=Hgl/Scl; 其中,Cgl为所述指纹缓存的效益,H gl为所述指纹缓存的命中次数,S "为当前所述指纹 缓存的容量。10. 根据权利要求9所述的系统,其特征在于,所述缓存效益分析模块根据以下公式获 取所述读缓存的效益: Cgr H gr/Scr; 其中,为所述读缓存的效益,H 为所述读缓存的命中次数,S 为当前所述读缓存的 容量。11. 根据权利要求10所述的系统,其特征在于,所述缓存分配模块将所述指纹缓存的 效益与所述读缓存的效益进行比较; 若所述指纹缓存的效益大于所述读缓存的效益,则所述缓存分配模块调整所述指纹缓 存增加第一调整值,所述缓存分配模块调整所述读缓存减少所述第一调整值; 若所述读缓存的效益大于所述指纹缓存的效益,则所述缓存分配模块调整所述指纹缓 存减少第二调整值,所述缓存分配模块调整所述读缓存增加所述第二调整值。12. 根据权利要求11所述的系统,其特征在于,所述第一调整值满足以下公式: s1= s2*(cgl/cgr) 其中,Si为所述第一调整值;S 2为缓存调整的容量单位值; 所述第二调整值满足以下公式: s3=s2*(cgr/c gl) 其中,s3为所述第二调整值。
【文档编号】G06F12/08GK105868124SQ201510026483
【公开日】2016年8月17日
【申请日】2015年1月19日
【发明人】毛波, 李俊
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1