CN113282563A - 基于对象存储的文件网关高可用实现方法及电子设备 - Google Patents

基于对象存储的文件网关高可用实现方法及电子设备 Download PDF

Info

Publication number
CN113282563A
CN113282563A CN202110594798.7A CN202110594798A CN113282563A CN 113282563 A CN113282563 A CN 113282563A CN 202110594798 A CN202110594798 A CN 202110594798A CN 113282563 A CN113282563 A CN 113282563A
Authority
CN
China
Prior art keywords
file
file handle
information
handle
mapping 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.)
Pending
Application number
CN202110594798.7A
Other languages
English (en)
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.)
Shenzhen Sandstone Data Technology Co ltd
Original Assignee
Shenzhen Sandstone Data 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 Shenzhen Sandstone Data Technology Co ltd filed Critical Shenzhen Sandstone Data Technology Co ltd
Priority to CN202110594798.7A priority Critical patent/CN113282563A/zh
Publication of CN113282563A publication Critical patent/CN113282563A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/144Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于对象存储的文件网关高可用实现方法及电子设备,该方法包括:接收获取文件元数据的初始访问请求;根据文件访问请求,获取并响应文件元数据和与文件对应的文件句柄,并生成文件句柄与文件之间的文件句柄映射信息;持久化文件句柄映射信息至存储文件句柄映射信息的文件句柄信息对象中。本发明通过将文件句柄映射信息持久化到对象存储系统中的方式,以解决现有网关高可用方案中导致网关读写性能下降、缓存容量使用率降低的问题。

Description

基于对象存储的文件网关高可用实现方法及电子设备
技术领域
本发明涉及网络数据管理技术领域,具体涉及一种基于对象存储的文件网关高可用实现方法及电子设备。
背景技术
在数据信息化时代,云、AI(Artificial Intelligence,人工智能)业务、大数据的快速发展带来了数据快速增长、设备多样化、业务快速响应的挑战,这就要求存储系统具有更海量的存储空间、更快捷的服务分发、更便捷的运维能力、更低廉的成本,传统的集中式存储系统已经不能满足大数据处理的需求。
“分布式”它指代了一种独特的系统架构类型,这种系统架构是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务,其目的是利用更多的机器处理更多的数据。
文件网关是一种可在本地和云上部署的、为用户提供标准存储协议的、可使应用系统存量数据无缝接入对象存储服务的解决方案。NFS(Network File System,网络文件系统)文件网关可实现文件系统与对象存储之间的协议转换,使得NFS客户端可以像在本机上的文件一样操作远程主机的文件。对于开源文件网关产品大多是单节点架构设计,网关异常时会造成服务的中断,无法满足生产环境需求。
基于对象存储的NFS文件网关高可用实现方法,相关技术中是将文件系统元数据信息持久化到本地,通过第三方软件实现网关缓存的数据同步,达到网关高可用的目的。其主要实现步骤如下:客户端发送通过文件路径读写文件的IO请求;主网关更新本地缓存的元数据信息(文件路径与文件句柄的映射关系);主网关操作完成后,通知客户端操作完成;通过第三方软件实时同步缓存文件或磁盘数据到备用网关;当主网关和备用网关切换时,由于缓存数据同步,备用网关正常提供服务,保证了网关的高可用。然而该方案存在如下技术问题:(1)该方案引入第三方软件,导致网关整体可靠性降低;(2)将单次写缓存操作变为两次写缓存操作,导致网关整体性能下降;(3)使用额外空间备份缓存,使得缓存利用率下降50%。
相关技术还提出了另一方案,具体为将文件系统元数据信息持久化到本地,通过网关缓存的数据同步达到网关缓存的高可用的目的。其主要实现步骤如下:客户端发送通过文件路径读写文件的IO请求;主网关更新本地缓存的元数据信息(文件路径与文件句柄的映射关系);同步触发备用网关更新本地缓存的元数据信息(文件路径与文件句柄的映射关系);主备用网关操作均完成后,通知客户端操作完成;当主备用网关切换时,由于缓存同步,备用网关正常提供服务,保证了网关的高可用。然而该方案通过同步写主备网关的缓存数据实现网关缓存高可用,同样存在导致网关缓存容量可用率降为50%,使用成本升高,以及将单次写缓存操作变为两次写缓存操作,导致网关整体性能下降的问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。其中,相关技术中提供的网关高可用实现方案存在导致网关缓存容量可用率降低,使用成本升高,以及将单次写缓存操作变为两次写缓存操作导致的网关整体性能下降的问题。为此,本发明的第一个目的在于提出一种基于对象存储的文件网关高可用实现方法。
本发明的第二个目的在于提出一种电子设备。
为达到上述目的,本发明第一方面提出了一种基于对象存储的文件网关高可用实现方法,包括以下步骤:S1,接收获取文件元数据初始访问请求,根据所述访问请求,可获得文件所归属的桶信息、对象信息;S2,基于所述文件所归属的桶信息、对象信息,通过哈希计算生成文件句柄,而后获取文件元数据,并响应所述文件元数据和所述文件句柄,同时生成所述文件句柄与所述文件之间的文件句柄映射信息;S3,通过所述文件句柄确定保存所述文件句柄映射信息的文件句柄信息对象的名称;S4,持久化所述文件句柄映射信息至所述文件句柄信息对象中。
可选地,当接收到的访问请求所包含的文件句柄对应的文件元数据在缓存中不存在时,所述方法还包括步骤S5,所述的步骤S5具体包括:S5.1,根据所述文件句柄,计算出与所述文件句柄关联的文件句柄信息对象名;S5.2,根据所述文件句柄,在所述关联的文件句柄信息对象中查找获取与所述文件句柄对应的文件句柄映射信息,所述文件句柄映射信息包括所述文件所归属的桶信息和对象信息;S5.3,根据所述文件所归属的桶信息和对象信息,访问获取与所述文件句柄对应的所述文件元数据,而后在缓存中重建文件元数据。
可选地,所述文件句柄由创建所述文件句柄的系统时间、关联文件归属的容器名的哈希值、关联文件归属的对象名的哈希值和关联文件归属的对象ID的哈希值组成。
可选地,所述文件句柄信息对象的名称由关联所述文件句柄的哈希值组成。
可选地,所述文件句柄映射信息存储在关联所述文件句柄信息对象的容器中,所述文件句柄映射信息由文件句柄创建时间、文件所归属的桶名称、桶ID、文件所归属的对象的对象名称、对象ID和对象创建时间组成。
可选地,所述的步骤S4具体包括:
S4.1,根据所述获取的文件元数据初始访问请求,获取与所述文件对应的文件句柄、文件句柄映射信息和文件句柄信息对象,以对所述文件句柄映射信息进行持久化;
S4.2,判断所述文件句柄信息对象是否存在;
S4.3,若否,则创建文件句柄信息对象;
S4.4,判断是否能够从所述文件句柄信息对象中获取文件句柄映射信息;
S4.5,若是,则结束持久化指令;
S4.6,若否,则执行持久化指令,以将所述文件句柄映射信息持久化至与所述文件句柄对应的所述文件句柄信息对象中。
可选地,当接收到的访问请求所包含的文件句柄对应的文件元数据在缓存中不存在时,所述方法还包括步骤S6,所述的步骤S6具体包括:
S6.1,根据所述文件句柄,通过哈希计算生成与所述文件句柄对应的所述文件句柄信息对象的名称;
S6.2,根据所述文件句柄和所述文件句柄信息对象获取对应的文件句柄映射信息;
S6.3,根据所述文件句柄映射信息判断所述文件归属的容器是否删除或修改;
S6.4,若是,则返回第一错误提示信息;
S6.5,若否,则进一步判断所述文件归属的对象是否删除或修改;
S6.6,若是,则返回第二错误提示信息;
S6.7,若否,则访问获取存储在所述文件归属的对象中与所述文件句柄对应的所述文件元数据。
可选地,对于所述对象存储系统中的文件句柄信息对象所在的容器,所述方法还包括步骤S7,所述的步骤S7具体包括:
S7.1,获取所述文件句柄信息对象所在的容器中的所有文件句柄信息对象;
S7.2,依次遍历获取每一所述文件句柄信息对象中的各个文件句柄映射信息;
S7.3,判断当前所述文件句柄信息对象中的各个文件句柄映射信息中的文件句柄创建时间是否超过预设时间;
S7.4,若是,则删除对应的所述文件句柄映射信息;
S7.5,若否,则查找下一所述文件句柄信息对象中的各个文件句柄映射信息中的文件句柄创建时间是否超过预设时间,直至遍历所有文件句柄信息对象。
为达到上述目的,本发明第二方面提出了一种电子设备,包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器执行时,实现上述所述的基于对象存储的文件网关高可用实现方法。
本发明至少具有以下优点:
本发明通过根据文件元数据访问请求生成文件句柄与关联文件之间的文件句柄映射信息,并将该文件句柄映射信息持久化至对应的文件句柄信息对象中,以使主备用网关切换时,备用网关可根据接收到的文件句柄直接获取对应的文件所归属的桶信息、对象信息,进而从文件所归属的对象中获取文件元数据,而后在缓存中重建文件元数据,这样就无需做缓存同步,从而可提升文件网关的读写性能,提升缓存空间利用率,并且本发明无需第三方软件,可提升文件网关的可靠性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为本发明一实施例提供的基于对象存储的文件网关高可用实现方法的流程图;
图2为本发明一实施例提供的网关高可用架构示意图;
图3为本发明一实施例提供的文件句柄与文件句柄信息对象的映射关系图;
图4为本发明一实施例提供的文件句柄映射信息持久化流程图;
图5为本发明一实施例提供的文件元数据信息重构策略流程图;
图6为本发明一实施例提供的文件句柄映射信息过期回收策略流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本实施例的基于对象存储的文件网关高可用实现方法及电子设备。
参考图1所示,本实施例提供的一种基于对象存储的文件网关高可用实现方法包括以下步骤:
步骤S1,接收获取文件元数据初始访问请求,根据所述访问请求,可获得文件所归属的桶信息、对象信息。
具体地,以NFS文件为例,NFS客户端可通过虚拟IP访问NFS服务端,向NFS服务端下发NFS文件元数据初始访问请求,其中NFS文件元数据初始访问请求可包括NFS的存储路径(由NFS文件的文件名称和NFS文件所在目录的文件句柄组成)。根据该存储路径可得到该NFS文件所归属的对桶信息、对象信息。
步骤S2,基于文件所归属的桶信息、对象信息,通过哈希计算生成文件句柄,而后获取文件元数据,并响应文件元数据和文件句柄,同时生成文件句柄与文件之间的文件句柄映射信息。
如图2所示,部署在NFS服务端中的主网关可响应该初始访问请求,主网关会获取所请求的NFS文件元数据;同时,主网关还生成与该NFS文件对应的文件句柄,并将它们一起发送至NFS客户端。当NFS客户端再次访问该NFS文件时,可以直接通过该NFS文件对应的文件句柄访问NFS文件。
其中,文件句柄是一个序列号,用于标识网络文件系统中唯一的一个文件。优选地,文件句柄可由所述关联文件所归属的桶信息、对象信息,通过哈希计算生成得到。在NFS协议中,NFS客户端初次访问NFS文件时,会根据文件名调用lookup协议来获取文件句柄和文件元数据信息,NFS服务端返回文件句柄给NFS客户端,NFS客户端缓存文件句柄到内存中。若NFS客户端再次访问该文件,则可直接向NFS服务端传入文件句柄。
可选地,主网关还生成该文件句柄与文件之间的文件句柄映射信息。其中,该文件句柄映射信息由文件句柄创建时间、关联文件所归属的桶名称、桶ID、关联文件所归属的对象的对象名称、对象ID和对象创建时间组成.
步骤S3,通过文件句柄确定保存文件句柄映射信息的文件句柄信息对象的名称。
具体地,如图3所示,文件句柄信息对象存储在关联的容器中,文件句柄信息对象的名称的命名格式为固定前缀,关联文件句柄的哈希值的组合;
步骤S4,持久化文件句柄映射信息至文件句柄信息对象中。
如图3所示,对象存储系统中包括一个存储文件句柄信息对象的桶(bucket),所述桶包括若干个文件句柄信息对象,每一文件句柄信息对象中包括若干个文件句柄映射信息。其中,文件句柄映射信息存储在对应的文件句柄信息对象中,且文件句柄映射信息与文件句柄一一对应。
存储在文件句柄信息对象中的每条记录都是由第一数据(key)和第二数据(value)组成的键值对。第一数据key的命名为关联的文件句柄,第二数据的内容为文件句柄映射信息。
具体地,一个NFS文件对应一个键值对记录在文件句柄信息对象的map中。在生成一个NFS文件句柄的文件句柄映射信息后,可将该文件句柄映射信息持久化至文件句柄信息对象的map中。
本实施例中,对文件句柄信息对象与第一数据key采用特定的命名方式,可使得通过文件句柄能够准确确定出关联文件句柄映射信息存放的位置。
可选地,当接收到的访问请求所包含的文件句柄对应的文件元数据在缓存中不存在时,该方法还包括步骤S5,所述的步骤S5具体包括:
S5.1,根据文件句柄,计算出与文件句柄关联的文件句柄信息对象名。
S5.2,根据文件句柄,在关联的文件句柄信息对象中查找获取与文件句柄对应的文件句柄映射信息,文件句柄映射信息包括文件所归属的桶信息和对象信息。
S5.3,根据文件所归属的桶信息和对象信息,访问获取与文件句柄对应的文件元数据,而后在缓存中重建文件元数据。
如图2所示,当主备用网关切换,备用网关接收到NFS文件访问请求所包含的文件句柄对应的文件元数据在缓存中不存在时,备用网关可根据文件句柄,先计算出文件句柄信息对象名称,后在文件句柄信息对象中查找获取与文件句柄对应的文件句柄映射信息,然后备用网关根据文件句柄映射信息中的文件所归属的桶信息和对象信息,向对象存储系统访问获取存储在文件所归属的对象中的NFS文件元数据,这样就在缓存中重建了NFS文件元数据,从而达到网关的高可用目的。
可选地,在本发明所述的步骤S4具体包括:
S4.1,根据获取的文件元数据初始访问请求,获取与文件对应的文件句柄、文件句柄映射信息和文件句柄信息对象,以对文件句柄映射信息进行持久化;S4.2,判断文件句柄信息对象是否存在;S4.3,若否,则创建文件句柄信息对象;S4.4,判断是否能够从文件句柄信息对象中获取文件句柄映射信息;S4.5,若是,则结束持久化指令;S4.6,若否,则执行持久化指令,以将文件句柄映射信息持久化至与文件句柄对应的文件句柄信息对象中。
作为一个示例,如图4所示,NFS文件网关在接收到NFS文件元数据初始访问请求(如create/mkdir/symlink/lookup等接口)后,可通过参数可获取文件所归属的对象信息,然后生成文件句柄和文件句柄映射信息,并计算获取与该文件句柄对应的文件句柄信息对象名称,以对该文件句柄映射信息进行保存。进一步地,网关判断文件句柄信息对象是否存在,若不存在,则创建文件句柄信息对象,然后判断文件句柄信息对象中是否存在与所述文件句柄对应的文件句柄信息。若存在,则不进行持久化,若存在,则将文件句柄映射信息持久化到对应的文件句柄信息对象中。
当NFS客户端通过文件句柄访问的NFS文件元数据在缓存中不存在时,需要根据文件句柄获取文件的元数据,并在缓存中重构NFS文件元数据,以保证访问请求的正确执行。
在本发明的一个实施例中,当接收到NFS文件访问请求所包含文件句柄对应的NFS文件元数据在缓存中不存在时,该方法还包括步骤S6,所述的步骤S6具体包括:
S6.1,根据文件句柄,通过哈希计算生成与文件句柄对应的文件句柄信息对象的名称;S6.2,根据文件句柄和文件句柄信息对象获取对应的文件句柄映射信息;S6.3,根据文件句柄映射信息判断文件归属的容器是否删除或修改;S6.4,若是,则返回第一错误提示信息;S6.5,若否,则进一步判断文件归属的对象是否删除或修改;S6.6,若是,则返回第二错误提示信息;S6.7,若否,则访问获取存储在文件归属的对象中与文件句柄对应的NFS文件元数据。
作为一个示例,如图5所示,备用网关在接收到文件句柄后,当备用网关文件句柄对应的NFS文件元数据不在缓存中时,然后根据文件句柄获取文件句柄信息对象,再根据文件句柄和文件句柄信息对象获取文件句柄映射信息。进一步地,可获取文件句柄映射信息记录的文件所归属的容器并判断是否已删除或修改。若是,则返回第一错误提示信息ESTALE,若否,则判断文件句柄映射信息记录的文件所归属的对象是否已删除或修改。若是,则返回第二错误提示信息ESTALE,若否,则访问获取存储在文件所归属的对象中与文件句柄对应的NFS文件元数据信息。
进一步地,对于对象存储系统中文件句柄信息对象所在的容器,还方法还包括步骤S7,所述的步骤S7具体包括:S7.1,获取文件句柄信息对象所在的容器中的所有文件句柄信息对象;S7.2,依次遍历获取每一文件句柄信息对象中的各个文件句柄映射信息;S7.3,判断当前文件句柄信息对象中的各个文件句柄映射信息中的文件句柄创建时间是否超过预设时间;S7.4,若是,则删除对应的文件句柄映射信息;S7.5,若否,则查找下一文件句柄信息对象中的各个文件句柄映射信息中的文件句柄创建时间是否超过预设时间,直至遍历所有文件句柄信息对象。
具体地,持久化在文件句柄信息对象中的文件句柄映射信息需要一定的回收策略来回收无效的数据,以优化存储结构。如图6所示,在启动NFS网关进程时,可同时启动回收线程。回收线程可定时(如默认配置6小时)遍历每个容器中的文件句柄信息对象的所有文件句柄映射信息,然后判断每一文件句柄映射信息中的文件句柄创建时间是否超过预设时间(如默认配置30天)。若超过,则删除对应的文件句柄映射信息,反之对其进行保留,直至遍历所有文件句柄信息对象。
进一步地,本实施例还提出了一种电子设备,包括存储器、处理器以及存储在存储器上的计算机程序,该计算机程序被处理器执行时,实现上述的基于对象存储的文件网关高可用实现方法。
本实施例的基于对象存储的文件网关高可用实现方法通过根据文件元数据初始访问请求生成文件句柄与存储文件元数据的文件所归属的对象之间的文件句柄映射信息,并将该文件句柄映射信息持久化至对应的文件句柄信息对象中,以使主备用网关切换时,备用网关可根据接收到的文件句柄直接获取对应的文件元数据,无需做缓存同步,从而可提升文件网关的读写性能,提升缓存空间利用率,并且本发明无需第三方软件,可提升文件网关的可靠性。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (9)

1.一种基于对象存储的文件网关高可用实现方法,其特征在于,包括以下步骤:
S1,接收获取文件元数据初始访问请求,根据该访问请求,可获得文件所归属的桶信息、对象信息;
S2,基于所述文件所归属的桶信息、对象信息,通过哈希计算生成文件句柄,而后获取文件元数据,并响应所述文件元数据和所述文件句柄,同时生成所述文件句柄与所述文件之间的文件句柄映射信息;
S3,通过所述文件句柄确定保存所述文件句柄映射信息的文件句柄信息对象的名称;
S4,持久化所述文件句柄映射信息至所述文件句柄信息对象中。
2.如权利要求1所述的基于对象存储的文件网关高可用实现方法,其特征在于,当接收到的访问请求所包含的文件句柄对应的文件元数据在缓存中不存在时,所述方法还包括步骤S5,所述的步骤S5具体包括:
S5.1,根据所述文件句柄,计算出与所述文件句柄关联的文件句柄信息对象名;
S5.2,根据所述文件句柄,在所述关联的文件句柄信息对象中查找获取与所述文件句柄对应的文件句柄映射信息,所述文件句柄映射信息包括所述文件所归属的桶信息和对象信息;
S5.3,根据所述文件所归属的桶信息和对象信息,访问获取与所述文件句柄对应的所述文件元数据,而后在缓存中重建文件元数据。
3.如权利要求1所述的基于对象存储的文件网关高可用实现方法,其特征在于,所述文件句柄由创建所述文件句柄的系统时间、关联文件归属的容器名的哈希值、关联文件归属的对象名的哈希值和关联文件归属的对象ID的哈希值组成。
4.如权利要求1所述的基于对象存储的文件网关高可用实现方法,其特征在于,所述文件句柄信息对象的名称由关联所述文件句柄的哈希值组成。
5.如权利要求1所述的基于对象存储的文件网关高可用实现方法,其特征在于,所述文件句柄映射信息存储在关联所述文件句柄信息对象的容器中,所述文件句柄映射信息由文件句柄创建时间、文件所归属的桶名称、桶ID、文件所归属的对象的对象名称、对象ID和对象创建时间组成。
6.如权利要求1所述的基于对象存储的文件网关高可用实现方法,其特征在于,所述的步骤S4具体包括:
S4.1,根据所述获取的文件元数据初始访问请求,获取与所述文件对应的文件句柄、文件句柄映射信息和文件句柄信息对象,以对所述文件句柄映射信息进行持久化;
S4.2,判断所述文件句柄信息对象是否存在;
S4.3,若否,则创建文件句柄信息对象;
S4.4,判断是否能够从所述文件句柄信息对象中获取文件句柄映射信息;
S4.5,若是,则结束持久化指令;
S4.6,若否,则执行持久化指令,以将所述文件句柄映射信息持久化至与所述文件句柄对应的所述文件句柄信息对象中。
7.如权利要求2所述的基于对象存储的文件网关高可用实现方法,其特征在于,当接收到的访问请求所包含的文件句柄对应的文件元数据在缓存中不存在时,所述方法还包括步骤S6,所述的步骤S6具体包括:
S6.1,根据所述文件句柄,通过哈希计算生成与所述文件句柄对应的所述文件句柄信息对象的名称;
S6.2,根据所述文件句柄和所述文件句柄信息对象获取对应的文件句柄映射信息;
S6.3,根据所述文件句柄映射信息判断所述文件归属的容器是否删除或修改;
S6.4,若是,则返回第一错误提示信息;
S6.5,若否,则进一步判断所述文件归属的对象是否删除或修改;
S6.6,若是,则返回第二错误提示信息;
S6.7,若否,则访问获取存储在所述文件归属的对象中与所述文件句柄对应的所述文件元数据。
8.如权利要求1所述的基于对象存储的文件网关高可用实现方法,其特征在于,对于所述对象存储系统中的文件句柄信息对象所在的容器,所述方法还包括步骤S7,所述的步骤S7具体包括:
S7.1,获取所述文件句柄信息对象所在的容器中的所有文件句柄信息对象;
S7.2,依次遍历获取每一所述文件句柄信息对象中的各个文件句柄映射信息;
S7.3,判断当前所述文件句柄信息对象中的各个文件句柄映射信息中的文件句柄创建时间是否超过预设时间;
S7.4,若是,则删除对应的所述文件句柄映射信息;
S7.5,若否,则查找下一所述文件句柄信息对象中的各个文件句柄映射信息中的文件句柄创建时间是否超过预设时间,直至遍历所有文件句柄信息对象。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1-10中任一项所述的基于对象存储的文件网关高可用实现方法。
CN202110594798.7A 2021-05-28 2021-05-28 基于对象存储的文件网关高可用实现方法及电子设备 Pending CN113282563A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110594798.7A CN113282563A (zh) 2021-05-28 2021-05-28 基于对象存储的文件网关高可用实现方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110594798.7A CN113282563A (zh) 2021-05-28 2021-05-28 基于对象存储的文件网关高可用实现方法及电子设备

Publications (1)

Publication Number Publication Date
CN113282563A true CN113282563A (zh) 2021-08-20

Family

ID=77282436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110594798.7A Pending CN113282563A (zh) 2021-05-28 2021-05-28 基于对象存储的文件网关高可用实现方法及电子设备

Country Status (1)

Country Link
CN (1) CN113282563A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112511A (zh) * 2022-12-28 2023-05-12 中国人寿保险股份有限公司上海数据中心 一种基于多网关的分布式储存系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112511A (zh) * 2022-12-28 2023-05-12 中国人寿保险股份有限公司上海数据中心 一种基于多网关的分布式储存系统

Similar Documents

Publication Publication Date Title
US20210056074A1 (en) File System Data Access Method and File System
US10896102B2 (en) Implementing secure communication in a distributed computing system
US7765189B2 (en) Data migration apparatus, method, and program for data stored in a distributed manner
KR101137299B1 (ko) 스냅샷을 제공하는 파일 시스템에 대한 계층적 저장 관리
US8396936B2 (en) Computer system with cooperative cache
US20190220361A1 (en) Monitoring Containers In A Distributed Computing System
US20190129621A1 (en) Intelligent snapshot tiering
JP6492123B2 (ja) 分散キャッシングおよびキャッシュ分析
CN110998557A (zh) 通过分布式存储器的高可用性数据库
CN110750507B (zh) 面向dfs的全局命名空间下的持久客户端缓存方法及系统
CN109254958B (zh) 分布式数据读写方法、设备及系统
CN109063192B (zh) 一种高性能海量文件存储系统工作方法
JPWO2004055675A1 (ja) ファイル管理装置、ファイル管理プログラム、ファイル管理方法およびファイルシステム
CN107888687B (zh) 一种基于分布式存储系统的代理客户端存储加速方法及系统
US10803006B1 (en) Persistent memory key-value store in a distributed memory architecture
CN113377868A (zh) 一种基于分布式kv数据库的离线存储系统
CN111399760B (zh) Nas集群元数据处理方法、装置、nas网关及介质
CN114003562B (zh) 一种目录遍历方法、装置、设备及可读存储介质
US11256434B2 (en) Data de-duplication
WO2024169393A1 (zh) 数据处理方法、装置、电子设备及存储介质
CN113282563A (zh) 基于对象存储的文件网关高可用实现方法及电子设备
US20230205638A1 (en) Active-active storage system and data processing method thereof
CN116049306A (zh) 数据同步方法、装置、电子设备以及可读存储介质
CN114528260A (zh) 文件访问请求的处理方法、电子设备及计算机程序产品
CN114490540A (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