发明名称 一种基于双路径传输的数据采集方法
摘要 本发明公开了一种基于双路径传输的数据采集方法,该方法节点首先在启动时入网,通过侦听信道并且接受同步包来获得它周围邻居节点的信息,组成邻居列表,然后根据邻居列表选出侦听时槽,信道以及广播帧编号实现入网;节点入网后会在自己选的帧编号的那一帧的第零时槽广播同步包,并且在每一帧的所选时槽进行侦听信道;当网络中有数据要进行传输时,可以迅速建立起从源节点到目的节点的双路径传输,形成pipeline,因为本方法完全利用了网络带宽,故数据包将以极快的速度进行传输,传输完数据包之后,网络中的节点又会进入低能耗侦听状态。本方法不但适用于大量数据采集的情况,也同样适用于数据量不大,但实时性要求较高的场合。
申请公布号 CN102821420B 申请公布日期 2014.12.17
申请号 CN201210255689.3 申请日期 2012.07.23
申请人 东南大学 发明人 刘昊;安钢;蒋富龙;吴建辉
分类号 H04W28/04(2009.01)I;H04W76/04(2009.01)I 主分类号 H04W28/04(2009.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 柏尚春
主权项 一种基于双路径传输的数据采集方法,其特征在于:该方法节点各个阶段的通信流程包括如下步骤:1)网络当中的所有节点在首次启动后必须经过入网过程才能参与数据包传输,汇聚节点一开始就处于入网状态,它选择第零帧的第零时槽为自己的广播时槽,进行同步包的广播,其他节点在收到第一个同步包后侦听信道一轮,然后建立邻节点列表,进入步骤2);2)节点根据建立的邻节点列表的信息,选择自己的侦听信道,侦听时槽并且根据两跳着色算法选出广播帧编号,即节点组成双路径pipeline所需的必要配置信息,此时节点首次具有了发送功能,然后进入步骤3);3)节点向外广播自己启动后的第一个同步包,如果同步包广播成功则说明已经入网成功,进入步骤4),否则进入步骤2);4)源节点每个时槽都检测是否有数据包要发送,如果没有数据包要发送,则睡去,如果有数据包要发,在它的上一跳先唤醒的节点中选择一个节点准备进行数据发送,则进入步骤6);5)对于接收节点,会在其侦听时槽中间某一时刻醒来侦听信道,如果没有数据包传输,则睡去,如果发现有数据包发来,则进入步骤6);6)此时,进入两个节点在单个时槽内部的数据包传输流程,其过程如下:61)首先,发送节点在目标节点的唤醒时槽跳转到目标节点的信道上并且发送一个短的前导包序列,用于提示目标节点有数据传输,进入步骤62);62)目标节点在自己的侦听时槽的中间某一时刻在侦听信道上唤醒,通过低能耗侦听进行信道轮询,如果轮询发现没有数据传输,则进入63),如果有数据传输,则进入64);63)节点侦听信道后发现没有数据传输,节点睡去,本周期数据传输结束;64)节点保持唤醒状态,直到接收到发送节点传来的Data包然后发送ACK确认帧,节点睡去,数据包成功接收,对于发送节点,收到此ACK帧,则表示数据包成功传输然后节点睡去,进入步骤7);7)下一时槽,源节点信道号加1,并在它的上一跳后唤醒的节点中选择一个节点进行发送,同时,先唤醒的节点将刚收到的数据包向上一跳继续转发,然后进入步骤8);8)下一时槽源节点信道号仍然加1并在它的上一跳先唤醒的节点中选择一个节点进行发送,中间转发节点则信道号加2,然后向它的上一跳节点转发收到的数据包重复步骤7)和步骤8)直到数据包沿此双路径pipeline成功传到汇聚节点,当传输过程中产生数据包丢失的情况时进入步骤9);9)发生丢包后,接收节点不会给发送节点回复ACK帧,没有收到ACK帧,发送节点就知道数据包发送不成功,于是会在下一次重新发送这个数据包;而对于接收节点,它没有成功接收到数据包,会在本地生成一个空的Dummy包,继续向上一跳转发,以维持pipeline的正常运行。
地址 214135 江苏省无锡市新区菱湖大道99号