一种集群负载均衡方法及装置与流程

文档序号:18125090发布日期:2019-07-10 09:51阅读:189来源:国知局
一种集群负载均衡方法及装置与流程

本发明涉及视频存储及负载均衡技术领域,具体而言,涉及一种集群负载均衡方法及装置。



背景技术:

负载均衡是集群功能的一种,即把负载压力根据某种算法合理分配到集群的某台机器上,平衡每台服务器的压力,使服务器资源得到充分利用,其有效性决定了集群的整体性能和资源利用率。

现有的负载均衡算法大都是适用于配置相同的计算机,负载波动不明显的集群系统。当负载均衡器接收到源源不断的请求时,负载均衡器根据其负载策略,将请求转发给相应的服务器,负载均衡器所采用的负载策略可以是随机算法、轮转算法、平均负载算法中的一种。

但是,在视频存储领域,负载观测值主要是磁盘的I/O(input/output,输入/输出),而磁盘的I/O波动很大,并且对结点的负载需要一定时间才能反映到负载值的变化,因此,当视频瞬时大批量到来时,此时的结点负载值并不能及时更新,导致所有的视频存储分配给这一刻认为的负载值最低的结点,即导致扎堆效应,在视频存储领域,每个结点的服务器配置可能并不相同,因此,现有技术中的负载均衡算法在视频存储领域并不适用。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种集群负载均衡方法及装置,以解决现有的负载均衡方法应用在视频存储领域容易导致扎堆效应的问题。

第一方面,本发明实施例提供了一种集群负载均衡方法,其中,所述方法包括:

接收用户发送的任务;

获取当前周期内集群中各个结点的当前负载值,及各个所述结点在前一周期的稳定负载值,根据所述当前负载值及前一周期的稳定负载值,确定各个所述结点的当前稳定负载值;

根据所述当前稳定负载值及所述任务对应的负载变化值,确定各个所述结点的预测负载值;

将所述任务分配给所述预测负载值与最大可接受负载值的比值最小的所述结点。

结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述将所述任务分配给所述预测负载值与最大可接受负载值的比值最小的所述结点之后,还包括:

获取任务分配后各个所述结点的预测负载值,计算任务分配后各个所述结点的预测负载值与所述最大可接受负载值的比例;

根据各个所述结点的最大可接受负载值及任务分配后各个所述结点的预测负载值,计算所述比例小于或等于预设负载阈值的所述结点的剩余负载值;

将所述剩余负载值最小的所述结点的任务转移给所述剩余负载值最大的所述结点。

结合第一方面,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述根据所述当前负载值及前一周期的稳定负载值,确定各个所述结点的当前稳定负载值,包括:

计算各个所述结点的当前负载值与所述结点在前一周期的稳定负载值的第一差值;

将各个所述结点的当前稳定负载值和所述结点在前一周期的稳定负载值的差值记为第二差值,根据所述第一差值和所述第二差值之间的比例关系,确定各个所述结点的当前稳定负载值。

结合第一方面,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述根据所述当前负载值及前一周期的稳定负载值,确定各个所述结点的当前稳定负载值,包括:

根据各个所述结点的当前负载值,各个所述结点在前一周期的稳定负载值,通过公式(1)计算各个所述结点的当前稳定负载值;

Nm=(nm-Nm-1)/d+Nm-1 (1)

其中,在公式(1)中,Nm为所述集群中任一结点的当前稳定负载值,Nm-1为所述任一结点在前一周期的稳定负载值,nm为所述任一结点的当前负载值,d为预设比率,m为周期。

结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述根据所述当前稳定负载值及所述任务对应的负载变化值,确定各个所述结点的预测负载值,包括:

根据各个所述结点的当前稳定负载值及所述任务对应的负载变化值,通过公式(2)计算各个所述结点的预测负载值;

Fm=Dm+Nm (2)

其中,在公式(2)中,Fm为所述集群中任一结点的预测负载值,Dm为所述任务对应的负载变化值,Nm为所述任一结点的当前稳定负载值,m为周期。

第二方面,本发明实施例提供了一种集群负载均衡装置,所述装置包括:

接收模块,用于接收用户发送的任务;

第一确定模块,用于获取当前周期内集群中各个结点的当前负载值,及各个所述结点在前一周期的稳定负载值,根据所述当前负载值及前一周期的稳定负载值,确定各个所述结点的当前稳定负载值;

第二确定模块,用于根据所述当前稳定负载值及所述任务对应的负载变化值,确定各个所述结点的预测负载值;

任务分配模块,用于将所述任务分配给所述预测负载值与最大可接受负载值的比值最小的所述结点。

结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述装置还包括:

第一计算模块,用于获取任务分配后各个所述结点的预测负载值,计算任务分配后各个所述结点的预测负载值与所述最大可接受负载值的比例;

第二计算模块,用于根据各个所述结点的最大可接受负载值及任务分配后各个所述结点的预测负载值,计算所述比例小于或等于预设负载阈值的所述结点的剩余负载值;

任务转移模块,用于将所述剩余负载值最小的所述结点的任务转移给所述剩余负载值最大的所述结点。

结合第二方面,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述第一确定模块包括:

第一计算单元,用于计算各个所述结点的当前负载值与所述结点在前一周期的稳定负载值的第一差值;

确定单元,用于将各个所述结点的当前稳定负载值和所述结点在前一周期的稳定负载值的差值记为第二差值,根据所述第一差值和所述第二差值之间的比例关系,确定各个所述结点的当前稳定负载值。

结合第二方面,本发明实施例提供了上述第二方面的第三种可能的实现方式,其中,所述第一确定模块还包括:

第二计算单元,用于根据各个所述结点的当前负载值,各个所述结点在前一周期的稳定负载值,通过公式(1)计算各个所述结点的当前稳定负载值;

Nm=(nm-Nm-1)/d+Nm-1 (1)

其中,在公式(1)中,Nm为所述集群中任一结点的当前稳定负载值,Nm-1为所述任一结点在前一周期的稳定负载值,nm为所述任一结点的当前负载值,d为预设比率,m为周期。

结合第二方面,本发明实施例提供了上述第二方面的第四种可能的实现方式,其中,所述第二确定模块包括:

第三计算单元,用于根据各个所述结点的当前稳定负载值及所述任务对应的负载变化值,通过公式(2)计算各个所述结点的预测负载值;

Fm=Dm+Nm (2)

其中,在公式(2)中,Fm为所述集群中任一结点的预测负载值,Dm为所述任务对应的负载变化值,Nm为所述任一结点的当前稳定负载值,m为周期。

本发明实施例提供的集群负载均衡方法及装置,适用于视频存储领域,在进行任务分配时能够有效避免出现扎堆效应,并且,适用于结点设备配置不同的集群。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例1所提供的一种集群负载均衡方法的流程图;

图2示出了本发明实施例2所提供的一种集群负载均衡装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

考虑到相关技术中,负载均衡器大都是采用随机算法、轮转算法或平均负载算法将接收到的请求分配给相应的服务器或设备,但是,在视频存储领域,负载观测值主要是磁盘的I/O,而磁盘的I/O波动很大,并且对结点的负载需要一定时间才能反映到负载值的变化,因此,当视频瞬时大批量到来时,此时的结点负载值并不能及时更新,导致所有的视频存储分配给这一刻认为的负载值最低的结点,即导致扎堆效应,在视频存储领域,每个结点的服务器配置可能并不相同,因此,现有技术中的负载均衡算法在视频存储领域并不适用。基于此,本发明实施例提供了一种集群负载均衡方法及装置,下面通过实施例进行描述。

实施例1

本发明实施例提供了一种集群负载均衡方法,该方法适用于视频存储领域,并且能够有效避免扎堆效应。

如图1所示,本发明实施例提供的集群负载均衡方法,包括步骤S110-S140。

S110,接收用户发送的任务。

上述任务可以是视频,当上述任务是摄像机在执行录像计划采集的视频时,摄像机需要将采集的视频传输给存储设备进行存储,该存储设备可以是磁盘、硬盘等等,在将该视频进行存储之前,首先将该视频任务发送给负载均衡器,负载均衡器接收摄像机传输的视频任务,并将该视频任务保存到任务集合中。当然,上述任务还可以是除视频之外的其它请求等,本发明实施例并不限定上述任务的具体类型。

S120,获取当前周期内集群中各个结点的当前负载值,及各个结点在前一周期的稳定负载值,根据当前负载值及前一周期的稳定负载值,确定各个结点的当前稳定负载值。

上述集群指的是多台机器共同协作,对外提供统一服务的多处理器系统,上述多台机器可以是多个服务器,也可以是多个计算机、多个磁盘、硬盘等等,上述集群中的每个设备就是一个结点。

在集群中的各个结点进行工作的过程中,负载均衡器会实时或定期采集各个结点的当前负载值,该当前负载值指的是各个结点的即时负载值,上述各个结点的当前负载值可以是该结点的I/O,由于负载均衡器是在实时或定期采集集群中各个结点的当前负载值,因此可以将负载均衡器每采集一次集群中各个结点的当前负载值作为一个周期。

上述各个结点在前一周期的稳定负载值,则是依赖于各个结点在前两个周期的稳定负载值,因此,可以设定各个结点的初始稳定负载值,可以将各个结点的初始稳定负载值设置为0,由此,可以根据初始稳定负载值及第一周期内采集的集群中各个结点的当前负载值,计算出第一周期内各个结点的稳定负载值,以此类推,可以得到上述前一周期的稳定负载值。

当负载均衡器采集了当前周期内各个结点的当前负载值,并获取了各个结点在前一周期的稳定负载值之后,根据上述当前周期内各个结点的当前负载值和各个结点在前一周期的稳定负载值,确定各个结点的当前稳定负载值,该过程具体包括:计算各个结点的当前负载值与结点在前一周期的稳定负载值的第一差值;将各个结点的当前稳定负载值和结点在前一周期的稳定负载值的差值记为第二差值,根据第一差值和第二差值之间的比例关系,确定各个结点的当前稳定负载值。

其中,上述第一差值和第二差值之间成正比例关系,该预设比例系数可以是16或者32,当然,还可以是其它数值,上述预设比例系数的取值取决于集群中各个结点的负载值达到稳定的时间以及各个结点的负载值的波动程度,在具体应用场景中,可以根据实际需要选取上述比例系数,本发明实施例并不限定上述比例系数的具体取值。

其中,上述集群中各个结点的当前稳定负载值,还可以通过如下方法确定,具体包括:根据各个结点的当前负载值,各个结点在前一周期的稳定负载值,通过公式(1)计算各个结点的当前稳定负载值;

Nm=(nm-Nm-1)/d+Nm-1 (1)

其中,在公式(1)中,Nm为集群中任一结点的当前稳定负载值,Nm-1为上述任一结点在前一周期的稳定负载值,nm为上述任一结点的当前负载值,d为预设比率,m为周期。

上述d为预设比率,该预设比率的取值一般为16或32,当然,还可以是其它数值,上述预设比率d的取值取决于集群中各个结点的负载值达到稳定的时间以及各个结点的负载值的波动程度,在具体应用场景中,可以根据实际需要选取上述预设比率,本发明实施例并不限定上述预设比率的具体取值。

在本发明实施例中,通过公式(1)计算当前周期内各个结点的当前稳定负载值时,依赖于集群中各个结点在前一周期的稳定负载值,因此需要获取集群中各个结点在前一周期的稳定负载值,同理,集群中各个结点在前一周期的稳定负载值的获取,需要依赖于集群中各个结点在前两个周期的稳定负载值,以此类推,为了计算当期周期内各个结点的当前稳定负载值,需要设定集群中各个结点的初始稳定负载值,将N0记为集群中任一结点的初始稳定负载值,且将N0的取值设置为0,当采集到第一周期内各个结点的当前负载值后,将第一周期内集群中任一结点的当前负载值记为n1,根据公式(1)可以计算出第一周期内任一结点的当前稳定负载值N1,根据第一周期内采集到的每个结点的当前负载值,及每个结点的初始负载值,通过公式(1)可以计算出集群中各个结点在第一周期内的当前稳定负载值,之后采集第二周期内集群中各个结点的当前负载值,根据第二周期内集群中各个结点的当前负载值及第一周期内各个结点的稳定负载值,通过公式(1)可以计算出第二周期内集群中各个结点的当前稳定负载值,以此类推,根据集群中各个结点在上一周期的稳定负载值及各个结点当前周期结点的当前负载值,计算出当前周期内各个结点的稳定负载值,采用上述积分的方法,不需要记录每一个周期采集的当前负载值,仅仅依赖于上一周期的稳定负载值和当前周期内结点的当前负载值,就可以计算出当前周期集群中各个结点的当前稳定负载值,计算方法更简单,并且,采用积分方法计算出的集群的稳定负载值比较稳定。

S130,根据当前稳定负载值及上述任务对应的负载变化值,确定各个结点的预测负载值。

其中,上述任务对应的负载变化值指的是各个结点接收到的任务对应任务量,比如说,集群中某个结点接收到一个1MB的视频存储任务,则上述任务对应的负载变化值就是1MB,当然,上述只是举例说明任务对应的负载变化值,并没有限定负载变化值的具体数值。

在S120中,虽然通过积分方法已经计算出了当前周期内各个结点的稳定负载值,但是当新任务到达结点时,结点不能立刻更新当前负载值,因此计算出的当前周期内结点的稳定负载值可能并不是当前结点的真实负载值,当大批量瞬时任务到来时,负载均衡器根据当前周期内各个结点的当前稳定的负载值,可能将任务分配到同一个结点上,从而导致扎堆效应,因此,为了解决扎堆效应,需要通过当前稳定负载值和接收到的任务对应的负载变化值,确定各个结点的预测负载值,具体包括:

根据各个结点的当前稳定负载值及上述任务对应的负载变化值,通过公式(2)计算各个结点的预测负载值;

Fm=Dm+Nm (2)

其中,在公式(2)中,Fm为各个结点的预测负载值,Dm为任务对应的负载变化值,Nm为各个结点的当前稳定负载值,m为周期。

其中,上述m表示第m个周期。

在本发明实施例中,将任务负载到结点时,可以预估结点的负载变化,将负载到结点的任务对应的任务量作为预估的结点负载变化,即上述任务对应的负载变化,根据S120中获取到的当前周期内的当前稳定负载值及上述任务对应的负载变化值,通过公式(2)计算各个结点的预测负载值。

当任务负载到集群中任意一个结点时,结点对应的预测负载值为当前稳定负载值与预计任务对应的负载变化值之和,这样预测负载值Fm更接近真实值,这时,任务对应的负载变化Dm的预测作用会减弱,Dm的变化为Dm=Dm-1×(b-1)/b,其中,在该式中,Dm为第m个周期内的任务对应的负载变化值,Dm-1为第m-1个周期内的任务对应的负载变化值,b为预设数值。

上述预测负载值使得对结点分配任务后,能立刻体现在各个结点的负载值的变化上,从而不会因为各个结点的负载值变化缓慢而把瞬时提交的大部分甚至全部任务都分配到同一个结点上,从而解决了扎堆效应,当任务大批量、瞬时到来时,系统能达到近似稳定的状态。

S140,将上述任务分配给预测负载值与最大可接受负载值的比值最小的结点。

通过S130计算出的预测负载值,可以解决扎堆效应,但是由于各个结点设备的配置可能会不同,如果仅仅以各个结点的预测负载值作为负载量度,将任务分配给当前预测负载值最低的结点,并不准确,对于结点设备不同的集群,每个结点的最大可接受负载值不同,因此,不能仅仅通过预测负载值进行任务分配。

在本发明实施例中,可以计算各个结点的预测负载值以及各个结点的最大可接受负载值的比值,将该比值作为各个结点的负载量度,当负载均衡器接收到用户提交的任务时,将任务分配给上述比值最小的结点。

其中,上述最大可接受负载值是各个结点设备能够承受的最大的负载值,当结点的任务量超过该最大可接受负载值时,结点将不能正常工作。

除此之外,还可以根据各个结点的预测负载值和各个结点的最大可接收负载值,通过如下公式,计算出各个结点的剩余负载值;

Cm=M-Fm

其中,在上述公式中,M为集群中任一结点的最大可接受负载值,Fm为任一结点的预测负载值,Cm为任一结点剩余负载值,m为周期。

通过上述方式计算出各个结点的剩余负载值后,将剩余负载值最大的结点作为当前负载最低的结点,即将任务分配给剩余负载值最大的结点。

当进行上述任务分配后,可能集群仍然没有处于均衡状态,因此,需要对集群的均衡程度进行判断,并根据判断结果对集群中的结点进行任务转移。

上述计算出各个结点的剩余负载值,根据下述公式计算集群的方差,根据集群的方差判断集群的均衡程度,集群的方差越小,认为集群的均衡程度越高,即集群的稳定性越高;

S=(Cm1-T)2+(Cm2-T)2+...+(Cmk-T)2

其中,在上述公式中,T为集群的平均剩余负载值,Cm1为集群中第一个结点的剩余负载值,Cm2为集群中第二个结点的剩余负载值,Cmk为集群中第K个结点的剩余负载值,S为集群的方差,m为周期,k为集群中结点的数目。

在本发明实施例中,可以预设方差值,将上述计算出的集群的方差S与预设方差值进行比较,当上述方差S大于或等于预设方差值时,则判断集群当前均衡程度较低,需要对集群中的结点进行任务转移,具体包括:

获取任务分配后各个结点的预测负载值,计算任务分配后各个结点的预测负载值与最大可接受负载值的比例;根据各个结点的最大可接受负载值及任务分配后各个结点的预测负载值,计算比例小于或等于预设负载阈值的结点的剩余负载值;将剩余负载值最小的结点的任务转移给剩余负载值最大的结点。

在本发明实施例中,集群的均衡程度较低时,需要对集群中结点的任务进行转移时,首先需要获取任务分配后各个结点的预测负载值,由于负载均衡器会实时或定期采集集群中各个结点的当前负载值,即进行任务分配时,负载均衡器也会采集集群中各个结点的当前负载值,根据任务分配后各个结点的当前负载值,及各个结点在前一周期的稳定负载值,计算当前周期各个结点的当前稳定负载值,之后,根据当前周期各个结点的当前稳定负载值及任务对应的负载变化值,计算任务分配后各个结点的预测负载值;

然后计算任务分配后各个结点的预测负载值与各个结点的最大可接受负载值的比例,将该比例与预设负载阈值进行比较,获取上述比例小于或等于预设负载阈值的结点,对这些结点进行任务转移,具体包括:计算上述比例小于或等于预设负载阈值的结点的剩余负载值,将上述结点按照剩余负载值进行排序,从排序后的结点中选取剩余负载值最小和剩余负载值最大的结点,将剩余负载值最小的结点的任务转移给剩余负载值最大的结点。

上述预设负载阈值是预先设置的数值,该值可以为80%,还可以为其它数值,上述预设负载阈值可以根据实际应用进行设置,本发明实施例并不限定是上述预设负载阈值的具体数值。当计算出的结点的预设负载值与各个结点的最大可接受负载值的比例小于或等于上述预设负载阈值时,则不转移该结点的任务。

设置了负载阈值后,能过减少不必要的任务转移,另外,在结点功能失效但是无法检测到时,此时失效结点的剩余负载值可能为集群中最大,如果没有设置负载阈值,负载均衡器可能会将集群中其它结点的任务转移到该失效结点,从而导致黑洞效应,黑洞效应指的就是结点功能失效时但是无法检测到其功能失效,此时结点的当前负载值为零,负载均衡器始终认为此结点的负载最低,每次负载都会选择此结点。当设置了负载阈值后,如果集群中没有预设负载值与各个结点的最大可接受负载值的比例大于预设负载阈值时,负载均衡器不会将其他结点的任务转移给失效结点,从而解决了黑洞效应。

在进行结点间的任务转移时,比如说,剩余负载值最高的结点为A,剩余负载值最低的结点为B,为了提高集群的均衡程度,会将结点B的任务转移给结点A,但是如果转移后,结点A可能变为剩余负载值最低的结点,结点B变为剩余负载值最高的结点,这时又需要将任务从结点A转移到结点B,这种转移可能会无限进行下去,这种现象称为颠簸。

为了消除上述颠簸现象,如果最大剩余负载值和最下剩余负载值之间的差值不超过接收到的最大的任务可能带来的负载量,则终止此次任务转移。

本发明实施例提供的集群负载均衡方法,适用于视频存储领域,在进行任务分配时能够有效避免出现扎堆效应,并且,适用于结点设备配置不同的集群。

实施例2

本发明实施例提供的一种集群负载均衡装置,本发明实施例提供的负载均衡装置用来执行实施例1提供的集群负载均衡方法,该集群负载均衡装置可以是一种集群负载均衡器。

如图2所示,本发明实施例提供的负载均衡装置,包括接收模块210、第一确定模块220、第二确定模块230和任务分配模块240;

上述接收模块210,用于接收用户发送的任务;

上述第一确定模块220,用于获取当前周期内集群中各个结点的当前负载值,及各个结点在前一周期的稳定负载值,根据当前负载值及前一周期的稳定负载值,确定各个结点的当前稳定负载值;

上述第二确定模块230,用于根据当前稳定负载值及上述任务对应的负载变化值,确定各个结点的预测负载值;

上述任务分配模块240,用于将上述任务分配给预测负载值与最大可接受负载值的比值最小的结点。

上述集群指的是多台机器共同协作,对外提供统一服务的多处理器系统,上述多台机器可以是多个服务器,也可以是多个计算机、多个磁盘、硬盘等等,上述集群中的每个设备就是一个结点。

在本发明实施例中,当将接收到的任务分配给预测负载值与最大可接受负载值的比值最小的结点之后,为了提高集群的均衡程度,还需要对集群中结点的任务进行转移,是通过第一计算模块、第二计算模块及任务转移模块来实现的,具体包括:

上述第一计算模块,用于获取任务分配后各个结点的预测负载值,计算任务分配后各个结点的预测负载值与最大可接受负载值的比例;上述第二计算模块,用于根据各个结点的最大可接受负载值及任务分配后各个结点的预测负载值,计算比例小于或等于预设负载阈值的结点的剩余负载值;上述任务转移模块,用于将剩余负载值最小的结点的任务转移给剩余负载值最大的结点。

其中,上述第一确定模块220根据当前负载值及前一周期的稳定负载值,确定各个结点的当前稳定负载值,是通过第一计算单元和确定单元实现的,具体包括:

上述第一计算单元,用于计算各个结点的当前负载值与结点在前一周期的稳定负载值的第一差值;上述确定单元,用于将各个结点的当前稳定负载值和结点在前一周期的稳定负载值的差值记为第二差值,根据第一差值和第二差值之间的比例关系,确定各个结点的当前稳定负载值。

其中,上述第一确定模块220根据当前负载值及前一周期的稳定负载值,确定各个结点的当前稳定负载值,还可以通过第二计算单元来实现,具体包括:

上述第二确定单元,用于根据各个结点的当前负载值,各个结点在前一周期的稳定负载值,通过公式(1)计算各个结点的当前稳定负载值;

Nm=(nm-Nm-1)/d+Nm-1 (1)

其中,在公式(1)中,Nm为各个结点的当前稳定负载值,Nm-1为各个结点在前一周期的稳定负载值,nm为各个结点的当前负载值,d为预设比率,m为周期。

上述d为预设比率,该预设比率的取值一般为16或32,当然,还可以是其它数值,上述预设比率d的取值取决于集群中各个结点的负载值达到稳定的时间以及各个结点的负载值的波动程度,在具体应用场景中,可以根据实际需要选取上述预设比率,本发明实施例并不限定上述预设比率的具体取值。

其中,上述第二确定模块230根据当前稳定负载值及上述任务对应的负载变化值,确定各个结点的预测负载值,是通过第三计算单元来实现的,具体包括:

上述第三单元,用于根据各个结点的当前稳定负载值及上述任务对应的负载变化值,通过公式(2)计算各个结点的预测负载值;

Fm=Dm+Nm (2)

其中,在公式(2)中,Fm为各个结点的预测负载值,Dm为上述任务对应的负载变化值,Nm为各个结点的当前稳定负载值。

本发明实施例提供的集群负载均衡装置,包括接收模块、第一确定模块、第二确定模块及任务分配模块,适用于视频存储领域,在进行任务分配时能够有效避免出现扎堆效应,并且,适用于结点设备配置不同的集群。

本发明实施例所提供的集群负载均衡装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1