CN111399760B - Nas集群元数据处理方法、装置、nas网关及介质 - Google Patents

Nas集群元数据处理方法、装置、nas网关及介质 Download PDF

Info

Publication number
CN111399760B
CN111399760B CN201911133793.3A CN201911133793A CN111399760B CN 111399760 B CN111399760 B CN 111399760B CN 201911133793 A CN201911133793 A CN 201911133793A CN 111399760 B CN111399760 B CN 111399760B
Authority
CN
China
Prior art keywords
metadata
nas
distributed cache
file
cache platform
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
CN201911133793.3A
Other languages
English (en)
Other versions
CN111399760A (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.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology 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 Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201911133793.3A priority Critical patent/CN111399760B/zh
Publication of CN111399760A publication Critical patent/CN111399760A/zh
Application granted granted Critical
Publication of CN111399760B publication Critical patent/CN111399760B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种NAS集群元数据处理方法、装置、NAS网关及介质,包括:在确定文件成功写入至所述NAS集群中的云存储设备时,将该文件的元数据写入至所述分布式缓存平台的内存;当接收到NAS客户端发送的读请求时,检测所述分布式缓存平台是否缓存有所述读请求所请求的目标元数据;若是,则从所述分布式缓存平台的内存中获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端;若否,则从NAS MASTER设备获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端。使用本申请提供的方法可以提高元数据的读取效率。

Description

NAS集群元数据处理方法、装置、NAS网关及介质
技术领域
本申请涉及存储领域,尤其涉及NAS集群元数据处理方法、装置、NAS网关及介质。
背景技术
NAS(Network Attached Storage:网络附属存储)是指连接在网络上的具备数据存储功能的设备。NAS设备可支持多种网络连接协议,包括CIFS(Common Internet FileSystem,通用网络文件***)、NFS(Network File System,网络文件***)、FTP(FileTransfer Protocol,文件传输协议)。
NAS集群是指由多个NAS设备组成的集群,可提供高性能、高可用或高负载均衡的NAS服务。
NAS集群包括:云存储设备、NAS网关(NAS GATEWAY)、和NAS MASTER(NAS管理者)设备。云存储设备提供底层的数据存储功能。NAS网关与NAS客户端对接,可以为NAS客户端提供NAS协议访问接口。NAS MASTER对NAS集群文件的元数据进行统一存储和管理。
当NAS网关接收到NAS客户端的文件写入请求时,NAS网关将文件数据写入到云存储设备,并将生成的元数据发送给NAS MASTER设备进行存储。当NAS网关接收到客户端的文件读取请求时,NAS网关从云存储设备获取指定文件的数据,并从NAS MASTER设备获取元数据反馈给NAS客户端。
由于在每次读取文件时,NAS网关都需要与NAS MASTER设备进行交互,从NASMASTER设备获取元数据,所以大大降低了元数据的读取速度。
发明内容
有鉴于此,本申请提供一种NAS集群元数据处理方法、装置、NAS网关及介质,用以提高元数据的读取效率。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种NAS集群的元数据处理方法,所述方法应用于NAS集群中的NAS网关,所述NAS集群中设置分布式缓存平台;所述分布式缓存平台与所述NAS网关对接;所述方法包括:
在确定文件成功写入至所述NAS集群中的云存储设备时,将该文件的元数据写入至所述分布式缓存平台的内存;
当接收到NAS客户端发送的读请求时,检测所述分布式缓存平台是否缓存有所述读请求所请求的目标元数据;
若是,则从所述分布式缓存平台的内存中获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端;
若否,则从NAS MASTER设备获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端。
可选的,在所述从NAS MASTER设备获取所述目标元数据之后,所述方法还包括:
获取到的所述目标元数据存储至所述分布式缓存平台,并为所述目标元数据设置老化时间。
可选的,所述方法还包括:
在确定已写入文件成功写入至所述NAS集群中的云存储设备时,将所述已写入文件的元数据储存至分布式缓存平台的持久存储介质;
周期性地将持久存储的元数据上报至NAS MASTER设备,并在确定该元数据上报成功后,将上报成功的元数据从所述持久存储介质中删除。
可选的,在所述在确定已写入文件成功写入至所述NAS集群中的云存储设备时,将该文件的元数据写入至所述分布式缓存平台的内存之后,所述方法还包括:
为写入至所述分布式缓存内存中的该文件的元数据设置老化时长;
所述方法还包括:
周期性地将分布式缓存平台内存中达到老化时长的元数据删除。
可选的,所述方法还包括:
当接收到NAS客户端发送的删除请求时,从所述分布式缓存平台的内存、以及所述NAS MASTER中将所述删除请求指示的元数据删除。
根据本申请的第二方面,提供一种NAS集群的元数据处理装置,所述装置应用于NAS集群中的NAS网关,所述NAS集群中设置分布式缓存平台;所述分布式缓存平台与所述NAS网关对接;所述装置包括:
写入单元,用于在确定文件成功写入至所述NAS集群中的云存储设备时,将该文件的元数据写入至所述分布式缓存平台的内存;
检测单元,用于当接收到NAS客户端发送的读请求时,检测所述分布式缓存平台是否缓存有所述读请求所请求的目标元数据;
第一获取单元,用于若是,则从所述分布式缓存平台的内存中获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端;
第二获取单元,用于若否,则从NAS MASTER设备获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端。
可选的,所述装置还包括:
缓存单元,用于获取到的所述目标元数据存储至所述分布式缓存平台,并为所述目标元数据设置老化时间。
可选的,所述装置还包括:
存储单元,用于在确定已写入文件成功写入至所述NAS集群中的云存储设备时,将所述已写入文件的元数据储存至分布式缓存平台的持久存储介质;
上报单元,用于周期性地将持久存储的元数据上报至NAS MASTER设备,并在确定该元数据上报成功后,将上报成功的元数据从所述持久存储介质中删除。
可选的,所述写入单元,还用于为写入至所述分布式缓存内存中的该文件的元数据设置老化时长;
所述装置还包括:
第一删除单元,用于周期性地将分布式缓存平台内存中达到老化时长的元数据删除。
可选的,所述装置还包括:
第二删除单元,用于当接收到NAS客户端发送的删除请求时,从所述分布式缓存平台的内存、以及所述NAS MASTER中将所述删除请求指示的元数据删除。
根据本申请的第三方面,提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使执行如第一方面所述方法。
根据本申请的第四方面,提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器执行如第一方面所述方法。
由上述描述可知,一方面,NAS网关设备在将文件成功写入至云存储设备时,将该文件的元数据写入至该分布式缓存平台的内存中。当NAS网关在接收到元数据的读请求中,可先从该分布式缓存平台的内存中查找该读请求所请求的元数据,若查找到,则向客户端返回查找到的元数据。由于是从分布式缓存平台的内存中读取元数据,所以可以大大提高元数据的访问速度。
另一方面,在NAS网关将该文件成功写入至云存储设备后,NAS网关还将该文件的元数据储存在分布式缓存平台的持久化存储介质中,所以在将元数据上报给NAS MASTER设备的过程中,即使分布式缓存平台故障,也能在分布式缓存平台故障恢复后,从持久化存储介质中找回未上报的元数据,并将未上报的数据上报至NAS MASTER设备,从而可以防止因分布式缓存平台故障而致使待上报的元数据丢失的问题,保证元数据上报的安全性。
附图说明
图1是现有的NAS集群的架构示意图;
图2是本申请一示例性实施例示出的一种NAS集群的架构示意图;
图3是本申请一示例性实施例示出的一种NAS集群的元数据处理方法的流程图;
图4是本申请一示例性实施例示出的一种元数据写入方法的流程图;
图5是本申请一示例性实施例示出的一种元数据读取方法的流程图;
图6是本申请一示例性实施例示出的一种元数据删除的流程图;
图7是本申请一示例性实施例示出的一种NAS网关的硬件结构图;
图8是本申请一示例性实施例示出的一种NAS集群元数据处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,图1是现有的NAS集群的架构示意图。
NAS集群包括:云存储设备101、NAS网关102、和NAS MASTER设备103。
其中,云存储设备101提供底层的数据存储功能。
NAS网关102与NAS客户端104对接,可以为NAS客户端104提供NAS协议访问的接口。
NAS MASTER103对NAS集群的云存储设备已储存的文件的元数据进行统一存储和管理。
其中,文件的元数据可包括文件属性(比如文件大小等)、以及文件在云存储设备上存储地址、索引等。这里只是对文件的元数据进行示例性地说明,不进行具体地限定。
当NAS网关102接收到NAS客户端104的针对文件的写请求时,NAS网关102将该文件写入到云存储设备101,并将成功写入文件后生成的元数据发送给NAS MASTER设备103进行存储。
当NAS网关102接收到NAS客户端104的针对文件的读请求时,NAS网关102从云存储设备101获取该文件,并从NAS MASTER设备103获取该文件的元数据,并将该文件以及该文件的元数据反馈给NAS客户端104。
由于在每次读取文件时,NAS网关都需要与NAS MASTER设备进行交互,从NASMASTER设备获取元数据,所以大大降低了元数据的读取速度。
有鉴于此,本申请提供了一种NAS集群的元数据处理方法,可以有效地提高元数据的读取效率。
参见图2,图2是本申请一示例性实施例示出的一种NAS集群的架构示意图。
本申请在现有NAS集群的基础上,配置了分布式缓存平台,该分布式缓存平台可与NAS网关对接。
如图2所示,本申请提供的NAS集群包括:NAS网关201、云存储设备202、NAS MASTER设备203、分布式缓存平台204、以及集群连接池205。
其中,NAS网关201与NAS客户端206对接。NAS网关201与云存储设备202对接。NAS网关201与NAS MASTER设备203对接。NAS网关201还通过集群连接池205与分布式缓存平台204对接。
NAS MASTER设备203对NAS集群已存储文件的元数据进行统一存储和管理。
云存储设备202提供底层的数据存储功能。
分布式缓存平台204,用于提供缓存数据的功能。该分布式缓存平台204可由Redis平台搭建而成。
Redis平台是一种开源的key-value存储***,由于在Redis平台中数据是存储在内存中的,所以Redis平台可以对外部提供较高的访问速度。因此,采用Redis平台搭建分布式缓存平台,可以有效地提高访问缓存数据的速度。
此外,Redis平台还支持将数据存储在磁盘等存储介质中,实现数据的持久化存储。
当然,上述分布式缓存平台204也可由其他用于数据缓存的集群搭建而成,这里只是对分布式缓存平台的搭建方式进行示例性地说明,不进行具体地限定。
以分布式缓存平台由Redis平台搭建而成为例,介绍下Redis平台的构造。
Redis平台中包括多台服务器,每台服务器上可以部署多个Redis节点。当然。为了Redis平台存储数据的安全性,Redis平台的节点可以具备主、备两种角色。Redis主节点及其对应的Redis备节点上储存有相同的数据。
比如,在本申请中,如图2所示。
假设Redis平台包括3台服务器,每台服务器上采用一主一备的方式部署两个Redis节点。每个主Redis节点对应的备Redis节点部署在与该主Redis节点不同的服务器上。
例如,服务器1上部署Redis主节点A和Redis备节点C,服务器2上部署Redis主节点B和Redis备节点A,服务器3上部署Redis主节点C和Redis备节点B。Redis主节点A和Redis备节点A储存有相同的数据。Redis主节点B和Redis备节点B储存有相同的数据。Redis主节点C和Redis备节点C储存有相同的数据。
采用这种方式部署主、备节点的好处在于:当一台服务器宕机后,其他服务器上还部署有全部的Redis节点,所以Redis平台还能正常提供服务。
比如,仍以图2为例,假设服务器1宕机,Redis主节点A和Redis备节点C不可用,但是服务器2还正常,所以Redis备节点A还可提供服务,服务器3还正常,Redis主节点C还可提供服务,由于Redis节点A、B、C均可提供服务,所以Redis平台还能正常提供服务。
这里只是举例对Redis平台的构造进行示例性地说明,不对该Redis平台的构造进行具体地限定。
需要说明的是,当分布式缓存平台为Redis平台时,下文所描述的将元数据储存至分布式缓存平台的内存或持久存储介质中,是指将元数据按照Redis集群的存放规则存放到指定的Redis节点的内存或持久存储介质中,下文不再赘述。
参见图3,图3是本申请一示例性实施例示出的一种NAS集群的元数据处理方法的流程图,该方法可以应用在图2所示的NAS网关上,可包括如下所示单元。
步骤301:在确定文件成功写入至所述NAS集群中的云存储设备时,将该文件的元数据写入至所述分布式缓存平台的内存。
当NAS客户端需要写入文件时,NAS客户端可以向NAS网关发送写请求。该写请求中携带有NAS客户端所要写入的文件。
NAS网关在接收到NAS客户端发送的写请求后,可将该写请求携带的文件写入至云存储设备。当NAS网关接收云存储设备返回的用于指示该文件写入成功的响应消息时,NAS网关可确定该文件成功写入至所述NAS集群中的云存储设备。
此外,该响应消息中还携带有该文件的文件属性、文件在云存储设备上的存储地址、索引等信息,NAS网关可以基于该信息生成该文件的元数据。
在生成该文件的元数据后,一方面,NAS网关可将该文件的元数据写入至分布式缓存平台的内存中,另一方面,NAS网关可将该文件的元数据写入至分布式缓存平台的持久化存储介质中。
1)针对NAS网关将该文件的元数据写入至该分布式缓存平台的内存。
在实现时,NAS网关可将该文件的元数据写入至该分布式缓存平台的内存中,并为该元数据设置老化时长。
需要说明的是,一方面,将该文件的元数据写入至该分布式缓存平台的内存中,可以使得NAS网关在接收到元数据的读请求中,可先从该分布式缓存平台的内存中查找该读请求所请求的元数据,若查找到,则向客户端返回查找到的元数据。由于是从分布式缓存平台的内存中读取元数据,所以可以大大提高元数据的访问速度。因此,将该文件的元数据写入至该分布式缓存平台的内存是为了提高后续元数据访问速度。
另一方面,为储存在分布式缓存平台内存中的元数据设置老化时长,可以使得NAS网关将分布式缓存平台内存中达到老化时长的元数据删除,从而缓解分布式缓存平台内存的存储压力,此外还能使得分布式缓存平台内存中储存有经常被访问的元数据。
2)针对NAS网关将该文件的元数据写入至分布式缓存平台的持久存储介质。
需要说明的是,在NAS网关生成该文件的元数据后,NAS网关还需要将生成的元数据上报至NAS MASTER设备,使得NAS MASTER设备可以统一管理已写入文件的元数据。
但如果采用“NAS网关将分布式缓存平台内存中的元数据直接上报至NAS MASTER设备”的上报方式,就可能会发生在元数据上报过程中,因分布式缓存平台故障而致使分布式平台内存中的元数据丢失,并且由于元数据是存储内存中的,所以在分布式缓存平台恢复后,NAS网关也无法将丢失的数据找回并上报至NAS MASTER设备。
因此,本申请实施例采用的上报方式是:NAS网关将已写入文件的元数据储存在分布式缓存平台的持久存储介质中,再周期性地将该持久存储介质中的元数据上报至NASMASTER。在接收到NAS MASTER设备返回的用于指示元数据上报成功的响应消息后,NAS网关可确定该元数据上报成功。NAS网关可以将上报成功的元数据从该持久存储介质中删除。
由于将待上报的元数据储存在分布式缓存平台的持久化存储介质中,所以在元数据上报过程中,即使分布式缓存平台故障,但在分布式缓存平台故障恢复后,仍可以从持久化存储介质中找回未上报的元数据,并将未上报的元数据上报至NAS MASTER设备,从而可以防止因分布式缓存平台故障而致使待上报的元数据丢失的问题。
步骤302:当接收到NAS客户端发送的读请求时,检测所述分布式缓存平台是否缓存有所述读请求所请求的目标元数据。
步骤303:若该分布式缓存平台缓存有读请求所请求的目标元数据,则从所述分布式缓存平台的内存中获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端;
步骤304:若该分布式缓存平台未缓存有该读请求所请求的目标元数据,则从NASMASTER设备获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端。
需要说明的是,由于分布式缓存平台内存中的元数据设置有老化时长,并且NAS网关会周期性将到达老化时长的元数据删除,所以分布式缓存平台中只存储了一部分经常被访问的已写入文件的元数据。因此,在接收到NAS客户端的发送的读请求后,需要先检测该分布式缓存平台是否缓存有该读请求所请求的目标元数据。
在具体实现时,当NAS客户端检测到用户触发读取目标元数据的操作后,可以向NAS网关发送读请求,该读请求中携带有目标元数据的标识(比如目标元数据的存储索引等)。
例如,当用户在NAS客户端上选中一个文件,并右键点击查看该文件的文件属性时,可以触发NAS客户端向NAS网关发送上述读请求。
或者,当用户在NAS客户端上将一个文件拷贝到其他地方时,由于需要先读取文件的元数据获取文件在云存储设备上的存储地址,才能从云存储设备上获取该文件并将该文件拷贝至其他地方。因此,当用户在NAS客户端上将一个文件拷贝至其他地方时也会触发NAS客户端向NAS网关发送上述读请求。
其中,所述目标元数据为任意元数据,这里只是为了方便叙述。本说明书不对目标元数据进行具体地限定。
当NAS网关接收到该NAS客户端发送的读请求后,可以检测该分布式缓存平台的内存中是否存储有该读请求所请求的目标元数据(即该读请求携带的目标元数据标识所指示的目标元数据)。
如果该分布式缓存平台的内存中储存有该读请求所请求的目标元数据,NAS网关则从该分布式缓存平台的内存中获取该目标元数据,并将获取到的目标元数据返回至NAS客户端。
如果该分布式缓存平台的内存中未储存有该读请求所请求的目标元数据,NAS网关则从NAS MASTER设备获取该读请求所请求的目标元数据。NAS网关可将获取到的目标元数据返回至NAS客户端。此外,NAS网关还可将该目标元数据写入至该分布式缓存平台的内存中,并为该目标元数据设置老化时长。
由上述描述可知,一方面,由于NAS网关在接收到针对目标元数据的读请求时,NAS网关不再按照现有技术当中的与NAS MASTER设备交互来获取目标元数据,而是检查分布式缓存平台的内存中是否有该目标元数据,如果存在该目标元数据则可直接从该分布式缓存平台的内存中读取该目标元数据。由于是从分布式缓存平台的内存中读取元数据,所以可以大大提高元数据的访问速度。
另一方面,在NAS网关确定分布式缓存平台的内存中没有该目标元数据时,NAS网关还可从NAS MASTER设备中获取该目标元数据,并将该目标元数据写入至该分布式缓存平台内存中,以使得NAS客户端后续再对该目标数据进行访问时,NAS网关可以直接从分布式缓存平台内存中获取该目标元数据并返回至NAS客户端。
此外,本说明书还提供了一种元数据删除方法,从而实现元数据的删除。
在实现时,当NAS网关设备接收到NAS客户端的删除请求时,可以从分布式缓存平台、以及NAS MASTER设备中将该删除请求指示的元数据删除。
例如,该删除请求中携带有元数据标识,NAS网关设备在接收到该删除请求后,可从分布式缓存平台、以及NAS MASTER设备中,将该删除请求携带的元数据标识所指示的元数据删除。
还需要说明的是,由于NAS网关在与分布式缓存平台对接时需要通过集群连接池对接,所以NAS网关无论在向分布式缓存平台写入元数据,还是从分布式缓存平台读取元数据、删除元数据,NAS网关都需要先检测集群连接池是否初始化成功。在该集群连接池初始化成功后,才可以向分布式缓存平台写入元数据、从分布式缓存平台读取元数据、删除元数据等。
由上述描述可知,一方面,NAS网关设备在将文件成功写入至云存储设备时,将该文件的元数据写入至该分布式缓存平台的内存中。当NAS网关在接收到元数据的读请求中,可先从该分布式缓存平台的内存中查找该读请求所请求的元数据,若查找到,则向客户端返回查找到的元数据。由于是从分布式缓存平台的内存中读取元数据,所以可以大大提高元数据的访问速度。
另一方面,在NAS网关将该文件成功写入至云存储设备后,NAS网关还将该文件的元数据储存在分布式缓存平台的持久化存储介质中,所以在将元数据上报给NAS MASTER设备的过程中,即使分布式缓存平台故障,也能在分布式缓存平台故障恢复后,从持久化存储介质中找回未上报的元数据,并将未上报的数据上报至NAS MASTER设备,从而可以防止因分布式缓存平台故障而致使待上报的元数据丢失的问题,保证元数据上报的安全性。
下面以分布式存储平台为Redis平台为例,从元数据写入、元数据读取、元数据删除三方面来对本申请提供的NAS集群元数据处理方式进行详细地描述。
1、元数据的写入
参见图4,图4是本申请一示例性实施例示出的一种元数据写入方法的流程图。
步骤401:当NAS网关接收到NAS客户端发送的写请求时,将写请求中携带的文件写入至云存储设备。
步骤402:NAS网关在接收到云存储设备返回的用于指示文件写入成功的响应消息后,生成该文件的元数据。
步骤403:NAS网关检测集群连接池是否初始化。
步骤404:若集群连接池未初始化,NAS网关则将该文件的元数据写入至NASMASTER设备。
步骤405:若集群连接池已初始化,NAS网关通过该集群连接池将该文件的元数据存储至Redis平台的持久化存储介质、以及将该文件的元数据储存在Redis平台的内存中,并为内存中储存的元数据设置老化时长。
步骤406:NAS网关周期性地将Redis平台持久化存储介质中存储的元数据批量上报至NAS MASTER设备。
步骤407:在接收到NAS MASTER设备返回的用于指示上报成功的响应消息时,NAS网关将上报成功的元数据从Redis平台的持久化存储介质中删除。
2、元数据读取:
参见图5,图5是本申请一示例性实施例示出的一种元数据读取方法的流程图。
步骤501:NAS网关接收到NAS客户端发送的读请求。
步骤502::检测Redis连接池是否初始化。
步骤503:若Redis连接池未初始化,则NAS网关从NAS MASTER设备中获该读请求所请求的元数据,并将获取到的元数据返回至NAS客户端。
步骤504:若Redis连接池已初始化,则NAS网关检测Redis平台的内存中是否存储有该读请求所请求的元数据;
步骤505:如果Redis平台的内存中存储有该读请求所请求的元数据,NAS网关则获取该元数据,并向NAS客户端返回该元数据。
步骤506:如果Redis平台的内存中没有该读请求所请求的元数据,NAS网关则从NAS MASTER设备中获取该元数据,将所述获取到的该元数据储存在Redis平台的内存中,并将获取到的该元数据返回给NAS客户端。
3、元数据删除:
参见图6,图6是本申请一示例性实施例示出的一种元数据删除的流程图。
步骤601:NAS网关接收到NAS客户端发送的删除请求。
步骤602:NAS网关检测Redis连接池是否初始化。
若Redis连接池已初始化,则执行步骤603至步骤604。
若Redis连接池未初始化,则执行步骤604。
步骤603:NAS网关从该Redis平台内存中删除该删除请求所指示的元数据。
步骤604:NAS网关从NAS MASTER设备删除该删除请求所指示的元数据。
此外,NAS网关可周期性地检测内存中各个元数据的老化时长,并将达到老化时长的元数据删除。
参见图7,图7是本申请一示例性实施例示出的一种NAS网关的硬件结构图。
该NAS网关包括:通信接口701、处理器702、机器可读存储介质703和总线704;其中,通信接口701、处理器702和机器可读存储介质703通过总线704完成相互间的通信。处理器702通过读取并执行机器可读存储介质703中与NAS集群元数据处理控制逻辑对应的机器可执行指令,可执行上文描述的NAS集群元数据处理方法。
本文中提到的机器可读存储介质703可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质703可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
参见图8,图8是本申请一示例性实施例示出的一种NAS集群元数据处理装置的框图,该装置可应用在图7所示的NAS网关上,所述NAS集群中设置分布式缓存平台;所述分布式缓存平台与所述NAS网关对接;所述装置包括:
写入单元801,用于在确定文件成功写入至所述NAS集群中的云存储设备时,将该文件的元数据写入至所述分布式缓存平台的内存;
检测单元802,用于当接收到NAS客户端发送的读请求时,检测所述分布式缓存平台是否缓存有所述读请求所请求的目标元数据;
第一获取单元803,用于若是,则从所述分布式缓存平台的内存中获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端;
第二获取单元804,用于若否,则从NAS MASTER设备获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端。
可选的,所述装置还包括:
缓存单元805(图8中未示出),用于获取到的所述目标元数据存储至所述分布式缓存平台,并为所述目标元数据设置老化时间。
可选的,所述装置还包括:
存储单元806(图8中未示出),用于在确定已写入文件成功写入至所述NAS集群中的云存储设备时,将所述已写入文件的元数据储存至分布式缓存平台的持久存储介质;
上报单元807(图8中未示出),用于周期性地将持久存储的元数据上报至NASMASTER设备,并在确定该元数据上报成功后,将上报成功的元数据从所述持久存储介质中删除。
可选的,所述写入单元808(图8中未示出),还用于为写入至所述分布式缓存内存中的该文件的元数据设置老化时长;
所述装置还包括:
第一删除单元809(图8中未示出),用于周期性地将分布式缓存平台内存中达到老化时长的元数据删除。
可选的,所述装置还包括:
第二删除单元810(图8中未示出),用于当接收到NAS客户端发送的删除请求时,从所述分布式缓存平台的内存、以及所述NAS MASTER中将所述删除请求指示的元数据删除。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种NAS集群的元数据处理方法,其特征在于,所述方法应用于NAS集群中的NAS网关,所述NAS集群中设置分布式缓存平台;所述分布式缓存平台与所述NAS网关对接;所述方法包括:
在确定文件成功写入至所述NAS集群中的云存储设备时,将该文件的元数据写入至所述分布式缓存平台的内存,并将所述已写入文件的元数据储存至分布式缓存平台的持久存储介质;周期性地将持久存储的元数据上报至NAS MASTER设备,并在确定该元数据上报成功后,将上报成功的元数据从所述持久存储介质中删除;
当接收到NAS客户端发送的读请求时,检测所述分布式缓存平台是否缓存有所述读请求所请求的目标元数据;
若是,则从所述分布式缓存平台的内存中获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端;
若否,则从NAS MASTER设备获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端。
2.根据权利要求1所述的方法,其特征在于,在所述从NAS MASTER设备获取所述目标元数据之后,所述方法还包括:
获取到的所述目标元数据存储至所述分布式缓存平台,并为所述目标元数据设置老化时间。
3.根据权利要求1所述的方法,其特征在于,在所述在确定已写入文件成功写入至所述NAS集群中的云存储设备时,将该文件的元数据写入至所述分布式缓存平台的内存之后,所述方法还包括:
为写入至所述分布式缓存内存中的该文件的元数据设置老化时长;
所述方法还包括:
周期性地将分布式缓存平台内存中达到老化时长的元数据删除。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到NAS客户端发送的删除请求时,从所述分布式缓存平台的内存、以及所述NASMASTER中将所述删除请求指示的元数据删除。
5.一种NAS集群的元数据处理装置,其特征在于,所述装置应用于NAS集群中的NAS网关,所述NAS集群中设置分布式缓存平台;所述分布式缓存平台与所述NAS网关对接;所述装置包括:
写入单元,用于在确定文件成功写入至所述NAS集群中的云存储设备时,将该文件的元数据写入至所述分布式缓存平台的内存;
检测单元,用于当接收到NAS客户端发送的读请求时,检测所述分布式缓存平台是否缓存有所述读请求所请求的目标元数据;
第一获取单元,用于若是,则从所述分布式缓存平台的内存中获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端;
第二获取单元,用于若否,则从NAS MASTER设备获取所述目标元数据,并将获取到的目标元数据返回至所述NAS客户端;
存储单元,用于在确定已写入文件成功写入至所述NAS集群中的云存储设备时,将所述已写入文件的元数据储存至分布式缓存平台的持久存储介质;
上报单元,用于周期性地将持久存储的元数据上报至NAS MASTER设备,并在确定该元数据上报成功后,将上报成功的元数据从所述持久存储介质中删除。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
缓存单元,用于获取到的所述目标元数据存储至所述分布式缓存平台,并为所述目标元数据设置老化时间。
7.根据权利要求5所述的装置,其特征在于,所述写入单元,还用于为写入至所述分布式缓存内存中的该文件的元数据设置老化时长;
所述装置还包括:
第一删除单元,用于周期性地将分布式缓存平台内存中达到老化时长的元数据删除。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二删除单元,用于当接收到NAS客户端发送的删除请求时,从所述分布式缓存平台的内存、以及所述NAS MASTER中将所述删除请求指示的元数据删除。
9.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使执行如权利要求1至4任一项所述方法。
10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器执行如权利要求1至4任一项所述方法。
CN201911133793.3A 2019-11-19 2019-11-19 Nas集群元数据处理方法、装置、nas网关及介质 Active CN111399760B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911133793.3A CN111399760B (zh) 2019-11-19 2019-11-19 Nas集群元数据处理方法、装置、nas网关及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911133793.3A CN111399760B (zh) 2019-11-19 2019-11-19 Nas集群元数据处理方法、装置、nas网关及介质

Publications (2)

Publication Number Publication Date
CN111399760A CN111399760A (zh) 2020-07-10
CN111399760B true CN111399760B (zh) 2023-01-24

Family

ID=71433911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911133793.3A Active CN111399760B (zh) 2019-11-19 2019-11-19 Nas集群元数据处理方法、装置、nas网关及介质

Country Status (1)

Country Link
CN (1) CN111399760B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076298A (zh) * 2021-04-15 2021-07-06 上海卓钢链科技有限公司 分布式小文件存储***
CN113296714B (zh) * 2021-06-17 2022-03-04 杭州海康威视***技术有限公司 一种基于nas协议的数据存储***
CN114489856A (zh) * 2022-01-28 2022-05-13 中国农业银行股份有限公司 应用程序配置文件获取方法、装置和设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098443A (zh) * 2010-09-13 2013-05-08 马维尔国际贸易有限公司 分布式元数据高速缓存
CN104267912A (zh) * 2014-09-19 2015-01-07 北京联创信安科技有限公司 一种nas加速方法及***
CN108733507A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 文件备份和恢复的方法和设备
CN109240617A (zh) * 2018-09-03 2019-01-18 郑州云海信息技术有限公司 分布式存储***写请求处理方法、装置、设备及存储介质
CN109254958A (zh) * 2018-10-18 2019-01-22 上海云轴信息科技有限公司 分布式数据读写方法、设备及***
CN109684282A (zh) * 2018-11-23 2019-04-26 华为技术有限公司 一种构建元数据缓存的方法及装置
CN109960662A (zh) * 2017-12-25 2019-07-02 华为技术有限公司 一种内存回收方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664450B2 (en) * 2017-03-06 2020-05-26 Vmware, Inc. Decoupling the commit and replay of metadata updates in a clustered file system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098443A (zh) * 2010-09-13 2013-05-08 马维尔国际贸易有限公司 分布式元数据高速缓存
CN104267912A (zh) * 2014-09-19 2015-01-07 北京联创信安科技有限公司 一种nas加速方法及***
CN108733507A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 文件备份和恢复的方法和设备
CN109960662A (zh) * 2017-12-25 2019-07-02 华为技术有限公司 一种内存回收方法及设备
CN109240617A (zh) * 2018-09-03 2019-01-18 郑州云海信息技术有限公司 分布式存储***写请求处理方法、装置、设备及存储介质
CN109254958A (zh) * 2018-10-18 2019-01-22 上海云轴信息科技有限公司 分布式数据读写方法、设备及***
CN109684282A (zh) * 2018-11-23 2019-04-26 华为技术有限公司 一种构建元数据缓存的方法及装置

Also Published As

Publication number Publication date
CN111399760A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN106407040B (zh) 一种远程数据复制方法及***
US8930648B1 (en) Distributed deduplication using global chunk data structure and epochs
CN111399760B (zh) Nas集群元数据处理方法、装置、nas网关及介质
US9268711B1 (en) System and method for improving cache performance
US9507720B2 (en) Block storage-based data processing methods, apparatus, and systems
US20140236906A1 (en) Elimination of duplicate objects in storage clusters
EP1315074A2 (en) Storage system and control method
JP5967673B2 (ja) データメンテナンス用の方法
CN108647151A (zh) 一种全闪***元数据落盘方法、装置、设备及存储介质
US20100070724A1 (en) Storage system and method for operating storage system
CN104935654A (zh) 一种服务器集群***中的缓存方法、写入点客户端和读客户端
CA2893304A1 (en) Data storage method, data storage apparatus, and storage device
US11314454B2 (en) Method and apparatus for managing storage device in storage system
US9268696B1 (en) System and method for improving cache performance
US11321021B2 (en) Method and apparatus of managing mapping relationship between storage identifier and start address of queue of storage device corresponding to the storage identifier
CN103501319A (zh) 一种低延迟的面向小文件的分布式存储***
CN108540510B (zh) 一种云主机创建方法、装置及云服务***
CN109254958B (zh) 分布式数据读写方法、设备及***
CN113157487B (zh) 数据恢复方法及其设备
CN105915595B (zh) 一种集群存储***存取数据的方法以及集群存储***
CN105187565A (zh) 一种利用网络存储数据的方法
US9588855B2 (en) Management and utilization of fault domains in distributed cache systems
CN111796772B (zh) 缓存的管理方法、缓存节点及分布式存储***
US10423507B1 (en) Repairing a site cache in a distributed file system
EP4198701A1 (en) Active-active storage system and data processing method based on same

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