一种对等网络中流行资源副本的优化放置方法

文档序号:8000717阅读:134来源:国知局
一种对等网络中流行资源副本的优化放置方法
【专利摘要】一种对等网络中流行资源副本的优化放置方法,将对等网络中存储副本的节点之间连通度,放置副本节点的负载均衡等技术难点进行了数学的抽象,从数学角度提供了一个资源优化放置模型,由此提高了对等网络中流行文件的搜索成功率,同时减少了存储流行文件的节点开销,使得整个网络的总开销减少,网络具有更好的扩展性。
【专利说明】一种对等网络中流行资源副本的优化放置方法
【技术领域】
[0001]本发明涉及网络通信领域,特别是对等网络搜索优化和资源放置优化问题。
【背景技术】
[0002]对等网络是下一代网络的核心概念,与传统的中心服务器与客户端模式不同。在对等网络中,各个节点既从其余节点获得自己想要的资源,也向其余的节点提供自己共享的资源。在对等网络的实现中,由于不存在中心服务器,如何快速的定位各种资源和服务是一个关键技术。
[0003]当前关于对等网中快速搜索的研究将对等网分为了结构对等网和无结构对等网。无结构对等网较之于使用分布式哈希表(Distributed Hash Table)的结构对等网,搜索效率偏低,但是其自身维护开销显著减少,具有良好的扩展性,便于大范围内组网。
[0004]在无结构对等网中,信息的搜索分为盲目搜索和导向性搜索。盲目搜索以泛洪(Flooding)搜索为基础,节点将搜索信息无差别的,或是随机的选择若干个邻居节点进行转发,搜索具有盲目性;导向性搜索的常用技术是根据一些指导信息将查询请求转发到搜索成功率更高的节点上。
[0005]导向性搜索中指导查询请求转发的信息可以是节点的搜索历史或是内容相似性等,因此其转发节点往往跟查询节点具有一些相同的性质,比如拥有相似的存储内容,或是相似的在线时间等等。在一定程度上导向性搜索比盲目搜索的成功率要大,同时减少了网络中的信息冗余增长。但经过一段时间后,由于网络中部分节点其维护的内容较多,且服务能力好(例如,一个局部地区的小型服务器),使其渐渐的成为周边节点的共同转发节点。这样就形成了对等网中的一些过热节点或者称之为超级节点,它们承担着网络中很大一部分搜索信息的处理和转发。
[0006]对等网中过热节点的存在是一个隐患。过热节点由于承载着过多的搜索信息的处理和转发,有可能会出现过载的情况,导致网络中部分区域出现信息堵塞等情况。从而通过此超级节点享受服务的叶子节点可能会遭遇到搜索响应延迟的情况。因此需要尽可能的减少超级节点的开销,使其能更好的为周围叶子节点服务。
[0007]为了解决流行资源访问量过大造成的节点过热现象,当前的常用技术是合理缓存流行资源的副本,从而减少过热节点的开销。该技术的基本原理是将流行资源的副本存储在网络中部分节点上,当有相同的搜索信息转发到这些节点时,节点发现此搜索信息请求的资源与自身缓存的副本相同,则直接与查询节点建立连接并进行副本的传输。这种技术可以有效地减少过热节点的开销并提高了服务的响应时间(图2)。
[0008]现有的副本放置技术已经有了不少研究成果。有的根据资源的被查询频率对资源进行相应的复制,通过更多的节点来满足查询以减少搜索通信开销,取得了不错的效果。
[0009]副本缓存技术的一个关键问题是要保证副本放置的有效性,即缓存副本的节点要与对应的超级节点具有一定的行为相似度特征,从而可以有效减少超级节点的开销。当前的常用技术是设置缓存时间来确保副本的有效性。[0010]此外,目前的技术在实现的过程中存在着副本冗余放置的现象。在小规模局域网中,由于节点和资源都相对较少,冗余放置不会对节点产生很大影响。而在大范围组网中,尤其是稠密的网络中,节点可能由于承载过多的存储需求而导致崩溃,影响了网络的可扩展性。

【发明内容】

[0011]本发明的技术解决的问题:克服现有技术的不足,提供一种对等网络中流行资源副本的优化放置方法,该方法可以有效减少网络中存储流行资源的超级节点开销,提高网络搜索算法的可扩展性。
[0012]本发明的技术解决方案:一种对等网络中流行资源副本的优化放置方法,实现步骤如图1所示,具体如下:
[0013]A.在对等网络每一个运行周期开始时,网络中的每个节点统计上一个周期内的自身被访问的次数;
[0014]B.每个节点根据访问次数确定自己为叶子节点或者超级节点,访问次数超过设定阈值的节点定义为热门节点,也称之为超级节点,访问次数没达到阈值的节点称为叶子节点;所有的节点向其周围的节点发送一个表明自己身份的信息,从而网络中每个节点都知道周围的超级节点和叶子节点;
[0015]C.超级节点根据自己接收到的步骤B中所述身份信息,统计出自己路由表里的叶子节点,并计算所述这些叶子节点与自己的行为相似性;所述叶子节点与超级节点间的行为相似性是指上个周期内叶子节点与超级节点共同在线时间的比重。此外,超级节点统计上一周期内自身的资源访问次数,将访问次数高于设定阈值的资源定义为流行资源;
[0016]D.所述叶子节点将自身可以提供的存储容量和路由表信息发送给超级节点。所述超级节点根据接收到的叶子节点的信息,统计出这些叶子节点之间的连通度;
[0017]E.超级节点根据步骤C中所述的自身与叶子的行为相似性,以及D中所述的叶子节点之间的连通度信息和叶子节点的存储容量信息,建立整数规划模型,模型的优化目标为超级节点放置尽可能少的流行文件副本,同时减少超级节点开销。所述整数规划模型分别为:
[0018]减少超级节点开销的整数优化模型:
k m
[0019]C 置)

W:::1

m
[0020]SJ, [Pv *Xmj >1 (n = l,2t-"k) (1>1)( 2 )

/-1
[0021]
W' (r#nrf#0) (M€%)(3)
[0022]?€?< Dj (/ = 1,2,...*)(4)
[0023]Xnij = 0, I (5)
[0024]其中:Xnij描述超级节点SNi将流行资源fn的副本存储于叶子节点Nj上这个事件,Xnij = I表示在Nj存储该副本,否则Xnij = 0,m为叶子节点的个数,k为待放置的副本个数;
[0025]模型的约束条件(2)中的Pu表示超级节点SNi将流行资源fn的副本存储于叶子节点%的概率,Pu可以用行为相似性来表示,入是一个给定的阈值;
[0026]模型的约束条件(3)中Q 1<表示叶子节点的集合,Tp,Tq表示的是叶子节点Np,Nq的路由表中节点集合,表示的是这些叶子节点路由表中存在共同的邻居节点,此时相同文件只需要在这些叶子节点上至多放置一个副本,从而减少网络的资源放置开销;
[0027]模型的约束条件(4)表示节点存储副本的总容量不能超过节点自身提供的存储空间容量,其中Cn表示资源n的容量,Dj表示节点j能够提供的缓存空间容量;
[0028]F.求解步骤E中所述整数规划模型,得出放置资源副本的叶子节点集合;
[0029]G.超级节点将步骤C中所述的流行资源的副本缓存到步骤F所得的最优解中对应的叶子节点上。
[0030]所述步骤A中的周期指一个时间段单位,为一周或者一个月等,其具体时间长度取决于网络的负载和资源的流行时间,更新频率等情况。
[0031]所述步骤C中行为相似度的计算公式为:

Y_f]T
[0032]Sim(NrNi)=^Y1
[0033]其中,用Ni, Nj来表示网络中的任意两个节点。Simd Nj)表示Ni, Nj之间的行为相似度。T表示一个周期的时长。Ti, L分别表示节点Ni, %在T时长里的在线时间,Ti n Tj表示Ni, Nj在T时长里的共同在线时长。在具体的实施中,每个节点在每次进入网络和离开网络时都向其路由表中的节点发送一个消息,从而路由表中的节点能够统计出该节点的在线时长。
[0034]所述步骤D中超级节点在每次开始放置副本前先统计其路由表中叶子节点之间的连通度。任选其中两个叶子节点Ni, %,它们将自身路由表信息发送给超级节点后,超级节点将叶子节点路由表中的节点ID进行比对,如果存在除超级节点之外的共同可达节点,则至多只在其中的一个叶子节点上放置相同文件的一个副本,从而减少网络的资源放置开销。
[0035]所述步骤F中采用贪婪算法去求整数规划模型,具体步骤为:
[0036]步骤1:任意选取网络中一个存储流行资源的超级节点,表示为SNit5首先计算SNi路由表中的叶子节点N1, N2,…,Nn与SNi的行为相似度,其中n为路由表中的叶子节点的总数,得到相似度集合P= (PuP2,…Pn),其中每个分量Pi Q = I, 2---n)表示SNi和叶子节点Ni在一个周期内的共同在线时长比重。如果超级节点SNi路由表中一个叶子节点也没有,即P = 0 ,则算法停止;否则,对P降序排序得到P' = (Pl /,p2',…p/ )。设最优解集合S为空集,即5 = 0 ,转步骤2 ;
[0037]步骤2:如果最优解中超级节点所连接的叶子节点数超过约束条件(2)中的设定阈值X,则算法停止,输出最优解集合S ;否则,转步骤3 ;
[0038]步骤3:假设当前P'中第一个分量为Pk'(在第一次计算时,k= I)。找到pk'对应的叶子节点Nk,并更新P',更新方法为将pk'从P'中去掉,如果最优解集合S中存在
叶子节点与Nk之间有共同的邻居节点数,即存在% G S,使得则舍去Nk,并重复执行步骤3;否则转步骤4;
[0039]步骤4:用Nj表示当前集合S中的叶子节点。此时需要计算Nk与S中的叶子节点的期望数目是否超过设定阈值\,即
【权利要求】
1.一种对等网络中流行资源副本的优化放置方法,其特征在于实现步骤如下: A.在对等网络每一个运行周期开始时,对等网络中的每个节点统计上一个周期内的自身被访问的次数; B.每个节点根据访问次数确定自己为叶子节点或者超级节点,访问次数超过设定阈值的节点定义为热门节点,也称之为超级节点,访问次数没达到阈值的节点称为叶子节点;所有的节点向其周围的节点发送一个表明自己身份的信息,从而对等网络中每个节点都知道自己周围的超级节点和叶子节点信息; C.超级节点根据自己接收到的步骤B中所述身份信息,统计出自己路由表里的叶子节点,并计算所述这些叶子节点与自己的行为相似性;所述叶子节点与超级节点间的行为相似性是指上个周期内叶子节点与超级节点共同在线时间的比重;此外,超级节点统计上一周期内自身的资源访问次数,将访问次数高于设定阈值的资源定义为流行资源; D.所述叶子节点将自身提供的存储容量和路由表信息发送给超级节点,所述超级节点根据接收到的叶子节点的信息,统计出这些叶子节点之间的连通度; E.超级节点根据步骤C中所述的与叶子之间的行为相似性,以及D中所述的叶子节点之间的连通度信息和叶子节点的存储容量信息,建立整数规划模型,模型的优化目标为超级节点放置尽可能少的流行文件副本,同时减少超级节点开销; 减少超级节点开销的整数优化模型为:
k m


( I )
W=I /=I
m sJ.^ ? XwiJ > I n'.= IjI7 …k A>1( 2 )
j I ' 尤-p神N(3)ZJ = K2,-m(4)
n I
Xnij = 0, I (5) 模型的目标函数(I)中的Xnu描述超级节点SNi将流行资源fn的副本存储于叶子节点Nj上这个事件,Xnij = I表示Nj存储该副本,否则Xnij = 0, m为叶子节点的个数,k为待放置的副本个数; 模型的约束条件(2)中的Pu表示超级节点SNi将流行资源fn的副本存储于叶子节点Nj的概率,Pu用行为相似性来表示,\是一个给定的阈值; 模型的约束条件(3)中\表示叶子节点的集合,Tp,Tq表示的是叶子节点Np,Nq的路由表中节点集合,表示这些叶子节点路由表中存在共同的邻居节点,此时相同文件只需要在这些叶子节点上至多放置一个副本,从而减少网络的资源放置开销; 模型的约束条件(4)表示节点存储副本的总容量不能超过节点自身提供的存储空间容量,其中Cn表示资源n的容量,Dj表示节点j能够提供的缓存空间容量; F.求解步骤E中所述整数规划模型,得出放置资源副本的叶子节点集合; G.超级节点将步骤C中所述的流行资源的副本缓存到步骤F所得的最优解中对应的叶子节点上。
2.根据权利要求1所述的一种对等网络中流行资源副本的优化放置方法,其特征在于:所述步骤A中的周期指一个时间段单位,为一周或者一个月,具体时间长度取决于网络的负载和资源的流行时间,更新频率情况。
3.根据权利要求1所述的一种对等网络中流行资源副本的优化放置方法,其特征在于:所述步骤C中行为相似度的计算公式为:

7; (I T1 SimlNijN ) = -
' I 1 ] f tjp 其中,用Ni, %来表示网络中的任意两个节点finKNpNp表示Ni, %之间的行为相似度;T表示一个周期的时长。Ti, Tj分别表示节点Ni, Nj在T时长里的在线时间,Ti n Tj表示Ni, Nj在T时长里的共同在线时长;在具体的实施时,每个节点在每次进入网络和离开网络时都向其路由表中的节点发送一个消息,从而路由表中的节点能够统计出该节点的在线时长。
4.根据权利要求1所述的一种对等网络中流行资源副本的优化放置方法,其特征在于:所述步骤D中超级节点在每次开始放置副本前先统计路由表中叶子节点之间的连通度。具体方法为:任选其中两个叶子节点Ni, %,它们将自身路由表信息发送给超级节点后,超级节点将叶子节点路由表中的节点ID进行比对,如果存在除超级节点之外的共同可达节点,则至多只在其中的一个叶子节点上放置相同文件的一个副本,从而减少网络的资源放置开销。
5.根据权利要求1所述的一种对等网络中流行资源副本的优化放置方法,其特征在于:所述步骤F中采用贪婪算法去求解整数规划模型,具体步骤为: 步骤5.1:任意选取网络中一个存储流行资源的超级节点,表示为SNi ;首先计算SNi路由表中的叶子节点N1, N2,…,Nn与SNi的行为相似度,其中n为路由表中的叶子节点的总数,得到相似度集合P= (P1, P2,"In),其中每个分量Pi Q = I, 2---n)表示SNi和叶子节点Ni在一个周期内的共同在线时长比重;如果超级节点SNi路由表中一个叶子节点也没有,即尸=0 ,则算法停止;否则,对P降序排序得到P' = (p/ ,W,…Pn'),设最优解集合S为空集,即,Y = 0 ,转步骤5.2; 步骤5.2:如果最优解中超级节点所连接的叶子节点数超过约束条件(2)中的设定阈值X,则算法停止,输出最优解集合S ;否则,转步骤5.3 ; 步骤5.3:假设当前P'中第一个分量为Pk',找到Pk'对应的叶子节点Nk,并更新P',更新方法为将Pk'从P'中去掉,如果最优解集合S中存在叶子节点与Nk之间有共同的邻居节点数,即存在Nj G S,使得7; nr-^0,则舍去Nk,并重复执行步骤5.3 ;否则转步骤5.4 ; 步骤5.4:用%表示当前集合S中的叶子节点。此时需要计算Nk与S中的叶子节点的期望数目是否超过设定阈值入,即為^ ? X一 + P* * M *其中Pi」采用步骤5.1中计算的相似度值,下标i,j为对应的超级节点SNi和叶子节点%的下标;如果超过阈值,则将Nk加入最优解集合,此时更新S = SU Nk,得到放置副本的叶子节点集合S并停止算法,输出S ;否则将Nk加入最优解集合, S = SU Nk,转步骤5.3。
【文档编号】H04L12/911GK103491128SQ201310232484
【公开日】2014年1月1日 申请日期:2013年6月13日 优先权日:2013年6月13日
【发明者】杨文国, 高随祥, 吴鸽鹏, 邓浩江, 郭田德, 赵彤, 安然, 姜志鹏, 孙静, 王慎娜 申请人:中国科学院大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1