论文部分内容阅读
传感器网络是由大量低成本、低能耗、体积小且具有一定计算能力和组网能力的传感器节点组成。传感器节点一般依靠电池供电,其电能有限,并且传感器节点一旦配置后,由于其工作环境等因素的限制就很难对电池进行充电或更换电池,这就使得网络的寿命受到影响,从而不能长时间的使用网络。一种可行的方法是调度网络中的节点,让它们轮流工作来节省能源,以达到延长网络寿命的目的。因此,研究传感器网络的节点调度算法是十分必要的,并且将调度算法在传感器网络操作系统TinyOS中加以实现就更有实际应用价值。本文为了解决传感器节点能源有限性带来的问题,主要做了如下工作:首先分析了目前传感器网络节点调度算法的现状,主要分为三大类:基于连通、基于覆盖、θ覆盖。在分析的基础上,找出了这些算法的不足之处在于利用了节点的位置信息,并同时给出了本文算法的基本思想。然后,介绍了传感器网络操作系统TinyOS,对其特点和体系结构进行了分析,对TinyOS的运行机制及底层通讯机制进行了详细的阐述,也对实验仿真环境TOSSIM进行了介绍,这些分析,为本文算法的实现及实验奠定了基础。接着提出了一个基于邻居信息调度算法NDBN,它是一个完全分布式的调度算法,在算法中,节点不需要知道其它节点的位置信息,它们通过无线交换信息的方式来获得自己的邻居信息,然后根据自己邻居个数的情况来进行调度。文中对算法在初始工作节点的选择、网络的冗余度、睡眠节点的醒来率等性能方面给出了详细的设计。为将NDBN算法与TinyOS结合,本文还详细描述了NDBN算法组件的形成过程,并在分析TinyOS提供的定向扩散路由算法TinyDiffusion的基础上,将NDBN算法成功嵌入到TinyDiffusion中。最后,在TinyOS的实验仿真环境TOSSIM中对算法进行仿真实验。实验从NDBN算法的各个方面进行了分析,并和其它调度算法进行了对比。实验结果表明,NDBN调度算法使得网络中的大多数节点处于睡眠,达到了节能的目的,并且网络的覆盖基本上满足了要求。