基于上下文认知的数据转发方法和装置与流程

文档序号:11778243阅读:252来源:国知局
基于上下文认知的数据转发方法和装置与流程
本发明涉及分布式移动社会网络
技术领域
,具体而言,涉及一种基于上下文认知的数据转发方法和装置。
背景技术
:由人们携带的智能设备组成的移动社会网络是一个社会关系的集合,而社会关系也同时影响着网络中各节点之间的相遇模式,例如,携带者的社会关系能够影响网络中节点的相遇情况。除此之外,利用携带者的社会属性等能够更好的适应现实世界中通信网络,其中,经发明人研究发现,移动社会网络中各节点与目的节点上下文信息的匹配程度越高,则意味着该节点与目的节点的相似度越高,因此,在移动社会网络中如何综合考虑利用节点携带者的多个维度的上下文信息设计出一种高效的数据转发方法是本领域技术人员的研究热点。技术实现要素:有鉴于此,本发明提供一种基于上下文认知的数据转发方法和装置,应用于分布式移动社会网络,能够有效提高网络的交付比率,减少网络开销。本发明较佳实施例提供一种基于上下文认知的数据转发方法,应用于包含多个社区的移动社会网络,每个所述社区内包含多个位置动态变化的移动节点,且各移动节点可以在各社区之间移动,所述方法包括:在与发送节点位于同一社区的多个所述移动节点中选取发送节点的邻居节点并保存至第一节点集;所述发送节点与所述第一节点集中的各节点相互交换社会属性表,根据所述各节点对应的社会属性表计算每个节点与目的节点之间的社会相似性并保存;判断所述第一节点集中的每个节点对应的社会相似性是否大于预设阈值,若大于,则将该节点保存至第二节点集;针对所述第二节点集中的每个节点分别生成对应的马尔可夫链;根据所述第二节点集中的每个节点分别对应的马尔可夫链,计算该节点在预设时间内转移到所述目的节点所在的社区的转移概率;从所述第二节点集中选取转移概率最大的节点作为最优中继节点以进行数据转发。进一步地,针对所述第二节点集中的每个节点分别生成对应的马尔可夫链的步骤,包括:获取所述第二节点集中的每个节点访问所述移动社会网络中不同社区的历史信息;根据所述第二节点集中的每个节点分别对应的历史信息生成该节点随时间发生状态转移的马尔可夫链。进一步地,所述转移概率可以为:其中,m代表第二节点集中的节点,i、j代表移动社会网络中的社区,代表节点m在k时刻从第i个社区转移到第j个社区的状态。进一步地,所述方法还包括:判断所述第一节点集中的每个节点是否为目的节点,若是,则所述发送节点直接发送所述数据给所述目的节点以完成数据转发。进一步地,在与发送节点位于同一社区的多个所述移动节点中选取发送节点的邻居节点并保存至第一节点集的步骤,包括:与所述发送节点位于同一社区网络中的移动节点按照预设时间周期向该发送节点发送“hello”报文;针对所述发送节点接收到的每个“hello”报文,将发送所述“hello”报文的移动节点作为邻居节点,并保存至所述第一节点集中。进一步地,所述社会相似性通过以下步骤得到:根据所述第一节点集中的每个节点分别对应的社会属性表,计算该节点与所述目的节点之间的社会相似性其中,wm代表第一节点集中的节点的社会属性表与目的节点的社会属性表之间的交集中的属性权值,w代表的wm的集合,wd代表目的节点的社会属性表中各属性权值,wd代表wd的集合。本发明较佳实施例还提供一种基于上下文认知的数据转发装置,应用于包含多个社区的移动社会网络,每个所述社区内包含多个位置动态变化的移动节点,且各移动节点可以在各社区之间移动,所述装置包括:节点选取模块,用于在与发送节点位于同一社区的多个所述移动节点中选取发送节点的邻居节点并保存至第一节点集;第一计算模块,用于所述发送节点与所述第一节点集中的各节点相互交换社会属性表,根据所述各节点对应的社会属性表计算每个节点与目的节点之间的社会相似性并保存;第一判断模块,用于判断所述第一节点集中的每个节点对应的社会相似性是否大于预设阈值,若大于,则将该节点保存至第二节点集;生成模块,用于针对所述第二节点集中的每个节点分别生成对应的马尔可夫链;第二计算模块,用于根据所述第二节点集中的每个节点分别对应的马尔可夫链,计算该节点在预设时间内转移到所述目的节点所在的社区的转移概率;数据转发模块,用于从所述第二节点集中选取转移概率最大的节点作为最优中继节点以进行数据转发。进一步地,所述生成模块包括:信息获取单元,用于获取所述第二节点集中的每个节点访问所述移动社会网络中不同社区的历史信息;生成单元,用于根据所述第二节点集中的每个节点分别对应的历史信息生成该节点随时间发生状态转移的马尔可夫链。进一步地,转移概率可以表示为:其中,m代表第二节点集中的节点,i、j代表移动社会网络中的社区,代表节点m在k时刻从第i个社区转移到第j个社区的状态。进一步地,所述装置还包括:第二判断模块,用于判断所述第一节点集中的每个节点是否为目的节点,若是,则所述发送节点直接发送所述数据给所述目的节点以完成数据转发。与现有技术相比,本发明实施例提供的基于上下文认知的数据转发方法和装置,应用于包含多个社区的移动社会网络,其中,该方法综合利用社区中各移动节点三个维度的上下文信息,并采用马尔可夫预测模型对上下文信息进行预测,从而选取最优中继节点以实现数据转发,进而提高移动社会网络中的数据转发效率,节省网络开销。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本发明实施例提供的基于上下文认知的数据转发装置的应用场景示意图。图2为本发明实施例提供的基于上下文认知的数据转发示意图。图3为本发明实施例提供的基于上下文认知的数据转发方法的流程示意图。图4为本发明实施例提供的基于上下文认知的数据转发方法的子流程示意图。图5为本发明实施例提供的基于上下文认知的数据转发方法的又一子流程示意图。图6为本发明实施例提供的基于上下文认知的数据转发装置的方框结构示意图。图7为图6中所示的生成模块的方框结构示意图。图8为本发明实施例提供的采用不同数据转发方法进行数据投递时的网络性能仿真结果示意图。图标:100-基于上下文认知的数据转发装置;110-节点选取模块;120-第一计算模块;130-第一判断模块;140-生成模块;142-信息获取单元;144-生成单元;150-第二计算模块;160-数据转发模块;170-第二判断模块;200-存储器;300-存储控制器;400-处理器。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。如图1所示,为本发明实施例提供的一种基于上下文认知的数据转发装置100的应用场景示意图。所述应用场景包括基于上下文认知的数据转发装置100、存储器200、存储控制器300以及处理器400。其中,所述存储器200、存储控制器300、处理器400各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件之间通过一条或多条通讯总线或信号线实现电性连接。所述基于上下文认知的数据转发装置100包括至少一个可以软件或固件的形式存储于所述存储器200中的软件功能模块。所述处理器400在所述存储控制器300的控制下访问所述存储器200,以用于执行所述存储器200中存储的可执行模块,例如所述基于上下文认知的数据转发装置100所包括的软件功能模块及计算机程序等。进一步地,本实施例提供的基于上下文认知的数据转发方法和装置,应用于包含多个社区的移动社会网络,其中,该移动社会网络中的各移动节点主要在若干社区(地里社区)停留或社区之间移动,此处假设处于同一社区中的移动节点之间可以利用自身所携带的短距离无线接口直接通信,也就是说,任何两个同时处于同一社区的节点可以建立连接并交换数据。处于不同地理社区的节点不能直接通信,地理社区通过唯一的标识(id)进行区分,其中,在具有社会属性的网络中,移动节点的移动具有一定的规律。在此,如图2所示,本实施例以基于校园环境的移动社会网络为例介绍基于上下文认知的数据转发过程,该移动社会网络中的移动节点按一定的日常规律在不同的地理社区停留和移动,这些地理社区为教室(classroom)、实验室(lab)、食堂(canteen)、图书馆(library)和体育场(stadium)。应注意,网络中的移动节点由校园中的老师和学生所携带的智能移动设备组成。具体地,假设发送节点s需要将数据转发给目的节点d,移动节点a、b和c与发送节点s处于同一社区(地理社区),基于对各移动节点的社会上下文信息和历史移动信息的分析,发送节点s预测在图书馆社区(library)中移动节点a具有最优性能,可将发送节点s中的数据转发到目的节点d,于是发送节点s将数据转发给节点a,经过一段时间,节点a离开图书馆社区(library),在教室社区(classroom)内与目的节点d相遇,并将数据转发给节点d。其中,所述发送节点、目的节点均是移动社会网络中的移动节点。可选地,所述发送节点s和所述目的节点d均可以为多个。且本实施例中所提到的发送节点s、目的节点d均是指所述移动社会网络中由用户携带的智能设备,例如,智能手机、ipad,或者其他具有无线通信功能的移动设备等。需要说明的是,本实施例中所提到的发送节点是指当前需要进行数据发送的节点,可以是接收到的来自源节点的数据信息的中间节点,也可以是源节点,邻居节点是指发送节点周围的移动节点,能够对该发送节点上的数据进行转发。应理解,在进行数据信息的转发过程中,由于从发送节点到目的节点之间可能存在多次转发,那么,在每一次转发过程中,均需要以当前转发节点作为发送节点,以选取该发送节点的邻居节点中转移概率最大的节点进行数据转发,且发送节点、邻居节点、目的节点之间的关系会根据用户位置、时间等的变化而发生变化,例如,发送节点可以变化为邻居节点或目的节点,邻居节点也可变化为发送节点等。如图3所示,为本实施例给出的基于上下文认知的数据转发方法的流程示意图,下面将对图3中所示的具体流程进行详细阐述。所应说明的是,本发明所述的基于上下文认知的数据转发方法并不以图3以及以下所述的具体顺序为限制。应当理解,本发明所述的基于上下文认知的数据转发方法的部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。步骤s110,在与发送节点位于同一社区的多个所述移动节点中选取发送节点的邻居节点并保存至第一节点集。本实施例中,所述发送节点为所述社区中的某个移动节点,当所述发送节点需要进行数据转发时,可首先通过物理邻接匹配的方式,在与该发送节点位于同一社区的多个所述移动节点中选取其邻居节点并保存至第一节点集。可选地,在初始状态下,所述第一节点集可以是,但不限于空集。如图4所示,为选取所述发送节点的邻居节点并生成第一节点集的流程示意图,下面将结合以下子步骤对图4的流程进行具体说明。子步骤s112,与所述发送节点位于同一社区网络中的移动节点按照预设时间周期向该发送节点发送“hello”报文。子步骤s114,针对所述发送节点接收到的每个“hello”报文,将发送所述“hello”报文的移动节点作为邻居节点,并保存至所述第一节点集中。除此之外,由于可能存在所述第一节点集中的邻居节点恰巧是所述目的节点,因此,本实施例中,在得到所述第一节点集后,还需要判断所述第一节点集中的每个节点是否为目的节点,若是,则所述发送节点直接发送所述数据给所述目的节点以完成数据转发。步骤s120,所述发送节点与所述第一节点集中的各节点相互交换社会属性表,根据所述各节点对应的社会属性表计算每个节点与目的节点之间的社会相似性并保存。本实施例中,首先为每个移动节点设计对应的社会属性表,用于比较各节点之间的社会相似性,以选取适合的中继节点。例如,当判断某个移动节点为所述发送节点的邻居节点时,它们可以互相交换各自的社会属性表,然后通过匹配所述邻居节点与目的节点的属性表,计算两个节点的社会相似性。具体地,为所述社会相似性的计算流程。下面对所诉社会相似性的具体计算过程进行简要说明。具体地,针对第一节点集中的每个节点,假设该节点的社会属性表中的属性(evidence)和对应值(value)的集合记为n(e,v),目的节点d的属性表中成对的属性和值的集合记为d(e,v),所述节点和目的节点d的属性值的交集记为m(e,v),具体如公式(1)所示:m(e,v)=n(e,v)∩d(e,v)(1)进一步地,所述第一节点集中的各节点与目的节点d两个节点的社会属性相似程度,即社会相似性encosim(d)的计算过程如公式(2)所示。其中,wm代表第一节点集中的节点的社会属性表与目的节点的社会属性表之间的交集中的属性权值,w代表的wm的集合,wd代表目的节点的社会属性表中各属性权值,wd代表wd的集合,encosim(d)代表第一节点集中的节点与目的节点的社会相似性。应理解,式(2)中的encosim(d)代表第一节点中的邻居节点与目的节点之间的社会相似性,其他节点与目的节点之间的社会相似性的计算方法与公式(2)中所示的计算过程相似,本实施例在此不再赘述。步骤s130,判断所述第一节点集中的每个节点对应的社会相似性是否大于预设阈值,若大于,则将该节点保存至第二节点集。本实施例中,所述预设阈值可根据实际情况进行灵活设计,本实施例对此不做限制。步骤s140,针对所述第二节点集中的每个节点分别生成对应的马尔可夫链。步骤s150,根据所述第二节点集中的每个节点分别对应的马尔可夫链,计算该节点在预设时间内转移到所述目的节点所在的社区的转移概率。本实施例中,如图5所示,为所述马尔可夫链的生成流程,具体如下子步骤所示。子步骤s142,获取所述第二节点集中的每个节点访问所述移动社会网络中不同社区的历史信息。子步骤s144,根据所述第二节点集中的每个节点分别对应的历史信息生成该节点随时间发生状态转移的马尔可夫链。具体地,由于移动社会网络可以用一个无向图g(v,e,wsociety)表示,假设该无向图包括n个节点,m条边,图中的每个节点表示一个用户携带的移动设备,并且所有设备的无线信息的传输半径相同。那么,图中的每条边代表两个移动节点之间存在社会关系,边的权值wsociety代表两个移动节点社会关系的亲密程度。每个移动节点可能有多条边,表示每个移动节点可能与其它多个节点存在社会关系,但是一条边只能表示两个移动节点之间的关系。实际实施时,假设基于地理进行划分的移动社会网络共存在y个社区,那么无向图g在t时刻的拓扑图由y个互不相交的社区组成,那么从1到y对社区进行编号,则基于社区的移动社会网络可表示为c(t),如公式(3)所示。其中,c(t)k是图g中的一个子集,同时也是移动社会网络中的一个地理社区,图g中所有的节点都属于c(t)中某一个确定的社区。此外,c(t)依赖时间槽t捕获移动节点移动的动态特征,如公式(4)。在这个无向图模型中,每个移动节点的连通性随着移动性和位置的变化而变化,因此,社区内移动节点的状态随时间而变化,从而形成了网络图,该网络图可明确表示在时间t一个网络节点可以与哪些移动节点直接通信。同时,随着时间从t迁移到t+1,移动节点从一个社区移动到另一个社区,所以网络图也在发生变化。进一步地,根据社会学的研究成果,移动社会网络表示节点间社会交往(传递性)的程度。如果两个人有一些共同的特征,那么在将来的某个时间段,他们在一起交往和相聚的概率是非常大的。因此,为了进一步描述移动社会网络中的各移动节点的移动属性,本实施例采用半马尔可夫过程建立社会移动模式,移动节点从一个地理社区到另一个地理社区的移动性具有马尔可夫的记忆无关属性,那么节点从一个地理社区到另一个地理社区移动的概率不依赖于以前的概率。因此,本实施例可利用半马可夫过程建立节点移动的预测模型。假设移动节点m的状态集合表示为xm={1,2,3…y},xm表示移动节点m所处的地理社区编号,同时y表示图中总共的地理社区数量,移动节点m的第k个状态表示为移动节点m进入第k个状态的时刻表示为那么对于移动节点m来说,可形成一个时间和状态离散的马尔可夫链换言之,移动节点m的第k+1个状态只与其第k个状态有关,而与之前的状态无关。此时对于移动节点m形成了状态离散的半马尔可夫模型该模型描述了移动节点m随着时间的变化而转移状态的过程。此外,移动节点m在第k个状态的停留时间表示为则则可由公式(5)表示。半马尔可夫模型的核心表达式如公式(6)所示,此处为一般分布,重点分析状态的随机过程。模型可以表示节点m在t时间内从状态i转移到状态j的概率,的状态取决于当前状态而与之前的等状态无关。表示移动节点m在时刻t停留在社区k的状态,是节点m从社区i到社区j的转移概率。假设每个节点只在离散时隙内移动,并且相遇节点在每个时隙内更新信息。最终,将每个节点的状态转移保存至一个转移概率矩阵,该转移概率矩阵am为移动节点m访问所述移动社会网络中不同社区的历史信息。在公式(7)和公式(8)中,am是离散马尔可夫链的转移概率矩阵,它包含了每个节点的所有过渡状态。在一个时间段内,如果跟踪记录节点m所访问的社区,节点m从社区i到社区j的转移概率定义如公式(9):在公式(9)中,numij表示某段时间内从社区i移动到社区j的移动节点的数量,numi为在该时间段内从社区i转移出的所有移动节点的数量。因此,利用上述马尔可夫模型和相关的转移概率矩阵,可预测移动社会网络中各移动节点的移动规律。其中,该移动社会网络中的每个地理社区有一个唯一的编号,在移动节点移动的每个时刻,该移动节点都能感知自己所处的社区编号。同时,本实施例中假设所述移动社会网络是由紧紧相邻的社区组成,移动节点从一个社区到达另一个社区的时间可以忽略不计,那么节点在任一时刻总是处于某一社区之中。因此,本实施例针对具有社区特性的移动社会网络建立相应的马尔可夫预测模型,利用该模型预测网络中各移动节点在社区间的移动情况和停留时间。应理解,所述马尔可夫预测模型即为所述马尔可夫链。步骤s160,从所述第二节点集中选取转移概率最大的节点作为最优中继节点以进行数据转发。本实施例中,在完成对最优中继节点的选取后,在通过该最优中继节点进行数据转发时,由于所述发送节点设置有消息转发队列,因此,在实际实施时,应将所述发送节点中需要转发至所述目的节点的数据信息添加至所述消息转发队列中,然后,根据所述消息转发队列中的预设转发顺序发送该数据信息给所述最优中继节点以进行数据转发,最后,从所述消息转发队列中删除已完成转发的所述数据信息。进一步地,如图6所示,为本实施例提供的基于上下文认知的数据转发装置100的方框结构示意图,其中,所述基于上下文认知的数据转发装置100包括节点选取模块110、第一计算模块120、第一判断模块130、生成模块140、第二计算模块150、数据转发模块160和第二判断模块170。所述节点选取模块110,用于在与发送节点位于同一社区的多个所述移动节点中选取发送节点的邻居节点并保存至第一节点集。本实施例中,图3中的步骤s110由所述节点选取模块110执行,具体过程请参考步骤s110,在此不再赘述。所述第一计算模块120,用于所述发送节点与所述第一节点集中的各节点相互交换社会属性表,根据所述各节点对应的社会属性表计算每个节点与目的节点之间的社会相似性并保存。本实施例中,图3中的步骤s120由所述第一计算模块120执行,具体过程请参考步骤s120,在此不再赘述。所述第一判断模块130,用于判断所述第一节点集中的每个节点对应的社会相似性是否大于预设阈值,若大于,则将该节点保存至第二节点集。本实施例中,图3中的步骤s130由所述第一判断模块130执行,具体过程请参考步骤s130,在此不再赘述。所述生成模块140,用于针对所述第二节点集中的每个节点分别生成对应的马尔可夫链。本实施例中,图3中的步骤s140由所述生成模块140执行,具体过程请参考步骤s140,在此不再赘述。可选地,如图7所示,所述述生成模块140包括信息获取单元142和生成单元144。所述信息获取单元142,用于获取所述第二节点集中的每个节点访问所述移动社会网络中不同社区的历史信息。本实施例中,图5中的步骤s142由所述信息获取单元142执行,具体过程请参考步骤s142,在此不再赘述。生成单元144,用于根据所述第二节点集中的每个节点分别对应的历史信息生成该节点随时间发生状态转移的马尔可夫链。本实施例中,图5中的步骤s144由所述生成单元144执行,具体过程请参考步骤s144,在此不再赘述。所述第二计算模块150,用于根据所述第二节点集中的每个节点分别对应的马尔可夫链,计算该节点在预设时间内转移到所述目的节点所在的社区的转移概率。本实施例中,图3中的步骤s150由所述第二计算模块150执行,具体过程请参考步骤s150,在此不再赘述。所述数据转发模块160,用于从所述第二节点集中选取转移概率最大的节点作为最优中继节点以进行数据转发。本实施例中,图3中的步骤s160由所述数据转发模块160执行,具体过程请参考步骤s160,在此不再赘述。所述第二判断模块170,用于判断所述第一节点集中的每个节点是否为目的节点,若是,则所述发送节点直接发送所述数据给所述目的节点以完成数据转发。基于上述描述,本实施例还给出了基于上下文认知的数据转发方法的伪代码,具体如下。方法1的输入:np为移动节点的社会属性,c(t)表示网络在t时刻节点分布于各社区的状态,am是马尔可夫转移矩阵,d为数据包的目的节点,λ为预设阈值。首先设置数据包在网络中传输的最大转发跳数fh为一个常数max_hops,对于max_hops的取值可根据实际需求进行灵活设置。其中,从方法1的第2行到20行是一个循环体,其目的是找到从发送节点到目的节点的一系列适当的中继节点,并转发数据。首先定义一个中继节点集合r并将r赋值为空集,然后执行物理邻接匹配(pam)子程序(方法2),该子程序返回转发节点m的第一节点集lm。如果lm中包含数据包的目的节点d,则转发节点m把相关数据发送给目的节点d,方法结束运行。反之,则把第一节点集lm并入中继节点集合,然后执行社会相似性匹配(srm)子程序。srm子程序(方法3)利用移动节点社会属性的相似性做出选择,从第一节点集中选出与目的节点的社会属性相似性较高的节点,进一步缩小第一节点集中元素的数量以得到第二节点集。接下来,运行社会交互性匹配(sam)子程序(方法4),利用马尔可夫转移矩阵的运算,从第二节点集中找出到目的节点社区转移概率最高的节点m'。此时节点m选择m'作为最优中继节点m',发送节点把数据转发给m'。以上过程会循环进行,以便找到从发送节点到目的节点路径上的一系列中继节点,并转发数据,直到跳数计数器为0或者数据已经到达目的节点。应注意,本实施例中的基于上下文认知的数据转发方法即mcmf方法。进一步地,基于本实施例给出的基于上下文认知的数据转发方法的伪代码,本实施例还给出了的所述基于上下文认知的数据转发方法的仿真结果示意图,并将仿真结果与现有的epidemic方法、prophet方法以及基于社区的bubblerap方法三种著名方法进行了比较分析。其中,本实施例中的仿真实验平台采用网络仿真工具one,实际数据集为mitrealitydata。(1)参数设置进一步地,在仿真实验中,为了使得仿真尽量接近真实环境,我们采用mitrealitydata实际数据集作为外部数据源对方法进行实验分析。在计算社会相似性时,需要用到社会属性表,不同的数据集包含的社会属性不同。在mitrealitydata数据集中,社会属性表的属性主要为:name,position,neihborhood和hangouts,根据这些属性重要性的不同,对应的权值为0.1,0.2,0.4,0.3。社群信息来源于数据集中的celltower_oid字段。节点的物理邻接信息可以从数据集中节点的接触记录中获得,节点的社会属性和社交联系也可以很容易的从数据集中取得。如图8所示,从交付比率、开销比率、平均时延和平均跳数四个方面对本实施例给出的基于上下文认知的数据转发方法进行评估和分析。每个仿真实验运行30次,然后分别收集统计数据并取平均值。其中,epidemic方法和prophet方法中的参数采用one中相关协议的默认设置。仿真实验中的主要参数设置如下表所示。在仿真实验中,模拟实验运行1小时相当于实际生活场景的3小时,所以表3中仿真时间40小时,为考察了5天的实际场景的运行数据。整个网络的消息发频率为每500~600个。图8(a)描述了四种数据转发方法的交付比率随仿真时间变化的情况。从中可以看出epidemic保持最低的交付率,epidemic采用最简单的方式在网络中洪泛数据包,由于epidemic方法会大量占用通信带宽和节点的缓存空间,因此容易导致网络拥塞和缓存溢出等现象,影响数据包的交付比率。这种对中继节点不加任何选择的方式,造成同一数据在网络中的转发次数大大高于单拷贝路由方法。因此,epidemic方法对于资源受限的移动社会网络极为不利,在实际应用中也很难实行。参数取值单位仿真时间40小时预热时间5000秒运动模型externalmovement-节点数量97,76-数据集mitrealitydata-无线传输类型bluetooth-传输速率250kb/秒传输范围10米消息发送频率500~600秒消息大小256~512kb节点缓存容量5mb消息生存时间600分钟由于mcmf利用了多维上下文信息来寻找最优中继节点,例如,节点的社会上下文信息,mcmf在交付比率上的性能最优。其中,如图4(a)所示,在80000秒处,mcmf的交付比率为73.5%,比bubblerap、prophet和epidemic分别高出5.5%、29.5%和43.5%。mcmf有如此优越表现主要有如下两个原因:首先,mcmf利用社会属性相似性匹配来选择与目的节点紧密相关的中继节点集合。加之,由于bubblerap和prophet方法只选择少数中心节点作为中继节点,容易导致这些中间节点的缓冲区溢出和能量过快耗尽的问题,从而出现数据包丢失的现象。其次mcmf使用了上下文信息预测模型,该模型采用半马尔可夫过程来表示节点在不同社区之间的转移概率分布。进而通过了解节点相遇的概率分布提高网络的投递率。图8(b)表明了随着仿真时间的变化,epidemic、porphet、bubblerap和mcmf四种数据转发方法开销比率的变化情况。从总体上看,mcmf方法的开销比率最小。显然,由于epidemic采用洪泛的方式转发数据包,所以其投递开销最大。其它三种基于上下文认知的方法采用选择中继节点的模式,mcmf的开销比率与bubblerap较为接近。例如,在80000秒处,mcmf方法的开销比率为16,porphet方法为43,而epidemic高达95。本实施例给出的mcmf方法能在开销比率上表现最好,主要有两个原因:(1)在mcmf进行数据转发时引入了合理的最大转发跳数,通过合理的控制转发次数来减少投递开销。(2)bubblerap和porphet在中继节点的选择上未采用目的节点的相关信息(目的节点无关性),而是采用了节点间的相遇概率和中心性度量进行数据转发,这样在网络中可能造成瓶颈问题。本实施例中,mcmf首先进行发送节点的邻接匹配,然后进行社会关系匹配,最后利用时间半马尔可夫模型来预测两个节点在指定时间的相遇情况。图8(c)描述了四种数据转发方法的平均时延情况,mcmf的总体表现不如bubblerap方法,epidemic表现最差。例如,在80000秒处,mcmf平均时延为5800秒,介于bubblerap(5710秒)和porphet(6214秒)之间。在移动社会网络中,数据包的投递时延通常较大,并且投递时延抖动也很大。图8(d)描述了四种数据转发方法的平均跳数情况,在80000秒处,mcmf的平均跳数表现不错,为1.9,低于bubblerap(2.26),略高于porphet(1.8),epidemic的平均跳数最高为5.8。在mcmf方法中,网络被分成不同的社区,当两个节点处于同一社区时,它们之间很容易实现转发数据。如果两个节点处于不同的社区,那么,mcmf采用离散的半马尔可夫链来建模节点的移动模式并进行社会相似性匹配,因此,本实施例给出的mcmf数据转发方法在进行下一跳中继节点的选择时比bubblerap和porphet更加准确。总之,在相同仿真时间情景下,图9给出的四种数据转发方法在交付比率、开销比率、平均时延和平均跳数四个评价指标方面的性能对比情况。从中可以看出,mcmf获得了优于epidemic、prophet和bubberap三种数据转发方法的性能,具有更高的网络数据交付比率以及更少的开销比率。综上所述,本发明提供的基于上下文感知的数据转发方法和装置,应用于包括多个社区的移动社会网络,其中,该方法综合利用三个维度的上下文信息,并采用马尔可夫预测模型对上下文信息进行预测,从而选取最优中继节点以实现数据转发,因此,本发明能够有效提高移动社会网络中的数据转发效率和智能化。在本发明的描述中,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的预设数量个实施例的装置、方法和计算机程序产品可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分。所述模块、程序段或代码的一部分包含一个或预设数量个用于实现规定的逻辑功能。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1