一种分布式对象存储方法、装置、电子设备及存储介质制造方法及图纸

技术编号:30346259 阅读:19 留言:0更新日期:2021-10-12 23:34
本申请实施例提供了一种分布式对象存储方法、装置、电子设备及存储介质。用于提升SMR磁盘的空间利用率。包括:根据客户端发送的对象的存储请求,确定所述对象是否为第一对象;在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表;在确定存在第一ZG复用列表时,从第一ZG复用列表中确定第一ZG;向客户端发送第一信息,以使所述客户端根据存储节点列表将第一对象的数据写入对应的存储节点,以及使存储节点根据zgId和Zone的映射关系接着第一ZG中每个Zone当前写指针的位置顺序写入客户端待写入的数据。入客户端待写入的数据。入客户端待写入的数据。

【技术实现步骤摘要】
一种分布式对象存储方法、装置、电子设备及存储介质


[0001]本专利技术涉及分布式对象存储领域,尤其涉及一种分布式对象存储方法、装置、电子设备及存储介质。

技术介绍

[0002]随着网络大数据时代的来临,数据存储技术面对前所未有的挑战。例如,在监控领域,随着高清化及智能化要求的不断提升,对于数据存储的要求越来越高。
[0003]为了应对视频监控中数据存储量答即数据吞吐性高的特征,叠瓦式磁记录(Shingled Magnetic Recording,SMR)相继诞生。SMR硬盘通过重叠磁道,重新调整数据存储的方式,进而提高了磁道密度,从而增加了单碟的容量。然而正是由于SMR磁盘物理上的特点,导致了SMR磁盘的读行为虽然与普通机械硬盘无异,但是写行为却有着巨大的差异,不支持随机写和原地更新写,仅支持从头到尾顺序写入。
[0004]在分布式对象存储系统中,一个对象的存储文件同时写入多个空间Zone,所述多个Zone构成一个空间集合(ZoneGroup,ZG),若上一次写入时,写入对象的存储文件没有占满整个ZG的Zone,且下一次执行写入操作时,下一个对象的存储文件不再继续写入此ZG,将会导致此ZG内Zone未写满导致空间浪费的问题。且,针对一些小文件的存储场景,可能会加剧空间的浪费,使得整个存储系统的垃圾容量占比较高,进而使得SMR磁盘的空间利用率较低。
[0005]因此,如何提升SMR磁盘的空间利用率是目前亟待解决的技术问题。

技术实现思路

[0006]本申请实施例提供了一种分布式对象存储方法、装置、电子设备及存储介质。用于提升SMR磁盘的空间利用率。
[0007]第一方面,提供一种分布式对象存储方法,所述方法包括:
[0008]根据客户端发送的对象的存储请求,确定所述对象是否为第一对象,所述第一对象为对象存储文件中的第一个对象;
[0009]在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表,所述第一ZG复用列表对应的复用键key与所述第一对象对应的复用key相同,所述第一ZG复用列表中的每个ZG包括SMR磁盘的多个Zone;
[0010]在确定存在所述第一ZG复用列表时,从所述第一ZG复用列表中确定第一ZG,所述第一ZG为所述第一ZG复用列表中创建时刻最早的ZG;
[0011]向所述客户端发送第一信息,所述第一信息包括所述第一ZG的zgId和所述第一ZG中每个Zone对应的存储节点列表,以使所述客户端根据所述存储节点列表将所述第一对象的数据写入对应的存储节点,以及使所述存储节点根据zgId和Zone的映射关系接着所述第一ZG中每个Zone当前写指针的位置顺序写入所述客户端待写入的数据。
[0012]可选的,所述复用key包括bucket、纠删码和文件类型。
[0013]可选的,所述向所述客户端发送第一信息,包括:
[0014]确定所述第一ZG的剩余空间大小;
[0015]若所述第一ZG的剩余空间大小小于所述第一对象的数据的大小,则生成新的第二ZG;
[0016]所述第一信息包括:所述第二ZG的zgId和所述第二ZG中每个Zone对应的存储节点列表。
[0017]可选的,还包括:
[0018]确定所述第一ZG复用列表中每个ZG内的Zone对应的存储节点是否发生异常;
[0019]在确定任一存储节点发生异常时,将所述任一存储节点对应的第三ZG重置为不可复用状态,并将所述任一存储节点对应的ZG从所述第一ZG复用列表中删除。
[0020]可选的,所述异常包括:存储节点被删除或所述存储节点的离线时长超过第一预设时长。
[0021]可选的,还包括:
[0022]确定所述第一ZG中每个Zone对应的每个存储节点存储的数据与管理节点中存储的数据是否相同;
[0023]若存在第一存储节点与所述管理节点中存储的数据不相同,则将所述第一存储节点对应的Zone从所述第一ZG中删除。
[0024]可选的,还包括:
[0025]确定所述第一ZG复用列表中每个ZG的创建时长;
[0026]将创建时长超过第二预设时长的ZG从所述第一ZG复用列表中删除。
[0027]可选的,还包括:
[0028]确定所述第一ZG复用列表中每个ZG内的每个Zone剩余的空间大小是否相同;
[0029]若存在第四ZG内的第一Zone的剩余空间与所述第四ZG内其它Zone的剩余空间大小不同,则将所述第四ZG从所述第一ZG复用列表中删除。
[0030]第二方面,提供一种分布式对象存储装置,所述装置包括:
[0031]处理模块,用于根据客户端发送的对象的存储请求,确定所述对象是否为第一对象,所述第一对象为对象存储文件中的第一个对象;
[0032]所述处理模块,还用于在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表,所述第一ZG复用列表对应的复用键key与所述第一对象对应的复用key相同,所述第一ZG复用列表中的每个ZG包括SMR磁盘的多个Zone;
[0033]所述处理模块,还用于在确定存在所述第一ZG复用列表时,从所述第一ZG复用列表中确定第一ZG,所述第一ZG为所述第一ZG复用列表中创建时刻最早的ZG;
[0034]通信模块,用于向所述客户端发送第一信息,所述第一信息包括所述第一ZG的zgId和所述第一ZG中每个Zone对应的存储节点列表,以使所述客户端根据所述存储节点列表将所述第一对象的数据写入对应的存储节点,以及使所述存储节点根据zgId和Zone的映射关系接着所述第一ZG中每个Zone当前写指针的位置顺序写入所述客户端待写入的数据。
[0035]可选的,所述复用key包括bucket、纠删码和文件类型。
[0036]可选的,所述处理模块,还用于:
[0037]确定所述第一ZG的剩余空间大小;
[0038]若所述第一ZG的剩余空间大小小于所述第一对象的数据的大小,则生成新的第二ZG;
[0039]所述第一信息包括:所述第二ZG的zgId和所述第二ZG中每个Zone对应的存储节点列表。
[0040]可选的,所述处理模块,还用于:
[0041]确定所述第一ZG复用列表中每个ZG内的Zone对应的存储节点是否发生异常;
[0042]在确定任一存储节点发生异常时,将所述任一存储节点对应的第三ZG重置为不可复用状态,并将所述任一存储节点对应的ZG从所述第一ZG复用列表中删除。
[0043]可选的,所述异常包括:存储节点被删除或所述存储节点的离线时长超过第一预设时长。
[0044]可选的,所述处理模块,还用于:
[0045]确定所述第一ZG中每个Zone对应的每个存储节点存储的数据与所述处理模块中存储的数据是否相同;
[0046]若存在第一存储节点与所述处理模块中存储的数据不相同,则将所述第一存储节点对应的Zone从所述第一ZG中删本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式对象存储方法,其特征在于,所述方法包括:根据客户端发送的对象的存储请求,确定所述对象是否为第一对象,所述第一对象为对象存储文件中的第一个对象;在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表,所述第一ZG复用列表对应的复用键key与所述第一对象对应的复用key相同,所述第一ZG复用列表中的每个ZG包括SMR磁盘的多个Zone;在确定存在所述第一ZG复用列表时,从所述第一ZG复用列表中确定第一ZG,所述第一ZG为所述第一ZG复用列表中创建时刻最早的ZG;向所述客户端发送第一信息,所述第一信息包括所述第一ZG的zgId和所述第一ZG中每个Zone对应的存储节点列表,以使所述客户端根据所述存储节点列表将所述第一对象的数据写入对应的存储节点,以及使所述存储节点根据zgId和Zone的映射关系接着所述第一ZG中每个Zone当前写指针的位置顺序写入所述客户端待写入的数据。2.如权利要求1所述的方法,其特征在于,所述复用key包括bucket、纠删码和文件类型。3.如权利要求1所述的方法,其特征在于,所述向所述客户端发送第一信息,包括:确定所述第一ZG的剩余空间大小;若所述第一ZG的剩余空间大小小于所述第一对象的数据的大小,则生成新的第二ZG;所述第一信息包括:所述第二ZG的zgId和所述第二ZG中每个Zone对应的存储节点列表。4.如权利要求1所述的方法,其特征在于,还包括:确定所述第一ZG复用列表中每个ZG内的Zone对应的存储节点是否发生异常;在确定任一存储节点发生异常时,将所述任一存储节点对应的第三ZG重置为不可复用状态,并将所述任一存储节点对应的ZG从所述第一ZG复用列表中删除。5.如权利要求4所述的方法,其特征在于,所述异常包括:存储节点被删除或所述存储节点的离线时长超过第一预设时长。6.如权利要求1所述的方法,其特征在于,还包括:确定所述第一ZG中每个Zone对应的每个存储节点存储的数据与管理节点中存储的数据是否相同;若存在第一存储节点与所述管理节点中存储的数据不相同,则将所述第一存储节点对应的Zone从所述第一ZG中删除。7.如权利要求1所述的方法,其特征在于,还包括:确定所述第一ZG复用列表中每个ZG的创建时长;将创建时长超过第二预设时长的ZG从所述第一ZG复用列表中删除。8.如权利要求1所述的方法,其特征在于,还包括:确定所述第一ZG复用列表中每个ZG内的每个Zone剩余的空间大小是否相同;若存在第四ZG内的第一Zone的剩余空间与所述第四ZG内其它Zone的剩余空间大小不同,则将所述第四ZG从所述第一ZG复用列表中删除。9.一种分布式对象存储装置,其特征在于,所述装置包括:处理模块,用于根据客户端发送的对象的存储请求,确定所述对象是否为第一对象,所
述第一对象为对象存储文件中的第一个对象;所述处理模块,还用于在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表,所述第一ZG复用列表对应...

【专利技术属性】
技术研发人员:江文龙徐涛罗心王志豪周明伟
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1