本发明涉及一种在基于双轮转调度机制的水下传感器网络无冲突方法。
背景技术:
地球表面的大约70%被海水覆盖,而且现在大部分海洋仍然没有被开发。探索水下环境、开发海洋资源大大推动了水下传感器网络的发展。水声传感器网络的设想是能够应用到海洋地理数据收集、海洋环境监测、海底探索、辅助导航和战术监视等,可以为水下的各个应用带来技术支持与帮助。
水声通信是物理层技术的典型应用,几乎大部分的水下通信都采用声波方式。由于海水的衰减,无线电波不能够适应在水下传感网络。同时在海水下环境中,由于光通信受到海水散射和吸收的影响,所以无线电和光通信,仅用于短距离的水下通信。在大多数实际的水声传感器网络发展中,水声通信是唯一可行的技术。水声信道具有长传播延迟、低比特率和容易出错的特点。水声信号在水中的传播速度约为1500米/秒,在水下传播延迟比地面无线电频率高五个数量级。可用带宽由传输范围和频率决定。当前水声环境复杂限制了通信性能,由于路径损耗、多路径、多普勒效应的影响,水声信道是很容易出错。
适用于水声网络的mac协议是一个不同于陆上无线网络的新领域,由于海洋环境的复杂性,以及陆上协议物理层的限制,陆上无线网络的mac协议是不能够适应到水声网络。现在的水下传感器网络mac协议主要分为二类:一类是竞争的mac协议,节点采用竞争的方式去获得信道的使用,才能避免冲突,主要的协议有csma协议、s-mac协议、aloha协议等;另一类是基于调度的mac协议,通过控制数据的发送和接受方式,避免数据冲突,主要有cdma协议、fdma协议、tdma协议等。
本发明是提出一种基于双轮转调度机制的水下传感器网络无冲突方法,实现数据在水下传感器网络中无冲突的传输,每个节点按照双轮转调度机制进行工作,实现节点有序传输数据,提高数据传输的信道利用率。
技术实现要素:
本发明提供的一种基于双轮转调度机制的水下传感器网络无冲突方法,通过双轮转调度机制,提高了数据传输效率,实现节点有序传输数据,提高数据传输的信道利用率。
为了达到上述目的,本发明提供一种基于双轮转调度机制的水下传感器网络无冲突方法,该方法包含以下步骤:
网络部署,网络中的一个节点被选作主网络协调器,一个节点被选为从网络协调器;
有序顺序的建立,网络协调器可以监视每个信号节点,并检测网络中各节点的相对位置,采用最临近算法建立有序顺序表;
根据有序顺序表进行双轮转调度机制,每个节点有序的进行数据的传输,节点间竞争信道,采用csma协议机制;
采用超时计数器,为了保证节点间按照正序序列或逆序序列正常的传输;
网络结构维护,网络拓扑结构改变或节点失败,网络协调节点广播关于传输命令的信息,以适应拓扑变化,并改变双轮转调度机制;
上述的基于双轮转调度机制的水下传感器网络无冲突方法,根据所述步骤一:本发明一种基于双轮转调度机制的水下传感器网络无冲突方法主要解决的是水下传感器网络数据传输冲突问题,所述的选取网络协调器,将网络中节点的剩余能量、初始能量作为参数,对节点当选网络协调器的阈值进行设置,选择高于阈值且能量高的节点作为网络协调器。
上述的基于双轮转调度机制的水下传感器网络无冲突方法,根据所述步骤二:在获取各节点的相对位置d(c,cj)后,c代表主节点,cj是静态拓扑中的其余节点,网络协调器建立一个正序传输顺序列表a以及逆序传输顺序列表b。
上述的基于双轮转调度机制的水下传感器网络无冲突方法,根据所述步骤二:所述的最临近算法是指,k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。
上述的基于双轮转调度机制的水下传感器网络无冲突方法,根据所述步骤三:所述的csma协议机制是指,每个节点在发送数据前,首先要监听信道是否空闲,如果信道空闲就立即发送数据。
上述的基于双轮转调度机制的水下传感器网络无冲突方法,根据所述步骤三:所述的双轮转调度机制是指,当节点正序和逆序双传输顺序广播到每个节点,整个水下传感器网络按照正序循环和逆序循环的方式遵循这一顺序进行传送数据。
上述的基于双轮转调度机制的水下传感器网络无冲突方法,根据所述步骤四:所述采用超时计数器是指,每一个节点都有一个空闲超时计数器去触发传输,每个数据帧记录每个数据帧的到达时间。
上述的基于双轮转调度机制的水下传感器网络无冲突方法,根据所述步骤五,网络协调节点可以监控从每个节点的信号,不断以获取关于网络拓扑结构的信息。
本发明提供了一种基于双轮转调度机制的水下传感器网络无冲突方法,提高了数据传输的高效率,确定网络协调器,只需要节点按照网络协调器的有序顺序表进行有序传输,通过空闲超时计数器保证节点间正常的传输,以及拓扑的控制,完成无冲突的方法。它可有效提高网络的信道利用率,能够大大的提高数据传输效率,降低数据碰撞风险,实用性强,易于推广。
附图说明
图1是本发明实施例的基于双轮转调度机制的水下传感器网络无冲突方法发明流程图;
图2是本发明实施例的节点传输数据图;
具体实施方式
为了便于理解本发明,下面参照相关附图对本发明进行全面的描述。附图中给出了本发明的较佳实施例。但本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。提供实施例的目的是本发明的公开内容理解更加透彻全面。
本发明提供的基于双轮转调度机制的水下传感器网络无冲突方法,有效的应用于水下传感器网络,有效提高网络的信道利用率,能够大大的提高数据传输效率,降低数据碰撞风险,从而达到科学执行目的:
请参照图1发明流程图,本实施例方法步骤如下:
步骤一:网络部署,网络中的一个节点被选作主网络协调器,一个节点被选为从网络协调器;
步骤二:有序顺序的建立,网络协调器可以监视每个信号节点,并检测网络中各节点的相对位置,采用最临近算法建立有序顺序;
步骤三:根据有序顺序表进行双轮转调度机制,每个节点有序的进行数据的传输,节点间竞争信道,采用csma协议机制;
步骤四:采用超时计数器,为了保证节点间按照正序序列或逆序序列正常的传输;
步骤五:网络结构维护,应对网络拓扑结构改变或节点失败。
在本发明的实施例中,网络部署步骤中,选取网络协调器节点的原则,相对比其它节点能量高的节点。
在本发明的实施例中,网络协调器的选取,将网络中节点的剩余能量、初始能量作为参数,对节点当选网络协调器的阈值进行设置,选择高于阈值且能量高的节点作为网络协调器。
在本发明的实施例中,在获取各节点的相对位置d(c,cj)后,c代表主节点,cj是静态拓扑中的其余节点,网络协调器建立一个正序传输顺序列表a以及逆序传输顺序列表b,从源到目的地的路由总长度顺序列表,利用下面的公式进行计算相对距离。
旅行推销员问题(travellingsalesmanproblem,简记tsp)是为了找到有序节点之间的最小的行程距离,在单跳网络中的节点的数目往往是小于平均12个,采用最临近算法;
在本发明的实施例中,双轮转调度机制可以进一步的概括为:通过计算每个节点的位置,网络协调器得到传输数据的节点的有序顺序表,其中主网络协调器得到是正序的有序节点的信息,从网络协调器得到是逆序的有序节点信息,分别广播一个包含正序和逆序的有序序列表的信息。每个节点获得有序序列表后,节点就根据协议以循环的方式传输数据,其中二种循环列表实现了双轮转调度。
在本发明的实施例中,当节点正序和逆序双传输顺序广播到每个节点,整个水下传感器网络按照正序循环和逆序循环的方式遵循这一顺序进行传送数据。各个节点先是按照正序循环方式进行数据传输,在一定的时间后,节点会按照逆序循环方式进行数据传输。当一个节点想要发送数据帧时,它必须等待正序循环或者逆序循环顺序序列之一轮转到它,才可以去传输数据帧。下一个个节点在接受到前一个节点传输数据帧,触发发送机制,立即去发送数据,而不是等待最大的传播时延或者保护时间。要做到这一点,每个节点都要不断地检测数据帧,并将其区分开来接收帧。当一个节点检测到来自前一节点传输载波的终止信息,它会在一个硬件的传输和接受的过渡时间后,立即开始传输数据帧。当完成传输,节点返回到检测状态。由于采用双轮调机制,每个节点不是去检测信道的忙碌状态,而是接到上一个节点传输的数据帧后,开始传输数据帧,有效地避免传播延迟对载波的监听的影响。如果上一个节点没有发送一个数据帧,缓冲区中没有数据帧,采用超时计数器,达到一定的时间,节点仍然会在很短的时间内开始传输。
在本发明的实施例中,csma协议机制是指,每个节点在发送数据前,首先要监听信道是否空闲,如果信道空闲就立即发送数据。如果监听到信道忙时,仍然继续监听信道状态,一直等到信道状态空闲开始发送数据。
在本发明的实施例中,最临近算法是指,k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。
在本发明的实施例中,超时计数器可进一步的概括,在每一个节点都有一个空闲超时计数器去触发传输,每个数据帧记录每个数据帧的到达时间,然后根据该记录对预测下一传输时间,因为两者之间的传输延迟的记录在同一节点相同。如果节点在预测的时间内,没有收到来自上一节点的数据帧,空闲超时计数器就开始计数,每个节点在空闲时候的时间超过超时计数器预设值后仍然会发送数据帧。
在本发明的实施例中,网络协调节点可以监控从每个节点的信号,不断以获取关于网络拓扑结构的信息。当网络拓扑结构改变或节点失败,网络协调节点广播关于传输命令的信息,以适应拓扑变化,并改变双轮转顺序,该方法可以使拓扑继续保持高效率。
下面用一个实例来阐述本方法。
如图2节点传输数据图所示,假设有五个节点abcde,浅灰色的数据表示发送方,黑色的数据表示接收方,正序顺序为abcde节点,逆序顺序为edcba节点。首先,按照正序循环,节点a发送数据帧给节点c,但要经过节点b,同时逆序循环也在进行,节点e在一定的时间后(时间定义为在节点a按照正序顺序开始发送数据长度的发送时间与到达节点b数据的接受时间之间),按照逆序循环方式发送数据帧5给节点d;当正序循环轮训到节点b,它接受来自节点a的数据帧1传输后,发送数据帧2,接着节点c发送数据,在节点c采用栈数据结构,后进先出的方式传输数据帧,也就是当节点c接受到节点b的数据帧后,又检测到逆序轮训节点d发送的数据帧,节点c等待接受节点d的数据,而不是去转发刚接收节点c的数据,此时轮训会有一个等待时延(时间定义为小于信道长度/传输速率),当c接受完数据后,会先传输节点d的数据帧,再传输节点b的数据帧。前一个节点没有数据帧发送,下一个节点采用超时计数器,如果达到一定的时间,仍然会在很短的时间内开始传输,这是不同于等待检测信道忙碌状态的传统水下传感器网络。
本发明的已在水下传感器网络环境中验证,其证明可大大提高信道利用率。
虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。