一种基于地理位置的能量采集无线传感器网络路由算法的制作方法

文档序号:11961918阅读:355来源:国知局
一种基于地理位置的能量采集无线传感器网络路由算法的制作方法与工艺
本发明涉及无线传感网络的研究领域,特别涉及一种基于地理位置的能量采集无线传感器网络路由算法。
背景技术
:GPSR路由协议算法是运用地理位置信息而实现路由的一种算法,它主要依靠贪婪算法来建立路由,转发数据分组的时候,它会在它通信半径范围内的邻居节点当中选一个离目的节点距离最近的节点作为下一跳节点。过程一直这样重复,直到分组到达目的节点或某个最佳位置。当贪婪模式无法进行下去时,即路由节点面对着路由空洞的时候,路由协议会将贪婪模式转换为边界转发模式,利用右手法则沿路由空洞周围传输来解决这个问题。GPSR协议避免了再节点中建立,维护,储存路由表,单纯地依靠直接邻居节点进行路由选择,几乎是一个无状态的协议;其使用接近于最短欧氏距离的路由,数据传送的时间延迟小;只要保证传感器网络的连通性不被损坏,必定可以找到路由线路到达目的地;但是GPSR也具有一些不完善的缺点与不足,贪婪模式下路由路径经历的节点容易变为热点路由节点,容易导致传感器网络能量使用不均衡,过早地结束传感器网络的寿命。另外,GPSR协议最大的不足就是其边界路由转发模式,在该模式下的路由选择具有很大的随意性,这就导致路由的性能与效率大大降低,消耗不必要的能量。虽然无线传感器网络的应用前景看似十分美好,但能量供给方面的缺陷却成为了制约它发展的一个重大问题。正常情况下利用电池对各种各样微型器件进行供电但传统的电池具有一些很难改变的功能缺陷:体积和质量偏大的电池供能我的寿命十分有限,电量耗尽需要反复充电。但实际上,在很多的无线传感器网络的应用中,使用和更换电池,即使是超长寿命的电池,也是不合乎实际的。同时,传感器节点常常被设置在不可回收的地方,另外,更替数以万计电池的工作量和成本也是不可想象的。随着传感器网络日益广泛的分布,其数量变得越来越庞大,在这种状况下我们对传感器网络的效率和寿命就有着更高的要求。因此,除了倚靠着低能耗硬件技术的发展之外,如何降低无线传感器网络节点中的能量损耗,延长网络的有效工作时间将变得十分有意义。技术实现要素:本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于地理位置的能量采集无线传感器网络路由算法,通过待转发节点在路由过程中综合下一跳节点与目的节点的距离、角度以及周边节点密度和剩余能量因素,从而使路由路径最大程度低收敛于最佳路由路径,并且均衡地利用节点能量,加快了路由速度的同时避免了热点路由上的节点过早死亡和网络生存时间缩短。为了达到上述目的,本发明采用以下技术方案:本发明一种基于地理位置的能量采集无线传感器网络路由算法,包括下述步骤:S1、将贪婪算法的单路由路径方式变更为多路由路径方式,让路由传送信息的任务均衡地分配给更多的网络节点去完成;具体包括建立能级划分机制和建立分层自适应机制;S2、采用新型边界路由转发模式,以角度与邻居节点密度为变化因素的选择度量值W,直接决定下一跳的路由节点,边界路由转发模式选择度量值W最大的节点作为下一跳路由中间节点;S3、启动能级机制,当网络开始进行转发的时候,首先启动贪婪模式的第一步,划分出待转发节点通信半径范围内的高能级节点集和低能级节点集,选取高能级节点集中的节点作为下一跳节点的选择目标,低能级的节点不参与考虑范围并排除在外,通过这种能级划分的能量均衡处理方式,让GPSR的贪婪算法路由不再是单路径路由;S4、启动贪婪模式的第二步,从已经过能级划分筛选后的节点集中通过改进后的分层自适应贪婪算法选择下一跳节点,转发中其选择的下一跳节点是根据所有邻居节点中每个节点自身的参数度量值M来决定,首先计算出待转发节点邻居节点中每个节点度量值M的大小,通过比较M数值大小,选取M数值最小的那个节点作为下一跳中间节点,M值分别由距离,角度,邻居节点密度以及节点剩余能量四个考虑因素所决定的参数组成;S5、当贪婪失败后,进入边界路由转发算法进行下一跳节点的选择,当在上述贪婪模式的情况下选择不到下一跳节点时,即当前待转发节点的通信半径范围内节点与目的节点的距离比自身到目的节点的距离都大时,路由转发进入边界路由转发模式,边界路由转发模式也是通过计算和判断待转发节点周边邻居节点的度量值W来选择下一跳中间路由节点,W值分别由距离,角度与邻居节点密度三个考虑因素所决定的参数组成。作为优选的技术方案,在步骤S1之前,还包括下述步骤:S0、在GPSR路由协议中加入能量采集机制,具体为:在传感器网络节点的电池硬件当中加入太阳能采集板,通过太阳能采集板为传感器网络中的节点提供可持续性的能量。作为优选的技术方案,步骤S1中,采用对候选节点进行能量划分的方法实现节点能量的均衡利用,具体为:S11、建立能级划分机制,在贪婪模式下,将决策节点通信半径范围内的节点集进行能级划分,能级划分机制的具体含义包括:计算出这个节点集的平均能量,把高于平均能量左右的节点命名为高能级节点,表示它们的能量剩余情况比另外那些节点更好,把低于平均能量左右的另外那些节点命名为低能级节点,表示它们的能量剩余情况比高能级节点更差;同时在选择下一跳节点时,优先考虑高能级的节点集而让低能级的节点适当休息,使得能量在节点间均衡分配;S12、建立分层自适应机制,即在不同时期自适应地给予下一跳节点的距离、角度以及邻居节点密度因素不同的权重系数,当在网络中因能量耗尽而进入休眠的节点的数量未有达到网络中总数量的Β倍时,贪婪算法增加角度参数考虑;当在网络中因能量耗尽而进入休眠的节点的数量达到网络中总数量的Β倍时,贪婪算法同时增加角度和邻居节点密度参数考虑,避免在路由过程中路由路径的偏转角增大以及让路由路径尽量选择在节点分布密度较高的区域,从而使贪婪模式下的贪婪路由路径最大程度地接近于最佳路由路径;Β的取值范围在[0,1];S13、在贪婪算法选择路由中间节点中同时加入剩余能量参数的考虑,让剩余能量较多的节点可以得到优先的转发考虑,从而做到进一步的能量均衡利用。作为优选的技术方案,步骤S11中,当节点的能量Ei满足公式:Ei>=ɑE那么这些节点就成为高能级节点,满足能级划分为候选节点的条件,式中,Ei为节点自身当时的能量,E为节点开始时满额的能量,ɑ为能量系数;划分的候选节点集Ns通过以下集合表示:Ns={Ni|disNi<dispresent,Ei>ɑE}式中,disNi表示候选节点与目的节点的距离,dispresent表示当前节点与目的节点的距离。作为优选的技术方案,步骤S12中,所述分层自适应机制包括下述两种情况:(1)当网络现存节点数目Na满足下述公式:Na>=(1-ΒN)此时贪婪算法为第一层模式,贪婪算法中只增加角度参数考虑;当网络现存节点数目Na满足下述公式,Na<(1-ΒN)此时贪婪算法为第二层模式,贪婪算法中增加角度和邻居节点密度参数考虑。作为优选的技术方案,步骤S3中,启动贪婪模式第一步的具体步骤为:S31、当前待转发节点会将其通信半径范围内离目的节点距离比自身近的节点进行能级划分,其中ɑ为能级系数,ɑ在(0,1]中取值,并计算出待转发节点邻居节点的平均能量值E,E计算公式如下:E=Σi=1nEin]]>其中,Ei为第n份邻居节点的能量;S32、计算出平均能级后,再依次将邻居节点自身的能量与ɑE比较,大于ɑE的是高能级节点集,代表着这部份节点能量剩余充足;小于或等于ɑE的成为低能级节点,代表着这部分节点正被过度使用,不适宜继续高频率使用;能级系数ɑ是一个大于0小于1的加权系数,随着待转发节点的邻居节点密度增大而增大,假设在边长长度为L的正方形区域分布着有N个节点,则可以计算出整个网络的平均节点密度D1,式子如下:D1=NL2]]>再计算出邻居节点密度D2,式子如下:D2=kπR2]]>能级系数的ɑ选取值可按下式进行选取:a=0.8D2>D10.7D2=D10.6D2<D1.]]>作为优选的技术方案,步骤S4中,启动贪婪模式第二步的具体步骤为:S41、当网络现存节点数Na大于(1-Β)N时,度量值M大小的计算公式如下:M=(g1dd0+g2Θ2π)1Ei]]>式中,g1,g2,分别是基于距离、角度的转发模式加权系数,d是备选节点到目的节点的直线距离,d0是待转发节点到目的节点的直线距离,Θ是备选节点与目的节点连线的偏转角,如图Θ1,n是邻居节点数量,N是网络中节点的总数量,Ei是节点自身的剩余能量;S42、当网络现存节点数Na小于(1-Β)N时,度量值M大小的计算公式如下:M=(g1dd0+g2Θ2π+g3(1-nN))1Ei]]>式中,g1,g2,g3分别是基于距离、角度,邻居节点密度的贪婪转发模式加权系数,d是备选节点到目的节点的直线距离,d0是待转发节点到目的节点的直线距离,Θ是备选节点与目的节点连线的偏转角,如图Θ1,n是邻居节点数量,N是网络中节点的总数量,Ei是节点自身的剩余能量;S43、求出偏转角,设节点x坐标为(x1,x2),节点y坐标为(y1,y2),目的节点D坐标为(D1,D2)则节点x与目的节点D的距离d0为如下:d0=(x1-D1)2+(x2-D2)2]]>节点y到直线XD的距离d1计算如下式:d1|(D2-x2)y1+(x1-D1)y2+(d1-x1)(x2-x1)|d0]]>因此可得偏转角:Θ=arcsind1d.]]>作为优选的技术方案,步骤S5中,W的值通过下述公式计算:W=d0d+∠XNiG∠Ni+1NiG+nN]]>上式中,d是备选节点到目的节点的直线距离,d0是待转发节点到目的节点的直线距离,Ni为待转发节点,G为目的节点,n是邻居节点数量,N是网络中节点的总数量,X为Ni的通信半径圆与和NiG连线的半径圆所成的交点;计算出每个邻居节点Ni+1对应的度量值W,选取度量值W最大的节点作为下一跳周边转发节点。本发明与现有技术相比,具有如下优点和有益效果:1、本发明改进了现有技术中利用一个度量值选取下一跳节点方案时出现的算法流程设计缺陷,这些缺陷会导致协议一进入边界路由转发算法过程的时候就会陷入两个节点不断相互转发的死循环,本发明很好地解决了这个问题并且让整个流程得以畅顺地进行。2、本发明在在贪婪算法模式下增加了能量划分机制,贪婪算法的单路径路由特点很容易让某条路由路径成为热点路由,当每次数据传输在源节点和目的节点的地理位置信息相差无几的情况下,这条路由路径就成为了每次路由经过的路径。这样很容易导致部分节点能量过早耗尽而造成传感器网络寿命提早结束。本发明在贪婪模式下将下一跳备选节点进行了能级划分,对能量剩余情况较好的节点作为新的一个备选节点集,让能量剩余较低的节点进行“轮休”,从而达到了节点使用能量均衡的目的。与此同时,本发明改进后的能量感知型改进后的GPSR在贪婪算法的选择过程中加入了节点剩余能量参数的考虑,贪婪节点的能量储备情况越充足,它就越有机会成为贪婪的下一跳转发节点。3、本发明将贪婪算法优化为新型的分层自适应贪婪算法,GPSR路由协议的贪婪算法具有较好的优越性能,但是遇到某些情况,GPSR最大半径传输方式的贪婪算法模式有着一定程度上的局限性,其贪婪路由路径往往不是最佳的节点路由路径。经过改进后的GPSR,在两个不同的网络节点剩余情况下,分两层情况运行两个不同的贪婪算法。在现存网络节点数Na≥(1-ΒN),贪婪算法只考虑距离和角度因素,在现存网络节点数Na<(1-ΒN),贪婪算法考虑距离和角度因素的同时增加了邻居节点密度因素的考虑。其贪婪算法模式下的贪婪路径常常是最佳路由路径或者很大程度收敛于最佳路由路径,相对之下,其性能得到了一定的提升。4、本发明优化改进了边界路由转发模式,解决了原GPSR协议边界转发模式下的缺陷,GPSR协议边界路由转发上利用右手法则走出路由空洞,其路由路径的选择具有很大的随意性,导致路由在此模式下的传输时间,能量消耗等各方面性能不佳,因此边界转发模式是GPSR协议的最大的缺陷。通过观察,发现了协议遇到路由空洞并走出路由空洞时距离、角度、邻居节点密度因素的细致变化,提出利用距离、角度、邻居节点密度的变化去走出空洞,并通过详细的参数整合构成一种全新改进后的GPSR边界路由算法,从而很大程度地减少了边界路由转发的传输时间,能量损耗,提高了投包率和走出空洞的成功率。附图说明图1是本发明算法流程图;图2是本发明能量均衡机制的改进思路示意图;图3是本发明贪婪算法设计的改进思路示意图;图4是本发明边界路由转发算法改进思路示意图;图5是本发明改进后的GPSR贪婪参数分析图;图6是本发明改进后的GPSR边界路由算法角度参数分析图。具体实施方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。实施例如图1所示,本实施例基于地理位置的能量采集无线传感器网络路由算法包括下述步骤:1)改进的GPSR协议贪婪模式的改进思路与设计方案如何做到让节点的能量使用显得更均衡合理,延长网络的使用寿命呢?显然,要把贪婪算法的单路由路径方式变更为多路由路径方式,让路由传送信息的任务均衡地分配给更多的网络节点去完成,而不是由极少部分的热点路由节点一力承担。这里有个很直接的想法:当一部分节点在过度投入使用能量储存与其他节点不断拉大差距的时候,要适当地进行休息,当一部分节点在使用情况较少,过于空闲的时候,要适当地增加其路由工作任务。这样,就可以让路由的路径更多样化,使贪婪算法的单路由路径方式从而变为多路由路径了,而且还是基于能量层面考虑的多路由路径贪婪方式。因此,本发明决定采用对候选节点进行能级划分的方法来实现节点能量的均衡利用。1.1)能级机制如图2所示,能级划分机制,顾名思义就是按能量的大小等级进行分类区别。在贪婪模式下,将决策节点通信半径范围内的节点集进行能级划分机制。能级机制的具体含义包括:计算出这个节点集的平均能量,把高于平均能量左右的节点命名为高能级节点,表示它们的能量剩余情况比另外那些节点更好,把低于平均能量左右的另外那些节点命名为低能级节点,表示它们的能量剩余情况比高能级节点更差。同时在选择下一跳节点时,优先考虑高能级的节点集而让低能级的节点适当休息,达到了能量分配使用均衡的目的。其中,当节点的能量Ei满足公式(1)Ei>=ɑE(1)那么这些节点就成为高能级节点,满足能级划分为候选节点的条件。(1)式中,Ei为节点自身当时的能量,E为节点开始时满额的能量。划分的候选节点集Ns可以以下集合表示:Ns={Ni|disNi<dispresent,Ei>ɑE}(2)(2)式中,disNi表示候选节点与目的节点的距离,dispresent表示当前节点与目的节点的距离。能级划分让路由的可使用节点数量减少,人为地降低了可用节点分布于区域中的密度,使路由空洞情况的出现不断增多。当路由空洞增多时,反而会让路由路径更加崎岖曲折,增加了无谓的兜路和绕路情况,使整个网络的能量消耗加重,得不偿失。因此,在网络中因能量耗尽而进入休眠的节点的数量达到网络中总数量的Β倍时,应当停止进行能量划分方案.Β的取值范围在[0,1],一般情况下,Β可取过往的经验值0.2。1.2)分层自适应算法方案GPSR的最大半径方式贪婪算法选择的路由路径效果通常都是不佳的,还有值得优化的空间。基于机会转发原理改进的GPSR算法提出,在贪婪算法过程中增加角度和邻居节点密度的参数,从而进一步优化GPSR贪婪算法选择路由路径不佳的这个问题。但是,其增加的角度、邻居节点密度这些因素在算法考虑上过于笼统,令优化的效果不明显。因此,本发明提出了新的一种分层考虑方案,即在不同时期自适应地给予下一跳节点的距离、角度以及邻居节点密度因素不同的权重系数,从而进一步优化贪婪算法。既然知道了贪婪算法路由路径远离最佳路由路径的原因,那么就可以在贪婪算法选择路由节点的过程中适当地加入这些因素的参数考虑。当在网络中因能量耗尽而进入休眠的节点的数量未有达到网络中总数量的Β倍时,贪婪算法应增加角度参数考虑。当在网络中因能量耗尽而进入休眠的节点的数量达到网络中总数量的Β倍时,贪婪算法应同时增加角度和邻居节点密度参数考虑,即尽量避免在路由过程中路由路径的偏转角增大以及让路由路径尽量选择在节点分布密度较高的区域,从而使贪婪模式下的贪婪路由路径最大程度地接近于最佳路由路径。同能级划分的Β值一样,Β的取值范围在[0,1],一般情况下,Β可取过往的经验值0.2。所提出的分层自适应方案包括下面两种情况:当网络现存节点数目Na满足(3)Na>=(1-ΒN)(3)此时贪婪算法为第一层模式,贪婪算法中只增加角度参数考虑。Na<(1-ΒN)(4)当网络现存节点数目Na满足(4),此时贪婪算法为第二层模式,贪婪算法中增加角度和邻居节点密度参数考虑。1.3)能量感知算法方案与此同时,贪婪算法在选择路由路径的过程中并没有在节点剩余能量方面进行考虑,因此可以在贪婪算法选择路由中间节点中同时加入剩余能量参数的考虑,让剩余能量较多的节点可以得到优先的转发考虑,从而做到进一步的能量均衡利用,如图3所示。2)改进GPSR协议边界路由转发算法的改进思路与设计方案若要解决边界路由算法右手定则选择的路由路径冗余低效的这个问题,显而易见地,就要对右手法则进行优化或者采取其他更加优越的边界路由转发的算法。经过观察,为了让路由路径可以绕出空洞而又使路径接近于数据分组传输的目的地,发现有另外的两个重要参考因素:(1)偏转角,当在边界路由转发模式下选择的路由路径偏转角越小,其路由路径越容易导向目的地。(2)邻居节点密度,当转发的下一跳节点的邻居节点密度越大的时候,其绕出空洞的成功率总是越高的。因此,提出了一种新型的边界路由转发的算法,即以角度与邻居节点密度为变化因素的选择度量值W,直接决定下一跳的路由节点。边界路由转发模式选择度量值W最大的节点作为下一跳路由中间节点。因为路由空洞的存在,在边界路由转发模式下距离方面的因素在决策时显得不那么重要,反而角度和邻居节点密度因素比较重要,选择好的角度因素可以保证路由走出空洞而又大大地减少了不必要的路径,选择好的论据节点密度情况可以保证走出空洞的成功率。与此同时,在边界路由转发模式下,将不再考虑能量均衡的问题,这是因为在遇到空洞时的该模式下,可以走出空洞继而到达目的节点的路径数量实在不多,如果再强加以能量因素作为选择条件的话,只会让可选择路由的节点进一步减少,很可能会导致路由最终失败,如图4所示。3)启动能级机制,当网络开始进行转发的时候,改进的GPSR协议首先启动贪婪转发模式的第一步。首先当前待转发节点会将其通信半径范围内离目的节点距离比自身近的节点进行能级划分,其中ɑ为能级系数,ɑ在(0,1]中取值。首先计算出待转发节点邻居节点的平均能量值E,E计算公式如下:E=Σi=1nEin---(5)]]>(Ei为第n份邻居节点的能量)计算出平均能级后,再依次将邻居节点自身的能量与ɑE比较,大于ɑE的是高能级节点集,代表着这部份节点能量剩余充足。小于或等于ɑE的成为低能级节点,代表着这部分节点正被过度使用,能量剩余情况堪忧,不适宜继续高频率使用。能级系数ɑ是一个大于0小于1的加权系数,随着待转发节点的邻居节点密度增大而增大。假设在边长长度为L的正方形区域分布着有N个节点,显然可以计算出整个网络的平均节点密度D1,式子如下:D1=NL2---(6)]]>再计算出邻居节点密度D2,式子如下:D2=kπR2---(7)]]>能级系数的ɑ选取值可按下式进行选取:a=0.8D2>D10.7D2=D10.6D2<D1---(8)]]>根据上述的流程,就可以划分出待转发节点通信半径范围内的高能级节点集和低能级节点集,我们选取高能级节点集中的节点作为下一跳节点的选择目标,低能级的节点不参与考虑范围并排除在外。通过这种能级划分的能量均衡算法处理,让GPSR的贪婪算法路由不再是单路径路由,从而让节点能量使用更加均衡合理。4)贪婪模式的第二步,从已经过能级划分筛选后的节点集中通过改进后的分层自适应贪婪算法选择下一跳节点。转发中其选择的下一跳节点是根据所有邻居节点中每个节点自身的参数度量值M来决定,首先计算出待转发节点邻居节点中每个节点度量值M的大小,通过比较M数值大小,选取M数值最小的那个节点作为下一跳中间节点。M值分别由距离,角度,邻居节点密度以及节点剩余能量四个考虑因素所决定的参数组成。当网络现存节点数Na大于(1-Β)N时,度量值M大小的计算公式如下:M=(g1dd0+g2Θ2π)1Ei---(9)]]>(1-9)式中,g1,g2,分别是基于距离,角度的转发模式加权系数,在不同的网络环境中加权系数的取值一般不同。在一般情况下加权系数的取值如下:g1=0.8,g2=0.2。当网络现存节点数Na小于(1-Β)N时,度量值M大小的计算公式如下:M=(g1dd0+g2Θ2π+g3(1-nN))1Ei---(10)]]>(10)式中,g1,g2,g3分别是基于距离,角度,邻居节点密度的贪婪转发模式加权系数,在一般情况下加权系数的取值如下:g1=0.8,g2=0.1,g3=0.1。在(9)和(10)式中,如图5所示,d是备选节点到目的节点的直线距离,d0是待转发节点到目的节点的直线距离,Θ是备选节点与目的节点连线的偏转角,如图Θ1,n是邻居节点数量,N是网络中节点的总数量,Ei是节点自身的剩余能量。在图5中,设节点x坐标为(x1,x2),节点y坐标为(y1,y2),目的节点D坐标为(D1,D2)则节点x与目的节点D的距离d0为如下:d0=(x1-D1)2+(x2-D2)2---(11)]]>节点y到直线XD的距离d1计算如下式:d1=|(D2-x2)y1+(x1-D1)y2+(d1-x1)(x2-x1)|d0---(12)]]>因此可得偏转角:Θ=arcsind1d.---(13)]]>5)当贪婪失败后,进入改进的GPSR协议边界路由转发算法进行下一跳节点的选择。当在上述贪婪模式的情况下选择不到下一跳节点时,即当前待转发节点的通信半径范围内节点与目的节点的距离比自身到目的节点的距离都大时,路由转发进入边界路由转发模式。同上述贪婪模式的情况有点相似,边界路由转发模式也是通过计算和判断待转发节点周边邻居节点的度量值W来选择下一跳中间路由节点,W值分别由距离,角度与邻居节点密度三个考虑因素所决定的参数组成。W值算式如下:W=d0d+∠XNiG∠Ni+1NiG+nN---(14)]]>上式中,d0,d,n,N的定义与贪婪模式中的定义相同。Ni为待转发节点,G为目的节点,X为Ni的通信半径圆与和NiG连线的半径圆所成的交点,∠XNiG、∠Ni+1NiG的定义如图6所示。计算出每个邻居节点Ni+1对应的度量值W,选取度量值W最大的节点作为下一跳周边转发节点。本实施例综合了距离因素、角度因素、邻居节点密度因素、能量消耗情况因素的考虑情况,选择最佳的路由路径的下一跳中间节点,从而使改进后的GPSR协议在端到端之间的延迟时间,投包率,能量综合损耗等各方面上有着显而易见的优化效果。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1