CN115834587A - 一种选择目标存储服务器的方法、装置及电子设备 - Google Patents

一种选择目标存储服务器的方法、装置及电子设备 Download PDF

Info

Publication number
CN115834587A
CN115834587A CN202211232765.9A CN202211232765A CN115834587A CN 115834587 A CN115834587 A CN 115834587A CN 202211232765 A CN202211232765 A CN 202211232765A CN 115834587 A CN115834587 A CN 115834587A
Authority
CN
China
Prior art keywords
target
switch
storage
storage server
storage servers
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
CN202211232765.9A
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202211232765.9A priority Critical patent/CN115834587A/zh
Publication of CN115834587A publication Critical patent/CN115834587A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种选择目标存储服务器的方法、装置及电子设备,用于解决现有选择目标存储服务器未考虑真实组网情况的问题。该方法包括从至少一个候选交换机中确定出目标交换机,并获取挂载在目标交换机下的P个第一存储服务器,再从P个第一存储服务器中筛选满足目标容量区间的第一存储服务器作为第二存储服务器,然后基于每个第二存储服务器各自的性能指标,计算每个第二存储服务器各自对应的选择概率值,响应于所有第二存储服务器的数量大于等于Q,基于每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为所述目标存储服务器。基于上述方法考虑交换机的亲和度,有效避免跨交换机数据写入,减少组网宽带,以及数据传输延时。

Description

一种选择目标存储服务器的方法、装置及电子设备
技术领域
本申请涉及分布式存储技术领域,尤其涉及一种选择目标存储服务器的方法、装置及电子设备。
背景技术
随着分布式存储技术的发展,分布式存储用于存储海量的数据,分布式存储的硬件设备主要涉及元数据服务器和数据存储服务器,其中,元数据服务器用于统一管理数据存储服务器。
具体地,响应于用户写入数据,元数据服务器通过选择数据存储服务器以实现数据的存储以及各数据存储服务器之间的负载均衡。详细来说,现有技术基于数据存储服务器的存储空间利用率、内存使用率和中央处理器(英文:Central Processing Unit,简称:CPU)使用率,来选择用于存储数据的数据存储服务器。换言之,现有技术在选择数据存储服务器的过程主要是考虑其硬件资源亲和性,即储空间利用率、内存使用率和CPU使用率,而没有考虑到真实网络环境的组网情况。
例如,参见图1,若按硬件资源亲和性的排序为:数据存储服务器1、数据存储服务器4、数据存储服务器2、数据存储服务器3,则响应于选择两个目标存储服务器,基于现有技术,将数据存储服务器1和数据存储服务器4作为目标存储服务器。容易推断地,在图1中,核心交换机Switch-a至数据存储服务器1和数据存储服务器4分别需要经过不同的堆叠交换机,而经过多个不同堆叠交换机的过程将增长数据读写过程的时延。
鉴于此,现有技术在应用到真实网络环境时,因其没有考虑到具体组网情况,导致选择出的目标存储服务器存在局限性,即由于流量全网分发,造成读写数据延时过大等的问题。
发明内容
本申请提供一种选择目标存储服务器的方法、装置及电子设备,用以解决现有选择目标存储服务器未考虑真实组网情况,导致选择出的目标存储服务器存在局限性,即由于流量全网分发,造成读写数据延时过大等的问题。
第一方面,本申请提供了一种选择目标存储服务器的方法,所述方法包括:
从至少一个候选交换机中确定出目标交换机,并获取挂载在所述目标交换机下的P个第一存储服务器;其中,P为大于0的整数;
在所述P个第一存储服务器中,筛选满足目标容量区间的第一存储服务器作为第二存储服务器;其中,所述第二存储服务器的容量阈值处于所述目标容量区间内,所述容量阈值表征所述第二存储服务器的剩余容量;
基于每个第二存储服务器各自的性能指标,计算所述每个第二存储服务器各自对应的选择概率值;其中,所述选择概率值表征所述第二存储服务器为目标存储服务器的概率;
响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为所述目标存储服务器;其中,Q为所述目标存储服务器的当前需求数目。
通过上述方法,可以将客户端的Q份待写入子数据写入选中的目标存储服务器中,由于选中的目标存储服务器挂载于同一目标交换机下,因此有效避免跨交换机数据写入,进而也就减少组网宽带,以及数据传输延时。此外,上述方法考虑存储服务器在组网中的情况,对于一个目标交换机来说,如果下面挂载有足够多满足条件的存储服务器,那么才进一步基于存储服务器的性能来进行选择,这样能够提高整个分布式存储的性能,减少网络风暴,有效保证各个数据存储服务器的负载均衡。
在一种可能的设计中,所述从至少一个候选交换机中确定出目标交换机,包括:响应于初次选择目标交换机,从至少一个候选交换机中选择挂载有客户端的候选交换机作为目标交换机;响应于切换所述目标交换机,从所述至少一个候选交换机中,选取与切换前的目标交换机距离最近的候选交换机,作为切换后的目标交换机。
通过上述方法,一方面选择挂载有客户端的候选作为目标交换机,另一方面选取距离切换前的目标交换机最近的候选交换机作为目标交换机,这两种方式都综合考虑到组网真实情况,进而有效减少整个组网宽带、减轻核心交换机的压力,以避免流量全网分发,造成数据传输延时。
在一种可能的设计中,所述在所述P个第一存储服务器中,筛选满足目标容量区间的第一存储服务器作为第二存储服务器,包括:获取当前的目标容量区间;响应于所述P个第一存储服务器各自的容量阈值都小于所述目标容量区间,调整所述P个第一存储服务器各自的容量阈值,并对所述目标交换机进行切换;响应于存在第一存储服务器的容量阈值大于或等于所述目标容量区间,筛选容量阈值大于或等于所述目标容量区间的第一存储服务器作为所述目标存储服务器。
通过上述方法,设计目标容量区间用以区别挂载在同一目标交换机下的P个第一存储服务器,这样有助于保证各个存储服务器的剩余容量保持在同一个区间,即保证其负载均衡。
在一种可能的设计中,所述基于每个第二存储服务器各自的性能指标,计算所述每个第二存储服务器各自对应的选择概率值,包括:获取每个第二存储服务器的带宽利用率、内存利用率以及CPU利用率;基于所述带宽利用率、所述内存利用率、所述CPU利用率以及预设权重系数,计算所述每个第二存储服务器各自对应的选择概率值。
通过上述方法,在考虑分布式存储组网环境的基础上,进一步考虑存储服务器的剩余容量和CPU使用率、内存使用率、带宽流量等性能指标,不仅实现交换机的亲和性,避免了存储系统中的网络风暴,还实现了存储服务器各种硬件属性的负载均衡,继而提升整个分布式存储的效率。
在一种可能的设计中,所述响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为目标存储服务器,包括:响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器的选择概率值,针对所有第二存储服务器降序排列,得到排列次序;按照所述排列次序,选取前Q个第二存储服务器作为所述目标存储服务器。
通过上述方法,基于选择概率值进行选择,能够在保证各交换机之间的亲和性的基础上,保证组网中各个存储服务器的负载均衡。
在一种可能的设计中,在所述计算所述每个第二存储服务器各自对应的选择概率值之后,还包括:响应于所有第二存储服务器的数量小于Q,将所有第二存储服务器都作为所述目标存储服务器;在Q的基础上,减去所有第二存储服务器的数量,得到更新后的Q;在得到更新后的Q后,对所述目标交换机进行切换。
通过上述方法,能够有效确保N+M份待写入子数据的分布式存储以实现交换机的亲和性,使得核心交换机不再是整个分布式存储集群性能瓶颈,进一步还解决当数据恢复时,跨交换机读取数据导致时延长的问题。
在一种可能的设计中,所述对所述目标交换机进行切换,包括:响应于切换所述目标交换机,确定出当前未切换作所述目标交换机的单个或多个候选交换机;计算所述单个或多个候选交换机各自与切换前的目标交换机之间的距离;选取最小距离所对应的候选交换机,作为切换后的目标交换机。
通过上述方法,有效保证选择出的目标存储器具有如下关系:挂载于同一目标交换机或相邻目标交换机下,进而保证选取出的目标存储服务器之间的亲和性,避免流量的全网转发导致数据读写时延高。
在一种可能的设计中,在所述从至少一个候选交换机中确定出目标交换机之前,还包括:接收目标数据的写入请求,并基于所述写入请求,切分所述目标数据为N份切分数据;其中,N为大于0的整数;基于所述N份切分数据,计算所述目标数据的M份冗余数据;其中,M为大于0且小于N的整数;计算N叠加M的和值为Q,生成用于选择Q个目标存储服务器的目标指令;基于所述目标指令,从至少一个候选交换机中确定出目标交换机。
通过上述方法,更好为数据存储提供容灾方案,且有效解决通用存储多副本策略存在容量浪费的问题。
第二方面,本申请提供了一种选择目标存储服务器的装置,所述装置包括:
获取模块,从至少一个候选交换机中确定出目标交换机,并获取挂载在所述目标交换机下的P个第一存储服务器;其中,P为大于0的整数;
筛选模块,在所述P个第一存储服务器中,筛选满足目标容量区间的第一存储服务器作为第二存储服务器;其中,所述第二存储服务器的容量阈值处于所述目标容量区间内,所述容量阈值表征所述第二存储服务器的剩余容量;
计算模块,基于每个第二存储服务器各自的性能指标,计算所述每个第二存储服务器各自对应的选择概率值;其中,所述选择概率值表征所述第二存储服务器为目标存储服务器的概率;
选取模块,响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为所述目标存储服务器;其中,Q为所述目标存储服务器的当前需求数目。
在一种可能的设计中,所述从至少一个候选交换机中确定出目标交换机,所述获取模块,具体用于:响应于初次选择目标交换机,从至少一个候选交换机中选择挂载有客户端的候选交换机作为目标交换机;响应于切换所述目标交换机,从所述至少一个候选交换机中,选取与切换前的目标交换机距离最近的候选交换机,作为切换后的目标交换机。
在一种可能的设计中,所述在所述P个第一存储服务器中,筛选满足目标容量区间的第一存储服务器作为第二存储服务器,所述筛选模块,具体用于:获取当前的目标容量区间;响应于所述P个第一存储服务器各自的容量阈值都小于所述目标容量区间,调整所述P个第一存储服务器各自的容量阈值,并对所述目标交换机进行切换;响应于存在第一存储服务器的容量阈值大于或等于所述目标容量区间,筛选容量阈值大于或等于所述目标容量区间的第一存储服务器作为所述目标存储服务器。
在一种可能的设计中,所述基于每个第二存储服务器各自的性能指标,计算所述每个第二存储服务器各自对应的选择概率值,所述计算模块,具体用于:获取每个第二存储服务器的带宽利用率、内存利用率以及CPU利用率;基于所述带宽利用率、所述内存利用率、所述CPU利用率以及预设权重系数,计算所述每个第二存储服务器各自对应的选择概率值。
在一种可能的设计中,所述响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为目标存储服务器,所述选取模块,具体用于:响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器的选择概率值,针对所有第二存储服务器降序排列,得到排列次序;按照所述排列次序,选取前Q个第二存储服务器作为所述目标存储服务器。
在一种可能的设计中,在所述计算所述每个第二存储服务器各自对应的选择概率值之后,所述计算模块,还用于:响应于所有第二存储服务器的数量小于Q,将所有第二存储服务器都作为所述目标存储服务器;在Q的基础上,减去所有第二存储服务器的数量,得到更新后的Q;在得到更新后的Q后,对所述目标交换机进行切换。
在一种可能的设计中,所述对所述目标交换机进行切换,所述筛选模块或所述计算模块,还用于:响应于切换所述目标交换机,确定出当前未切换作所述目标交换机的单个或多个候选交换机;计算所述单个或多个候选交换机各自与切换前的目标交换机之间的距离;选取最小距离所对应的候选交换机,作为切换后的目标交换机。
在一种可能的设计中,在所述从至少一个候选交换机中确定出目标交换机之前,所述获取模块,还用于:接收目标数据的写入请求,并基于所述写入请求,切分所述目标数据为N份切分数据;其中,N为大于0的整数;基于所述N份切分数据,计算所述目标数据的M份冗余数据;其中,M为大于0且小于N的整数;计算N叠加M的和值为Q,生成用于选择Q个目标存储服务器的目标指令;基于所述目标指令,从至少一个候选交换机中确定出目标交换机。
第三方面,本申请提供了一种电子设备,所述电子设备包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现上述的一种选择目标存储服务器方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种选择目标存储服务器方法步骤。
上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面或第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
图1为本申请提供的一种交换机组网的示意图之一;
图2为本申请提供的一种存储系统的示意图;
图3为本申请提供的一种选择目标存储服务器的方法的流程图;
图4为本申请提供的一种交换机组网的示意图之二;
图5a为本申请提供的一种确定目标交换机的示意图之一;
图5b为本申请提供的一种确定目标交换机的示意图之二;
图5c为本申请提供的一种筛选容量区间阈值的示意图之一;
图5d为本申请提供的一种筛选容量区间阈值的示意图之二;
图5e为本申请提供的一种计算选择概率值的示意图;
图5f为本申请提供的一种选择目标存储服务器的示意图;
图6a为本申请提供的一种选择目标存储服务器的方案的示意图之一;
图6b为本申请提供的一种选择目标存储服务器的方案的示意图之二;
图6c为本申请提供的一种选择目标存储服务器的方案的示意图之三;
图6d为本申请提供的一种选择目标存储服务器的方案的示意图之四;
图6e为本申请提供的一种选择目标存储服务器的方案的示意图之五;
图6f为本申请提供的一种选择目标存储服务器的方案的示意图之六;
图6g为本申请提供的一种选择目标存储服务器的方案的示意图之七;
图6h为本申请提供的一种选择目标存储服务器的方案的示意图之八;
图6i为本申请提供的一种选择目标存储服务器的方案的示意图之九;
图7为本申请提供的一种选择目标存储服务器的装置的示意图;
图8为本申请提供的一种电子设备的结构的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。
在本申请的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。A与B连接,可以表示:A与B直接连接和A与B通过C连接这两种情况。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本申请实施例提供的方案涉及分布式存储技术,本申请实施例提供的方案可应用于存储系统的电子设备。例如,该电子设备可以是存储系统中的元数据服务器(英文:CephMetaData Server,简称:MDS),当然该电子设备也可以是在存储系统中新增加的服务器,这里只是对本方案应用的主体进行示例性说明,不对其进行具体地限定,只要该方案可以应用在具有计算能力的设备上即可。
下面以本方案应用在存储系统的元数据服务器为例,对本方案进行示例性说明。
如图2所示,为本申请实施例提供的一种存储系统的示意图,在该系统中,可以包括交换机(英文:Switch)、元数据服务器、数据存储服务器(英文:Data Network,简称:DN)以及客户端(英文:Software Development Kit,简称:SDK)服务器。
在图2中,交换机之间通过核心交换机连接在一起,组成一个完整的、整体逻辑集中而物理上分散的存储系统。而元数据服务器、数据存储服务器和客户端服务器则挂载在交换机下,通过网络相互连接。
具体来说,元数据服务器用于响应整个存储系统(如:分布式存储集群)的元数据请求,内部维护整个存储系统元数据的镜像,同时负责数据存储服务器的管理和负责均衡,以维护集群中所有文件的信息。数据存储服务器用于完成客户端服务器发送过来的用户数据的真实写入,以将数据持久化写入到存储介质(如:数据存储服务器)中,并周期性向管理节点上报数据块状态,此外数据存储服务器还要管理存储介质,进而实现存储介质的负载均衡。客户端服务器是分布式存储的入口,用于给用户提供一套类似于标准文件系统的文件接口。
值得说明的是,本申请实施例基于上述存储系统,主要应用于分布式存储集群的应用场景,尤其针对视频监控行业,即写多读少的应用场景,用以解决通用存储多副本策略造成存储资源容量的浪费问题,同时管理存储介质以保证存储介质的负载均衡。
为便于本领域技术人员更好理解本申请的设计思路,下面针对通用存储多副本策略作如下示例性阐述。
一方面,通用存储多副本策略涉及存储资源容量的浪费。响应于客户端服务器发送的用户数据的真实写入,需要将这些数据持久化写入到数据存储服务器中。以写入单份用户数据为例,为了保证数据持久化写入以及避免单台数据存储服务器故障,通常会针对单份用户数据进行备份,然后将单份用户数据以及备份数据存储到不同的数据存储服务器中。这种方式虽然可以保证数据的持久性,但随着数据存储量的增多,存储资源的需求缺口将更大,即存在存储容量资源浪费的问题。
另一方面,通用存储多副本策略涉及存储介质的负载均衡以及读写数据的效率。针对单份用户数据以及备份数据,需要选择两台数据存储服务器,现有技术主要基于硬件资源的亲和性来选择数据存储服务器。其中,硬件资源的亲和性主要与数据鵆服务器自身的硬件性能相关,因此这样最终选择的数据存储服务器在组网中可能具有相对较长的路径距离。换言之,这种方式会增长数据写入过程的时延,即虽然实现负载均衡,但是却带来时延的增加,进而降低了读写数据的效率。
鉴于此,本申请提供了一种选择目标存储服务器的方法,用以解决上述问题,该方法的具体实施流程参见图3所示,包括:
步骤301:从至少一个候选交换机中确定出目标交换机,并获取挂载在所述目标交换机下的P个第一存储服务器;
其中,P为大于0的整数。
可选地,在执行步骤301之前,本申请实施例还将接收目标数据的写入请求,并基于写入请求,将目标数据切分为N份切分数据,N为大于0的整数,然后基于N份切分数据,计算目标数据的M份冗余数据,M为大于0且小于N的整数,再计算N叠加M的和值为Q,生成用于选择Q个目标存储服务器的目标指令,并基于生成的目标指令,从至少一个候选交换机中确定出目标交换机。
值得说明的是,上述将目标数据切分为N份切分数据,并计算M份冗余数据,得到Q=N+M份子数据用于共同表征目标数据,这种切分和计算的方式涉及纠删码(英文:ErasureCode,简称:EC)。纠删码是一种前向错误纠正技术(英文:Forward Error Correction,简称:FEC),其主要应用在网络传输中以避免包的丢失,尤其是应用在分布式存储系统用以保证存储的可靠性。
详细来说,纠删码作为一种编码技术,下面简要阐述其编码方式,例如,针对n份原始数据,基于纠删码可以为其增加m份数据,进而能通过n+m份中的任意n份数据,还原为原始数据,即如果有任意小于等于m份的数据失效,仍然能通过剩下的数据还原出来。因此,相较通用存储多副本策略,纠删码能够以更小的数据冗余度获得更高的数据可靠性。
示例性地,基于本申请实施例图2所示的存储系统,响应于客户端服务器发送的目标数据的写入请求,对目标数据进行切割,得到N份切分数据,然后根据N+M的纠删码算法计算出目标数据的M份冗余数据,进而得到Q=N+M份待写入子数据。然后,针对这Q份待写入子数据,生成用于请求选择Q个目标存储服务器的目标指令,并将目标请求发送给元数据服务器,以使得元数据服务器基于接收的目标请求,选择出Q个数据存储服务器作为Q个目标存储服务器,以完成Q份待写入子数据的写入。
值得说明的是,元数据存储服务器会根据选择策略,来选择Q个数据存储服务器。进一步地,由于数据存储服务器需要完成最终数据的写入,所以如果数据存储服务器选择不当,那么将造成数据存储服务器的负载和容量不均衡,进而导致一个文件N+M份数据跨交换机存储,造成流量全网分发,即数据存储服务器的选择策略至关重要。
本申请实施例中,针对元数据存储服务器,响应于选择Q个目标存储服务器,从若干数据存储服务器中选择出Q个作为目标存储服务器。而数据存储服务器一般挂载在交换机下,在这里,首先统计所有挂载有数据存储服务器的交换机各自至元数据存储服务器的路径信息,并计算各个数据存储服务器在组网内的位置信息,然后将挂载有未被遍历过的数据存储服务器的交换机作为候选交换机,将挂载的数据服务器都被遍历过的交换机作为目标交换机。
举例来说,如图4所示,针对四个候选交换机:堆叠交换机SwitchG、堆叠交换机SwitchF、堆叠交换机SwitchD、堆叠交换机SwitchC,统计这四个候选交换机至核心交换机SwitchA的路径信息,此外,上述每个候选交换机都关联一个存储服务器列表,以堆叠交换机SwitchC为例,其关联的存储服务器列表记录挂载在堆叠交换机SwitchC下的所有数据存储服务器(简称:存储服务器),以及各个存储服务器各自的容量阈值。
进一步地,本申请实施例中主要针对目标交换机下挂载的数据存储服务器进行遍历,因此,在这里选择目标交换机的情况可以分为如下两种。
情况一,响应于初次选择目标交换机,从至少一个候选交换机中选择挂载有客户端的候选交换机作为目标交换机。
示例性地,如图5a所示,在选择3个目标存储服务器的条件下,若存在四个候选交换机:堆叠交换机SwitchG、堆叠交换机SwitchF、堆叠交换机SwitchD、堆叠交换机SwitchC,则将挂载有客户端服务器的堆叠交换机SwitchC作为初次的目标交换机。
情况二,响应于切换目标交换机,从至少一个候选交换机中,选取与切换前的目标交换机距离最近的候选交换机,作为切换后的目标交换机。
示例性地,如图5b所示,在选择3个目标存储服务器的条件下,若堆叠交换机SwitchC为切换前的目标交换机,则存在三个候选交换机:堆叠交换机SwitchG、堆叠交换机SwitchF、堆叠交换机SwitchD。基于此,首先获取核心交换机SwitchA分别至堆叠交换机SwitchG、堆叠交换机SwitchF、堆叠交换机SwitchD、堆叠交换机SwitchC之间的路径,可以得到如下表1所示的四条路径。
Figure BDA0003881667920000121
Figure BDA0003881667920000131
表1
基于表1,需要从堆叠交换机SwitchG、堆叠交换机SwitchF、堆叠交换机SwitchD中,选取与堆叠交换机SwitchC距离最近的候选交换机,由于路径1至路径2的距离最近,因此,选取堆叠交换机SwitchD作为切换后的目标交换机。换言之,元数据服务器在接收到Q个数据存储服务器进行BLOCK读写时,若涉及单个交换机下挂载满足条件的数据存储服务器的数量小于Q,则将基于交换机之间的距离,选取同一路径长度的同层次距离最近的交换机。
综上,在确定出目标交换机后,便需要获取挂载在目标交换机下的所有数据存储服务器,在本申请实施例中,以P个第一存储服务器来表示。
步骤302:在所述P个第一存储服务器中,筛选满足目标容量区间的第一存储服务器作为第二存储服务器;
其中,第二存储服务器的容量阈值处于所述目标容量区间内,容量阈值表征第二存储服务器的剩余容量。
在本申请实施例中,一个目标交换机下可以挂载有若干第一存储服务器,每个第一存储服务器的当前剩余容量是存在差异的,甚至于有些第一存储服务器已经满负载了,因此还需要基于各个第一存储服务器的当前剩余容量来对第一服务器进行筛选。在这里,以容量阈值来表征各个第一存储服务器的当前剩余容量,并将容量阈值处于目标容量区间的第一存储服务器作为满足容量条件的第二存储服务器。
值得说明的是,目标容量区间的取值可以发生变化,其可以基于实际情况任意设定,也可以按照一定规律从预设的容量区间集合获取到的区间。
例如,预设置容量区间集合为:{(5%~10%],(10%~30%],(30%~50%],(50%~70%],(70%~90%],(90%~100%]},其中,具体数值可以根据实际应用情况来进行设置,且容量区间集合中的容量区间之间不存在交集。在此,设置选取目标容量区间的规则为,按照数值降序选择,即首次选择(90%~100%],若涉及目标容量区间的调整,则选择(70%~90%],以此类推。
在解释完目标容量区间的选择和用途后,下面结合两种方式来阐述从目标交换机下挂载的P个第一存储服务器中选取第二存储服务器的过程,当然,下述两种方式成立的前提都是获取到当前的目标容量区间。
方式一,响应于P个第一存储服务器各自的容量阈值都小于目标容量区间,调整P个第一存储服务器各自的容量阈值,并对所述目标交换机进行切换。
示例性地,如图5c所示,当前目标容量区间为“第一容量区间”,基于目标交换机1对应的存储服务器列表,可以得到挂载在目标交换机1下的各个第一存储服务器的容量阈值。进一步地,基于图5c,若各个第一存储服务器的容量阈值都不属于第一容量区间,则对当前的目标交换机1进行切换,目标交换1为图5c中的堆叠交换机SwitchC,进而从剩下的候选交换机中选择与堆叠交换机SwitchC距离最近的堆叠交换机SwitchD作为切换后的目标交换机2。
进一步地,若目标交换机2下挂载的所有第一存储服务器的容量阈值也都不属于第一容量区间,则需要对目标容量区间进行调整,即将目标区间调整为“第二容量区间”,再将目标交换机2下挂载的所有第一存储服务器的容量阈值与第二容量区间进行比较。
方式二,响应于存在第一存储服务器的容量阈值大于或等于目标容量区间,筛选容量阈值大于或等于目标容量区间的第一存储服务器作为目标存储服务器。
示例性地,如图5d所示,当前目标容量区间为“第一容量区间”,基于目标交换机1对应的存储服务器列表,其中,若目标交换机1下的四个第一存储服务器(存储服务器1、存储服务器2、存储服务器3、存储服务器4)的容量阈值都属于第一容量区间,则将这四个第一存储服务器作为满足目标容量区间的第二存储服务器。
基于上述两种方式,可以保证针对当前目标交换机所选取出的第二存储服务器的当前剩余容量满足存储待存储子数据的要求。
步骤303:基于每个第二存储服务器各自的性能指标,计算所述每个第二存储服务器各自对应的选择概率值;
为了实现存储介质的负载均衡,提高存储系统的性能,在本申请实施例中,还将基于每个第二存储服务器的性能指标,来计算每个第二存储服务器各自对应的选择概率值,即第二存储服务器为目标存储服务器的概率。
具体地,以单个第二存储服务器为例,其性能指标包括但不限于:网卡宽带利用率、内存利用率以及CPU利用率,此外,针对每个性能指标都预设置相应的权重系数。可选地,各个性能指标实时更新,或周期性更新;权重系数基于存储服务器的异构硬件资源的相关特性进行设置,以及各个权重系数之和为1。
更为详细地,单个第二存储服务器对应的选择概率值,可以基于如下公式计算得到。
wi=p1*(1-ethi)+p2*(1-memi)+p3*(1-cpui)
其中,wi为第i个第二存储服务器,p1、p2、p3为权重系数,ethi为第i个第二存储服务器的网卡宽带利用率,memi为第i个第二存储服务器的内存利用率,cpui为第i个第二存储服务器的CPU利用率。
示例性地,如图5e所示,其中,“存储服务器1、存储服务器2、存储服务器3、存储服务器4”都是满足目标容量区间的第二存储服务器,采用上述公式可以计算得到其各自的选择概率值,依次对应为“W1、W2、W3、W4”。
步骤304:响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为所述目标存储服务器。
值得说明的是,当前目标交换机筛选出的第二存储服务器的数量大于等于Q时,才能执行本步骤。
在本步骤的执行过程中,首先获取每个第二存储服务器的选择概率值,然后基于选择概率值的大小,按降序规则,对相应第二存储服务器进行排列,得到排列次序,然后再将排列次序中的前Q个第二存储服务器作为目标存储服务器。
示例性地,如图5f所示,这里有三个第二存储服务器,分别是:存储服务器1、存储服务器2、存储服务器4,根据上述第二存储服务器各自的选择概率值对其进行排序,将选择概率值最大的排在前面,可以得到排列次序为:存储服务器2、存储服务器1、存储服务器4。在图5f中,因为前提条件是选择3个目标存储服务器,因此,在这里可以将这三个第二存储服务器都作为目标存储服务器。
值得说明的是,若图5f的前提条件是选择2个目标存储服务器,则选取排列靠前的两个第二存储服务器,即,存储服务器2和存储服务器1,作为目标存储服务器。
通过上述方法,可以将客户端的Q份待写入子数据写入选中的目标存储服务器中,由于选中的目标存储服务器挂载于同一目标交换机下,因此有效避免跨交换机数据写入,进而也就减少组网宽带,以及数据传输延时。
进一步地,针对当前目标交换机筛选出的第二存储服务器的数量小于Q的情况,便可以直接将所有第二存储服务器都作为目标存储服务器,然后在Q的基础上,减去上述所有第二存储服务器的数量,得到更新后的Q,并在得到更新后的Q后,对目标交换机进行切换,其切换思想参见图5c及其文字说明,在此不做重复赘述。
另外,值得说明的是,本申请实施例重点描述写入数据的场景,但本领域技术人员当知,本申请实施例同样适用于读入数据的场景。
综上所述,本申请实施例所提供的技术方案,至少可以达到如下的技术效果:
1、本申请实施例提出一种针对挂载在同一目标交换机下的存储服务器的选择方案,不仅考虑存储服务器的剩余容量和CPU使用率、内存使用率、带宽流量等负载及性能指标,也考虑其真实分布式存储组网环境,不仅实现交换机的亲和性,避免了存储系统中的网络风暴,还实现了存储服务器各种硬件属性的负载均衡,继而提升整个分布式存储的效率。
2、本申请实施例所提供的一种存储服务器的选择方案应用在存储系统的集群规模增加的场景下,使得核心交换机不再是整个分布式存储集群性能瓶颈,且有效确保N+M份待写入子数据的分布式存储以实现交换机的亲和性,进一步还解决当数据恢复时,跨交换机读取数据导致时延长的问题。
此外,为便于本领域技术人员更好理解本申请实施例所提供的技术方案,下面还结合图6a~图6i,针对本申请实施例中涉及切换目标交换机的情况,示例性地提出一种较为完整的选择目标存储服务器的具体实现方案。
值得说明的是,该实现方案用于从若干候选存储服务器中选择出示例性的3个目标存储服务器,且元数据服务器统计出各个挂载有数据存储服务器的交换机至核心交换机之间的路径信息,以及前述交换机对应的存储服务器列表。
1、确定目标交换机1;
如图6a所示,候选交换机为挂载有存储服务器的交换机,包括:堆叠交换机SwitchG、堆叠交换机SwitchF、堆叠交换机SwitchD、堆叠交换机SwitchC,首次选取挂载有SDK客户端的堆叠交换机SwitchC作为目标交换机1。这种设计同样出于对于设备亲和度的考虑,SDK客户端写入数据时,针对数据作纠删码操作,得到Q份待写入子数据,然后向元数据存储服务器发送请求Q个存储服务器以完成数据的写入,因此,首先选择挂载有SDK客户端的堆叠交换机SwitchC作为目标交换机1,是出于对组网真实情况的考虑和选择,这样能有效减少整个组网宽带、减轻核心交换机的压力,以避免流量全网分发。
2、筛选容量区间阈值1;
如图6b所示,为了保证各个存储服务器之间的负载均衡,因此预设有容量区间阈值的集合{(90%~100%],(70%~90%],(50%~70%],(30%~50%],(10%~30%],(5%~10%]},且默认初始的目标容量区间为(90%~100%]。在这里,还可以获取到目标交换机1对应的存储服务器列表,该表包括挂载在目标交换机1下的各个存储服务器及其当前的容量阈值,然后,将该表中各个存储服务器的容量阈值分别与目标容量区间进行比较,参见图6b可知,针对目标交换机1,没有存储服务器的容量阈值处于(90%~100%],对于此,便需要切换目标交换机1,即重新确定目标交换机2。
3、确定目标交换机2;
如图6c所示,由于堆叠交换机SwitchC作为目标交换机1,其挂载的存储服务器也被遍历过了,因此候选交换机还包括:堆叠交换机SwitchG、堆叠交换机SwitchF、堆叠交换机SwitchD。在这里,基于预统计的路径信息,参见图6c可知,堆叠交换机SwitchD距离堆叠交换机SwitchC最近,因此本次将堆叠交换机SwitchD确定为目标交换机2。此外,值得注意的是,这里切换的目标交换机2为与目标交换机1距离核心交换机为同一路径长度的同层次交换机。
4、筛选容量区间阈值2;
如图6d所示,首先确定当前的目标容量区间(90%~100%],然后再获取目标交换机2对应的存储服务器列表,将该表中各个存储服务器的容量阈值分别与目标容量区间进行比较,参见图6d可知,针对目标交换机1,没有存储服务器的容量阈值处于(90%~100%],而由于本次涉及一次目标交换机的切换,即目标交换机1和目标交换机2各自都没有挂载有满足目标容量区间的存储服务器,基于此,需要针对目标容量区间进行调整。
5、筛选容量区间阈值3;
如图6e所示,调整目标容量区间的过程基于预设有容量区间阈值的集合,可以得到调整后的目标容量区间为(70%~90%]。然后,再将目标交换机2对应的存储服务器列表中的各个存储服务器的容量阈值与目标容量区间进行比较,参见图6e可知,针对目标交换机2,存在存储服务器1的容量阈值处于(70%~90%]。因为只有一个存储服务器1满足目标容量区间的条件,因此可以直接将存储服务器1作为目标存储服务器,但即便如此也还需要选择2个目标存储服务器,所以需要继续切换目标交换机2,即重新确定目标交换机3。
6、确定目标交换机3;
如图6f所示,由于堆叠交换机SwitchC作为目标交换机1,堆叠交换机SwitchD作为目标交换机2,他们挂载的存储服务器也被遍历过了,因此候选交换机还包括:堆叠交换机SwitchG、堆叠交换机SwitchF。在这里,基于预统计的路径信息,参见图6f可知,堆叠交换机SwitchD距离堆叠交换机SwitchF最近,因此本次将堆叠交换机SwitchF确定为目标交换机3。
7、筛选容量区间阈值4;
如图6g所示,首先确定当前的目标容量区间(70%~90%],然后再获取目标交换机3对应的存储服务器列表,将该表中各个存储服务器的容量阈值分别与目标容量区间进行比较,参见图6g可知,针对目标交换机3,存在有存储服务器1、存储服务器2、存储服务器3的容量阈值处于(70%~90%]。换言之,存在3个存储服务器都是满足目标容量区间的,但是当前只需要选择2个目标存储服务器,因此,在此基于其各自的硬件性能指标计算器各自的选择概率值,以作为其被选择为目标存储服务器的可能性。
8、计算选择概率值;
如图6h所示,选择概率值的计算基于各个存储服务器的网卡宽带利用率、内存利用率以及CPU利用率,以及相应的权重系数。若计算出的选择概率值越大,则表征相应存储服务器的硬件性能指标更优,即选择为目标存储服务器的概率也就越大;若计算出的选择概率值越小,则表征相应存储服务器的硬件性能指标更差,即选择为目标存储服务器的概率也就越小。参见图6h可知,存储服务器1计算的选择概率值为W1,存储服务器2计算的选择概率值为W2,存储服务器3计算的选择概率值为W3
9、选择目标存储服务器。
如图6i所示,据前面步骤已知目标交换机2下挂载的存储服务器1已经被选择为目标存储服务器,现需要从目标交换机3下挂载的3个满足目标容量区间的存储服务器中选择出2个目标存储服务器,针对其计算出的选择概率值,进行排序得到:W2>W1>W3,选择排序靠前的2个选择概率值对应的存储服务器作为目标存储服务器,即挂载在目标交换机3下的存储服务器2以及存储服务器1,至此,也就确定出3个目标存储服务器。
综上所述,最终选择出的3个目标存储器之间的关系遵循如下原则:挂载于同一目标交换机或相邻目标交换机下,这有效保证这3个目标存储服务器的亲和性,避免流量的全网转发导致数据读写时延高;此外,在对挂载于同一目标交换机下的存储服务器进行选择时,除了首要考虑其是否满足目标容量区间,即满足负载均衡的要求,还进一步考虑其硬件属性的负载均衡,即通过计算其选择概率值来筛选最终的目标存储服务器,有效减少组网宽带。
基于同一发明构思,本申请还提供了一种选择目标存储服务器的装置,解决现有选择目标存储服务器未考虑真实组网情况,导致选择出的目标存储服务器存在局限性,即由于流量全网分发,造成读写数据延时过大等的问题,参见图7,该装置包括:
获取模块701,从至少一个候选交换机中确定出目标交换机,并获取挂载在所述目标交换机下的P个第一存储服务器;其中,P为大于0的整数;
筛选模块702,在所述P个第一存储服务器中,筛选满足目标容量区间的第一存储服务器作为第二存储服务器;其中,所述第二存储服务器的容量阈值处于所述目标容量区间内,所述容量阈值表征所述第二存储服务器的剩余容量;
计算模块703,基于每个第二存储服务器各自的性能指标,计算所述每个第二存储服务器各自对应的选择概率值;其中,所述选择概率值表征所述第二存储服务器为目标存储服务器的概率;
选取模块704,响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为所述目标存储服务器;其中,Q为所述目标存储服务器的当前需求数目。
在一种可能的设计中,所述从至少一个候选交换机中确定出目标交换机,所述获取模块701,具体用于:响应于初次选择目标交换机,从至少一个候选交换机中选择挂载有客户端的候选交换机作为目标交换机;响应于切换所述目标交换机,从所述至少一个候选交换机中,选取与切换前的目标交换机距离最近的候选交换机,作为切换后的目标交换机。
在一种可能的设计中,所述在所述P个第一存储服务器中,筛选满足目标容量区间的第一存储服务器作为第二存储服务器,所述筛选模块702,具体用于:获取当前的目标容量区间;响应于所述P个第一存储服务器各自的容量阈值都小于所述目标容量区间,调整所述P个第一存储服务器各自的容量阈值,并对所述目标交换机进行切换;响应于存在第一存储服务器的容量阈值大于或等于所述目标容量区间,筛选容量阈值大于或等于所述目标容量区间的第一存储服务器作为所述目标存储服务器。
在一种可能的设计中,所述基于每个第二存储服务器各自的性能指标,计算所述每个第二存储服务器各自对应的选择概率值,所述计算模块703,具体用于:获取每个第二存储服务器的带宽利用率、内存利用率以及CPU利用率;基于所述带宽利用率、所述内存利用率、所述CPU利用率以及预设权重系数,计算所述每个第二存储服务器各自对应的选择概率值。
在一种可能的设计中,所述响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为目标存储服务器,所述选取模块704,具体用于:响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器的选择概率值,针对所有第二存储服务器降序排列,得到排列次序;按照所述排列次序,选取前Q个第二存储服务器作为所述目标存储服务器。
在一种可能的设计中,在所述计算所述每个第二存储服务器各自对应的选择概率值之后,所述计算模块703,还用于:响应于所有第二存储服务器的数量小于Q,将所有第二存储服务器都作为所述目标存储服务器;在Q的基础上,减去所有第二存储服务器的数量,得到更新后的Q;在得到更新后的Q后,对所述目标交换机进行切换。
在一种可能的设计中,所述对所述目标交换机进行切换,所述筛选模块或所述计算模块703,还用于:响应于切换所述目标交换机,确定出当前未切换作所述目标交换机的单个或多个候选交换机;计算所述单个或多个候选交换机各自与切换前的目标交换机之间的距离;选取最小距离所对应的候选交换机,作为切换后的目标交换机。
在一种可能的设计中,在所述从至少一个候选交换机中确定出目标交换机之前,所述获取模块701,还用于:接收目标数据的写入请求,并基于所述写入请求,切分所述目标数据为N份切分数据;其中,N为大于0的整数;基于所述N份切分数据,计算所述目标数据的M份冗余数据;其中,M为大于0且小于N的整数;计算N叠加M的和值为Q,生成用于选择Q个目标存储服务器的目标指令;基于所述目标指令,从至少一个候选交换机中确定出目标交换机。
基于上述装置,用以将客户端的Q份待写入子数据写入选中的目标存储服务器中,由于选中的目标存储服务器挂载于同一目标交换机下,因此有效避免跨交换机数据写入,进而也就减少组网宽带,以及数据传输延时。
基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备可以实现前述一种选择目标存储服务器的装置的功能,参考图8,所述电子设备包括:
至少一个处理器801,以及与至少一个处理器801连接的存储器802,本申请实施例中不限定处理器801与存储器802之间的具体连接介质,图8中是以处理器801和存储器802之间通过总线800连接为例。总线800在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线800可以分为地址总线、数据总线、控制总线等,为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器801也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器802存储有可被至少一个处理器801执行的指令,至少一个处理器801通过执行存储器802存储的指令,可以执行前文论述的选择目标存储服务器方法。处理器801可以实现图7所示的装置中各个模块的功能。
其中,处理器801是该装置/系统的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器802内的指令以及调用存储在存储器802内的数据,该装置/系统的各种功能和处理数据,从而对该装置/系统进行整体监控。
在一种可能的设计中,处理器801可包括一个或多个处理单元,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。在一些实施例中,处理器801和存储器802可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的选择目标存储服务器方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器802可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置/系统,用于存储程序指令和/或数据。
通过对处理器801进行设计编程,可以将前述实施例中介绍的选择目标存储服务器方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图3所示的实施例的选择目标存储服务器方法的步骤。如何对处理器801进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述选择目标存储服务器方法。
在一些可能的实施方式中,本申请提供的选择目标存储服务器方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的选择目标存储服务器方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置/系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (11)

1.一种选择目标存储服务器的方法,其特征在于,所述方法包括:
从至少一个候选交换机中确定出目标交换机,并获取挂载在所述目标交换机下的P个第一存储服务器;其中,P为大于0的整数;
在所述P个第一存储服务器中,筛选满足目标容量区间的第一存储服务器作为第二存储服务器;其中,所述第二存储服务器的容量阈值处于所述目标容量区间内,所述容量阈值表征所述第二存储服务器的剩余容量;
基于每个第二存储服务器各自的性能指标,计算所述每个第二存储服务器各自对应的选择概率值;其中,所述选择概率值表征所述第二存储服务器为目标存储服务器的概率;
响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为所述目标存储服务器;其中,Q为所述目标存储服务器的当前需求数目。
2.如权利要求1所述的方法,其特征在于,所述从至少一个候选交换机中确定出目标交换机,包括:
响应于初次选择目标交换机,从至少一个候选交换机中选择挂载有客户端的候选交换机作为目标交换机;
响应于切换所述目标交换机,从所述至少一个候选交换机中,选取与切换前的目标交换机距离最近的候选交换机,作为切换后的目标交换机。
3.如权利要求1所述的方法,其特征在于,所述在所述P个第一存储服务器中,筛选满足目标容量区间的第一存储服务器作为第二存储服务器,包括:
获取当前的目标容量区间;
响应于所述P个第一存储服务器各自的容量阈值都小于所述目标容量区间,调整所述P个第一存储服务器各自的容量阈值,并对所述目标交换机进行切换;
响应于存在第一存储服务器的容量阈值大于或等于所述目标容量区间,筛选容量阈值大于或等于所述目标容量区间的第一存储服务器作为所述目标存储服务器。
4.如权利要求1所述的方法,其特征在于,所述基于每个第二存储服务器各自的性能指标,计算所述每个第二存储服务器各自对应的选择概率值,包括:
获取每个第二存储服务器的带宽利用率、内存利用率以及CPU利用率;
基于所述带宽利用率、所述内存利用率、所述CPU利用率以及预设权重系数,计算所述每个第二存储服务器各自对应的选择概率值。
5.如权利要求1所述的方法,其特征在于,所述响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为目标存储服务器,包括:
响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器的选择概率值,针对所有第二存储服务器降序排列,得到排列次序;
按照所述排列次序,选取前Q个第二存储服务器作为所述目标存储服务器。
6.如权利要求1所述的方法,其特征在于,在所述计算所述每个第二存储服务器各自对应的选择概率值之后,还包括:
响应于所有第二存储服务器的数量小于Q,将所有第二存储服务器都作为所述目标存储服务器;
在Q的基础上,减去所有第二存储服务器的数量,得到更新后的Q;
在得到更新后的Q后,对所述目标交换机进行切换。
7.如权利要求3或6所述的方法,其特征在于,所述对所述目标交换机进行切换,包括:
响应于切换所述目标交换机,确定出当前未切换作所述目标交换机的单个或多个候选交换机;
计算所述单个或多个候选交换机各自与切换前的目标交换机之间的距离;
选取最小距离所对应的候选交换机,作为切换后的目标交换机。
8.如权利要求1-6任一项所述的方法,其特征在于,在所述从至少一个候选交换机中确定出目标交换机之前,还包括:
接收目标数据的写入请求,并基于所述写入请求,切分所述目标数据为N份切分数据;其中,N为大于0的整数;
基于所述N份切分数据,计算所述目标数据的M份冗余数据;其中,M为大于0且小于N的整数;
计算N叠加M的和值为Q,生成用于选择Q个目标存储服务器的目标指令;
基于所述目标指令,从至少一个候选交换机中确定出目标交换机。
9.一种选择目标存储服务器的装置,其特征在于,所述装置包括:
获取模块,从至少一个候选交换机中确定出目标交换机,并获取挂载在所述目标交换机下的P个第一存储服务器;其中,P为大于0的整数;
筛选模块,在所述P个第一存储服务器中,筛选满足目标容量区间的第一存储服务器作为第二存储服务器;其中,所述第二存储服务器的容量阈值处于所述目标容量区间内,所述容量阈值表征所述第二存储服务器的剩余容量;
计算模块,基于每个第二存储服务器各自的性能指标,计算所述每个第二存储服务器各自对应的选择概率值;其中,所述选择概率值表征所述第二存储服务器为目标存储服务器的概率;
选取模块,响应于所有第二存储服务器的数量大于等于Q,基于所述每个第二存储服务器各自对应的选择概率值,选取Q个第二存储服务器作为所述目标存储服务器;其中,Q为所述目标存储服务器的当前需求数目。
10.一种电子设备,其特征在于,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-8中任一项所述的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法步骤。
CN202211232765.9A 2022-10-10 2022-10-10 一种选择目标存储服务器的方法、装置及电子设备 Pending CN115834587A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211232765.9A CN115834587A (zh) 2022-10-10 2022-10-10 一种选择目标存储服务器的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211232765.9A CN115834587A (zh) 2022-10-10 2022-10-10 一种选择目标存储服务器的方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN115834587A true CN115834587A (zh) 2023-03-21

Family

ID=85524497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211232765.9A Pending CN115834587A (zh) 2022-10-10 2022-10-10 一种选择目标存储服务器的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN115834587A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234428A (zh) * 2023-11-09 2023-12-15 苏州元脑智能科技有限公司 一种分布式存储系统的数据管理方法、装置及设备和介质
CN117389469A (zh) * 2023-09-21 2024-01-12 华南理工大学 一种互联网数据存储方法、装置、系统和介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389469A (zh) * 2023-09-21 2024-01-12 华南理工大学 一种互联网数据存储方法、装置、系统和介质
CN117234428A (zh) * 2023-11-09 2023-12-15 苏州元脑智能科技有限公司 一种分布式存储系统的数据管理方法、装置及设备和介质
CN117234428B (zh) * 2023-11-09 2024-02-09 苏州元脑智能科技有限公司 一种分布式存储系统的数据管理方法、装置及设备和介质

Similar Documents

Publication Publication Date Title
CN108780386B (zh) 一种数据存储的方法、装置和系统
JP4464279B2 (ja) 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法
CN115834587A (zh) 一种选择目标存储服务器的方法、装置及电子设备
US20190163371A1 (en) Next generation storage controller in hybrid environments
US10165048B2 (en) Data copy storage method, terminal apparatus, and server apparatus
US11416166B2 (en) Distributed function processing with estimate-based scheduler
US10616134B1 (en) Prioritizing resource hosts for resource placement
US10740198B2 (en) Parallel partial repair of storage
US20150332191A1 (en) Reducing costs related to use of networks based on pricing heterogeneity
US8504595B2 (en) De-duplication for a global coherent de-duplication repository
CN109582213A (zh) 数据重构方法及装置、数据存储系统
US20220179585A1 (en) Management of Idle Time Compute Tasks in Storage Systems
CN110825704B (zh) 一种读数据方法、写数据方法及服务器
CN107133228A (zh) 一种数据重分布的方法及装置
CN111399761B (zh) 存储资源分配方法、装置及设备、存储介质
WO2024021470A1 (zh) 一种跨区域的数据调度方法、装置、设备及存储介质
CN112748862A (zh) 用于管理盘的方法、电子设备和计算机程序产品
US10254973B2 (en) Data management system and method for processing distributed data
US11223675B2 (en) Hash data structure biasing
CN117931512A (zh) 基于云存储的自适应容错方法、装置、设备以及存储介质
US10241878B2 (en) System and method of data allocation providing increased reliability of storage
CN114442910A (zh) 管理存储系统的方法、电子设备和计算机程序产品
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
CN114237985B (zh) 修复纠删码存储系统中失效存储块的方法及相关设备
KR102212108B1 (ko) 스토리지 오케스트레이션의 학습형 최적화 대상 볼륨 선정 방법

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