一种考虑组网稳定性的认知无线传感器网络分簇方法与流程

文档序号:19011086发布日期:2019-10-30 00:25阅读:187来源:国知局
一种考虑组网稳定性的认知无线传感器网络分簇方法与流程

本发明涉及认知无线传感器网络技术,具体地说是一种针对认知无线传感器网络的分簇方法。



背景技术:

无线传感器网络是由大规模、低成本的传感器节点自组织形成的短距离通信网络技术,现已广泛应用于环境监测、军事监控和工业自动化领域。随着无线技术的快速增长,无线传感器网络和wifi,蓝牙,等无线技术都工作在免授权的工业、科学及医疗频段(ism2.4ghz),这使得该免授权频段变得非常拥挤。无线信道的开放共享特性使得无线传感器网络会受到其他无线技术干扰,严重影响了网络的传输性能。

认知无线传感器网络将认知无线电技术引入到无线传感器网络中,可以实现传感器节点对高质量授权频段的动态机会式接入,为上述问题提供了解决思路。频谱动态性导致认知无线传感器网络的拓扑频繁变化,网络开销巨大。分簇管理能够有效控制频谱动态性引发的开销问题,因此认知无线传感器网络的分簇协议设计近年来成为该领域的研究热点。

认知无线传感器网络的分簇协议除了需要考虑传统无线传感器网络的总能耗或网络寿命指标,还需要考虑频谱的动态变化。现有的认知无线传感器网络分簇协议没有考虑簇内公共可用信道备份问题。当簇内公共可用信道被占用且无备用公共可用信道时,网络需要重新分簇。若频谱变化快,则导致网络拓扑变化频繁,分簇频率过高,通信开销加剧。



技术实现要素:

针对传统认知无线传感器网络分簇协议所存在的分簇频率高、开销大的问题,本发明提出一种考虑组网稳定性的认知无线传感器网络分簇方法。该分簇方法充分考虑网络能量和频谱的动态变化问题,以簇内公共可用信道数作为节点权重的计算元素之一,可以降低拓扑结构变化频率,提高网络的稳定性。

本发明为实现上述目的所采用的技术方案是:一种考虑组网稳定性的认知无线传感器网络分簇方法,包括以下步骤:

初始化:节点检测自身的能量和频谱的信息,节点之间进行信息交互;

构建簇结构:通过构建二分图并选择簇首,以簇首为中心构建簇。

所述初始化执行以下步骤:

步骤1.1,剩余能量检测:每个节点cri检测自己的剩余能量ei;

步骤1.2,频谱感知:每个节点cri检测未被主用户占用的可用信道的集合ci;

步骤1.3,广播信息:每个节点cri广播已检测到的剩余能量ei和可用信道ci的信息;节点cri将所有接收到信息的源节点作为邻居节点,令ni表示节点cri的邻居节点集合。

所述构建簇结构执行以下步骤:

步骤2.1:网络中存在n个节点,所有节点的状态均为未分簇;

步骤2.2:节点cri的邻居节点集合ni存在numi个非空子集其中,|ni|代表集合ni的元素个数;yi,j表示xi,j中节点与节点cri的所有公共可用信道集,zi,j表示xi,j中节点与yi,j中所有公共可用信道相连的边的集合,j=1,2,…,numi;每个节点cri根据xi,j,yi,j以及zi,j构建二分图gi,j=(xi,j,yi,j,zi,j);

步骤2.3:从节点cri的所有二分图gi,j中找出最大二分图gi,j*,令gi=(xi,yi,zi)=gi,j*;计算节点cri在集合xi中的能量占比和权重ej为节点crj的剩余能量,集合xi为节点cri的最大二分图中邻居节点子集,集合yi为节点cri的最大二分图中公共可用信道集,集合zi为xi中节点与yi中所有公共可用信道相连的边的集合;

步骤2.4:权重最大且状态为未分簇的节点构成备选簇首集合maxw={ch1,ch2,……,chm},m为权重最大的节点个数;1≤m≤n;

步骤2.5:若集合maxw中存在某一个节点chi是集合maxw中其它节点chj的邻居节点,即为节点crj的邻居节点,则执行步骤2.6;若不存在,则执行步骤2.7;

步骤2.6:若则将chj从集合maxw中剔除,否则将chi从集合maxw中剔除;分别为节点chi的最大二分图中公共可用信道集和节点chj的最大二分图中公共可用信道集;执行步骤2.5;

步骤2.7:将集合maxw中所有节点设置为簇首,并标记其状态为已分簇;

步骤2.8:如果网络中所有节点的状态均为已分簇,则执行步骤2.12,否则,执行步骤2.9;

步骤2.9:网络中存在状态为未分簇的节点cri,(1)如果其邻居节点集合ni中存在簇首ch使得cri∈xch,xch为节点ch的最大二分图中邻居节点子集,则节点cri加入到该簇首所在簇,并标记其状态为已分簇;(2)如果其邻居节点集合ni为空集,则设置节点cri为簇首,并标记其状态为已分簇;执行步骤2.10;

步骤2.10:如果网络中所有节点的状态均为已分簇,则执行步骤2.12,否则,执行步骤2.11;

步骤2.11:从状态为未分簇的节点cri的邻居节点集合中剔出状态为已分簇的邻居节点,执行步骤2.2;

步骤2.12:分簇过程结束。

当网络中的信道状态发生变化,若某一个簇的簇内公共可用信道全部被主用户占用时,网络重新分簇:依次返回初始化、构建簇结构步骤。

本发明提出的一种考虑组网稳定性的认知无线传感器网络分簇方法,该协议在节点权重设计的过程中充分考虑簇内公共可用信道备份的问题,可以提高网络的稳定性。具体表现在:

1.本发明中簇内公共可用信道数量作为构建二分图的元素之一;

2.本发明提出的节点权重的计算方法,根据重新分簇条件,重点考虑簇内公共可用信道数量,降低网络拓扑结构变化频率。

附图说明

图1a为认知无线传感器网络中节点间拓扑结构示意图;

图1b为节点d的邻居节点与可用信道关系示意图;

图2a为构建簇结构流程图;

图2b为节点d的最大二分图;

图3为认知无线传感器网络中节点的邻居节点集合及检测到的可用信道集合列表;

图4a为认知无线传感器网络中节点二分图的最大匹配及节点权重列表;

图4b为认知无线传感器网络节点分簇过程数据更新表一;

图4c为认知无线传感器网络节点分簇过程数据更新表二;

图4d为认知无线传感器网络节点分簇过程数据更新表三;

图4e为认知无线传感器网络节点分簇过程数据更新表四;

图4f为认知无线传感器网络节点分簇过程数据更新表五;

图4g为认知无线传感器网络节点分簇过程数据更新表六;

图4h为认知无线传感器网络节点分簇过程数据更新表七;

图4i为认知无线传感器网络节点分簇过程数据更新表八。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述。

本发明充分考虑认知无线传感器网络中单个节点的能量限制以及频谱动态变化对网络稳定性的影响,提出一种考虑组网稳定性的认知无线传感器网络分簇方法。本发明包括初始化,构建簇结构,判断是否需要重新分簇三个阶段。

一种考虑组网稳定性的认知无线传感器网络分簇方法,认知无线传感器节点在初始化阶段执行以下步骤:

步骤1.1,剩余能量检测:每个节点cri检测自己的剩余能量ei,执行步骤1.2;

步骤1.2,频谱感知:每个节点cri检测未被主用户占用的可用信道的集合ci,执行步骤1.3;

步骤1.3,广播信息:每个节点cri广播已检测到的剩余能量ei和可用信道ci的信息。节点cri将所有接收到信息的源节点作为邻居节点,令ni表示节点cri的邻居节点集合。

分簇过程执行以下步骤:

步骤2.1:网络中存在n个节点,所有节点的状态均为“未分簇”,执行步骤2.2;

步骤2.2:节点cri的邻居节点集合ni存在个非空子集其中|a|代表集合a的元素个数。yi,j表示xi,j中节点与节点cri的所有公共可用信道集,zi,j表示xi,j中节点与yi,j中所有公共可用信道相连的边的集合,j=1,2,…,numi。每个节点cri根据xi,j,yi,j以及zi,j构建二分图gi,j=(xi,j,yi,j,zi,j),j=1,2,…,numi,执行步骤2.3;

步骤2.3:从节点cri的所有二分图gi,j中找出最大二分图gi,j*,令gi=(xi,yi,zi)=gi,j*。计算节点cri在集合xi中的能量占比和权重执行步骤2.4;

步骤2.4:权重最大且状态为“未分簇”的节点构成备选簇首集合maxw={ch1,ch2,……,chm},m为权重最大的节点个数(1≤m≤n),执行步骤2.5;

步骤2.5:若集合maxw中存在某一个节点chi是集合maxw中其它节点chj的邻居节点,即则执行步骤2.6;若不存在,则执行步骤2.7;

步骤2.6:若则将chj从集合maxw中剔除,否则将chi从集合maxw中剔除。执行步骤2.5;

步骤2.7:将集合maxw中所有节点设置为簇首,并标记其状态为“已分簇”,执行步骤2.8;

步骤2.8:如果网络中所有节点的状态均为“已分簇”,则执行步骤2.12,否则,执行步骤2.9;

步骤2.9:网络中存在状态为“未分簇”的节点cri,(1)如果其邻居节点集合ni中存在簇首ch使得cri∈xch,则节点cri加入到该簇首所在簇,并标记其状态为“已分簇”;(2)如果其邻居节点集合ni为空集,则设置节点cri为簇首,并标记其状态为“已分簇”;执行步骤2.10;

步骤2.10:如果网络中所有节点的状态均为“已分簇”,则执行步骤2.12,否则,执行步骤2.11;

步骤2.11:从状态为“未分簇”的节点cri的邻居节点集合中剔出状态为“已分簇”的邻居节点,执行步骤2.2;

步骤2.12:分簇过程结束。

重新分簇条件设定如下:

当主用户活动时,网络中的信道状态会发生变化。当网络中某一个簇的公共可用信道全部被主用户占用时,网络重新分簇。

1.初始化

网络初始化过程中,每个节点都要检测自身的能量和频谱的信息,节点之间要进行信息交互。

举例说明。假设网络中存在12个节点,节点间的拓扑结构如图1a所示,每个节点的邻居及节点检测到的可用信道情况如图3所示,所有节点能量相同。以节点d为例,其中nd={a,c,e,g},ca={1,2,3,4,5,6,7,10},cc={1,2,3,4,6,8},cd={1,2,5,10},ce={1,2,3,4,5,6,7,10},cg={1,2,5,6,8},如图1b所示。

2.构建簇结构

簇结构建立过程中,首先构建二分图并计算节点权重,选择权重最大的节点成为簇首,能够有效的缓解由频谱动态性引起的网络拓扑结构的变化。建立簇包括选择权重最大的节点为簇首,以簇首为中心构建簇,标记已分簇节点,更新未分簇节点权重,重复分簇过程5个部分。构建簇结构流程图如图2a所示。

举例说明。以节点d为例,构建节点d的二分图gd,j,从中选择最大二分图gd,j*,即令gd=(xd,yd,zd)=gd,j*则xd={a,e,g},yd={1,2,5},节点权重ωd=3*3+0.25=9.25,如图2b所示。则所有节点计算权重之后,可得图4a。

以图4a中节点为例。所有节点中,节点b的权重最大,maxw={b};maxw集合中只有1个节点;b节点成为簇首,标记“已分簇”;节点a和节点e的邻居节点中包括b节点,且a∈xb,e∈xb,则节点a和节点e加入簇首b所在簇并标记“已分簇”;存在状态为“未分簇”的节点;更新状态为“未分簇”的节点的邻居节点集合,如图4b,并更新权重,如图4c;更新maxw集合,maxw={l,m};其中m∈nl,则maxw={l};maxw集合中只有1个节点;l节点成为簇首,标记“已分簇”;节点m的邻居节点中包括l节点,且m∈xl,则节点m加入l节点所在簇并标记“已分簇”;存在状态为“未分簇”的节点;更新状态为“未分簇”的节点的邻居节点集合,如图4d,并更新权重,如图4e;更新maxw集合,maxw={d};maxw集合中只有1个节点;d节点成为簇首,标记“已分簇”;节点c和节点g的邻居节点中包括d节点,且c∈xd,g∈xd,则节点c和节点g加入d节点所在簇并标记“已分簇”;存在状态为“未分簇”的节点;更新状态为“未分簇”的节点的邻居节点集合,如图4f,并更新权重,如图4g;更新maxw集合,maxw={h,k};其中k∈nh,则maxw={h};maxw集合中只有1个节点;h节点成为簇首,标记“已分簇”;节点k的邻居节点中包括h节点,且k∈xh,则节点k加入h节点所在簇并标记“已分簇”;节点f的邻居节点的结合为空,则f节点成为簇首,并标记为“已分簇”;存在状态为“未分簇”的节点;更新状态为“未分簇”的节点的邻居节点集合,如图4h,并更新权重,如图4i;更新maxw集合,maxw={j};maxw集合中只有1个节点;j节点成为簇首,并标记为“已分簇”;所有节点的状态均为“已分簇”,分簇结束。网络被分成6个簇,簇内成员及对应的簇内可用信道分别为{a,b,e},{1,2,3,4,5,7};{l,m},{1,4,8,9};{c,g,d},{1,2};{h,k},{2,9,10};{f},{3,6,7,8,10};{j},{1,2,5}。

3.判断是否需要重新分簇

当网络中的信道状态发生变化,若某一个簇的簇内公共可用信道全部被主用户占用时,网络重新分簇。

举例说明。假设信道1被占用,其他信道未被占用,则簇内成员及对应的簇内可用信道更新状态如下{a,b,e},{2,3,4,5,7};{l,m},{4,8,9};{c,g,d},{2};{h,k},{2,9,10};{f},{3,6,7,8,10};{j},{2,5};其中不存在某一个簇的公共可用信道全部被主用户占用的情况,则网络拓扑结构不变。假设信道1和信道2同时被占用,其他信道未被占用,则簇内成员及对应的簇内可用信道更新状态如下{a,b,e},{3,4,5,7};{l,m},{4,8,9};{c,g,d},{};{h,k},{9,10};{f},{3,6,7,8,10};{j},{5};其中存在一个簇的公共可用信道全部被主用户占用的情况,则网络拓扑结构改变,网络重新分簇。

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