本发明涉及无线传感器网络技术领域,具体的说是一种无线传感器网络的可扩展可预约sr-bma协议。
背景技术:
目前,无线传感器网络(wirelesssensornetworks,wsn)广泛应用于军事、环境、医疗、家庭、工业等方面,以其低成本、低功耗、自组织和分布式的特点带来了信息感知领域的一场革命,成为当今信息领域新的研究热点。媒体访问控制(mediumaccesscontrol,mac)协议决定了无线信道的使用方式,直接关系到网络性能的好坏。
根据节点访问信道的方式,无线传感器网络的mac协议可以分为三类:(1)基于竞争的mac协议,允许多个节点同时访问信道,可扩展性好,但容易产生冲突;(2)基于tdma的mac协议,周期性地为节点分配数据时隙,可以避免消息碰撞,然而又会产生大量的空闲侦听;(3)混合型mac协议,具有较好的可靠性、容错性及可扩展性,但是算法复杂,影响了协议的可用范围。
技术实现要素:
针对上述现有的无线传感器网络的mac协议存在的问题,本发明提供一种无线传感器网络的可扩展可预约sr-bma协议。
为解决上述技术问题,本发明采用的技术方案为:
一种无线传感器网络的可扩展可预约sr-bma协议,该协议采用多簇的网络结构,无线传感器网络被分为多个簇,每个簇包含一个簇头和多个成员节点,成员节点将数据包发送到簇头,簇头收集整理后发送到汇聚节点,该协议按轮进行操作,在每一轮开始之前,每个传感器节点随机选择0-1之间的一个值,如果选定的值小于阈值t(n),那么这个节点成为簇头节点,其中,
上述公式中,pch为簇头节点所占比例,r为当前所经过的轮数,g为后1/pch轮未成为簇头节点的集合;节点使用该门限,在1-pch轮中被选为簇头;在1/pch-1轮后,所有节点t(n)值为l,则没有簇头节点;
该协议每一轮包含建立阶段和稳定状态阶段;
建立阶段发生在每一轮的开始;节点依据网络中所需要的簇头所占比例和迄今为止每个节点已经成为簇头的次数来决定是否成为簇头;成功选出簇头节点后,簇头广播簇建立信息,其他节点根据所接收到的信息决定加入哪一簇,并向该簇头发送加入请求;确认所有节点的加入请求都已发送完毕后,簇头根据这些加入请求计算成员节点总数,并为它自己及所有成员节点分配唯一的1byte短地址,通过cs_alloc信息告知;
稳定状态阶段进一步分为多个帧,每个帧包含控制周期、竞争访问周期、数据时隙广播周期和数据传输周期;
在控制周期中,簇头为每个节点分配一个固定时隙,源节点在所分配的控制时隙发送请求到簇头,没有数据包需要发送的节点关闭无线电来节省能量,簇头在整个控制周期都保持侦听状态;
而后进入竞争访问周期,建立阶段没有加入簇的节点在该周期中可以重新发送加入请求到簇头来申请加入簇;
成功加入网络的节点以及在建立阶段已经成为成员节点的节点都会收到簇头发送的数据时隙广播信息;节点分配数据时隙的优先级由背包算法及其优化算法决定;如果源节点请求的数据时隙数目之和大于数据时隙总数,则会出现一些源节点无法成功分配数据时隙的情况,此时,簇头为这些节点提前预约下一帧的数据时隙;如果簇头没有收到某一节点的数据请求信息,则只告知该节点下一控制时隙的编号。
所述的每一个簇最多只能包含1个簇头和255个成员节点。
所述的数据时隙广播信息包含:(1)新成员列表,簇头会为它们分配唯一的短地址以及控制时隙编号;(2)成功分配数据时隙的源节点列表,包括这些源节点的短地址,数据时隙起始编号以及所分配的数据时隙数目。
本发明的有益效果:
本发明提供的无线传感器网络的可扩展可预约sr-bma协议,通过对best-mac协议进行改进,提出一种基于tdma的mac协议;与传统协议相比,该协议将数据时隙设置为很小的尺寸,数据时隙的数目超过节点数,根据节点所请求的数据量,分配相应数目的数据时隙,极大地提高了数据时隙的利用率;对背包算法进行优化,很好地避免了等待时间过长;加入预约机制,对没有成功分配到数据时隙的源节点提前预约下一帧的数据时隙,又可以在一定程度上减少控制开销。
附图说明
图1本发明sr-bma协议示意图;
图2本发明簇建立的流程图;
图3本发明稳定状态阶段的流程图;
图4本发明节点分配时隙的举例图;
图5本发明能量消耗随节点数n变化图;
图6本发明能量消耗随帧数l变化图;
图7本发明能量消耗随概率p变化图;
图8本发明能量消耗随数据包大小变化图;
图9本发明传输时延随节点数n变化图;
图10本发明传输时延随数据包大小变化图。
具体实施方式
下面结合具体实施方式对本发明做进一步的阐述。
如图所示:一种无线传感器网络的可扩展可预约sr-bma协议,采用多簇的网络结构,无线传感器网络被分为多个簇,每个簇包含一个簇头和多个成员节点。成员节点将数据包发送到簇头,簇头收集整理后发送到汇聚节点。该协议按轮进行操作,在每一轮开始之前,每个传感器节点随机选择0-1之间的一个值,如果选定的值小于阈值t(n),那么这个节点成为簇头节点,其中,
上述公式中,pch为簇头节点所占比例,r为当前所经过的轮数,g为后1/pch轮未成为簇头节点的集合;节点使用该门限,在1-pch轮中被选为簇头;在1/pch-1轮后,所有节点t(n)值为l,则没有簇头节点。
该协议每一轮包含建立阶段(setupphase,sp)和稳定状态阶段(steadystatephase,ssp)。稳定状态阶段进一步又可以分为多个帧,每个帧包含控制周期(control,period,cp),数据时隙广播周期(dataslotannouncementperiod,ads_ann),竞争访问周期(contentionaccessperiod,cap)和数据时隙(dataslot,ds)。该协议的帧结构如图1所示。该协议为每个节点分配唯一的短地址代替之前的地址,同时将数据时隙分为更小的时间段,减少数据时隙的持续时间,使数据时隙的数目大于节点数目,按照数据请求,为每个节点分配多个数据时隙来发送数据包。采用背包算法及其优化算法,最大限度地减少空闲侦听。在数据时隙广播周期的最后,簇头为未能成功分配到数据时隙的节点提前预约下一帧的数据时隙,若无新的数据包产生,该节点在下一控制周期就可以关闭无线电,减少控制开销,同时也能在一定程度上减少等待时间。
建立阶段发生在每一轮的开始。假设网络包含多个固定的簇,每个簇中只有一个簇头,源节点直接和簇头节点进行数据通信,而不是采用多跳的模式进行数据通信。节点依据网络中所需要的簇头所占比例和迄今为止每个节点已经成为簇头的次数来决定是否成为簇头。成功选出簇头节点后,簇头广播簇建立信息(ch_ann),其他节点根据所接收到的信息决定加入哪一簇,并向该簇头发送加入请求(join_req),如图2所示。等待一定时间确认所有节点的加入请求都已发送完毕后,簇头根据这些加入请求计算成员节点总数,并为它自己及所有成员节点分配唯一的1byte短地址,通过cs_alloc信息告知。因此,每个簇最多可以有1个簇头及255个成员节点。
节点预约数据时隙,簇头分配数据时隙以及数据包的传输都发生在稳定状态阶段,该阶段由多个帧组成,每个帧依次为控制周期,竞争访问周期,数据时隙广播周期及数据周期。
在控制周期中,簇头为每个节点分配一个固定时隙,源节点在所分配的控制时隙发送请求到簇头,没有数据包需要发送的节点关闭无线电来节省能量,簇头在整个控制周期都保持侦听状态。在best-mac协议中,上一帧没有成功预约数据时隙的节点,在该帧需要重新发送请求,而sr-bma协议中,簇头提前为没有成功分配数据时隙的节点预约下一帧的数据时隙,因此,节点若无新的数据包需要发送则在下一帧的控制周期中可以关闭无线电,减少控制开销。而后进入竞争访问周期,建立阶段没有加入簇的节点在该周期中可以重新发送加入请求到簇头来申请加入簇,每一个簇最多只能包含1个簇头和255个成员节点。成功加入网络的节点以及在建立阶段已经成为成员节点的节点都会收到簇头发送的数据时隙广播信息,该信息包含:(1)新成员列表,簇头会为它们分配唯一的短地址以及控制时隙编号;(2)成功分配数据时隙的源节点列表,包括这些源节点的短地址,数据时隙起始编号以及所分配的数据时隙数目。节点分配数据时隙的优先级由背包算法及其优化算法决定。如果源节点请求的数据时隙数目之和大于数据时隙总数,则会出现一些源节点无法成功分配数据时隙的情况,此时,簇头为这些节点提前预约下一帧的数据时隙。如果簇头没有收到某一节点的数据请求信息,则只告知该节点下一控制时隙的编号,流程图如图3。
假设w为背包的总重,即可使用的时隙总数,wi为第i个节点请求的时隙数,w为当前时隙编号,即从0到w。将节点请求数据时隙数目视为节点的重量,则问题就变为将这些不同重量的节点放入总重为w的背包。首先,簇头要检查所接收到的时隙请求总数是否大于w。若小于或等于,则每个源节点都可以分配相应的时隙数来传输数据,其优先级由背包算法决定,详见算法1。若源节点请求的时隙总数大于w,则根据本文提出的优化算法来进行分配。
algorithm1:knapsackalgorithm
首先根据节点请求的数据时隙数目将所有节点由大到小进行排序,若数目相同时,则节点短地址小的优先。请求数据时隙多的优先处理,这样可以避免处理完请求数目少的节点后,剩余时隙数目不够,请求数目多的节点无法被处理的情况。当业务量较大时,源节点所请求的时隙总数大于最大值,总会有一些节点无法分配到数据时隙,此时,簇头会为这些节点提前预约下一帧的数据时隙,若节点没有新的数据包需要发送,则在下一控制周期可以关闭无线电来节省能量,详细的描述如下。
假设总共有12个数据时隙,a,b,c,d,e五个节点在帧1请求数据时隙数目分别为3,2,0,4,5,在帧2请求的数据时隙数分别为1,1,1,5,3,在帧3请求的数据时隙数分别为1,2,0,3,2,则时隙分配情况如图4所示。在帧1,节点c没有数据需要发送,不分配时隙,a,b,d,e按照由大到小排列为e,d,a,b,为e,d,a三个节点分配完数据时隙后,已经没有剩余的时隙可以留给b了,则簇头为节点b预约帧2的两个数据时隙。到帧2时,若节点b请求的数据时隙没有变化,在控制周期可以关闭无线电来减少控制开销,本例中节点b又请求了1个数据时隙,仍需在控制周期发送请求,除去簇头为b提前预约的2个数据时隙,将这些节点重新进行排序为d,e,a,b,c,由于a,b与c请求的时隙数相同,则短地址小的优先分配,此时节点c无法分配数据时隙,则节点为c预约帧3的1个数据时隙。在帧3中,节点c没有新的数据包需要发送,则在控制周期关闭无线电以减少控制开销,此时所有节点请求的数据时隙数目之和小于数据时隙总数,除去为c预约的一个数据时隙,其他节点按背包算法,依次分配数据时隙。
协议性能分析
假设无线传感器网络中每一簇只有一个簇头,每个帧有l帧,发送或接收一个数据包所必需的时间是td,发送或接收一个控制信息所必须时间是tc,发送或接收一个调度信息所必须时间是tch。节点有数据传输的概率为p。发送和接收模式的单位能量消耗分别为pt和pr,空闲侦听的单位能量消耗为pi。
建立阶段的能量分析
在有n个节点的簇中,建立阶段的能耗esetup是一个簇头节点及n-1个非簇头节点的能量总和,其中又分为唤醒状态和空闲状态。
在唤醒状态,簇头的能耗为:
其中
其中
在空闲状态下,节点存在空闲侦听,因此依旧会造成能量消耗。簇头在整个建立阶段需要保持无线电开启,来接收节点发送的加入请求,其空闲阶段的能耗为:
其中
因此,n-1个成员节点在空闲状态的总能耗为:
则该簇在建立阶段的总能耗为:
稳定状态阶段的能量分析
每个稳定状态阶段都是由多个帧构成,每个帧又包含控制周期,竞争访问周期,数据时隙广播周期及数据时隙。
在帧j中,源节点在所分配的控制时隙发送数据请求到簇头,其他节点关闭无线电来节省能量。则源节点s在控制阶段的能量消耗为:
其中
控制后期结束后,进入竞争访问周期。此时没有假如簇的节点可以发送加入请求到簇头。此时簇头的能耗为:
同样的,非成员节点的能耗为:
因此,有d个非成员节点加入网络时,总能耗为:
在数据时隙广播周期中,节点接收簇头发送的ads_ann信息,总能耗为:
之后进入数据周期。假设在x个源节点中,有y个节点成功分配了数据时隙,则,其能耗为:
其中k为数据时隙总数,则簇头的能耗为:
稳定状态阶段的总能耗为:
因此,在有q个帧的轮中,该簇在建立阶段及稳定状态阶段的总能耗为:
为了验证sr-bma协议的性能,本文通过matlab仿真软件进行仿真分析,将其与best-mac协议进行对比。仿真参数设置如下:
表1仿真参数设置
能量消耗
sr-bma协议簇头为每个成员节点分配唯一的1byte短地址,因此该协议每簇最大的成员节点数为28-1个。图5-图8分别是能量消耗随节点数n,帧数l,有事件发生的概率p及数据包大小变化图,可以看出当自变量增大时,节点的能耗也随之增加,但是sr-bma协议的能耗始终小于best-mac协议。这是由于在best-mac协议中,如节点没有成功分配到数据时隙,则它在该帧无法传输数据,节点只能在下一帧的控制周期重新发送数据请求到簇头。而sr-bma协议则省去了这一过程,当一个帧中已经没有数据时隙分配给节点时,簇头会为没有成功分配到数据时隙的节点提前预约下一帧的数据时隙,因此,节点没有新的数据包需要发送时,在下一帧的控制周期就可以关闭收发器来减少能耗。
传输时延
在基于竞争的、基于tdma的及混合类mac协议中,基于tdma的mac协议采用调度机制,预先为每个节点分配相应的数据时隙来传递数据,这就导致了较大的传输时延。在非常注重时效性的应用中,如地震预警,火灾预警,基于tdma的mac协议的劣势就报漏无疑。为了减少数据传输的时延,本协议采用了背包算法及其优化,仿真结果如图9,图10所示。
可以很明显的看出,相较于best-mac协议,sr-bma协议的最大传输时延减少了将近30%。在进行数据时隙分配时,如果源节点请求的数据时隙总和大于数据时隙总数,best-mac协议优先为请求数据时隙数少的节点分配时隙,这就可能导致还有空余时隙却无法分配给请求时隙数大的节点,甚至当业务量较大时,某些节点一直无法成功分配到数据时隙,数据时隙分配的不公,直接导致了传输时延的增大。而sr-bma协议则不同,该协议优先为请求数据时隙数大的节点分配数据时隙,如果有节点没有成功分配到数据时隙,簇头还会为它们提前预约下一帧的时隙,减少最大传输时延。
本文提出一种可扩展可预约的mac协议:sr-bma协议。该协议将数据时隙分为更小的部分,采用背包算法及其改进算法根据节点请求数据时隙的多少来动态分配数据时隙,同时簇头为没有成功分配到数据时隙的节点提前预约下一回话的数据时隙,依次来减少控制开销,又更好的保证了公平性。仿真结果显示与best-mac协议相比,sr-bma协议采用提前预约的方式减少了控制开销,因而降低了一部分能耗,在最大传输时延上,又降低了将近30%。下一步的研究将以sr-bma为基础,将其可扩展可预约的特性应用在其他类型的mac协议上,以适应网络结构动态变化的情况。