一种基于节点社会关系的机会网络路由方法与流程

文档序号:11388847阅读:155来源:国知局

本公开涉及机会网络领域,具体地讲,涉及一种基于节点社会关系的机会网络路由方法。



背景技术:

在机会网络中,依据转发策略的不同,机会路由可以分为:零信息型和信息辅助型两大类。

零信息型路由策略在转发过程中没有考虑到数据特性、参与转发节点的社会属性、网络拓扑结构等因素对方法性能的影响,导致方法在投递率、传输时延和转发代价等性能上优化不到位,如:洪泛路由机制网络负载大,方法可扩展性能差。直接传输路由虽然网络开销小,但传输延时大和投递率低。

信息辅助型路由主要是围绕节点和目的节点之间的关系来选择下一跳节点,在一定程度上可以优化方法性能。但是,节点仅基于单一信息进行消息转发的路由性能仍存在一定缺陷。如prophet路由仅考虑了节点间的接触信息,虽然传输时延小、投递率较高,但是往往是以牺牲网络开销为前提。peoplerank方法也仅仅考虑了节点间的转发关系来计算节点的中心度,而没有考虑到节点的社会属性和转发数据的特征,转发策略依据的属性较为单一,不够全面。



技术实现要素:

在机会网络中,源节点与目标节点间不存在一条完整的传输链路。由于节点具有移动性,并且节点间的接触是机会性的,必将导致网络中仍存在一些节点与其他节点不产生任何关联。假设这些节点仅按照社会关系进行消息转发,那么将有极大的可能会使得这些节点无法在网络中起到其应有的作用而成为孤立节点,不与其他节点产生交互。若节点不按照其社会关系而是完全随机地进行消息转发,孤立节点的定义也不复存在。但是,这种情况下的机会路由已被研究证实,性能不够优化。

因此,为避免上述这些问题,本公开引入考虑了机会路由的社会关系,所述社会关系包括节点的影响力程度以及节点间的身份特征是否相似。其中,所述节点的影响力程度越大,所述节点遇到具有相似身份特征的节点的概率越大,所述节点携带的消息沿着具有相似身份特征的节点转发至目标节点的概率越大。一个节点可能有多个身份特征,每个身份特征与一个主题相对应,每个主题是消息所属的一个分类。使用隶属度向量表达一个节点对不同身份特征的隶属程度,隶属度向量中的分量即为一个节点对某个身份特征的隶属程度。基于所述社会关系,本公开提出了一种基于节点社会关系的机会网络路由方法,在该方法中,所述机会网络中的节点按照下述步骤转发消息,直至将所述消息转发至目标节点:

s1、获取相遇节点,判断其是否为目标节点;

若其不是目标节点,执行步骤s2;

s2、针对当前节点要转发的消息,判断所述消息的副本数目是否大于1;

在所述消息的副本数目大于1时,执行步骤s3;

s3、判断所述相遇节点是否携带所述消息;

在所述相遇节点不携带所述消息时,执行步骤s4;

s4、获取当前网络中节点对不同身份特征的隶属度向量,每个身份特征与一个主题相对应,每个主题是消息所属的一个分类;执行步骤s5;

s5、基于获取的隶属度向量,判断当前节点与所述相遇节点是否具有相似的身份特征;

若当前节点与所述相遇节点具有相似的身份特征,执行步骤s6;

s6、根据当前节点所携带消息的主题,获取当前节点对该主题所对应身份特征的隶属度、所述相遇节点对该主题所对应身份特征的隶属度,结合当前节点的影响力程度和所述相遇节点的影响力程度,分别计算当前节点的路由决策值、所述相遇节点的路由决策值;

若当前节点的路由决策值小于所述相遇节点的决策值,则将当前节点所携带的消息副本按设定的转发数目转发给所述相遇节点;

所述节点的影响力程度越大,所述节点遇到具有相似身份特征的节点的概率越大,所述节点携带的消息沿着具有相似身份特征的节点转发至目标节点的概率越大。

与现有技术相比,本公开方法具有下述有益技术效果:

本公开提出的方法可以对个性化消息的传播与转发进行一定指导。所述方法不限制消息的种类,在进行消息转发时,不仅充分考虑了节点和节点之间的关系,而且基于所转发的消息考虑两个节点是否具有相似的身份特征,从而使消息沿着与该节点具有相似身份特征的节点转发至目标节点。并且,本公开方法在转发消息时,有效提高了消息转发的目的性与准确性,避免将消息转发给无关的节点从而浪费其能耗,可以在一定程度上减缓消息转发的盲目性与无序性。

附图说明

图1为一个实施例中路由方法的整体流程示意图。

具体实施方式

为使本发明的目的和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。为避免赘述,本公开中涉及的参数均只在首次出现时给予说明。

在一个实施例中,将携带消息的节点记作ni,其携带的消息记作mk,所述消息属于第k个主题。节点ni携带消息mk的初始副本数目为θ,θ为正整数。节点ni在网络中移动,按照下述步骤判断是否向遇到的节点转发消息副本。步骤流程可结合图1理解。

s1、获取相遇节点,将其记作n′i,若节点n′i是目标节点,则直接将消息mk转发给节点n′i。否则,执行步骤s2。

s2、针对当前节点ni携带的消息mk,判断节点ni上的消息mk的副本数目是否大于1。若副本数目大于1,执行步骤s3。否则,可以不需要考虑是否将节点n′i作为中继节点,而是自己携带消息mk继续移动,直至遇到目标节点或节点ni的生存期(ttl)结束。

s3、若所述相遇节点n′i携带所述消息,则节点ni继续移动,不需要将所携带消息的副本转发给所述相遇节点n′i。否则,执行步骤s4。

s4、获取当前网络中节点对身份特征的隶属度,所述身份特征与所述消息的主题相对应。执行步骤s5。

s5、基于各个节点对不同身份特征的隶属度向量,通过模糊聚类把身份特征相似的节点聚为一类,若当前节点ni与所述相遇节点n′i属于相同分类,则当前节点ni与所述相遇节点n′i具有相似的身份特征,执行步骤s6。否则,节点ni继续移动。其中,提供一种模糊聚类的具体方法,该方法包括下述步骤:

s501、基于各个节点对不同身份特征的隶属度向量,获取模糊相似矩阵;

将所述模糊相似矩阵记作xnodesum×nodesum,

其中:

nodesum为网络中节点总数;

ni表示第i个节点,i为节点下标,i的取值为整数,取值范围为1到nodesum;

nj表示第j个节点,j为节点下标,j的取值为整数,取值范围为1到nodesum;

为相似系数,通过下式计算:

式中:

r的取值为整数,取值范围属于1到messagesum;

表示节点ni对不同身份特征的隶属度向量的第r个分量,即对第r个主题所对应身份特征的隶属度;

s502、从所述模糊相似矩阵中从大到小依次取值,将该值作为聚类阈值进行分类,并获取不同聚类阈值下的分类结果;

s503、从所有分类结果中选择最佳分类结果。

通过模糊聚类到一个类别的节点具有相似的身份特征,也就是说,若当前节点ni与所述相遇节点n′i属于同一个类别,它们具有相似的身份特征。

s6、基于节点的影响力程度和节点对所述身份特征的隶属度,分别计算当前节点ni的路由决策值noderankr(ni)、所述相遇节点n′i的路由决策值noderankr(n′i)。若当前节点ni的路由决策值noderankr(ni)小于所述相遇节点n′i的决策值noderankr(n′i),则将当前节点ni所携带的消息副本按设定的转发数目转发给所述相遇节点n′i。否则,节点ni继续移动。其中,所述转发数目优选为当前节点所携带消息的副本数目的一半,以有利于消息副本在网络中的快速扩散。

当节点ni遇到下一个节点时,重复上述步骤s1-s6,直至其所携带的消息被转至目标节点,或者其生存期(ttl)结束。获得消息副本的节点在网络中移动,当其遇到一个节点时,同样执行上述步骤,以使获得的消息副本在网络中沿着身份特征相似的节点快速扩散,直至目标节点获得消息,或者携带消息的节点生存期(ttl)结束。

在这个实施例中,所述节点的影响力程度越大,所述节点遇到具有相似身份特征的节点的概率越大,所述节点携带的消息沿着具有相似身份特征的节点转发至目标节点的概率越大。

在这个实施例中,一个节点具有多种身份特征,每种身份特征与消息所属主题相对应。节点对某个身份特征隶属度高,即表明其对该身份特征相对应的主题的消息感兴趣,因此该节点更倾向转发该主题的消息。本方法不关注消息的具体内容,而关注消息所属主题,允许在机会网络中有多种主题。节点在转发消息时,没有限制消息的内容,不同的消息可能属于同一主题。同时,由于节点在转发消息时,是利用节点对不同身份特征的隶属度向量,通过模糊聚类来判断不同的节点是否具有相似的身份特征,使消息沿着身份特征相似的节点转发至目标节点。这种路由方法可以有效提高了消息转发的目的性与准确性,避免将消息转发给无关的节点能耗,在一定程度上减缓消息转发的盲目性与无序性。

前述或以下实施方案/特征/方面中任一项的方法,其中所述隶属度按照下述公式计算:

式中:

表示节点ni转发第r个主题的消息数目;

表示节点ni转发第l个主题的消息数目;

l的取值为整数,取值范围属于1到messagesum,messagesum为节点ni转发过的主题类别总数。

通过计算一个节点对某个身份特征的隶属度可以看出,节点的身份隶属度值越高,代表其转发对应话题消息的数量比例越大。如果把消息转发给身份隶属度高的节点,将更有可能高效地把消息转发到目标节点。每个节点对不同身份特征的隶属度之和为1,即:

前述或以下实施方案/特征/方面中任一项的方法,其中所述最佳分类结果在选择时包括下述步骤:

依次将各个聚类阈值以及相应的分类数目代入下式,当下式取得最大值时,该最大值对应的聚类阈值为最佳聚类阈值,在该聚类阈值下的聚类为最佳聚类结果。

式中:

cλ为根据聚类阈值λ聚类获得的节点类别数,属于同一类的节点具有相似的身份特征;

nc为根据聚类阈值λ聚类获得的属于第c类中的节点数,c的取值范围为从1到cλ;

为平均每个节点对不同身份特征的隶属度向量,将第r个分量记作使用下式计算:

表示针对第c个聚类中,节点nq对不同身份特征的隶属度向量;

q为节点下标,q的取值范围为从1到nc;

是第c类节点中平均每个节点对不同身份特征的隶属度向量,向量的第r个分量记作使用下式计算:

在上述这种方式下,不需要事先精准预测节点的分类结果。

前述或以下实施方案/特征/方面中任一项的方法,其中所述步骤s5中所述相似的身份特征还可以使用下述方法判断:

s501’、根据下述公式计算当前节点和相遇节点的身份相似性值:

式中:

为当前节点ni和相遇节点n′i的身份相似性值;

表示节点n′i对不同身份特征的隶属度向量的第r个分量

s502’、若所述身份相似性值大于等于设定的相似阈值,则判定当前节点与所述相遇节点具有相似的身份特征。即,若ε为相似阈值,则当前节点n′i和相遇节点n′i具有相似的身份特征。

前述或以下实施方案/特征/方面中任一项的方法,其中所述路由决策值按照下述公式计算:

infr(ni)表示节点ni在转发第r个主题的消息时的影响力程度;

noderankr(ni)表示节点ni在转发第r个主题的消息时的路由决策值。

前述或以下实施方案/特征/方面中任一项的方法,其中所述影响力程度可以按照下述公式计算:

式中:

j为节点下标;j的取值为整数,取值范围为1到nodesum;d表示阻尼系数,用于表征节点在网络中转发消息的随机程度;g(ni)表示在节点ni的邻居节点中与节点ni具有相同身份特征的节点集合;|g(nj)|表示节点集合g(nj)的大小;infr(nj)表示节点nj在转发第r个主题的消息时的影响力程度;w(ni,nj)表示节点ni与节点nj之间的亲疏程度效用值。

通过此公式可以看出,在计算当前节点的影响力程度时,该节点的影响力程度受邻居节点的影响。节点的影响力程度不是仅仅受单个节点的影响,而是所有与其身份特征相似的邻居节点共同作用决定的。一个节点若遇到较多身份特征相似并且影响力程度大的节点,则它的影响力程度也会较大。相反,若一个节点没有遇到任何一个与其身份特征类似的节点,那么它的影响力程度为0。本方法中节点在初始状态时,节点的影响力程度为0。当节点开始移动,通过机会接触更新自身的影响力程度。在节点继续移动时,将通过节点间的社会关系以及机会接触共同改变自身的影响力程度。

在度量一个节点的影响力程度时,通过使用该节点和其邻居节点的亲疏度效用值来制约该节点的影响力程度。

同时,使用阻尼系数表征节点在网络中转发消息的随机程度。因此,通过阻尼系数可以平衡节点的机会转发和根据社会关系属性进行转发这两者之间的关系,将阻尼系数记作d。当d=1时,说明网络中的节点将完全按照其具有的社会关系属性进行消息转发。当d=0时,说明网络中的节点将完全开启机会接触模式进行消息转发,不会约束于其具有的社会属性。当d∈(0,1)时,表明当前的转发模式是结合了前面两种转发模式的一种模式。通过改变阻尼系数的取值,可以选择是侧重利用节点间的社会关系转发消息,还是侧重利用节点的机会接触转发消息。

前述或以下实施方案/特征/方面中任一项的方法,其中所述亲疏程度效用值可以通过下述公式计算:

w(ni,nj)=eprob(ni,nj)·tdegree(ni,nj),

式中:

eprob(ni,nj)表示节点ni与节点nj之间的相遇概率;tdegree(ni,nj)表示节点ni与节点nj之间的转发信任度;节点ni为节点ni的邻居节点。

前述或以下实施方案/特征/方面中任一项的方法,其中所述相遇概率按照下述公式计算:

式中:

e(ni,nj)代表节点ni与节点nj之间的相遇次数;se(ni,nt)代表节点ni与节点nt之间的相遇次数总和;t为节点下标;t的取值为整数,取值范围属于1到nodesum。

前述或以下实施方案/特征/方面中任一项的方法,其中所述转发信任度按照下述公式计算:

r(ni,nj)代表节点ni累计接收节点nj转发的消息数目;k为节点下标,k的取值为整数,取值范围属于1到h;代表节点ni向节点nk转发的接收于节点nj的消息数目;h表示接收节点ni转发消息的节点数目,且节点ni转发的消息来自节点nj。

在一个实施例中,提供了一个具体的模糊聚类示例。假设机会网络中有6个移动节点,在该网络中一共有4类主题的消息。

统计每个节点对每类主题的消息转发的数量,得到原始数据矩阵i6×4,具体如下:

基于该原始数据矩阵计算各个节点对不同主题所对应的身份特征的隶属度,建立标准化矩阵s6×4,具体如下:

基于该标准化矩阵获取模糊相似矩阵x6×6,由于模糊相似矩阵具有中心对称性,故可以将模糊相似矩阵x6×6表示成下述形式:

当λ=1时,将满足聚类阈值的值标识出来,得到如下形式矩阵。

聚类结果为:{n1},{n2},{n3},{n4},{n5},{n6}。

所述标识过程如下:模糊相似矩阵中的值在大于等于阈值λ时,该值变为1,其余小于阈值λ的值变为0,从而得到一个新的聚类矩阵。

当λ=0.988时,将满足聚类阈值的值标识出来,得到如下形式矩阵:

聚类结果为:{n1},{n2},{n3},{n4,n6},{n5}。

当λ=0.943时,将满足聚类阈值的值标识出来,得到如下形式矩阵:

聚类结果为:{n1},{n2,n3},{n4,n6},{n5}。

当λ=0.901时,将满足聚类阈值的值标识出来,得到如下形式矩阵:

聚类结果为:{n1,n5},{n2,n3},{n4,n6}。

当λ=0.863时,将满足聚类阈值的值标识出来,得到如下形式矩阵:

聚类结果为:{n1,n2,n3,n5},{n4,n6}。

以此类推,直至得出符合条件的最佳聚类结果。

以上对本公开进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。

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