CN114089917A - 分布式对象存储集群及其扩容方法、装置及电子设备 - Google Patents

分布式对象存储集群及其扩容方法、装置及电子设备 Download PDF

Info

Publication number
CN114089917A
CN114089917A CN202111402469.4A CN202111402469A CN114089917A CN 114089917 A CN114089917 A CN 114089917A CN 202111402469 A CN202111402469 A CN 202111402469A CN 114089917 A CN114089917 A CN 114089917A
Authority
CN
China
Prior art keywords
bucket
cluster
address
small cluster
small
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.)
Pending
Application number
CN202111402469.4A
Other languages
English (en)
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.)
China Telecom Group System Integration Co Ltd
Original Assignee
China Telecom Group System Integration 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 China Telecom Group System Integration Co Ltd filed Critical China Telecom Group System Integration Co Ltd
Priority to CN202111402469.4A priority Critical patent/CN114089917A/zh
Publication of CN114089917A publication Critical patent/CN114089917A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms

Abstract

本申请涉及一种分布式对象存储集群及其扩容方法、装置及电子设备,属于分布式存储技术领域。该集群包括多个小集群、DNS服务器以及负载均衡器。每个小集群对应有唯一的IP地址,且彼此独立;DNS服务器用于响应客户端发起的扩容请求,根据各个小集群当前的DNS权重,从多个小集群中确定出DNS权重最小或最大的目标小集群,并将目标小集群的IP地址返回给客户端,以使客户端访问目标小集群的IP地址,在目标小集群中创建存储桶以进行扩容;负载均衡器用于获取每个小集群的容量空间并确定对应的DNS权重,并将每个小集群的DNS权重发送给DNS服务器。该集群能改善现有分布式存储系统当有磁盘加入或移除时所存在的问题。

Description

分布式对象存储集群及其扩容方法、装置及电子设备
技术领域
本申请属于分布式存储技术领域,具体涉及一种分布式对象存储集群及其扩容方法、装置及电子设备。
背景技术
分布式存储是一种数据存储技术,将数据分散存储在多台独立的设备上,通过网络使用每台设备上的硬盘空间,并将这些分散的存储资源构成一个虚拟的存储设备。
目前的分布式存储系统,当有硬盘加入或移除时,会引发集群内的数据均衡、迁移,从而引发集群在很长时间内状态不正常、集群读写性能下降,甚至对前端业务产生不良的影响。
发明内容
鉴于此,本申请的目的在于提供一种分布式对象存储集群及其扩容方法、装置及电子设备,以改善现有分布式存储系统当有磁盘加入或移除时所存在的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种分布式对象存储集群,包括:多个小集群、DNS服务器、负载均衡器;多个小集群中的每个小集群对应有唯一的IP地址,且彼此独立;DNS服务器,用于响应客户端发起的扩容请求,根据各个小集群当前的DNS权重,从所述多个小集群中确定出DNS权重最小或最大的目标小集群,所述DNS权重表征小集群的容量空间,并将所述目标小集群的IP地址返回给所述客户端,以使所述客户端访问所述目标小集群的IP地址,在所述目标小集群中创建存储桶以进行扩容;负载均衡器,用于获取每个小集群的容量空间,并根据容量空间确定对应的DNS权重,并将每个小集群的DNS权重发送给所述DNS服务器。本申请实施例中,当用户想扩容时,通过表征小集群的容量空间的DNS权重来为用户分配最优的目标小集群,以保证各个小集群的之间的数据均衡;同时,本申请中各个多个小集群之间相互独立,彼此之间不发生数据均衡、迁移,这样,当有磁盘加入或移除时,仅会引发小集群内的数据均衡、迁移,不会造成大集群内的数据均衡、迁移,这样可以尽可能的减少数据均衡、迁移带来的不良影响。
结合第一方面实施例的一种可能的实施方式,所述负载均衡器还用于获取在所述目标小集群中创建的存储桶的桶名与所述目标小集群的IP地址,并发送给所述DNS服务器;所述DNS服务器还用于建立所述创建的存储桶的桶名与IP地址的映射关系。本申请实施例中,在创建存储桶后,DNS服务器还建立创建的存储桶的桶名与IP地址的映射关系,以便于之后根据该桶名查找该记录便可找到对应的小集群。
结合第一方面实施例的一种可能的实施方式,所述DNS服务器,还用于响应所述客户端发起的访问请求,所述访问请求中包括待访问的目标存储桶的桶名,根据桶名与IP地址的映射关系查找所述目标存储桶的桶名对应的目标IP地址,将所述目标IP地址返回给所述客户端,以使所述客户端对所述目标IP地址对应的小集群中的所述目标存储桶进行访问。本申请实实施例中,当用户想要访问目标存储桶,仅需要向DNS服务器发送包括目标存储桶的桶名的访问请求,DNS服务器便可根据之前建立的桶名与IP地址的映射关系找到目标存储桶的桶名对应的目标IP地址,这样用户便可对目标IP地址对应的小集群中的目标存储桶进行访问。
结合第一方面实施例的一种可能的实施方式,所述负载均衡器,还用于获取在所述目标小集群中删除存储桶的桶名与所述目标小集群的IP地址,并发送给所述DNS服务器;所述DNS服务器,还用于将之前建立的所述删除存储桶的桶名与IP地址的映射关系删除。本申请实施例中,当存储桶删除之后,DNS服务器也会对应的删除之前建立的该存储桶的桶名与IP地址的映射关系,以节约空间,以及提高后续的查找速度。
第二方面,本申请实施例还提供了一种分布式对象存储集群扩容方法,应用于DNS服务器,所述方法包括:响应客户端发起的扩容请求,根据预设的多个小集群中各个小集群当前的DNS权重,从所述多个小集群中确定出DNS权重最小或最大的目标小集群,所述DNS权重表征小集群的容量空间,每个小集群之间相互独立;将所述目标小集群的IP地址返回给所述客户端,以使所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容;在所述存储桶创建完成后,建立所述存储桶的桶名与所述IP地址的映射关系。
结合第二方面实施例的一种可能的实施方式,所述方法还包括:响应客户端发起的访问请求,所述访问请求中携带有目标存储桶的桶名,向所述客户端返回所述目标存储桶的桶名对应的IP地址,以使所述客户端对所述IP地址对应的小集群中的所述目标存储桶进行访问。
第三方面,本申请实施例还提供了一种分布式对象存储集群扩容方法,应用于负载均衡器,所述方法包括:在检测到与所述负载均衡器相连接的各个小集群的容量空间发生变化时,获取各个小集群的容量空间并计算对应的DNS权重;将各个小集群的DNS权重发送给DNS服务器,以使所述DNS服务器响应客户端发起的扩容请求,从预设的多个小集群中确定出DNS权重最小或最大的目标小集群,并将所述目标小集群的IP地址返回给所述客户端,以便所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容。
结合第三方面实施例的一种可能的实施方式,所述方法还包括:若小集群中新增或删除存储桶时,获取该小集群中新增或删除存储桶的桶名及该小集群的IP地址,并传输给所述DNS服务器,以使所述DNS服务器建立新增存储桶的桶名与对应的IP地址的映射关系,或者将之前建立的删除存储桶的桶名与对应的IP地址的映射关系删除。
第四方面,本申请实施例还提供了一种分布式对象存储集群扩容装置,包括:响应模块、发送模块、记录模块;响应模块,用于响应客户端发起的扩容请求,根据预设的多个小集群中各个小集群当前的DNS权重,从所述多个小集群中确定出DNS权重最小或最大的目标小集群,所述DNS权重表征小集群的容量空间,每个小集群之间相互独立;发送模块,用于将所述目标小集群的IP地址返回给所述客户端,以使所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容;记录模块,用于在所述存储桶创建完成后,建立所述存储桶的桶名与所述IP地址的映射关系。
第五方面,本申请实施例还提供了一种分布式对象存储集群扩容装置,包括:获取模块以及发送模块;获取模块,用于在检测到与负载均衡器相连接的各个小集群的容量空间发生变化时,获取各个小集群的容量空间并计算对应的DNS权重;发送模块,用于将各个小集群的DNS权重发送给DNS服务器,以使所述DNS服务器响应客户端发起的扩容请求,从预设的多个小集群中确定出DNS权重最小或最大的目标小集群,并将所述目标小集群的IP地址返回给所述客户端,以便所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容。
第六方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法,或者,执行上述第三方面实施例和/或结合第三方面实施例的任一种可能的实施方式提供的方法。
第七方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法,或者,执行上述第三方面实施例和/或结合第三方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请实施例提供的一种分布式对象存储集群的结构示意图。
图2示出了本申请实施例提供的一种应用于DNS服务器中的分布式对象存储集群扩容方法的流程示意图。
图3示出了本申请实施例提供的一种应用于负载均衡器中的分布式对象存储集群扩容方法的流程示意图。
图4示出了本申请实施例提供的一种属于DNS服务器中的分布式对象存储集群扩容装置的模块示意图。
图5示出了本申请实施例提供的一种属于负载均衡器中的分布式对象存储集群扩容装置的模块示意图。
图6示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
为了解决现有分布式存储系统当有磁盘加入或移除时所存在的问题,本申请实施例提供了一种分布式对象存储集群,基于分而治之的思想,先搭建多个小集群,之后将多个小集群组装成大集群,从而得到本申请中的分布式对象存储集群。其中,多个小集群之间相互独立,彼此之间不发生数据均衡、迁移,这样当有磁盘加入或移除时,仅会引发小集群内的数据均衡、迁移,不会造成大集群内的数据均衡、迁移,这样可以尽可能的减少数据均衡、迁移带来的不良影响。
下面将结合图1,对本申请实施例提供的分布式对象存储集群进行说明。该分布式对象存储集群包括DNS(Domain Name System,域名系统)服务器、负载均衡器(如为Kafka均衡器)和多个小集群。多个小集群中的每个小集群均与负载均衡器通信连接,负载均衡器与DNS服务器通信连接。
其中,每个小集群均包括Nginx均衡器、多个对象存储节点(Rados Gate Way,RGW)等,为了减少数据均衡、迁移带来的不良影响,小集群内的对象存储节点的数量设置为不超过32个。每个小集群对应有一个唯一的IP地址,该IP地址可以是小集群内部的Nginx均衡器的IP地址,以便于用户访问。每个小集群都是一个标准的分布式存储集群,例如为ceph集群。Nginx均衡器负载接收http请求的负载均衡,以及小集群内部的负载均衡。例如,当用户需要在小集群中新增存储桶时,Nginx均衡器在接收到存储桶创建请求后,会根据各个对象存储节点的容量空间,自动均衡到容量空间大的存储节点,以便用户在该存储节点上创建存储桶。本申请实施例中的每个小集群的实现原理与现有分布式存储集群(如ceph集群)的实现原理类似,在此不再进一步介绍。
每个小集群会将自身的容量空间(可以是指可用容量空间或剩余容量空间)定期或不定期的发送给负载均衡器,或者,负载均衡器也可以主动向各个小集群下发获取其容量空间的请求,然后各个小集群会将自身的容量空间发送给负载均衡器,负载均衡器在获取到每个小集群的容量空间后,根据各自的容量空间确定对应的DNS权重,并将每个小集群的DNS权重发送给DNS服务器。
其中,DNS权重表征小集群的容量空间的大小,一种实施方式下,可以是容量空间越大其DNS权重越大,当然也可以是反过来,也即容量空间越大其DNS权重越小。根据容量空间确定对应的DNS权重的方式可以有多种,例如,一种方式下,可以是事先预设一个表征容量空间与DNS权重关系的关系表,根据容量空间来查找该关系表来确定对应的DNS权重。又例如,一种方式下,可以是基于以下方式来得到第i个小集群的容量空间对应的DNS权重i,DNS权重i=容量空间i/容量空间总和,容量空间总和等于所有的小集群的容量空间之和,以n个小集群为例,则容量空间总和=(容量空间1+容量空间2+容量空间3+……+容量空间n-1+容量空间n)。n为正整数,i的取值为1至n的任意整数数值。
DNS服务器中记录有为各个小集群负载均衡Nginx的IP地址,当用户访问DNS服务器时,DNS服务器可以向当前用户返回对应的IP地址,用户便可访问该IP地址对应的小集群。
一种实施方式下,当用户想扩容时,通过客户端向DNS服务器发起扩容请求时,DNS服务器响应客户端发起的扩容请求,根据各个小集群当前的DNS权重,从多个小集群中确定出DNS权重最小或最大的目标小集群,并将目标小集群的IP地址返回给客户端,这样用户便可通过客户端访问目标小集群的IP地址,在目标小集群中创建存储桶以进行扩容。其中,如果容量空间越大其DNS权重越大,则目标小集群为多个小集群中DNS权重最大的小集群,反过来,如果容量空间越大其DNS权重越小,则目标小集群为多个小集群中DNS权重最小的小集群。这样可以尽量的保证各个小集群的数据均衡。
例如,当用户想创建存储桶时,假如发送的扩容请求中的域名为objectstore.com,这时DNS服务器表征根据各个小集群的可用空间的DNS权重,返回当前最优的小集群的IP地址,即负载均衡Nginx的IP地址,例如:192.168.56.101,然后客户端与192.168.56.101对应的小集群建立连接创建存储桶。存储桶创建完毕后,对象存储节点(RGW)会将存储桶的桶名的桶名,及存储桶所在的小集群的IP地址发送给负载均衡器(如Kafka),负载均衡器在获取在到目标小集群中创建的存储桶的桶名与目标小集群的IP地址后,将其发送给DNS服务器,以便于DNS服务器建立创建的存储桶的桶名与IP地址的映射关系,例如,在DNS域名服务器中做一条映射记录,比如:bucket01.objectstore.com192.168.56.101,以后用户关于该存储桶内部的操作,可以根据该桶名查找该记录找到该小集群。
存储桶创建完成后,用户便可访问存储桶,对该存储桶进行操作,如将文件上次至该存储桶内,或将该存储桶内的文件删除,或者删除存储桶等。因此,一种实施方式下,DNS服务器还用于响应客户端发起的针对存储桶的访问请求,该访问请求中包括待访问的目标存储桶的桶名,根据桶名与IP地址的映射关系(之前建立的)查找目标存储桶的桶名对应的目标IP地址,将目标IP地址返回给客户端,以使客户端对目标IP地址对应的小集群中的目标存储桶进行访问,从而便可将文件上次至该存储桶内,或将该存储桶内的文件删除,或者删除存储桶等。
其中,当用户删除存储桶后,对象存储节点便会将该事件通知负载均衡器,会将在目标小集群中删除存储桶的桶名与目标小集群的IP地址告知负载均衡器,负载均衡器在获取到在目标小集群中删除存储桶的桶名与目标小集群的IP地址后,将其发送给DNS服务器,以便DNS服务器将之前建立的删除存储桶的桶名与IP地址的映射关系删除。
此外,当发生用户上传文件或删除文件引起容量空间变化时,对象存储节点启动服务,定时获取当前小集群的容量空间,然后将小集群的IP地址与容量空间发送给负载均衡器Kafka,以便Kafka根据容量空间对其DNS权重进行更新,并将更新后的每个小集群的DNS权重发送给DNS服务器进行保存。
由于本申请的分布式对象存储集群中的各个小集群彼此独立,非常有利于后期对该分布式对象存储集群进行扩容,来搭建新的小集群,当搭建新的小集群进行扩容后,仅需将新增小集群的Nginx均衡器的IP地址加入DNS服务器,同时将新增小集群的可用容量空间转换为DNS权重,以便于实现各个小集群负载均衡。
基于同样的发明构思,本申请实施例还提供了一种应用于上述应用于DNS服务器的分布式对象存储集群扩容方法,下面结合图2对其进行说明。
S1:响应客户端发起的扩容请求,根据预设的多个小集群中各个小集群当前的DNS权重,从所述多个小集群中确定出DNS权重最小或最大的目标小集群。
其中,DNS权重表征小集群的容量空间,该DNS权重可以由与DNS服务器相连接的负载均衡器获取,进一步地,负载均衡器获取与负载均衡器相连接的各个小集群的容量空间,并计算对应的DNS权重,之后发送给NDS服务器进行存储。
S2:将所述目标小集群的IP地址返回给所述客户端,以使所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容。
S3:在所述存储桶创建完成后,建立所述存储桶的桶名与所述IP地址的映射关系。
存储桶创建完成后,对象存储节点(RGW)会将当前创建的存储桶的桶名的桶名及存储桶所在的小集群的IP地址发送给负载均衡器(如Kafka),负载均衡器在获取在到目标小集群中创建的存储桶的桶名与目标小集群的IP地址后,将其发送给DNS服务器,以便于DNS服务器建立创建的存储桶的桶名与IP地址的映射关系。
在创建完存储桶后,用户便可对其进行访问,因此,一种实施方式下,该分布式对象存储集群扩容方法还包括:响应客户端发起的访问请求,所述访问请求中携带有目标存储桶的桶名,向所述客户端返回所述目标存储桶的桶名对应的IP地址,以使所述客户端对所述IP地址对应的小集群中的所述目标存储桶进行访问。
本申请实施例所提供的分布式对象存储集群扩容方法,其实现原理及产生的技术效果和前述分布式对象存储集群实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述分布式对象存储集群实施例中相应内容。
基于同样的发明构思,本申请实施例还提供了一种应用于上述应用于负载均衡器(Kafka)的分布式对象存储集群扩容方法,下面结合图3对其进行说明。
S10:在检测到与所述负载均衡器相连接的各个小集群的容量空间发生变化时,获取各个小集群的容量空间并计算对应的DNS权重。
S20:将各个小集群的DNS权重发送给DNS服务器,以使所述DNS服务器响应客户端发起的扩容请求,从预设的多个小集群中确定出DNS权重最小或最大的目标小集群,并将所述目标小集群的IP地址返回给所述客户端,以便所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容。
在创建完存储桶后,DNS服务器需要建立新增存储桶的桶名与对应的IP地址的映射关系,此外,用户也可以删除之前创建的存储桶,在删除存储桶后,DNS服务器需要对应删除之前建立的映射关系,因此,一种实施方式下,该分布式对象存储集群扩容方法还包括:若小集群中新增或删除存储桶时,获取该小集群中新增或删除存储桶的桶名及该小集群的IP地址,并传输给所述DNS服务器,以使所述DNS服务器建立新增存储桶的桶名与对应的IP地址的映射关系,或者将之前建立的删除存储桶的桶名与对应的IP地址的映射关系删除。
本申请实施例所提供的分布式对象存储集群扩容方法,其实现原理及产生的技术效果和前述分布式对象存储集群实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述分布式对象存储集群实施例中相应内容。
基于同样的发明构思,本申请实施例还提供了一种分布式对象存储集群扩容装置100,如图4所示,该分布式对象存储集群扩容装置100包括:响应模块110、发送模块120、记录模块130。
响应模块110,用于响应客户端发起的扩容请求,根据预设的多个小集群中各个小集群当前的DNS权重,从所述多个小集群中确定出DNS权重最小或最大的目标小集群,所述DNS权重表征小集群的容量空间,每个小集群之间相互独立。
发送模块120,用于将所述目标小集群的IP地址返回给所述客户端,以使所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容。
记录模块130,用于在所述存储桶创建完成后,建立所述存储桶的桶名与所述IP地址的映射关系。
可选地,响应模块110,还用于响应客户端发起的访问请求,所述访问请求中携带有目标存储桶的桶名,向所述客户端返回所述目标存储桶的桶名对应的IP地址,以使所述客户端对所述IP地址对应的小集群中的所述目标存储桶进行访问。
可选地,在删除存储桶后,记录模块130,还用于将之前建立的所述删除存储桶的桶名与IP地址的映射关系删除。
本申请实施例所提供的分布式对象存储集群扩容装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
基于同样的发明构思,本申请实施例还提供了一种分布式对象存储集群扩容装置200,如图5所示,该分布式对象存储集群扩容装置200包括:获取模块210、发送模块220。
获取模块210,用于在检测到与负载均衡器相连接的各个小集群的容量空间发生变化时,获取各个小集群的容量空间并计算对应的DNS权重;
发送模块220,用于将各个小集群的DNS权重发送给DNS服务器,以使所述DNS服务器响应客户端发起的扩容请求,从预设的多个小集群中确定出DNS权重最小或最大的目标小集群,并将所述目标小集群的IP地址返回给所述客户端,以便所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容。
可选地,获取模块210,还用于若小集群中新增或删除存储桶时,获取该小集群中新增或删除存储桶的桶名及该小集群的IP地址;
发送模块220,还用于将获取的该小集群中新增或删除存储桶的桶名及该小集群的IP地址传输给所述DNS服务器,以使所述DNS服务器建立新增存储桶的桶名与对应的IP地址的映射关系,或者将之前建立的删除存储桶的桶名与对应的IP地址的映射关系删除。
本申请实施例所提供的分布式对象存储集群扩容装置200,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图6所示,图6示出了本申请实施例提供的一种电子设备300的结构框图。所述电子设备300包括:收发器310、存储器320、通讯总线330以及处理器340。
所述收发器310、所述存储器320、处理器340各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线330或信号线实现电性连接。其中,收发器310用于收发数据。存储器320用于存储计算机程序,如存储有图4或图5中所示的软件功能模块,即图4的分布式对象存储集群扩容装置100,或图5的图4的分布式对象存储集群扩容装置100。其中,分布式对象存储集群扩容装置100或分布式对象存储集群扩容装置200包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器320中或固化在所述电子设备300的操作系统(Operating System,OS)中的软件功能模块。所述处理器340,用于执行存储器320中存储的可执行模块。
例如,处理器执行分布式对象存储集群扩容装置100包括的软件功能模块或计算机程序时,处理器340,用于响应客户端发起的扩容请求,根据预设的多个小集群中各个小集群当前的DNS权重,从所述多个小集群中确定出DNS权重最小或最大的目标小集群,所述DNS权重表征小集群的容量空间,每个小集群之间相互独立;将所述目标小集群的IP地址返回给所述客户端,以使所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容;在所述存储桶创建完成后,建立所述存储桶的桶名与所述IP地址的映射关系。
例如,处理器执行分布式对象存储集群扩容装置200包括的软件功能模块或计算机程序时,处理器340,用于在检测到与所述负载均衡器相连接的各个小集群的容量空间发生变化时,获取各个小集群的容量空间并计算对应的DNS权重;将各个小集群的DNS权重发送给DNS服务器,以使所述DNS服务器响应客户端发起的扩容请求,从预设的多个小集群中确定出DNS权重最小或最大的目标小集群,并将所述目标小集群的IP地址返回给所述客户端,以便所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容。
其中,存储器320可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器340可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器340也可以是任何常规的处理器等。
其中,上述的电子设备300,包括但不限于上述的DNS服务器或负载均衡器(如Kafka)等。当电子设备300为DNS服务器时,则执行分布式对象存储集群扩容装置100包括的软件功能模块或计算机程序,当电子设备300为负载均衡器(如Kafka)时,则执行分布式对象存储集群扩容装置200包括的软件功能模块或计算机程序。
本申请实施例还提供了一种非易失性的计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备300运行时,执行上述所示的分布式对象存储集群扩容方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种分布式对象存储集群,其特征在于,包括:
多个小集群,每个小集群对应有唯一的IP地址,且彼此独立;
DNS服务器,用于响应客户端发起的扩容请求,根据各个小集群当前的DNS权重,从所述多个小集群中确定出DNS权重最小或最大的目标小集群,所述DNS权重表征小集群的容量空间,并将所述目标小集群的IP地址返回给所述客户端,以使所述客户端访问所述目标小集群的IP地址,在所述目标小集群中创建存储桶以进行扩容;
负载均衡器,用于获取每个小集群的容量空间,并根据容量空间确定对应的DNS权重,并将每个小集群的DNS权重发送给所述DNS服务器。
2.根据权利要求1所述的分布式对象存储集群,其特征在于,
所述负载均衡器还用于获取在所述目标小集群中创建的存储桶的桶名与所述目标小集群的IP地址,并发送给所述DNS服务器;
所述DNS服务器还用于建立所述创建的存储桶的桶名与IP地址的映射关系。
3.根据权利要求2所述的分布式对象存储集群,其特征在于,
所述DNS服务器,还用于响应所述客户端发起的访问请求,所述访问请求中包括待访问的目标存储桶的桶名,根据桶名与IP地址的映射关系查找所述目标存储桶的桶名对应的目标IP地址,将所述目标IP地址返回给所述客户端,以使所述客户端对所述目标IP地址对应的小集群中的所述目标存储桶进行访问。
4.根据权利要求1所述的分布式对象存储集群,其特征在于,
所述负载均衡器,还用于获取在所述目标小集群中删除存储桶的桶名与所述目标小集群的IP地址,并发送给所述DNS服务器;
所述DNS服务器,还用于将之前建立的所述删除存储桶的桶名与IP地址的映射关系删除。
5.一种分布式对象存储集群扩容方法,其特征在于,应用于DNS服务器,所述方法包括:
响应客户端发起的扩容请求,根据预设的多个小集群中各个小集群当前的DNS权重,从所述多个小集群中确定出DNS权重最小或最大的目标小集群,所述DNS权重表征小集群的容量空间,每个小集群之间相互独立;
将所述目标小集群的IP地址返回给所述客户端,以使所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容;
在所述存储桶创建完成后,建立所述存储桶的桶名与所述IP地址的映射关系。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应客户端发起的访问请求,所述访问请求中携带有目标存储桶的桶名,向所述客户端返回所述目标存储桶的桶名对应的IP地址,以使所述客户端对所述IP地址对应的小集群中的所述目标存储桶进行访问。
7.一种分布式对象存储集群扩容方法,其特征在于,应用于负载均衡器,所述方法包括:
在检测到与所述负载均衡器相连接的各个小集群的容量空间发生变化时,获取各个小集群的容量空间并计算对应的DNS权重;
将各个小集群的DNS权重发送给DNS服务器,以使所述DNS服务器响应客户端发起的扩容请求,从预设的多个小集群中确定出DNS权重最小或最大的目标小集群,并将所述目标小集群的IP地址返回给所述客户端,以便所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若小集群中新增或删除存储桶时,获取该小集群中新增或删除存储桶的桶名及该小集群的IP地址,并传输给所述DNS服务器,以使所述DNS服务器建立新增存储桶的桶名与对应的IP地址的映射关系,或者将之前建立的删除存储桶的桶名与对应的IP地址的映射关系删除。
9.一种分布式对象存储集群扩容装置,其特征在于,包括:
响应模块,用于响应客户端发起的扩容请求,根据预设的多个小集群中各个小集群当前的DNS权重,从所述多个小集群中确定出DNS权重最小或最大的目标小集群,所述DNS权重表征小集群的容量空间,每个小集群之间相互独立;
发送模块,用于将所述目标小集群的IP地址返回给所述客户端,以使所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容;
记录模块,用于在所述存储桶创建完成后,建立所述存储桶的桶名与所述IP地址的映射关系。
10.一种分布式对象存储集群扩容装置,其特征在于包括:
获取模块,用于在检测到与负载均衡器相连接的各个小集群的容量空间发生变化时,获取各个小集群的容量空间并计算对应的DNS权重;
发送模块,用于将各个小集群的DNS权重发送给DNS服务器,以使所述DNS服务器响应客户端发起的扩容请求,从预设的多个小集群中确定出DNS权重最小或最大的目标小集群,并将所述目标小集群的IP地址返回给所述客户端,以便所述客户端在所述IP地址对应的小集群中创建存储桶以进行扩容。
11.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器与所述存储器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求5-7中任一项所述的方法,或者,执行如权利要求8或9所述的方法。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求5-7中任一项所述的方法,或者,执行如权利要求8或9所述的方法。
CN202111402469.4A 2021-11-19 2021-11-19 分布式对象存储集群及其扩容方法、装置及电子设备 Pending CN114089917A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111402469.4A CN114089917A (zh) 2021-11-19 2021-11-19 分布式对象存储集群及其扩容方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111402469.4A CN114089917A (zh) 2021-11-19 2021-11-19 分布式对象存储集群及其扩容方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN114089917A true CN114089917A (zh) 2022-02-25

Family

ID=80303848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111402469.4A Pending CN114089917A (zh) 2021-11-19 2021-11-19 分布式对象存储集群及其扩容方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114089917A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513530A (zh) * 2022-04-19 2022-05-17 山东省计算中心(国家超级计算济南中心) 一种跨域存储空间双向供给方法和系统
CN117081931A (zh) * 2023-10-17 2023-11-17 之江实验室 一种异构分布式存储系统在线扩容方法及装置

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667761A (zh) * 2009-06-19 2012-09-12 布雷克公司 可扩展的集群数据库
CN103226518A (zh) * 2012-01-31 2013-07-31 国际商业机器公司 一种在存储管理系统中进行卷扩展的方法和装置
CN109271235A (zh) * 2018-09-06 2019-01-25 广州力挚网络科技有限公司 一种数据库集群建立方法与装置
CN109347947A (zh) * 2018-10-15 2019-02-15 郑州云海信息技术有限公司 一种负载均衡的方法、域名服务器及集群nas服务器
CN110019503A (zh) * 2017-09-01 2019-07-16 北京京东尚科信息技术有限公司 Redis集群的扩容和/或缩容的方法及装置
CN110636122A (zh) * 2019-09-11 2019-12-31 中移(杭州)信息技术有限公司 分布式存储方法、服务器、系统、电子设备以及存储介质
CN111209090A (zh) * 2020-04-17 2020-05-29 腾讯科技(深圳)有限公司 一种云平台中虚拟机的创建方法、组件及服务器
CN111290712A (zh) * 2020-01-22 2020-06-16 腾讯科技(深圳)有限公司 块设备创建方法、装置、云计算管理系统及存储介质
CN111587418A (zh) * 2017-11-13 2020-08-25 维卡艾欧有限公司 分布式存储系统的目录结构
CN111818194A (zh) * 2020-07-01 2020-10-23 中国建设银行股份有限公司 基于域名的访问系统和方法
CN112162707A (zh) * 2020-10-15 2021-01-01 科大讯飞股份有限公司 用于分布式存储系统的存储方法、电子设备及存储介质
CN112181309A (zh) * 2020-10-14 2021-01-05 上海德拓信息技术股份有限公司 一种海量对象存储的在线扩容方法
CN112445774A (zh) * 2020-11-20 2021-03-05 网宿科技股份有限公司 一种分布式共享文件系统及其数据处理方法
CN112860186A (zh) * 2021-02-05 2021-05-28 中国科学技术大学 一种千亿级别的对象存储桶的扩容方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667761A (zh) * 2009-06-19 2012-09-12 布雷克公司 可扩展的集群数据库
CN103226518A (zh) * 2012-01-31 2013-07-31 国际商业机器公司 一种在存储管理系统中进行卷扩展的方法和装置
US20130198472A1 (en) * 2012-01-31 2013-08-01 International Business Machines Corporation Performing volume expansion in storage management system
CN110019503A (zh) * 2017-09-01 2019-07-16 北京京东尚科信息技术有限公司 Redis集群的扩容和/或缩容的方法及装置
CN111587418A (zh) * 2017-11-13 2020-08-25 维卡艾欧有限公司 分布式存储系统的目录结构
CN109271235A (zh) * 2018-09-06 2019-01-25 广州力挚网络科技有限公司 一种数据库集群建立方法与装置
CN109347947A (zh) * 2018-10-15 2019-02-15 郑州云海信息技术有限公司 一种负载均衡的方法、域名服务器及集群nas服务器
CN110636122A (zh) * 2019-09-11 2019-12-31 中移(杭州)信息技术有限公司 分布式存储方法、服务器、系统、电子设备以及存储介质
CN111290712A (zh) * 2020-01-22 2020-06-16 腾讯科技(深圳)有限公司 块设备创建方法、装置、云计算管理系统及存储介质
CN111209090A (zh) * 2020-04-17 2020-05-29 腾讯科技(深圳)有限公司 一种云平台中虚拟机的创建方法、组件及服务器
CN111818194A (zh) * 2020-07-01 2020-10-23 中国建设银行股份有限公司 基于域名的访问系统和方法
CN112181309A (zh) * 2020-10-14 2021-01-05 上海德拓信息技术股份有限公司 一种海量对象存储的在线扩容方法
CN112162707A (zh) * 2020-10-15 2021-01-01 科大讯飞股份有限公司 用于分布式存储系统的存储方法、电子设备及存储介质
CN112445774A (zh) * 2020-11-20 2021-03-05 网宿科技股份有限公司 一种分布式共享文件系统及其数据处理方法
CN112860186A (zh) * 2021-02-05 2021-05-28 中国科学技术大学 一种千亿级别的对象存储桶的扩容方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513530A (zh) * 2022-04-19 2022-05-17 山东省计算中心(国家超级计算济南中心) 一种跨域存储空间双向供给方法和系统
CN117081931A (zh) * 2023-10-17 2023-11-17 之江实验室 一种异构分布式存储系统在线扩容方法及装置
CN117081931B (zh) * 2023-10-17 2024-01-09 之江实验室 一种异构分布式存储系统在线扩容方法及装置

Similar Documents

Publication Publication Date Title
WO2017114206A1 (zh) 短链接处理方法、装置及短链接服务器
CN114089917A (zh) 分布式对象存储集群及其扩容方法、装置及电子设备
US20170153909A1 (en) Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine
US11593496B2 (en) Decentralized data protection system for multi-cloud computing environment
CN107135242B (zh) Mongodb集群访问方法、装置及系统
CN108540510B (zh) 一种云主机创建方法、装置及云服务系统
CN113806300B (zh) 数据存储方法、系统、装置、设备及存储介质
CN111651424B (zh) 一种数据处理方法、装置、数据节点及存储介质
CN108900547B (zh) 回源控制方法及装置
CN111209256A (zh) 一种文件监控方法、装置、电子设备及存储介质
CN107918527B (zh) 存储空间分配方法及装置以及文件存储方法及装置
CN111562889B (zh) 数据处理方法、装置、系统及存储介质
CN111159219A (zh) 一种数据管理方法、装置、服务器及存储介质
CN111506547A (zh) 一种文件夹挂载方法、装置、设备、介质
CN111562884A (zh) 一种数据存储方法、装置及电子设备
CN113315852B (zh) 一种域名解析的方法、装置及系统
CN113301173A (zh) 域名更新系统及方法、消息转发方法、服务器
CN110677683B (zh) 视频存储、视频访问方法及分布式存储、视频访问系统
CN108737493B (zh) 一种地址分配方法、装置及电子设备
US20130058333A1 (en) Method For Handling Requests In A Storage System And A Storage Node For A Storage System
JP7392168B2 (ja) Cdnにおけるurlリフレッシュ方法、装置、機器及びcdnノード
CN112291343B (zh) 信息获取方法、装置及电子设备
CN108846141B (zh) 一种离线缓存加载方法及装置
CN113849482A (zh) 一种数据迁移方法、装置及电子设备
CN113553314A (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
CB02 Change of applicant information

Address after: Room 1308, 13th floor, East Tower, 33 Fuxing Road, Haidian District, Beijing 100082

Applicant after: China Telecom Digital Intelligence Technology Co.,Ltd.

Address before: Room 1308, 13th floor, East Tower, 33 Fuxing Road, Haidian District, Beijing 100082

Applicant before: CHINA TELECOM GROUP SYSTEM INTEGRATION Co.,Ltd.

CB02 Change of applicant information