CN112035413B - 元数据信息查询方法、装置及存储介质 - Google Patents
元数据信息查询方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112035413B CN112035413B CN202010917087.4A CN202010917087A CN112035413B CN 112035413 B CN112035413 B CN 112035413B CN 202010917087 A CN202010917087 A CN 202010917087A CN 112035413 B CN112035413 B CN 112035413B
- Authority
- CN
- China
- Prior art keywords
- node
- path information
- metadata
- information
- bloom filter
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 82
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
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)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种元数据信息查询方法、装置及存储介质,属于文件存储技术领域。在本申请实施例中,布隆过滤器包括第二节点中存储的元数据信息所对应的路径信息。通过判断布隆过滤器中是否包含待查询的路径信息,来确定该路径信息所对应的元数据信息是否有可能是第二节点所管理的,进而决定是否通过第二节点去查询该路径信息所对应的元数据信息。这样,相较于盲目的先通过第二节点进行查询,减轻了第二节点的处理压力,提高了元数据信息的查询效率。
Description
技术领域
本申请实施例涉及文件存储技术领域,特别涉及一种元数据信息查询方法、装置及存储介质。
背景技术
NAS(Network Attached Storage,网络附属存储)集群***通常包括NAS客户端、NAS网关节点、集群管理节点和文件元数据管理节点。其中,NAS客户端用于接收用户的文件操作,并根据接收到的文件操作向NAS网关节点发送对应的请求。例如,当文件操作为下载操作时,NAS客户端向NAS网关节点发送读请求。该读请求中将携带待读取的文件或文件夹的路径信息。由于集群管理节点管理的是文件夹的元数据信息,文件元数据管理节点管理的是文件的元数据信息,而NAS网关节点无法根据该路径信息分辨该读请求所要读取的是文件夹还是文件。所以,NAS网关节点无法确定是通过集群管理节点还是文件元数据管理节点获取该路径信息所对应的元数据信息。
基于此,目前,NAS网关节点通常先根据该路径信息,通过集群管理节点进行查询。若未能查询到该路径信息对应的元数据信息,再根据该路径信息,通过文件元数据管理节点查询对应的元数据信息。或者,NAS网关节点先通过文件元数据管理节点进行查询,若查询不到,再通过集群管理节点进行查询。这样,对于先查询的那个节点,由于每次元数据信息的查询都要经过该节点,因此,该节点的处理压力较大。并且,由于不确定要查询的元数据信息到底在由哪个节点管理,所以需要逐个节点进行试验,影响元数据信息的查询速率。
发明内容
本申请实施例提供了一种元数据信息查询方法、装置及存储介质,可以减轻节点的处理压力,提高NAS集群***的元数据信息查询速率。所述技术方案如下:
一方面,提供了一种元数据信息查询方法,所述方法包括:
获取待查询的路径信息;
如果布隆过滤器中不包含所述路径信息,则通过第一节点查询所述路径信息对应的元数据信息,所述布隆过滤器包括第二节点管理的元数据信息所对应的路径信息,所述第一节点管理的元数据信息与所述第二节点管理的元数据信息不同。
在本申请实施例的一种可能的实施方式中,所述方法还包括:
根据所述布隆过滤器包含的多个哈希函数对所述路径信息进行处理,得到所述路径信息对应的多个哈希值;
如果所述布隆过滤器包含的位数组中与所述多个哈希值一一对应的多个位置中任一位置上的数值不为第一数值,则确定所述布隆过滤器不包含所述路径信息。
在本申请实施例的一种可能的实施方式中,所述方法还包括:
如果所述布隆过滤器包含的位数组中与所述多个哈希值一一对应的多个位置上的数值均为所述第一数值,则通过所述第二节点查询所述路径信息对应的元数据信息;
如果通过所述第二节点未查询到所述路径信息对应的元数据信息,则通过所述第一节点查询所述路径信息对应的元数据信息。
在本申请实施例的一种可能的实施方式中,所述第一节点为网络附属存储NAS集群***中的文件元数据管理节点,所述第二节点为所述NAS集群***中的集群管理节点,所述文件元数据管理节点中管理文件的元数据信息,所述集群管理节点中管理文件夹的元数据信息。
在本申请实施例的一种可能的实施方式中,所述方法还包括:
接收文件夹创建请求,所述文件夹创建请求中携带待创建的文件夹的路径信息;
将所述待创建的文件夹的路径信息添加至所述布隆过滤器,并将所述待创建的文件夹的元数据信息发送至所述第二节点。
在本申请实施例的一种可能的实施方式中,所述第一节点为NAS集群***中的集群管理节点,所述第二节点为所述NAS集群***中的文件元数据管理节点,所述文件元数据管理节点管理文件的元数据信息,所述集群管理节点管理文件夹的元数据信息。
另一方面,提供了一种元数据信息查询装置,所述装置包括:
获取模块,用于获取待查询的路径信息;
查询模块,用于如果布隆过滤器中不包含所述路径信息,则通过第一节点查询所述路径信息对应的元数据信息,所述布隆过滤器包括第二节点管理的元数据信息所对应的路径信息,所述第一节点管理的元数据信息与所述第二节点管理的元数据信息不同。
在本申请实施例的一种可能的实施方式中,所述装置还包括:
处理模块,用于根据所述布隆过滤器包含的多个哈希函数对所述路径信息进行处理,得到所述路径信息对应的多个哈希值;
确定模块,用于如果所述布隆过滤器包含的位数组中与所述多个哈希值一一对应的多个位置中任一位置上的数值不为第一数值,则确定所述布隆过滤器不包含所述路径信息。
在本申请实施例的一种可能的实施方式中,所述查询模块还用于:
如果所述布隆过滤器包含的位数组中与所述多个哈希值一一对应的多个位置上的数值均为所述第一数值,则通过所述第二节点查询所述路径信息对应的元数据信息;
如果从所述第二节点中未查询到所述路径信息对应的元数据信息,则通过所述第一节点查询所述路径信息对应的元数据信息。
在本申请实施例的一种可能的实施方式中,所述第一节点为网络附属存储NAS集群***中的文件元数据管理节点,所述第二节点为所述NAS集群***中的集群管理节点,所述文件元数据管理节点管理文件的元数据信息,所述集群管理节点管理文件夹的元数据信息。
在本申请实施例的一种可能的实施方式中,所述装置还包括:
接收模块,用于接收文件夹创建请求,所述文件夹创建请求中携带待创建的文件夹的路径信息;
添加模块,用于将所述待创建的文件夹的路径信息添加至所述布隆过滤器;
存储模块,用于将所述待创建的文件夹的元数据信息发送至所述第二节点。
在本申请实施例的一种可能的实施方式中,所述第一节点为NAS集群***中的集群管理节点,所述第二节点为所述NAS集群***中的文件元数据管理节点,所述文件元数据管理节点管理文件的元数据信息,所述集群管理节点管理文件夹的元数据信息。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器、通信接口、存储器和通信总线,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上所存放的程序,以实现上述所述元数据信息查询方法的步骤。
另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述元数据信息查询方法的步骤。
另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的元数据信息查询方法的步骤。
本申请实施例提供的技术方案至少可以带来以下有益效果:
在本申请实施例中,布隆过滤器包括第二节点中存储的元数据信息所对应的路径信息。通过判断布隆过滤器中是否包含待查询的路径信息,来确定该路径信息所对应的元数据信息是否有可能是由第二节点来管理,进而决定是否通过第二节点查询该路径信息所对应的元数据信息。这样,相较于盲目的先通过第二节点进行查询,减轻了第二节点的处理压力,提高了元数据信息的查询效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种NAS集群***架构图;
图2是本申请实施例提供的一种元数据信息查询方法的流程图;
图3是本申请实施例提供的一种向布隆过滤器中添加路径信息的方法流程图;
图4是本申请实施例提供的一种向布隆过滤器中添加路径信息的原理示意图;
图5是本申请实施例提供的另一种元数据信息查询的流程图;
图6是本申请实施例提供的一种元数据信息查询装置的结构示意图;
图7是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例提供的元数据信息查询方法进行详细的解释说明之前,先对本申请实施例涉及的***架构进行介绍。
图1是本申请实施例提供的一种NAS集群***架构图。如图1所示,该NAS集群***包括NAS客户端101、NAS网关节点102、集群管理节点103、文件元数据管理节点104、云存储节点105。
其中,NAS客户端101与NAS网关节点102建立有通信连接,NAS网关节点102分别与集群管理节点103、文件元数据管理节点104以及云存储节点105建立有通信连接,集群管理节点103和文件元数据管理节点104建立有通信连接。其中,NAS网关节点102的数目为一个或多个,文件元数据管理节点104的数目为一个或多个。
需要说明的是,集群管理节点103用于管理文件夹的元数据信息,除此之外,该集群管理节点103还用于管理该NAS集群***的配置信息以及一个或多个文件元数据管理节点104。文件元数据管理节点104用于管理文件的元数据信息。
在一种可能的实现方式中,集群管理节点103和文件元数据管理节点104上分别部署有数据库,集群管理节点103管理的文件夹的元数据信息存储于该集群管理节点103上部署的数据库中,文件元数据管理节点104管理的文件的元数据信息存储于该文件元数据管理节点104上部署的数据库中。或者,集群管理节点103管理的文件夹的元数据信息和文件元数据管理节点104管理的文件的元数据信息存储于一个数据库中。本申请实施例对此不做限定。
云存储节点105提供底层的数据存储功能,也即用于存储文件的数据等。
NAS客户端101用于接收用户的文件操作,如文件夹的访问操作、文件的读写操作等。在接收到用户的文件操作之后,NAS客户端101生成对应的请求,并通过NAS协议向NAS网关节点102发送对应的请求。
NAS网关节点102在接收到NAS客户端101发送的请求之后,根据该请求的类型决定是否查询该路径信息对应的元数据信息。如果查询,则获取该请求中携带的路径信息,并采用本申请实施例提供的元数据信息查询方法,通过集群管理节点103或文件元数据管理节点104来查询该路径信息对应的元数据信息。在获取到该路径信息对应的元数据信息之后,NAS网关节点102根据该元数据信息,对云存储节点105中存储的数据进行操作。
需要说明的是,上述各个节点可以分布式的部署于多个设备上,也即,每个节点均为一台单独的设备。或者,在一些可能的实现方式中,上述除NAS客户端之外的其他节点中的部分节点可以部署于同一设备上,本申请实施例对此不做限定。
接下来对本申请实施例提供的元数据信息查询方法进行详细的解释说明。
图2是本申请实施例提供的一种元数据信息查询方法的流程图,该方法应用于图1所示的NAS集群***中的任一NAS网关节点中。请参考图2,该方法包括如下步骤。
步骤201:获取待查询的路径信息。
在本申请实施例中,NAS客户端在接收到用户的文件操作时,根据该文件操作生成对应的请求,并向NAS网关节点发送该请求。其中,文件操作可能包括对NAS集群***中已存在的文件夹和/或文件的操作,例如,针对NAS集群***中已存在的文件夹或文件的下载操作。对于这一类文件操作所对应的请求,请求中携带有待操作的文件或文件夹的路径信息。
NAS网关节点在接收到NAS客户端发送的该种类型的请求后,由于无法区分该请求所要操作的是文件夹还是文件,所以,NAS网关节点获取该请求中携带的路径信息,以便通过本申请实施例提供的方法来区分该请求所要操作的是文件夹还是文件,进而到对应的节点中获取文件夹或文件的元数据信息。此时,NAS网关节点从该请求中获取到的路径信息即为待查询的路径信息。
步骤202:如果布隆过滤器中不包含该路径信息,则通过第一节点查询该路径信息对应的元数据信息,布隆过滤器包括第二节点管理的元数据信息所对应的路径信息,第一节点管理的元数据信息与第二节点管理的元数据信息不同。
在本申请实施例中,NAS网关节点中包含有布隆过滤器。其中,布隆过滤器由多个哈希函数和一个位数组组成,且该布隆过滤器包括第二节点管理的元数据信息所对应的路径信息。
需要说明的是,在一种可能的实现方式中,第二节点是指NAS集群***中的集群管理节点,相应地,第一节点是指NAS集群***中的文件元数据管理节点。在这种情况下,由于集群管理节点用于管理该NAS集群***中的文件夹的元数据信息,因此,布隆过滤器包括的是该NAS集群***中的文件夹的路径信息。
在另一种可能的实现方式中,第二节点是指NAS集群***中的文件元数据管理节点,第一节点是指NAS集群***中的集群管理节点。在这种情况下,由于文件元数据管理节点用于管理该NAS集群***中的文件的元数据信息,因此,布隆过滤器包括的将是该NAS集群***中的文件的路径信息。
由于布隆过滤器包括第二节点管理的元数据信息所对应的路径信息,也即,布隆过滤器包括NAS集群***中的文件夹的路径信息或文件的路径信息。因此,在执行本步骤之前,NAS网关节点需要收集文件夹或文件的路径信息,进而将文件夹或文件的路径信息添加至该布隆过滤器中。基于此,在对本步骤的实现过程进行介绍之前,先对NAS网关节点收集文件夹的路径信息,并文件夹的路径信息添加至布隆过滤器的过程进行介绍。需要说明的是,对于NAS网关节点收集文件的路径信息,并在布隆过滤器中添加文件的路径信息的实现方式可以参考下述实现过程,本申请实施例对此不再赘述。
示例性地,图3示出了在布隆过滤器中添加文件夹的路径信息的流程图。参见图3,该过程包括以下步骤:
301:接收文件夹创建请求,该文件夹创建请求携带待创建的文件夹的路径信息。
当用户想要创建文件夹时,在NAS客户端上执行文件夹创建操作。NAS客户端在接收到该操作之后,生成文件夹创建请求,并向NAS网关节点发送该文件夹创建请求,相应地,NAS网关节点接收该文件夹创建请求。其中,该文件夹创建请求携带待创建的文件夹的路径信息。
302:将该待创建的文件夹的路径信息添加至布隆过滤器。
NAS网关节点在接收到文件夹创建请求之后,获取该文件夹创建请求中携带的待创建的文件夹的路径信息,之后,NAS网关节点将该待创建的文件夹的路径信息添加至布隆过滤器。
由前述介绍可知,布隆过滤器由多个哈希函数和一个位数组组成,其中,该位数组中的每个位置上的数值的初始值均为第二数值。NAS网关节点通过该多个哈希函数对待创建文件夹的路径信息进行哈希运算,从而得到多个哈希值。之后,NAS网关节点将位数组中与该多个哈希值一一对应的多个位置上的数值均置为第一数值。如此,待创建文件夹的路径信息即被添加至了布隆过滤器中。其中,第一数值为1,第二数值为0。或者,第一数值为0,第二数值为1。
图4是本申请实施例示出的一种向布隆过滤器中添加路径信息的原理示意图。如图4所示,假设待创建文件夹的路径信息为m,布隆过滤器中的多个哈希函数分别为H1、H2和H3,位数组的长度为n。假设NAS网关节点根据H1和m进行哈希运算,得到哈希值k1=2。根据H2和m进行哈希运算,得到哈希值k2=4。根据H3和m进行哈希运算,得到哈希值k3=5,则NAS网关节点将位数组中第2个比特位、第4个比特位和第5个比特位上的数值均置为1,如此,该路径信息m即被添加至了该布隆过滤器中。
303:将待创建的文件夹的元数据信息发送至集群管理节点。
在将待创建的文件夹的路径信息添加至布隆过滤器的同时,NAS网关节点根据该路径信息创建文件夹,并将文件夹的元数据信息发送至集群管理节点。集群管理节点在接收到该文件夹的元数据信息之后,将该文件夹的元数据信息存储至数据库中。
通过上述步骤301-303,NAS网关节点在创建文件夹的过程将文件夹的路径信息添加至了布隆过滤器中,并将文件夹的元数据信息发送至了集群管理节点进行管理。这样,该布隆过滤器中将包括集群管理节点所管理的文件夹的元数据信息所对应的路径信息。
需要说明的是,上述是本申请实施例提供的一种向布隆过滤器中添加文件夹的路径信息的实现方式。在一些可能的实施例中,NAS网关节点也可以每隔一定时长,根据集群管理节点中新增的文件夹的元数据信息来获取这些文件夹的路径信息,进而将这些路径信息添加至布隆过滤器中。本申请实施例对此不作限定。
基于上述描述,在将文件夹的路径信息或文件的路径信息添加至布隆过滤器之后,当NAS网关节点获取到待查询的路径信息时,即能够在该布隆过滤器中查询该路径信息,根据在布隆过滤器中是否查询到该路径信息来分辨该路径信息是文件夹的路径信息还是文件的路径信息。
示例性地,NAS网关节点根据布隆过滤器包含的多个哈希函数对待查询的路径信息进行处理,得到该路径信息对应的多个哈希值;如果布隆过滤器包含的位数组中与该多个哈希值一一对应的多个位置中任一位置上的数值不为第一数值,则确定该布隆过滤器不包含所述路径信息。
需要说明的是,由于第二节点所管理的元数据信息对应的路径信息已经通过前述介绍的方法添加至了布隆过滤器中,因此,如果待查询的路径信息就是第二节点所管理的元数据信息所对应的路径信息,则通过多个哈希函数对待查询的路径信息处理后得到的多个哈希值和向布隆过滤器中添加该路径信息时得到的多个哈希值必然是相等的。这样,位数组中与该多个哈希值一一对应的多个位置上的数值也必然都为第一数值。基于此,如果位数组中与待查询的路径信息对应的多个哈希值一一对应的多个位置上任一位置上的数值不为第一数值,则能够确定该布隆过滤器中不包含该待查询的路径信息。也即,该待查询的路径信息不是第二节点所管理的元数据信息所对应的路径信息。
在确定待查询的路径信息不为第二节点所管理的元数据信息所对应的路径信息的情况下,NAS网关节点也就不必再通过第二节点中查询该路径信息对应的元数据信息,而是可以直接通过第一节点来查询该路径信息对应的元数据信息。这样,相较于盲目的依次通过第二节点、第一节点来查询元数据信息,减轻了第二节点的处理压力,提高了元数据信息的查询效率。
其中,NAS网关节点通过第一节点来查询待查询的路径信息对应的元数据信息时,可以向第一节点发送查询请求,该查询请求中携带待查询的路径信息。第一节点在接收到该查询请求之后,根据该路径信息获取对应的元数据信息,进而将该元数据信息反馈至NAS网关节点。
可选地,如果布隆过滤器包含的位数组中与待查询的路径信息对应的多个哈希值一一对应的多个位置上的数值均为第一数值,则通过第二节点查询所述路径信息对应的元数据信息;如果通过第二节点未查询到待查询的路径信息对应的元数据信息,则通过第一节点查询该路径信息对应的元数据信息。
需要说明的是,在将路径信息添加至布隆过滤器的过程中,不同的路径信息对应不同的哈希值,从而使得不同哈希值对应的位置上的数值为第一数值。但是,对于不存在于布隆过滤器中的路径信息,经过多个哈希函数处理后的多个哈希值对应的位置上的数值也可能正好都为第一数值。例如,布隆过滤器中包含有路径信息a和b。假设路径信息a对应的多个哈希值为1、2、8,路径信息b对应的多个哈希值为3、5、9,则位数组中第1、2、3、5、8和9位上的数值将均为第一数值。假设路径信息c不存在于布隆过滤器中,但是,经过多个哈希函数处理得到的该路径信息c对应的多个哈希值为2、5、8,此时,虽然位数组中该多个哈希值对应的位置上数值将均为第一数值,但是该路径信息c实际上并不存在与该布隆过滤器中。
由此可见,当与待查询的路径信息对应的多个哈希值一一对应的多个位置上的数值均为第一数值时,说明该布隆过滤器有较大概率可能包含有该路径信息,但是,并不能说明该布隆过滤器中一定包括该路径信息。在这种情况下,NAS网关节点先通过第二节点来查询该路径信息对应的元数据信息。如果未查询到,则说明为布隆过滤器的误识别。此时,再通过第一节点来查询该路径信息对应的元数据信息。这样,相较于完全盲目的不加辨别的直接依次通过各个节点中查询路径信息对应的元数据信息,在一定程度上也能减轻先查询的节点的处理压力,从而提高查询效率。
在本申请实施例中,布隆过滤器包括第二节点中存储的元数据信息所对应的路径信息。通过判断布隆过滤器中是否包含待查询的路径信息,来确定该路径信息所对应的元数据信息是否有可能是第二节点所管理的,进而决定是否通过第二节点去查询该路径信息所对应的元数据信息。这样,相较于盲目的先通过第二节点进行查询,减轻了第二节点的处理压力,提高了元数据信息的查询效率。尤其是当第二节点为集群管理节点时,由于NAS集群***中包括的集群管理节点的数目通常比较少,集群管理节点本身的处理压力比较大,因此,通过本申请实施例提供的方法能够更好的缓解集群管理节点的处理压力,避免集群管理节点称为NAS集群***的性能瓶颈,提高元数据处理效率。
可选地,在上述实施例中,NAS网关节点包括布隆过滤器。在另外一些可能的实施方式中,该布隆过滤器单独部署在一个独立的节点中。例如,该布隆过滤器是redis开源节点上的布隆过滤器。这样,对于不同的网关节点,均通过该布隆过滤器来实现本方案,如此,能够保证数据的全局唯一性。
接下来通过一个示例来对本申请实施例提供的元数据查询方法的实现流程进行举例说明,其中,在该示例中,第一节点为文件元数据管理节点,第二节点为集群管理节点,也即,布隆过滤器中包含有集群管理节点所管理的文件夹的元数据信息。
参见图5,首先,NAS网关节点接收待查询的路径信息,之后,判断布隆过滤器中是否包含待查询的路径信息。如果布隆过滤器中不包含待查询的路径信息,则NAS网关节点从文件元数据管理节点中获取该路径信息对应的属性信息,并将获取到的属性信息返回至NAS客户端。如果布隆过滤器中包含待查询的路径信息,则NAS网关节点向集群管理节点中请求获取该路径信息所对应的属性信息,并判断是否从集群管理节点中获取到了属性信息。如果从集群管理节点获取到了属性信息,则将获取到的属性信息返回至NAS客户端。如果未能从集群管理节点获取到属性信息,则从文件元数据管理节点中获取该路径信息对应的属性信息,并将获取到的属性信息返回至NAS客户端。
图6是本申请实施例提供的一种元数据信息查询装置600的结构示意图,该元数据信息查询装置可以由软件、硬件或者两者的结合实现成为NAS网关节点的部分或者全部,NAS网关节点可以为图1所示的NAS网关节点。请参考图6,该装置600包括:获取模块601和查询模块602。
获取模块601,用于获取待查询的路径信息;
查询模块602,用于如果布隆过滤器中不包含路径信息,则通过第一节点查询路径信息对应的元数据信息,布隆过滤器包括第二节点管理的元数据信息所对应的路径信息,第一节点管理的元数据信息与第二节点管理的元数据信息不同。
在本申请实施例的一种可能的实施方式中,该装置600还包括:
处理模块,用于根据布隆过滤器包含的多个哈希函数对路径信息进行处理,得到路径信息对应的多个哈希值;
确定模块,用于如果布隆过滤器包含的位数组中与多个哈希值一一对应的多个位置中任一位置上的数值不为第一数值,则确定布隆过滤器不包含路径信息。
在本申请实施例的一种可能的实施方式中,查询模块602还用于:
如果布隆过滤器包含的位数组中与多个哈希值一一对应的多个位置上的数值均为第一数值,则通过第二节点查询路径信息对应的元数据信息;
如果从第二节点中未查询到路径信息对应的元数据信息,则通过第一节点查询路径信息对应的元数据信息。
在本申请实施例的一种可能的实施方式中,第一节点为网络附属存储NAS集群***中的文件元数据管理节点,第二节点为NAS集群***中的集群管理节点,文件元数据管理节点管理文件的元数据信息,集群管理节点管理文件夹的元数据信息。
在本申请实施例的一种可能的实施方式中,该装置600还包括:
接收模块,用于接收文件夹创建请求,文件夹创建请求中携带待创建的文件夹的路径信息;
添加模块,用于将待创建的文件夹的路径信息添加至布隆过滤器;
存储模块,用于将待创建的文件夹的元数据信息发送至第二节点。
在本申请实施例的一种可能的实施方式中,第一节点为NAS集群***中的集群管理节点,第二节点为NAS集群***中的文件元数据管理节点,文件元数据管理节点管理文件的元数据信息,集群管理节点管理文件夹的元数据信息。
在本申请实施例中,布隆过滤器包括第二节点中存储的元数据信息所对应的路径信息。通过判断布隆过滤器中是否包含待查询的路径信息,来确定该路径信息所对应的元数据信息是否有可能是由第二节点来管理,进而决定是否通过第二节点查询该路径信息所对应的元数据信息。这样,相较于盲目的先通过第二节点进行查询,减轻了第二节点的处理压力,提高了元数据信息的查询效率。
需要说明的是:上述实施例提供的元数据信息查询装置在查询元数据信息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的元数据信息查询装置与元数据信息查询方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本申请实施例提供的一种服务器的结构示意图。前述实施例中的NAS网关节点即可以通过该服务器来实现。其中,该服务器700包括中央处理单元CPU(CentralProcessing Unit,中央处理单元)701、包括RAM(Random Access Memory,随机存取存储器)702和ROM(Read-Only Memory,只读存储器)703的***存储器704,以及连接***存储器704和中央处理单元701的***总线705。服务器700还包括帮助计算机内的各个器件之间传输信息的I/O(Input/Output,基本输入/输出)***706,和用于存储操作***713、应用程序714和其他程序模块715的大容量存储设备707。
基本输入/输出***706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中显示器708和输入设备709都通过连接到***总线705的输入输出控制器710连接到中央处理单元701。基本输入/输出***706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备707通过连接到***总线705的大容量存储控制器(未示出)连接到中央处理单元701。大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,大容量存储设备707可以包括诸如硬盘或者CD-ROM(CompactDisc Read-Only Memory)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,数字通用光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器704和大容量存储设备707可以统称为存储器。
根据本申请的各种实施例,服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在***总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机***(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中元数据信息查询方法的步骤。例如,该计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
值得注意的是,本申请实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。
也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的元数据信息查询方法的步骤。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (9)
1.一种元数据信息查询方法,其特征在于,应用于网络附属存储NAS集群***的NAS网关节点中,所述方法包括:
获取用户请求操作的文件夹或文件的路径信息;
如果布隆过滤器中不包含所述路径信息,则通过第一节点查询所述路径信息对应的元数据信息,所述布隆过滤器包括第二节点管理的元数据信息所对应的路径信息;
根据所述路径信息对应的元数据信息,对所述文件或文件夹中的数据进行操作;
其中,所述第一节点为所述NAS集群***中的文件元数据管理节点,所述第二节点为所述NAS集群***中的集群管理节点,或者所述第一节点为NAS集群***中的集群管理节点,所述第二节点为所述NAS集群***中的文件元数据管理节点;所述文件元数据管理节点用于管理文件的元数据信息,所述集群管理节用于管理文件夹的元数据信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述布隆过滤器包含的多个哈希函数对所述路径信息进行处理,得到所述路径信息对应的多个哈希值;
如果所述布隆过滤器包含的位数组中与所述多个哈希值一一对应的多个位置中任一位置上的数值不为第一数值,则确定所述布隆过滤器不包含所述路径信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述布隆过滤器包含的位数组中与所述多个哈希值一一对应的多个位置上的数值均为所述第一数值,则通过所述第二节点查询所述路径信息对应的元数据信息;
如果通过所述第二节点未查询到所述路径信息对应的元数据信息,则通过所述第一节点查询所述路径信息对应的元数据信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,若所述第一节点为所述NAS集群***中的文件元数据管理节点,所述第二节点为所述NAS集群***中的集群管理节点,所述方法还包括:
接收文件夹创建请求,所述文件夹创建请求中携带待创建的文件夹的路径信息;
将所述待创建的文件夹的路径信息添加至所述布隆过滤器,并将所述待创建的文件夹的元数据信息发送至所述第二节点。
5.一种元数据信息查询装置,其特征在于,包含于网络附属存储NAS集群***的NAS网关节点中,所述装置包括:
获取模块,用于获取用户请求操作的文件夹或文件的路径信息;
查询模块,用于如果布隆过滤器中不包含所述路径信息,则通过第一节点查询所述路径信息对应的元数据信息,所述布隆过滤器包括第二节点管理的元数据信息所对应的路径信息;根据所述路径信息对应的元数据信息,对所述文件或文件夹中的数据进行操作;
其中,所述第一节点为所述NAS集群***中的文件元数据管理节点,所述第二节点为所述NAS集群***中的集群管理节点,或者所述第一节点为NAS集群***中的集群管理节点,所述第二节点为所述NAS集群***中的文件元数据管理节点;所述文件元数据管理节点用于管理文件的元数据信息,所述集群管理节用于管理文件夹的元数据信息。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
处理模块,用于根据所述布隆过滤器包含的多个哈希函数对所述路径信息进行处理,得到所述路径信息对应的多个哈希值;
确定模块,用于如果所述布隆过滤器包含的位数组中与所述多个哈希值一一对应的多个位置中任一位置上的数值不为第一数值,则确定所述布隆过滤器不包含所述路径信息。
7.根据权利要求6所述的装置,其特征在于,所述查询模块还用于:
如果所述布隆过滤器包含的位数组中与所述多个哈希值一一对应的多个位置上的数值均为所述第一数值,则通过所述第二节点查询所述路径信息对应的元数据信息;
如果从所述第二节点中未查询到所述路径信息对应的元数据信息,则通过所述第一节点查询所述路径信息对应的元数据信息。
8.根据权利要求5-7任一项所述的装置,其特征在于,若所述第一节点为所述NAS集群***中的文件元数据管理节点,所述第二节点为所述NAS集群***中的集群管理节点,所述装置还包括:
接收模块,用于接收文件夹创建请求,所述文件夹创建请求中携带待创建的文件夹的路径信息;
添加模块,用于将所述待创建的文件夹的路径信息添加至所述布隆过滤器;
存储模块,用于将所述待创建的文件夹的元数据信息发送至所述第二节点。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010917087.4A CN112035413B (zh) | 2020-09-03 | 2020-09-03 | 元数据信息查询方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010917087.4A CN112035413B (zh) | 2020-09-03 | 2020-09-03 | 元数据信息查询方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035413A CN112035413A (zh) | 2020-12-04 |
CN112035413B true CN112035413B (zh) | 2024-02-20 |
Family
ID=73592133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010917087.4A Active CN112035413B (zh) | 2020-09-03 | 2020-09-03 | 元数据信息查询方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035413B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113763034B (zh) * | 2021-08-06 | 2024-05-31 | 郑州阿帕斯数云信息科技有限公司 | 广告数据的处理方法及装置 |
CN114443913B (zh) * | 2022-04-06 | 2022-06-07 | 创智和宇信息技术股份有限公司 | 基于元数据多函数多条件的自定义查询方法、***及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150483A (zh) * | 2007-11-02 | 2008-03-26 | 华为技术有限公司 | 路由表调整方法、路由查询方法和装置及路由表存储装置 |
CN105408857A (zh) * | 2013-07-29 | 2016-03-16 | 亚马逊科技公司 | 通过针对选择***织数据位生成用于关系数据库的多列索引 |
CN109495525A (zh) * | 2017-09-12 | 2019-03-19 | 华为技术有限公司 | 网络组件、解析内容标识的方法和计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9455903B2 (en) * | 2012-07-31 | 2016-09-27 | Cisco Technology, Inc. | Recording packet routes using bloom filters |
-
2020
- 2020-09-03 CN CN202010917087.4A patent/CN112035413B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150483A (zh) * | 2007-11-02 | 2008-03-26 | 华为技术有限公司 | 路由表调整方法、路由查询方法和装置及路由表存储装置 |
CN105408857A (zh) * | 2013-07-29 | 2016-03-16 | 亚马逊科技公司 | 通过针对选择***织数据位生成用于关系数据库的多列索引 |
CN109495525A (zh) * | 2017-09-12 | 2019-03-19 | 华为技术有限公司 | 网络组件、解析内容标识的方法和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112035413A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020038623A (ja) | データを記憶するための方法、装置及びシステム | |
WO2021082157A1 (zh) | 一种元数据、数据存储、共享方法、***及设备 | |
CN108874803B (zh) | 数据存储方法、装置及存储介质 | |
CN108614837B (zh) | 文件存储和检索的方法及装置 | |
CN110413650B (zh) | 一种业务数据的处理方法、装置、设备和存储介质 | |
CN112287182A (zh) | 图数据存储、处理方法、装置及计算机存储介质 | |
CN112035413B (zh) | 元数据信息查询方法、装置及存储介质 | |
CN111159219B (zh) | 一种数据管理方法、装置、服务器及存储介质 | |
US20180248977A1 (en) | Selective distribution of messages in a publish-subscribe system | |
CN111258978A (zh) | 一种数据存储的方法 | |
JP2022550401A (ja) | データのアップロード方法、システム、装置及び電子機器 | |
CN114925041A (zh) | 一种数据查询方法及装置 | |
CN103905512A (zh) | 一种数据处理方法和设备 | |
US9626378B2 (en) | Method for handling requests in a storage system and a storage node for a storage system | |
US20220215021A1 (en) | Data Query Method and Apparatus, Computing Device, and Storage Medium | |
CN107977381B (zh) | 数据配置方法、索引管理方法、相关装置以及计算设备 | |
CN108023920B (zh) | 一种数据包传输方法、设备及应用接口 | |
CN112835896B (zh) | 一种实时数据库数据热点均衡方法、装置、设备及介质 | |
CN107526530B (zh) | 数据处理方法和设备 | |
CN109960695B (zh) | 云计算***中数据库的管理方法和装置 | |
CN110990394B (zh) | 分布式面向列数据库表的行数统计方法、装置和存储介质 | |
CN108989245B (zh) | 用户数据存储方法及装置 | |
CN112685557A (zh) | 可视化信息资源管理方法及装置 | |
CN111274410A (zh) | 一种数据存储方法、装置及数据查询方法、装置 | |
CN113553329B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |