一种面向数据收集任务的水声网络媒体接入控制方法与流程

文档序号:11525095阅读:182来源:国知局
一种面向数据收集任务的水声网络媒体接入控制方法与流程

本发明属于通信技术领域,具体是一种媒体接入控制(mediaaccesscontrol,mac)协议领域,具体涉及一种面向数据收集任务的水声网络媒体接入控制方法。



背景技术:

近年来,我国对海洋的探测与开发越发重视,水声传感网络的相关技术也迅速发展,并且广泛应用于海洋探测,例如洋流监测、环境数据收集与灾难预警等。而由于水声信道的传播时延长、误比特率高与传输带宽受限等特性,mac协议设计是数据收集型水声传感网络的一个重要挑战。

水声传感网络mac协议根据信道占用方式大致可以分为两类,分别为非竞争的mac协议与基于竞争的mac协议。非竞争方式mac协议主要包括tdma(timedivisionmultipleaccess,时分多址)、ofdma(orthogonalfrequencydivisionmultiplexing,正交频分复用)、cdma(codedivisionmultipleaccess,码分多址)等。由于非竞争mac协议不需要竞争信道,使其容易获得较高吞吐量。但是,在水声传感网络中,tdma时间同步很难实现,ofdma解码同步困难,cdma远近效应问题难以解决以及需要复杂的硬件设置加以配合。因此,非竞争的mac协议并不适用水声传感网络。基于竞争的mac协议采用节点发送控制包预约信道,信道预约成功后,再向接收节点传输数据。基于竞争的mac协议有利于降低网络信道接入时延并保证信道利用率,但一次成功的信道预约只能传输一个节点的数据,因此网络吞吐量较低。

另外,随着水下移动平台技术的发展,auv(autonomousunderwatervehicle,自主式水下航行器)被广泛地应用于水下环境数据收集等应用中。而现有的水声传感网络的mac协议,大多没有考虑移动节点的接入问题,使这些已有的mac协议并不适用于有移动节点的数据收集型水声传感网络。



技术实现要素:

本发明的目的是针对现有水声传感网络mac协议不适用水下环境数据收集任务与不支持移动节点的接入,提出一种面向数据收集任务的水声网络媒体接入控制方法。

本发明采用rts竞争机制,当节点有数据需要传输时,发送rts进行信道预约,当接收节点成功接收到rts包后,通过主动邀请其他节点加入传输机制,减少控制包的传输,有效提高网络吞吐量,同时提高节点传输的公平性。

本发明是通过以下技术方案实现的:

步骤(1)网络初始化:

建立网络节点拓扑结构信息:将n个水声传感节点与1个汇聚节点通过水声连接,形成一个集中式网络,n>1;各个水声传感节点广播自身位置信息,汇聚节点根据接收到的位置信息,计算与每个水声传感节点的传播时延,汇聚节点与水声传感节点的传播时延为汇聚节点和水声传感节点的距离与声速的比值;

步骤(2)信道预约:

当水声传感节点有数据需要发送,且汇聚节点不处于传输状态时,该水声传感节点向汇聚节点发送rts(requesttosend,请求发送)包进行信道预约,rts包由rts标志位、发送节点地址、接收节点地址、需要传输数据包个数和结束位组成;发送完rts包后,水声传感节点启动rts定时器,完成信道预约;

当rts定时器溢出时,表明传输失败,水声传感节点重新进行信道预约;

步骤(3)传输邀请:

汇聚节点接收到某个水声传感节点发送的rts包后,根据汇聚节点与各水声传感节点之间的传播时延,计算接收各个水声传感节点notice(响应)包的时间和总时长,同时预留移动节点notice包接收时间,所述的移动节点为可移动的水声传感节点;汇聚节点发送invite(邀请)包,主动邀请其它水声传感节点加入本轮传输,invite包由invite标志位、发送节点地址、各接收节点地址与汇聚节点接收各水声传感节点notice包的时间、接收notice包的总时长和结束位组成;汇聚节点发送完invite包后,汇聚节点启动invite定时器,完成传输邀请;

当invite定时器溢出时,表明传输失败,水声传感节点重新进行信道预约;

步骤(4)邀请响应:

水声传感节点接收到汇聚节点发送的invite包后,如果有数据需要传输,根据汇聚节点接收notice包的时间计算等待时间;经过等待时间后,水声传感节点向汇聚节点发送notice包,notice包由notice标志位、发送节点地址、接收节点地址、需要传输数据包个数和结束位组成;水声传感节点发送完notice包后,启动notice定时器,完成邀请响应;

当notice定时器溢出时,表明水声传感节点传输失败,水声传感节点重新进行信道预约;

步骤(5)传输顺序广播:

汇聚节点接收完水声传感节点发送的notice包后,根据invite包的发送时间与接收到移动节点notice包的时间,计算汇聚节点与移动节点之间的传播时延,汇聚节点与移动节点之间的传播时延为invite包的发送时间与汇聚节点接收到移动节点notice包时间的时间间隔的一半;再根据汇聚节点与发送了notice包的各水声传感节点之间的传播时延,计算接收各水声传感节点data(数据)的时间;汇聚节点发送order(顺序)包,order包由order标志位、发送节点地址、各接收节点地址与汇聚节点接收各水声传感节点data包的时间、接收data包的总时长和结束位组成;汇聚节点发送完order包后,启动order定时器,完成传输顺序广播;

当order定时器溢出时,表明传输失败,水声传感节点重新进行信道预约;

步骤(6)数据传输:

水声传感节点接收到order包后,根据汇聚节点接收data包的时间,计算发送data包的等待时间;水声传感节点等待相应时间后,向汇聚节点发送data包,data包由data标志位、发送节点地址、接收节点地址、数据、数据校验位和结束位组成;发送完data包后,水声传感节点启动data定时器,完成数据传输;

当data定时器溢出时,表明传输失败,水声传感节点重新进行信道预约;

步骤(7)传输确认:

汇聚节点接收完所有水声传感节点的data包后,广播ack(确认)包,ack包由ack标志位、发送节点地址、各数据包接收成功指示位和结束位组成;本轮传输结束,返回到步骤(2)。

与其它水声传感网络mac协议相比,本发明的优点体现在:

1、现有的基于竞争的mac协议在一次成功预约信道后,只能有一个节点进行数据传输,由于水声信道传播时延长,这种传输方式的吞吐量不高;本发明在一次成功预约信道后,接收节点主动邀请其它水声传感节点加入本轮数据传输,能够有效的提高传输吞吐量,尤其是数据收集型网络。

2、当水声传感网络中有多个节点需要向汇聚节点发送数据时,多个rts包会在汇聚节点处发生冲突,从而导致信道预约失败;本发明在一次成功预约信道后,接收节点主动邀请其它水声传感节点加入本轮数据传输,可有效地减少rts包在汇聚节点处的冲突。

3、现有的水声mac协议大多不支持移动节点的接入,而本发明为移动节点预留了传输时间,适用于带移动节点的数据收集型水声传感网络。

附图说明

图1为水声数据收集网络模型;

图2为本发明信道预约示意图;

图3为本发明汇聚节点状态转移图;

图4为本发明水声传感节点状态转移图;

图5为本发明控制包和数据包格式。

具体实施方式

以下结合附图实施例对本发明作进一步详细说明。

具体通过以下步骤实现:

步骤(1)网络初始化:

如图1所示,建立网络节点拓扑结构信息:将4个水声传感节点a,b,c,d与1个汇聚节点sink通过水声连接,其中水声传感节点d为移动节点,形成一个集中式网络。各个水声传感节点广播自身位置信息,汇聚节点根据接收到的位置信息,计算与水声传感节点a,b,c,d的传播时延τsink,a,τsink,b,τsink,c,τsink,d,汇聚节点与水声传感节点的传播时延为汇聚节点与水声传感节点的距离与声速的比值。之后汇聚节点按图3所示,水声传感节点按图4所示,分别进行状态转移。

步骤(2)信道预约:

如图2所示,当水声传感节点a有数据需要发送,且汇聚节点不处于传输状态时,水声传感节点a向汇聚节点发送rts包进行信道预约,rts包格式如图5所示,由rts标志位、发送节点地址、接收节点地址、需要传输数据包个数和结束位组成;发送完rts包后,水声传感节点a启动rts定时器,完成信道预约,rts定时器时长trts_timer=2τsink,a+2θ,θ为控制包传输时长。

当rts定时器溢出时,表明传输失败,水声传感节点重新进行信道预约;

步骤(3)传输邀请:

汇聚节点接收到传感节点a发送的rts包后,根据汇聚节点与各水声传感节点之间的传播时延,计算接收各个水声传感节点notice包的时间和总时长,具体方法是:按照汇聚节点与各水声传感节点传播时延递增的顺序,汇聚节点给水声传感节点i分配notice包接收次序onotice,i,同时设定移动节点notice包接收次序为1,如图2所示,汇聚节点接收传感节点notie包的顺序为d,a,b,c。汇聚节点接收水声传感节点i的notice包的时间tr_notice,i=tr_notice,d+(onotice,i–1)(θ+tguard),接收notice包的总时长tr_notice,sink=tr_notice,c–ts_invite,sink+θ+tguard,tr_notice,d=ts_invite,sink+2τsink,d+θ为移动节点d的notice包接收时间,ts_invite,sink为汇聚节点发送invite包的时刻,τsink,d为汇聚节点与移动节点d之间的传播时延,tguard为保护时长。汇聚节点发送invite包,主动邀请其它传感节点加入本轮传输,invite包格式如图5所示,由invite标志位、发送节点地址、各接收节点地址与汇聚节点接收各水声传感节点notice包的时间、接收notice包的总时长和结束位组成;汇聚节点发送完invite包后,汇聚节点启动invite定时器,完成传输邀请,invite定时器时长tinvite_timer=tr_notice,sink;

当invite定时器溢出时,表明传输失败,水声传感节点重新进行信道预约;

步骤(4)邀请响应:

水声传感节点i接收到汇聚节点发送的invite包后,如果有数据需要传输,根据汇聚节点接收notice包的时间计算等待时间tw_notice,i,tw_notice,i=tr_notice,i–tr_invite,i–τsink,i–θ,tr_notice,i为汇聚节点接收水声传感节点i的notice包的时间,tr_invite,i为水声传感节点i接收invite包的时刻,τsink,i为汇聚节点与水声传感节点i之间的传播时延;经过等待时间后,水声传感节点向汇聚节点发送notice包,notice包格式如图5所示,由notice标志位、发送节点地址、接收节点地址、需要传输数据包个数和结束位组成;水声传感节点i发送完notice包后,启动notice定时器,完成邀请响应,notice定时器时长为tnotice_timer=tr_notice,sink-tw_notice,i。

当notice定时器溢出时,表明传感节点i传输失败,水声传感节点重新进行信道预约;

步骤(5)传输顺序广播:

汇聚节点接收完水声传感节点发送的notice包后,根据invite包的发送时间与接收到移动节点notice包的时间,计算汇聚节点与移动节点d之间的传播时延τsink,d,汇聚节点与移动节点之间的传播时延为invite包的发送时间与汇聚节点接收到移动节点notice包时间的时间间隔的一半;再根据汇聚节点与发送了notice包的各水声传感节点之间的传播时延,汇聚节点计算接收各水声传感节点data包的时间和总时长,具体方法是:根据汇聚节点与水声传感节点传播时延递增的顺序,汇聚节点给水声传感节点i分配data包接收次序od,i,如图2所示,汇聚节点接收传感节点data包的顺序为a,b,c,d。汇聚节点接收水声传感节点i的data包的时间为接收data包的总时长为tr_data,a=ts_order,sink+2τsink,a+θ,ts_order,sink为汇聚节点发送order包的时刻,δ为一个数据包的传输时长。汇聚节点发送order包,order包格式如图5所示,由order标志位、发送节点地址、各接收节点地址与汇聚节点接收各水声传感节点data包的时间、接收data包的总时长和结束位组成;汇聚节点发送完order包后,启动order定时器,完成传输顺序广播,order定时器时长torder_timer=tr_data,sink。

当order定时器溢出时,表明传输失败,水声传感节点重新进行信道预约;

步骤(6)数据传输:

水声传感节点i接收到order包后,根据汇聚节点接收data包的时间,计算发送data包的等待时间tw_data,i,tw_data,i=tr_data,i–tr_order,i–τsink,i–θ,tr_data,i是汇聚节点接收水声传感节点i的data包的时间,tr_order,i为水声传感节点i接收order包的时刻。水声传感节点等待相应时间后,向汇聚节点发送data包,data包如图5所示,由data标志位、发送节点地址、接收节点地址、数据、数据校验位和结束位组成;发送完data包后,水声传感节点启动data定时器,完成数据传输,data定时器时长为tdata_timer=tr_data,sink–tw_data,i;

当data定时器溢出时,表明传输失败,水声传感节点重新进行信道预约;

步骤(7)传输确认:

汇聚节点接收完所有水声传感节点的data包后,广播ack(确认)包,ack包如图5所示,由ack标志位、发送节点地址、各数据包接收成功指示位和结束位组成;本轮传输结束,返回到步骤(2)。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1