数据转发方法和装置与流程

文档序号:12890523阅读:286来源:国知局
数据转发方法和装置与流程
本发明涉及分布式移动社会网络
技术领域
,具体而言,涉及一种数据转发方法和装置。
背景技术
:由人们携带的智能设备组成的移动社会网络是一个社会关系的集合,而社会关系也同时影响着网络中各节点之间的相遇模式,例如,携带者的社会关系能够影响网络中节点的相遇情况。除此之外,利用携带者的社会属性等能够更好的适应现实世界中通信网络,其中,经发明人研究发现,移动社会网络中各节点与目的节点的匹配程度越高,则意味着该节点与目的节点的相似度越高,因此,在移动社会网络中如何有效利用节点携带者的社会属性设计出一种高效的数据转发方法是本领域技术人员的研究热点。技术实现要素:有鉴于此,本发明提供一种数据转发方法和装置,应用于分布式移动社会网络,能够有效提高网络中的能量使用效率和网络性能。本发明较佳实施例提供一种数据转发方法,应用于分布式移动社会网络,所述分布式移动社会网络包括发送节点、目的节点和多个邻居节点,所述方法包括以下步骤:所述发送节点接收所述多个邻居节点发送的多个“hello”报文,所述邻居节点包括旧邻居节点和新邻居节点;针对每个发送所述“hello”报文的邻居节点,判断其是否是所述发送节点的新邻居节点,若是所述发送节点的新邻居节点,则所述发送节点与该新邻居节点相互交换社会属性表和相遇矢量;根据所述新邻居节点中的各节点分别对应的社会属性表计算所述各所述新邻居节点与所述目的节点之间的社会相似效用值并保存;根据所述新邻居节点中各节点分别对应的相遇矢量计算各所述新邻居节点分别对应的介数中心度效用值并保存;根据所述各新邻居节点分别对应的所述社会相似效用值和介数中心度效用值计算各所述新邻居节点中的各节点的转发效用值;调用已保存的所述旧邻居节点和所述发送节点分别对应的转发效用值,并对所述旧邻居节点、所述发送节点和所述新邻居节点分别对应的转发效用值进行比较以选取最大效用值,将该最大效用值对应的节点作为最优数据转发中继节点以进行数据信息转发。进一步地,所述发送节点的转发效用值通过以下步骤得到:根据所述发送节点对应的社会属性表计算该发送节点与所述目的节点之间的社会相似效用值encoutiln(d);根据所述发送节点对应的相遇矢量计算该发送节点对应的介数中心度效用值centutiln;根据公式encocent(n)=α·encoutiln(d)+β·centutiln计算所述发送节点的转发效用值encocent(n);其中,α和β分别代表社会相似效用值encoutil(d)和介数中心度效用值centutiln对转发效用值encocent(n)的影响,且α+β=1。进一步地,所述发送节点的社会相似效用值通过以下步骤得到:根据所述发送节点对应的社会属性表计算该发送节点与所述目的节点之间的社会相似性encosimv(d),根据所述社会相似性encosimn(d)计算所述发送节点对应的社会相似效用值encoutiln(d),其中,wm代表新邻居节点的社会属性表与目的节点的社会属性表之间的交集中的属性权重值,w代表的wm的集合,wd代表目的节点的社会属性表中各属性权重值,wd代表wd的集合,encosimv(d)代表邻居节点与目的节点的社会相似性。进一步地,所述发送节点的介数中心度效用值通过以下步骤得到:根据所述发送节点对应的相遇矢量表计算该发送节点对应的介数中心度centn(pi),根据所述介数中心度centn(pi)计算所述发送节点的介数中心度效用值centutiln,其中,gjk代表网络中邻居节点pi和pk的最短路径长度,gjk(pi)代表网络中邻居节点pi和节点pk且经过pi的最短路径长度,centv代表新邻居节点对应的介数中心度。进一步地,所述发送节点上设置有消息队列,当发送所述“hello”报文的邻居节点是所述发送节点的新邻居节点时,所述方法还包括:所述发送节点发送所述消息队列中与所述新邻居节点对应的消息给所述新邻居节点,并在发送完成后从所述消息队列中删除与该新邻居节点对应的消息。进一步地,所述发送节点设置有消息转发队列,在选取到最优数据转发中继节点时,所述方法还包括:将所述发送节点中需要转发至所述目的节点的数据信息添加至所述消息转发队列中;根据所述消息转发队列中的预设转发顺序发送该数据信息给所述最优数据转发中继节点以进行数据转发;从所述消息转发队列中删除已完成转发的所述数据信息。本发明实施例还提供一种数据转发装置,应用于分布式移动社会网络,所述分布式移动社会网络包括发送节点、目的节点和多个邻居节点,所述装置包括:接收单元,用于所述发送节点接收所述多个邻居节点发送的多个“hello”报文,所述邻居节点包括旧邻居节点和新邻居节点;判断单元,用于针对每个发送所述“hello”报文的邻居节点,判断其是否是所述发送节点的新邻居节点,若是所述发送节点的新邻居节点,则所述发送节点与该新邻居节点相互交换社会属性表和相遇矢量;第一计算单元,用于根据所述新邻居节点中的各节点分别对应的社会属性表计算所述各新邻居节点与所述目的节点之间的社会相似效用值并保存;第二计算单元,用于根据所述新邻居节点中各节点分别对应的相遇矢量计算各新邻居节点分别对应的介数中心度效用值并保存;第三计算单元,用于根据所述发送节点和所述各邻居节点分别对应的所述社会相似效用值和介数中心度效用值计算该发送节点和各转发节的每个节点的转发效用值;调用选取单元,用于调用所述旧邻居节点和所述发送节点分别对应的转发效用值,并对所述旧邻居节点、所述发送节点和所述新邻居节点分别对应的转发效用值进行比较以选取最大效用值,将该最大效用值对应的节点作为最优数据转发中继节点以进行数据信息转发。进一步地,所述第三计算单元包括:第一子单元,用于根据所述发送节点对应的社会属性表计算该发送节点与所述目的节点之间的社会相似效用值encoutiln(d);第二子单元,用于根据所述发送节点对应的相遇矢量计算该发送节点对应的介数中心度效用值centutiln;第三子单元,用于根据公式encocent(n)=α·encoutiln(d)+β·centutiln计算所述发送节点的转发效用值encocent(n);其中,α和β分别代表社会相似效用值encoutil(d)和介数中心度效用值centutiln对转发效用值encocent(n)的影响,且α+β=1。进一步地,所述第一计算单元还用于根据所述发送节点对应的社会属性表计算该发送节点与所述目的节点之间的社会相似性encosimv(d),以及根据所述社会相似性encosimn(d)计算所述发送节点对应的社会相似效用值encoutiln(d),其中,wm代表新邻居节点的社会属性表与目的节点的社会属性表之间的交集中的属性权重值,w代表的wm的集合,wd代表目的节点的社会属性表中各属性权重值,wd代表wd的集合,encosimv(d)代表新邻居节点与目的节点的社会相似性。进一步地,所述第二计算单元还用于根据所述发送节点对应的相遇矢量表计算该发送节点对应的介数中心度centn(pi),以及根据所述介数中心度centn(pi)计算所述发送节点的介数中心度效用值centutiln,其中,gjk代表网络中邻居节点pi和pk的最短路径长度,gjk(pi)代表网络中邻居节点pi和节点pk且经过pi的最短路径长度,centv代表新邻居节点对应的介数中心度。与现有技术相比,本发明实施例提供的基于社会感知的数据转发方法和装置,应用于分布式移动社会网络,其中,通过综合分析网络中各节点的社会属性表和相遇矢量以得到各节点的转发效用值,进而根据各节点的转发效用值选取最优数据转发中继节点进行数据信息转发,能够有效提高数据分组的投递效率。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本发明实施例提供的数据转发装置的应用场景示意图。图2为本发明实施例提供的数据转发示意图。图3为本发明实施例提供的数据转发方法的流程示意图。图4为本发明实施例提供的数据转发方法的子流程示意图。图5为本发明实施例提供的数据转发方法的另一子流程示意图。图6为本发明实施例提供的采用不同数据转发方法进行数据投递时的网络性能仿真结果示意图。图7为本发明实施例提供的数据转发装置的方框结构示意图。图8为图7中所示的第三计算单元的方框结构示意图。图标:100-数据转发装置;110-接收单元;120-判断单元;130-第一计算单元;140-第二计算单元;150-第三计算单元;152-第一子单元;154-第二子单元;156-第三子单元;160-调用选取单元;200-存储器;300-存储控制器;400-处理器。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。如图1所示,为本发明实施例提供的一种数据转发装置100的应用场景示意图。所述应用场景包括数据转发装置100、存储器200、存储控制器300以及处理器400。其中,所述存储器200、存储控制器300、处理器400各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件之间通过一条或多条通讯总线或信号线实现电性连接。所述数据转发装置100包括至少一个可以软件或固件的形式存储于所述存储器200中的软件功能模块。所述处理器400在所述存储控制器300的控制下访问所述存储器200,以用于执行所述存储器200中存储的可执行模块,例如所述数据转发装置100所包括的软件功能模块及计算机程序等。可选地,本实施例给出的数据转发方法和装置应用于分布式移动社会网络,如图2所示,该分布式移动社会网络包括源节点s、多个中间节点n(v、a、b)和目的节点d,源节点s要把消息发送给目的节点n,假设当前网络不存在源节点s到目的节点d之间的完整通路,此时,源节点s需要依次通过中间节点n-n-v-v将消息发送至目的节点d。其中,所述中间节点n-n-v-v均是前一个节点的最优数据转发中继节点,且各中间节点的位置在不断移动、变化。可选地,所述源节点和所述目的节点均可以为多个。应注意,本实施例中所提到的发送节点、邻居节点、目的节点均是指所述分布式移动社会网络中由用户携带的智能设备,例如,智能手机、ipad,或者其他具有无线通信功能的移动设备等。需要说明的是,本实施例中所提到的发送节点是指当前需要进行数据发送的节点,可以是接收到的来自源节点的数据信息的中间节点,也可以是源节点,邻居节点是指发送节点周围的节点,能够对所述发送节点上的数据进行转发。应理解,在进行数据信息的转发过程中,由于从发送节点到目的节点之间可能存在多次转发,那么,在每一次转发过程中,均需要以当前转发节点作为发送节点,以选取该发送节点的邻居节点中转发效用值最大的节点进行数据转发,且发送节点、邻居节点、目的节点之间的关系会根据用户位置、时间等的变化而发生变化,例如,发送节点可以变化为邻居节点或目的节点,邻居节点也可变化为发送节点等。例如,当发送节点n要把消息发送给目的节点n,假设当前网络不存在发送节点n到目的节点d之间的完整通路,此时,发送节点n需要通过其邻居节点中的最优数据转发中继节点,再由该最优数据转发中继节点经过一段时间的移动后,又将信息发送它的邻居节点中的最优数据转发中继节点,然后经过上述多次转发后,最终将数据信息转发给目的节点d,以完成数据投递过程。应理解,本实施例中,在进行数据信息的转发过程中,由于从发送节点到目的节点之间可能存在多次转发,那么,在每一次转发过程中,均需要以当前转发节点作为发送节点,以选取该发送节点的邻居节点中转发效用值最大的节点进行数据转发。进一步地,请结合参阅图3,为本发明实施例给出的基于社会感知的数据转发方法的流程示意图,下面将对图3中所示的具体流程进行详细阐述。所应说明的是,本发明所述的数据转发方法并不以图3以及以下所述的具体顺序为限制。应当理解,本发明所述的数据转发方法的部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。步骤s110,所述发送节点接收所述多个邻居节点发送的多个“hello”报文,所述邻居节点包括旧邻居节点和新邻居节点。本实施例中,所述旧邻居节点是指对于相同的目的节点,该邻居节点已经与所述发送节点进行过社会属性表和相遇矢量的交换,且该发送节点已经保存有该邻居节点的转发效用值,可以直接进行调用。所述新邻居节点是指智能移动设备的携带者通过移动后,刚刚与该发送节点形成邻居关系,但未进行过相应的数据转发等。实际实施时,所述发送节点周围的邻居节点均按照预设时间周期向所述发送节点发送“hello”报文,直至该邻居节点经过一段时间的位置移动后不再是该发送节点的邻居节点为止。步骤s120,针对每个发送所述“hello”报文的邻居节点,判断其是否是所述发送节点的新邻居节点,若是所述发送节点的新邻居节点,则所述发送节点与该新邻居节点相互交换社会属性表和相遇矢量。本实施例中,通过步骤s120后,能够避免对旧邻居节点的反复计算。从而节省数据转发过程中的时间开销,提高网络性能。可选地,所述新邻居节点可以为多个。实际实施时,所述发送节点可对预设时间内接收到的“hello”报文进行判断,从而进一步提高数据转发效率。可选地,所述发送节点上设置有消息队列,当发送“hello”报文的邻居节点是发送节点的新邻居节点时,而该发送节点的消息队列也正好存在要发往该新邻居节点的数据,则发送节点将所述数据发给该新邻居节点并在自己的消息队列中删除该数据。进一步地,下面对所述社会属性表和相遇矢量进行简单介绍。(1)社会属性表为了计算某个节点与目的节点的社会相似性,首先定义分布式移动社会网络中各节点共同的社会属性集合,该集合包含一组社会属性ei和属性的权重值wi,该权重值wi表示与其对应的社会属性在分布式移动社会网络中的重要性。因此,本实施例中,需要针对每个节点建立一个社会属性表,用以描述节点携带者的社会上下文信息,例如,设备携带者的姓名、住址、工作单位、爱好等。但考虑到便于比较和隐私保护方面的因素,可采用哈希函数对属性和值进取行处理,哈希函数h(ei,vi)采用md5方法实现,并且把函数生成哈希值存入对应的社会属性表中,具体如表1所示,社会属性表由一组成对的属性(evidence)、值(value)和哈希值h(ei,vi)组成。表1社会属性表evidencenamevaluehashedvalueseivih(ei,vi)例如,表2为表1给出的社会属性表的实例,其中,每个节点的社会属性表具有相同的属性集合,并且属性排列的顺序是一致的。每个社会属性会被分配一个权重值用来体现其重要程度,属性权重值的分配与实际应用相关。表2社会属性表举例evidencenamevaluehashedvaluesnamejackh(name,jack)professionresearcherh(profession,researcher)workplacewhuh(workplace,whu)residenceplacewuhanh(residenceplace,wuhan)(2)相遇矢量所述相遇矢量用于描述所述分布式移动社会网络中的各节点与其它节点的历史接触信息。步骤s130,根据所述新邻居节点中的各节点分别对应的社会属性表计算所述各所述新邻居节点与所述目的节点之间的社会相似效用值并保存。实际实施时,网络中各节点与所述目的节点之间的社会相似效用值的计算过程相似,因此,如图4所示,本实施例以所述发送节点与所述目的节点之间的社会相似效用值的计算为例,对所述社会相似效用值的具体计算过程进行描述。子步骤s132,根据所述发送节点对应的社会属性表计算该发送节点与所述目的节点之间的社会相似性子步骤s134,根据所述社会相似性计算所述发送节点对应的社会相似效用值。研究表明具有相同兴趣倾向和相似社会特征的人们容易相聚在一起,根据这一规律,本实施例为每个节点设计一个社会属性表,用于比较各节点之间的社会相似性。通过比较社会相似性可以找到更适合进行数据转发的中继节点,再利用这些中继节点高效地把数据消息传递到目的节点,下面将对步骤s132和步骤s134中的流程进行详细说明。假设分布式移动社会网络中的节点都是无私的,愿意为其它节点转发数据。那么,对两个节点之间的社会相似性计算,可以通过匹配两个节点的社会属性表来实现。例如,利用表1中的哈希值可以很方便的计算社会相似性,哈希函数的输出是固定的长度,并且按照属性的顺序对哈希值进行对比。其中,每个属性对应有一个权重,属性的权重值表明该属性在信息成功投递中的重要性。具体地,当判断某个节点为所述发送节点的新邻居节点时,它们可以互相交换各自的社会属性表,然后通过匹配所述新邻居节点与目的节点的属性表,计算两个节点的社会相似性。具体地,以图2为例,假设发送节点n的社会属性表中的属性(evidence)和对应值(value)的集合记为n(e,v),目的节点d的属性表中成对的属性和值的集合记为d(e,v),发送节点n和目的节点d的属性值的交集记为m(e,v),具体如公式(1)所示:m(e,v)=n(e,v)∩d(e,v)(1)进一步地,所述发送节点n与目的节点d两个节点的社会属性相似程度,即社会相似度encosimn(d)的计算过程如公式(2)所示。其中,wm代表发送节点n的社会属性表与目的节点d的社会属性表之间的交集中的属性权重值,w代表的wm的集合,wd代表目的节点的社会属性表中各属性权重值,wd代表wd的集合。进一步地,根据公式(2)计算发送节点n相对于新邻居节点v投递一个消息到目的节点d的社会相似性效用值encoutiln(d)如公式(3)所示。应理解,式(3)中的encosimv(d)代表新邻居节点与目的节点的社会相似性,具体计算方法与公式(2)中所示的发送节点n与目的节点d之间的社会相似性计算过程相似,本实施例在此不再赘述。步骤s140,根据所述新邻居节点中各节点分别对应的相遇矢量计算各所述新邻居节点分别对应的介数中心度效用值并保存。实际实施时,与步骤s130相同,网络中各节点介数中心度效用值的计算过程相似,因此,如图5所示,本实施例以所述发送节点的介数中心度效用值计算为例,对所述介数中心度效用值的具体计算过程进行描述。所述发送节点的介数中心度效用值的计算包括以下子步骤。子步骤s142,根据所述发送节点对应的相遇矢量表计算该发送节点对应的介数中心度。子步骤s144,根据所述介数中心度计算所述发送节点的介数中心度效用值。首先需要说明的是,网络中各节点的中心度是衡量该节点在网络结构上的重要性,通情况下,中央节点有很强的连接其它网络成员的能力。例如,介数中心度定义为网络中包含指定节点的最短路径点在所有最短路径的比例。因此,介数中心度较高的节点可以或多或少地控制其它节点之间的数据交换。换言之,在分布式移动社会网络中,认为有较高介数中心度的节点可以促进网络中其它节点之间的通信,适合于被选作数据转发的中继节点,具有较高介数中心度的节点的桥接作用可以用于社群之间的通信,以及有效连接不同的社群。本实施例中,介数中心度centn(pi)的计算方法如公式(4)所示。其中,gjk代表网络中邻居节点pi和pk的最短路径长度,gjk(pi)代表网络中邻居节点pi点和pk且经过pi最短路径长度,centv代表新邻居节点对应的介数中心度。应注意,当所述分布式移动社会网络规模很大,且处于间歇性连通,从而导致无法获得该移动社会网络的完整拓扑结构,对此,本实施例中还可采用自我网络(egonetworks)来替代整个移动社会网络进行介数中心度的计算,具体过程在此不再赘述。进一步地,假设发送节点n的介数中心度记为centn,在投递消息到目的节点d时,发送节点n的介数中心度效用值可以用公式(5)表示。其中,节点v为网络中的相遇节点(新邻居节点),centn代表发送节点n的介数中心度,centv代表新邻居节点对应的介数中心度。所述节点v是指所述发送节点的所有邻居节点,在实际计算时,只需要通过对应的某个邻居节点代替即可。步骤s150,根据所述各新邻居节点分别对应的所述社会相似效用值和介数中心度效用值计算各所述新邻居节点中的各节点的转发效用值。需要说明的是,在分布式移动社会网络中进行数据转发时,中继节点的选择是一个多目标决策的问题,通常希望选择的中继节点在投递消息给目的节点时具有最大效用值。例如,网络中的各节点的转发效用值encocent(n)由社会相似效用值encoutil(d)和介数中心度效用值centutiln两部分组成,本实施例采用归一化的权重值来体现这两个因素的重要性。本实施例中,如式(6)所示,以所述发送节点的转发效用值为例,对该转发效用值的具体计算过程进行描述。encocent(n)=α·encoutiln(d)+β·centutiln(6)其中,α和β分别代表发送节点的社会相似效用值encoutil(d)和介数中心度效用值centutiln对转发效用值encocent(n)的影响,且α+β=1。实际实施时,可通过参数α和β来调整两部分对转发效用值的影响。应注意,转发效用值为一种新的度量用于移动社会网络中的中继节点的选择,该转发效用值的度量是结合社会相似性效用值和介数中心度效用值,以预测相应节点把消息成功投递到目的节点d的转发效用值。步骤s160,调用所述旧邻居节点和所述发送节点分别对应的转发效用值,并对所述旧邻居节点、所述发送节点和所述新邻居节点分别对应的转发效用值进行比较以选取最大效用值,将该最大效用值对应的节点作为最优数据转发中继节点以进行数据信息转发。基于上述步骤s150中描述的转发效用值的计算方法。本实施例中,对于旧邻居节点和发送节点对应的转发效用值采用直接调用的方式提取,而对于新邻居节点对应的转发效用值则根据步骤s120到步骤s150进行计算得到,最后,选取所述旧邻居节点、所述发送节点和所述新邻居节点中转发效用值最大的节点作为最优数据转发中继节点以进行数据转发。可选地,在进行最大转发效用值的选取时所采用的具体方法本实施例不做限制。应注意,由于所述发送节点设置有消息转发队列,因此,在实际实施时,应将所述发送节点中需要转发至所述目的节点的数据信息添加至所述消息转发队列中,然后,根据所述消息转发队列中的预设转发顺序发送该数据信息给所述最优数据转发中继节点以进行数据转发,最后,从所述消息转发队列中删除已完成转发的所述数据信息。除此之外,当发送节点收到新邻居节点发送过来的消息后,该消息被存入所述发送节点消息队列msgqueue中,然后根据该消息的目的节点信息,分别计算介数中心度效用值和社会相似性效用值并缓存在节点中。进一步地,基于对上述数据转发方法的描述,本实施例还给出了基于计算机语言的数据转发程序,具体如表3所示。进一步地,基于上述的数据转发方法和程序,本实施例还给出了的所述数据转发方法的仿真结果示意图,并将仿真结果与现有的dlife、fresh、prophet三种著名方法进行了比较分析,具体仿真过程如下。应注意,本实施例中的数据转发方法即encocent方法。(1)参数设置本实施例采用移动社会网络和机会网络中广泛使用的one(opportunisticnetworkenvironment)仿真平台。为了使仿真环境尽可能地接近真实场景,本实施例采用mit实际数据集作为网络节点移动的轨迹数据。mit实际数据集(mitrealitydata)反映了mit校园内移动节点的接触轨迹。该数据集中的节点是由97个mit的学生和职员组成,他们每个人携带型号为nokia6600的智能手机,这97个节点在校园内活动形成了一个移动社会网络。该数据集收集了持续9个月的节点接触情况的监测数据,节点之间利用蓝牙进行通信。表3为了简化问题的分析,假设每个节点内存在社会属性表和对应的权重集合,关于在如何获取这些信息,本实施例不作具体讨论。假设在该场景中社会相似效用值encoutiln(d)和介数中心度效用值centutiln具有同等重要的作用,因此将α和β的值均设为0.5,其它仿真参数如下表4所示。表4仿真参数设置将每个仿真实验运行30次,然后分别收集统计数据并取平均值。在对各方法的实验数据进行统计分析时,本实施例采用的统计量包括投递比率(deliveryratio)、投递开销(deliverycost)、路由效率(routingefficiency)和平均时延(averagelatency)。其中,投递比率是成功到达目的节点的数据分组数与总共生成数据分组数的比值;投递开销是未成功投递的消息副本总数与成功投递到目的节点的消息总数的比值;路由效率是投递比率与投递开销的比值;平均时延是数据分组被创建到成功到达目的节点的平时时间。下面将针对投递比率(deliveryratio)、投递开销(deliverycost)、路由效率(routingefficiency)和平均时延(averagelatency)的仿真结果进行具体分析。(2)仿真结果分析在相同的仿真环境下,本实施例将encocent方法与其它三种经典的相关方法进行了对比实验。实验中,假设每个节点有足够大的存储空间来存储需要转发的消息,节点之间的带宽足够大使得节点相遇时足以完成数据的交换。如图6(a)所示,为4种方法随时间变化时投递比率的变化情况,其中,可以明显看出,本实施例给出的encocent方法表现较好,在第20天时投递比较达到76%,紧次于投递比率最高的fresh方法,而prophet方法在投递比率方面表现最差。如图6(b)所示,为4种方法随时间变化时投递开销的变化情况,其中,本实施例给出的encocent方法具有最小的平均投递开销,相比于dlife方法减少了约20%的投递开销,而由于prophet方法需要处理大量的历史相遇信息,因而其投递开销最大。虽然在4种方法中,fresh方法拥有最高的投递比率,但是该方法在投递开销方面却表现较差。如图6(c)所示,为4种方法随时间变化时路由效率的变化情况,其中,本实施例给出的encocent方法的具有最高的路由效率,分别比dlife、fresh和prophet方法提高了15%、78%和124%,究其原因是,encocent方法在进行最有数据转发中继节点选择时,不仅考虑了节点携带者的社会相似性对节点移动的影响,而且还充分利用了节点介数中心度效用值在数据转发的桥梁作用,而其它方法只考虑了某个单一方面的因素,因而只是在网络性能的某个统计量方面有较好的表现。如图6(d)所示,为4种方法随时间变化时的网络平均时延的变化情况,其中,fresh方法具有最高的平均时延,原因是其仅仅利用了网络节点间相遇的历史信息,而没利用节点的社会上下文信息,从而导致方法的自适应性不够,同时,相比于prophet方法,dlife方法和encocent方法的平均时延分别减少了16.6%和19.7%,原因是dlife方法和encocent方法在选择最优数据转发中继节点时都利用了节点携带者之间的社会关系,因而在平均时延方面表现更好。进一步地,如图7所示,为本实施例提供的数据转发装置100的方框结构示意图,其中,所述数据转发装置100包括接收单元110、判断单元120、第一计算单元130、第二计算单元140、第三计算单元150和调用选取单元160。所述接收单元110,用于所述发送节点接收所述多个邻居节点发送的多个“hello”报文,所述邻居节点包括旧邻居节点和新邻居节点。本实施例中,图3中的步骤s110由所述接收单元110执行,具体过程请参考步骤s110,在此不再赘述。所述判断单元120,用于针对每个发送所述“hello”报文的邻居节点,判断其是否是所述发送节点的新邻居节点,若是所述发送节点的新邻居节点,则所述发送节点与该新邻居节点相互交换社会属性表和相遇矢量。本实施例中,图3中的步骤s120由所述判断单元120执行,具体过程请参考步骤s120,在此不再赘述。所述第一计算单元130,用于根据所述新邻居节点中的各节点分别对应的社会属性表计算所述各新邻居节点与所述目的节点之间的社会相似效用值并保存。本实施例中,图3中的步骤s130由所述第一计算单元130执行,具体过程请参考步骤s130,在此不再赘述。所述第二计算单元140,用于根据所述新邻居节点中各节点分别对应的相遇矢量计算各新邻居节点分别对应的介数中心度效用值并保存。本实施例中,图3中的步骤s140由所述第二计算单元140执行,具体过程请参考步骤s140,在此不再赘述。所述第三计算单元150,用于根据所述发送节点和所述各邻居节点分别对应的所述社会相似效用值和介数中心度效用值计算该发送节点和各转发节的每个节点的转发效用值。本实施例中,图3中的步骤s150由所述第三计算单元150执行,具体过程请参考步骤s150,在此不再赘述。实际实施时,如图8所示,所述第三计算单元150还包括第一子单元152、第二子单元154和第三子单元156。所述第一子单元152,用于根据所述发送节点对应的社会属性表计算该发送节点与所述目的节点之间的社会相似效用值encoutiln(d)。所述第二子单元154,用于根据所述发送节点对应的相遇矢量计算该发送节点对应的介数中心度效用值centutiln。所述第三子单元156,用于根据公式encocent(n)=α·encoutiln(d)+β·centutiln计算所述发送节点的转发效用值encocent(n)。应理解,第一子单元152、第二子单元154和第三子单元156分别可用于计算网络中各节点的社会相似效用值、介数中心度效用值和转发效用值,换言之,实际实施时,所述第一子单元152的功能也可由所述第一计算单元130代替,所述第二子单元154的功能也可由所述第二计算单元140代替,具体地,本实施例对此不做限制。所述调用选取单元160,用于调用所述旧邻居节点和所述发送节点分别对应的转发效用值,并对所述旧邻居节点、所述发送节点和所述新邻居节点分别对应的转发效用值进行比较以选取最大效用值,将该最大效用值对应的节点作为最优数据转发中继节点以进行数据信息转发。本实施例中,图3中的步骤s160由所述调用选取单元160执行,具体过程请参考步骤s160,在此不再赘述。综上所述,本发明提供的基于社会感知的数据转发方法和装置,通过综合利用移动社会网络中发送节点的各邻居节点的社会相似效用值和介数中心度效用值实现对各邻居节点的转发效用值的计算,进而选取最优数据转发中继节点实现数据信息的转发,能够有效促进移动社会网络中数据转发的效率和智能化,并为以人为中心的智能网络和普适计算的研究提供理论参考和技术支持。在本发明的描述中,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的预设数量个实施例的装置、方法和计算机程序产品可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分。所述模块、程序段或代码的一部分包含一个或预设数量个用于实现规定的逻辑功能。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1