首页> 中国专利> 一种基于分层的分布式云计算中心负载平衡方法

一种基于分层的分布式云计算中心负载平衡方法

摘要

本发明涉及一种基于分层的分布式云计算中心负载平衡方法,是一种基于全新设计架构、针对云计算中心的负载平衡方法,避免了单点故障、克服了规模限制和解决局部区域整体过载或轻载,适用于大型云数据中心且能避免单点故障,同时可以解决局部区域整体过载或轻载的问题,极大地提高了节点资源利用率且避免了单点故障的问题。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-04

    授权

    授权

  • 2015-12-30

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20150914

    实质审查的生效

  • 2015-12-02

    公开

    公开

说明书

技术领域

本发明涉及一种基于分层的分布式云计算中心负载平衡方法,属于云计算和云负载平 衡领域。

背景技术

随着Internet网络技术的发展和计算机技术的不断提高,网络中传输和处理的数据 的能力直线增长。人们希望获得一种直接、便捷的计算处理方式,不需要安装应用软件, 只要连接互联网,就可以利用连接在网络中的空闲的计算机资源进行任务处理。

在此背景之下,云计算应运而生,所谓云计算,就是通过计算机网络去连接由大量服 务器、存储设备集群构成的云数据中心,来获取远程客户端所需要的服务。在云数据中心 中的服务器上设置多个虚拟机,由不同虚拟机来执行不同的用户请求,同时用户请求的文 件也被划分为多个文件块分由多个虚拟机处理,这就形成了分布式云计算。

随着云计算的不断发展,云计算的规模也越来越大。虚拟化是适应大型云计算系统的 关键技术,这会带来很多的优势,比如服务器资源的利用率提高,服务请求的响应时间缩 短,处理的异构性等;然而这也会带来很多问题,其中最主要的问题就是服务器负载不平 衡,从而导致服务器的功能不能充分利用,达不到较高的资源利用率,同时也会增加服务 请求时间和服务相应时间。

云负载平衡的概念是近年来随着云计算的发展而产生的,是指云计算平台中的各个服 务器平均分配用户服务请求,使每个服务器充分发挥性能,从而提高云计算的整体效率和 资源利用率。

目前已经有的云负载平衡方法很多,最常用的方法有中央匹配方法和改进的分布式匹 配方法。中央匹配方法是利用一个中央节点与云数据中心中的其他各个节点通信获取节点 位置和负载,然后根据获取的信息进行整个云数据中心的负载平衡,方法实现简单。但是 这会导致单点故障问题,同时这种方法不能适应大规模云数据中心负载平衡的要求;改进 的分布式匹配方法是在分布式匹配方法的基础上引入了分布式哈希表DHTs和“相邻”的 概念,由每个节点随机获取一些相邻节点的位置和负载信息,存入DHTs中,每个节点根 据表中的负载信息在局部区域(部分节点)内自发进行负载平衡操作。此方法可以避免单 点故障问题,同时适用于大规模云数据中心,但是遇到局部区域整体过载或整体轻载的情 况,此方法将无法有效地进行负载平衡。

发明内容

针对上述技术问题,本发明所要解决的技术问题是提供一种基于分层的分布式云计算 中心负载平衡方法,避免了单点故障、克服了规模限制和解决局部区域整体过载或轻载, 适用于大型云数据中心且能避免单点故障,同时可以解决局部区域整体过载或轻载的问 题。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于分层的分布 式云计算中心负载平衡方法,其特征在于,包括如下步骤:

步骤001.针对云计算中心的所有服务器节点进行划分,获得至少两个服务器节点集 群,并且分别针对各个服务器节点集群,任意选择其中一个服务器节点作为对应服务器节 点集群的中央服务器节点,进入步骤002;

步骤002.分别针对各个服务器节点集群,将其中中央服务器节点的负载分配给对应 服务器节点集群中的其它服务器节点,并进入步骤003;

步骤003.各个服务器节点集群中的中央服务器节点,分别获得对应服务器节点集群 中其它各个服务器节点的负载,并统计其中负载超过K%的服务器节点个数占对应服务器节 点集群中除中央服务器节点之外所有服务器节点总个数的比例R1,以及负载低于M%的服 务器节点个数占对应服务器节点集群中除中央服务器节点之外所有服务器节点总个数的 比例R2,其中,K%为预设服务器节点过载阈值,M%为预设服务器节点轻载阈值,K+M=100, K>M,并进入步骤004;

步骤004.各个服务器节点集群中的中央服务器节点,分别针对对应服务器节点集群 的R1和R2进行分析判断,其中,若R1/R2≥3/2,则中央服务器节点判断其所对应的服务 器节点集群为过载非平衡集群,并进入步骤006;若R2/R1≥3/2,则中央服务器节点判断 其所对应的服务器节点集群为轻载非平衡集群,并进入步骤009;若R1/R2<3/2或R2/ R1<3/2,则中央服务器节点判断其所对应的服务器节点集群为平衡集群,并进入步骤005;

步骤005.各个平衡集群中的中央服务器节点,分别获得对应平衡集群中除中央服务 器节点之外所有服务器节点的平均负载,并根据平均负载,分别采用完全分布式负载平衡 算法针对对应平衡集群中除中央服务器节点之外所有服务器节点进行负载平衡处理,所述 分布式云计算中心负载平衡方法结束;

步骤006.各个过载非平衡集群中的中央服务器节点,分别在云计算中心按与之节点 距离由近至远的顺序,查找一个与之相互补的轻载非平衡集群进行匹配,且该轻载非平衡 集群没有与其它过载非平衡集群相匹配,并进入步骤007;

步骤007.各个过载非平衡集群中的中央服务器节点,分别和与之匹配相互补的轻载 非平衡集群中的中央服务器节点进行通信,分别将过载非平衡集群中负载最重的服务器节 点分配给与其匹配相互补的轻载非平衡集群中,并且将轻载非平衡集群中负载最轻的服务 器节点分配给与其匹配相互补的过载非平衡集群中,进入步骤008;

步骤008.各个过载非平衡集群中的中央服务器节点,分别按照步骤003的方法更新 其对应过载非平衡集群中的R1值,并且与其匹配相互补的轻载非平衡集群中的中央服务 器节点,按照步骤003的方法更新其对应轻载非平衡集群中的R1值;若过载非平衡集群 中的R1/R2≥3/2,且与其匹配相互补的轻载非平衡集群中R2/R1≥3/2,则返回步骤007; 否则返回步骤003;

步骤009.各个轻载非平衡集群中的中央服务器节点,分别在云计算中心按与之节点 距离由近至远的顺序,查找一个与之相互补的过载非平衡集群进行匹配,且该过载非平衡 集群没有与其它轻载非平衡集群相匹配,并进入步骤010;

步骤010.各个轻载非平衡集群中的中央服务器节点,分别和与之匹配相互补的过载 非平衡集群中的中央服务器节点进行通信,分别将轻载非平衡集群中负载最轻的服务器节 点分配给与其匹配相互补的过载非平衡集群中,并且将过载非平衡集群中负载最重的服务 器节点分配给与其匹配相互补的轻载非平衡集群中,进入步骤011;

步骤011.各个轻载非平衡集群中的中央服务器节点,分别按照步骤003的方法更新 其对应轻载非平衡集群中的R2值,并且与其匹配相互补的过载非平衡集群中的中央服务 器节点,按照步骤003的方法更新其对应过载非平衡集群中的R2值;若轻载非平衡集群 中的R2/R1≥3/2,且与其匹配相互补的过载非平衡集群中R1/R2≥3/2,则返回步骤010; 否则返回步骤003。

作为本发明的一种优选技术方案:所述步骤001中,针对云计算中心的所有服务器节 点,按节点间距离进行划分,获得至少两个服务器节点集群。

作为本发明的一种优选技术方案:所述步骤002中,分别针对各个服务器节点集群, 将其中中央服务器节点的负载通过轮询法依次分配给对应服务器节点集群中的其它服务 器节点。

作为本发明的一种优选技术方案:所述步骤005包括如下步骤:

步骤00501.各个平衡集群中的中央服务器节点,分别根据其对应平衡集群中其它各 个服务器节点的负载,分别获得对应平衡集群中除中央服务器节点之外所有服务器节点的 平均负载,并进入步骤00502;

步骤00502.各个平衡集群中的中央服务器节点,分别将对应平衡集群中其它各个服 务器节点按负载由轻至重的顺序进行排序,并进入步骤00503;

步骤00503.各个平衡集群中的中央服务器节点,分别针对其平衡集群中低于对应平 均负载的各个服务器节点,按顺序将第一个服务器节点的负载分配给第二个服务器节点; 然后将其平衡集群中负载最重的服务器节点上的负载部分分配至该第一个服务器节点上, 使得该第一个服务器节点上的负载等于平均负载,进入步骤00504;

步骤00504.各个平衡集群中的中央服务器节点,分别判断其平衡集群中其它各个服 务器节点的负载是否均等于对应平均负载,是则所述分布式云计算中心负载平衡方法结 束,否则,进入步骤00505;

步骤00505.各个平衡集群中的中央服务器节点,分别更新获得对应平衡集群中其它 各个服务器节点的负载,并返回步骤00502。

作为本发明的一种优选技术方案:所述步骤003中,各个服务器节点集群中的中央服 务器节点,分别根据Gossip-BasedAggregationProtocol获得对应服务器节点集群中其它各 个服务器节点的负载;所述步骤00505中,各个平衡集群中的中央服务器节点,分别根据 Gossip-BasedAggregationProtocol更新获得对应平衡集群中其它各个服务器节点的负载。

本发明所述一种基于分层的分布式云计算中心负载平衡方法采用以上技术方案与现 有技术相比,具有以下技术效果:本发明设计的基于分层的分布式云计算中心负载平衡方 法,避免了单点故障、克服了规模限制和解决局部区域整体过载或轻载,适用于大型云数 据中心且能避免单点故障,同时可以解决局部区域整体过载或轻载的问题,极大地提高了 节点资源利用率且避免了单点故障的问题。

附图说明

图1是本发明设计基于分层的分布式云计算中心负载平衡方法中云数据中心的分层示意 图;

图2是本发明设计基于分层的分布式云计算中心负载平衡方法的流程示意图。

具体实施方式

下面结合说明书附图针对本发明的具体实施方式作进一步详细的说明。

本发明设计的基于分层的分布式云计算中负载平衡方法,结合中央匹配方法和改进的 分布式匹配方法的优点,如图1所示,引入分层的概念:云数据中心------服务器节点集群 ------服务器节点。每个服务器节点集群设置一个中央服务器节点,用来获取服务器节点集 群内服务器节点信息并分析出服务器节点集群的全局信息。每个服务器节点集群内的服务 器节点仍然使用完全分布式匹配方法进行负载平衡,中央服务器节点不参与服务请求的执 行,也不参与执行区域内负载平衡操作。这是因为依靠中央服务器节点整体调度来进行区 域负载平衡会带来单点故障的问题,同时也会对中央服务器节点的性能要求很高从而增加 开销,服务器节点集群内每个服务器节点的资源虽然不多,但是闲着也会造成资源的浪费, 所以服务器节点集群内的负载平衡方法采用的是让每个服务器节点都参与的完全分布式 匹配方法,极大地提高了节点资源利用率且避免了单点故障的问题。

中央服务器节点的任务是掌握服务器节点集群的整体情况和进行节点交换。掌握服务 器节点集群内节点的信息,比如:服务器节点个数、服务器节点负载、过载服务器节点和 轻载服务器节点所占比例、相邻服务器节点集群的信息等。一般服务器节点、过载服务器 节点和轻载服务器节点比例接近则认定服务器节点集群为平衡集群,此时可以正常执行完 全分布式匹配方法;如果轻载或过载服务器节点比例超过规定的阈值,则认定服务器节点 集群为非平衡区域,此时不能正常执行完全分布式匹配方法。通过中央服务器节点掌握的 相邻服务器节点集群的信息,寻找互补集群进行服务器节点交换。这里的交换是指将服务 器节点分配给互补服务器节点集群,同时接收来自互补服务器节点集群的服务器节点。服 务器节点交换完成后,中央服务器节点更新自身的信息集合,同时服务器节点集群内各服 务器节点也更新分布式哈希表DHTs,然后再进行服务器节点集群的判定,如果为平衡区 域,则执行完全分布式匹配方法;如果仍为非平衡区域,则继续寻找互补区域进行服务器 节点交换,直到区域平衡为止。

对云数据中心进行分层是在很好地吸收了分布式匹配方法和中央匹配方法的优点的 基础上提出的,即拥有分布式匹配方法的灵活性、适应性(主要指适应大规模云数据中心), 同时还拥有中央匹配方法的全局性(主要指掌握整个云数据中心各节点的信息)。如图1所 示,云数据中心被分为若干个服务器节点集群,分层的关键是在每个服务器节点集群内设 置一个中央服务器节点ai,ai起着同外界(其它服务器节点集群)通信的作用,每个服务 器节点集群内的中央服务器节点ai都知道对应服务器节点集群内其它服务器节点的负载 L,这些信息记录在每个节点内部的分布式哈希表Ti中,通过Ti对服务器节点集群进行分 析,并对服务器节点集群类型的类型值进行定义:平衡区域T、过载非平衡集群F1、轻载 非平衡集群F2。各服务器节点集群的中央服务器节点依靠gossip-basedaggregationprotocol 获取相邻服务器节点集群的类型值,存入链表Vi中,供寻找互补区域时使用。这就完成了 对云数据中心的分层。

如图2所示,本发明设计的一种基于分层的分布式云计算中心负载平衡方法,实际应 用中,按预设周期,周期性的执行如下操作,包括如下步骤:

步骤001.针对云计算中心的所有服务器节点,按节点间距离进行划分,获得至少两 个服务器节点集群,并且分别针对各个服务器节点集群,任意选择其中一个服务器节点作 为对应服务器节点集群的中央服务器节点ai,进入步骤002。

步骤002.分别针对各个服务器节点集群,将其中中央服务器节点ai的负载,通过轮 询法依次分配给对应服务器节点集群中的其它服务器节点,并进入步骤003。

步骤003.各个服务器节点集群中的中央服务器节点ai,分别根据Gossip-Based AggregationProtocol获得对应服务器节点集群中其它各个服务器节点的负载L,将各个服 务器节点按负载由轻至重的顺序进行排序,构成表Ti,并根据如下公式统计其中负载超过 K%的服务器节点个数ki占对应服务器节点集群中除中央服务器节点之外所有服务器节点 总个数Ni的比例R1,以及根据如下公式统计负载低于M%的服务器节点个数mi占对应服 务器节点集群中除中央服务器节点之外所有服务器节点总个数Ni的比例R2,其中,K%为 预设服务器节点过载阈值,M%为预设服务器节点轻载阈值,K+M=100,K>M,并进入步骤004。

R1=ki/Ni*100%

R2=mi/Ni*100%

步骤004.各个服务器节点集群中的中央服务器节点,分别针对对应服务器节点集群 的R1和R2进行分析判断,其中,若R1/R2≥3/2,则中央服务器节点判断其所对应的服务 器节点集群为过载非平衡集群F1,并进入步骤006;若R2/R1≥3/2,则中央服务器节点 判断其所对应的服务器节点集群为轻载非平衡集群F2,并进入步骤009;若R1/R2<3/2或 R2/R1<3/2,则中央服务器节点判断其所对应的服务器节点集群为平衡集群T,并进入步 骤005。

步骤005.各个平衡集群中的中央服务器节点ai,分别获得对应平衡集群中除中央服 务器节点ai之外所有服务器节点的平均负载A,并根据平均负载A,分别采用完全分布式 负载平衡算法针对对应平衡集群中除中央服务器节点ai之外所有服务器节点进行负载平 衡处理,所述分布式云计算中心负载平衡方法结束;其中,所述步骤005具体包括如下步 骤:

步骤00501.各个平衡集群中的中央服务器节点ai,分别根据其对应平衡集群中其它 各个服务器节点的负载L,分别获得对应平衡集群中除中央服务器节点ai之外所有服务器 节点的平均负载A,并进入步骤00502。

步骤00502.各个平衡集群中的中央服务器节点ai,分别将对应平衡集群中其它各个 服务器节点按负载由轻至重的顺序进行排序,并进入步骤00503。

步骤00503.各个平衡集群中的中央服务器节点ai,分别针对其平衡集群中低于对应 平均负载A的各个服务器节点,按顺序将第一个服务器节点的负载分配给第二个服务器节 点;然后将其平衡集群中负载最重的服务器节点上的负载部分分配至该第一个服务器节点 上,使得该第一个服务器节点上的负载等于平均负载A,进入步骤00504。

步骤00504.各个平衡集群中的中央服务器节点ai,分别判断其平衡集群中其它各个 服务器节点的负载是否均等于对应平均负载A,是则所述分布式云计算中心负载平衡方法 结束,否则,进入步骤00505。

步骤00505.各个平衡集群中的中央服务器节点ai,分别根据Gossip-BasedAggregation Protocol更新获得对应平衡集群中其它各个服务器节点的负载L,并返回步骤00502。

步骤006.各个过载非平衡集群中的中央服务器节点ai,分别根据Gossip-Based AggregationProtocol获得云计算中心其它集群的类型,并将各个集群按节点距离由近至远 的顺序进行排序,构成表Vi;然后各个过载非平衡集群中的中央服务器节点ai,分别在 对应的Vi表中,按顺序且按F1类型集群查找F2类型集群、F2类型集群查找F1类型集群 规则,查找一个与之相互补的轻载非平衡集群进行匹配,且该轻载非平衡集群没有与其它 过载非平衡集群相匹配,并进入步骤007。

步骤007.各个过载非平衡集群中的中央服务器节点ai,分别和与之匹配相互补的轻 载非平衡集群中的中央服务器节点aj进行通信,分别将过载非平衡集群中负载最重的服 务器节点分配给与其匹配相互补的轻载非平衡集群中,并且将轻载非平衡集群中负载最轻 的服务器节点分配给与其匹配相互补的过载非平衡集群中,即ai将表Ti中最后一个服务 器节点分配给与其匹配相互补的轻载非平衡集群中,然后aj将Tj中第一个服务器节点分 配给与其匹配相互补的过载非平衡集群中,进入步骤008。

步骤008.各个过载非平衡集群中的中央服务器节点ai,分别按照步骤003的方法更 新其对应过载非平衡集群中的R1值,并且与其匹配相互补的轻载非平衡集群中的中央服 务器节点aj,按照步骤003的方法更新其对应轻载非平衡集群中的R1值;若过载非平衡 集群中的R1/R2≥3/2,且与其匹配相互补的轻载非平衡集群中R2/R1≥3/2,则返回步骤 007;否则返回步骤003。

步骤009.各个轻载非平衡集群中的中央服务器节点aj,分别根据Gossip-Based AggregationProtocol获得云计算中心其它集群的类型,并将各个集群按节点距离由近至远 的顺序进行排序,构成表Vj;然后各个过载非平衡集群中的中央服务器节点aj,分别在 对应的Vj表中,按顺序且按F1类型集群查找F2类型集群、F2类型集群查找F1类型集群 规则,查找一个与之相互补的过载非平衡集群进行匹配,且该过载非平衡集群没有与其它 轻载非平衡集群相匹配,并进入步骤010。

步骤010.各个轻载非平衡集群中的中央服务器节点aj,分别和与之匹配相互补的过 载非平衡集群中的中央服务器节点ai进行通信,分别将轻载非平衡集群中负载最轻的服 务器节点分配给与其匹配相互补的过载非平衡集群中,并且将过载非平衡集群中负载最重 的服务器节点分配给与其匹配相互补的轻载非平衡集群中,即aj将对应Vj表中第一个服 务器节点分配给与其匹配相互补的过载非平衡集群中,并且ai将对应Vi表中最后一个服 务器节点分配给与其匹配相互补的轻载非平衡集群中,进入步骤011。

步骤011.各个轻载非平衡集群中的中央服务器节点aj,分别按照步骤003的方法更 新其对应轻载非平衡集群中的R2值,并且与其匹配相互补的过载非平衡集群中的中央服 务器节点ai,按照步骤003的方法更新其对应过载非平衡集群中的R2值;若轻载非平衡 集群中的R2/R1≥3/2,且与其匹配相互补的过载非平衡集群中R1/R2≥3/2,则返回步骤 010;否则返回步骤003。

上面结合说明书附图针对本发明的实施方式作了详细说明,但是本发明并不限于上述 实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前 提下做出各种变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号