无线传感器网络一般都是随机部署在监测区域内,一旦传感器节点分布完毕,网络管理者和用户基本上就很难对节点进行直接管理。此时,往往通过智能基站对具有信息存储和有限计算能力和能量的节点进行全局管理。因此,正确获悉部署区域内传感器节点的工作情况是高效、合理地对网络进行管理和应用的重要前提。首先,使用节点代理方案对监测区域内的节点进行处理,设处理结果产生n-1个代理,这样整个部署区域就被划分成n个组(包括基站),DBDAFNCJ算法分别对n个组进行处理,处理每个组时都是以基站或代理节点(注:统称为组长节点)为起点,然后获取相关存储信息按照逐跳路由的方式对某一方向的节点进行探测,算法中设置一空集,每次将探测到的节点加入空集,直到碰到不可达情况的节点,此时回溯到上一个节点继续探测未被访问的可达节点,当n个组都处理完毕以后,每组节点的并集即是部署区域内可以正常工作的节点。图3描述了使用DBDAFNCJ算法探测各组内节点连通性的方法。
算法DBDAFNCJ
AlgorithmDBDAFNCJ()
Begin
Si=f
//设置组内连通的节点初始集Si为空
Si←grouphead
If(Gi≠f)
//判断与组长连通的相邻节点初始集Gi为是否非空
{Si←在Gi集中任选一个节点记为k并标志为已访问;
Repeat{if(ki≠f)&&存在未被访问的节点
//判断与k节点连通的相邻节点初始集ki存在未被访问的节点
{Si←在ki集中任选一个未被访问过的节点j,并标志为已访问;
ki=ji;}
ji为与j节点连通的相邻节点集
Else
{回溯到上一个节点t
ki=ti;
}
Endif;
}
Until 整个节点集合的连通子集都处理完毕
}
Endif
End
DBDAFNCJ算法最后输出的结果是在网络覆盖区域内连通的传感器节点集,由上述算法可知,DBDAFNCJ算法的时间复杂度为О(H);空间复杂度为О(N)。其中H为算法探测的节点间路径数,N为覆盖区域内的节点数。
提出的DBDAFNCJ算法具有的优点为:充分利用了基站对传感器节点的所存储的记忆信息和节点间相关路由信息,为部署区域内无线传感器网络后续研究和使用提供了有效的决策信息;算法的时间和空间复杂度比较低,易于实现。
5仿真实
通过仿真实验对提出的节点代理方案和DBDAFNCJ算法进行性能评估,下面依次给出实验方法、环境和结果。
5.1实验环境
在广泛使用的网络仿真器ns-2的环境下用C++和TCL实现了节点代理方案和DBDAFNCJ算法,实验设备是一台运行RedhatLinux9.0,具有P42.8GHz处理器,512MB DDR内存的PC.实验中,假设传感器节点随机部署在1 000m×1 000m监测区域内,基站被随机地部署在监测区域的边界内部,基站的传输半径设为500m,节点的传输半径设为50m,成组节点分配代价Acost中的a1和a2的取值各设定为0.4和0.6,主要考虑到在仿真中由于节点代理方案中节点成组代价比例稍重一些。为模拟第3节讨论的实际部署区域中节点处于基站传输范围之外和存在诸如建筑物等障碍物使得节点处于孤立状态,在各种节点规模的仿真中,设置某一百分比的节点随机部署在基站的传输半径之外,在算法DBDAFNCJ的实现中,为简化起见,且不影响仿真结果的可靠性,除基站外,其余节点均只存储与其只有1跳路由关系的相邻节点,为了快速得到实验结果并且不影响仿真结果的可靠性,把节点的初始能量设置为20J,采用模型中节点能量消耗模型,此时能量足以满足实验条件,选择一个简化了的定向扩散协议[18]作为网络层的路由协议,修改协议使节点间以逐跳的方式进行路由。
5.2实验设计及结果
仿真实验中,主要考虑部署区域内节点可达率NRR(nodereachabilityratio)作为测试指标,计算如下:
NRR=部署区域内可达节点的数目/部署区域内节点总数
在上述仿真实验环境下,设计了两类实验方案对节点代理方案和DBDAFNCJ算法进行评估。
1)在部署区域内,改变部署节点的数量,固定处于基站传输范围之外的节点为总节点20%,把节点数目分为100、150、200、250、300、350、400 7种情况进行仿真。
2)在部署区域内,固定部署节点的数量为300,变化部署处于基站传输范围之外的节点百分比,把百分比分为5%、10%、15%、20%、25%、30% 6种情况进行仿真。
针对两类实验方案,使用DBDAFNCJ算法分别对使用节点代理方案部署区域节点预处理前后的节点连通性进行判定,分别记为PRE_DBDAFNCJ和POST_DBDAFNCJ,下面给出实验结果。方案1)、2)的实验结果分别如图4、图5所示。
5.3结果分析
从图4和图5的结果可以看出,一方面,DBDAFNCJ算法对于初始部署区域节点的连通性比例的判定基本与设定的节点连通性比例一致,说明了DBDAFNCJ算法可以很好地对部署区域内节点的连通性实际情况进行判定。另一方面,对于用节点代理方案处理后的部署区域使用DBDAFNCJ算法进行节点连通性判定的结果表明,节点代理方案较好地改善了部署区域内节点的连通性情况,方案1)中12%~15%的不可达节点实现了与基站的间接连通;方案2)中3%~12%的不可达节点实现了与基站的间接连通。那些最终还处于不可达状态的节点是因为其1跳范围内没有基站直接可达节点。在现实情况下,如部署区域中掉入深坑的节点、部署完毕即出故障的节点均可认为是此种情况。
6结束语
对于随机部署在监测区域的无线传感器网络节点连通性的研究是其后续研究、管理和应用的基础,针对在实际应用中,节点随机部署而可能出现与基站不能正常通信的问题,提出了一种使用与基站连通的节点作为代理解决基站不可达节点的方案,并基于节点存储的路由信息给出了一种节点连通性的判定算法,仿真实验中,在改变仿真节点数目而固定不可达节点比例以及固定仿真节点数目而改变不可达节点比例2种情况下,结果均表明所提出的节点代理方案可以有效地改善部署区域的节点不可达问题,同时表明,所提出的节点连通性判定算法能够高效地探测部署区域内节点的连通性状况。