CN109522283A - 一种重复数据删除方法及系统 - Google Patents
一种重复数据删除方法及系统 Download PDFInfo
- Publication number
- CN109522283A CN109522283A CN201811273275.7A CN201811273275A CN109522283A CN 109522283 A CN109522283 A CN 109522283A CN 201811273275 A CN201811273275 A CN 201811273275A CN 109522283 A CN109522283 A CN 109522283A
- Authority
- CN
- China
- Prior art keywords
- data
- hash
- ceph
- data block
- file
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 5
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种重复数据删除方法及系统。所述方法包括:步骤a:客户端按照设置的对象大小,将文件分为固定长度的数据块;步骤b:使用安全散列算法计算出所述数据块的Hash值;步骤c:根据所述Hash值判断所述数据块是否重复,并根据判断结果将所述数据块封装成不同类型的对象,根据所述对象的名称进行散列计算,得到所述对象应存储的集群节点和磁盘位置;步骤d:客户端按照所述散列计算结果,直接与所述对象存储的集群节点进行通讯,将所述对象存储到对应的磁盘位置。本申请不但可以减少重复数据占用的存储空间,还可以节省传输重复数据占用的带宽,保持Ceph分布式存储系统无中心节点的特点,不影响存储系统原有的存储过程。
Description
技术领域
本申请属于数据处理技术领域,特别涉及一种重复数据删除方法及系统。
背景技术
随着社会信息化的不断推进和数据量的增长,企业中心的存储需求量越来越庞大,企业面临的快速备份和恢复的时间点越来越多,管理保存数据的成本及数据中心空间和能耗也变得越来越严重,分布式存储系统在数据存储方面具有很多的优势。Ceph分布式存储系统是一个拥有丰富特性、连接众多开源项目的生态系统,在完善的基础设施和较为稳定的运行模式下,Ceph正被越来越多的企业用户使用。研究发现,应用系统所保存的数据中高达60%是冗余的,而且随着时间的推移冗余数据越来越多。Ceph并没有提供解决冗余数据的方案,为了解决冗余数据而提出的重复数据删除技术,可以缩减冗余数据占用空间,并且可以降低数据管理成本,最大程度地利用已有资源。
请参阅图1,图1为现有技术中主流的重复数据删除系统的结构图。在该重复数据删除系统中,系统顶层为文件访问协议层,可以支持若干种文件访问协议,如NFS,CIFS或者iSCSI等,通过文件访问协议层将存储子系统网络化,实现高速共享存储的目标。在访问协议层下是包括各种标准的文件服务接口的文件服务层,它负责管理文件的元数据和命名空间。在文件服务层下为数据块分析层,这一层定义了一种新的数据对象——数据块,它是对文件内容进行重复判断的基本单位。数据块分析层按照数据划分策略将文件划分成若干个数据块,同时计算出每个数据块的Hash值。这样文件可以通过其数据块Hash值列表来表示。数据块分析层通过数据块的Hash值比对,来确定当前数据块是否为重复的。数据块分析层下面为数据存储层,包括数据块存储和索引存储。数据块存储负责将唯一的数据块存储在磁盘中。为了支持快速查询建立数据块索引,使用数据库来保存数据块的Hash值以及数据块与Hash值的映射关系。
该重复数据删除系统将文件按照自定义的数据划分策略,将文件划分成若干数据块并计算数据块的Hash值,将Hash值存储在数据库中进行集中存储,但是随着集群规模的扩大,Hash值越来越多,集中式的存储容易造成数据库节点的高负载,产生单节点瓶颈。
发明内容
本申请提供了一种重复数据删除方法、系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
为了解决上述问题,本申请提供了如下技术方案:
一种重复数据删除方法,包括以下步骤:
步骤a:客户端按照设置的对象大小,将文件分为固定长度的数据块;
步骤b:使用安全散列算法计算出数据块的Hash值;
步骤c:根据Hash值判断所述数据块是否重复,并根据判断结果将所述数据块封装成不同类型的对象,根据对象的名称进行散列计算,得到对象应存储的集群节点和磁盘位置;
步骤d:客户端按照所述散列计算结果,直接与对象存储的集群节点进行通讯,将对象存储到对应的磁盘位置。
本申请实施例采取的技术方案还包括:在所述步骤a中,所述客户端根据文件的大小和设置的分块大小,按照固定长度将文件切分成数据块,将数据块封装成对象。
本申请实施例采取的技术方案还包括:在所述步骤b中,所述客户端使用SHA-1算法计算每一个数据对象内容的Hash值,然后新建一个Hash对象。
本申请实施例采取的技术方案还包括:在所述步骤c中,所述数据块封装成的对象包括:Ceph对象、Hash对象、重删对象,所述Ceph对象是对象名称oid由文件的ino和对象编号ono组成;所述Hash对象为每一个Ceph对象生成一个Hash对象,用于记录Ceph对象内容的Hash值;所述重删对象为:如果判断当前对象的Hash值已经存在,当前对象存储的数据为重复数据,将当前Ceph对象的内容替换为与该对象内容重复的原对象的oid。
本申请实施例采取的技术方案还包括:所述步骤c还包括:在对象和对象存储集群间增加对象映射层。
本申请实施例采取的技术方案还包括:所述步骤c还包括:客户端根据Hash对象的名称和集群状态进行散列计算,得到当前Hash对象应存储的磁盘编号,并查询是否有同名的对象存在,如果不存在同名对象,为Ceph对象对应的Hash对象添加附加扩展属性reference count初始值为1,记录Ceph对象的重复数据,然后为当前Ceph对象添加附加属性flag和和hash value;如果存在同名对象,为集群中的Hash对象添加写锁,将referencecount的值加1,然后释放写锁,最后将当前对象做重复数据删除处理,将当前对象替换为占用存储空间更小的重删对象。
本申请实施例采取的另一技术方案为:一种重复数据删除系统,包括:
客户端:用于按照设置的对象大小,将文件分为固定长度的数据块,并使用安全散列算法计算出所述数据块的Hash值,根据Hash值判断当前数据块是否重复,并根据判断结果将所述数据块封装成不同类型的对象,根据所述对象的名称进行散列计算,得到对象应存储的集群节点和磁盘位置,直接与所述对象存储的集群节点进行通讯,将对象存储到对应的磁盘位置;
元数据集群:用于提供文件元数据管理;
监视器集群:用于负责集群内的节点生命周期管理、数据分布策略计算并维护集群的成员和状态;
对象存储集群:用于提供对象存储和管理,并配合客户端完成重复数据删除工作。
本申请实施例采取的技术方案还包括:所述客户端根据文件的大小和设置的分块大小,按照固定长度将文件切分成数据块,将数据块封装成对象。
本申请实施例采取的技术方案还包括:所述数据块封装成的对象包括:Ceph对象、Hash对象、重删对象,所述Ceph对象是对象名称oid由文件的ino和对象编号ono组成;所述Hash对象为每一个Ceph对象生成一个Hash对象,用于记录Ceph对象内容的Hash值;所述重删对象为:如果判断当前对象的Hash值已经存在,当前对象存储的数据为重复数据,将当前Ceph对象的内容替换为与该对象内容重复的原对象的oid。
本申请实施例采取的技术方案还包括:所述客户端查询是否有同名的对象存在,如果不存在同名对象,为Ceph对象对应的Hash对象添加附加扩展属性reference count初始值为1,记录Ceph对象的重复数据,然后为当前Ceph对象添加附加属性flag和和hashvalue;如果存在同名对象,为集群中的Hash对象添加写锁,将reference count的值加1,然后释放写锁,最后将当前对象做重复数据删除处理,将当前对象替换为占用存储空间更小的重删对象。
相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例将文件进行数据分块,割成成固定大小的数据块并且计算数据块的Hash值,根据数据块的Hash值判断其是否重复后,将数据块封装成不同的对象,并且将Hash值存储在对象的数据结构中,然后通过散列算法将对象分布式的存储到集群节点中,解决了主流重复数据删除系统的单节点瓶颈的缺点;通过计算可以直接找到Hash值的存储位置,不需要进行全集群查找,系统的重复判断速度更快;通过对象的替换完成重复数据的处理,替换后的对象占用极少的存储空间,并且本申请的设计可以使用SSD来提成文件读写速度。本申请不但可以减少重复数据占用的存储空间,还可以节省传输重复数据占用的带宽,保持Ceph分布式存储系统无中心节点的特点,不影响存储系统原有的存储过程。
附图说明
图1为现有技术中主流的重复数据删除系统的结构图;
图2是本申请第一实施例的存储系统重复数据删除方法文件存储的流程图;
图3是本申请第二实施例的存储系统重复数据删除方法写文件的流程图;
图4是本申请第三实施例的存储系统重复数据删除方法读文件的流程图;
图5是本申请第四实施例的存储系统重复数据删除方法删除文件的流程图;
图6是本申请实施例的重复数据删除系统的结构示意图;
图7是测试环境网络拓扑图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
请参阅图2,是本申请第一实施例的存储系统重复数据删除方法文件存储的流程图。本申请第一实施例的存储系统重复数据删除方法文件存储包括以下步骤:
步骤100:客户端按照设置的对象大小,将文件分为固定长度的数据块;
步骤110:使用安全散列算法计算出数据块的Hash值;
在步骤110中,使用安全散列算法为:SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1),SHA-1是一种密码散列函数,SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
步骤120:根据Hash值判断当前数据块是否重复,根据数据重复的判断结果,将数据块封装成三种不同类型的对象:Ceph对象、Hash对象、重删对象;
在步骤120中,Ceph对象:对象名称oid由文件的ino和对象编号ono组成,形式为ino.ono,对象内容为文件分块后的数据data,扩展属性为:flag、hash value,flag为ori时标志当前对象为Ceph对象,flag为dedup时标志当前对象为重删对象,hash value用来存储该对象内容data的Hash值。Hash对象:为每一个Ceph对象生成一个Hash对象,用于记录Ceph对象内容的Hash值,Hash对象名称为Ceph对象内容的Hash值,内容为Ceph对象的对象名oid,扩展属性为:reference count,用来记录该对象重复的数目,初始值为0。重删对象:如果判断当前对象的Hash值已经存在,那么当前对象存储的数据为重复数据,将当前Ceph对象的内容替换为与该对象内容重复的原对象的oid,同时为重复数据对象添加扩展属性:flag、hash value,flag来标识当前对象为重删对象,hash value用来存储,当前对象原本存储内容的Hash值。
步骤130:根据对象的名称进行散列计算,得到对象应存储的集群节点和磁盘位置,在对象和对象存储集群间增加对象映射层,保证节点或者磁盘故障时,对象和磁盘映射关系的稳定性;
步骤140:客户端按照所述散列计算结果,直接与对象存储集群的节点进行通讯,将对象存储到磁盘中。
请参阅图3,是本申请第二实施例的存储系统重复数据删除方法写文件的流程图。本申请第二实施例的存储系统重复数据删除方法写文件包括以下步骤:
步骤200:客户端在读取到文件信息后,客户端根据文件的大小和设置的分块大小,按照固定长度将文件切分成数据块,将数据块封装成对象;
在步骤200中,将文件切分成数据块,最后一个数据块的大小不固定。
步骤210:客户端使用SHA-1算法计算每一个数据对象内容的Hash值,然后新建一个Hash对象;
在步骤210中,将Hash值作为对象名,原数据对象的oid作为Hash对象内容,每一个Ceph对象都对应一个Hash对象;
步骤220:对于分割好的每一个Hash对象,客户端根据Hash对象的名称和集群状态进行散列计算,得到当前Hash对象应存储的磁盘编号,并查询是否有同名的对象存在,如果不存在同名对象,执行步骤230;如果存在同名对象,执行步骤240;
在步骤220中,根据Hash值判断当前数据块是否重复,根据数据重复的判断结果,将数据块封装成三种不同类型的对象:Ceph对象、Hash对象、重删对象。
步骤230:表示当前Ceph对象存储的内容是唯一的,首先为Ceph对象对应的Hash对象添加附加扩展属性reference count初始值为1,记录Ceph对象的重复数据,然后为当前Ceph对象添加附加属性flag和和hash value,用于标志当前对象为Ceph对象和记录对象内容的Hash值,并执行步骤250;
步骤240:表示Hash对象对应的Ceph对象存储的内容是重复的,首先为集群中的Hash对象添加写锁,将reference count的值加1,然后释放写锁,最后将当前对象做重复数据删除处理,将当前对象替换为占用存储空间更小的重删对象;重删对象的名称不变,内容替换为内容相同的Ceph对象的Hash值,给当前的重删对象添加附加属性flag和hashvalue,用于标志当前对象为重删对象和记录对象内容的Hash值;
步骤250:根据对象名称和集群信息进行散列算法计算得到应存储的集群节点编号,客户端直接与对应的集群节点通信,将对象存储到对应的集群节点中,直到所有文件分切分成的对象存储完毕。
请参阅图4,是本申请第三实施例的存储系统重复数据删除方法读文件的流程图。本申请第三实施例的存储系统重复数据删除方法读文件包括以下步骤:
步骤300:客户端根据收到读文件请求,客户端根据要读取文件的存储位置,向元数据服务器获取文件的ino,并且根据用户请求读取文件的大小、偏移量等信息,计算出用户需要读取的文件所存储的所有对象名称oid;
步骤310:对于客户端要读取的每一个对象,客户端直接与对应的集群节点建立连接;
步骤320:集群节点读取该对象的扩展属性,如果扩展属性标识当前对象为原对象,那么直接读取对象内容返回给客户端,如果扩展属性标识当前对象为重复对象,那么读取重复对象存储的内容,内容是原对象的oid,根据oid获取原对象的内容返回给客户端;
步骤330:当客户端读取所有对象内容后,将对象内容拼接完成返回给用户。
请参阅图5,是本申请第四实施例的存储系统重复数据删除方法删除文件的流程图。本申请第四实施例的存储系统重复数据删除方法删除文件包括以下步骤:
步骤400:客户端收到删除文件请求,客户端根据用户请求向元数据服务器获取文件的ino,根据文件大小计算出文件所存储的所有对象名称oid;
步骤410:客户端根据对象的oid和集群信息计算出要删除文件的对象所在的集群节点编号,向集群节点发送删除请求,并且删除文件的元数据;
步骤420:MDS删除文件的元数据,集群节点收到删除请求后,标记所有要处理的对象,返回给客户端删除成功请求,之后在合适的时间完成删除对象工作;
步骤430:集群节点在合适的时间进行对象删除工作,根据要删除对象的不同类型和状态进行不同的处理。
在步骤430中,根据要删除的对象根据该对象扩展属性flag和对象Hash对象的重复计数分成四类:
对象为原数据对象且重复计数为0:根据当前对象的Hash值,找到Hash对象存储的位置,删除Hash对象后删除该对象;
对象为原数据对象且重复计数不为0:为Hash对象添加写锁,将重复计数减1后释放写锁;
对象为重复对象,且对应的原数据对象重复计数为0:首先根据重复对象存储的Hash值,找到Hash对象,为Hash对象添加写锁,如果重复计数为0,那么删除Hash对象。再根据重复对象存储的内容即Ceph对象的oid找到对应的Ceph对象,删除Ceph对象,最后删除重删对象;
象为重复对象且对应的原数据对象重复计数不为0:首先根据重复对象存储的Hash值找到Hash对象,为Hash对象添加写锁,如果重复计数不为0,那么将重复计数减1,然后释放写锁,最后删除重复对象。
请参阅图6,是本申请实施例的重复数据删除系统的结构示意图。本申请实施例的重复数据删除系统包括客户端、元数据集群、监视器集群和对象存储集群。其中客户端实现文件系统接口,提供文件读写和删除服务,重复数据删除工作也主要在客户端进行。元数据集群提供文件元数据管理。监视器集群负责集群内的节点生命周期管理、数据分布策略计算并维护集群的成员和状态等工作。对象存储集群提供对象存储和管理,并配合客户端完成重复数据删除工作。客户端按照设置的对象大小,将文件分为固定长度的数据块;并使用安全散列算法计算出数据块的Hash值;使用安全散列算法为:SHA-1(英语:Secure HashAlgorithm 1,中文名:安全散列算法1),SHA-1是一种密码散列函数,SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。对于分割好的每一个Hash对象,客户端根据Hash对象的名称和集群状态进行散列计算,得到当前Hash对象应存储的磁盘编号,并查询是否有同名的对象存在,如果不存在同名对象,那么当前Ceph对象存储的内容是唯一的,首先为Ceph对象对应的Hash对象添加附加扩展属性reference count初始值为1,记录Ceph对象的重复数据,然后为当前Ceph对象添加附加属性flag和和hash value,用于标志当前对象为Ceph对象和记录对象内容的Hash值;如果存在同名对象,那么说明Hash对象对应的Ceph对象存储的内容是重复的,首先为集群中的Hash对象添加写锁,将reference count的值加1,然后释放写锁,最后将当前对象做重复数据删除处理,将当前对象替换为占用存储空间更小的重删对象;重删对象的名称不变,内容替换为内容相同的Ceph对象的Hash值,给当前的重删对象添加附加属性flag和hashvalue,用于标志当前对象为重删对象和记录对象内容的Hash值。Ceph对象:对象名称oid由文件的ino和对象编号ono组成,形式为ino.ono,对象内容为文件分块后的数据data,扩展属性为:flag、hash value,flag为ori时标志当前对象为Ceph对象,flag为dedup时标志当前对象为重删对象,hash value用来存储该对象内容data的Hash值。Hash对象:为每一个Ceph对象生成一个Hash对象,用于记录Ceph对象内容的Hash值,Hash对象名称为Ceph对象内容的Hash值,内容为Ceph对象的对象名oid,扩展属性为:reference count,用来记录该对象重复的数目,初始值为0。重删对象:如果判断当前对象的Hash值已经存在,那么当前对象存储的数据为重复数据,将当前Ceph对象的内容替换为与该对象内容重复的原对象的oid,同时为重复数据对象添加扩展属性:flag、hash value,flag来标识当前对象为重删对象,hash value用来存储,当前对象原本存储内容的Hash值。根据对象名称和集群信息进行散列算法计算得到应存储的集群节点编号,客户端直接与对应的集群节点通信,将对象存储到对应的集群节点中,直到所有文件分切分成的对象存储完毕。
本申请搭建集群环境进行性能测试,测试环境网络拓扑图如图7所示,使用三个节点搭建存储集群,每个节点使用四块硬盘和一块固态盘,使用两个客户端挂载集群,向集群中进行文件读写测试。跟据测试结果,本申请设计的重复数据删除方法,在文件分块大小为4M时性能表现最佳。存储重复文件时,节省91.9%的集群存储空间,写文件的带宽达到原来写文件带宽的4.1倍,读文件的带宽达到原来读文件带宽的94%。
本申请描述的是针对分布式存储系统的重复数据删除方法,解决的是存储系统中文件重复的问题。分布式存储系统不但提供文件系统接口,还提供块存储接口和对象存储接口。本申请提出的重复数据删除方法,同样可以解决分布式存储系统中对象重复的问题。本申请提出的方法同样适用于与Ceph分布式存储架构相似的分布式文件系统或分布式对象存储系统。
本申请实施例将文件进行数据分块,割成成固定大小的数据块并且计算数据块的Hash值,根据数据块的Hash值判断其是否重复后,将数据块封装成不同的对象,并且将Hash值存储在对象的数据结构中,然后通过散列算法将对象分布式的存储到集群节点中,解决了主流重复数据删除系统的单节点瓶颈的缺点;通过计算可以直接找到Hash值的存储位置,不需要进行全集群查找,系统的重复判断速度更快;通过对象的替换完成重复数据的处理,替换后的对象占用极少的存储空间,并且本申请的设计可以使用SSD来提成文件读写速度。本申请不但可以减少重复数据占用的存储空间,还可以节省传输重复数据占用的带宽,保持Ceph分布式存储系统无中心节点的特点,不影响存储系统原有的存储过程。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种重复数据删除方法,其特征在于,包括以下步骤:
步骤a:客户端按照设置的对象大小,将文件分为固定长度的数据块;
步骤b:使用安全散列算法计算出所述数据块的Hash值;
步骤c:根据所述Hash值判断所述数据块是否重复,并根据判断结果将所述数据块封装成不同类型的对象,根据所述对象的名称进行散列计算,得到所述对象应存储的集群节点和磁盘位置;
步骤d:客户端按照所述散列计算结果,直接与所述对象存储的集群节点进行通讯,将所述对象存储到对应的磁盘位置。
2.根据权利要求1所述的重复数据删除方法,其特征在于,在所述步骤a中,所述客户端根据文件的大小和设置的分块大小,按照固定长度将文件切分成数据块,将数据块封装成对象。
3.根据权利要求1所述的重复数据删除方法,其特征在于,在所述步骤b中,所述客户端使用SHA-1算法计算每一个数据对象内容的Hash值,然后新建一个Hash对象。
4.根据权利要求3所述的重复数据删除方法,其特征在于,在所述步骤c中,所述数据块封装成的对象包括:Ceph对象、Hash对象、重删对象,所述Ceph对象是对象名称oid由文件的ino和对象编号ono组成;所述Hash对象为每一个Ceph对象生成一个Hash对象,用于记录Ceph对象内容的Hash值;所述重删对象为:如果判断当前对象的Hash值已经存在,当前对象存储的数据为重复数据,将当前Ceph对象的内容替换为与该对象内容重复的原对象的oid。
5.根据权利要求1所述的重复数据删除方法,其特征在于,所述步骤c还包括:在对象和对象存储集群间增加对象映射层。
6.根据权利要求4所述的重复数据删除方法,其特征在于,所述步骤c还包括:客户端根据Hash对象的名称和集群状态进行散列计算,得到当前Hash对象应存储的磁盘编号,并查询是否有同名的对象存在,如果不存在同名对象,为Ceph对象对应的Hash对象添加附加扩展属性reference count初始值为1,记录Ceph对象的重复数据,然后为当前Ceph对象添加附加属性flag和和hash value;如果存在同名对象,为集群中的Hash对象添加写锁,将reference count的值加1,然后释放写锁,最后将当前对象做重复数据删除处理,将当前对象替换为占用存储空间更小的重删对象。
7.一种重复数据删除系统,其特征在于,包括:
客户端:用于按照设置的对象大小,将文件分为固定长度的数据块,并使用安全散列算法计算出所述数据块的Hash值,根据Hash值判断当前数据块是否重复,并根据判断结果将所述数据块封装成不同类型的对象,根据所述对象的名称进行散列计算,得到对象应存储的集群节点和磁盘位置,直接与所述对象存储的集群节点进行通讯,将对象存储到对应的磁盘位置;
元数据集群:用于提供文件元数据管理;
监视器集群:用于负责集群内的节点生命周期管理、数据分布策略计算并维护集群的成员和状态;
对象存储集群:用于提供对象存储和管理,并配合客户端完成重复数据删除工作。
8.根据权利要求7所述的重复数据删除系统,其特征在于,所述客户端根据文件的大小和设置的分块大小,按照固定长度将文件切分成数据块,将数据块封装成对象。
9.根据权利要求7所述的重复数据删除系统,其特征在于,所述数据块封装成的对象包括:Ceph对象、Hash对象、重删对象,所述Ceph对象是对象名称oid由文件的ino和对象编号ono组成;所述Hash对象为每一个Ceph对象生成一个Hash对象,用于记录Ceph对象内容的Hash值;所述重删对象为:如果判断当前对象的Hash值已经存在,当前对象存储的数据为重复数据,将当前Ceph对象的内容替换为与该对象内容重复的原对象的oid。
10.根据权利要求9所述的重复数据删除系统,其特征在于,所述客户端查询是否有同名的对象存在,如果不存在同名对象,为Ceph对象对应的Hash对象添加附加扩展属性reference count初始值为1,记录Ceph对象的重复数据,然后为当前Ceph对象添加附加属性flag和和hash value;如果存在同名对象,为集群中的Hash对象添加写锁,将referencecount的值加1,然后释放写锁,最后将当前对象做重复数据删除处理,将当前对象替换为占用存储空间更小的重删对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811273275.7A CN109522283B (zh) | 2018-10-30 | 2018-10-30 | 一种重复数据删除方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811273275.7A CN109522283B (zh) | 2018-10-30 | 2018-10-30 | 一种重复数据删除方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522283A true CN109522283A (zh) | 2019-03-26 |
CN109522283B CN109522283B (zh) | 2021-09-21 |
Family
ID=65773128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811273275.7A Active CN109522283B (zh) | 2018-10-30 | 2018-10-30 | 一种重复数据删除方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522283B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427347A (zh) * | 2019-07-08 | 2019-11-08 | 新华三技术有限公司成都分公司 | 重复数据删除的方法、装置、存储节点及存储介质 |
CN111090620A (zh) * | 2019-12-06 | 2020-05-01 | 浪潮电子信息产业股份有限公司 | 一种文件存储方法、装置、设备及可读存储介质 |
CN111177092A (zh) * | 2019-12-09 | 2020-05-19 | 成都信息工程大学 | 一种基于纠删码的重复数据删除方法及装置 |
CN111290883A (zh) * | 2020-02-16 | 2020-06-16 | 西安奥卡云数据科技有限公司 | 一种基于重删的精简复制方法 |
CN112199427A (zh) * | 2020-09-24 | 2021-01-08 | 中国建设银行股份有限公司 | 一种数据处理方法和系统 |
CN112347060A (zh) * | 2020-10-19 | 2021-02-09 | 北京天融信网络安全技术有限公司 | 桌面云系统的数据存储方法、装置、设备和可读存储介质 |
CN113688096A (zh) * | 2021-07-15 | 2021-11-23 | 三星(中国)半导体有限公司 | 存储方法、存储装置和存储系统 |
CN117762336A (zh) * | 2023-12-22 | 2024-03-26 | 柏域信息科技(上海)有限公司 | 针对Ceph对象的定期删除方法、装置及设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908073A (zh) * | 2010-08-13 | 2010-12-08 | 清华大学 | 一种文件系统中实时删除重复数据的方法 |
CN102495894A (zh) * | 2011-12-12 | 2012-06-13 | 成都市华为赛门铁克科技有限公司 | 重复数据查找方法、装置及系统 |
CN103034684A (zh) * | 2012-11-27 | 2013-04-10 | 北京航空航天大学 | 一种基于内容寻址存储的虚拟机镜像存储优化方法 |
CN103177111A (zh) * | 2013-03-29 | 2013-06-26 | 西安理工大学 | 重复数据删除系统及其删除方法 |
CN104932841A (zh) * | 2015-06-17 | 2015-09-23 | 南京邮电大学 | 一种云存储系统中节约型重复数据删除方法 |
CN107330097A (zh) * | 2017-07-05 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种分布式重删装置、数据指纹存储、读取方法及系统 |
US20180107467A1 (en) * | 2016-10-14 | 2018-04-19 | Seagate Technology Llc | Active drive api |
CN108200172A (zh) * | 2018-01-03 | 2018-06-22 | 西安电子科技大学 | 一种支持安全数据去重与删除的云存储系统及方法 |
US20180181338A1 (en) * | 2016-12-27 | 2018-06-28 | Fujitsu Limited | Information processing apparatus, information processing system and information processing method |
CN108415669A (zh) * | 2018-03-15 | 2018-08-17 | 深信服科技股份有限公司 | 存储系统的数据去重方法及装置、计算机装置及存储介质 |
CN108595287A (zh) * | 2018-04-27 | 2018-09-28 | 新华三技术有限公司成都分公司 | 基于纠删码的数据截断方法及装置 |
-
2018
- 2018-10-30 CN CN201811273275.7A patent/CN109522283B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908073A (zh) * | 2010-08-13 | 2010-12-08 | 清华大学 | 一种文件系统中实时删除重复数据的方法 |
CN102495894A (zh) * | 2011-12-12 | 2012-06-13 | 成都市华为赛门铁克科技有限公司 | 重复数据查找方法、装置及系统 |
CN103034684A (zh) * | 2012-11-27 | 2013-04-10 | 北京航空航天大学 | 一种基于内容寻址存储的虚拟机镜像存储优化方法 |
CN103177111A (zh) * | 2013-03-29 | 2013-06-26 | 西安理工大学 | 重复数据删除系统及其删除方法 |
CN104932841A (zh) * | 2015-06-17 | 2015-09-23 | 南京邮电大学 | 一种云存储系统中节约型重复数据删除方法 |
US20180107467A1 (en) * | 2016-10-14 | 2018-04-19 | Seagate Technology Llc | Active drive api |
US20180181338A1 (en) * | 2016-12-27 | 2018-06-28 | Fujitsu Limited | Information processing apparatus, information processing system and information processing method |
CN107330097A (zh) * | 2017-07-05 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种分布式重删装置、数据指纹存储、读取方法及系统 |
CN108200172A (zh) * | 2018-01-03 | 2018-06-22 | 西安电子科技大学 | 一种支持安全数据去重与删除的云存储系统及方法 |
CN108415669A (zh) * | 2018-03-15 | 2018-08-17 | 深信服科技股份有限公司 | 存储系统的数据去重方法及装置、计算机装置及存储介质 |
CN108595287A (zh) * | 2018-04-27 | 2018-09-28 | 新华三技术有限公司成都分公司 | 基于纠删码的数据截断方法及装置 |
Non-Patent Citations (2)
Title |
---|
ANKIT SHRIVASTAVA 等: "A Big Data Deduplication Using HECC Based Encryption with Modified Hash Value in Cloud", 《2018 SECOND INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND CONTROL SYSTEMS (ICICCS)》 * |
郭玉剑: "一种用于重复数据删除的非对称最大值分块算法研究", 《微型机与应用》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427347A (zh) * | 2019-07-08 | 2019-11-08 | 新华三技术有限公司成都分公司 | 重复数据删除的方法、装置、存储节点及存储介质 |
CN111090620A (zh) * | 2019-12-06 | 2020-05-01 | 浪潮电子信息产业股份有限公司 | 一种文件存储方法、装置、设备及可读存储介质 |
CN111090620B (zh) * | 2019-12-06 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 一种文件存储方法、装置、设备及可读存储介质 |
CN111177092A (zh) * | 2019-12-09 | 2020-05-19 | 成都信息工程大学 | 一种基于纠删码的重复数据删除方法及装置 |
CN111290883B (zh) * | 2020-02-16 | 2021-03-26 | 西安奥卡云数据科技有限公司 | 一种基于重删的精简复制方法 |
CN111290883A (zh) * | 2020-02-16 | 2020-06-16 | 西安奥卡云数据科技有限公司 | 一种基于重删的精简复制方法 |
CN112199427A (zh) * | 2020-09-24 | 2021-01-08 | 中国建设银行股份有限公司 | 一种数据处理方法和系统 |
CN112199427B (zh) * | 2020-09-24 | 2024-12-27 | 中国建设银行股份有限公司 | 一种数据处理方法和系统 |
CN112347060A (zh) * | 2020-10-19 | 2021-02-09 | 北京天融信网络安全技术有限公司 | 桌面云系统的数据存储方法、装置、设备和可读存储介质 |
CN112347060B (zh) * | 2020-10-19 | 2023-09-26 | 北京天融信网络安全技术有限公司 | 桌面云系统的数据存储方法、装置、设备和可读存储介质 |
CN113688096A (zh) * | 2021-07-15 | 2021-11-23 | 三星(中国)半导体有限公司 | 存储方法、存储装置和存储系统 |
CN113688096B (zh) * | 2021-07-15 | 2024-08-23 | 三星(中国)半导体有限公司 | 存储方法、存储装置和存储系统 |
CN117762336A (zh) * | 2023-12-22 | 2024-03-26 | 柏域信息科技(上海)有限公司 | 针对Ceph对象的定期删除方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109522283B (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868312B2 (en) | Snapshot storage and management within an object store | |
US11797510B2 (en) | Key-value store and file system integration | |
CN109522283A (zh) | 一种重复数据删除方法及系统 | |
US11797477B2 (en) | Defragmentation for objects within object store | |
US10852976B2 (en) | Transferring snapshot copy to object store with deduplication preservation and additional compression | |
US20210271642A1 (en) | Garbage collection for objects within object store | |
US10810161B1 (en) | System and method for determining physical storage space of a deduplicated storage system | |
TWI472935B (zh) | 漸進式備份之基于片段的高延展的去複本系統與方法 | |
US8943032B1 (en) | System and method for data migration using hybrid modes | |
US9715434B1 (en) | System and method for estimating storage space needed to store data migrated from a source storage to a target storage | |
US8949208B1 (en) | System and method for bulk data movement between storage tiers | |
CN104813321B (zh) | 在分布式对象存储生态系统中的去耦合的内容以及元数据 | |
US9367448B1 (en) | Method and system for determining data integrity for garbage collection of data storage systems | |
US11899620B2 (en) | Metadata attachment to storage objects within object store | |
CN106066896B (zh) | 一种应用感知的大数据重复删除存储系统及方法 | |
CN104111804B (zh) | 一种分布式文件系统 | |
CN105787093B (zh) | 一种基于LSM-Tree结构的日志文件系统的构建方法 | |
US9547706B2 (en) | Using colocation hints to facilitate accessing a distributed data storage system | |
CN104408111A (zh) | 一种删除重复数据的方法及装置 | |
US9383936B1 (en) | Percent quotas for deduplication storage appliance | |
CN108763436A (zh) | 一种基于ElasticSearch与HBase的分布式数据存储系统 | |
CN104184812B (zh) | 一种基于私有云的多点数据传输方法 | |
CN108415671B (zh) | 一种面向绿色云计算的重复数据删除方法及系统 | |
CN102708165A (zh) | 分布式文件系统中的文件处理方法及装置 | |
US20190155927A1 (en) | Data processing apparatus and computer-readable storage medium storing program for data processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |