一种HP2P网络负载平衡的方法技术

技术编号:15400466 阅读:98 留言:0更新日期:2017-05-24 10:18
一种HP2P网络负载平衡的方法,其包括,HP2P网络群间负载平衡的方法,通过群分裂以及群在网络地址空间的移动来实现群之间的负载转移,并通过新节点加入负载较大的群诱导群发生分裂和合并从而使得负载较大的地址空间群数目较多,负载较小的地址空间群数目较少;HP2P网络群内负载平衡的方法,通过超级节点对群内负载有效的调度,使群内负载率较低的节点找到群内负载率较高的节点。

A load balancing method for HP2P networks

Method, a HP2P network load balancing includes load balancing methods, HP2P network group, through mobile group division and group in the network address space to realize the load transfer between groups, and the new node is added to load large group induced group happened to split and merge so that a larger load address space group number more, less loaded address space group number is less; load balancing methods of HP2P network within the group, the group of load in the effective scheduling of super nodes within the group, the load rate of the lower nodes find node group load rate higher.

【技术实现步骤摘要】
一种HP2P网络负载平衡的方法
本专利技术属于互联网计算
,主要涉及P2P网络,尤其涉及混合层次化P2P网络(HP2P),具体是一种HP2P网络的负载平衡方法。本专利技术可以应用于各种基于HP2P的网络软件。
技术介绍
近几年来,随着点对点网络技术的迅速发展,基于点对点(Peer-to-Peer,简称P2P)网络技术的软件受到了大量互联网用户的青睐。现在一些国内比较流行的网络软件比如迅雷、腾讯QQ、PPTV、酷狗音乐等都使用了P2P网络技术。在P2P网络软件中,由于用户对资源需求的不均衡性以及网络中计算机能力的异构性,使得P2P网络中一直存在节点(P2P网络中的计算机)负载不平衡的现象。而近些年来随着P2P网络软件用户的快速增长,网络中节点负载不平衡的现象愈专利技术显,进而引起请求延时、网络拥塞等问题,严重影响了P2P网络的整体性能。当前,对于P2P网络负载平衡问题的研究主要集中在结构化P2P网络领域,并且已经出现了一些比较有代表性的解决该问题的方法。比如虚拟服务器方法(VirtualServer)、多哈希选择方法(PowerofTwoChoices)、地址空间平衡方法(Address-SpaceBalancing)、存储文件平衡方法(ItemBalancing)。其中:虚拟服务器方法:在P2P网络中,每个物理节点虚拟化为多个虚拟服务器,每个虚拟服务器单独维护一段地址空间。每个虚拟服务器都拥有自己独立的路由表和数据对象,当需要对数据对象进行定位时,定位的过程是在虚拟服务器上发起的,而不是在实际的节点之上。当节点出现负载过重或者过轻的时候,以虚拟服务器为最小的负载迁移单位。通过一个物理节点上的虚拟节点“离开网络”,同时在另一个物理节点中,“离开”的虚拟节点重新加入网络,最后接收该虚拟节点负责的数据对象,完成负载的迁移。由于每个虚拟服务器都需要维护自身的路由表,所以这相当于一个物理节点需要维护多个路由表,这将浪费大量带宽。同时,由于一个物理节点管理了P2P网络中的多个虚拟服务器,所以当一个物理节点加入或离开网络时,相当于有多个虚拟服务器加入或离开网络,这将大大增加网络的抖动,这将对稳定性本就较差的结构化P2P网络造成致命的影响。多哈希选择方法:该方法假设有d>=2个众所周知的哈希函数h1(),...,hd()。当结构化P2P网络中一个节点需要向网络中增添一个资源x时,该节点将根据d个哈希函数为资源x计算d个哈希值h1(x),...,hd(x)。而后该节点将向负责在结构化P2P网络中维护这d个哈希值的节点询问它们当前的负载情况,并从这d个节点中选择一个负载最轻的节点A负责维护资源x的索引,同时另外d-1个节点将存放一个指向节点A的指针。同时网络中的每个节点都具有一个负载触发器,当一个节点的负载过大时,触发器事件将会被触发。触发事件选择要进行迁移的资源索引,然后把这些资源以重新加入网络的方式把资源索引转移到其他节点上。地址空间平衡方法:该方法假设网络中的每个节点在结构化P2P网络中具有O(logN)个潜在的ID,但是一个时间只有一个ID处于激活状态。节点根据当前整个网络的负载情况来确定自己ID来完成负载之间的迁移,从而实现P2P网络的负载平衡。存储文件平衡方法:该方法中li表示一个节点i的负载,并且确定一个常数ε(0<ε<1)。节点i随机的在网络中选择另一个节点j,如果它们的负载满足比较式lj<ε·li,那么节点j就需要根据改变自身地址空间的方式实现负载迁移。若i=j+1,表明i是j的后继节点,这时节点j增加他的地址空间,使i的部分负载转到j。若i≠j+1,节点j就把自己的地址空间转移到i-1和i之间,把原来的负载就交给j+1负责,然后节点j获取部分节点i的负载。对于基于洪泛查询的非结构化P2P网络,由于每个节点只维护自身所发布的资源,所以无法调节每个节点所维护的资源数目。现今对于非结构P2P网络负载平衡的研究主要集中于如何在网络中设计合理缓存机制以及如何在节点频繁加入和退出网络的情况下,仍能保证整个非结构化P2P网络保持随机图的特性。基于洪泛的非结构P2P网络和基于分布式哈希表(DHT)的结构化P2P网络是当前P2P应用领域比较流行的P2P网络。其中,非结构化P2P网络结构较为简单,容易实现,且稳定性很高,但是其网络负载高,可扩展性较差;结构化P2P网路网络负载小,查询效率高,但是其稳定性较差。混合多层P2P网络(HybridHierarchicalP2PNetwork,简称HP2P)结合了结构化P2P和非结构化P2P各自的优点,得到了一种稳定高、查询效率高、可扩展较好的新型P2P网络。在HP2P中,网络中的节点首先按照群(Cluster)的方式进行组织,群的内部使用非结构化P2P网络中的洪泛方式进行消息传递。群内由少量超级节点和大量普通节点组成。群之间使用改进的Chord协议组织成一个结构化P2P网络。每个群在Chord上作为一个虚拟的节点存在,虚拟节点的路由表由群中的若干个超级节点共同维护。而群内普通节点与上层Chord网络的通信都需要通过这些超级节点帮忙转发。由于HP2P网络拓扑结构的特殊性,所以当前的结构化P2P网络的负载平衡方法都无法解决HP2P网络群间负载平衡的问题。同时由于群内节点能力的异构性以及需要维护网络中其它节点发布的元数据(资源的索引),所以群内网络的负载平衡问题与传统的非结构化P2P网络负载平衡问题有很大不同。
技术实现思路
为了解决上述问题,本专利技术提供一种HP2P网络负载平衡的方法,其特征在于:其包括,HP2P网络群间负载平衡的方法,通过群分裂以及群在网络地址空间的移动来实现群之间的负载转移,并通过新节点加入负载较大的群诱导群发生分裂和合并,使负载较大的地址空间群数目增多,负载较小的地址空间群数目减少,其中负载定义为该群中节点单位时间所需要处理消息的平均数目;HP2P网络群内负载平衡的方法,通过超级节点对群内负载有效的调度,使群内负载率较低的节点找到群内负载率较高的节点,其中根据HP2P网络特性,负载近似定义为群内节点所需要维护的元数据数目,负载率定义为负载与节点能力的比值,且所述元数据为资源的索引。在上述技术问题的基础上,所述HP2P网络群间负载平衡的方法包括:步骤(A1)群A的超级节点S随机地向周围k·log2N个群发送群负载请求消息,获取所述k·log2N个群的负载信息,并通过计算这k·log2N个群的负载平均值来估算出当前整个HP2P网络的群平均负载Loadavg,其中k是一个在区间[1,N/log2N]取值的整数,N为网络中群的数目;步骤(A2)如果群A当前负载Load>γ·Loadavg,且群分裂成的两个小群中节点数目均大于HP2P网络群节点数目下限,则将该群分裂成两个群,其中γ是一个大于1的实数,HP2P网络群间负载平衡方法本次执行结束;否则转至步骤(A3);步骤(A3)构建HP2P网络的Chord环,群A向其前驱群和后继群发送负载请求消息,从而获取前驱群和后继群的当前负载情况,其中前驱群为HP2P网络Chord环中离群A最近的前一个群,后继群为HP2P网络Chord环中离群A最近的后一个群;步骤(A4)如果群A当前负载Load>本文档来自技高网
...
一种HP2P网络负载平衡的方法

【技术保护点】
一种HP2P网络负载平衡的方法,其特征在于:其包括,HP2P网络群间负载平衡的方法,通过群分裂以及群在网络地址空间的移动来实现群之间的负载转移,并通过新节点加入负载较大的群诱导群发生分裂和合并,使负载较大的地址空间群数目增多,负载较小的地址空间群数目减少,其中负载定义为该群中节点单位时间所需要处理消息的平均数目;HP2P网络群内负载平衡的方法,通过超级节点对群内负载有效的调度,使群内负载率较低的节点找到群内负载率较高的节点,进而将负载率较高的节点负载转移至负载率较低的节点来实现群内节点间的负载平衡,其中根据HP2P网络特性,负载定义为群内节点所需要维护的元数据数目,负载率定义为负载与节点能力的比值,且所述元数据为资源的索引;所述HP2P网络群间负载平衡的方法包括:步骤(A1)群A的超级节点S随机地向周围k·log

【技术特征摘要】
1.一种HP2P网络负载平衡的方法,其特征在于:其包括,HP2P网络群间负载平衡的方法,通过群分裂以及群在网络地址空间的移动来实现群之间的负载转移,并通过新节点加入负载较大的群诱导群发生分裂和合并,使负载较大的地址空间群数目增多,负载较小的地址空间群数目减少,其中负载定义为该群中节点单位时间所需要处理消息的平均数目;HP2P网络群内负载平衡的方法,通过超级节点对群内负载有效的调度,使群内负载率较低的节点找到群内负载率较高的节点,进而将负载率较高的节点负载转移至负载率较低的节点来实现群内节点间的负载平衡,其中根据HP2P网络特性,负载定义为群内节点所需要维护的元数据数目,负载率定义为负载与节点能力的比值,且所述元数据为资源的索引;所述HP2P网络群间负载平衡的方法包括:步骤(A1)群A的超级节点S随机地向周围k·log2N个群发送群负载请求消息,获取所述k·log2N个群的负载信息,并通过计算这k·log2N个群的负载平均值来估算出当前整个HP2P网络的群平均负载Loadavg,其中k是一个在区间[1,N/log2N]取值的整数,N为网络中群的数目;步骤(A2)若群A当前负载Load>γ·Loadavg,且群分裂成的两个小群中节点数目均大于HP2P网络群节点数目下限,则将该群分裂成两个群,其中γ是一个大于1的实数,HP2P网络群间负载平衡的方法本次执行结束;否则转至步骤(A3);步骤(A3)构建HP2P网络中Chord环,群A向其前驱群和后继群发送负载请求消息,从而获取前驱群和后继群的当前负载情况,其中前驱群为HP2P网络Chord环中离群A最近的前一个群,后继群为HP2P网络Chord环中离群A最近的后一个群;步骤(A4)如果群A当前负载Load>Loadavg则转至步骤(A5),如果Load<Loadavg则转至步骤(A8);否则HP2P网络群间负载平衡的方法执行结束;步骤(A5)如果群A负载Load≥Loadlight/(1-2·β),则将自身负载降低β,其中β是一个在区间(0,0.5)取值的实数,并转至步骤(A6);否则转至步骤(A8);其中Loadlight为该群的前驱群和后继群中负载较小的群的负载;步骤(A6)如果Loadlight为群A的前驱群的负载,则群A通知其前驱群沿着Chord环顺时针移动,移动的地址空间长度为(Load-Loadlight)×Length/(2×Load),并将相应的元数据转移到前驱群中,HP2P网络群间负载平衡的方法本次执行结束,其中Length为群A在Chord环中所维护的地址空间长度;否则转至步骤(A7);步骤(A7)Loadlight为群A的后继群的负载,则群A沿着Chord环逆时针移动,移动的地址空间长度为(Load-Loadlight)×Length/(2×Load),并将相应的元数据转移到后继群中,而后HP2P网络群间负载平衡的方法本次执行结束;步骤(A8)如果Load≤(1-2·β)·Loadheavy,并转至步骤(A9);其中Loadheavy为该群的前驱群和后继群中负载较重群的负载,β是一个在区间(0,0.5)取值的实数,否则HP2P网络群间负载平衡方法执行结束;步骤(A9)如果Loadheavy为群A的前驱群的负载,则群A通知其前驱群沿着Chord环逆时针移动,移动的地址空间长度为(Loadheavy-Load)×Lengthpredecessor/(2×Loadheavy),并从前驱群获取相应的元数据,其中Lengthpredecessor为前驱群在Chord环中所维护的地址空间长度,而后HP2P网络群间负...

【专利技术属性】
技术研发人员:段振华郭建根王小兵田聪张南黄伯虎
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1