CN103246718B - 文件访问方法、装置和设备 - Google Patents

文件访问方法、装置和设备 Download PDF

Info

Publication number
CN103246718B
CN103246718B CN201310152268.2A CN201310152268A CN103246718B CN 103246718 B CN103246718 B CN 103246718B CN 201310152268 A CN201310152268 A CN 201310152268A CN 103246718 B CN103246718 B CN 103246718B
Authority
CN
China
Prior art keywords
file
index node
data section
directory entry
growth data
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
CN201310152268.2A
Other languages
English (en)
Other versions
CN103246718A (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.)
NANTONG HANGDA ELECTRONIC TECHNOLOGY Co.,Ltd.
Original Assignee
Huawei 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 Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310152268.2A priority Critical patent/CN103246718B/zh
Publication of CN103246718A publication Critical patent/CN103246718A/zh
Application granted granted Critical
Publication of CN103246718B publication Critical patent/CN103246718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件访问方法、装置和设备,属于计算机领域。所述方法包括:根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点,获取所述文件路径名对应的文件。该装置包括:查找模块、第一获取模块和第二获取模块。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点项目及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。

Description

文件访问方法、装置和设备
技术领域
本发明涉及计算机领域,特别涉及一种文件访问方法、装置和设备。
背景技术
随着计算机技术的快速发展,计算机成为人们工作、生活中必不可少的一部分。用户使用计算机访问文件时,只要找出文件名,计算机就可以通过文件***按照信息的逻辑关系找出文件的物理地址,进而计算机根据物理地址读取文件并将文件展示给用户。随着用户频繁的访问文件,访问的速度成为计算机性能的重要评价指标。
在现有技术中,计算机通过索引节点保存目录或文件的具体的拓扑信息,并将索引节点永久保存在存储介质上。计算机在访问文件时,根据文件路径名,在目录文件中查找和当前目录名匹配的目录项,根据该目录项对应的地址获取索引节点,根据该索引节点对应的地址,获取下一级的目录所在的目录文件,并在该目录文件中查找下一级目录对应的目录项,按照这个方式逐级进行查找,直到找到文件路径名对应的文件。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有技术通过逐级查找文件路径对应的索引节点的方式访问文件,对于目录文件中存在大量子目录和文件,而实际访问的文件常常集中在某一部分的情况,每次***重新加载后,都需要反复在存储介质上检索,增加了文件的访问时间,降低了文件查找的效率。
发明内容
为了解决提高文件的访问效率的问题,本发明实施例提供了一种文件访问方法、装置和设备。所述技术方案如下:
第一方面,提供了一种文件访问方法,所述方法包括:
根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;
根据所述扩展数据段与所述文件路径名,获取第二索引节点;
根据所述第二索引节点,获取所述文件路径名对应的文件。
在第一方面的第一种可能的实施方式中,所述文件路径名包括目录名和文件名,相应地,根据所述扩展数据段与所述文件路径名,获取第二索引节点,包括:
当确定所述扩展数据段中包括所述目录名匹配的热点目录项时,根据匹配的热点目录项中的地址获取第二索引节点;
相应地,根据所述第二索引节点,获取所述文件路径名对应的文件,包括:
根据所述第二索引节点所包含的地址和所述文件路径名继续进行查找,直到获取到所述文件路径名对应的文件。
在第一方面的第二种可能的实施方式中,所述文件路径名包括目录名和文件名,相应地,根据所述扩展数据段与所述文件路径名,获取第二索引节点,包括:
当确定所述扩展数据段中包括所述文件名匹配的热点目录项时,根据匹配的热点目录项对应的地址获取第二索引节点。
在第一方面的第三种可能的实施方式中,根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址之前,所述方法还包括:
确定符合预设热点条件的目录项和所述目录项所属的目录文件;
根据所述目录项所属的目录文件,确定所述目录文件的地址对应的索引节点;
将所述符合预设热点条件的目录项,写入所述目录文件的地址对应的索引节点的扩展数据段。
在第一方面的第四种可能的实施方式中,,扩展数据段包括热点项目以及其对应的地址,或,所述扩展数据段包括热点项目的特征值以及其对应的地址。
第二方面,提供了一种文件访问装置,其特征在于,所述装置包括:
查找模块,用于根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;
第一获取模块,用于根据所述扩展数据段与所述文件路径名,获取第二索引节点;
第二获取模块,用于根据所述第二索引节点,获取所述文件路径名对应的文件。
在第二方面的第一种可能的实施方式中,所述文件路径名包括目录名和文件名,相应地,所述第一获取模块用于当确定所述扩展数据段中包括所述目录名匹配的热点目录项时,根据匹配的热点目录项中的地址获取第二索引节点;
相应地,所述第二获取模块用于根据所述第二索引节点所包含的地址和所述文件路径名继续进行查找,直到获取到所述文件路径名对应的文件。
在第二方面的第二种可能的实施方式中,所述文件路径名包括目录名和文件名,相应地,所述第一获取模块用于当确定所述扩展数据段中包括所述文件名匹配的热点目录项时,根据匹配的热点目录项对应的地址获取第二索引节点。
在第二方面的第三种可能的实施方式中,所述装置还包括:
第一确定模块,用于确定符合预设热点条件的目录项和所述目录项所属的目录文件;
第二确定模块,用于根据所述目录项所属的目录文件,确定所述目录文件的地址对应的索引节点;
写入模块,用于将所述符合预设热点条件的目录项,写入所述目录文件的地址对应的索引节点的扩展数据段。
在第二方面的第四种可能的实施方式中,扩展数据段包括热点项目以及其对应的地址,或,所述扩展数据段包括热点项目的特征值以及其对应的地址。
第三方面,提供了一种文件访问设备,所述设备包括:一个或者一个以上的处理器;存储器;以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行以下操作的指令:
根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;
根据所述扩展数据段与所述文件路径名,获取第二索引节点;
根据所述第二索引节点,获取所述文件路径名对应的文件。
本发明实施例提供的技术方案带来的有益效果是:
本发明提供了一种文件访问方法、装置和设备,根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点项目及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是一种连续分配策略结构示意图;
图1b是本发明实施例中提供的一种文件访问方法流程图;
图1c是本发明实施例中提供的一种索引节点的结构示意图;
图2是本发明实施例中提供的一种文件访问方法流程图;
图3是本发明实施例中提供的一种文件访问方法流程图;
图4是本发明实施例中提供的一种文件访问装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于描述,在此对本发明涉及到的技术词汇进行介绍:
(1)文件路径名,文件路径名具体由在访问文件时所历经的目录名组成的。如文件路径名dir1/dir2/hotdir31.doc,该文件路径名由目录名dir1、dir2、hotdir31组成,目录名之间用“/”隔开。文件路径具体可以分为绝对路径和相对路径。绝对路径是从“/”开始的路径,如/home/user1/abc.txt,相对路径是从当前路径开始的路径,如home/user1/abc.txt。
(2)索引节点(inode),索引节点用于保存具体的拓扑信息。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。每个文件除了有一个索引节点(inode)数据结构外,还有一个目录项(dentry)数据结构,dentry结构中有个d_inode指针指向相应的inode结构。Dentry结构代表的逻辑意义上的文件,所描述的是文件逻辑上的属性,因此dentry目录项在磁盘上并没有对应的映像;而inode结构代表的是物理意义上的文件,记录的是物理上的属性。一个有效的dentry结构必定有一个inode结构。只要dentry结构是有效的,则其指针d_inode必定指向一个inode结构。
为了进一步说明本发明的作用效果,介绍一种连续分配策略以便和本发明进行对比,该连续分配策略将逻辑文件存储到邻接的各物理盘块中,保证了逻辑文件的顺序与存储器中文件占用盘块的顺序的一致性。图1a是一种连续分配策略结构示意图,参见图1a,图中左边是物理盘块的存储顺序,右边是逻辑文件的顺序,可以看出左边的物理盘块的各个文件的存储顺序和右侧的文件名称对应的开始顺序是一致的,左边按照文件名称为count、f、tr、mail、list的顺序进行存储,黑色方块表示存储了数据的磁盘位置,白色方块表示没有存储数据的磁盘位置,右边的文件路径下的文件名和左侧一致,存储的位置包括开始和长度的信息,如文件名为count的文件存储在开始位置为0,连续长度为2的磁盘中,其他文件名的开始和长度对应的位置信息与左侧的文件物理地址一一对应。
图1b是本发明实施例中提供的一种文件访问方法流程图,本发明实施例的执行主体是终端设备,该终端设备可以是计算机、存储设备等设备,参见图1a,该方法包括:
101:根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段包括热点目录项,所述热点目录项用于表示热点项目以及其对应的地址;
本发明实施例是文件访问的过程,该访问是根据待访问文件的文件路径名进行的。本发明实施例中仅以该文件路径是绝对路径为例进行说明,该绝对路径的文件路径名包括至少一个目录名和一个文件名,在访问该文件时,需要根据文件路径名中的各个目录名的顺序,依次查找各个目录名对应的索引节点的地址。
其中,第一索引节点是指文件路径名中当前正在查找的目录名对应的索引节点。
其中,热点项目是指存储在索引节点中的扩展数据段中的目录名和/或文件名,对应的地址则是该目录名和/或文件名对应的索引节点地址、编号或节点标识。
其中,扩展数据段是索引节点中的预留的空间,本发明实施例在扩展数据段中存储一组热点目录项,一组热点目录项包括多个热点目录项,每个热点目录项由热点项目和对应的地址组成。热点目录项的个数可以由技术人员设置,也可以由用户进行设置,本发明实施例不作具体限定,优选地,热点目录项的个数可以为100。
索引节点除了包含预留的可扩展数据段以外,还包含目录文件或文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。
102:根据所述扩展数据段与所述文件路径名,获取第二索引节点;
其中,第二索引节点是指根据第一索引节点的扩展数据段所表示的热点项目以及其对应的地址获取的索引节点;或,根据第一索引节点保存的目录文件地址对应的目录文件和文件路径名中下一级目录名获取的索引节点。
在查找到第一索引节点后,根据文件路径名中的下一级目录,在第一索引节点的扩展数据段中进行查找,如果查找到匹配的热点目录项,说明该目录为热点目录项,根据该热点目录项中的地址,获取第二索引节点;如果在第一索引节点的扩展数据段中没有查找到对应的热点目录项,说明该目录为非热点目录项,则根据第一索引节点保存的目录文件地址,获取对应的目录文件,在该目录文件中查找该下一级目录对应的目录项,根据该目录项对应的地址,获取第二索引节点。
103:根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。
文件路径名可能包括多个目录名,那么目录名对应的索引节点的查找方式与步骤101-102的方式相同,直到查找到文件路径名中的文件名对应的索引节点,根据文件名对应的索引节点,获取该文件,实现对该文件的访问。
本发明实施例通过根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段包括热点目录项,所述热点目录项用于表示热点项目以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点的热点项目及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。
可选地,在图1b所示实施例的技术方案的基础上,所述文件路径名包括目录名和文件名,相应地,该步骤102“根据所述扩展数据段与所述文件路径名,获取第二索引节点”,包括步骤102a:
102a:当确定所述扩展数据段中包括所述目录名匹配的热点目录项时,根据匹配的热点目录项中的地址获取第二索引节点。
其中,目录名是指文件路径名中目录名,文件名是指文件路径名中的文件名。如文件路径名为dir1/dir2/dir3/hotdir41.doc,则目录名包括:第一目录名dir1、第二目录名dir2和第三目录名dir3,文件名为hotdir41.doc。
若当前目录为第一目录名dir1,当前目录对应的索引节点为第一索引节点,在第一索引节点的数据扩展段中查找与第二目录名dir2匹配的热点目录项,当确定第一索引节点的扩展数据段中包括与dir2匹配的热点目录项时,根据该热点目录项中的地址,获取第二索引节点。
相应地,步骤103“根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件”,包括步骤103a:
103a:根据所述第二索引节点所包含的地址和所述文件路径名继续进行查找,直到获取到所述文件路径名对应的文件。
当获取到的第二索引节点为文件路径名中的目录名对应的索引节点时,则根据该第二索引节点所包含的目录文件的地址,获取该第二索引节点对应的目录文件,并根据当前目录名的下一级目录名以及第二索引节点对应的目录文件中的目录项继续进行文件访问。
当在根据文件路径名继续进行查找的过程中,查找的索引节点包括扩展数据段,则根据步骤102a进行查找,如果查找的索引节点不包括扩展数据段,根据现有技术的查找方法进行查找,直到获取到该文件路径名对应的文件为止。
本发明实施例通过根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点项目及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。通过在索引节点的扩展数据段中,查找和目录名匹配的热点目录项,加快了目录名对应的索引节点的访问速度。
可选地,在图1b所示实施例的技术方案的基础上,所述文件路径名包括目录名和文件名,相应地,该步骤102“根据所述扩展数据段与所述文件路径名,获取第二索引节点”,包括:当确定所述扩展数据段中包括所述文件名匹配的热点目录项时,根据匹配的热点目录项对应的地址获取第二索引节点。
当确定在第一索引节点的扩展数据段中存在与文件名匹配的热点目录项时,根据该热点目录项中的地址,获取该文件的第二索引节点,该第二索引节点中的地址就是该文件的地址,计算机根据该地址访问该文件。
本发明实施例通过根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点项目及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。通过在索引节点的扩展数据段中,查找和目录名匹配的热点目录项,加快了目录名对应的索引节点的访问速度。通过查找与文件名对应的热点目录项,加快了文件名对应的索引节点的访问速度。
可选地,在图1b所示实施例的技术方案的基础上,该步骤101“根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点目录项以及其对应的地址”之前,包括:
101a:确定符合预设热点条件的目录项和所述目录项所属的目录文件;
其中,预设热点条件是指在一段时间内访问频率达到预设次数的目录项。对于计算机文件***而言,热点目录项是动态变化的,一些目录项在不同的时间段内的访问频率是由用户的需求决定的,所以,需要实时地判断目录项是否符合预设热点条件,如果是,将该目录项确定为热点目录项,如果否,该目录项不是热点目录项。对索引节点中扩展数据段中的热点目录项进行更新时,增加访问频率高的热点目录项,删除访问频率低的热点目录项。
101b:根据所述目录项所属的目录文件,确定所述目录文件的地址对应的索引节点;
其中,目录文件包括目录名和/或文件名、目录名和/或文件名对应的索引节点地址。一个目录文件包含多个目录项,一个目录项包含一个目录名或文件名以及其对应的地址。需要说明的是,该目录名和文件名可以是指目录名或文件名的特征值。
在确定目录项为热点目录项后,获取对应于该热点目录项的索引节点。
101c:将所述符合预设热点条件的目录项,写入所述目录文件的地址对应的索引节点的扩展数据段。
将确定的热点目录项写入对应于该目录文件的索引节点的扩展数据段中,可选地,在该目录文件中删除该热点目录项对应的目录项。如果扩展数据段中的热点目录项已经达到预设的个数,则对应删除相同数量的扩展数据段中的访问频率低的热点目录项,将删除的热点目录项作为目录项写入对应的目录文件中。
计算机在实际进行扩展数据段中的热点目录项的添加和删除时,可以根据热点信息替换算法进行热点目录项的更新,如LRU(LeastRecentlyUsed,最近最少使用算法),将最常访问的热点目录项替换到对应于目录文件的索引节点的扩展数据段中,从而保证可以在扩展数据段中快速查找热点目录项对应的索引节点地址,避免了在大量的目录文件中查找,加快了文件的访问速度。
本发明实施例通过根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点项目及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。通过在索引节点的扩展数据段中,查找和目录名匹配的热点目录项,加快了目录名对应的索引节点的访问速度。通过查找与文件名对应的热点目录项,加快了文件名对应的索引节点的访问速度。通过对热点目录项的更新,增加了文件***访问文件的灵活性。
可选地,在图1b所示实施例的技术方案的基础上,扩展数据段包括热点项目以及其对应的地址,或,所述扩展数据段包括热点项目的特征值以及其对应的地址。
索引节点的扩展数据段中可以存储热点项目的名称及其对应的地址,或,热点项目的名称经过哈希算法获取的特征值以及其对应地址。相应地,在索引节点的扩展数据段中进行匹配时,就可以使用热点项目的名称的字符串进行匹配或者使用热点项目的名称的特征值进行匹配,为了加快匹配的速度,还可以选用其他的特征值进行匹配,对此本发明实施例不作具体限定。
为了使本领域技术人员更好地理解本发明中索引节点和目录文件之间的关系,图1c是本发明实施例提供的一种索引节点的结构示意图。参见图1c,inode是索引节点,在inode的扩展数据段中添加了热点目录项1和热点目录项2等,根据路径名查找文件过程中,如果在inode的扩展数据段中存在和目录或文件匹配的热点目录项,可以直接根据热点目录项中的地址获取该目录或地址的inode。如果在扩展数据段中不存在和目录或文件匹配的热点目录项,则根据inode的地址获取目录文件,在该目录文件的目录项中进行查找,直到找到和该目录或文件匹配的目录项,根据该目录项中的地址获取inode。通过在inode的扩展数据段中添加热点目录项,对于符合预设热点条件的目录项,可以直接根据热点目录项找到对应的inode,避免了在大量的目录文件中查找匹配的目录项,节约了查找的时间。对于在inode的扩展数段中不存在匹配的热点目录项的情况,由于目录项中不包含热点目录项的内容,所以在目录文件中不会重复查找和热点目录项相同的内容,不会增加查找的时间。由于本发明实施例是针对经常访问的文件,所以,对于经常访问的文件,采用本发明提供的技术方案,可以有效降低文件的访问时间。
本发明实施例通过根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点项目及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。通过在索引节点的扩展数据段中,查找和目录名匹配的热点目录项,加快了目录名对应的索引节点的访问速度。通过查找与文件名对应的热点目录项,加快了文件名对应的索引节点的访问速度。通过对热点目录项的更新,增加了文件***访问文件的灵活性。
图2是本发明实施例中提供的一种文件访问方法具体实例流程图,该图2所示的发明实施例仅以根据文件路径名“/dir1/dir2/hotfile33.txt”访问hotfile33.txt文件为例进行说明。其中,在该文件路径名中,“/”为当前目录,dir1和dir2为目录名,dir1为第一目录名,dir2为第二目录名,hotfile3.txt为文件名,其中,仅文件名hotfile3.txt为热点项目。参见图2,该方法包括:
201:根据文件路径名“/dir1/dir2/hotfile33.txt”,查找初始索引节点中的扩展数据段,所述扩展数据段用于表示热点目录项以及其对应的地址;
在本发明实施例中,初始索引节点是通过在目录文件中查找和“/”匹配的目录项,根据目录项的地址获取的。根据获取的初始索引节点和dir1,在初始索引节点的扩展数据段中查找和dir1匹配的热点目录项。
在初始索引节点中扩展数据段中查找和第一目录名匹配的热点目录项,如果存在和第一目录名匹配的热点目录项,获取该热点目录项对应的地址;如果不存在和第一目录名匹配的热点目录项,则获取初始索引节点中的地址。
202:当所述扩展数据段不包括与第一目录名匹配的目录项时,根据初始索引节点的地址获取相应的目录文件,从该初始索引节点对应的目录文件中查找与第一目录名匹配的目录项;
在初始索引节点的扩展数据段中,查找和dir1匹配的热点目录项,可以通过dir1的字符串进行匹配,也可以通过dir1匹配的特征值进行匹配,由于dir1不是热点目录项,所以在“/”的索引节点的扩展数据中没有和dir1匹配的热点目录项。
在查找完初始索引节点中的扩展数据段后,由于不存在和dir1匹配的热点目录项,根据初始索引节点的地址获取目录文件,该目录文件中包括了除初始索引节点的扩展数据段中的热点目录项对应的目录和/或文件以外的,“/”的下一级所有的目录和/或文件的目录项,在该目录文件中查找和dir1匹配的目录项。
203:根据查找到的与第一目录名匹配的目录项的地址和第二目录名,查找与第一目录名匹配的目录项的地址指向的索引节点中的扩展数据段,所述扩展数据段用于表示热点目录项以及其对应的地址;
具体地,在与第一目录名匹配的目录项的地址指向的索引节点的扩展数据段中查找和dir2匹配的热点目录项,可以通过dir2的字符串进行匹配,也可以通过dir2匹配的特征值进行匹配,由于dir2不是热点目录项,所以在索引节点的扩展数据段中没有和dir2匹配的热点目录项。
在查找完与第一目录名匹配的目录项的地址指向的索引节点的扩展数据段后,由于扩展数据段不存在和dir2匹配的热点目录项,根据dir1的索引节点的地址获取目录文件,在该目录文件中查找和dir2匹配的目录项。
204:当扩展数据段不包括与第二目录名匹配的目录项时,根据与第一目录名匹配的目录项的地址指向的索引节点的地址获取相应的目录文件,从对应的目录文件中查找与第二目录名匹配的目录项;
该步骤与步骤202同理,在此不再赘述。
205:根据查找到的与第二目录名匹配的目录项的地址和文件名,查找与第二目录名匹配的目录项的地址指向的索引节点中的扩展数据段,所述扩展数据段用于表示热点目录项以及其对应的地址;
在本发明实施例中,hotfile.txt是文件名,在dir2的索引节点的扩展数据段中查找和hotfile.txt匹配的热点目录项,可以通过hotfile.txt的字符串进行匹配,也可以通过hotfile.txt的特征值进行匹配,由于hotfile.txt是热点目录项,所以在dir2的索引节点的扩展数据中包括hotfile.txt匹配的热点目录项。
根据hotfile.txt匹配的热点目录项中的地址,直接获取第二索引节点。
206:当扩展数据段包括与文件名匹配的目录项时,根据与文件名匹配的目录项中的地址,获取与文件名匹配的目录项中的地址指向的索引节点;
207:根据与文件名匹配的目录项中的地址指向的索引节点中的地址,获取所述文件路径名对应的文件。
由于hotfile.txt是查找的文件,所以,根据第二索引节点中的地址获取文件,实现对hotfile.txt的访问。
本发明实施例通过根据与文件路径名的本级目录名匹配的热点目录项中的地址,获取第一索引节点;根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点目录项以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点目录项及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。
图3是本发明实施例中提供的一种文件访问方法具体实例流程图,该图3所示的发明实施例仍以根据文件路径名“/dir1/dir2/hotfile33.txt”访问hotfile33.txt文件为例进行说明。其中,在该文件路径名中,“/”为当前目录,dir1和dir2为目录名,dir1为第一目录名,dir2为第二目录名,hotfile3.txt为文件名,其中,目录名dir2为热点项目。参见图3,该方法包括:
301:根据文件路径名“/dir1/dir2/hotfile33.txt”,查找初始索引节点中的扩展数据段,所述扩展数据段用于表示热点目录项以及其对应的地址;
在本发明实施例中,初始索引节点是通过在目录文件中查找和“/”匹配的目录项,根据目录项的地址获取的。根据获取的初始索引节点和dir1,在初始索引节点的扩展数据段中查找和dir1匹配的热点目录项。
在初始索引节点中扩展数据段中查找和第一目录名匹配的热点目录项,如果存在和第一目录名匹配的热点目录项,获取该热点目录项对应的地址;如果不存在和第一目录名匹配的热点目录项,则获取初始索引节点中的地址。
302:当所述扩展数据段不包括与第一目录名匹配的目录项时,根据初始索引节点的地址获取相应的目录文件,从该初始索引节点对应的目录文件中查找与第一目录名匹配的目录项;
在初始索引节点的扩展数据段中,查找和dir1匹配的热点目录项,可以通过dir1的字符串进行匹配,也可以通过dir1匹配的特征值进行匹配,由于dir1不是热点目录项,所以在“/”的索引节点的扩展数据中没有和dir1匹配的热点目录项。
在查找完初始索引节点中的扩展数据段后,由于不存在和dir1匹配的热点目录项,根据初始索引节点的地址获取目录文件,该目录文件中包括了除初始索引节点的扩展数据段中的热点目录项对应的目录和/或文件以外的,“/”的下一级所有的目录和/或文件的目录项,在该目录文件中查找和dir1匹配的目录项。
303:根据查找到的与第一目录名匹配的目录项的地址和第二目录名,查找与第一目录名匹配的目录项的地址指向的索引节点中的扩展数据段,所述扩展数据段用于表示热点目录项以及其对应的地址;
具体地,在与第一目录名匹配的目录项的地址指向的索引节点的扩展数据段中查找和dir2匹配的热点目录项,可以通过dir2的字符串进行匹配,也可以通过dir2匹配的特征值进行匹配,由于dir2是热点目录项,所以在索引节点的扩展数据段中包括与dir2匹配的热点目录项。
304:当扩展数据段包括与第二目录名匹配的目录项时,根据与第二目录名匹配的目录项中的地址获取相应的索引节点;
305:根据获取的索引节点,获取文件路径名对应的文件。
根据获取的索引节点所包含的地址和所述文件路径名继续进行查找,直到获取到所述文件路径名对应的文件。
在本发明实施例中,hotfile.txt是文件名,在dir2的索引节点的扩展数据段中查找和hotfile.txt匹配的热点目录项,可以通过hotfile.txt的字符串进行匹配,也可以通过hotfile.txt的特征值进行匹配,由于hotfile.txt不是热点目录项,所以在dir2的索引节点的扩展数据中不包括hotfile.txt匹配的热点目录项。根据dir2的索引节点的地址,获取和dir2对应的目录文件,在该目录文件中查找和hotfile.txt匹配的目录项。根据hotfile.txt匹配的目录项中的地址,获取hotfile.txt的索引节点,通过该索引节点中的地址,获取hotfile.txt文件,实现对hotfile.txt的访问。
本发明实施例通过根据与文件路径名的本级目录名匹配的热点目录项中的地址,获取第一索引节点;根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点目录项以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点目录项及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。
图4是本发明实施例中提供的一种文件访问装置结构示意图,参见图4,该装置包括:
查找模块401,用于根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;
第一获取模块402,用于根据所述扩展数据段与所述文件路径名,获取第二索引节点;
第二获取模块403,用于根据所述第二索引节点,获取所述文件路径名对应的文件。
所述文件路径名包括目录名和文件名,相应地,所述第一获取模块402用于当确定所述扩展数据段中包括所述目录名匹配的热点目录项时,根据匹配的热点目录项中的地址获取第二索引节点;
相应地,所述第二获取模块403用于根据所述第二索引节点所包含的地址和所述文件路径名继续进行查找,直到获取到所述文件路径名对应的文件。
所述文件路径名包括目录名和文件名,相应地,所述第一获取模块402用于当确定所述扩展数据段中包括所述文件名匹配的热点目录项时,根据匹配的热点目录项对应的地址获取第二索引节点。
所述装置还包括:
第一确定模块,用于确定符合预设热点条件的目录项和所述目录项所属的目录文件;
第二确定模块,用于根据所述目录项所属的目录文件,确定所述目录文件的地址对应的索引节点;
写入模块,用于将所述符合预设热点条件的目录项,写入所述目录文件的地址对应的索引节点的扩展数据段。
扩展数据段包括热点项目以及其对应的地址,或,所述扩展数据段包括热点项目的特征值以及其对应的地址。
本发明实施例提供了一种文件访问装置,通过根据与文件路径名的本级目录名匹配的热点目录项中的地址,获取第一索引节点;根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点目录项以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点目录项及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。
需要说明的是:上述实施例提供的文件访问装置在文件访问时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文件访问装置与文件访问方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例中提供的一种文件访问设备,该设备包括:一个或者一个以上的处理器;存储器;以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行以下操作的指令:
根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址;
根据所述扩展数据段与所述文件路径名,获取第二索引节点;
根据所述第二索引节点,获取所述文件路径名对应的文件。
所述一个或者一个以上程序包含用于进行以下操作的指令:
当确定所述扩展数据段中包括所述目录名匹配的热点目录项时,根据匹配的热点目录项中的地址获取第二索引节点;
相应地,该处理器还用于根据所述第二索引节点所包含的地址和所述文件路径名继续进行查找,直到获取到所述文件路径名对应的文件。
所述文件路径名包括目录名和文件名,相应地,所述一个或者一个以上程序包含用于进行以下操作的指令:
当确定所述扩展数据段中包括所述文件名匹配的热点目录项时,根据匹配的热点目录项对应的地址获取第二索引节点。
所述一个或者一个以上程序包含用于进行以下操作的指令:
确定符合预设热点条件的目录项和所述目录项所属的目录文件;根据所述目录项所属的目录文件,确定所述目录文件的地址对应的索引节点;将所述符合预设热点条件的目录项,写入所述目录文件的地址对应的索引节点的扩展数据段。
扩展数据段包括热点项目以及其对应的地址,或,所述扩展数据段包括热点项目的特征值以及其对应的地址。
本发明实施例提供了一种文件访问设备,通过根据与文件路径名的本级目录名匹配的热点目录项中的地址,获取第一索引节点;根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点目录项以及其对应的地址;根据所述扩展数据段与所述文件路径名,获取第二索引节点;根据所述第二索引节点所包含的地址,获取所述文件路径名对应的文件。采用本发明提供的技术方案,在索引节点的扩展数据段中添加热点目录项及其对应的地址,可以加快获取索引节点的速度,缩短文件的访问时间。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种文件访问方法,其特征在于,所述方法包括:
根据热点信息替换算法确定符合预设热点条件的目录项和所述目录项所属的目录文件;
根据所述目录项所属的目录文件,确定所述目录文件的地址对应的索引节点;
将所述符合预设热点条件的目录项,写入所述目录文件的地址对应的索引节点的扩展数据段;
根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址,所述扩展数据段包括热点项目的特征值以及其对应的地址;
根据所述扩展数据段与所述文件路径名,获取第二索引节点;
根据所述第二索引节点,获取所述文件路径名对应的文件。
2.根据权利要求1所述的方法,其特征在于,所述文件路径名包括目录名和文件名,相应地,根据所述扩展数据段与所述文件路径名,获取第二索引节点,包括:
当确定所述扩展数据段中包括所述目录名匹配的热点目录项时,根据匹配的热点目录项中的地址获取第二索引节点;
相应地,根据所述第二索引节点,获取所述文件路径名对应的文件,包括:
根据所述第二索引节点所包含的地址和所述文件路径名继续进行查找,直到获取到所述文件路径名对应的文件。
3.根据权利要求1所述的方法,其特征在于,所述文件路径名包括目录名和文件名,相应地,根据所述扩展数据段与所述文件路径名,获取第二索引节点,包括:
当确定所述扩展数据段中包括所述文件名匹配的热点目录项时,根据匹配的热点目录项对应的地址获取第二索引节点。
4.一种文件访问装置,其特征在于,所述装置包括:
第一确定模块,用于确定符合预设热点条件的目录项和所述目录项所属的目录文件;
第二确定模块,用于根据所述目录项所属的目录文件,确定所述目录文件的地址对应的索引节点;
写入模块,用于将所述符合预设热点条件的目录项,写入所述目录文件的地址对应的索引节点的扩展数据段;
查找模块,用于根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址,所述扩展数据段包括热点项目的特征值以及其对应的地址;
第一获取模块,用于根据所述扩展数据段与所述文件路径名,获取第二索引节点;
第二获取模块,用于根据所述第二索引节点,获取所述文件路径名对应的文件。
5.根据权利要求4所述的装置,其特征在于,所述文件路径名包括目录名和文件名,相应地,所述第一获取模块用于当确定所述扩展数据段中包括所述目录名匹配的热点目录项时,根据匹配的热点目录项中的地址获取第二索引节点;
相应地,所述第二获取模块用于根据所述第二索引节点所包含的地址和所述文件路径名继续进行查找,直到获取到所述文件路径名对应的文件。
6.根据权利要求4所述的装置,其特征在于,所述文件路径名包括目录名和文件名,相应地,所述第一获取模块用于当确定所述扩展数据段中包括所述文件名匹配的热点目录项时,根据匹配的热点目录项对应的地址获取第二索引节点。
7.一种文件访问设备,所述设备包括:一个或者一个以上的处理器;存储器;以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行以下操作的指令:
根据热点信息替换算法确定符合预设热点条件的目录项和所述目录项所属的目录文件;
根据所述目录项所属的目录文件,确定所述目录文件的地址对应的索引节点;
将所述符合预设热点条件的目录项,写入所述目录文件的地址对应的索引节点的扩展数据段;
根据文件路径名,查找第一索引节点中的扩展数据段,所述扩展数据段用于表示热点项目以及其对应的地址,所述扩展数据段包括热点项目的特征值以及其对应的地址;
根据所述扩展数据段与所述文件路径名,获取第二索引节点;
根据所述第二索引节点,获取所述文件路径名对应的文件。
CN201310152268.2A 2013-04-27 2013-04-27 文件访问方法、装置和设备 Active CN103246718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310152268.2A CN103246718B (zh) 2013-04-27 2013-04-27 文件访问方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310152268.2A CN103246718B (zh) 2013-04-27 2013-04-27 文件访问方法、装置和设备

Publications (2)

Publication Number Publication Date
CN103246718A CN103246718A (zh) 2013-08-14
CN103246718B true CN103246718B (zh) 2016-06-08

Family

ID=48926238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310152268.2A Active CN103246718B (zh) 2013-04-27 2013-04-27 文件访问方法、装置和设备

Country Status (1)

Country Link
CN (1) CN103246718B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239316B (zh) * 2013-06-13 2018-09-07 深圳市腾讯计算机***有限公司 查找对象的方法及装置
WO2016082196A1 (zh) * 2014-11-28 2016-06-02 华为技术有限公司 文件访问方法、装置及存储设备
CN106257450B (zh) * 2015-06-19 2019-09-17 杭州海康威视数字技术股份有限公司 集群***的文件定位、存储方法和装置
CN109814524B (zh) * 2018-12-17 2020-08-14 深圳市轱辘汽车维修技术有限公司 一种车辆诊断方法、装置及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488137A (zh) * 2008-01-14 2009-07-22 深圳三石科技有限公司 基于热点缓存的搜索方法
CN101526965A (zh) * 2009-04-29 2009-09-09 成都市华为赛门铁克科技有限公司 一种磁盘文件的索引节点定位方法和装置
CN102184211A (zh) * 2011-05-03 2011-09-14 成都市华为赛门铁克科技有限公司 文件***和检索、写入、修改或删除文件的方法与装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340453B2 (en) * 2004-07-30 2008-03-04 International Business Machines Corporation Microeconomic mechanism for distributed indexing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488137A (zh) * 2008-01-14 2009-07-22 深圳三石科技有限公司 基于热点缓存的搜索方法
CN101526965A (zh) * 2009-04-29 2009-09-09 成都市华为赛门铁克科技有限公司 一种磁盘文件的索引节点定位方法和装置
CN102184211A (zh) * 2011-05-03 2011-09-14 成都市华为赛门铁克科技有限公司 文件***和检索、写入、修改或删除文件的方法与装置

Also Published As

Publication number Publication date
CN103246718A (zh) 2013-08-14

Similar Documents

Publication Publication Date Title
US10754878B2 (en) Distributed consistent database implementation within an object store
CN108804510B (zh) 键值文件***
US8849880B2 (en) Providing a shadow directory and virtual files to store metadata
CN103282899B (zh) 文件***中数据的存储方法、访问方法及装置
US4611272A (en) Key-accessed file organization
KR101977575B1 (ko) 디렉토리 엔트리 조회 장치, 그 방법 및 디렉토리 엔트리 조회 프로그램이 기록된 기록 매체
US20160283501A1 (en) Posix-compatible file system, method of creating a file list and storage device
KR100856245B1 (ko) 파일 시스템 장치 및 그 파일 시스템의 파일 저장 및 파일 탐색 방법
CN106874383A (zh) 一种分布式文件***元数据的解耦合分布方法
CN103229164B (zh) 数据访问方法和装置
KR19990070838A (ko) 데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조
CN103246718B (zh) 文件访问方法、装置和设备
GB2439576A (en) Storing related small data fragments in the same block
US7844596B2 (en) System and method for aiding file searching and file serving by indexing historical filenames and locations
GB2439577A (en) Storing data in streams of varying size
JP4825719B2 (ja) 高速ファイル属性検索
US20140089347A1 (en) Cross-protocol locking with a file system
CN116955278A (zh) 分布式文件***快照的聚合访问方法、装置及计算机设备
CN110413724A (zh) 一种数据检索方法和装置
CN110110034A (zh) 一种基于图的rdf数据管理方法、装置及存储介质
CN114416676A (zh) 数据处理方法、装置、设备和存储介质
US20110320507A1 (en) System and Methods for Digest-Based Storage
GB2415797A (en) Method of operating a filesystem for a computing device
EP2164005B1 (en) Content addressable storage systems and methods employing searchable blocks
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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191213

Address after: No.1, floor 3, No.319, zhanggongshan Road, Yuhui District, Bengbu City, Anhui Province

Patentee after: Bengbu guijiu Intellectual Property Service Co., Ltd

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201019

Address after: 226000 No. 998 Century Avenue, hi tech Zone, Jiangsu, Nantong

Patentee after: NANTONG HANGDA ELECTRONIC TECHNOLOGY Co.,Ltd.

Address before: No.1, floor 3, No.319, zhanggongshan Road, Yuhui District, Bengbu City, Anhui Province

Patentee before: Bengbu guijiu Intellectual Property Service Co.,Ltd.