论文部分内容阅读
在线编程是指通过无线传输程序镜像到网络中的节点,以达到更新节点功能的目的。本文针对在线编程过程中节点能耗不平衡,不能针对目标节点进行功能更新等缺点,在Deluge的基础上提出了多源节点在线编程方法和目标节点在线编程方法。多源节点在线编程方法通过在网络中部署多个源节点,使得目的节点在获取代码时能够选择通信跳数较少和链路质量较高的源节点,从而降低能耗和完成时间。本文研究应用了五种多源节点的部署方式:随机部署、最大跳数部署、连通支配集内随机部署、连通支配集内最大跳数部署、平均分割部署。在基于TelosB节点的物理实验中,多源节点与单源节点相比,在线编程完成时间平均减少20.4%,数据包收发数量平均减少23.5%。仿真实验对比了五种源节点部署方式的性能优劣,实验结果表明,在节点网格分布网络中,源节点平均分割部署方式取得最好的性能,与其他四种部署方式相比,在线编程完成时间平均减少38.3%,能量消耗约减少18.1%。在节点随机分布网络中,源节点连通支配集内随机部署方式取得最好的性能,与其他四种部署方式相比,在线编程完成时间平均减少7.4%,能量消耗约减少16.2%。随后,本文针对不能更新目标节点功能的问题,提出了目标节点在线编程方法,并针对程序镜像传输提出了一种基于GPSR路由算法,该路由算法综合考虑了节点剩余能量,节点间通信质量,数据传输完成时间等因素。仿真实验证明了目标节点在线编程方法能够有效地优化在线编程完成时间和网络寿命。本文提出的在线编程方法适用于较大规模的无线传感器网络,多源节点在线编程方法能够高效地完成较大规模网络的节点代码更新,而当网络中的节点需要执行不同的功能时,可以调用目标节点在线编程方法进行代码更新。