CN102096722B - 文件存储方法和装置 - Google Patents

文件存储方法和装置 Download PDF

Info

Publication number
CN102096722B
CN102096722B CN2011100674212A CN201110067421A CN102096722B CN 102096722 B CN102096722 B CN 102096722B CN 2011100674212 A CN2011100674212 A CN 2011100674212A CN 201110067421 A CN201110067421 A CN 201110067421A CN 102096722 B CN102096722 B CN 102096722B
Authority
CN
China
Prior art keywords
file
files
blocks
size
rank
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
CN2011100674212A
Other languages
English (en)
Other versions
CN102096722A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2011100674212A priority Critical patent/CN102096722B/zh
Publication of CN102096722A publication Critical patent/CN102096722A/zh
Priority to EP12761493.1A priority patent/EP2631821B1/en
Priority to PCT/CN2012/071914 priority patent/WO2012126317A1/zh
Priority to US13/709,988 priority patent/US10133666B2/en
Application granted granted Critical
Publication of CN102096722B publication Critical patent/CN102096722B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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
    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • 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

文件存储方法和装置
技术领域
本发明涉及存储技术领域,尤其涉及一种文件存储方法和装置。 
背景技术
操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。从系统角度来看,文件系统是对文件存储器空间(例如硬盘、磁盘或分区等)进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统。具体地说,文件系统负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。 
一个磁盘或分区在能够作为文件系统使用之前,需要初始化,并将记录数据结构写到磁盘上。这个过程称为建立文件系统。文件系统建立完成后,会将磁盘或分区的存储空间以一定的大小划分为很多个文件系统块(即磁盘空间的分块)以用于存储文件。 
目前,文件系统在写入文件时,为每个文件都单独分配文件系统块,进行存储。如图1所示,大文件(即大小较大的文件)分配较多的文件系统块进行存储,而小文件(即大小较小的文件)则分配少量的文件系统块进行存储。在写入大量大小不同的文件时,分别向各自分配的文件系统块位置写入。而且,为各个文件分配的文件系统块的位置是随机的,因此,各个文件的写入位置也是没有规律的。 
在一些场景,如云存储系统中,文件系统需要存储海量的大小不同的文件,文件系统在处理这些海量的大小不同的文件,尤其是海量的小文件的存储时,由于这些海量的大小不同文件的写入位置是没有规律的,因此,文件系统在写入这些海量的大小不同文件时,磁头会不断地从一个位置转移到另一个位置, 磁头位置转移需要较长的时间,从而严重影响了文件系统的写入速度,使得文件系统的写入性能较差。 
发明内容
本发明实施例提供一种文件存储方法和装置,可至少解决现有技术的文件系统在写入海量的大小不同的文件时,写入性能较差的问题。 
一方面,提供了一种文件存储方法,包括:将多个文件中的每个文件拆分成一个或多个大小不同的文件块对象,其中,拆分得到的每一个文件块对象的大小属于预先设置的N个大小级别中的一个,N为正整数;将所述多个文件拆分得到的多个文件块对象按照拆分得到的文件块的大小级别,存到级别对应的对象存储大文件中,其中,存储装置中预先创建有预定数量的对象存储大文件,所述预先设置的N个大小级别,每个级别与预置的所述每个对象存储大文件一一对应,所述预定数量的对象存储大文件在所述存储装置中占用的存储空间是连续的。 
另一方面,提供了一种文件存储装置,包括:存储模块,用于存储文件,所述存储模块中预先创建有预定数量的对象存储大文件,所述预定数量的对象存储大文件在所述存储模块中占用的存储空间是连续的,预先设置N个大小级别,每个级别与预置的所述每个对象存储大文件一一对应;拆分模块,用于将多个文件中的每个文件拆分成一个或多个大小不同的文件块对象,其中,拆分得到的每一个文件块对象的大小属于所述预先设置的N个大小级别中的一个,N为正整数;写入模块,用于将所述拆分模块拆分得到的多个文件块对象按照拆分得到的文件块的大小级别,存到级别对应的对象存储大文件中。 
本发明实施例采用拆分聚合的方式,首先将海量的大小不同的文件中的每个文件拆分成一个或多个文件块对象,然后将拆分得到的海量的文件块对象写入到预先创建在磁盘等存储装置中的对应的对象存储大文件中,且存储装置中的对象存储大文件的数量是固定的、存储空间是连续的,从而将海量的大小不同的文件聚合(合并)到这些固定数量的对象存储大文件中。由于存储装置中的对象存储大文件的数量是固定的、存储空间是连续的,从而使得海量的大小不同的文件最终可以按照相对顺序的方式写入到固定数量的对象存储大文件的存储空间中,进而提高了存储海量的大小不同的文件时文件系统的写入性能。 
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 
图1是根据现有技术的文件的存储示意图; 
图2是根据本发明实施例一的文件存储方法的流程图; 
图3是根据本发明实施例二的文件存储方法的具体处理流程图; 
图4是根据本发明实施例三的文件块对象的写入过程的示意图; 
图5是根据本发明实施例一的文件存储装置的结构示意图; 
图6是根据本发明实施例二的文件存储装置的结构示意图; 
图7是根据本发明实施例三的文件存储装置的结构示意图。 
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用于解释本发明,并不用于限定本发明。 
实施例一 
图2是根据本发明实施例一的文件存储方法的流程图,包括以下步骤: 
步骤S202,将多个(海量的)文件(也可称为用户文件)中的每个文件拆分成一个或多个(即至少一个)大小不同的文件块对象; 
例如,可以按照预先设置的大小级别,将需要存储的海量的文件中的每个文件拆分成一个或多个文件块对象,拆分成的每个文件块对象的大小对应一个大小级别。显然,如果一个文件的大小正好等于一个大小级别或者小于最小的大小级别时,此时无需拆分该文件。 
步骤S204,将这多个文件拆分得到的多个文件块对象(即文件的分块)写入对应的对象存储大文件,其中,存储装置中预先创建有预定数量的对象存储大文件,预定数量的对象存储大文件在存储装置中占用的存储空间是连续的。 
例如,在文件系统建立完成之后,可以首先在硬盘、磁盘或分区等存储装置中创建预定(或固定)数量个大文件(称为对象存储大文件),这些对象存储大文件占用的存储空间是连续的,即,将存储装置的总存储空间划分为预定数量个连续的存储空间,每个对象存储大文件占用其中的一个存储空间。然后,在文件系统写入文件时,文件系统会将按照步骤S202拆分得到的多个文件块对象(当文件为海量时,拆分得到的文件块对象也是海量的)写入到对应的对象存储大文件中。 
上述步骤S202-步骤S204可以由文件系统执行,也可以仅由文件系统执行步骤S204,而由其他装置或模块来执行步骤S202。 
本发明实施例采用拆分聚合的方式,首先将海量的大小不同的文件中的每个文件拆分成一个或多个文件块对象,然后将拆分得到的海量的文件块对象写入到预先创建在磁盘等存储装置中的对应的对象存储大文件中,且存储装置中的对象存储大文件的数量是固定的、存储空间是连续的,从而将海量的大小不同的文件聚合(合并)到这些固定数量的对象存储大文件中。由于存储装置中的对象存储大文件的数量是固定的、存储空间是连续的,从而使得海量的大小不同的文件最终可以按照相对顺序的方式写入到固定数量的对象存储大文件的存储空间中,进而提高了存储海量的大小不同的文件时文件系统的写入性能。 
实施例二 
如图3所示,根据本发明实施例二的文件存储方法的具体处理过程可以包括以下步骤: 
步骤S302,预先设置N个大小级别,N为正整数; 
例如,这N个大小级别按照从小到大的顺序分别为:S1KB,S2KB,...,SCKB,P1MB,P2MB,...,PDMB,Q1GB,Q2GB,...,QEGB,A1TB,A2TB,...,AFTB,C+D+E+F=N。 
在实际应用中,可以通过两个分级参数设置N个大小级别,一个是分 级范围,一个是分级单位。可以根据实际需求调整这两个分级参数来设置不同的N个大小级别。 
例如:首先,确定分级范围,可以是(0,1MB)、[1MB,1GB)、[1GB,1TB],也可以更少或更多。然后,确定每个分级范围的分级单位,例如上述分级范围的分级单位可以分别为1KB、1MB和1GB,也可以分得更细或更粗。则此时,N个大小级别按照从小到大的顺序分别为:1KB,2KB,...,1023KB,1MB,2MB,...,1023MB,1GB,2GB,...,1023GB,1TB,即,S1=1,S2=2,SC=1023,P1=1,P2=2,PD=1023,Q1=1,Q2=2,QE=1023,A1=1,C=1023,D=1023,E=1023,F=1,N=3070。 
在实际应用中,还可以根据实际情况以及文件的特点,来设置N个大小级别,尽量使得更多的文件不需要进行拆分,例如,需要存储的文件正好等于某一个大小级别或者小于最小的大小级别。这样,能够进一步提高存储效率,减少处理文件拆分占用的资源。 
步骤S304,建立文件系统,建立完成之后,在磁盘中创建预定数量个对象存储大文件,这预定数量个对象存储大文件在磁盘中占用的存储空间是连续的。此时,这预定数量个对象存储大文件是空的; 
创建对象存储大文件可以使用现有技术的创建方法,预定数量个对象存储大文件占用的存储空间可以相同也可以不同,并且,磁盘的总存储空间有多大,对象存储大文件就可以多大。一般在文件系统中,几MB以下的文件认为是小文件,几十MB以上的认为是大文件。因此,对象存储大文件占用的存储空间可以在几十MB以上,甚至几十TB以上。 
显然,为了不浪费磁盘空间,上述的预定数量可以为N,这样,步骤S302中设置的N个大小级别可以与N个对象存储大文件一一对应。 
步骤S306,对于海量的需要存储的大小不同的文件中的每个文件,将该文件拆分成一个或多个文件块对象,其中,拆分得到的每一个文件块对象的大小属于步骤S302中设置的N个大小级别中的一个; 
例如,可以按照以下公式(1)将一个大小为Size的文件,至多划分成4个文件块对象,大小分别为XTB、YGB、ZMB和WKB: 
Size=XTB+YGB+ZMB+WKB                                        (1) 
其中,X为以下之一:0,A1,A2,...,AF,Y为以下之一:0,Q1,Q2,...,QE,Z为以下之一:0,P1,P2,...,PD,W为以下之一:0,S1,S2,...,SC,KB表示千字节,MB表示兆字节,GB表示千兆(或吉)字节,TB表示兆兆字节。 
上述步骤S302和步骤S306对应于图1中的步骤S102。 
步骤S308,将步骤S306中拆分得到的属于同一个大小级别的多个文件块对象,顺序地写入到与该大小级别对应的对象存储大文件中的连续空闲空间,其中,预定数量为N,N个对象存储大文件与N个大小级别一一对应。 
海量的大小不同的文件经步骤S306拆分后,同样得到了海量的文件块对象,文件系统在写入这些海量的文件块对象时,可以将属于同一个大小级别的文件块对象顺序地写入到与该大小级别对应的对象存储大文件中的连续空闲的存储空间,即,每次都将属于同一个级别的新的文件块对象存储到对应的对象存储大文件中的连续空闲空间,确保顺序写入。这样,还可以将多个小IO(请求写入的数据量较小)合并成一个大IO(请求写入的数据量较大),将下发到磁盘的随机小IO,转成相对顺序的大IO,从而通过提高一次IO的写入数据量,提高了单盘的IO带宽(即每次能够读写的数据量),从而进一步提高了海量的大小不同的文件的存储(写入)性能。 
在上述的实施例二中,在有大量文件被删除之后,对象存储大文件中会留下很多不连续的空闲空间,可以将对象存储大文件中的这些不连续的空闲空间合并成连续的空闲空间,即,将这些不连续的空闲空间回收合并成连续的大块空间。此外,还可以对存储在每个对象存储大文件中的文件块对象维护其访问频率统计信息,以便将经常被访问的文件块对象集中存放,提高访问速度。 
实施例三 
在实施例二中,步骤S302中设置N个大小级别如下: 
1)小于1MB的文件块对象,按1KB为单位等分为1023个级别,每个级别的大小,从小到大分别是1KB,2KB,3KB,4KB,...,1023KB; 
2)大于1MB小于1GB的文件块对象,以1MB为单位分为1023个级别,每个级别的大小,从小到大分别是1MB,2MB,3MB,4MB,...,1023MB; 
3)大于1GB小于或等于1TB的文件块对象,以1GB单位分为1024个级别,每个级别的大小,从小到大分别是1GB,2GB,3GB,4GB,...,1024GB(即1TB)。 
这样,共支持N=1023+1023+1024=3070个大小级别,即,3070个大小级别按照从小到大的顺序分别为:1KB,2KB,...,1023KB,1MB,2MB,...,1023MB,1GB,2GB,...,1023GB,1TB。文件系统可以将所有大小不同的文件先拆分成不同大小等级的文件块对象,然后将拆分出来的文件块对象按照不同的大小级别,存到级别对应的对象存储大文件中。 
则在步骤S306中,可以按照上述的公式(1)将一个大小为Size的文件,至多划分成4个文件块对象。例如,文件系统需要存储一个大小为1234567890B的文件,即Size=1234567890,具体拆分过程如下: 
步骤1:按照1GB大小级别,可以拆分出 
Figure BDA0000051154320000071
个1GB的文件块对象; 
步骤2:将扣除1GB的剩下部分1234567890-1024×1024×1024=160826066再次拆分出1个 
Figure BDA0000051154320000072
的文件块对象。 
步骤3:将扣除1GB和153MB后的剩下部分393938/1024=384.70KB作为一个385KB的文件块对象。 
这样,将一个大小为1234567890B的文件拆分成了3个文件块对象,大小级别分别为1GB、153MB和385KB。 
后续,在步骤S308中,如图4所示,文件系统将海量的文件拆分得到的海 量的文件块对象中大小级别为1KB的多个文件块对象顺序地写入到与1KB级别对应的对象存储大文件中,大小级别为2KB的多个文件块对象顺序地写入到与2KB级别对应的对象存储大文件中,其他大小级别的相同。这样,上述大小为1234567890的文件拆分得到的1GB文件块对象、153MB和385KB的文件块对象就可以分别写入到与1GB级别、153MB级别和385KB级别对应的对象存储大文件中。 
因此,按照本发明上述实施例三的技术方案,任意大小小于1TB的文件都可以拆分成GB级别、MB级别和KB级别,最多三个文件块对象。任意数量的文件都能够被有序地存储到3070个对象存储大文件中。 
图5是根据本发明实施例一的文件存储装置的示意图,包括:存储模块102,用于存储文件,存储模块102中预先创建有预定数量的对象存储大文件,这预定数量的对象存储大文件在存储模块102中占用的存储空间是连续的;拆分模块104,用于将多个文件中的每个文件拆分成一个或多个大小不同的文件块对象;写入模块106,用于将这多个文件经拆分模块104拆分得到的多个文件块对象写入对应的对象存储大文件。 
上述的存储模块102可以是硬盘、磁盘或分区等。 
本发明实施例采用拆分聚合的方式,拆分模块首先将海量的大小不同的文件中的每个文件拆分成一个或多个文件块对象,然后写入模块将拆分得到的海量的文件块对象写入到预先创建在磁盘等存储模块中的对应的对象存储大文件中,且存储模块中的对象存储大文件的数量是固定的、存储空间是连续的,从而将海量的大小不同的文件聚合(合并)到这些固定数量的对象存储大文件中。由于存储模块中的对象存储大文件的数量是固定的、存储空间是连续的,从而使得海量的大小不同的文件最终可以按照相对顺序的方式写入到固定数量的对象存储大文件的存储空间中,进而提高了存储海量的大小不同的文件时文件系统的写入性能。 
如图6所示,拆分模块104包括:设置单元1042,用于预先设置N个 大小级别,N为正整数;拆分单元1044,用于对于每个文件,将该文件拆分成一个或多个文件块对象,其中,拆分得到的每一个文件块对象的大小属于所述设置单元1042设置的N个大小级别中的一个。 
其中,当设置单元1042设置的N个大小级别从小到大分别为:S1KB,S2KB,...,SCKB,P1MB,P2MB,...,PDMB,Q1GB,Q2GB,...,QEGB,A1TB,A2TB,...,AFTB,C+D+E+F=N时,拆分单元1044可以通过上述公式(1)将一个大小为Size的文件,至多划分成大小为XTB、YGB、ZMB和WKB4个文件块对象。 
为了能够将多个小IO合并成一个大IO以便提高IO带宽,写入模块106在将这多个文件经拆分模块104拆分得到的多个文件块对象写入对应的对象存储大文件时,可以将拆分得到的属于同一个大小级别的多个文件块对象,顺序地写入到与该大小级别对应的对象存储大文件中的连续空闲空间,其中,预定数量为N,N个对象存储大文件与N个大小级别一一对应。 
如图7所示,上述文件存储装置还可以包括:合并模块108,用于当删除文件后在对象存储大文件中形成不连续的空闲空间时,将对象存储大文件中的不连续的空闲空间合并成连续的空闲空间。这样,可以方便后续新的文件块对象的写入。 
上述实施例的文件存储装置可以是文件系统或文件系统的一部分;也可以是其中的一些模块属于文件系统,而另一些模块属于其他装置,例如,写入模块106和合并模块108属于文件系统。 
本发明上述实施例的方法和装置提出了一种将海量的大小不同的文件拆分聚合成对象存储大文件的技术方案,将所有文件先拆分成不同大小的文件块对象,然后将这些文件块对象按照不同的大小级别,聚合到对应的对象存储大文件中,使得文件系统在存储海量的不同大小的文件,尤其是海量的小文件时,可以用相对顺序的大IO写入文件到磁盘中,提高了单盘的IO带宽,也提高了单位时间的访问次数,从而提高了存储海量文件时的存储(即写入)性能。 
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。 
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。 

Claims (8)

1.一种文件存储方法,其特征在于,包括:
将多个文件中的每个文件拆分成一个或多个大小不同的文件块对象,其中,拆分得到的每一个文件块对象的大小属于预先设置的N个大小级别中的一个,N为正整数;
将所述多个文件拆分得到的多个文件块对象按照拆分得到的文件块的大小级别,存到级别对应的对象存储大文件中,其中,存储装置中预先创建有预定数量的对象存储大文件,所述预先设置的N个大小级别,每个级别与预置的所述每个对象存储大文件一一对应,所述预定数量的对象存储大文件在所述存储装置中占用的存储空间是连续的。
2.如权利要求1所述的方法,其特征在于,当所述N个大小级别从小到大分别为:S1KB,S2KB,...,SCKB,P1MB,P2MB,...,PDMB,Q1GB,Q2GB,...,QEGB,A1TB,A2TB,...,AFTB,C+D+E+F=N时,对于每个文件,将该文件拆分成一个或多个文件块对象包括:
按照以下公式将大小为Size的文件,至多划分成大小为XTB、YGB、ZMB和WKB的文件块对象:
Size=XTB+YGB+ZMB+WKB,其中,X为以下之一:0,A1,A2,...,AF,Y为以下之一:0,Q1,Q2,...,QE,Z为以下之一:0,P1,P2,...,PD,W为以下之一:0,S1,S2,...,SC,KB表示千字节,MB表示兆字节,GB表示千兆字节,TB表示兆兆字节。
3.如权利要求2所述的方法,其特征在于,将所述多个文件拆分得到的多个文件块对象按照拆分得到的文件块大小级别,存到级别对应的对象存储大文件中包括:
将所述多个文件拆分得到的属于同一个大小级别的多个文件块对象,顺序地写入到与该大小级别对应的对象存储大文件中的连续空闲空间,其中,所述预定数量为N,所述预定数量的对象存储大文件与所述N个大小级别一一对应。
4.如权利要求1所述的方法,其特征在于,还包括:
当删除文件后在对象存储大文件中形成不连续的空闲空间时,将对象存储大文件中的不连续的空闲空间合并成连续的空闲空间。
5.一种文件存储装置,其特征在于,包括:
存储模块,用于存储文件,所述存储模块中预先创建有预定数量的对象存储大文件,所述预定数量的对象存储大文件在所述存储模块中占用的存储空间是连续的,预先设置N个大小级别,每个级别与预置的所述每个对象存储大文件一一对应;
拆分模块,用于将多个文件中的每个文件拆分成一个或多个大小不同的文件块对象,其中,拆分得到的每一个文件块对象的大小属于所述预先设置的N个大小级别中的一个,N为正整数;
写入模块,用于将所述拆分模块拆分得到的多个文件块对象按照拆分得到的文件块的大小级别,存到级别对应的对象存储大文件中。
6.如权利要求5所述的装置,其特征在于,所述拆分单元用于在所述N个大小级别从小到大分别为:S1KB,S2KB,...,SCKB,P1MB,P2MB,...,PDMB,Q1GB,Q2GB,...,QEGB,A1TB,A2TB,...,AFTB,C+D+E+F=N的情况下,通过以下公式将大小为Size的文件,至多划分成大小为XTB、YGB、ZMB和WKB的文件块对象:
Size=XTB+YGB+ZMB+WKB,其中,X为以下之一:0,A1,A2,...,AF,Y为以下之一:0,Q1,Q2,...,QE,Z为以下之一:0,P1,P2,...,PD,W为以下之一:0,S1,S2,...,SC,KB表示千字节,MB表示兆字节,GB表示千兆字节,TB表示兆兆字节。
7.如权利要求5所述的装置,其特征在于,所述写入模块具体用于将所述拆分模块拆分得到的属于同一个大小级别的多个文件块对象,顺序地写入到与该大小级别对应的对象存储大文件中的连续空闲空间,其中,所述预定数量为N,所述预定数量的对象存储大文件与所述N个大小级别一一对应。
8.如权利要求5所述的装置,其特征在于,还包括:
合并模块,用于当删除文件后在对象存储大文件中形成不连续的空闲空间时,将对象存储大文件中的不连续的空闲空间合并成连续的空闲空间。
CN2011100674212A 2011-03-21 2011-03-21 文件存储方法和装置 Active CN102096722B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2011100674212A CN102096722B (zh) 2011-03-21 2011-03-21 文件存储方法和装置
EP12761493.1A EP2631821B1 (en) 2011-03-21 2012-03-05 File storage method and device thereof
PCT/CN2012/071914 WO2012126317A1 (zh) 2011-03-21 2012-03-05 文件存储方法和装置
US13/709,988 US10133666B2 (en) 2011-03-21 2012-12-10 File storage method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100674212A CN102096722B (zh) 2011-03-21 2011-03-21 文件存储方法和装置

Publications (2)

Publication Number Publication Date
CN102096722A CN102096722A (zh) 2011-06-15
CN102096722B true CN102096722B (zh) 2013-03-27

Family

ID=44129817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100674212A Active CN102096722B (zh) 2011-03-21 2011-03-21 文件存储方法和装置

Country Status (4)

Country Link
US (1) US10133666B2 (zh)
EP (1) EP2631821B1 (zh)
CN (1) CN102096722B (zh)
WO (1) WO2012126317A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096722B (zh) * 2011-03-21 2013-03-27 华为数字技术(成都)有限公司 文件存储方法和装置
US10223375B2 (en) * 2011-09-20 2019-03-05 Netapp, Inc. Handling data extent size asymmetry during logical replication in a storage system
CN102722474A (zh) * 2012-03-20 2012-10-10 华为终端有限公司 信息处理方法及终端
CN103577470B (zh) * 2012-08-03 2017-11-21 上海交通大学 一种提升web服务器性能的文件系统及方法
CN102833581B (zh) * 2012-08-27 2015-09-16 中兴通讯股份有限公司 内容管理的方法和系统
CN103778149A (zh) * 2012-10-23 2014-05-07 腾讯科技(深圳)有限公司 文件系统及其对文件进行存储管理的方法
CN103176754A (zh) * 2013-04-02 2013-06-26 浪潮电子信息产业股份有限公司 一种海量小文件读取存储方法
US9372643B2 (en) 2013-04-12 2016-06-21 International Business Machines Corporation Data set management
FR3004611B1 (fr) * 2013-04-16 2015-05-15 Morpho Procede de gestion des ressources memoire d'un dispositif de securite, tel qu'une carte a puce, et dispositif de securite mettant en œuvre ledit procede.
CN104933067A (zh) * 2014-03-19 2015-09-23 中国移动通信集团公司 一种对文件系统和对象存储系统进行操作的方法及装置
CN105808622A (zh) * 2014-12-31 2016-07-27 乐视网信息技术(北京)股份有限公司 一种文件存储的方法和装置
CN105867836A (zh) * 2015-01-23 2016-08-17 中兴通讯股份有限公司 存储管理方法、装置及流媒体系统
CN106155846B (zh) * 2015-04-15 2019-06-28 伊姆西公司 对块对象执行批量故障回复的方法和装置
CN104932987A (zh) * 2015-06-18 2015-09-23 阔地教育科技有限公司 一种文件存储方法及系统
CN105843656B (zh) * 2016-04-22 2020-12-01 Tcl科技集团股份有限公司 磁盘空间不足的系统升级方法、终端设备及服务器
US11249968B2 (en) * 2016-05-09 2022-02-15 Sap Se Large object containers with size criteria for storing mid-sized large objects
US10592469B1 (en) * 2016-06-29 2020-03-17 EMC IP Holding Company, LLC Converting files between thinly and thickly provisioned states
CN107357869A (zh) * 2017-07-03 2017-11-17 张宇 一种适用于云存储的文件操作方法
US10402112B1 (en) * 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
JP2019191909A (ja) * 2018-04-25 2019-10-31 東芝メモリ株式会社 メモリシステムおよび制御方法
WO2020000480A1 (zh) * 2018-06-30 2020-01-02 华为技术有限公司 数据存储方法及数据存储装置
CN109388613B (zh) * 2018-09-30 2022-04-22 联想(北京)有限公司 一种文件管理方法和电子设备
CN109816527B (zh) * 2019-01-25 2022-07-15 网联清算有限公司 对账文件处理方法、装置、计算机设备及存储介质
CN110008179B (zh) * 2019-04-02 2023-06-16 深圳创维汽车智能有限公司 文件存储方法、行车记录仪及可读存储介质
CN110278282A (zh) * 2019-07-01 2019-09-24 成都启英泰伦科技有限公司 一种语音大数据存储调用方法
CN113360078A (zh) * 2020-03-05 2021-09-07 浙江宇视科技有限公司 一种存储方法、装置、电子设备和存储介质
CN111444117B (zh) * 2020-03-23 2022-10-21 Oppo广东移动通信有限公司 存储空间碎片化实现方法、装置、存储介质及电子设备
CN111400247B (zh) * 2020-04-13 2023-08-01 杭州九州方园科技有限公司 一种用户行为审计方法及文件存储方法
CN112015672A (zh) * 2020-08-28 2020-12-01 北京浪潮数据技术有限公司 一种存储系统中数据处理方法、装置、设备及存储介质
CN113329076B (zh) * 2021-05-27 2022-11-08 上海达梦数据库有限公司 数据传输方法、装置及系统、计算机设备、存储介质
JP2023139529A (ja) * 2022-03-22 2023-10-04 株式会社東芝 ディスク装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375233A (en) * 1988-12-22 1994-12-20 International Computers Limited File system
CN101039278A (zh) * 2007-03-30 2007-09-19 华为技术有限公司 数据管理方法及系统
CN101888405A (zh) * 2010-06-07 2010-11-17 北京高森明晨信息科技有限公司 一种云计算的文件系统和数据处理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0927934A1 (en) 1997-06-30 1999-07-07 Matsushita Electric Industrial Co., Ltd. File managing device, file managing method, and recording medium stored with file managing program
JP3324572B2 (ja) * 1999-03-30 2002-09-17 三菱電機株式会社 情報処理装置並びにコンピュータに実行させるためのプログラムを記録した記録媒体
US7055014B1 (en) * 2003-08-11 2006-05-30 Network Applicance, Inc. User interface system for a multi-protocol storage appliance
EP1619584A1 (en) * 2004-02-13 2006-01-25 Jaluna SA Memory allocation
US7478217B2 (en) * 2006-04-07 2009-01-13 Mediatek Inc. Method of storing both large and small files in a data storage device and data storage device thereof
US8275750B2 (en) * 2006-11-08 2012-09-25 International Business Machines Corporation Method to efficiently use the disk space while unarchiving
CN101515253A (zh) * 2008-02-19 2009-08-26 联发科技(合肥)有限公司 将文件写入存储介质与从存储介质读取文件的装置及方法
EP2339471A4 (en) * 2008-08-17 2013-10-23 Kousokuya Inc STORAGE REGION MANAGEMENT METHOD, STORAGE REGION ALLOCATION METHOD, AND PROGRAM
JP5175703B2 (ja) * 2008-12-11 2013-04-03 株式会社東芝 メモリデバイス
KR101638061B1 (ko) * 2009-10-27 2016-07-08 삼성전자주식회사 플래시 메모리 시스템 및 그것의 플래시 조각 모음 방법
CN102096722B (zh) * 2011-03-21 2013-03-27 华为数字技术(成都)有限公司 文件存储方法和装置
US9317213B1 (en) * 2013-05-10 2016-04-19 Amazon Technologies, Inc. Efficient storage of variably-sized data objects in a data store

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375233A (en) * 1988-12-22 1994-12-20 International Computers Limited File system
CN101039278A (zh) * 2007-03-30 2007-09-19 华为技术有限公司 数据管理方法及系统
CN101888405A (zh) * 2010-06-07 2010-11-17 北京高森明晨信息科技有限公司 一种云计算的文件系统和数据处理方法

Also Published As

Publication number Publication date
WO2012126317A1 (zh) 2012-09-27
EP2631821B1 (en) 2015-12-16
EP2631821A4 (en) 2014-01-08
US20130103920A1 (en) 2013-04-25
US10133666B2 (en) 2018-11-20
EP2631821A1 (en) 2013-08-28
CN102096722A (zh) 2011-06-15

Similar Documents

Publication Publication Date Title
CN102096722B (zh) 文件存储方法和装置
CN103186350B (zh) 混合存储系统及热点数据块的迁移方法
CN105589812B (zh) 磁盘碎片整理方法、装置及主机
CN102622189B (zh) 存储虚拟化的装置、数据存储方法及系统
CN106527969B (zh) 一种寿命均衡的NandFlash存储器读写方法
CN104317742B (zh) 一种优化空间管理的自动精简配置方法
CN107003809A (zh) 一种存储设备存储数据的方法及存储设备
CN102023810B (zh) 一种写数据的方法、装置以及廉价冗余磁盘阵列
CN102087586B (zh) 数据处理方法及装置
CN109240938A (zh) 存储系统以及控制非易失性存储器的控制方法
CN105138286A (zh) 一种在磁盘文件系统中混合利用ssd和smr硬盘的方法
CN105242871A (zh) 一种数据写入方法及装置
CN103761053A (zh) 一种数据处理方法和装置
CN103838853A (zh) 一种基于不同存储介质的混合文件系统
US10976946B2 (en) Method and computer system for managing blocks
CN114415972B (zh) Ssd的数据处理方法、装置、存储介质及ssd设备
CN103970669A (zh) 用于加速在固态设备中的回收操作的物理到逻辑地址映射
CN103049224A (zh) 将数据导入物理磁带的方法、装置和系统
CN104995611A (zh) 用于存取存储器的系统及方法
CN103064633A (zh) 一种数据存储方法及装置
CN102520885B (zh) 一种混合硬盘的数据管理系统
CN109375868B (zh) 一种数据存储方法、调度装置、系统、设备及存储介质
CN104778100A (zh) 一种安全备份数据的方法
IE20160095A1 (en) Realm partitioning in hard drives
CN103246615A (zh) 一种闪存存储设备中数据管理的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: High tech Park No. 88 University of Electronic Science and technology of Sichuan province in 611731 Chengdu city high tech Zone West Park area Qingshui River Tianchen Road No. 5 building D

Applicant before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220905

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.