一种基于兴趣社区的DTN网络路由算法的制作方法

文档序号:11879147阅读:270来源:国知局

本发明涉及容迟网络技术领域,尤其涉及一种基于兴趣社区的DTN网络路由算法。



背景技术:

DTN网络中消息的传递使用的是“存储—携带—转发”的模式,路由算法主要研究的是消息在网络中如何能够快速的传递,尽量少的消耗网络资源,减小消息在网络中的延迟,提高消息在网络中转发的成功率。随着DTN网络路由算法越来越受到人们的关注,各式的DTN路由算法被相继提出。

基于洪泛(Flooding-Based)方式的路由算法:Spray and Wait就是典型的一种洪泛路由。该路由算法的主要思想是在路由算法开始时在网络中产生了大量的副本,然后等待直到这些节点与目的节点相遇。通过理论和实验证明,在平均延迟和每个消息转发的数量上得到了如预期的较好的效果。然而基于洪泛的模式有较高的传输可能性,但是消耗了大量的能量和资源,这使得性能明显降级。此外,基于洪泛的路由模式产生了大量的延迟。基于洪泛的方式的典型路由模式还有传染路由(Epidemic Routing)。传染路由最大限度地提高了消息转发速度,尽量减少消息的延迟,减少网络中资源的消耗。通过模拟实验表明,传染路由能够百分之百的传递消息,但是网络中存在大量的消息副本,消耗了大量的网络资源,使得该路由协议性能降级。在基于Epidemic的链路状态的路由协议中,研究人员通过观察节点之间接触的历史信息,使用消息到达下一跳估计需要等待的时间作为边度量标准,从而提出了该协议。使用传染的方式以了解全局拓扑总结知识,网络中的消息是单副本的方式。然而,基于链路状态协议的不足之处就在于每个节点必须了解整个网络拓扑路由表,而实际上综合多个节点上的拓扑信息是非常复杂的。

基于概率的路由:PROPHET(Probabilistic Routing Protocol Using History of Encounters and Transitivity)是一种基于概率估计的路由。在该算法中,每个节点会估计一个到达目的节点的预测概率。该模型中,节点相遇概率随着时间推移按照不同方式进行更新,利用该概率,节点进行路由决策。概率路由算法降低了网络中资源的消耗,但是其成功率却不高。

基于先验知识的路由:MV(Meetings and Visits)路由协议,该路由协议从网络参与者的移动模式得到网络结构并且利用它来使得消息转发。建议在DTNs中其他参与者作为自治代理。这些代理适应他们的移动性来应对网络容量和要求的变化。通过使用机器人的多目标控制方法,能够同时优化多个网络性能指标,模拟表明,能显著改善性能。

还有其他一些路由:在消息转发过程中引入网络编码理论,采用基于编码的转发策略,以减少冗余和解决消息丢弃问题。一种最短期望路径路由协议SEPR(Shortest Expected Path Routing),用随机模型对网络进行建模,选择具有最短期望路径的节点作为下一跳节点,大大降低了消息冗余度。消息摆渡路由MF,该方法使用了被称为摆渡节点的可控的移动节点,摆渡节点被部署在特定的区域,主要负责普通节点之间的消息传输。

以上这些路由协议针对DTN的特点而设计,如频繁断开,缺少端到端的连接,时延极长等,并在一定程序上对路由性能有所提升。但是上述路由协议大多没有真正考虑节点所具有的社会性质,因此在DTN的社会场景中仍不能得到广泛应用。在许多DTN社会场景的应用中,节点的行为模式和运动规律都具有强烈的社会特征,因此一些学者提出基于社会性路由协议,通过节点的社会特征对路径的选择做出决策,从而改善路由性能。SimBet基于自我网络,利用介数中心度和节点与目的节点之间的相似度信息建立效用函数。将消息转发给效用值较高的节点实现消息转发。Hui等人提出了LABEL协议。在该协议中,为每个节点都设置一个标签来表示其社群关系。携带消息的节点选择目的社群中的节点作为转发节点。Hui等人基于节点社交联系图实现了在线分布式社群检测,提出了三种算法SIMPLE、K-CLIQUE和MODULARITY。同时,Hui等人提出了BUBBLE RAP路由协议。BUBBLE RAP采用K-CLIQUE算法,当数据进行转发时,选择全局中心性高的节点,然后再选择局部中心性高的节点,最后转发给目的节点。Bulut和Szymansk提出基于节点间的朋友关系,建立朋友社区。当进行数据转发时,将选择目的社群中朋友联系较强的节点作为下一个转发节点等等。

发明人发现在社交网络和DTN网络相结合的趋势下,研究节点的社会属性,对DTN社会网络中路由的设计有重要指导意义。



技术实现要素:

本发明的目的在于提供一种基于节点兴趣建立社区的路由算法,具有相同兴趣的节点具有相同的社区属性,在节点的移动过程中,通过节点的社区感知强度信息和社区内的节点社交强度信息来指导数据的转发。由于节点的兴趣个数有限,相对来说维护节点的社区更容易些。

为达上述目的,本发明通过以下技术方案实现:

一种基于节点兴趣建立社区的路由算法,包括感知过程和转发过程,其中,所述感知过程具体为:网络中节点m和节点n相遇,节点m是消息的携带者,d是消息转发的目标节点,Im、In和Id分别表示节点的兴趣属性;首先判断两个节点是否有相同的兴趣交集,如果有,求出它们的兴趣交集,也即社区交集,然后分别更新两个节点交集社区内的社交强度信息;如果两个节点没有兴趣交集,则分别更新各自的社区感知强度信息;所述转发过程,利用所述社区感知强度信息和社交强度信息判断消息是否转发,具体转发策略为:

(1)当节点m和节点d有兴趣交集,而节点n和节点d没有兴趣交集时,相对于节点n说,节点m有较大的机会和节点d相遇,因此节点m不转发消息给节点n;

(2)当节点m和节点d没有兴趣交集,而节点n和节点d有兴趣交集时,相对于节点m来说,节点n有较大的机会和节点d相遇,因此节点m把消息转发给节点n;

(3)当节点m、节点n与节点d都没有兴趣交集时,比较节点m和节点n的社区感知强度CPIm(t)和CPIn(t),当满足CPIm(t)>CPIn(t),节点m不将消息转发给节点n;当CPIm(t)<CPIn(t),节点m将消息转发给节点n;

(4)当节点m,节点n与节点d都有兴趣交集时,比较在交集的社区内节点m和节点d的社交强度SIm,d(t)与节点n和节点d的社交强度SIn,d(t),当SIm,d(t)>SIn,d(t)时,节点m不将消息转发给节点n;当SIm,d(t)<SIn,d(t)时,节点m将消息转发给节点n。

本发明的有益效果是:本发明通过对社交网络中节点的社会性研究,将社交网络和DTN网络相结合,把节点的社会属性内嵌在DTN网络中,提出了基于节点兴趣的社区路由算法。该算法以节点的兴趣划分社区,即具有相同兴趣的节点划分在同一个社区。在消息转发策略中,以社区为基础,如果携带消息的节点和与目标节点有相同的兴趣交集,源节点就把消息转发给交集社区中社交强度大的节点,通过社交强度大的节点转发给目标节点;如果源节点和目标节点没有兴趣交集,源节点把消息转发给社区感知强度大的节点,通过此节点转发到目标节点所在社区,然后将消息转发给社区中社交强度大的节点,最终转发给目标节点。本发明所提出的兴趣路由算法,与传统的DTN路由算法:Epidemic和Prophet相比,有效提高了消息的转发成功率,降低了负载和平均跳数。

附图说明

图1是本发明的方法流程图。

具体实施方案

下面通过具体实施方式结合附图对本发明作进一步详细说明。

首先,本发明将进行DTN社交网络的社交联系特征分析。在DTN社交网络中,由于节点的频繁移动,网络的拓扑不断变化,节点的社交联系属性和运动规律性就成为指导路由设计的重要依据。

节点间的社区特性在DTN社会网络中的路由协议设计中具有积极的作用。社区的概念来自社交网络分析理论中的“小世界现象”。1967年,哈佛大学的社会心理学家Stanley Milgram研究发现,在一个成员众多的社会网络中,可以按照某种方式来建立成员之间的关系链,平均最短关系链的链长远小于人群的人数。他将这种现象称为“小世界”现象。通常,处于同一社区的成员之间的社交联系比与社区外成员的社交联系要强烈。因此,同一社区内的成员往往更加频繁的相遇和接触。

中心度也是目前常用的一个重要社交特征。节点的中心度表示节点在社区中连接其他节点的能力,即节点在社区中的重要程度。而中心度较大的节点具有更强的连接其他节点的能力,被称为中心节点。借助于社区中的中心节点,可以提高社区内数据传播的效率。Freeman提出了三种中心度:度中心度(Degree Centrality)、介数中心度(Betweenness Centrality)、接近中心度(Closeness Centrality)。度中心度是指网络中与节点具有直接社交联系的节点的比例。介数中心度表示网络中包含本节点的最短路径与所有最短路径的比例。介数中心度可以用来衡量控制网络中节点信息流通程度,因此,介数中心度可以用于社群间的有效连接。接近中心度是指节点到网络中其他节点的总路径长度的转置。节点的接近中心度可以用来选择网络广播消息时的中间节点。

社交强度是用来表示接触时间长短、情感强度、共同爱好多少等人与人之间的联系程度。社交强度用量化的方式表示网络中节点之间的社交联系的强弱。社交强度高的节点比强度低的节点具有更多的相遇机会。与目的节点具有较高社交强度的节点可以作为数据转发节点。

运动规律性:长时间看,人们的活动遵循着一定规律。比如工作中,上班人员周一到周五朝九晚五的工作模式。在学校中,学生常常在教师,食堂,宿舍,图书馆等区域规律活动。利用人们活动的规律性可以有效的预测节点未来的运动轨迹,从而选择更加合适的转发节点。

现实生活中,人们都有着各自的兴趣爱好。比如,某A对体育和娱乐方面有着热衷的兴趣,某B对军事有独特的爱好,某C除了对娱乐感兴趣,还喜欢看教育方面的知识。很难出现这种情况,生活中所有人对所有的东西都感兴趣,这是难以令人置信的。但是会出现极少数的人可能会对所有的东西都感兴趣。因此,本发明基于以下假设:在DTN社交网络中每个节点都有自己的兴趣,可能一个,可能多个,但是不存在每个节点都拥有所有的兴趣的情况,极少数节点存在着拥有所有的兴趣。

然后,设计兴趣路由算法。本发明把社交网络和DTN相结合,分析节点的社会属性,用节点的兴趣作为划分社区的依据,根据节点的社区感知强度和社交强度,指导数据的转发。

社区的划分:在DTN社交网络中,由于存在着大量的节点,节点可能随时都在移动变化,而且随时都有节点的加入和退出,因此节点的网络拓扑变得难以预测,维护节点的社区关系也变得不那么容易。由此,本发明提出了划分社区的简易方法:兴趣划分社区。即具有相同兴趣的节点同属于同一个社区。一个社区具有一个兴趣属性。这样,由于现实生活中人们的兴趣个数有限,节点自身只要维护好自己的兴趣属性,不必要知道其它的信息,就可以维护自身的社区。

社区和社交强度是最常用的两种社会属性。社交网络分析理论认为社区内的节点接触的频率比社区外的节点高,即社区内的节点有更多的相遇机会。社交强度则反映了节点之间联系的频度。社交强度越大,表示两个节点的联系越紧密,因而相遇的机会也就越多。

社区感知强度:根据兴趣来划分社区,具有相同兴趣的人有相同的社区属性。在现实生活中有可能出现这种情况:在某一地点,具有不同兴趣的人聚集在一起,这样就形成了多社区交叉重叠的现象。社区中的每个节点可能遇到不同社区的其他节点。在这种情况中,一个社区节点遇到不属于该节点社区的其他社区节点的数量是不同的,在这里根据节点的社区感知强度来具体区分。由此定义社区感知强度CPI:即单位时间内一个节点遇到不属于该节点社区的其他社区节点的数量。在这里使用了节点的度中心度来量化社区感知强度。

<mrow> <mi>C</mi> <mi>P</mi> <mi>I</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>t</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>T</mi> </munderover> <mi>n</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

社交强度:在同一社区内,两个节点的社交联系程度,称之为社交强度。同一社区内,如果两个节点在单位时间间隔T内,相遇次数越多,它们之间的社交强度就越大。由此定义两个节点的社交强度信息:单位时间间隔T内,同一社区两个节点相遇的次数。在这里使用了度中心度来量化节点的社交强度。

<mrow> <msub> <mi>SI</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> <mo>&times;</mo> <msub> <mi>d</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </mrow> <mi>T</mi> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,fm,n是节点m和节点n的接触频率,dm,n(t)是节点m和节点n在时间间隔T内的接触时间。

兴趣属性:在现实生活中存在这样的情况,某节点的兴趣不止一种,比如,某学生A某段固定的时间内喜欢看体育类新闻和娱乐类新闻,由此,提出了节点A的兴趣向量属性。假设一个DTN社交网络中存在着n个不同的社区,每个社区都有自己唯一的兴趣属性,那么可以用一组有序的向量In来表示这n个兴趣属性:

In=[11,12,13.......1n] (3)其中,11,12,13........1n表示有序的兴趣1,2,3......n。(1可以表示为娱乐,2可以表示为体育,3可以表示为教育,n可以表示为科技),注意这里必须是按照既定的兴趣顺序来表示1,2,3....n。对于节点A来说,A具有两个兴趣,一个是体育,一个是娱乐,那么节点A的兴趣属性用向量表示就是:

IA=[1,1,0.....0] (4)

即在向量的前两个值设为1,其余值都设为0,表示节点A只有两个兴趣:体育和娱乐(从上面已知1对应娱乐,2对应体育)。这样就完成了对节点A的社区划分。

如附图1所示,兴趣路由算法包括感知过程和转发过程,其中,感知过程:如果一个节点只有一个兴趣,那么问题会变得相当简单,这种情况下,一个节点就属于一个社区,不会存在一个节点属于多个社区的复杂情况,在这里不单独讨论,只讨论一个节点有多个兴趣的情况,即一个节点同时属于多个社区的复杂情况,这也符合我们生活中的实际情况。假设网络中节点M和节点N相遇,首先判断两个节点是否有相同的兴趣交集,如果有,求出它们的兴趣交集,也即社区交集。然后分别更新两个节点交集社区内的社交强度信息。如果两个节点没有兴趣交集,则分别更新自己的社区感知强度信息。这样就完成了两个相遇节点的动态感知。

兴趣路由算法的转发过程,也是从每个节点多个兴趣去考量。网络中,m,n两节点相遇(在彼此的通信范围内),每个节点携带着自己感知到的社区感知强度和社交强度信息。假设,节点m是消息的携带者,当两个节点相遇时,利用社区感知强度信息和社交强度信息判断消息是否转发。

兴趣路由算的具体转发策略:假设m,n,d是网络中的3个节点,Im,In和Id分别表示三个节点的兴趣属性。其中,m是消息携带者,n是节点m运动过程中遇到的中间节点,d是消息转发的目标节点。当节点m和节点n相遇时,根据节点m,节点n和目标节点d的兴趣属性交集情况,本发明把消息的转发策略分为以下4种情况:

(1)当节点m和目标节点d有兴趣交集,而节点n和目标节点d没有兴趣交集时,即满足Im&Id!=0,In&Id=0,说明节点m和目标节点d有共同的兴趣,相对于n节点说,m节点有较大的机会和目标节点d相遇,因此节点m不转发消息给节点n。

(2)当节点m和目标节点d没有兴趣交集,而节点n和目标节点d有兴趣交集时,即满足Im&Id=0,In&Id!=0,说明节点n和目标节点d有共同的兴趣,相对于m节点来说,n节点有较大的机会和目标节点d相遇,因此节点m把消息转发给中间节点n。

(3)当节点m,节点n与目标节点d都没有兴趣交集时,即满足:Im&Id=0,In&Id=0,说明节点m,节点n与目标节点d都没有共同的兴趣,这种情况下就要比较节点m和节点n的社区感知强度:CPIm(t)和CPIn(t)。当满足CPIm(t)>CPIn(t),说明节点m的社区感知强度比节点n的社区感知强度高,m节点遇到其他社区的概率比较大,能有更大的几率转发到目标节点d所在的区域,因此m节点不将消息转发给节点n;当CPIm(t)<CPIn(t),说明节点n的社区感知强度比节点m的社区感知强度高,n节点遇到其他社区的概率比较大,能有更大的几率转发到目标节点d所在的区域,因此节点m将消息转发给节点n。

(4)当节点m,节点n与目标节点d都有兴趣交集时,即满足:Im&Id!=0,In&Id!=0,说明节点m,节点n和目标节点d都有相同的兴趣,此时就要比较在交集的社区内节点m,n和目标节点d的社交强度。这里可能遇到两种不同的情况,第一种情况:节点m和目标节点d的交集与节点n和目标节点d的兴趣交集不同。第二种情况:节点m和目标节点d的兴趣交集与节点n和目标节点d的兴趣交集相同。而且这里的兴趣交集可能有一个也可能有多个。但是不管那种情况只需要考虑在兴趣交集社区的节点m和节点n对目标节点d的社交强度即可。因此,当SIm,d(t)>SIn,d(t)时,说明节点m比节点n有更高的社交强度,此时节点m不将消息转发给节点n;当SIm,d(t)<SIn,d(t)时,说明节点n比节点m有更高的社交强度,此时节点m将消息转发给节点n。

兴趣路由算法的消息管理:由于节点的缓存空间有限,因此,考虑设置消息的优先级。在节点缓存空间满时,优先考虑删除较早的接收的消息。在消息发送阶段,优先考虑发送最新接收到的消息。

在DTN社交网络中,主要从以下4个方面来评价路由算法的优劣:

A.交付率:成功到达目的节点的消息数量与网络中产生的消息总数之比。

B.平均跳数:消息在成功交付时所经过的平均跳数。

C.负载:转发的消息数与成功交付的消息数之比。

D.平均时延:消息产生到成功交付所经历的平均时长

本发明是基于社交网络和DTN网络相结合的基础上,重点解决DTN社交网络中的路由算法。而传统的DTN网络中,并没有考虑节点所具有的社会性,本发明中提出的兴趣路由算法,充分考虑了节点的社会性,实现了了消息的高效转发。

本发明通过对社交网络中节点的社会性研究,将社交网络和DTN网络相结合,把节点的社会属性内嵌在DTN网络中,提出了基于节点兴趣的社区路由算法。该算法以节点的兴趣划分社区,即具有相同兴趣的节点划分在同一个社区。在消息转发策略中,以社区为基础,如果携带消息的节点和与目标节点有相同的兴趣交集,源节点就把消息转发给交集社区中社交强度大的节点,通过社交强度大的节点转发给目标节点;如果源节点和目标节点没有兴趣交集,源节点把消息转发给社区感知强度大的节点,通过此节点转发到目标节点所在社区,然后将消息转发给社区中社交强度大的节点,最终转发给目标节点。

通过对算法的仿真结果,可以较清楚地看出,本发明所提出的兴趣路由算法,与传统的DTN路由算法:Epidemic和Prophet相比,有效提高了消息的转发成功率,降低了负载和平均跳数。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1