分布式的重复数据删除系统及其方法

xiaoxiao2020-7-23  38


专利名称::分布式的重复数据删除系统及其方法
技术领域
:本发明涉及一种数据处理系统及其方法,特别是涉及一种分布式的重复数据删除系统及其方法。
背景技术
:随着因特网的兴起的缘故,因此许多网络供应者为能有效保存客户端的文件,进而在网络上提供许多存放的空间。以往是由单一服务端提供网络空间的存储服务。请参考图1A所示,其为现有技术的分布式存储系统的架构示意图。然而,单一服务器的运算能力有限,因此演进为多存储服务器110以平行处理的方式来提供客户端120的数据存储服务,而这种存储方式被称为分布式存储系统。但直接储存的结果将会造成存储系统中的空间浪费等问题。因此有人提出利用重复数据删除处理来避免重复数据会占用大量的存储空间。请参考图1B所示,其为现有技术的重复数据删除的架构示意图。若有其它相同的数据时,则由派发服务器130将重复数据直接删除,仅保留唯一的数据。对于被删除的数据位置,则是派发服务器130通过映像连接的方式将此一数据位置的值映像至保留的数据。一般而言,分布式存储系统为能完整备份客户端120的文件数据。所以会在不同存储服务器中存储相同的数据。但这样的作法与重复数据删除处理的出发点是完全背道而驰。
发明内容鉴于以上的问题,本发明在于提供一种分布式的重复数据删除系统,用以存储客户端的所产生至少一切分数据块。本发明所提供的分布式的重复数据删除系统包括:至少一存储服务器、客户端与元数据服务器(Metadata)。元数据服务器连接于存储服务器与客户端之间。客户端将输入文件运行重复数据删除程序(de-duplication),生成多个切分数据块(Datablock)与指纹特征值(Fingerprint)。客户端于完成切分数据块的处理后会发出储存要求给元数据服务器,用以将切分数据块存储至存储服务器。元数据服务器(MetadataServer)包括指纹特征查找表,指纹特征查找表用以记录指纹特征值。元数据服务器在接获储存要求后,元数据服务器储存切分数据块的指纹特征值并将切分数据块指派到存储服务器中储存。元数据服务器根据指纹特征查找表判断储存要求的指纹特征值是否已经存在。若指纹特征值不存在时,则元数据服务器将新的切分数据块指派到存储服务器。元数据服务器根据客户端对这些切分数据块的访问频率,并设定每一个切分数据块的备份数量。元数据服务器根据备份数量将切分数据块复制至其它不同的存储服务器之中。本发明另提出一种分布式的重复数据删除方法包括以下步骤:客户端接收输入文件后产生切分数据块,且每一个切分数据块具有相应的指纹特征值;元数据服务器判断指纹特征值是否已经存在于指纹特征查找表中;若指纹特征查找表中未存储指纹特征值,则元数据服务器根据指纹特征值将相应的切分数据块指派到存储服务端中储存;元数据服务器统计客户端对切分数据块的访问频率;若切分数据块的访问频率符合门坎值时,则增加切分数据块的备份数量;元数据服务器根据备份数量将切分数据块复制至其它的存储服务器。本发明所提出的分布式的重复数据删除系统与方法除了可以提供重复数据删除的处理外,也可以依照切分数据块的访问频率调整所存在的备份数量。换言之,对于经常存取的切分数据块会将其储存在多台不同的存储服务器之中。这使得客户端可以更快速的取得所需的切分数据块。有关本发明的特征与实作,兹配合图式作最佳实施例详细说明如下。图1A为现有技术的分布式存储系统的架构示意图;图1B为现有技术的重复数据删除的架构示意图;图2为本发明的架构示意图;图3为本发明的运作流程示意图。其中,附图标记:存储服务器110客户端120派发服务器130客户端210存储服务器220元数据服务器230备援服务器240切分数据块250具体实施例方式以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。本发明所提供的分布式的重复数据删除系统包括:客户端210、至少一存储服务器220、元数据服务器230(Metadata)与备援服务器240。请参考图2所示,其为本发明的架构示意图。客户端210用以接收输入文件,并对输入文件执行切分处理。客户端210可以由个人计算器(computer)、笔记本(notebook)或服务器(server)等具有计算能力的电子装置所实现。重复数据删除是一种数据缩减技术,通常用于基于磁盘的备份系统,主要目的在于减少存储系统中使用的存储容量。它的工作方式是在某个时间周期内查找不同文件中不同位置的重复可变大小数据块(文中将其定义为切分数据块250)。在进行重复数据删除的过程中,客户端210会对输入文件进行切分的处理。输入文件在经过切分处理后会产生多个数据区块。一般而言,对输入文件可以依据定长度切分(fixed-sizepartition)、内文定义切分(content-definedchunking,或称为可变长度切分)或滑动块(slidingblock)等切分方式进行数据的切分,并将切分后的数据区块(意即切分数据块250)进行哈希处理,用以产生各数据区块的哈希值。此一哈希值即代表切分数据块250的唯一指纹(fingerprint)。在此将经过处理后的数据区块定义为切分数据块250(Chunk)。客户端210将所得到的哈希值(hash)与储存于元数据服务器230中的哈希值进行比对,并判断有无相同的哈希值。若是存在相同的哈希值时,则代表此一切分数据块250已被存放于存储服务器220之中。在图2中,假设两客户端分别接收不同的输入文件A与输入文件B。在经过客户端210的数据删除切分处理后,将会产生不同的切分数据块I与切分数据块2。当元数据服务器230接收到切分数据块后就会比对是否已经存在于存储服务器220中。在进行重复数据的判断时,本发明会针对是否进行数据删除做出更进一步的处理,还请参考图3所示,其为本发明的运作流程示意图。本发明的重复数据删除程序包括以下步骤:步骤S310:客户端接收输入文件后产生切分数据块,且每一个切分数据块具有相应的指纹特征值;步骤S320:元数据服务器判断指纹特征值是否已经存在于指纹特征查找表中;步骤S330:若指纹特征查找表中未存储指纹特征值,则元数据服务器根据指纹特征值将相应的切分数据块指派到存储服务端中储存;步骤S340:若指纹特征查找表中有存储指纹特征值,元数据服务器统计客户端对切分数据块的访问频率是否符合门坎值;步骤S350:若切分数据块访问频率符合门坎值时,则增加切分数据块的备份数量;步骤S360:元数据服务器根据备份数量将切分数据块复制至其它的存储服务器;以及步骤S370:若切分数据块访问频率不符合门坎值时,则减少备份数量或保持此一切分数据块的现有备份数量。客户端210接收输入文件并执行切分处理,用以产生切分数据块250。客户端210将切分数据进行指纹特征处理,用以产生指纹特征值。客户端210将具有指纹特征值的查询要求传送至元数据服务器230。元数据服务器230根据指纹特征查找表查找所接收的指纹特征值是否存在于指纹特征查找表中。而指纹特征值由SHA-1、哈希程序(Hash)或单向算法(onewayfunction)所产生,使得每一切分数据块250只能对应到唯一的指纹特征值。因此相同的切分数据块250将会生成相同的指纹特征值。如此一来,即可辨识存储服务器中是否存在有相同的切分数据块250。若指纹特征查找表中未存储指纹特征值,则元数据服务器230根据指纹特征值将相应的切分数据块250指派到存储服务端中储存。若是指纹特征查找中已经存在该笔指纹特征值时,本发明除了会进行切分数据块250的指向处理,并且会统计切分数据块250的被访问频率。在此先对访问频率的处理进行说明。当元数据服务器230接获已存在的切分数据块250时,元数据服务器230会统计客户端210对切分数据块250的访问频率。访问频率的计算方式是根据不同客户端210对同一笔切分数据块250的对应数量。换句话说,只要各客户端210每产生一次相同的切分数据块250产生,元数据服务器230就会计数一次。元数据服务器230可以通过查找表(lookuptable)的方式比对切分数据块250的访问频率使否超过门坎值。若是访问频率与客户端210数量超过门坎值时,则元数据服务器230将会增加此一切分数据块250在存储服务器中的数量。换言之,越多客户端210访问的切分数据块250就会储存更多的数量,藉以提供给客户端210使用。如此一来,可以避免所有客户端210被导向同一台存储服务器进行数据的存取。一般而言,当元数据服务器230接获已存在的切分数据块250时,元数据服务器230不会立刻储存该笔切分数据块250,而是通过指针(point)的方式记录切分数据块250所存放的存储服务器的对应位置。若是指纹特征查找表中无此笔指纹特征值,则元数据可以根据下述方式(但不限定于此)将指纹特征值储存在不同的存储服务端。元数据服务器230可以根据指纹特征值进行取余数处理,并根据余数处理后的结果将切分数据块250转发至存储服务器220。接下来,元数据服务器230接获查询要求后,元数据服务器230会查找指纹特征值查找表中是否存在指纹特征值。若指纹特征值查找表中已存储指纹特征值,则元数据服务器230通过元数据服务器230向客户端210响应该笔切分数据块250已存在。反之,元数据服务器230根据指纹特征值将相应的切分数据块250指派到存储服务端,并向客户端210发送包含所指派的存储服务端的存储节点信息。此外,元数据服务器230另记录切分数据块250的元数据信息(Metadata)。元数据信息用以维护切分数据块250所存储服务端、在相应存储服务端上的存储位置及长度。当客户端210需要读取切分数据块250时,元数据服务器230可通过元数据信息进而找到相应的切分数据块250的存储服务器220与正确的位置在进行读取,同时也可以通过指纹特征值来确认切分数据块250的正确性。当客户端210收到指定存储位置的存储节点信息,客户端210根据存储节点信息将切分数据块250传送至存储服务端。于此同时,元数据服务器230会执行指纹特征查找表的同步处理,用以更新其它元数据服务器230中的指纹特征查找表所记录的指纹特征值与相应的切分数据块250所储存的位置。当其它元数据服务器230在接收到已存储过的切分数据块250的查询要求时,元数据服务器230可以实时的判断该笔切分数据块250是否已经存在。而且元数据服务器230也可以根据存储服务器的负载量进行客户端210的访问管理。例如:存储服务器A与存储服务器B同时具有一相同的切分数据块250。若存储服务器A的负载量远超过存储服务器B,则元数据服务器230可以将新访问的客户端210导向存储服务器B,藉以降低存储服务器A的存取负载。若切分数据块250的访问频率不符合门坎值时,则元数据服务器230将减少此一切分数据块250的备份数量,直至切分数据块250只剩下一个为止。或者,元数据服务器230会保持此一切分数据块250现有的数量。换言之,元数据服务器230根据新的备份数量删除各存储服务器中的切分数据块250,使得存储切分数据块250的存储服务器的数量与备份的数量一致。除了对切分数据块250的多份备份处理外,本发明还对于元数据服务器230的数据进行相应的备份。元数据服务器230除了连接客户端210与存储服务器220外,元数据服务器230还连接于备援服务器240。备援服务器240除了可以定时的备份元数据服务器230的元数据,也可以实时的进行备份。备援服务器240也可用以同步元数据服务器230所储存的指纹特征值与切分数据块250所存储的存储服务器。换句话说,当元数据服务器230发生异常时,由备援服务器240取代元数据服务器230。备援服务器240判断指纹特征值是否存在,决定欲存储的该切分数据块250的存储服务器。本发明所提出的分布式的重复数据删除系统与方法除了可以提供重复数据删除的处理外,也可以依照切分数据块250的访问频率调整所存在的备份数量。换言之,对于经常存取的切分数据块250会将其储存在多台不同的存储服务器220之中。这使得客户端210可以更快速的取得所需的切分数据块250。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。权利要求1.一种分布式的重复数据删除系统,用以存储客户端的所产生的至少一切分数据块,其特征在于,该重复数据删除系统包括:至少一存储服务器,用以存储所述切分数据块;一客户端,将一输入文件运行一重复数据删除程序,生成所述切分数据块与相应的一指纹特征值,并且该客户端发送一储存要求;以及一元数据服务器,其包括一指纹特征查找表,该指纹特征查找表用以记录该指纹特征值,该元数据服务器在接获该储存要求后,该元数据服务器储存该切分数据块的该指纹特征值并将该切分数据块指派到该存储服务器中储存;其中,该元数据服务器根据该指纹特征查找表判断该储存要求的该指纹特征值是否已经存在,若该指纹特征值不存在时,则该元数据服务器将新的该切分数据块指派到该存储服务器,该元数据服务器根据该客户端对所述切分数据块的一访问频率,设定每一该切分数据块的一备份数量,该元数据服务器根据该备份数量将该切分数据块复制至其它不同的该存储服务器之中。2.根据权利要求1所述的分布式的重复数据删除系统,其特征在于,还包括一备援服务器,用以同步该元数据服务器所储存的所述指纹特征值与所述切分数据块所存储的所述存储服务器。3.根据权利要求1所述的分布式的重复数据删除系统,其特征在于,当该元数据服务器发生异常时,由该备援服务器取代该元数据服务器,该备援服务器判断所述指纹特征值是否存在,与决定欲存储的该切分数据块的该存储服务器。4.根据权利要求1所述的分布式的重复数据删除系统,其特征在于,若该指纹特征值存在时,则该元数据服务器记录对应的该切分数据块所储存的该存储服务器。5.一种分布式的重复数据删除方法,用以存储客户端的所产生的至少一切分数据块,其特征在于,该重复数据删除方法包括:一客户端接收一输入文件后产生所述切分数据块,且每一该切分数据块具有相应的一指纹特征值;一元数据服务器判断该指纹特征值是否已经存在于一指纹特征查找表中;若该指纹特征查找表中未存储该指纹特征值,则该元数据服务器根据该指纹特征值将相应的该切分数据块指派到该存储服务端中储存;该元数据服务器统计该客户端对所述切分数据块的一访问频率;若该访问频率符合一门坎值时,则增加该切分数据块的一备份数量;该元数据服务器根据该备份数量将该切分数据块复制至其它所述存储服务器。6.根据权利要求5所述的分布式的重复数据删除方法,其特征在于,若该切分数据块该访问频率不符合该门坎值时,则减少该备份数量。7.根据权利要求6所述的分布式的重复数据删除方法,其特征在于,该元数据服务器根据新的该备份数量删除所述存储服务器中的该切分数据块,使得存储该切分数据块的所述存储服务器的数量与该备份数量一致。全文摘要本发明公开了一种分布式的重复数据删除系统及其方法,存储客户端的所产生的切分数据块。重复数据删除系统包括至少一存储服务器、客户端与元数据服务器。元数据服务器连接于存储服务器与客户端之间。客户端将输入文件运行重复数据删除程序,生成多个切分数据块与指纹特征值。客户端于完成切分数据块的处理后会发出储存要求给元数据服务器,将切分数据块存储至存储服务器。元数据服务器包括指纹特征查找表,指纹特征查找表记录指纹特征值。元数据服务器在接获储存要求后,元数据服务器储存切分数据块的指纹特征值并将切分数据块指派到存储服务器中储存。本发明使得客户端可以更快速的取得所需的切分数据块。文档编号G06F17/30GK103186652SQ20111046132公开日2013年7月3日申请日期2011年12月28日优先权日2011年12月28日发明者王辉,陈志丰申请人:英业达股份有限公司

最新回复(0)