CN116737068A - 存储集群的管理方法、装置、存储介质及电子设备 - Google Patents

存储集群的管理方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN116737068A
CN116737068A CN202310560428.0A CN202310560428A CN116737068A CN 116737068 A CN116737068 A CN 116737068A CN 202310560428 A CN202310560428 A CN 202310560428A CN 116737068 A CN116737068 A CN 116737068A
Authority
CN
China
Prior art keywords
storage
node
weight
disk
queue
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
CN202310560428.0A
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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202310560428.0A priority Critical patent/CN116737068A/zh
Publication of CN116737068A publication Critical patent/CN116737068A/zh
Pending legal-status Critical Current

Links

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/064Management of blocks
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种存储集群的管理方法、装置、计算机程序产品、非暂时性计算机可读存储介质及电子设备。该方法包括:获取存储节点的可用容量;根据存储节点的可用容量,确定存储节点的第一权重,其中,可用容量和第一权重正相关;根据存储节点的第一权重,从多个存储节点中确定用于处理目标存储请求的目标存储节点。本公开的实施例能够提高存储集群的整体的读写速度。

Description

存储集群的管理方法、装置、存储介质及电子设备
技术领域
本公开总体上涉及计算机技术领域,更具体地涉及一种存储集群的管理方法、装置、计算机程序产品、非暂时性计算机可读存储介质及电子设备。
背景技术
本部分旨在介绍本领域的一些方面,其可以与下面描述的和/或要求保护的本公开的各个方面相关。相信本部分有助于提供背景信息以便于更好地理解本公开的各个方面。因此,应该理解的是这些陈述应该从这个角度来理解,而不是作为对现有技术的承认。
EC存储集群是一种分布式存储系统,它将数据分割为多个数据块并进行编码,然后将编码后的数据块存储在不同的节点上,以实现数据冗余和高可用性。然而,由于数据块数量较多且分布在不同的节点上,最慢节点的性能会影响系统整体的读写速度。
因此,有必要提出一种新的技术方案,以减轻或者解决上述至少一个技术问题。
发明内容
本公开的目的在于提供一种存储集群的管理方法、装置、计算机程序产品、非暂时性计算机可读存储介质及电子设备,以提高存储集群的整体的读写速度。
根据本公开的第一方面,提供了一种存储集群的管理方法,所述存储集群包括多个存储节点,所述方法包括:获取所述存储节点的可用容量;根据所述存储节点的可用容量,确定所述存储节点的第一权重,其中,所述可用容量和所述第一权重正相关;根据所述存储节点的第一权重,从所述多个存储节点中确定用于处理目标存储请求的目标存储节点。
根据本公开的第二方面,提供了一种存储集群的管理装置,所述存储集群包括多个存储节点,所述装置包括:获取模块,用于获取所述存储节点的可用容量;权重确定模块,用于根据所述存储节点的可用容量,确定所述存储节点的第一权重,其中,所述可用容量和所述第一权重正相关;选择模块,用于根据所述存储节点的第一权重,所述多个存储节点中确定用于处理目标存储请求的目标存储节点。
根据本公开的第三方面,提供了一种计算机程序产品,包括程序代码指令,当所述程序产品由计算机执行时,所述程序代码指令使所述计算机执行根据本公开的第一方面所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非暂时性计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开的第一方面所述的方法。
根据本公开的第五方面,提供了一种电子设备,包括:处理器,与所述处理器进行电子通信的存储器;以及指令,所述指令存储在所述存储器中并且可由所述处理器执行以使所述电子设备执行根据本公开的第一方面所述的方法。
在本公开的实施例中,根据存储节点的可用容量确定存储节点的权重,并根据存储节点的权重选择处理存储请求的目标存储节点,有利于选择读写性能较好的存储节点处理存储请求,提高多个存储节点的读写速度的下限,最终提高存储集群整体的读写速度。
应当理解,本部分所描述的内容并不旨在标识所要求保护的发明内容的关键或必要特征,也不旨在单独地用于确定所要求保护的发明内容的范围。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的存储集群的管理方法的一个实施例的系统架构图;
图2示出了根据本公开的存储集群的管理方法的一个实施例的流程图;
图3A示出了根据本公开实施例的一个具体例子的系统架构的示意图;
图3B示出了根据本公开实施例的一个具体例子的流程图;
图4示出了根据本公开的实施例的存储集群的管理装置的示例性框图;
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意图。
具体实现方式
下文将参考附图更全面地描述本公开。然而,本公开可以以多种替代形式来体现,并且不应被解释为限于本文描述的实施例。因此,尽管本公开易于进行各种修改和替代形式,但是其具体实施例在附图中以示例的方式示出,并将在本文详细描述。然而,应当理解,这种方式并不旨在将本公开限制于所公开的特定形式,相反,本公开覆盖了落入由权利要求所限定的本公开的精神和范围内的所有修改方案、等同方案和替代方案。
应当理解,尽管本文可以用术语第一、第二等描述各种元素,但是这些元素不应该被这些术语所限制。这些术语仅用于区分一个元素和另一个元素。例如,第一元素可以被称为第二元素,并且类似地,第二元素可以被称为第一元素,而不脱离本公开的教导。
本文结合框图和/或流程图描述了一些示例,其中每个框表示包括用于实现指定逻辑功能的一个或多个可执行指令的电路元件、模分块或代码的部分。还应该注意的是,在其他实现方式中,框中所述的功能可以不按所述的顺序发生。例如,根据所涉及的功能,连续示出的两个框实际上可以实质上同时执行,或者这些框有时可以以相反的顺序执行。
本文提到的“根据……实施例”或“在..实施例中”意味着结合实施例描述的特定特征、结构或特性可以被包括在本公开的至少一个实现方式中。本文中不同地方出现的短语“根据...实施例”或“在...实施例中”不一定都指同一实施例,也不一定是与其他实施例相互排斥的单独或替代实施例。
图1示出了可以应用本公开的存储集群的管理方法、装置、终端设备和存储介质的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如语音交互类应用、视频会议类应用、短视频社交类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有麦克风和扬声器的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层4)播放器、便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如,服务器105可以是对终端设备101、102、103发送的存储集群的管理请求进行处理的后台服务器。
在一些情况下,本公开所提供的存储集群的管理方法可以由终端设备101、102、103执行,相应地,存储集群的管理装置也可以设置于终端设备101、102、103中,这时,系统架构100可以不包括服务器105。
在一些情况下,本公开所提供的存储集群的管理方法可以由服务器105执行,相应地,存储集群的管理装置也可以设置于服务器105中,这时,系统架构100可以不包括终端设备101、102、103。
在一些情况下,本公开所提供的存储集群的管理方法可以由终端设备101、102、103和服务器105共同执行。相应地,存储集群的管理装置也可以分别设置于终端设备101、102、103和服务器105中。
需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示出了根据本公开的存储集群的管理方法的一个实施例的流程图。该实施例中的方法可以由图1中的终端设备实施,或者由图1中的服务器实施,或者由图1中的终端设备和服务器共同实施。
本实施例提供一种存储集群的管理方法,上述存储集群包括多个存储节点。在可选的实施例中,存储集群可以是纠删码(Erasure Coding,EC)存储集群。
如图2所示,该方法包括以下步骤:
步骤210,获取存储节点的可用容量。
在可选的实施例中,存储节点可以以心跳方式定期向本实施例中方法的执行主体上报自身的可用容量。除了可用容量外,存储节点还可以上报端点(End Point)、系统负载和时间等信息。
在可选的实施例中,可用容量绝对值形式,即可用的容量大小。在可选的实施例中,可用容量为相对值形式,即可用的重量占整体的容量的比例。
步骤220,根据存储节点的可用容量,确定存储节点的第一权重,其中,可用容量和第一权重正相关。
本实施例中,存储节点的第一权重根据存储节点的可用容量计算,可用容量越大第一权重越大。
在可选的实施例中,可用容量为相对值形式,例如为百分比形式。这种情况下,可以将可用容量的百分比形式乘以10再取整,得到相应的第一权重。例如,可用容量90%-99%对应的第一权重为9,可用容量10%-19%对应的第一权重为1。
步骤230,根据存储节点的第一权重,从多个存储节点中确定用于处理目标存储请求的目标存储节点。
本实施例中,根据第一权重选择目标存储节点,第一权重越大的存储节点被选中的可能性越大。示例性地,第一权重为9的存储节点被选中的概率是第一权重为1的存储节点被选中的概率的9倍。
在可选的实施例中,对于步骤230,可以采用加权轮询算法,从多个存储节点中确定目标存储节点。加权轮询是一种网络调度算法,应用在数据流或者调度任务上。调度算法是从一系列消费者中选取一个来处理任务的算法,加权轮询调度算法将每一个消费者的消费能力绑定一个固定的权重,每个调度循环会遍历所有消费者,并且根据消费者的权重决定调度次数的比例。
在可选的实施例中,可以维护三种存储节点队列,并基于存储节点队列管理存储集群。上述三种存储节点队列包括不可用节点队列、惩罚节点队列和可用节点队列。
不可用节点队列中存储有第一权重小于预设的第一权重阈值的存储节点。第一权重小于预设的第一权重阈值,表明存储节点的可用空间过小,可以认为其处于不可用状态。不可用的存储节点不会被选中为目标存储节点。第一权重阈值可以根据实际情况设置,在可用容量为相对值的情况下,其数值例如是20%、10%或者5%。
惩罚节点队列中存储有被惩罚的存储节点。对于被惩罚的存储节点,在一定时间段内停止其被选为目标存储节点的机会。可选的,可以将请求失败率大于预设的失败率阈值的存储节点作为被惩罚的存储节点。示例性地,可以统计一段时间内对某个存储节点进行请求的总次数、失败次数和超时次数,并将失败次数和超时次数的和在总次数中的占比确定为该存储节点的失败率。上述失败率阈值可以根据实际情况设置,其数值例如是30%、50%或者60%。
在可选的实施例中,除了将失败率作为惩罚指标中,还可以将系统负载作为惩罚指标,即,可以将系统负载大于预设的负载阈值的存储节点,放入惩罚节点队列。
通过维护惩罚节点队列,可以提高存储请求处理的成功率和速度。
可用节点队列中存储有不可用存储节点队列和惩罚节点队列以外的存储节点。可用节点队列中的存储节点有机会被选为目标存储节点。在可选的实施例中,对于步骤230,可以从可用节点队列的存储节点中确定目标存储节点。
在可选的实施例中,对存储节点队列的维护还可以包括以下步骤:对于惩罚节点队列中的存储节点,在存储节点的存放时长达到预设的第一惩罚时长的情况下,将存储节点从惩罚节点队列转移至可用节点队列,同时将存储节点的第一权重赋值为预设的最小第一权重。第一惩罚时长可以根据实际情况设置,其数值例如是30秒、1分钟或者5分钟等。该实施例引入了惩罚节点队列的退出机制,能够使被惩罚的存储节点在问题消除后得到被正常选中的机会。对于从惩罚节点队列中退出的存储节点,其存在的问题(例如失败率高或者系统负载过大)不一定完全消除,因此,该实施例中将退出的存储节点的第一权重设置为最小第一权重,限制其被选中的机会,减小因存储节点的问题没有完全消除对存储集群带来的影响。最小第一权重可以根据实际情况设置。如本领域技术人员能够理解的,最小第一权重应当大于或等于第一权重阈值。
在可选的实施例中,对于从惩罚节点队列转移至可用节点队列的存储节点,按照预设方式逐步恢复存储节点的第一权重。仅仅以时间为指标将惩罚节点中的存储节点退出,不能保证退出的存储节点的问题完全消除,对此,该实施例中按照预设方式逐步恢复退出的存储节点的第一权重。示例性地,对于从惩罚节点队列中退出的存储节点,可以每个一段时间(例如第一惩罚时长),恢复一定比例(例如五分之一、十分之一等)的正常权重(即按照可用容量计算的第一权重)。举例来说,对于从惩罚节点队列中退出的存储节点,将其第一权重初始赋值为最小第一权重,之后经过一个惩罚时长,将其第一权重恢复为正常权重的十分之一(如果该值小于最小第一权重,仍保留最小第一权重,后续步骤类似),再经过一个惩罚时长,将其第一权重恢复为正常权重的十分之二,直至经过十个惩罚时长,将其第一权重恢复为正常权重。
在可选的实施例中,存储节点在于本实施例中方法的执行主体进行交互(例如响应上一次存储请求)时,会将自身的可用容量(以下称为第一可用容量)上报给本实施例中方法的执行主体。同时,专门的调度服务会定时收集各个存储节点的可用容量(以下称为第二可用容量)并发送给本实施例中方法的执行主体。本实施例中方法的执行主体可以将第一可用容量和第二可用容量中时间最新者确定为存储节点的可用容量。通过上述方式,可以保证可用容量获取的及时性。
在本实施例中,根据存储节点的可用容量确定存储节点的权重,并根据存储节点的权重选择处理存储请求的目标存储节点,有利于选择读写性能较好的存储节点处理存储请求,提高多个存储节点的读写速度的下限,最终提高存储集群整体的读写速度。
在可选的实施例中,目标存储节点包括多个磁盘,目标存储节点进一步通过加权方式从多个磁盘中选出用于处理目标存储请求的目标磁盘,具体包括:获取磁盘的磁盘容量;根据磁盘的磁盘容量,确定磁盘的第二权重,其中,磁盘权重和第二权重正相关;根据磁盘的第二权重,从多个磁盘中确定用于处理目标存储请求的目标磁盘。上述方式有利于选择读写性能较好的磁盘处理存储请求,提高多个磁盘的读写速度的下限,最终提高目标存储节点整体的读写速度。
在可选的实施例中,目标存储节点进一步维护三个磁盘队列,包括:将第二权重小于预设的第二权重阈值的磁盘放入不可用磁盘队列,将磁盘的输入输出错误率大于预设的错误率阈值的存储节点放入惩罚磁盘队列,将不可用队列和惩罚队列之外的存储节点放入可用磁盘队列。在该实施例中,可以从可用磁盘队列中的磁盘中确定目标磁盘。
在可选的实施例中,维护磁盘队列的步骤可以进一步包括:对于惩罚磁盘队列中的磁盘,在磁盘的存放时长达到预设的第二惩罚时长的情况下,将磁盘从惩罚磁盘队列转移至可用磁盘队列,同时将磁盘的第二权重赋值为预设的最小第二权重。
在可选的实施例中,维护磁盘队列的步骤可以进一步包括:对于从惩罚磁盘队列转移至可用磁盘队列的磁盘,按照预设方式逐步恢复磁盘的第二权重。
维护磁盘队列的相关步骤可以参见上文对维护存储节点队列的相关步骤的描述。
图3A示出了根据本公开实施例的一个具体例子的系统架构的示意图。如图3A所示,该系统架构包括计算节点、存储节点、配置中心和调度节点。存储节点用于处理存储请求。多个存储节点形成存储集群。计算节点用于与客户端交互。多个计算节点形成计算集群。存储节点定时将可用容量、系统负载等节点信息上报给调度节点。计算节点定时向调度节点获取上述节点信息。配置中心用于存储阈值、最小权重等配置信息。计算节点和存储节点向配置中心获取上述配置信息。
图3B示出了根据本公开实施例的一个具体例子的流程图,其可以基于图3A中系统架构实现。如图3B所示,存储节点获取自身各个磁盘的磁盘容量(据此可得到可用容量)、系统负载等节点信息。存储节点以定时心跳的方式将节点信息发送给调度节点。调度节点根据存储节点的可用容量计算存储节点的第一权重(也可以由计算节点计算第一权重),并将节点信息和更新时间保存。计算节点定时向调度节点获取存储节点列表,存储节点列表中包含各个存储节点的节点信息。存储节点根据节点信息,将各个存储节点分别放入相应的存储节点队列。对于来自客户的上传请求(即存储请求),计算节点根据加权轮询算法在可用存储节点队列中选择目标存储节点。目标存储节点写入编码后的数据,完成对数据的存储,并将节点容量、系统负载和当前时间等相关信息写入响应头。计算节点接收目标存储节点发送的响应数据,并对客户端进行响应。计算节点还根据响应头中的相关信息,更新存储节点的第一权重、系统负载和更新时间等信息,并计算请求失败率。对于请求失败率超过失败率阈值的存储节点,计算节点将其放入惩罚节点队列。
图4示出了根据本公开的实施例的存储集群的管理装置的示例性框图。如图4所示,该存储集群的管理装置,包括:获取模块410,用于获取上述存储节点的可用容量;权重确定模块420,用于根据上述存储节点的可用容量,确定上述存储节点的第一权重,其中,上述可用容量和上述第一权重正相关;选择模块430,用于根据上述存储节点的第一权重,上述多个存储节点中确定用于处理目标存储请求的目标存储节点。
应当理解,图4中所示装置400的各个模块可以与参考图2描述的方法200中的各个步骤相对应。由此,上面针对方法200描述的操作、特征和优点同样适用于装置400及其所包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
在可选的实施例中,选择模块430还用于:采用加权轮询算法,从上述多个存储节点中确定目标存储节点。
在可选的实施例中,装置400还包括队列维护模块(未示出),用于:将第一权重小于预设的第一权重阈值的存储节点放入不可用节点队列,将请求失败率大于预设的失败率阈值的存储节点放入惩罚节点队列,将上述不可用队列和上述惩罚队列之外的存储节点放入可用节点队列。选择模块430还用于:从上述可用节点队列的存储节点中确定上述目标存储节点。
在可选的实施例中,队列维护模块还用于:对于上述惩罚节点队列中的存储节点,在上述存储节点的存放时长达到预设的第一惩罚时长的情况下,将上述存储节点从上述惩罚节点队列转移至上述可用节点队列,同时将上述存储节点的第一权重赋值为预设的最小第一权重。
在可选的实施例中,队列维护模块还用于:对于从上述惩罚节点队列转移至上述可用节点队列的存储节点,按照预设方式逐步恢复上述存储节点的第一权重。
在可选的实施例中,获取模块410还用于:接收上述存储节点上报的第一可用容量;接收调度服务定时获取的上述存储节点的第二可用容量;将上述第一可用容量和上述第二可用容量中时间最新者确定为上述存储节点的可用容量。
在可选的实施例中,上述目标存储节点包括多个磁盘。装置400还包括存储模块(未示出),用于:获取上述磁盘的磁盘容量;根据上述磁盘的磁盘容量,确定上述磁盘的第二权重,其中,上述磁盘权重和上述第二权重正相关;根据上述磁盘的第二权重,从上述多个磁盘中确定用于处理目标存储请求的目标磁盘。
在可选的实施例中,存储模块还用于:将第二权重小于预设的第二权重阈值的磁盘放入不可用磁盘队列,将磁盘的输入输出错误率大于预设的错误率阈值的存储节点放入惩罚磁盘队列,将上述不可用队列和上述惩罚队列之外的存储节点放入可用磁盘队列;以及,从上述可用磁盘队列中的磁盘中确定上述目标磁盘。
在可选的实施例中,存储模块还用于:对于上述惩罚磁盘队列中的磁盘,在上述磁盘的存放时长达到预设的第二惩罚时长的情况下,将上述磁盘从上述惩罚磁盘队列转移至上述可用磁盘队列,同时将上述磁盘的第二权重赋值为预设的最小第二权重。
在可选的实施例中,存储模块还用于:对于从上述惩罚磁盘队列转移至上述可用磁盘队列的磁盘,按照预设方式逐步恢复上述磁盘的第二权重。
在可选的实施例中,上述存储集群为纠删码存储集群。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。参见图5,现将描述可以作为本公开的服务器或客户端的电子设备500的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。设备500中的多个部件连接至I/O接口505,包括:输入单元706,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如存储集群的管理方法。例如,在一些实施例中,存储集群的管理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的存储集群的管理方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行存储集群的管理方法。
结合本文公开的方面所描述的各种说明性逻辑、逻辑块、模块、电路和算法过程可以实现为电子硬件、计算机软件或两者的组合。硬件和软件的可互换性已经在功能方面进行了一般性描述,并且在上述各种说明性组件、块、模块、电路和过程中进行了说明。这种功能是以硬件还是软件实现取决于特定的应用和对整个系统的设计限制。
用于实现结合本文公开的方面所描述的各种说明性逻辑、逻辑块、模块和电路的硬件和数据处理装置可以用通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或被设计成执行本文所描述的功能的其任意组合来实现或执行。通用处理器可以是微处理器或任何常规处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、一个或多个与DSP内核结合的微处理器、或者任何其他这样的配置。在一些方面中,特定的过程和方法可以由特定于给定功能的电路来执行。
在一个或多个方面,所描述的功能可以在硬件、数字电子电路、计算机软件、固件(包括本说明书中公开的结构及其等同结构)或其任意组合中实现。本说明书中所描述的主题的方面也可以实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,该一个或多个计算机程序被编码在计算机存储介质上用于由数据处理装置执行或控制数据处理装置的操作。
如果以软件实现,该功能可以作为一个或多个指令或代码存储或传输到计算机可读介质上。本文公开的方法或算法的过程可以在处理器可执行的软件模块中实现,该软件模块可以驻留在计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括能够将计算机程序从一个地方传送到另一个地方的任何介质。存储介质可以是可由计算机访问的任何可用介质。作为示例而非限制,此计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备,或者可以用于以指令或数据结构的形式存储所需的程序代码并且可以由计算机访问的任何其他介质。此外,任何连接都可以被恰当地称为计算机可读介质。本文使用的盘(Disk)和盘(disc)包括高密度光盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光光盘,其中盘(Disk)通常磁性地复制数据,而盘(disc)用激光光学地复制数据。以上的组合也应该包括在计算机可读介质的范围内。附加地,方法或算法的操作可以作为机器可读介质和计算机可读介质上的代码和指令的一个或任意组合或集合,其可以被结合到计算机程序产品中。
本公开中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、设备实施例、计算机可读存储介质实施例、以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (15)

1.一种存储集群的管理方法,所述存储集群包括多个存储节点,所述方法包括:
获取所述存储节点的可用容量;
根据所述存储节点的可用容量,确定所述存储节点的第一权重,其中,所述可用容量和所述第一权重正相关;
根据所述存储节点的第一权重,从所述多个存储节点中确定用于处理目标存储请求的目标存储节点。
2.根据权利要求1所述的方法,其中,所述根据所述存储节点的第一权重,从所述多个存储节点中确定用于处理目标存储请求的目标存储节点,包括:
采用加权轮询算法,从所述多个存储节点中确定目标存储节点。
3.根据权利要求1所述的方法,其中,所述方法还包括:
维护存储节点队列,包括:将第一权重小于预设的第一权重阈值的存储节点放入不可用节点队列,将请求失败率大于预设的失败率阈值的存储节点放入惩罚节点队列,将所述不可用队列和所述惩罚队列之外的存储节点放入可用节点队列;以及
所述根据所述存储节点的第一权重,从所述多个存储节点中确定用于处理目标存储请求的目标存储节点,包括:
从所述可用节点队列的存储节点中确定所述目标存储节点。
4.根据权利要求3所述的方法,其中,所述维护存储节点队列还包括:
对于所述惩罚节点队列中的存储节点,在所述存储节点的存放时长达到预设的第一惩罚时长的情况下,将所述存储节点从所述惩罚节点队列转移至所述可用节点队列,同时将所述存储节点的第一权重赋值为预设的最小第一权重。
5.根据权利要求4所述的方法,其中,所述维护存储节点队列还包括:
对于从所述惩罚节点队列转移至所述可用节点队列的存储节点,按照预设方式逐步恢复所述存储节点的第一权重。
6.根据权利要求1所述的方法,其中,所述获取所述存储节点的可用容量,包括:
接收所述存储节点上报的第一可用容量;
接收调度服务定时获取的所述存储节点的第二可用容量;
将所述第一可用容量和所述第二可用容量中时间最新者确定为所述存储节点的可用容量。
7.根据权利要求1所述的方法,其中,所述目标存储节点包括多个磁盘;以及
在所述根据所述存储节点的第一权重,所述多个存储节点中确定用于处理目标存储请求的目标存储节点之后,所述方法还包括:
所述目标存储节点处理本次请求,包括:获取所述磁盘的磁盘容量;根据所述磁盘的磁盘容量,确定所述磁盘的第二权重,其中,所述磁盘权重和所述第二权重正相关;根据所述磁盘的第二权重,从所述多个磁盘中确定用于处理目标存储请求的目标磁盘。
8.根据权利要求7所述的方法,其中,所述目标存储节点处理本次请求,还包括:
维护磁盘队列,包括:将第二权重小于预设的第二权重阈值的磁盘放入不可用磁盘队列,将磁盘的输入输出错误率大于预设的错误率阈值的存储节点放入惩罚磁盘队列,将所述不可用队列和所述惩罚队列之外的存储节点放入可用磁盘队列;以及
所述从所述多个磁盘中确定用于处理目标存储请求的目标磁盘,包括:
从所述可用磁盘队列中的磁盘中确定所述目标磁盘。
9.根据权利要求8所述的方法,其中,所述维护磁盘队列还包括:
对于所述惩罚磁盘队列中的磁盘,在所述磁盘的存放时长达到预设的第二惩罚时长的情况下,将所述磁盘从所述惩罚磁盘队列转移至所述可用磁盘队列,同时将所述磁盘的第二权重赋值为预设的最小第二权重。
10.根据权利要求9所述的方法,其中,所述维护磁盘队列还包括:
对于从所述惩罚磁盘队列转移至所述可用磁盘队列的磁盘,按照预设方式逐步恢复所述磁盘的第二权重。
11.根据权利要求1-10中任一项所述的方法,其中,所述存储集群为纠删码存储集群。
12.一种存储集群的管理装置,所述存储集群包括多个存储节点,所述装置包括:
获取模块,用于获取所述存储节点的可用容量;
权重确定模块,用于根据所述存储节点的可用容量,确定所述存储节点的第一权重,其中,所述可用容量和所述第一权重正相关;
选择模块,用于根据所述存储节点的第一权重,所述多个存储节点中确定用于处理目标存储请求的目标存储节点。
13.一种计算机程序产品,包括程序代码指令,当所述程序产品由计算机执行时,所述程序代码指令使所述计算机执行权利要求1-11中的至少一项所述的方法。
14.一种存储有计算机指令的非暂时性计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-11中的至少一项所述的方法。
15.一种电子设备,包括:
处理器,
与所述处理器进行电子通信的存储器;以及
指令,所述指令存储在所述存储器中并且可由所述处理器执行以使所述电子设备执行根据权利要求1-11中的至少一项所述的方法。
CN202310560428.0A 2023-05-17 2023-05-17 存储集群的管理方法、装置、存储介质及电子设备 Pending CN116737068A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310560428.0A CN116737068A (zh) 2023-05-17 2023-05-17 存储集群的管理方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310560428.0A CN116737068A (zh) 2023-05-17 2023-05-17 存储集群的管理方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN116737068A true CN116737068A (zh) 2023-09-12

Family

ID=87903566

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310560428.0A Pending CN116737068A (zh) 2023-05-17 2023-05-17 存储集群的管理方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN116737068A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117880553A (zh) * 2024-03-13 2024-04-12 济南浪潮数据技术有限公司 流媒体存储方法、系统、服务器、电子设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117880553A (zh) * 2024-03-13 2024-04-12 济南浪潮数据技术有限公司 流媒体存储方法、系统、服务器、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN110808922B (zh) 一种消息处理方法、装置、存储介质及电子设备
CN109960573B (zh) 一种基于智能感知的跨域计算任务调度方法及系统
CN116737068A (zh) 存储集群的管理方法、装置、存储介质及电子设备
US10417062B2 (en) Method and apparatus of unloading out of memory processing flow to user space
CN112272102B (zh) 边缘网络业务卸载和调度方法及装置
CN104243405A (zh) 一种请求处理方法、装置及系统
CN113434294A (zh) 一种数据处理方法、计算机设备以及可读存储介质
CN113923397B (zh) 会议室设备的状态检测方法、装置、电子设备和存储介质
CN112600878A (zh) 一种数据传输方法及装置
CN115580882A (zh) 动态网络切片资源分配方法及装置、存储介质及电子设备
CN114844809B (zh) 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置
CN116467082A (zh) 一种基于大数据的资源分配方法及系统
CN112887407B (zh) 用于分布式集群的作业流量控制方法和装置
CN112416568A (zh) 音视频转码任务的时长预估方法和时长预估装置
CN112118314A (zh) 负载均衡方法和装置
CN116566805A (zh) 一种面向体系容灾抗毁的节点跨域调度方法、装置
CN113448738B (zh) 服务器可用度调整方法、装置、设备及存储介质
CN114978998B (zh) 一种流量控制方法、装置、终端及存储介质
CN112054926B (zh) 集群管理方法、装置、电子设备及存储介质
CN111639003B (zh) 一种负载处理能力监测方法及系统
CN103297926B (zh) 专网中的群组寻呼方法及基站
CN117714410A (zh) 截图资源的部署方法、装置、存储介质及电子设备
WO2020155538A1 (zh) 视频处理方法、系统、计算机设备及存储介质
CN111625375A (zh) 帐号预约方法和装置、存储介质及电子设备
CN113392984B (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