一种无线传感网络中动态拓扑的测量方法

文档序号:8366115
一种无线传感网络中动态拓扑的测量方法
【技术领域】
[0001]本发明涉及一种无线传感网络中动态拓扑的测量方法,特别是在数据包中添加路径特征值,并在数据包传输过程中逐跳更新数据包的路径特征值来记录数据包的传输路径的方法和在无线传感网络的管理服务器一端通过解码接收到的数据包的路径特征值来恢复接收到的数据包的传输路径的方法。
【背景技术】
[0002]无线传感网是一种基于无线通信的可以实现一定应用目的的新型网络,广泛应用于环境监测、目标定位等场合。在无线传感网络中,携带传感数据的数据包通过多跳无线的方式传送回汇聚节点,汇聚节点收到的数据包通常通过串口被传输至无线传感网的管理服务器进行后续分析处理。无线传感网络通常部署在动态的环境中,静态的路由无法适应不断变化的无线链路。因此,动态路由协议被应用于实际的无线传感网络部署中。在动态路由协议中,一个传感节点转发数据包的下一跳是动态确定的。因此,同一个传感节点所发出的多个数据包通常会经过不同的传输路径最终被传送至汇聚节点。网络的实时拓扑取决于网络中每一个数据包被转发至汇聚节点所经过的传输路径,因此对于网络中所有数据包的路径测量是无线传感网络动态拓扑测量的基础。由于网络拓扑不断变化,传统的拓扑测量技术无法准确的测量网络的实时拓扑。
[0003]在无线传感网络领域,已经有一些针对动态拓扑的测量技术,如PathZip、MNT等。其中PathZip技术在数据包中添加一个8字节的哈希值,数据包每经过一个节点的转发就将数据包内哈希值更新为原值与该节点ID哈希运算的结果。当管理服务器端收到数据包后对所有可能存在的路径的对应哈希值进行穷举,从而恢复出数据包中哈希值对应的传输路径。在大规模无线传感网络中,由于数据包的传输路径长度经常超过10跳甚至20跳,此时PathZip所需进行的穷举规模将十分巨大,使该方法无法在有效时间内成功恢复数据包的传输路径;MNT技术基于一个基本假设:如果一个传感节点连续产生两个数据包都发往同一个下一跳节点,那么在这两个数据包之间该节点转发的所有数据包也被转发至相同的下一跳节点。基于该假设MNT技术能够以很低的开销恢复数据包的传输路径。然而在实际网络当中,MNT所依赖的基础假设在很多情况下并不成立,且MNT的路径恢复性能要求全网的数据丢包率很低。因此MNT技术难以在实际大规模无线传感网络中取得较好的路径恢复成果。

【发明内容】

[0004]本发明的目的是提供一种无线传感网络中动态拓扑的测量方法。
[0005]为实现以上目的,本发明所采取的技术方案是:无线传感网络中动态拓扑的测量方法包括:
在无线传感网的建立阶段执行有步骤I至步骤3:
步骤1:无线传感网中的每一个传感节点向外广播自己的节点ID,并记录下自己所能接收到的其他传感节点所广播的数据包中的源节点ID,将各所述源节点ID所对应的传感节点作为自己的邻居节点;
步骤2:每一个传感节点为自己的每一个邻居节点分配一个序号,各传感节点的所有邻居节点的序号呈等差数列;将每个邻居节点的节点ID与其分配到的序号的映射关系保存起来;
步骤3:每一个传感节点将自己所保存的邻居节点的节点ID与其分配到的序号的映射关系发送给汇聚节点,再由汇聚节点将该映射关系转发给无线传感网的管理服务器;
在无线传感网的运行阶段执行有传感节点生成并发送数据包步骤、传感节点转发数据包步骤、汇聚节点转发数据包步骤和无线传感网的管理服务器恢复数据包路径信息步骤。
[0006]进一步地,本发明所述传感节点生成并发送数据包步骤包括:每个传感节点在自己生成的数据包中额外添加一个数据域,所述数据域包括一个路径特征值和一个溢出标记位,并将该路径特征值和溢出标记位初始化为O ;然后将添加有数据域的数据包送入发送队列。
[0007]进一步地,本发明所述传感节点转发数据包步骤包括:每个传感节点在转发数据包时,根据被转发的数据包的上一跳传感节点的ID,在该传感节点上所保存的邻居节点的ID与其被分配到的序号的映射关系中,查找到该被转发的数据包的上一跳传感节点所对应的序号;然后将被转发的数据包中的当前路径特征值更新为:MXNJh(X1-Y1)/Z1并判断更新结果是否发生溢出,其中,M表示被转发的数据包中的当前路径特征值,N1表示传感节点的所有邻居节点的数量,X1表示该被转发的数据包的上一跳传感节点所对应的序号,Y !表示传感节点的所有邻居节点所分配到的序号所构成的等差数列的最小项,Z1表示该等差数列的公差;如果更新结果发生溢出,则将被转发的数据包的溢出标记位记为I并将被转发的数据包送入转发队列;如果更新结果未发生溢出,则保持被转发的数据包的溢出标记位记不变并将被转发的数据包送入转发队列。
[0008]进一步地,本发明所述汇聚节点转发数据包步骤包括:汇聚节点在转发数据包时,根据被转发的数据包的上一跳传感节点的ID,在汇聚节点上所保存的邻居节点的ID与其分配到的序号的映射关系中,查找到该被转发的数据包的上一跳传感节点所对应的序号;然后将被转发的数据包中的当前路径特征值更新为MXN2+1+(X2-Y2)/Z2并判断更新结果是否发生溢出,其中,M表示被转发的数据包中的当前路径特征值,队表示汇聚节点的所有邻居节点的数量,&表示该被转发的数据包的上一跳传感节点所对应的序号,Y2表示汇聚节点的所有邻居节点所分配到的序号所构成的等差数列的最小项,Z2表示该等差数列的公差;如果更新结果发生溢出,则将被转发的数据包的溢出标记位记为I并将被转发的数据包送入转发队列;如果更新结果未发生溢出,则保持被转发的数据包的溢出标记位不变并将被转发的数据包送入转发队列。
[0009]进一步地,本发明所述无线传感网的管理服务器恢复数据包路径信息步骤包括: 步骤(I):无线传感网的管理服务器接收到经由汇聚节点转发而来的当前数据包后,判断所接收到的当前数据包中的溢出标记位的值:如果所接收到的当前数据包中的溢出标记位的值为1,则认为所接收到的当前数据包的路径信息无法恢复而结束对该当前数据包的恢复路径信息步骤;如果所接收到的当前数据包中的溢出标记位的值为0,则认为汇聚节点为该当前数据包的路径信息的最新被恢复出的一跳,并将汇聚节点的节点ID保存,并执行步骤(2);
步骤(2):所述管理服务器判断所接收到的当前数据包中的路径特征值,如果该当前数据包中的路径特征值为O,则认为该当前数据包的路径信息已恢复完成,将所述管理服务器所保存的被恢复出的每一跳所对应的节点ID所组成的节点ID序列的逆序序列作为该当前数据包的传输路径,并结束对该当前数据包的恢复路径信息步骤;如果该当前数据包中的路径特征值不为O,则执行步骤(3);
步骤(3):根据公式X3=M%N3XZ3+Y3-Z^算序号X3的值,其中,M表示所述管理服务器所接收到的当前数据包中的路径特征值;N3表示所述管理服务器所接收到的当前数据包的路径信息的最新被恢复出的一跳所对应的节点的邻居节点的数量;Y3表示所述管理服务器所接收到的当前数据包的路径信息的最新被恢复出的一跳所对应的节点的所有邻居节点所分配到的序号所构成的等差数列的最小项;Ζ3表示所述管理服务器所接收到的当前数据包的路径信息的
再多了解一些
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1