本说明书涉及计算机,尤其涉及一种对象存储方法及系统。
背景技术:
1、随着计算机、互联网和数字媒体等的进一步普及,以非结构化数据为主的信息急剧增加。非结构化数据可以是指数据结构不规则,没有预定义数据模型的数据。例如,文档、文本、图片、图像和音频/视频信息等。这些非结构化数据是企业重要的信息资产,对企业的业务运作、市场拓宽、日常办公等方面起到重要的作用。为了避免非结构化数据的丢失,需要对非结构化数据进行备份。
2、目前,非结构化数据的存储方法通常为对象存储。在对象存储中,对象存储容器用于存储对象。由于在对象存储的过程中,对象存储容器中的对象元数据仅能存储在预先设定的固定磁盘中,导致对象存储容器中所能存储的对象元数据的存储数量受到磁盘的容量限制。
3、当对象存储容器中的对象元数据的存储数量达到磁盘的容量上限时,需要新建一个对象存储容器用于存储对象元数据。由于各个对象存储容器之间的数据并不互通,在检索对象时,需要对各个对象存储容器进行遍历,导致检索的效率较低。
技术实现思路
1、本说明书提供一种对象存储方法、装置、电子设备及机器可读存储介质,以提高检索对象的效率。
2、本说明书采用下述技术方案:
3、本说明书提供了一种对象存储方法,用于存储对象的对象存储容器包含至少一个存储分区;所述至少一个存储分区与至少一个磁盘建立了映射关系;包括:
4、获取待存储的目标对象,所述目标对象包括:与所述目标对象对应的目标对象标识和与所述目标对象对应的目标对象元数据;
5、确定与所述至少一个存储分区对应的对象标识范围,并从与所述至少一个存储分区对应的对象标识范围中,查询与所述目标对象标识所位于的对象标识范围对应的存储分区,作为目标存储分区;
6、将所述目标对象元数据存储到所述目标存储分区中的各个磁盘。
7、可选地,所述存储容器为bucket存储桶。
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、在本说明书提供的对象存储方法中,从与至少一个存储分区对应的对象标识范围中,查询与目标对象标识所位于的对象标识范围对应的存储分区,作为目标存储分区,将目标对象元数据存储到目标存储分区中的各个磁盘。本方法可以根据检索对象的对象标识,确定检索对象所在的存储分区,对该存储分区进行遍历,从而提高检索对象的效率。