CN107506150A - 分布式存储装置、重删、写、删除、读取方法以及*** - Google Patents

分布式存储装置、重删、写、删除、读取方法以及*** Download PDF

Info

Publication number
CN107506150A
CN107506150A CN201710764079.9A CN201710764079A CN107506150A CN 107506150 A CN107506150 A CN 107506150A CN 201710764079 A CN201710764079 A CN 201710764079A CN 107506150 A CN107506150 A CN 107506150A
Authority
CN
China
Prior art keywords
data
fingerprint
target
osd
distributed storage
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
CN201710764079.9A
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710764079.9A priority Critical patent/CN107506150A/zh
Publication of CN107506150A publication Critical patent/CN107506150A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种分布式存储装置、重删、写、删除、读取方法以及***,应用于分布式存储装置,包括:在统一存储层获取目标数据对象的目标对象数据指纹,并将目标对象数据指纹存储到相应的OSD;利用预设算法对目标对象数据指纹进行计算,得到目标数据对象的目标OSD;判断目标数OSD是否已保存历史数据对象;如果已保存历史数据对象,则将历史数据对象的引用计数的计数加一。本发明直接利用目标对象数据指纹查找到目标数OSD,建立起对象数据指纹与OSD之间的对应关系,从而直接判断是否存在重复数据,避免了利用指纹库在分布式存储网络内进行匹配查询,而造成的低效率,提高了分布式存储重删工作效率。

Description

分布式存储装置、重删、写、删除、读取方法以及***
技术领域
本发明涉及存储技术领域,特别涉及一种分布式存储装置、分布式存储重删、写、删除、读取方法以及***。
背景技术
分布式存储***将数据分散存储在多***立的设备上。传统的网络存储***采用集中的存储服务器存放所有数据,存储服务器成为***性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储***采用可扩展的***结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了***的可靠性、可用性和存取效率,还易于扩展。
重复数据删除(De-duplication,简称重删)技术是一种容量优化技术,它通过消除存储***中重复的数据,缩减***中实际存储的数据或通过网络传输的数据,在备份、长期归档和数据灾难恢复等方面得到了广泛的应用。在工业界和学术界已经有相应的产品和技术研究成果。近年来,随着软件定义存储的发展,及虚拟化技术、专用处理器技术和新型存储介质的出现,结合在线重复数据处理和降低存储单位容量成本的考虑,重复数据删除技术需求越来越迫切。
目前分布式存储在线重复数据删除技术的研究主要采用创建指纹库,利用指纹库来判断数据是否重复的方法,不管指纹库的存储方式如何实现,都需要在分布式存储网络内进行匹配查询,效率低。
发明内容
有鉴于此,本发明的目的在于提供一种分布式存储装置、分布式存储重删、写、删除、读取方法以及***,以避免了利用指纹库在分布式存储网络内进行匹配查询,而造成的低效率,提高了分布式存储重删工作效率。其具体方案如下:
一种分布式存储重删方法,应用于分布式存储装置,包括:
在统一存储层获取目标数据对象的目标对象数据指纹,并将所述目标对象数据指纹存储到相应的OSD;
利用预设算法对所述目标对象数据指纹进行计算,得到所述目标数据对象的目标OSD;
判断所述目标数OSD是否已保存历史数据对象;
如果已保存所述历史数据对象,则将所述历史数据对象的引用计数的计数加一。
可选的,所述在统一存储层获取目标数据对象的目标对象数据指纹的过程,包括:
在统一存储层,利用所述目标数据对象的目标数据对象唯一标识,通过哈希函数,获取所述目标对象数据指纹。
本发明还公开了一种分布式存储写入方法,,应用于分布式存储装置,包括:
利用目标数据对象的目标数据对象唯一标识,查询目标对象数据指纹是否存在;
如果存在,则利用所述目标数据对象计算出新目标对象数据指纹,并将所述新目标对象数据指纹存入相应的OSD;
再利用所述新目标对象数据指纹,将所述目标数据对象存入相应的目标OSD;
将与所述目标对象数据指纹相应的数据对象的引用计数减一。
可选的,所述利用所述目标数据对象计算出新目标对象数据指纹,并将所述新目标对象数据指纹存入相应的OSD的过程,包括:
判断所述目标数据对象的数据块长度是否等于预设的分块大小;
如果等于,则利用所述预设算法计算出所述目标数据对象的第一新目标对象数据指纹,将所述第一新目标对象数据指纹存入相应的OSD;
如果所述目标数据对象的数据块长度小于所述分块大小,则利用所述目标数据对象唯一标识,得到所述目标对象数据指纹,利用所述目标对象数据指纹获取所述旧目标数据对象;
将所述旧目标数据对象与所述目标数据对象进行拼接,得到拼接数据对象,利用所述预设算法计算出所述拼接数据对象的第二新目标对象数据指纹;
将所述第二新目标对象数据指纹存入相应的OSD。
可选的,所述将与所述目标对象数据指纹相应的数据对象的引用计数减一的过程,包括:
当所述目标数据对象的数据块长度小于预设的分块大小,则利用所述目标对象数据指纹,查找到与所述目标对象数据指纹相对应的旧引用计数,并将所述旧引用计数的计数减一;
如果所述旧引用计数的计数为零,则删除所述旧目标数据对象。
本发明还公开了一种分布式存储删除方法,应用于分布式存储装置,包括:
利用历史数据对象的历史对象唯一标识,查找到所述历史数据对象的历史对象数据指纹;
利用所述历史对象数据指纹,查找到所述历史数据对象的引用计数,并将所述历史数据对象的引用计数减一;
如果所述历史数据对象的引用计数减一后为零,则删除所述历史数据对象和与其相关的数据。
可选的,所述利用历史数据对象的历史对象唯一标识,查找到所述历史数据对象的历史对象数据指纹的过程,包括:
利用历史数据对象的历史对象唯一标识,通过哈希函数计算,得到所述历史对象唯一标识的OSD,从所述历史对象唯一标识的OSD中查找到所述历史对象数据指纹。
可选的,所述利用所述历史对象数据指纹,查找到所述历史数据对象的引用计数的过程,包括:
利用所述历史对象数据指纹,通过哈希函数计算,得到所述历史数据对象的引用计数的OSD,从而查找到所述历史数据对象的引用计数。
可选的,所述删除所述历史数据对象和与其相关的数据的过程,包括:
删除所述历史数据对象和所述历史对象数据指纹。
本发明还公开了一种分布式存储读取方法,应用于分布式存储装置,包括:
利用目标数据对象唯一标识,通过预设算法,计算出所述目标数据对象唯一标识的OSD;
读取出保存在所述目标数据对象唯一标识的OSD的目标对象数据指纹;
利用所述目标对象数据指纹,通过所述预设算法,计算出所述目标数据对象的目标OSD,读取所述目标数据对象。
本发明还公开了一种分布式存储重删***,应用于分布式存储装置,该***包括:
指纹获取模块,用于在统一存储层获取目标数据对象的目标对象数据指纹;
指纹存储模块,用于将所述目标对象数据指纹存储到相应的OSD;
位置计算模块,用于利用预设算法对所述目标对象数据指纹进行计算,得到所述目标数据对象的目标OSD;
判断模块,用于判断所述目标数OSD是否已保存历史数据对象;
计数变更模块,用于如果已保存所述历史数据对象,则将所述历史数据对象的引用计数的计数加一。
本发明还公开了一种分布式存储写入***,应用于分布式存储装置,包括:
指纹查询模块,用于利用目标数据对象的目标数据对象唯一标识,查询目标对象数据指纹是否存在;
新指纹存储模块,用于如果存在,则利用所述目标数据对象计算出新目标对象数据指纹,并将所述新目标对象数据指纹存入相应的OSD;
数据对象存储模块,用于再利用所述新目标对象数据指纹,将所述目标数据对象存入相应的目标OSD;
计数变更模块,用于将与所述目标对象数据指纹相应的数据对象的引用计数减一。
本发明还公开了一种分布式存储删除***,应用于分布式存储装置,包括:
指纹查找模块,用于利用历史数据对象的历史对象唯一标识,查找到所述历史数据对象的历史对象数据指纹;
计数变更模块,用于利用所述历史对象数据指纹,查找到所述历史数据对象的引用计数,并将所述历史数据对象的引用计数减一;
删除模块,用于如果所述历史数据对象的引用计数减一后为零,则删除所述历史数据对象和与其相关的数据。
本发明还公开了一种分布式存储读取***,应用于分布式存储装置,包括:
标识查找模块,用于利用目标数据对象唯一标识,通过预设算法,计算出所述目标数据对象唯一标识的OSD;
指纹读取模块,用于读取出保存在所述目标数据对象唯一标识的OSD的目标对象数据指纹;
数据读取模块,用于利用所述目标对象数据指纹,通过所述预设算法,计算出所述目标数据对象的目标OSD,读取所述目标数据对象。
本发明还公开了一种分布式存储装置,包括前述的分布式存储重删***、前述的分布式存储写入***、前述的分布式存储删除***以及前述的分布式存储读取***。
本发明中,分布式存储重删方法,应用于分布式存储装置,包括:在统一存储层获取目标数据对象的目标对象数据指纹,并将目标对象数据指纹存储到相应的OSD;利用预设算法对目标对象数据指纹进行计算,得到目标数据对象的目标OSD;判断目标数OSD是否已保存历史数据对象;如果已保存历史数据对象,则将历史数据对象的引用计数的计数加一。
本发明在统一存储层获取目标数据对象的目标对象数据指纹,利用预设算法对目标对象数据指纹进行计算,得到目标数据对象的目标OSD,从而进一步的判断目标数OSD是否已保存历史数据对象,由于OSD是由对象数据指纹计算得到的,因此,当目标数OSD已保存历史数据对象,则说明目标数据对象与历史数据对象为同一数据,则将历史数据对象的引用计数的计数加一,直接利用目标对象数据指纹查找到目标数OSD,建立起对象数据指纹与OSD之间的对应关系,从而直接判断是否存在重复数据,避免了利用指纹库在分布式存储网络内进行匹配查询,而造成的低效率,提高了分布式存储重删工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种分布式存储重删方法流程示意图;
图2为本发明实施例公开的一种分布式存储写入方法流程示意图;
图3为本发明实施例公开的一种分布式存储删除方法流程示意图;
图4为本发明实施例公开的一种分布式存储读取方法流程示意图;
图5为本发明实施例公开的一种分布式存储重删***结构示意图;
图6为本发明实施例公开的一种分布式存储写入***结构示意图;
图7为本发明实施例公开的一种分布式存储删除***结构示意图;
图8为本发明实施例公开的一种分布式存储读取***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种分布式存储重删方法,参见图1所示,应用于分布式存储装置,该方法包括:
步骤S11:在统一存储层获取目标数据对象的目标对象数据指纹,并将目标对象数据指纹存储到相应的OSD。
具体的,在统一存储层,利用目标数据对象的目标数据对象唯一标识,通过哈希函数,获取目标对象数据指纹,由于无论目标数据对象是否为重复数据,为利用目标对象数据指纹建立副本与历史数据对象的引用关系,保存目标对象数据指纹到相应的OSD(ObjectStorage Device,对象存储设备)。
步骤S12:利用预设算法对目标对象数据指纹进行计算,得到目标数据对象的目标OSD。
具体的,利用哈希函数对目标对象数据指纹进行计算,得到目标数据对象的目标OSD,通过对目标对象数据指纹进行哈希计算映射得到目标数据对象的目标OSD。
可以理解的是,预设算法可以为哈希函数,也可以为其他能够与哈希函数功能类似的其他算法,以实现预设算法的目的,在此不对预设算法的类型做限定。
步骤S13:判断目标数OSD是否已保存历史数据对象。
具体的,通过目标对象数据指纹计算出目标数据对象的目标OSD后,如果目标数OSD已保存有历史数据对象,说明该历史数据对象的历史对象数据指纹与目标对象数据指纹相同,因此,历史数据对象与目标数据对象保存的数据内容相同,为重复数据;如果目标数OSD未保存历史数据对象,则说明不存在重复数据,可以对目标数据对象进行保存。
步骤S14:如果已保存历史数据对象,则将历史数据对象的引用计数的计数加一。
具体的,如果目标数OSD已保存历史数据对象,说明目标数据对象为重复数据,因此,不再保存目标数据对象,而是直接将历史数据对象的引用计数的计数加一,从而表明有新用户使用历史数据对象。
可以理解的是,如果未保存历史数据对象,则将目标数据对象保存至目标对象数据设备OSD,并生成目标数据对象的引用计数且加一。
可见,本发明实施例在统一存储层获取目标数据对象的目标对象数据指纹,利用预设算法对目标对象数据指纹进行计算,得到目标数据对象的目标OSD,从而进一步的判断目标数OSD是否已保存历史数据对象,由于OSD是由对象数据指纹计算得到的,因此,当目标数OSD已保存历史数据对象,则说明目标数据对象与历史数据对象为同一数据,则将历史数据对象的引用计数的计数加一,直接利用目标对象数据指纹查找到目标数OSD,建立起对象数据指纹与OSD之间的对应关系,从而直接判断是否存在重复数据,避免了利用指纹库在分布式存储网络内进行匹配查询,而造成的低效率,提高了分布式存储重删工作效率。
由于本发明修改了对象数据唯一标识、对象数据指纹、对象数据设备OSD之间的索引关系,为此,本发明实施例还公开了一种分布式存储写入方法,参见图2所示,应用于分布式存储装置,该方法包括:
步骤S21:利用目标数据对象的目标数据对象唯一标识,查询目标对象数据指纹是否存在。
具体的,通过哈希函数利用目标数据对象的目标数据对象唯一标识,计算出目标对象数据指纹,从而查询目标对象数据指纹是否存在,以判断写入的目标数据对象是创建写还是修改写。
步骤S22:如果存在,则利用目标数据对象计算出新目标对象数据指纹,并将新目标对象数据指纹存入相应的OSD。
具体的,如果不存在,则进入上一实施例中的步骤S12对目标数据对象进行保存。
其中,利用目标数据对象计算出新目标对象数据指纹,并将新目标对象数据指纹存入相应的OSD的具体过程,可以包括如下步骤S221至步骤S225;其中,
步骤S221:判断目标数据对象的数据块长度是否等于预设的分块大小。
具体的,通过判断目标数据对象的数据块长度是否等于预设的分块大小,则可以判断目标数据对象的修改范围。
步骤S222:如果等于,则利用预设算法计算出目标数据对象的第一新目标对象数据指纹,将第一新目标对象数据指纹存入相应的OSD。
具体的,目标数据对象的数据块长度等于预设的分块大小,则说明目标数据对象与旧目标数据对象所有数据均不相同,因此,通过哈希计算可以得到目标数据对象的第一新目标对象数据指纹,并将第一新目标对象数据指纹存入相应的OSD。
步骤S223:如果目标数据对象的数据块长度小于分块大小,则利用目标数据对象唯一标识,得到目标对象数据指纹,利用目标对象数据指纹获取旧目标数据对象。
具体的,则表明目标数据对象为对旧目标数据对象的部分数据进行修改得到的,因此,先利用目标数据对象与旧目标数据对象相同的目标数据对象唯一标识,通过哈希函数计算,得到目标对象数据指纹,利用目标对象数据指纹获取旧目标数据对象。
步骤S224:将旧目标数据对象与目标数据对象进行拼接,得到拼接数据对象,利用预设算法计算出拼接数据对象的第二新目标对象数据指纹。
具体的,将旧目标数据对象与目标数据对象进行拼接,使
步骤S225:将第二新目标对象数据指纹存入相应的OSD。
需要说明的是,新目标对象数据指纹包括第一新目标对象数据指纹和第二新目标对象数据指纹。
步骤S23:再利用新目标对象数据指纹,将目标数据对象存入相应的目标OSD。
步骤S24:将与目标对象数据指纹相应的数据对象的引用计数减一。
具体的,利用目标对象数据指纹,查找到与目标对象数据指纹相对应的旧引用计数,并将旧引用计数的计数减一,由于目标数据对象是由旧目标数据对象进行修改后得到的,目标数据对象与旧目标数据对象的对象唯一标识相同,且目标对象数据指纹即旧目标数据对象的旧目标对象数据指纹,因此,可以利用目标对象数据指纹,查找到与目标对象数据指纹相对应的旧引用计数,由于旧目标对象数据变更为目标数据对象,目标数据对象与旧目标数据对象不再一样,所以旧引用计数的计数减一。
其中,如果旧引用计数的计数为零,则删除与旧引用计数相对应的旧目标数据对象。
本发明实施例还公开了一种分布式存储删除方法,参见图3所示,应用于分布式存储装置,该方法包括:
步骤S31:利用历史数据对象的历史对象唯一标识,查找到历史数据对象的历史对象数据指纹。
具体的,由于对象数据指纹与对象唯一标识保存在同一OSD,而数据对象与数据对象的引用计数保存在同一OSD,而数据对象的OSD是由对象数据指纹通过哈希函数计算得到的,因此,当有用户删除以保存在OSD中的历史数据对象时,利用历史数据对象的历史对象唯一标识,通过哈希函数计算,得到历史对象唯一标识的OSD,从历史对象唯一标识的OSD中查找到历史对象数据指纹。
步骤S32:利用历史对象数据指纹,查找到历史数据对象的引用计数,并将历史数据对象的引用计数减一。
具体的,由于历史数据对象可能还被其他用户所使用,因此,每一个用户删除历史数据对象时,对述历史数据对象的引用计数减一,而不是直接删除历史数据对象;利用历史对象数据指纹,通过哈希函数计算,得到历史数据对象的引用计数的OSD,从而查找到历史数据对象的引用计数。
步骤S33:如果历史数据对象的引用计数减一后为零,则删除历史数据对象和与其相关的数据。
具体的,当没有用户再引用历史数据对象,即历史数据对象的引用计数减一后为零,则删除历史数据对象和与其相关的数据。
其中,与历史数据对象相关的数据为历史对象数据指纹。
本发明实施例还公开了一种分布式存储读取方法,参见图4所示,应用于分布式存储装置,该方法包括:
步骤S41:利用目标数据对象唯一标识,通过预设算法,计算出目标数据对象唯一标识的OSD;
步骤S42:读取出保存在目标数据对象唯一标识的OSD的目标对象数据指纹;
步骤S43:利用目标对象数据指纹,通过预设算法,计算出目标数据对象的目标OSD,读取目标数据对象。
具体的,由于目标数据对象唯一标识与目标对象数据指纹保存在同一OSD种,因此,可以通过预设算法,利用目标数据对象唯一标识,计算出目标数据对象唯一标识的OSD,并读取出其中的目标对象数据指纹,由于目标数据对象的目标OSD是由目标对象数据指纹,通过预设算法计算得到的,所以,利用目标对象数据指纹,查找到目标OSD,并读取目标数据对象。
其中,预设算法可以为哈希函数。
相应的,本发明实施例还公开了一种分布式存储重删***,参见图5所示,应用于分布式存储装置,该***包括:
指纹获取模块11,用于在统一存储层获取目标数据对象的目标对象数据指纹;
指纹存储模块12,用于将目标对象数据指纹存储到相应的OSD;
位置计算模块13,用于利用预设算法对目标对象数据指纹进行计算,得到目标数据对象的目标OSD;
判断模块14,用于判断目标数OSD是否已保存历史数据对象;
计数变更模块15,用于如果已保存历史数据对象,则将历史数据对象的引用计数的计数加一。
可见,本发明实施例在统一存储层获取目标数据对象的目标对象数据指纹,利用预设算法对目标对象数据指纹进行计算,得到目标数据对象的目标OSD,从而进一步的判断目标数OSD是否已保存历史数据对象,由于OSD是由对象数据指纹计算得到的,因此,当目标数OSD已保存历史数据对象,则说明目标数据对象与历史数据对象为同一数据,则将历史数据对象的引用计数的计数加一,直接利用目标对象数据指纹查找到目标数OSD,建立起对象数据指纹与OSD之间的对应关系,从而直接判断是否存在重复数据,避免了利用指纹库在分布式存储网络内进行匹配查询,而造成的低效率,提高了分布式存储重删工作效率。
本发明实例中,指纹获取模块11,可以具体用于在统一存储层,利用目标数据对象的目标数据对象唯一标识,通过哈希函数,获取目标对象数据指纹。
相应的,本发明实施例还公开了一种分布式存储写入***,参见图6所示,应用于分布式存储装置,包括:
指纹查询模块21,用于利用目标数据对象的目标数据对象唯一标识,查询目标对象数据指纹是否存在;
新指纹存储模块22,用于如果存在,则利用目标数据对象计算出新目标对象数据指纹,并将新目标对象数据指纹存入相应的OSD;
数据对象存储模块23,用于再利用新目标对象数据指纹,将目标数据对象存入相应的目标OSD;
计数变更模块24,用于将与目标对象数据指纹相应的数据对象的引用计数减一。
本发明实施例中,上述新指纹存储模块22,可以包括长度判断单元、第一指纹保存单元、数据对象获取单元、数据对象拼接单元和数据对象拼接单元;其中,
长度判断单元,用于判断目标数据对象的数据块长度是否等于预设的分块大小;
第一指纹保存单元,用于如果等于,则利用预设算法计算出目标数据对象的第一新目标对象数据指纹,将第一新目标对象数据指纹存入相应的OSD;
数据对象获取单元,用于如果目标数据对象的数据块长度小于分块大小,则利用目标数据对象唯一标识,得到目标对象数据指纹,利用目标对象数据指纹获取旧目标数据对象;
数据对象拼接单元,用于将旧目标数据对象与目标数据对象进行拼接,得到拼接数据对象,利用预设算法计算出拼接数据对象的第二新目标对象数据指纹;
数据对象拼接单元,用于将第二新目标对象数据指纹存入相应的OSD。
上述计数变更模块24,可以包括:
计数变更单元,用于当目标数据对象的数据块长度小于预设的分块大小,则利用目标对象数据指纹,查找到与目标对象数据指纹相对应的旧引用计数,并将旧引用计数的计数减一;
删除单元,用于如果旧引用计数的计数为零,则删除旧目标数据对象。
相应的,本发明实施例还公开了一种分布式存储删除***,参见图7所示,应用于分布式存储装置,包括:
指纹查找模块31,用于利用历史数据对象的历史对象唯一标识,查找到历史数据对象的历史对象数据指纹;
计数变更模块32,用于利用历史对象数据指纹,查找到历史数据对象的引用计数,并将历史数据对象的引用计数减一;
删除模块33,用于如果历史数据对象的引用计数减一后为零,则删除历史数据对象和与其相关的数据。
其中,与历史数据对象相关的数据可以为历史对象数据指纹。
本发明实施例中,上述指纹查找模块31,可以具体用于利用历史数据对象的历史对象唯一标识,通过哈希函数计算,得到历史对象唯一标识的OSD,从历史对象唯一标识的OSD中查找到历史对象数据指纹。
上述计数变更模块32,可以包括引用计数查找单元;其中,
引用计数查找单元,用于利用历史对象数据指纹,通过哈希函数计算,得到历史数据对象的引用计数的OSD,从而查找到历史数据对象的引用计数。
相应的,本发明实施例还公开了一种分布式存储读取***,参见图8所示,应用于分布式存储装置,包括:
标识查找模块41,用于利用目标数据对象唯一标识,通过预设算法,计算出目标数据对象唯一标识的OSD;
指纹读取模块42,用于读取出保存在目标数据对象唯一标识的OSD的目标对象数据指纹;
数据读取模块43,用于利用目标对象数据指纹,通过预设算法,计算出目标数据对象的目标OSD,读取目标数据对象。
另外,本发明实施例还公开了一种分布式存储装置,包括前述实施例公开的分布式存储重删***、分布式存储写入***、分布式存储删除***以及分布式存储读取***。各***具体构造可以参考前述实施例中公开的内容,在此不再赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种分布式存储装置、分布式存储重删、写、删除、读取方法以及***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种分布式存储重删方法,其特征在于,应用于分布式存储装置,包括:
在统一存储层获取目标数据对象的目标对象数据指纹,并将所述目标对象数据指纹存储到相应的OSD;
利用预设算法对所述目标对象数据指纹进行计算,得到所述目标数据对象的目标OSD;
判断所述目标数OSD是否已保存历史数据对象;
如果已保存所述历史数据对象,则将所述历史数据对象的引用计数的计数加一。
2.根据权利要求1所述的分布式存储重删方法,其特征在于,所述在统一存储层获取目标数据对象的目标对象数据指纹的过程,包括:
在统一存储层,利用所述目标数据对象的目标数据对象唯一标识,通过哈希函数,获取所述目标对象数据指纹。
3.一种分布式存储写入方法,其特征在于,应用于分布式存储装置,包括:
利用目标数据对象的目标数据对象唯一标识,查询目标对象数据指纹是否存在;
如果存在,则利用所述目标数据对象计算出新目标对象数据指纹,并将所述新目标对象数据指纹存入相应的OSD;
再利用所述新目标对象数据指纹,将所述目标数据对象存入相应的目标OSD;
将与所述目标对象数据指纹相应的数据对象的引用计数减一。
4.根据权利要求3所述的分布式存储写入方法,其特征在于,所述利用所述目标数据对象计算出新目标对象数据指纹,并将所述新目标对象数据指纹存入相应的OSD的过程,包括:
判断所述目标数据对象的数据块长度是否等于预设的分块大小;
如果等于,则利用所述预设算法计算出所述目标数据对象的第一新目标对象数据指纹,将所述第一新目标对象数据指纹存入相应的OSD;
如果所述目标数据对象的数据块长度小于所述分块大小,则利用所述目标数据对象唯一标识,得到所述目标对象数据指纹,利用所述目标对象数据指纹获取所述旧目标数据对象;
将所述旧目标数据对象与所述目标数据对象进行拼接,得到拼接数据对象,利用所述预设算法计算出所述拼接数据对象的第二新目标对象数据指纹;
将所述第二新目标对象数据指纹存入相应的OSD。
5.根据权利要求4所述的分布式存储写入方法,其特征在于,所述将与所述目标对象数据指纹相应的数据对象的引用计数减一的过程,包括:
当所述目标数据对象的数据块长度小于预设的分块大小,则利用所述目标对象数据指纹,查找到与所述目标对象数据指纹相对应的旧引用计数,并将所述旧引用计数的计数减一;
如果所述旧引用计数的计数为零,则删除所述旧目标数据对象。
6.一种分布式存储删除方法,其特征在于,应用于分布式存储装置,包括:
利用历史数据对象的历史对象唯一标识,查找到所述历史数据对象的历史对象数据指纹;
利用所述历史对象数据指纹,查找到所述历史数据对象的引用计数,并将所述历史数据对象的引用计数减一;
如果所述历史数据对象的引用计数减一后为零,则删除所述历史数据对象和与其相关的数据。
7.根据权利要求6所述的分布式存储删除方法,其特征在于,所述利用历史数据对象的历史对象唯一标识,查找到所述历史数据对象的历史对象数据指纹的过程,包括:
利用历史数据对象的历史对象唯一标识,通过哈希函数计算,得到所述历史对象唯一标识的OSD,从所述历史对象唯一标识的OSD中查找到所述历史对象数据指纹。
8.根据权利要求6所述的分布式存储删除方法,其特征在于,所述利用所述历史对象数据指纹,查找到所述历史数据对象的引用计数的过程,包括:
利用所述历史对象数据指纹,通过哈希函数计算,得到所述历史数据对象的引用计数的OSD,从而查找到所述历史数据对象的引用计数。
9.根据权利要求6所述的分布式存储重删方法,其特征在于,所述删除所述历史数据对象和与其相关的数据的过程,包括:
删除所述历史数据对象和所述历史对象数据指纹。
10.一种分布式存储读取方法,其特征在于,应用于分布式存储装置,包括:
利用目标数据对象唯一标识,通过预设算法,计算出所述目标数据对象唯一标识的OSD;
读取出保存在所述目标数据对象唯一标识的OSD的目标对象数据指纹;
利用所述目标对象数据指纹,通过所述预设算法,计算出所述目标数据对象的目标OSD,读取所述目标数据对象。
11.一种分布式存储重删***,其特征在于,应用于分布式存储装置,该***包括:
指纹获取模块,用于在统一存储层获取目标数据对象的目标对象数据指纹;
指纹存储模块,用于将所述目标对象数据指纹存储到相应的OSD;
位置计算模块,用于利用预设算法对所述目标对象数据指纹进行计算,得到所述目标数据对象的目标OSD;
判断模块,用于判断所述目标数OSD是否已保存历史数据对象;
计数变更模块,用于如果已保存所述历史数据对象,则将所述历史数据对象的引用计数的计数加一。
12.一种分布式存储写入***,其特征在于,应用于分布式存储装置,包括:
指纹查询模块,用于利用目标数据对象的目标数据对象唯一标识,查询目标对象数据指纹是否存在;
新指纹存储模块,用于如果存在,则利用所述目标数据对象计算出新目标对象数据指纹,并将所述新目标对象数据指纹存入相应的OSD;
数据对象存储模块,用于再利用所述新目标对象数据指纹,将所述目标数据对象存入相应的目标OSD;
计数变更模块,用于将与所述目标对象数据指纹相应的数据对象的引用计数减一。
13.一种分布式存储删除***,其特征在于,应用于分布式存储装置,包括:
指纹查找模块,用于利用历史数据对象的历史对象唯一标识,查找到所述历史数据对象的历史对象数据指纹;
计数变更模块,用于利用所述历史对象数据指纹,查找到所述历史数据对象的引用计数,并将所述历史数据对象的引用计数减一;
删除模块,用于如果所述历史数据对象的引用计数减一后为零,则删除所述历史数据对象和与其相关的数据。
14.一种分布式存储读取***,其特征在于,应用于分布式存储装置,包括:
标识查找模块,用于利用目标数据对象唯一标识,通过预设算法,计算出所述目标数据对象唯一标识的OSD;
指纹读取模块,用于读取出保存在所述目标数据对象唯一标识的OSD的目标对象数据指纹;
数据读取模块,用于利用所述目标对象数据指纹,通过所述预设算法,计算出所述目标数据对象的目标OSD,读取所述目标数据对象。
15.一种分布式存储装置,其特征在于,包括如权利要求11所述的分布式存储重删***、如权利要求12所述的分布式存储写入***、如权利要求13所述的分布式存储删除***以及如权利要求14所述的分布式存储读取***。
CN201710764079.9A 2017-08-30 2017-08-30 分布式存储装置、重删、写、删除、读取方法以及*** Pending CN107506150A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710764079.9A CN107506150A (zh) 2017-08-30 2017-08-30 分布式存储装置、重删、写、删除、读取方法以及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710764079.9A CN107506150A (zh) 2017-08-30 2017-08-30 分布式存储装置、重删、写、删除、读取方法以及***

Publications (1)

Publication Number Publication Date
CN107506150A true CN107506150A (zh) 2017-12-22

Family

ID=60694359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710764079.9A Pending CN107506150A (zh) 2017-08-30 2017-08-30 分布式存储装置、重删、写、删除、读取方法以及***

Country Status (1)

Country Link
CN (1) CN107506150A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245129A (zh) * 2019-04-23 2019-09-17 平安科技(深圳)有限公司 一种分布式全局数据去重方法和装置
CN111177088A (zh) * 2019-12-29 2020-05-19 北京浪潮数据技术有限公司 一种数据重删方法、装置及电子设备和存储介质
CN112286457A (zh) * 2020-10-28 2021-01-29 杭州宏杉科技股份有限公司 对象重删方法、装置、电子设备及机器可读存储介质
WO2021109587A1 (zh) * 2019-12-06 2021-06-10 浪潮电子信息产业股份有限公司 一种文件存储方法、装置、设备及可读存储介质
CN117762335A (zh) * 2023-12-22 2024-03-26 柏域信息科技(上海)有限公司 针对Ceph对象的写入方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599079A (zh) * 2009-07-22 2009-12-09 中国科学院计算技术研究所 一种备份数据集中存储的管理方法
CN102495894A (zh) * 2011-12-12 2012-06-13 成都市华为赛门铁克科技有限公司 重复数据查找方法、装置及***
CN102915278A (zh) * 2012-09-19 2013-02-06 浪潮(北京)电子信息产业有限公司 重复数据删除方法
US20130297884A1 (en) * 2012-05-07 2013-11-07 International Business Machines Corporation Enhancing data processing performance by cache management of fingerprint index

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599079A (zh) * 2009-07-22 2009-12-09 中国科学院计算技术研究所 一种备份数据集中存储的管理方法
CN102495894A (zh) * 2011-12-12 2012-06-13 成都市华为赛门铁克科技有限公司 重复数据查找方法、装置及***
US20130297884A1 (en) * 2012-05-07 2013-11-07 International Business Machines Corporation Enhancing data processing performance by cache management of fingerprint index
CN102915278A (zh) * 2012-09-19 2013-02-06 浪潮(北京)电子信息产业有限公司 重复数据删除方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245129A (zh) * 2019-04-23 2019-09-17 平安科技(深圳)有限公司 一种分布式全局数据去重方法和装置
WO2020215580A1 (zh) * 2019-04-23 2020-10-29 平安科技(深圳)有限公司 一种分布式全局数据去重方法和装置
CN110245129B (zh) * 2019-04-23 2022-05-13 平安科技(深圳)有限公司 一种分布式全局数据去重方法和装置
WO2021109587A1 (zh) * 2019-12-06 2021-06-10 浪潮电子信息产业股份有限公司 一种文件存储方法、装置、设备及可读存储介质
CN111177088A (zh) * 2019-12-29 2020-05-19 北京浪潮数据技术有限公司 一种数据重删方法、装置及电子设备和存储介质
CN112286457A (zh) * 2020-10-28 2021-01-29 杭州宏杉科技股份有限公司 对象重删方法、装置、电子设备及机器可读存储介质
CN112286457B (zh) * 2020-10-28 2022-08-26 杭州宏杉科技股份有限公司 对象重删方法、装置、电子设备及机器可读存储介质
CN117762335A (zh) * 2023-12-22 2024-03-26 柏域信息科技(上海)有限公司 针对Ceph对象的写入方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN107506150A (zh) 分布式存储装置、重删、写、删除、读取方法以及***
CN110168523B (zh) 改变监测跨图查询
US9195673B2 (en) Scalable graph modeling of metadata for deduplicated storage systems
US8799601B1 (en) Techniques for managing deduplication based on recently written extents
US7606817B2 (en) Primenet data management system
CN107533507A (zh) 根据日志结构管理存储装置中的数据
CN104933112A (zh) 分布式互联网交易信息存储处理方法
CN103959256A (zh) 基于指纹的数据重复删除
CN103412863A (zh) 面向嵌入式设备的大容量矢量地图快速可视化实现方法
CN107506484B (zh) 运维数据关联审计方法、***、设备及存储介质
CN105787037A (zh) 一种重复数据的删除方法及装置
CN103530322B (zh) 数据处理方法和装置
CN110737680A (zh) 缓存数据管理方法、装置、存储介质及电子设备
CN106874481A (zh) 一种分布式文件***元数据信息读取方法及***
US20160070620A1 (en) System and method for maintaining a file system at a computing device
CN107391761A (zh) 一种基于重复数据删除技术的数据管理方法及装置
CN112699142A (zh) 冷热数据处理方法、装置、电子设备及存储介质
CN112182004A (zh) 实时查看数据方法、装置、计算机设备及存储介质
CN105493080A (zh) 基于上下文感知的重复数据删除的方法和装置
WO2020215580A1 (zh) 一种分布式全局数据去重方法和装置
CN107368545A (zh) 一种基于MerkleTree变形算法的去重方法及装置
CN109753379A (zh) 快照数据备份、删除方法、装置及***
CN106528703A (zh) 一种重复删除的模式切换方法及装置
CN106487937A (zh) 一种云存储***文件去重方法及***
CN104317955B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171222

RJ01 Rejection of invention patent application after publication