CN102790804A - 基于移动智能体的无结构对等网络负载均衡方法及*** - Google Patents
基于移动智能体的无结构对等网络负载均衡方法及*** Download PDFInfo
- Publication number
- CN102790804A CN102790804A CN2012102656139A CN201210265613A CN102790804A CN 102790804 A CN102790804 A CN 102790804A CN 2012102656139 A CN2012102656139 A CN 2012102656139A CN 201210265613 A CN201210265613 A CN 201210265613A CN 102790804 A CN102790804 A CN 102790804A
- Authority
- CN
- China
- Prior art keywords
- node
- intelligent mobile
- mobile agent
- neighbor
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种基于移动智能体的无结构对等网络负载均衡方法及***,目的是避免网络节点拥塞,实现负载均衡。实现本发明目的的技术方案是:一种基于移动智能体的无结构对等网络负载均衡方法,包括以下步骤:S1、网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构;S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。
Description
技术领域
本发明涉及对等网络技术领域,尤其涉及一种基于移动智能体的无结构对等网络负载均衡方法及***。
背景技术
近年来,对等(Peer-to-Peer,P2P)网络已逐渐发展成一种重要的网络模式。这是因为与传统的客户机/服务器(Client/Server,C/S)模式相比,对等网络具有容错性好、可扩展性强、成本低廉、可以充分利用分布资源等优势。对等网络在文件共享、分布式计算、流媒体服务等发面已有广泛的应用。
对等网络分为两种:有结构的和无结构的,有结构的对等网络对节点的连接有严格的限制,而无结构的对等网络节点的连接有很大的自由度。由于无结构对等网络节点的分布式特点,节点只知道其邻居节点的资源,却并不知道网络中其它节点上资源的分布情况,因此无结构对等网络中一个极大的难题是网络中的资源定位问题。为此已经提出许多搜索方法来实现无结构对等网络上资源的有效定位,如洪泛法、random walks、APS(Adaptive ProbabilitySearch)等。然而以上方法在资源查找过程中由于查询消息的转发,导致网络中部分节点在查找过程中需要处理的消息过多而出现消息拥塞,进而严重影响搜索的继续进行,造成搜索性能的下降,因而如何在对等网络中实现负载均衡就显得尤为重要。
所谓负载均衡是指将网络负载依据节点的处理能力分摊到各个节点上。现有的负载均衡方法主要有两类,一类是研究通过动态改变网络拓扑结构来实现网络的负载均衡策略,改变网络拓扑结构的方法可以使处理能力强的节点拥有更多的邻居,分担更多的网络负载,充分利用自身的处理能力,达到负载均衡的目的。如Gia根据节点的满意度水平来调整网络结构;Luis等提出的DANTE,节点定期发起重连,并利用节点的吸引力来确定可以重连到那些节点。这些方法中节点发起查询的速率都是固定的,拓扑结构基本稳定后如果网络中的查询负载突然增大很容易在中心节点引发拥塞。另一类是研究在不改变网络的拓扑结构的基础上来实现负载均衡方法,该类方法通过把拥塞节点的多余查询消息有目的地转移到有多余处理能力的节点来实现负载均衡,在这类研究中最关键的问题是如何发现拥塞,由于移动智能体的高灵活性、高效性、低负载、低通信延迟、高异步性等特点,使它逐渐被应用到了拥塞感知方法中。Shekhar等提出了一种基于拥塞感知的移动智能体路由协议,移动智能体随机地从邻居节点中选择下一个访问节点;Li等提出了一种基于移动智能体的对等网络负载均衡方法,移动智能体通过轮流访问节点中的所有节点,来寻找拥塞节点。但是现有的基于移动智能体的负载均衡方法都是在不改变网络的拓扑结构的基础上进行的。
有鉴于此,有必要提出了一种新的基于移动智能体的无结构对等网络负载均衡方法及***。
发明内容
本发明的目的在于提供一种基于移动智能体的无结构对等网络负载均衡方法及***,避免了网络节点拥塞,实现负载均衡。
本发明的一种基于移动智能体的无结构对等网络负载均衡方法,所述方法包括以下步骤:
S1、网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构;
S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。
作为本发明的进一步改进,所述步骤S1具体为:
S11、节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集;
S12、将节点搜集消息转发到一个随机选择的邻居节点,并将该节点添加到集合Si;同时存活时间TTL减1;若存活时间TTL不等于0,则重复步骤S12,继续搜集节点;
S13、将候选节点集Si返回给消息发起节点Pi;
S14、从节点Pi的当前邻居节点集合中选择处理能力最弱且连接度大于1的节点Pmin(Ni);
S15、从候选节点集Si中取出处理能力最强的节点,记为Pmax(Si),并将其从Si中删除,若节点Pmax(Si)的处理能力不大于Pmin(Ni),执行步骤S17;若节点Pmax(Si)的处理能力大于Pmin(Ni),则向节点Pmax(Si)发出连接请求,若该节点Pmax(Si)拒绝连接请求,则重复步骤S15,继续选择下一个重连节点,若节点Pmax(Si)接受重连请求,则执行步骤S16;
S16、节点Pi断开与选择的邻居节点Pmin(Ni)的连接并与节点Pmax(Si)建立连接。若重新连接的节点个数达到预先设定的节点重连个数的上限数n,则执行步骤S17;若否,则执行步骤S14,选择下一次参加重连的节点;
S17、本次拓扑调整结束。
作为本发明的进一步改进,所述步骤S2具体为:
S21、移动智能体搜集信息计算节点Pj在当前时刻t的拥塞水平并利用的值来判断节点的拥塞状态,包括对每个节点设定过载、正常负载和过载三种负载状态,并设定负载状态阈值,将计算出的值与设定的负载状态阈值相比较从而确定节点的当前负载状态;若节点Pj负载状态是过载,则执行步骤S22;否则执行步骤S23,进行拓扑的优化,选择下一个访问节点;
S22、所述节点Pj随机选择一部分节点断开连接,并派生出一个子移动智能体;所述子移动智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,子移动智能体主动退出网络;
S23、移动智能体根据节点Pj的邻居节点Po对该移动智能体的吸引力表以及访问过的节点列表,来选择下一个访问节点,并迁移到该节点;所述访问过的节点列表用于记录智能体访问过的节点;所述邻居节点吸引力表是网络中任一个节点用于记录的其邻居节点的对移动智能体吸引力的表。
作为本发明的进一步改进,所述步骤S21中进一步包括:
步骤S210所述节点Pj根据自己的负载状态决定是否接受其它节点的连接请求:若节点Pj当前为过载状态,节点Pj不接受其它节点连接请求;若节点Pj当前为正常负载,且此时如果节点Pj的上一个状态为过载,则节点Pj不接受其它节点连接请求;若节点Pj上一个状态不是过载,而节点Pj当前为正常状态,则节点Pj接受其它节点的连接请求;若节点Pj当前状态为轻载则节点Pj接受其它节点的连接请求。
作为本发明的进一步改进,所述步骤S21中“将计算出的值与设定的负载状态阈值相比较从而确定节点的当前负载状态”具体为:设定的两个阈值Uthred、Bthred,若节点Pj的状态是过载的,记变量flag=1,若节点Pj是正常负载的,记变量flag=0。若节点Pj的状态是轻载的,记变量flag=-1。
作为本发明的进一步改进,所述步骤S210具体包括:所述节点Pj当前变量状态flag=1,节点Pj不接受其它节点连接请求;若节点Pj当前状态flag=0,且此时如果节点Pj的上一个变量状态flag=1,则节点Pj不接受其它节点连接请求;若节点Pj上一个变量状态flag=0或-1,而节点Pj当前变量状态flag=0则节点Pj可以接受其它节点的连接请求;若节点Pj当前变量状态flag=-1,则节点Pj可以接受其它节点的连接请求。
作为本发明的进一步改进,所述步骤S23中,所述节点Pj设有一个该节点的邻居节点Po吸引力表,该表用来记录节点Pj上所有邻居节点的处理能力及连通度χ(Po,k);邻居节点Po对移动智能体的吸引力计算如下:
所述邻居节点Po的连通度计算公式如下:
其中,N(Po,h)表示与邻居节点Po相距h跳的节点的个数,k表示计算连通度的半径,δ是控制系数,1/hδ用来控制不同距离节点对连通度影响的权重,χ(Po,k)越大节点Po可能接收到的查询消息越多。
相应地,一种基于移动智能体的无结构对等网络负载均衡***,所述***包括:
拓扑调整单元,用于网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构的单元;
拓扑优化单元,用于通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化的单元;
其中,所述拓扑调整单元包括:
节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集的单元;
将节点搜集消息转发到一个随机选择的邻居节点,并将该节点添加到集合Si;
将候选节点集Si返回给消息发起节点Pi的单元;
从节点Pi的当前邻居节点集合中选择处理能力最弱且连接度大于1的节点Pmin(Ni)的单元;
从候选节点集Si中取出处理能力最强的节点Pmax(Si),比较节点Pmax(Si)与Pmin(Ni)的处理能力,则向节点Pmax(Si)发出连接请求的单元;
节点Pi断开与选择的邻居节点Pmin(Ni)的连接并与节点Pmax(Si)建立连接的单元;
所述拓扑优化单元包括:
节点Pj随机选择一部分节点断开连接,并派生出一个子移动智能体的单元;
子移动智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,子移动智能体主动退出网络的单元;
移动智能体根据节点Pj的邻居节点Po对移动智能体的吸引力以及访问过的节点列表来选择下一个访问节点,并迁移到该节点的单元。
作为本发明***的进一步改进,所述节点Pj在当前时刻t的拥塞水平的计算公式为:
所述邻居节点Po对移动智能体的吸引力计算如下:
所述邻居节点Po的连通度计算公式如下:
其中,N(Po,h)表示与邻居节点Po相距h跳的节点的个数,k表示计算连通度的半径,δ是控制系数,1/hδ用来控制不同距离节点对连通度影响的权重,χ(Po,k)越大节点Po可能接收到的查询消息越多。
本发明的有益效果是:本发明网络中每个节点定期启动拓扑重连机制,以形成中心化的拓扑结构。同时节点不断搜集邻居节点的处理能力、连通度等信息以指导移动智能体有目的在网络中不断迁移并不断监控网络中重要节点的负载情况,对网络的拓扑结构进行优化调整,避免拥塞的发生,从而实现无结构对等网络上的负载均衡,还可以根据网络的负载状况及时的调整网络拓扑结构,能够有效地避免网络节点拥塞,提高资源查找效率。
附图说明
图1为本发明一种基于移动智能体的无结构对等网络负载均衡方法的流程图。
图2为图1中步骤S1网络节点拓扑定期调整的具体流程图。
图3为图1中步骤S2移动智能体的拓扑优化的具体流程图。
图4为本发明一实施方式中网络拓扑模拟图。
图5为本发明一实施方式中经过拓扑重连后网络节点的聚集程度图。
图6为本发明一实施方式中经过拓扑重连后网络中不同能力节点的平均连接度变化图。
图7为本发明一实施方式中经过拓扑重连后查询需要的经过的平均节点数变化图。
图8为本发明一种基于移动智能体的无结构对等网络负载均衡***结构示意图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
参图1所示为本发明一种基于移动智能体的无结构对等网络负载均衡方法的流程图,包括以下步骤:
S1、网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构;
S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。
参图2所示为本实施方式中步骤S1网络节点拓扑定期调整的具体流程图,包括以下步骤:
S11、节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集。假设该候选节点集合为Si,且初始Si为空,该消息的存活时间TTL(Time to Live,TTL)为K;
S12、将节点搜集消息转发到一个随机选择的邻居节点,并将该节点添加到集合Si。搜集消息的存活时间TTL减1,判断存活时间TTL是否等于0,若是,节点搜集过程结束,执行步骤S13,若否,重复步骤S12,继续搜集该节点;
S13、将候选节点集Si返回给消息发起节点Pi;
S14、从节点Pi的当前邻居节点集合中选择处理能力最弱且连接度大于1的节点Pmin(Ni),Ni是节点Pi的邻居节点的集合;
S15、从候选节点集Si中取出处理能力最强的节点Pmax(Si),并将节点Pmax(Si)其从Si中删除。比较节点Pmax(Si)与Pmin(Ni)的处理能力,若节点Pmax(Si)的处理能力不大于Pmin(Ni),则执行步骤S17;若节点Pmax(Si)的处理能力大于Pmin(Ni),则向节点Pmax(Si)发出连接请求。若节点Pmax(Si)拒绝连接请求,则重复步骤S15,继续选择下一个重连节点,若节点Pmax(Si)接受连接请求,则执行步骤S16;
S16、节点Pi断开与选择的邻居节点Pmin(Ni)的连接并与节点Pmax(Si)建立连接。若重新连接的节点个数达到预先设定的节点重连个数的上限数n,则执行步骤S17;若否,则执行步骤S14,选择下一次参加重连的节点;
S17、本次拓扑调整结束。
单纯依靠节点自身定期的拓扑重连,最终会形成一个以处理能力最强的几个节点为中心的集中式网络,在没有拥塞的情况下这种结构的网络资源查找效率是最高的,但是几乎所有的节点的资源查找请求都会发送的中心节点,中心节点可能很容易就会发生拥塞,这会严重影响资源查找的效率,为了避免拥塞的发生,在此基础上又引入了基于移动智能体的拓扑优化方法。
参图3所示为本实施方式中步骤S2移动智能体的拓扑优化的具体流程图,包括以下步骤:
S21、移动智能体搜集信息计算节点Pj在当前时刻t的拥塞水平并利用的值来判断节点的拥塞状态,确定节点的当前负载状态,若节点Pj负载状态是过载的,则执行步骤S22;否则执行步骤S23,进行拓扑的优化,选择下一个访问节点;
S22、节点Pj随机选择一部分节点断开连接,并派生出一个子移动智能体;子移动智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,子移动智能体主动退出网络;
S23、移动智能体根据节点Pj的邻居对它的吸引力列表和移动智能体访问过的节点列表来选择下一个访问节点,并迁移到该节点。
表示节点Pj处理一条查询消息所需的时间;如果结点正在处理消息那么此时到来的消息都被放在该节点的消息缓存队列中,表示时刻t节点Pj的缓存队列中待处理的消息数。该公式表示在时刻t一个查询消息被转发到节点Pj到处理完毕需要花费的时间。
步骤S21中“确定节点的当前负载状态”具体为:
进一步地,节点Pj根据自己的负载状态决定是否接受其它节点的连接请求。即节点Pj当前变量状态flag=1,节点Pj不接受其它节点连接请求;若节点Pj当前状态flag=0,且此时如果节点Pj的上一个变量状态flag=1,则节点Pj不接受其它节点连接请求;若节点Pj上一个变量状态flag=0或-1,而节点Pj当前变量状态flag=0则节点Pj可以接受其它节点的连接请求;若节点Pj当前变量状态flag=-1,则节点Pj可以接受其它节点的连接请求。
在步骤S23中,为确定节点Pj上所有邻居节点的吸引能力,节点Pj保持有一个该节点的邻居节点吸引力表,该表用来记录节点Pj上所有邻居节点的处理能力及连通度。假设节点Pj的某一邻居节点为Po,Po的连通度计算公式如下:
其中N(Po,h)表示与节点Po相距h跳的节点的个数,k表示计算连通度的半径,δ是控制系数。1/hδ用来控制不同距离节点对连通度影响的权重,χ(Po,k)越大节点Po可能接收到的查询消息越多。
节点Po对移动智能体的吸引力计算如下:
下面给出本发明的一个具体实施过程的例子,实例中包含10000个网络节点,每个节点上有50个不同的数据,每个数据在网络中有100个副本。由加入网络的第一个节点生成移动智能体,节点的处理能力分五个水平分别为:0.1、1、10、100、1000,所占网络节点的百分比对应为:20、45、30、4.9、0.1,采用random walks的方式进行资源搜索,利用以下两个方式将进行拓扑重连,以实现负载均衡。一个是节点自身定期进行的拓扑重连,目的是使处理能力强的节点可以拥有更多的连接,从而能够处理更多的查询消息,充分利用它们的处理能力;另一个是基于移动智能体的拓扑优化,目的是防止处理能力强的节点拥有过多的邻居造成拥塞,反而影响网络的性能。
每个节点每隔30秒发起一次拓扑重连,使自身向处理能力强的节点连接,图4是网络拓扑的一个模拟图,下面为模拟图中一个节点P1的一次拓扑重连过程:
S11、节点P1发出搜集消息来搜集参加该节点拓扑调整的候选节点集。假设该候选节点集合为S1,且初始S1为空,存活时间TTL为5。
S12、将节点搜集消息转发到一个随机选择的邻居节点,并将该节点添加到集合S1,同时存活时间TTL减1。若存活时间TTL不等于0,则重复步骤S12,继续搜集节点;否则节点搜集过程结束,执行步骤S13。
S13、将候选节点集S1返回给消息发起节点P1,假设S1为{P,P4,P9,P12,P13},接着执行步骤S14。
S14、从节点P1的当前邻居节点集合,根据图4则P1节点当前邻居节点集合为{P,P3},选择处理能力最弱且连接度大于1的节点,记为Pmin(N1),N1是节点P1的邻居节点集;接着执行步骤S15。例如P1的邻居节点中当前处理能力最弱的节点是P3,Pmin(N1)为P3节点,然后执行步骤S15。
S15、从候选节点集S1中取出处理能力最强的节点,记为Pmax(S1),将Pmax(S1)从S1中删除,若节点Pmax(S1)的处理能力不大于Pmin(N1),则说明所有剩余候选节点的处理能力都比节点P1的现有邻居节点弱,执行步骤S17;若节点Pmax(S1)的处理能力大于Pmin(N1),则向节点Pmax(S1)发出连接请求,若该节点Pmax(S1)拒绝连接请求,则重复步骤S15,继续选择下一个重连节点,若节点Pmax(S1)接受重连请求,则执行步骤S16。例如从候选节点集S1选择当前处理能力最强的节点是P4,且P4的处理能力大于步骤S14中选择的P3节点,则节点P1向P4发出连接请求,且P4接受了连接请求,则执行步骤S16。
S16、节点P1断开与选择的邻居节点Pmin(N1)的连接并与节点Pmax(S1)建立连接,若已经有n个候选节点参与重连,本实例中n选择3,则执行步骤S17;否则执行步骤S14,开始选择下一次参加重连的节点。例如节点P1与通过步骤S14选择的P3节点断开连接并与P4节点建立连接,由于没有3个候选节点参与重连,则执行步骤S14,开始选择下一次参加重连的节点。
S17、本次拓扑调整结束。
参图4所示,假设移动智能体当前所在节点为P,移动智能体在节点P的拓扑优化过程如下:
S21、移动智能体搜集信息计算节点P在当前时刻T的拥塞水平CLP(T),并利用CLP(T)的值来判断节点的拥塞状态,同时每个节点都设定有三个负载状态,我们将计算出来的CLP(T)值与设定的两个阈值Uthred、Bthred相比较从而确定节点的当前负载状态。设定的两个阈值Uthred、Bthred分别为0.1和0.05。若CLP(T)>Uthred,节点的状态是过载的,记节点P在时刻T时的当前变量状态flag=1,此时认为该节点拥塞。若Bthred<=CLP(T)<=Uthred,节点P是正常负载,记flag=0。若CLP(T)<Bthred,节点P的状态是轻载的,记flag=-1。节点P根据它的负载状态决定下一个执行步骤,即若节点P的状态是过载的,则执行步骤S22,进行拓扑的优化;否则执行步骤S23,选择下一个访问节点。
此外节点P根据自己的负载状态决定是否接受其它节点的连接请求。即节点P当前变量状态flag=1,节点P不接受其它节点连接请求;若节点P当前状态flag=0,且此时如果节点P的上一个变量状态flag=1,则节点P不接受其它节点连接请求;若节点P上一个变量状态flag=0或-1,而节点P当前变量状态flag=0则节点P可以接受其它节点的连接请求;若节点P当前变量状态flag=-1,则节点P可以接受其它节点的连接请求;
S22、节点P随机选择一部分节点断开与之的连接,本实施例中一次与两个节点断开连接。假设节点P与两个节点断开连接,并派生出一个子移动智能体。
子移动智能体主要负责重连被断开的连接,子移动智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,此时子移动智能体主动退出网络;
S23、移动智能体根据节点P的邻居对它的吸引力及其访问过的节点列表来选择下一个访问节点,并迁移到该节点,其中k和δ分别为2和1。假设图4中节点P的邻居节点按照对移动智能体的吸引力从大到小排序为:P4、P5、P3、P1、P2,而移动智能体最近访问过的节点列表为:P12、P9、P4,所以移动智能体的下一个访问节点为P5。
图5是拓扑优化过程中网络节点的聚集程度CC(clustering coefficient)变化图,CC的计算公式如下:
其中V是网络中所有节点的集合,CCp是节点p的邻居节点的聚集系数,计算公式如下:
其中Np是节点p的邻居节点的集合,kp=|Np|是节点p的邻居节点的数目,E是网络中节点间的连接的集合。0<=CC<=1,CC值越小网络节点分布的越随机,CC值越大节点越集中。
由图5可以看出,随着拓扑结构的改变,节点的聚集程度越来越高,并达到一个基本稳定的状态,可见网络的拓扑结构由完全随机的,变得越来越集中了。
图6给出了拓扑重连过程中相同处理能力节点平均节点度(邻居节点的数目)的变化,实验中以100秒为单位来观察节点度的变化,可以看出开始有大量的节点重连到处理能力最强的节点,但很快就达到一个稳定的状态,而且处理能力越强的节点连接度越高,说明处理能力越强的节点可以分担越多的查询负载,能够充分利用网络节点的处理能力。
图7是查询成功需要的平均跳数的变化图,实验中对每1000个查询需要的跳数求均值得到如图的结果,随着对网络拓扑结构的优化,查询需要的平均跳数逐渐减小,从图中可以看出,拓扑优化后需要的跳数比开始降低了很多,而查询需要的跳数越少,搜索算法的效率就越高,可见基于移动智能体的拓扑优化方法大大提高了网络的搜索性能。
相应地,参图8所示,本发明的一种基于移动智能体的无结构对等网络负载均衡***100,包括:
拓扑调整单元10,用于网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构的单元;
拓扑优化单元20,用于通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化的单元;
拓扑调整单元10包括:
节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集的单元;
将节点搜集消息转发到一个随机选择的邻居节点,并将该节点添加到集合Si;
将候选节点集Si返回给消息发起节点Pi的单元;
从节点Pi的当前邻居节点集合中选择处理能力最弱且连接度大于1的节点Pmin(Ni)的单元;
从候选节点集Si中取出处理能力最强的节点Pmax(Si),比较节点Pmax(Si)与Pmin(Ni)的处理能力,则向节点Pmax(Si)发出连接请求的单元;
节点Pi断开与选择的邻居节点Pmin(Ni)的连接并与节点Pmax(Si)建立连接的单元;
拓扑优化单元20包括:
移动智能体搜集信息计算节点Pj在当前时刻t的拥塞水平对每个节点设定过载、正常负载和过载三种负载状态,并设定负载状态阈值,将计算出的值与设定的负载状态阈值相比较从而确定节点的当前负载状态的单元;其中,节点Pj在当前时刻t的拥塞水平的计算公式为:
节点Pj随机选择一部分节点断开连接,并派生出一个子移动智能体的单元;
子移动智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,子移动智能体主动退出网络的单元;
移动智能体根据节点Pj的邻居节点Po对移动智能体的吸引力以及访问过的节点列表来选择下一个访问节点,并迁移到该节点的单元;其中,邻居节点Po对移动智能体的吸引力计算如下:
所述邻居节点Po的连通度计算公式如下:
其中,N(Po,h)表示与邻居节点Po相距h跳的节点的个数,k表示计算连通度的半径,δ是控制系数,1/hδ用来控制不同距离节点对连通度影响的权重,χ(Po,k)越大节点Po可能接收到的查询消息越多。
与现有技术相比,本发明网络中每个节点定期启动拓扑重连机制,以形成中心化的拓扑结构。同时节点不断搜集邻居节点的处理能力、连通度等信息以指导移动智能体有目的在网络中不断迁移并不断监控网络中重要节点的负载情况,对网络的拓扑结构进行优化调整,避免拥塞的发生,从而实现无结构对等网络上的负载均衡,还可以根据网络的负载状况及时的调整网络拓扑结构,能够有效地避免网络节点拥塞,提高资源查找效率。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其它实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述方法包括以下步骤:
S1、网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构;
S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1具体为:
S11、节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集;
S12、将节点搜集消息转发到一个随机选择的邻居节点,并将该节点添加到集合Si;同时存活时间TTL减1;若存活时间TTL不等于0,则重复步骤S12,继续搜集节点;
S13、将候选节点集Si返回给消息发起节点Pi;
S14、从节点Pi的当前邻居节点集合中选择处理能力最弱且连接度大于1的节点Pmin(Ni);
S15、从候选节点集Si中取出处理能力最强的节点,记为并将其从Si中删除,若节点的处理能力不大于执行步骤S17;若节点的处理能力大于则向节点发出连接请求,若该节点拒绝连接请求,则重复步骤S15,继续选择下一个重连节点,若节点接受重连请求,则执行步骤S16;
S16、节点Pi断开与选择的邻居节点Pmin(Ni)的连接并与节点Pmax(Si)建立连接;若重新连接的节点个数达到预先设定的节点重连个数的上限数n,则执行步骤S17;若否,则执行步骤S14,选择下一次参加重连的节点;
S17、本次拓扑调整结束。
3.根据权利要求1所述的基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述步骤S2具体为:
S21、移动智能体搜集信息计算节点Pj在当前时刻t的拥塞水平并利用的值来判断节点的拥塞状态,包括对每个节点设定过载、正常负载和过载三种负载状态,并设定负载状态阈值,将计算出的值与设定的负载状态阈值相比较从而确定节点的当前负载状态;若节点Pj负载状态是过载,则执行步骤S22;否则执行步骤S23,进行拓扑的优化,选择下一个访问节点;
S22、所述节点Pj随机选择一部分节点断开连接,并派生出一个子移动智能体;所述子移动智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,子移动智能体主动退出网络;
S23、移动智能体根据节点Pj的邻居节点Po对该移动智能体的吸引力表以及访问过的节点列表,来选择下一个访问节点,并迁移到该节点;所述访问过的节点列表用于记录智能体访问过的节点;所述邻居节点吸引力表是网络中任一个节点用于记录的其邻居节点的对移动智能体吸引力的表。
4.根据权利要求3所述的基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述步骤S21中进一步包括:
步骤S210所述节点Pj根据自己的负载状态决定是否接受其它节点的连接请求:若节点Pj当前为过载状态,节点Pj不接受其它节点连接请求;若节点Pj当前为正常负载,且此时如果节点Pj的上一个状态为过载,则节点Pj不接受其它节点连接请求;若节点Pj上一个状态不是过载,而节点Pj当前为正常状态,则节点Pj接受其它节点的连接请求;若节点Pj当前状态为轻载则节点Pj接受其它节点的连接请求。
6.根据权利要3所述的基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述步骤S23中,所述节点Pj设有一个该节点的邻居节点Po吸引力表,该表用来记录节点Pj上所有邻居节点的处理能力及连通度χ(Po,k);
邻居节点Po对移动智能体的吸引力计算如下:
所述邻居节点Po的连通度计算公式如下:
其中,N(Po,h)表示与邻居节点Po相距h跳的节点的个数,k表示计算连通度的半径,δ是控制系数,1/hδ用来控制不同距离节点对连通度影响的权重,χ(Po,k)越大节点Po可能接收到的查询消息越多。
8.根据权利要7所述的基于移动智能体的无结构对等网络负载均衡方法,其特征在于,所述步骤S210具体包括:所述节点Pj当前变量状态flag=1,节点Pj不接受其它节点连接请求;若节点Pj当前状态flag=0,且此时如果节点Pj的上一个变量状态flag=1,则节点Pj不接受其它节点连接请求;若节点Pj上一个变量状态flag=0或-1,而节点Pj当前变量状态flag=0则节点Pj可以接受其它节点的连接请求;若节点Pj当前变量状态flag=-1,则节点Pj可以接受其它节点的连接请求。
9.一种基于移动智能体的无结构对等网络负载均衡***,其特征在于,所述***包括:
拓扑调整单元,用于网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构的单元;
拓扑优化单元,用于通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化的单元;
其中,所述拓扑调整单元包括:
节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集的单元;将节点搜集消息转发到一个随机选择的邻居节点,并将该节点添加到集合Si;将候选节点集Si返回给消息发起节点Pi的单元;
从节点Pi的当前邻居节点集合中选择处理能力最弱且连接度大于1的节点Pmin(Ni)的单元;
从候选节点集Si中取出处理能力最强的节点Pmax(Si),比较节点Pmax(Si)与Pmin(Ni)的处理能力,则向节点Pmax(Si)发出连接请求的单元;
节点Pi断开与选择的邻居节点Pmin(Ni)的连接并与节点Pmax(Si)建立连接的单元;
所述拓扑优化单元包括:
节点Pj随机选择一部分节点断开连接,并派生出一个子移动智能体的单元;
子移动智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,子移动智能体主动退出网络的单元;
移动智能体根据节点Pj的邻居节点Po对移动智能体的吸引力以及访问过的节点列表来选择下一个访问节点,并迁移到该节点的单元。
10.根据权利要求9所述的基于移动智能体的无结构对等网络负载均衡***,其特征在于,所述节点Pj在当前时刻t的拥塞水平的计算公式为:其中,表示节点Pj处理一条查询消息所需的时间;如果结点正在处理消息那么此时到来的消息都被放在该节点的消息缓存队列中,表示时刻t节点Pj的缓存队列中待处理的消息数;
所述邻居节点Po对移动智能体的吸引力计算如下:
所述邻居节点Po的连通度计算公式如下:
其中,N(Po,h)表示与邻居节点Po相距h跳的节点的个数,k表示计算连通度的半径,δ是控制系数,1/hδ用来控制不同距离节点对连通度影响的权重,χ(Po,k)越大节点Po可能接收到的查询消息越多。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210265613.9A CN102790804B (zh) | 2012-07-29 | 2012-07-29 | 基于移动智能体的无结构对等网络负载均衡方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210265613.9A CN102790804B (zh) | 2012-07-29 | 2012-07-29 | 基于移动智能体的无结构对等网络负载均衡方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102790804A true CN102790804A (zh) | 2012-11-21 |
CN102790804B CN102790804B (zh) | 2015-03-04 |
Family
ID=47156102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210265613.9A Expired - Fee Related CN102790804B (zh) | 2012-07-29 | 2012-07-29 | 基于移动智能体的无结构对等网络负载均衡方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102790804B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490413A (zh) * | 2013-09-27 | 2014-01-01 | 华南理工大学 | 一种基于智能体均衡算法的智能发电控制方法 |
CN103546530A (zh) * | 2013-06-20 | 2014-01-29 | 江苏大学 | 基于成组资源管理的对等网络节点负载均衡方法及*** |
CN106685745A (zh) * | 2017-03-17 | 2017-05-17 | 北京邮电大学 | 一种网络拓扑构建方法及装置 |
CN107438106A (zh) * | 2017-08-23 | 2017-12-05 | 北京慧点科技有限公司 | 对等网络的负载均衡的方法、装置及对等网络*** |
CN107589992A (zh) * | 2017-08-02 | 2018-01-16 | 北京大学(天津滨海)新代信息技术研究院 | 一种基于群体智能的容器化应用负载调度方法 |
CN110351200A (zh) * | 2019-08-16 | 2019-10-18 | 东北大学秦皇岛分校 | 一种基于转发任务迁移的机会网络拥塞控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119271A (zh) * | 2007-07-05 | 2008-02-06 | 中国科学技术大学 | 一种基于结构化p2p应用服务平台及其实现方法 |
US20080148403A1 (en) * | 2006-12-13 | 2008-06-19 | Microsoft Corporation | Distributed malicious software protection in file sharing environments |
-
2012
- 2012-07-29 CN CN201210265613.9A patent/CN102790804B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080148403A1 (en) * | 2006-12-13 | 2008-06-19 | Microsoft Corporation | Distributed malicious software protection in file sharing environments |
CN101119271A (zh) * | 2007-07-05 | 2008-02-06 | 中国科学技术大学 | 一种基于结构化p2p应用服务平台及其实现方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546530A (zh) * | 2013-06-20 | 2014-01-29 | 江苏大学 | 基于成组资源管理的对等网络节点负载均衡方法及*** |
CN103490413A (zh) * | 2013-09-27 | 2014-01-01 | 华南理工大学 | 一种基于智能体均衡算法的智能发电控制方法 |
CN103490413B (zh) * | 2013-09-27 | 2015-09-02 | 华南理工大学 | 一种基于智能体均衡算法的智能发电控制方法 |
CN106685745A (zh) * | 2017-03-17 | 2017-05-17 | 北京邮电大学 | 一种网络拓扑构建方法及装置 |
CN106685745B (zh) * | 2017-03-17 | 2019-10-29 | 北京邮电大学 | 一种网络拓扑构建方法及装置 |
CN107589992A (zh) * | 2017-08-02 | 2018-01-16 | 北京大学(天津滨海)新代信息技术研究院 | 一种基于群体智能的容器化应用负载调度方法 |
CN107438106A (zh) * | 2017-08-23 | 2017-12-05 | 北京慧点科技有限公司 | 对等网络的负载均衡的方法、装置及对等网络*** |
CN110351200A (zh) * | 2019-08-16 | 2019-10-18 | 东北大学秦皇岛分校 | 一种基于转发任务迁移的机会网络拥塞控制方法 |
CN110351200B (zh) * | 2019-08-16 | 2022-07-01 | 东北大学秦皇岛分校 | 一种基于转发任务迁移的机会网络拥塞控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102790804B (zh) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102790804A (zh) | 基于移动智能体的无结构对等网络负载均衡方法及*** | |
CN103546530A (zh) | 基于成组资源管理的对等网络节点负载均衡方法及*** | |
CN100574219C (zh) | 引入节点重要性的对等网络超级节点选择和资源搜索方法 | |
CN106209627B (zh) | 基于节点传输能力的车载散发聚焦路由协议方法 | |
Liu et al. | Data sharing in VANETs based on evolutionary fuzzy game | |
Ahmadi et al. | A hybrid algorithm for preserving energy and delay routing in mobile ad-hoc networks | |
Jin et al. | Latency and energy-consumption optimized task allocation in wireless sensor networks | |
Shen et al. | Swarm intelligence based file replication and consistency maintenance in structured P2P file sharing systems | |
Sourlas et al. | Mobility support through caching in content-based publish/subscribe networks | |
Bista et al. | EA-PRoPHET: An energy aware prophet-based routing protocol for delay tolerant networks | |
CN102006238B (zh) | 一种无结构p2p网络中的均衡快速搜索方法 | |
Boukerche et al. | A cross-layer approach-based gnutella for collaborative virtual environments over mobile ad hoc networks | |
CN101465753B (zh) | P2p***组管理方法及其装置和*** | |
Yeferny et al. | CDP: A content discovery protocol for mobile p2p systems | |
CN101895474A (zh) | 一种基于信息扩散的p2p网络路由控制方法 | |
Shen et al. | CCLBR: Congestion control-based load balanced routing in unstructured P2P systems | |
Nagata et al. | A routing method for cooperative forwarding in multiple wireless sensor networks | |
Zhang et al. | Energy‐aware congestion control scheme in opportunistic networks | |
Parunak et al. | Stigmergic learning for self-organizing mobile ad-hoc networks (MANET's) | |
CN103209207A (zh) | 一种对等网络***结构的实现方法 | |
Joung et al. | Cooperating with free riders in unstructured P2P networks | |
Alisa et al. | Minimizing energy consumption in wireless sensor networks using modified genetic algorithm and an energy balance filter | |
Ali et al. | A dynamic resource-aware routing protocol in resource-constrained opportunistic networks | |
Hamad et al. | Routing approach for p2p systems over manet network | |
Cabacas et al. | A novel energy-aware priority transmission scheme based on context-metric queuing for delay tolerant networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150304 Termination date: 20150729 |
|
EXPY | Termination of patent right or utility model |