专利名称:基于移动智能体的无结构对等网络负载均衡方法及系统的制作方法
技术领域:
本发明涉及对等网络技术领域,尤其涉及一种基于移动智能体的无结构对等网络负载均衡方法及系统。
背景技术:
近年来,对等(Peer-to_Peer,P2P)网络已逐渐发展成一种重要的网络模式。这是因为与传统的客户机/服务器(Client/Server,C/S)模式相比,对等网络具有容错性好、可扩展性强、成本低廉、可以充分利用分布资源等优势。对等网络在文件共享、分布式计算、流媒体服务等发面已有广泛的应用。对等网络分为两种有结构的和无结构的,有结构的对等网络对节点的连接有严·格的限制,而无结构的对等网络节点的连接有很大的自由度。由于无结构对等网络节点的分布式特点,节点只知道其邻居节点的资源,却并不知道网络中其它节点上资源的分布情况,因此无结构对等网络中一个极大的难题是网络中的资源定位问题。为此已经提出许多搜索方法来实现无结构对等网络上资源的有效定位,如洪泛法、random walks、APS(Adaptive Probability Search)等。然而以上方法在资源查找过程中由于查询消息的转发,导致网络中部分节点在查找过程中需要处理的消息过多而出现消息拥塞,进而严重影响搜索的继续进行,造成搜索性能的下降,因而如何在对等网络中实现负载均衡就显得尤为重要。所谓负载均衡是指将网络负载依据节点的处理能力分摊到各个节点上。现有的负载均衡方法主要有两类,一类是研究通过动态改变网络拓扑结构来实现网络的负载均衡策略,改变网络拓扑结构的方法可以使处理能力强的节点拥有更多的邻居,分担更多的网络负载,充分利用自身的处理能力,达到负载均衡的目的。如Gia根据节点的满意度水平来调整网络结构;Luis等提出的DANTE,节点定期发起重连,并利用节点的吸引力来确定可以重连到那些节点。这些方法中节点发起查询的速率都是固定的,拓扑结构基本稳定后如果网络中的查询负载突然增大很容易在中心节点引发拥塞。另一类是研究在不改变网络的拓扑结构的基础上来实现负载均衡方法,该类方法通过把拥塞节点的多余查询消息有目的地转移到有多余处理能力的节点来实现负载均衡,在这类研究中最关键的问题是如何发现拥塞,由于移动智能体的高灵活性、高效性、低负载、低通信延迟、高异步性等特点,使它逐渐被应用到了拥塞感知方法中。Shekhar等提出了一种基于拥塞感知的移动智能体路由协议,移动智能体随机地从邻居节点中选择下一个访问节点;Li等提出了一种基于移动智能体的对等网络负载均衡方法,移动智能体通过轮流访问节点中的所有节点,来寻找拥塞节点。但是现有的基于移动智能体的负载均衡方法都是在不改变网络的拓扑结构的基础上进行的。有鉴于此,有必要提出了一种新的基于移动智能体的无结构对等网络负载均衡方法及系统。
发明内容
本发明的目的在于提供一种基于移动智能体的无结构对等网络负载均衡方法及系统,避免了网络节点拥塞,实现负载均衡。本发明的一种基于移动智能体的无结构对等网络负载均衡方法,所述方法包括以下步骤SI、网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构;S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。作为本发明的进一步改进,所述步骤SI具体为
·
S11、节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集;S12、将节点搜集消息转发到一个随机选择的邻居节点,并将该节点添加到集合Si ;同时存活时间TTL减I ;若存活时间TTL不等于0,则重复步骤S12,继续搜集节点;S13、将候选节点集Si返回给消息发起节点Pi ;S14、从节点Pi的当前邻居节点集合中选择处理能力最弱且连接度大于I的节点
Pmin(Ni);S15、从候选节点集Si中取出处理能力最强的节点,记为Pmaxtei),并将其从Si中删除,若节点Pmaxtei)的处理能力不大于Pmin(Ni),执行步骤S17 ;若节点Pmaxtei)的处理能力大于Pmin(Ni),则向节点P_(Si)发出连接请求,若该节点Pmax(Si)拒绝连接请求,则重复步骤S15,继续选择下一个重连节点,若节点Pmax(Si)接受重连请求,则执行步骤S16 ;S16、节点Pi断开与选择的邻居节点Pmin(Ni)的连接并与节点Pmax(Si)建立连接。若重新连接的节点个数达到预先设定的节点重连个数的上限数n,则执行步骤S17 ;若否,则执行步骤S14,选择下一次参加重连的节点;S17、本次拓扑调整结束。作为本发明的进一步改进,所述步骤S2具体为S21、移动智能体搜集信息计算节点P」在当前时刻t的拥塞水平(/),并利用 的值来判断节点的拥塞状态,包括对每个节点设定过载、正常负载和过载三种负载
状态,并设定负载状态阈值,将计算出的M值与设定的负载状态阈值相比较从而确定节点的当前负载状态;若节点P」负载状态是过载,则执行步骤S22 ;否则执行步骤S23,进行拓扑的优化,选择下一个访问节点;S22、所述节点P」随机选择一部分节点断开连接,并派生出一个子移动智能体;所述子移动智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,子移动智能体主动退出网络;S23、移动智能体根据节点Pj的邻居节点P。对该移动智能体的吸引力表以及访问过的节点列表,来选择下一个访问节点,并迁移到该节点;所述访问过的节点列表用于记录智能体访问过的节点;所述邻居节点吸引力表是网络中任一个节点用于记录的其邻居节点的对移动智能体吸引力的表。作为本发明的进一步改进,所述步骤S21中,所述节点P」在当前时刻t的拥塞水平(/)的计算公式为
权利要求
1.一种基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述方法包括以下步骤 51、网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构; 52、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。
2.根据权利要求I所述的方法,其特征在于,所述步骤SI具体为 511、节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集; 512、将节点搜集消息转发到一个随机选择的邻居节点,并将该节点添加到集合Si;同 时存活时间TTL减I ;若存活时间TTL不等于O,则重复步骤S12,继续搜集节点; 513、将候选节点集Si返回给消息发起节点Pi; 514、从节点Pi的当前邻居节点集合中选择处理能力最弱且连接度大于I的节点Pmin(Ni); 515、从候选节点集Si中取出处理能力最强的节点,记为晚,并将其从Si中删除,若节点POTUXf1Sy的处理能力不大于"PmlBfWy,执彳丁步骤S17 ;若节点的处理能力大于,则向节点发出连接请求,若该节拒绝连接请求,则重复步骤S15,继续选择下一个重连节点,若节点匕⑵两接受重连请求,则执行步骤S16 ; 516、节点Pi断开与选择的邻居节点Pmin(Ni)的连接并与节点Pmaxtei)建立连接;若重新连接的节点个数达到预先设定的节点重连个数的上限数n,则执行步骤S17 ;若否,则执行步骤S14,选择下一次参加重连的节点; 517、本次拓扑调整结束。
3.根据权利要求I所述的基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述步骤S2具体为 521、移动智能体搜集信息计算节点P」在当前时刻t的拥塞水平(/),并利用(/)的值来判断节点的拥塞状态,包括对每个节点设定过载、正常负载和过载三种负载状态,并设定负载状态阈值,将计算出的⑷值与设定的负载状态阈值相比较从而确定节点的当前负载状态;若节点&负载状态是过载,则执行步骤S22 ;否则执行步骤S23,进行拓扑的优化,选择下一个访问节点; 522、所述节点P」随机选择一部分节点断开连接,并派生出一个子移动智能体;所述子移动智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,子移动智能体主动退出网络; 523、移动智能体根据节点P」的邻居节点P。对该移动智能体的吸引力表以及访问过的节点列表,来选择下一个访问节点,并迁移到该节点;所述访问过的节点列表用于记录智能体访问过的节点;所述邻居节点吸引力表是网络中任一个节点用于记录的其邻居节点的对移动智能体吸引力的表。
4.根据权利要求3所述的基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述步骤S21中进一步包括 步骤S210所述节点Pj根据自己的负载状态决定是否接受其它节点的连接请求若节点Pj当前为过载状态,节点Pj不接受其它节点连接请求;若节点Pj当前为正常负载,且此时如果节点Pj的上一个状态为过载,则节点Pj不接受其它节点连接请求;若节点Pj上一个状态不是过载,而节点Pj当前为正常状态,则节点Pj接受其它节点的连接请求;若节点Pj当前状态为轻载则节点P」接受其它节点的连接请求。
5.根据权利要3所述的方法,其特征在于,所述步骤S21中,所述节点P」在当前时刻t,.It ()r (I)的拥塞水平。⑺的计算公式为
6.根据权利要3所述的基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述步骤S23中,所述节点Pj设有一个该节点的邻居节点P。吸引力表,该表用来记录节点Pj上所有邻居节点的处理能力连通度X (P0, k); 邻居节点P。对移动智能体的吸引力计算如下
7.根据权利要4所述的基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述步骤S21中“将计算出的M值与设定的负载状态阈值相比较从而确定节点的当前负载状态”具体为设定的两个阈值Utod、Btod,若,节点匕的状态是过载的,记变量<= CLp (0 <= Utbicit ,节点Pj是正常负载的,记变量flag=0。若CLp (7) < ,节点Pj的状态是轻载的,记变量f Iag=-I。
8.根据权利要7所述的基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述步骤S210具体包括所述节点Pj当前变量状态f lag=l,节点Pj不接受其它节点连接请求;若节点Pj当前状态flag=0,且此时如果节点Pj的上一个变量状态flag=l,则节点Pj不接受其它节点连接请求;若节点Pj上一个变量状态flag=0或-1,而节点Pj当前变量状态f Iag=O则节点Pj可以接受其它节点的连接请求;若节点Pj当前变量状态f Iag=-I,则节点P」可以接受其它节点的连接请求。
9.一种基于移动智能体的无结构对等网络负载均衡系统,其特征在于,所述系统包括 拓扑调整单元,用于网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构的单元; 拓扑优化单元,用于通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化的单元; 其中,所述拓扑调整单元包括 节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集的单元;将节点搜集消息转发到一个随机选择的邻居节点,并将该节点添加到集合Si ;将候选节点集Si返回给消息发起节点Pi的单元; 从节点Pi的当前邻居节点集合中选择处理能力最弱且连接度大于I的节点pmin(Ni)的单元; 从候选节点集Si中取出处理能力最强的节点Pmaxtei),比较节点Pmax(Si) Pmin(Ni) 的处理能力,则向节点Pmax(Si)发出连接请求的单元; 节点Pi断开与选择的邻居节点Pmin(Ni)的连接并与节点Pmax(Si)建立连接的单元; 所述拓扑优化单元包括 移动智能体搜集信息计算节点P」在当前时刻t的拥塞水平(/),对每个节点设定过载、正常负载和过载三种负载状态,并设定负载状态阈值,将计算出的⑴值与设定的负载状态阈值相比较从而确定节点的当前负载状态的单元; 节点Pj随机选择一部分节点断开连接,并派生出一个子移动智能体的单元; 子移动智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,子移动智能体主动退出网络的单元; 移动智能体根据节点P」的邻居节点P。对移动智能体的吸引力以及访问过的节点列表来选择下一个访问节点,并迁移到该节点的单元。
10.根据权利要求9所述的基于移动智能体的无结构对等网络负载均衡系统,其特征 在于,所述节点匕在当前时刻t的拥塞水平a⑺的计算公式为
全文摘要
本发明提供一种基于移动智能体的无结构对等网络负载均衡方法及系统,目的是避免网络节点拥塞,实现负载均衡。实现本发明目的的技术方案是一种基于移动智能体的无结构对等网络负载均衡方法,包括以下步骤S1、网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构;S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。
文档编号H04L29/08GK102790804SQ20121026561
公开日2012年11月21日 申请日期2012年7月29日 优先权日2012年7月29日
发明者沈项军, 蒋中秋, 谷培影 申请人:江苏大学