面向任务的无线传感网网络拓扑建立的方法
技术领域
本发明涉及一种无线传感网静态骨干网的拓扑建立与面向任务的自适应分簇结合的网络拓扑管理方法,属于无线传感网拓扑管理领域。
背景技术
无线传感器网络(wireless sensor network,WSN)是当前国际上备受关注的、由多学科高度交叉的新兴前沿研究热点领域。无线传感器网络具有十分广阔的应用前景,在军事国防、工农业、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多领域都有重要的科研价值和巨大实用价值,已经引起了世界许多国家军界、学术界和工业界的高度重视,并成为进入2000年以来公认的新兴前沿热点研究领域,被认为是将对二十一世纪产生巨大影响力的技术之一,它将会对人类未来的生活方式产生深远影响。
应用环境与任务的差异性对无线传感网***的设计提出了极大的挑战,同时,由于无线传感网节点的能量受限特性,如何组织网络以有效节约能量,延长网络生存时间亦是不可忽视的重要研究课题之一。为了满足无线传感网任务复杂多样的需求,国内外的研究集中于采用面向任务的自适应动态拓扑组织与节点的自适应功能重构等方法上,如康奈尔大学的Cougar***与加州大学伯克利分校的TinyDB***等。Cougar***提出网络局部节点动态成簇的方法,针对不同的应用选择不同的节点自适应的形成不同的分簇结构,可较好的支持变化的任务需求,但是难以支持网络的休眠管理等拓扑控制功能。
对于拥有大量节点的无线传感器网络,分簇的拓扑结构在网络拓扑管理和可扩展性上具有较多的优势。簇头节点(Cluster Head,CH)构成网络的骨干,负载网络中节点的休眠/唤醒及数据路由,可较好地降低网络能耗,延长网络生存时间,但是其形成的分簇结构是相对静态的,难以适应环境与任务需求的变化。而若以任务为中心自适应重分簇,一来所得拓扑难以较好的支持网络节点的分布式管理与网络连通性要求,网络的负载平衡难以达到,二来针对任务的变化需要频繁的全网拓扑重建,网络开销太大。
发明内容
本发明的目的是提供一种面向任务的无线传感网网络拓扑建立的方法。
针对现有的问题,本发明的面向任务的无线传感网网络拓扑建立的方法包括以下步骤:
A.建立全局静态骨干网拓扑,提供较好的节点管理方式和保证网络连通性;
B.在维持静态拓扑结构不变的前提下,局部网络节点面向任务动态成簇,以支持不同的任务需求,在完成任务后,解除节点间的基于任务的逻辑关系。
作为本发明的一种优选方式,步骤A可采用分簇的拓扑结构,包括以下步骤:
a1、信道侦听;节点初始化后,持续侦听信道一定时间,若接收到簇头消息,则转入步骤a3,若接收到其他节点的信息(如:Hello消息),则更新自身邻居表;
a2、信息交互:节点间通过周期性的Hello消息交互自身信息,并以此为依据竞争簇头;
a3、节点入网:未竞争成功的节点向其邻居簇头发送入网申请以完成分簇组网过程。
作为本发明的又一优选方式,步骤a2中的竞争簇头方法可采用基于多权值的簇头竞争方式,节点依据自身属性(如:节点能量、节点度等)的加权平均值竞争簇头,未竞争成功的节点成为准簇成员节点,等待入网。
作为本发明的又一优选方式,簇头维护周期性的超帧结构,包括簇内通信时段与簇间通信时段,在簇内通信时段广播Beacon帧完成簇内同步等功能,簇成员节点遵从簇头节点的周期调度,在无数据上发时转入休眠状态。
作为本发明的一种改进,步骤B具体描述如下;
b1、任务分析与节点任务分配,节点检测到目标或接收到上层的数据查询要求后,对所需执行的任务进行分析,该步骤由物理簇的簇头执行,并依据任务需求选择合适的逻辑簇头,并唤醒需要参与任务工作的簇成员节点;
b2、逻辑簇头节点针对任务执行相应的处理功能,并进行逻辑簇成员的选择,下一个逻辑簇头的指定等工作;
b3、执行任务处理的簇成员节点临时放弃对物理簇调度周期的遵从,在任务执行完成之后,则重新遵从物理簇的调度周期;
b4、任务执行的结果,若需要上传至上层或传至的节点不在逻辑簇头的直接通信范围内,则以骨干网的路由策略执行;
本发明在有任务需求时,则在局部网络区域依据任务需求动态成簇(逻辑簇),在任务完成后解除节点间的基于任务的逻辑联系。本发明在支持动态任务变换的同时,提供较好的网络拓扑管理,有效延长网络生存时间。
附图说明
图1为网络的静态骨干网与面向任务的动态成簇的网络拓扑示意图。
图2为本发明所述网络拓扑管理步骤的流程图。
图3为网络静态骨干网(物理分簇)的建立步骤流程图。
图4为面向任务的动态分簇(逻辑簇)的建立与解散流程图。
具体实施方法
以下结合附图对本发明作进一步说明。
本发明提供一种面向任务的局部动态分簇与全局静态骨干网络拓扑建立相结合的物理簇+逻辑簇的拓扑管理方法,静态的骨干网络(物理簇)维护网络的连通性与节点的休眠/唤醒调度,在有任务需求时,则在局部网络区域依据任务需求动态成簇(逻辑簇),在任务完成后解除节点间的基于任务的逻辑联系,其工作示意图如图1所示,其实现步骤如图2所示。
步骤101:建立全局静态骨干网拓扑,提供较好的节点管理方式和保证网络连通性;本发明中提供一种基于权值的分布式分簇方法。在分簇的网络拓扑结构中,存在两种节点:簇头(ClusterHead,CH)与簇成员(ClusterMember,CM)。节点初始化时,身份是未定的(Undefined,UN),在组网进程中,包括信道侦听、消息交互和节点入网三个线程,可采用任何一种分布式的簇头竞争方法。在本发明中,提供一种基于多权值优化的簇头选举方法作为实例,其具体步骤如下:
步骤201:邻居发现
1)节点侦听信道1个超帧周期,若接收到CH的Beacon帧,则置自己状态为PreCM,转入步骤202;
2)节点周期性广播Hello消息(周期数一般不超过10),包含节点ID、当前能量Ei、权值Wi(初始值为0)、当前节点状态(初始为UN)等信息;
3)节点根据接收到的Hello信息建立邻居表,更新自己的簇头竞争权值Wi;
步骤202:簇头选举
1)在此阶段,仍需周期性的Hello广播;
2)若节点的权值Wi在其邻居中最小,置自己为CH;
3)若节点邻居中存在权值小于自身权值的CH,置自己为PreCM;
步骤203:成簇
1)CH广播Beacon帧,包含CH的调度信息;
2)PreCM侦听信道1个超帧周期,接收Beacon,建立CH表;
3)PreCM在第2个超帧开始按xxx原则选择CH表中的最佳CH,向其发送加入申请MSG_JOIN_REQ消息,设置WaitACK定时器,等待MSG_JOIN_ACK消息;
4)CH接收到MSG_JOIN_REQ,若簇未满,发送MSG_JOIN_ACK消息,否则,发送MSG_JOIN_DENY消息;
5)PreCM若接收到MSG_JOIN_ACK消息,则置自己为CM,完成分簇,若接收到MSG_JOIN_DENY消息或WaitACK定时器超时,则转入3);
6)若PreCM节点的CH表中无可用CH,则置自己为CH,开始广播Beacon,完成分簇。
其流程图如图3所示。簇头维护周期性的超帧结构,包括簇内通信时段与簇间通信时段,在簇内通信时段广播Beacon帧完成簇内同步等功能,簇成员节点遵从簇头节点的周期调度,在无数据上发时转入休眠状态。
步骤102:任务获取,包括两种情况:其一,网络上层发起任务需求;其二,节点检测到目标变化;
步骤103:任务分析与任务分配,第一次启动该进程的为物理簇头节点,其一,上层发起的任务需求,传递至物理簇头,由物理簇头做任务分配;其二,节点检测到目标变化,上传至物理簇头,物理簇头判断任务需求并做任务分配。由物理簇头依据任务需求指定合适的逻辑簇头,即任务执行的“Leader”节点,并唤醒可能参与任务的簇成员节点,被唤醒的节点暂时放弃遵守物理簇的调度周期;
步骤104:任务执行的Leader(逻辑簇头)依据任务需求,设置加入逻辑簇的条件(如距自身的距离、获取的信息超过某一阈值等),广播逻辑簇成簇消息,启动逻辑簇成簇进程;接收到逻辑簇成簇消息的节点,判断自己是否满足成簇要求,若满足,则加入逻辑簇,执行分配的任务,并在任务完成后,将结果发送至Leader;
步骤105:Leader收集到所需结果,在本地做相应处理后(如:若任务为数据聚类,则在leader处执行数据融合功能),若数据需要上传或在其他簇继续下一步操作,则上传至物理簇头,由物理簇头启动网络路由功能执行相应的数据/请求传送功能;
步骤106:完成任务的逻辑簇解散,各节点重新执行物理簇的调度周期。
逻辑簇的生成与解散过程如图4所示。
以上描述的仅是本发明的一个最佳实施例,本发明的保护范围并非局限于上述具体实施例,凡本领域技术人员根据本发明所做出的显而易见的改动均落在本发明的保护范围内。