一种基于谱聚类社区划分的机会网络路由方法与流程

文档序号:11525110阅读:142来源:国知局
本发明涉及一种基于谱聚类社区划分的机会网络路由方法。
背景技术
:在机会网络中,节点的移动对节点之间的通信有很大的影响,经常会发生间歇性中断的情况,网络拓扑结构不稳定,动态变化大,因此机会网络的研究往往是基于节点在移动中相遇的机会来完成数据的传输,采用的是一种“存储—携带—转发”的路由传输策略。这种网络具有一定的社会性,节点经常根据社会关系会聚集在一起或者高频率的出现在一些地点,形成各种社区结构。在这里形成的社区一般都是可以确定真实或者逻辑上的社区边界范围,社区内部的节点活动相对频繁,相遇的机会较高,移动到社区外部的情况较少发生。因此有效的进行社区划分,并根据社区内部或社区之间的不同特征采用不同的路由转发及消息副本控制等策略,可以提高消息传输成功率,降低延迟。对于基于社区划分的机会网络路由方法,文献《bubblerap:social-basedforwardingindelay-tolerantnetworks》(huip,crowcroftj,yonekie.bubblerap:social-basedforwardingindelay-tolerantnetworks[j].ieeetransactionsonmobilecomputing,2011,10(11):1576-1589.)为每个节点设计全局排序表和社区排序表,分别记录节点分布在整个网络和本社区内的活跃度高低排名,源节点根据排序表转发消息,由于采用的是单拷贝传输消息,相对于多副本消息传输,消息传输延迟较大。文献《一种基于社区机会网络的消息传输算法》(牛建伟,周兴,刘燕,等.一种基于社区机会网络的消息传输算法[j].计算机研究与发展,2009,46(12):2068-2075.)把消息传输过程分为社区内和社区间两个阶段,社区内采用“多拷贝+控制”方式,社区间采用社会度较大的节点传输消息,但该方法采用静态的社区划分方法,没有考虑到节点变迁对社区的影响。本发明专利所用的谱聚类划分算法建立在代数图论的理论基础上,基本思想是利用节点相似度策略建立原始数据集隐含的数据对象相似关系图,然后利用谱映射对该图进行子空间学习形成低位表示空间,最后再采用传统聚类算法进行聚类划分,最终根据节点的社区划分设计消息传输方法和副本控制方法,提高路由协议的实效性。技术实现要素:针对现有技术中存在的不足,本发明提供一种基于谱聚类社区划分的机会网络路由方法,该方法提取节点在地图上的移动轨迹数据,将节点本身反映的信息数据加以处理,动态建立节点相似矩阵,并通过谱聚类算法对相似矩阵进行社会关系聚类分析,达到社区划分的目的,最终我们根据节点的社区特性来设计消息传输策略,提高机会网络路由性能。1、一种基于谱聚类社区划分的机会网络路由方法,包括如下步骤:1)设定社区划分数目k、社区向量c,n个移动节点{1,2,...,n},每个节点设定计时器rt和接触序列n(t),仿真开始时,n个节点在地图上做随机运动;2)根据步骤1)的rt和n(t),利用谱聚类算法对网络中的节点进行划分,得到k个社区划分结果c={c1,c2,...,ck};3)计算节点i到达社区cd的社区可达概率中心度picd、社区内节点i和j的节点可达概率中心度pij和节点i的副本控制效用值ui(m,d),其中m为传输的消息,i、j、d表示节点,且d为目标节点,cd为目标所在社区;4)节点移动相遇,根据步骤3)得到picd、pij和ui(m,d)设计路由方法,确定消息是否转发和删除;5)更新c、picd、pij、ui(m,d),重复步骤4)。2、如权利要求1所述的一种基于谱聚类社区划分的机会网络路由方法,所述步骤1)中,其特征是,接触序列n(t)的表示如下:nij(t)={(onl,offl),l=1,2,...,n}nij(t)表示在时间段[0,t]内节点i和j的接触记录序列,其中二元组(onl,offl)分别代表两个节点之间的第l次接触的开始和结束时间,n表示节点i和j总的接触次数。3、上述的一种基于谱聚类社区划分的机会网络路由方法,所述步骤2)中,利用谱聚类算法对网络中的节点进行划分,其特征是:根据rt和nij(t),构造节点之间相似矩阵a=(aij)n×n,表示如下:aij(t)=rij(t)+e-1aij(t-1)其中,根据计时器rt,得到时刻t-1和t,aij(t)由两个部分组成,衰减部分为e-1aij(t-1),该值和上一个时刻t-1相关,增益部分rij(t)为当前时刻t的辅助函数,若时刻t-1和t之间节点i和j有接触记录,则rij(t)可由接触序列nij(t)求得,表示如下:通过上述步骤得到相似矩阵a,计算拉普拉斯矩阵lsym,表示如下:lsym=i-d-1/2ad-1/2其中i为单位矩阵,d为对角矩阵,且其余值为0;由方程(lsym-λii)xi=0,计算lsym的特征值λ1,λ2,…,λn和非零特征列向量xi,提取k个最小特征值所对应的k个n维特征列向量x1,x2,…,xk,特征向量矩阵x表示为:x=[x1,x2,…,xk]∈rn*k其中k为社区数目,n*k为矩阵x的大小;对x的行向量做归一化处理,得到y矩阵为:通过计算得到的y的每一行代表一个节点,随机选取k个社区中心点,计算y的每个节点到k个社区中心点的距离权重,若节点与某个聚类中心点距离权重值最短,则该节点与此聚类中心点划为一个社区,若y的第i行数据归入第j个社区,则表示原数据节点i也就划分到第cj个社区。4、上述的一种基于谱聚类社区划分的机会网络路由方法,所述步骤3)中,其特征是,计算如下:其中cj为社区编号,且cd表示目标节点所在社区;pij表示节点i到j的m跳转发概率之和,计算如下:b=(bij)n×n,表示节点i和j的相似度及其他所有节点的相似度的归一化,bij的取值范围是[0,1],表示如下:其中,aij由相似矩阵a的计算得到;节点i的副本控制效用值ui(m,d),表示如下:其中,d∈[1,n]为消息m的目标节点;当消息的生存期为零,则cttl=0,否则cttl=1,删除过期的消息;当消息m从社区外部进入目标社区时ccom=0,否则ccom=1;ttime(m)为消息m从产生到当前所用的时间,tttl(m)为消息m的生存时间;fdest(m)表示当前节点i与消息m的目标节点d相遇次数,fall表示当前节点i与其它所有节点的相遇次数。5、上述的一种基于谱聚类社区划分的机会网络路由方法,所述步骤4)中,其特征是,设计路由方法分为以下两个内容:(1)路由消息转发方法若假设节点i携带消息m,社区向量c={c1,c2,...,ck},d是消息的目标节点,cd是目标节点所在社区,这个时候若节点i和节点j相遇,此刻i是否将消息的副本转发给j的算法流程如下:a.若j=d,则直接将消息转发;b.若j≠d,又分为以下几种方法:若则消息转发;ci=cd且pid≤pjd,则消息转发;其它情况不转发。(2)路由消息副本控制方法当节点i和j相遇,并且消息m进行了转发,若ui(m,d)<uj(m,d),表示节点i小于节点j的效用值,则删除消息m在节点i的副本。应用本发明的技术方案,具有以下有益效果:通过大量真实数据集的移动节点行为,可以发现数据包在社区内部的传输时间明显高于社区之间的传输时间,以及转发数据包给中心度高的节点对投递延迟等影响很大,因此本发明提供的一种基于谱聚类社区划分的机会网络路由方法,利用节点相互移动所得到的接触次数和接触时长,动态建立移动节点相似矩阵,然后利用谱聚类算法对相似矩阵分析,得到节点之间的社区划分特征,并设计相应路由消息转发方法和副本控制方法,达到既能提高消息传输成功率同时降低网络负载的目的。附图说明图1为本发明的谱聚类社区划分的机会网络路由方法流程图具体实施方式本次实施的实验地为地图仿真,场景范围4500x3400(m^2),所有节点携带蓝牙设备进行数据传输,仿真时间为12h,节点数量为160个,节点通信范围为10m,节点自身缓存15m,节点速度6.5m/s,并且设定聚类数目为4个,本发明技术方案的流程框图如图1所示。1)设定社区划分数目k、社区向量c,n个移动节点{1,2,...,n},每个节点设定计时器rt和接触序列n(t),仿真开始时,n个节点在地图上做随机运动;接触序列n(t)的表示如下:nij(t)={(onl,offl),l=1,2,...,n}nij(t)表示在时间段[0,t]内节点i和j的接触记录序列,其中二元组(onl,offl)分别代表两个节点之间的第l次接触的开始和结束时间,n表示两节点总的接触次数。2)根据步骤1)的rt和n(t),利用谱聚类算法对网络中的节点进行划分,得到k个社区划分结果c={c1,c2,...,ck},谱聚类算法的社区划分的步骤如下:步骤2.1:根据rt和nij(t),构造节点之间相似矩阵a=(aij)n×n,表示如下:aij(t)=rij(t)+e-1aij(t-1)其中,根据计时器rt,得到时刻t-1和t,aij(t)由两个部分组成,衰减部分e-1aij(t-1),该值和上一个时刻t-1相关,增益部分rij(t)为当前时刻t的辅助函数,若时刻t-1和t之间节点i和j有接触记录,则rij(t)可由接触序列nij(t)求得,表示如下:步骤2.2:通过上述步骤得到相似矩阵a,计算拉普拉斯矩阵lsym,表示如下:lsym=i-d-1/2ad-1/2其中i为单位矩阵,d为对角矩阵,且其余值为0;步骤2.3:由方程(lsym-λii)xi=0,计算lsym的特征值λ1,λ2,…,λn和非零特征列向量xi,提取k个最小特征值所对应的k个n维特征列向量x1,x2,…,xk,特征向量矩阵x表示为:x=[x1,x2,…,xk]∈rn*k其中k为社区数目,n*k为矩阵x的大小;对x的行向量做归一化处理,得到y矩阵为:步骤2.4:通过计算得到的y的每一行代表一个节点,随机选取k个社区中心点,计算y的每个节点到k个聚类中心点的距离权重,若节点与某个聚类中心点距离权重值最短,则该节点与此社区中心点划为一个社区,若y的第i行数据归入第j个社区,则表示原数据节点i也就划分到第cj个社区,社区划分结果如表1所示。表1节点社区划分结果3)计算节点i到达社区cd的社区可达概率中心度社区内节点i和j的节点可达概率中心度pij和节点i的副本控制效用值ui(m,d),计算如下:其中cj为社区编号,且cd表示目标节点所在社区;pij表示节点i到j的m跳转发概率之和,计算如下:b=(bij)n×n,表示节点i和j的相似度及其他所有节点的相似度的归一化,bij的取值范围是[0,1],表示如下:其中,aij由上述相似矩阵a的计算得到;计算节点i的副本控制效用值ui(m,d),表示如下:其中,d∈[1,n]为消息m的目标节点;当消息的生存期为零,则cttl=0,否则cttl=1,删除过期的消息;当消息m从社区外部进入目标社区时ccom=0,否则ccom=1;ttime(m)为消息m从产生到当前所用的时间,tttl(m)为消息m的生存时间;fdest(m)表示当前节点i与消息m的目标节点d相遇次数,fall表示当前节点i与其它所有节点的相遇次数。4)节点移动相遇,根据步骤3)得到pij和ui(m,d)设计路由方法,确定消息是否转发和删除,设计路由方法分为以下两个内容:(1)路由消息转发方法若假设节点i携带消息m,社区向量c={c1,c2,...,ck},d是消息的目标节点,cd是目标节点所在社区,这个时候若节点i和节点j相遇,此刻i是否将消息的副本转发给j的算法流程如下:a.若j=d,则直接将消息转发;b.若j≠d,又分为以下几种方法:若ci≠cd且则消息转发;ci=cd且pid≤pjd,则消息转发;其它情况不转发。(2)路由消息副本控制方法当节点i和j相遇,并且消息m进行了转发,若ui(m,d)<uj(m,d),表示节点i小于节点j的效用值,则删除消息m在节点i的副本。5)更新c、picd、pij、ui(m,d),重复步骤4。为定量比较分析各路由算法的性能,选择以下3个指标作为评价路由算法的度量依据,分别是传输成功率、路由协议开销、平均跳数,实验结果如表2所示,从中可以看到,对比epidemic路由和prophet路由方法,本发明的方法能明显优于前两个,由于充分考虑节点的社会性,在社区之间或者社区内部消息的转发会选择具有更高可达概率中心度的下一跳节点,路由算法对下一跳节点的选择针对性更强,具有更高的消息传输率,对网络中的消息数量有明显的控制,往目标节点转发的速度更快,所以跳数最低,证实了本方法的有效性。表2本方法与epidemic路由、prophet路由方法性能比较案例传输成功率路由协议开销平均跳数epidemic路由方法0.324110.3063.768prophet路由方法0.31995.3233.369本发明方法0.51515.2212.548当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1