CN113127420B - 一种元数据请求处理方法、装置、设备、介质 - Google Patents

一种元数据请求处理方法、装置、设备、介质 Download PDF

Info

Publication number
CN113127420B
CN113127420B CN202110342284.2A CN202110342284A CN113127420B CN 113127420 B CN113127420 B CN 113127420B CN 202110342284 A CN202110342284 A CN 202110342284A CN 113127420 B CN113127420 B CN 113127420B
Authority
CN
China
Prior art keywords
metadata
request
namenode
local
service
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
CN202110342284.2A
Other languages
English (en)
Other versions
CN113127420A (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.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer 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 Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN202110342284.2A priority Critical patent/CN113127420B/zh
Publication of CN113127420A publication Critical patent/CN113127420A/zh
Application granted granted Critical
Publication of CN113127420B publication Critical patent/CN113127420B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • 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
    • 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/176Support for shared access to files; File sharing support
    • 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

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

本申请公开了一种元数据请求处理方法、装置、设备、介质,该方法应用于分布式文件系统中的目标存储节点,包括:通过本地的namenode服务接收对应的客户端发送的第一元数据请求;通过本地的namenode服务从对应的缓存中查询第一元数据请求对应的元数据;如果未查询到,则通过本地的namenode服务将第一元数据请求转化为第二元数据请求,以便利用第二元数据请求从分布式文件系统中的对象存储池中查询对应的元数据;通过本地的namenode服务将从对象存储池中查询到的元数据存储到对应的缓存中,并将查询到的元数据返回给所述客户端。这样能够提高分布式文件系统的性能。

Description

一种元数据请求处理方法、装置、设备、介质
技术领域
本申请涉及分布式文件系统技术领域,特别涉及一种元数据请求处理方法、装置、设备、介质。
背景技术
随着信息技术的发展,分布式文件系统成为大数据处理的基石,其中,在分布式文件系统中比较常用的架构为hadoop,hadoop是一个由Apache基金会所开发的分布式系统基础架构,是云计算的存储基石。随着数据规模越来越大,由于hadoop中的namenode中心化问题导致分布式文件系统的性能遇到瓶颈,也即,hadoop架构的分布式文件系统中,由于只能由一个namenode节点提供整个分布式文件系统的元数据服务,所以使得整个分布式文件系统的性能受到namenode节点性能的限制。同时由于namenode节点将元数据存储在内存中,因此该文件系统所能存储的文件总量受限于namenode节点的内存总容量,且元数据存储一般为小文件存储,而过多的小文件存储会大量消耗namenode节点的存储量。
发明内容
有鉴于此,本申请的目的在于提供一种元数据请求处理方法、装置、设备、介质,能够解决现有技术中由于namenode中心化带来的分布式文件系统性能瓶颈问题,提高分布式文件系统的性能。其具体方案如下:
第一方面,本申请公开了一种元数据请求处理方法,应用于分布式文件系统中的目标存储节点,包括:
通过本地的namenode服务接收所述分布式文件系统对应的客户端发送的第一元数据请求,其中,所述第一元数据请求为HDFS namenode支持的请求,所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点,所述分布式文件系统中的各个存储节点上均运行有所述namenode服务;
通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据;
如果从本地的所述namenode服务的缓存中未查询到所述第一元数据请求对应的元数据,则通过本地的所述namenode服务将所述第一元数据请求转化为第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求;
通过本地的所述namenode服务将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并将所述元数据返回给所述客户端。
可选地,所述通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据之后,还包括:
如果从本地的所述namenode服务的缓存中查询到所述第一元数据请求对应的元数据,则将所述元数据返回给所述客户端,并更新所述元数据的热度参数。
可选地,所述通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据,包括:
通过本地的所述namenode服务对所述第一元数据请求进行解析;
通过本地的所述namenode服务根据解析结果从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据。
可选地,所述预设负载均衡算法为轮询算法、随机法、加权轮询法及最小连接数法中的任一项。
可选地,所述元数据请求处理方法,还包括:
通过本地的所述namenode服务按照预设时间间隔对本地的所述namenode服务的缓存中的各条元数据的热度参数进行轮询;
将热度参数小于预设热度参数阈值的元数据从本地的所述namenode服务的缓存中删除。
可选地,所述通过本地的所述namenode服务将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,包括:
通过本地的所述namenode服务利用LRU算法将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并更新所述元数据的热度参数。
第二方面,本申请公开了一种元数据请求处理装置,应用于分布式文件系统中的目标存储节点,包括:
namenode服务中的请求接收模块,用于接收所述分布式文件系统对应的客户端发送的第一元数据请求,其中,所述第一元数据请求为HDFS namenode支持的请求,所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点,所述分布式文件系统中的各个存储节点上均运行有所述namenode服务;
所述namenode服务中的查询模块,用于从所述namenode服务的缓存中查询所述第一元数据请求对应的元数据;
所述namenode服务中的请求转换模块,用于在从所述namenode服务的缓存中未查询到所述第一元数据请求对应的元数据时,则将所述第一元数据请求转化为第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求;
所述namenode服务中的数据缓存模块,用于将从所述对象存储池中查询到的所述元数据存储到所述namenode服务的缓存中;
所述namenode服务中的数据发送模块,用于将查询到的所述元数据返回所述客户端。
可选地,所述数据缓存模块,用于:
利用LRU算法将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并更新所述元数据的热度参数。
第三方面,本申请公开了一种电子设备,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述公开的元数据请求处理方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的元数据请求处理方法。
可见,本申请应用于分布式文件系统中的目标存储节点,首先通过本地的namenode服务接收所述分布式文件系统对应的客户端发送的第一元数据请求,其中,所述第一元数据请求为HDFS namenode支持的请求,所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点,所述分布式文件系统中的各个存储节点上均运行有所述namenode服务。然后再通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据。如果从本地的所述namenode服务的缓存中未查询到所述第一元数据请求对应的元数据,则通过本地的所述namenode服务将所述第一元数据请求转化为第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求。通过本地的所述namenode服务将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并将所述元数据返回给所述客户端。由此可见,在本申请所述的分布式文件系统中各个存储节点上均运行有namenode服务,当需要处理对应的客户端的元数据请求时,便可以利用负载均衡算法从中确定出目标存储节点,然后由目标存储节点处理该元数据请求,这样分布式文件系统中的各个存储节点均运行有namenode服务,便可以解决现有技术中由于namenode中心化到来的分布式文件系统性能瓶颈,提高了分布式文件系统的容灾能力,且在处理元数据请求时,可以进行负载均衡,有不同存储节点上的namenode服务分担元数据请求处理压力,降低单个存储节点上的namenode服务的负载压力,提高分布式文件系统的性能。且目标存储节点上的namenode服务接收到对应的客户端发送的HDFS namenode支持的第一元数据请求之后,便可以先对namenode服务的缓存进行查询,看是否存在第一元数据请求对应的元数据,如果不存在,便需要将第一元数据转换成对象存储支持的第二元数据请求,然后从分布式文件系统中ceph构建的、用于进行对象存储的存储池中查询对应的元数据,并将查询到的所述元数据存储到本地的所述namenode服务的缓存中,并将所述元数据返回给所述客户端。这样分布式文件系统中完全可以兼容现有的Hadoop和ceph,通过对象存储池实现各个存储节点之间的元数据共享,从而支持各个存储节点上的namenode服务运行,也解决了现有技术中存储元数据受限于namenode节点的内存总容量的问题,且在各个存储节点上的namenode服务中引入缓存,可以进一步提高分布式文件系统的响应性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种元数据请求处理方法流程图;
图2为本申请公开的一种具体的元数据请求处理方法流程图;
图3为本申请公开的一种具体的元数据请求处理方法流程图;
图4为本申请公开的一种元数据请求处理装置结构示意图;
图5为本申请公开的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着数据规模越来越大,由于hadoop中的namenode中心化问题导致分布式文件系统的性能遇到瓶颈,也即,hadoop架构的分布式文件系统中,由于只能由一个namenode节点提供整个分布式文件系统的元数据服务,所以使得整个分布式文件系统的性能受到namenode节点性能的限制。同时由于namenode节点将元数据存储在内存中,因此该文件系统所能存储的文件总量受限于namenode节点的内存总容量,且元数据存储一般为小文件存储,而过多的小文件存储会大量消耗namenode节点的存储量。有鉴于此,本申请提出了一种元数据请求处理方法,能够解决现有技术中由于namenode中心化带来的分布式文件系统性能瓶颈问题,提高分布式文件系统的性能。
参见图1所示,本申请实施例公开了一种元数据请求处理方法,应用于分布式文件系统中的目标存储节点,该方法包括:
步骤S11:通过本地的namenode服务接收所述分布式文件系统对应的客户端发送的第一元数据请求,其中,所述第一元数据请求为HDFS namenode支持的请求,所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点,所述分布式文件系统中的各个存储节点上均运行有所述namenode服务。
在实际实施过程中,所述分布式文件系统中可以包括多个存储节点,且各个所述存储节点上均运行有namenode服务,其中,namenode用于在hadoop分布式文件系统中,管理分布式文件系统的元数据。且各个所述存储节点上的namenode服务拥有自身对应的缓存,缓存中存储有元数据。此外,所述分布式文件系统的底层存储需要基于ceph构建对象存储池,用于进行对象存储,其中,ceph为新一代分布式文件系统。也即,所述分布式文件系统需要基于Hadoop和ceph进行部署,兼容Hadoop和ceph。所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点。
也即,当存在所述分布式文件系统对应的客户端需要向所述分布式文件系统发送元数据请求时,需要先利用预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出目标存储节点,然后由所述目标存储节点来处理对应的元数据请求。其中,所述预设负载均衡算法为轮询算法、随机法、加权轮询法及最小连接数法中的任一项。
在实际过程中,负责进行负载均衡处理的服务可以单独部署在一个节点上,由一个专用节点负责进行负载均衡处理。由于负责进行负载均衡处理的服务一般占用资源较小,所以也可以部署在一般进行存储服务的存储节点上,不需要专用节点来处理负载均衡。
在确定出所述目标存储节点之后,所述分布式文件系统会将所述目标存储节点的IP地址(Internet Protocol Address,互联网协议地址)发送给所述客户端,所述客户端便可以利用所述IP地址访问所述目标存储节点,向所述目标存储节点发送第一元数据请求,所述目标存储节点便可以通过本地的namenode服务接收所述客户端存储发送的第一元数据请求,由于所述namenode服务为hadoop分布式文件系统中管理文件系统的元数据的服务,所以所述第一元数据请求为HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)namenode支持的请求。
步骤S12:通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据。
在所述目标存储节点上的namenode服务接收到所述第一元数据请求之后,便需要从所述目标存储节点上的namenode服务的缓存中查询所述第一元数据请求对应的元数据。
具体地,通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据,包括:通过本地的所述namenode服务对所述第一元数据请求进行解析;通过本地的所述namenode服务根据解析结果从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据。
也即,所述目标存储节点中的namenode服务会先对所述第一元数据进行解析,获取所述第一元数据中的请求参数,得到对应的解析结果,然后根据所述解析结果从自身的缓存中查询所述第一元数据处理请求对应的元数据。
步骤S13:如果从本地的所述namenode服务的缓存中未查询到所述第一元数据请求对应的元数据,则通过本地的所述namenode服务将所述第一元数据请求转化为第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求。
如果从所述目标存储节点中的namenode服务的缓存中未查询到所述第一元数据请求对应的元数据,则表示需要从所述分布式文件系统的所述对象存储池中获取所述第一元数据请求对应的元数据,又由于所述第一元数据请求为HDFS namenode支持的请求,所以需要将所述第一元数据请求转换成第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求。利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据的过程可以具体由所述目标存储节点上负责进行对象存储中的元数据处理的部分执行。也即,所述第一元数据请求和所述第二元数据请求为同一个元数据请求在不同语义下的表达。
如果从本地的所述namenode服务的缓存中查询到所述第一元数据请求对应的元数据,则将所述元数据返回给所述客户端,并更新所述元数据的热度参数,其中,所述热度参数为表示元数据在最近预设时长之内被访问的次数等。
步骤S14:通过本地的所述namenode服务将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并将所述元数据返回给所述客户端。
在所述对象存储池中查询到所述第二元数据对应的元数据之后,所述目标存储节点中的namenode服务将所述元数据存储到自身对应的缓存中,并将所述元数据返回给所述客户端。
其中,通过本地的所述namenode服务将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,包括:通过本地的所述namenode服务利用LRU算法(Least recently used,最近最少使用)将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并更新所述元数据的热度参数。
可见,本申请应用于分布式文件系统中的目标存储节点,首先通过本地的namenode服务接收所述分布式文件系统对应的客户端发送的第一元数据请求,其中,所述第一元数据请求为HDFS namenode支持的请求,所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点,所述分布式文件系统中的各个存储节点上均运行有所述namenode服务。然后再通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据。如果从本地的所述namenode服务的缓存中未查询到所述第一元数据请求对应的元数据,则通过本地的所述namenode服务将所述第一元数据请求转化为第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求。通过本地的所述namenode服务将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并将所述元数据返回给所述客户端。由此可见,在本申请所述的分布式文件系统中各个存储节点上均运行有namenode服务,当需要处理对应的客户端的元数据请求时,便可以利用负载均衡算法从中确定出目标存储节点,然后由目标存储节点处理该元数据请求,这样分布式文件系统中的各个存储节点均运行有namenode服务,便可以解决现有技术中由于namenode中心化到来的分布式文件系统性能瓶颈,提高了分布式文件系统的容灾能力,且在处理元数据请求时,可以进行负载均衡,有不同存储节点上的namenode服务分担元数据请求处理压力,降低单个存储节点上的namenode服务的负载压力,提高分布式文件系统的性能。且目标存储节点上的namenode服务接收到对应的客户端发送的HDFS namenode支持的第一元数据请求之后,便可以先对namenode服务的缓存进行查询,看是否存在第一元数据请求对应的元数据,如果不存在,便需要将第一元数据转换成对象存储支持的第二元数据请求,然后从分布式文件系统中ceph构建的、用于进行对象存储的存储池中查询对应的元数据,并将查询到的所述元数据存储到本地的所述namenode服务的缓存中,并将所述元数据返回给所述客户端。这样分布式文件系统中完全可以兼容现有的Hadoop和ceph,通过对象存储池实现各个存储节点之间的元数据共享,从而支持各个存储节点上的namenode服务运行,也解决了现有技术中存储元数据受限于namenode节点的内存总容量的问题,且在各个存储节点上的namenode服务中引入缓存,可以进一步提高分布式文件系统的响应性能。
参见图2所示,本申请实施例公开了一种具体的元数据请求处理方法,应用于分布式文件系统中的目标存储节点,该方法包括:
步骤S21:通过本地的namenode服务接收所述分布式文件系统对应的客户端发送的第一元数据请求,其中,所述第一元数据请求为HDFS namenode支持的请求,所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点,所述分布式文件系统中的各个存储节点上均运行有所述namenode服务。
步骤S22:通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据。
步骤S23:如果从本地的所述namenode服务的缓存中查询到所述第一元数据请求对应的元数据,则将所述元数据返回给所述客户端,并更新所述元数据的热度参数。
在所述目标存储节点中的namenode服务从自身的缓存中查询所述第一元数据请求对应的元数据的过程中,如果从本地的所述namenode服务的缓存中查询到所述第一元数据请求对应的元数据,也就获取到了所述第一元数据请求对应的元数据,便可以直接将所述元数据返回给所述客户端,并更新所述元数据的热度参数,其中,所述热度参数为表示元数据在最近预设时长之内被访问的次数等。
步骤S24:如果从本地的所述namenode服务的缓存中未查询到所述第一元数据请求对应的元数据,则通过本地的所述namenode服务将所述第一元数据请求转化为第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求。
步骤S25:通过本地的所述namenode服务将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并将所述元数据返回给所述客户端。
步骤S26:通过本地的所述namenode服务按照预设时间间隔对本地的所述namenode服务的缓存中的各条元数据的热度参数进行轮询。
在实际应用中,由于各个所述存储节点上的namenode服务中的缓存的空间都是一定的,且一般来说不会太大,所以可以按照预设时间间隔对缓存中的各条元数据的热度参数进行轮询。
对于所述目标存储节点来说,就是由所述目标存储节点上的namenode服务对自身的缓存中的各条元数据的热度参数进行轮询。
步骤S27:将热度参数小于预设热度参数阈值的元数据从本地的所述namenode服务的缓存中删除。
可以理解的是,还需要将热度参数小于预设热度参数阈值的元数据从所述目标存储节点上的namenode服务的缓存中删除,其中,所述预设热度参数阈值可以根据实际情况进行设定,在此不进行具体限定。
在热度参数小于预设热度参数阈值时,表明对应的元数据在最近预设时间之内被访问到的次数较少,所以可以将其从所述目标存储节点上的namenode服务的缓存中删除。
参见图3所示,为元数据请求处理流程图。在分布式文件系统中各个存储节点上运行namenode服务,然后在客户端需要进行元数据请求时,进行负载均衡,确定出目标存储节点。由目标存储节点上的namenode服务接收所述客户端发送的HDFS namenode支持的第一元数据请求。所述目标存储节点上的namenode服务解析所述第一元数据请求,获取请求参数,然后查询所述目标存储节点上的namenode服务的缓存中是否包括对应的元数据,如果是,则将查询到的元数据返回客户端。如果未查询到,则将第一元数据请求转化成对象存储的第二元数据请求。向对象存储池查询对应的元数据。将利用LRU算法将查询到元数据存储到目标存储节点上的namenode服务的缓存中,并将查询到的元数据返回客户端。
参见图4所示,本申请实施例公开了一种元数据请求处理装置,应用于分布式文件系统中的目标存储节点,包括:
namenode服务中的请求接收模块11,用于接收所述分布式文件系统对应的客户端发送的第一元数据请求,其中,所述第一元数据请求为HDFS namenode支持的请求,所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点,所述分布式文件系统中的各个存储节点上均运行有所述namenode服务;
所述namenode服务中的查询模块12,用于从所述namenode服务的缓存中查询所述第一元数据请求对应的元数据;
所述namenode服务中的请求转换模块13,用于在从所述namenode服务的缓存中未查询到所述第一元数据请求对应的元数据,则将所述第一元数据请求转化为第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求;
所述namenode服务中的数据缓存模块14,用于将从所述对象存储池中查询到的所述元数据存储到所述namenode服务的缓存中;
所述namenode服务中的数据发送模块15,用于将查询到的所述元数据返回所述客户端。
可见,本申请应用于分布式文件系统中的目标存储节点,首先通过本地的namenode服务接收所述分布式文件系统对应的客户端发送的第一元数据请求,其中,所述第一元数据请求为HDFS namenode支持的请求,所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点,所述分布式文件系统中的各个存储节点上均运行有所述namenode服务。然后再通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据。如果从本地的所述namenode服务的缓存中未查询到所述第一元数据请求对应的元数据,则通过本地的所述namenode服务将所述第一元数据请求转化为第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求。通过本地的所述namenode服务将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并将所述元数据返回给所述客户端。由此可见,在本申请所述的分布式文件系统中各个存储节点上均运行有namenode服务,当需要处理对应的客户端的元数据请求时,便可以利用负载均衡算法从中确定出目标存储节点,然后由目标存储节点处理该元数据请求,这样分布式文件系统中的各个存储节点均运行有namenode服务,便可以解决现有技术中由于namenode中心化到来的分布式文件系统性能瓶颈,提高了分布式文件系统的容灾能力,且在处理元数据请求时,可以进行负载均衡,有不同存储节点上的namenode服务分担元数据请求处理压力,降低单个存储节点上的namenode服务的负载压力,提高分布式文件系统的性能。且目标存储节点上的namenode服务接收到对应的客户端发送的HDFS namenode支持的第一元数据请求之后,便可以先对namenode服务的缓存进行查询,看是否存在第一元数据请求对应的元数据,如果不存在,便需要将第一元数据转换成对象存储支持的第二元数据请求,然后从分布式文件系统中ceph构建的、用于进行对象存储的存储池中查询对应的元数据,并将查询到的所述元数据存储到本地的所述namenode服务的缓存中,并将所述元数据返回给所述客户端。这样分布式文件系统中完全可以兼容现有的Hadoop和ceph,通过对象存储池实现各个存储节点之间的元数据共享,从而支持各个存储节点上的namenode服务运行,也解决了现有技术中存储元数据受限于namenode节点的内存总容量的问题,且在各个存储节点上的namenode服务中引入缓存,可以进一步提高分布式文件系统的响应性能。
在一些具体的实施过程中,所述数据发送模块15,用于:
在从所述namenode服务的缓存中查询到所述第一元数据请求对应的元数据时,则将所述元数据返回给所述客户端,并更新所述元数据的热度参数。
在一些具体的实施过程中,所述查询模块12,用于:
对所述第一元数据请求进行解析;
根据解析结果从所述namenode服务的缓存中查询所述第一元数据请求对应的元数据。
在一些具体的实施过程中,所述预设负载均衡算法为轮询算法、随机法、加权轮询法及最小连接数法中的任一项。
在一些具体的实施过程中,所述元数据请求处理装置,还包括:
所述namenode服务中的轮询模块,用于按照预设时间间隔对本地的所述namenode服务的缓存中的各条元数据的热度参数进行轮询;将热度参数小于预设热度参数阈值的元数据从所述namenode服务的缓存中删除。
在一些具体的实施过程中,所述数据缓存模块14,用于:
利用LRU算法将从所述对象存储池中查询到的所述元数据存储到所述namenode服务的缓存中,并更新所述元数据的热度参数。
进一步的,参见图5所示,本申请实施例还公开了一种电子设备,包括:处理器21和存储器22。
其中,所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以实现前述实施例中公开的元数据请求处理方法。
其中,关于上述元数据请求处理方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述任一实施例中公开的元数据请求处理方法。
其中,关于上述元数据请求处理方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种元数据请求处理方法、装置、设备、介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种元数据请求处理方法,其特征在于,应用于分布式文件系统中的目标存储节点,包括:
通过本地的namenode服务接收所述分布式文件系统对应的客户端发送的第一元数据请求,其中,所述第一元数据请求为HDFS namenode支持的请求,所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点,所述分布式文件系统中的各个存储节点上均运行有所述namenode服务;
通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据;
如果从本地的所述namenode服务的缓存中未查询到所述第一元数据请求对应的元数据,则通过本地的所述namenode服务将所述第一元数据请求转化为第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求;
通过本地的所述namenode服务将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并将所述元数据返回给所述客户端。
2.根据权利要求1所述的元数据请求处理方法,其特征在于,所述通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据之后,还包括:
如果从本地的所述namenode服务的缓存中查询到所述第一元数据请求对应的元数据,则将所述元数据返回给所述客户端,并更新所述元数据的热度参数。
3.根据权利要求1所述的元数据请求处理方法,其特征在于,所述通过本地的所述namenode服务从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据,包括:
通过本地的所述namenode服务对所述第一元数据请求进行解析;
通过本地的所述namenode服务根据解析结果从本地的所述namenode服务的缓存中查询所述第一元数据请求对应的元数据。
4.根据权利要求1所述的元数据请求处理方法,其特征在于,所述预设负载均衡算法为轮询算法、随机法、加权轮询法及最小连接数法中的任一项。
5.根据权利要求1所述的元数据请求处理方法,其特征在于,还包括:
通过本地的所述namenode服务按照预设时间间隔对本地的所述namenode服务的缓存中的各条元数据的热度参数进行轮询;
将热度参数小于预设热度参数阈值的元数据从本地的所述namenode服务的缓存中删除。
6.根据权利要求1至5任一项所述的元数据请求处理方法,其特征在于,所述通过本地的所述namenode服务将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,包括:
通过本地的所述namenode服务利用LRU最近最少使用算法将从所述对象存储池中查询到的所述元数据存储到本地的所述namenode服务的缓存中,并更新所述元数据的热度参数。
7.一种元数据请求处理装置,其特征在于,应用于分布式文件系统中的目标存储节点,包括:
namenode服务中的请求接收模块,用于接收所述分布式文件系统对应的客户端发送的第一元数据请求,其中,所述第一元数据请求为HDFS namenode支持的请求,所述目标存储节点为基于预设负载均衡算法从所述分布式文件系统中的各个存储节点中确定出的节点,所述分布式文件系统中的各个存储节点上均运行有所述namenode服务;
所述namenode服务中的查询模块,用于从所述namenode服务的缓存中查询所述第一元数据请求对应的元数据;
所述namenode服务中的请求转换模块,用于在从所述namenode服务的缓存中未查询到所述第一元数据请求对应的元数据时,则将所述第一元数据请求转化为第二元数据请求,以便利用所述第二元数据请求从所述分布式文件系统中的对象存储池中查询所述元数据,其中,所述对象存储池为基于ceph构建的、用于进行对象存储的存储池,所述第二元数据请求为对象存储支持的请求;
所述namenode服务中的数据缓存模块,用于将从所述对象存储池中查询到的所述元数据存储到所述namenode服务的缓存中;
所述namenode服务中的数据发送模块,用于将查询到的所述元数据返回所述客户端。
8.根据权利要求7所述的元数据请求处理装置,其特征在于,所述数据缓存模块,用于:
利用LRU最近最少使用算法将从所述对象存储池中查询到的所述元数据存储到所述namenode服务的缓存中,并更新所述元数据的热度参数。
9.一种电子设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现权利要求1至6任一项所述的元数据请求处理方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的元数据请求处理方法。
CN202110342284.2A 2021-03-30 2021-03-30 一种元数据请求处理方法、装置、设备、介质 Active CN113127420B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110342284.2A CN113127420B (zh) 2021-03-30 2021-03-30 一种元数据请求处理方法、装置、设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110342284.2A CN113127420B (zh) 2021-03-30 2021-03-30 一种元数据请求处理方法、装置、设备、介质

Publications (2)

Publication Number Publication Date
CN113127420A CN113127420A (zh) 2021-07-16
CN113127420B true CN113127420B (zh) 2023-03-14

Family

ID=76775646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110342284.2A Active CN113127420B (zh) 2021-03-30 2021-03-30 一种元数据请求处理方法、装置、设备、介质

Country Status (1)

Country Link
CN (1) CN113127420B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116613B (zh) * 2021-11-26 2024-07-02 北京百度网讯科技有限公司 基于分布式文件系统的元数据查询方法、设备和存储介质
CN114461148A (zh) * 2022-01-26 2022-05-10 北京金山云网络技术有限公司 一种对象存储方法、装置、系统、电子设备和存储介质
CN115858419B (zh) * 2023-02-16 2023-07-14 苏州浪潮智能科技有限公司 元数据管理方法、装置、设备、服务器及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530387A (zh) * 2013-10-22 2014-01-22 浪潮电子信息产业股份有限公司 一种hdfs针对小文件的改进方法
CN106686113A (zh) * 2017-01-19 2017-05-17 郑州云海信息技术有限公司 一种分布式文件系统智能预读实现方法
CN106790434A (zh) * 2016-12-05 2017-05-31 上海爱数信息技术股份有限公司 网络数据的管理方法、网络附属存储网关及存储服务系统
CN107958033A (zh) * 2017-11-20 2018-04-24 郑州云海信息技术有限公司 元数据的查找方法、装置、分布式文件系统及存储介质
CN108897859A (zh) * 2018-06-29 2018-11-27 郑州云海信息技术有限公司 一种元数据检索方法、装置、设备及计算机可读存储介质
CN110825698A (zh) * 2019-11-07 2020-02-21 重庆紫光华山智安科技有限公司 元数据管理方法及相关装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523158B (zh) * 2011-12-15 2014-07-09 杭州电子科技大学 一种基于权重的元数据服务器集群负载均衡方法
CN102737130A (zh) * 2012-06-21 2012-10-17 广州从兴电子开发有限公司 处理hdfs元数据的方法及系统
US10474636B2 (en) * 2016-03-25 2019-11-12 Amazon Technologies, Inc. Block allocation for low latency file systems
CN109889561A (zh) * 2017-12-25 2019-06-14 新华三大数据技术有限公司 一种数据处理方法及装置
CN108764808B (zh) * 2018-03-29 2020-03-27 北京九章云极科技有限公司 数据分析处理系统及其在线模型部署方法
CN111708738B (zh) * 2020-05-29 2023-11-03 深圳市瑞驰信息技术有限公司 实现hadoop文件系统hdfs与对象存储s3数据互访方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530387A (zh) * 2013-10-22 2014-01-22 浪潮电子信息产业股份有限公司 一种hdfs针对小文件的改进方法
CN106790434A (zh) * 2016-12-05 2017-05-31 上海爱数信息技术股份有限公司 网络数据的管理方法、网络附属存储网关及存储服务系统
CN106686113A (zh) * 2017-01-19 2017-05-17 郑州云海信息技术有限公司 一种分布式文件系统智能预读实现方法
CN107958033A (zh) * 2017-11-20 2018-04-24 郑州云海信息技术有限公司 元数据的查找方法、装置、分布式文件系统及存储介质
CN108897859A (zh) * 2018-06-29 2018-11-27 郑州云海信息技术有限公司 一种元数据检索方法、装置、设备及计算机可读存储介质
CN110825698A (zh) * 2019-11-07 2020-02-21 重庆紫光华山智安科技有限公司 元数据管理方法及相关装置

Also Published As

Publication number Publication date
CN113127420A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN113127420B (zh) 一种元数据请求处理方法、装置、设备、介质
US10798203B2 (en) Method and apparatus for reducing network resource transmission size using delta compression
US10305797B2 (en) Request routing based on class
US10880390B2 (en) Method and apparatus for reducing network resource transmission size using delta compression
JP5828760B2 (ja) キャッシュを最適化するための方法とシステム
US9015269B2 (en) Methods and systems for notifying a server with cache information and for serving resources based on it
RU2689439C2 (ru) Улучшение производительности веб-доступа
CN109067936B (zh) 一种域名解析的方法及装置
US10735528B1 (en) Geographic relocation of content source in a content delivery network
US9705843B2 (en) Method and system for domain name system based discovery of devices and objects
CN111782692B (zh) 一种频率控制方法及装置
CN113452808A (zh) 域名解析方法、装置、设备及存储介质
CN110557464A (zh) Dns解析方法、权威dns服务器和dns解析系统
US20100161804A1 (en) System and method for providing device file using device identifier
CN112261090B (zh) Web数据处理方法、装置、计算机设备和可读存储介质
JP2002525749A (ja) インターネットキャッシングシステム、方法およびそのシステムの構成
CN113315852B (zh) 一种域名解析的方法、装置及系统
CN112149017A (zh) 一种网页访问方法、装置、系统、电子设备及存储介质
CN115865862B (zh) 一种数据访问方法、系统、装置、电子设备及存储介质
JP6058503B2 (ja) 名前解決システム及びキャッシュ制御方法
US20210173878A1 (en) Systems and methods of incremented aggregated data retrieval
CN114338720A (zh) 一种分布式文件存储及传输方法、系统及存储介质
CN114995833A (zh) 一种数据分发方法及装置
JPH1153322A (ja) オブジェクト探索取得方法並びに探索サーバ及び記録媒体
CN116233248A (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