CN106649556A - 基于分布式文件***的多层重复数据删除方法及装置 - Google Patents

基于分布式文件***的多层重复数据删除方法及装置 Download PDF

Info

Publication number
CN106649556A
CN106649556A CN201610984188.7A CN201610984188A CN106649556A CN 106649556 A CN106649556 A CN 106649556A CN 201610984188 A CN201610984188 A CN 201610984188A CN 106649556 A CN106649556 A CN 106649556A
Authority
CN
China
Prior art keywords
section
file
written
print
digital finger
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.)
Pending
Application number
CN201610984188.7A
Other languages
English (en)
Inventor
李发明
张勤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Toyou Feiji Electronics Co., Ltd.
Original Assignee
Shenzhen City Rui Bo Storage Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen City Rui Bo Storage Technology Co Ltd filed Critical Shenzhen City Rui Bo Storage Technology Co Ltd
Priority to CN201610984188.7A priority Critical patent/CN106649556A/zh
Publication of CN106649556A publication Critical patent/CN106649556A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于分布式文件***的多层重复数据删除方法,包括以下步骤:获取待写入文件的数字指纹;判断全局文件数字指纹列表中是否存在待写入文件的数字指纹;若是,则记录待写入文件的元数据信息;若否,则将待写入文件按预设方式切片,并获取每个切片的数字指纹;判断全局文件切片数字指纹列表中是否存在切片的数字指纹;若是,则将切片的元数据信息记录到存储节点中;若否,则将切片及该切片的数字指纹发送到对应的存储节点。本发明还公开了一种基于分布式文件***的多层重复数据删除装置。本发明的技术方案通过对文件或切片的数字指纹进行存储,提高了对重复数据的删除效果,节约了存储空间。

Description

基于分布式文件***的多层重复数据删除方法及装置
技术领域
本发明涉及信息存储领域,尤其涉及基于分布式文件***的多层重复数据删除方法及装置。
背景技术
现有的分布式文件***中会使用重复数据删除技术对重复数据进行存储以提高磁盘利用率,降低成本。但是随着技术和信息的发展,文件变得越来越多样化,整个文件内容完全相同的几率越来越小。例如,开发者会根据自己的需求对软件做出针对性的修改,这种情况下,修改后的软件与原软件存在细微差异,现有的重复数据删除方法对重复数据的删除率较低。
发明内容
本发明的主要目的在于提供一种基于分布式文件***的多层重复数据删除方法及装置,旨在提高对重复数据的删除率。
为实现上述目的,本发明提供一种基于分布式文件***的多层重复数据删除方法,所述方法包括以下步骤:
获取待写入文件的数字指纹;
判断全局文件数字指纹列表中是否存在所述待写入文件的数字指纹;
若是,则记录所述待写入文件的元数据信息;
若否,则将待写入文件按预设方式切片,并获取每个切片的数字指纹;
判断全局文件切片数字指纹列表中是否存在所述切片的数字指纹;
若是,则将所述切片的元数据信息记录到存储节点中;
若否,则将所述切片及该切片的数字指纹发送到对应的存储节点。
优选的,所述将所述切片及该切片的数字指纹发送到对应的存储节点之后还包括步骤:
判断当前存储节点的切片数字指纹列表中是否存在所述切片的数字指纹;
若是,则确认该切片写入成功;
若否,则写入所述切片,并将所述切片的数字指纹记录到本存储节点的切片数字指纹列表。
优选的,所述将所述切片写入磁盘,并将所述切片的数字指纹记录到本存储节点的切片数字指纹列表之后还包括步骤:
定时获取***负载;
当***负载低于预设值时,将每个存储节点的切片数字指纹列表中的信息上传至所述全局切片数字指纹列表。
优选的,所述将待写入文件按预设方式切片,并获取每个切片的数字指纹具体包括步骤:
判断所述待写入文件的大小是否大于预设值;
若是,则将所述待写入文件按预设大小切片;
若否,则将所述待写入文件整体确定为一个切片。
优选的,所述获取待写入文件的数字指纹具体包括步骤:
获取所述待写入文件的MD5校验值和sha值;
将所述MD5校验值和sha值的字符串叠加作为待写入文件的数字指纹。
此外,为实现上述目的,本发明还提供一种基于分布式文件***的多层重复数据删除装置,包括:
第一获取模块,用于获取待写入文件的数字指纹;
第一判断模块,用于判断全局文件数字指纹列表中是否存在所述待写入文件的数字指纹;
第一记录模块,用于在所述第一判断模块的判断结果为“是”时,记录所述待写入文件的元数据信息;
切片模块,用于在所述第一判断模块的判断结果为“否”时,将待写入文件按预设方式切片,并获取每个切片的数字指纹;
第二判断模块,用于判断全局文件切片数字指纹列表中是否存在所述切片的数字指纹;
第二记录模块,用于在所述第二判断模块的判断结果为“是”时,将所述切片的元数据信息记录到存储节点中;
发送模块,用于在所述第二判断模块的判断结果为“否”时,将所述切片及该切片的数字指纹发送到对应的存储节点。
优选的,还包括:
第三判断模块,用于判断当前存储节点的切片数字指纹列表中是否存在所述切片的数字指纹;
确认模块,用于在所述第三判断模块判断为“是”时时,确认该切片写入成功;
写入模块,用于在所述第三判断模块判断为“否”时,写入所述切片,并将所述切片的数字指纹记录到本存储节点的切片数字指纹列表。
优选的,还包括:
第二获取模块,用于定时获取***负载;
上传模块,用于在***负载低于预设值时,将每个存储节点的切片数字指纹列表中的信息上传至所述全局切片数字指纹列表。
优选的,所述切片模块具体包括:
判断单元,用于判断所述待写入文件的大小是否大于预设值;
切片单元,用于在所述判断单元判断为“是”时,将所述待写入文件按预设大小切片;
确定单元,用于在所述判断单元判断为“否”时,将所述待写入文件整体确定为一个切片。
优选的,所述第一获取模块具体包括:
获取单元,用于获取所述待写入文件的MD5校验值和sha值;
叠加单元,用于将所述MD5校验值和sha值的字符串叠加作为待写入文件的数字指纹。
本发明的实施例包括以下步骤:获取待写入文件的数字指纹;判断全局文件数字指纹列表中是否存在所述待写入文件的数字指纹;若是,则记录所述待写入文件的元数据信息;若否,则将待写入文件按预设方式切片,并获取每个切片的数字指纹;判断全局文件切片数字指纹列表中是否存在所述切片的数字指纹;若是,则将所述切片的元数据信息记录到存储节点中;若否,则将所述切片及该切片的数字指纹发送到对应的存储节点。本发明的技术方案通过对文件或切片的数字指纹进行存储,提高了对重复数据的删除率,节约了存储空间。
附图说明
图1为本发明的方法一实施例的流程示意图;
图2为本发明的方法第二实施例的流程示意图;
图3为本发明的方法第三实施例的流程示意图;
图4为本发明的装置一实施例的功能模块示意图;
图5为本发明的装置第二实施例功能模块示意图;
图6为本发明的装置第四实施例中切片模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于分布式文件***的多层重复数据删除方法。
分布式***(distributed system)是建立在网络之上的软件***,具有高度的内聚性和透明性。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理***。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库***中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。独立的计算机展现给用户的是一个统一的整体,就好像是一个***,该***拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。最典型的的分布式***就是万维网(World Wide Web)。
现在提出本申请的方法的第一实施例。如图1所示,所述方法包括以下步骤:
S100、获取待写入文件的数字指纹。
数字指纹是根据文件的内容生成的唯一性的数字编码,常见的数字指纹通常有MD5(Message Digest Algorithm信息摘要算法第5版)、sha1(安全哈希算法Secure HashAlgorithm)等。每个文件通过预设的函数或算法生成唯一的数字指纹,由于函数和算法的唯一性,即使两个文件中仅有细微差异,得到的数字指纹也相距甚远,因此校验文件的数字指纹是判断文件是否相同的可靠依据。
本实施例中,当接收到来自客户端的文件写入请求时,先获取该待写入文件的数字指纹。
S200、判断全局文件数字指纹列表中是否存在所述待写入文件的数字指纹;若是,则执行S210步骤,若否,则执行S220步骤。
进一步的,当在获取所述待写入文件的数字指纹后,在判断全局文件数字指纹列表中是否存在相应的数字指纹。这里的全局文件数字指纹列表指的是存储有所述分布式文件***中所有完整文件数字指纹的列表。若该全局文件数字指纹列表中存在待写入文件的数字指纹,则原文件***中存在数字指纹与待写入文件数字指纹相同的文件,由数字指纹的唯一性可以确定,原文件***中已经存在与待写入文件相同的文件,此时继续执行S210步骤;反之,若全局文件数字指纹列表中不存在待写入文件的数字指纹,则原文件***中存在数字指纹与待写入文件数字指纹相同的文件,则证明原文件***中不存在与待写入文件相同的文件,此时继续执行S220步骤。
S210、记录所述待写入文件的元数据信息。
本实施例中,待写入文件的元数据信息记录于元数据服务器中。当原文件***中存在数字指纹与待写入文件数字指纹相同的文件时,显然如果再次将待写入文件上传,则会重复占用空间,所以本实施例中并不将原文件上传,而是直接在元数据服务器中记录待写入文件的元数据,实现了被重复上传的文件的删除。由公知的解释可知,元数据(Metadata),又称中介数据、中继数据,主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。简而言之,元数据就是描述数据的数据(data about data)。本实施例中,元数据主要包括***中原有的与待写入文件相同的文件的路径和资源信息,待写入文件的元数据记录于元数据服务器中之后,再次调用待写入文件时,直接通过记录的待写入文件信息调用***中原有的与待写入文件相同的文件就可以获取与待写入文件完全相同的文件。通过记录待写入文件的元数据信息代替了现有技术中直接上传文件,可以有效节约存储空间和数据交换时间。
S220、将待写入文件按预设方式切片,获取每个切片的数字指纹,并执行S300步骤。
当全局文件数字指纹列表中不存在待写入文件的数字指纹,则原文件***中存在数字指纹与待写入文件数字指纹相同的文件,则证明原文件***中不存在与待写入文件相同的文件。此时,本实施例中进一步将待写入文件按预设方式切片。应对理解的是,随着技术和信息的发展,文件呈多样性趋势变化,基于同一文件会衍生出多种不同的版本。以操作***为例,为公知熟知的Windows10操作***(视窗操作***10)包括区分为32位***和64位***,进一步的又区分为家庭版、企业版、专业版等多个版本,这些不同操作版本的部分文件内容是完全相同的,其中每个镜像文件的大小约为4GB,如果仅校验数字指纹,则上述6种不同版本的操作***属于不同的文件,存储上述镜像文件合计约存储空间24GB,而其中重复数据占用了绝大部分空间。
本实施例中,进一步将每个文件按照预设模式切片,将一个完整的文件分为若干个小的切片文件。在对文件切片完成后,按照预设算法或函数获取每个切片的数字指纹,并进一步执行S300步骤。
S300、判断全局文件切片数字指纹列表中是否存在所述切片的数字指纹;若是,则执行S310步骤,若否则执行S320步骤。
获取每个切片的数字指纹后,判断全局文件切片数字指纹列表中是否存在与所述切片的数字指纹相同的数字指纹,显然,如果存在,则证明存在相同的切片,反之则证明不存在相同的切片。当存在相同的切片时,执行S310步骤,当不存在相同的切片时,执行S320步骤。
S310、将所述切片的元数据信息记录到存储节点中。
当分布式文件***中存在相同的切片时,将元数据信息记录到相应的存储节点中。显然,当需要再次调用待写入文件时,通过调用待写入文件的元数据,获取其切片的相关信息,并进一步通过调用切片的元数据信息,获取切片的存储信息将原待写入文件还原实现对原待写入文件的调用。
S320、将所述切片及该切片的数字指纹发送到对应的存储节点。
当分布式文件***中不存在相同的切片时,则将所述切片及该切片的数字指纹发送到对应的存储节点,并进行存储。
显然本实施例中,如果需要存储上述6个版本的操作***的镜像文件,在切片后,文件中绝大部分相同内容的文件构成的切片只需要存储一次,构成差异的切片文件需要单独存储,则仅需要不到5GB的存储空间就可以实现对原需要占用24GB存储空间的文件的存储。
本实施例中通过对文件的数字指纹的校验,并进一步通过对具有不同数字指纹的文件进行切片并再次对切片的数字指纹进行校验,有效的避免了对重复数据的多次存储,节约了存储空间。也相应的节约了数据传输时间和数据存储成本。
进一步的,请参阅图2,基于上述实施例,提出本发明方法的第二实施例。所述S320步骤之后还包括步骤:
S400判断当前存储节点的切片数字指纹列表中是否存在所述切片的数字指纹;若是,则执行S410步骤,若否,则执行S420步骤。
S410确认该切片写入成功。
S420写入所述切片,并将所述切片的数字指纹记录到本存储节点的切片数字指纹列表。
应当理解的是,本实施例中,每个存储节点中设有该存储节点对应的切片数字指纹列表,当切片发送至对应的存储节点之后,判断当前存储节点的切片数字指纹列表中是否存在所述切片的数字指纹。如果当前存储节点的切片数字指纹列表中存在所述切片的数字指纹,则证明当前存储节点中已经存储有相同的切片,则只需要返回元数据服务器该切片以写入成功。如果当前存储节点的切片数字指纹列表中不存在所述切片的数字指纹,则将该切片写入磁盘。
如图3所示,在基于本发明的方法上述第二实施例的第三实施例中,所述步骤S420之后还包括步骤:
S500、定时获取***负载。
S600、当***负载低于预设值时,将每个存储节点的切片数字指纹列表中的信息上传至所述全局切片数字指纹列表。
显然,***在运行过程中,如果占用过多***负载,则会影响数据和文件的存储和传输速度,所有本实施例中,进一步获取***的负载,并只有在***负载低于某预设值时才进行进一步操作。本实施例中,当***负载低于预设值时,将每个存储节点的切片数字指纹列表中的信息上传至所述全局切片数字指纹列表。
在本发明的方法基于上述实施例的第四实施例中,所述步骤S220具体包括:
S221判断所述待写入文件的大小是否大于预设值;若是,则执行S222步骤,若否,则执行S223步骤。
S222将所述待写入文件按预设大小切片。
S223将所述待写入文件整体确定为一个切片。
应当理解的是,对于文件来说,如果切片较小,相对来说更容易查找到到相同的切片,但是相应的,文件会被分割成更小的文件,则切片和获取切片的数字指纹所需时间会更长。而切片的大小相对较大的时候,由于切片数量较少,则切片时间和获取切片数字指纹的时间均会相应缩短,但是切片与现有切片相同的可能性会相对降低。具体使用时应对根据需求而设定,具体的设定值可以是4MB、8MB、16MB、32MB等,其中优选设定为64MB,一般设定为不超过4TB。
基于上述实施例,提出本发明方法的第五实施例,所述步骤S100具体包括:
S110获取所述待写入文件的MD5校验值和sha值。
S120将所述MD5校验值和sha值的字符串叠加作为待写入文件的数字指纹。
应当理解的是,具体使用中,数字指纹的种类是多种多样的,本实施例中,提供一种优选的数字指纹,具体为获取待写入文件的MD5校验值记为x,并获取待写入文件的sha值,更为优选的为sha1值,记为y,将两个值的字符串叠加为xy作为该文件的数字指纹。以Win10正式版64位简体中文版原版镜像文件为例,该文件的MD5值为2F8691F7FE2F569A70418A8633AC63F6记为x,sha1值为C71D49A6144772F352806201EF564951BE55EDD5记为y,将x和y串联获得2F8691F7FE2F569A70418A8633AC63F6C71D49A6144772F352806201EF564951BE55EDD5作为校验文字的数字指纹。
此外,为实现上述目的,本发明还提供一种基于分布式文件***的多层重复数据删除装置,请参阅图4,该装置包括:
第一获取模块10,用于获取待写入文件的数字指纹。
数字指纹是根据文件的内容生成的唯一性的数字编码,常见的数字指纹通常有MD5(Message Digest Algorithm信息摘要算法第5版)、sha1(安全哈希算法Secure HashAlgorithm)等。每个文件通过预设的函数或算法生成唯一的数字指纹,由于函数和算法的唯一性,即使两个文件中仅有细微差异,得到的数字指纹也相距甚远,因此校验文件的数字指纹是判断文件是否相同的可靠依据。
本实施例中,当接收到来自客户端的文件写入请求时,先获取该待写入文件的数字指纹。
第一判断模块20,用于判断全局文件数字指纹列表中是否存在所述待写入文件的数字指纹。
进一步的,当在获取所述待写入文件的数字指纹后,在判断全局文件数字指纹列表中是否存在相应的数字指纹。这里的全局文件数字指纹列表指的是存储有所述分布式文件***中所有完整文件数字指纹的列表。若该全局文件数字指纹列表中存在待写入文件的数字指纹,则原文件***中存在数字指纹与待写入文件数字指纹相同的文件,由数字指纹的唯一性可以确定,原文件***中已经存在与待写入文件相同的文件,此时继续执行S210步骤;反之,若全局文件数字指纹列表中不存在待写入文件的数字指纹,则原文件***中存在数字指纹与待写入文件数字指纹相同的文件,则证明原文件***中不存在与待写入文件相同的文件,此时继续执行S220步骤。
第一记录模块30,用于在所述第一判断模块20的判断结果为“是”时,记录所述待写入文件的元数据信息。
本实施例中,待写入文件的元数据信息记录于元数据服务器中。当原文件***中存在数字指纹与待写入文件数字指纹相同的文件时,显然如果再次将待写入文件上传,则会重复占用空间,所以本实施例中并不将原文件上传,而是直接在元数据服务器中记录待写入文件的元数据,实现了被重复上传的文件的删除。由公知的解释可知,元数据(Metadata),又称中介数据、中继数据,主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。简而言之,元数据就是描述数据的数据(data about data)。本实施例中,元数据主要包括***中原有的与待写入文件相同的文件的路径和资源信息,待写入文件的元数据记录于元数据服务器中之后,再次调用待写入文件时,直接通过记录的待写入文件信息调用***中原有的与待写入文件相同的文件就可以获取与待写入文件完全相同的文件。通过记录待写入文件的元数据信息代替了现有技术中直接上传文件,可以有效节约存储空间和数据交换时间。
切片模块40,用于在所述第一判断模块20的判断结果为“否”时,将待写入文件按预设方式切片,并获取每个切片的数字指纹。
当全局文件数字指纹列表中不存在待写入文件的数字指纹,则原文件***中存在数字指纹与待写入文件数字指纹相同的文件,则证明原文件***中不存在与待写入文件相同的文件。此时,本实施例中进一步将待写入文件按预设方式切片。应对理解的是,随着技术和信息的发展,文件呈多样性趋势变化,基于同一文件会衍生出多种不同的版本。以操作***为例,为公知熟知的Windows10操作***(视窗操作***10)包括区分为32位***和64位***,进一步的又区分为家庭版、企业版、专业版等多个版本,这些不同操作版本的部分文件内容是完全相同的,其中每个镜像文件的大小约为4GB,如果仅校验数字指纹,则上述6种不同版本的操作***属于不同的文件,存储上述镜像文件合计约存储空间24GB,而其中重复数据占用了绝大部分空间。
本实施例中,进一步将每个文件按照预设模式切片,将一个完整的文件分为若干个小的切片文件。在对文件切片完成后,按照预设算法或函数获取每个切片的数字指纹。
第二判断模块50,用于在将待写入文件按预设方式切片,并获取每个切片的数字指纹后判断全局文件切片数字指纹列表中是否存在所述切片的数字指纹。
获取每个切片的数字指纹后,判断全局文件切片数字指纹列表中是否存在与所述切片的数字指纹相同的数字指纹,显然,如果存在,则证明存在相同的切片,反之则证明不存在相同的切片。
第二记录模块60,用于在所述第二判断模块50的判断结果为“是”时,将所述切片的元数据信息记录到存储节点中。
当分布式文件***中存在相同的切片时,将元数据信息记录到相应的存储节点中。显然,当需要再次调用待写入文件时,通过调用待写入文件的元数据,获取其切片的相关信息,并进一步通过调用切片的元数据信息,获取切片的存储信息将原待写入文件还原实现对原待写入文件的调用。
发送模块70,用于在所述第二判断模块50的判断结果为“否”时,将所述切片及该切片的数字指纹发送到对应的存储节点。
当分布式文件***中不存在相同的切片时,则将所述切片及该切片的数字指纹发送到对应的存储节点,并进行存储。
显然本实施例中,如果需要存储上述6个版本的操作***的镜像文件,在切片后,文件中绝大部分相同内容的文件构成的切片只需要存储一次,构成差异的切片文件需要单独存储,则仅需要不到5GB的存储空间就可以实现对原需要占用24GB存储空间的文件的存储。
本实施例中通过对文件的数字指纹的校验,并进一步通过对具有不同数字指纹的文件进行切片并再次对切片的数字指纹进行校验,有效的避免了对重复数据的多次存储,节约了存储空间。也相应的节约了数据传输时间和数据存储成本。
进一步的,请参阅图5,基于上述实施例,提出本发明装置的第二实施例。还包括:
第三判断模块80,用于判断当前存储节点的切片数字指纹列表中是否存在所述切片的数字指纹。
确认模块90,用于在所述第三判断模块90的判断结果为“是”时,确认该切片写入成功。
写入模块100,用于在所述第三判断模块90的判断结果为“否”时,写入所述切片,并将所述切片的数字指纹记录到本存储节点的切片数字指纹列表。
应当理解的是,本实施例中,每个存储节点中设有该存储节点对应的切片数字指纹列表,当切片发送至对应的存储节点之后,判断当前存储节点的切片数字指纹列表中是否存在所述切片的数字指纹。如果当前存储节点的切片数字指纹列表中存在所述切片的数字指纹,则证明当前存储节点中已经存储有相同的切片,则只需要返回元数据服务器该切片以写入成功。如果当前存储节点的切片数字指纹列表中不存在所述切片的数字指纹,则将该切片写入磁盘。
在基于本发明的装置上述第二实施例的第三实施例中,还包括:
第二获取模块,用于定时获取***负载;
上传模块,用于在***负载低于预设值时,将每个存储节点的切片数字指纹列表中的信息上传至所述全局切片数字指纹列表。
显然,***在运行过程中,如果占用过多***负载,则会影响数据和文件的存储和传输速度,所有本实施例中,进一步获取***的负载,并只有在***负载低于某预设值时才进行进一步操作。本实施例中,当***负载低于预设值时,将每个存储节点的切片数字指纹列表中的信息上传至所述全局切片数字指纹列表。
请进一步参阅图6,在本发明的装置基于上述实施例的第四实施例中,所述切片模块40具体包括:
判断单元41,用于判断所述待写入文件的大小是否大于预设值;
切片单元42,用于在所述判断单元41的判断结果为“是”时,将所述待写入文件按预设大小切片;
确定单元43,用于在所述判断单元41的判断结果为“否”时,将所述待写入文件整体确定为一个切片。
应当理解的是,对于文件来说,如果切片较小,相对来说更容易查找到到相同的切片,但是相应的,文件会被分割成更小的文件,则切片和获取切片的数字指纹所需时间会更长。而切片的大小相对较大的时候,由于切片数量较少,则切片时间和获取切片数字指纹的时间均会相应缩短,但是切片与现有切片相同的可能性会相对降低。具体使用时应对根据需求而设定,具体的设定值可以是4MB、8MB、16MB、32MB等,其中优选设定为64MB,一般设定为不超过4TB。
基于上述实施例,提出本发明装置的第五实施例,所述第一获取模块10具体包括:
获取单元,用于获取所述待写入文件的MD5校验值和sha值;
叠加单元,用于将所述MD5校验值和sha值的字符串叠加作为待写入文件的数字指纹。
应当理解的是,具体使用中,数字指纹的种类是多种多样的,本实施例中,提供一种优选的数字指纹,具体为获取待写入文件的MD5校验值记为x,并获取待写入文件的sha值,更为优选的为sha1值,记为y,将两个值的字符串叠加为xy作为该文件的数字指纹。以Win10正式版64位简体中文版原版镜像文件为例,该文件的MD5值为2F8691F7FE2F569A70418A8633AC63F6记为x,sha1值为C71D49A6144772F352806201EF564951BE55EDD5记为y,将x和y串联获得2F8691F7FE2F569A70418A8633AC63F6C71D49A6144772F352806201EF564951BE55EDD5作为校验文字的数字指纹。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于分布式文件***的多层重复数据删除方法,其特征在于,所述方法包括以下步骤:
获取待写入文件的数字指纹;
判断全局文件数字指纹列表中是否存在所述待写入文件的数字指纹;
若是,则记录所述待写入文件的元数据信息;
若否,则将待写入文件按预设方式切片,并获取每个切片的数字指纹;
判断全局文件切片数字指纹列表中是否存在所述切片的数字指纹;
若是,则将所述切片的元数据信息记录到存储节点中;
若否,则将所述切片及该切片的数字指纹发送到对应的存储节点。
2.如权利要求1所述的基于分布式文件***的多层重复数据删除方法,其特征在于,所述将所述切片及该切片的数字指纹发送到对应的存储节点之后还包括步骤:
判断当前存储节点的切片数字指纹列表中是否存在所述切片的数字指纹;
若是,则确认该切片写入成功;
若否,则写入所述切片,并将所述切片的数字指纹记录到本存储节点的切片数字指纹列表。
3.如权利要求2所述的基于分布式文件***的多层重复数据删除方法,其特征在于,所述将所述切片写入磁盘,并将所述切片的数字指纹记录到本存储节点的切片数字指纹列表之后还包括步骤:
定时获取***负载;
当***负载低于预设值时,将每个存储节点的切片数字指纹列表中的信息上传至所述全局切片数字指纹列表。
4.如权利要求1-3任一项所述的基于分布式文件***的多层重复数据删除方法,其特征在于,所述将待写入文件按预设方式切片,并获取每个切片的数字指纹具体包括步骤:
判断所述待写入文件的大小是否大于预设值;
若是,则将所述待写入文件按预设大小切片;
若否,则将所述待写入文件整体确定为一个切片。
5.如权利要求1-3任一项所述的基于分布式文件***的多层重复数据删除方法,其特征在于,所述获取待写入文件的数字指纹具体包括步骤:
获取所述待写入文件的MD5校验值和sha值;
将所述MD5校验值和sha值的字符串叠加作为待写入文件的数字指纹。
6.一种基于分布式文件***的多层重复数据删除装置,其特征在于,包括:
第一获取模块,用于获取待写入文件的数字指纹;
第一判断模块,用于判断全局文件数字指纹列表中是否存在所述待写入文件的数字指纹;
第一记录模块,用于在所述第一判断模块的判断结果为“是”时,记录所述待写入文件的元数据信息;
切片模块,用于在所述第一判断模块的判断结果为“否”时,将待写入文件按预设方式切片,并获取每个切片的数字指纹;
第二判断模块,用于判断全局文件切片数字指纹列表中是否存在所述切片的数字指纹;
第二记录模块,用于在所述第二判断模块的判断结果为“是”时,将所述切片的元数据信息记录到存储节点中;
发送模块,用于在所述第二判断模块的判断结果为“否”时,将所述切片及该切片的数字指纹发送到对应的存储节点。
7.如权利要求6所述的基于分布式文件***的多层重复数据删除装置,其特征在于,还包括:
第三判断模块,用于判断当前存储节点的切片数字指纹列表中是否存在所述切片的数字指纹;
确认模块,用于在所述第三判断模块判断为“是”时时,确认该切片写入成功;
写入模块,用于在所述第三判断模块判断为“否”时,写入所述切片,并将所述切片的数字指纹记录到本存储节点的切片数字指纹列表。
8.如权利要求7所述的基于分布式文件***的多层重复数据删除装置,其特征在于,还包括:
第二获取模块,用于定时获取***负载;
上传模块,用于在***负载低于预设值时,将每个存储节点的切片数字指纹列表中的信息上传至所述全局切片数字指纹列表。
9.如权利要求6-8任一项所述的基于分布式文件***的多层重复数据删除装置,其特征在于,所述切片模块具体包括:
判断单元,用于判断所述待写入文件的大小是否大于预设值;
切片单元,用于在所述判断单元的判断结果为“是”时,将所述待写入文件按预设大小切片;
确定单元,用于在所述判断单元的判断结果为“否”时,将所述待写入文件整体确定为一个切片。
10.如权利要求6-8任一项所述的基于分布式文件***的多层重复数据删除装置,其特征在于,所述第一获取模块具体包括:
获取单元,用于获取所述待写入文件的MD5校验值和sha值;
叠加单元,用于将所述MD5校验值和sha值的字符串叠加作为待写入文件的数字指纹。
CN201610984188.7A 2016-11-08 2016-11-08 基于分布式文件***的多层重复数据删除方法及装置 Pending CN106649556A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610984188.7A CN106649556A (zh) 2016-11-08 2016-11-08 基于分布式文件***的多层重复数据删除方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610984188.7A CN106649556A (zh) 2016-11-08 2016-11-08 基于分布式文件***的多层重复数据删除方法及装置

Publications (1)

Publication Number Publication Date
CN106649556A true CN106649556A (zh) 2017-05-10

Family

ID=58805866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610984188.7A Pending CN106649556A (zh) 2016-11-08 2016-11-08 基于分布式文件***的多层重复数据删除方法及装置

Country Status (1)

Country Link
CN (1) CN106649556A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947731A (zh) * 2017-07-31 2019-06-28 星辰天合(北京)数据科技有限公司 重复数据的删除方法和装置
WO2020215580A1 (zh) * 2019-04-23 2020-10-29 平安科技(深圳)有限公司 一种分布式全局数据去重方法和装置
WO2023093091A1 (zh) * 2021-11-25 2023-06-01 华为技术有限公司 数据存储***、智能网卡及计算节点

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216791A (zh) * 2008-01-04 2008-07-09 华中科技大学 基于指纹的文件备份方法
CN102833298A (zh) * 2011-06-17 2012-12-19 英业达集团(天津)电子技术有限公司 分布式的重复数据删除***及其处理方法
CN102915278A (zh) * 2012-09-19 2013-02-06 浪潮(北京)电子信息产业有限公司 重复数据删除方法
CN103514250A (zh) * 2013-06-20 2014-01-15 易乐天 一种全局重复数据删除的方法和***及存储装置
US8677132B1 (en) * 2012-01-06 2014-03-18 Narus, Inc. Document security
CN104408154A (zh) * 2014-12-04 2015-03-11 华为技术有限公司 重复数据删除方法及装置
CN104932841A (zh) * 2015-06-17 2015-09-23 南京邮电大学 一种云存储***中节约型重复数据删除方法
CN105320773A (zh) * 2015-11-03 2016-02-10 中国人民解放军理工大学 一种基于Hadoop平台的分布式重复数据删除***和方法
CN105912268A (zh) * 2016-04-12 2016-08-31 韶关学院 一种基于自匹配特征的分布式重复数据删除方法及其装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216791A (zh) * 2008-01-04 2008-07-09 华中科技大学 基于指纹的文件备份方法
CN102833298A (zh) * 2011-06-17 2012-12-19 英业达集团(天津)电子技术有限公司 分布式的重复数据删除***及其处理方法
US8677132B1 (en) * 2012-01-06 2014-03-18 Narus, Inc. Document security
CN102915278A (zh) * 2012-09-19 2013-02-06 浪潮(北京)电子信息产业有限公司 重复数据删除方法
CN103514250A (zh) * 2013-06-20 2014-01-15 易乐天 一种全局重复数据删除的方法和***及存储装置
CN104408154A (zh) * 2014-12-04 2015-03-11 华为技术有限公司 重复数据删除方法及装置
CN104932841A (zh) * 2015-06-17 2015-09-23 南京邮电大学 一种云存储***中节约型重复数据删除方法
CN105320773A (zh) * 2015-11-03 2016-02-10 中国人民解放军理工大学 一种基于Hadoop平台的分布式重复数据删除***和方法
CN105912268A (zh) * 2016-04-12 2016-08-31 韶关学院 一种基于自匹配特征的分布式重复数据删除方法及其装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947731A (zh) * 2017-07-31 2019-06-28 星辰天合(北京)数据科技有限公司 重复数据的删除方法和装置
WO2020215580A1 (zh) * 2019-04-23 2020-10-29 平安科技(深圳)有限公司 一种分布式全局数据去重方法和装置
WO2023093091A1 (zh) * 2021-11-25 2023-06-01 华为技术有限公司 数据存储***、智能网卡及计算节点

Similar Documents

Publication Publication Date Title
US10019184B2 (en) Amortized snapshots
US10158483B1 (en) Systems and methods for efficiently and securely storing data in a distributed data storage system
US7447839B2 (en) System for a distributed column chunk data store
US7464247B2 (en) System and method for updating data in a distributed column chunk data store
CN105190573B (zh) 存储数据的减少冗余
JP4648723B2 (ja) データ価値に基づく階層型ストレージ管理の為の方法と装置
US5819272A (en) Record tracking in database replication
CN104281533B (zh) 一种存储数据的方法及装置
US7457935B2 (en) Method for a distributed column chunk data store
US7587569B2 (en) System and method for removing a storage server in a distributed column chunk data store
US11093387B1 (en) Garbage collection based on transmission object models
US20070143369A1 (en) System and method for adding a storage server in a distributed column chunk data store
US8768980B2 (en) Process for optimizing file storage systems
US9462037B2 (en) Dynamically sizing chunks in a partially loaded spreadsheet model
CN105556520A (zh) 在存储器中镜像盘中的数据以提高查询性能
JP2005539314A (ja) データをネットワーク中で処理する装置および方法
US7519636B2 (en) Key sequenced clustered I/O in a database management system
CN106649556A (zh) 基于分布式文件***的多层重复数据删除方法及装置
CN109767274B (zh) 一种对海量***数据进行关联存储的方法及***
JP5241298B2 (ja) 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法
CN110008197A (zh) 一种数据处理方法、***及电子设备和存储介质
CN113282540A (zh) 一种云对象存储同步方法、装置、计算机设备及存储介质
CN108243207B (zh) 一种网络云盘的数据存储方法
Henry Howard chu on lightning memory-mapped database
CN114417413A (zh) 区块链文件***的文件处理方法、装置、设备及介质

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
TA01 Transfer of patent application right

Effective date of registration: 20171023

Address after: 518100 Guangdong city of Shenzhen province Nanshan District South Road Fiyta Technology Building Room 1402

Applicant after: Shenzhen Zhongbo Kechuang Information Technology Co., Ltd.

Address before: 518000 Guangdong city of Shenzhen province Qianhai Shenzhen Hong Kong cooperation zone before Bay Road No. 1 building 201 room A (located in Shenzhen Qianhai business secretary Co. Ltd.)

Applicant before: Shenzhen City Rui Bo Storage Technology Co. Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190902

Address after: 100089 Floor 1-4, No. 2 Building, No. 9 Courtyard, Dijin Road, Haidian District, Beijing

Applicant after: Beijing Toyou Feiji Electronics Co., Ltd.

Address before: 518100 Room 1402, Feiyada Science and Technology Building, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen Zhongbo Kechuang Information Technology Co., Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20170510

RJ01 Rejection of invention patent application after publication