一种基于蚁群算法的P2P负载均衡方法及系统技术方案

技术编号:11138062 阅读:131 留言:0更新日期:2015-03-12 16:20
本发明专利技术实施例公开了一种基于蚁群算法的P2P负载均衡方法及系统,其中,该方法包括:利用蚁群优化算法为当前的一轮迭代构建初始解;如果构建的初始化解是非可行解,在ejection-chain邻域上执行一次解可行化的搜索过程N(x),将初始化解转化成可行解x';如果构建的初始化解是可行解x',在ejection-chain邻域上执行降低代价的搜索过程N'(x),将可行解x'转化成代价更低的解x″;如果解x″优于当前最优解,则x″用代替当前最优解,并根据x″更新信息素。实施本发明专利技术实施例,响应速度快,有效地适应节点负载波动较大场合,降低网络开销,有效地实现负载均衡。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种基于蚁群算法的P2P负载均衡方法及系统
技术介绍
随着网络技术的日益发展,P2P(Peer-to-Peer)网络技术得到了很大的发展和应用空间。目前,P2P技术已经应用到网络生活的方方面面,例如即时通讯、资源下载、数据共享、视频播放等,给网络用户带来了全新的体验。P2P技术高效的利用了网络带宽,为用户提供了高速流畅的网络应用,得到广大用户的认可和支持,进一步推动了P2P技术的发展。然而,P2P网络技术的应用得到高速发展的同时,给运营商网络带来了越来越重的负担,使网络带宽被大量消耗,甚至出现网络拥塞的现象。网络带宽的消耗以及网络拥塞的出现,使网络性能大幅下降,网络状况不稳定。P2P网络的具有分布式存储的特性,不同数据可以保存于相距甚远的节点中。由于用户对P2P网络上的数据需求的不平衡,而且经常会出现个别的数据在短时间内需求激增,这样就会导致某些节点的成为“热点”(hotspot),节点上的负载大幅上升,甚至出现过载的情况。这时,就会出现负载失衡的现象。一方面,热点节点上的负载过大,使得节点的处理能力被大量损耗,以致用户出现访问延时或者是无法访问的情况,从而使P2P网络性能大幅下降;另一方面,P2P网络上其他节点闲置的处理能力没有得到充分的利用,网络资源利用率不高。P2P网络负载均衡的研究正是针对上述问题而提出的。P2P网络的负载均衡技术主要是通过将负载从热点节点转移到其他空闲节点上来实现负载均衡。现有的一些负载均衡算法:(1)PeXChang负载均衡模型,采用种加权最小连接均衡算法,以解决对等点出的负载均衡问题,加权最小链接调度算法是最小连接均衡算法的超集,各个处理机用相应的权值表示其处理性能,处理机的缺省权值为1,管理员根据具体配置动态地设置处理机的权值。(2)自适应负载均衡方法,即由逻辑链路迁移和缓存相结合来实现节点负载均衡。(3)空间均划分的均衡力一法和文件密度划分的均衡方法,这些均衡方法实际是空间均衡划分的一种改进。(4)基于移动agent的任务负载均衡策略,它将节点划分为:轻载节点、超载节点和适量任务节点,由于P2P网络中随时有DHT节点离开导致其整体处理能力发生改变,所以在每次进行资源分配前都要重新计算当前网络的处理能力和负载,并由KT树的叶子节点,将其报告给父节点并最终报告给根节点,对Ni来说有任务量。(5)一种结构化P2P网络动态负载均衡算法,其中运用了利用率(utilization)的概念,并且用了负载不均衡度,及时掌握节点的负载状况和利用率。(6)基本超市模式,运用随机探测算法,将随机的负载平衡行为计划进在一般的P2P环境,记录作为一个用户请求到达泊松流的收集服务器。这种算法具有可扩展性,因为每个控制消息的决策人数几乎不变,即使系统规模扩大也如此。因此具有一定的适用性也能减少一些负载费用。也有用分布式哈希表(DHT)以避免负载均衡问题中的性能退化和保障制度的公平性。在这个方法中每个节点有足够的信息来充当交会目录并执行系统内的负载平衡,交会目录的位置是随机的每一轮,从而进一步提高了系统的应变能力。但是这些算法在具有自身优点的同时,还存在着一些不足。P2P网络的负载问题,往往因没有考虑节点能力上的不同,出现高能力节点空闲、低能力节点过于忙碌的情况。而真正好的负载均衡应该是各节点各尽所能,即节点根据自己的能力大小参与对等计算。最初对这认识这个问题并且加以解决的P2P网络是KaZaA和eDonkey,它们把高负载能力的节点当做网络的主干——超载节点,而让那些负载能力较低的节点作为普通节点,超节点的身份对普通节点都是可见的,这样很容易为恶意节点攻击网络带来了方便。目前己有的均衡算法中所存在的主要存的不足:(1)方法通过虚拟服务器迁移或DHT调整节点承载的键值空间或文件数目以实现负载均衡,没有考虑用户查询的不平衡性。即使这些方法可以实现单个节点只承载一个热点文件,承载热点文件的节点负载仍然远大于一般节点,不能解决zipf查询下的负载均衡问题;(2)某些方法是在节点超载时再执行负载均衡算法,是一种较为被动的平衡方法。当节点超载时再执行平衡算法,平衡算法开销有可能加剧超载节点的过载程度,使算法响应速度变慢;(3)算法仅考虑瞬间的负载信息,不考虑负载历史信息,不能做出较为合理的分配策略,当节点负载波动较大时,平衡算法需要反复执行,网络开销较大。
技术实现思路
本专利技术的目的在于克服现有技术的不足,本专利技术提供了一种基于蚁群算法的P2P负载均衡方法及系统,响应速度快,有效地适应节点负载波动较大场合、降低网络开销。为了解决上述问题,本专利技术提出了一种基于蚁群算法的P2P负载均衡方法,所述方法包括:利用蚁群优化算法为当前的一轮迭代构建初始解;如果构建的初始化解是非可行解,在ejection-chain邻域上执行一次解可行化的搜索过程N(x),将初始化解转化成可行解x';如果构建的初始化解是可行解x',在ejection-chain邻域上执行降低代价的搜索过程N'(x),将可行解x'转化成代价更低的解x″;如果解x″优于当前最优解,则x″用代替当前最优解,并根据x″更新信息素。优选地,所述利用蚁群优化算法为当前的一轮迭代构建初始解的步骤包括:以p0的概率,虚拟服务器i分配给τij最大且能容纳i的负载的节点j*;以1-p0的概率,按照的概率分布选择一个有足够容量的节点;如果已经再没有节点能容纳剩下的任务,则将任务随机分配;其中,输入参数τij为信息量的大小,表示将任务i分配给节点j的期望大小,参数p0控制了系统中蚂蚁的对路径的利用程度和开拓程度。优选地,在所述将初始化解转化成可行解x'的步骤之前还包括:设置系统的溢出函数f'(x),根据判断初始化解是否为可行解,当函数值为0时,解为可行解,否则为非可行解。优选地,所述在ejection-chain邻域上执行降低代价的搜索过程N'(x)的步骤包括:根据N′(x)=...

【技术保护点】
一种基于蚁群算法的P2P负载均衡方法,其特征在于,所述方法包括:利用蚁群优化算法为当前的一轮迭代构建初始解;如果构建的初始化解是非可行解,在ejection‑chain邻域上执行一次解可行化的搜索过程N(x),将初始化解转化成可行解x';如果构建的初始化解是可行解x',在ejection‑chain邻域上执行降低代价的搜索过程N'(x),将可行解x'转化成代价更低的解x″;如果解x″优于当前最优解,则x″用代替当前最优解,并根据x″更新信息素。

【技术特征摘要】
1.一种基于蚁群算法的P2P负载均衡方法,其特征在于,所述方法包
括:
利用蚁群优化算法为当前的一轮迭代构建初始解;
如果构建的初始化解是非可行解,在ejection-chain邻域上执行一次解
可行化的搜索过程N(x),将初始化解转化成可行解x';
如果构建的初始化解是可行解x',在ejection-chain邻域上执行降低代
价的搜索过程N'(x),将可行解x'转化成代价更低的解x″;
如果解x″优于当前最优解,则x″用代替当前最优解,并根据x″更新信
息素。
2.如权利要求1所述的基于蚁群算法的P2P负载均衡方法,其特征在
于,所述利用蚁群优化算法为当前的一轮迭代构建初始解的步骤包括:
以p0的概率,虚拟服务器i分配给τij最大且能容纳i的负载的节点j*;
以1-p0的概率,按照的概率分布选择一个有足够容量的<...

【专利技术属性】
技术研发人员:苏航冯玉财刘海亮
申请(专利权)人:中山大学深圳研究院
类型:发明
国别省市:广东;44

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

1