在分布式网络中实现动态负载平衡的方法和系统的制作方法

文档序号:8003656阅读:395来源:国知局
在分布式网络中实现动态负载平衡的方法和系统的制作方法
【专利摘要】本发明提供了一种在分布式网络中实现动态负载平衡的方法和系统。该方法包括:确定分布式网络的节点平均负载计算值;将节点平均负载计算值与一下限阈值和一上限阈值分别进行比较;当节点平均负载计算值低于下限阈值的时候,将分布式网络中至少一个节点置于休眠状态;以及当节点平均负载计算值高于上限阈值的时候,将分布式网络中至少一个已休眠节点唤醒。本发明的方法和系统在网络负载较低时休眠部分节点并在网络负载较高时将其唤醒,很好地实现了网络节点间的负载平衡,同时提高了分布式网络的能耗效率,降低了网络系统能源消耗。
【专利说明】在分布式网络中实现动态负载平衡的方法和系统
【技术领域】
[0001]本发明涉及网络通信技术,尤其涉及一种在分布式网络中实现动态负载平衡的方法和系统。
【背景技术】
[0002]随着云计算技术的不断发展,云计算数据中心的规模越来越大,数据中心物理服务器的密度也越来越大。传统的数据处理和分析方法受到单机CPU、内存的限制,进行海量运算时候会遇到瓶颈。在这种情况下,很多新的分布式网络技术诞生出来并获得广泛应用,例如Hadoop等。Hadoop是一个能够对大量数据进行分布式处理的软件框架,其极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式网络系统上。
[0003]在新技术诞生的同时,在之前针对分布式网络负载性能改进的大量研究基础上,研究人员已开始把注意力放在了分布式网络的节能研究上。Stanford大学的一个团队认为分布式网络在节能方面存在非常大的改进空间,建议对节点数据采用新的算法;加州大学伯克利分校基于节点、工作时间、功率建立了一个模型,并认为基于这个模型能取得较好效果;瑞士科学家修改了分布式网络的块分配算法,从而减少了分布式网络的能源消耗;此夕卜,动态电压调节也被研究人员广泛使用于减少网络能耗,不过不足的是它需要特殊的硬件环境。
[0004]与此同时,人们开始意识到优化能耗效率和优化负载性能有同样的价值,单纯强调负载均衡或者单纯强调节能而对系统的整体性能不能兼顾都是不够的。但是,现有技术针对分布式网络的应用中还缺少可以兼顾动态负载均衡和节能两方面的技术。

【发明内容】

[0005]有鉴于此,本发明的一个目的在于提供一种分布式网络技术,以在实现分布式网络的动态负载平衡的基础上提高分布式网络的能耗效率,降低网络系统能源消耗。
[0006]根据本发明的一个方面,提供了一种在分布式网络中实现动态负载平衡的方法,所述方法包括:
[0007]节点平均负载计算值确定步骤,确定所述分布式网络的节点平均负载计算值;
[0008]阈值比较步骤,将所述节点平均负载计算值与一下限阈值和一上限阈值分别进行比较;
[0009]休眠步骤,当所述节点平均负载计算值低于所述下限阈值的时候,将所述分布式网络中至少一个节点置于休眠状态;以及
[0010]唤醒步骤,当所述节点平均负载计算值高于所述上限阈值的时候,将所述分布式网络中至少一个已休眠节点唤醒。
[0011]根据上述技术方案,本发明的方法在网络负载较低时休眠部分节点并在网络负载较高时将其唤醒,很好地实现了网络节点间的负载平衡,同时提高了分布式网络的能耗效率,降低了网络系统能源消耗。而且,本发明的方法在考虑分布式网络负载状况时将节点平均负载计算值作为考虑因素,这相对于现有技术中普遍采用负载最高节点作为考虑因素的方式更加关注了分布式网络的整体负载状态,在达到节约网络能源的基础上进一步改善了分布式网络的整体负载均衡。
[0012]优选地,所述分布式网络是Hadoop网络。Hadoop集群是一种典型的分布式网络结构,可以采用本发明的上述方法来实现动态负载平衡。
[0013]优选地,所述节点平均负载计算值确定步骤中,同时考虑节点的CPU负载和内存负载两方面,设置节点的负载向量为L = <LCPU, L_>,其中Lcpu表示CPU负载,Lnrem表示内存负载,并设置变量P表示节点负载中CPU负载所占权重,其中O < P < I。在现有技术中的网络负载计算方案中,通常仅考虑(PU的运算负载,而并未将数据计算中另一个关键因素——内存负载加以考虑。本发明技术方案同时考虑节点的CPU负载和内存负载两方面,这样更加客观地反映了网络节点的实际负载状态,提高了本方法运行的效率和准确性。
[0014]优选地,以下述方式之一来计算当前时刻t的所述节点平均负载计算值Load(t):
[0015]方式I:
【权利要求】
1.一种在分布式网络中实现动态负载平衡的方法,其特征在于,所述方法包括: 节点平均负载计算值确定步骤,确定所述分布式网络的节点平均负载计算值; 阈值比较步骤,将所述节点平均负载计算值与一下限阈值和一上限阈值分别进行比较; 休眠步骤,当所述节点平均负载计算值低于所述下限阈值的时候,将所述分布式网络中至少一个节点置于休眠状态;以及 唤醒步骤,当所述节点平均负载计算值高于所述上限阈值的时候,将所述分布式网络中至少一个已休眠节点唤醒。
2.根据权利要求1所述的方法,其特征在于,所述分布式网络是Hadoop网络。
3.根据权利要求1所述的方法,其特征在于,在所述节点平均负载计算值确定步骤中,同时考虑节点的CPU负载和内存负载两方面,设置节点的负载向量为L = <LCPU, L_>,其中Lcpu表示CPU负载,Lmem表示内存负载,并设置变量P表示节点负载中CPU负载所占权重,其中 O < P < I。
4.根据权利要求3所述的方法,其特征在于,以下述方式之一来计算当前时刻t的所述节点平均负载计算值Load (t):
5.根据权利要求1所述的方法,其特征在于,在所述节点平均负载计算值确定步骤中采用动态负反馈负载计算方法,所述节点平均负载计算值确定步骤进一步包括: 步骤201:计算当前时刻t的节点平均负载Load(t); 步骤202:计算上一时刻t-Ι的节点平均负载Load(t-l); 步骤203:计算当前时刻的节点平均负载与上一时刻的节点平均负载的差值Load (t) -Load (-l);以及 步骤204:基于当前时刻的节点平均负载Load (t)、当前时刻的节点平均负载与上一时刻的节点平均负载的差值Load (t) -Load (t-1),来共同确定所述分布式网络当前的节点平均负载计算值Load (t) ’。
6.根据权利要求5所述的方法,其特征在于,在所述节点平均负载计算值确定步骤中,同时考虑节点的CPU负载和内存负载两方面,设置节点的负载向量为L = <LCPU, L_>,其中Lcpu表示CPU负载,Lmem表示内存负载,并设置变量P表示节点负载中CPU负载所占权重,其中 O < P < I。
7.根据权利要求6所述的方法,其特征在于,以下述方式之一来计算节点平均负载:
8.根据权利要求5所述的方法,其特征在于,在所述步骤204中,以如下方式之一来确定所述分布式网络当前时刻t的节点平均负载计算值Load (t)’:
方式 1: 1.0cuh!、’ = Load (t) - ψ..()ad ()、- ? f>ud (1-1),其中 m 是大于等于 3 的奇数; 方式 2:Load(t)' = Load(t)-kX (Load (t)-Load (t_l)),其中 k 是大于 0 的反馈系数;
方式 3: IakuHj)'= 1.0ad(/)/(1-1- ψικιο!{!)-1.0mH1- \)),其中 m 是大于等于 3 的奇数。
9.根据权利要求1所述的方法,其特征在于,在所述休眠步骤中,采用随机方法或轮询方法来选择至少一个节点,并将其置于休眠状态。
10.根据权利要求1所述的方法,其特征在于,在所述休眠步骤中,确定所述分布式网络中当前负载最小的至少一个节点,并将其置于休眠状态。
11.根据权利要求1所述的方法,其特征在于,在所述休眠步骤中,采用最小抖动负载积方法来确定所述分布式网络中的至少一个节点,并将其置于休眠状态, 所述休眠步骤进一步包括: 步骤301:计算当前每个节点的负载值Loa(Kti); 步骤302:计算上一时刻每个节点的负载值LoadUt-Di); 步骤303:计算每个节点当前时刻负载值与上一时刻负载值的差值Load (t》-Load ((t_l) J ; 步骤304:计算一抖动系数A = Loa视)-Loa轉U.At 步骤305:计算考虑抖动后的每个节点当前负载值LoacKtiV = KXLoacKti); 步骤306:选择考虑抖动后节点当前负载值最小的至少一个节点;以及 步骤307:将所选择的至少一个节点置于休眠状态, 其中i=l,2,......,η ;n表示所述分布式网络的节点总数。
12.根据权利要求10或11所述的方法,其特征在于,以下述方式之一计算节点i的负载值:
方式 1: Load(Ii) = XL2cpnw +(l-p)xIJmemw ; 方式 2:Load(tt) = pxLcmo + (1-1?)x。
13.根据权利要求1所述的方法,其特征在于,在所述唤醒步骤中,如果所述分布式网络中当前不存在已休眠节点,则启动至少一个新节点。
14.一种在分布式网络中实现动态负载平衡的系统,其特征在于,所述系统包括: 节点平均负载计算值确定单元,用于确定所述分布式网络的节点平均负载计算值; 阈值比较单元,用于将所述节点平均负载计算值与一下限阈值和一上限阈值分别进行比较; 休眠单元,用于当所述节点平均负载计算值低于所述下限阈值的时候,将所述分布式网络中至少一个节点置于休眠状态;以及 唤醒单元,用于当所述节点平均负载计算值高于所述上限阈值的时候,将所述分布式网络中至少一个已休眠节点唤醒。
15.根据权利要求14所述的系统,其特征在于,所述节点平均负载计算值确定单元同时考虑节点的CPU负载和内存负载两方面,其设置节点的负载向量为L = <LCPU, L_>,其中Lcpu表示CPU负载,Lmem表示内存负载,并设置变量P表示节点负载中CPU负载所占权重,其中 O < P < I。
16.根据权利要求15所述的系统,其特征在于,所述节点平均负载计算值确定单元以下述方式之一来计算t时刻的所述节点平均负载计算值Load (t):
17.根据权利要求14所述的系统,其特征在于,所述节点平均负载计算值确单元进一步包括如下单元: 第一单元:用于计算当前时刻t的节点平均负载Load(t); 第二单元:用于计算上一时刻t-Ι的节点平均负载Load(t-l); 第三单元:用于计算当前时刻的节点平均负载与上一时刻的节点平均负载的差值Load (t) -Load (t-l);以及 第四单元:用于基于当前时刻的节点平均负载Load(t)、当前时刻的节点平均负载与上一时刻的节点平均负载的差值Load(t)-Load(t-l),来共同确定所述分布式网络当前的节点平均负载计算值Load (t) ’。
18.根据权利要求17所述的系统,其特征在于,所述节点平均负载计算值确定单元同时考虑节点的CPU负载和内存负载两方面,其设置节点的负载向量为L = <LCPU, L_>,其中Lcpu表示CPU负载,Lmem表示内存负载,并设置变量P表示节点负载中CPU负载所占权重,其中 O < P < I。
19.根据权利要求18所述的系统,其特征在于,所述第一单元或第二单元以下述方式之一来计算节点平均负载:
20.根据权利要求17所述的系统,其特征在于,所述第四单元以如下方式之一来确定所述分布式网络的当前时刻t的节点平均负载计算值Load(t)’: 方式 1:
21.根据权利要求14所述的系统,其特征在于,所述休眠单元采用随机方法或轮询方法来选择至少一个节点,并将其置于休眠状态。
22.根据权利要求14所述的系统,其特征在于,所述休眠单元确定所述分布式网络中当前负载最小的至少一个节点,并将其置于休眠状态。
23.根据权利要求14所述的系统,其特征在于,所述休眠单元进一步包括: 第五单元:用于计算当前每个节点的负载值LoacKti); 第六单元:用于计算上一时刻每个节点的负载值LoadUt-Di); 第七单元:用于计算每个节点当前时刻负载值与上一时刻负载值的差值Load (tj) -Load ((t_l) j); 第八单元:用于计算一抖动系数
24.根据权利要求22或23所述的系统,其特征在于,所述第五单元或者第六单元以下述方式之一计算节点i的负载值:
方式1:
25.根据权利要求14所述的系统,其特征在于,如果所述分布式网络中当前不存在已休眠节点,所述唤醒单元则启动至少一个新节点。
26.一种基于动态负反馈的分布式网络中节点平均负载计算值的确定方法,其特征在于,所述方法包括: 步骤1:计算所述分布式网络中当前时刻t的节点平均负载Load(t); 步骤2:计算所述分布式网络中上一时刻t-Ι的节点平均负载Load(t-l); 步骤3:计算当前时刻的节点平均负载与上一时刻的节点平均负载的差值Load (t) -Load (t-1);以及 步骤4:基于当前时刻的节点平均负载Load (t)、当前时刻的节点平均负载与上一时刻的节点平均负载的差值Load (t)-Load (t-Ι),来共同确定所述分布式网络中当前的节点平均负载计算值Load (t) ’。
27.根据权利要求26所述的方法,其特征在于,所述方法同时考虑节点的CPU负载和内存负载两方面,设置节点的负载向量为L = <LCPU, L_>,其中Lcpu表示CPU负载,Lm表示内存负载,并设置变量P表示节点负载中CPU负载所占权重,其中O < P < I。
28.根据权利要求27所述的方法,其特征在于,以下述方式之一来计算节点平均负载
29.根据权利要求26所述的方法,其特征在于,在所述步骤4中,以如下方式之一来确定所述分布式网络当前时刻t的节点平均负载计算值Load(t)’: 方式 1:——,其中 m 是大于等于 3 的奇数; 方式 2:
30.一种基于动态负反馈的分布式网络中节点平均负载计算值的确定装置,其特征在于,所述装置包括:第一单元:用于计算所述分布式网络中当前时刻t的节点平均负载Load(t); 第二单元:用于计算所述分布式网络中上一时刻t-Ι的节点平均负载Load(t-1);第三单元:用于计算当前时刻的节点平均负载与上一时刻的节点平均负载的差值Load (t) -Load (t- 1);以及 第四单元:用于基于当前时刻的节点平均负载Load(t)、当前时刻的节点平均负载与上一时刻的节点平均负载的差值Load(t)-Load(t-Ι),来共同确定所述分布式网络中当前的节点平均负载计算值Load(t)’。
31.根据权利要求30所述的装置,其特征在于,所述装置同时考虑节点的CPU负载和内存负载两方面,设置节点的负载向量为L = <LCPU, L_>,其中Lcpu表示CPU负载,Lm表示内存负载,并设置变量P表示节点负载中CPU负载所占权重,其中O < P < I。
32.根据权利要求31所述的装置,其特征在于,所述第一单元和所述第二单元以下述方式之一来计算节点平均负载:
33.根据权利要求30所述的装置,其特征在于,所述第四单元以如下方式之一来确定所述分布式网络当前时刻t的节点平均负载计算值Load(t)’:方式 1:
【文档编号】H04L12/803GK103428102SQ201310339581
【公开日】2013年12月4日 申请日期:2013年8月6日 优先权日:2013年8月6日
【发明者】田文洪, 谢西庭 申请人:北京智谷睿拓技术服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1