一种云存储系统中节约型重复数据删除方法技术方案

技术编号:12104657 阅读:74 留言:0更新日期:2015-09-23 23:12
本发明专利技术公开了一种云存储系统中节约型重复数据删除方法,所述云存储系统由进行文件操作的客户端、存放文件系统元数据信息的元数据服务器、同步备份元数据的镜像文件和操作日志的二级元数据服务器、存储数据块的存储节点共同构成,其方法五个步骤针对云存储系统中数据的动态性,考虑数据本身的特性,将数据分为热点数据和非热点数据,对于不同的数据采用不同的重删时机,以保证系统的性能更佳,对于系统响应时间的降低效果会更好。

【技术实现步骤摘要】

本专利技术涉及计算机数据存储领域,尤其涉及一种云存储系统中节约型重复数据删 除方法。
技术介绍
近年来,云计算、移动计算、物联网等技术的日益普及使得目前数据呈爆炸式 增长,云存储技术应运而生。据国际数据公司IDC统计,2011年全球数据总量已达到 1. 8ZB(1ZB= 109TB),预计到2020年全球产生的信息总量将达到35ZB。系统的存储压力也 与日俱增。IDC调查还发现信息系统中有近75%的重复冗余数据,大量的重复性冗余数据 浪费了大量的存储资源,而重复数据删除技术可以有效地缩减数据。 重复数据删除技术通过比对指纹值,保留唯一的数据,并用指向唯一数据 的指针代替其它重复的数据。重复数据删除技术现已广泛应用于备份和归档系统, 其中较为成熟的重复数据删除策略有基于文件语义感知的多层源端重复数据方法 (Semantic-awareMultieredDeduplication,SAM-Dedupe)、基于因果关系的重复数据删 除方法(Causality-BasedDeduplication,CABdedupe)、基于应用感知的重复数据删除方 法(Application-awareDeduplication,AA_Dedupe)等。它们各有优缺点,SAM-Dedupe通 过对文件大小,文件位置,文件类型,文件时间戳的认知不断缩小指纹比对范围;CABdedupe 通过捕获与记录备份数据集在多个时间点之间的因果关系,挖掘未修改的数据实施重删; AA-Dedupe通过对不同类型文件应用采用不同分块算法和指纹提取技术以获得最佳的重删 效果,如静态应用数据或虚拟机镜像采用FSC(Fixed-SizedChunking)算法分块和MD5算 法提取指纹。这些策略以备份系统为环境,致使处理的数据相对比较静态,即上传到存储端 后,用户不会对存储端中的数据直接进行修改,因此简单移植这些方法并不适用于云存储 系统。目前,云存储系统中也有一些研宄成果,侧重于系统安全性,或基于代理加密的重复 数据删除机制,或基于交互式的P〇W(ProofofOwnership)的重复数据删除机制,或基于数 据流行度的安全重复数据删除机制。重复数据删除方法致使同一数据块被多个用户所共 享,而用户对数据的修改呈多样性,如何保证数据的可用性和安全性是必要的。 现有技术普遍面向数据相对比较静态的备份和归档系统,从源端避免重复数据上 传后并不考虑存储系统中的数据是否会被修改,而云存储系统中数据被多用户所共享,多 用户修改数据导致数据的动态性增强,因此并不适用云存储系统。
技术实现思路
为解决上述技术问题,本专利技术采用的技术方案如下: -种云存储系统中节约型重复数据删除方法,所述云存储系统由进行文件操作的 客户端、存放文件系统元数据信息的元数据服务器、同步备份元数据的镜像文件和操作日 志的二级元数据服务器、存储数据块的存储节点共同构成,该方法包括如下步骤: 步骤一:每个客户端对本地待上传文件进行预处理,进行文件级和数据块级的局 部重复数据删除操作以防重复数据的再次上传,然后将待上传文件的元数据信息上传到元 数据服务器; 步骤二:元数据服务器接收到来自不同客户端的元数据信息,依次读取文件指纹、 数据块指纹,然后比对内存、硬盘和写缓存区的指纹索引信息,最后将未上传过的指纹值信 息返回到各个客户端。 步骤三:客户端将未上传过的新数据上传到存储端,存储端对新数据进行存储,并 更新存储端的元数据信息表。 步骤四:客户端发出要修改数据的请求,通过元数据服务器获取待修改数据所在 的存储节点号,然后连接存储节点并直接对存储端的数据进行修改操作。 步骤五:存储端对修改后的数据块进行检测,当修改后的数据块通过比对指纹值 发现已经在本节点上,直接对其进行重删;当修改后的数据块不在本节点上,则先保存到本 节点上,再通过元数据服务器的比对发现在其他节点上,对该数据块采用延迟重删;当修改 后的数据块通过比对本节点和元数据服务器上的指纹索引,发现既不在本节点上,又不在 其他节点上,除了将该数据块保存到本节点上,元数据服务器还需要为该数据块创建副本。 所述的云存储系统其特征在于:元数据服务器上还含有过滤模块以及更新模块, 过滤模块用于过滤不同客户端的重复数据信息,更新模块用于更新存储端全局数据元数据 信息,即直接更新重复数据块的元数据信息,等接收到存储节点反馈的信息后才更新非重 复数据块的元数据信息。 所述客户端有文件预处理模块、局部重删模块、元数据管理模块和数据传输模块, 其中文件预处理模块依据文件的类型进行文件分类,然后交给局部重删模块进行文件级重 删,经过文件级重删后的非重复文件再返还给文件预处理模块进行过滤(过滤掉小于64MB 的非重复文件),最后再由局部重删模块进行数据块级重删。元数据管理模块用于记录客户 端已上传数据块的指纹值信息,以避免本地重复数据的上传;数据传输模块则是客户端连 接元数据服务器和存储节点的接口,即负责将待上传文件的元数据信息上传到元数据服务 器,将非重复数据块上传到存储节点上。 所述存储节点包括存储模块、元数据管理模块、自检报告模块和延迟重删模块,其 中存储模块主要负责数据块的存储,分配数据块的物理地址;元数据管理模块记录本节点 上的数据块的元数据信息;自检报告模块主要是检测数据块的修改所带来的重复数据,交 给延迟重删模块进行热点重复数据块的判断与相应的处理并将修改的元数据信息反馈给 自检报告模块,然后报告给元数据服务器。 所述步骤一中文件级重复数据删除:利用MD5算法计算文件指纹值,比对大小和 类型相等的文件指纹值,然后再与本地的元数据信息表进行比对,确定重复文件和非重复 文件; 所述步骤一所述的数据块级重复数据删除如下:对于非重复文件(已过滤掉小于 64MB的文件),利用定长分块算法进行分块,块长设为64MB,利用MD5算法计算数据块的指 纹值,比对块长相等的数据块确定重复数据块。 所述步骤二中比对文件指纹时,若发现指纹值已存在,则不再比对数据块的指纹, 否则还要比对构成文件的数据块指纹。 所述步骤三中每个存储端都保存着其上的数据块指纹及其存储地址的映射关系, 通过数据块指纹,即可确定数据块存放的物理地址。 所述步骤四中客户端多个用户对数据块的修改可能会引入新的重复数据块,并且 现有存储系统暂不考虑这些重复的数据块。备份系统中用户在本地对数据修改后再进行备 份,备份的过程中过滤掉未作修改的部分;而云存储给用户带来的云端体验如同在本地,用 户获取到想要修改的数据的地址,直接对数据进行修改。这正是云存储与备份系统的不同。 所述步骤五中延迟重删包含对热点重复数据块和非热点重复数据块两方面的操 作,判断方法采用如下公式: 式中,节点i上某一数据块发生修改,并确定该数据块在节点i上不重复,在节点 j上有重复数据块;表示在tp+1_t#间段内某一个数据块在存储节点端(除了节点i) 的平均访问次数;a是一个阈值,表示成为热点数据块单位时间内最少的访问次数;A^tp) 和~(tp+1)分别表示%和tp+1时刻节点j上某一数据块的访问次数;Z为数据块B所在节点 的编号集合。 对于热点重复数据块则延迟重删以降低系统的访问响应时间;对于非热点重复数 本文档来自技高网
...
一种云存储系统中节约型重复数据删除方法

【技术保护点】
一种云存储系统中节约型重复数据删除方法,所述云存储系统由进行文件操作的客户端、存放文件系统元数据信息的元数据服务器、同步备份元数据的镜像文件和操作日志的二级元数据服务器、存储数据块的存储节点共同构成,该方法包括如下步骤:步骤一:每个客户端对本地待上传文件进行预处理,进行文件级和数据块级的局部重复数据删除操作以防重复数据的再次上传,然后将待上传文件的元数据信息上传到元数据服务器;步骤二:元数据服务器接收到来自不同客户端的元数据信息,依次读取文件指纹、数据块指纹,然后比对内存、硬盘和写缓存区的指纹索引信息,最后将未上传过的指纹值信息返回到各个客户端;步骤三:客户端将未上传过的新数据上传到存储端,存储端对新数据进行存储,并更新存储端的元数据信息表;步骤四:客户端发出要修改数据的请求,通过元数据服务器获取待修改数据所在的存储节点号,然后连接存储节点并直接对存储端的数据进行修改操作;步骤五:存储端对修改后的数据块进行检测,当修改后的数据块通过比对指纹值发现已经在本节点上,直接对其进行重删;当修改后的数据块不在本节点上,则先保存到本节点上,再通过元数据服务器的比对发现在其他节点上,对该数据块采用延迟重删;当修改后的数据块通过比对本节点和元数据服务器上的指纹索引,发现既不在本节点上,又不在其他节点上,除了将该数据块保存到本节点上,元数据服务器还需要为该数据块创建副本。...

【技术特征摘要】

【专利技术属性】
技术研发人员:徐小龙涂群李涛徐佳朱洁
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

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

1