CN117149708A - 一种文件访问方法、装置、设备及存储介质 - Google Patents
一种文件访问方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117149708A CN117149708A CN202311125798.8A CN202311125798A CN117149708A CN 117149708 A CN117149708 A CN 117149708A CN 202311125798 A CN202311125798 A CN 202311125798A CN 117149708 A CN117149708 A CN 117149708A
- Authority
- CN
- China
- Prior art keywords
- metadata
- server
- inode number
- directory
- identification information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种文件访问方法、装置、设备及存储介质,所述方法包括:接收携带索引节点号的文件访问请求,其中,索引节点号中的服务器标识信息用于标识索引节点号对应的目录元数据所属的元数据服务器;然后从索引节点号中的服务器标识信息标识的元数据服务器中,获取索引节点号对应的目录元数据。可见,本公开实施例能够基于索引节点号定位到目录元数据所属的元数据服务器,由于目录重命名不会影响到索引节点号,因此本公开实施例对目录重命名时仍然能够定位到原来的元数据服务器,从而解决了现有技术中因目录重命名而使目录元数据所属元数据服务器变更的问题。
Description
技术领域
本公开涉及数据处理领域,尤其涉及一种文件访问方法、装置、设备及存储介质。
背景技术
目前,在进行文件访问时,为了确定文件的目录元数据具体由哪个元数据服务器进行处理,通常的访问方法是对目录名进行哈希计算,根据计算得到的哈希值来映射到具体的元数据服务器(或者逻辑元数据区,后续统称为元数据服务器)中,从而确定目录元数据所属的元数据服务器。
然而,上述方法的缺点是如果对目录重命名,由于重命名后的目录名对应的哈希值发生改变,因此目录元数据极大概率会被映射到其他的元数据服务器中,此时需要将目录元数据进行迁移才能保证文件访问成功。
因此,如何避免因为目录重命名而导致目录元数据所属元数据服务器变更,是目前亟需解决的技术问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据均衡方法、装置、设备及存储介质,
第一方面,本公开提供了一种文件访问方法,所述方法包括:
接收携带索引节点号的文件访问请求;其中,所述索引节点号中携带服务器标识信息,所述服务器标识信息用于标识所述索引节点号对应的目录元数据所属的元数据服务器;
从所述索引节点号中的所述服务器标识信息所标识的元数据服务器中,获取所述索引节点号对应的目录元数据;其中,所述目录元数据用于针对所述文件访问请求进行文件访问。
一种可选的实施方式中,所述索引节点号是由所述元数据服务器基于对应的索引节点号资源和所述元数据服务器的服务器标识信息生成。
一种可选的实施方式中,所述方法还包括:
在接收到任一元数据服务器的索引节点号创建请求时,基于索引节点号创建请求中携带的索引节点号资源请求参数,为所述元数据服务器分配索引节点号资源;其中,所述索引节点号资源用于生成索引节点号;
更新所述元数据服务器对应的索引节点号资源记录;其中,所述索引节点号资源记录用于记录所述元数据服务器的索引节点号资源使用情况。
第二方面,本公开还提供了一种文件存储方法,所述方法包括:
接收针对目标文件的目录元数据存储请求;
基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号;其中,所述索引节点号中携带所述元数据服务器的服务器标识信息,所述服务器标识信息用于在接收到携带所述索引节点号的文件访问请求时定位所述元数据服务器。
一种可选的实施方式中,所述目录元数据存储请求中携带所述目标文件的目录名称以及所述目录名称对应的父目录的索引节点号;所述基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号之前,还包括:
基于所述目标文件的目录名称和所述目录名称对应的父目录的索引节点号,生成所述元数据服务器的服务器标识信息。
一种可选的实施方式中,所述基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号之前,还包括:
发送针对所述目标文件的目录元数据的索引节点号创建请求;其中,所述索引节点号创建请求携带针对所述目标文件的目录元数据的索引节点号资源请求参数;
接收针对所述索引节点号资源请求参数分配的索引节点号资源;其中,所述索引节点号资源用于为所述目标文件的目录元数据生成索引节点号。
一种可选的实施方式中,所述基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号,包括:
基于所述索引节点号资源,为所述目标文件的目录元数据确定索引节点号资源标识;
基于所述元数据服务器的服务器标识信息和所述索引节点号资源标识,为所述目标文件的目录元数据生成索引节点号。
第三方面,本公开提供了一种文件访问装置,所述装置包括:
访问请求接收模块,用于接收携带索引节点号的文件访问请求;其中,所述索引节点号中携带服务器标识信息,所述服务器标识信息用于标识所述索引节点号对应的目录元数据所属的元数据服务器;
元数据获取模块,用于从所述索引节点号中的所述服务器标识信息所标识的元数据服务器中,获取所述索引节点号对应的目录元数据;其中,所述目录元数据用于针对所述文件访问请求进行文件访问。
第四方面,本公开还提供了一种文件存储装置,所述装置包括:
存储请求接收模块,用于接收针对目标文件的目录元数据存储请求;
索引节点号生成模块,用于基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号;其中,所述索引节点号中携带所述元数据服务器的服务器标识信息,所述服务器标识信息用于在接收到携带所述索引节点号的文件访问请求时定位所述元数据服务器。
第五方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
第六方面,本公开提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
第七方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供了一种文件访问方法,具体的,接收携带索引节点号的文件访问请求,其中,索引节点号中的服务器标识信息用于标识索引节点号对应的目录元数据所属的元数据服务器;然后从索引节点号中的服务器标识信息标识的元数据服务器中,获取索引节点号对应的目录元数据。可见,本公开实施例能够基于索引节点号定位到目录元数据所属的元数据服务器,由于目录重命名不会影响到索引节点号,因此本公开实施例仍然能够基于索引节点号定位到原来的元数据服务器,从而解决了现有技术中因目录重命名而使目录元数据所属元数据服务器变更的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种文件访问方法的流程图;
图2为本公开实施例提供的一种文件存储方法的流程图;
图3为本公开实施例提供的一种文件访问装置的结构示意图;
图4为本公开实施例提供的一种文件存储装置的结构示意图;
图5为本公开实施例提供的一种文件访问设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
目前,在进行文件访问时,为了确定文件的目录元数据具体由哪个元数据服务器进行处理,通常的访问方法是对目录名进行哈希计算,根据计算得到的哈希值来映射到具体的元数据服务器(或者逻辑元数据区,后续统称为元数据服务器)中,从而确定目录元数据所属的元数据服务器。
然而,上述方法的缺点是如果对目录重命名,由于重命名后的目录名对应的哈希值发生改变,因此目录元数据极大概率会被映射到其他的元数据服务器中,此时需要将目录元数据进行迁移才能保证文件访问成功。
因此,如何避免因为目录重命名而导致目录元数据所属元数据服务器变更,是目前亟需解决的技术问题。
为此,本公开实施例提供了一种文件访问方法,具体的,接收携带索引节点号的文件访问请求,其中,索引节点号中的服务器标识信息用于标识索引节点号对应的目录元数据所属的元数据服务器;然后从索引节点号中的服务器标识信息标识的元数据服务器中,获取索引节点号对应的目录元数据。可见,本公开实施例能够基于索引节点号定位到目录元数据所属的元数据服务器,由于目录重命名不会影响到索引节点号,因此本公开实施例仍然能够基于索引节点号定位到原来的元数据服务器,从而解决了现有技术中因目录重命名而使目录元数据所属元数据服务器变更的问题。
基于此,本公开实施例提供了一种文件访问方法,参考图1,为本公开实施例提供的一种文件访问方法的流程图,该方法应用于文件***。具体的,该方法包括:
S101:接收携带索引节点号的文件访问请求。
其中,所述索引节点号中携带服务器标识信息,所述服务器标识信息用于标识所述索引节点号对应的目录元数据所属的元数据服务器。
本公开实施例提供的文件访问方法应用于文件***,具体可应用于分布式文件***(Distributed File System,DFS),分布式文件***主要由元数据服务器、存储服务器、客户端三部分组成,分布式文件***主要是把文件数据存储在多个服务器上,通过客户端对元数据服务器和存储服务器进行访问,实现文件数据的存储。
本公开实施例中,元数据(meta data)是用于描述文件***和文件特征的***数据,例如文件类型、文件大小、访问权限和数据索引信息等;元数据服务器包含文件访问控制所需要的所有元数据,对文件进行访问时,先向元数据服务器请求查询对应的元数据,然后通过获得的元数据进行后续的文件访问操作。
本公开实施例中,索引节点(Index Node,Inode)用于记录除文件名以外的所有文件信息,每个索引节点均对应一个索引节点号,文件***用索引节点号来识别不同的文件,索引节点号在创建之后不会再改变。文件***将文件的索引节点号和目录名保存在目录文件中,对于每一个文件来说均有唯一的索引节点号与之对应。
本公开实施例中,文件***在接收到文件访问请求时,首先从文件访问请求中获取索引节点号,由于索引节点号中携带有服务器标识信息,而服务器标识信息能够用于标识索引节点号对应的目录元数据所属的元数据服务器,因此文件***可以基于索引节点号中的服务器标识信息,确定要访问的目录元数据所属的元数据服务器。
相比于目前在进行文件访问时,需要对文件的目录名进行哈希计算,根据计算得到的哈希值来映射到具体的元数据服务器中,从而确定目录元数据所属的元数据服务器的方法,本公开实施例通过索引节点号中的服务器标识信息来确定目录元数据所属的元数据服务器,避免了后续对目录重命名时,由于重命名后的目录名对应的哈希值发生改变而导致目录元数据被映射到其他的元数据服务器中,所出现的文件访问失败问题。
一种可选的实施方式中,可以采用索引节点号中的任意一部分来标识目录元数据所属的元数据服务器,例如,可以将索引节点号的前缀部分作为服务器标识信息,或者将索引节点号的后缀部分作为服务器标识信息,来标识目录元数据所属的元数据服务器。
S102:从所述索引节点号中的所述服务器标识信息所标识的元数据服务器中,获取所述索引节点号对应的目录元数据。
其中,所述目录元数据用于针对所述文件访问请求进行文件访问。
本公开实施例中,根据索引节点号中的服务器标识信息确定对应的元数据服务器后,基于元数据服务器访问存储在该元数据服务器中的目录元数据,从而获得文件的基本属性信息和数据的索引信息,进而基于属性信息和索引信息获取文件的存储位置,对文件的数据内容进行访问。
本公开实施例提供的文件访问方法中,具体的,接收携带索引节点号的文件访问请求,其中,索引节点号中的服务器标识信息用于标识索引节点号对应的目录元数据所属的元数据服务器;然后从索引节点号中的服务器标识信息标识的元数据服务器中,获取索引节点号对应的目录元数据。
实际应用中,在进行文件存储时,可以通过对目录名进行哈希计算,根据计算得到的哈希值来映射到具体的元数据服务器,从而实现将目录元数据均衡分布到对应的元数据服务器上。
一种可选的实施方式中,在将目录元数据均衡分布到对应的元数据服务器上之后,对于目录元数据的索引节点号,可以由目录元数据所属的元数据服务器基于索引节点号资源和元数据服务器的服务器标识生成,需要注意的是,由于索引节点号中携带有服务器标识信息,在后续进行文件访问时,可以根据服务器标识信息直接定位到目录元数据所属的元数据服务器,并不需要查询目录元数据与元数据服务器之间的映射关系,从而节省了因为记录目录元数据与元数据服务器之间的映射关系而产生的资源处理开销。
一种可选的实施方式中,在接收到针对任一元数据服务器的索引节点号创建请求时,基于索引节点号创建请求中携带的索引节点号资源请求参数,为元数据服务器分配索引节点号资源。
本公开实施例中,索引节点号创建请求中携带有索引节点号资源请求参数,索引节点号资源请求参数中包含元数据服务器本次需要申请的索引节点号资源个数,索引节点号资源用于生成对应的索引节点号,文件***在接收到携带索引节点号资源请求参数的索引节点号创建请求时,基于索引节点号资源请求参数,为对应的元数据服务器分配所需的索引节点号资源。
本公开实施例中,基于索引节点号创建请求为元数据服务器分配索引节点号资源之后,更新元数据服务器对应的索引节点号资源记录。
本公开实施例中,文件***对于每个元数据服务器,均有一个对应的索引节点号资源记录,索引节点号资源记录用于记录对应的元数据服务器的索引节点号资源使用情况,元数据服务器在申请到一个或者多个索引节点号资源时,文件***则会基于申请到的一个或者多个索引节点号资源更新索引节点号资源记录。
一种可选的实施方式中,索引节点号资源记录可以为任意位数的数字,用于表示在此之前的索引节点号资源已经使用,在此之后的索引节点号资源还没有被使用。
举例说明,假设索引节点号资源记录为101,则表示101以及101之前的索引节点号资源已经被使用,在接收到携带索引节点号资源请求参数的索引节点号创建请求时,基于索引节点号资源请求参数,从101之后依次分配索引节点号资源。
可见,本公开实施例能够基于索引号创建请求中携带的索引节点号资源请求参数,为元数据服务器分配索引节点号资源,从而实现基于索引节点号资源和服务器标识信息生成索引节点号的功能。
基于上述实施例,本公开实施例还提供了一种文件存储方法,参考图2,为本公开实施例提供的一种文件存储方法的流程图,该方法应用于元数据服务器。具体的,该方法包括:
S201:接收针对目标文件的目录元数据存储请求。
本公开实施例中,元数据是用于描述文件***和文件特征的***数据,例如文件类型、文件大小、访问权限和数据索引信息等;元数据服务器器(Metadata Server,MDS)用于管理文件***中的所有元数据。
本公开实施例中,当用户需要存储某个文件时,可以将该文件作为目标文件,向元数据服务器发送目标文件的目录元数据存储请求;元数据服务器在接收到针对目标文件目录元数据存储请求时,为目标文件生成对应的索引节点号。
S202:基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号。
其中,所述索引节点号中携带所述元数据服务器的服务器标识信息,所述服务器标识信息用于在接收到携带所述索引节点号的文件访问请求时定位所述元数据服务器。
一种可选的实施方式中,可以采用索引节点号中的任意一部分来标识目录元数据所属的元数据服务器,例如,可以将索引节点号的前缀部分作为服务器标识信息,或者将索引节点号的后缀部分作为服务器标识信息,来标识目录元数据所属的元数据服务器,后续在接收到携带索引节点号的文件访问请求时,可以基于索引节点号的前缀部分或者后缀部分,确定目录元数据所属的元数据服务器。
一种可选的实施方式中,元数据服务器在接收到针对目标文件的目录元数据存储请求时,首先,从目录元数据存储请求中获取目标文件的目录名称以及目录名称对应的父目录的索引节点号,在获取到目标文件的目录名称以及目录名称对应的父目录的索引节点号之后,基于目标文件的目录名称和目录名称对应的父目录的索引节点号,生成元数据服务器的服务器标识信息,最后,基于元数据服务器的服务器标识信息,为目标文件的目录元数据生成索引节点号。
本公开实施例中,服务器标识信息用于在接收到携带索引节点号的文件访问请求时定位元数据服务器,也就是说,在接收到携带索引节点号的文件访问请求时,能够基于索引节点号中的服务器标识信息,定位到目标文件的目录元数据所属的元数据服务器。
一种可选的实施方式中,基于目标文件的目录名称和目录名称对应的父目录的索引节点号,生成元数据服务器的服务器标识信息,具体的,可以利用如下公式生成服务器标识信息:
id=Mod(Hash(parent_dir_Ino,dir_name),MDS_sum);
其中,id表示服务器标识信息,parent_dir_Ino表示目标文件的目录名称对应的父目录的索引节点号,dir_name表示目标文件的目录名称,MDS_sum表示元数据服务器总数。
具体为,首先,对目录名称对应的父目录的索引节点号和目录名称进行哈希计算,然后,对计算得到的哈希值按元数据服务器总数取模,得到目标文件所属的元数据服务器的服务器标识信息,其中,元数据服务器总数是指文件***中全部元数据服务器的数量。
本公开实施例中,在确定目标文件所属元数据服务器的服务器标识信息后,可以基于元数据服务器的服务器标识信息,为目标文件的目录元数据生成索引节点号。
另外,客户端在获取到目录元数据的索引节点号时,也可以基于索引节点号中的服务器标识信息,确定目录元数据所在的元数据服务器,并能直接与元数据服务器进行交互操作,例如对目录元数据以及该目录下的文件或者子目录的元数据信息进行删除、移动、创建等操作。
本公开实施例提供的文件存储方法中,应用于元数据服务器,具体的,在接收到针对目标文件的目录元数据存储请求时,基于元数据服务器的服务器标识信息,为目标文件的目录元数据生成索引节点号,其中,索引节点号中携带有元数据服务器的服务器标识信息,由于目录元数据的索引节点号在创建之后不再改变,因此,本公开实施例能够基于索引节点号中携带的服务器标识信息,唯一标识目录元数据所属的元数据服务器。
实际应用中,索引节点号中不仅可以携带有元数据服务器的服务器标识信息,还可以携带有索引节点号资源标识,其中,索引节点号资源标识为基于索引节点号资源确定。
一种可选的实施方式中,基于元数据服务器的服务器标识信息,为目标文件的目录元数据生成索引节点号之前,还包括:发送针对目标文件的目录元数据的索引节点号创建请求,其中,索引节点号创建请求中携带有针对目标文件的目录元数据的索引节点号资源请求参数;然后,接收针对索引节点号资源请求参数分配的索引节点号资源,其中,索引节点号资源用于为目标文件的目录元数据生成索引节点号。
本公开实施例中,索引节点号资源请求参数中包含元数据服务器本次需要申请的索引节点号资源个数,索引节点号资源用于生成对应的索引节点号。
一种可选的实施方式中,在接收到针对索引节点号资源请求参数分配的索引节点号资源时,首先,基于索引节点号资源,为目标文件的目录元数据确定索引节点号资源标识,然后,基于元数据服务器的服务器标识信息和索引节点号资源标识,为目标文件的目录元数据生成索引节点号。
一种可选的实施方式中,索引节点号由元数据服务器的服务器标识信息和索引节点号资源标识构成,其中,索引节点号的数据类型和长度可以为基于实际需求进行设置;由于索引节点号的长度是可以基于实际需求进行调整的,因此索引节点号中的服务器标识信息和索引节点号资源标识所占用的位数也是可以基于实际需求进行调整的。
例如,可以将索引节点号的数据类型设置为位(bit)数据类型,相应的,索引节点号的长度则可以设置为56bit,又例如,假设用于表示元数据服务器的服务器标识信息的长度为12bit,则对应的索引节点号资源标识的长度为56-12=44bit,如下表1所示,为索引节点号的构成示意。
服务器标识信息(索引节点号前缀) | 索引节点号资源标识 |
12bit | 44bit |
表1
本公开实施例中,文件***中的每个元数据服务器均有属于自己的索引节点号资源范围,存储在某个元数据服务器上的目录元数据由该元数据服务器进行管理,由于每个目录元数据的索引节点号中均携带有服务器标识信息,因此不同元数据服务器的索引节点号资源不会互相冲突。
可见,本公开实施例在接收到针对目标文件的目录元数据存储请求时,能够基于元数据服务器的服务器标识信息,为目标文件的目录元数据生成索引节点号,其中,索引节点号中携带有元数据服务器的服务器标识信息;由于目录元数据的索引节点号在创建之后不再改变,因此,本公开实施例能够基于索引节点号中携带的服务器标识信息,唯一标识目录元数据所属的元数据服务器。
基于上述方法实施例,本公开还提供了一种文件访问装置,参考图3,为本公开实施例提供的一种文件访问装置的结构示意图,所述装置包括:
访问请求接收模块301,用于接收携带索引节点号的文件访问请求;其中,所述索引节点号中携带服务器标识信息,所述服务器标识信息用于标识所述索引节点号对应的目录元数据所属的元数据服务器;
元数据获取模块302,用于从所述索引节点号中的所述服务器标识信息所标识的元数据服务器中,获取所述索引节点号对应的目录元数据;其中,所述目录元数据用于针对所述文件访问请求进行文件访问。
一种可选的实施方式中,所述索引节点号是由所述元数据服务器基于对应的索引节点号资源和所述元数据服务器的服务器标识信息生成。
一种可选的实施方式中,所述装置还包括:
分配模块,用于在接收到任一元数据服务器的索引节点号创建请求时,基于索引节点号创建请求中携带的索引节点号资源请求参数,为所述元数据服务器分配索引节点号资源;其中,所述索引节点号资源用于生成索引节点号;
资源记录更新模块,用于更新所述元数据服务器对应的索引节点号资源记录;其中,所述索引节点号资源记录用于记录所述元数据服务器的索引节点号资源使用情况。
本公开实施例提供的文件访问装置中,首先,接收携带索引节点号的文件访问请求,其中,索引节点号中的服务器标识信息用于标识索引节点号对应的目录元数据所属的元数据服务器;然后从索引节点号中的服务器标识信息标识的元数据服务器中,获取索引节点号对应的目录元数据。可见,本公开实施例能够基于索引节点号定位到目录元数据所属的元数据服务器,由于目录重命名不会影响到索引节点号,因此本公开实施例仍然能够基于索引节点号定位到原来的元数据服务器,从而解决了现有技术中因目录重命名而使目录元数据所属元数据服务器变更的问题。
基于上述方法实施例,本公开还提供了一种文件存储装置,参考图4,为本公开实施例提供的一种文件存储装置的结构示意图,所述装置包括:
存储请求接收模块401,用于接收针对目标文件的目录元数据存储请求;
索引节点号生成模块402,用于基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号;其中,所述索引节点号中携带所述元数据服务器的服务器标识信息,所述服务器标识信息用于在接收到携带所述索引节点号的文件访问请求时定位所述元数据服务器。
一种可选的实施方式中,所述目录元数据存储请求中携带所述目标文件的目录名称以及所述目录名称对应的父目录的索引节点号;所述装置还包括:
标识信息生成模块,用于基于所述目标文件的目录名称和所述目录名称对应的父目录的索引节点号,生成所述元数据服务器的服务器标识信息。
一种可选的实施方式中,所述装置还包括:
创建请求发送模块,用于发送针对所述目标文件的目录元数据的索引节点号创建请求;其中,所述索引节点号创建请求携带针对所述目标文件的目录元数据的索引节点号资源请求参数;
资源接收模块,用于接收针对所述索引节点号资源请求参数分配的索引节点号资源;其中,所述索引节点号资源用于为所述目标文件的目录元数据生成索引节点号。
一种可选的实施方式中,所述索引节点号生成模块,包括:
资源标识确定子模块,用于基于所述索引节点号资源,为所述目标文件的目录元数据确定索引节点号资源标识;
索引节点号生成子模块,用于基于所述元数据服务器的服务器标识信息和所述索引节点号资源标识,为所述目标文件的目录元数据生成索引节点号。
本公开实施例提供的文件存储装置中,应用于元数据服务器,具体的,在接收到针对目标文件的目录元数据存储请求时,基于元数据服务器的服务器标识信息,为目标文件的目录元数据生成索引节点号,其中,索引节点号中携带有元数据服务器的服务器标识信息,由于目录元数据的索引节点号在创建之后不再改变,因此,本公开实施例能够基于索引节点号中携带的服务器标识信息,唯一标识目录元数据所属的元数据服务器。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的文件访问方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开实施例所述的文件访问方法。
另外,本公开实施例还提供了一种文件访问设备,参见图5所示,可以包括:
处理器501、存储器502、输入装置503和输出装置504。文件访问设备中的处理器501的数量可以一个或多个,图5中以一个处理器为例。在本公开的一些实施例中,处理器501、存储器502、输入装置503和输出装置504可通过总线或其它方式连接,其中,图5中以通过总线连接为例。
存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行文件访问设备的各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置503可用于接收输入的数字或字符信息,以及产生与文件访问设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现上述文件访问设备的各种功能。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种文件访问方法,其特征在于,所述方法包括:
接收携带索引节点号的文件访问请求;其中,所述索引节点号中携带服务器标识信息,所述服务器标识信息用于标识所述索引节点号对应的目录元数据所属的元数据服务器;
从所述索引节点号中的所述服务器标识信息所标识的元数据服务器中,获取所述索引节点号对应的目录元数据;其中,所述目录元数据用于针对所述文件访问请求进行文件访问。
2.根据权利要求1所述的方法,其特征在于,所述索引节点号是由所述元数据服务器基于对应的索引节点号资源和所述元数据服务器的服务器标识信息生成。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在接收到任一元数据服务器的索引节点号创建请求时,基于索引节点号创建请求中携带的索引节点号资源请求参数,为所述元数据服务器分配索引节点号资源;其中,所述索引节点号资源用于生成索引节点号;
更新所述元数据服务器对应的索引节点号资源记录;其中,所述索引节点号资源记录用于记录所述元数据服务器的索引节点号资源使用情况。
4.一种文件存储方法,其特征在于,应用于元数据服务器,所述方法包括:
接收针对目标文件的目录元数据存储请求;
基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号;其中,所述索引节点号中携带所述元数据服务器的服务器标识信息,所述服务器标识信息用于在接收到携带所述索引节点号的文件访问请求时定位所述元数据服务器。
5.根据权利要求4所述的方法,其特征在于,所述目录元数据存储请求中携带所述目标文件的目录名称以及所述目录名称对应的父目录的索引节点号;所述基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号之前,还包括:
基于所述目标文件的目录名称和所述目录名称对应的父目录的索引节点号,生成所述元数据服务器的服务器标识信息。
6.根据权利要求4所述的方法,其特征在于,所述基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号之前,还包括:
发送针对所述目标文件的目录元数据的索引节点号创建请求;其中,所述索引节点号创建请求携带针对所述目标文件的目录元数据的索引节点号资源请求参数;
接收针对所述索引节点号资源请求参数分配的索引节点号资源;其中,所述索引节点号资源用于为所述目标文件的目录元数据生成索引节点号。
7.根据权利要求6所述的方法,其特征在于,所述基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号,包括:
基于所述索引节点号资源,为所述目标文件的目录元数据确定索引节点号资源标识;
基于所述元数据服务器的服务器标识信息和所述索引节点号资源标识,为所述目标文件的目录元数据生成索引节点号。
8.一种文件访问装置,其特征在于,所述装置包括:
访问请求接收模块,用于接收携带索引节点号的文件访问请求;其中,所述索引节点号中携带服务器标识信息,所述服务器标识信息用于标识所述索引节点号对应的目录元数据所属的元数据服务器;
元数据获取模块,用于从所述索引节点号中的所述服务器标识信息所标识的元数据服务器中,获取所述索引节点号对应的目录元数据;其中,所述目录元数据用于针对所述文件访问请求进行文件访问。
9.一种文件存储装置,其特征在于,应用于元数据服务器,所述装置包括:
存储请求接收模块,用于接收针对目标文件的目录元数据存储请求;
索引节点号生成模块,用于基于所述元数据服务器的服务器标识信息,为所述目标文件的目录元数据生成索引节点号;其中,所述索引节点号中携带所述元数据服务器的服务器标识信息,所述服务器标识信息用于在接收到携带所述索引节点号的文件访问请求时定位所述元数据服务器。
10.一种电子设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311125798.8A CN117149708B (zh) | 2023-08-31 | 2023-08-31 | 一种文件访问方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311125798.8A CN117149708B (zh) | 2023-08-31 | 2023-08-31 | 一种文件访问方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117149708A true CN117149708A (zh) | 2023-12-01 |
CN117149708B CN117149708B (zh) | 2024-06-04 |
Family
ID=88886417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311125798.8A Active CN117149708B (zh) | 2023-08-31 | 2023-08-31 | 一种文件访问方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149708B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614591A (zh) * | 2004-12-02 | 2005-05-11 | 中国科学院计算技术研究所 | 一种组织和访问分布式文件***目录的方法 |
US20060129614A1 (en) * | 2004-12-14 | 2006-06-15 | Kim Hong Y | Crash recovery system and method for distributed file server using object based storage |
CN101520805A (zh) * | 2009-03-25 | 2009-09-02 | 中兴通讯股份有限公司 | 一种分布式文件***及其文件处理方法 |
CN101692239A (zh) * | 2009-10-19 | 2010-04-07 | 浙江大学 | 一种分布式文件***元数据分配方法 |
CN102158546A (zh) * | 2011-02-28 | 2011-08-17 | 中国科学院计算技术研究所 | 一种集群文件***及其文件服务方法 |
KR20120013475A (ko) * | 2010-08-05 | 2012-02-15 | 에스케이 텔레콤주식회사 | 분산 파일 시스템에서 url정보를 이용한 데이터 관리 장치 및 그 방법 |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件***元数据管理方法 |
CN103761256A (zh) * | 2013-12-30 | 2014-04-30 | 中国科学院计算技术研究所 | 一种远程目录分支点维护***及其方法 |
CN105550371A (zh) * | 2016-01-27 | 2016-05-04 | 华中科技大学 | 一种面向大数据环境的元数据组织方法和*** |
US20180322142A1 (en) * | 2017-05-02 | 2018-11-08 | Electronics And Telecommunications Research Institute | Metadata server and method for distributing metadata in units of directories using the same |
US10140304B1 (en) * | 2015-12-10 | 2018-11-27 | EMC IP Holding Company LLC | Distributed metadata servers in a file system with separate metadata servers for file metadata and directory metadata |
CN110109889A (zh) * | 2019-05-09 | 2019-08-09 | 重庆大学 | 一种分布式内存文件管理*** |
CN110321325A (zh) * | 2019-06-21 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 文件索引节点查找方法、终端、服务器、***及存储介质 |
CN111858474A (zh) * | 2020-06-29 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 分布式存储***Inode号分配管理方法及相关组件 |
US20210360065A1 (en) * | 2020-05-14 | 2021-11-18 | Hangzhou Juicedata Technology Limited | Distributed Metadata Management Method for Distributed File System |
CN113901018A (zh) * | 2021-09-02 | 2022-01-07 | 新华三大数据技术有限公司 | 一种待迁移文件识别方法、装置、计算机设备及存储介质 |
-
2023
- 2023-08-31 CN CN202311125798.8A patent/CN117149708B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614591A (zh) * | 2004-12-02 | 2005-05-11 | 中国科学院计算技术研究所 | 一种组织和访问分布式文件***目录的方法 |
US20060129614A1 (en) * | 2004-12-14 | 2006-06-15 | Kim Hong Y | Crash recovery system and method for distributed file server using object based storage |
CN101520805A (zh) * | 2009-03-25 | 2009-09-02 | 中兴通讯股份有限公司 | 一种分布式文件***及其文件处理方法 |
CN101692239A (zh) * | 2009-10-19 | 2010-04-07 | 浙江大学 | 一种分布式文件***元数据分配方法 |
KR20120013475A (ko) * | 2010-08-05 | 2012-02-15 | 에스케이 텔레콤주식회사 | 분산 파일 시스템에서 url정보를 이용한 데이터 관리 장치 및 그 방법 |
CN102158546A (zh) * | 2011-02-28 | 2011-08-17 | 中国科学院计算技术研究所 | 一种集群文件***及其文件服务方法 |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件***元数据管理方法 |
CN103761256A (zh) * | 2013-12-30 | 2014-04-30 | 中国科学院计算技术研究所 | 一种远程目录分支点维护***及其方法 |
US10140304B1 (en) * | 2015-12-10 | 2018-11-27 | EMC IP Holding Company LLC | Distributed metadata servers in a file system with separate metadata servers for file metadata and directory metadata |
CN105550371A (zh) * | 2016-01-27 | 2016-05-04 | 华中科技大学 | 一种面向大数据环境的元数据组织方法和*** |
US20180322142A1 (en) * | 2017-05-02 | 2018-11-08 | Electronics And Telecommunications Research Institute | Metadata server and method for distributing metadata in units of directories using the same |
CN110109889A (zh) * | 2019-05-09 | 2019-08-09 | 重庆大学 | 一种分布式内存文件管理*** |
CN110321325A (zh) * | 2019-06-21 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 文件索引节点查找方法、终端、服务器、***及存储介质 |
US20210360065A1 (en) * | 2020-05-14 | 2021-11-18 | Hangzhou Juicedata Technology Limited | Distributed Metadata Management Method for Distributed File System |
CN111858474A (zh) * | 2020-06-29 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 分布式存储***Inode号分配管理方法及相关组件 |
CN113901018A (zh) * | 2021-09-02 | 2022-01-07 | 新华三大数据技术有限公司 | 一种待迁移文件识别方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117149708B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
US8423733B1 (en) | Single-copy implicit sharing among clones | |
CN110321325B (zh) | 文件索引节点查找方法、终端、服务器、***及存储介质 | |
CN107562757B (zh) | 基于分布式文件***的查询、访问方法、装置及*** | |
CN111597148B (zh) | 用于分布式文件***的分布式元数据管理方法 | |
US9128944B2 (en) | File system enabling fast purges and file access | |
US8370385B2 (en) | Media collections service | |
CN111857539B (zh) | 用于管理存储***的方法、设备和计算机可读介质 | |
CN113220659B (zh) | 一种数据迁移的方法、***、电子装置和存储介质 | |
CN110134335B (zh) | 一种基于键值对的rdf数据管理方法、装置及存储介质 | |
CN110968589A (zh) | 一种分布式***中自增id的管理方法和装置 | |
US9020977B1 (en) | Managing multiprotocol directories | |
CN117149708B (zh) | 一种文件访问方法、装置、设备及存储介质 | |
CN106934066B (zh) | 一种元数据处理方法、装置和存储设备 | |
JP5367470B2 (ja) | ストレージサーバー装置及びコンピュータプログラム | |
CN112445986B (zh) | 一种缓存信息的更新方法、推送方法、装置及介质 | |
CN111881220B (zh) | 列表存储下的数据操作方法、装置、电子设备和存储介质 | |
KR101368441B1 (ko) | 데이터베이스의 공간 재사용 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 | |
US10114864B1 (en) | List element query support and processing | |
US20130024450A1 (en) | Converter traversal using power of two-based operations | |
US8001533B2 (en) | Maintaining object referential integrity for abstract objects | |
CN110347751B (zh) | 管理cdn***业务属性的方法及装置 | |
US10853320B1 (en) | Scavenging directories for free space | |
CN112181899A (zh) | 一种元数据的处理方法、装置及计算机可读存储介质 | |
US11392662B1 (en) | Attribute inheritance of related objects for a digital object architecture |
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 |