1.一种油气管道物联网低能耗路由方法,其特征在于包括如下步骤:步骤1、网络初始化:
步骤101、汇聚节点向全部节点广播唤醒网络中节点,并且告知所有节点该汇聚节点的位置;
步骤102、当其他节点收到汇聚节点的唤醒消息后,将通过比较与汇聚节点位置后,计算自身与汇聚节点的距离进行存储,等待后续使用;
步骤103、网络中所有节点计算自身剩余能量并存储;
在每经过一次完整的数据传输之后,参与发送的节点包括:发送节点和候选转发节点,候选转发节点分为被选中的转发节点和未被选中的其他候选节点;所有节点重新更新计算自身的剩余能量;
发送节点的能量消耗计算公式描述如下:
其中 表示发送节点在一次完整的发送过程中的能量消耗;表示成功传输数据时发送包的次数;表示传输转发数据消耗能量; 表示发送RTS消息消耗的能量; 表示接收ACK消息时消耗的能量;SUM表示备选转发节点的总数; 表示接收CTS信息的能量消耗;
被选中为转发节点的能量消耗计算公式描述如下:
其中 表示被选中的转发节点在一次转发过程中的能量消耗; 表示接收RTS消息消耗的能量; 表示发送CTS消息的能量消耗;表示节点接收转发数据消耗的能量;
表示发送ACK消息的能量消耗;
未被选中的转发节点的能量消耗有两种不同的消耗类型:类型1. 在传输的过程中接收了发送节点传输的数据;
类型1未被选中的转发节点能量消耗计算公式描述如下:
其中 表示未被选中但接收转发数据的候选节点在转发过程中的能量消耗,表示节点接收转发数据消耗的能量; 表示接收RTS消息消耗的能量; 表示发送CTS消息的能量消耗; 表示接收ACK消息时消耗的能量;
类型2. 从始至终没有接收发送节点传输的数据;
类型2未被选中的转发节点能量消耗计算公式描述如下:
其中 表示未被选中且没有接收转发数据的候选节点在转发过程中消耗的能量,表示接收RTS消息消耗的能量; 表示发送CTS消息的能量消耗; 表示接收ACK消息时消耗的能量;
步骤2、发送节点开始传输和转发数据:
步骤201、向周围单跳之内的节点广播RTS信息;
当有节点准备发送数据时,第一步向周围单跳之内的节点广播RTS信息,在这个RTS信息中包含发送节点地理位置以及目标节点的地理位置,通知周围的节点计算自身能量消耗,判断自己能否成为预备转发节点;
步骤202、符合要求的节点向发送节点回复CTS的消息;
在周围节点完成自身判断后,符合要求的节点向发送节点回复CTS的消息,消息中包含预备转发节点自身的地理位置以及当前剩余能量,之后自动成为发送节点的预备转发节点,同时不再接受其他发送节点的RTS信息;
步骤203、计算出各个节点的优先级;
计算节点i的优先级 的公式描述如下:
其中 表示候选节点i的转发优先级, 表示节点i已经使用的能量占初始能量的比例, 则表示节点i与发送节点之间的距离差占发送节点到目标节点距离的比例,DS表示发送节点距离汇聚节点之间的距离,Di表示候选转发节点i距离汇聚节点之间的距离;E0表示节点初始能量,Eresi表示候选转发节点i的当前剩余能量;
步骤204、分配对各个节点的发送次数C;
C表示在通信过程中发送节点在发送数据包的最大次数;在发送了C次之后如果还没有发送成功,节点将自动丢弃数据包,减少节点的无效能量消耗;
步骤3、用退避策略确定最终转发节点:
退避策略描述如下:
在发送的过程中,一旦发送成功,接收到数据的节点向周围广播ACK,这个ACK中包含了发送信息节点的优先级 ;当发送节点接收到ACK后开始准备下一数据包的发送,而其他预备转发节点在接收到ACK后,停止接收数据包,而已经接受到数据包的节点等待一个时间T,进行比较ACK信息中包含的优先级 ,优先级低的节点丢弃数据包,优先级高的节点准备转发数据包;在极端的情况下,有可能出现优先级相同的情况,这时候优先选择剩余能量高的节点进行转发数据。
2.根据权利要求1所述的油气管道物联网低能耗路由方法,其特征在于:所述的步骤2中计算自身能量消耗,判断自己能否成为预备转发节点的方法:对于未被选中的转发节点的能量消耗有两种不同的消耗类型,未被选中的转发节点的能量消耗有两种不同的消耗类型:类型1. 在传输的过程中接收了发送节点传输的数据;
类型2. 从始至终没有接收发送节点传输的数据;
类型1未被选中的转发节点能量消耗计算公式描述如下:
其中 表示未被选中但接收转发数据的候选节点在转发过程中的能量消耗,表示接收转发数据消耗的能量; 表示接收RTS消息消耗的能量; 表示发送CTS消息的能量消耗; 表示接收ACK消息时消耗的能量;
类型2未被选中的转发节点能量消耗计算公式描述如下:
其中 表示未被选中且没有接收转发数据的候选节点在转发过程中消耗的能量,表示接收RTS消息消耗的能量; 表示发送CTS消息的能量消耗; 表示接收ACK消息时消耗的能量。