重复数据删除程序的数据传输方法

文档序号:6336319阅读:161来源:国知局
专利名称:重复数据删除程序的数据传输方法
技术领域
本发明涉及一种重复数据删除的处理方法,特别涉及一种重复数据删除程序的数据传输方法。
背景技术
重复数据删除是一种数据缩减技术,通常用于基于磁盘的备份系统,主要目的在于减少存储系统中使用的存储容量。它的工作方式是在某个时间周期内查找不同文件中不同位置的重复可变大小数据块。重复的数据块用指示符取代。由于存储系统中总是充斥着大量的冗余数据。为了解决这个问题,节省更多空间,“重复删除”技术便顺理成章地成了人们关注的焦点。采用“重复删除”技术可以将存储的数据缩减为原来的1/20,从而让出更多的备份空间,不仅可以使存储系统上的备份数据保存更长的时间,而且还可以节约离线存储时所需的大量的带宽。请参考图1所示,其是为现有技术的运作流程示意图。为能达到数据完整保存的目的,在进行重复数据删除的过程中,会对输入文件进行切分的处理。输入文件在经过切分处理后会产生多个数据区块。随后,将数据区块进行哈希处理,并产生相应各数据区块的一哈希值。将所得到的哈希值与储存于服务端中的哈希值进行比对,并判断有无相同的哈希值。若是存在相同的哈希值时,则代表此一数据区块曾经被存放于服务端中。服务端会通知客户端不需再将数据区块重复发送并储存于服务端中。如此一来,可以有效的降低服务端中的数据存储空间。

发明内容
鉴于以上的问题,本发明的目的在于提供一种重复数据删除程序的数据传输方法,应用于重复数据删除程序之中,用以降低客户端对服务端进行重复数据删除程序的数据传输量。本发明所揭露的重复数据删除程序的数据传输方法包括以下步骤由客户端对输入文件进行重复数据删除程序中的切分程序,并产生多组数据区块;将所述数据区块进行哈希(Hash)程序,产生相应的哈希值;比对客户端中是否存在相同的哈希值;若客户端中不存在相同的哈希值,则对数据区块进行压缩程序,并生成相应的已压缩区块;比对已压缩区块与数据区块的容量,判断已压缩区块与数据区块的容量差值是否符合传输门槛值;当已压缩区块与数据区块的容量差值符合传输门槛值时,则数据容量等于已压缩区块容量, 并将哈希值与数据容量传送给服务端;由服务端根据哈希值判断数据区块是否已经存在于服务端中;若数据区块不存在于服务端中,则根据数据容量预分配存储空间,并向客户端发出传送要求,将数据区块传送至服务端并将数据区块储存于服务端中。本发明应用在重复数据删除程序之中,将输入文件进行切分后所产生的数据区块进行压缩处理,藉以降低客户端与服务端之间的数据传输量。本发明还配合上述已压缩区块的存取,因此提出相应的已压缩区块的存取方法,藉以从已压缩区块中取得所要的数据。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为现有技术的运作流程示意图;图2为本发明的架构示意图;图3为本发明的运作流程示意图。其中,附图标记210客户端211哈希值列表220服务端221重复数据删除程序
具体实施例方式下面结合附图对本发明的结构原理和工作原理作具体的描述请参考图2所示,其为本发明的架构示意图。在本发明中所述的客户端210是用于运行重复数据删除程序的计算机装置,而服务端220则是用以储存经过重复数据删除程序221处理后的存储装置。因此,客户端210与服务端220可以同时为同一台计算机,或是不同一台的计算机装置所实现。客户端210用以接收输入文件与哈希值列表211。哈希值列表211用以记录服务端220中所存储的数据区块的哈希值。在服务端220中则是运行本发明的数据压缩程序,请参考图3所示,其为本发明的运作流程示意图。本发明的数据压缩程序中包括以下步骤步骤S310 由客户端对输入文件进行重复数据删除程序中的切分程序,并产生多组数据区块;步骤S320 对每一数据区块进行哈希程序,并产生相应的哈希值;步骤S330 比对客户端中是否存在相同的哈希值;步骤S340 若客户端中已存在相同的该哈希值,则向服务端发出禁止储存信息;步骤S350 若客户端中不存在相同的哈希值,则对数据区块进行压缩程序,并生成相应的已压缩区块;步骤S360 比对已压缩区块与数据区块的容量,判断已压缩区块与数据区块的容量差值是否大于传输门槛值;步骤S371 当已压缩区块与数据区块的容量差值大于传输门槛值时,则将哈希值与数据容量传送给服务端;步骤S372 当已压缩区块与数据区块的容量差值小于传输门槛值时,则把原始数据区块容量发给服务端;步骤S380 由服务端根据哈希值与已压缩区块的数据容量判断已压缩区块是否已经存在于服务端中;以及步骤S390 若已压缩区块不存在于服务端中,则向客户端发出传送要求,将已压缩区块传送至服务端并将已压缩区块储存于服务端中。首先,客户端210接收输入文件,客户端210将输入文件进行重复数据删除程序221中的切分程序,用以产生多笔的数据区块。而切分程序可以是固定长度方式
4(fixed-size partition)或基于内容变长度分割方式(content-definedchunking, CDC) 等方式。定长切分算法采用预先定义好的数据区块大小对输入文件进行切分。定长分块算法的优点是简单、性能高。内容定义切分算法是一种变长分块算法,它应用指纹数据(例如通过Rabin指纹算法,将文件内容转换成预设的哈希值)将文件分割成长度大小不等的分块策略。与定长切分算法不同,内容定义切分算法是基于特定的指纹数据进行数据区块的切分处理,因此数据区块大小是可变化的。接着,对每一个数据区块进行哈希程序的处理,藉以产生各数据区块的哈希值。 其中,哈希程序的运算种类可以是但不限定为MD5、SHA-U SHA-256、SHA-512,单向哈希 (One-way HASH)。客户端210在计算各数据区块的哈希值后,由客户端210比对哈希值列表211中是否有相同的哈希值。若客户端210中已存在相同的该哈希值,则向服务端220发出禁止储存信息,用以向服务端220通知不储存此一数据区块。若是客户端210中不存在相同的哈希值,则对数据区块进行压缩程序,并生成相应数据区块的已压缩区块。压缩程序可以是但不限定为LZW压缩算法。客户端210比对已压缩区块与数据区块的容量,并判断已压缩区块与数据区块的容量差值是否符合传输门槛值。由于不同的输入文件在压缩处理时,并不一定可以达到容量减缩的目的(例如压缩比例、文件内容或文件长度都可能造成数据压缩的效能低落)。 再加上数据区块压缩后,需要加上数据区块的压缩文件头与描述信息等数据,可能会产生已压缩区块的容量大于数据区块。因此在本发明中分别比对数据区块压缩前后的容量差值,藉以确认是否对数据区块进行压缩及传送的判断。当已压缩区块与数据区块的容量差值小于传输门槛值时,则客户端210将把原始数据区块容量发给服务端220,使得服务器可以有效的提供预分配空间。当已压缩区块与数据区块的容量差值大于传输门槛值时,则表示数据区块的容量已确实的压缩。所以数据容量等于已压缩区块容量。接着,客户端210将哈希值与已压缩区块的数据容量传送给服务端220。服务端220将已压缩区块进行注记,用以记录属于哪一个数据区块及其顺序。服务端220在接收数据区块(或已压缩区块)与数据容量后,由服务端220根据哈希值与已压缩区块的数据容量判断数据区块是否已经存在于服务端220中。若数据区块已存在于服务端220中,则服务端220命令客户端210不需储存数据区块。若已压缩区块不存在于服务端220中,则向客户端210发出传送要求,将已压缩区块传送至服务端220并将已压缩区块储存于服务端220中。于此同时,客户端210同时会向服务端220指定已压缩区块的存储空间。最后,服务端220向客户端210发出一通知信息。用以命令客户端210 将已压缩区块的哈希值记录至哈希值列表211中。本发明应用在重复数据删除程序221之中,将输入文件进行切分后所产生的数据区块进行压缩处理,藉以降低客户端210与服务端220之间的数据传输量。本发明还配合上述已压缩区块的存取,因此提出相应的已压缩区块的存取方法,藉以从已压缩区块中取得所要的数据。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种重复数据删除程序的数据传输方法,应用于一重复数据删除程序之中,用以降低一客户端对一服务端传输该重复数据删除程序的数据传输量,其特征在于,该重复数据删除程序的数据传输方法包括以下步骤由该客户端对一输入文件进行该重复数据删除程序中的一切分程序,并产生多组数据区块;对每一该数据区块进行一哈希程序,并产生相应的一哈希值;比对该客户端中是否存在相同的该哈希值;若该客户端中不存在相同的该哈希值,则对该数据区块进行一压缩程序,并生成相应的一已压缩区块;比对该已压缩区块与该数据区块的容量,判断该已压缩区块与该数据区块的容量差值是否大于一传输门槛值;当该已压缩区块与该数据区块的容量差值大于该传输门槛值时,则将该哈希值与该已压缩区块的一数据容量传送给服务端;由该服务端根据该哈希值与该已压缩区块的该数据容量判断该已压缩区块是否已经存在于该服务端中;以及若该已压缩区块不存在于该服务端中,则向该客户端发出一传送要求,将该已压缩区块传送至该服务端并将该已压缩区块储存于该服务端中。
2.根据权利要求1所述的重复数据删除程序的数据传输方法,其特征在于,在比对该客户端中是否存在相同的该哈希值的步骤后还包括若该客户端中已存在相同的该哈希值,则向该服务端发出一禁止储存信息。
3.根据权利要求1所述的重复数据删除程序的数据传输方法,其特征在于,判断该已压缩区块与该数据区块的容量差值是否符合该传输门槛值的步骤后还包括当该已压缩区块与该数据区块的容量差值小于该传输门槛值时,则该哈希值与该数据区块的该数据容量传送给该服务端。
4.根据权利要求3所述的重复数据删除程序的数据传输方法,其特征在于,将该已压缩区块的该数据容量传送至该服务端的步骤中还包括在该服务端中记录该数据区块为已压缩。
5.根据权利要求3所述的重复数据删除程序的数据传输方法,其特征在于,将该数据区块的该数据容量传送至该服务端的步骤中还包括在该服务端中记录该数据区块未压缩。
6.根据权利要求1所述的重复数据删除程序的数据传输方法,其特征在于,判断该数据区块是否已经存在于该服务端的步骤后还包括若该数据区块已存在于该服务端中,该服务端命令该客户端不需储存该数据区块。
7.根据权利要求1所述的重复数据删除程序的数据传输方法,其特征在于,该数据区块储存于该服务端的步骤后还包括由该服务端向所连接的该客户端发出一通知信息,在该通知信息中储存新储存的该压缩区块的该哈希值。
全文摘要
一种重复数据删除程序的数据传输方法,处理方法包括对输入文件进行切分处理,产生多组数据区块;将数据区块进行哈希程序,用以哈希值;比对客户端中是否存在相同的哈希值;若不存在相同的哈希值,对数据区块进行压缩程序,并生成相应的已压缩区块;比对已压缩区块与数据区块的容量,判断两者的容量差值是否符合传输门槛值;两者的容量差值符合传输门槛值时,数据容量等于已压缩区块容量;将哈希值与数据容量传送给服务端;若数据区块不存在于服务端中,根据数据容量预分配存储空间,向客户端发出传送要求,将数据区块储存于服务端中。
文档编号G06F12/06GK102469142SQ201010550118
公开日2012年5月23日 申请日期2010年11月16日 优先权日2010年11月16日
发明者李鸿明, 王云松, 陈志丰 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1