CN102184211B - 文件系统和检索、写入、修改或删除文件的方法与装置 - Google Patents

文件系统和检索、写入、修改或删除文件的方法与装置 Download PDF

Info

Publication number
CN102184211B
CN102184211B CN201110112587.1A CN201110112587A CN102184211B CN 102184211 B CN102184211 B CN 102184211B CN 201110112587 A CN201110112587 A CN 201110112587A CN 102184211 B CN102184211 B CN 102184211B
Authority
CN
China
Prior art keywords
file
superblock
district
attribute
data block
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
CN201110112587.1A
Other languages
English (en)
Other versions
CN102184211A (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 CN201110112587.1A priority Critical patent/CN102184211B/zh
Publication of CN102184211A publication Critical patent/CN102184211A/zh
Priority to PCT/CN2012/074827 priority patent/WO2012149884A1/zh
Application granted granted Critical
Publication of CN102184211B publication Critical patent/CN102184211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices

Abstract

本发明实施例公开了一种文件系统,包括:超级块区和索引节点区以及数据块区;超级块区包括至少两个超级块作为文件的不同属性的检索入口;索引节点区包括与每个超级块对应的属性索引项列表,以及与数据块区存储的每个文件对应的索引节点,每个属性索引项列表保存一种文件属性与索引节点编号的对应关系,索引节点保存有文件的属性和存储地址,存储地址指向数据块区存放该文件的数据块。本发明还提供该文件系统中检索、写入、修改或删除文件的方法与装置。本发明提供的文件系统,通过对应文件的不同属性的超级块和属性索引项列表提供了不同的检索方式,解决了现有技术中文件系统只能提供以文件名作为属性进行检索的单一的检索方式存在的问题。

Description

文件系统和检索、写入、修改或删除文件的方法与装置
技术领域
本发明涉及文件系统技术领域,具体涉及一种文件系统和该文件系统中检索、写入、修改或删除文件的方法与装置。
背景技术
现在流行的文件系统种类有很多,如EXT2、EXT3、EXT4、JFS(JournalFile System)、GFS(Distributed File System)、ReiserFS(Reiser File System)、GoogleFS(Google File System)、ZFS(Zettabyte File System)等等。
如图1,上述种类的文件系统采用的是超级块(Super block)—索引节点(inode)—数据块(data block)三层结构。文件系统首先被分成一个个的物理块(block),这些物理块被划分成超级块和索引节点区及数据区。超级块位于文件卷的第一个block,其存储的数据是文件卷的控制信息,其中包括文件系统的目录结构树的根目录。数据区的data block用来存放文件的内容。索引节点区保存有目录结构树和对应于各个文件的inode。inode中保存有文件的属性和存储地址,该存储地址指向保存该文件内容的date block。在进行文件检索时,采用的方法是利用Super block下的目录结构树,以全路径文件名为关键字,通过目录索引项(Dir entry,Dentry)逐级进行检索。
在实际应用中,用户常常需要采用多种检索方式,例如在采用文件名进行检索以外,可能还需要以文件大小或者修改时间等方式进行检索。但是,现有的文件系统仅支持以文件名进行检索,不支持其它的检索方式。
发明内容
本发明实施例提供一种文件系统和该文件系统中检索、写入、修改或删除文件的方法与装置。
一种文件系统,包括超级块区、索引节点区以及数据块区;
所述超级块区包括至少两个超级块作为文件的不同属性的检索入口;
所述索引节点区包括与每个超级块对应的属性索引项列表,以及与数据块区存储的每个文件对应的索引节点,每个所述属性索引项列表保存一种文件属性与索引节点编号的对应关系,所述索引节点保存有文件的属性和存储地址,所述存储地址指向数据块区存放该文件的数据块;
使得检索文件的装置根据接收的文件检索请求中包含的请求检索文件的属性确定相应的超级块,将所述请求检索文件的属性与所述超级块对应的属性索引项列表进行匹配,获得对应的索引节点编号;从所述索引节点编号表示的索引节点中获取所述请求检索文件的各种属性和存储地址,从所述存储地址表示的数据块中获取所述请求检索文件的内容。
一种文件系统中检索文件的装置,所述文件系统为上述的文件系统,所述装置包括:
接收单元,用于接收文件检索请求,所述文件检索请求包含请求检索文件的属性;
匹配单元,用于根据所述文件检索请求包含的请求检索文件的属性确定相应的超级块,将所述请求检索文件的属性与所述超级块对应的属性索引项列表进行匹配,获得对应的索引节点编号;
获取单元,用于从所述索引节点编号表示的索引节点中获取所述请求检索文件的各种属性和存储地址,从所述存储地址表示的数据块中获取所述请求检索文件的内容。
一种文件系统中写入文件的装置,所述文件系统为上述的文件系统,所述装置包括:
接收单元,用于接收文件写入请求;
第一建立单元,用于通过所述目录超级块在对应的目录索引项列表中建立请求写入文件的目录索引项,所述目录索引项包括所述请求写入文件的目录与索引节点编号的对应关系;
写入单元,用于将请求写入文件的属性写入所述索引节点编号表示的索引节点中,将请求写入文件的内容写入所述索引节点指向的数据块中;
第二建立单元,用于通过对应于目录以外其它属性的属性超级块在相应的属性索引项列表中建立请求写入文件的各个属性索引项。
一种文件系统中修改及删除文件的装置,所述文件系统为上述的文件系统,所述装置包括:
接收单元,用于接收文件修改请求或文件删除请求;
第一修改单元,用于根据所述文件修改请求或文件删除请求修改或删除该文件对应的索引节点;
第二修改单元,用于通过对应于该文件的各个属性的超级块在各个属性索引项列表中修改或删除所述文件的各个属性索引项。
一种文件系统中检索文件的方法,所述文件系统为上述的文件系统,所述方法包括:
接收文件检索请求,所述文件检索请求包含请求检索文件的一种属性;
根据所述文件检索请求包含的请求检索文件的属性确定相应的超级块,将所述请求检索文件的属性与所述超级块对应的属性索引项列表进行匹配,获得对应的索引节点编号;
从所述索引节点编号表示的索引节点中获取所述请求检索文件的各种属性和存储地址,从所述存储地址表示的数据块中获取所述请求检索文件的内容。
一种文件系统写入文件的方法,所述文件系统为上述的文件系统,所述方法包括:
接收文件写入请求;
通过所述目录超级块在对应的目录索引项列表中建立请求写入文件的目录索引项,所述目录索引项包括所述请求写入文件的目录与索引节点编号的对应关系;
将请求写入文件的属性写入所述索引节点编号表示的索引节点中,将请求写入文件的内容写入所述索引节点指向的数据块中;
通过对应于目录以外其它属性的属性超级块在相应的属性索引项列表中建立请求写入文件的各个属性索引项。
一种文件系统修改或删除文件的方法,所述文件系统为上述的文件系统,所述方法包括:
接收文件修改请求或文件删除请求;
根据所述文件修改请求或文件删除请求修改或删除该文件对应的索引节点;
通过对应于该文件的各个属性的超级块在各个属性索引项列表中修改或删除所述文件的各个索引项。
本发明实施例提供的文件系统,包括至少两个超级块作为文件的不同属性的检索入口,每个超级块对应一种属性索引项列表,每个属性索引项列表保存一种文件属性与索引节点编号的对应关系,从而,该文件系统通过对应于文件的不同属性的超级块和属性索引项列表提供了不同的检索方式,解决了现有技术中文件系统只能提供以文件名作为属性进行检索的单一的检索方式存在的问题。
附图说明
图1是现有技术的文件系统的结构示意图;
图2是本发明实施例的文件系统的结构示意图;
图3是本发明实施例的文件系统在文件卷中的布局示意图;
图4是本发明实施例的文件系统中检索文件的装置的结构示意图;
图5是本发明实施例的文件系统的文件检索过程的示意图;
图6是本发明实施例的文件系统中写入文件的装置的结构示意图;
图7是本发明实施例的文件系统中修改及删除的装置的结构示意图;
图8是本发明实施例的文件系统中检索文件的方法的流程图;
图9是本发明实施例的文件系统中写入文件的方法的流程图;
图10是本发明实施例的文件系统中修改或删除文件的方法的流程图。
具体实施方式
本发明实施例提供一种文件系统,包括:超级块区和索引节点区以及数据块区;超级块区包括至少两个超级块作为文件的不同属性的检索入口;索引节点区包括与每个超级块对应的属性索引项列表,以及与数据块区存储的每个文件对应的索引节点,每个属性索引项列表保存一种文件属性与索引节点编号的对应关系,索引节点保存有文件的属性和存储地址,该存储地址指向数据块区存放该文件的数据块。本发明实施例还提供该文件系统中检索、写入、修改或删除文件的方法与装置。以下分别进行详细说明。
本发明实施例提供一种文件系统。文件系统是一种在存储介质例如磁盘上管理文件信息的系统,用于对文件存储空间进行组织和分配,负责文件存储。
请参考图2,本实施例的文件系统包括:超级块区101和索引节点区102以及数据块区103。其中,
超级块区101包括至少两个超级块作为文件的不同属性的检索入口;
索引节点区102包括与每个超级块对应的属性索引项列表,以及与数据块区存储的每个文件对应的索引节点,每个属性索引项列表保存一种文件属性与索引节点编号的对应关系,索引节点保存有文件的属性和存储地址,该存储地址是数据块区存放该文件的数据块的地址。
与现有技术的仅包括一个目录超级块,只能根据目录进行检索的文件系统的不同之处在于,本发明文件系统的超级块区包括一个由至少两个超级块组成的超级块组(Super Block Group)。其中的每个超级块对应文件的一种属性,具体是与索引节点区保存的一种属性索引项列表链接,以提供对应该种文件属性的检索方式,以便于用户通过文件的该种属性进行文件检索。从而,该文件系统通过对应于文件的不同属性的超级块和属性索引项列表提供了不同的检索方式,解决了现有技术中文件系统只能提供以文件名作为属性进行检索的单一的检索方式存在的问题
本发明实施例中,文件的属性可以包括文件名、文件大小、修改时间、用户名等任何能够对文件进行区分的属性。每个文件的所有属性均保存在该文件对应的索引节点中。
本发明文件系统中,超级块区可以包括作为目录检索入口的目录超级块(Dir Superblock)。超级块区还可以包括:作为关键字检索入口的关键字超级块(Keyword Superblock),作为大小检索入口的大小超级块(Size Superblock),作为修改时间检索入口的时间超级块(Time Superblock),以及作为用户检索入口的用户超级块(User Superblock)中的至少一个超级块,可以包括其中的一个超级块,也可以包括其中的多个超级块,还可以包括所列举的全部超级块。需要说明的是,本发明的文件系统还可以包括其它文中未列举的超级块,这些超级块对应于其它任何能够对文件进行区分的属性。
每一个超级块是一种检索入口,对应于一种属性索引项列表。属性索引项列表至少包括对应于目录超级块的目录索引项(Dir Entry)列表,还可以包括:对应于关键字超级块的关键字索引项(Keyword Entry)列表,对应于大小超级块的大小索引项(Size Entry)列表,对应于时间超级块的时间索引项(TimeEntry)列表,以及对应于用户超级块的用户索引项(User Entry)列表中的一个或多个属性索引项列表。
下面对各个超级块对应的各种索引方式做进一步说明:
目录超级块是目录索引方式的检索入口,支持以文件名进行文件检索。与目录超级块对应的目录索引项列表。目录索引项列表可以采用列表方式构建,也可以采用目录结构树方式构建。目录索引项列表中包含多个目录索引项(DirEntry),每个目录索引项对应一个文件。每个目录索引项中保存有对应文件的文件名以及对应索引节点的编号。当用户通过文件名进行检索时,将收到的请求检索文件的文件名与目录索引项列表进行匹配,找到对应的目录索引项,获取对应的索引节点的编号,进而可以从该编号表示的索引节点中,获取文件的属性和存储地址,再通过该存储地址在相应的数据块中获取文件的内容。
时间超级块是时间索引方式的检索入口,对应于时间索引项列表。时间索引项列表中包含多个时间索引项(Time Entry),每个时间索引项对应一个文件。时间索引项至少包括所对应文件的修改时间和保存该文件的属性与存储地址的索引节点的编号。当用户通过修改时间进行检索时,将收到的请求检索文件的修改时间与时间索引项列表进行匹配,找到对应的时间索引项,即可获得请求检索文件对应的索引节点的编号,进而可以从该编号所表示的索引节点中获取文件的属性和存储地址,再从该存储地址的数据块中获取文件的内容。
关键字超级块是关键字索引方式的检索入口,对应于关键字索引项列表。关键字索引项列表中包含多个关键字索引项(Keyword Entry),每个关键字索引项对应一个文件。关键字索引项至少包括所对应文件的关键字和保存该文件的属性与存储地址的索引节点的编号。当用户通过关键字进行检索时,将收到的请求检索文件的关键字与关键字索引项列表进行匹配,找到对应的关键字索引项,即可获得请求检索文件对应的索引节点的编号,进而可以从该编号所表示的索引节点中获取文件的属性和存储地址,再从该存储地址的数据块中获取文件的内容。
大小超级块是大小索引方式的检索入口,对应于大小索引项列表。大小索引项列表中包含多个大小索引项(Size Entry),每个大小索引项对应一个文件。大小索引项至少包括所对应文件的大小和保存该文件的属性与存储地址的索引节点的编号。当用户通过大小进行检索时,将收到的请求检索文件的大小与关键字索引项列表进行匹配,找到对应的大小索引项,即可获得请求检索文件对应的索引节点的编号,进而可以从该编号所表示的索引节点中获取文件的属性和存储地址,再从该存储地址的数据块中获取文件的内容。
用户超级块是用户索引方式的检索入口,对应于用户索引项列表。用户索引项列表中包含多个用户索引项(Size Entry),每个用户索引项对应一个文件。用户索引项至少包括所对应文件的用户和保存该文件的属性与存储地址的索引节点的编号。当用户通过用户进行检索时,将收到的请求检索文件的用户与关键字索引项列表进行匹配,找到对应的用户索引项,即可获得请求检索文件对应的索引节点的编号,进而可以从该编号所表示的索引节点中获取文件的属性和存储地址,再从该存储地址的数据块中获取文件的内容。
需要说明的是,文件系统中的每个文件可以对应有多个属性索引项,但是仅对应有一个索引节点,即,对应于同一文件的所有的属性索引项对应相同的索引节点,该索引节点中保存该文件的所有属性信息和该文件的存储地址。
请参考图3所示的文件系统的超级块区及索引节点区在文件卷中的布局,超级块组包含的所有超级块位于文件卷的开头部分的物理块中,其后是索引节点区。索引节点区包括了组描述信息(group descriptor)、数据块位图(blockbitmap)、索引节点位图(inode bitmap)和索引节点表(inode table),inode table保存有对应于每个超级块的属性索引项列表。
每个属性索引项列表包含多个与每个文件对应的属性索引项。
如表1所示,目录索引项列表中的每个目录索引项(Dir entry,Dentry)包括以下部分:索引节点编号(dnode)、记录长度(Recorder length)、文件名长度(Name length)、文件类型(File type)、文件名(name)等。
表1
如表2所示,时间索引项列表中的每个时间索引项(Time entry,Tentry)包括以下部分:索引节点编号(tnode)、记录长度(Recorder length)、时间段(Time scope)、修改时间(Modified time)、文件标识号(File ID)等。
表2
如表3所示,关键字索引项列表中的每个关键字索引项(Keyword entry,Kentry)包括以下部分:索引节点编号(knode)、记录长度(Recorder length)、关键字(Keyword word)、文件标识号(File ID)等。
表3
如表4所示,大小索引项列表中的每个大小索引项(Size entry,Sentry)包括以下部分:索引节点编号(snode)、记录长度(Recorder length)、文件大小范围(File size scope)、文件大小(File size)、文件标识号(File ID)等。
表4
用户索引项列表中的每个用户索引项(User entry,Sentry)包括以下部分:索引节点编号(unode)、记录长度(Recorder length)、组名(Group name)、用户名(User name)等。
表5
如图4所示,本发明实施例还提供一种文件系统中检索文件的装置,该文件系统为上述实施例提供的文件系统,该装置包括:
接收单元201,用于接收文件检索请求,所述文件检索请求包含请求检索文件的属性;
匹配单元202,用于根据所述文件检索请求包含的请求检索文件的属性确定相应的超级块,将所述请求检索文件的属性与所述超级块对应的属性索引项列表进行匹配,获得对应的索引节点编号;
获取单元203,用于从所述索引节点编号表示的索引节点中获取所述请求检索文件的各种属性和存储地址,从所述存储地址表示的数据块中获取所述请求检索文件的内容。
本发明实施例装置,利用各种不同的超级块以及对应的不同类型的属性索引项列表的属性索引项即可以进行不同方式的检索,包括目录检索、时间检索、关键字检索、大小检索、用户检索等,解决了现有技术中文件系统只能提供以文件名作为属性进行检索的单一的检索方式存在的问题
请参考图5,具体的检索过程包括:
首先是接收用户提交的文件检索请求,该文件检索请求包含请求检索文件的属性;
其次,文件系统根据文件检索请求包含的属性,从超级块组中查找到相应的超级块。例如,如果是根据目录文件名检索,就查找目录超级块;如果是根据关键字进行检索,就查找关键字超级块。
进入超级块后,根据文件检索请求包含的文件属性,与超级块对应的属性索引项列表的所有属性索引项(entry)进行匹配。匹配成功后,根据entry中的索引节点编号(node号),查找到相应的索引节点(inode)。例如,如果是根据文件目录查找,需要查找目录超级块对应的所有dentry项,根据目录文件名查找到相应的dnode号,通过dnode号查找到相应的inode,inode中保存有该文件的属性信息和存储地址(inode地址)。如果是根据文件修改时间进行查找,需要查找时间超级块对应的所有tentry项,根据文件修改时间找到相应的tnode号,然后通过tnode查找到相应的inode,在inode中包含该文件的属性信息和存储地址(inode地址)。
最后从inode地址表示的数据块中获取文件的内容。
如图6所示,本发明实施例还提供一种文件系统中写入文件的装置,该文件系统为上述实施例提供的文件系统,该装置包括:
接收单元301,用于接收文件写入请求;
第一建立单元302,用于通过所述目录超级块在对应的目录索引项列表中建立请求写入文件的目录索引项,所述目录索引项包括所述请求写入文件的目录与索引节点编号的对应关系;
写入单元303,用于将请求写入文件的属性写入所述索引节点编号表示的索引节点中,将请求写入文件的内容写入所述索引节点指向的数据块中;
第二建立单元304,用于对应于目录以外其它属性的属性超级块在相应的属性索引项列表中建立请求写入文件的各个属性索引项。
下面就如何在对应的属性索引项列表中建立相应的属性索引项举例描述。
如表6所示,在文件系统中建立文件修改时间的时间索引项。每个时间索引项(Tentry)包括以下部分:索引节点编号(tnode)、记录长度(Recorderlength)、时间段(Time scope)、修改时间(Modified time)、文件标识号(FileID)等。首先,根据实际情况,建立时间段(Time scope)。表1给出的是一种缺省时间段,以“年-月”为单位,在其它实施例中也可以“年-月-日”为单位。其次,将文件的修改时间(Modified time)提取出来,匹配到相应的时间段(Timescope),并以Tentry的形式记录文件标识号(File ID,FID)。如果某个时间段的文件数目过多,可以将该时间段进一步细化,分成多个时间段。
表6
如表7所示,在文件系统中建立文件大小的索引项。大小索引项(Sentry)包括以下部分:索引节点编号(snode)、记录长度(Recorder length)、文件大小范围(File size scope)、文件大小(File size)、文件标识号(File ID)等。首先,文件系统将文件大小从0K到4T分成多个范围。表2给出的是其中一种缺省方法。然后,提取文件大小,并根据文件大小将发文件标识号匹配到相应的大小索引项(Sentry)中。如果某个区间内的文件过多,可以将该区间再细分为多个区间。
表7
如表8所示,在文件系统中建立关键字索引项。关键字索引项(Kentry)包括以下部分:索引节点编号(knode)、记录长度(Recorder length)、关键字(Keyword word)、文件标识号(File ID)等。首先,文件系统提取文件内容的多个关键字,然后根据关键字建立关键字索引项,将关键字和文件标识号等记录在关键字索引项(Kentry)中。关键字索引可以包括多个关键字,关键字1,关键字2等。
表8
本发明实施例装置,可以在文件系统中建立不同类型的属性索引项。根据对应于不同属性超级块的各个属性索引项即可以进行不同方式的检索,包括目录检索、时间检索、关键字检索、大小检索、用户检索等,解决了现有技术中文件系统只能提供以文件名作为属性进行检索的单一的检索方式存在的问题
如图7所示,本发明实施例还提供一种文件系统中修改及删除文件的装置,该文件系统为上述实施例提供的文件系统,该装置包括:
接收单元401,用于接收文件修改请求或删除请求;
第一修改单元402,用于根据所述文件修改请求或删除请求修改或删除该文件对应的索引节点;
第二修改单元403,用于通过对应于该文件的各个属性的超级块在各个属性索引项列表中修改或删除所述文件的各个属性索引项,每个所述超级块作为文件的一种属性的检索入口,每个属性索引项列表对应于一个所述超级块,每个所述属性索引项列表保存一种文件属性与索引节点编号的对应关系。
当文件写操作完成后,文件系统中已经建立好文件的各种属性索引项,包括文件名目录索引项、文件修改时间索引项、文件大小索引项、文件关键字索引项、用户名索引项等。此时,如果文件发生修改、删除等操作,导致文件的大小、时间、关键字、用户等发生改变,即可利用本实施例的装置进行相应修改或删除。
请参考图8,本发明实施例还提供一种文件系统中检索文件的方法,所述文件系统为上述任一实施例所述的文件系统,所述方法包括:
501、接收文件检索请求,文件检索请求包含请求检索文件的一种属性;
502、根据所述文件检索请求包含的请求检索文件的属性确定相应的超级块,将所述请求检索文件的属性与所述超级块对应的属性索引项列表进行匹配,获得对应的索引节点编号;
503、从索引节点编号表示的索引节点中获取所述请求检索文件的各种属性和存储地址,从所述存储地址表示的数据块中获取所述请求检索文件的内容。
本实施例方法提供了多种文件检索方式,包括按照文件目录名、文件修改时间、文件大小、文件关键字、创建者等进行检索,解决了现有技术中文件系统只能提供以文件名作为属性进行检索的单一的检索方式存在的问题。所有这些检索方式都是通过文件系统直接进行,不需要通过数据库或其他系统。
请参考图9,本发明实施例还提供一种文件系统中写入文件的方法,所述文件系统为上述任一实施例所述的文件系统,所述方法包括:
601、接收文件写入请求;
602、通过所述目录超级块在对应的目录索引项列表中建立请求写入文件的目录索引项,所述目录索引项包括所述请求写入文件的目录与索引节点编号的对应关系;
603、将请求写入文件的属性写入所述索引节点编号表示的索引节点中,将请求写入文件的内容写入所述索引节点指向的数据块中;
604、通过对应于目录以外其它属性的属性超级块在相应的属性索引项列表中建立请求写入文件的各个属性索引项。
本实施例方法,公开了如何在本发明文件系统中写入文件,实现了建立不同类型的属性索引项。根据对应于不同属性超级块的各个属性索引项即可以进行不同方式的检索,包括目录检索、时间检索、关键字检索、大小检索、用户检索等,解决了现有技术中文件系统只能提供以文件名作为属性进行检索的单一的检索方式存在的问题。
请参考图10,本发明实施例还提供一种文件系统中修改或删除文件的方法,所述文件系统为上述任一实施例所述的文件系统,所述方法包括:
701、接收文件修改请求或删除请求;
702、根据所述文件修改请求或删除请求修改或删除该文件对应的索引节点;
703、通过对应于该文件的各个属性的超级块在各个属性索引项列表中修改或删除所述文件的各个索引项,每个所述超级块作为文件的一种属性的检索入口,每个属性索引项列表对应于一个所述超级块,每个所述属性索引项列表保存一种文件属性与索引节点编号的对应关系。
采用本实施例方法,在文件发生修改、删除等操作,导致文件的大小、时间、关键字、用户等发生改变时,可以实现了对不同类型的属性索引项列表的修改或删除。
本领域技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存取存储器、磁盘或光盘等。
以上对本发明实施例所提供的文件系统和该文件系统中检索、写入、修改或删除文件的方法与装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。

Claims (6)

1.一种文件系统中检索文件的装置,其特征在于,所述文件系统包括:
超级块区、索引节点区以及数据块区;
所述超级块区包括至少两个超级块作为文件的不同属性的检索入口;
所述索引节点区包括与每个超级块对应的属性索引项列表,以及与数据块区存储的每个文件对应的索引节点,每个所述属性索引项列表保存一种文件属性与索引节点编号的对应关系,所述索引节点保存有文件的属性和存储地址,所述存储地址指向数据块区存放该文件的数据块,所述装置包括:
接收单元,用于接收文件检索请求,所述文件检索请求包含请求检索文件的属性;
匹配单元,用于根据所述文件检索请求包含的请求检索文件的属性确定相应的超级块,将所述请求检索文件的属性与所述相应的超级块对应的属性索引项列表进行匹配,获得对应的索引节点编号;
获取单元,用于从所述索引节点编号表示的索引节点中获取所述请求检索文件的各种属性和存储地址,从所述存储地址表示的数据块中获取所述请求检索文件的内容。
2.一种文件系统中写入文件的装置,其特征在于,所述文件系统包括:
超级块区、索引节点区以及数据块区,所述超级块区包括作为目录检索入口的目录超级块;
所述超级块区包括至少两个超级块作为文件的不同属性的检索入口;
所述索引节点区包括与每个超级块对应的属性索引项列表,以及与数据块区存储的每个文件对应的索引节点,每个所述属性索引项列表保存一种文件属性与索引节点编号的对应关系,所述索引节点保存有文件的属性和存储地址,所述存储地址指向数据块区存放该文件的数据块,所述装置包括:
接收单元,用于接收文件写入请求;
第一建立单元,用于通过所述目录超级块在对应的目录索引项列表中建立请求写入文件的目录索引项,所述目录索引项包括所述请求写入文件的目录与所述索引节点编号的对应关系;
写入单元,用于将请求写入文件的属性写入所述索引节点编号表示的索引节点中,将请求写入文件的内容写入所述索引节点指向的数据块中;
第二建立单元,用于通过对应于目录以外其它属性的超级块在相应的属性索引项列表中建立请求写入文件的各个属性索引项。
3.一种文件系统中修改及删除文件的装置,其特征在于,所述文件系统包括:
超级块区、索引节点区以及数据块区;
所述超级块区包括至少两个超级块作为文件的不同属性的检索入口;
所述索引节点区包括与每个超级块对应的属性索引项列表,以及与数据块区存储的每个文件对应的索引节点,每个所述属性索引项列表保存一种文件属性与索引节点编号的对应关系,所述索引节点保存有文件的属性和存储地址,所述存储地址指向数据块区存放该文件的数据块,所述装置包括:
接收单元,用于接收文件修改请求或文件删除请求;
第一修改单元,用于根据所述文件修改请求或文件删除请求修改或删除该文件对应的索引节点;
第二修改单元,用于通过对应于该文件的各个属性的超级块在各个属性索引项列表中修改或删除所述文件的各个属性索引项。
4.一种文件系统中检索文件的方法,其特征在于,所述文件系统包括:
超级块区、索引节点区以及数据块区;
所述超级块区包括至少两个超级块作为文件的不同属性的检索入口;
所述索引节点区包括与每个超级块对应的属性索引项列表,以及与数据块区存储的每个文件对应的索引节点,每个所述属性索引项列表保存一种文件属性与索引节点编号的对应关系,所述索引节点保存有文件的属性和存储地址,所述存储地址指向数据块区存放该文件的数据块,所述方法包括:
接收文件检索请求,所述文件检索请求包含请求检索文件的一种属性;
根据所述文件检索请求包含的请求检索文件的属性确定相应的超级块,将所述请求检索文件的属性与所述相应的超级块对应的属性索引项列表进行匹配,获得对应的索引节点编号;
从所述索引节点编号表示的索引节点中获取所述请求检索文件的各种属性和存储地址,从所述存储地址表示的数据块中获取所述请求检索文件的内容。
5.一种文件系统中写入文件的方法,其特征在于,所述文件系统包括:
超级块区、索引节点区以及数据块区,所述超级块区包括作为目录检索入口的目录超级块;
所述超级块区包括至少两个超级块作为文件的不同属性的检索入口;
所述索引节点区包括与每个超级块对应的属性索引项列表,以及与数据块区存储的每个文件对应的索引节点,每个所述属性索引项列表保存一种文件属性与索引节点编号的对应关系,所述索引节点保存有文件的属性和存储地址,所述存储地址指向数据块区存放该文件的数据块,所述方法包括:
接收文件写入请求;
通过所述目录超级块在对应的目录索引项列表中建立请求写入文件的目录索引项,所述目录索引项包括所述请求写入文件的目录与所述索引节点编号的对应关系;
将请求写入文件的属性写入所述索引节点编号表示的索引节点中,将请求写入文件的内容写入所述索引节点指向的数据块中;
通过对应于目录以外其它属性的超级块在相应的属性索引项列表中建立请求写入文件的各个属性索引项。
6.一种文件系统中修改或删除文件的方法,其特征在于,所述文件系统包括:
超级块区、索引节点区以及数据块区;
所述超级块区包括至少两个超级块作为文件的不同属性的检索入口;
所述索引节点区包括与每个超级块对应的属性索引项列表,以及与数据块区存储的每个文件对应的索引节点,每个所述属性索引项列表保存一种文件属性与索引节点编号的对应关系,所述索引节点保存有文件的属性和存储地址,所述存储地址指向数据块区存放该文件的数据块,所述方法包括:
接收文件修改请求或文件删除请求;
根据所述文件修改请求或文件删除请求修改或删除该文件对应的索引节点;
通过对应于该文件的各个属性的超级块在各个属性索引项列表中修改或删除所述文件的各个索引项。
CN201110112587.1A 2011-05-03 2011-05-03 文件系统和检索、写入、修改或删除文件的方法与装置 Active CN102184211B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110112587.1A CN102184211B (zh) 2011-05-03 2011-05-03 文件系统和检索、写入、修改或删除文件的方法与装置
PCT/CN2012/074827 WO2012149884A1 (zh) 2011-05-03 2012-04-27 文件系统和检索、写入、修改或删除文件的方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110112587.1A CN102184211B (zh) 2011-05-03 2011-05-03 文件系统和检索、写入、修改或删除文件的方法与装置

Publications (2)

Publication Number Publication Date
CN102184211A CN102184211A (zh) 2011-09-14
CN102184211B true CN102184211B (zh) 2014-08-06

Family

ID=44570388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110112587.1A Active CN102184211B (zh) 2011-05-03 2011-05-03 文件系统和检索、写入、修改或删除文件的方法与装置

Country Status (2)

Country Link
CN (1) CN102184211B (zh)
WO (1) WO2012149884A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360410B (zh) * 2011-09-30 2014-03-19 许式伟 一种文件系统的用户操作发现方法和装置
CN103514226B (zh) * 2012-06-28 2017-11-10 浙江大华技术股份有限公司 一种数字硬盘录像机文件存储的快速索引方法和装置
CN103049539A (zh) * 2012-12-25 2013-04-17 华为技术有限公司 一种文件系统中文件数据的存储方法及其装置
CN103942205B (zh) * 2013-01-18 2018-06-05 深圳市腾讯计算机系统有限公司 存储、读取目录索引的方法、装置及系统
CN103246718B (zh) * 2013-04-27 2016-06-08 华为技术有限公司 文件访问方法、装置和设备
CN104391952A (zh) * 2014-11-28 2015-03-04 公安部第三研究所 实现文件系统索引建立的方法及实现文件系统查询的方法
CN105204959B (zh) * 2015-08-28 2018-11-30 小米科技有限责任公司 恢复ext文件系统中已删除文件的方法及装置
CN106021217A (zh) * 2016-05-27 2016-10-12 成都索贝数码科技股份有限公司 一种基于fics对象存储的大文件数据的编辑方法与系统
US10241860B2 (en) * 2016-08-15 2019-03-26 Samsung Electronics Co., Ltd. Method of executing data scrubbing inside a smart storage device
CN108959300B (zh) * 2017-05-19 2022-07-22 华为技术有限公司 文件存储方法和存储装置
CN107357929B (zh) * 2017-07-27 2020-06-23 Oppo广东移动通信有限公司 文件读取方法、移动终端及可读存储介质
CN108038188A (zh) * 2017-12-11 2018-05-15 中国银行股份有限公司 一种文件处理方法及装置
CN110990338B (zh) 2018-10-03 2024-04-12 慧与发展有限责任合伙企业 文件系统的初始基线
CN109684870B (zh) * 2018-12-18 2021-10-29 郑州云海信息技术有限公司 一种自包含的文件信息配置方法及系统
CN110019019B (zh) * 2019-03-21 2023-08-22 广东瑞恩科技有限公司 数据文件管理方法、装置、设备及计算机可读存储介质
CN111258956B (zh) * 2019-03-22 2023-11-24 深圳市远行科技股份有限公司 一种面向远端海量数据文件预读的方法及设备
CN110674082B (zh) * 2019-09-24 2023-03-14 北京字节跳动网络技术有限公司 移除在线文档的方法、装置、电子设备及计算机可读介质
CN111797058B (zh) * 2020-07-02 2024-02-09 长沙景嘉微电子股份有限公司 一种通用文件系统及文件管理的方法
CN112650450B (zh) * 2020-12-25 2024-02-27 深圳大普微电子科技有限公司 固态硬盘缓存管理方法、固态硬盘缓存控制器及固态硬盘
CN112328548A (zh) * 2021-01-05 2021-02-05 统信软件技术有限公司 一种文件检索方法及计算设备
CN114327290B (zh) * 2021-12-31 2022-12-02 科东(广州)软件科技有限公司 一种磁盘分区的结构、格式化方法和访问方法
CN117251411A (zh) * 2022-06-10 2023-12-19 华为技术有限公司 数据处理方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304962B1 (en) * 1999-06-02 2001-10-16 International Business Machines Corporation Method and apparatus for prefetching superblocks in a computer processing system
CN1549981A (zh) * 2000-12-30 2004-11-24 ض� 用于改进文件管理的方法和装置
CN101727503A (zh) * 2010-01-29 2010-06-09 宋振华 一种创建磁盘文件系统的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
CN100440171C (zh) * 2004-02-24 2008-12-03 中国科学院声学研究所 一种嵌入式环境下音像录放装置的文件组织管理方法
US8560569B2 (en) * 2006-01-27 2013-10-15 Emc Corporation Method and apparatus for performing bulk file system attribute retrieval

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304962B1 (en) * 1999-06-02 2001-10-16 International Business Machines Corporation Method and apparatus for prefetching superblocks in a computer processing system
CN1549981A (zh) * 2000-12-30 2004-11-24 ض� 用于改进文件管理的方法和装置
CN101727503A (zh) * 2010-01-29 2010-06-09 宋振华 一种创建磁盘文件系统的方法

Also Published As

Publication number Publication date
CN102184211A (zh) 2011-09-14
WO2012149884A1 (zh) 2012-11-08

Similar Documents

Publication Publication Date Title
CN102184211B (zh) 文件系统和检索、写入、修改或删除文件的方法与装置
US7228299B1 (en) System and method for performing file lookups based on tags
CN111259006A (zh) 一种通用的分布式异构数据一体化物理汇聚、组织、发布与服务方法及系统
CN105574093B (zh) 一种在基于HDFS的spark-sql大数据处理系统上建立索引的方法
KR100466143B1 (ko) 파일 관리 방법, 콘텐츠 기록 장치, 콘텐츠 재생 장치 및콘텐츠 기록 매체
US9697258B2 (en) Supporting enhanced content searches in an online content-management system
US20080005145A1 (en) Data processing
CN102024019B (zh) 一种分布式文件系统中基于后缀树的目录组织方法
CN109284273B (zh) 一种采用后缀数组索引的海量小文件查询方法及系统
JP2004310621A (ja) 記憶装置システムにおけるファイルアクセス方法及びファイルアクセスのためのプログラム
WO2010148126A1 (en) Catalog that stores file system metadata in an optimized manner
CN102725755A (zh) 文件访问方法及系统
CN101641695A (zh) 资源接入过滤系统及供与资源接入过滤系统一起使用的数据库结构
US10949385B2 (en) Hybrid metadata and folder based file access
TWI334091B (en) Data file management and search method and system based on file attributes
US9870422B2 (en) Natural language search
CN103299297A (zh) 文件目录存储方法、检索方法和设备
CN104516945A (zh) 一种基于关系数据库的hdfs元数据存储方法
CN106874329A (zh) 数据库表索引的实现方法和装置
US8510350B2 (en) Methods and apparatus for distinguishing files from one another in a file system in a computing environment
US20080071732A1 (en) Master/slave index in computer systems
CN110109866B (zh) 一种文件系统目录的管理方法及设备
CN108460067B (zh) 基于数据的瓦片索引结构、索引构建方法和数据检索方法
CN101256566B (zh) 具有统一访问多个媒体设备的层的多媒体系统框架
GB2439575A (en) Replacing data with references when freezing data

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: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

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

COR Change of bibliographic data

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

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

Effective date of registration: 20220901

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.

TR01 Transfer of patent right