本发明涉及存储,特别是涉及一种基于分布式存储系统的元数据处理方法和装置。
背景技术:
1、随着大数据和云计算技术的发展以及智能设备的普及,数据量和数据类型快速增长,传统的存储系统已经不能满足大规模、多样化的数据存储需求,而分布式存储系统能够提供高性能、高可靠性及可扩展性的存储解决方案。
2、在分布式存储系统中,通过元数据服务进行元数据管理,以保证文件一致性和可靠性,而随着元数据访问请求的增加,现有的元数据服务难以满足需求。
技术实现思路
1、鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种基于分布式存储系统的元数据处理方法和装置,包括:
2、一种基于分布式存储系统的元数据处理方法,所述分布式存储系统设置有元数据缓存层容器,所述方法包括:
3、将所述分布式存储系统的元数据池中部分元数据缓存至所述元数据缓存层容器;其中,所述元数据缓存层容器设置有多个元数据分区;
4、在所述元数据缓存层容器的目标元数据分区命中元数据访问请求对应的目标元数据时,将所述目标元数据返回给客户端;
5、在所述元数据缓存层容器的多个元数据分区中均未命中元数据访问请求对应的目标元数据时,从所述元数据池中获取所述元数据访问请求对应的目标元数据,将所述目标元数据缓存至所述元数据缓存层容器的目标元数据分区中,并将所述目标元数据返回给客户端。
6、可选地,还包括:
7、对所述元数据缓存层容器中缓存的元数据进行动态更新。
8、可选地,所述对所述元数据缓存层容器中缓存的元数据进行动态更新,包括:
9、确定所述元数据缓存层容器中缓存的元数据的权重信息,并按照所述权重信息,对所述元数据缓存层容器中缓存的元数据进行动态更新。
10、可选地,所述确定所述元数据缓存层容器中缓存的元数据的权重信息,包括:
11、确定所述元数据缓存层容器中缓存的元数据的访问频率和缓存命中率;
12、根据所述访问频率和所述缓存命中率,确定所述元数据缓存层容器中缓存的元数据的权重信息。
13、可选地,所述确定所述元数据缓存层容器中缓存的元数据的访问频率和缓存命中率,包括:
14、获取所述元数据缓存层容器中缓存的元数据的访问次数和预设的时间间隔;
15、根据所述访问次数和预设的时间间隔,确定所述元数据缓存层容器中缓存的元数据的访问频率。
16、可选地,所述确定所述元数据缓存层容器中缓存的元数据的访问频率和缓存命中率,包括:
17、获取所述元数据缓存层容器中缓存的元数据的访问次数和缓存命中次数;
18、根据所述访问次数和所述缓存命中次数,确定所述元数据缓存层容器中缓存的元数据的缓存命中率。
19、可选地,所述按照所述权重信息,对所述元数据缓存层容器中缓存的元数据进行动态更新,包括:
20、根据所述权重信息,对所述元数据缓存层容器中缓存的元数据排序;其中,排序在前的元数据的权重大于排序在后的元数据的权重;
21、将排序在后的预设数量的元数据从所述元数据缓存层容器中去除。
22、可选地,所述分布式存储系统设置有多个存储节点,还包括:
23、对于元数据写请求,根据所述元数据写请求在所述分布式存储系统的第一存储节点和第二存储节点进行写入操作;其中,所述第二存储节点为对所述第一存储节点中元数据备份的节点。
24、可选地,所述对于元数据写请求,根据所述元数据写请求在所述分布式存储系统的第一存储节点和第二存储节点进行写入操作,包括:
25、对于元数据写请求,根据所述元数据写请求在所述分布式存储系统的第一存储节点进行写入操作,并将所述元数据写请求标记为未确认状态;
26、根据所述元数据写请求在所述分布式存储系统的第二存储节点进行写入操作;
27、在所有的第二存储节点均完成写入操作后,将所述元数据写请求标记为确认状态,以完成所述元数据写请求。
28、可选地,在所述根据所述元数据写请求在所述分布式存储系统的第二存储节点进行写入操作之前,还包括:
29、在所述分布式存储系统的多个第二存储节点进行协商,以确定多个所述第二存储节点中写入操作的顺序。
30、可选地,还包括:
31、采用一致性哈希算法,将所述元数据缓存层容器中多个元数据分区划分为多个数据片段,并在所述分布式存储系统中的不同的存储节点上进行存储。
32、可选地,还包括:
33、通过远程过程调用通信机制,接收客户端发送的元数据访问请求;
34、所述将所述目标元数据返回给所述客户端,包括:
35、通过远程过程调用通信机制,将所述目标元数据返回给所述客户端。
36、可选地,所述分布式存储系统设置有多个存储节点,还包括:
37、通过远程过程调用通信机制,接收客户端发送的数据读写请求;
38、响应于所述数据读写请求,以对象的形式将数据存储于所述分布式存储系统的多个存储节点,或者,从所述分布式存储系统的多个存储节点中读取数据。
39、可选地,所述以对象的形式将数据存储于所述分布式存储系统的多个存储节点,包括:
40、对待存储的数据进行切片,并将切片后的数据以对象的形式将数据存储于所述分布式存储系统的多个存储节点。
41、可选地,每个元数据分区以树形数据结构存储元数据,所述树形数据结构包括多个树形数据结构节点,所述多个树形数据结构节点包括根节点和叶子节点;
42、从根节点到叶子节点的路径对应一个字符串,在所述树形数据结构中插入操作和查找操作的时间复杂度与字符串长度相关。
43、可选地,所述分布式存储系统对外提供文件系统服务,所述客户端以访问文件的形式发起元数据访问请求。
44、一种基于分布式存储系统的元数据处理装置,所述分布式存储系统设置有元数据缓存层容器,所述装置包括:
45、元数据缓存模块,用于将所述分布式存储系统的元数据池中部分元数据缓存至所述元数据缓存层容器;其中,所述元数据缓存层容器设置有多个元数据分区;
46、命中处理模块,用于在所述元数据缓存层容器的目标元数据分区命中元数据访问请求对应的目标元数据时,将所述目标元数据返回给客户端;
47、未命中处理模块,用于在所述元数据缓存层容器的多个元数据分区中均未命中元数据访问请求对应的目标元数据时,从所述元数据池中获取所述元数据访问请求对应的目标元数据,将所述目标元数据缓存至所述元数据缓存层容器的目标元数据分区中,并将所述目标元数据返回给客户端。
48、一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的方法。
49、一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
50、一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
51、本发明实施例具有以下优点:
52、在本发明实施例中,通过将分布式存储系统的元数据池中部分元数据缓存至元数据缓存层容器,元数据缓存层容器设置有多个元数据分区,在元数据缓存层容器的目标元数据分区命中元数据访问请求对应的目标元数据时,将目标元数据返回给客户端,在元数据缓存层容器的多个元数据分区中均未命中元数据访问请求对应的目标元数据时,从元数据池中获取元数据访问请求对应的目标元数据,将目标元数据缓存至元数据缓存层容器的目标元数据分区中,并将目标元数据返回给客户端,实现了在分布式存储系统设置有元数据缓存层容器,并通过元数据缓存层容器对元数据进行缓存,以满足对元数据的访问需求。
1.一种基于分布式存储系统的元数据处理方法,其特征在于,所述分布式存储系统设置有元数据缓存层容器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述元数据缓存层容器中缓存的元数据进行动态更新,包括:
4.根据权利要求3所述的方法,其特征在于,所述确定所述元数据缓存层容器中缓存的元数据的权重信息,包括:
5.根据权利要求4所述的方法,其特征在于,所述确定所述元数据缓存层容器中缓存的元数据的访问频率和缓存命中率,包括:
6.根据权利要求4所述的方法,其特征在于,所述确定所述元数据缓存层容器中缓存的元数据的访问频率和缓存命中率,包括:
7.根据权利要求3所述的方法,其特征在于,所述按照所述权重信息,对所述元数据缓存层容器中缓存的元数据进行动态更新,包括:
8.根据权利要求1至7任一项所述的方法,其特征在于,所述分布式存储系统设置有多个存储节点,还包括:
9.根据权利要求8所述的方法,其特征在于,所述对于元数据写请求,根据所述元数据写请求在所述分布式存储系统的第一存储节点和第二存储节点进行写入操作,包括:
10.根据权利要求9所述的方法,其特征在于,在所述根据所述元数据写请求在所述分布式存储系统的第二存储节点进行写入操作之前,还包括:
11.根据权利要求8所述的方法,其特征在于,还包括:
12.根据权利要求1至7任一项所述的方法,其特征在于,还包括:
13.根据权利要求1至7任一项所述的方法,其特征在于,所述分布式存储系统设置有多个存储节点,还包括:
14.根据权利要求13所述的方法,其特征在于,所述以对象的形式将数据存储于所述分布式存储系统的多个存储节点,包括:
15.根据权利要求1所述的方法,其特征在于,每个元数据分区以树形数据结构存储元数据,所述树形数据结构包括多个树形数据结构节点,所述多个树形数据结构节点包括根节点和叶子节点;
16.根据权利要求1所述的方法,其特征在于,所述分布式存储系统对外提供文件系统服务,所述客户端以访问文件的形式发起元数据访问请求。
17.一种基于分布式存储系统的元数据处理装置,其特征在于,所述分布式存储系统设置有元数据缓存层容器,所述装置包括:
18.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至16中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至16中任一项所述的方法。
20.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至16中任一项所述的方法。