【技术实现步骤摘要】
一种用于数据去重的方法、设备和系统
本公开的实施方式涉及数据存储
,并且更具体地涉及用于数据去重的方法和系统。
技术介绍
“去重”是数据存储中常用的一项技术,其目的是要尽量去除存储区中重复的数据,以便节约存储空间,提高存储效率。现有的去重技术是采用虚拟块管理(VBM)方法,利用该方法,可以通过仅仅扫描文件管理系统而无需访问文件节点和间接块,来提供一种有效的数据块去重手段。通常,在通过去重扫描发现重复数据后,将会把所发现的重复数据的VBM模块的指针重新导向至已有的数据的VBM模块,并回收重复数据的存储空间,使其变为空闲存储空间。然而,由于重复数据的虚拟块管理模块的指针重新导向,将会造成读取操作的重新导向以及写入操作被分隔(writesplit),而这些都会引起性能降级。写入被分隔主要是由于引入了碎片,这是因为去重操作在大多数情况下都会把原本连续的数据存储区打碎成若干片,引入碎片是这种去重操作与生俱来的劣势。目前,去重方法所引发的性能问题已经潜在地对该技术的使用造成了一些障碍。
技术实现思路
有鉴于此,本公开提供了一种新的数据去重的技术方案,以克服或者缓解如前所述的现有技术中存在的至少一部分缺陷。根据本公开的第一方面,提供了一种用于数据去重的方法。该方法可以包括:针对待被去重数据块,将指向所述待被去重数据块的指针设置为指向对应的待保留数据块的指针,并设置指向所述待被去重数据块的虚拟指针;响应于可用存储容量达到预定值,取消指向各个将被回收的待被去重数据块的虚拟指针,并回收所述各个将被回收的待被去重数据块的存储空间。特别地,在指向所述待被去重数据块的虚拟指针可用 ...
【技术保护点】
一种用于数据去重的方法,包括:针对待被去重数据块,将指向所述待被去重数据块的指针设置为指向对应的待保留数据块的指针,并设置指向所述待被去重数据块的虚拟指针;响应于可用存储容量达到预定值,取消指向各个将被回收的待被去重数据块的虚拟指针,并回收所述各个将被回收的待被去重数据块的存储空间,其中在指向所述待被去重数据块的虚拟指针可用的情况下,通过所述虚拟指针来访问所述待去重的数据块。
【技术特征摘要】
1.一种用于数据去重的方法,包括:针对待被去重数据块,将指向所述待被去重数据块的指针设置为指向对应的待保留数据块的指针,并设置指向所述待被去重数据块的虚拟指针;响应于可用存储容量达到预定值,取消指向各个将被回收的待被去重数据块的虚拟指针,并回收所述各个将被回收的待被去重数据块的存储空间,其中在指向所述待被去重数据块的虚拟指针可用的情况下,通过所述虚拟指针来访问所述待去重的数据块。2.根据权利要求1所述的方法,进一步包括:在双指针结构中采用与被设置为指向对应的待保留数据块的指针的所述指针类似的结构,存储指向所述待被去重数据块的所述虚拟指针。3.根据权利要求1或2所述的方法,进一步包括:针对指向所述待被去重数据块的所述虚拟指针,设置指示所述虚拟指针是否可用的虚拟指针指示位。4.根据权利要求3所述的方法,其中取消指向各个将被回收的待被去重数据块的虚拟指针包括:将所述虚拟指针指示位设置为指示所述虚拟指针不可用的值。5.根据权利要求1或2所述的方法,进一步包括:针对指向每个数据块的指针,设置用于指示该指针被多少个其他数据块的指针所共享的共享计数位,其中在所述共享计数位的值大于0且所述虚拟指针不可用的情况下,在针对数据块执行写操作时为所述写操作分配新存储资源,并将所述写操作所针对的数据块的指针设置为指向用新分配的存储资源存储的数据块。6.根据权利要求5所述的方法,其中在为所述写操作分配新存储资源时,在没有空闲存储资源可用的情况下,执行以下操作其中之一:将可回收资源中长度较长的连续数据块回收,以便分配给所述写操作;以及将所述可回收资源中长度与所述写操作更为匹配的连续数据块回收,以便分配给所述写操作。7.根据权利要求1或2所述的方法,进一步包括:确定所有可被回收的待被去重数据块,以及将所述所有可被回收的待被去重数据块中的一部分确定为所述将被回收的待被去重数据块。8.根据权利要求7所述的方法,其中所述所有待被去重数据块中的一部分包括所述所有待被去重数据块中的连续数据块。9.一种用于数据去重的设备,包括:指针设置模块,被配置为针对待被去重数据块,将指向所述待被去重数据块的指针设置为指向对应的待保留数据块的指针,并设置指向所述待被去重数据块的虚拟指针;空间回收模块,被配置为响应于可用存储容量达到预定值,取消指向各个将被回收的待被去重数据块的虚拟指针,并回收所述各个将被回收的待被去重数据块的存储空间,其中在指向所述待被去重的虚拟指针可用的情况下,通过所述虚拟指针来直接访问所述待去重的数据块。10.根据权利要求9所述的设备,其中所述指针设置模块进一步被配置为在双指针结构中采用与被设置为指向对应的待保留数据块的指针的所述指针类似的结构,存储指向所述待被去重数据块的所述虚拟指针。11.根据权利要求9或10所述的设备,其中所述指针设置模块进一步被配置为针对指向所述待被去重数据块的所述虚拟指针,设置指示所述虚拟指针是否可用的虚拟指针指示位。12.根据权利要求11所述的设备,其中所述指针设置模块进一步被配置为通过将所述虚拟指针指示位设置为指示所述虚拟指针不可用的值,来取消指向各个将被回收的待被去重数据块的虚拟指针。13.根据权利要求9或10所述的设备,其中所述指针设置模块进一步被配置为:针对指向每个数据块的指针,设置用于指示该指针被多少个其他数据块的指针所共享的共享计数位,以及其中在所述共享计数位的值大于0且所述虚拟指针不可用的情况下,在执行写操作时为所述写操作分配新...
【专利技术属性】
技术研发人员:鄢彪,黄佳,廖睿,胡博,吴迁,
申请(专利权)人:伊姆西IP控股有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。