首页> 中国专利> 一种基于重复博弈的节能路由方法

一种基于重复博弈的节能路由方法

摘要

本发明公开一种基于重复博弈的节能路由方法。在分簇阶段采用非均匀分簇的方法,将节点剩余能量、拓扑结构和传输距离综合考虑,使靠近Sink节点的簇头数目增加,避免了能量空洞现象;在数据传输阶段采用重复博弈模型,假设所有节点都是自私而理性的,综合考虑节点历史转发概率、剩余能量和收益,在互相博弈过程中寻找最佳路由。仿真结果表明UCRG算法可以有效的延长网络生命周期,均衡网络能耗。

著录项

  • 公开/公告号CN104540181A

    专利类型发明专利

  • 公开/公告日2015-04-22

    原文格式PDF

  • 申请/专利权人 河海大学;

    申请/专利号CN201410769324.1

  • 申请日2014-12-12

  • 分类号H04W40/10;H04W84/18;

  • 代理机构南京苏高专利商标事务所(普通合伙);

  • 代理人李玉平

  • 地址 211100 江苏省南京市江宁区佛城西路8号

  • 入库时间 2023-12-18 08:15:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-06

    授权

    授权

  • 2015-05-13

    实质审查的生效 IPC(主分类):H04W40/10 申请日:20141212

    实质审查的生效

  • 2015-04-22

    公开

    公开

说明书

技术领域

本发明涉及一种基于重复博弈的节能路由方法(UCRG),属于无线传感器 网络技术领域。

背景技术

无线传感器网络是一种新型的传感器网络,它主要由大量节点构成,完成对 信息的采集、处理和转发等任务,网络内所有的节点可以自适应拓扑结构的变化, 并相应的更新最佳路由,最后通过无线多跳通信的方式将有效信息传输给Sink 节点。无线传感器网络投入成本小,灵活性好,可以对各种恶劣环境进行实时监 测,具有十分重要的科研价值和广阔的发展前景。

节能问题一直是无线传感器网络研究的关键问题之一,它直接影响整个网络 的生命周期。网络中大部分节点是以多跳路由的方式将数据传输给Sink节点, 这就使得距离Sink节点较近的节点因为转发任务过重消耗大量能量,在整个网 络还剩余大量能量的时候就开始有一定数目的节点死亡,导致局部地区监测功能 失效,这就是所谓的“能量空洞现象”(energy hole)。因此,在能量有限的情 况下,均衡网络能耗,尽量延长网络生命周期就变得尤为重要,这就需要在设计 路由协议时,充分考虑路由协议的能量高效性。

在无线传感器网络的服务质量、能耗均衡、网络时延和安全性等方面,目前 研究已经取得了很不错的成绩,在网络节点的计算能力、存储能力和节约能量等 方面,也已经取得了很大的进步。但是,提升的空间依旧很大,优秀路由协议应 该能够在保证网络质量的同时尽量节约能量,延长网络生命周期。我们还需要对 网络时延、网络能耗均衡等关键技术进行更加深入的研究,希望得到更好的网络 性能。在实际应用中,无线传感器网络有其不可替代的优势,例如,分布范围广, 可以工作在恶劣的环境中,成本价格低廉等。可以预见,无线传感器网络的发展 前景将不可估量。

发明内容

发明目的:针对现有技术中存在的问题,本发明提供一种基于重复博弈的节 能路由方法。在分簇阶段采用非均匀分簇的方法,将节点剩余能量、拓扑结构和 传输距离综合考虑,使靠近Sink节点的簇头数目增加,避免了能量空洞现象; 在数据传输阶段采用重复博弈模型,假设所有节点都是自私而理性的,综合考虑 节点历史转发概率、剩余能量和收益,在互相博弈过程中寻找最佳路由。仿真结 果表明UCRG算法可以有效的延长网络生命周期,均衡网络能耗。

技术方案:一种基于重复博弈的节能路由方法,主要包括两个阶段:成簇阶 段和数据传输阶段。

网络初始化时,首先是Sink节点计算自己到网络所有节点的通信距离,并 找出其中的最大值dmax和最小值dmin,并广播dmax和dmin、定时上传数据的时间 间隔和Sink节点自身的位置信息;节点收到广播信息后,存储广播内容,并设 置身份标识Flag为0,计算自己的竞争半径R,并广播自己的原始编号ID、位 置信息、竞争半径R、和当前剩余能量E(t)。

在成簇阶段,采用非均匀分簇的思想,越靠近Sink节点,成簇越密集。所 有节点首先根据公式计算自己的权值和簇头竞争半径,权值最大的节点成为簇头, 位于该簇头竞争半径之内的节点成为它的成员节点,第一个簇形成。剩余节点更 新自己的邻居群和权值,继续重复该成簇的过程,直到所有节点至少是簇头节点 或者成员节点之一,成簇阶段结束。

在数据传输阶段,所有簇头节点作为理性参与者进行重复博弈,它们都具有 完美的记忆力,监测并记住所有节点在每个阶段的历史行为,这就使得节点不敢 为了私人利益偷偷丢弃数据,提高簇头之间的协作性。与Sink节点距离大于通 信半径D并且有数据需要转发的簇头,首先评估邻居簇头的可信度,向最可信 的簇头发送请求路由:若该簇头选择协助转发,则向其发送数据;否则,继续向 次优下一跳发送路由请求。收到路由请求的簇头也要反向评估上一跳簇头的可信 度,若该可信度大于阈值Fit,选择协助转发数据,继续在自己的邻居里寻找自 己的最优下一跳;否则,拒绝转发。该过程不断重复,直到簇头与Sink节点的 距离小于通信半径D,就直接将数据发送给Sink节点。这样,一次路由过程结 束。

附图说明

图1为重复博弈过程描述图;

图2为非均匀分簇原理图;

图3为基于博弈论的数据传输过程图;

图4为UCRG算法实现流程图;

图5为初始化阶段节点随机分布图;

图6为非均匀分簇示意图;

图7为网络总能量随轮数变化图;

图8为网络存活节点数目随轮数变化图;

图9为网络生命周期随网络节点数目变化趋势图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本 发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发 明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

重复博弈路由策略

重复博弈过程中,如果只是多次的动态博弈的单纯重复,将会导致参与者的 背叛行为,使得协作变得困难。一般路由协议都是假设转发过程中下一跳节点会 帮助自己完成转发任务,但在实际应用中并非如此,部分节点会自私的偷偷丢掉 数据包,即通过背叛行为来获取收益。这是因为参与者不需要担心此次背叛行为 对未来收益的影响,其他参与者不会发现此次的背叛行为,也不会对该参与者进 行任何的惩罚。但是,如果背叛行为会带来相应的惩罚,那么参与者在做出决策 时就不得不考虑此次拒绝对未来收益的影响,如果此次背叛得不偿失,那么参与 者就会被迫的参与到协作中来,应用到无线传感器网络中,也就保证了数据传输 的成功率。

为了加强无线传感器网络节点之间的协作,假设所有参与者具有完美的记忆 能力,也就是说每个节点不但知道其他节点的所有行动,而且也都知道自己在每 个阶段中上一次所采取的的行动:拒绝(背叛)或者转发(协作)。(在重复博弈 中,参与者之间进行多次交互,每个交互称作一个阶段。)节点此次的拒绝行为, 其他所有节点都可以看到并记住,这必然导致背叛节点的未来收益受损,所以节 点在选择策略时会进行更加谨慎的权衡。这对于整个网络而言,加强了节点之间 的协作,减少数据包的丢失,提高了数据传输的可靠性。

簇头节点在簇间进行数据多跳转发的过程,就可以看做一个重复博弈的过程。 图1描述了这一博弈思想策略:假设节点A有数据需要转发,它寻找下一跳中 继节点是就需要进行权衡。如果用一个可信度函数来描述A节点对于邻居节点 的相信程度,那么为了保证自己的数据顺利到达Sink节点,A节点必然选择可 信度最高的邻居节点发送路由请求,希望得到协助转发。假设在所有邻居节点中, 节点B的可信度函数值最大,也就是说,对A而言,目前最可信的下一跳节点 是B,那么A就会向B发送路由请求,如果请求被接受,A就向B发送数据; 如果请求被拒绝,那么A就只好继续寻找剩余邻居中可信度最高的节点帮忙。

节点B在收到路由请求后,也会考虑要不要帮助A节点,它通过考量A节 点各方面的情况,对A的可信度给出一个评估,如果该评估满足它对最低信用 的要求,节点B就会选择帮助转发;否则,节点B就会拒绝帮助A。该过程重 复,直到数据发送到Sink节点。为避免路由环路,节点B的下一跳节点应该不 包括发送路由请求给自己的上一跳节点A。其他所有节点都会观察到这一过程, 并且完美记忆节点A和B的策略选择,方便自己以后选择最优下一跳节点。也 就是说,所有收到路由请求的节点在做出决策时,都会进行长远的考虑,判断协 作或者拒绝行为对未来收益的影响情况。

该重复博弈模型,不仅考虑了本次行为会带来的收益,还考虑了博弈的历史 记录情况,由此在均衡网络能耗的同时还可以很好的促进参与者之间互相的协作。

基于重复博弈的UCRG算法

在已有的面向博弈的分簇路由算法中,虽然博弈论的应用很好的节约了网络 能耗,但分簇过程往往忽略了能耗问题,比如簇头节点的能耗。或是在路由选择 中,仅仅考虑下一跳的位置信息而忽略其剩余能量问题,这样就过度依赖于距离 “理想最佳下一跳”最近的节点,也会使得该节点由于转发任务过重而提前死亡。

本发明针对以上问题提出基于重复博弈的节能路由方法(UCRG方法--A  Routing Algorithm Based on Unequal Clustering and Repeated-Game)。本方法主要 分为成簇部分和数据传输部分。在非均匀分簇阶段,充分考虑节点的剩余能量, 网络的拓扑结构和节点到Sink节点的距离;在数据传输阶段,采用重复博弈的 思想,考虑节点的剩余能量和节点的历史行为(协作或者拒绝),选取最优下一 跳节点。

网络模型

无线传感器网络中,n个节点随机分布在一个正方形的监测区域内,用于环 境监测。网络对该监测区域按轮周期性的进行数据采集,将处理后的数据以多跳 方式发送给Sink节点。根据应用背景,Sink节点会在每轮初始化时设置并广播 当前轮数。每一轮都包括非均匀分簇阶段和数据传输阶段两部分,在数据传输阶 段,成员节点将采集的数据直接发送到簇头节点,簇头进行数据融合,并传输到 Sink节点。

本发明中,簇内通信都采用直接通信的方式,即簇内成员节点将采集的数据 直接发送给自己的簇头节点。而簇间通信时,簇头先判断Sink节点是否在自己 的通信半径D之内,如果在,簇头节点直接将数据发送给Sink节点;否则,就 以多跳方式与Sink节点通信,建立由簇头到Sink节点的多跳路由,通过中继节 点协助转发数据,最终将数据传输到Sink节点。中间协助转发数据的节点称为 中继节点,中继节点可以有一个或者多个。

网络模型的假设:

★监测区域为正方形,只有一个Sink节点,其他传感器节点随机分布。在 网络布置完成后,所有节点静止不动。

★通过定位技术,每个节点知道自己的位置信息,Sink节点知道所有节点的 位置信息。

★除了Sink节点外,所有节点规格相同,携带电池初始能量最大,为Emax; 设定最低能量阈值为Emin,当节点能量低于Emin时,认为节点死亡。

★所有传感器节点的通信半径为D,Sink节点的通信半径没有限制。

★可信度的评估阈值为Fit,当上一跳的可信度大于该值时,簇头协助转发 数据;否则,拒绝路由请求。

★所有传感器节点是自私理性的节点,具有完美记忆力,即存储能力较强。

能耗模型

本文采用一个无线传感器网络典型的能耗模型:假设相距为d的两个节点A 与B进行通信,A要向B传输k bit的数据,则节点A的发送能耗为:

Etx(k,d)=kete+ketadα  (1)

其中,ete指的是发送单位bit数据的电路能耗;eta指的是单位bit数据的放大电 路的能耗;α指的是路径损耗指数,依赖于传输环境,通常2<α<4。

节点B的接收能耗为:

Erx(k)=kerx  (2)

其中,erx为接收单位bit数据的电路能耗。

假设对单位bit数据融合的能耗为eag,则对k bit数据进行数据融合的能耗 为:

Eag(k)=keag  (3)

非均匀分簇阶段

1非均匀分簇半径的计算

由于越靠近Sink节点的簇头进行数据转发的任务越重,我们希望它们含有 较少的成员节点,也就是说,越靠近Sink节点,簇应该越密集,节点的竞争半 径应该越小,越远离Sink节点,簇应该越稀疏,节点竞争半径应该越大。这样 对靠近Sink节点的簇头而言,用于簇内数据收集和数据融合的能量减少,可以 有更多的能量用于数据转发,避免了由于转发任务过重而提前死亡。

非均匀分簇思想的原理示意图如2所示。图中长方形表示监测区域,其中的 小圆圈表示随机分布于监测区域内的传感器节点,灰色小圆圈表示簇头节点,白 色小圆圈表示簇内成员节点。外层不同大小的较大的圆圈表示不同大小的簇,箭 头表示监测区域内数据以多跳方式向Sink节点传输。Sink节点位于区域之外。

显然,距离Sink节点越远的簇越大,簇内成员节点数目越多,距离Sink节 点越近的簇相对越小,簇内成员节点数目少一些。根据这一思想,节点的竞争半 径设计如公式(4):

R=[1-c×dmax-d(i,Sink)dmax-dmin]Rmax---(4)

其中,dmax表示所有节点到Sink节点通信距离的最大值,dmin表示所有节点到 Sink节点通信距离的最小值,d(i,Sink)表示节点i到Sink节点的通信距离;c是 一个介于0~1之间的常数;Rmax是最大的分簇半径,可以提前设置。可见,公式 (4)满足了本文对分簇疏密的要求:越靠近Sink节点,节点的竞争半径越小, 成簇越密集;越远离Sink节点,节点竞争半径越大,成簇越稀疏。

2节点的权值

在分簇的过程中,所有节点依据自己的权值竞选簇头,本文节点权值考虑的 主要因素是节点的剩余能量、拓扑结构和与其他节点之间的通信距离。本文用选 票的方法来描述节点的拓扑信息和当前剩余能量信息。用s(i,j)表示节点i投给其 邻居节点j的选票,s(i,j)的计算公式如(5)所示:

s(i,j)=E(j)/ΣdikE(k),dijD0,dij>D---(5)

其中,分子E(j)表示邻居节点vj的剩余能量;分母表示节点i的所有邻 居节点剩余的总能量,k表示节点i的邻居节点的个数,dik表示节点i到邻居节 点k的距离,只有满足条件dik<D的节点才是节点i的邻居节点。D表示节点的 通信半径。

节点i从邻居节点中收到的总选票可以由公式(6)表示:

support(i)=ΣdijDs(j,i)---(6)

节点i的权值定义为:

Ii=support(i)pi---(7)

其中,Pi是节点i到其所有邻居距离dik的平均值在所有节点中,选择权值 Ii最大的节点当选簇头。如果节点没有邻居,那么其权值为一个不变的常数,在 分簇过程中,该节点自己独立成簇。

在簇头竞选过程中,本文的节点权值计算方法同时考虑节点的剩余能量和拓 扑情况。使剩余能量更多、邻居节点个数越多、到邻居节点距离越近的节点权值 越大,更有机会担任簇头,可以让邻居节点多、剩余能量多的节点承担更多的数 据融合和数据转发任务,均衡整个网络的能量消耗。

基于重复博弈的数据传输阶段

本节能路由算法中,博弈的参与者是监测区域内所有的节点,每个节点都是 自私理性的,博弈过程中以利益最大化为出发点。每一个接收到转发数据的节点, 会进行理性选择:合作转发数据或者拒绝转发数据(背叛)。

1路由博弈模型

本文关注的主要是网络能耗、网络生命周期和网络路径的可靠程度,因此希 望节点在协作选择路由时能够联合优化这些性能。也就是说,本文节点的理性偏 好必须与这个目标一致,规定节点的理性偏好如下:首先是自己活得越久。所有 节点的生命越长才会使得网络的生命周期延长;第二是,长远收益越大越好。这 是为了避免部分节点只顾自己的资源有限这一事实而采取拒绝协助转发数据行 为,如果所有节点都拒绝协助转发数据,必将造成网络的瘫痪;第三是数据可以 可靠地传输到Sink节点,本算法中用节点的历史转发概率和收益模型来描述节 点的可靠程度。

用扩展式表述本文动态路由建模:

★参与者:网络中所有存活的簇头节点,每轮参与者个数就是簇头的数目。

★参与者行动顺序:在本路由中,有数据需要发送的簇头节点A最先行动, 它需要对邻居簇头进行可信度评估,然后选择一个最合适的下一跳节点,并向该 邻居簇头节点B发送路由请求,节点B也要反过去再计算节点A的可信度,再 决定是否接受A的路由请求。如果B不接受路由请求,源节点A就选择次优节 点继续发送路由请求;如果B接受路由请求,它就继续选择自己的最优下一跳 簇头节点发送路由请求。如此继续,直到Sink节点收到路由请求,这就形成了 一条从源节点到Sink节点的一条通路。参与者策略空间:协助转发数据和拒绝 转发数据(背叛)。由于每轮参与者的邻居簇头个数是有限的,纯策略空间的博弈 中参与者的行动空间是有限的。

★参与者信息集:信息集合随时间不停的发生变化。主要是上一阶段邻居节 点的历史行为和剩余能量等信息。

★参与者的可信度函数:我们用可信度函数来表达节点的理性偏好,节点会 选择可信度函数值最高的节点当下一跳节点。

2博弈收益模型

节点在进行路由博弈的过程中,选择不同的策略,获得的收益也会不同。根 据网络中节点采取的不同策略,如下的博弈收益矩阵:假设网络中两个簇头为A 和B,它们各自有两种策略:合作转发数据;拒绝转发数据(背叛)。不同策略 对应不同的收益,收益矩阵见表1:

表1重复博弈收益矩阵

其中,T代表背叛诱惑;S代表受骗支付。也就是说,在A与B博弈的过程 中,假设节点A协助转发了B的数据,而节点B拒绝了转发A的数据,即节点 B背叛了节点A,则背叛节点B获得的收益为T,被背叛的节点A获得的收益 为S。R代表合作报酬,如果节点A与B都选择合作转发了对方的数据,那么A 与B都将获得R的收益。P代表背叛惩罚,如果节点A与B都拒绝转发对方的 数据,互相背叛,那么双方的收益都是P。我们要求:T>R>P>S,2R>(T+S)。

3可信度评估函数

本文节点的可信度评估函数综合考虑节点的剩余能量、历史转发概率和转发 收益,也就是说,剩余能量越高,历史转发概率越高,转发收益越大的节点可信 度越高。可信度函数有两方面的作用:一方面,假设A有数据需要转发,A要 选择最有可能帮助自己转发数据的节点来当下一跳节点,在A节点看来,剩余 能量越高、历史转发概率越大、转发收益越大的节点越可信,越有可能协助自己 转发数据,它的可信度也就越高;另一方面,B在决定是否帮助A转发数据时, 也要对A进行考量,如果上一跳节点A的可信度较高,那么B帮助转发数据的 可能性就大。也就是说,无论是路由选择还是路由转发,都可以在可信度函数的 统一框架下进行。本文的可信度函数设计如下:

Fit(t)=E(t)-EminEmax×NsN×Pay---(8)

其中,E(t)为节点当前剩余能量;Emin为能量最低阈值;Emax为初始能量值; Ns/N为节点的历史转发概率,Ns是节点历史转发次数,N是节点历史被选为下 一跳的次数(历史转发次数加历史拒绝次数);Pay表示本轮博弈中,如果选择 协作转发数据,节点能够获得的收益。

该可信度评估函数不仅考虑了节点本次行为会带来的收益,还考虑了博弈的 历史记录情况,加强了数据传输的可靠程度,同时,该可信度评估函数也考虑了 节点的剩余能量情况,选择剩余能量较多的簇头节点承担转发任务,均衡网络能 耗。

4路由选择可信度评估和数据传输阶段的过程描述

理性节点A在评估邻居簇头节点的可信度时,首先会假设其会为自己转发 数据,然后推测它的邻居节点在此基础上会获得的收益。由收益矩阵表1可知, 上一次B向A发出路由请求时A的不同策略,会导致本次B的收益不同:若上 一次博弈中A转发了数据,则此次B转发数据的收益为R;若上一次博弈中A 丢弃了数据,则本次B转发数据的收益为S。因此A在评估B的可信度时,需 要分两种情况:

其中,表示上一次B向A发起路由请求时,A的不同策略。

该数据传输阶段的基于博弈论的路由选择及数据传输过程如流程图3所示。

其步骤描述为:

(1)发送节点先评估所有下一跳候选节点的可信度:首先,满足dij<D且 d(j,Sink)<d(i,Sink)的j节点才能成为节点i的下一跳候选节点。找到所有下一跳 候选节点后,节点i首先假设它们本轮会协助自己转发数据,在此基础上计算它 们的可信度,并从大到小进行排序。

(2)确定最优下一跳节点,并发送路由请求:下一跳候选节点中,可信度 最高的节点成为最优下一跳节点。

(3)若邻居节点决定协助转发器数据包,就向该最优下一跳节点发送数据 包;若邻居节点决定拒绝转发数据包,则发送节点选择次优邻居节点继续发送路 由请求。

(5)如此继续,直到满足d(k,Sink)<D,那么节点k就直接将数据发送给 Sink节点,该阶段的数据传输过程结束。

UCRG算法主要包括两个阶段:成簇阶段和数据传输阶段。

网络初始化时,首先是Sink节点计算自己到网络所有节点的通信距离,并 找出其中的最大值dmax和最小值dmin,并广播dmax和dmin、定时上传数据的时间 间隔和Sink节点自身的位置信息;节点收到广播信息后,存储广播内容,并设 置身份标识Flag为0,计算自己的竞争半径R,并广播自己的原始编号ID、位 置信息、竞争半径R、和当前剩余能量E(t)。

在成簇阶段,本文采用非均匀分簇的思想,越靠近Sink节点,成簇越密集。 所有节点首先根据公式计算自己的权值和簇头竞争半径,权值最大的节点成为簇 头,位于该簇头竞争半径之内的节点成为它的成员节点,第一个簇形成。剩余节 点更新自己的邻居群和权值,继续重复该成簇的过程,直到所有节点至少是簇头 节点或者成员节点之一,成簇阶段结束。

在数据传输阶段,所有簇头节点作为理性参与者进行重复博弈,它们都具有 完美的记忆力,监测并记住所有节点在每个阶段的历史行为,这就使得节点不敢 为了私人利益偷偷丢弃数据,提高簇头之间的协作性。与Sink节点距离大于通 信半径D并且有数据需要转发的簇头,首先评估邻居簇头的可信度,向最可信 的簇头发送请求路由:若该簇头选择协助转发,则向其发送数据;否则,继续向 次优下一跳发送路由请求。收到路由请求的簇头也要反向评估上一跳簇头的可信 度,若该可信度大于阈值Fit,选择协助转发数据,继续在自己的邻居里寻找自 己的最优下一跳;否则,拒绝转发。该过程不断重复,直到簇头与Sink节点的 距离小于通信半径D,就直接将数据发送给Sink节点。这样,一次路由过程结 束。

UCRG算法实现过程

UCRG算法实现过程见图4。流程图步骤描述为:

(1)网络参数初始化,Sink节点计算自己到网络所有节点的通信距离,并 找出其中的最大值dmax和最小值dmin,并广播dmax和dmin、定时上传数据的时间 间隔和Sink节点自身的位置信息;节点收到广播信息后,存储广播内容,并设 置身份标识Flag为0,计算自己的竞争半径R,并广播自己的原始编号ID、位 置信息、竞争半径R、和当前剩余能量E(t)。

(2)满足Flag=0所有节点更新自己的邻居群,同时满足d(j,Sink)<d(i,Sink) 和dij<D的j节点可以成为节点i的邻居;

(3)根据公式(5)-(7),所有节点在邻居群中计算自己的权值并广播;

(4)节点i判断自己的权值在满足Flag=0的所有节点中是否最大:是,就 成为簇头,更改Flag=2,广播“我是簇头”;否,等待。

(5)收到广播的且满足Flag=0的节点j判断自己是否满足d(i,j)<Ri,是, 加入该簇,更改Flag=1并广播“我退出簇头竞争”;否,则等待。

(6)所有满足Flag=0的节点开始新一轮成簇,直到不存在Flag=0的节点 为止,成簇过程结束。

(7)数据传输开始。簇内节点在自己的时隙内直接发送数据给簇头;

(8)簇头数据融合,判断是否满足d(i,Sink)<D;是,直接传输数据给Sink 节点;否,多跳传输数据。

(9)有数据需要多跳传输的簇头i,选择同时满足d(j,Sink)<d(i,Sink)和dij<D 和Flag=2的邻居簇头,计算它们的可信度并排序,选择最优的簇头发送路由请 求;若请求成功就发送数据;否则,选择次优下一跳继续发送请求。

(10)收到路由请求的簇头,计算上一跳节点的可信度,判断是否大于Fit: 是,协助转发数据,按相同方法寻找自己的最优下一跳;否,拒绝转发数据,请 求失败。

(11)直到Sink节点在某参与路由簇头的通信半径D之内,该簇头直接发 送数据给Sink节点,本次路由结束。

仿真与结果分析

应用Matlab仿真软件,本文对提出的UCRG方法进行仿真,将其与基于非 均匀分簇和最小能耗的无线传感器网络路由算法UCMEC(The Routing Algorithm  for WSNs Based on Unequal Clustering and Minimum Energy Consumption)相比较, 并对仿真结果给出了详细的分析。

1初始化仿真模型参数的设置

初始化时,Sink节点计算自己到网络所有节点的通信距离,并找出其中的最 大值dmax和最小值dmin,随后向全网进行广播,广播内容包括:所有节点到Sink 节点通信距离的最大值dmax和最小值dmin、定时上传数据的时间间隔和Sink节 点自身的位置信息。

所有节点收到Sink节点的广播信息后,首先存储广播内容,然后将自己的 身份标识Flag设为0,并根据公式(4)计算自己的竞争半径R,并广播自己的 编号ID、位置信息、竞争半径R、和当前剩余能量E(t)。网络各参数的初始设 置如表2所示:

表2网络初始化参数设置

2监测区域节点布置

图5描述了初始化时,该路由算法的网络仿真模型:在200*200的监测区域 内,随机设置200个节点,图中用空心圆圈表示节点,用星星表示Sink节点。

图6是仿真中某一轮的非均匀分簇的示意图,监测区域被不均等的分成了多 个簇,每个簇内有一个簇头节点和多个成员节点,图中用空心圆圈表示簇内成员 节点,用非空心圆圈表示簇头节点,用绿线表示不同大小的非均匀分布的簇。

由图6可以看出,靠近Sink节点的簇规模明显要小一些,簇内成员节点数 目较少,簇分布更加密集。这主要是因为成簇过程中,本算法在计算节点竞争半 径时,考虑了节点到Sink节点的距离,公式(4)使得距离Sink节点越近的节 点的竞争半径越小,簇内成员越少,这样可以减少靠近Sink节点的簇头进行数 据融合,有更多能量用于数据转发,有利于均衡网络能量的消耗。

3网络总能耗的对比与分析

图7描绘了在设置网络节点数目为200时,不同路由协议对应的无线传感器 网络总能耗变化情况,将UCRG算法与UCMEC算法相比较。

由图7可见,UCRG算法网络剩余总能量小于UCMEC算法,也就是说,本 算法消耗的能量更多,而且随着轮数的增加,能量消耗的差距逐渐增大。这主要 是由于数据传输过程中,在选择最优下一跳节点时,UCMEC算法理想的假设选 择的下一跳节点一定会协助转发数据,簇头直接向下一跳节点发送数据包,并不 需要发送路由请求包;而本文提出的UCRG算法则考虑了下一跳节点拒绝转发 数据的情况,簇头在进行路由请求时,首先发送的不是数据包,而是路由请求包, 如果被拒绝,还要继续向次优下一跳节点发送路由请求包,因此网络消耗的总能 量要高一些。而且,随着轮数的增加,这种能耗差距会不断加大。

4网络存活节点个数的对比与分析

图8描绘了在网络节点初始数目为200情况下,网络存活节点的个数随轮数 的变化情况,依然是UCRG算法与UCMEC算法相比较。

在图8中可以看到,在初始阶段,两种算法的节点存活数目都为200,没有 节点死亡,这说明,两种算法在均衡网络能耗方面都是有效的。但随着轮数的增 加,本UCRG算法中存活的节点数目渐渐开始多于UCMEC算法,即能耗均衡 效果更好。这主要是由于本UCRG算法将前期采用非均匀分簇和后期采用博弈 模型相结合的方法在均衡网络能耗方面是有效的,可以延长网络的生命周期。

5网络生命周期随节点数目的变化情况分析

图9描绘了网络第一个节点死亡的轮数随网络初始节点数目的变化情况,依 然是UCRG算法与UCMEC算法相比较。

在图9中可以看到,随着监测区域内节点数目的变化,本算法第一个节点死 亡所经历的轮数总是多于UCMEC算法的,即UCRG算法的生命周期相对于 UCMEC算法延长了。这说明,本改进算法在均衡网络能耗方面相比于UCMEC 算法有了一定的提高,在延长网络生命周期方面是有效的。

无线传感器网络的节能问题一直是一个难点和重点问题。在无线传感器网络 中,典型的分层路由协议由于簇头的转发任务轻重不同,因而能量消耗不同,容 易造成“能量漏洞”的现象。本文针对无线传感器网络分层路由协议中的能耗问 题和由于能耗不均引起的“能量漏洞”现象,将非均匀分簇的方法和博弈路由的 方法结合起来,对典型分层路由协议进行改进。分簇阶段采用非均匀分簇的思想, 使靠近Sink节点的簇密度更大,以均衡簇头的网络能耗;在数据传输阶段,采 用博弈的思想,寻找下一跳路由时综合考虑了节点的剩余能量、历史转发概率、 上一阶段采取的行为和到Sink节点的距离,在节约能量和网络服务质量之间进 行很好地权衡。仿真结果表明,该算法可以延长网络生命周期。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号