Nothing Special   »   [go: up one dir, main page]

CN110147203B - 一种文件管理方法、装置、电子设备及存储介质 - Google Patents

一种文件管理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110147203B
CN110147203B CN201910411298.8A CN201910411298A CN110147203B CN 110147203 B CN110147203 B CN 110147203B CN 201910411298 A CN201910411298 A CN 201910411298A CN 110147203 B CN110147203 B CN 110147203B
Authority
CN
China
Prior art keywords
storage
file
storage area
data
storing
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.)
Active
Application number
CN201910411298.8A
Other languages
English (en)
Other versions
CN110147203A (zh
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 Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud 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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201910411298.8A priority Critical patent/CN110147203B/zh
Publication of CN110147203A publication Critical patent/CN110147203A/zh
Application granted granted Critical
Publication of CN110147203B publication Critical patent/CN110147203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • 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
    • 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/0643Management of files
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种文件管理方法、装置、电子设备及存储介质,其中,文件管理方法包括:获得待写入的合并文件;将所述合并文件存储至第一存储区域,并获得针对所述合并文件中各小文件的索引数据;将所述索引数据存储至第二存储区域,所述第二存储区域的数据读写性能高于所述第一存储区域的数据读写性能。本发明实施例在节约存储空间的同时还能够提高云存储系统的数据读取性能。

Description

一种文件管理方法、装置、电子设备及存储介质
技术领域
本发明涉及数据存储技术领域,特别是涉及一种文件管理方法、装置、电子设备及存储介质。
背景技术
云存储技术是一种用于数据云端存储的技术,云存储系统可以接收客户端通过网络发送的数据,从而对数据进行存储。
在云存储系统中,数据通常以文件的形式存储,具体地,云存储系统中的存储服务器将文件按照固定大小进行分块,每一块称为一个数据块,并将每个数据块存储至预先在存储介质上划分的存储空间块中,也即,一个存储空间块对应存储一个数据块,而对于大小不足上述固定大小的一个小文件,则需要在存储时单独占据一个存储空间块,当小文件数量过多时,导致出现存储空间浪费的问题。
现有技术通常采用如下方案避免存储空间浪费:将大量小文件合并为一个大文件,将该大文件与各小文件的索引信息分别存储至存储服务器的机械硬盘上。在读取小文件时,先读取小文件的索引信息,再基于索引信息从大文件中读取数据。
但是,由于小文件数量众多,现有技术在每次读取小文件时,都要先读取索引信息再读取数据,即,都要读取机械硬盘两次,因此存储服务器的单机QPS(Query Per Second,每秒查询率)可达1000以上,而机械硬盘能提供的最大QPS一般仅为90,导致数据读取能力无法满足数据读取需求,从而造成存储服务器的数据读取性能低下。
发明内容
本发明实施例的目的在于提供一种文件管理方法、装置、电子设备及存储介质,以在节约存储空间的同时提高存储服务器的数据读取性能。具体技术方案如下:
第一方面,本发明实施例提供了一种文件管理方法,应用于云存储系统中的管理服务器,所述管理服务器用于管理所述云存储系统中的多台存储服务器,所述存储服务器用于存储数据,所述方法包括:
获得待写入的合并文件,所述合并文件为多个小文件经合并后得到的文件,所述小文件为大小低于预设阈值的文件;
将所述合并文件存储至第一存储区域,并获得针对所述合并文件中各小文件的索引数据,其中,每条所述索引数据中均携带一个所述小文件的存储位置信息;
将所述索引数据存储至第二存储区域,其中,所述第二存储区域的数据读写性能高于所述第一存储区域的数据读写性能。
可选的,所述将所述合并文件存储至第一存储区域的步骤,包括:
将所述合并文件存储至第一存储介质对应的存储区域中;
所述将所述索引数据存储至第二存储区域的步骤,包括:
将所述索引数据存储至第二存储介质对应的存储区域中,其中,所述第二存储介质的数据读写性能高于所述第一存储介质的数据读写性能。
可选的,所述第一存储介质为机械硬盘,所述第二存储介质为固态硬盘SSD。
可选的,所述将所述合并文件存储至第一存储区域的步骤,包括:
将所述合并文件存储至第一存储服务器的第一存储区域,所述第一存储服务器为所述多台存储服务器中的其中一台;
所述将所述索引数据存储至第二存储区域的步骤,包括:
将所述索引数据存储至所述第一存储服务器的第二存储区域。
可选的,所述第一存储区域和所述第二存储区域被划分为大小相同的存储空间块,每一个存储空间块用于存储一个数据块,一个所述数据块包括:多个存储目录,以及存储位置指定目录,所述存储目录用于存储数据,所述存储位置指定目录下记录有预设数值,不同的所述预设数值用于指定将数据存储至不同的存储目录下;
所述将所述合并文件存储至第一存储区域的步骤,包括:
如果所述合并文件的大小不大于所述存储空间块的大小,则将所述合并文件存储至所述第一存储区域的其中一个存储空间块所对应数据块的指定存储目录下;
如果所述合并文件的大小大于所述存储空间块的大小,则将所述合并文件存储至所述第一存储区域的多个存储空间块各自对应的数据块的指定存储目录下。
可选的,所述方法还包括:
从所述第二存储区域,读取待从所述第一存储区域读取的小文件的索引数据;
根据所述索引数据,定位所述小文件的数据在所述第一存储区域的存储位置;
根据所定位的所述存储位置,从所述第一存储区域所存储的所述合并文件中读取所述小文件。
可选的,所述从所述第二存储区域,读取待从所述第一存储区域读取的小文件的索引数据的步骤,包括:
从所述第二存储介质对应的存储区域中,获得待从所述第一存储介质对应的存储区域中读取的小文件的索引数据;
所述从所述第一存储区域所存储的所述合并文件中读取所述小文件的步骤,包括:
从所述第一存储介质对应的存储区域所存储的所述合并文件中,读取所述小文件。
第二方面,本发明实施例提供了一种文件管理装置,应用于云存储系统中的管理服务器,所述管理服务器用于管理所述云存储系统中的多台存储服务器,所述存储服务器用于存储数据,所述装置包括:
获得模块,用于获得待写入的合并文件,所述合并文件为多个小文件经合并后得到的文件,所述小文件为大小低于预设阈值的文件;
第一存储模块,用于将所述合并文件存储至第一存储区域,并获得针对所述合并文件中各小文件的索引数据,其中,每条所述索引数据中均携带一个所述小文件的存储位置信息;
第二存储模块,用于将所述索引数据存储至第二存储区域,其中,所述第二存储区域的数据读写性能高于所述第一存储区域的数据读写性能。
可选的,所述第一存储模块,具体用于:
将所述合并文件存储至第一存储介质对应的存储区域中;
所述第二存储模块,具体用于:
将所述索引数据存储至第二存储介质对应的存储区域中,其中,所述第二存储介质的数据读写性能高于所述第一存储介质的数据读写性能。
可选的,所述第一存储介质为机械硬盘,所述第二存储介质为固态硬盘SSD。
可选的,所述第一存储模块,具体用于:
将所述合并文件存储至第一存储服务器的第一存储区域,所述第一存储服务器为所述多台存储服务器中的其中一台;
所述第二存储模块,具体用于:
将所述索引数据存储至所述第一存储服务器的第二存储区域。
可选的,所述第一存储区域和所述第二存储区域被划分为大小相同的存储空间块,每一个存储空间块用于存储一个数据块,一个所述数据块包括:多个存储目录,以及存储位置指定目录,所述存储目录用于存储数据,所述存储位置指定目录下记录有预设数值,不同的所述预设数值用于指定将数据存储至不同的存储目录下;
所述第一存储模块,包括:
第一存储子模块,用于如果所述合并文件的大小不大于所述存储空间块的大小,则将所述合并文件存储至所述第一存储区域的其中一个存储空间块所对应数据块的指定存储目录下;
第二存储子模块,用于如果所述合并文件的大小大于所述存储空间块的大小,则将所述合并文件存储至所述第一存储区域的多个存储空间块各自对应的数据块的指定存储目录下。
可选的,所述装置还包括:
第一读取模块,用于从所述第二存储区域,读取待从所述第一存储区域读取的小文件的索引数据;
定位模块,用于根据所述索引数据,定位所述小文件的数据在所述第一存储区域的存储位置;
第二读取模块,用于根据所定位的所述存储位置,从所述第一存储区域所存储的所述合并文件中读取所述小文件。
可选的,所述第一读取模块,具体用于:
从所述第二存储介质对应的存储区域中,获得待从所述第一存储介质对应的存储区域中读取的小文件的索引数据;
所述第二读取模块,具体用于:
从所述第一存储介质对应的存储区域所存储的所述合并文件中,读取所述小文件。
第三方面,本发明实施例提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现上述第一方面提供的文件管理方法的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面提供的文件管理方法的方法步骤。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面提供的文件管理方法的方法步骤。
第六方面,本发明实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面提供的文件管理方法的方法步骤。
本发明实施例提供的一种文件管理方法、装置、电子设备及存储介质,在获得待写入的合并文件后,通过将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,再将索引数据存储至第二存储区域,由于第二存储区域的数据读写性能高于第一存储区域的数据读写性能,因此在读取小文件时,能够利用第二存储区域的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而避免现有文件管理方法存在的数据读取性能低下的问题,在节约存储空间的同时还能够提高云存储系统的数据读取性能。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件管理方法的流程示意图;
图2为本发明实施例的云存储系统中的数据管理拓扑结构的示意图;
图3为本发明实施例提供的另一种文件管理方法的流程示意图;
图4为本发明实施例提供的再一种文件管理方法的流程示意图;
图5为本发明实施例提供的第四种文件管理方法的流程示意图;
图6为本发明实施例中的存储服务器的存储拓扑结构示意图;
图7为本发明实施例中数据块的存储内容示意图;
图8为本发明实施例提供的第五种文件管理方法的流程示意图;
图9为本发明实施例提供的一种文件管理装置的结构示意图;
图10为本发明实施例中第一存储模块的结构示意图;
图11为本发明实施例提供的另一种文件管理装置的结构示意图;
图12为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的文件管理方法,通常还可以采用以下方案:
针对待写入的文件,判断文件大小是否小于预设的阈值,如果该文件不大于阈值,则可以将该文件直接存储至基于SSD(Solid State Disk,固态硬盘)的存储服务器中;如果该文件大于阈值,则可以将该文件存储至基于机械硬盘的存储服务器中。但是,这种管理方法使得所有小文件均需存放至SSD中,而目前SSD价格高昂,将导致云存储系统运营成本高。
或者,如果该文件不大于阈值,则可以在内存中为该文件分配预设大小的缓存,将该文件写入缓存;如果该文件大于阈值,则可以将该文件存储至基于机械硬盘的存储服务器中。但是,这种管理方法由于小文件在内存中存放,当机器故障时将会导致数据丢失。
方法实施例1
有鉴如此,如图1所示,本发明实施例首先提供了一种文件管理方法,该方法可以应用于云存储系统中的管理服务器,其中,管理服务器可以用于管理云存储系统中的多台存储服务器,存储服务器用于存储数据,该方法可以包括以下步骤:
S101,获得待写入的合并文件。
本发明实施例中,如图2所示,为云存储系统中的数据管理拓扑结构的示意图,其中,一个云存储系统中可以包括多个存储集群,每个存储集群中布设有一台管理服务器(即nameserver)以及若干台(N台,N大于2)存储服务器(即dataserver),管理服务器可以对上述若干台存储服务器统一进行管理,存储服务器用于存储数据,示例性地,当获得待写入数据后,管理服务器可以控制上述存储服务器对该数据进行存储。
其中的合并文件,可以是指将多个小文件经合并处理后得到的一个大文件,可以理解,所得到的合并文件的大小相比于各小文件更大,由于可以以一个文件的形式进行存储,因此能够避免一个小文件存不满一个存储空间块的情况发生,即,避免存储空间浪费的问题。
并且,合并文件中的各小文件的数据可以是按顺序保存至合并文件中的,因此更有利于传统机械硬盘读写(传统机械硬盘的随机读取性能远低于连续读取性能)。
并且,由于此时合并文件还没有存储至存储服务器中,因此可以将上述合并文件称为待写入的合并文件。
其中的小文件,可以是指大小低于预设阈值的文件,例如,数据大小低于2KB(Kilobyte,千字节)的文件。当然,云存储系统的开发人员可以根据实际业务需求灵活合理地设置上述阈值,本发明实施例对上述阈值的具体数值不做限定。将多个小文件合并为一个合并文件的过程可以通过现有的文件合并方法得到,其具体过程本发明实施例不再赘述。
S102,将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据。
在一个存储集群中可以设置有不同的存储区域,针对不同的存储区域,其对应的数据读写性能可以不同,因此,本发明实施例可以将合并文件存储至第一存储区域,并在存储后,得到该合并文件中各小文件的索引数据,其中,每条索引数据中均携带一个小文件的存储位置信息,也即,一条索引数据对应一个小文件的存储位置信息,存储位置信息用于记录小文件在第一存储区域的存储位置,例如,所存储的存储空间块的标识号,并可以在读取该小文件时起到定位的作用。
上述得到各小文件的索引数据的过程,可以通过现有的文件索引信息生成方法得到,本发明实施例不再赘述。
S103,将索引数据存储至第二存储区域,第二存储区域的数据读写性能高于第一存储区域的数据读写性能。
在得到索引数据后,本发明实施例可以将索引数据存储至第二存储区域,第二存储区域是与第一存储区域不同的区域,并且,第二存储区域的数据读写性能高于第一存储区域的数据读写性能。通过将索引数据存储到读写性能更高的第二存储区域中,这样在读取大量小文件时,可以利用第二存储区域的高读写性能,更加快速地读取各小文件的索引数据,进而根据所读取的索引数据进一步从合并文件中读取各小文件,能够避免由于传统机械硬盘性能所限导致的数据读取性能低下的问题。另外,由于索引数据相对于文件数据所需存储空间更小,因此,仅将索引数据存储在数据读写性能高的第二存储区域可以节约成本。
本发明实施例提供的一种文件管理方法,在获得待写入的合并文件后,通过将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,再将索引数据存储至第二存储区域,由于第二存储区域的数据读写性能高于第一存储区域的数据读写性能,因此在读取小文件时,能够利用第二存储区域的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而避免现有文件管理方法存在的数据读取性能低下的问题,在节约存储空间的同时还能够提高云存储系统的数据读取性能。
方法实施例2
如图3所示,本发明实施例还提供了一种文件管理方法,该方法可以包括以下步骤:
S201,获得待写入的合并文件。
该步骤与方法实施例1的步骤S101相同,本发明实施例在此不再赘述。
S202,将合并文件存储至第一存储介质对应的存储区域中,并获得针对合并文件中各小文件的索引数据。
该步骤与方法实施例1的步骤S102相似,不同处在于,本发明实施例可以将合并文件存储至第一存储介质对应的存储区域中,即,第一存储区域具体可以为第一存储介质对应的存储区域。
作为本发明实施例一种可选的实施方式,上述第一存储介质例如可以为机械硬盘,则上述将合并文件存储至第一存储介质对应的存储区域中的步骤,即,可以为将合并文件存储至机械硬盘对应的存储区域中。
S203,将索引数据存储至第二存储介质对应的存储区域中。
该步骤与方法实施例1的步骤S103相似,不同处在于,本发明实施例可以将索引数据存储至第二存储介质对应的存储区域中,即,第二存储区域具体可以为第二存储介质对应的存储区域。
作为本发明实施例一种可选的实施方式,上述第二存储介质例如可以为SSD,则上述将索引数据存储至第二存储介质对应的存储区域中的步骤,即,可以为将索引数据存储至SSD对应的存储区域中。
可以理解,第二存储介质的数据读写性能高于第一存储介质的数据读写性能,因此在读取小文件时,本发明实施例能够更快速地读取各小文件的索引数据。
本发明实施例提供的一种文件管理方法,由于第二存储介质的数据读写性能高于第一存储介质的数据读写性能,因此在读取小文件时,能够利用第二存储介质的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而进一步提高云存储系统的数据读取性能。
方法实施例3
如图4所示,本发明实施例还提供了一种文件管理方法,该方法可以包括以下步骤:
S301,获得待写入的合并文件。
该步骤与方法实施例1的步骤S101相同,本发明实施例在此不再赘述。
S302,将合并文件存储至第一存储服务器的第一存储区域。
该步骤与方法实施例1的步骤S102相似,不同处在于,本发明实施例中,管理服务器可以将合并文件存储至一个存储集群中的其中一台存储服务器上,具体地,可以将合并文件存储至第一存储服务器的第一存储区域,上述第一存储服务器即为存储集群中的任意一台存储服务器。
可选的,可以将合并文件存储至第一存储服务器的第一存储介质对应的存储区域,上述第一存储区域具体可以为第一存储服务器上的第一存储介质所对应的存储区域。
可选的,第一存储介质可以为机械硬盘。
S303,将索引数据存储至第一存储服务器的第二存储区域。
该步骤与方法实施例1的步骤S103相似,不同处在于,本发明实施例可以将索引数据存储至一个存储集群中的其中一台存储服务器上,具体地,可以将索引数据存储至第一存储服务器的第二存储区域,上述第一存储服务器即为存储集群中的任意一台存储服务器,该存储服务器的第二存储区域的数据读写性能高于第一存储区域的数据读写性能。
可选的,可以将索引数据存储至第一存储服务器的第二存储介质对应的存储区域,上述第二存储区域具体可以为第一存储服务器上的第二存储介质所对应的存储区域。
可选的,第二存储介质可以为SSD。
相比于现有技术中,将小文件全部存放在SSD磁盘,或者存放在SSD磁盘构成的分布式存储系统中,本发明实施例的成本更低,原因是在相同容量下,SSD比机械硬盘价格更贵,一个存储服务器中,如果磁盘全部更换为SSD,则相比于本发明实施例的文件管理方法,存储成本至少上升100倍。
作为本发明实施例一种可选的实施方式,在图4所示流程的基础上,如图5所示,在步骤S302之前,本发明实施例的文件管理方法还可以包括:
S301’,判断合并文件的大小是否大于存储空间块的大小。
则上述步骤S302具体可以包括:
S3021,如果合并文件的大小不大于存储空间块的大小,则将合并文件存储至第一存储区域的其中一个存储空间块所对应数据块的指定存储目录下。
本发明实施例中,如果合并文件的大小小于或等于存储空间块的大小,表明只需要一个存储空间块所提供的存储空间,便可以满足该合并文件需要的存储空间。
示例性地,可以将上述合并文件存储在一个存储空间块所对应数据块的存储目录0下,或者存储目录1下。
S3022,如果合并文件的大小大于存储空间块的大小,则将合并文件存储至第一存储区域的多个存储空间块各自对应的数据块的指定存储目录下。
本发明实施例中,如果合并文件的大小大于存储空间块的大小,表明一个存储空间块所提供的存储空间,无法满足该合并文件所需要的存储空间,因此可以使用多个连续的存储空间块对该合并文件进行存储。
同样地,可以将数据存储至上述多个存储空间块各自对应的数据块的指定存储目录下。
如图6所示,为本发明实施例中的存储服务器的存储拓扑结构示意图,一个存储服务器中通常设置有多块磁盘,组成磁盘阵列。每块磁盘的存储区域,可以按照预设的大小,被划分为多个大小相同的存储空间块(N个,N大于2),各存储空间块可以用于存储数据。
本发明实施例中,示例性地,待写入文件在磁盘的存放路径可以表示为:/data/vols/vol1/phenix_data/00000000000000709106501,其中,data/、vols/、vol1/、phenix_data/均表示逐级的存储路径,phenix_data/之后的一串数字中,第一位数字表示数据块的类型,0表示三副本类型;第一位后的20位数字位表示存储空间块的标识号,即该存储空间块在一个存储集群的唯一标识,当数据(例如,以idx格式保存的数据,或者,以dat格式保存的数据)存储至存储空间块所对应的数据块后,管理服务器可以记录该数据所存储的存储空间块的标识号,从而生成索引数据,以便于以后查找和读取;最后两位表示该副本在三副本中的唯一标识号,取值通常为0-2中的一个,如果出现大于3个副本的情况,则可能大于2。
如图7所示,为本发明实施例中数据块的存储内容示意图,每一个数据块目录下可以包括不同的目录,这些目录可以为:第一存储目录,以数字0表示该目录的名称;第二存储目录,以数字1表示该目录的名称;以及一个存储位置指定目录,以英文CURRENT表示该目录的名称。
其中,存储目录(即存储目录0和存储目录1)可以用于存储数据,每个存储目录中可以保存索引数据,即idx格式的数据,还可以保存文件数据,即dat格式的数据。
存储位置指定目录(即CURRENT目录)用于指定将数据存储至哪一个存储目录下,即,用于指定将数据存储至存储目录0,或者将数据存储至存储目录01下。
存储位置指定目录的指定原理为:在存储位置指定目录下可以保存数字0或1,当存储位置指定目录中保存的数值为0时,表示存储目录0为当前的存储目录,可以将当前的数据存储至存储目录0下;当存储位置指定目录中保存的数值为1时,表示存储目录1为当前的存储目录,可以将当前的数据存储至存储目录1下。
本发明实施例中,示例性地,索引数据在磁盘的存放路径可以表示为:/data/phenix_idx/{0..35}/00000000000000709106501/0/idx,其中,data/、phenix_idx/均表示逐级的存储路径;{0..35}表示索引数据所对应的文件数据所在磁盘的序号;phenix_idx/之后的一串数字中,第一位数字表示数据块的类型,0表示三副本类型;第一位后的20位数字位表示dat数据所对应的存储空间块的标识号,即该存储空间块在一个存储集群的唯一标识;最后两位表示该副本在三副本中的唯一标识号,取值通常为0-2中的一个,如果出现大于3个副本的情况,则可能大于2。
上述磁盘阵列,例如可以为,由36块机械硬盘和1块SSD组成的磁盘阵列,其中,36块机械硬盘用于存储dat格式的文件,1块SSD用于存储idx格式的文件。由于本发明实施例将索引数据与文件数据分别存储,因此,对于机械硬盘中各数据块对应的存储目录,可以只保存文件数据,对于SSD中各数据块对应的存储目录,可以只保存索引数据,可选的,上述索引数据和文件数据均可以以二进制格式保存。
根据上述存储位置指定目录的指定原理,在对当前存储目录下的数据进行压缩操作时,可以在压缩操作完后,将压缩好的数据存放在另一个存储目录下,同时修改存储位置指定目录中的数值,从而指向另一个存储目录,因此不会影响当前存储目录下的数据。
本发明实施例提供的一种文件管理方法,在获得待写入的合并文件后,通过将合并文件存储至云存储系统中的其中一台存储服务器的第一存储区域,并获得针对合并文件中各小文件的索引数据,再将索引数据存储至该存储服务器的第二存储区域,由于该存储服务器的第二存储区域的数据读写性能高于第一存储区域的数据读写性能,因此在读取小文件时,能够利用该存储服务器第二存储区域的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而避免现有文件管理方法存在的数据读取性能低下的问题,在节约存储空间的同时还能够提高云存储系统的数据读取性能。
方法实施例4
本发明实施例还提供了一种文件管理方法,在上述任一实施例的基础上,如图8所示,该方法可以包括以下步骤:
S 401,从第二存储区域读取待从第一存储区域读取的小文件的索引数据。
根据前述实施例可知,第一存储区域存储有合并文件,第二存储区域存储有小文件的索引数据,因此,本发明实施例中,对于待从第一存储区域读取的某一个小文件,可以先从第二存储区域读取该小文件的索引数据,以获取该小文件的存储位置信息。
作为本发明实施例一种可选的实施方式,可以从第二存储介质对应的存储区域中,获得待从第一存储介质对应的存储区域中读取的小文件的索引数据,第二存储介质可以为SSD。
S402,根据索引数据,定位小文件的数据在第一存储区域的存储位置。
在读取索引数据后,即可根据其中的存储位置信息,定位小文件的数据在第一存储区域的存储位置。
具体地,根据前述实施例可知,索引数据中可以记录有存储空间块的标识号,因此,当确定存储空间块的标识号后,即可根据标识号定位小文件的文件数据存储在哪个存储空间块对应的数据块中。
作为本发明实施例一种可选的实施方式,可以从第一存储介质对应的存储区域所存储的合并文件中,读取小文件,可选的,第一存储介质可以为机械硬盘。
S403,根据所定位的存储位置,从第一存储区域所存储的合并文件中读取小文件。
第一存储区域所存储的合并文件为多个小文件经合并后得到的文件,因此合并文件中包含各小文件的文件数据,当定位到小文件的文件数据存储在哪个存储空间块对应的数据块中后,即可从该数据块中读取小文件的文件数据,也即,从第一存储区域所存储的合并文件中读取小文件。
本发明实施例提供的一种文件管理方法,通过将合并文件存储至第一存储区域,将索引数据存储至第二存储区域,由于第二存储区域的数据读写性能高于第一存储区域的数据读写性能,因此在读取小文件时,能够利用第二存储区域的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而避免现有文件管理方法存在的数据读取性能低下的问题,在节约存储空间的同时还能够提高云存储系统的数据读取性能。
相应于上面的方法实施例,本发明实施例还提供了相应的装置实施例。
装置实施例1
如图9所示,本发明实施例提供了一种文件管理装置,可以应用于云存储系统中的管理服务器,管理服务器用于管理云存储系统中的多台存储服务器,存储服务器用于存储数据,一个云存储系统中可以包括多个存储集群,每个存储集群中布设有一台管理服务器以及若干台存储服务器,管理服务器可以对上述若干台存储服务器统一进行管理,存储服务器用于存储数据,示例性地,当获得待写入数据后,管理服务器可以控制上述存储服务器对该数据进行存储,该装置包括:
获得模块501,用于获得待写入的合并文件,合并文件为多个小文件经合并后得到的文件,小文件为大小低于预设阈值的文件。
本发明实施例中的合并文件,可以是指将多个小文件经合并处理后得到的一个大文件,可以理解,所得到的合并文件的大小相比于各小文件更大,由于可以以一个文件的形式进行存储,因此能够避免一个小文件存不满一个存储空间块的情况发生,即,避免存储空间浪费的问题。
并且,合并文件中的各小文件的数据可以是按顺序保存至合并文件中的,因此更有利于传统机械硬盘读写(传统机械硬盘的随机读取性能远低于连续读取性能)。
并且,由于此时合并文件还没有存储至存储服务器中,因此可以将上述合并文件称为待写入的合并文件。
其中的小文件,可以是指大小低于预设阈值的文件,例如,数据大小低于2KB(Kilobyte,千字节)的文件。当然,云存储系统的开发人员可以根据实际业务需求灵活合理地设置上述阈值,本发明实施例对上述阈值的具体数值不做限定。将多个小文件合并为一个合并文件的过程可以通过现有的文件合并方法得到,其具体过程本发明实施例不再赘述。
第一存储模块502,用于将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,其中,每条索引数据中均携带一个小文件的存储位置信息。
在一个存储集群中可以设置有不同的存储区域,针对不同的存储区域,其对应的数据读写性能可以不同,因此,本发明实施例可以将合并文件存储至第一存储区域,并在存储后,得到该合并文件中各小文件的索引数据,其中,每条索引数据中均携带一个小文件的存储位置信息,也即,一条索引数据对应一个小文件的存储位置信息,存储位置信息用于记录小文件在第一存储区域的存储位置,例如,所存储的存储空间块的标识号,并可以在读取该小文件时起到定位的作用。
上述得到各小文件的索引数据的过程,可以通过现有的文件索引信息生成方法得到,本发明实施例不再赘述。
第二存储模块503,用于将索引数据存储至第二存储区域,其中,第二存储区域的数据读写性能高于第一存储区域的数据读写性能。
在得到索引数据后,本发明实施例可以将索引数据存储至第二存储区域,第二存储区域是与第一存储区域不同的区域,并且,第二存储区域的数据读写性能高于第一存储区域的数据读写性能。通过将索引数据存储到读写性能更高的第二存储区域中,这样在读取大量小文件时,可以利用第二存储区域的高读写性能,更加快速地读取各小文件的索引数据,进而根据所读取的索引数据进一步从合并文件中读取各小文件,能够避免由于传统机械硬盘性能所限导致的数据读取性能低下的问题。另外,由于索引数据相对于文件数据所需存储空间更小,因此,仅将索引数据存储在数据读写性能高的第二存储区域可以节约成本。
作为本发明实施例一种可选的实施方式,第一存储模块,具体可以用于:
将合并文件存储至第一存储介质对应的存储区域中;
第二存储模块,具体可以用于:
将索引数据存储至第二存储介质对应的存储区域中,其中,第二存储介质的数据读写性能高于第一存储介质的数据读写性能。
作为本发明实施例一种可选的实施方式,第一存储介质为机械硬盘,第二存储介质为固态硬盘SSD。
作为本发明实施例一种可选的实施方式,第一存储模块,具体可以用于:
将合并文件存储至第一存储服务器的第一存储区域,第一存储服务器为多台存储服务器中的其中一台;
第二存储模块,具体可以用于:
将索引数据存储至第一存储服务器的第二存储区域。
作为本发明实施例一种可选的实施方式,第一存储区域和第二存储区域被划分为大小相同的存储空间块,每一个存储空间块用于存储一个数据块,一个数据块包括:多个存储目录,以及存储位置指定目录,存储目录用于存储数据,存储位置指定目录下记录有预设数值,不同的预设数值用于指定将数据存储至不同的存储目录下,如图10所示,则第一存储模块,可以包括:
第一存储子模块5021,用于如果合并文件的大小不大于存储空间块的大小,则将合并文件存储至第一存储区域的其中一个存储空间块所对应数据块的指定存储目录下。
第二存储子模块5022,用于如果合并文件的大小大于存储空间块的大小,则将合并文件存储至第一存储区域的多个存储空间块各自对应的数据块的指定存储目录下。
本发明实施例提供的一种文件管理装置,在获得待写入的合并文件后,通过将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,再将索引数据存储至第二存储区域,由于第二存储区域的数据读写性能高于第一存储区域的数据读写性能,因此在读取小文件时,能够利用第二存储区域的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而避免现有文件管理方法存在的数据读取性能低下的问题,在节约存储空间的同时还能够提高云存储系统的数据读取性能。
装置实施例2
本发明实施例还提供了一种文件管理装置,在图9所示实施例的基础上,如图11所示,还可以包括:
第一读取模块601,用于从第二存储区域,读取待从第一存储区域读取的小文件的索引数据。
定位模块602,用于根据索引数据,定位小文件的数据在第一存储区域的存储位置。
第二读取模块603,用于根据所定位的存储位置,从第一存储区域所存储的合并文件中读取小文件。
作为本发明实施例一种可选的实施方式,第一读取模块,具体可以用于:
从第二存储介质对应的存储区域中,获得待从第一存储介质对应的存储区域中读取的小文件的索引数据;
第二读取模块,具体可以用于:
从第一存储介质对应的存储区域所存储的合并文件中,读取小文件。
本发明实施例提供的一种文件管理装置,通过将合并文件存储至第一存储区域,将索引数据存储至第二存储区域,由于第二存储区域的数据读写性能高于第一存储区域的数据读写性能,因此在读取小文件时,能够利用第二存储区域的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而避免现有文件管理方法存在的数据读取性能低下的问题,在节约存储空间的同时还能够提高云存储系统的数据读取性能。
本发明实施例还提供了一种电子设备,具体可以为服务器,如图12所示,该设备700包括处理器701和机器可读存储介质702,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令实现以下步骤:
获得待写入的合并文件,合并文件为多个小文件经合并后得到的文件,小文件为大小低于预设阈值的文件;
将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,其中,每条索引数据中均携带一个小文件的存储位置信息;
将索引数据存储至第二存储区域,其中,第二存储区域的数据读写性能高于第一存储区域的数据读写性能。
机器可读存储介质可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供的电子设备,在获得待写入的合并文件后,通过将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,再将索引数据存储至第二存储区域,由于第二存储区域的数据读写性能高于第一存储区域的数据读写性能,因此在读取小文件时,能够利用第二存储区域的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而避免现有文件管理方法存在的数据读取性能低下的问题,在节约存储空间的同时还能够提高云存储系统的数据读取性能。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时,用以执行如下步骤:
获得待写入的合并文件,合并文件为多个小文件经合并后得到的文件,小文件为大小低于预设阈值的文件;
将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,其中,每条索引数据中均携带一个小文件的存储位置信息;
将索引数据存储至第二存储区域,其中,第二存储区域的数据读写性能高于第一存储区域的数据读写性能。
本发明实施例提供的计算机可读存储介质,在获得待写入的合并文件后,通过将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,再将索引数据存储至第二存储区域,由于第二存储区域的数据读写性能高于第一存储区域的数据读写性能,因此在读取小文件时,能够利用第二存储区域的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而避免现有文件管理方法存在的数据读取性能低下的问题,在节约存储空间的同时还能够提高云存储系统的数据读取性能。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行以下步骤:
获得待写入的合并文件,合并文件为多个小文件经合并后得到的文件,小文件为大小低于预设阈值的文件;
将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,其中,每条索引数据中均携带一个小文件的存储位置信息;
将索引数据存储至第二存储区域,其中,第二存储区域的数据读写性能高于第一存储区域的数据读写性能。
本发明实施例提供的包含指令的计算机程序产品,在获得待写入的合并文件后,通过将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,再将索引数据存储至第二存储区域,由于第二存储区域的数据读写性能高于第一存储区域的数据读写性能,因此在读取小文件时,能够利用第二存储区域的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而避免现有文件管理方法存在的数据读取性能低下的问题,在节约存储空间的同时还能够提高云存储系统的数据读取性能。
本发明实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行以下步骤:
获得待写入的合并文件,合并文件为多个小文件经合并后得到的文件,小文件为大小低于预设阈值的文件;
将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,其中,每条索引数据中均携带一个小文件的存储位置信息;
将索引数据存储至第二存储区域,其中,第二存储区域的数据读写性能高于第一存储区域的数据读写性能。
本发明实施例提供的包含指令的计算机程序,在获得待写入的合并文件后,通过将合并文件存储至第一存储区域,并获得针对合并文件中各小文件的索引数据,再将索引数据存储至第二存储区域,由于第二存储区域的数据读写性能高于第一存储区域的数据读写性能,因此在读取小文件时,能够利用第二存储区域的高读写性能更加快速地读取各小文件的索引数据,进而根据所读取的索引数据,从第一存储区域所存储的合并文件中读取各小文件,从而避免现有文件管理方法存在的数据读取性能低下的问题,在节约存储空间的同时还能够提高云存储系统的数据读取性能。
对于装置/电子设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (16)

1.一种文件管理方法,其特征在于,应用于云存储系统中的管理服务器,所述管理服务器用于管理所述云存储系统中的多台存储服务器,所述存储服务器用于存储数据,所述方法包括:
获得待写入的合并文件,所述合并文件为多个小文件经合并后得到的文件,所述小文件为大小低于预设阈值的文件;
将所述合并文件存储至第一存储区域,并获得针对所述合并文件中各小文件的索引数据,其中,每条所述索引数据中均携带一个所述小文件的存储位置信息,所述存储位置信息用于记录所述小文件在所述第一存储区域的存储位置;
将所述索引数据存储至第二存储区域,其中,所述第二存储区域的数据读写性能高于所述第一存储区域的数据读写性能。
2.根据权利要求1所述的方法,其特征在于,所述将所述合并文件存储至第一存储区域的步骤,包括:
将所述合并文件存储至第一存储介质对应的存储区域中;
所述将所述索引数据存储至第二存储区域的步骤,包括:
将所述索引数据存储至第二存储介质对应的存储区域中,其中,所述第二存储介质的数据读写性能高于所述第一存储介质的数据读写性能。
3.根据权利要求2所述的方法,其特征在于,所述第一存储介质为机械硬盘,所述第二存储介质为固态硬盘SSD。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述合并文件存储至第一存储区域的步骤,包括:
将所述合并文件存储至第一存储服务器的第一存储区域,所述第一存储服务器为所述多台存储服务器中的其中一台;
所述将所述索引数据存储至第二存储区域的步骤,包括:
将所述索引数据存储至所述第一存储服务器的第二存储区域。
5.根据权利要求4所述的方法,其特征在于,所述第一存储区域和所述第二存储区域被划分为大小相同的存储空间块,每一个存储空间块用于存储一个数据块,一个所述数据块包括:多个存储目录,以及存储位置指定目录,所述存储目录用于存储数据,所述存储位置指定目录下记录有预设数值,不同的所述预设数值用于指定将数据存储至不同的存储目录下;
所述将所述合并文件存储至第一存储区域的步骤,包括:
如果所述合并文件的大小不大于所述存储空间块的大小,则将所述合并文件存储至所述第一存储区域的其中一个存储空间块所对应数据块的指定存储目录下;
如果所述合并文件的大小大于所述存储空间块的大小,则将所述合并文件存储至所述第一存储区域的多个存储空间块各自对应的数据块的指定存储目录下。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
从所述第二存储区域,读取待从所述第一存储区域读取的小文件的索引数据;
根据所述索引数据,定位所述小文件的数据在所述第一存储区域的存储位置;
根据所定位的所述存储位置,从所述第一存储区域所存储的所述合并文件中读取所述小文件。
7.根据权利要求6所述的方法,其特征在于,所述从所述第二存储区域,读取待从所述第一存储区域读取的小文件的索引数据的步骤,包括:
从第二存储介质对应的存储区域中,获得待从第一存储介质对应的存储区域中读取的小文件的索引数据;
所述从所述第一存储区域所存储的所述合并文件中读取所述小文件的步骤,包括:
从第一存储介质对应的存储区域所存储的所述合并文件中,读取所述小文件。
8.一种文件管理装置,其特征在于,应用于云存储系统中的管理服务器,所述管理服务器用于管理所述云存储系统中的多台存储服务器,所述存储服务器用于存储数据,所述装置包括:
获得模块,用于获得待写入的合并文件,所述合并文件为多个小文件经合并后得到的文件,所述小文件为大小低于预设阈值的文件;
第一存储模块,用于将所述合并文件存储至第一存储区域,并获得针对所述合并文件中各小文件的索引数据,其中,每条所述索引数据中均携带一个所述小文件的存储位置信息,所述存储位置信息用于记录所述小文件在所述第一存储区域的存储位置;
第二存储模块,用于将所述索引数据存储至第二存储区域,其中,所述第二存储区域的数据读写性能高于所述第一存储区域的数据读写性能。
9.根据权利要求8所述的装置,其特征在于,所述第一存储模块,具体用于:
将所述合并文件存储至第一存储介质对应的存储区域中;
所述第二存储模块,具体用于:
将所述索引数据存储至第二存储介质对应的存储区域中,其中,所述第二存储介质的数据读写性能高于所述第一存储介质的数据读写性能。
10.根据权利要求9所述的装置,其特征在于,所述第一存储介质为机械硬盘,所述第二存储介质为固态硬盘SSD。
11.根据权利要求8-10任一项所述的装置,其特征在于,所述第一存储模块,具体用于:
将所述合并文件存储至第一存储服务器的第一存储区域,所述第一存储服务器为所述多台存储服务器中的其中一台;
所述第二存储模块,具体用于:
将所述索引数据存储至所述第一存储服务器的第二存储区域。
12.根据权利要求11所述的装置,其特征在于,所述第一存储区域和所述第二存储区域被划分为大小相同的存储空间块,每一个存储空间块用于存储一个数据块,一个所述数据块包括:多个存储目录,以及存储位置指定目录,所述存储目录用于存储数据,所述存储位置指定目录下记录有预设数值,不同的所述预设数值用于指定将数据存储至不同的存储目录下;
所述第一存储模块,包括:
第一存储子模块,用于如果所述合并文件的大小不大于所述存储空间块的大小,则将所述合并文件存储至所述第一存储区域的其中一个存储空间块所对应数据块的指定存储目录下;
第二存储子模块,用于如果所述合并文件的大小大于所述存储空间块的大小,则将所述合并文件存储至所述第一存储区域的多个存储空间块各自对应的数据块的指定存储目录下。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第一读取模块,用于从所述第二存储区域,读取待从所述第一存储区域读取的小文件的索引数据;
定位模块,用于根据所述索引数据,定位所述小文件的数据在所述第一存储区域的存储位置;
第二读取模块,用于根据所定位的所述存储位置,从所述第一存储区域所存储的所述合并文件中读取所述小文件。
14.根据权利要求13所述的装置,其特征在于,所述第一读取模块,具体用于:
从第二存储介质对应的存储区域中,获得待从第一存储介质对应的存储区域中读取的小文件的索引数据;
所述第二读取模块,具体用于:
从第一存储介质对应的存储区域所存储的所述合并文件中,读取所述小文件。
15.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-7任一项所述的文件管理方法的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的文件管理方法的方法步骤。
CN201910411298.8A 2019-05-16 2019-05-16 一种文件管理方法、装置、电子设备及存储介质 Active CN110147203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910411298.8A CN110147203B (zh) 2019-05-16 2019-05-16 一种文件管理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910411298.8A CN110147203B (zh) 2019-05-16 2019-05-16 一种文件管理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110147203A CN110147203A (zh) 2019-08-20
CN110147203B true CN110147203B (zh) 2022-11-04

Family

ID=67595693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910411298.8A Active CN110147203B (zh) 2019-05-16 2019-05-16 一种文件管理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110147203B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113495681B (zh) * 2020-04-07 2024-09-24 杭州萤石软件有限公司 一种nand flash文件数据存取方法、装置及存储介质
CN112256650B (zh) * 2020-10-20 2024-05-31 广州市百果园网络科技有限公司 存储空间管理方法、装置、设备及存储介质
CN112416880A (zh) * 2021-01-22 2021-02-26 南京群顶科技有限公司 一种基于实时归并的海量小文件存储性能优化方法及装置
CN113420025A (zh) * 2021-06-11 2021-09-21 广联达科技股份有限公司 构件数据的处理方法、装置及电子设备
CN114218161A (zh) * 2021-12-29 2022-03-22 北京百度网讯科技有限公司 索引存储方法、装置、检索引擎、电子设备及存储介质
CN117632039B (zh) * 2024-01-25 2024-05-03 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2596434A1 (en) * 2006-08-25 2008-02-25 Dan Dodge File system having variable logical storage block size
CN104572670A (zh) * 2013-10-15 2015-04-29 方正国际软件(北京)有限公司 一种小文件的存储、查询及删除方法和系统
CN104991747A (zh) * 2015-07-30 2015-10-21 湖南亿谷科技发展股份有限公司 数据管理方法及系统
CN105069048A (zh) * 2015-07-23 2015-11-18 东方网力科技股份有限公司 一种小文件存储方法、查询方法和装置
CN105095421A (zh) * 2015-07-14 2015-11-25 南京国电南自美卓控制系统有限公司 一种实时数据库的分布式的存储方法
US9286261B1 (en) * 2011-11-14 2016-03-15 Emc Corporation Architecture and method for a burst buffer using flash technology
CN105868286A (zh) * 2016-03-23 2016-08-17 中国科学院计算技术研究所 基于分布式文件系统小文件合并的并行追加方法及系统
CN105956183A (zh) * 2016-05-30 2016-09-21 广东电网有限责任公司电力调度控制中心 一种分布式数据库中海量小文件的多级优化存储方法及系统
CN106021585A (zh) * 2016-06-02 2016-10-12 同济大学 一种基于时空特性的交通事件视频存取方法及系统
CN106294603A (zh) * 2016-07-29 2017-01-04 北京奇虎科技有限公司 文件存储方法及装置
CN108234594A (zh) * 2017-11-28 2018-06-29 北京市商汤科技开发有限公司 文件存储方法和装置、电子设备、程序和介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5454103A (en) * 1993-02-01 1995-09-26 Lsc, Inc. Method and apparatus for file storage allocation for secondary storage using large and small file blocks
US9058338B2 (en) * 2011-10-26 2015-06-16 International Business Machines Corporation Storing a small file with a reduced storage and memory footprint
CN103577123B (zh) * 2013-11-12 2016-06-22 河海大学 一种基于hdfs的小文件优化存储方法
CN103605726B (zh) * 2013-11-15 2017-11-14 中安消技术有限公司 一种小文件的存取方法、系统及控制节点和存储节点
CN103678579A (zh) * 2013-12-12 2014-03-26 浪潮电子信息产业股份有限公司 一种小文件存储效率的优化方法
CN104536959B (zh) * 2014-10-16 2018-03-06 南京邮电大学 一种Hadoop存取海量小文件的优化方法
CN104462563B (zh) * 2014-12-26 2019-04-30 浙江宇视科技有限公司 一种文件存储方法和系统
CN105138571B (zh) * 2015-07-24 2019-12-24 四川长虹电器股份有限公司 分布式文件系统及其存储海量小文件的方法
CN107247714B (zh) * 2016-06-01 2018-02-27 国家电网公司 一种基于分布式存储技术的小文件存取系统的存取方法
CN107766374B (zh) * 2016-08-19 2021-05-25 上海凯翔信息科技有限公司 一种海量小文件存储读取的优化方法和系统
CN106775446B (zh) * 2016-11-11 2020-04-17 中国人民解放军国防科学技术大学 基于固态硬盘加速的分布式文件系统小文件访问方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2596434A1 (en) * 2006-08-25 2008-02-25 Dan Dodge File system having variable logical storage block size
US9286261B1 (en) * 2011-11-14 2016-03-15 Emc Corporation Architecture and method for a burst buffer using flash technology
CN104572670A (zh) * 2013-10-15 2015-04-29 方正国际软件(北京)有限公司 一种小文件的存储、查询及删除方法和系统
CN105095421A (zh) * 2015-07-14 2015-11-25 南京国电南自美卓控制系统有限公司 一种实时数据库的分布式的存储方法
CN105069048A (zh) * 2015-07-23 2015-11-18 东方网力科技股份有限公司 一种小文件存储方法、查询方法和装置
CN104991747A (zh) * 2015-07-30 2015-10-21 湖南亿谷科技发展股份有限公司 数据管理方法及系统
CN105868286A (zh) * 2016-03-23 2016-08-17 中国科学院计算技术研究所 基于分布式文件系统小文件合并的并行追加方法及系统
CN105956183A (zh) * 2016-05-30 2016-09-21 广东电网有限责任公司电力调度控制中心 一种分布式数据库中海量小文件的多级优化存储方法及系统
CN106021585A (zh) * 2016-06-02 2016-10-12 同济大学 一种基于时空特性的交通事件视频存取方法及系统
CN106294603A (zh) * 2016-07-29 2017-01-04 北京奇虎科技有限公司 文件存储方法及装置
CN108234594A (zh) * 2017-11-28 2018-06-29 北京市商汤科技开发有限公司 文件存储方法和装置、电子设备、程序和介质

Also Published As

Publication number Publication date
CN110147203A (zh) 2019-08-20

Similar Documents

Publication Publication Date Title
CN110147203B (zh) 一种文件管理方法、装置、电子设备及存储介质
US12067256B2 (en) Storage space optimization in a system with varying data redundancy schemes
US10977124B2 (en) Distributed storage system, data storage method, and software program
US11032368B2 (en) Data processing method, apparatus, and system
WO2019062574A1 (zh) 一种元数据查询方法及装置
CN111506251B (zh) 数据处理方法、装置、smr存储系统及存储介质
US11579777B2 (en) Data writing method, client server, and system
CN106951375B (zh) 在存储系统中删除快照卷的方法及装置
US8725969B2 (en) Distributed content storage system supporting different redundancy degrees
US11093387B1 (en) Garbage collection based on transmission object models
KR20170054299A (ko) 메모리 관리 시의 중복 제거를 위해서 기준 세트로 기준 블록을 취합하는 기법
CN109582213B (zh) 数据重构方法及装置、数据存储系统
US20080082525A1 (en) File storage system, file storing method and file searching method therein
US11210183B2 (en) Memory health tracking for differentiated data recovery configurations
CN110134338B (zh) 一种分布式存储系统及其数据冗余保护方法和相关设备
CN113568582B (zh) 数据管理方法、装置和存储设备
CN107798063B (zh) 快照处理方法和快照处理装置
CN113495889A (zh) 一种分布式对象存储方法、装置、电子设备及存储介质
CN115617264A (zh) 分布式存储方法及装置
US20190347165A1 (en) Apparatus and method for recovering distributed file system
CN114297196B (zh) 元数据存储方法、装置、电子设备及存储介质
CN115756955A (zh) 一种数据备份、数据恢复的方法、装置及计算机设备
CN114153395B (zh) 一种对象存储数据生命周期管理方法、装置及设备
CN111444114A (zh) 一种非易失性内存中数据的处理方法、装置及系统
WO2024187818A1 (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