利用信号强度的桥梁健康监测传感网的节点次序自动推导方法

文档序号:9331190阅读:512来源:国知局
利用信号强度的桥梁健康监测传感网的节点次序自动推导方法
【专利说明】利用信号强度的桥梁健康监测传感网的节点次序自动推导 方法 一、技术领域
[0001] 本发明对布置在桥梁上的具有线性拓扑结构的传感器网络提出了一种实用的节 点次序推导方法,它能够在不增加额外硬件、不影响网络正常工作、只需在节点端添加少量 代码的情况下,自动推导出节点相对次序。本发明同样适用于布置在道路、直树等其他具有 线性拓扑结构的传感器网络。 二、
【背景技术】
[0002] 使用传感器网络进行桥梁健康监测、路况监控、直树的生态数据采集等是传感网 的典型应用,在这些场景下传感节点呈现一维布局,或是线性拓扑,我们称这类网络为"线 性传感网"。在线性传感网中,节点的次序指的是节点在物理空间上的排序,例如,节点次序 为2-1-3-4指的是,节点2和4位于网络的边缘,节点1位于节点2和3之间,节点3位于 节点1和4之间。线性传感网中节点次序对节点的定位、地理位置信息路由、节点编号检 错具有重要价值。以节点编号检错为例。当前市面上的传感器节点在出产时并没有类似 MAC地址等的唯一标识,在应用中节点的编号信息全部由程序设置或由程序员手工输入,当 节点个数较多或是系统运行中软件更新换代时,极易出现节点编号与原先设计不一致的情 况。我们考虑如何在不影响系统正常工作、无需为节点添加额外硬件的前提下,自动推断出 节点间的相对次序,从而能够以极低的开销检测出节点编号与设计不匹配的情况。研究的 关键是如何在满足以上要求的前提下保证方法的正确率。
[0003]目前,未见推导节点次序的实用方法。 三、

【发明内容】

[0004] 本发明目的是:提出一种能够在布置于桥梁的线性传感网中快速找到节点相对次 序的方法,能够以只更新少量节点程序的形式直接应用到已布置的线性传感网系统中,且 具有开销低、正确率高的特点。
[0005] 为实现上述目的,本发明的技术方案是:利用信号强度的桥梁健康监测传感网的 节点次序自动推导方法,包括以下步骤:
[0006](1)启动,汇聚节点发出启动指令到桥梁健康监测传感网网络中,节点次序自动推 导方法启动;
[0007] (2)数据收集,传感器节点在收到指令后自由广播报文,同时监听其他节点的信 号,记录信号强度,将收集到的信号强度数据返回给汇聚节点;
[0008] (3)数据整理,汇聚节点将收集到的信号强度数据根据发射节点和数据包的编号 整理,剔除不完整数据;
[0009] (4)自动排序,汇聚节点对每一组整理过的数据执行提出的排序算法,给出节点相 对次序;
[0010] (5)结束,当连续多次得到同样的相对次序时,汇聚节点输出排序结果,并发出终 止指令到网络中,传感器节点停止广播报文和收集数据。
[0011] 进一步,步骤(2)中让每个节点纯分布式地广播数据,从而降低了系统的部署成 本;
[0012] 步骤(2)数据收集中,在传感器节点刚被布置到实际环境中,或是有新的节点加 入,或是部分传感器节点由于损坏而被替换,或是软件在更新过程中改变节点的编号时,汇 聚节点广播一个特殊的启动报文,该报文通过单跳或多跳的方式到达每个传感器节点;
[0013] 每个传感器节点在收到此指令后,独立地、周期性地广播一种称为"短消息"的报 文;短消息报文包含以下两个字段:发送者编号SenderlD,消息序号MsgSeq;每个传感器发 送编号是在将操作系统安装到传感器节点时为其设置的唯一代码,在TinyOS操作系统下 为T0S_N0DE_ID的值;消息序号为一个16比特长的无符号数字,从0开始计数,每次发送一 个广播报文后均执行加1操作,溢出时重新从〇开始计数,因此由同一个发送者发出的两个 相邻短消息的序号相差1 ;因为只包含这两个字段,因此命名此类报文为"短"消息;报文变 短能减小干扰;
[0014] 步骤⑶数据整理,汇聚节点持续不断地收到来自传感器节点的汇报数据,并实 时执行数据整理操作。数据整理的任务是将"不合格"(即,不满足最强信号对应最短距离 这个观测规律)的数据剔除出去,并将数据组织成利于后续算法开展的格式;汇聚节点在 本地维护两种缓存池,大小不一;较大的命名为临时缓存,较小的命名为样本缓存;临时缓 存会存储所有的RSSI数据,当临时缓存溢出时,溢出的数据被输出到样本缓存中,当样本 缓存同样被填满时,在经过检测后便输出最终合格的数据;临时缓存为每个信号发射节点 SenderlD维护一个缓存,缓存的每一个条目对应于SenderlD的某一个短消息,即,对应于 某一个MsgSeq;
[0015] 步骤(3)数据整理时剔除不完整数据,从而解决了由纯分布式特征而造成的可能 的fg号冲突和丢失。
[0016] 步骤(4)中提出了一个高效的节点次序推导算法,它利用了节点信号强度与距离 的关系,通过对线性网络端节点的枚举而寻找到整个网络节点的次序;算法在汇聚节点处 执行,利用了汇聚节点计算能力较强的特性从而避免给计算能力较弱的普通传感器节点增 加额外计算开销。
[0017]自动排序,排序算法的依据是:从某个节点的某一侧来看,距其最近的节点观测到 的RSSI最大;因此,测试一个节点是否能为端节点,若它是端节点,则从它的样本缓存中能 够找到离它最近的节点,即RSSI最强的节点;将端节点删除后,刚找到的节点便成为剩余 网络的新的端节点,以此类推;若此流程将所有节点均删除,则原先的待测试节点可能是端 节点,而节点被删除的顺序便成为一个备选次序;此时,测试备选次序的最后一个节点能否 是端节点,若答案是肯定的,并且两个得出的次序互为倒置,则得到一个正确的节点次序; 当对所有的节点进行端节点测试后,若得到了 〇个或两个以上的正确次序,则定位失败;否 贝1J,若仅得到了一个正确的次序,则定位成功,输出此次序;
[0018] 由于传感器节点在收到终止指令前不断收集RSSI并汇报给汇聚节点,因此,汇聚 节点的样本缓存不停被填满,从而引起算法3的执行,若连续多次算法3的输出均一致,则 正确的次序已经找到;此时,由汇聚节点发出一个终止指令到传感网中,传感器节点停止收 集和汇报数据。
[0019] 本发明的有益效果:该方法在数据收集时不需要节点之间进行协调,是完全分布 式的,避免了因为节点协调而带来的额外开销,而由此造成的不完整数据在数据整理阶段 被自动剔除;汇聚节点用于排序传感网节点的算法具有极低的时间开销和极高的准确率, 非常适用于桥梁健康监测传感网以及其他大规模线性传感网。本发明能对布置在桥梁上的 传感网在不使用额外硬件的前提下快速推导节点次序的方法,当连续多次得到同样的相对 次序时,汇聚节点输出排序结果,并发出终止指令到网络中,传感器节点停止广播报文和收 集数据。 四、
【附图说明】
[0020] 图1为本发明短消息报文格式;
[0021] 图2为汇总报文的格式;
[0022] 图3为临时缓存的组织形式;
[0023] 图4为样本缓存的组织形式。 五、
【具体实施方式】
[0024] 本发明可分为3个阶段:数据收集、数据整理、自动排序。
[0025] 阶段1 :数据收集
[0026] 在传感器节点刚被布置到实际环境中,或是有新的节点加入,或是部分传感器节 点由于损坏而被替换,或是软件在更新过程中有可能改变节点的编号时,管理者有必要担 心是否出现节点编号与预先安排不一致的情况,此时,管理者可令汇聚节点发起本方法。为 此,汇聚节点广播一个特殊的启动报文,该报文通过单跳或多跳的方式到达每一个传感器 节点。
[0027]传感器节点在收到此指令后,独立地、周期性地广播一种称为"短消息"的报文。短 消息报文包含以下两个字段:发送者编号SenderlD,消息序号MsgSeq,如图1所示。发送者 编号是在将操作系统安装到传感器节点时为其设置的唯一代码,在TinyOS操作系统下为 T0S_N0DE_ID的值;消息序号为一个16比特长的无符号数字,从0开始计数,每次发送一个 广播报文后均执行加1操作,溢出时重新从〇开始计数,因此由同一个发送者发出的两个相 邻短消息的序号相差1。因为只包含这两个字段,因此命名此类报文为"短"消息。报文变 短可以减小干扰的影响。为每个消息设置一个序号是为了保证其他节点测得的信号强度是 来自同一个短消息,即,同一次信号发送。虽然消息序号可能溢出的情况会导致来自同一个 发送者的两个不同消息具有相同的消息序号,但是因为序号是16比特数据,有65536种,当 溢出时,网络中其他节点收到的前一轮报文的信息已经被清除,所以在实际中未观测到由 此造成的负面影响。
[0028]见图1短消息报文的格式。传感器节点在广播自己消息之余监听来自其他节点的 短消息报文,每次收到一个短消息报文,便在本地记录以下三个数据,称为"三元组":发送 者编号SenderlD,消息序号MsgSeq,信号强度RSSI。其中,发送者编号和消息序号直接从收 到的短消息中读取,信号强度是从节点本地的无线电模块处取得。当此类三元组的个数达 到一定阈值时(由单个报文的最大长度决定),便将本地缓存的数据通过单跳或多跳发送 给汇聚节点。此类"汇总报文"具有以下格式,如图2汇总报文的格式所示:
[0029] (ObserverlD,三元组 1,三元组 2,三元组 3, ? ? ?)
[0030] 其中,ObserverlD即为汇报数据的节点的编号,起名为Observer意指它是信号的 观测者。考虑到汇报报文有可能丢失,每个三元组只有在被汇报两次后才从本地缓存中清 除,具体的操作如下。假设单个报文最多能够容纳的三元组个数为N,节点持续不断地采集 到了以下编号的三元组
[0031] 1, 2, 3, 4, ,N-l,N,N+1,...,
[0032] 则节点第一次汇报前N/2个三元组,分别为1,2, ...,N/2。自此后每次汇报N个 三元组,即,第二次汇报1,2,. . .,N,第三次汇报N/2+1,. . .,3N/2,第四次汇报N+1,. . .,2N, 等。每个三元组在被汇报两次后便从本地缓存中清除,为后续的三元组让出空间。因此,传 感器节点本地缓存的大小只需为N个三元组的长度,即为一个报文的大小。
[0033] 阶段2:数据整理。
[0034] 汇聚节点持续不断地收到来自传感器节点的汇报数据,并实时执行数据整理操 作。数据整理的任务是将"不合格"(随后定义)的数据剔除出去,并将数据组织成利于后 续算法开展的格式。具体操作如下
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1