【技术实现步骤摘要】
一种数据去重方法及装置
[0001]本申请涉及计算机存储领域,尤其涉及一种数据去重方法及装置。
技术介绍
[0002]随着科技的发展,电子产品使用的场景越来越丰富,需要存储的数据越来越多,用户对于存储空间的需求也越来越大,数据去重技术应运而生。
[0003]目前的数据去重技术中,通过散列算法或指纹算法等算法,为待存储的数据和已存储到存储空间中的数据块计算独特的标识符,查找存储空间中是否存在与该待存储的数据的标识符相同的目标数据块。若是,则仅存入指针,该指针指向存储目标数据块的原始位置。若否,则将该待存储的数据写入存储空间。使得文件中相同的数据只存储一份,相同数据共用同一个数据块。
[0004]然而,若将计算存储空间中除了目标数据块以外的其他数据块的标识符称为无效计算,则通过散列算法或指纹算法等查找存储空间是否存储有目标数据块的数据去重方法中无效计算所产生的运算量和功耗大。特别是当文件中大部分数据不相同的情况下,无效计算所产生的运算量和功耗很大。
[0005]因此,如何提供一种数据去重方法使得提升存储空间利用率的同时减少性能损耗,成为了
内重要的研究课题。
技术实现思路
[0006]本申请提供一种数据去重方法及装置,用于减少待存储的数据与已存储到目标存储空间中的数据块进行数据内容比较所产生的计算量和功耗,提升存储空间利用率的同时减少性能损耗。
[0007]第一方面,本申请实施例提供一种数据去重方法,所述方法包括:获取待存储到目标存储空间中的第一数据,所述目标存储空间 ...
【技术保护点】
【技术特征摘要】
1.一种数据去重方法,其特征在于,包括:获取待存储到目标存储空间中的第一数据,所述目标存储空间中已存储M个数据块,所述M为正整数;计算所述第一数据的数据内容的总和校验码;在确定所述第一数据的数据内容的总和校验码与所述M个数据块的数据内容的总和校验码都不相同的情况下,为所述第一数据分配第一数据块,将所述第一数据存储到所述第一数据块中;在确定所述第一数据的数据内容的总和校验码与所述M个数据块中的第二数据块的数据内容的总和校验码相同,且所述第二数据块的数据内容与所述第一数据的数据内容相同的情况下,将所述第二数据块的地址信息作为存储所述第一数据的数据块的地址信息记录到索引节点中,所述索引节点用于记录数据与存储数据的数据块的地址信息的关联关系。2.如权利要求1所述的方法,其特征在于,所述在确定所述第一数据的数据内容的总和校验码与所述M个数据块中的第二数据块的数据内容的总和校验码相同,且所述第二数据块的数据内容与所述第一数据的数据内容相同的情况下,将所述第二数据块的地址信息作为存储所述第一数据的数据块的地址信息记录到索引节点中,包括:在确定所述第一数据的数据内容的总和校验码与所述M个数据块中的第二数据块的数据内容的总和校验码相同,且所述第二数据块的数据内容与所述第一数据的数据内容相同,以及所述第二数据块的第一被引用次数小于第一阈值的情况下,将所述第二数据块的地址信息作为存储所述第一数据的数据块的地址信息记录到索引节点中,并将所述第一被引用次数加1;所述第一被引用次数为重复计数表中记录的所述第二数据块的地址信息被引用的次数,所述重复计数表用于记录数据块与数据块的地址信息被重复引用的次数的关联关系。3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:在确定所述M个数据块中的N个第二数据块的数据内容的总和校验码与所述第一数据的数据内容的总和校验码相同,且所述N个第二数据块的第一被引用次数都大于或等于第一阈值的情况下,为所述第一数据分配第一数据块,并将所述第一数据存储到所述第一数据块中;所述N为小于或等于M的整数,所述第一被引用次数为重复计数表中记录的所述第二数据块的地址信息被引用的次数,所述重复计数表用于记录数据块与数据块的地址信息被重复引用的次数的关联关系。4.如权利要求1
‑
3任一项所述的方法,其特征在于,在所述获取待存储到目标存储空间中的第一数据之前,所述方法还包括:在接收到将第三数据修改为第四数据的指令后,获取与所述第三数据对应的第三数据块的第二被引用次数;所述第二被引用次数为重复计数表中记录的所述第三数据块的地址信息被引用的次数,所述重复计数表用于记录数据块与数据块的地址信息被重复引用的次数的关联关系;在确定所述第二被引用次数等于1的情况下,将所述第四数据作为所述第一数据,并删除与所述第三数据相关的信息;在确定所述第二被引用次数大于1的情况下,将所述第四数据作为所述第一数据,并将所述重复计数表中的所述第二被引用次数减1。
5.如权利要求1
‑
4任一项所述的方法,其特征在于,所述方法还包括:在接收到删除第五数据的指令后,获取所述第五数据对应的第五数据块的第三被引用次数;所述第三被引用次数为重复计数表中记录的所述第五数据块的地址信息被引用的次数,所述重复计数表用于记录数据块与数据块的地址信息被重复引用的次数的关联关系;在确定所述第三被引用次数等于1的情况下,删除与所述第五数据相关的信息;在确定所述第三被引用次数大于1的情况下,将所述重复计数表中所述第三被引用次数减1。6.如权利要求1所述的方法,其特征在于,所述在确定所述第一数据的数据内容的总和校验码与所述M个数据块中的第二数据块的数据内容的总和校验码相同,且所述第二数据块的数据内容与所述第一数据的数据内容相同的情况下,将所述第二数据块的地址信息作为存储所述第一数据的数据块的地址信息记录到索引节点中,包括:在确定所述第一数据的数据内容的总和校验码与所述M个数据块中的第二数据块的数据内容的总和校验码相同的情况下,计算所述第一数据的数据内容的第一标识符和所述第二数据块的数据内容的第二标识符;在确定所述第一标识符与所述第二标识符相同的情况下,确定所述第二数据块的数据内容与所述第一数据的数据内容相同;在确定所述第二数据块的数据内容与所述第一数据的数据内容相同的情况下,将所述第二数据块的地址信息作为存储所述第一数据的数据块的地址信息记录到索引节点中。7.如权利要求1
‑
6任一项所述的方法,其特征在于,所述总和校验码包括循环冗余校验码。8.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器、存储器和显示屏;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行:获取待存储到目标存储空间中的第一数据,所...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。