CN103546530A - 基于成组资源管理的对等网络节点负载均衡方法及系统 - Google Patents
基于成组资源管理的对等网络节点负载均衡方法及系统 Download PDFInfo
- Publication number
- CN103546530A CN103546530A CN201310247656.9A CN201310247656A CN103546530A CN 103546530 A CN103546530 A CN 103546530A CN 201310247656 A CN201310247656 A CN 201310247656A CN 103546530 A CN103546530 A CN 103546530A
- Authority
- CN
- China
- Prior art keywords
- node
- network
- intelligent body
- load
- resource
- 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.)
- Pending
Links
Images
Abstract
本发明的涉及一种基于成组资源管理的对等网络节点负载均衡方法及系统,所述方法包括以下步骤:S1、网络中每个节点定期发起拓扑调整机制,向处理能力强且具有相同节点资源的节点连接,形成中心式拓扑结构;S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。本发明利用网络中资源的分布情况,避免网络节点拥塞,实现负载均衡。
Description
技术领域
本发明涉及对等网络技术领域,尤其涉及一种基于成组资源管理的对等网络节点负载均衡方法及系统。
背景技术
现有的对等网络按照其节点连接的方式分为:结构化对等网络和非结构化对等网络。结构化对等网络为了实现有效的资源查找,对结点连接关系做了严格的限制,比如网状、环状、d维圆环面等结构。非结构化对等网络中节点的连接关系具有很大的随意性,不具备特定的结构,因此整个网络的拓扑结构比较松散。其中非结构化对等网络的典型例子是Gnutella网络。然而非结构化对等网络在资源查找过程中由于网络拓扑的随意性,需要由节点不断对查询消息进行转发,从而导致网络中部分节点在查找过程中需要处理的消息过多而出现消息拥塞,进而严重影响网络的搜索性能,造成网络资源搜索性能的下降。这就是所谓的网络节点上的负载均衡(Load Balancing)问题。
非结构化对等网络上的负载均衡,就是将查询消息的转发负载进行平衡处理,使其分摊到多个网络节点上进行执行。如Merino等提出的DANTE系统每个节点定期发起拓扑重连机制,并根据节点负载形成不同类型的网络拓扑;Pournaras等提出的ERGO系统利用连通的虚拟服务器监测节点的负载,一旦发现超载节点就将一些连接重连到低负载的节点上;Gia系统根据节点的满意程度调整网络的拓扑结构。此外,由于移动智能体的高灵活性、低通信负载等特点,使其被广泛应用到负载均衡方法中。如Bhardwaj等利用智能体在网络中随机游走以发现拥塞;Dasguta等提出一种利用多智能体来维持小世界网络的方法。
现有的基于移动智能体的无结构对等网络负载均衡方法包括以下步骤:
S1、网络中每个节点定期发起拓扑调整机制,向处理能力强的节点连接,形成中心式拓扑结构;
S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。
以上方法并没有考虑网络中资源的分布情况,有鉴于此,有必要提出了一种新的基于成组资源管理的对等网络节点负载均衡方法及系统。
发明内容
本发明的目的在于提供一种基于成组资源管理的对等网络节点负载均衡方法及系统,利用网络中资源的分布情况,避免网络节点拥塞,实现负载均衡。
本发明的一种基于成组资源管理的对等网络节点负载均衡方法及系统,所述方法包括以下步骤:
S1、网络中每个节点定期发起拓扑调整机制,向处理能力强且具有相同节点资源的节点连接,形成中心式拓扑结构;
S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。
作为本发明的进一步改进,所述步骤S1具体为:
S11、节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集;
S12、将节点搜集消息转发到一个随机选择的邻居节点,存活时间TTL减1,若该消息经过的节点Pk与重连发起节点Pi有相同的资源,就将Pk加入到候选节点集Si中;若存活时间TTL不等于0,则重复步骤S12,继续搜集节点;
S13、将候选节点集Si返回给消息发起节点Pi;
S14、从节点Pi的当前邻居节点集合中选择一个与节点Pi没有相同资源的节点,若不存在这样的节点,就选择一个处理能力最弱且连接数大于2的节点,记为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)建立连接;若候选节点集Si为空或重新连接的节点个数达到预先设定的节点重连个数的上限数n,则执行步骤S17;若否,则执行步骤S14,选择下一次参加重连的节点;
S17、本次拓扑调整结束。
作为本发明的进一步改进,所述步骤S2具体为:
S21、监测智能体搜集信息计算节点Pj在当前时刻t的拥塞水平CLj(t),并利用CLj(t)的值来判断节点的拥塞状态,包括对每个节点设定轻载、正常负载和过载三种负载状态,并 设定负载状态阈值,将计算出的CLj(t)值与设定的负载状态阈值相比较从而确定节点的当前负载状态;若节点Pj负载状态是过载,则执行步骤S22,进行拓扑的优化;否则执行步骤S23,选择下一个访问节点;
S22、所述节点Pj随机选择一部分节点断开连接,并派生出一个重连智能体,接着执行步骤S23;所述重连智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态以及是否有相同资源,若节点是轻载且拥有相同资源的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,重连智能体主动退出网络;
S23、监测智能体根据节点Pj的邻居节点Po对该监测智能体的吸引力表以及访问过的节点列表,来选择下一个访问节点,并迁移到该节点;所述访问过的节点列表用于记录监测智能体访问过的节点;所述邻居节点吸引力表是网络中任一个节点用于记录其邻居节点对监测智能体吸引力的表。
作为本发明的进一步改进,所述步骤S21中,所述节点Pj在当前时刻t的拥塞水平CLj(t)的计算公式为:
其中,Cj表示节点Pj处理一条查询消息所需的时间;如果结点正在处理消息那么此时到来的消息都被放在该节点的消息缓存队列中,Qj(t)表示时刻t节点Pj的缓存队列中待处理的消息数。
作为本发明的进一步改进,所述步骤S21中进一步包括:
步骤S210所述节点Pj根据自己的负载状态决定是否接受其它节点的连接请求:若节点Pj当前为负载或过载状态,节点Pj不接受其它节点连接请求;若节点Pj当前状态为轻载则节点Pj接受其它节点的连接请求。
本发明的进一步改进,所述步骤S21中“将计算出的CLj(t)值与设定的负载状态阈值相比较从而确定节点的当前负载状态”具体为:设定的两个阈值Ut、Bt,若CLj(t)>Uj,节点Pj的状态是过载的,记变量flag=1,若Bt<=CLj(t)<=Ut,节点Pj是正常负载的,记变量flag=0。若CLj(t)<Bt,节点Pj的状态是轻载的,记变量flag=-1。
作为本发明的进一步改进,所述步骤S210具体包括:所述节点Pj当前变量状态flag=-1时,节点Pj接受新的连接请求;flagj=0或flagj=1时,节点Pj不接受新的连接请求。
作为本发明的进一步改进,所述步骤S22中,所述节点Pj随机选择一部分节点断开连接,断开的连接个数通过以下公式确定:
Nj表示当前时刻节点Pj的邻居数,Qj(t)表示时刻t节点Pj的缓存队列中待处理的消息数,Cj是节点Pj的处理能力,表示该节点Pj处理一条查询消息所需的时间,符号表示根据里面公示所得结果,截去其小数部分并向上取整数。
作为本发明的进一步改进,所述步骤S23中,将节点Pj的吸引能力记为Aj,r(称之为节点Pj对关于资源r的监测智能体的吸引力),其计算公式如下:
节点Pj对监测智能体的吸引力计算如下:
Aj,r=χ(j,kc)×cj×nj×lr (3)
Cj是节点Pj的处理能力,表示该节点Pj处理一条查询消息所需的时间;χ(j,kc)是节点Pj的连通度;nj是节点Pj上的资源数。lr表示节点Pj上是否拥有资源r,如果资源r在节点Pj上,lr=1,否则lr=0。
所述节点Pj的连通度计算公式如下:
其中,N(j,h)表示与节点Pj相距h跳的节点的个数,k表示计算连通度的半径,δ是控制系数,1/hδ用来控制不同距离节点对连通度影响的权重,χ(j,kc)越大节点Pj可能接收到的查询消息越多。
节点都有一个邻居表,其中记录其所有邻居节点的连通程度、处理能力及资源数,并根据这些值计算每一个邻居节点对监测智能体的吸引力,节点的吸引力越大,则监测智能体从Pj迁移到该节点的可能性也越大。
相应地,一种基于成组资源管理的对等网络节点负载均衡系统,所述系统包括:
拓扑调整单元,用于网络中每个节点定期发起拓扑调整机制,向处理能力强且具有相同节点资源的节点连接,形成中心式拓扑结构的单元;
拓扑优化单元,用于通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化的单元。
其中,所述拓扑调整单元中设有:
主智能体MA,用于控制监测智能体的数量;主智能体在网络中随机游走,了解网络中资源的分布情况,当发现一个新的资源就生成一个关于该资源的监测智能体;
监测智能体DAr,用于在拥有相同资源r的节点间迁移,以发现这些节点间的拥塞,并 生成重连智能体;
重连智能体CAr,是监测智能体的子智能体,用于网络节点的重连,其中能够被重连智能体CAr进行重连的节点是具有资源r的网络节点。
其中,所述拓扑调整单元包括:
节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集的单元;
将节点搜集消息转发到一个随机选择的邻居节点,并将具有相同资源的节点添加到集合Si的单元;
将候选节点集Si返回给消息发起节点Pi的单元;
从节点Pi的当前邻居节点集合中选择与节点Pi没有相同资源的节点,若不存在这样的节点就选择一个处理能力最弱且连接数大于2的节点Pmin(Ni)的单元;
从候选节点集Si中取出处理能力最强的节点Pmax(Si),比较节点Pmax(Si)与Pmin(Ni)的处理能力,则向节点Pmax(Si)发出连接请求的单元;
节点Pi断开与选择的邻居节点Pmin(Ni)的连接并与节点Pmax(Si)建立连接的单元。
所述拓扑优化单元包括:
监测智能体DAr到达一个节点Pj后,搜集信息计算节点Pj在当前时刻t的拥塞水平CLj(t),对每个节点设定轻载、正常负载和过载三种负载状态,并设定负载状态阈值,将计算出的CLj(t)值与设定的负载状态阈值相比较从而确定节点的当前负载状态,根据负载状态确定是否接受连接请求的单元;
节点Pj随机选择一部分节点断开连接,并派生出一个重连智能体的单元;
重连智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若节点是轻载且拥有相同资源的就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,重连智能体主动退出网络的单元;
监测智能体DAr根据节点Pj的邻居节点Po对监测智能体的吸引力以及访问过的节点列表来选择下一个访问节点,并迁移到该节点的单元。
其中,Cj表示节点Pj处理一条查询消息所需的时间;如果结点正在处理消息那么此时到来的消息都被放在该节点的消息缓存队列中,Qj(t)表示时刻t节点Pj的缓存队列中待处理 的消息数;
所述节点Pj随机选择一部分节点断开连接,断开的连接个数通过以下公式确定:
Nj表示当前时刻节点Pj的邻居数,Qj(t)表示时刻t节点Pj的缓存队列中待处理的消息数,Cj是节点Pj的处理能力,表示该节点Pj处理一条查询消息所需的时间,符号表示根据里面公示所得结果,截去其小数部分并向上取整数。
节点Pj对监测智能体的吸引力计算如下:
Aj,r=χ(j,kc)×cj×nj×lr (3)
Cj是节点Pj的处理能力,表示该节点Pj处理一条查询消息所需的时间;χ(j,kc)是节点Pj的连通度;nj是节点Pj上的资源数。lr表示节点Pj上是否拥有资源r,如果资源r在节点Pj上,lr=1,否则lr=0。
所述节点Pj的连通度计算公式如下:
其中,N(j,h)表示与节点Pj相距h跳的节点的个数,k表示计算连通度的半径,δ是控制系数,1/hδ用来控制不同距离节点对连通度影响的权重,χ(j,kc)越大节点Pj可能接收到的查询消息越多。
每个节点都有一个邻居表,其中记录其所有邻居节点的连通程度、处理能力及资源数,并根据这些值计算每一个邻居节点对监测智能体的吸引力,节点的吸引力越大,则监测智能体从Pj迁移到该节点的可能性也越大。
本发明的有益效果是:本发明网络中每个节点定期启动拓扑重连机制,将具有相同资源的节点连接在一起,形成中心化的拓扑结构。同时节点不断搜集邻居节点的处理能力、连通度等信息以指导监测智能体有目的在网络中不断迁移并不断监控网络中重要节点的负载情况,对网络的拓扑结构进行优化调整,避免拥塞的发生,从而实现无结构对等网络上的负载均衡,还可以根据网络的负载状况及时的调整网络拓扑结构,能够有效地避免网络节点拥塞,提高资源查找效率。
附图说明
图1为本发明一种基于移动智能体的无结构对等网络负载均衡方法的流程图。
图2为本发明一种基于移动智能体的无结构对等网络负载均衡系统结构示意图。
图3为图1中步骤S1网络节点拓扑定期调整的具体流程图。
图4为图1中步骤S2移动智能体的拓扑优化的具体流程图。
图5为本发明一实施方式中网络拓扑模拟图。
图6为本发明一实施方式中拓扑优化的过程中网络的节点聚集因素CC(clustering coefficient)变化图。
图7为本发明一实施方式中拓扑优化过程中不同能力节点平均连接度的变化情况图。
图8为本发明一实施方式中经过拓扑重连后平均搜索路径长度的变化图。
图9为本发明一实施方式中经过拓扑重连后查询需要的经过的平均时间数变化图。
具体实施方式
本发明在windows平台下利用Python2.6进行程序的编写及运行,根据Gnutella协议设计网络,该网络包含10000个节点。网络中每个节点的初始邻居数都大致相同,约为10个,节点的处理能力用Ci表示,假设节点i中有n个数据,节点i处理一个查询信息需要的时间tproc=n/Ci,采用从Gnutella网络测量中获得的节点能力分布情况,见表1,来模拟节点能力的异构性。系统的负载主要是由节点对网络资源的查询引起的,本文假设所有节点发起两个查询的时间间隔为5s,则在本系统中每秒会发起2000个查询消息。试验中确定节点状态的两个阈值Bt和Ut分别设置为0.5和1。
表1节点处理能力分布表
试验中有1000个不同的数据,根据资源热度的不同来确定资源的复制率,资源的热度 服从Zipf分布。所有资源随机的分布在网络节点上。复制率来表示一个资源在网络中的副本数,假设复制率为0.01,那么在10000个节点的系统中,就有100个相同的资源存在。热度最高的资源的复制率为0.5。资源的搜索采用random walk方法进行,TTL设置为8。候选节点搜集消息的TTL设置为30.计算连通度的两个参数kc和δ分别为2和1。
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
参照图1所示,图1为本发明一种基于移动智能体的无结构对等网络负载均衡方法的流程图,包括以下步骤:
S1、网络中每个节点定期发起拓扑调整机制,向处理能力强且具有相同节点资源的节点连接,形成中心式拓扑结构;
S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。
参照图2、图3所示,网络节点P1发起的一次基于资源的节点重连过程如下:
S11、节点P1发出搜集消息来搜集参加该节点拓扑调整的候选节点集。假设该候选节点集合为S1,且初始S1为空,该消息的存活时间TTL(Time to Live,TTL)为30;
S12、将节点搜集消息转发到一个随机选择的邻居节点,每经过一个节点TTL减1,若该消息经过的节点P6与重连发起节点P1有相同的资源,如P6拥有的资源集合为{‘a’,‘b’},P1拥有的资源集合为{‘a’,‘b’,‘c’,‘d’},就将P6加入到候选节点集S1中。判断存活时间TTL是否等于0,若是,节点搜集过程结束,执行步骤S13,若否,重复步骤S12,继续搜集该节点;
S13、将候选节点集S1返回给节点P1,假设S1为{P4,P5,P6,P9},节点P1收到候选节点集S1后,执行S14;
S14、从节点P1的邻居节点中选择一个与节点P1没有相同资源的节点,若不存在这样的节点就选择一个处理能力最弱且连接数大于2的节点,假设选择的邻居节点为P0;
S15、从候选节点集S1中取出处理能力最强的节点,假设为P9,并将节点P9其从S1中删除。比较节点P9与P0的处理能力,若节点P9的处理能力不大于P0,则执行步骤S17;若节点P9的处理能力大于P0,则向节点P9发出连接请求。若节点P9拒绝连接请求,则重复步骤S15,继续选择下一个重连节点,若节点P9接受连接请求,则执行步骤S16;
S16、节点P1断开与选择的邻居节点P0的连接并与节点P9建立连接。若候选节点集S1 为空或重新连接的节点个数达到预先设定的节点重连个数的上限数n,则执行步骤S17;若否,则执行步骤S14,选择下一次参加重连的节点,直到S1为空,或者节点P1的所有邻居都与节点P1有相同资源且这些邻居的处理能力比S1中的所有节点都强为止;
S17、本次拓扑调整结束。
单纯依靠节点自身定期的拓扑重连,最终会形成一个以处理能力最强的几个节点为中心的集中式网络,在没有拥塞的情况下这种结构的网络资源查找效率是最高的,但是几乎所有的节点的资源查找请求都会发送的中心节点,中心节点可能很容易就会发生拥塞,这会严重影响资源查找的效率,为了避免拥塞的发生,在此基础上又引入了基于监测智能体的拓扑优化方法。
参照图2、图4,假设监测智能体DAr当前所在节点为P0,监测智能体在拥有同一资源的网络节点上移动进行负载均衡的过程如下:
S21、监测智能体DAr到达节点P0后,通过计算节点P0的拥塞程度CL来判断节点的负载状态,节点P0在时刻t拥塞程度计算如下:
其中,Cj是节点Pj的处理能力,表示该节点Pj处理一条查询消息所需的时间;如果结点正在处理消息那么此时到来的消息都被放在该节点的消息缓存队列中,Qj(t)表示时刻t节点Pj的缓存队列中待处理的消息数。
根据CL0可以确定节点P0的负载状态。本发明中设置节点有三个负载状态:轻负载,正常负载和过载,当节点过载时就认为节点P0发生了拥塞。
若flag0=-1,则节点P0没有发生拥塞,执行步骤S22,继续向下一个节点迁移;若flag0=0或flag0=1,则节点P0拥塞,执行步骤S23,同时监测智能体DAr执行步骤S22,继续向下一个节点迁移。
S22、监测智能体DAr根据节点P0邻居的吸引能力,选择下一步迁移到的节点,将节点P0的吸引能力记为A0,r,其计算公式如下:
Aj,r=χ(j,kc)×cj×nj×lr (3)
利用其判断节点的连通程度,并计算出A0,r。假设节点P0的邻居表如表2:
表2节点的邻居表示例
节点 | P1 | P2 | P3 | P4 | P5 |
处理能力 | 5 | 1 | 10 | 10 | 10 |
连通度 | 6 | 3 | 7.5 | 14 | 12.5 |
资源数 | 2 | 1 | 1 | 5 | 6 |
移动智能体迁移到节点P0后,通过对节点P0的邻居节点的吸引力进行比较,同时与自身最近访问的节点列表(假设节点P5在列表中)进行对比筛选。假设该移动智能体是关于资源‘a’的,节点P1到P5上的资源分别为[‘a’,‘d’],[‘b’],[‘a’],[‘b’,‘c’,‘d’,‘e’,‘f’],[‘a’,‘c’,‘f’,‘g’,‘h’,‘k’],通过计算得出节点P5对该移动智能体的吸引力最大,则移动智能体就会迁移到节点P5,如图2所示。然后继续执行步骤S21。
S23、监测智能体DAr指导节点P0主动断开D1个邻居节点的连接,断开的连接数Dj通过公式(2)计算,假设D1=2,然后监测智能体DAr派遣出一个重连智能体CAr负责把这些待重连的节点重连到有富余处理能力的节点。
其中,Nj表示当前时刻节点Pj的邻居数,Qj(t)表示时刻t节点Pj的缓存队列中待处理的消息数,Cj是节点Pj的处理能力,表示该节点Pj处理一条查询消息所需的时间,符号 表示根据里面公示所得结果,截去其小数部分并向上取整数。
重连智能体CAr用广度优先的方式在网络中寻找处理能力多余的节点(即轻负载的节点),若寻找到资源相同的节点且轻载的节点,就将待重连节点与之建立连接,然后重连智能体Car继续寻找下一节点,直到所有的待重连节点都完成重连,此时重连智能体CAr主动退出网络。图6是拓扑优化的过程中网络的节点聚集因素CC(clustering coefficient)变化图,CC的计算公式如下:
0≤CC≤1,CC越接近1,网络的拓扑结构越集中化。反之,CC越接近0网络的拓扑结构越随机化。
图6给出了随着拓扑优化,网络聚集系数的变化图,开始网络的拓扑结构是完全随机的,所以聚集因数接近于0,随着节点的拓扑重连聚集因数逐渐变大,但由于受资源分布及节点负载的限制可能不会形成完全集中式的结构所以聚集因数并没有十分接近1,但其达到一个比较大的稳定值。
图7给出不同处理能力的节点连接度的变化情况。开始有大量的连接涌向处理能力为100和1000的节点,渐渐处理能力最强的节点连接度越来越高,最终达到一个稳定值,而其它节点的连接度基本维持在初始值的水平。
图8和图9是在网络节点动态加入与离开网络的情况下,网络性能的变化情况,图8是查询需要的经过的平均节点数变化图,图9拓扑重连后查询需要的经过的平均时间数变化图。可以看出随着网络拓扑的优化,资源查询需要的跳(hop)数明显减少,查询时间也明显降低,网络的整体性能大大的提高了。
相应地,参图5所示,本发明的一种基于成组资源管理的对等网络节点负载均衡系统100,包括:
拓扑调整单元10,用于网络中每个节点定期发起拓扑调整机制,向处理能力强且具有相同资源的节点连接,形成中心式拓扑结构的单元;
拓扑优化单元20,用于通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化的单元。
拓扑调整单元10中设有:
主智能体MA,用于控制监测智能体的数量;主智能体在网络中随机游走,了解网络中资源的分布情况,当发现一个新的资源就生成一个关于该资源的监测智能体;
监测智能体DAr,用于在拥有相同资源r的节点间迁移,以发现这些节点间的拥塞,并生成重连智能体;
重连智能体CAr,是监测智能体的子智能体,用于网络节点的重连。其中能够被重连智能体CAr进行重连的节点是具有资源r的网络节点。
拓扑调整单元10中还包括:
某一节点Pi,例如P1,发出搜集消息来搜集参加该节点拓扑调整的候选节点集的单元; 参照图2,假设该候选节点集合为Si,例如S1,且初始Si为空,该消息的存活时间TTL(Time to Live,TTL)为30;
将节点P1搜集消息转发到一个随机选择的邻居节点,并将具有相同资源的节点添加到集合Si的单元;消息每经过一个节点TTL减1,若该消息经过的节点P6与重连发起节点P1有相同的资源,如P6拥有的资源集合为{‘a’,‘b’},P1拥有的资源集合为{‘a’,‘b’,‘c’,‘d’},就将P6加入到候选节点集S1中。判断存活时间TTL是否等于0,若是,节点搜集过程结束。
将候选节点集S1返回给消息发起节点P1的单元;
从节点P1的当前邻居节点集合中选择与节点P1没有相同资源的节点,若不存在这样的节点就选择一个处理能力最弱且连接数大于2的节点Pmin(Ni)的单元,本实施例中Pmin(Ni)为P0;
从候选节点集S1中取出处理能力最强的节点,假设为P9,将节点P9其从S1中删除。比较节点P9与P0的处理能力,若节点P9的处理能力不大于P0,则拓扑调整结束;若节点P9的处理能力大于P0,则向节点P9发出连接请求,若节点P9拒绝连接请求,则重复从候选节点集S1中取出处理能力最强的节点,继续选择下一个重连节点的单元;
若节点P9接受连接请求,节点P1断开与选择的邻居节点P10的连接并与节点P9建立连接的单元。
拓扑优化单元20中设有:
监测智能体搜集信息计算某一节点Pj在当前时刻t的拥塞水平CLj(t),对每个节点设定轻载、正常负载和过载三种负载状态,并设定负载状态阈值,将计算出的CLj(t)值与设定的负载状态阈值相比较从而确定节点的当前负载状态的单元;其中,节点Pj在当前时刻t的拥塞水平CLj(t)的计算公式为:
其中,Cj是节点Pj的处理能力,表示该节点Pj处理一条查询消息所需的时间;如果结点正在处理消息那么此时到来的消息都被放在该节点的消息缓存队列中,Qj(t)表示时刻t节点Pj的缓存队列中待处理的消息数;
节点Pj随机选择一部分节点断开连接,并派生出一个重连智能体的单元;其中,节点Pj随机选择一部分节点断开连接,断开的连接个数通过以下公式确定:
Nj表示当前时刻节点Pj的邻居数,Qj(t)表示时刻t节点Pj的缓存队列中待处理的消息数,Cj是节点Pj的处理能力,表示该节点Pj处理一条查询消息所需的时间,符号表示根据里面公示所得结果,截去其小数部分并向上取整数。
重连智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态,若寻找到轻载且拥有相同资源的节点就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,重连智能体主动退出网络的单元;
监测智能体DAr根据节点Pj的邻居节点Po对监测智能体的吸引力以及访问过的节点列表来选择下一个访问节点,并迁移到该节点的单元;其中,节点Pj对监测智能体的吸引力计算如下:
Aj,r=χ(j,kc)×cj×nj×lr (3)
Cj是节点Pj的处理能力,表示该节点Pj处理一条查询消息所需的时间;nj是节点Pj上的资源数。lr表示节点Pj上是否拥有资源r,如果资源r在节点Pj上,lr=1,否则lr=0。χ(j,kc)是节点Pj的连通度;节点Pj的连通度计算公式如下:
其中,N(j,h)表示与节点Pj相距h跳的节点的个数,k表示计算连通度的半径,δ是控制系数,1/hδ用来控制不同距离节点对连通度影响的权重,χ(j,kc)越大节点Pj可能接收到的查询消息越多。
各节点都有一个邻居表,例如参考表2,该表中记录了节点P0的所有邻居节点的连通程度、处理能力及资源数,并根据这些值计算每一个邻居节点对监测智能体的吸引力,节点的吸引力越大,则监测智能体从P0迁移到该节点的可能性也越大。
与现有技术相比,本发明通过将节点的资源进行成组管理,并结合监测智能体在资源组的节点上发现拥塞并调整网络结构,来及时避免网络的拥塞并最终提高资源查找效率。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可 以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其它实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于成组资源管理的对等网络节点负载均衡方法,其特征是:所述方法包括以下步骤:
S1、网络中每个节点定期发起拓扑调整机制,向处理能力强且具有相同节点资源的节点连接,形成中心式拓扑结构;
S2、通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化。
2.根据权利要求1所述的基于成组资源管理的对等网络节点负载均衡方法,其特征是:所述步骤S1具体为:
S11、节点Pi发出搜集消息来搜集参加该节点拓扑调整的候选节点集;
S12、将节点搜集消息转发到一个随机选择的邻居节点,存活时间TTL减1,若该消息经过的节点Pk与重连发起节点Pi有相同的资源,就将Pk加入到候选节点集Si中;若存活时间TTL不等于0,则重复步骤S12,继续搜集节点;
S13、将候选节点集Si返回给消息发起节点Pi;
S14、从节点Pi的当前邻居节点集合中选择一个与节点Pi没有相同资源的节点,若不存在这样的节点,就选择一个处理能力最弱且连接数大于2的节点,记为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)建立连接;若候选节点集Si为空或重新连接的节点个数达到预先设定的节点重连个数的上限数n,则执行步骤S17;若否,则执行步骤S14,选择下一次参加重连的节点;
S17、本次拓扑调整结束。
3.根据权利要求1所述的基于成组资源管理的对等网络节点负载均衡方法,其特征是:所述步骤S2具体为:
S21、监测智能体搜集信息计算节点Pj在当前时刻t的拥塞水平Cj,并利用Cj的值来判断节点的拥塞状态,包括对每个节点设定过载、正常负载和过载三种负载状态,并设定负载状态阈值,将计算出的Cj值与设定的负载状态阈值相比较从而确定节点的当前负载状态;若节点Pj负载状态是负载或过载,则执行步骤S22;否则执行步骤S23,进行拓扑的优化,选择下一个访问节点;
S22、所述节点Pj随机选择一部分节点断开连接,并派生出一个重连智能体;所述重连智能体以它的产生节点为父节点,以广度优先遍历的方式在网络中寻找有多余处理能力的节点,每到达一个节点先判断节点的负载状态以及是否有相同资源,若节点是轻载且拥有相同的资源,就随机选择一个待重连的节点与之连接,然后继续寻找下一节点,直到所有的待重连节点都重连完毕,重连智能体主动退出网络;
S23、监测智能体根据节点Pj的邻居节点Po对该监测智能体的吸引力表以及访问过的节点列表,来选择下一个访问节点,并迁移到该节点;所述访问过的节点列表用于记录监测智能体访问过的节点;所述邻居节点吸引力表是网络中任一个节点用于记录其邻居节点对监测智能体吸引力的表。
5.根据权利要求3所述的基于成组资源管理的对等网络节点负载均衡方法及系统,其特征是:所述步骤S21中进一步包括:
步骤S210所述节点Pj根据自己的负载状态决定是否接受其它节点的连接请求:若节点Pj当前为负载或过载状态,节点Pj不接受其它节点连接请求;若节点Pj当前状态为轻载则节点Pj接受其它节点的连接请求。
6.根据权利要求3所述的基于成组资源管理的对等网络节点负载均衡方法,其特征是:所述步骤S21中“将计算出的CLj(t)值与设定的负载状态阈值相比较从而确定节点的当前负载状态”具体为:设定的两个阈值Ut、Bt,若CLj(t)>Uj,节点Pj的状态是过载的,记变量flag=1,若Bt<=CLj(t)<=Ut,节点Pj是正常负载的,记变量flag=0。若CLj(t)<Bt,节点Pj的状态是轻载的,记变量flag=-1。
8.根据权利要求3所述的基于成组资源管理的对等网络节点负载均衡方法,其特征是:,所述步骤S23中,将节点Pj的吸引能力记为Aj,r,为节点Pj对关于资源r的监测智能体的吸引力,其计算公式如下:
Aj,r=χ(j,kc)×cj×nj×lr
其中,Cj是节点Pj的处理能力,表示该节点Pj处理一条查询消息所需的时间;nj是节点Pj上的资源数;lr表示节点Pj上是否拥有资源r,如果资源r在节点Pj上,lr=1,否则lr=0;χ(j,kc)是节点Pj的连通度,其计算公式如下:
其中,N(j,h)表示与节点Pj相距h跳的节点的个数,k表示计算连通度的半径,δ是控制系数,1/hδ用来控制不同距离节点对连通度影响的权重,χ(j,kc)越大节点Pj接收到的查询消息越多。
9.一种基于成组资源管理的对等网络节点负载均衡系统,所述系统包括:
拓扑调整单元,用于网络中每个节点定期发起拓扑调整机制,向处理能力强且具有相同节点资源的节点连接,形成中心式拓扑结构的单元;
拓扑优化单元,用于通过计算节点在某一时刻的拥塞水平判断节点的拥塞状态,进一步进行网络拓扑优化的单元。
10.根据权利要求9所述的基于成组资源管理的对等网络节点负载均衡系统,其特征是:所述拓扑调整单元中设有:
主智能体MA,用于控制监测智能体的数量;主智能体在网络中随机游走,了解网络中资源的分布情况,当发现一个新的资源就生成一个关于该资源的监测智能体;
监测智能体DAr,用于在拥有相同资源r的节点间迁移,以发现这些节点间的拥塞,并生成重连智能体;
重连智能体CAr,是监测智能体的子智能体,用于网络节点的重连,其中能够被重连智 能体CAr进行重连的节点是具有资源r的网络节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310247656.9A CN103546530A (zh) | 2013-06-20 | 2013-06-20 | 基于成组资源管理的对等网络节点负载均衡方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310247656.9A CN103546530A (zh) | 2013-06-20 | 2013-06-20 | 基于成组资源管理的对等网络节点负载均衡方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103546530A true CN103546530A (zh) | 2014-01-29 |
Family
ID=49969572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310247656.9A Pending CN103546530A (zh) | 2013-06-20 | 2013-06-20 | 基于成组资源管理的对等网络节点负载均衡方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546530A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017008492A1 (zh) * | 2015-07-13 | 2017-01-19 | 华为技术有限公司 | 一种拥塞控制方法及网络节点 |
CN107147696A (zh) * | 2017-04-07 | 2017-09-08 | 北京信息科技大学 | 在复杂网络中分配缓存服务器的方法和装置 |
CN108089918A (zh) * | 2017-12-06 | 2018-05-29 | 华中科技大学 | 一种面向异构服务器结构的图计算负载均衡方法 |
CN108337297A (zh) * | 2016-01-19 | 2018-07-27 | 联发科技股份有限公司 | 点对点无线通信网络中的操作方法及其通信设备 |
CN109726790A (zh) * | 2018-12-30 | 2019-05-07 | 李保安 | 一种判断分布式标签工作状态的方法 |
CN110166284A (zh) * | 2019-04-26 | 2019-08-23 | 南京邮电大学 | 一种基于分段洪泛法的网络拓扑发现方法 |
CN111447272A (zh) * | 2020-03-26 | 2020-07-24 | 支付宝(杭州)信息技术有限公司 | 负载均衡方法及装置 |
CN112070359A (zh) * | 2020-08-11 | 2020-12-11 | 北京交通大学 | 一种基于两阶段优化的多智能体网络自适应信息共享方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045392A (zh) * | 2010-12-14 | 2011-05-04 | 武汉大学 | 一种无结构p2p网络的基于兴趣的自适应拓扑优化方法 |
CN102790804A (zh) * | 2012-07-29 | 2012-11-21 | 江苏大学 | 基于移动智能体的无结构对等网络负载均衡方法及系统 |
CN103095727A (zh) * | 2013-02-07 | 2013-05-08 | 北京邮电大学 | P2p资源定位方法 |
-
2013
- 2013-06-20 CN CN201310247656.9A patent/CN103546530A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045392A (zh) * | 2010-12-14 | 2011-05-04 | 武汉大学 | 一种无结构p2p网络的基于兴趣的自适应拓扑优化方法 |
CN102790804A (zh) * | 2012-07-29 | 2012-11-21 | 江苏大学 | 基于移动智能体的无结构对等网络负载均衡方法及系统 |
CN103095727A (zh) * | 2013-02-07 | 2013-05-08 | 北京邮电大学 | P2p资源定位方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017008492A1 (zh) * | 2015-07-13 | 2017-01-19 | 华为技术有限公司 | 一种拥塞控制方法及网络节点 |
US10581742B2 (en) | 2015-07-13 | 2020-03-03 | Huawei Technologies Co., Ltd. | Congestion control method and network node |
CN108337297A (zh) * | 2016-01-19 | 2018-07-27 | 联发科技股份有限公司 | 点对点无线通信网络中的操作方法及其通信设备 |
CN107147696A (zh) * | 2017-04-07 | 2017-09-08 | 北京信息科技大学 | 在复杂网络中分配缓存服务器的方法和装置 |
CN107147696B (zh) * | 2017-04-07 | 2019-11-01 | 北京信息科技大学 | 在复杂网络中分配缓存服务器的方法和装置 |
CN108089918A (zh) * | 2017-12-06 | 2018-05-29 | 华中科技大学 | 一种面向异构服务器结构的图计算负载均衡方法 |
CN108089918B (zh) * | 2017-12-06 | 2020-07-14 | 华中科技大学 | 一种面向异构服务器结构的图计算负载均衡方法 |
CN109726790A (zh) * | 2018-12-30 | 2019-05-07 | 李保安 | 一种判断分布式标签工作状态的方法 |
CN110166284A (zh) * | 2019-04-26 | 2019-08-23 | 南京邮电大学 | 一种基于分段洪泛法的网络拓扑发现方法 |
CN111447272A (zh) * | 2020-03-26 | 2020-07-24 | 支付宝(杭州)信息技术有限公司 | 负载均衡方法及装置 |
CN112070359A (zh) * | 2020-08-11 | 2020-12-11 | 北京交通大学 | 一种基于两阶段优化的多智能体网络自适应信息共享方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103546530A (zh) | 基于成组资源管理的对等网络节点负载均衡方法及系统 | |
US9867083B2 (en) | Wireless network controller load balancing | |
Wu et al. | Towards distributed SDN: Mobility management and flow scheduling in software defined urban IoT | |
CN100574219C (zh) | 引入节点重要性的对等网络超级节点选择和资源搜索方法 | |
CN102790804B (zh) | 基于移动智能体的无结构对等网络负载均衡方法及系统 | |
CN102724105B (zh) | 一种负载均衡方法和装置 | |
Ma et al. | A scalable and reliable matching service for content-based publish/subscribe systems | |
CN104734962A (zh) | 一种非结构化p2p网络的资源搜索方法 | |
CN112543151A (zh) | Sdn控制器部署方法、装置、电子设备和存储介质 | |
He et al. | Greedy construction of load‐balanced virtual backbones in wireless sensor networks | |
CN103209207B (zh) | 一种对等网络系统的普通节点寻找与维护邻居节点方法 | |
Gantassi et al. | Improvement of the LEACH protocol in load balancing and energy-association conservation | |
Shen et al. | CCLBR: Congestion control-based load balanced routing in unstructured P2P systems | |
CN102202228A (zh) | 视频资源存储、查找的方法及装置 | |
Joung et al. | Cooperating with free riders in unstructured P2P networks | |
Soni et al. | An investigation on energy efficient routing protocol for wireless sensor network | |
Parunak et al. | Stigmergic learning for self-organizing mobile ad-hoc networks (MANET's) | |
Rehena et al. | Multi-criteria routing in a partitioned wireless sensor network | |
KR20120031569A (ko) | Manet 환경에서의 콘텐트 기반 라우팅 장치 및 그 방법 | |
Ciobanu et al. | Context-adaptive forwarding in mobile opportunistic networks | |
Djatmiko et al. | Resources-aware trusted node selection for content distribution in mobile ad hoc networks | |
Bajpai et al. | An adaptive and elastic cloud based framework for service oriented computing in Internet of Things | |
Komalavalli et al. | A Study of Routing Protocols and Cluster Head Selection Algorithms in WSN | |
Buvana et al. | A Markov process model for load-balancing on service provider and service requester in mobile ad hoc networks | |
Kaur et al. | Performance Analysis of ERA Using Fuzzy Logic in Wireless Sensor Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140129 |