发明名称 一种基于P2P网络的负载均衡的方法
摘要 一种基于P2P网络的负载均衡的方法,包括以下步骤:1)计算P2P网络中各个节点的负载能力、节点的利用率和系统的利用率为;2)每个片区确定属于轻载系统或重载系统,将轻载系统的负载信息存放到链表W3中;节点为轻载或重载,将各个节点以及节点的属性信息存放在链表W1中;将属性为轻载的节点在链表W1中的位置信息存放在链表W2中;3)将P2P网络中所有节点按照节点所带文件的ID进行分层,构造出层次结构的无向图;计算无向图路径上的权重;4)当有外界节点要进入P2P网络时,找出轻载的系统,然后将节点选定该系统进行插入,进行文件的查询。本发明能提升响应速度,有效适应节点负载波动较大场合、降低网络开销。
申请公布号 CN102158559A 申请公布日期 2011.08.17
申请号 CN201110097088.X 申请日期 2011.04.18
申请人 浙江工业大学 发明人 张兵权;王霜;杨志民
分类号 H04L29/08(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;王利强
主权项 一种基于P2P网络的负载均衡的方法,其特征在于:所述负载均衡的方法包括以下步骤:1)计算P2P网络中各个节点的负载能力Capability:Capability=a1×P(Cpu)+a2×P(Memory)+a3×P(Space)+a4×P(BandWidth)                                                           (2.1)其中,a1、a2、a3、a4为加权因子,Cpu为处理器性能,Memory为硬盘的存储大小,Space为内存的大小,BandWidth为带宽,P()表示影响因素对节点的负载能力的量化函数;计算P2P网络中各个节点的的利用率NodeUtilization,节点A的利用率(N.utlA)指的是节点A的在当前的负载转移中正在转移或者拷贝的所有文件的大小∑Fsize与节点A的带宽BandWidth的比值,即: <mrow> <mi>N</mi> <mo>.</mo> <mi>utlA</mi> <mo>=</mo> <mfrac> <mrow> <mi>&Sigma;Fsize</mi> <mo>.</mo> <mi>A</mi> </mrow> <mi>Bandwidth</mi> </mfrac> <mo>&times;</mo> <mn>100</mn> <mo>%</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.2</mn> <mo>)</mo> </mrow> </mrow>计算系统的利用率为SystemUtilization,系统B的利用率S.utlB指的是B系统当前的重载节点的总数Sum.loadH与系统B中节点的总和Sum.load的比值,即: <mrow> <mi>S</mi> <mo>.</mo> <mi>utlB</mi> <mo>=</mo> <mfrac> <mrow> <mi>Sum</mi> <mo>.</mo> <mi>loadH</mi> </mrow> <mrow> <mi>Sum</mi> <mo>.</mo> <mi>load</mi> </mrow> </mfrac> <mo>&times;</mo> <mn>100</mn> <mo>%</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.3</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>2)将P2P网络中所有节点分成多个片区,每个片区分别依照公式(2.3)计算系统的利用率,如果系统利用率小于等于阈值,则为轻载系统,如果系统利用率大于阈值,则为重载系统,将轻载系统的负载信息存放到链表W3中;将各个片区内的节点依照公式(2.2)计算节点的利用率,如果节点利用率小于等于阈值,则节点属性为轻载,如果节点利用率大于阈值,则为节点属性为重载,将各个节点,以及节点的属性信息存放在链表W1中;将属性为轻载的节点在链表W1中的位置信息存放在链表W2中;3)将P2P网络中所有节点按照节点所带文件的ID进行分层,构造出层次结构的无向图;无向图中相邻的两个节点m和n,它们在当前负载转移中各自处于被利用状态的总文件大小分别计为∑Fsize.m和∑Fsize.n,将它们之间的最优负载量设为Wm,n, <mrow> <mi>&Delta;</mi> <mo>=</mo> <mo>|</mo> <mfrac> <mrow> <mi>&Sigma;Fsize</mi> <mo>.</mo> <mi>m</mi> <mo>-</mo> <msub> <mi>W</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> </mrow> <mrow> <mi>Bandwidth</mi> <mo>.</mo> <mi>m</mi> </mrow> </mfrac> <mo>-</mo> <mfrac> <mrow> <mi>&Sigma;Fsize</mi> <mo>.</mo> <mi>n</mi> <mo>+</mo> <msub> <mi>W</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> </mrow> <mrow> <mi>Bandwidth</mi> <mo>.</mo> <mi>n</mi> </mrow> </mfrac> <mo>|</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.4</mn> <mo>)</mo> </mrow> </mrow>即当Δ取最小时,函数中的Wm,n为最优,即那个时候的负载转移量为最优,将这个时候的最优转移量比上节点m和节点n的带宽BandWidth.n和BandWidth.m之和,得到的小数设为无向图路径上的权重Power,即: <mrow> <mi>Power</mi> <mo>=</mo> <mfrac> <msub> <mi>W</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> <mrow> <mi>BandWidth</mi> <mo>.</mo> <mi>m</mi> <mo>+</mo> <mi>BandWidth</mi> <mo>.</mo> <mi>n</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.5</mn> <mo>)</mo> </mrow> </mrow>4)、当有外界节点要进入P2P网络时,先根据当前各个片区的系统节点利用率,找出轻载的系统,然后将节点选定该系统进行插入,如果是进行文件的查询,先根据信息存储链表W2,找到含有要查询信息的轻载节点地址,根据这个地址,找到节点在链表W1里储存的信息,即该节点现在的具体负载信息,找到节点在无向图中的位置,再根据需要查询文件的ID找到节点层,然后根据路径上的权重值,以权重大的优先为原则找出最优路径,根据所述最优路径将要进入的负载节点的需要的操作完成。
地址 310014 浙江省杭州市下城区朝晖六区