一种基于公平性和能耗速率的传感器网络分簇方法与流程

文档序号:18634529发布日期:2019-09-11 22:04阅读:214来源:国知局
一种基于公平性和能耗速率的传感器网络分簇方法与流程

本发明属于无线传感器网络的分簇方法领域,具体涉及到一种基于公平性和能耗速率的能量异构传感器网络分簇方法。



背景技术:

随着信息科技社会的不断进步,人们对于日常生活中信息的采集获取与分析处理的需求越来越强烈,越来越多的场景需要用到微型传感器,在一些场所如森林栖息地的水源监测、智能机器人仓库,以及机场边围栏的防入侵,都部署着传感器网络,由于无线传感器节点体积小、集成度高等特点,且需要经常的传输信息。造成节点经常受到电量的困扰,当节点电量耗尽时,就会死亡。网络中如果存在较多的死亡节点,会极大的影响网络传输的质量,影响网络的生命周期。为了解决传感器节点过早死亡的问题,我们通过分簇的方式去优化网络能量消耗,进而提高网络的生存周期。

传统的无线传感器分簇策略大都基于能量同构的无线传感器网络,即网络中所有节点的初始能量均相同,它更关注数据的到达性,和路由的稳定性,因此常把跳数、中继、传输成功率因素作为优化的方向。而忽略了诸如网络寿命和覆盖率等问题。我们都知道传感器网络的寿命是有限的,为了节省成本当节点能量即将耗尽时,通过添加更多的节点来重进激活传感器网络,而这些重新装备的节点比已经使用的节点有更多的能量,这就在能量方面存在异构性,这种网络的模型也更贴近于实际场景。目前针对能量异构传感器网络的分簇方法大多基于节点的初始能量和剩余能量,在节点剩余能量与能耗速率以及公平性的结合上仍然存在一些欠缺,即簇首的选择过程中,考虑单个节点消耗能量快慢、以及不同类型节点成为簇首的公平性问题,且在网络整体的负载均衡上还有待优化。

针对现有能量异构传感器网络分簇方法中的上述问题,目前的解决方案仍存在着一些问题。



技术实现要素:

有鉴于此,本发明的目的在于提出一种能量异构无线传感器网络分簇方法,使得网络在分簇的过程中更合理的选择簇首,进而有效提高网络中节点的存活时间,降低节点的死亡率,从而提高整个网络的生命稳定周期。在簇间传输阶段,如果基站bs距离传感器网络监测区域较远,采用基于遗传算法的簇首间多跳传输方式往基站bs传输监控信息,进而降低簇首因距离bs较远而造成传输路径上的能量损耗。

基于上述目的本发明提供一种应用于集中式或半分布式能量异构的无线传感器网络分簇方法,包括:

初始化的网络中有n个节点,其中高能节点所占比例为m,α为高能节点多的额外能量与普通节点初始能量的比值。普通节点的初始能量为e0,高能节点初始能量为(1+α)e0。能量异构的无线传感器网络的总能量为n(1-m)e0+nm(1+α)e0=ne0(1+αm)。

初始化网络的信息采集阶段,基站通过广播查询消息adv的方式,向传感器网络广播。收集节点的id、能量、位置等信息。基站在收到信息之后轮询遍历,确保得到所有节点信息。基站收集到所有信息后,保存当前这些节点的信息,并根据各节点的位置坐标建立虚拟拓扑。

节点在接收到广播消息之后,记录下基站的位置信息。然后基站准备运行虚拟拓扑算法。

虚拟拓扑算法采用轮的方式选取簇首,从第一轮开始,开始遍历节点从第1个到第n个。计算当前进行的轮数,并在每个节点成为簇首的概率上考虑节点的剩余能量,计算普通节点成为簇首的概率pnrm:

计算高能节点成为簇首的概率padv为:

其中er为该节点当前r的剩余能量,节点的初始能量为e0,m为高能节点所占比例,α为高能节点能量比普通节点多出的倍数。

进一步地,考虑节点公平性,计算被选中节点的平均剩余能量如下:

为sink遍历节点时,被选中节点i的剩余能量。

为进一步地,引入节点能耗比率:

同时引入节点能耗速率模型e令λ=ecp,即e-ecp,其物理意义表示节点能耗速率对传感器网络的影响呈负指数分布。

进一步地,计算普通节点成为簇首的门限阈值加入被选中节点的剩余平均能量,值为:

计算高能节点成为簇首的门限阈值加入被选中节点的剩余平均能量的倒数,值为:

进一步地,sink在遍历节点时,首先判断该节点是否是高能节点,如果是高能节点,则节点i随机生成(0,1)之间随机数th(i),并与高能节点门限阈值相比较,如果小于该阈值,簇首集就加1,否则非簇首集加1。同时该节点就不属于g”(r)集合,直到这个周期执行完毕为止之前,都会为0,这保证每个节点在过去1/padv内不会成为两次簇首。如果该节点是普通节点,则与普通节点门限阈值相比较,如果小于该阈值,簇首集就加1,否则非簇首集加1。同时该节点不属于g'(r)集合。当一个周期1/pnrm和1/padv执行完毕后,节点的g'(r)ni或g”(r)ni重新设为0,再次属于各自的集合内。

sink判断簇首集数量是否大于最优簇首数,如果大于则跳出循环,进入成簇阶段,最优簇首数根据网络的能耗模型来计算。发射方从相距为d的距离发送lbit的数据,发射方的能量消耗满足如下公式:

etx(l,d)=etx_elec(l)+etx_amp(l,d)

接收方传感器的节点,接收lbit数据所需要的能量为:

erx(l,d)=erx_elec(l)=leelec

上式中,etx(l,d)为发送方发送lbit数据到距离d的接收方所消耗的能量。erx(l,d)为接收方接收lbit数据所消耗的能量。eelec是发送电路每发送1bit所消耗的能量。εfs是自由空间下功率的放大系数,εmp为多路径衰减情况下功率的放大系数。d0为发送方和接收方的距离阈值常数。根据网络中的具体情况而定。当两者距离小于d0时采用自由空间能耗模型,能耗与d的平方成正比;当二者距离大于d0时,则采用能耗较大的多路径衰减模型,能耗与距离的四次方成正比。d0一般根据如下公式计算:

网络中随机部署n个传感器节点,均匀分布在m×m的一个长方形区域。根据网络采用的能量模型,得到平均每一轮每个簇首的能耗如下式:

在m×m的区域里分布着n个节点,设存在k个簇,则平均每个簇有n/k个节点。因为簇首的能耗包括接受簇内成员节点的数据信息,进行融合再将数据转发给基站bs。eda是簇首每融合1bit的数据需要消耗的能量。dtobs是簇首节点到基站的平均距离。

每轮中非簇首节点平均能耗如下:

每个簇的覆盖范围大约为m2/k,假设节点的分布密度为ρ(x,y),可以得到网络中簇内节点到簇首节点的距离的期望值为:

假设分布区域是一个半径为的圆,ρ是关于r和θ的常量,并假设在整个区域中均匀分布,则ρ=(1/m2/k)=k/m2,所以上式修改为:

所以一个簇内非簇首节点能耗为:

每个簇每轮的能耗为:

所以整个网络的能耗为:

对上式求关于k的一阶导数得:

时,可以得到最优的簇首数目kopt,如下式所述:

与此同时,也可以得到最优簇首的比例为:

在大部分情况下,popt属于第二种情况,所以最优簇首比例为:

进一步地,若簇首集大于等于最优簇首数,跳出循环,转入成簇阶段。

在成簇阶段,当节点正式成为簇首之后,向周围广播ch_msg信息,传感器节点可以根据节点功率动态的调整通信半径,所有被广播的非簇首节点根据接收到的信息强弱和相对距离的大小选择加入哪个簇。在这里引入相对距离系数:

其中d(i,bs)为簇首(ch)节点i到基站bs的距离,d(j,i)表示非ch节点j到ch节点i的距离,因为ch节点距离bs的远近影响着其传输能量的损耗,非簇首节点根据相对距离系数加入该簇,完成簇的建立。

进一步地,每个节点将采集到的数据发送给簇首包括监控的数据,还有自身id、位置、剩余能量。簇首对簇中的数据进行融合再传送给sink,如果sink距离传感器网络区域较远,则在虚拟网络拓扑中运行基于遗传算法的簇间多跳传输方法,寻找虚拟簇首与sink间能耗低的传输路径。

进一步地,sink获取每个节点信息,继续下一轮,直到设定的监控时间,输出此时每个节点的能量,统计各类型死亡节点个数。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种基于公平性和能耗速率的传感器网络分簇方法流程图;

图2为本发明提供的一种基于公平性和能耗速率的传感器网络分簇方法模型图;

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明一个实施例的方法流程示意图。如图1所示,本发明提出一种针对能量异构的无线传感器网络分簇方法,该分簇方法实施步骤包括:

s101:初始化网络,信息采集阶段。sink(或bs)获得节点位置、id、能量信息。节点接收到广播消息后,记录下基站位置信息,基站准备运行虚拟拓扑算法;

s102:sink开始遍历节点从1到n,计算当前轮数r_th,并计算普通节点成为簇首概率pnrm、高能节点成为簇首概率padv;

s103:sink遍历节点从1到n,判断该节点是否还有能量,同时计算被选中节点的平均能量和节点的能耗速率模型以及高能门限阈值和普通门限阈值

s104:判断该节点i是否为高能节点,如果是节点生成(0,1)之间随机数th(i)与高能阈值比较,小于就成为簇首,簇首集加1。如果不是就与普通阈值相比。如果簇首数大于预设最优簇首数,则跳出循环,进入成簇阶段;

s105:成簇阶段,节点成为簇首之后,向周围广播消息,同时sink遍历节点判断是否为非簇首节点,如果是计算节点距离簇首的距离和sink的距离,非簇首节点根据二者的相对距离系数选择加入该簇,完成簇的建立;

s106:每个节点将采集到的数据发送给簇首(包括监控的数据,还有自身id、位置、剩余能量),簇首对簇中的数据进行融合再传送给sink。

s107:如果sink距离传感器网络较远,采用基于遗传算法改进的簇间传输方式,将簇首汇集的监控信息以多跳传输的方式传输到sink,sink获取每个节点的信息。

s108:继续下一轮,直到设定的最大轮数,输出此时每个节点的能量,统计各类型死亡节点个数。

在一些实施方式中,所述步骤s101包括:初始化的网络中有n个节点,其中高能节点所占比例为m,α为高能节点多的额外能量与普通节点初始能量的比值。普通节点的初始能量为e0,高能节点初始能量为(1+α)e0,能量异构的无线传感器网络的总能量为n(1-m)e0+nm(1+α)e0=ne0(1+αm)。

初始化网络的信息采集阶段,基站通过广播查询消息adv的方式,向传感器网络广播。收集节点的id、能量、位置等信息。基站在收到信息之后轮询遍历,确保得到所有节点信息。基站收集到所有信息后,保存当前这些节点的信息,并根据各节点的位置坐标建立虚拟拓扑。节点接收到广播消息后,记录下基站位置信息,基站准备运行虚拟拓扑算法;

在一些实施方式中,所述步骤s102包括:虚拟拓扑算法采用轮的方式选取簇首,从第一轮开始,开始遍历节点从第1个到第n个。计算当前进行的轮数,并在每个节点成为簇首的概率上考虑节点的剩余能量,计算普通节点成为簇首的概率pnrm:

计算高能节点成为簇首的概率padv为:

其中er为该节点当前r_th的剩余能量,节点的初始能量为e0,m为高能节点所占比例,α为高能节点能量比普通节点多出的倍数;

在一些实施方式中,所述步骤s103包括:考虑节点公平性,计算被选中节点的平均能量如下:

引入节点能耗比率:

同时引入节点能耗速率模型e,令λ=ecp,即e-ecp,其物理意义表示节点能耗速率对传感器网络的影响呈负指数分布。

计算普通节点成为簇首的门限阈值加入被选中节点的剩余平均能量,值为:

计算高能节点成为簇首的门限阈值加入被选中节点的剩余平均能量的倒数,值为:

在一些实施方式中,所述步骤s104包括:sink在遍历节点时,首先判断该节点是否是高能节点,如果是高能节点,则节点i随机生成(0,1)之间随机数th(i),并与高能节点门限阈值相比较,如果小于该阈值,簇首集就加1,否则就簇首集加1。同时该节点就不属于g”(r)集合,直到这个周期执行完毕为止之前,都会为0,这保证每个节点在过去1/padv内不会成为两次簇首。如果该节点是普通节点,则与普通节点门限阈值相比较,如果小于该阈值,簇首集就加1,否则非簇首集加1。同时该节点不属于g'(r)集合。当一个周期1/pnrm和1/padv执行完毕后,节点的g'(r)ni或g”(r)ni重新设为0,再次属于各自的集合内;

在一些实施方式中,所述步骤s105包括:在成簇阶段,当节点正式成为簇首之后,向周围广播ch_msg信息,传感器节点可以根据节点功率动态的调整通信半径,所有被广播的非簇首节点根据接收到的信息强弱和相对距离的大小选择加入哪个簇。在这里引入相对距离系数:

其中d(i,bs)为簇首(ch)节点i到基站bs的距离,d(j,i)表示非ch节点j到ch节点i的距离。因为ch节点距离bs的远近影响着其传输能量的损耗。非簇首节点根据相对距离系数加入该簇,完成簇的建立;

在一些实施方式中,所述步骤s106包括:每个节点将采集到的数据发送给簇首包括监控的数据,还有自身id、位置、剩余能量。簇首对簇中的数据进行融合再传送给sink,sink获取每个节点信息;

在一些实施方式中,所述步骤s107包括:簇首往sink传递监控信息采用多跳传输的方式进行传递,簇首和基站集合假设表示v={v1,v2...vn,vn+1},用link表示簇首i与簇首j之间是否有链路关系:

在簇间通信的过程中,如果簇首i和簇首j有链路关系,则linkij为1,否则为0。

进一步地,在sink运行基于遗传算法簇间传输策略时,采用十进制整数编码的方式对选出的簇首节点进行编码,设置一定规模的初始种群。计算遗传算法的适应度函数,适应度函数的设计应考虑簇间传输的能耗,根据能耗模型适应度函数公式设计如下:

其中β的值是协调系数,一般情况下取1,可以通过调整值的大小来控制种群的适应度情况。etotal如公式3-7所示,表示基站运行虚拟拓扑算法计算簇首间往基站信息发送、接收所消耗的能量(假设中转节点没有数据融合),其中簇首携带的数据量,半分布式网络中基站可通过成簇后簇首广播的ch_bs_msg信息来获取,集中式网络基站可根据成簇后簇内成员节点数量的大小来模拟计算数据量。在第一轮部署之后节点位置不变,簇首间距离可以确定。

选择操作采用适应度值排序的保留优秀种群个体策略,对每个染色体个体的适应度值从大往小排序,选择适应度值在前面的k位染色体,替代适应度值排在后k位的染色体。交叉操作采用多点交叉的方式,交叉的概率为:

generation为当前进化的代数,max_gen为最大迭代次数,pcmax为初始交叉概率。

变异操作采用随机互换位置的方式,停止操作判断是否满足设定的最大进化代数,不满足继续进行适应度函数的计算,循环往复。满足条件就结束遗传算法整个流程,返回簇首间传输路径排序。

在一些实施方式中,所述步骤s108包括:继续下一轮,直到设定的最大轮数,输出此时每个节点的能量,统计各类型死亡节点个数;

综上所述,本发明提供了一种能量异构的无线传感器分簇策略,在簇首的选择中考虑公平性和节点能耗速率负载均衡因素,修改了高能节点和普通节点成为簇首的概率pnrm和padv,同时引入节点能耗速率模型e(-ecp),修改了节点成为簇首的门限阈值。在建簇阶段,引入了相对距离,在簇间传输阶段,根据传感器网络距离sink较远的场景设计基于遗传算法的簇间传输策略。本发明提供的方法能够降低能量异构传感器网络环境下节点的死亡率,提升网络的负载均衡和生命周期。

公开的示例性实施例,但是应当注公开的示例性实施例,但是应当注意,在不背离权利要求限定的本公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本公开的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1