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

文档序号:9399367阅读:来源:国知局
应平衡集群中其它各个服务器节点的负载。
[0029]本发明所述一种基于分层的分布式云计算中心负载平衡方法采用以上技术方案与现有技术相比,具有以下技术效果:本发明设计的基于分层的分布式云计算中心负载平衡方法,避免了单点故障、克服了规模限制和解决局部区域整体过载或轻载,适用于大型云数据中心且能避免单点故障,同时可以解决局部区域整体过载或轻载的问题,极大地提高了节点资源利用率且避免了单点故障的问题。
【附图说明】
[0030]图1是本发明设计基于分层的分布式云计算中心负载平衡方法中云数据中心的分层示意图;
[0031]图2是本发明设计基于分层的分布式云计算中心负载平衡方法的流程示意图。
【具体实施方式】
[0032]下面结合说明书附图针对本发明的【具体实施方式】作进一步详细的说明。
[0033]本发明设计的基于分层的分布式云计算中负载平衡方法,结合中央匹配方法和改进的分布式匹配方法的优点,如图1所示,引入分层的概念:云数据中心------服务器节点集群------服务器节点。每个服务器节点集群设置一个中央服务器节点,用来获取服务器节点集群内服务器节点信息并分析出服务器节点集群的全局信息。每个服务器节点集群内的服务器节点仍然使用完全分布式匹配方法进行负载平衡,中央服务器节点不参与服务请求的执行,也不参与执行区域内负载平衡操作。这是因为依靠中央服务器节点整体调度来进行区域负载平衡会带来单点故障的问题,同时也会对中央服务器节点的性能要求很高从而增加开销,服务器节点集群内每个服务器节点的资源虽然不多,但是闲着也会造成资源的浪费,所以服务器节点集群内的负载平衡方法采用的是让每个服务器节点都参与的完全分布式匹配方法,极大地提高了节点资源利用率且避免了单点故障的问题。
[0034]中央服务器节点的任务是掌握服务器节点集群的整体情况和进行节点交换。掌握服务器节点集群内节点的信息,比如:服务器节点个数、服务器节点负载、过载服务器节点和轻载服务器节点所占比例、相邻服务器节点集群的信息等。一般服务器节点、过载服务器节点和轻载服务器节点比例接近则认定服务器节点集群为平衡集群,此时可以正常执行完全分布式匹配方法;如果轻载或过载服务器节点比例超过规定的阈值,则认定服务器节点集群为非平衡区域,此时不能正常执行完全分布式匹配方法。通过中央服务器节点掌握的相邻服务器节点集群的信息,寻找互补集群进行服务器节点交换。这里的交换是指将服务器节点分配给互补服务器节点集群,同时接收来自互补服务器节点集群的服务器节点。服务器节点交换完成后,中央服务器节点更新自身的信息集合,同时服务器节点集群内各服务器节点也更新分布式哈希表DHTs,然后再进行服务器节点集群的判定,如果为平衡区域,则执行完全分布式匹配方法;如果仍为非平衡区域,则继续寻找互补区域进行服务器节点交换,直到区域平衡为止。
[0035]对云数据中心进行分层是在很好地吸收了分布式匹配方法和中央匹配方法的优点的基础上提出的,即拥有分布式匹配方法的灵活性、适应性(主要指适应大规模云数据中心),同时还拥有中央匹配方法的全局性(主要指掌握整个云数据中心各节点的信息)。如图1所示,云数据中心被分为若干个服务器节点集群,分层的关键是在每个服务器节点集群内设置一个中央服务器节点ai,ai起着同外界(其它服务器节点集群)通信的作用,每个服务器节点集群内的中央服务器节点ai都知道对应服务器节点集群内其它服务器节点的负载L,这些信息记录在每个节点内部的分布式哈希表1\中,通过T1对服务器节点集群进行分析,并对服务器节点集群类型的类型值进行定义:平衡区域T、过载非平衡集群F1、轻载非平衡集群F2。各服务器节点集群的中央服务器节点依靠gossip-based aggregat1nprotocol获取相邻服务器节点集群的类型值,存入链表1中,供寻找互补区域时使用。这就完成了对云数据中心的分层。
[0036]如图2所示,本发明设计的一种基于分层的分布式云计算中心负载平衡方法,实际应用中,按预设周期,周期性的执行如下操作,包括如下步骤:
[0037]步骤001.针对云计算中心的所有服务器节点,按节点间距离进行划分,获得至少两个服务器节点集群,并且分别针对各个服务器节点集群,任意选择其中一个服务器节点作为对应服务器节点集群的中央服务器节点ai,进入步骤002。
[0038]步骤002.分别针对各个服务器节点集群,将其中中央服务器节点ai的负载,通过轮询法依次分配给对应服务器节点集群中的其它服务器节点,并进入步骤003。
[0039]步骤003.各个服务器节点集群中的中央服务器节点ai,分别根据Gossip-BasedAggregat1n Protocol获得对应服务器节点集群中其它各个服务器节点的负载L,将各个服务器节点按负载由轻至重的顺序进行排序,构成表Ti,并根据如下公式统计其中负载超过1(%的服务器节点个数ki占对应服务器节点集群中除中央服务器节点之外所有服务器节点总个数Ni的比例R1,以及根据如下公式统计负载低于M%的服务器节点个数mi占对应服务器节点集群中除中央服务器节点之外所有服务器节点总个数Ni的比例R2,其中,1(%为预设服务器节点过载阈值,预设服务器节点轻载阈值,K+M = 100,K>M,并进入步骤004。
[0040]Rl = ki/Ni*100%
[0041]R2 = mi/Ni*100%
[0042]步骤004.各个服务器节点集群中的中央服务器节点,分别针对对应服务器节点集群的Rl和R2进行分析判断,其中,若R1/R2 ^ 3/2,则中央服务器节点判断其所对应的服务器节点集群为过载非平衡集群F1,并进入步骤006 ;gR2/Rl ^ 3/2,则中央服务器节点判断其所对应的服务器节点集群为轻载非平衡集群F2,并进入步骤009 ;SRl/R2〈3/2或R2/Rl〈3/2,则中央服务器节点判断其所对应的服务器节点集群为平衡集群T,并进入步骤005。
[0043]步骤005.各个平衡集群中的中央服务器节点ai,分别获得对应平衡集群中除中央服务器节点ai之外所有服务器节点的平均负载A,并根据平均负载A,分别采用完全分布式负载平衡算法针对对应平衡集群中除中央服务器节点ai之外所有服务器节点进行负载平衡处理,所述分布式云计算中心负载平衡方法结束;其中,所述步骤005具体包括如下步骤:
[0044]步骤00501.各个平衡集群中的中央服务器节点ai,分别根据其对应平衡集群中其它各个服务器节点的负载L,分别获得对应平衡集群中除中央服务器节点ai之外所有服务器节点的平均负载A,并进入步骤00502。
[0045]步骤00502.各个平衡集群中的中央服务器节点ai,分别将对应平衡集群中其它各个服务器节点按负载由轻至重的顺序进行排序,并进入步骤00503。
[0046]步骤00503.各个平衡集群中的中央服务器节点ai,分别针对其平衡集群中低于对应平均负载A的各个服务器节点,按顺序将第一个服务器节点的负载分配给第二个服务器节点;然后将其平衡集群中负载最重的服务器节点上的负载部分分配至该第一个服务器节点上,使得该第一个服务器节点上的负载等于平均负载A,进入步骤00504。
[0047]步骤00504.各个平衡集群中的中央服务器节点ai,分别判断其平衡集群中其它各个服务器节点的负载是否均等于对应平均负载A,是则所述分布式云计算中心负载平衡方法结束,否则,进入步骤00505。
[0048]步骤00505.各个平衡集群中的中央服务器节点ai,分别根据Gossip-BasedAggregat1n Protocol更新获得对应平衡集群中其它各个服务器节点的负载L,并返回步骤00502。
[0049]步骤006.各个过载非平衡集群中的中央服务器节点ai,分别根据Gossip-BasedAggregat1n Protocol获得云计算中心其它集群的类型,并将各个集群按节点距离由近至远的顺序进行排序,构成表Vi ;然后各个过载非平衡集群中的中央服务器节点ai,分别在对应的Vi表中,按顺序且按Fl类型集群查找F2类型集群、F2类型集群查找Fl类型集群规则,查找一个与之相互补的轻载非平衡集群进行匹配,且该轻载非平衡集群没有与其它过载非平衡集群相匹配,并进入步骤007。
[0050]步骤007.各个过载非平衡集群中的中央服务器节点ai,分别和与之匹配相互补的轻载非平衡集群中的中央服务器节点aj进行通信,分别将过载非平衡集群中负载最重的服务器节点分配给与其匹配相互补的轻载非平衡集群中,并且将轻载非平衡集群中负载最轻的服务器节点分配给与其匹配相互补的过载非平衡集群中,即ai将表Ti中最后一个服务器节点分配给与其匹配相互补的轻载非平衡集群中,然后aj将Tj中第一个服务器节点分配给与其匹配相互补的过载非平衡集群中,进入步骤008。
[0051 ] 步骤008.各个过载非平衡集群中的中央服务器节点ai,分别按照步骤003的方法更新其对应过载非平衡集群中的Rl值,并且与其匹配相互补的轻载非平衡集
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1