CN111090620A - 一种文件存储方法、装置、设备及可读存储介质 - Google Patents
一种文件存储方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111090620A CN111090620A CN201911244744.7A CN201911244744A CN111090620A CN 111090620 A CN111090620 A CN 111090620A CN 201911244744 A CN201911244744 A CN 201911244744A CN 111090620 A CN111090620 A CN 111090620A
- Authority
- CN
- China
- Prior art keywords
- target object
- target
- file
- information
- storage system
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
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)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件存储方法,包括:对目标文件进行条带化处理,得到多个目标对象,计算各个目标对象的指纹信息;利用第一目标对象和目标文件的逻辑信息组成逻辑头对象,并将逻辑头对象存入存储系统中;利用各个第二目标对象的指纹信息判断第二目标对象是否已被存入存储系统中;若第二目标对象没有被存入存储系统中,则将第二目标对象确定为第三目标对象并存入存储系统中;该方法将所有文件的逻辑头对象均存入存储系统中,由于逻辑头对象均存入了存储系统中,因此可以保留各个文件的逻辑信息,避免存储系统重删后导致某些用户的文件被修改甚至被删除;此外,本发明还提供了一种文件存储装置、设备及计算机可读存储介质,同样具有上述有益效果。
Description
技术领域
本发明涉及对象存储技术领域,特别涉及一种文件存储方法、文件存储装置、文件存储设备及计算机可读存储介质。
背景技术
分布式对象存储系统,指的是面向非结构化数据的分布式存储。现阶段,越来越多的业务场景需要使用分布式对象存储系统,如何在向存储系统中上传数据时消除存储系统中重复的数据,提高存储使用效率,变得越来越重要。
当前的分布式对象存储系统中,逻辑头对象在承载着数据内容的同时,还关联着元数据,采用整体文件的文件指纹作为标识参与重删,元数据包括用户权限、对象删除时间等多个元数据属性。在存储系统开启重删后,由于文件的内容相同,因此文件指纹相同,采用整体文件指纹作为文件的逻辑头对象的标识,就会在重删过程中在多个文件指纹相同的逻辑头对象仅保留一个,导致原本具有不同元数据属性的逻辑头对象,不同用户的文件或多个不同名的文件与同一个逻辑头对象相对应,进而导致具有不同元数据属性的文件变成了具有相同元数据的文件,即引起了权限等元数据属性发生变更或被覆盖,进而可能导致重删后某些用户的文件被修改甚至被删除。
因此,如何解决现有分布式对象存储系统在重删后导致用户的元数据属性被改变的问题,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种文件存储方法、文件存储装置、文件存储设备及计算机可读存储介质,解决了现有分布式对象存储系统在重删后导致用户的元数据属性被改变的问题。
为解决上述技术问题,本发明提供了一种文件存储方法,包括:
对目标文件进行条带化处理,得到多个目标对象,计算各个所述目标对象的指纹信息;
利用第一目标对象和所述目标文件的逻辑信息组成逻辑头对象,并将所述逻辑头对象存入存储系统中;
利用各个第二目标对象的指纹信息判断所述第二目标对象是否已被存入所述存储系统中;
若所述第二目标对象没有被存入所述存储系统中,则将所述第二目标对象确定为第三目标对象并存入所述存储系统中。
可选的,所述利用第一目标对象和所述目标文件的逻辑信息组成逻辑头对象,包括:
利用各个所述指纹信息和各个所述目标对象在所述目标文件中的位置信息构建切片信息;
获取所述目标文件的文件信息,利用所述切片信息和所述文件信息构建所述逻辑信息;
利用所述逻辑信息和所述第一目标对象进行拼接,得到所述逻辑头对象。
可选的,还包括:
利用所述目标文件的文件名和对应的桶信息组成逻辑头名,将所述逻辑头名确定为所述逻辑头对象的对象名。
可选的,若所述第二目标对象已被存入所述存储系统中,包括:
将所述第二目标对象在所述存储系统中对应的对象确定为第四目标对象,并将所述第四目标对象的引用计数加一。
可选的,所述将所述第二目标对象确定为第三目标对象并存入所述存储系统中,包括:
将所述第二目标对象和所述第二目标对象对应的第二目标信息封装得到所述第三目标对象;其中,所述第二目标信息包括所述第二目标对象的所述指纹信息或引用计数;
将所述第三目标对象存入所述存储系统中。
可选的,所述利用各个第二目标对象的指纹信息判断所述第二目标对象是否已被存入所述存储系统中,包括:
获取与所述存储系统对应的索引信息;
利用各个所述第二目标对象的指纹信息与所述索引信息中的已存指纹信息进行对比,判断所述指纹信息与所述已存指纹信息是否匹配。
可选的,所述计算各个所述目标对象的指纹信息,包括:
利用SHA1算法或SHA256算法计算各个所述目标对象对应的所述指纹信息。
本发明还提供了一种文件存储装置,包括:
指纹信息计算模块,用于对目标文件进行条带化处理,得到多个目标对象,计算各个所述目标对象的指纹信息;
逻辑头对象构建模块,用于利用第一目标对象和所述目标文件的逻辑信息组成逻辑头对象,并将所述逻辑头对象存入存储系统中;
判断模块,用于利用各个第二目标对象的指纹信息判断所述第二目标对象是否已被存入所述存储系统中;
存储模块,用于若所述第二目标对象没有被存入所述存储系统中,则将所述第二目标对象确定为第三目标对象并存入所述存储系统中。
本发明还提供了一种文件存储设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的文件存储方法。
本发明还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的文件存储方法。
本发明提供的文件存储方法,对目标文件进行条带化处理,得到多个目标对象,计算各个目标对象的指纹信息。利用第一目标对象和目标文件的逻辑信息组成逻辑头对象,并将逻辑头对象存入存储系统中。利用各个第二目标对象的指纹信息判断第二目标对象是否已被存入存储系统中。若第二目标对象没有被存入存储系统中,则将第二目标对象确定为第三目标对象并存入存储系统中。
可见,该方法不对具有逻辑信息的逻辑头对象进行重删处理,将所有文件的逻辑头对象均存入存储系统中,同时利用指纹信息对第二目标对象进行重删处理,即当确定第二目标对象没有被存入存储系统之后,将第二目标对象存入存储系统。由于逻辑头对象均存入了存储系统中,不参与存储系统的重删处理,因此可以保留各个文件的逻辑信息,不会导致不同用户存储的相同文件对应的逻辑信息被删除,避免存储系统重删后导致某些用户的文件被修改甚至被删除,解决了现有分布式对象存储系统在重删后导致用户的元数据属性被改变的问题。
此外,本发明还提供了一种文件存储装置、文件存储设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种文件存储方法流程图;
图2为本发明实施例提供的一种逻辑头对象构建流程图;
图3为本发明实施例提供的一种第二目标对象存储流程图;
图4为本发明实施例提供的一种第二目标对象存在判断过程流程图;
图5为本发明实施例提供的一种文件存储装置的结构示意图;
图6为本发明实施例提供的一种文件存储设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例提供的一种文件存储方法流程图。该方法包括:
S101:对目标文件进行条带化处理,得到多个目标对象,计算各个目标对象的指纹信息。
在对象存储系统中,由服务器执行文件的存储操作,因此可以由服务器执行本发明提供的文件存储方法。目标文件即为需要存入存储系统的文件,其具体内容和大小本实施例不做限定。对目标文件进行条带化处理可以得到多个目标对象,在本发明实施例中,各个目标对象的大小相同,目标对象的数量与目标文件的具体大小相关。具体的,可以在检测到目标文件时立即对目标文件进行条带化处理;或者可以在检测到上传请求时,对上传请求指定的目标文件进行条带化处理,上传请求和目标文件可以由客户端发送。在得到多个目标对象后,计算各个目标对象的指纹信息。指纹信息可以用于判断两个对象是否相同,当两个对象的指纹信息相同时,说明其内容完全相同。本发明实施例中优选的,利用SHA1算法或SHA256算法计算各个目标对象对应的指纹信息。
S102:利用第一目标对象和目标文件的逻辑信息组成逻辑头对象,并将逻辑头对象存入存储系统中。
在本发明实施例中,第一目标对象为目标文件划分出的第一个目标对象,即目标文件开端的目标对象。逻辑信息用于记录各个目标对象和目标文件的关系,例如为各个目标对象在目标文件中的位置关系;逻辑信息还可以记录一些其他的信息,例如目标文件的文件信息,文件信息可以包括用户权限信息、到期删除信息等。利用第一目标对象和目标文件的逻辑信息共同组成逻辑头对象。
在现有技术中,目标文件条带化处理后得到的所有目标对象均需要参与重删,即判断各个目标对象是否已经被存入存储系统中,若已经被存入,则不将其存入存储系统;若没有被存入,则将其存入存储系统。因此由第一目标对象和逻辑信息组成的逻辑头对象也需要参与重删,当第一目标对象已经被存入存储系统中,第一目标对象对应的逻辑头对象则无法被存入存储系统,逻辑头对象中的逻辑信息也会被舍弃,造成多个文件对应一个逻辑头对象的情况。由于各个用户的逻辑信息不同,因此可能会导致某些用户的文件被修改甚至被删除,例如当A用户的未被存入的逻辑头对象的到期删除时间较长,和其在存储系统中对应的B用户的逻辑头对象的到期删除时间较短,则A用户的文件会被提前删除。
为了解决这个问题,在利用第一目标对象和目标文件的逻辑信息组成逻辑头对象后,将逻辑头对象存入存储系统中,不对其进行重删处理。即不判断第一目标对象是否已经被存入存储系统中,而将所有目标文件的逻辑头对象都存入存储系统中。在将逻辑头对象存入存储系统中时,可以将其存入目标文件对应的上传请求中指定的目标桶中。
进一步,在组成逻辑头对象之后,在将逻辑头对象存入存储系统前,可以利用目标文件的文件名和目标文件对应的桶信息组成逻辑头名,将逻辑头名确定为逻辑头对象的对象名。目标文件对应的桶信息可以为桶名,或者可为桶id。桶信息可以位于目标文件对应的上传请求中,或者可以在获取目标文件时同时获取对应的桶信息。由于一个桶中不能存在同名文件,因此利用文件名和桶信息对逻辑头对象进行命名可以便于确定相同文件对应的不同逻辑头对象,加快文件确定速度。
S103:利用各个第二目标对象的指纹信息判断第二目标对象是否已被存入存储系统中。
第二目标对象为所有目标对象处第一目标对象以外的目标对象,利用各个第二目标对象的指纹信息判断各个第二目标对象是否已被存入存储系统中。例如可以遍历存储系统中的各个对象,获取其对应的指纹信息,利用指纹信息和第二目标对象的指纹信息判断是否已经被存入存储系统中。
S104:若第二目标对象没有被存入存储系统中,则将第二目标对象确定为第三目标对象并存入存储系统中。
第三目标对象为第二目标对象在存入存储系统中时的版本,不仅包括第二目标对象,还可以包括第二目标对象对应的对象信息,对象信息可以为第二目标对象的指纹信息,或者还可以包括第二目标对象的编号等信息,其具体内容本实施例不做限定。在确定第二目标对象没有被存入存储系统后,将第二目标对象确定为第三目标对象,即将第二目标对象封装为第三目标对象,并将第三目标对象存入存储系统中。
进一步,若第二目标对象已被存入存储系统中,则将第二目标对象在存储系统中对应的对象确定为第四目标对象,并将第四目标对象的引用计数加一。第四目标对象的引用计数可以位于第四目标对象的对象信息中,还可以位于整个存储系统的对应的索引信息中。在修改第四目标对象的引用计数后,可以删除第二目标对象,并对下一第二目标对象进行判断。
应用本发明实施例提供的文件存储方法,不对具有逻辑信息的逻辑头对象进行重删处理,将所有文件的逻辑头对象均存入存储系统中,同时利用指纹信息对第二目标对象进行重删处理,即当确定第二目标对象没有被存入存储系统之后,将第二目标对象存入存储系统。由于逻辑头对象均存入了存储系统中,不参与存储系统的重删处理,因此可以保留各个文件的逻辑信息,不会导致不同用户存储的相同文件对应的逻辑信息被删除,避免存储系统重删后导致某些用户的文件被修改甚至被删除,解决了现有分布式对象存储系统在重删后导致用户的元数据属性被改变的问题。
基于上述发明实施例,本发明实施例将说明一种具体的逻辑头对象构建过程,即对S102步骤进行具体说明。请参考图2,图2为本发明实施例提供的一种逻辑头对象构建流程图,包括:
S201:利用各个指纹信息和各个目标对象在目标文件中的位置信息构建切片信息。
各个目标对象在目标文件中的位置信息用于记录该目标对象在目标文件中的位置,其具体内容根据目标对象的不同而不同。例如,第一目标对象对应的位置信息可以为1,表示其在目标文件中的位置为第一位。利用各个指纹信息和各个目标对象在目标文件中的位置信息构建切片信息,例如可以将指纹信息按照从小到大排列,在排列后按照排列顺序排列其位置信息,将排好的指纹信息和位置信息组合为切片信息;或者按照各个目标对象的位置信息排列对应的指纹信息,例如将位置为1的指纹信息放在第一位,将位置为2的指纹信息放在第一位的后方,将位置为3的指纹信息放在第二位的后方,以此类推,最后将排列好的指纹信息队列确定为切片信息。
S202:获取目标文件的文件信息,利用切片信息和文件信息构建逻辑信息。
目标文件的文件信息可以包括OID规则、到期删除信息、ACL、所有者信息和用户权限信息等。文件信息还可以包括其他信息,本实施例对文件信息的具体内容不做限定。利用切片信息和文件信息构建逻辑信息,具体的,可以按照预设构建规则对切片信息和文件信息进行处理,得到逻辑信息。
S203:利用逻辑信息和第一目标对象进行拼接,得到逻辑头对象。
具体的,可以按照逻辑信息在前,第一目标对象在后的规则进行拼接,得到逻辑头对象。
基于上述发明实施例,本发明实施例将说明一种具体的第二目标对象存储过程,即对S104步骤进行具体说明,请参考图3,图3为本发明实施例提供的一种第二目标对象存储流程图,包括:
S301:将所述第二目标对象和所述第二目标对象对应的第二目标信息封装得到所述第三目标对象。
需要说明的是,第二目标信息可以为第二目标对象对应的指纹信息,或者可以为第二目标对象对应的引用计数,或者可以为指纹信息和引用计数的结合。将第二目标信息与第二目标对象进行封装得到第三目标对象,以便利用第二目标信息在存储系统中定位第二目标对象。
S302:将所述第三目标对象存入所述存储系统中。
具体的,可以将第三目标对象存入目标文件对应的上传信息指定的目标桶中。
基于上述发明实施例,本发明实施例将说明一种第二目标对象是否被存入存储系统的判断过程,请参考图4,图4为本发明实施例提供的一种第二目标对象存在判断过程流程图,包括:
S401:获取与存储系统对应的索引信息。
索引信息用于记录存储系统中存入的已存对象的指纹信息、引用计数等信息,还可以记录已存对象的编号信息等。在判断已存对象是否已经被存入存储系统时,可以获取索引信息,读取索引信息以便获取其中的已存指纹信息或引用计数。
S402:利用各个第二目标对象的指纹信息与索引信息中的已存指纹信息进行对比,判断指纹信息与已存指纹信息是否匹配。
利用第二目标对象的指纹信息与索引信息中的已存指纹信息进行对比,判断指纹信息是否匹配,当某个第二目标对象的指纹信息与索引信息中的某个已存指纹信息相同时,即匹配时,说明该第二目标对象已经被存入存储系统中。若某个第二目标对象的指纹信息与索引信息中的所以已存指纹信息均不匹配,则说明第二目标对象没有被存入存储系统中。
下面对本发明实施例提供的文件存储装置进行介绍,下文描述的文件存储装置与上文描述的文件存储方法可相互对应参照。
请参考图5,图5为本发明实施例提供的一种文件存储装置的结构示意图,包括:
指纹信息计算模块510,用于对目标文件进行条带化处理,得到多个目标对象,计算各个目标对象的指纹信息;
逻辑头对象构建模块520,用于利用第一目标对象和目标文件的逻辑信息组成逻辑头对象,并将逻辑头对象存入存储系统中;
判断模块530,用于利用各个第二目标对象的指纹信息判断第二目标对象是否已被存入存储系统中;
存储模块540,用于若第二目标对象没有被存入存储系统中,则将第二目标对象确定为第三目标对象并存入存储系统中。
可选的,逻辑头对象构建模块520,包括:
切片信息获取单元,用于利用各个指纹信息和各个目标对象在目标文件中的位置信息构建切片信息;
逻辑信息构建单元,用于获取目标文件的文件信息,利用切片信息和文件信息构建逻辑信息;
拼接单元,用于利用逻辑信息和第一目标对象进行拼接,得到逻辑头对象。
可选的,还包括:
逻辑头名确定模块,用于利用目标文件的文件名和对应的桶信息组成逻辑头名,将逻辑头名确定为逻辑头对象的对象名。
可选的,包括:
引用计数修改模块,用于将第二目标对象在存储系统中对应的对象确定为第四目标对象,并将第四目标对象的引用计数加一。
可选的,存储模块540,包括:
封装单元,用于将第二目标对象和第二目标对象对应的第二目标信息封装得到第三目标对象;其中,第二目标信息包括第二目标对象的指纹信息或引用计数;
存储单元,用于将第三目标对象存入存储系统中。
可选的,判断模块530,包括:
索引信息获取单元,用于获取与存储系统对应的索引信息;
匹配判断单元,用于利用各个第二目标对象的指纹信息与索引信息中的已存指纹信息进行对比,判断指纹信息与已存指纹信息是否匹配。
可选的,指纹信息计算模块510,包括:
计算单元,用于利用SHA1算法或SHA256算法计算各个目标对象对应的指纹信息。
下面对本发明实施例提供的文件存储设备进行介绍,下文描述的文件存储设备与上文描述的文件存储方法可相互对应参照。
请参考图6,图6为本发明实施例提供的一种文件存储设备的结构示意图,该文件存储设备包括存储器、处理器,其中:
存储器610,用于保存计算机程序;
处理器620,用于执行计算机程序,以实现上述的文件存储方法。
下面对本发明实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的文件存储方法可相互对应参照。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的文件存储方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明所提供的一种文件存储方法、文件存储装置、文件存储设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种文件存储方法,其特征在于,包括:
对目标文件进行条带化处理,得到多个目标对象,计算各个所述目标对象的指纹信息;
利用第一目标对象和所述目标文件的逻辑信息组成逻辑头对象,并将所述逻辑头对象存入存储系统中;
利用各个第二目标对象的指纹信息判断所述第二目标对象是否已被存入所述存储系统中;
若所述第二目标对象没有被存入所述存储系统中,则将所述第二目标对象确定为第三目标对象并存入所述存储系统中。
2.根据权利要求1所述的文件存储方法,其特征在于,所述利用第一目标对象和所述目标文件的逻辑信息组成逻辑头对象,包括:
利用各个所述指纹信息和各个所述目标对象在所述目标文件中的位置信息构建切片信息;
获取所述目标文件的文件信息,利用所述切片信息和所述文件信息构建所述逻辑信息;
利用所述逻辑信息和所述第一目标对象进行拼接,得到所述逻辑头对象。
3.根据权利要求1所述的文件存储方法,其特征在于,还包括:
利用所述目标文件的文件名和对应的桶信息组成逻辑头名,将所述逻辑头名确定为所述逻辑头对象的对象名。
4.根据权利要求1所述的文件存储方法,其特征在于,若所述第二目标对象已被存入所述存储系统中,包括:
将所述第二目标对象在所述存储系统中对应的对象确定为第四目标对象,并将所述第四目标对象的引用计数加一。
5.根据权利要求1所述的文件存储方法,其特征在于,所述将所述第二目标对象确定为第三目标对象并存入所述存储系统中,包括:
将所述第二目标对象和所述第二目标对象对应的第二目标信息封装得到所述第三目标对象;其中,所述第二目标信息包括所述第二目标对象的所述指纹信息或引用计数;
将所述第三目标对象存入所述存储系统中。
6.根据权利要求1所述的文件存储方法,其特征在于,所述利用各个第二目标对象的指纹信息判断所述第二目标对象是否已被存入所述存储系统中,包括:
获取与所述存储系统对应的索引信息;
利用各个所述第二目标对象的指纹信息与所述索引信息中的已存指纹信息进行对比,判断所述指纹信息与所述已存指纹信息是否匹配。
7.根据权利要求1所述的文件存储方法,其特征在于,所述计算各个所述目标对象的指纹信息,包括:
利用SHA1算法或SHA256算法计算各个所述目标对象对应的所述指纹信息。
8.一种文件存储装置,其特征在于,包括:
指纹信息计算模块,用于对目标文件进行条带化处理,得到多个目标对象,计算各个所述目标对象的指纹信息;
逻辑头对象构建模块,用于利用第一目标对象和所述目标文件的逻辑信息组成逻辑头对象,并将所述逻辑头对象存入存储系统中;
判断模块,用于利用各个第二目标对象的指纹信息判断所述第二目标对象是否已被存入所述存储系统中;
存储模块,用于若所述第二目标对象没有被存入所述存储系统中,则将所述第二目标对象确定为第三目标对象并存入所述存储系统中。
9.一种文件存储设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的文件存储方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的文件存储方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911244744.7A CN111090620B (zh) | 2019-12-06 | 2019-12-06 | 一种文件存储方法、装置、设备及可读存储介质 |
PCT/CN2020/103691 WO2021109587A1 (zh) | 2019-12-06 | 2020-07-23 | 一种文件存储方法、装置、设备及可读存储介质 |
US17/782,527 US20230008406A1 (en) | 2019-12-06 | 2020-07-23 | File Storage Method and Apparatus, and Device and Readable Storage Medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911244744.7A CN111090620B (zh) | 2019-12-06 | 2019-12-06 | 一种文件存储方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111090620A true CN111090620A (zh) | 2020-05-01 |
CN111090620B CN111090620B (zh) | 2022-04-22 |
Family
ID=70396060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911244744.7A Active CN111090620B (zh) | 2019-12-06 | 2019-12-06 | 一种文件存储方法、装置、设备及可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230008406A1 (zh) |
CN (1) | CN111090620B (zh) |
WO (1) | WO2021109587A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737206A (zh) * | 2020-06-06 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 一种文件重删处理方法、系统、终端及存储介质 |
CN111752909A (zh) * | 2020-06-11 | 2020-10-09 | 厦门网宿有限公司 | 一种多版本文件的操作方法、系统及装置 |
WO2021109587A1 (zh) * | 2019-12-06 | 2021-06-10 | 浪潮电子信息产业股份有限公司 | 一种文件存储方法、装置、设备及可读存储介质 |
CN114095491A (zh) * | 2021-10-31 | 2022-02-25 | 郑州云海信息技术有限公司 | 一种web网页应用文件上传的方法、装置、设备及可读介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120150824A1 (en) * | 2010-12-10 | 2012-06-14 | Inventec Corporation | Processing System of Data De-Duplication |
CN102629247A (zh) * | 2011-12-31 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和系统 |
US20120303595A1 (en) * | 2011-05-25 | 2012-11-29 | Inventec Corporation | Data restoration method for data de-duplication |
CN103942292A (zh) * | 2014-04-11 | 2014-07-23 | 华为技术有限公司 | 虚拟机镜像文件处理方法、装置及系统 |
US20150154221A1 (en) * | 2013-12-03 | 2015-06-04 | Samsung Electronics Co., Ltd. | Deduplication method and deduplication system using data association information |
CN106066896A (zh) * | 2016-07-15 | 2016-11-02 | 中国人民解放军理工大学 | 一种应用感知的大数据重复删除存储系统及方法 |
CN107229420A (zh) * | 2017-05-27 | 2017-10-03 | 郑州云海信息技术有限公司 | 数据存储方法、读取方法、删除方法和数据操作系统 |
CN109241011A (zh) * | 2018-09-21 | 2019-01-18 | 联想(北京)有限公司 | 一种虚拟机文件处理方法及装置 |
US20190026042A1 (en) * | 2017-07-18 | 2019-01-24 | Vmware, Inc. | Deduplication-Aware Load Balancing in Distributed Storage Systems |
CN109522283A (zh) * | 2018-10-30 | 2019-03-26 | 深圳先进技术研究院 | 一种重复数据删除方法及系统 |
CN110399096A (zh) * | 2019-06-25 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 分布式文件系统元数据缓存重删的方法、装置以及设备 |
CN110399348A (zh) * | 2019-07-19 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 文件重删方法、装置、系统及计算机可读存储介质 |
US10481820B1 (en) * | 2015-12-30 | 2019-11-19 | EMC IP Holding Company LLC | Managing data in storage systems |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10394757B2 (en) * | 2010-11-18 | 2019-08-27 | Microsoft Technology Licensing, Llc | Scalable chunk store for data deduplication |
US8521705B2 (en) * | 2011-07-11 | 2013-08-27 | Dell Products L.P. | Accelerated deduplication |
US8631052B1 (en) * | 2011-12-22 | 2014-01-14 | Emc Corporation | Efficient content meta-data collection and trace generation from deduplicated storage |
US10078583B1 (en) * | 2016-03-31 | 2018-09-18 | EMC IP Holding Company LLC | Method and system for reducing memory used in embedded DDRs by using spare drives for OOC GC |
CN107220005A (zh) * | 2017-05-27 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种数据操作方法及系统 |
CN107506150A (zh) * | 2017-08-30 | 2017-12-22 | 郑州云海信息技术有限公司 | 分布式存储装置、重删、写、删除、读取方法以及系统 |
CN110245129B (zh) * | 2019-04-23 | 2022-05-13 | 平安科技(深圳)有限公司 | 一种分布式全局数据去重方法和装置 |
CN111090620B (zh) * | 2019-12-06 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 一种文件存储方法、装置、设备及可读存储介质 |
-
2019
- 2019-12-06 CN CN201911244744.7A patent/CN111090620B/zh active Active
-
2020
- 2020-07-23 US US17/782,527 patent/US20230008406A1/en active Pending
- 2020-07-23 WO PCT/CN2020/103691 patent/WO2021109587A1/zh active Application Filing
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120150824A1 (en) * | 2010-12-10 | 2012-06-14 | Inventec Corporation | Processing System of Data De-Duplication |
US20120303595A1 (en) * | 2011-05-25 | 2012-11-29 | Inventec Corporation | Data restoration method for data de-duplication |
CN102629247A (zh) * | 2011-12-31 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和系统 |
US20150154221A1 (en) * | 2013-12-03 | 2015-06-04 | Samsung Electronics Co., Ltd. | Deduplication method and deduplication system using data association information |
CN103942292A (zh) * | 2014-04-11 | 2014-07-23 | 华为技术有限公司 | 虚拟机镜像文件处理方法、装置及系统 |
US10481820B1 (en) * | 2015-12-30 | 2019-11-19 | EMC IP Holding Company LLC | Managing data in storage systems |
CN106066896A (zh) * | 2016-07-15 | 2016-11-02 | 中国人民解放军理工大学 | 一种应用感知的大数据重复删除存储系统及方法 |
CN107229420A (zh) * | 2017-05-27 | 2017-10-03 | 郑州云海信息技术有限公司 | 数据存储方法、读取方法、删除方法和数据操作系统 |
US20190026042A1 (en) * | 2017-07-18 | 2019-01-24 | Vmware, Inc. | Deduplication-Aware Load Balancing in Distributed Storage Systems |
CN109241011A (zh) * | 2018-09-21 | 2019-01-18 | 联想(北京)有限公司 | 一种虚拟机文件处理方法及装置 |
CN109522283A (zh) * | 2018-10-30 | 2019-03-26 | 深圳先进技术研究院 | 一种重复数据删除方法及系统 |
CN110399096A (zh) * | 2019-06-25 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 分布式文件系统元数据缓存重删的方法、装置以及设备 |
CN110399348A (zh) * | 2019-07-19 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 文件重删方法、装置、系统及计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
SEETENDRA SINGH SENGAR ET AL.: "E-DAID: An Efficient Distributed Architecture for In-Line Data De-duplication", 《2012 INTERNATIONAL CONFERENCE ON COMMUNICATION SYSTEMS AND NETWORK TECHNOLOGIES》 * |
刘青等: "基于Hadoop平台的分布式重删存储系统", 《计算机应用》 * |
郭玉剑: "面向分布式的重复数据删除技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021109587A1 (zh) * | 2019-12-06 | 2021-06-10 | 浪潮电子信息产业股份有限公司 | 一种文件存储方法、装置、设备及可读存储介质 |
CN111737206A (zh) * | 2020-06-06 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 一种文件重删处理方法、系统、终端及存储介质 |
CN111737206B (zh) * | 2020-06-06 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种文件重删处理方法、系统、终端及存储介质 |
CN111752909A (zh) * | 2020-06-11 | 2020-10-09 | 厦门网宿有限公司 | 一种多版本文件的操作方法、系统及装置 |
WO2021248640A1 (zh) * | 2020-06-11 | 2021-12-16 | 厦门网宿有限公司 | 一种多版本文件的操作方法、系统及装置 |
CN111752909B (zh) * | 2020-06-11 | 2023-05-16 | 厦门网宿有限公司 | 一种多版本文件的操作方法、系统及装置 |
CN114095491A (zh) * | 2021-10-31 | 2022-02-25 | 郑州云海信息技术有限公司 | 一种web网页应用文件上传的方法、装置、设备及可读介质 |
CN114095491B (zh) * | 2021-10-31 | 2023-08-22 | 郑州云海信息技术有限公司 | 一种web网页应用文件上传的方法、装置、设备及可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111090620B (zh) | 2022-04-22 |
US20230008406A1 (en) | 2023-01-12 |
WO2021109587A1 (zh) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090620B (zh) | 一种文件存储方法、装置、设备及可读存储介质 | |
CN107643880B (zh) | 基于分布式文件系统的文件数据迁移的方法及装置 | |
US9235589B2 (en) | Optimizing storage allocation in a virtual desktop environment | |
CN109271321B (zh) | 一种贡献代码数统计方法及装置 | |
CN108108127B (zh) | 一种文件读取方法及系统 | |
US9443082B2 (en) | User evaluation | |
US20170154050A1 (en) | Optimized content object storage service for large scale content | |
CN109241084B (zh) | 数据的查询方法、终端设备及介质 | |
CN103414759A (zh) | 网盘文件传输方法和装置 | |
CN107832470A (zh) | 一种基于存储系统的对象存储方法及装置 | |
CN109101635B (zh) | 一种基于Redis Hash结构的数据处理方法及装置 | |
CN111125017A (zh) | 基于树形结构的数据存储方法、装置及计算机设备 | |
CN107885859B (zh) | 一种文件个数配额的方法、装置和计算机可读存储介质 | |
JP6307888B2 (ja) | 操作対象管理装置及びプログラム | |
CN110245129B (zh) | 一种分布式全局数据去重方法和装置 | |
CN111198885A (zh) | 数据的处理方法及装置 | |
CN105183799B (zh) | 一种权限管理的方法及客户端 | |
CN109446825B (zh) | 一种访问控制权限的扩展方法及装置 | |
CN108399266B (zh) | 数据抽取方法、装置、电子设备及计算机可读存储介质 | |
CN115129789A (zh) | 一种分布式对象存储系统的桶索引存储方法、装置及介质 | |
CN109669623A (zh) | 一种文件管理方法、文件管理装置、电子设备及存储介质 | |
US11023226B2 (en) | Dynamic data ingestion | |
CN109241011B (zh) | 一种虚拟机文件处理方法及装置 | |
US20200293496A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
CN112463741A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |