首页> 中国专利> 基于等级社区结构的移动社交网络数据转发方法

基于等级社区结构的移动社交网络数据转发方法

摘要

本发明公开了一种基于等级社区结构的移动社交网络数据转发方法,网络中节点统计其它节点与其联系的次数,并且根据朋友的定义计算自己的朋友圈;节点相遇时交换彼此的朋友圈,通过计算得到网络朋友关系图;数据包携带者根据网络朋友关系图计算目的节点所在的大小社区;根据数据包携带者的三种不同位置设计了不同的数据转发策略,具体为在目的节点所在小社区内、在目的节点所在小社区外且在目的节点所在大社区内、在目的节点所在大社区外,中继节点的数量逐渐减少。本发明可以大幅度地降低网络开销,同时接近传染病方法达到的最大传递率。

著录项

  • 公开/公告号CN104994464A

    专利类型发明专利

  • 公开/公告日2015-10-21

    原文格式PDF

  • 申请/专利权人 合肥工业大学;

    申请/专利号CN201510324336.8

  • 申请日2015-06-11

  • 分类号

  • 代理机构安徽合肥华信知识产权代理有限公司;

  • 代理人余成俊

  • 地址 230009 安徽省合肥市屯溪路193号

  • 入库时间 2023-12-18 11:33:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-11

    授权

    授权

  • 2015-11-18

    实质审查的生效 IPC(主分类):H04W4/00 申请日:20150611

    实质审查的生效

  • 2015-10-21

    公开

    公开

说明书

技术领域

本发明主要涉及计算机无线网络技术领域,尤其涉及一种基于等级社区结构的移动社交网络数据转发方法。

背景技术

容迟网络(Delay tolerant networks,DTNs)最早是为了解决美国国防部先进研究项目局(Defense advanced research projects agency,DARPA)提出的星际互联问题,后来逐渐发现了它的广泛应用场景,如移动社交网络、车载网络、战场通信、野生动物保护和偏远地区的互联网接入等具有挑战性的领域。因此,它受到军事、学术和商业领域的广泛关注,被认为是实现“无处不在的网络”的一项关键技术,有着重要的理论价值和实践意义。随着近年来智能手机和无线技术(WIFI、3G、蓝牙等)的快速发展,使得移动社交网络(Mobile social networks,MSNs)越来越成为容迟网络的一个非常重要应用。在移动社交网络中,人们通过携带的无线终端设备在近距离相遇时这种间歇式的连接相互传递数据,从而实现网络设备之间的数据通信。

在移动社交网络,由于动态变化的网络拓扑、节点密度低、电池供电等原因造成网络一般不存在端到端的路径。因此,移动社交网络中数据转发是一个关键问题。根据数据包复制转发的策略,目前数据转发方法主要包括基于洪泛的方法、基于概率的方法和基于社会属性的方法。传染病(Epidemic)方法是移动设计网络中第一个被提出的基于洪泛的数据转发方法,该方法采用“携带-存储-转发”范式,源节点将数据包复制给所有相遇的节点,这些节点存储这些数据包,同样在遇到其它没有数据包拷贝节点时,也产生新的拷贝转发给相遇节点,因此具有最高的传递率和最小的传递延迟。但是,由于网络中存在大量冗余的数据包,因此造成网络带宽、能量等网络资源的浪费。为此,一种有限制的洪泛方法,喷射等待(Spray and Wait)方法被提出。它包括喷射和等待两个阶段,在喷射阶段,在网络中传播一定数量的数据包拷贝,在等待阶段,数据包的携带者仅仅在遇到目的节点才会转发数据包。在基于概率的方法中,节点经常会将数据传递给到目的节点概率更高的节点。概率(Prophet)方法是基于节点之间的相遇历史信息和传递性来预测每个节点的传递概率,即将数据包传递给目的节点的概率。数据包的携带者将数据包转发给传递概率更高的节点。基于社会属性的方法是最近的研究焦点之一,它通过从网络社会属性的角度择中继节点,其中社会属性包括社区、中心性、友好性和相似性等。冒泡方法首先利用全局中心性来传递数据包直至到达目的节点所在社区,然后利用局部中心性在社区内将数据包传递给目的节点。Dsearching基于节点的社区活动性将移动社交网络分成若干个子区域,存储节点访问过的子区域和移动信息,利用这些信息可以有效地发送数据包从而传递到目的节点,很大地降低了传递延迟。基于社会群体的数据转发方法(Socialgroups based routing,SGBR)为任意节点对(a,b)定义一个连通度数Γab=(Γa,b)oldγk+(1-(Γa,b)oldγk)α,其中(Γa,b)old是节点对(a,b)之间之前的连通度数,α是更新因子,γ是老化因子,k是自它们上次碰面以来经历的时间。初始时源节点产生一定数量的数据包拷贝;当数据包携带者遇到目的节点则转发数据包;当数据包携带者遇到与本节点的连通度数小于一个事先给定的阈值Cth的节点(即与自己不属于同一社会组),则将一半数据包副本转发给该节点,自己留下剩余一半数据包副本,同时如果它们之间连通度大于一个事先给定的阈值Dth则丢弃自己的所有数据包副本。

但是,目前研究工作考虑的社会属性相对较简单,缺乏从贴近现实社会、更加复杂的社会属性结构出发设计数据转发方法。在本发明中,我们提出了基于等级社区结构的社区数据转发方法。等级社区结构由大小社区组成。其中,小社区是利用节点间的友好性构建的,大社区则是利用小社区之间的关系来构建的。

发明内容

本发明目的就是为了弥补已有技术的缺陷,提供一种基于等级社区结构的移动社交网络数据转发方法。

本发明是通过以下技术方案实现的:

基于等级社区结构的移动社交网络数据转发方法,其特征在于,该方法具体步骤如下:

(1)网络中节点统计其它节点与其联系的次数,并且根据朋友的定义计算自己的朋友圈,具体过程如下:

(1.1)变量Rj表示与节点j接触过的节点集合,定义另外一个节点i对于节点j的累计接触比例为:其中ci,j表示节点i和节点j累计接触次数,|Rj|是集合Rj的势,rj,k是节点j的邻居集合Rj中第k个节点;CCRi,j表示节点i对于节点j的累计接触次数平方,与节点j的邻居集合Rj中所有节点跟节点j接触次数平方和的比值;

(1.2)为了标识与节点j频繁接触的节点,设定一个阈值其中n为网络中节点数目,λ是一个实数可以根据不同的应用场合而设定不同的值;

(1.3)在节点j,如果另外一个节点i对于节点j的累计接触比例CCRi,j≥CCRthr,则称节点i属于节点的j的朋友圈;

(2)节点相遇时交换彼此的朋友圈,通过计算得到网络朋友关系图,具体过程如下:

(2.1)如果节点i和节点j属于彼此的朋友圈,即CCRi,j≥CCRthr而且CCRj,i≥CCRthr,则称节点i和节点j是朋友关系,当节点i和节点j是朋友关系时,定义变量fi,j的值为1,否则它的值为0;

(2.2)通过相遇的节点彼此交换朋友圈,每个节点可以得到一个网络朋友关系图,用G=(V,E)表示;其中,V表示图中的节点集合,E表示图中边的集合;如果节点i和节点j是朋友关系,则它们之间存在一条边;

(3)数据包携带者根据网络朋友关系图计算目的节点所在的大小社区,为数据转发做准备,具体过程如下:

(3.1)一般情况下,一个节点的朋友们之间也有可能是朋友,因此,将彼此之间都是朋友关系的节点集合定义为一个小社区;可以根据网络朋友关系图G=(V,E)得到目的节点所在大小社区们;

(3.2)小社区是一个所有成员节点彼此都是朋友的节点集合,如果可以找到目的节点所在的小社区,就可以直接或者间接地通过这些目的节点的朋友快速有效地传递数据包到达目的节点;

(3.3)接着,在小社区的基础上,定义一个由若干小社区组成的大社区,它的定义为:如果两个小社区之间存在至少K对朋友节点,称它们属于同一个大社区,根据目的节点所在的小社区之间的朋友对数目,可以得到目的节点所在的大社区们;

(4)如果数据包携带者节点j位于目的节点所在小社区内,则节点j会将数据包传递给每一个属于SCd且没有该数据包拷贝的相遇节点,从而迅速有效地传递数据包给目的节点d;其中,变量SCd表示目的节点d所在的小社区们的节点集合;同时,为了节省网络资源和考虑到小社区的节点之间的频繁接触情况,限制数据包在小社区中最多经过三跳到达目的节点。

(5)如果数据包携带者节点j在目的节点所在小社区外且在目的节点所在的大社区内,则分为四种情况分别处理:

(5.1)如果目的节点d∈Rj,节点j直接转发数据包给目的节点d;

(5.2)如果目的节点并且则选择节点i作为中继点转发数据包;

(5.3)如果目的节点Rj∩SCd=φ,并且节点i在SCd中至少存在一个朋友节点,则选择节点集合Mj={i|CCRi,k≥CCRthr或者CCRk,i≥CCRthr,k∈SCd并且i∈Rj}中的节点作为中继点;

(5.4)否则,对于集合Rj中每个节点,计算它的朋友节点数目;选择朋友节点数最多的节点Ns,即作为中继点转发数据包;其中,|Rj|是集合Rj的势,rj,k是集合Rj第k个节点,是集合的势,是集合中第i个节点;

(6)如果数据包携带者节点j在目的节点所在大社区外,则分为四种情况分别处理:

(6.1)如果目的节点d∈Rj,则节点j直接转发数据包给目的节点d;并且如果则选择节点i作为中继点转发数据包;

(6.2)如果目的节点并且Rj∩BCd≠φ,其中BCd表示目的节点d所在的大社区们的节点集合,则选择集合Rj∩BCd中节点,而且在SCd中朋友节点数目最多的节点Ma,即作为中继点;其中,|BCd|是集合BCd的势,rj,w是集合Rj第w个节点,scd,k是集合SCd第k个节点;

(6.3)如果目的节点Rj∩BCd=φ,并且节点k存在朋友节点在集合BCd中;如果节点k不唯一,则选择在BCd中朋友节点数最多的节点作为中继点,记为Mb,即作为中继节点,其中,bcd,k是集合BCd中第k个节点;

(6.4)否则,对于集合Rj中每个节点,计算它们的朋友节点数目,则选择朋友节点数目最多的那个节点,记为Nb,即作为中继节点。

本发明的优点是:

本发明方法根据数据包携带者的三种不同位置设计了不同的数据转发策略,具体为在目的节点所在小社区内、在目的节点所在小社区外且在目的节点所在大社区内、在目的节点所在大社区外,中继节点的数量逐渐减少,可以大幅度地降低网络开销,同时接近传染病方法达到的最大传递率。

附图说明

图1为本发明的流程示意图。

图2a为数据包不同生存时间下数据转发方法中传递率比较示意图。

图2b为数据包不同生存时间下数据转发方法中网络开销比较示意图。

图2c为数据包不同生存时间下数据转发方法中传递延迟比较示意图。

具体实施方式

如图1所示,基于等级社区结构的移动社交网络数据转发方法,该方法具体步骤如下:

(1)网络中节点统计其它节点与其联系的次数,并且根据朋友的定义计算自己的朋友圈,具体过程如下:

(1.1)变量Rj表示与节点j接触过的节点集合,定义另外一个节点i对于节点j的累计接触比例为:其中ci,j表示节点i和节点j累计接触次数,|Rj|是集合Rj的势,rj,k是节点j的邻居集合Rj中第k个节点;CCRi,j表示节点i对于节点j的累计接触次数平方,与节点j的邻居集合Rj中所有节点跟节点j接触次数平方和的比值;

(1.2)为了标识与节点j频繁接触的节点,设定一个阈值其中n为网络中节点数目,λ是一个实数可以根据不同的应用场合而设定不同的值;

(1.3)在节点j,如果另外一个节点i对于节点j的累计接触比例CCRi,j≥CCRthr,则称节点i属于节点的j的朋友圈;

(2)节点相遇时交换彼此的朋友圈,通过计算得到网络朋友关系图,具体过程如下:

(2.1)如果节点i和节点j属于彼此的朋友圈,即CCRi,j≥CCRthr而且CCRj,i≥CCRthr,则称节点i和节点j是朋友关系,当节点i和节点j是朋友关系时,定义变量fi,j的值为1,否则它的值为0;

(2.2)通过相遇的节点彼此交换朋友圈,每个节点可以得到一个网络朋友关系图,用G=(V,E)表示;其中,V表示图中的节点集合,E表示图中边的集合;如果节点i和节点j是朋友关系,则它们之间存在一条边;

(3)数据包携带者根据网络朋友关系图计算目的节点所在的大小社区,为数据转发做准备,具体过程如下:

(3.1)一般情况下,一个节点的朋友们之间也有可能是朋友,因此,将彼此之间都是朋友关系的节点集合定义为一个小社区;可以根据网络朋友关系图G=(V,E)得到目的节点所在大小社区们;

(3.2)小社区是一个所有成员节点彼此都是朋友的节点集合,如果可以找到目的节点所在的小社区,就可以直接或者间接地通过这些目的节点的朋友快速有效地传递数据包到达目的节点;

(3.3)接着,在小社区的基础上,定义一个由若干小社区组成的大社区,它的定义为:如果两个小社区之间存在至少K对朋友节点,称它们属于同一个大社区,根据目的节点所在的小社区之间的朋友对数目,可以得到目的节点所在的大社区们;

(4)如果数据包携带者节点j位于目的节点所在小社区内,则节点j会将数据包传递给每一个属于SCd且没有该数据包拷贝的相遇节点,从而迅速有效地传递数据包给目的节点d;其中,变量SCd表示目的节点d所在的小社区们的节点集合;同时,为了节省网络资源和考虑到小社区的节点之间的频繁接触情况,限制数据包在小社区中最多经过三跳到达目的节点。

(5)如果数据包携带者节点j在目的节点所在小社区外且在目的节点所在的大社区内,则分为四种情况分别处理:

(5.1)如果目的节点d∈Rj,节点j直接转发数据包给目的节点d;

(5.2)如果目的节点并且则选择节点i作为中继点转发数据包;

(5.3)如果目的节点Rj∩SCd=φ,并且节点i在SCd中至少存在一个朋友节点,则选择节点集合Mj={i|CCRi,k≥CCRthr或者CCRk,i≥CCRthr,k∈SCd并且i∈Rj}中的节点作为中继点;

(5.4)否则,对于集合Rj中每个节点,计算它的朋友节点数目;选择朋友节点数最多的节点Ns,即作为中继点转发数据包;其中,|Rj|是集合Rj的势,rj,k是集合Rj第k个节点,是集合的势,是集合中第i个节点;

(6)数据包携带者节点j在目的节点所在大社区外,则分为四种情况分别处理:

(6.1)如果目的节点d∈Rj,则节点j直接转发数据包给目的节点d;并且如果则选择节点i作为中继点转发数据包;

(6.2)如果目的节点并且Rj∩BCd≠φ,其中BCd表示目的节点d所在的大社区们的节点集合,则选择集合Rj∩BCd中节点,而且在SCd中朋友节点数目最多的节点Ma,即作为中继点;其中,|BCd|是集合BCd的势,rj,w是集合Rj第w个节点,scd,k是集合SCd第k个节点;

(6.3)如果目的节点Rj∩BCd=φ,并且节点k存在朋友节点在集合BCd中;如果节点k不唯一,则选择在BCd中朋友节点数最多的节点作为中继点,记为Mb,即作为中继节点,其中,bcd,k是集合BCd中第k个节点;

(6.4)否则,对于集合Rj中每个节点,计算它们的朋友节点数目,则选择朋友节点数目最多的那个节点,记为Nb,即作为中继节点。

性能评估

通过仿真实验将本发明方法与现有具有代表性的传染病Epidemic方法、基于社会群体SGBR方法和总联系次数TotalCon方法进行性能比较。在传染病Epidemic方法中,数据携带者会将数据包复制给所有相遇且没有数据包的节点。基于社会群体SGBR方法则是使得数据包在不同组之间传播。在总联系次数TotalCon方法中,携带数据包的节点将数据包复制给与其它节点相遇次数比自己多的节点。采用著名的Infocom06的真实跟踪数据作为节点的移动模型,它是通过在西班牙巴塞罗那召开的Infocom 2006会议上78个志愿者携带iMotes设备采集节点之间联系信息而得到。从三个方面来比较上面四种方法的性能:传递率、传递延迟和网络开销。传递率是指成功发送的数据包占总的发送数据包的比例,传递延迟是指数据包从源节点到达目的节点所经历的平均时间,网络开销则是以网络中数据包拷贝数目来衡量。在本发明方法中,λ=1.2,K=2。在基于社会群体方法中,一开始源节点数据包副本数目L=32,携带数据节点采用二分喷射,即将拥有的数据拷贝一半留给自己,一半转发给相遇节点,γ=0.98,α=0.45,Cth=Dth=0.5。从网络节点中随机选择两个节点分别作为源节点和目的节点。每个实验结果都是1000次运行结果的平均值。

将数据包生存时间(Time-to-live,TTL)从9小时变化到20小时来研究生存时间对三种数据转发方法性能影响,仿真结果如图2所示。在图2(a)中,可以发现,随着生存时间的增大,所有方法的传递率开始增加并趋于平稳。本发明方法的平均传递率比其它两种方法都高,仅仅比传染病方法低3%。其中,传染病方法因为采用了洪泛策略使得其传递率是最高的并且往往作为传递率性能的上界。同时,从图2(b)可以看出,本发明方法较其它所有方法明显地降低了网络开销。例如,当数据包生存时间为20小时时,本发明方法的网络开销比传染病方法少72%,比基于社会群体方法少38%,比总联系次数方法少31%。图2(c)表明,本发明方法的传递延迟和基于社会群体方法和总联系次数方法接近,比采用洪泛策略的传染病方法有一定程度的增加。其中传染病方法的传递延迟往往作为该性能的下界。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号