发明内容
本发明的目的在于,提供一种基于双重分簇的无线传感器网络分布式拓扑控制方法。本发明采用如下技术方案:
一种基于双重分簇的无线传感器网络分布式拓扑控制方法,包括以下步骤:
A、物理分簇,确定各节点的簇头或簇成员身份,形成物理簇;
B、虚拟分簇,通过分布式竞争的方式,所述物理簇的簇头产生自身或遵从相邻簇簇头产生的周期调度表,使相邻物理簇的簇头组成周期性工作、休眠同步的虚拟分簇,并通过自适应通信机制实现所述簇头间的通信。所述虚拟簇间自适应通信时段根据对方簇间通信时段的相对起始、结束时间,在本簇头超帧周期中的相应位置设定。
作为本发明的一种优选方式,所述步骤A具体包括以下步骤:
a1、节点上电启动后,扫描附近是否存在簇头;如果是,则进入步骤a3,否则转步骤a2;
a2、通过分布式竞争方式,选举出物理簇簇头,其余节点的身份标记为簇成员;
a3、以簇成员身份申请加入该簇头所在物理簇,并服从物理簇的周期时间调度策略。
作为本发明的又一优选方式,所述步骤a2具体为,节点周期性地发送包含自身基本属性和加权平均值信息的信息帧,同时侦听、接收邻居节点的信息帧,完成邻居发现和节点的局部信息收集,根据加权平均值的选举算法选举出物理簇簇头,其余节点的身份标记为簇成员。
作为本发明的再一优选方式,在所述步骤a2确定各节点的簇头或簇成员身份之后,所述簇成员在所述簇头确立自己的周期调度策略后申请加入该物理簇,该物理簇的簇成员到该簇头均为一跳可达。
作为本发明的再一优选方式,所述周期调度表包括同步时段、簇内通信时段、簇间通信时段和休眠时段,一个调度周期为一个超帧,所述簇头及簇成员均依据所在物理簇簇头的周期调度表来设置各自的休眠、工作时段。
作为本发明的一种改进,在所述步骤B具体为,
b1、所述簇头确立身份后,在一段时间内扫描邻居簇头的包含周期调度表相对起始时刻信息的同步帧,如果扫描到,则进入步骤b3,否则转步骤b2;
b2、所述簇头产生自身的周期调度表,并广播包含自身周期调度表相对起始时刻信息的同步帧;
b3、所述簇头接收该同步帧,判定是否已确立自身的周期调度表,如果是,则进入步骤b4,否则转步骤b5;
b4、所述簇头判定自身的周期调度表与接收到周期调度表是否相同,如果是,则进入步骤b6,否则转步骤b7;
b5、所述簇头遵从该接收到周期调度表,并广播包含自身周期调度表相对起始时刻信息的同步帧;
b6、所述簇头记录并更新邻居簇头列表,该邻居簇头列表记录自身及邻居簇头的周期调度信息;
b7、所述簇头根据邻居簇头列表判定是否已存在和自身调度周期相同的邻居簇头,如果是,则进入步骤b8,否则转步骤b9;
b8、所述簇头根据接收周期调度表修正自身周期调度表,建立和该邻居簇头的簇间通信时段,更新邻居簇头列表,并广播包含自身周期调度表相对起始时刻信息的同步帧;
b9、所述簇头抛弃自身周期调度表,转步骤5。
作为本发明的又一改进,所述步骤B后还包括:
C、网络值守,按照所述周期调度表以超帧方式进行周期性的同步、簇内通信、簇间通信和休眠调度。
作为本发明的再一改进,所述步骤C的周期性同步方法为,所述簇头以某一同步周期通过同步帧广播自身的周期调度表,所述邻居簇头通过该同步帧进行时间重同步,新建立的物理簇簇头通过扫描、接收该同步帧,服从现有虚拟分簇的周期调度表。
作为本发明的再一改进,所述步骤C中还包括一邻居虚拟簇发现步骤,各簇头在某一段期间内侦听一个同步周期,以发现邻居虚拟簇。
作为本发明的再一改进,所述侦听为连续侦听,在此同步周期内,簇头在所述超帧的休眠时段均保持侦听状态。
作为本发明的再一改进,所述步骤C中还包括一新成员节点邀请步骤,在所述超帧的簇内通信时段设有邀请时隙,所述簇头以某一周期在邀请时隙发送邀请帧,新成员通过扫描该邀请帧,向所述簇头申请加入现有物理簇,并接受该物理簇的周期调度表。
本发明提供的基于双重分簇的分布式拓扑控制方法,它以具有较好的网络负载均衡特性和簇头分布均匀性的物理分簇结构为基础,同时通过分布式选择和维护各物理分簇的周期性工作调度表,使相邻物理簇的簇头组成休眠唤醒自动同步的虚拟分簇,通过自适应通信机制实现不同簇头间通信,从而在无需全局网络同步的前提下,实现局部信息传输的同步和簇间多跳到基站的数据传输,并减少控制开销和簇间帧冲突概率。同时基于虚拟分簇局部簇头轮换策略来进一步均衡网络负载。本发明在物理分簇的基础上,形成了一个使邻居簇头能彼此自由通信的骨干网拓扑结构,同步簇头间形成一个无簇内通信冲突的虚拟簇,很容易适应拓扑结构的改变。本发明能在满足特定应用QoS要求的基础上有效的实现网络负载均衡,提高网络能耗效率,延长网络系统寿命。依据本发明组建的无线传感器网络,在单信道的条件下即可实现,大大节省物理层设计成本。
以下结合附图及实施例进一步说明本发明。
具体实施方式
为方便本发明实施例的描述,先介绍本发明实施例中使用的超帧结构及各时段的属性参数。一个调度周期为一个超帧。所述周期调度表规定了一个物理簇簇头和簇成员的工作、休眠调度机制,主要包括同步时段、簇内通信时段、簇间通信时段和休眠时段,一个调度周期为一个超帧,所述簇头及簇成员均依据所在物理簇簇头的周期调度表来设置各自的工作、休眠时段。如图1所示,一个完整的超帧Tsf包括如下时段:
簇间同步即同步时段Tsync,为簇头发送同步帧设置,在该时段内有一定的时间余量,使每次发送同步帧时按CSMA-CA机制发送。该时段可采用公共信道,较大级发射功率。
簇内通信时段Tinter,主要分为簇内邀请时隙Tin vite、簇内同步时隙Tsync_pc和簇内上行通信时段Tintra。簇成员在该时段内唤醒,在超帧的其他时段均处于休眠状态,以节省能耗。其中:
簇内邀请时隙Tin vite,由簇头根据新成员节点加入网络的频繁度来决定邀请帧的发送间隔周期,当新加入节点侦听到邀请时隙后,即在随后的簇内通信时段申请加入该物理簇,该时隙采用公共信道,较低级发射功率。
簇内同步时隙Tsync_pc,为簇头和簇成员间同步和簇头下行帧而设置的,同步帧主要为了纠正时钟漂移而引起的簇头与各簇成员节点的时间偏差,下行帧主要包括一些命令控制及时隙预约等。该时隙采用本地信道,较低级发射功率。
簇内上行通信时段Tintra,主要为簇成员节点上行数据至簇头而设置,有两个主要时段:非竞争上行时段、随机竞争时段。非竞争上行时段中划分为若干时隙,由簇成员节点根据需要在上一个超帧周期的随机竞争上行时段向簇头进行预约,然后由簇头在本超帧的簇内同步时隙中通过时隙预约帧广播非竞争上行时段的使用情况。随机竞争上行时段由簇成员节点采用时隙CSMA-CA访问机制与簇头进行通信。簇内上行通信时段采用本地信道,较低级发射功率。
簇间通信时段Tinter,主要为同一虚拟簇内簇头间相互通信而设置,保证在虚拟簇内以较小的时延进行数据通信。若簇头CHi只有一种调度周期,即CHi邻居簇头均在同一虚拟分簇内,则簇间通信时段只要维护簇间通信时段即可。该时段采用公共信道,较大级发射功率。
虚拟簇间自适应通信时段Tinter-vc,主要为侦听邻居虚拟簇簇间通信而设置。当簇头CHi位于两个虚拟簇交界时,即CHi有邻居簇头位于另一个虚拟簇,则CHi需要维护虚拟簇间自适应通信时段,而对于CHi所有邻居簇头均在同一虚拟分簇内时,无需维护虚拟簇间自适应通信时段。该时段采用公共信道,较大级发射功率。
休眠时段Tsleep,如果簇头不在两个虚拟簇交界,则进入休眠节能状态,节点的通信模块均关闭。
上述各时段的长度存在如下:
Tsleep>Tintra>Tinter>Tinter-vc>Tsync>Tsync_pc>Tin vite。
一种基于双重分簇的无线传感器网络分布式拓扑控制方法,包括以下步骤:
A、物理分簇,确定各节点的簇头或簇成员身份,形成物理簇;如图1所示,具体包括以下步骤:
a1、节点上电启动后,扫描附近是否存在簇头;即扫描附近是否存在已经形成的物理簇;为了尽量加入网络中现有的物理簇,先在公共信道上扫描NC个周期为Tsf的时长,通过检测簇头发出的邀请帧(Invite-Frame),判别周围是否存在物理簇。NC由新成员加入和节点移动频繁度以及网络生存时间等因素决定。如在物理簇建立初期NC值较大,簇头会以较高的频率发送邀请帧,而在物理簇生存后期NC值较小。Tsf即为周期调度表的时长。邀请帧中可包含如本簇周期调度表、本簇簇内通信所用信道、本簇成员饱和度等信息。如果周围已经存在物理簇,则进入步骤a3,否则转步骤a2;
a2、通过分布式竞争方式,选举出物理簇簇头,其余节点的身份标记为簇成员;该步骤具体可以是,节点周期性地发送(可采用现有技术中的载波侦听冲突避免多址接入方式,Carrier Sense Multiple Access-Collision Avoid,CSMA-CA)包含自身基本属性和加权平均值信息的信息帧,同时侦听、接收邻居节点的信息帧,完成邻居发现和节点的局部信息收集,根据加权平均值的选举算法选举出物理簇簇头,其余节点的身份标记为簇成员。并且在确定各节点的簇头或簇成员身份之后,所述簇成员在所述簇头确立自己的周期调度策略后申请加入该物理簇,该物理簇的簇成员到该簇头均为一跳可达。具体可以采用如下方式实现:在扫描期间没有收到邀请帧,进入簇头竞争选举阶段,每个节点以Th周期广播HELLO帧,同时收集邻居节点信息。HELLO帧中包含节点自身的加权平均值。节点通过接收邻居节点的HELLO帧来更新自身网络通信成本的加权平均值,更新后再通过HELLO帧进行广播。节点每次发送HELLO帧均采用CSMA-CA方式,此过程持续Tn后可达到局部节点信息一致性,Tn=Th*Nh,Nh为HELLO帧广播次数,Nh、Th均可根据节点布设密度配置。其中,节点根据所收集的邻居节点加权平均值分布,使用的策略例如基于最小加权平均值算法选举确定簇头和簇成员,该策略可采用现有技术实现,在此省略对该部分的详细说明。
a3、以簇成员身份申请加入该簇头所在物理簇,并服从物理簇的周期时间调度策略。即节点收到邀请帧,并在随后的簇内通信时段向簇头发起加入请求,得到簇头许可后开始按该簇的周期调度表工作。
完成物理分簇后,簇成员虽已获知所在物理簇的簇头,但簇成员暂不正式向簇头申请加入物理簇,直至物理簇头确立自己的周期调度表,开始进入网络值守阶段。并且物理簇簇成员到簇头均为一跳可达。在此阶段,各节点发射功率设置在较低的水平,该功率水平从统计上保证节点具有一定数量的邻居数目即可。
B、虚拟分簇,物理簇簇头选举完成后,通过分布式竞争的方式,所述物理簇的簇头产生自身或遵从相邻簇簇头产生的周期调度表,使相邻物理簇的簇头组成周期性工作、休眠同步的虚拟分簇,并通过自适应通信机制实现所述簇头间的通信。虚拟簇并没有一个实际存在的簇头,而是指维护同一周期调度表的物理簇簇头形成的虚拟集合。在此阶段,各簇头发射功率设置在较高的水平,该功率水平从统计上保证每个簇头拥有合适的邻居簇头数目。簇头间交换周期调度表,即在同步帧中告知邻居簇头本地调度周期的相对起始时刻。
其中,所述虚拟分簇步骤B可具体采用图3所示的方式实现,具体描述如下:
b1、所述物理簇簇头确立身份后,同样可采用CSMA-CA方式侦听无线信道,在一段时间内扫描邻居簇头的包含周期调度表相对起始时刻信息的同步帧,例如扫描N个超帧调度周期Tsf,以发现周围已经存在虚拟分簇。以保证当网络进入值守阶段后,簇头在N个超帧调度周期Tsf中以较高的概率成功发送一次同步帧。如果扫描到,则转步骤b3,否则进入步骤b2;
b2、所述簇头判定是否已确立自身的周期调度表,如果是,则在下一调度周期进入网络职守阶段;否则,产生自身的周期调度表,并广播包含自身周期调度表相对起始时刻信息的同步帧;即以当前时间ti为基准建立自己的周期调度表。在本调度周期Tsf的同步时段内(ti,ti+Tsync)以CSMA-CA方式向邻居簇头CHsi和簇成员集CMsi广播宣布本地周期调度表的同步帧;
b3、所述簇头接收该同步帧,判定是否已确立自身的周期调度表,如果是,则进入步骤b4,否则转步骤b5;
b4、所述簇头判定自身的周期调度表与接收到周期调度表是否相同,如果是,则进入步骤b6,否则转步骤b7;
b5、所述簇头遵从该接收到周期调度表,并广播包含自身周期调度表相对起始时刻信息的同步帧;即采用收到CHk的周期调度表,设CHk本调度周期的起始时刻为tk,当前时刻为t,并在本调度周期剩余时段(t,tk+Tsf)以CSMA-CA随机退避方式向邻居簇头CHsi及簇内成员节点CMsi广播自己的周期调度表,并在下一个调度周期开始时tk+Tsf进入网络职守阶段;
b6、所述簇头记录并更新邻居簇头列表,该邻居簇头列表记录自身及邻居簇头的周期调度信息;即记录CHk调度表簇间通信时段信息,然后根据接收到的周期调度表修改CHi的周期调度表,设CHi本调度周期的起始时刻为ti当前时刻为t,并在本调度周期剩余时段(t,ti+Tsf)以CSMA-CA方式向邻居簇头CHsi及簇内成员节点CMsi广播CHi的周期调度表,并在下一个调度周期按新的时段划分进入网络值守阶段,该种情况表明簇头CHi、CHk处于两个虚拟簇的交界,两个簇头都需要知道对方的调度周期,并修改本地周期调度表,在超帧调度周期中预留时段来保持两个虚拟簇间的正常通信;
b7、所述簇头根据邻居簇头列表判定是否已存在和自身调度周期相同的邻居簇头,如果是,则进入步骤b8,否则转步骤b9;
b8、所述簇头根据接收周期调度表修正自身周期调度表,建立和该邻居簇头的簇间通信时段,更新邻居簇头列表,并广播包含自身周期调度表相对起始时刻信息的同步帧;
b9、所述簇头抛弃自身周期调度表,转步骤5。
C、网络值守,按照所述周期调度表以超帧方式进行周期性的同步、簇内通信、簇间通信和休眠调度。所述步骤C的周期性同步方法为,所述簇头以某一同步周期(例如各簇头CHi以N个超帧调度周期Tsf为同步周期Ts=N*Tsf,即在Nsync个超帧周期内成功发送一次同步帧)通过同步帧广播自身的周期调度表,所述邻居簇头通过该同步帧进行时间重同步,新建立的物理簇簇头通过扫描、接收该同步帧,服从现有虚拟分簇的周期调度表。
其中,由于在虚拟分簇阶段可能存在广播帧冲突等问题,从而导致邻居簇头不能成功交互周期调度表,即两个虚拟簇间无法正常通信;另外新建立的虚拟簇和邻近的虚拟簇由于周期调度表的不同,可能无法正常接收到对方的同步帧,为保证在网络值守期间能发现邻居虚拟簇的存在,保证网络的连通性,作为本发明的一种改进,所述步骤C中可包括一邻居虚拟簇发现步骤,因为在网络值守阶段,簇头会以一定的同步周期间隔发送同步帧,因此各簇头在某一段期间内侦听一个同步周期,即可实现邻居虚拟簇的发现。所述侦听可以是连续侦听,在此同步周期内,簇头在所述超帧的休眠时段均保持侦听状态。即簇头CHi连续工作一段较长的时间Tfind,然后在一段紧接的长度为同步周期Ts的时间内,簇头CHi在休眠时段均保持侦听唤醒状态,其他时段的工作机制保持不变。由于簇头的同步机制设置,在该时间范围内,各个簇头均会以较高的概率成功发送一次同步帧。因此,通过邻居虚拟簇发现机制,可发现邻居虚拟簇建立不同虚拟簇间的有效通信。Tfind可根据应用要求以及邻居簇头数等进行动态调整。
其中,当网络值守工作时,可能会有新的节点加入网络,或者少数节点从一个物理簇移动到另一个物理簇,作为本发明的一种改进,所述步骤C中还包括一新成员节点邀请步骤,在所述超帧的簇内通信时段设有邀请时隙,所述簇头以某一周期在邀请时隙发送邀请帧,新成员通过扫描该邀请帧,向所述簇头申请加入现有物理簇,并接受该物理簇的周期调度表。所述簇头发送邀请帧的周期性根据新成员加入和节点移动的频繁度确定。