CN116827947B - 一种分布式对象存储调度方法和系统 - Google Patents
一种分布式对象存储调度方法和系统 Download PDFInfo
- Publication number
- CN116827947B CN116827947B CN202311107415.4A CN202311107415A CN116827947B CN 116827947 B CN116827947 B CN 116827947B CN 202311107415 A CN202311107415 A CN 202311107415A CN 116827947 B CN116827947 B CN 116827947B
- Authority
- CN
- China
- Prior art keywords
- object storage
- storage cluster
- weight
- user
- nodes
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 4
- 238000013210 evaluation model Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于分布式对象存储技术领域,提供一种分布式对象存储调度方法和系统,该方法包括:接收现有节点发送的保活消息,并根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息;调度中心收集相关所有节点的内部负载信息,计算各对象存储集群的内部权重;在接收用户侧的当前请求时,计算各对象存储集群的用户侧负载权重;根据所计算的各对象存储集群的内部权重和所计算的各对象存储集群的用户侧负载权重,计算总权重,以选择与当前请求最适配的对象存储集群,并向相应客户端返回响应信息。本发明解决了现有分布式对象存储系统的负载不均衡问题,能够有效调度存储节点的负载能力。
Description
技术领域
本发明涉及分布式对象存储技术领域,具体涉及一种分布式对象存储调度方法和系统。
背景技术
传统的分布式对象存储服务是部署在单台物理机上,随着业务量访问的逐渐上升,同时会带来以下问题:1)分布式对象存储服务存在单点故障,导致负载不均衡;2)单台部署存在性能瓶颈;3)无法根据业务量实时调整资源,容易造成资源浪费,也不能提供更及时有效的存储调度服务。
此外,相关技术中,为了提升对象存储系统的性能并且分摊系统节点的访问压力,一个对象存储系统通常会有多个节点组成(分布式对象存储系统),若用户的存储请求采用简单的办法进行分发,容易造成某个节点访问压力过大的情况,严重时可能会造成节点的瘫痪;若只是采用简单的轮询或者最近原则,也容易造成某些热门地区的节点访问量过多。因此多节点之间的负载均衡和智能调度就需要额外的系统进行支撑。
因此,有必要提供一种分布式对象存储调度方法,能够解决上述问题。
发明内容
本发明意在提供一种分布式对象存储调度方法和系统,以解决现有技术中分布式对象存储服务存在单点故障导致的负载不均衡,无法根据业务量实时调整资源、容易造成资源浪费,无法根据业务量实时调整资源而容易造成资源浪费,也不能提供更及时有效的存储调度服务,某些处于热门地点的集群负载过高导致存储压力过大,选择距离太远的节点导致上传/下载速度过慢导致用户的存储体验差等的技术问题,本发明要解决的技术问题通过以下技术方案来实现。
本发明第一方面提出一种分布式对象存储调度方法,包括:接收现有节点发送的保活消息,并根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息;调度中心收集相关所有节点的内部负载信息,计算各对象存储集群的内部权重;在接收用户侧的当前请求时,计算各对象存储集群的用户侧负载权重;根据所计算的各对象存储集群的内部权重和所计算的各对象存储集群的用户侧负载权重,计算总权重,以选择与当前请求最适配的对象存储集群,并向相应客户端返回响应信息。
根据可选的实施方式,所述根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息,包括:在通过智能网关接收到新节点的心跳信息时,更新所有节点的节点信息,其中,每一个保存节点对应一个对象存储集群,每个对象存储集群包括与多个服务器相对应的保存子节点;所述节点信息包括内部权重、用户侧负载权重。
根据可选的实施方式,所述根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息,包括:在现有节点下线或突发断线时,更新对象存储集群的内部负载信息,并更新除了下线或突发断线的现有节点之外的剩余节点的节点信息,其中,每一个保存节点对应一个对象存储集群,每个对象存储集群包括与多个服务器相对应的保存子节点;所述节点信息包括内部权重、用户侧负载权重。
根据可选的实施方式,所述调度中心收集相关所有节点的内部负载信息,使用以下表达式(1)计算各对象存储集群的内部权重,包括:
(1)
其中,Weight1i表示对象存储集群中所有影响因素的内部权重;W11为当前对象存储集群的Cpu使用量的权重系数;UsedCpu表示当前对象存储集群的Cpu使用量;CpuTotal表示所有集群的Cpu总量;W12为当前对象存储集群的网络IO负载情况的权重系数;IO表示当前对象存储集群的网络IO速度;BandWidth表示所有集群总宽带的传输速度;W13表示当前对象存储集群的磁盘使用情况的权重系数;UsedSize表示当前对象存储集群的磁盘总使用量;Capacity表示所有集群的磁盘总容量;W14表示当前对象存储集群的内存使用情况的权重系数;UsedRam表示当前对象存储集群的内存使用量;RamTotal表示所有集群的内存使用总量; LinkNum代表当前对象存储集群中接收到的连接请求总数,而LinkTotal则表示当前对象存储集群的最大所能够容忍的连接数量;W1i表示当前对象存储集群中第i个影响因素的权重系数,该权重系数W1i可根据业务重心的不同自由调整,并且也可增加网络流量或其他项影响因素。
根据可选的实施方式,当用户与调度中心连接且发送对象存储请求时,调度中心计算用户侧负载权重,具体根据用户请求的IP和地点,使用以下表达式(3)计算该用户和各对象存储集群的物理距离和连接耗时的用户侧负载权重:
(3)
其中,Weight2j表示当用户与调度中心连接且发送对象存储请求时,该用户与各对象存储集群的用户侧负载权重;W21表示该用户和各对象存储集群的连接耗时的用户侧负载权重;W22表示该用户和各对象存储集群的物理距离的用户侧负载权重;W2j表示第j个影响因素的用户侧负载权重,j为正整数,根据实际情况可添加的用户请求急缓程度或其它的用户侧负载信息;其中,time表示该用户和各对象存储集群的连接耗时,单位为秒;distance该用户和各对象存储集群的物理距离,单位为km,在1km-1000km,且Weight2j和Weight1i的单位保持数量级一致。
根据可选的实施方式,在接收到用户发送对象存储请求时,采用以下表达式(4)计算总权重Weight总:
(4)
其中,m表示对象存储集群中所有影响因素的内部侧的优先系数;Weight1i表示对象存储集群中所有影响因素的内部权重,具体根据业务应用场景参数确定m的数值;h表示用户侧的优先系数,具体根据业务应用场景参数确定h的数值;Weight2j表示当用户与调度中心连接且发送对象存储请求时,该用户与各对象存储集群的用户侧负载权重。
根据可选的实施方式, m和 h满足表达式(5):
m+h=1(5)。
根据可选的实施方式,进一步包括:在接收到用户发送对象存储请求时,先更新所有节点的节点信息并计算用户侧负载权重之后,再采用表达式(4)计算总权重Weight总。
根据可选的实施方式,根据所计算的总权重,对各对象存储集群的节点进行排序,以选择与当前请求最适配的服务器,并向相应客户端返回可存储地址。
本发明第二方面提供一种分布式对象存储调度系统,其用于执行本发明所述的分布式对象存储调度方法,所述分布式对象存储调度系统包括:接收处理模块,接收现有节点发送的保活消息,并根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息;第一计算模块,调度中心收集相关所有节点的内部负载信息,计算各对象存储集群的内部权重;第二计算模块,在接收用户侧的当前请求时,计算各对象存储集群的用户侧负载权重;确定响应模块,根据所计算的各对象存储集群的内部权重和所计算的各对象存储集群的用户侧负载权重,计算总权重,以选择与当前请求最适配的对象存储集群,并向相应客户端返回响应信息。
本发明实施例包括以下优点:
与现有技术相比,本发明通过调度中心采用智能网关通过心跳消息的机制不断收集对象存储集群的各种信息,并根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息以为后续计算提供更精确的数据基础;通过调度中心采用智能网关收集更新后的各对象存储集群的信息,并通过心跳消息的机制不断更新对象存储集群的内部权重,通过计算得到内部权重,能够有效解决现有分布式对象存储系统内因节点数量过多所造成的某个节点(对象存储集群或者与之对应的智能网关)失联/掉线等问题;通过当用户与调度中心连接且发送对象存储请求时,调度中心具体根据用户请求的IP和地点来计算用户侧负载权重,能够有效避免因各对象存储集群的物理距离和连接耗时等因素对调度过程造成的影响,能够精确确定用户侧的信息情况。
此外,本发明的方法综合考虑了分布式对象存储集群的负载信息以及用户侧信息,能够实时确定分布式对象存储集群提供调度服务能力的信息,能够防止某些处于热门地点的集群负载过高导致存储压力过大,能够有效避免因选择距离太远的节点导致上传/下载速度过慢所导致的用户的存储体验差等问题,具体通过综合考虑当前对象存储集群的动态信息(当前磁盘空间剩余容量、CPU/内存占用率等多个影响因素),并且更加注重各对象存储集群的配置信息(CPU核心数/内存大小等),实时精确确定并更新当前对象存储集群的动态负载情况。
附图说明
图1是本发明的分布式对象存储调度方法的一示例的流程图;
图2是应用本发明的分布式对象存储调度方法的一应用场景的一示例的示意图;
图3是图2的另一角度的信息传输示意图;
图4是本发明的分布式对象存储调度系统的一示例的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。在本发明中,以附图中物体的上表面为上表面,以附图中物体的下表面为下表面。仅为了更清楚的说明分布式对象存储调度方法的过程,不能理解成对本发明的限制。下面将参考附图并结合实施例来详细说明本发明。
参照图1至图3,本发明第一方面提供一种分布式对象存储调度方法。该方法综合考虑了分布式对象存储集群的负载信息以及用户侧信息,能够实时确定分布式对象存储集群提供调度服务能力的信息,能够防止某些处于热门地点的集群负载过高导致存储压力过大,能够有效避免因选择距离太远的节点导致上传/下载速度过慢所导致的用户的存储体验差等问题,本发明能够综合考虑当前对象存储集群的动态信息(当前磁盘空间剩余容量、CPU/内存占用率等多个影响因素),并且更加注重各对象存储集群的配置信息(CPU核心数/内存大小等),实时确定并更新当前对象存储集群的动态负载情况,以在接收到用户侧的当前请求(特别是对象存储请求)时,为用户选择与当前请求最适配的对象存储集群,并向相应客户端返回响应信息。
图1是本发明的分布式对象存储调度方法的一示例的流程示意图。图2是应用本发明的分布式对象存储调度方法的一应用场景的一示例的示意图。
在图2的示例中,该应用场景包括客户端、调度中心、多个对象存储集群(具体为对象存储集群A、对象存储集群B和对象存储集群C),每个对象存储集群包括多个服务器(或者与多个服务器对应的多个存储节点,也简称为节点),用于为客户端提供例如存储服务。每个对象存储集群均对应有与调度中心连接的智能网关(具体为与对象存储集群A、对象存储集群B和对象存储集群C对应的智能网关a、智能网关b和智能网关c)。客户端向调度中心发送当前请求(或者用户请求,例如对象存储请求)。调度中心经实时计算,为用户选择与当前请求最适配的对象存储集群,并向相应客户端返回响应信息。
需要说明的是,在其他实施方式中,还可以包括一个对象存储集群、两个对象存储集群、四个对象存储集群或者更多个对象存储集群。本发明的发明特别适用于处于热门地点的集群负载过高、用户侧紧急使用等的应用场景。上述仅作为可选示例进行说明,不能理解成对本发明的限制。
如图1所示,在步骤S101中,接收现有节点发送的保活消息,并根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息。
在图2的示例中,各对象存储集群通过智能网关向调度中心发送保活消息(如图3所示的心跳保活消息),调度中心通过智能网关接收各对象存储集群所发送的保活消息。
具体地,每一个对象存储集群对应一个保存节点,各对象存储集群内的每一个服务器对应一个保存子节点。
在一具体实施方式中,调度中心通过智能网关b接收例如对象存储集群B所对应的现有保存节点(也简称为“现有节点”)的保活消息。
需要说明的是,在本发明中,智能网关负责收集自己负责的对象存储集群的各类内部信息,具体包括对象存储集群的当前网络IO速度、对象存储集群目前各个磁盘的负载情况、当前连接数量等信息,可根据不同业务的需要添加其它的参数信息作为负载的参考。
在一具体实施方式中,智能网关和对象存储集群绑定,负责收集对象存储集群的各类信息,并通过将心跳保活消息上报给调度中心来表征当前存活状态或当前上线状态。
具体地,调度中心用于负责与客户端进行通信,获取当前客户端的具体IP地址与所在区域。调度中心与智能网关通信,其中,智能网关的通信机制为心跳保活消息或心跳消息,调度中心通过智能网关的心跳消息,获取各个对象存储集群的当前负载、链路情况、连接时长、地域位置等各种信息。对象存储集群是调度中心的边缘调度单位,对象存储集群用于负责提供对象存储功能,最终经过调度中心调度后,客户端实际与对象存储集群内的服务器进行信息数据传输,所述信息数据例如为以下数据:(1)日常生活场景:用户的照片、视频、录音等文件;(2)隐私文件场景:用户的工作记录、公司合同等隐私内部文件;(3)影视娱乐场景:各类游戏文件、电影电视剧等影视资料文件;(4)移动备份场景:用户在手机内存储的各类文件,短信、联系人、手机相册等需要备份的文件。
接着,根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息。所述触发条件是用于触发更新处理的条件。具体包括更新对象存储集群的内部负载信息、更新所有节点的节点信息(包括更新保存节点的节点信息、保存子节点的节点信息等)。
具体地,所述节点信息包括内部权重、用户侧负载权重。
在一具体实施方式中,在通过智能网关接收到新节点的心跳信息时(或者如图3所示的“新的对象存储集群加入”),更新所有节点的节点信息,其中,每一个保存节点对应一个对象存储集群,每个对象存储集群包括与多个服务器相对应的保存子节点。
在另一可选实施方式中,在现有节点下线或突发断线时(如图3所示的“现有的对象存储集群下线或断线”),更新对象存储集群的内部负载信息,并更新除了下线或突发断线的现有节点之外的剩余节点的节点信息,其中,每一个保存节点对应一个对象存储集群,每个对象存储集群包括与多个服务器相对应的保存子节点。所述节点信息包括内部权重、用户侧负载权重。
需要说明的是,所述现有节点是指与调度中心连接、且在线的对象存储集群(包括各服务器对应的保存子节点)。上述仅作为可选示例进行说明,不能理解成对本发明的限制。
通过调度中心采用智能网关通过心跳消息的机制不断收集对象存储集群的各种信息,并根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息以为后续计算提供更精确的数据基础。
接下来,在步骤S102中,调度中心收集相关所有节点的内部负载信息,计算各对象存储集群的内部权重。
具体地,调度中心收集相关所有节点的内部负载信息,使用以下表达式(1)计算各对象存储集群的内部权重。例如通过实时收集或按指定频率收集相关所有节点的内部负载信息。
(1)
其中,Weight1i表示对象存储集群中所有影响因素的内部权重;W11为当前对象存储集群的Cpu使用量的权重系数;UsedCpu表示当前对象存储集群的Cpu使用量;CpuTotal表示所有集群的Cpu总量;W12为当前对象存储集群的网络IO负载情况的权重系数;IO表示当前对象存储集群的网络IO速度;BandWidth表示所有集群总宽带的传输速度;W13表示当前对象存储集群的磁盘使用情况的权重系数;UsedSize表示当前对象存储集群的磁盘总使用量;Capacity表示所有集群的磁盘总容量;W14表示当前对象存储集群的内存使用情况的权重系数;UsedRam表示当前对象存储集群的内存使用量;RamTotal表示所有集群的内存使用总量; LinkNum代表当前对象存储集群中接收到的连接请求总数,而LinkTotal则表示当前对象存储集群的最大所能够容忍的连接数量;W1i表示当前对象存储集群中第i个影响因素的权重系数,该权重系数W1i可根据业务重心的不同自由调整,并且也可增加网络流量或其他项影响因素。
需要说明的是,因为对象存储集群内部的权重,各个参数计算都是百分比的形式因此不需要考虑单位的换算,并且W1i可以根据各类业务的实际情况调整,但需满足以下公式:
(2)
其中,、即Weight1i均表示对象存储集群中所有影响因素的内部权重;W1i表示对象存储集群中第i个影响因素的内部权重,i表示对象存储集群中第i个影响因素,i为正整数,且为1、2、...、n。当具体某些参数为0时,表示该对象存储集群不考虑内部当前此负载的影响。
在一具体实施中, i=5,具体如下。
(11)
其中,Weight1i表示对象存储集群中所有影响因素的内部权重; W11为当前对象存储集群的 Cpu使用量的权重系数; UsedCpu表示当前对象存储集群的Cpu使用量;CpuTotal表示所有集群的Cpu总量;W12为当前对象存储集群的网络IO负载情况的权重系数; IO表示当前对象存储集群的网络 IO速度;BandWidth表示所有集群总宽带的传输速度; W13表示当前对象存储集群的磁盘使用情况的权重系数; UsedSize表示当前对象存储集群的磁盘总使用量;Capacity表示所有集群的磁盘总容量; W14表示当前对象存储集群的内存使用情况的权重系数;UsedRam表示当前对象存储集群的内存使用量; RamTotal表示所有集群的内存使用总量; W15表示当前对象存储集群中第个影响因素的权重系数,该影响因素为当前对象存储集群中接收到的连接请求数量与最大所能够容忍的连接数量之间的关系情况; LinkNum代表当前对象存储集群中接收到的连接请求总数,而 LinkTotal则表示当前对象存储集群的最大所能够容忍的连接数量。
需要说明的是,在其他实施方式中,当前对象存储集群不需要考虑磁盘容量的影响,可以更加注重其它方面(比如网络流量等)的影响。此外,对于i的数量没有特别限制,可根据实际需要进行适应性增加。在一示例中,W11、W12、W13、W14、W15均为0.2。但是不限于此。在另一示例中, W11、W12、W13、W14、W15均不相等。
通过调度中心采用智能网关收集更新后的各对象存储集群的信息,并通过心跳消息的机制不断更新对象存储集群的内部权重,通过上述表达式(1)计算得到内部权重,能够有效解决现有分布式对象存储系统内因节点数量过多所造成的某个节点(对象存储集群或者与之对应的智能网关)失联/掉线等问题。
需要说明的是,上述仅作为可选示例进行说明,不能理解成对本发明的限制。
接下来,在步骤S103中,在接收用户侧的当前请求时,计算各对象存储集群的用户侧负载权重。
具体地,当用户与调度中心连接且发送对象存储请求时,调度中心计算用户侧负载权重,具体根据用户请求的IP和地点,使用以下表达式(3)计算该用户和各对象存储集群的物理距离和连接耗时的用户侧负载权重:
(3)
其中,Weight2j表示当用户与调度中心连接且发送对象存储请求时,该用户与各对象存储集群的用户侧负载权重;W21表示该用户和各对象存储集群的连接耗时的用户侧负载权重;W22表示该用户和各对象存储集群的物理距离的用户侧负载权重;W2j表示第j个影响因素的用户侧负载权重,j为正整数,根据实际情况可添加的用户请求急缓程度或其它的用户侧负载信息;其中,time表示该用户和各对象存储集群的连接耗时,单位为秒;distance该用户和各对象存储集群的物理距离,单位为km,在1km-1000km,且Weight2j和Weight1i的单位保持数量级一致。
例如,在通过智能网关c接收用户侧(客户端1)的对象存储请求时,计算各对象存储集群的用户侧负载权重,并计算当前的对象存储集群的内部权重。
具体使用上述表达式,计算得到客户端1的用户侧负载权重(若不考虑和距离的影响,只考虑延迟的影响)Weight2j=1*time/1000。
通过当用户与调度中心连接且发送对象存储请求时,调度中心具体根据用户请求的IP和地点来计算用户侧负载权重,能够有效避免因各对象存储集群的物理距离和连接耗时等因素对调度过程造成的影响,能够精确确定用户侧的信息情况。
需要说明的是,上述仅作为可选示例进行说明,不能理解成对本发明的限制。
接下来,在步骤S104中,根据所计算的各对象存储集群的内部权重和所计算的各对象存储集群的用户侧负载权重,计算总权重,以选择与当前请求最适配的对象存储集群,并向相应客户端返回响应信息。
具体使用以下表达式(4)计算总权重Weight总:
(4)
其中,m表示对象存储集群中所有影响因素的内部侧的优先系数;Weight1i表示对象存储集群中所有影响因素的内部权重,具体根据业务应用场景参数确定m的数值;h表示用户侧的优先系数,具体根据业务应用场景参数确定h的数值;Weight2j表示当用户与调度中心连接且发送对象存储请求时,该用户与各对象存储集群的用户侧负载权重。
其中, m和 h满足权值公式如下:
m+h=1 (5)
接着,在接收到用户发送对象存储请求时,先更新所有节点的节点信息并计算用户侧负载权重之后,再采用表达式(4)计算总权重Weight总。
在一可选的实施方式中,在接收到用户发送对象存储请求时,根据实时确定的对象存储集群的各优先级,确定为用户提供存储服务的优先集合。在使用以下表达式(3)计算该用户和各对象存储集群的物理距离和连接耗时的用户侧负载权重时,使用优先集合中对象存储集群进行计算。
对于对象存储集群,根据统计计算各对象存储集群在指定时间段内的下线次数、下线时间、可提供的存储容量等信息,进行优先提供存储服务的评估计算,例如使用机器学习模型(使用神经网络算法建立评估模型,使用标注有提供存储服务的频率标签的各对象存储集群,建立用于训练评估模型的训练数据集),将各对象存储集群在指定时间段内的下线次数、下线时间、可提供的存储容量转换为特征向量以用作模型输入,输入到训练好的评估模型,输出可提供存储服务的评估值(可提供存储服务的频率),根据所输出的评估值对应配置各对象存储集群的优先系数。
具体根据所确定的各对象存储集群的优先级,对当前在线的所有对象存储集群进行分组,得到为某类用户提供存储服务的优先集合。
此外,根据指定历史时间段内用户发送对象存储请求的次数、所请求的时间等信息数据,绘制历史趋势图,根据历史趋势图确定各用户的优先处理等级及各对应的用户侧的系数。
在一具体实施方式中,先确定用户侧的优先系数h,确定内部侧的优先系数m。例如根据历史趋势图,确定各用户的优先处理等级及各对应的用户侧的优先系数h为0.7,则m等于0.3,即满足m+h=1即可。
在另一实施方式中,先确定内部侧的优先系数m,再确定用户侧的优先系数h,例如实施获取当前用户请求所对应的所有对象存储集群及其相关信息,具体根据所获取的所有对象存储集群中各对象存储集群在指定历史时间段内下线次数、下线时间、可提供的存储容量转换为特征向量以用作模型输入,输入评估模型,得到评估值,并从中确定评估值最大的对象存储集群。再进一步确定所确定的对象存储集群的优先系数。例如,确定优先系数m为0.6,则用户侧的优先系数h为0.4。
接着,根据所计算的总权重,对各对象存储集群的节点进行排序,以选择与当前用户请求最适配的服务器(即最适配的对象存储集群),并向相应客户端返回可存储地址。例如,可存储地址计算负载公式设定为,表示当前更加注重内部侧的负载情况,在此基础上继续设定目前有2个对象存储集群A和B,其中Weight1i=0.7, Weight2j=0.4、 Weight1i=0.8,Weight2j=0.7,那么通过计算得出对象存储集群A的Weight总=0.328,而对象存储集群集群B的 Weight总=0.472;那么通过计算得出最终会选择对象存储集群集群B作为服务器接受用户的请求。
需要说明的是,上述仅作为可选示例进行说明,不能理解成对本发明的限制。
与现有技术相比,本发明通过调度中心采用智能网关通过心跳消息的机制不断收集对象存储集群的各种信息,并根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息以为后续计算提供更精确的数据基础;通过调度中心采用智能网关收集更新后的各对象存储集群的信息,并通过心跳消息的机制不断更新对象存储集群的内部权重,通过计算得到内部权重,能够有效解决现有分布式对象存储系统内因节点数量过多所造成的某个节点(对象存储集群或者与之对应的智能网关)失联/掉线等问题;通过当用户与调度中心连接且发送对象存储请求时,调度中心具体根据用户请求的IP和地点来计算用户侧负载权重,能够有效避免因各对象存储集群的物理距离和连接耗时等因素对调度过程造成的影响,能够精确确定用户侧的信息情况。
此外,本发明的方法综合考虑了分布式对象存储集群的负载信息以及用户侧信息,能够实时确定分布式对象存储集群提供调度服务能力的信息,能够防止某些处于热门地点的集群负载过高导致存储压力过大,能够有效避免因选择距离太远的节点导致上传/下载速度过慢所导致的用户的存储体验差等问题,具体通过综合考虑当前对象存储集群的动态信息(当前磁盘空间剩余容量、CPU/内存占用率等多个影响因素),并且更加注重各对象存储集群的配置信息(CPU核心数/内存大小等),实时精确确定并更新当前对象存储集群的动态负载情况。
下述为本发明系统实施例,本发明第一方面的方法特别适用于本发明的系统。对于本发明系统实施例中未披露的细节,请参照本发明方法实施例。
参照图4,本发明第二方面提供了一种分布式对象存储调度系统400,其用于执行本发明第一方面所述的分布式对象存储调度方法。
所述分布式对象存储调度系统400包括接收处理模块410、第一计算模块420、第二计算模块430和确定响应模块440。
在一具体实施方式中,接收处理模块410用于接收现有节点发送的保活消息,并根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息。第一计算模块420调度中心收集相关所有节点的内部负载信息,计算各对象存储集群的内部权重。第二计算模块430在接收用户侧的当前请求时,计算各对象存储集群的用户侧负载权重。确定响应模块440根据所计算的各对象存储集群的内部权重和所计算的各对象存储集群的用户侧负载权重,计算总权重,以选择与当前请求最适配的对象存储集群,并向相应客户端返回响应信息。
根据可选的实施方式,所述根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息,包括:在通过智能网关接收到新节点的心跳信息时,更新所有节点的节点信息,其中,每一个保存节点对应一个对象存储集群,每个对象存储集群包括与多个服务器相对应的保存子节点;所述节点信息包括内部权重、用户侧负载权重。
根据可选的实施方式,所述根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息,包括:在现有节点下线或突发断线时,更新对象存储集群的内部负载信息,并更新除了下线或突发断线的现有节点之外的剩余节点的节点信息,其中,每一个保存节点对应一个对象存储集群,每个对象存储集群包括与多个服务器相对应的保存子节点;所述节点信息包括内部权重、用户侧负载权重。
根据可选的实施方式,所述调度中心收集相关所有节点的内部负载信息,使用以下表达式(1)计算各对象存储集群的内部权重,包括:
(1)
其中,Weight1i表示对象存储集群中所有影响因素的内部权重;W11为当前对象存储集群的Cpu使用量的权重系数;UsedCpu表示当前对象存储集群的Cpu使用量;CpuTotal表示所有集群的Cpu总量;W12为当前对象存储集群的网络IO负载情况的权重系数;IO表示当前对象存储集群的网络IO速度;BandWidth表示所有集群总宽带的传输速度;W13表示当前对象存储集群的磁盘使用情况的权重系数;UsedSize表示当前对象存储集群的磁盘总使用量;Capacity表示所有集群的磁盘总容量;W14表示当前对象存储集群的内存使用情况的权重系数;UsedRam表示当前对象存储集群的内存使用量;RamTotal表示所有集群的内存使用总量; LinkNum代表当前对象存储集群中接收到的连接请求总数,而LinkTotal则表示当前对象存储集群的最大所能够容忍的连接数量;W1i表示当前对象存储集群中第i个影响因素的权重系数,该权重系数W1i可根据业务重心的不同自由调整,并且也可增加网络流量或其他项影响因素。
根据可选的实施方式,当用户与调度中心连接且发送对象存储请求时,调度中心计算用户侧负载权重,具体根据用户请求的IP和地点,使用以下表达式(3)计算该用户和各对象存储集群的物理距离和连接耗时的用户侧负载权重:
(3)
其中,Weight2j表示当用户与调度中心连接且发送对象存储请求时,该用户与各对象存储集群的用户侧负载权重;W21表示该用户和各对象存储集群的连接耗时的用户侧负载权重;W22表示该用户和各对象存储集群的物理距离的用户侧负载权重;W2j表示第j个影响因素的用户侧负载权重,j为正整数,根据实际情况可添加的用户请求急缓程度或其它的用户侧负载信息;其中,time表示该用户和各对象存储集群的连接耗时,单位为秒;distance该用户和各对象存储集群的物理距离,单位为km,在1km-1000km,且Weight2j和Weight1i的单位保持数量级一致。
根据可选的实施方式,在接收到用户发送对象存储请求时,采用以下表达式(4)计算总权重Weight总:
(4)
其中,m表示对象存储集群中所有影响因素的内部侧的优先系数;Weight1i表示对象存储集群中所有影响因素的内部权重,具体根据业务应用场景参数确定m的数值;h表示用户侧的优先系数,具体根据业务应用场景参数确定h的数值;Weight2j表示当用户与调度中心连接且发送对象存储请求时,该用户与各对象存储集群的用户侧负载权重。
根据可选的实施方式,m和h满足表达式(5):
m+h=1(5)
根据可选的实施方式,进一步包括:在接收到用户发送对象存储请求时,先更新所有节点的节点信息并计算用户侧负载权重之后,再采用表达式(4)计算总权重Weight总。
根据可选的实施方式,根据所计算的总权重,对各对象存储集群的节点进行排序,以选择与当前请求最适配的服务器,并向相应客户端返回可存储地址。
需要说明的是,上述仅作为可选示例进行说明,不能理解成对本发明的限制。
需要说明的是,本发明第一方面的分布式对象存储调度方法的内容与本发明第二方面的分布式对象存储调度方法的内容大致相同,因此省略了相同部分的说明。此外,附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应该指出,上述详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语均具有与本申请所属技术领域的普通技术人员的通常理解所相同的含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本申请的实施方式能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,在这里可以使用空间相对术语,如“在……之上”、“在……上方”、“在……上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其他器件或构造之下”。因而,示例性术语“在……上方”可以包括“在……上方”和“在……下方”两种方位。该器件也可以其他不同方式定位,如旋转90度或处于其他方位,并且对这里所使用的空间相对描述作出相应解释。
在上面详细的说明中,参考了附图,附图形成本文的一部分。在附图中,类似的符号典型地确定类似的部件,除非上下文以其他方式指明。在详细的说明书、附图及权利要求书中所描述的图示说明的实施方案不意味是限制性的。在不脱离本文所呈现的主题的精神或范围下,其他实施方案可以被使用,并且可以作其他改变。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种分布式对象存储调度方法,其特征在于,包括:
接收现有节点发送的保活消息,并根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息;
调度中心收集相关所有节点的内部负载信息,计算各对象存储集群的内部权重;
在接收用户侧的当前请求时,计算各对象存储集群的用户侧负载权重;
根据所计算的各对象存储集群的内部权重和所计算的各对象存储集群的用户侧负载权重,计算总权重,以选择与当前请求最适配的对象存储集群,并向相应客户端返回响应信息。
2.根据权利要求1所述的分布式对象存储调度方法,其特征在于,所述根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息,包括:
在通过智能网关接收到新节点的心跳信息时,更新所有节点的节点信息,其中,
每一个保存节点对应一个对象存储集群,每个对象存储集群包括与多个服务器相对应的保存子节点;
所述节点信息包括内部权重、用户侧负载权重。
3.根据权利要求1所述的分布式对象存储调度方法,其特征在于,所述根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息,包括:
在现有节点下线或突发断线时,更新对象存储集群的内部负载信息,并更新除了下线或突发断线的现有节点之外的剩余节点的节点信息,其中,
每一个保存节点对应一个对象存储集群,每个对象存储集群包括与多个服务器相对应的保存子节点;
所述节点信息包括内部权重、用户侧负载权重。
4.根据权利要求2或3所述的分布式对象存储调度方法,其特征在于,所述调度中心收集相关所有节点的内部负载信息,使用以下表达式(1)计算各对象存储集群的内部权重,包括:
(1)
其中,Weight1i表示对象存储集群中所有影响因素的内部权重,i为正整数;W11为当前对象存储集群的Cpu使用量的权重系数;UsedCpu表示当前对象存储集群的Cpu使用量;CpuTotal表示所有集群的Cpu总量;W12为当前对象存储集群的网络IO负载情况的权重系数;IO表示当前对象存储集群的网络IO速度;BandWidth表示所有集群总宽带的传输速度;W13表示当前对象存储集群的磁盘使用情况的权重系数;UsedSize表示当前对象存储集群的磁盘总使用量;Capacity表示所有集群的磁盘总容量;W14表示当前对象存储集群的内存使用情况的权重系数;UsedRam表示当前对象存储集群的内存使用量;W15表示当前对象存储集群中第五个影响因素的权重系数,该影响因素为当前对象存储集群中接收到的连接请求数量与最大所能够容忍的连接数量之间的关系情况;RamTotal表示所有集群的内存使用总量; LinkNum代表当前对象存储集群中接收到的连接请求总数,而LinkTotal则表示当前对象存储集群的最大所能够容忍的连接数量;W1i表示当前对象存储集群中第i个影响因素的权重系数,该权重系数W1i可根据业务重心的不同自由调整,并且也可增加网络流量或其他项影响因素。
5.根据权利要求4所述的分布式对象存储调度方法,其特征在于,
当用户与调度中心连接且发送对象存储请求时,调度中心计算用户侧负载权重,具体根据用户请求的IP和地点,使用以下表达式(3)计算该用户和各对象存储集群的物理距离和连接耗时的用户侧负载权重:
(3)
其中,Weight2j表示当用户与调度中心连接且发送对象存储请求时,该用户与各对象存储集群的用户侧负载权重;W21表示该用户和各对象存储集群的连接耗时的用户侧负载权重;W22表示该用户和各对象存储集群的物理距离的用户侧负载权重;W2j表示第j个影响因素的用户侧负载权重,j为正整数,根据实际情况可添加的用户请求急缓程度或其它的用户侧负载信息;其中,time表示该用户和各对象存储集群的连接耗时,单位为秒;distance为该用户和各对象存储集群的物理距离,单位为km,在1km-1000km,且Weight2j和Weight1i的单位保持数量级一致。
6.根据权利要求5所述的分布式对象存储调度方法,其特征在于,
在接收到用户发送对象存储请求时,采用以下表达式(4)计算总权重Weight总:
(4)
其中,m表示对象存储集群中所有影响因素的内部侧的优先系数;Weight1i表示对象存储集群中所有影响因素的内部权重,具体根据业务应用场景参数确定m的数值;h表示用户侧的优先系数,具体根据业务应用场景参数确定h的数值;Weight2j表示当用户与调度中心连接且发送对象存储请求时,该用户与各对象存储集群的用户侧负载权重。
7.根据权利要求6所述的分布式对象存储调度方法,其特征在于,
m和h满足表达式(5):
m+h=1(5)。
8.根据权利要求1所述的分布式对象存储调度方法,其特征在于,进一步包括:
在接收到用户发送对象存储请求时,先更新所有节点的节点信息并计算用户侧负载权重之后,再采用表达式(4)计算总权重Weight总。
9.根据权利要求6所述的分布式对象存储调度方法,其特征在于,
根据所计算的总权重,对各对象存储集群的节点进行排序,以选择与当前请求最适配的服务器,并向相应客户端返回可存储地址。
10.一种分布式对象存储调度系统,其特征在于,所述分布式对象存储调度系统包括:
接收处理模块,接收现有节点发送的保活消息,并根据触发条件更新对象存储集群的内部负载信息以更新所有节点的节点信息;
第一计算模块,调度中心收集相关所有节点的内部负载信息,计算各对象存储集群的内部权重;
第二计算模块,在接收用户侧的当前请求时,计算各对象存储集群的用户侧负载权重;
确定响应模块,根据所计算的各对象存储集群的内部权重和所计算的各对象存储集群的用户侧负载权重,计算总权重,以选择与当前请求最适配的对象存储集群,并向相应客户端返回响应信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311107415.4A CN116827947B (zh) | 2023-08-31 | 2023-08-31 | 一种分布式对象存储调度方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311107415.4A CN116827947B (zh) | 2023-08-31 | 2023-08-31 | 一种分布式对象存储调度方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116827947A CN116827947A (zh) | 2023-09-29 |
CN116827947B true CN116827947B (zh) | 2024-01-19 |
Family
ID=88127909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311107415.4A Active CN116827947B (zh) | 2023-08-31 | 2023-08-31 | 一种分布式对象存储调度方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116827947B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385359A (zh) * | 2020-03-05 | 2020-07-07 | 星辰天合(北京)数据科技有限公司 | 对象网关的负载处理方法及装置 |
CN111475282A (zh) * | 2020-03-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种基于客户端的分布式存储负载均衡方法及装置 |
CN111831232A (zh) * | 2020-07-22 | 2020-10-27 | 浙江大华技术股份有限公司 | 数据的存储方法及装置、存储介质和电子装置 |
CN112422611A (zh) * | 2020-09-11 | 2021-02-26 | 深圳市证通电子股份有限公司 | 基于分布式对象存储的虚拟桶存储处理方法和系统 |
CN113672175A (zh) * | 2021-08-09 | 2021-11-19 | 浙江大华技术股份有限公司 | 分布式对象存储方法、装置和设备及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160349993A1 (en) * | 2015-05-29 | 2016-12-01 | Cisco Technology, Inc. | Data-driven ceph performance optimizations |
-
2023
- 2023-08-31 CN CN202311107415.4A patent/CN116827947B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385359A (zh) * | 2020-03-05 | 2020-07-07 | 星辰天合(北京)数据科技有限公司 | 对象网关的负载处理方法及装置 |
CN111475282A (zh) * | 2020-03-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种基于客户端的分布式存储负载均衡方法及装置 |
CN111831232A (zh) * | 2020-07-22 | 2020-10-27 | 浙江大华技术股份有限公司 | 数据的存储方法及装置、存储介质和电子装置 |
CN112422611A (zh) * | 2020-09-11 | 2021-02-26 | 深圳市证通电子股份有限公司 | 基于分布式对象存储的虚拟桶存储处理方法和系统 |
CN113672175A (zh) * | 2021-08-09 | 2021-11-19 | 浙江大华技术股份有限公司 | 分布式对象存储方法、装置和设备及计算机存储介质 |
Non-Patent Citations (2)
Title |
---|
Swift云存储环境下基于I/O的负载均衡算法;边耐政等;计算机工程与应用;全文 * |
边耐政等.Swift云存储环境下基于I/O的负载均衡算法.计算机工程与应用.2014,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN116827947A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109618002B (zh) | 一种微服务网关优化方法、装置及存储介质 | |
CN103761309B (zh) | 一种运营数据处理方法及系统 | |
CN109831524B (zh) | 一种负载均衡处理方法及装置 | |
CN102281190B (zh) | 负载均衡装置组网方法以及服务器、客户端接入方法 | |
CN106452919B (zh) | 一种基于模糊理论的雾节点优化方法 | |
CN101156407B (zh) | 通过通信网络提供内容的方法 | |
CN103179217B (zh) | 一种用于web应用服务器群组的负载均衡方法和装置 | |
CN110365748A (zh) | 业务数据的处理方法和装置、存储介质及电子装置 | |
JP2013536095A (ja) | クラウドロボットシステムおよびその実現方法 | |
CN102045197B (zh) | 一种告警数据的同步方法及网管系统 | |
TW201424305A (zh) | 於雲端中之cdn負載平衡 | |
CN102469023A (zh) | 基于云计算的调度方法、单元及系统 | |
CN103561078A (zh) | 电信运营系统及业务服务方法 | |
CN107819632A (zh) | 一种基于性能监控系统和Docker Swarm的动态负载均衡集群系统 | |
CN106791639B (zh) | 大规模数据并发环境下的视频监控方法及系统 | |
CN109348264A (zh) | 视频资源共享方法、装置、存储介质及电子设备 | |
CN101980505A (zh) | 一种基于3Tnet的视频点播的负载均衡方法 | |
CN113301126B (zh) | 一种适用于异构组网网关的边缘计算方法 | |
CN116827947B (zh) | 一种分布式对象存储调度方法和系统 | |
CN113840330A (zh) | 建立连接的方法、网关设备、网络系统及调度中心 | |
CN110191362B (zh) | 数据传输方法及装置、存储介质及电子设备 | |
CN117221069A (zh) | 一种基于微服务器架构的管理方法及装置 | |
CN115242717B (zh) | 一种基于端侧计算的中心化存储系统及控制方法 | |
CN115102960B (zh) | 一种基于伸缩部署的企业物联管理系统 | |
US9438469B2 (en) | Auto-configuration server and management method of customer premises equipments |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |