首页> 中国专利> 一种评估自私节点声誉的数据转发方法

一种评估自私节点声誉的数据转发方法

摘要

本发明请求保护一种评估自私节点声誉的数据转发方法。本发明基于隐马尔科夫模型,利用Viterbi算法在每个时间段T估计节点的状态序列,进而计算出节点的声誉值。当节点的能量等于网络设定的能量阈值ε时,若声誉值高于或等于阈值,则将该节点判定为合作节点,反之,则判定为自私节点,节点感知自私节点后向周围节点广播自私节点的ID。在转发数据之前,根据节点的状态确定消息的转发顺序,并根据节点运动过程中所获知的历史相遇信息计算节点与目的节点的相遇概率,选择消息的最优转发节点。本发明所提出的设计方法能够实现节点能量均衡,且声誉模型计算复杂度低,可精确地检测出自私节点,有效激励自私节点参与消息转发。

著录项

  • 公开/公告号CN105392152A

    专利类型发明专利

  • 公开/公告日2016-03-09

    原文格式PDF

  • 申请/专利权人 重庆邮电大学;

    申请/专利号CN201510693319.1

  • 申请日2015-10-22

  • 分类号H04W24/02(20090101);H04W40/10(20090101);H04W52/34(20090101);

  • 代理机构50102 重庆市恒信知识产权代理有限公司;

  • 代理人刘小红

  • 地址 400065 重庆市南岸区黄桷垭崇文路2号

  • 入库时间 2023-12-18 14:35:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-08

    授权

    授权

  • 2016-04-06

    实质审查的生效 IPC(主分类):H04W24/02 申请日:20151022

    实质审查的生效

  • 2016-03-09

    公开

    公开

说明书

技术领域

本发明涉及一种涉及机会网络数据转发策略技术,特别涉及基于评估自私 节点声誉的机会网络转发策略设计方法。

背景技术

大量手持智能移动设备的普及推动了无线自组织网的应用。在复杂的无线 网络中,由于节点移动、信号衰减等原因,网络常常会中断,但传统的无线自 组织网要求在源节点和目的节点间至少有一条确定的链路,因而无法适应这种 环境。区别于传统的无线自组织网的通信模式,机会网络中的节点在转发数据 之前,并不需要建立端到端的路径,而是利用节点之间的相遇机会进行数据转 发,直至消息到达目的节点。这种全新的通信方式引起了业内人士的极大兴趣, 被认为是未来无线网络发展的方向之一。

显而易见,消息的投递需要网络中节点间的相互协作。目前机会网络中大 多数路由机制均假设网络中的节点为完全的利他主义节点,这种节点无条件积 极参与消息的转发。然而,在现实的网络中,节点的能量、缓存空间等资源往 往是极其有限的,节点大量转发其他节点的消息可能会导致自身资源耗尽而过 早“死亡”,从而无法正常地发送和接收消息。因而上述假设不具有一般性,特 别是当网络中没有激励机制激励节点协作的时候。在这种情况下,自私节点通 过拒绝接收或直接丢弃其他节点的消息以节省自身资源,减缓能量的消耗,从 而达到在网络中生存更长时间的目的。

近年来研究人员在传统的机会网络转发机制上引入了对节点声誉的评估, 通过衡量节点的声誉值来判断节点相遇时是否选择转发或接收消息。当声誉值 高于或等于阈值时,即选择接收并转发消息,当声誉值低于阈值时,即选择拒 绝接收和转发消息,节点的声誉值会随着节点的历史行为等因素而动态变化。 这样做的目的即是为了发现自私节点并提高消息的投递概率和传输延迟。

针对机会网络中普遍存在自私节点的情况,这种节点拒绝接收和转发消息, 使得合作节点频繁地接收、转发消息会导致能量消耗过快进而过早“死亡”。 这不仅会影响合作节点自身消息的接收与发送,还会影响网络拓扑的连通性, 造成网络资源分配的严重不公平性。其次,存在诸如消息TTL过期,或者节点 缓存有限,合作节点处于合作状态时也可能因为缓存溢出等原因而拒绝接收对 方发送的消息,这样会被观察节点感知其发起了自私行为。而当节点的剩余能 量低于特定阈值时,节点为了节能也会采取拒绝接收与发送消息等自私行为, 也同样会被感知其发起了自私行为。针对这些问题,提出了一种基于隐马尔科 夫模型量化节点的声誉值,并以网络状态信息为依据感知节点的阈值,从而检 测出自私节点。

发明内容

针对现有技术的不足,提出了一种节点能量均衡、计算复杂度低、精确度 高的评估自私节点声誉的数据转发方法。本发明的技术方案如下:一种评估自 私节点声誉的数据转发方法,其包括以下步骤:

101、无线自组织网络的初始化步骤:包括初始化节点的初始能量、节点 的声誉值及节点的协作度;

102、将时间段T的节点协作度划分为四个区间,每个区间分别对应一个节 点行为协作度区间,并建立一阶HMM隐马尔科夫模型,记时刻t所观察的节点 协作度所属的区间为ot,根据节点历史协作度信息,判断每个时间段T观察节点 所处的状态,记节点状态集合为S={S1,S2},时刻t所处的状态为zt,zt∈S;S1表示 合作状态,S2表示自私状态;

103、当节点i与节点j相遇时,彼此交换记录记录节点的协作度和信息 向量fij的节点向量表;

104、当节点i与节点j相遇并完成消息转发与信息向量交换时,节点i统计 关于节点j拒绝接收节点i消息的数目NN.ij与节点j愿意接收节点i消息的数目 NA,ij,更新节点相遇列表,列表中记录节点的相遇历史信息,计算在时间段T内 观察的节点协作度,根据节点历史协作度获得节点协作度的观察序列,并运用 Viterbi维特比算法确定使节点产生观察序列概率最大的状态序列,进而根据节 点状态序列量化节点的声誉值;

105、当节点剩余能量为能量阈值ε时,检测节点的声誉值,若声誉值小于 阈值δ,则判定其为自私节点,并由判定其为自私节点的节点向周围节点广播自 私节点的ID,在转发数据之前根据节点的状态对发送消息队列进行排序,若节 点为合作节点,则消息位于队列前端,合作节点的消息以先进先出的方式排队, 而状态不明确的节点消息则以节点声誉值大小进行排序;若节点为自私节点, 则拒绝接收其消息;

106、根据节点运动过程中所获知的历史相遇信息计算节点与目的节点的相 遇概率P,选择消息的最优转发节点进行转发。

进一步的,步骤103中当节点i与节点j相遇时,彼此交换记录记录节点的 协作度和信息向量fij的节点向量表,其中fij={Rij,ANij,SNij,ListS,ij,FNij,ListF,ij},Rij表示节点i记录节点j的声誉值,ANij表示节点i记录节点j的接收消息数目,SNij表示节点i记录节点j的接收消息数目,ListS,ij表示节点j发送消息的消息ID列表, FNij表示节点i记录节点j的转发消息数目,ListF,ij表示节点j转发消息的消息ID 列表。

进一步的,步骤104具体为:节点i统计关于节点j的NN,ij与NA,ij,并根据公 式NAKij_new=NAKij_old+NN,ij,ANij_new=ANij_old+NA,ij更新,其中NAKij_new表示此次相 遇之后节点j拒绝接收节点i的消息总数,NAKij_old表示节点j在上次与节点i相遇 后拒绝接收节点i的消息总数,ANij_new表示此次相遇之后节点j愿意接收节点i的 消息总数,ANij_old表示节点j在上次与节点i相遇后愿意接收消息i的消息总数; 节点i根据这些参数更新节点j的信息向量,并比较节点j的信息向量,将消息ID 列表中消息ID不相同的信息添加至自身向量中;根据公式计算节点j接收节点i 消息的接收率ACRij=ANijANij+NANij+1,转发率FWRij=FNijFNij+ANij+1,根据节点消息 接收率与转发率计算该时间段T节点i直接观察的节点j的协作度 并根据节点i在第t-1个时间段T节点i感知的节点j的声誉 值协作度以及节点i接收的关于节点j推荐信息的节点集合S计算节 点i在第t个时间段T感知的节点j的协作度

进一步的,步骤104中,计算在时间段T内观察的节点协作度,根据节点历 史协作度获得节点协作度的观察序列,并运用Viterbi维特比算法确定使节点产生 观察序列中,概率最大的状态序列,具体为:在时间段T内根据节点历史行为信 息感知各个时间段T的节点协作度,将观察到的节点协作度与观察符号集合E中 观察符号一一对应,得到关于节点j的协作度;由节点j的观察序列 O=(oj1,oj2,...,ojt),以最优路径为准则,运用Viterbi算法确定节点j的一个状态序 列求解使概率P(Z|O,θ)为最大概率所处的状态,即 Z^=argmax{Z}P(Z|O,θ)=argmax{Z}P(Z,O|θ)P(O|θ)argmax{Z}P(Z,O|θ);将节点的声誉值由节点 最优状态序列中节点处于合作状态所占的百分比衡量,节点i记录的节点j的声 誉值为其中,表示节点j处于S1状态的时间段总数,表示节点j处于S2状态的时间段总数,P(Z|O,θ)表示节点状态序列为Z的概率。

进一步的,时间段T的长度根据网络状态与观察节点感知的信息量共同决 定,将消息投递的平均时延作为衡量网络状态的参数,定义为时间段T的时间窗 口基本长度,计算节点i对节点j的时间段其中,NANij表 示节点i对于节点j拒绝接收消息的数目,ANij表示节点i对于节点j接收消息的 数目,S表示节点i记录的节点集合,Tavg表示节点i感知的消息投递的平均时延。

进一步的,节点声誉值表示节点为合作节点的概率大小,结合节点的阈值 并在节点剩余能量等于阈值ε时,根据节点声誉值判断节点是否为自私节点;根 据能量守恒定理,有其中,E为节点总能量,ER为 节点剩余能量,ES为当前时刻扫描消耗能量,AN、SN、FN为节点接收、发送 和转发消息的数目,p为节点接收或者发送一条消息消耗的能量,据此可计算在 当前扫描时刻节点i的能量结合节点感知的信息向 量,联立上述两式,可得其他节点的剩余能量为 [(ANi+SNi+FNi)-(ANij+SNij+FNij)p]+ERiER.

进一步的,利用小于平均声誉值节点的协作度估计自私节点协作度,并根 据产生的自私节点协作度运用Viterbi算法确定自私节点产生概率最大的观察序 列的状态序列,由节点j的观察序列O'=(o'j1,o'j2,...,o'jt)对应的状态序列 则观察序列为而节点的阈值为 δ=P(Z^|O,θ)NS1NS2+NS1.

本发明的优点及有益效果如下:

本发明由于机会网络节点间断性的连接导致消息的转发节点不能立即感知该消 息的接收节点在后续移动过程中是否转发了该消息,故只能由消息的下游节点 再与消息的转发节点相遇时,才能够证明消息已由接收节点进行了转发。因此 本发明采取在消息中添加经节点签名的消息转发列表来证明节点转发消息的行 为,并且节点需要维护相遇节点向量表以记录节点的协作度和信息向量。表 示节点i记录节点j的协作度,fij={Rij,ANij,SNij,ListS,ij,FNij,ListF,ij}表示节点i记录节 点j的信息向量。当节点i与节点j相遇时,相互交换节点向量表,节点i依据节 点j在此次相遇时拒绝接收的消息数目NN,ij和接收的消息数目NA,ij更新对节点j 的信息向量。同时整合节点j的节点向量表并更新本地的节点向量表。根据节点 向量表计算观察节点的协作度,利用节点历史协作度信息获取节点协作度的观 察序列,并运用Viterbi算法确定使节点最有可能产生观察序列的状态序列,进而 根据节点状态序列量化节点的声誉值。

本发明中所提出的设计方法中,合作节点状态转移模型能够实现网络中节 点能量的均衡,保证资源分配的公平性,声誉模型计算复杂度低,并且能够准 确地感知网络中节点的信任状态,进而可以精确地检测出自私节点,并且能够 有效激励自私节点参与消息转发。

附图说明

图1是本发明提供优选实施例节点相遇时交换的节点向量表;

图2为本发明中节点相遇的流程图。

具体实施方式

以下结合附图,对本发明作进一步说明:

本发明通过节点间的交互建立相应的节点向量表,记录节点的协作度和信 息向量,并根据节点拒绝接收或接收消息的数目更新节点的协作度,利用每个 时间段T观察的协作度状态区间计算节点的最大状态概率,并以此计算节点的声 誉值,当节点的剩余能量为能量阈值时,判断节点的声誉值若高于或等于阈值, 则为合作节点,否则为自私节点。

如图2所示为本发明中节点相遇的流程图,即节点i与节点j相遇时,需要交 换节点向量表并更新,与此同时计算节点的声誉值,判断节点是合作节点还是 自私节点,据此确定拒绝接收消息或者转发消息以及转发消息的顺序。

具体包括以下步骤:

1.网络的初始化:在网络运行刚开始时,设置节点的初始能量为300J,初 始化节点的声誉值为0.5,节点的协作度为0,并根据节点的相遇历史行为更新节 点的协作度和信息向量,以此计算节点的声誉值。至此,网络的初始化阶段完 成。

2.HMM声誉模型:

合作节点状态之间的转移可以实现网络中节点能量的自适应均衡,保证网 络资源分配的公平性。但网络中的节点无法通过直接感知的方法获取节点的真 实状态,只能通过观察其他节点的行为感知其他节点是否发起过自私行为。因 而在这种复杂的网络环境下,自私节点的检测与激励将会面临巨大的挑战。节 点需要根据其他可以被感知的节点行为判断节点的真实状态。

节点自私行为包括拒绝接收其他节点的消息和删除缓存中接收来自其他节 点的消息。当两节点相遇时,如若对方节点拒绝接收消息,则发送消息的一方 可以直接感知。然而却无法直接判断对方是否将接收的消息删除,只能通过观 察对方节点是否在后期转发了接收的消息,进而判断其删除消息与否。为了感 知节点的自私行为,本发明根据节点拒绝接收消息的数目与接收消息的数目获 知节点对消息的接收率;根据节点发送消息的数目与转发消息的数目获知节点 对消息的转发率。根据节点对消息的接收率与转发率量化节点的协作度 若越大,则表示节点积极参与消息转发的程度越大,反之则表示 节点积极参与消息转发的程度越低。

机会网络利用节点移动带来的相遇机会实现消息的投递。然而网络中节点 间的相遇具有随机性,因而消息在缓存中的等待时延也具有一定的随机性。再 者,观察节点感知被观察节点的协作行为也无法做到完全实时。由此可见,观 察节点感知被观察节点的协作行为也同样存在着时延。另外,由于节点删除消 息的行为并不完全意味着该节点就是自私节点,例如当合作节点处于合作状态 时,可能因为缓存不足,或者消息TTL过期,或者合作节点能量不足而转移为节 能状态。所以不能单纯地根据节点协作度的大小而直接判断节点的真实状态, 还需要考虑由于机会网络节点稀疏、网络拓扑易变、消息延迟较大等因素引起 的节点感知信息量不足与误差。因此本发明针对上述情况,将每时间段T感知的 节点行为量化为节点协作度,将观察到的节点协作度划分为[0,0.25),[0.25,0.5), [0.5,0.75),[0.75,1]四个区间,每个区间分别对应一个节点行为协作度区间,将这 四个协作度区间与一阶HMM观察符号集合E={e1,e2,e3,e4}相对应,记时刻t所观 察的节点协作度所属的区间为ot,ot∈E。并根据节点历史协作度信息,判断每个 时间段T观察节点所处的状态。显而易见,节点状态可以分为合作状态和自私状 态,记节点状态集合为S={S1,S2},时刻t所处的状态为zt,zt∈S。从而根据节点状 态序列量化节点的声誉值,节点声誉值越高,表示节点合作的概率越大。

3.节点协作度感知:

与传统的AdHoc网络有所不同,机会网络中观察的节点具有较强的移动性, 因而无法通过监听信道判断观察节点是否已转发消息。因此,机会网络中观察 节点需以其他方式才能感知被观察节点转发消息的行为。在机会网络中,消息 以“存储-携带-转发”的方式实现消息投递,如果中继节点成功转发消息,那么 网络中必定存在接收消息的下游节点。由此可见,消息的下游节点能够观察上 游节点的消息转发行为。例如节点i将消息m转发给节点j,一般情况下,节点i 无法通过直接观察的方式感知节点j是否已转发了消息m。当节点j将消息转发 给节点k时,节点k可以向节点i证明节点j确实转发了消息m。由于机会网络常 用的洪泛方式发送节点转发行为的确认消息不仅会引起网络的拥塞,增加网络 负载,并且会加快节点能量的消耗,缩短节点在网络的生存时间,因此本发明 不采取这一方法,而是通过在消息中添加消息转发列表,利用签名技术证实节 点转发消息的行为。当节点接收消息后,首先验证消息列表签名真伪,如果签 名为真,则根据消息转发列表更新节点直接观察的信息;如果签名为假,则直 接丢弃该消息转发列表,最后将自身的节点ID添加至消息转发列表中并等待转 发给下一跳中继节点。

由于机会网络具有节点稀疏、节点移动性较强等特性,网络中两节点间直 接交互的机会非常有限,故而节点间直接观察信息量也具有一定的局限性。再 者,网络时延较大,仅仅依靠节点直接观察评估节点的协作性具有一定的局限 性,需聚合其他节点向量表,表中记录观察节点的协作度与信息向量。如图1所 示,其中表示节点i记录节点j的协作度;fij={Rij,ANij,SNij,ListS,ij,FNij,ListF,ij}表 示节点i记录节点j的信息向量。其中Rij表示节点i记录节点j的声誉值,ANij表 示节点i记录节点j的接收消息数目,SNij表示节点i记录的节点j的发送消息数 目,ListS,ij表示节点j发送消息的消息ID列表,FNij表示节点i记录节点j的转发 消息数目,ListF,ij表示节点j转发消息的消息ID列表。为了避免自私节点伪造转 发消息的记录,该信息向量中只包含除发送信息向量以外的节点信息。

当节点i与节点j相遇并完成消息转发与信息向量的交换时,节点i统计关于 节点j拒绝接收节点i消息的历史数目NANij,当前数目NN,ij与节点j接收节点i消 息的历史数目ANij,当前数目NA,ij并根据公式(1)、(2)进行更新。

NAKij_new=NAKij_old+NN,ij(1)

ANij_new=ANij_old+NA,ij(2)

其中,NAKij_old表示该时间段T内上次与节点j相遇时感知的节点j拒绝接收 消息的数目。节点i接收节点j的消息后,查看消息中的转发列表,将所有转发 节点的转发消息数目FNij线性累加,源节点的发送数目SNij线性累加,并在源节 点为非节点j的消息转发列表中添加节点j的ID并签名,当下一跳转发节点接收 消息时,证明节点j参与了消息的转发,并及时更新消息向量中的SNij、ListS,ij、 FNij与ListF.ij

节点i接收节点j发送的信息向量列表后,将与自身向量列表中ListS,ij、ListF,ij进行对比,将消息ID列表中消息ID不同的信息添加到自身向量列表中,并更新 SNij、FNij。当时间段T到达时,节点根据公式(3),(4)分别计算节点i对节点 j消息的接收率ACRij与转发率FWRij

ACRij=ANijANij+NANij+1---(3)

FWRij=FNijFNij+ANij+1---(4)

根据节点接收率与转发率计算在该第t个时间段T节点i对于节点j直接 观察的节点协作度

节点i将其他节点记录关于节点j的信息向量进行聚合后,得出公式(6)

式中表示在第t个时间段T节点i感知的节点j的声誉值;表示 在第t-1个时间段T节点k感知的节点j的协作度;S表示第t个时间段T内, 节点i接收的关于节点j推荐信息的节点集合。

4.节点声誉值感知:

自私节点通过拒绝接收消息或删除接收的消息以节省自身资源,根据节点 的接收率与转发率感知的节点协作度可有效表征节点积极参与消息转发的程 度。如果节点的协作度越高,其积极参与消息转发的程度越大,因而其为合作 节点的可能性就越大。因此,本发明将利用节点历史协作度信息获得对于节点 协作度的观察序列,并运用Viterbi算法确定使节点最有可能产生观察序列的状态 列表,进而根据节点状态序列量化节点的声誉值。

根据节点历史行为信息感知各个时间段T的节点协作度,并将观察到的节点 协作度与所观察的符号集E中观察符号一一对应。得到一阶HMM模型关于节点 j的观察序列O=(oj1,oj2,...,ojt)。运用Viterbi算法可确定节点j的一个状态序列 其中zjt表示节点j在第t个T时间段所处的状态,且zjt∈S。故 由这些确定的状态序列解其最大概率为

Z^=argmag{Z}P(Z|O,θ)=argmax{Z}P(Z,O|θ)P(O|θ)=argmax{Z}P(Z,O|θ)---(7)

根据Viterbi算法,可解出节点最优状态序列(zj1,zj2,...,zjt),进而可获得该最 优状态序列所对应的输出概率P(Z|O,θ)。其中节点最优状态序列表示该节点在 各个时间段T内所处的状态序列;输出概率表示为该节点出现上述状态序列的概 率大小。

随着节点能量的消耗,合作节点的能量将有可能低于网络所设定的能量阈 值,因此将会体现出一定的“自私性”且机会网络具有节点稀疏、节点具有移 动性等特性造成感知节点状态信息具有一定局限性。因而利用Viterbi算法求出节 点j最优状态序列(zj1,zj2,...,zjt),节点j在不同时间段T所处的状态将会出现差异 性。因此如果节点处于合作状态的时间段数目越多,节点积极参与转发的程度 越高,那么该节点作为合作节点的可能性就越大。故节点的声誉值由最优状态 序列中节点处于合作状态所占比例衡量,故节点i计算对于节点j的声誉值公式 为

Rij=P(Z|O,θ)NS1NS2+NS1---(8)

其中表示节点j处于S1状态的时间段总数,表示节点j处于S2状态的 时间段总数,P(Z|O,θ)表示节点状态序列为Z的概率。

5.感知节点时间段T的确定

观察节点利用时间段T内感知的节点转发或者接收消息的数目计算节点的 协作度。节点协作度的精确度将直接影响节点声誉值的准确性。然而机会网络 中拓扑结构变化较快,固定T具有明显的局限性,因而T应该随着网络的运行状 况不同而不同。如果时间段T设置得过短,则可能由于消息还没有及时扩散,被 感知的节点转发消息数目过少,进而导致节点的协作度将小于其真实的协作度; 如果时间段T设置得过长,则将会导致节点协作度更新过慢,这样会影响节点声 誉值的估计。此外考虑到机会网络节点稀疏、网络拓扑易变、消息延迟较大等 特点将会导致感知的信息不可避免的产生误差,若感知信息量太少则会引起较 大的误差。因此时间段T的长度应由网络状态与观察节点感知的信息量共同决 定。

由于节点的转发行为由消息的下游节点观察并且证明,下游节点观察到的 转发行为信息需通过节点向量表的交互发送给中继节点的上游节点。当节点间 相遇时,首先需要交换节点向量表,用以更新节点的协作度和信息向量。因此, 本发明将消息投递的平均时延作为衡量网络状态的参数之一,定义为时间段T的 时间窗口基本长度。将观察节点记录的其他节点的NAN与AN总和的均值与被观 察节点NAN与AN总和的比值作为时间窗口基本长度的权重因子,如节点i计算 对节点j的时间段T公式如下:

Tij=ΣkS(NANik+ANik)|S|NANij+ANij·Tavg---(9)

6.自私节点的判定:

节点的声誉值表示节点为合作节点的概率,若节点的声誉值越大,其为合 作节点的概率越大;反之,节点为自私节点的概率越大。而随着网络的运行, 节点能量逐渐消耗会使合作节点的剩余能量低于能量阈值ε,则会为了节省能量 而采取自私的行为,从而导致节点的声誉值逐渐减小,若单纯的将声誉值低于 阈值的节点判定为自私节点是不合理的。因此如果此时节点的观察序列足够长, 那么将在节点剩余能量等于ε时,根据节点的声誉值判断节点是否为自私节点。 节点的能量消耗主要集中在接收和发送消息的能量消耗以及为发现邻居节点的 扫描消耗。由于每个节点的扫描周期相同,故节点的扫描消耗相同。因此本发 明中节点根据自身能量的消耗情况和节点感知的信息向量中节点接收、转发和 发送的消息数目估计其他节点的剩余能量。

假设节点接收或者发送一个消息消耗的能量为p,节点的总能量为E,节点 到当前时刻扫描所消耗的能量为ES,剩余能量为ER。根据能量守恒定律,可得 公式如下:

ES+(AN+SN+FN)p+ERE---(10)

式中,AN、SN、FN分别表示节点接收、发送和转发消息的数目。当节点 评估其他节点的剩余能量时,首先根据自己接收、发送消息的数目和剩余能量 的大小,可计算出节点到当前时刻扫描所消耗的能量ES,如公式(11)所示, 式中ANi、SNi、FNi分别表示节点i接收、发送和转发消息的数目,表示节点 i剩余能量。

E-(ANi+SNi+FNi)p-ERiES---(11)

结合节点感知的信息向量。可获知其他节点接收、发送和转发消息的数目, 因此通过公式(10)、(11)联立求解,即可计算出其他节点的剩余能量,如公 式(12)所示:

[(ANi+SNi+FNi)-(ANij+SNij+FNij)p]+ERiER---(12)

如上文所述,根据节点历史协作度并利用Viterbi算法确定使节点最有可能产 生观察序列的状态序列,进而根据节点状态序列量化节点的声誉值。节点协作 度越高,节点积极参与消息转发的程度越大。自私节点通过避免参与消息转发 节省自身资源,因而其协作度与声誉值都应较低。所以,声誉值小于该节点有 记录的平均声誉值的节点可能为自私节点。然而,节点感知网络状态具有一定 的局限性,由于节点感知消息的局限性也可造成节点声誉值小于其实际值,且 感知的节点也可能并没有自私行为,将小于平均声誉值的节点判定为自私节点 显然是不合理的。因此本发明利用小于平均声誉值节点的协作度估计自私节点 的协作度,并根据估计的自私节点协作度运用Viterbi算法确定自私节点最有可能 产生观察序列的状态序列,进而根据节点状态序列获得自私节点的声誉。即观 察序列为O'=(o'j1,o'j2,...,o'jt)时,所对应的状态序列其中观察序列 由公式(13)确定,,δ由公式(14)确定。其中S表示小于平均声誉值的节点 集合;表示集合中节点各时间段T协作度的均值;表示处于状态 的时间段总数;表示处于S2状态的时间段总数。

δ=P(Z^|O,θ)Ns1Ns1+Ns2---(14)

7.消息转发策略:

自私节点表现出自私行为的根本原因在于节点资源有限,积极地参与消息 的转发将会导致节点过早“死亡”,因而不能接收或发送消息。因此节点需要通 过拒绝接收消息或删除部分消息节省自身资源。当节点能量较小时,适当的体 现出一定程度的“自私性”,不但可以避免由于节点过早“死亡”引起的网络性 能下降,还可以通过制定适当的数据转发策略激励节点在有效的生命周期中积 极参与消息的转发。

当节点i与节点j相遇时,需要相互发送本地存储的节点向量表并进行对比 更新,同时更新节点拒绝接收的消息数目和接收的消息数目。当时间段T到达时, 节点i首先根据节点j拒绝接收的消息数目、接收的消息数目与转发的消息数目 计算节点i在该时间段对节点j感知的协作度并聚合其他节点的节点向 量表并计算节点j的协作度利用节点历史信息感知有关节点的观察序列, 并运用Viterbi算法确定使节点最有可能产生观察序列的状态序列,进而根据节点 的状态序列更新节点的声誉值。结合节点自身能量消耗情况以及其感知得到的 信息向量中接收、转发和发送的消息数目估计其他节点的剩余能量。当剩余能 量等于ε时,则判断节点的声誉值是否小于δ,若小于δ,则判定其为自私节点, 并广播通知网络中的其他节点;若大于或等于δ,则判定其为合作节点。在转发 数据之前,将根据节点的状态对发送消息的队列进行排序,若节点为合作节点, 则消息位于队列的前端,合作节点的消息以“先进先出”的方式排队;而对于 状态不明确的节点消息则以节点声誉值的大小进行排序;若节点为自私节点, 则拒绝接收和转发消息。根据节点运动过程中所获知的历史相遇信息计算节点 与目的节点的相遇概率P,选择消息的最优转发节点。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范 围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或 修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号