一种基于联盟博弈的路由方法与流程

文档序号:12601252阅读:274来源:国知局
本发明涉及一种基于联盟博弈的路由方法,属于无线传感器网络
技术领域
:。(二)
背景技术
::无线传感器网络多应用于无人看守的恶劣环境,利用大量具有数据感知、采集和处理能力的廉价智能微型传感器节点来实施各种各样的监测任务。路由作为动态优化的过程,其目的在于为无线传感器网络提供从源节点到目的节点的数据传输路径。由于无线传感器网络的拓扑可能会因为节点失效或链路断开而动态变化,并且传感器节点能量和处理能力有限,因此迫切需要在设计无线传感器网络路由协议时,满足路由稳定和代价节约的需求。传统的路由协议,如无线自组网按需距离矢量路由协议(AODV)、动态源路由协议(DSR)和目的序列距离矢量路由(DSDV),假设网络中所有节点均相互合作进行数据包传输,然而,出于自身利益考虑,节点可能为了节约资源而拒绝转发其他节点传来的数据包,自私行为对路由的稳定性造成威胁,因此,节点之间的合作是保障路由稳定的关键。联盟博弈理论作为专门用来研究合作问题的数学工具,以合作组的形式研究参与者的行为,高度适用于模拟无线传感器网络节点的合作问题。现有的基于联盟博弈的路由方法有:Stai等人提出一种联盟形成博弈框架,网络中所有节点合作地决定生成树,依靠连接权重来交换价值函数,所设计的多度量最优路由通过构造合适的生成树来降低贪婪反压算法导致的路径代价,从而提高贪婪路由的性能。Su等人提出的基于联盟博弈的路由方法可以预测并在一定程度上预防网络中可能发生的节点拥塞,此外,该方法可以快速感知网络拓扑结构变化,同时对路由概率做出相应的调整。孙仁可等人提出将源节点到目的节点的路径视为一个联盟,运用联盟路由博弈研究节点最佳联盟的选择问题,对于每个节点加入合适的联盟来说,该方法具有公平性和服务质量效率。Gibbens等人研究了联盟博弈理论与网络路由和流量控制效用最大化框架之间的联系,所提出的路由方法在网络内部分配路径和流量并且合理地协调用户之间的资源利用。这些基于联盟博弈的路由方法为后续的研究提供了理论基础,但以下问题仍未解决:1)为了优化路由性能,需要对路径联盟代价进行评估以实现路径选择;2)由于无线传感器网络中的节点失效和通信连接断开可能导致网络拓扑的动态变化,因此,为了保证路由过程中数据包稳定传输,必须加快联盟形成过程的收敛速度;3)承担数据传输任务较重的路径能量消耗较快,为了均衡网络能耗防止节点能量耗尽而失效,采用路径能量剩余率监测补充完善路由维护机制。(三)技术实现要素:针对现有路由方法的不足,本发明提供一种基于联盟博弈的路由方法,通过节点间合作联盟的建立实现数据包的稳定传输。本发明具有对拓扑变化的适应性、数据传输稳定性、路由代价最小、能耗均衡等优点,有效提升了路由性能。本发明提出了一种基于联盟博弈的路由方法,具体步骤如下:步骤一:面向无线传感器网络全体节点建立联盟博弈模型,基于节点性能指标建立联盟特征函数,定义公平的联盟成员收益分配方法,设计快速收敛的联盟形成算法以在网络中形成稳定联盟;具体方法如下:(1)节点的性能指标主要包括数据包转发率、事件正报率和能量剩余率,具体定义为:数据包转发率PFRi:无线传感器网络中的节点是理性的,为了节省自身能量可能选择不转发上游节点发来的数据包,节点ai维护两个自身通信行为的记录,PRi(节点ai从周围邻居节点接收的全部数据包数量)和PFi(节点ai转发的全部数据包数量),则计算数据包转发率PFRi:事件正报率RCRi:事件检测是无线传感器网络的主要应用之一,事件的定义取决于具体的应用环境,恶意节点可能会选择错误地报告事件以实现其攻击的目的,ECi和ERi分别代表节点ai正确报告事件的数量和节点ai报告事件的全部数量,则计算事件正报率RCRi:能量剩余率RERi:无线传感器网络中的节点电池容量有限,因此能量的有效利用对于无线传感器网络路由协议设计来说是一个重要问题,用REi代表节点ai的剩余能量信息,IEi表示节点ai的全部初始能量信息,则能量剩余率RERi:(2)将时间分成时间槽tk(k=0,1,...),在每个时间槽内,网络的性能参数不变,在一个时间槽tk内,对于形成的联盟S,特征函数表示为其中,参数λ∈(0,1]用于调节,|S|为当前联盟S中全部成员节点的数量,fs为代价函数,代价函数fs是当前联盟S中成员节点预先定义的性能指标PFRi、RCRi和RERi的减函数;(3)可转移效用可以按照某一具体的收益分配方法分配给联盟S内的成员节点,在一个时间槽tk(k=0,1,...),定义联盟S中第i个成员节点ai获得的收益值是由联盟整体收益分配得到,采用一个公平的收益分配规则,满足个体理性条件:其中v({ai})代表节点ai不加入任何联盟而单独行动时的收益值;在时间槽tk(k=0,1,...),对联盟S内每个节点ai来说,分配到的收益值为:(4)为了提高参与者个人收益以及使得路由时所选数据传输路径能够更加可靠地传输数据包,有共同利益的节点相互合作形成联盟,以合作组的形式参与数据传输过程,采用一次迭代收敛算法快速形成联盟以适应网络拓扑的变化。定义参与者ai的偏好函数如下:偏好反映了节点加入不同联盟的意愿,节点的策略选择由节点本身的偏好决定,在联盟形成过程中,节点ai需要对所有可能的联盟集合建立偏好函数。联盟形成过程由网络中所有节点迭代进行,联盟形成算法具体步骤如下:第一步:若计时时间timeleft不为0,则在时间段[tk,tk+Δtk)内,通过正常的路由和数据转发过程收集网络中节点的性能指标PFRi、RCRi和RERi信息的历史记录值;第二步:更新节点性能指标的历史记录,根据性能指标计算联盟的特征函数第三步:网络中的所有节点按照偏好比较算法来做出策略选择,形成最终的联盟结构;第四步:计时时间timeleft-Δtk,转至第一步。偏好比较算法具体方法如下:①在初始阶段,源节点到目的节点的每条路径是一个联盟②对于联盟博弈的每个参与者计算加入各条路径r对应的联盟的收益分配值得到参与者a加入联盟的偏好值③其次,参与者a选择加入对应的联盟④最终,更新联盟网络中形成最终的联盟结构(5)本路由方法采用公平分配法对联盟成员进行收益分配,满足个体理性,即联盟内的成员节点分配到的收益不低于单独行动的收益值,因此,参与者背离当前的联盟而单独行动不会获得更多的收益;此外,在偏好比较算法中,节点对不同的联盟进行比较排序,基于偏好最大的原则做出策略选择,因此,节点选择的是最大化收益对应的策略,进而不会背离当前联盟而加入其他联盟。由此可见,当动态的联盟形成过程达到稳定状态时,该联盟形成算法所形成的联盟分区Θ*是Nash-stable的,为路由过程中节点间合作传输数据包提供了稳定的前提保障。步骤二:基于网络中形成的联盟,进行路由过程,在路由发现阶段计算路径联盟代价值fR,源节点从目的节点缓存中选出一条路径联盟代价fR最小的路径传输数据,具体方法如下:(1)目的节点按公式(8)计算路径联盟代价值fR,再将携带fR信息的路由回复消息沿反向路径发送给中间节点;其中,m代表路径R中存在的联盟数量,MR代表路径R中存在的属于联盟Sk的成员节点数量;(2)当属于联盟S中的路径上的中间节点ai接收到路由回复消息后,按公式(9)更新路径能量剩余率ER,再传输携带有更新后的ER信息的路由回复消息;其中,n代表路径R中全部节点的数量;(3)当源节点接收到路由回复消息后,若生存期未满则更新自身维护的路由表条目信息,否则,源节点丢弃下一个到来的路由回复消息并且从目的节点缓存中选出一条路径联盟代价fR最小的路径传输数据。步骤三:在AODV路由协议链路失效检测机制的基础上,补充完善路径能量剩余率ER监测机制进行路由维护,以防止因节点能量耗尽死亡而导致的路径传输失败,路径能量剩余率ER监测机制具体方法为:设置一个路径能量剩余率阈值Eγ,Eγ∈(0,0.5)随着路由过程的进行做出适当的调整,即在路由初始阶段,Eγ的值较高,随着路由过程进行而相应减小;若源节点发现ER<Eγ,则重新启动路由发现过程,广播路由请求消息建立新的路由路径满足路径能量剩余率大于阈值。本发明具有的优点在于:(1)本发明提供一种基于联盟博弈的路由方法,通过节点间合作联盟的建立实现数据包的稳定传输。本发明具有对拓扑变化适应性、数据传输稳定性、路由代价最小、能耗均衡等优点,有效提升了路由性能;(2)采用一次迭代收敛算法来快速形成稳定的联盟,增强了对网络拓扑变化的适应性;(3)最优路径的选择建立在联盟博弈模型基础上,选择路径联盟代价最小的路径传输数据包,保障了传输路径的稳定性;(4)加入路径能量剩余率监测来完善路由维护机制,均衡了网络能耗。(四)附图说明图1为本发明一种基于联盟博弈的路由方法,路由过程的流程图;图2为本发明中快速收敛的联盟形成算法的流程图;图3为本发明中目的节点构造路由回复消息的流程图。(五)具体实施方式下面将结合附图对本发明作进一步的详细说明。本发明提出了一种基于联盟博弈的路由方法,通过节点间合作联盟的建立实现数据包的稳定传输。路由方法的流程如图1所示,具体通过以下步骤来实现:步骤一:面向无线传感器网络全体节点建立联盟博弈模型,基于节点性能指标建立联盟特征函数,定义公平的联盟成员收益分配方法,设计快速收敛的联盟形成算法以在网络中形成稳定联盟,具体方法如下:(1)节点的性能指标主要包括数据包转发率、事件正报率和能量剩余率,具体定义为:数据包转发率PFRi:无线传感器网络中的节点是理性的,为了节省自身能量可能选择不转发上游节点发来的数据包,节点ai维护两个自身通信行为的记录,PRi(节点ai从周围邻居节点接收的全部数据包数量)和PFi(节点ai转发的全部数据包数量),则计算数据包转发率PFRi:事件正报率RCRi:事件检测是无线传感器网络的主要应用之一,事件的定义取决于具体的应用环境,恶意节点可能会选择错误地报告事件以实现攻击的目的,ECi和ERi分别代表节点ai正确报告事件的数量和节点ai报告事件的全部数量,则计算事件正报率RCRi:能量剩余率RERi:考虑到无线传感器网络中的节点电池容量有限,因此能量的有效利用对于无线传感器网络路由协议设计来说是一个重要问题,用REi代表节点ai的剩余能量信息,IEi表示节点ai的全部初始能量信息,则能量剩余率RERi:(2)假定时间被分成时间槽tk(k=0,1,...),在每个时间槽内,网络的性能参数不变,在一个时间槽tk内,对于形成的联盟S,特征函数表示为其中,参数λ∈(0,1]用于调节,|S|是当前联盟S中全部成员节点的数量,fs是代价函数,代价函数fs是当前联盟S中成员节点预先定义的性能指标PFRi、RCRi和RERi的减函数,主要原因如下:(i)相对于网络性能表现不良来说,良好的网络性能应该付出相对较少的代价;(ii)对于当前联盟S中的一个成员节点,若其拒绝合作将会付出较多的代价作为对其不良行为的惩罚。(3)对于可以由所有联盟成员共享的可转移效用可以按照某一具体的收益分配方法分配给联盟S内的成员节点,在一个时间槽tk内,定义联盟S中第i个成员节点ai分配到的收益值是由联盟整体收益分割得到,采用一个公平的收益分配规则,满足个体理性条件:其中v({ai})表示节点ai不加入任何联盟而单独行动时的收益值。在时间槽tk(k=0,1,...),对联盟S内每个节点ai来说,分配到的收益值为:(4)为了提高参与者个人收益以及使得路由时所选数据传输路径能够更加可靠地传输数据包,有共同利益的节点相互合作形成联盟,以合作组的形式参与数据传输过程,采用一次迭代收敛算法来快速形成联盟以适应网络拓扑的变化;定义参与者ai的偏好函数如下:偏好反映了节点加入不同联盟的意愿,节点的策略选择由节点本身的偏好决定,在联盟形成过程中,节点ai需要对所有可能的联盟集合建立偏好函数;联盟形成过程由网络中所有节点迭代进行,联盟形成算法流程如图2所示,具体步骤如下:第一步:若计时时间timeleft不为0,则在时间段[tk,tk+Δtk)内,通过正常的路由和数据转发过程来收集网络中节点的性能指标PFRi、RCRi和RERi信息的历史记录值;第二步:更新节点性能指标的历史记录,根据性能指标计算联盟的特征函数第三步:网络中的所有节点按照偏好比较算法来做出策略选择,形成最终的联盟结构;第四步:计时时间timeleft-Δtk,转至第一步;偏好比较算法具体方法如下:①在初始阶段,源节点到目的节点的每条路径是一个联盟②对于联盟博弈的每个参与者计算加入各条路径r对应的联盟的收益分配值得到参与者a加入联盟的偏好值③其次,参与者a选择加入对应的联盟④最终,更新联盟网络中形成最终的联盟结构一条路径上可能存在不同的联盟。(5)本路由方法采用公平分配法对联盟成员进行收益分配,满足个体理性,即联盟内的成员节点分配到的收益不低于单独行动的收益值,因此,参与者背离当前的联盟而单独行动不会获得更多的收益;此外,在偏好比较算法中,节点对不同的联盟进行比较排序,基于偏好最大的原则做出策略选择,因此,节点选择的是最大化收益对应的策略,进而不会背离当前联盟而加入其他联盟。由此可见,当动态的联盟形成过程达到稳定状态时,该联盟形成算法所形成的联盟分区Θ*是Nash-stable的,为路由过程中节点间合作传输数据包提供了稳定的前提保障。步骤二:当源节点发送的数据包能够顺利传输到目的节点时就不做其他操作,当路由表中查不到到目的节点的活跃路由时,则源节点向邻居节点广播路由请求(RREQ)消息开始路径发现过程。RREQ消息包括源地址、广播ID、目标地址、源序列号、目标序列号、跳计数,当属于联盟S中的路径上的中间节点ai接收到RREQ消息后做如下处理:(1)创建一个表项,先不分配有效序列号,用于记录反向路由;(2)如果节点ai已经收到一个具有相同标识广播ID的RREQ消息,则忽略掉此路由请求不再转发,否则节点ai更新路由表项并进行下一步;(3)节点ai在自己的路由表项中查找该RREQ消息中目的节点信息,当找到一条较新的通往目的节点的路径便给源节点发送一个路由回复(RREP)消息,添加自身能量剩余值REi到路径能量剩余率ER信息中,当未找到较新的路径进行下一步;(4)跳计数加1,向邻居节点广播更新后的RREP消息。步骤三:当目的节点接收到源节点发来的RREQ消息后,构造一个RREP消息作为应答,反向单播发送给源节点,流程如图3所示。RREP消息包括源地址、目标地址、目标序列号、跳计数、生存时间、路径能量剩余率ER、路径联盟代价fR。具体方法如下:(1)目的节点将自身序列号复制到RREP消息对应区域,跳计数初始化设置为0,生存时间用来标记该RREP消息可以在网络中的有效时间;(2)若生存时间期满,则目的节点丢弃下一个到来的RREQ消息,否则进行下一步;(3)当目的节点的缓存中少于3条路径时,在缓存中添加新路径并进行第(6)步否则进行下一步;(4)将当前路径的能量剩余率ER与目的节点缓存的路径中剩余能量率ER最小值(路径记为X)比较,若前者小于等于后者则目的节点丢弃这个新的RREQ消息,否则进行下一步;(5)目的节点用当前路径替代路径X,进行下一步;(6)目的节点计算路径联盟代价值fR,更新路径能量剩余率ER,跳计数加1,将携带fR和ER信息的RREP消息沿反向路径发送给中间节点;目的节点按如下方式计算路径联盟代价值fR:其中,m表示路径R中存在的联盟数量,MR表示路径R中存在的属于联盟Sk的成员节点数量。当属于联盟S中的路径上的中间节点ai接收到RREP消息后,按公式(9)更新路径能量剩余率ER,然后再传输携带有更新后的ER信息的RREP消息;其中,n代表路径R中全部节点的数量。步骤四:当源节点接收到RREP消息后,若生存期未满则更新自身维护的路由表条目信息,否则,源节点丢弃下一个到来的RREP消息并且从目的节点缓存中选出一条路径联盟代价fR最小的路径传输数据,因为联盟S的成员节点始终倾向于最大化联盟整体收益U(S)。步骤五:根据链路失效检测机制和路径能量剩余率ER监测机制进行路由维护,具体方法为:链路失效检测:路由路径建立后,路径上的所有节点周期性地向邻居节点广播HELLO消息,若一段时间内节点收不到邻居节点的HELLO消息则此链路失效,以该邻居为下一跳的路由均不能再用来传输数据;当节点Q检测到链路失效,便启动路由局部维修机制:节点Q广播RREQ消息,寻找一条新的从节点Q到目的节点的路径作为替代路径,若给定时间里可以重新建立有效路由则继续数据传输,否则,向上游发送路由错误(RERR)消息至源节点,重新启动路径发现过程。路径能量剩余率ER监测:设置一个路径能量剩余率阈值Eγ,Eγ∈(0,0.5)随着路由过程的进行做出适当的调整,即在路由初始阶段,Eγ的值较高,随着路由过程进行而相应减小;当若源节点发现ER<Eγ,则重新启动路由发现过程,广播RREQ建立新的路由满足路径能量剩余率大于阈值。综上所述,本发明提出了一种基于联盟博弈的路由方法。面向无线传感器网络全体节点建立联盟博弈模型;基于网络中形成的联盟,进行路由过程,在路由发现阶段计算路径联盟代价值fR,源节点从目的节点缓存中选出一条路径联盟代价fR最小的路径传输数据;根据链路失效检测机制和路径能量剩余率ER监测机制进行路由维护。该方法具有对拓扑变化适应性、数据传输稳定性、路由代价最小、能耗均衡等优点,有效优化了路由性能。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1