CN105868124A - 重复数据删除系统及其动态缓存的分配方法 - Google Patents
重复数据删除系统及其动态缓存的分配方法 Download PDFInfo
- Publication number
- CN105868124A CN105868124A CN201510026483.7A CN201510026483A CN105868124A CN 105868124 A CN105868124 A CN 105868124A CN 201510026483 A CN201510026483 A CN 201510026483A CN 105868124 A CN105868124 A CN 105868124A
- Authority
- CN
- China
- Prior art keywords
- caching
- reading
- benefit
- fingerprint cache
- fingerprint
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种重复数据删除系统及其动态缓存的分配方法。该分配方法基于重复数据删除系统分配指纹缓存和读缓存,其包括:根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益;根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存。通过以上方式,本发明能够提高重复数据删除系统的效率,并且提高空间利用率。
Description
技术领域
本发明涉及动态缓存分配技术领域,特别是涉及一种重复数据删除系统及其动态缓存的分配方法。
背景技术
通过某种技术检测数据集中相同的部分,将这些内容相同的数据删除,只保留其中一份,这种技术称为重复数据删除(Data Deduplication)。为了快速判断数据块是否相同,需要分配存储数据块的指纹的指纹缓存。在重复数据删除存储系统中,缓存可以分为读缓存和指纹缓存两部分。读请求是同步的,如果读请求被阻塞,将会影响整个上层应用。因此在重复数据删除系统中除了考虑指纹缓存以外,还需要考虑读缓存对系统性能的影响。指纹缓存容量的大小会对写性能产生较大的影响,读缓存大小会对读性能产生较大的影响。由于外部应用负载并不是一成不变的,读写请求会交替出现。
因此,在重复数据删除存储系统中,读缓存和指纹缓存的大小对系统读写性能有直接的影响,读缓存和指纹缓存的大小分配不合适,会造成读写性能差和缓存利用率不足的技术问题。
发明内容
本发明实施例提供了一种重复数据删除系统及其动态缓存的分配方法,能够提高重复数据删除系统的效率。
第一方面提供一种动态缓存的分配方法,分配方法基于重复数据删除系统分配指纹缓存和读缓存,其包括:根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益;根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存。
结合第一方面的实现方式,在第一种实现方式中,根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益之前,还包括:统计在预设时间内指纹缓存的命中次数和读缓存的命中次数。
结合第一方面的第一种实现方式,在第二种实现方式中,指纹缓存的效益满足以下公式:
Cgi=Hgi/Sci;
其中,Cgi为指纹缓存的效益,Hgi为指纹缓存的命中次数,Sci为当前指纹缓存的容量。
结合第一方面的第二种实现方式,在第三种实现方式中,读缓存的效益满足以下公式:
Cgr=Hgr/Scr;
其中,Cgr为读缓存的效益,Hgr为读缓存的命中次数,Scr为当前读缓存的容量。
结合第一方面的第三种实现方式,在第四种实现方式中,根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存包括:将指纹缓存的效益与读缓存的效益进行比较;若指纹缓存的效益大于读缓存的效益,则调整指纹缓存增加第一调整值,调整读缓存减少第一调整值;若读缓存的效益大于指纹缓存的效益,则调整指纹缓存减少第二调整值,调整读缓存增加第二调整值。
结合第一方面的第四种实现方式,在第五种实现方式中,第一调整值满足以下公式:
S1=S2*(Cgi/Cgr)
其中,S1为第一调整值;S2为缓存调整的单位值;
第二调整值满足以下公式:
S3=S2*(Cgr/Cgi)
其中,S3为第二调整值。
第二方面提供一种重复数据删除系统,其包括:缓存效益分析模块,用于根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益;缓存分配模块,与缓存效益分析模块连接,用于根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存。
结合第二方面的实现方式,在第一种实现方式中,系统还包括负载检测模块,负载检测模块与缓存效益分析模块连接,负载检测模块用于统计在预设时间内指纹缓存的命中次数和读缓存的命中次数。
结合第二方面的第一种实现方式,在第二种实现方式中,缓存效益分析模块根据以下公式获取指纹缓存的效益:
Cgi=Hgi/Sci;
其中,Cgi为指纹缓存的效益,Hgi为指纹缓存的命中次数,Sci为当前指纹缓存的容量。
结合第二方面的第二种实现方式,在第三种实现方式中,缓存效益分析模块根据以下公式获取读缓存的效益:
Cgr=Hgr/Scr;
其中,Cgr为读缓存的效益,Hgr为读缓存的命中次数,Scr为当前读缓存的容量。
结合第二方面的第三种实现方式,在第四种实现方式中,缓存分配模块将指纹缓存的效益与读缓存的效益进行比较;
若指纹缓存的效益大于读缓存的效益,则缓存分配模块调整指纹缓存增加第一调整值,缓存分配模块调整读缓存减少第一调整值;
若读缓存的效益大于指纹缓存的效益,则缓存分配模块调整指纹缓存减少第二调整值,缓存分配模块调整读缓存增加第二调整值。
结合第二方面的第四种实现方式,在第五种实现方式中,第一调整值满足以下公式:
S1=S2*(Cgi/Cgr)
其中,S1为第一调整值;S2为缓存调整的单位值;
第二调整值满足以下公式:
S3=S2*(Cgr/Cgi)
其中,S3为第二调整值。
通过上述方案,本发明的有益效果是:本发明通过根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益;根据指纹缓存的效益和读缓存的效益分配指纹缓存和读缓存,能够提高重复数据删除系统的效率,并且提高缓存空间利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本发明第一实施例的重复数据删除系统的缓存的结构示意图;
图2是本发明第一实施例的动态缓存的分配方法的流程图;
图3是本发明第三实施例的动态缓存的分配方法的流程图;
图4是本发明第一实施例的重复数据删除系统的结构示意图;
图5是本发明第二实施例的重复数据删除系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实发明所描述的动态缓存的分配方法基于重复数据删除系统分配指纹缓存和读缓存。其中,重复数据删除系统通过对相同内容的数据进行删除,只保留其中一份,实现重复数据删除,能够大量节省存储空间提供存储系统性能。
其中,重复数据删除系统进行重复数据删除具体包括:首先将文件切分为数据块,为每个数据块计算指纹值;然后以指纹值为关键字进行查找,若查找到相同指纹值,则表示数据块的内容相同;若查找到的指纹值不相同,则表示数据块不相同。
其中,重复数据删除系统的缓存包括指纹缓存11、影子指纹缓存12、读缓存13以及影子读缓存14,如图1所示。影子缓存为存储在重复数据删除系统的后备存储设备上缓存数据的镜像,即影子指纹缓存12为存储在后备存储设备上指纹缓存数据的镜像,影子读缓存14为存储在后备设备上读缓存数据的镜像。
请参见图2,图2是本发明第一实施例的动态缓存的分配方法的流程图。如图2所示,本实施例所揭示的分配方法包括:
S201:重复数据删除系统根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益。
其中,重复数据删除系统获取在预设时间内指纹缓存的命中次数和读缓存的命中次数,即重复数据删除系统统计在预设时间内指纹缓存的命中次数和读缓存的命中次数。指纹缓存的命中为缓存了要被访问的指纹数据存在,读缓存的命中为缓存了要被访问的读数据存在。
在本实施例中,指纹缓存的命中次数包括指纹缓存11的命中次数和影子指纹缓存12的命中次数,读缓存的命中次数包括读缓存13的命中次数和影子读缓存14的命中次数。重复数据删除系统记录当前指纹缓存的容量以及当前读缓存的容量,指纹缓存的容量包括指纹缓存11的容量和影子指纹缓存12的容量,读缓存的容量包括读缓存13的容量和影子读缓存14的容量。
其中,重复数据删除系统根据指纹缓存的命中次数以及当前指纹缓存的容量计算指纹缓存的效益,并满足以下公式:
Cgi=Hgi/Sci (1)
其中,Cgi为指纹缓存的效益,Hgi为指纹缓存的命中次数,Sci为当前指纹缓存的容量。
重复数据删除系统根据读缓存的命中次数以及当前读缓存的容量计算读缓存的效益,并满足以下公式:
Cgr=Hgr/Scr (2)
其中,Cgr为读缓存的效益,Hgr为读缓存的命中次数,Scr为当前读缓存的容量。
S202:重复数据删除系统根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存。
具体地,重复数据删除系统将指纹缓存的效益Cgi与读缓存的效益Cgr进行比较;若指纹缓存的效益Cgi大于读缓存的效益Cgr,则重复数据删除系统调整指纹缓存增加第一调整值S1,并且调整读缓存减少第一调整值S1;其中第一调整值S1满足以下公式;
S1=S2*(Cgi/Cgr) (3)
其中,S1为第一调整值;S2为缓存调整的单位值,即S2是一个调整的粒度单位,这个调整单位是可以动态的由指纹数据或者读数据占用的空间大小的单位,既可以调整为指纹缓存,也可以调整为读缓存,只要指纹缓存的效益Cgi大于读缓存的效益Cgr,要调整的就是这个粒度的Cgi/Cgr倍。例如:在初始化时将读缓存设置为4GB、指纹缓存设置为4GB,S2定义为1GB(调整单位的大小可以根据经验进行设定)。如果Cgi/Cgr的值是1.5,那么要调整的就是1.5GB,即最后的指纹缓存为初始值4GB+调整值1.5GB=5.5GB,读缓存为4GB-1.5GB=2.5GB,总的缓存仍然为8GB。但是为了防止S1的计算结果超出读缓存或指纹缓存的大小,需要限制Cgi/Cgr的上限。当Cgi/Cgr的值超过Scr/S2时(一般初始化时,优选的会设置为Sci和Scr相等,且均大于S2),将Cgi/Cgr取值为Scr/S2,这是一种极端情况,这种情况下即当前所有缓存空间都用作指纹缓存,如上面例子中,Cgi/Cgr的上限值是4GB/1GB,即为4,Cgi/Cgr的值大于4,也会取值为4。临界状态是所有缓存空间被指纹或者读数据占用,即全部调整为一种缓存。即指纹缓存为8GB,没有读缓存。当然,为了保证缓存中的指纹和读数据的存储缓存都有最基本的空间,也可以限制Cgi/Cgr的上限值,例如,上面例子中,若希望指纹缓存和读缓存最小要保存2GB的基本空间,则限制Cgi/Cgr的上限为2,这样,指纹缓存和读缓存最大的缓存空间为4G+2G=6G,最小也会有4G-2G=2G的缓存空间;
若读缓存的效益Cgr大于指纹缓存的效益Cgi,则重复数据删除系统调整指纹缓存减少第二调整值S3,并且调整读缓存增加第二调整值S3。
S3=S2*(Cgr/Cgi) (4)
其中,S3为第二调整值。S2为缓存调整的单位值,即S2是一个调整的粒度单位,只要指纹缓存的效益Cgr大于读缓存的效益Cgi,要调整的就是这个粒度的Cgr/Cgi倍;S3的调整方法与S1的调整方法类似,此处不再赘述。
因此,重复数据删除系统能够根据应用负载的情况动态调整指纹缓存和读缓存的比例,提高整个系统的性能。此外,重复数据删除系统能够保证指纹查找的性能的同时,还能提高缓存的利用率。
S203:重复数据删除系统对变量进行归零化处理,并更新指纹缓存的容量和读缓存的容量。
其中,返回S201进入下一轮缓存分配。
本实施例所揭示的分配方法通过重复数据删除系统根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益,并根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存,能够调整指纹缓存和读缓存的比例,提高整个系统的性能,并且提高缓存的利用率。
本发明还提供第二实施例的动态缓存的分配方法,其在第一实施例所揭示的动态缓存的分配方法的基础上进行描述。本实施例所揭示的分配方法的运算程序为:
本发明还提供第三实施例的动态缓存的分配方法,其在第一实施例所揭示的动态缓存的分配方法的基础上进行描述。本实施例所揭示的重复数据删除系统将数据流中的文件进行分块,形成多个数据块,并获得数据块指纹值,根据指纹值进行查找数据块,能够提高系统的性能。如图3所示,分配方法还包括:
S301:重复数据删除系统将写请求的文件划分为多个数据块。
其中,数据块分为三种类型:第一种类型,完全重复的数据块;第二种类型,部分重复的数据块,重复的数据块和新的数据库混合且重复的数据块数量小于预设的阈值,阈值优选为3;第三种类型,部分重复的数据块,重复的数据块和新的数据块混合且重复的数据块数量大于预设的阈值。
S302:重复数据删除系统获取每个数据块的指纹值。
S303:重复数据删除系统将数据块的指纹值与存储在指纹缓存的指纹值进行比较,对指纹缓存和读缓存进行分配。
其中,当写请求比较密集时,重复数据删除系统增加指令缓存的容量,减少读缓存的容量。当数据块被淘汰时,重复数据删除系统将被淘汰的数据块存储在影子指纹缓存12中。
当读请求比较密集时,重复数据删除系统增加读缓存的容量,减少指纹缓存的容量。当数据块被淘汰时,重复数据删除系统将被淘汰的数据块存储在影子读缓存14中。
当读缓存的容量和指令缓存的容量发生改变时,读缓存和指令缓存均有换入或换出的操作,换入或换出的缓存数据存储在后备存储设备中。
S304:若数据块的指纹值与存储在指纹缓存的指纹值不相同,则重复数据删除系统将数据块写入后备存储设备,并更新指纹库。
若数据块的指纹值与存储在指纹缓存的指纹值相同,则重复数据删除系统更新指纹引用值,并更新指纹库。
本发明还提供第一实施例的重复数据删除系统,其在第一实施例所揭示的动态缓存的分配方法的基础上进行描述。如图4所示,本实施所描述的重复数据删除系统包括:负载检测模块41、缓存效益分析模块42以及缓存分配模块43,缓存效益分析模块42分别与负载检测模块41、缓存分配模块43连接。
其中,负载检测模块41用于获取在预设时间内指纹缓存的命中次数和读缓存的命中次数,即负载检测模块41用于统计在预设时间内指纹缓存的命中次数和读缓存的命中次数。指纹缓存的命中为缓存了要被访问的指纹数据存在,读缓存的命中为缓存了要被访问的读数据存在。指纹缓存的命中次数包括指纹缓存11的命中次数和影子指纹缓存12的命中次数,读缓存的命中次数包括读缓存13的命中次数和影子读缓存14的命中次数。负载检测模块41还记录当前指纹缓存的容量以及当前读缓存的容量,指纹缓存的容量包括指纹缓存11的容量和影子指纹缓存12的容量,读缓存的容量包括读缓存13的容量和影子读缓存14的容量。
在本实施例中,缓存效益分析模块42从负载检测模块41获取指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量,缓存效益分析模块42用于根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益。
其中,缓存效益分析模块42根据指纹缓存的命中次数以及当前指纹缓存的容量计算指纹缓存的效益,并满足以下公式:
Cgi=Hgi/Sci (1)
其中,Cgi为指纹缓存的效益,Hgi为指纹缓存的命中次数,Sci为当前指纹缓存的容量。
缓存效益分析模块42根据读缓存的命中次数以及当前读缓存的容量计算读缓存的效益,并满足以下公式:
Cgr=Hgr/Scr (2)
其中,Cgr为读缓存的效益,Hgr为读缓存的命中次数,Scr为当前读缓存的容量。
缓存分配模块43从缓存效益分析模块42获取指纹缓存的效益和读缓存的效益,缓存分配模块43用于根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存。
具体地,缓存分配模块43将指纹缓存的效益Cgi与读缓存的效益Cgr进行比较;若指纹缓存的效益Cgi大于读缓存的效益Cgr,则缓存分配模块43调整指纹缓存增加第一调整值S1,并且调整读缓存减少第一调整值S1;其中第一调整值S1满足以下公式;
S1=S2*(Cgi/Cgr) (3)
其中,S1为第一调整值;S2为缓存调整的单位值,即S2是一个调整的粒度单位,这个调整单位是可以动态的由指纹数据或者读数据占用的空间大小的单位,既可以调整为指纹缓存,也可以调整为读缓存,只要指纹缓存的效益Cgi大于读缓存的效益Cgr,要调整的就是这个粒度的Cgi/Cgr倍,S1的具体调整方法与前面本发明第一实施例的动态缓存的分配方法中类似,此处不再赘述;
若读缓存的效益Cgr大于指纹缓存的效益Cgi,则缓存分配模块43调整指纹缓存减少第二调整值S3,并且调整读缓存增加第二调整值S3。
S3=S2*(Cgr/Cgi) (4)
其中,S3为第二调整值。S2为缓存调整的单位值,即S2是一个调整的粒度单位,只要指纹缓存的效益Cgr大于读缓存的效益Cgi,要调整的就是这个粒度的Cgr/Cgi倍;S3的调整方法与S1的调整方法类似,此处不再赘述。
缓存分配模块43还对变量进行归零化处理,并更新指纹缓存的容量和读缓存的容量,以进入下一轮缓存分配。
本实施例所揭示的重复数据删除系统通过缓存效益分析模块42根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益,缓存分配模块43根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存,能够调整指纹缓存和读缓存的比例,提高整个系统的性能,并且提高缓存的利用率。
本发明还提供第二实施例的重复数据删除系统,其在第一实施例所揭示的重复数据删除系统的基础上进行描述。如图5所示,本实施例所揭示的重复数据删除系统包括处理器51、存储器52以及通信接口53,处理器51通过通信接口53与存储器52进行连接。处理器51从存储器52获取运行程序,并运行运算程序,以获取指纹缓存的效益和读缓存的效益,并根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存。处理器51运行运算程序执行的分配指纹缓存和读缓存的方法与图2中本发明第一实施例的动态缓存的分配方法相同,本处不再赘述。运行的该运算程序可以为:
本发明还提供第三实施例的重复数据删除系统,其在第一实施例所揭示的重复数据删除系统的基础上进行描述。本实施例所揭示的重复数据删除系统将写请求的文件划分为多个数据块。其中,数据块分为三种类型:第一种类型,完全重复的数据块;第二种类型,部分重复的数据块,重复的数据块和新的数据库混合且重复的数据块数量小于预设的阈值,阈值优选为3;第三种类型,部分重复的数据块,重复的数据块和新的数据块混合且重复的数据块数量大于预设的阈值。
重复数据删除系统获取每个数据块的指纹值,并将数据块的指纹值与存储在指纹缓存的指纹值进行比较,对指纹缓存和读缓存进行分配。
其中,当写请求比较密集时,重复数据删除系统增加指令缓存的容量,减少读缓存的容量。当数据块被淘汰时,重复数据删除系统将被淘汰的数据块存储在影子指纹缓存12中。
当读请求比较密集时,重复数据删除系统增加读缓存的容量,减少指纹缓存的容量。当数据块被淘汰时,重复数据删除系统将被淘汰的数据块存储在影子读缓存14中。
当读缓存的容量和指令缓存的容量发生改变时,读缓存和指令缓存均有换入或换出的操作,换入或换出的缓存数据存储在后备存储设备中。
若数据块的指纹值与存储在指纹缓存的指纹值不相同,则重复数据删除系统将数据块写入后备存储设备,并更新指纹库。
若数据块的指纹值与存储在指纹缓存的指纹值相同,则重复数据删除系统更新指纹引用值,并更新指纹库。
综上所述,本发明通过根据指纹缓存的命中次数、读缓存的命中次数、当前指纹缓存的容量以及当前读缓存的容量获取指纹缓存的效益和读缓存的效益;根据指纹缓存的效益和读缓存的效益进行分配指纹缓存和读缓存,能够提高重复数据删除系统的效率,并且提高空间利用率。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种动态缓存的分配方法,其特征在于,所述分配方法基于重复数据删除系统分配指纹缓存和读缓存,所述分配方法包括:
根据所述指纹缓存的命中次数、所述读缓存的命中次数、当前所述指纹缓存的容量以及当前所述读缓存的容量获取所述指纹缓存的效益和所述读缓存的效益;
根据所述指纹缓存的效益和所述读缓存的效益进行调整所述指纹缓存和所述读缓存。
2.根据权利要求1所述的方法,其特征在于,所述根据所述指纹缓存的命中次数、所述读缓存的命中次数、当前所述指纹缓存的容量以及当前所述读缓存的容量获取所述指纹缓存的效益和所述读缓存的效益之前,还包括:
统计在预设时间内所述指纹缓存的命中次数和所述读缓存的命中次数。
3.根据权利要求2所述的方法,其特征在于,所述指纹缓存的效益满足以下公式:
Cgi=Hgi/Sci;
其中,Cgi为所述指纹缓存的效益,Hgi为所述指纹缓存的命中次数,Sci为当前所述指纹缓存的容量。
4.根据权利要求3所述的方法,其特征在于,所述读缓存的效益满足以下公式:
Cgr=Hgr/Scr;
其中,Cgr为所述读缓存的效益,Hgr为所述读缓存的命中次数,Scr为当前所述读缓存的容量。
5.根据权利要求4所述的方法,其特征在于,所述根据所述指纹缓存的效益和所述读缓存的效益进行调整所述指纹缓存和所述读缓存包括:
将所述指纹缓存的效益与所述读缓存的效益进行比较;
若所述指纹缓存的效益大于所述读缓存的效益,则调整所述指纹缓存增加第一调整值,调整所述读缓存减少所述第一调整值;
若所述读缓存的效益大于所述指纹缓存的效益,则调整所述指纹缓存减少第二调整值,调整所述读缓存增加所述第二调整值。
6.根据权利要求5所述的方法,其特征在于,所述第一调整值满足以下公式:
S1=S2*(Cgi/Cgr)
其中,S1为所述第一调整值;S2为缓存调整的单位值;
所述第二调整值满足以下公式:
S3=S2*(Cgr/Cgi)
其中,S3为所述第二调整值。
7.一种重复数据删除系统,其特征在于,所述系统包括:
缓存效益分析模块,用于根据所述指纹缓存的命中次数、所述读缓存的命中次数、当前所述指纹缓存的容量以及当前所述读缓存的容量获取所述指纹缓存的效益和所述读缓存的效益;
缓存分配模块,与所述缓存效益分析模块连接,用于根据所述指纹缓存的效益和所述读缓存的效益进行调整所述指纹缓存和所述读缓存。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括负载检测模块,所述负载检测模块与所述缓存效益分析模块连接,所述负载检测模块用于统计在预设时间内所述指纹缓存的命中次数和所述读缓存的命中次数。
9.根据权利要求8所述的系统,其特征在于,所述缓存效益分析模块根据以下公式获取所述指纹缓存的效益:
Cgi=Hgi/Sci;
其中,Cgi为所述指纹缓存的效益,Hgi为所述指纹缓存的命中次数,Sci为当前所述指纹缓存的容量。
10.根据权利要求9所述的系统,其特征在于,所述缓存效益分析模块根据以下公式获取所述读缓存的效益:
Cgr=Hgr/Scr;
其中,Cgr为所述读缓存的效益,Hgr为所述读缓存的命中次数,Scr为当前所述读缓存的容量。
11.根据权利要求10所述的系统,其特征在于,所述缓存分配模块将所述指纹缓存的效益与所述读缓存的效益进行比较;
若所述指纹缓存的效益大于所述读缓存的效益,则所述缓存分配模块调整所述指纹缓存增加第一调整值,所述缓存分配模块调整所述读缓存减少所述第一调整值;
若所述读缓存的效益大于所述指纹缓存的效益,则所述缓存分配模块调整所述指纹缓存减少第二调整值,所述缓存分配模块调整所述读缓存增加所述第二调整值。
12.根据权利要求11所述的系统,其特征在于,所述第一调整值满足以下公式:
S1=S2*(Cgi/Cgr)
其中,S1为所述第一调整值;S2为缓存调整的容量单位值;
所述第二调整值满足以下公式:
S3=S2*(Cgr/Cgi)
其中,S3为所述第二调整值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510026483.7A CN105868124A (zh) | 2015-01-19 | 2015-01-19 | 重复数据删除系统及其动态缓存的分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510026483.7A CN105868124A (zh) | 2015-01-19 | 2015-01-19 | 重复数据删除系统及其动态缓存的分配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105868124A true CN105868124A (zh) | 2016-08-17 |
Family
ID=56623023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510026483.7A Pending CN105868124A (zh) | 2015-01-19 | 2015-01-19 | 重复数据删除系统及其动态缓存的分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105868124A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325001A (zh) * | 2018-08-20 | 2019-02-12 | 郑州云海信息技术有限公司 | 基于元数据服务器删除小文件的方法、装置及设备 |
WO2021036689A1 (zh) * | 2019-08-26 | 2021-03-04 | 华为技术有限公司 | 一种缓存空间的管理方法及装置 |
-
2015
- 2015-01-19 CN CN201510026483.7A patent/CN105868124A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325001A (zh) * | 2018-08-20 | 2019-02-12 | 郑州云海信息技术有限公司 | 基于元数据服务器删除小文件的方法、装置及设备 |
CN109325001B (zh) * | 2018-08-20 | 2021-06-29 | 郑州云海信息技术有限公司 | 基于元数据服务器删除小文件的方法、装置及设备 |
WO2021036689A1 (zh) * | 2019-08-26 | 2021-03-04 | 华为技术有限公司 | 一种缓存空间的管理方法及装置 |
US11899580B2 (en) | 2019-08-26 | 2024-02-13 | Huawei Technologies Co., Ltd. | Cache space management method and apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | {ElasticBF}: Elastic Bloom Filter with Hotness Awareness for Boosting Read Performance in Large {Key-Value} Stores | |
US10657101B2 (en) | Techniques for implementing hybrid flash/HDD-based virtual disk files | |
CN108009008B (zh) | 数据处理方法和系统、电子设备 | |
Kang et al. | Towards building a high-performance, scale-in key-value storage system | |
Wang et al. | An efficient design and implementation of LSM-tree based key-value store on open-channel SSD | |
Papagiannis et al. | An efficient memory-mapped key-value store for flash storage | |
Tai et al. | Improving flash resource utilization at minimal management cost in virtualized flash-based storage systems | |
TWI627534B (zh) | 用於資料快取之方法、電腦可讀取儲存媒體及系統 | |
CN108255419A (zh) | 一种用于tlc类型ssd的磨损均衡方法及ssd | |
CN101013387A (zh) | 基于对象存储设备的负载平衡方法 | |
CN106911743B (zh) | 小文件的写聚合、读聚合方法及系统和客户端 | |
CN102999444A (zh) | 一种用于替换缓存模块中数据的方法及装置 | |
CN106648464A (zh) | 基于云存储的多节点混合块缓存数据读写方法及系统 | |
CN104598394A (zh) | 一种可动态分配的数据缓存方法及系统 | |
Li et al. | {ROLEX}: A Scalable {RDMA-oriented} Learned {Key-Value} Store for Disaggregated Memory Systems | |
CN102355502B (zh) | 存储系统远程接入桌面操作系统的远程接入方法 | |
US10101934B1 (en) | Memory allocation balancing for storage systems | |
US9699254B2 (en) | Computer system, cache management method, and computer | |
CN107562806B (zh) | 混合内存文件系统的自适应感知加速方法及系统 | |
CN105868124A (zh) | 重复数据删除系统及其动态缓存的分配方法 | |
US20170024147A1 (en) | Storage control device and hierarchized storage control method | |
Kremer et al. | FADaC: A self-adapting data classifier for flash memory | |
Lee et al. | SFM: Mitigating read/write amplification problem of LSM-tree-based key-value stores | |
Shen et al. | Ditto: An elastic and adaptive memory-disaggregated caching system | |
CN114385073A (zh) | 操作存储系统的方法和对存储资源的层级进行分区的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160817 |
|
WD01 | Invention patent application deemed withdrawn after publication |