论文部分内容阅读
无线传感器网络(Wireless Sensor Networks,WSN)是以数据为中心的无线网络,为了获取精确信息,通常会部署大量传感器节点,而这些传感器节点的部署环境往往较为特殊,难以进行人为干预,比如在森林防火、海洋环境监测、戈壁水土监测以及军事等工程背景中的应用。复杂的监测环境不利于WSN的维护,这使得降低节点能耗、延长网络的生命周期成为了近年来研究的重点。分簇拓扑路由技术能够有效均衡网络能耗以及延长网络生存时间,通过选择合适的簇头,将网络分割为多个层次的数据传输子网,在节能和扩展性方面具有独特的优势。LEACH(Low Energy Adaptive Clustering Hierarchy)拓扑路由算法是分簇拓扑控制中的经典,其簇头的选择是随机的。近年来对该算法的改进也是层出不穷,但多数没有考虑到WSN部署的复杂地形,而且簇头的选取仍然存在缺陷。针对这样的工程背景以及存在问题,提出了一种以骨架节点作为簇头的层次型拓扑路由算法SNACH(Skeleton Nodes Acting As Cluster Head)。首先对图形处理技术中提取骨架的方法进行了深入研究,由于图形的骨架能够充分反映图形的结构特征,SNACH算法将网络的轮廓抽象为一个平面“图形”,并提取“图形”骨架,由此得到的骨架节点同样能够充分的反映监测网络的结构特征。这些骨架节点通常位于网络的“中轴”位置,利用这些节点充当簇头,和周围其他普通节点的通信距离相对平均,从而能够分担簇头压力,降低网络负载,延长网络生命周期。SNACH算法首先在网络中提取骨架节点作为簇头,并对骨架节点进行扩展,得到一个骨架网络带作为簇头的备选集合,之后在簇头节点的备选集合中建立能量模型,以能量模型为基础轮替选择充当簇头的节点,从而得到一个能耗均衡的网络。最后搭建了OMNeT++(Objective Modular Network Testbed in C++)仿真平台,利用NED(Network Description)语言编写基站节点、簇头节点以及普通节点等模块,通过C++语言进行逻辑实现。并根据传感器节点的实际情况对节点建立能量模型,更加真实地对WSN进行仿真实验。实验结果表明,SNACH算法的簇头节点在每一轮仿真实验中都能够均匀的分布在网络中,没有出现簇头节点过于集中或者过于靠近边界等现象。当基站节点处于不同位置时,SNACH算法在节点能耗以及网络生命周期等方面的性能也都优于LEACH算法,其中当基站节点处于原点坐标时,效果最为明显。