一种基于元胞自动机的gaf路由方法

文档序号:7802032阅读:248来源:国知局
一种基于元胞自动机的gaf路由方法
【专利摘要】本发明公开了一种基于元胞自动机的GAF路由方法。本发明的方法通过节点执行元胞自动机模型的状态转换规则自动地担任簇头或进入睡眠状态;网络中被划分的一个虚拟单元格代表一个簇,同一虚拟单元格中的节点通过簇头选举方法产生簇头,其余节点关闭通信模块进入睡眠状态,节约能量消耗;将一个簇看为一个元胞空间单元,同一个虚拟单元格内的节点通过执行统一的状态转换规则,进行独立决策,每个簇之间不需要严格的时钟同步。本发明的方法同完全型簇头选举方法相比,节点无需掌握所在虚拟格中其他节点的地理位置信息,因此节点不必维护大量的全局信息;同随机型簇头选举方法相比,节点无需发送大量的测试信息来竞争簇头。
【专利说明】—种基于元胞自动机的GAF路由方法
【技术领域】
[0001]本发明属于无线通信【技术领域】,具体涉及一种GAF路由方法。
【背景技术】
[0002]GAF(geographical adaptive fidelity)算法是 ad hoc 网络中的一种路由算法,它以节点的地理位置作为分簇的依据,之后GAF算法被引入到无线传感器网络中,加入了节点睡眠机制,成为一种经典的分簇节能路由算法。该算法把被监测区域划分为虚拟单元格,每个传感器节点均匀撒落在相应划入的虚拟格子内,并以地理位置信息作为划分依据。一个周期内,每个虚拟格子内通过簇头选举过程产生一个簇头节点。在传感器网络工作工程中,只有簇头节点保持工作状态,其他同一虚拟格子内的节点均进入睡眠状态,节约能量消耗。
[0003]GAF算法作为一种较新的路由算法,自身存在许多有待改进的不完善之处,主要问题在于=(I)GAF算法中每个虚拟格内的节点需要跟相邻虚拟格内的任意节点保证通信,而四边形的虚拟单元格结构限制了节点和对角边上的节点之间的通信,这样会增加路由跳数而增大能量消耗。近年来以蜂窝形即正六边形的虚拟格形状对无线传感器网络进行区域划分的方法被提出,提高了能量的使用效率,增长了网络生存时间。(2)GAF算法是一种分簇节能路由算法,但在进行簇头选举时没有考虑节点的剩余能量,而是随机地选择簇头,对节点的负载均衡方面的问题没有优化措施,这样可能会导致簇头负担更多的通信和数据处理任务,消耗更多的能量,最终提前死亡。因此,应当使拥有更多剩余能量的节点担任簇头。研究人员提出了 GAF簇头选举改进算法,提出两种簇头选择方法:完全型簇头选择算法与随机型簇头选择算法,改进的簇头选举算法增长了网络生存时间,避免网络分隔。(3)GAF算法中规定节点均匀分布在规则的虚拟格子中,限制了节点的分布,而实际的应用场景当中,节点往往是随机分布或分布很不规则,可能会出现某些虚拟格子中没有节点分布而某些虚拟格子中出现过多节点的情况。

【发明内容】

[0004]针对现有技术存在的上述问题,本发明提出了一种基于元胞自动机的GAF路由方法。
[0005]本发明的技术方案是:一种基于元胞自动机的GAF路由方法,包括如下步骤:
[0006]S1:对无线传感器网络进行虚拟单元格划分,网络中的节点都维护自身的地理位
置信息;
[0007]S2:建立元胞自动机模型,包括元胞空间、元胞邻居模型、元胞的状态集和元胞自动机状态转换规则的确定;
[0008]S3:执行基于元胞自动机的簇头选举方法,选举出簇头节点;
[0009]S4:当节点若收到邻居节点已经成为簇头的信息,则直接进入睡眠状态;同样通过元胞自动机状态转换规则竞争簇头不成功的节点也进入睡眠状态;[0010] S5:当选为簇头的节点设置定时器Ta,代表节点处在活动状态的时间,当Ta超时,所述节点重新加入簇头竞争中,回到发现状态;簇头竞选失败的节点进入睡眠状态,设置定时器Ts,定时器超时后由睡眠状态回到发现状态的节点再次与虚拟单元格内其他节点交换?目息,以确定自己是否能够成为族头。
[0011]进一步的,步骤SI所述的网络中的节点自身的地理位置信息表示方法如下:
[0012]设节点P的位置坐标为(X,y),则沿X轴方向节点所在虚拟单元格的编号Xl。。由公式xloc = (int)xgrid_size计算得出,其中,grid_size为正方形虚拟单元格的边长;沿y轴方向节点所在虚拟单元格的编号Y1。。由公式y1()。= (int)ygrid_size计算得出;节点在网络中所在虚拟单元格编号grid_ID由公式grid_ID = (yloc ? grid_X+xloc)计算得出,其中,grid_X表示网络中沿X轴方向虚拟单元格的数量。
[0013]进一步的,步骤S2所述的建立元胞自动机模型的具体过程如下:
[0014]网络中每个虚拟单元格即为一个元胞空间,在以一个虚拟单元格为单元的元胞空间内,通过不规则元胞自动机邻居元胞的划分方法确定邻居节点:
[0015]节点有睡眠状态、发现状态和活动状态三个状态,用00表示睡眠状态,01表示发现状态,11表示活动状态;
[0016]设t时刻元胞(i,j)的状态为QiJt),其邻居节点状态之和定义为=Σ QiJt),其中某节点的邻居节点是指在该节点单跳通信范围内的节点;
[0017]状态转换规则函数f,即
【权利要求】
1.一种基于元胞自动机的GAF路由方法,包括如下步骤: 51:对无线传感器网络进行虚拟单元格划分,网络中的节点都维护自身的地理位置信息; 52:建立元胞自动机模型,包括元胞空间、元胞邻居模型、元胞的状态集和元胞自动机状态转换规则的确定; 53:执行基于元胞自动机的簇头选择算法,选举出簇头节点; 54:当节点若收到邻居节点已经成为簇头的信息,则直接进入睡眠状态;同样通过元胞自动机状态转换规则竞争簇头不成功的节点也进入睡眠状态; 55:当选为簇头的节点设置定时器Ta,代表节点处在活动状态的时间,当Ta超时,所述节点重新加入簇头竞争中,回到发现状态;簇头竞选失败的节点进入睡眠状态,设置定时器Ts,定时器超时后由睡眠状态回到发现状态的节点再次与虚拟单元格内其他节点交换信息,以确定自己是否能够成为旗头。
2.根据权利要求1所述的基于元胞自动机的GAF路由方法,其特征在于,步骤SI所述的网络中的节点自身的地理位置信息表示方法如下: 设节点P的位置坐标为U,y),则沿X轴方向节点所在虚拟单元格的编号Xl。。由公式Xioc = (int)xgrid_size计算得出,其中,grid_size为正方形虚拟单元格的边长;沿丨轴方向 节点所在虚拟单元格的编号yloc由公式yloc = (int)ygrid_size计算得出;节点在网络中所在虚拟单元格编号grid_ID由公式grid_ID = (yloc ? grid_X+xloc)计算得出,其中,grid_X表示网络中沿X轴方向虚拟单元格的数量。
3.根据权利要求2所述的基于元胞自动机的GAF路由方法,其特征在于,步骤S2所述的建立元胞自动机模型的具体过程如下: 网络中每个虚拟单元格即为一个元胞空间,在以一个虚拟单元格为单元的元胞空间内,通过不规则元胞自动机邻居元胞的划分方法确定邻居节点: 节点有睡眠状态、发现状态和活动状态三个状态,用00表示睡眠状态,01表示发现状态,11表示活动状态; 设t时刻元胞(i,j)的状态为QiJt),其邻居节点状态之和定义为NiJt) =E Qua),其中某节点的邻居节点是指在该节点单跳通信范围内的节点; 状态转换规则函数f,mT =,定义如下: 如果
4.根据权利要求3所述的基于元胞自动机的GAF路由方法,其特征在于,avr_energy定义为
5.根据权利要求2所述的基于元胞自动机的GAF路由方法,其特征在于,S3所述的选举出簇头节点的具体过程如下: 初始状态时,所有节点均处于发现状态,每个节点向邻居元胞节点发送消息通告自己的剩余能量信息,是否为簇头节点,即发送消息M = (Ep, cluster), Ep为节点剩余能量,cluster标志位表示节点是否为簇头结点;节点根据收到的邻居的信息,按照状态规则函数f决定是否能够成为簇头。
【文档编号】H04W84/18GK103957573SQ201410166158
【公开日】2014年7月30日 申请日期:2014年4月24日 优先权日:2014年4月24日
【发明者】于秦, 姜微, 安宁, 冷甦鹏, 毛玉明 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1