CN114079656A - 基于概率的负载平衡方法及装置、电子设备、存储介质 - Google Patents
基于概率的负载平衡方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN114079656A CN114079656A CN202210059029.1A CN202210059029A CN114079656A CN 114079656 A CN114079656 A CN 114079656A CN 202210059029 A CN202210059029 A CN 202210059029A CN 114079656 A CN114079656 A CN 114079656A
- Authority
- CN
- China
- Prior art keywords
- load
- probability
- storage node
- service
- data request
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于概率的负载平衡方法及装置、电子设备、存储介质,包括:接收每个存储节点发送的负载信息;根据所述负载信息,计算每个存储节点的负载;根据所述负载,计算每个存储节点的负载服务能力;接收客户端发送的数据请求;根据所述负载服务能力,计算服务概率;基于所述服务概率,随机的选择一个存储节点服务所述数据请求,其中所述服务概率越大被选中的概率越高。本发明可以应用到各类分布式文件系统的中,解决负载信息收集的低网络开销和较好负载平衡效果之间难以兼顾的问题。
Description
技术领域
本申请涉及分布式文件系统存储领域,尤其涉及一种基于概率的负载平衡方法及装置、电子设备、存储介质。
背景技术
分布式文件系统为数据密集型应用提高海量存储、高性能以及高扩展性,是海量存储系统的重要组成部分。分布式文件系统通常采用典型的三方架构,分别由客户端、存储节点和元数据服务器组成。元数据维护文件和目录的元数据信息,维护存储节点状态、容量、负载、访问地址等信息,以及数据块在存储节点的分布信息。在分布式文件系统保证负载平衡影响系统的整体性能。如果一个节点负载过高,会极大的增加该存储节点上的响应时间,不仅增加长尾性能,而且降低系统资源的整体利用率。由多种因素会影响文件系统的负载平衡。比如,存储节点的动态变更,存储节点可能因为故障被移除,或者新节点加入;文件或者目标被修改、删除,是数据的分布发生变更。为了保证数据的可靠性,分布式文件系统通常采用多副本数据存储机制,即将一份数据存储在多个节点。因此,如何利用分布式文件系统的多副本机制改进负载平衡至关重要。
分布式文件系统的负载平衡范围的一个关键技术是如何准确识别每个存储节点的当前负载,如果存储节点的负载信息不准确,那么制定的负载平衡策略就难以达到预期效果。为了达到这个目的,分布式文件系统需要周期性收集每个存储节点的负载信息,比如CPU使用率、内存使用率等等。但是,这个周期性的间隔时间存在一个平衡问题,如果负载信息的收集周期过短,那占用较多的网络性能,从而影响整体性能。反之,如果负载信息收集周期过长,那么服务器端的负载信息的准确性会降低。
发明内容
鉴于此,本申请实施例的目的是提供一种基于概率的负载平衡方法及装置、电子设备、存储介质,以解决现有负载平衡策略难以达到预期效果的技术问题。
根据本申请实施例的第一方面,提供一种基于概率的负载平衡方法,应用于元数据服务器,包括:
接收每个存储节点发送的负载信息;
根据所述负载信息,计算每个存储节点的负载;
根据所述负载,计算每个存储节点的负载服务能力;
接收客户端发送的数据请求;
根据所述负载服务能力,计算服务概率;
基于所述服务概率,随机的选择一个存储节点服务所述数据请求,其中所述服务概率越大被选中的概率越高。
进一步地,所述负载信息主要由CPU使用率、内存使用率、存储设备空间使用率、存储设备流量、网络流量组成。
进一步地,基于所述服务概率,随机的选择一个存储节点服务所述数据请求,包括:
在接收所述数据请求后,查找所述存储节点的副本信息;
根据所述副本信息挑选出能服务所述数据请求的存储节点;
计算能服务所述数据请求的存储节点的服务概率;
为每个所述服务概率构建一个概率区间;
生成一个0到1之间的随机数,确定所述随机数落到哪个概率区间;
选择所述随机数落入到的概率区间所对应的存储节点作为所述数据请求的服务节点,为所述数据请求服务。
进一步地,还包括对存储节点负载进行动态估计的步骤。
进一步地,对存储节点负载进行动态估计,具体包括:
当前周期开始时,每当一个存储节点服务一个数据请求后,将上一个周期存储节点上报的负载作为基准负载,每服务一个数据请求,就在所述基准负载上增加一次负载,得到存储节点当前最新的真实负载,其中所述增加一次负载中的负载由每个数据请求的平均负载和预测误差调整系数相乘而得;
在当前周期结束后,对比所述真实负载和上一个周期内估计的负载降低值,调整所述预测误差调整系数;
当前周期开始时,在每隔一段时间存储节点完成数据请求后,相应地调整存储节点负载,估计存储节点负载降低值;
在当前周期结束后,将存储的上一个周期的负载和从存储节点接收到的最新负载进行对比,计算出实际的负载变化值,将所述负载变化值和所述负载降低值进行对比,如果所述负载降低值大于负载变化值,则在下一个周期增加负载降低值,反之,则在下一个周期减少负载降低值。
进一步地,还包括:根据存储节点的负载,将数据请求轮询分发给存储节点进行处理。
进一步地,根据存储节点的负载,将数据请求轮询分发给存储节点进行处理,具体步骤如下:
根据存储节点的当前负载情况计算出平均负载,并根据所述平均负载将所有的存储节点分为高负载存储节点和低负载存储节点,将低负载存储节点选为当前数据请求的候选节点集;
从所述候选节点集中剔除已经服务过之前n个数据请求的存储节点,n为连续数据请求的监控长度;
如果剔除后的所述候选节点集为空,则计算该数据请求的所有副本所在的存储节点的服务概率,基于所述服务概率,随机的选择一个存储节点服务所述数据请求;否则,基于该候选节点集中的存储节点计算其服务概率,并将该数据请求发送到服务概率最低的存储节点进行处理。
根据本申请实施例的第二方面,提供一种基于概率的负载平衡装置,应用于元数据服务器,包括:
第一接收模块,用于接收每个存储节点发送的负载信息;
第一计算模块,用于根据所述负载信息,计算每个存储节点的负载;
第二计算模块,用于根据所述负载,计算每个存储节点的负载服务能力;
第二接收模块,用于接收客户端发送的数据请求;
第三计算模块,用于根据所述负载服务能力,计算服务概率;
选择模块,用于基于所述服务概率,随机的选择一个存储节点服务所述数据请求,其中所述服务概率越大被选中的概率越高。
根据本申请实施例的第三方面,提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由以上技术方案可知,通过每个存储节点发送的负载信息,根据所述负载信息,计算每个存储节点的负载,进而计算每个存储节点的负载服务能力,根据所述负载服务能力,计算服务概率,并基于该概率值决定该存储节点的数据请求服务概率,所述服务概率越大被选中的存储节点服务所述数据请求的概率越高。总的来说,一个存储节点负载高,其被选中的概率也较高。反之,如果一个存储节点的负载较低,那么其被选中的概率也较低。通过这种概率分布的随机选择,可以有效避免在一个周期内将数据请求过多的发送到负载最轻的节点,提高分布式文件系统的负载平衡。该方法可以有效提高负载平衡效果,延长负载采集周期,从而避免过于频繁地收集负载信息,降低系统整体性能。解决了现有负载平衡策略难以达到预期效果的技术问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种基于概率的负载平衡方法的流程图。
图2是根据一示例性实施例示出的步骤S16的流程图。
图3是根据一示例性实施例示出的选择一个存储节点服务所述数据请求的流程图。
图4是根据一示例性实施例示出的一种基于概率的负载平衡装置的框图。
图5是根据一示例性实施例示出的电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
分布式文件系统的负载平衡范围的一个关键技术是如何准确识别每个存储节点的当前负载,如果存储节点的负载信息不准确,那么制定的负载平衡策略就难以达到预期效果。为了达到这个目的,分布式文件系统需要周期性收集每个存储节点的负载信息,比如CPU使用率、内存使用率等等。但是,这个周期性的间隔时间存在一个平衡问题,如果负载信息的收集周期过短,那占用较多的网络性能,从而影响整体性能。反之,如果负载信息收集周期过长,那么元数据服务器的负载信息的准确性会降低。
图1是根据一示例性实施例示出的一种基于概率的负载平衡方法的流程图,如图1所示,该方法应用于元数据服务器,可以包括以下步骤:
步骤S11,接收每个存储节点发送的负载信息;
步骤S12,根据所述负载信息,计算每个存储节点的负载;
步骤S13,根据所述负载,计算每个存储节点的负载服务能力;
步骤S14,接收客户端发送的数据请求;
步骤S15,根据所述负载服务能力,计算服务概率;
步骤S16,基于所述服务概率,随机的选择一个存储节点服务所述数据请求,其中所述服务概率越大被选中的概率越高。
由以上技术方案可知,通过每个存储节点发送的负载信息,根据所述负载信息,计算每个存储节点的负载,进而计算每个存储节点的负载服务能力,根据所述负载服务能力,计算服务概率,并基于该概率值决定该存储节点的数据请求服务概率,所述服务概率越大被选中的存储节点服务所述数据请求的概率越高。总的来说,一个存储节点负载高,其被选中的概率也较高。反之,如果一个存储节点的负载较低,那么其被选中的概率也较低。通过这种概率分布的随机选择,可以有效避免在一个周期内将数据请求过多的发送到负载最轻的节点,提高分布式文件系统的负载平衡。该方法可以有效提高负载平衡效果,延长负载采集周期,从而避免过于频繁地收集负载信息,降低系统整体性能。解决了现有负载平衡策略难以达到预期效果的技术问题。
在步骤S11的具体实施中,接收每个存储节点发送的负载信息。
具体地,本实施例从CPU使用率、内存使用率、存储设备空间使用率、存储设备流量、网络流量这五个维度作为负载信息来衡量一个存储节点的负载情况,当然也可以增加其他的维度。每个存储节点周期性地收集本地负载,并通过RPC请求发送个元数据服务器。
在步骤S12的具体实施中,根据所述负载信息,计算每个存储节点的负载。
具体地,在元数据服务器接收到步骤S11中存储节点发送的负载信息后计算每个存储节点的负载Li total,通过下式计算每个存储节点的负载Li total:
其中i表示第i个存储节点,Li C是CPU使用率,Li M是内存使用率,Li N是网络流量,Li DT是存储设备流量,Li DS是存储设备空间使用率,wi C是CPU负载的权值,wi M是内存负载的权值,wi N是网络负载的权值,wi DT是存储设备流量负载的权值,wi DS是存储设备空间负载的权值,所有的权值相加必须等于1。
在步骤S13的具体实施中,根据所述负载,计算每个存储节点的负载服务能力。
具体地,元数据服务器根据所述负载,计算每个存储节点的负载服务能力,通过下式计算负载服务能力Li surplus:
Li surplus =100-Li total。
在步骤S14的具体实施中,接收客户端发送的数据请求。
具体地,元数据服务器接收到客户端发送的数据请求,来选择存储节点为所述数据请求进行服务。
在步骤S15的具体实施中,根据所述负载服务能力,计算服务概率。
具体地,元数据服务器根据所述负载服务能力Li surplus,计算服务概率P i ,计算服务概率具体计算公式为:
其中Li surplus是存储节点的负载服务能力,n为存储节点的数量,j表示第j个存储节点。
在步骤S16的具体实施中,基于所述服务概率,随机的选择一个存储节点服务所述数据请求,其中所述服务概率越大被选中的概率越高。
基于该概率值决定该存储节点的数据请求服务概率,总的来说,一个存储节点负载高,其被选中的概率也较高。反之,如果一个存储节点的负载较低,那么其被选中的概率也较低。不失一般性,选择概率最大的为其服务。通过这种概率分布的随机选择,可以有效避免在一个周期内将数据请求过多的发送到负载最轻的节点,提高分布式文件系统的负载平衡。
参考图2和图3,步骤S16可以包括以下子步骤:
步骤S161,在接收所述数据请求后,查找所述存储节点的副本信息;
具体地,元数据服务器接收到一个数据请求后,查找数据存储节点的副本信息;这里的副本信息为将同一份数据存储到n个存储节点中,以提高数据存储的可靠性,n通常为奇数,比如3或者5。同时元数据服务器记录所有副本的存储节点及其存储位置,并和数据访问地址建立映射关系,并将映射关系存储在副本信息映射表中。
步骤S162,根据所述副本信息挑选出能服务所述数据请求的存储节点;
具体地,元数据服务器根据数据的访问地址从副本信息映射表获取对应的副本,并获得副本对应的存储节点和存储位置。
步骤S163,计算能服务所述数据请求的存储节点的服务概率;
具体地,服务概率的计算和步骤S15相同,比如一个请求的数据存储在4个存储节点上,分别记为{A,B,C,D},这些节点的负载服务能力分别为{90,60,30,20},那么计算后存储节点的服务概率分别为{0.45,0.3,0.15,0.1}。
步骤S164,为每个所述服务概率构建一个概率区间;
具体地,基于存储节点的服务概率构建一个概率区间。比如上述例子中,存储节点A的服务概率区间为[0, 0.45), 存储节点B的服务概率区间为[0.45,0.75),存储节点C的服务概率区间为[0.75,0.9),存储节点D的服务概率区间为[0.9,1)。
步骤S165,生成一个0到1之间的随机数,确定所述随机数落到哪个概率区间;
步骤S166,选择所述随机数落入到的概率区间所对应的存储节点作为所述数据请求的服务节点,为所述数据请求服务。
具体地,元数据服务器生成一个0到1之间的随机数,这个随机数落在哪个服务概率区间,就选择对应的存储节点作为该数据请求的服务节点。
为了进一步调节数据请求分布,提高负载平衡效果,本发明实施例提供的一种基于概率的负载平衡方法还包括:对存储节点负载进行动态估计的步骤。
所述对存储节点负载进行动态估计,具体包括:
(A1)当前周期开始时,每当一个存储节点服务一个数据请求后,将上一个周期存储节点上报的负载作为基准负载Lbase,每服务一个数据请求,就在所述基准负载上增加一次负载Ladd,得到存储节点当前最新的真实负载,其中所述增加一次负载中的负载Ladd由每个数据请求的平均负载Lavg_add和预测误差调整系数α相乘而得,这里的每个数据请求的平均负载Lavg_add可以根据历史请求计算得到。
(A2)在当前周期结束后,对比所述真实负载和上一个周期内估计的负载降低值,调整所述预测误差调整系数;
(A3)当前周期开始时,在每隔一段时间存储节点完成数据请求后,相应地调整存储节点负载,估计存储节点负载降低值;
具体地,存储节点每隔一段时间就会完成数据请求,其上的负载也会相应降低,元数据服务器相应地会调整其负载。因为元数据服务器无法获取单个请求在存储节点上的完成情况,所以本发明采用一种线性估计的方法评估存储节点负载的降低值。具体计算公式为存储节点负载的降低值=Ldec*t,其中Ldec表示存储节点负载随单位时间的降低值,t表示时间;
(A4)在当前周期结束后,将存储的上一个周期的负载和从存储节点接收到的最新负载进行对比,计算出实际的负载变化值,将所述负载变化值和所述负载降低值进行对比,如果所述负载降低值大于负载变化值,那么认为当前设置的Ldec值过于激进,则在下一个周期增加Ldec,以提高估计负载的单位降低程度,反之,则认为当前设置的Ldec过于保守,则在下一个周期减少Ldec,以减少估计负载的单位降低程度,从而更准确地预测实际负载地变化情况。
通过以上步骤,在保证负载信息准确的同时,增加负载信息的收集周期,有效降低了负载平衡方法的开销。
虽然基于存储节点当前负载计算其服务概率可以使数据请求尽可能的平均分布到所有的存储节点。但是在较短时间内,仍有可能会有多个数据请求连续发送到某一个存储节点,使得该存储节点出现短时间内负载较大,进而影响性能的问题。
为解决该问题,本发明实施例提供的一种基于概率的负载平衡方法还包括:根据存储节点的负载,将数据请求轮询分发给存储节点进行处理。通过该步骤,可以避免一个存储节点在短时间内接收过多的数据请求,具体步骤如下:
(B1),根据存储节点的当前负载情况计算出平均负载,并根据所述平均负载将所有的存储节点分为高负载存储节点和低负载存储节点,将低负载存储节点选为当前数据请求的候选节点集;
(B2),从所述候选节点集中剔除已经服务过之前n个数据请求的存储节点,以防止单个存储节点短时间内服务过多的请求,n为连续数据请求的监控长度;
(B3),在完成(B2)之后,如果剔除后的所述候选节点集为空,则计算该数据请求的所有副本所在的存储节点的服务概率,基于所述服务概率,随机的选择一个存储节点服务所述数据请求,具体可参考步骤S16;否则,基于该候选节点集中的存储节点计算其服务概率,并将该数据请求发送到服务概率最低的存储节点进行处理。
还包括(B4),将(B3)中被选中的存储节点放入已服务数据请求的存储节点集合中,如果该集合中的存储节点已经达到最大数量,那么将最早进入该集合的存储节点剔除掉。本步骤中所述的存储节点集合同时还用于判断(B2)中服务过之前连续n个数据清的存储节点。
与前述的基于概率的负载平衡方法的实施例相对应,本申请还提供了基于概率的负载平衡装置的实施例。
图4是根据一示例性实施例示出的一种基于概率的负载平衡装置框图。参照图4,该装置应用于元数据服务器,包括:
第一接收模块21,用于接收每个存储节点发送的负载信息;
第一计算模块22,用于根据所述负载信息,计算每个存储节点的负载;
第二计算模块23,用于根据所述负载,计算每个存储节点的负载服务能力;
第二接收模块24,用于接收客户端发送的数据请求;
第三计算模块25,用于根据所述负载服务能力,计算服务概率;
选择模块26,用于基于所述服务概率,随机的选择一个存储节点服务所述数据请求,其中所述服务概率越大被选中的概率越高。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于概率的负载平衡方法。如图5所示,为本发明实施例提供的一种基于概率的负载平衡装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图5所示的处理器、内存、DMA控制器、磁盘、以及非易失内存之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述的基于概率的负载平衡方法。所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是风力发电机的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种基于概率的负载平衡方法,其特征在于,包括:
接收每个存储节点发送的负载信息;
根据所述负载信息,计算每个存储节点的负载;
根据所述负载,计算每个存储节点的负载服务能力;
接收客户端发送的数据请求;
根据所述负载服务能力,计算服务概率;
基于所述服务概率,随机的选择一个存储节点服务所述数据请求,其中所述服务概率越大被选中的概率越高。
2.根据权利要求1所述的一种基于概率的负载平衡方法,其特征在于,所述负载信息主要由CPU使用率、内存使用率、存储设备空间使用率、存储设备流量、网络流量组成。
3.根据权利要求1所述的一种基于概率的负载平衡方法,其特征在于,基于所述服务概率,随机的选择一个存储节点服务所述数据请求,包括:
在接收所述数据请求后,查找所述存储节点的副本信息;
根据所述副本信息挑选出能服务所述数据请求的存储节点;
计算能服务所述数据请求的存储节点的服务概率;
为每个所述服务概率构建一个概率区间;
生成一个0到1之间的随机数,确定所述随机数落到哪个概率区间;
选择所述随机数落入到的概率区间所对应的存储节点作为所述数据请求的服务节点,为所述数据请求服务。
4.根据权利要求1所述的一种基于概率的负载平衡方法,其特征在于,还包括对存储节点负载进行动态估计的步骤。
5.根据权利要求4所述的一种基于概率的负载平衡方法,其特征在于,对存储节点负载进行动态估计,具体包括:
当前周期开始时,每当一个存储节点服务一个数据请求后,将上一个周期存储节点上报的负载作为基准负载,每服务一个数据请求,就在所述基准负载上增加一次负载,得到存储节点当前最新的真实负载,其中所述增加一次负载中的负载由每个数据请求的平均负载和预测误差调整系数相乘而得;
在当前周期结束后,对比所述真实负载和上一个周期内估计的负载降低值,调整所述预测误差调整系数;
当前周期开始时,在每隔一段时间存储节点完成数据请求后,相应地调整存储节点负载,估计存储节点负载降低值;
在当前周期结束后,将存储的上一个周期的负载和从存储节点接收到的最新负载进行对比,计算出实际的负载变化值,将所述负载变化值和所述负载降低值进行对比,如果所述负载降低值大于负载变化值,则在下一个周期增加负载降低值,反之,则在下一个周期减少负载降低值。
6.根据权利要求1所述的一种基于概率的负载平衡方法,其特征在于,还包括:根据存储节点的负载,将数据请求轮询分发给存储节点进行处理。
7.根据权利要求6所述的一种基于概率的负载平衡方法,其特征在于,根据存储节点的负载,将数据请求轮询分发给存储节点进行处理,具体步骤如下:
根据存储节点的当前负载情况计算出平均负载,并根据所述平均负载将所有的存储节点分为高负载存储节点和低负载存储节点,将低负载存储节点选为当前数据请求的候选节点集;
从所述候选节点集中剔除已经服务过之前n个数据请求的存储节点,n为连续数据请求的监控长度;
如果剔除后的所述候选节点集为空,则计算该数据请求的所有副本所在的存储节点的服务概率,基于所述服务概率,随机的选择一个存储节点服务所述数据请求;否则,基于该候选节点集中的存储节点计算其服务概率,并将该数据请求发送到服务概率最低的存储节点进行处理。
8.一种基于概率的负载平衡装置,其特征在于,包括:
第一接收模块,用于接收每个存储节点发送的负载信息;
第一计算模块,用于根据所述负载信息,计算每个存储节点的负载;
第二计算模块,用于根据所述负载,计算每个存储节点的负载服务能力;
第二接收模块,用于接收客户端发送的数据请求;
第三计算模块,用于根据所述负载服务能力,计算服务概率;
选择模块,用于基于所述服务概率,随机的选择一个存储节点服务所述数据请求,其中所述服务概率越大被选中的概率越高。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210059029.1A CN114079656A (zh) | 2022-01-19 | 2022-01-19 | 基于概率的负载平衡方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210059029.1A CN114079656A (zh) | 2022-01-19 | 2022-01-19 | 基于概率的负载平衡方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114079656A true CN114079656A (zh) | 2022-02-22 |
Family
ID=80284702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210059029.1A Pending CN114079656A (zh) | 2022-01-19 | 2022-01-19 | 基于概率的负载平衡方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114079656A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2211774A1 (en) * | 1996-07-30 | 1998-01-30 | Nippon Telegraph And Telephone Corporation | Load balancing method and apparatus |
CN104168332A (zh) * | 2014-09-01 | 2014-11-26 | 广东电网公司信息中心 | 高性能计算中负载均衡与节点状态监控方法 |
WO2017122922A1 (ko) * | 2016-01-11 | 2017-07-20 | 충북대학교 산학협력단 | 분산 인-메모리 환경에서 데이터 복제 및 이주를 이용한 부하 분산 시스템 |
-
2022
- 2022-01-19 CN CN202210059029.1A patent/CN114079656A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2211774A1 (en) * | 1996-07-30 | 1998-01-30 | Nippon Telegraph And Telephone Corporation | Load balancing method and apparatus |
CN104168332A (zh) * | 2014-09-01 | 2014-11-26 | 广东电网公司信息中心 | 高性能计算中负载均衡与节点状态监控方法 |
WO2017122922A1 (ko) * | 2016-01-11 | 2017-07-20 | 충북대학교 산학협력단 | 분산 인-메모리 환경에서 데이터 복제 및 이주를 이용한 부하 분산 시스템 |
Non-Patent Citations (1)
Title |
---|
罗金玲等: "基于广域网存储系统动态负载平衡策略的研究", 《中国科技信息》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976917B (zh) | 一种负载调度方法、装置、负载调度器、存储介质及系统 | |
CN107426332B (zh) | 一种web服务器集群的负载均衡方法及系统 | |
CN110740164B (zh) | 服务器确定方法、调控方法、装置、设备及存储介质 | |
CN108900626B (zh) | 一种云环境下数据存储方法、装置及系统 | |
CN110162270B (zh) | 基于分布式存储系统的数据存储方法、存储节点及介质 | |
CN111562889B (zh) | 数据处理方法、装置、系统及存储介质 | |
CN108009260A (zh) | 一种大数据存储下结合节点负载和距离的副本放置方法 | |
CN111475108B (zh) | 一种分布式存储方法、计算机设备及计算机可读存储介质 | |
CN110636388A (zh) | 一种业务请求分配方法、系统、电子设备及存储介质 | |
CN109413694B (zh) | 一种基于内容流行度预测的小小区缓存方法及装置 | |
WO2022257389A1 (zh) | 任务延迟风险检测方法、电子设备及存储介质 | |
CN117459536A (zh) | 资源分发方法、云服务器、装置、电子设备及存储介质 | |
Selvi et al. | Popularity (hit rate) based replica creation for enhancing the availability in cloud storage | |
CN106131118B (zh) | 一种分布式缓存的方法、装置和系统 | |
CN114079656A (zh) | 基于概率的负载平衡方法及装置、电子设备、存储介质 | |
US10812390B2 (en) | Intelligent load shedding of traffic based on current load state of target capacity | |
CN115981848A (zh) | 一种内存数据库分片调整方法、设备 | |
JP2009252050A (ja) | サーバ負荷管理システム、サーバ負荷管理方法、サーバ負荷管理プログラム | |
CN113626383A (zh) | 一种数据处理方法、装置及设备 | |
CN112910988A (zh) | 一种资源获取方法及资源调度装置 | |
CN112637327B (zh) | 一种数据处理方法、装置及系统 | |
CN112003900A (zh) | 实现分布式系统中高负载场景下服务高可用的方法、系统 | |
CN112445794A (zh) | 一种大数据系统的缓存方法 | |
CN117992243B (zh) | 用于中间件的负载均衡方法、装置和计算机设备 | |
CN112527751B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220222 |