CN111209252A - 一种文件元数据存储方法、装置及电子设备 - Google Patents
一种文件元数据存储方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111209252A CN111209252A CN201811400111.6A CN201811400111A CN111209252A CN 111209252 A CN111209252 A CN 111209252A CN 201811400111 A CN201811400111 A CN 201811400111A CN 111209252 A CN111209252 A CN 111209252A
- Authority
- CN
- China
- Prior art keywords
- hash value
- file
- databases
- metadata
- stored
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000004590 computer program Methods 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 16
- 238000013500 data storage Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种文件元数据存储方法、装置及电子设备。其中,方法应用于集群NAS分布式文件系统中的元数据管理节点,所述集群NAS分布式文件系统包括多个数据库,所述方法包括:计算待存储文件元数据的父目录标识的哈希值,所述父目录标识用于表示所述待存储文件元数据所对应的文件所位于的目录;将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库。可以通过文件元数据的父目录标识作为存储文件元数据时的索引,以将位于同一个目录下的所有文件的文件元数据存储至同一个数据库中,避免执行遍历目录操作时需要访问多个数据库,提高了遍历目录操作的效率。
Description
技术领域
本发明涉及数据存储技术领域,特别是涉及一种文件元数据存储方法、装置及电子设备。
背景技术
集群NAS(Network Attached Storage,网络附属存储)分布式文件系统中,包含元数据,这些元数据信息用于表示该文件系统中目录和目录之间、目录和文件之间的树形层次关系和包括关系。可以利用数据库对这些元数据进行存储和管理。
由于集群NAS分布式文件系统中所包含的元数据的数量往往较多,为了提高针对元数据的存储和查询效率,可以将这些元数据均衡地存储在数据库中的多个文件库或者多个文件表中,以降低每个文件库或者文件表所存储的元数据的数量。
但是,同一个目录下的多个文件的元数据可能被存储在不同的文件库或者文件表中。当用户希望遍历该目录下所有文件时,可能需要查询多个文件库或者多个文件表,才能够查询到该目录下所有文件的元数据,导致效率较低。
发明内容
本发明实施例的目的在于提供一种文件元数据存储方法、装置及电子设备,以实现提高目录遍历操作的效率。具体技术方案如下:
在本发明实施例的第一方面,提供了一种文件元数据存储方法,应用于集群NAS分布式文件系统中的元数据管理节点,所述集群NAS分布式文件系统包括多个数据库,所述方法包括:
计算待存储文件元数据的父目录标识的哈希值,所述父目录标识用于表示所述待存储文件元数据所对应的文件所位于的目录;
将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库。
结合第一方面,在第一种可能的实现方式中,所述多个数据库中每个数据库对应有预设的哈希取值区间;
所述将所述待存储文件元数据存储至所述多个数据库中与所述哈希值相对应的数据库,包括:
将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值所属的哈希取值区间相对应的数据库。
结合第一方面,在第二种可能的实现方式中,所述多个数据库中每个数据库包括多个数据表;
所述将所述待存储文件元数据存储至所述多个数据库中与所述哈希值相对应的数据库,包括:
将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库中,与所述哈希值相对应的数据表。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
所述将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值向对应的数据库中,与所述哈希值相对应的数据表,包括:
将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库的多个数据表中,所述哈希值所属的哈希取值区间相对应的数据表。
在本发明实施例的第二方面,提供了一种文件元数据查询方法,应用于集群NAS分布式文件系统中的元数据管理节点,所述集群NAS分布式文件系统包括多个数据库,所述方法包括:
计算待查询文件元数据的父目录标识的哈希值,所述父目录标识用于表示所述待存储文件元数据所对应的文件所位于的目录;
访问所述多个数据库中与所述哈希值相对应的数据库。
结合第二方面,在第一种可能的实现方式中,所述多个数据库中每个数据库对应有预设的哈希取值区间;
所述访问所述多个数据库中与所述哈希值相对应的数据库,包括:
访问所述多个数据库中与所述哈希值所属的哈希取值区间相对应的数据库。
结合第二方面,在第二种可能的实现方式中,所述多个数据库中每个数据库包括多个数据表;
所述访问所述多个数据库中与所述哈希值相对应的数据库,包括:
访问所述多个数据库中与所述哈希值相对应的数据库中,与所述哈希值相对应的数据表。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
所述访问所述多个数据库中与所述哈希值相对应的数据库中,与所述哈希值相对应的数据表,包括:
访问所述多个数据库中与所述哈希值相对应的数据库的多个数据表中,所述哈希值所属的哈希取值区间相对应的数据表。
在本发明实施例的第三方面,提供了一种文件元数据存储装置,应用于集群NAS分布式文件系统中的元数据管理节点,所述集群NAS分布式文件系统包括多个数据库,所述装置包括:
第一哈希模块,用于计算待存储文件元数据的父目录标识的哈希值,所述父目录标识用于表示所述待存储文件元数据所对应的文件所位于的目录;
数据存储模块,用于将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库。
结合第三方面,在第一种可能的实现方式中,所述多个数据库中每个数据库对应有预设的哈希取值区间;
所述数据存储模块,具体用于将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值所属的哈希取值区间相对应的数据库。
结合第三方面,在第二种可能的实现方式中,所述多个数据库中每个数据库包括多个数据表;
所述数据存储模块,具体用于将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库中,与所述哈希值相对应的数据表。
结合第三方面,在第三种可能的实现方式中,所述多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
所述数据存储模块,具体用于将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库的多个数据表中,所述哈希值所属的哈希取值区间相对应的数据表。
在本发明实施例的第四方面,提供了一种文件元数据查询装置,应用于集群NAS分布式文件系统中的元数据管理节点,所述集群NAS分布式文件系统包括多个数据库,所述装置包括:
第二哈希模块,用于计算待查询文件元数据的父目录标识的哈希值,所述父目录标识用于表示所述待存储文件元数据所对应的文件所位于的目录;
数据访问模块,用于访问所述多个数据库中与所述哈希值相对应的数据库。
结合第四方面,在第一种可能的实现方式中,所述多个数据库中每个数据库对应有预设的哈希取值区间;
所述数据访问模块,具体用于访问所述多个数据库中与所述哈希值所属的哈希取值区间相对应的数据库。
结合第四方面,在第二种可能的实现方式中,所述多个数据库中每个数据库包括多个数据表;
所述数据访问模块,具体用于访问所述多个数据库中与所述哈希值相对应的数据库中,与所述哈希值相对应的数据表。
结合第四方面的第二种可能的实现方式中,所述多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
所述数据访问模块,具体用于访问所述多个数据库中与所述哈希值相对应的数据库的多个数据表中,所述哈希值所属的哈希取值区间相对应的数据表。
在本发明实施例的第五方面,提供了一种电子设备,应用于集群NAS分布式文件系统,所述集群NAS分布式文件系统包括多个数据库,所述元数据管理节点包括:
第一存储器,用于存放计算机程序;
第一处理器,用于执行存储器上所存放的程序时,实现上述任一所述的文件元数据存储方法。
在本发明实施例的第六方面,提供了一种电子设备,应用于集群NAS分布式文件系统,所述集群NAS分布式文件系统包括多个数据库,所述元数据管理节点包括:
第二存储器,用于存放计算机程序;
第二处理器,用于执行存储器上所存放的程序时,实现上述任一所述的文件元数据查询方法。
在本发明实施例的第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的文件元数据存储方法。
在本发明实施例的第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的文件元数据查询方法。
本发明实施例提供的文件元数据存储方法、装置及电子设备,可以通过文件元数据的父目录标识作为存储文件元数据时的索引,以将位于同一个目录下的所有文件的文件元数据存储至同一个数据库中,避免执行遍历目录操作时需要访问多个数据库,提高了遍历目录操作的效率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的文件元数据存储方法的一种流程示意图;
图2为本发明实施例提供的哈希值与数据库对应方法的一种流程示意图;
图3为本发明实施例提供的文件元数据查询方法的一种流程示意图;
图4为本发明实施例提供的文件元数据存储方法的另一种流程示意图;
图5为本发明实施例提供的哈希值与数据表对应方法的一种流程示意图;
图6为本发明实施例提供的文件元数据查询方法的一种流程示意图;
图7为本发明实施例提供的文件元数据存储装置的一种结构示意图;
图8为本发明实施例提供的文件元数据查询装置的一种结构示意图;
图9为本发明实施例提供的电子设备的一种结构示意图;
图10为本发明实施例提供的电子设备的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
集群NAS分布式文件系统中包含大量文件,为了对这些文件进行有效的管理,集群NAS分布式文件系统中还可以存储有这些文件的文件元数据。这些文件元数据可以用于对文件以及文件和目录之间的关系进行描述,例如文件元数据中可以包括文件的创建时间,也可以包括文件所属的目录(即该文件的父目录)的信息。文件元数据的所包括的信息根据实际需求可以不同,例如在一些使用场景中,文件元数据中包含文件的数据量,不包含文件创建的时间,在一些使用场景中,文件元数据中可以包含文件的数据量,以及文件创建的时间。
文件元数据与文件之间存在对应关系,每一个文件元数据用于描述一个文件以及该文件和目录之间的关系。由于集群NAS分布式文件系统中往往包括有大量的文件,因此需要存储大量的文件元数据。而如果将大量的文件元数据保存在同一个数据库或者数据表中,一方面在访问文件元数据时可能会给数据库和数据表造成较大的流量压力,另一方面,过于巨大的数据库或者数据表修改或者查询效率较低。
为了解决集群NAS分布式文件系统中大量文件元数据的存储问题,本发明实施例提供文件元数据存储方法,可以参见图1,图1所示为本发明实施例提供的文件元数据存储方法的一种流程示意图,本发明实施例可以应用于集群NAS分布式文件系统中的元数据管理节点,该集群NAS分布式文件系统中包括多个数据库用于存储文件元数据(集群NAS分布式文件系统中除了这多个数据库以外,还可以包括其他数据库,用于存储文件元数据以外的数据,如目录元数据),方法可以包括:
S101,计算待存储文件元数据的父目录标识的哈希值。
其中,父目录标识用于表示待存储文件元数据所对应的文件所位于的目录(以下称父目录)的标识,即父目录标识可以视为待存储文件元数据所对应的文件的父目录的目录表示。集群NAS分布式文件系统中每个目录的目录标识均是唯一的,即不存在两个不同的目录具有相同的目录标识。
进一步的,可以是将待存储文件元数据的父目录标识输入至预设的哈希计算公式,以得到待存储文件元数据的父目录标识的哈希值。根据实际需求,可以选用不同的哈希计算公式。不同的父目录标识,计算得到的哈希值是不同的。因此如果两个文件位于同一个目录,则这两个文件的文件元数据的父目录标识的哈希值相同,如果两个文件不位于同一个目录,则这两个文件的文件元数据的父目录标识的哈希值不同。
S102,将待存储文件元数据存储至,多个数据库中与该哈希值相对应的数据库。
哈希值与数据库的对应关系可以根据实际需求进行设置,可以是预先针对每一个可能的哈希值,预先设置该哈希值所对应的数据库,也可以将哈希值可能的取值范围预先划分为多个哈希取值区间,针对每个哈希取值区间,预先设置该哈希取值区间所对应的数据库,在这种情况下,哈希值所对应的数据库为该哈希值所属的哈希取值区间所对应的数据库,例如,数据库A对应的哈希取值区间为[1,100]和[201,300],数据库B对应的哈希取值区间为[101,200]和[301,400],则哈希值205所对应的数据库为数据库A,哈希值315所对应的数据库为数据库B。
如果两个文件位于同一个目录,由于这两个文件的文件元数据的父目录标识的哈希值相同,因此选用该实施例,这两个文件的文件元数据会被存储至同一个数据库中。即选用该实施例,可以将位于同一个目录下的所有文件的文件元数据存储至同一个数据库中。
进一步的,如果用户希望遍历某一个目录的所有文件,由于该目录下的所有文件的文件元数据存贮在同一个数据库中,因此只需要访问该数据库,即可获取到该目录的所有文件的文件元数据,因此可以高效地进行目录遍历操作。
另一方面,在相关技术中,也可以计算待存储文件元数据所对应的文件的父目录的目录路径的哈希值,并将待存储文件元数据存储至与该哈希值多个数据库中与该哈希值相对应的数据库中。由于位于同一个目录的文件的父目录的目录路径相同,因此位于同一个目录的文件也会被存储至同一个数据库中。但是,在一些使用场景中,集群NAS分布式文件系统中的目录的目录路径可能发生改变,例如假设目录C的路径为E/D/C,在一些使用场景中,在已经存储目录C下的文件的文件元数据后,出于实际需求,目录C被移动至目录E下,即路径变化为E/C,在这种情况下,目录C所包括的文件的父目录的目录路径发生改变,因此这些文件的文件元数据所存储的数据库可能也需要变化,否则可能导致无法正确访问到这些文件元数据,而改变已经存储的文件元数据的存储位置可能给数据库的运行和维护带来较大的负载。
而选用本发明实施例提供的文件元数据存储方法,由于待存储文件元数据的父目录标识,并不会随着父目录的目录路径的变化而变化,例如假设待存储文件元数据所对应的文件的父目录为目录C,目录C的目录标识为ABCD1234,则即使目录C的目录路径发生改变,目录C的目录标识仍然为ABCD1234,因此在存储该待存储文件元数据后,即使目录C的目录路径发生改变,也可以根据目录C的目录标识准确地访问到该待存储文件元数据,不需要改变该待存储文件元数据的存储位置。即可以解决上述技术问题。
参见图2,图2所示为本发明实施例提供的哈希值与数据库的对应方法的一种流程示意图,可以包括:
S201,计算哈希值与n的模。
其中,n为预设的正整数,并且在该实施例中,大于等于集群NAS分布式文件系统中所包括的用于存储文件元数据的数据库的数目。示例性的,假设集群NAS分布式文件系统中所包括5个用于存储文件元数据的数据库,则n大于等于5。在其他实施例中,n也可以小于集群NAS分布式文件系统中所包括的用于存储文件元数据的数据库的数目,但是可能导致不会将待存储文件元数据存储至集群NAS分布式文件系统中部分数据库,造成数据库没有被充分利用。
哈希值与n的模即为哈希值除以n的余数,示例性的,假设哈希值为1028,n为1024,则该哈希值与n的模为4。
S202,将多个预设取值区间中包括该模的预设取值区间所对应的数据库,作为该哈希值所对应的数据库。
其中,多个预设取值区间是预先划分好的,由于哈希值与n的模必然为[0,n-1]的正整数,因此可以预先将[0,n-1]划分为多个预设取值区间,预设取值区间的可以根据实际需求进行划分,示例性的,假设n=1024,则可以是将[0,1023]划分为4个预设取值区间,分别为[0,255]、[256,511]、[512,767]、[768,1023]。
每个预设取值区域预先对应于一个数据库,在该实施例中,不同的预设取值区间可以对应于同一个数据库,在其他实施例中,也可以是不同的预设取值区间对应于不同的数据库。示例性的,假设n=1024,假设预设取值区间分别为[0,255]、[256,511]、[512,767]、[768,1023],集群NAS分布式文件系统中有3个用于存储文件元数据的数据库,分别为数据库A、数据库B、数据库C,则可以是预设取值区间[0,255]对应于数据库A,预设取值区间[256,511]、[512,767]对应于数据库B,预设取值区间[768,1023]对应于数据库C。
进一步的,由于文件元数据被存储至多个数据库,因此在查询文件元数据的时候,需要访问存储该文件元数据的数据库。为了能够准确访问到按照本发明实施例提供的文件元数据存储方法存储的文件元数据所在的数据库,本发明实施例提供了一种文件元数据查询方法,可以参见图3,图3所示为本发明实施例提供的文件元数据查询方法的一种流程示意图,可以包括:
S301,计算待查询文件元数据的父目录标识的哈希值。
待查询文件元数据的父目录标识,可以是基于待查询文件元数据所对应的文件所位于的目录查询得到,带查询文件元数据所对应的文件所位于的目录,可以从根目录逐级递归查询得到。
计算待查询文件元数据的父目录标识的哈希值的方法,与本发明实施例提供的文件元数据存储方法中,计算待存储文件元数据的父目录标识的哈希值的方法一致。以使得,当待查询文件元数据与待存储文件元数据的父目录标识一致的情况下,计算得到的哈希值相同。
S302,访问多个数据库中与该哈希值相对应的数据库。
其中,数据库与哈希值的对应关系,与本发明实施例提供的文件元数据存储方法中,数据库与哈希值的对应关系一致,以使得访问到的数据库,即为存储待查询文件元数据的数据库。
下面将结合应用场景,对本发明实施例提供的文件元数据存储方法以及文件元数据查询方法进行说明,假设集群NAS系统中包括三个用于存储文件元数据的数据库,分别为数据库A、数据库B、数据库C,并且哈希值与数据库之间的对应关系是通过如图2所示的实施例确定的,其中n=1024,预设取值区间包括[0,255]、[256,511]、[512,767]、[768,1023],预设取值区间与数据库之间的对应关系为预设取值区间[0,255]对应于数据库A,预设取值区间[256,511]、[512,767]对应于数据库B,预设取值区间[768,1023]对应于数据库C。
假设待存储文件元数据的父目录标识为ABCD1234,所对应的文件为目录路径E/D/C下的文件F,计算得到字符串ABCD1234的哈希值为1158,1158除以1024为1余134,134属于预设取值区间[0,255],因此将该待存储文件元数据存储至数据库A。当用户需要查询文件F的文件元数据时,可以是从根目录下逐级查询文件F以查找到文件F的父目录,即目录C,并查询得到目录C的目录标识为ABCD1234,计算得到字符串ABCD1234的哈希值为1158,计算得到1158与1024的模为134,134属于预设区间[0,255],因此访问数据库A。
参见图4,图4所示为本发明实施例提供的文件元数据存储方法的另一种流程示意图,可以应用于集群NAS分布式文件系统中的元数据管理节点,该集群NAS分布式文件系统包括多个用于存储文件元数据的数据库,并且这些数据库中的每个数据库均包括多个数据表,方法可以包括:
S401,计算待存储文件元数据的父目录标识的哈希值。
该步骤与S101相同,可以参见S101中的相关描述,在此不再赘述。
S402,将待存储文件元数据存储至,多个数据库中与该哈希值相对应的数据库中,与该哈希值相对应的数据表。
哈希值与数据表的对应关系可以根据实际需求进行设置,可以是预先针对每一个可能的哈希值,预先设置该哈希值所对应的数据表,也可以将哈希值可能的取值范围预先划分为多个哈希取值区间,针对每个哈希取值区间,预先设置该哈希取值区间所对应的数据表,在这种情况下,哈希值所对应的数据表为该哈希值所属的哈希取值区间所对应的数据表。
进一步的,不同的数据库中,多个数据表和哈希值之间的对应关系可以不同。示例性的,数据库A中,可以是基于哈希值与1024的模所属的预设取值区间,确定哈希值与数据表之间的对应关系,数据库B中,可以是基于哈希值的个位的数值,确定哈希值与数据表之间的对应关系。并且,每个哈希值对应于一个数据库,以及该数据库中的一个数据表。
如果一个数据库中仅包括一个数据表,则存储至该数据库的所有文件元数据均会被存储至该数据表中,在数据库存储的文件元数据较多的情况下,可能导致该数据库中的数据表因为存储了较多的文件元数据而难以维护或者进行查询。因此可以在每个数据库中设置多个数据表,以将该数据库所存储的文件元数据分别存储至这多个数据表中,降低每个数据表中所需要存储的文件元数据数量。但是,在分表存储的过程中,可能将位于同一个目录的不同文件的文件元数据存储在同一个数据库的不同数据表中,用户在执行遍历目录操作时,需要访问该数据库中的多个数据表,才能查询到该目录所包括的所有文件的文件元数据,效率较低。
而选用该实施例,由于存储待存储文件元数据的数据库和数据表,均是根据待存储文件元数据的父目录标识确定的,因此位于同一个目录的不同文件的文件元数据,会被存储在同一个数据库的同一个数据表中。用户在执行遍历目录操作时,可以只访问一个数据库中的一个数据表,即可以查询到该目录所包括的所有文件的文件元数据,效率较高。即解决了上述技术问题。
参见图5,图5所示为本发明实施例提供的哈希值与数据表的对应方法的一中了流程示意图,可以包括:
S501,计算哈希值与数据表数目的模。
其中,数据表数目为该数据库中所包括的数据表的数目,不同的数据库中所包括的数据表的数目可以不同,也可以相同。
S502,将多个预设取值区间中包括该模的预设取值区间所对应的数据表,作为该哈希值所对应的数据表。
其中,多个预设取值区间是预先划分好的。关于预设取值区间及其划分,可以参见S202中的相关描述,在此不再赘述。
进一步的,由于文件元数据被存储至多个数据库的多个数据表中,因此在查询文件元数据的时候,需要访问存储该文件元数据的数据库中存储该文件元数据的数据表。为了能够准确访问到按照图4所示的文件元数据存储方法存储的文件元数据所在的数据库中的数据表,本发明实施例提供了一种文件元数据查询方法,可以参见图6,图6所示为本发明实施例提供的文件元数据查询方法的一种流程示意图,可以包括:
S601,计算待查询文件元数据的父目录标识的哈希值。
该步骤与S301相同,可以参见S301中的相关描述,在此不再赘述。
S602,访问多个数据库中与该哈希值相对应的数据库的多个数据表中,与该哈希值相对应的数据表。
其中,数据库与哈希值的对应关系,与本发明实施例提供的文件元数据存储方法中,数据库与哈希值的对应关系一致。数据表与哈希值的对应关系,与本发明实施例提供的文件元数据存储方法中,数据表与哈希值的对应关系一致。以使得访问到的数据表,即为存储待查询文件元数据的数据库中存储待查询文件元数据的数据表。
参见图7,图7所示为本发明实施例提供的文件元数据存储装置的一种结构示意图,该文件元数据存储装置应用于集群NAS分布式文件系统中的元数据管理节点,集群NAS分布式文件系统包括多个数据库,可以包括:
第一哈希模块701,用于计算待存储文件元数据的父目录标识的哈希值,父目录标识用于表示待存储文件元数据所对应的文件所位于的目录;
数据存储模块702,用于将待存储文件元数据存储至,多个数据库中与哈希值相对应的数据库。
进一步的,多个数据库中每个数据库对应有预设的哈希取值区间;
数据存储模块702,具体用于将待存储文件元数据存储至,多个数据库中与哈希值所属的哈希取值区间相对应的数据库。
进一步的,多个数据库中每个数据库包括多个数据表;
数据存储模块702,具体用于将待存储文件元数据存储至,多个数据库中与哈希值相对应的数据库中,与哈希值相对应的数据表。
进一步的,多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
数据存储模块702,具体用于将待存储文件元数据存储至,多个数据库中与哈希值相对应的数据库的多个数据表中,哈希值所属的哈希取值区间相对应的数据表。
参见图8,图8所示为本发明实施例提供的文件元数据查询装置的一种结构示意图,该文件元数据查询装置应用于集群NAS分布式文件系统中的元数据管理节点,集群NAS分布式文件系统包括多个数据库,可以包括:
第二哈希模块801,用于计算待查询文件元数据的父目录标识的哈希值,父目录标识用于表示待存储文件元数据所对应的文件所位于的目录;
数据访问模块802,用于访问多个数据库中与哈希值相对应的数据库。
进一步的,多个数据库中每个数据库对应有预设的哈希取值区间;
数据访问模块802,具体用于访问多个数据库中与哈希值所属的哈希取值区间相对应的数据库。
进一步的,多个数据库中每个数据库包括多个数据表;
数据访问模块802,具体用于访问多个数据库中与哈希值相对应的数据库中,与哈希值相对应的数据表。
进一步的,多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
数据访问模块802,具体用于访问多个数据库中与哈希值相对应的数据库的多个数据表中,哈希值所属的哈希取值区间相对应的数据表。
本发明实施例还提供了一种电子设备,如图9所示,应用于集群NAS分布式文件系统,集群NAS分布式文件系统包括多个数据库,可以包括:
第一存储器901,用于存放计算机程序;
第一处理器902,用于执行存储器901上所存放的程序时,实现如下步骤:
计算待存储文件元数据的父目录标识的哈希值,父目录标识用于表示待存储文件元数据所对应的文件所位于的目录;
将待存储文件元数据存储至,多个数据库中与哈希值相对应的数据库。
进一步的,多个数据库中每个数据库对应有预设的哈希取值区间;
将待存储文件元数据存储至多个数据库中与哈希值相对应的数据库,包括:
将待存储文件元数据存储至,多个数据库中与哈希值所属的哈希取值区间相对应的数据库。
进一步的,多个数据库中每个数据库包括多个数据表;
将待存储文件元数据存储至多个数据库中与哈希值相对应的数据库,包括:
将待存储文件元数据存储至,多个数据库中与哈希值相对应的数据库中,与哈希值相对应的数据表。
进一步的,多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
将待存储文件元数据存储至,多个数据库中与哈希值向对应的数据库中,与哈希值相对应的数据表,包括:
将待存储文件元数据存储至,多个数据库中与哈希值相对应的数据库的多个数据表中,哈希值所属的哈希取值区间相对应的数据表。
本发明实施例还提供了一种电子设备,如图10所示,应用于集群NAS分布式文件系统,集群NAS分布式文件系统包括多个数据库,可以包括:
第二存储器1001,用于存放计算机程序;
第二处理器1002,用于执行存储器901上所存放的程序时,实现如下步骤:
计算待查询文件元数据的父目录标识的哈希值,父目录标识用于表示待存储文件元数据所对应的文件所位于的目录;
访问多个数据库中与哈希值相对应的数据库。
进一步的,多个数据库中每个数据库对应有预设的哈希取值区间;
访问多个数据库中与哈希值相对应的数据库,包括:
访问多个数据库中与哈希值所属的哈希取值区间相对应的数据库。
进一步的,多个数据库中每个数据库包括多个数据表;
访问多个数据库中与哈希值相对应的数据库,包括:
访问多个数据库中与哈希值相对应的数据库中,与哈希值相对应的数据表。
进一步的,多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
访问多个数据库中与哈希值相对应的数据库中,与哈希值相对应的数据表,包括:
访问多个数据库中与哈希值相对应的数据库的多个数据表中,哈希值所属的哈希取值区间相对应的数据表。
上述电子设备提到存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一文件元数据存储方法。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一文件元数据查询方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一文件元数据存储方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一文件元数据查询方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (20)
1.一种文件元数据存储方法,其特征在于,应用于集群NAS分布式文件系统中的元数据管理节点,所述集群NAS分布式文件系统包括多个数据库,所述方法包括:
计算待存储文件元数据的父目录标识的哈希值,所述父目录标识用于表示所述待存储文件元数据所对应的文件所位于的目录;
将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库。
2.根据权利要求1所述的方法,其特征在于,所述多个数据库中每个数据库对应有预设的哈希取值区间;
所述将所述待存储文件元数据存储至所述多个数据库中与所述哈希值相对应的数据库,包括:
将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值所属的哈希取值区间相对应的数据库。
3.根据权利要求1所述的方法,其特征在于,所述多个数据库中每个数据库包括多个数据表;
所述将所述待存储文件元数据存储至所述多个数据库中与所述哈希值相对应的数据库,包括:
将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库中,与所述哈希值相对应的数据表。
4.根据权利要求3所述的方法,其特征在于,所述多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
所述将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值向对应的数据库中,与所述哈希值相对应的数据表,包括:
将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库的多个数据表中,所述哈希值所属的哈希取值区间相对应的数据表。
5.一种文件元数据查询方法,其特征在于,应用于集群NAS分布式文件系统中的元数据管理节点,所述集群NAS分布式文件系统包括多个数据库,所述方法包括:
计算待查询文件元数据的父目录标识的哈希值,所述父目录标识用于表示所述待存储文件元数据所对应的文件所位于的目录;
访问所述多个数据库中与所述哈希值相对应的数据库。
6.根据权利要求5所述的方法,其特征在于,所述多个数据库中每个数据库对应有预设的哈希取值区间;
所述访问所述多个数据库中与所述哈希值相对应的数据库,包括:
访问所述多个数据库中与所述哈希值所属的哈希取值区间相对应的数据库。
7.根据权利要求5所述的方法,其特征在于,所述多个数据库中每个数据库包括多个数据表;
所述访问所述多个数据库中与所述哈希值相对应的数据库,包括:
访问所述多个数据库中与所述哈希值相对应的数据库中,与所述哈希值相对应的数据表。
8.根据权利要求7所述的方法,其特征在于,所述多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
所述访问所述多个数据库中与所述哈希值相对应的数据库中,与所述哈希值相对应的数据表,包括:
访问所述多个数据库中与所述哈希值相对应的数据库的多个数据表中,所述哈希值所属的哈希取值区间相对应的数据表。
9.一种文件元数据存储装置,其特征在于,应用于集群NAS分布式文件系统中的元数据管理节点,所述集群NAS分布式文件系统包括多个数据库,所述装置包括:
第一哈希模块,用于计算待存储文件元数据的父目录标识的哈希值,所述父目录标识用于表示所述待存储文件元数据所对应的文件所位于的目录;
数据存储模块,用于将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库。
10.根据权利要求9所述的装置,其特征在于,所述多个数据库中每个数据库对应有预设的哈希取值区间;
所述数据存储模块,具体用于将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值所属的哈希取值区间相对应的数据库。
11.根据权利要求9所述的装置,其特征在于,所述多个数据库中每个数据库包括多个数据表;
所述数据存储模块,具体用于将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库中,与所述哈希值相对应的数据表。
12.根据权利要求11所述的装置,其特征在于,所述多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
所述数据存储模块,具体用于将所述待存储文件元数据存储至,所述多个数据库中与所述哈希值相对应的数据库的多个数据表中,所述哈希值所属的哈希取值区间相对应的数据表。
13.一种文件元数据查询装置,其特征在于,应用于集群NAS分布式文件系统中的元数据管理节点,所述集群NAS分布式文件系统包括多个数据库,所述装置包括:
第二哈希模块,用于计算待查询文件元数据的父目录标识的哈希值,所述父目录标识用于表示所述待存储文件元数据所对应的文件所位于的目录;
数据访问模块,用于访问所述多个数据库中与所述哈希值相对应的数据库。
14.根据权利要求13所述的装置,其特征在于,所述多个数据库中每个数据库对应有预设的哈希取值区间;
所述数据访问模块,具体用于访问所述多个数据库中与所述哈希值所属的哈希取值区间相对应的数据库。
15.根据权利要求13所述的装置,其特征在于,所述多个数据库中每个数据库包括多个数据表;
所述数据访问模块,具体用于访问所述多个数据库中与所述哈希值相对应的数据库中,与所述哈希值相对应的数据表。
16.根据权利要求15所述的装置,其特征在于,所述多个数据库中每个数据库所包括的多个数据表对应有预设的哈希取值区间;
所述数据访问模块,具体用于访问所述多个数据库中与所述哈希值相对应的数据库的多个数据表中,所述哈希值所属的哈希取值区间相对应的数据表。
17.一种电子设备,其特征在于,应用于集群NAS分布式文件系统,所述集群NAS分布式文件系统包括多个数据库,所述电子设备包括:
第一存储器,用于存放计算机程序;
第一处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
18.一种电子设备,其特征在于,应用于集群NAS分布式文件系统,所述集群NAS分布式文件系统包括多个数据库,所述元数据管理节点包括:
第二存储器,用于存放计算机程序;
第二处理器,用于执行存储器上所存放的程序时,实现权利要求5-8任一所述的方法步骤。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求5-8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811400111.6A CN111209252A (zh) | 2018-11-22 | 2018-11-22 | 一种文件元数据存储方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811400111.6A CN111209252A (zh) | 2018-11-22 | 2018-11-22 | 一种文件元数据存储方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111209252A true CN111209252A (zh) | 2020-05-29 |
Family
ID=70788065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811400111.6A Pending CN111209252A (zh) | 2018-11-22 | 2018-11-22 | 一种文件元数据存储方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209252A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000669A (zh) * | 2020-08-14 | 2020-11-27 | 中科三清科技有限公司 | 一种环境监测数据的处理方法、装置、存储介质及终端 |
CN112667675A (zh) * | 2021-03-17 | 2021-04-16 | 杭州趣链科技有限公司 | 数据查验方法、电子装置和存储介质 |
CN113934377A (zh) * | 2021-10-28 | 2022-01-14 | 山东英信计算机技术有限公司 | 一种元数据集群部署方法、装置、设备及可读存储介质 |
CN114610680A (zh) * | 2022-03-07 | 2022-06-10 | 平安科技(深圳)有限公司 | 分布式文件系统元数据管理方法、装置、设备及存储介质 |
WO2023208404A1 (en) * | 2022-04-29 | 2023-11-02 | Petagene Ltd | Improvements in and relating to object-based storage |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692239A (zh) * | 2009-10-19 | 2010-04-07 | 浙江大学 | 一种分布式文件系统元数据分配方法 |
CN101957861A (zh) * | 2010-10-18 | 2011-01-26 | 江苏大学 | 新型元数据服务器集群和基于调整表的元数据管理方法 |
US20120150808A1 (en) * | 2010-12-13 | 2012-06-14 | Verizon Patent And Licensing Inc. | Method and system for performing data backup and restoration |
CN103399894A (zh) * | 2013-07-23 | 2013-11-20 | 中国科学院信息工程研究所 | 一种基于共享存储池的分布式事务处理方法 |
CN103902632A (zh) * | 2012-12-31 | 2014-07-02 | 华为技术有限公司 | 键值存储系统中构建文件系统的方法、装置及电子设备 |
-
2018
- 2018-11-22 CN CN201811400111.6A patent/CN111209252A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692239A (zh) * | 2009-10-19 | 2010-04-07 | 浙江大学 | 一种分布式文件系统元数据分配方法 |
CN101957861A (zh) * | 2010-10-18 | 2011-01-26 | 江苏大学 | 新型元数据服务器集群和基于调整表的元数据管理方法 |
US20120150808A1 (en) * | 2010-12-13 | 2012-06-14 | Verizon Patent And Licensing Inc. | Method and system for performing data backup and restoration |
CN103902632A (zh) * | 2012-12-31 | 2014-07-02 | 华为技术有限公司 | 键值存储系统中构建文件系统的方法、装置及电子设备 |
CN103399894A (zh) * | 2013-07-23 | 2013-11-20 | 中国科学院信息工程研究所 | 一种基于共享存储池的分布式事务处理方法 |
Non-Patent Citations (1)
Title |
---|
赵志峰: "一种云存储目录元数据管理系统" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000669A (zh) * | 2020-08-14 | 2020-11-27 | 中科三清科技有限公司 | 一种环境监测数据的处理方法、装置、存储介质及终端 |
CN112000669B (zh) * | 2020-08-14 | 2021-08-03 | 中科三清科技有限公司 | 一种环境监测数据的处理方法、装置、存储介质及终端 |
CN112667675A (zh) * | 2021-03-17 | 2021-04-16 | 杭州趣链科技有限公司 | 数据查验方法、电子装置和存储介质 |
CN113934377A (zh) * | 2021-10-28 | 2022-01-14 | 山东英信计算机技术有限公司 | 一种元数据集群部署方法、装置、设备及可读存储介质 |
CN114610680A (zh) * | 2022-03-07 | 2022-06-10 | 平安科技(深圳)有限公司 | 分布式文件系统元数据管理方法、装置、设备及存储介质 |
WO2023208404A1 (en) * | 2022-04-29 | 2023-11-02 | Petagene Ltd | Improvements in and relating to object-based storage |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111209252A (zh) | 一种文件元数据存储方法、装置及电子设备 | |
US11550769B2 (en) | Data processing method, apparatus, and system | |
US10140351B2 (en) | Method and apparatus for processing database data in distributed database system | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
CN107704202B (zh) | 一种数据快速读写的方法和装置 | |
US8364723B1 (en) | Apparatus and method for realizing big data into a big object and non-transitory tangible machine-readable medium thereof | |
CN111247518A (zh) | 数据库分片 | |
US9842134B2 (en) | Data query interface system in an event historian | |
CN102739622A (zh) | 一种可扩展的数据存储系统 | |
CN111241108B (zh) | 基于键值对kv系统的索引方法、装置、电子设备和介质 | |
US11487707B2 (en) | Efficient file path indexing for a content repository | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
CN105354315A (zh) | 分布式数据库中子表分裂的方法、子表节点和系统 | |
US20200379948A1 (en) | Indexes and queries for files by indexing file directories | |
CN110807028B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN108319608A (zh) | 访问日志存储查询的方法、装置及系统 | |
CN107704475B (zh) | 多层分布式非结构化数据存储方法、查询方法及装置 | |
Crainiceanu | Bloofi: a hierarchical Bloom filter index with applications to distributed data provenance | |
CN112912870A (zh) | 租户标识符的转换 | |
WO2023083237A1 (zh) | 图数据的管理 | |
CN113568924A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US9898518B2 (en) | Computer system, data allocation management method, and program | |
CN109446159B (zh) | 多版本文件管理方法、服务器及计算机可读存储介质 | |
CN112579633A (zh) | 一种数据检索方法、装置、设备及存储介质 | |
CN115525655A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200529 |
|
RJ01 | Rejection of invention patent application after publication |