基于MINIO云存储的扩容方法、装置及电子设备与流程

文档序号:25182333发布日期:2021-05-25 14:57阅读:1105来源:国知局
基于MINIO云存储的扩容方法、装置及电子设备与流程

本发明属于云存储技术领域,具体涉及一种基于minio云存储的扩容方法、装置及电子设备。



背景技术:

awss3全称:(amazonsimplestorageservice),是一种面向网络的存储服务,可以支持用户随时在web的任何位置,存储和检索任意大小的数据,本身也提供了简单而直观的管理控制台来处理这些任务。

minio提供基于awss3存储协议的对象存储服务,适用于云侧部署,用于非结构化的数据存储。非结构化对象,比如图像,音、视频,日志文件,备份镜像…等等,其存在管理不方便、不定长、大小变化大、类型多以及云端的访问复杂等问题,minio就是来解决这些问题的。然而,minio并不支持动态扩容,不利于其使用和推广。



技术实现要素:

为了解决上述问题,本发明提供一种基于minio云存储的扩容方法、装置及电子设备,解决了minio不支持动态扩容的问题,有利于其使用和推广。

本发明所采用的技术方案为:一种基于minio云存储的扩容方法,包括以下步骤:

计算第一云存储的剩余可用空间,所述第一云存储的编号为n;

判定所述剩余可用空间占所述第一云存储总空间的占比是否小于预定阈值;

若是,利用minio在存储主机或新磁盘上启动第二云存储,所述第二云存储编号为n+1;

修改目标文件的云存储编号为n+1;

将所述目标文件上传至所述第二云存储的服务数据库中保存,保存的文件信息包括minio关键元素,所述minio关键元素包括存储编号cluster、桶名称bucket以及文件在桶内的路径pathinbucket;

其中,n∈n+

作为一种可选的技术方案,所述方法还包括以下步骤:访问所述服务数据库中的所述目标文件,使用所述服务数据库中存储的minio关键元素连接对应编号的存储,进行所述目标文件的访问下载。

作为一种可选的技术方案,所述方法还包括以下步骤:当所述剩余可用空间占所述第一云存储总空间的占比不小于所述预定阈值时,将目标文件上传至所述第一云存储的服务数据库中保存。

作为一种可选的技术方案,所述预定阈值的取值为4%-6%。

本发明还公开了一种基于minio云存储的扩容装置,包括:

计算模块,用于计算第一云存储的剩余可用空间,所述第一云存储的编号为n;

判定模块,用于判定所述剩余可用空间占所述第一云存储总空间的占比是否小于预定阈值;

启动模块,配置为在所述占比小于所述预定阈值时,利用minio在存储主机或新磁盘上启动第二云存储,所述第二云存储编号为n+1;

修改模块,用于修改目标文件的云存储编号为n+1;

第一上传保存模块,用于将所述目标文件上传至所述第二云存储的服务数据库中保存,保存的文件信息包括minio关键元素,所述minio关键元素包括存储编号cluster、桶名称bucket以及文件在桶内的路径pathinbucket;

其中,n∈n+

作为一种可选的技术方案,所述装置还包括:数据访问模块,用于访问所述服务数据库中的所述目标文件,访问时使用所述服务数据库中存储的minio关键元素连接对应编号的存储,进行所述目标文件的访问下载。

作为一种可选的技术方案,所述装置还包括:第二上传保存模块,配置为当所述剩余可用空间占所述第一云存储总空间的占比不小于所述预定阈值时,将目标文件上传至所述第一云存储的服务数据库中保存。

作为一种可选的技术方案,所述预定阈值的取值为4%-6%。

本发明还公开了一种电子设备,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如上述的基于minio云存储的扩容方法。

本发明还公开了一种计算机可读介质,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如上述的基于minio云存储的扩容方法。

本发明的有益效果为:本发明中,在已有云存储的存储空间达报警值时,使用minio再启动一个新的存储服务,待上传的目标文件通过新的存储服务保存,以此实现动态扩容,解决了minio存储无法动态扩容的问题,有利于其使用和推广。

附图说明

图1为实施例中基于minio云存储的扩容方法的流程示意图。

图2是网络拓扑图。

图3是实施例中基于minio云存储的扩容装置的原理框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合附图及具体实施例对本发明作进一步阐述。

实施例

如图1所示,一种基于minio云存储的扩容方法,包括以下步骤:

计算第一云存储的剩余可用空间,所述第一云存储的编号为n;

判定所述剩余可用空间占所述第一云存储总空间的占比是否小于预定阈值;

若是,利用minio在存储主机或新磁盘上启动第二云存储,所述第二云存储编号为n+1;

修改目标文件的云存储编号为n+1;

将所述目标文件上传至所述第二云存储的服务数据库中保存,保存的文件信息包括minio关键元素,所述minio关键元素包括存储编号cluster、桶名称bucket以及文件在桶内的路径pathinbucket;

其中,n∈n+

作为一种可选的实施方式,所述方法还包括以下步骤:访问所述服务数据库中的所述目标文件,使用所述服务数据库中存储的minio关键元素连接对应编号的存储,进行所述目标文件的访问下载。

作为一种可选的实施方式,所述方法还包括以下步骤:当所述剩余可用空间占所述第一云存储总空间的占比不小于所述预定阈值时,将目标文件上传至所述第一云存储的服务数据库中保存。

作为一种可选的实施方式,所述预定阈值的取值为4%-6%,优选地,本实施例中预定阈值取5%。

下面结合附图2对上述方法过程进行更为详细的说明。

假定目前已有云存储,编号为1(即上述n取1),且存储空间已到达报警值95%,即上述预定阈值为1-95%=5%;假定目前有业务a使用编号为1的云存储作为存储服务提供者,并在配置文件内配置,便于修改。

扩容方式为:

步骤一,使用minio再启动一个存储,编号为2(即上述n+1为2),即当旧存储空间即将满的时候,在存储主机或新磁盘上启动一个新的存储,key和secret与旧存储相同。

步骤二,修改待上传的目标文件的云存储编号为2,将目标文件上传至新启动的储存服务中保存。

其中,存储的访问地址与旧存储类似,如果旧存储为a1.b.c.com,那么新存储则为a2.b.c.com,这样.b.c.com则为通用部分,便于用存储编号去对接新旧存储服务。并将业务服务中的目标文件的存储服务由旧的a1改为新的存储服务a2。这样上传文件时目标文件存储的地址将为存储服务a2,并将a2作为cluster和其它信息保存在服务数据库中。

其中,使用minio云存储服务的应用,在保存文件信息至服务数据库中时,需要保存minio相关的几个关键元素,包含:cluster-存储编号,bucket-桶名称,pathinbucket-文件在桶内的路径。

步骤三,访问被储存的目标文件时,使用服务数据库中存储的minio关键元素连接对应编号的存储,进行目标文件的访问下载。

上述方法中,在已有云存储的存储空间达报警值时,使用minio再启动一个新的存储服务,待上传的目标文件通过新的存储服务保存,以此实现动态扩容,解决了minio存储无法动态扩容的问题,有利于其使用和推广。

如图3所示,本发明还公开了一种基于minio云存储的扩容装置,包括:

计算模块,用于计算第一云存储的剩余可用空间,所述第一云存储的编号为n;

判定模块,用于判定所述剩余可用空间占所述第一云存储总空间的占比是否小于预定阈值;

启动模块,配置为在所述占比小于所述预定阈值时,利用minio在存储主机或新磁盘上启动第二云存储,所述第二云存储编号为n+1;

修改模块,用于修改目标文件的云存储编号为n+1;

第一上传保存模块,用于将所述目标文件上传至所述第二云存储的服务数据库中保存,保存的文件信息包括minio关键元素,所述minio关键元素包括存储编号cluster、桶名称bucket以及文件在桶内的路径pathinbucket;

其中,n∈n+

作为一种可选的实施方式,所述装置还包括:数据访问模块,用于访问所述服务数据库中的所述目标文件,访问时使用所述服务数据库中存储的minio关键元素连接对应编号的存储,进行所述目标文件的访问下载。

作为一种可选的实施方式,所述装置还包括:第二上传保存模块,配置为当所述剩余可用空间占所述第一云存储总空间的占比不小于所述预定阈值时,将目标文件上传至所述第一云存储的服务数据库中保存。

作为一种可选的实施方式,所述预定阈值的取值为4%-6%,优选地,本实施例中预定阈值取5%。

本发明还公开了一种电子设备,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如上述的基于minio云存储的扩容方法。

本发明还公开了一种计算机可读介质,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如上述的基于minio云存储的扩容方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、电子设备和计算机可读介质的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块(单元)。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在可读介质中或网络上,包括若干指令以使得一台电子设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。

上述可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内,凡是落入本发明权利要求界定范围内的技术方案,均落在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1