一种应用于电力物联网的无线传感分簇路由簇头选择方法与流程

文档序号:26057881发布日期:2021-07-27 15:36阅读:67来源:国知局
一种应用于电力物联网的无线传感分簇路由簇头选择方法与流程
本发明属于物联网数据传输
技术领域
,具体涉及一种应用于电力物联网的无线传感分簇路由簇头选择方法。
背景技术
:随着无线通信与传感技术的不断发展,各类物物互联的传感网络正逐步走入人们的日常生活。通过无线通信技术,传统用电设备与各类分布式发电装置可以实现灵活互联,并与基站交换监控数据。传统无线传感网络采用分簇路由算法进行数据传输,主要考虑了网络节点的剩余能量与数据传输成本等指标,以最大化网络生命周期为优化目标。然而,对于电力物联网,一些电力设备的监控数据具有较高的可靠性要求,需要有保障地进行数据传输;同时一部分节点直接与配电网相连,不存在节点能量有限的问题。如何综合考虑数据传输可靠性与传感网络生命周期,目前尚缺乏相关研究。传统分簇路由簇头选择算法尚不能较好地满足此类应用场景。技术实现要素:本发明提供了一种应用于电力物联网的无线传感分簇路由簇头选择方法,本发明综合考虑了节点间通信强度、节点剩余能量、节点间通信可靠性等性能,可以在保障数据传输可靠性的同时兼顾传感网络生命周期。本发明通过下述技术方案实现:一种应用于电力物联网的无线传感分簇路由簇头选择方法,包括:步骤1,节点间相互发送测试数据包以计算节点间通信能效值,并建立邻域节点信息表;步骤2,全网选取具有最大邻域节点通信能效值之和的节点作为簇头节点,簇头节点将自身邻域节点参数表广播给全网,各非簇头节点将相关信息记录至簇头信息表;步骤3,簇头节点对邻域节点设置衰减系数后进入休眠状态,全网各节点重新计算邻域节点通信效能之和,并返回执行步骤2,直到获得预设数量的簇头节点;步骤4,各非簇头节点根据簇头信息表选择具有最高路径效能值的簇头节点作为自身簇头进行数据传输。优选的,本发明的步骤s1具体包括以下子步骤:步骤s11,各节点向邻域节点发送测试数据包;步骤s12,各节点根据接收到的测试数据包,计算并记录邻域节点参数表;所述邻域节点参数表包括各邻域节点的id号、信号强度、剩余能量、电池容量;步骤s13,各节点根据邻域节点参数表计算邻域节点与该节点的通信能效函数值。优选的,本发明的步骤s11的测试数据包中包括节点id、节点型号、发送信号能量等级、剩余能量、电池容量、测试数据。优选的,本发明的步骤s13通过下式计算通信能效函数值:fv(i,j)=α1v1(i,j)+α2v2(i,j)+…+αkvk(i,j)αx,vx(i,j)∈[0,1](1)式中,fv(i,j)表示节点i的邻域节点j的通信能效函数;vx(i,j)(x=1,2,…,k)分别表示节点j到节点i的各能效指标;αx(x=1,2,…,k)为对应能效指标的权值。优选的,本发明的步骤s2具体包括以下子步骤:步骤s21,各节点计算所有邻域节点的通信能效函数值之和,记为f;步骤s22,各节点默认将自身作为簇头节点,并向邻域节点广播自身id和f值,记为(idself,fself),若节点接收到来自其他节点的(idother,fother),且满足fother>fself,则将idother节点设为簇头节点,并保存(idother,fother)信息,随后向邻域节点广播(idother,fother);步骤s23,所有节点广播结束后,全网将f值最大的节点作为簇头节点,记为(idmax,fmax);步骤s24,簇头节点将自身邻域节点参数表广播至全网节点,各非簇头节点将相关信息记录进簇头信息表中。优选的,本发明的簇头信息表包括迭代次数、簇头id、簇头f值、传输路径g,路径能效fpath;其中,传输路径g表示该节点与簇头通信时所经历的路径;路径能效fpath为该节点向簇头传输数据时,所有通信路径上的通信能效函数值之积。优选的,本发明的步骤3具体包括以下子步骤:步骤s31,更新簇头数量n=n-1;步骤s32,判断更新后的n是否大于零,如果是则继续执行步骤s33,否则执行步骤s4;步骤s33,簇头节点将所记录的所有邻域节点按照通信能效函数值降序排列,记为fv(id-1),fv(id-2),……,fv(id-m),并按1,β,β2,……,β(m-1)的数列将对应衰减系数发送给相应邻域节点;随后簇头节点进入休眠模式,不再发送任何信息;其中,m表示簇头节点的邻域节点数量,β表示衰减指数;步骤s34,簇头节点的所有邻域节点根据接收到的衰减系数更新自身f值;步骤s35,当m个节点更新自身f值后,返回执行步骤s2,开始下一个簇头节点的选择。优选的,本发明的步骤s34通过下式更新自身f值:fnew(id-1)=(1-1)f(id-1);fnew(id-2)=(1-β)f(id-2);fnew(id-3)=(1-β2)f(id-3);……fnew(id-m)=(1-βm-1)f(id-m);(2)式中,f(id-1),f(id-2),……,f(id-m)分别对应fv(id-1),fv(id-2),……,fv(id-m)的初始f值;fnew(id-1),fnew(id-2),……,fnew(id-m)分别对应fv(id-1),fv(id-2),……,fv(id-m)的更新f值。本发明具有如下的优点和有益效果:1、本发明综合考虑了物联网中节点间通信强度、节点剩余能量、节点间通信可靠性等性能,并统一以通信能效函数值衡量。2、本发明仅需在初始状态下设定协议相关参数并广播给全网节点,不需要单独对物联网中各节点进行协议参数的人工配置。3、本发明将自动选择出通信能效最高的节点作为全网簇头,并让各节点按照具有最高通信能效的路径与簇头节点间进行数据传输。附图说明此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:图1为本发明的方法流程示意图。图2为本发明的传感网络结构示意图。其中虚线代表了节点之间具有可用的无线通信信道。图3为图2所示传感网络中各节点间通信效能函数计算示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。实施例本实施例提出了一种应用于电力物联网的无线传感分簇路由簇头选择方法。本实施例的方法主要由四个阶段组成:(1)节点间通信测试阶段,该阶段中节点间相互发送测试数据包以计算节点间通信能效值,并建立邻域节点信息表;(2)簇头节点竞争阶段,全网选取具有最大邻域节点通信能效值之和的节点作为簇头节点,簇头节点将自身邻域节点参数表广播给全网;(3)算法迭代阶段,簇头节点对邻域节点设置衰减系数后进入休眠状态,全网各节点重新计算邻域节点通信能效值之和,并选取下一个簇头节点;(4)非簇头节点成簇阶段,各非簇头节点根据簇头信息表选择具有最高路径能效值的簇头节点作为自己的簇头。具体如图1所示,本实施例的方法步骤如下:步骤1:设置协议初始参数,包括簇头数量n,节点间通信能效函数fv的权值(α1,α2,…,αk),衰减指数β。节点间通信能效函数fv表达式可表示为:fv=α1v1+α2v2+…+αkvkαx,vx∈[0,1](3)其中,vx为能效指标,αx为相应指标的对应权重,其值满足∑αx=1。衰减指数β大于0小于1,具体数值根据应用场景设定。在图2所示实例中,设置n=2,α1=0.4,α2=0.3,α3=0.3,β=0.8。步骤2:各节点向邻域节点发送测试数据包,测试包中包含发送节点的节点id、节点型号、发送信号能量等级、剩余能量、电池容量、测试数据等信息,该测试数据包用于节点间的通信进行有效性评估。步骤3:各节点根据接收到的邻域节点测试数据包,计算邻域节点的性能参数,形成邻域节点参数表。邻域节点参数表包括各邻域节点的id号、信号强度、剩余能量百分比、电池容量、通信可靠性、节点性质等性能参数。例如,在图2所示实例中,节点id-1根据接收到的节点id-2发来的测试数据包,建立以下邻域节点参数表:节点id信号强度最大信号强度剩余能量电池容量可靠性节点性质id-27.47dbm20.0dbm180mah1000mah0.822蓝牙3.0步骤4:各节点根据邻域节点参数表中的数据,计算每个邻域节点与该节点的通信能效函数值。对于节点i,其邻域节点j的通信能效函数fv(i,j)可表示为:fv(i,j)=α1v1(i,j)+α2v2(i,j)+…+αkvk(i,j)αx,vx(i,j)∈[0,1](4)vx(i,j)为通信有效性指标,以0到1之间的数值表示了节点j到节点i的通信强度、剩余能量、通信可靠性等性能。例如,在图2所示实例中,节点id-2对节点id-1的通信效能函数fv(id-1,id-2)可被定义为:fv(id-1,id-2)=0.4v1(id-1,id-2)+0.3v2(id-1,id-2)+0.3v3(id-1,id-2)(5)其中,v1(id-1,id-2)代表邻域节信号强度占最大信号强度的百分比,v2(id-1,id-2)代表剩余能量占电池容量的百分比,v3(id-1,id-2)代表根据测试数据包所计算得到的可靠性,其具体计算式如下:v3(id-1,id-2)=0.822(8)fv(id-1,id-2)=0.4·0.37+0.3·0.18+0.3·0.82=0.45(9)同理,全网可以计算出节点id-j对节点id-i的通信能效函数值,该值在图3中以id-j到id-i的一个有向箭头与数值表示。步骤5:各节点计算所有邻域节点的通信能效函数值之和,记为f。对于节点i,所有邻域节点的通信能效函数值之和fi计算式如下:例如,在图3实例中,节点id-4的通信能效函数值之和f(id-4)计算式如下:f(id-4)=fv(id-4,id-3)+fv(id-4,id-6)=0.90(11)例如,在图3实例中,各节点的通信能效函数值之和f计算结果如下:节点编号f值id-10.45id-20.96id-31.49id-40.90id-51.59id-61.84id-70.47id-80.59id-90.33步骤6:各节点默认将自身作为簇头节点,并向邻域节点广播自身id值与f值,记为(idself,fself)。若节点接收到来自其他节点的(idother,fother),且满足fother>fself,则将idother节点设为簇头节点,并保存(idother,fother)信息。随后,向邻域节点广播(idother,fother)。步骤7:所有节点广播结束后,全网将f值最大的节点作为簇头节点,记为(idmax,fmax)。随后,簇头节点将自身邻域节点参数表广播至全网节点。各非簇头节点将相关信息记录进簇头信息表中,如对于id=i的节点,簇头信息表如下所示:迭代次数簇头id簇头f值传输路径g路径能效fpath1idmaxfmax(idmax,j),(j,i)f(idmax,j)×f(j,i)……………其中,传输路径g表示该节点与簇头通信时所经历的路径;路径能效fpath为该节点向簇头传输数据时,所有通信路径上的通信能效函数值之积。例如,图3实例中,id-6的通信能效函数值之和f最大,因此将广播被全网选取为簇头节点。而如对于id-2节点,其储存的簇头信息表如下所示迭代次数簇头id簇头f值传输路径g路径能效fpath1id-61.84(id-6,id-5),(id-5,id-3),(id-3,id-2)0.43×0.74×0.41步骤8:更新簇头数量n=n-1。当n大于0时,全网节点进行步骤9;当n=0时,全网节点进行步骤12。图3实例中,n=2-1=1,此时n大于0,全网节点进行步骤9。步骤9:簇头节点将所记录的所有邻域节点fv降序排列,记为fv(id-1),fv(id-2),……,fv(id-m),并按1,β,β2,……,β(m-1)的数列将对应衰减系数发送给相应邻域节点。随后簇头节点进入休眠模式,不再发送任何信息。其中,m表示簇头节点的邻域节点数量。图3实例中,β=0.8,簇头节点id-6向邻域节点发送衰减系数如下表所示:节点编号初始f值衰减系数id-10.450id-20.960id-31.490id-40.900.80id-51.591id-61.84(max)1(休眠)id-70.470.51id-80.590.64id-90.330由于簇头节点之后将进入休眠模式,因此其自身衰减系数为1。步骤10:簇头节点的所有邻域节点根据接收到的衰减系数更新自身f值,具体计算方式如下:fnew(id-1)=(1-1)f(id-1);fnew(id-2)=(1-β)f(id-2);fnew(id-3)=(1-β2)f(id-3);……fnew(id-m)=(1-βm-1)f(id-m);(13)图3实例中,各节点更新后的f值如下表所示:节点编号初始f值衰减系数更新f值id-10.4500.45id-20.9600.96id-31.4901.49id-40.900.800.18id-51.5910id-61.84(max)1(休眠)0id-70.470.510.23id-80.590.640.21id-90.3300.33步骤11:当m个节点更新自身f值后,全网跳转至步骤6,开始下一个簇头节点的选择。在某轮计算过程中,当步骤7的簇头数量n等于0时,全网跳转至步骤12。图3实例中,id-3为更新后的最大f值,因此被选为簇头。而如对于id-2节点,其储存的簇头信息表如下所示:迭代次数簇头id簇头f值传输路径g路径能效fpath1id-61.84(id-6,id-5),(id-5,id-3),(id-3,id-2)0.43×0.74×0.412id-31.49(id-3,id-2)0.41此后,全网更新簇头数量n=1-1=0,因此执行步骤12.步骤12:此时,全网已选出n个簇头节点,记其id号分别为idh1,idh2,……,idhn。全网非簇头节点通过查询自身簇头信息表,选择路径能效最大的的簇头作为自身的簇头进行数据传输。例如,图3实例中,对于id-2节点,其选择id-3簇头节点作为自己的簇头,id-6虽然也为簇头节点,但由于其路径能效值较小未被选为id-2节点的簇头节点。步骤13:唤醒所有休眠的簇头节点,算法结束。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1