一种基于模糊匈牙利方法的水下移动传感器转发方法与流程

文档序号:11264019阅读:148来源:国知局
一种基于模糊匈牙利方法的水下移动传感器转发方法与流程

本发明属于移动传感器网络机会转发技术领域,具体涉及一种基于模糊匈牙利方法的水下移动传感器转发方法。



背景技术:

随着海洋经济近年来的发展,水下传感器网络的应用是近年来无线传感器网络系统中的研究热点之一,水下传感器网络可以将传感器采集到的数据发送给地面控制中心,在灾难预警,资源勘测,以及环境测试等方面均有重要的应用前景。水下传感器网络基于水声多跳机制,主要由普通节点,锚定节点,汇聚节点组成,如图1所示,普通节点易移动,受环境影响较大,锚定节点一般由固定物牵引,受环境影响相对较小,转发状况相对稳定,汇聚节点一般位于水面,用于接收从普通节点产生的消息。

在传统移动自组织网网络中,节点会事先建立端到端路径,节点之间的数据传输比较稳定,但是在水下传感器网络中,受到节点移动性,节点的稀疏分布,以及传输距离等因素的影响,节点之间的链路会频繁中断,无法保障具有连续性的传输任务。这种复杂的网络环境与近年来提出的机会网络体系结构相似,利用“存储-携带-转发”的模式,节点在运动过程中通过与其他节点通过机会式接触进行数据传输。根据机会式网络的特点,路由算法可以分为单副本路由与多副本路由,单副本路由算法例如firstcontact,在网络中仅仅存在一个消息副本,尽管路由过程中的开销小,但是会有传输时延高,可靠性低的特点。对于多副本传输算法,例如sprayandwait,epidemic等,多个节点会在相同的时间周期携带同样的消息副本,这种方法更加适应动态的网络拓扑结构,尽管加大了网络资源的消耗,但是增加了消息的投递成功率,并且降低了消息传输延迟。

合理的转发策略可以更加充分的适应网络的动态变化,降低消息路由的随机性与不确定性,匈牙利方法(hungarianmethod)主要用于解决指派模型中的分配问题,这种方法已经在军事,金融,航空等领域有了一定的应用,而在水下传感器网络的消息转发过程中,节点对消息队列的处理实际上可以理解成分配消息给下一跳节点的过程,鉴于此有必要研究基于模糊匈牙利方法的水下移动传感器转发技术以利用锚定节点特性以及模糊匈牙利方法优化处理转发中的分配过程,提升消息投递成功率,降低转发时延。



技术实现要素:

本发明的目的是针对传统移动自组织网网络的缺点提出一种基于模糊匈牙利方法的水下移动传感器转发方法,通过由普通节点,锚定节点,汇聚节点组成的水下传感器网络进行消息转发。锚定节点先搜索范围内的普通节点并接收反馈信息,然后利用模糊匈牙利方法生成0-1矩阵,将消息副本从普通节点转发到下一跳节点。

为此,本发明提出的技术方案为一种基于模糊匈牙利方法的水下移动传感器转发方法,具体包含以下步骤:

步骤1:普通节点产生数据,若在移动过程中进入锚定节点的通信范围内并且深度大于该节点时,就向该锚定节点发出转发请求,锚定节点根据收到转发请求中的内容计算请求的转发权重,按照该权重值大小生成转发优先级队列,然后根据该优先级队列处理这些请求;

步骤2:假设请求数目为n,所述锚定节点查找通信范围内且深度小于自身的节点,如果节点数目为大于n个节点,利用下面公式(1)排序选择出转发权重前n的节点,

再利用公式(2)生成转发模糊矩阵,

然后模糊矩阵利用模糊匈牙利方法进行处理后生成0-1矩阵,每一个转发节点对应一个接受节点,该接受节点称作主要接受节点,转发节点对应为矩阵内容为0的接受节点,称为次要接受节点;

步骤3:利用锚定节点作为转发中介,转发节点将消息副本首先转发给锚定节点,随后锚定节点根据0-1矩阵对消息副本进行存活时间处理,对于要转发给主要接受节点和次要接受节点的消息,设置消息副本的生存时间;

步骤4:当汇聚节点收到消息后,向通信范围内的普通节点发送确认信号,携带确认信号的普通节点在接触到锚定节点时,发送确认信号给锚定节点,在每个锚定节点中均存在一个确认消息列表,上述节点之间的交互过程为:锚定节点收到发送确认信号后就会更新确认消息列表,锚定节点再向深度更大的普通节点扩散确认信号,直到锚定节点均更新了确认消息列表,当有普通节点携带拥有确认消息列表中的消息接触到锚定节点时,锚定节点就会通知它删除该冗余消息。

进一步,上述步骤3中为降低网络冗余,转发给主要接受节点的消息副本比转发给次要节点的消息副本存活时间要高多倍。

作为优选,上述主要接受节点消息副本的存活时间为15t,t表示单位时间片,主要接受节点消息副本的存活时间为次要消息副本存活时间的3倍。

上述次要消息副本存活时间是根据整个网络的规模来决定。

上述消息列表包含消息编号,转发路径,起始节点编号,目的节点编号。

与现有技术相比,本发明的有益效果在于:

1,本发明采用的模糊匈牙利方法是基于匈牙利方法进行改进,极大程度上减少了匈牙利方法中的迭代程度;

2,模糊匈牙利方法在合理的能耗范围内,可以提升消息投递成功率,降低转发时延;

3,通过模糊策略以及处理效率的提升,使得匈牙利方法更加适合水下移动传感器的情况。

附图说明

图1为水下传感器网络示意图。

图2为水下移动传感器转发方法的流程图。

图3为权值准确率图。

图4为节点交互时序图。

具体实施方式

现结合附图对本发明做进一步详细的说明。

如图1所示,通过由普通节点,锚定节点,汇聚节点组成的水下传感器网络进行消息转发。锚定节点先搜索范围内的普通节点并接收反馈信息,然后利用模糊匈牙利方法生成0-1矩阵,将消息副本从普通节点转发到下一跳节点。

现结合附图对本发明作进一步详细的说明。本发明为基于模糊匈牙利方法的水下移动传感器转发方法,通过锚定节点先比较反馈信息中的机会接触值,优先选择缓存的转发路径转发消息,否则根据反馈信息计算转发权重值。

基于模糊匈牙利方法的水下移动传感器转发方法其特征在于通过对标准匈牙利方法进行改进,提出了一种基于平均值简化策略的模糊匈牙利方法,它是利用模糊匈牙利方法生成0-1矩阵,锚定节点根据0-1矩阵将消息副本从普通节点转发到下一跳节点。

基于模糊匈牙利方法的水下移动传感器转发方法,具体步骤如下:

1.通过锚定节点先比较反馈信息中的机会接触值,优先选择缓存的转发路径转发消息,否则根据反馈信息计算转发权重值。具体内容如下:

(1)转发权重值

在水下传感器网络体系结构中,普通节点会传递反馈信息给锚定节点,反馈信息包括节点移速,与锚定节点的距离,数据存储空间剩余容量以及机会接触值。机会接触值是指在一定连续多个时间片中普通节点与锚定节点的接触次数。

当锚定节点收到反馈信号后,首先比较机会接触值,如果机会接触值大于预设值,则查看缓存中的转发路径,若缓存数据存在则优先按照缓存的转发路径去进行转发。否则,根据反馈信息计算转发优先值。对于普通节点i与锚定节点j而言转发权重值的计算如下:

式(1)中,表示节点i的移速,表示普通节点与锚定节点之间的距离,表示节点缓存空间剩余的可转发数据包个数。由于数值较大,通常仿真中x=3。是权值平衡系数,用于平衡参数之间的关系,=0时,表示锚定节点没有收到完整的参数信息,通常仿真中=1。是节点之间的平均接触次数,计算公式如下:

式(2)中,表示第n个时间片中节点i与j的接触次数,表示单位时间片长度。

(2)阈值上限nmax

通过计算转发权重,锚定节点会得到权值不同的转发请求,在每个时间片开始,锚定节点会处理接收到的转发请求。对于锚定节点而言,有一个处理请求数的阈值上限nmax,当处理请求数目大于nmax时,会按请求转发权重值大小进行排序,仅处理转发权重大小在前nmax的转发请求。

2.通过对标准匈牙利方法进行改进,提出了一种基于平均值简化策略的模糊匈牙利方法,利用模糊匈牙利方法生成0-1矩阵,锚定节点根据0-1矩阵将消息副本从普通节点转发到下一跳节点。具体内容如下:

(1)模糊矩阵

锚定节点在收到转发请求后,要对这些转发请求进行处理,假设现在锚定节点要处理n个转发请求,在通信范围内深度小于锚定节点的的普通节点个数为m。锚定节点根据转发请求生成权值转发矩阵cm×n,矩阵值表示普通节点i转发到普通节点j的权重大小,假设锚定节点为k,则利用公式(1)权值的计算公式如下:

cij=δik+δjk(3)

根据在相同锚定节点周围的普通节点具有特征相似的性质,对于无法及时收集到的计算参数可以采取模糊值策略,例如,对于而言,计算时可能会缺少参数si,于是锚定节点将最近收集到的五个si求和取平均值得到去进行公式计算。我们以5%为合理误差,通过matlab工具在不同节点数目的环境中进行测试,将模糊匈牙利处理得到的权值与标准权值比较,相差值在误差范围内视为准确,得到的准确率如图3所示。

由图3可知最终,估计值的准确率会先下降并逐渐稳定在89%左右,最开始下降主要是因为处理矩阵的阶数较小导致的,因此可以使用模糊估计的方法,最终锚定节点会得到一个模糊矩阵c=(cij)mn。

(2)0-1矩阵

对模糊矩阵用改进的匈牙利方法对矩阵处理后生成0-1矩阵。处理方法如下:

a.行归约。计算每行的平均值,平均值四舍五入取整,然后每行的元素值减去该行对应的平均值,若元素值小于平均值,则元素值置为0。

b.从矩阵自上而下寻找矩阵中含0元素最少的行,自左向右选取第一个零元素,标记为唯一零元素,对该元素对应的行列进行划线,对于被划线的零元素则不再被选取为唯一零元素。

c.选取唯一零元素结束后,对于没有唯一零元素的行,自上而下选取每行中未被划线的最小元素进行标记,标记后对元素对应的行列进行划线。经过上述处理后,取被标记的元素值为1,被划线的元素值为0,0-1矩阵即被生成。

例如,对于生成的模糊矩阵,经过第一步行归约后得到的矩阵为,自上而下判断得到第五行的元素值最小,取第一个零元素进行标记,划线后得到矩阵为,带黑色底纹的0表示被标记零元素,加粗元素值表示被划线部分。继续自上而下选取标记零元素,判断得到第三行零元素个数最少,标记后得到矩阵为,划线结束后得到,对应的0-1矩阵为。

模糊匈牙利方法基于匈牙利方法进行改进,极大程度上减少了匈牙利方法中的迭代程度,时间复杂度大小和空间复杂度大小均从o(n3)以及o(n2)下降到了o(n),通过模糊策略以及处理效率的提升,使得匈牙利方法更加适合水下移动传感器的情况。

(3)利用模糊匈牙利方法在水下进行消息转发的具体步骤如下:

步骤1:在转发过程中,普通节点产生数据,若在移动过程中进入锚定节点通信范围内并且深度大于该节点时,就向锚定节点发出转发请求,锚定节点根据收到转发请求中的内容计算请求的转发权重,按照权重值大小生成转发优先级队列,然后根据优先级队列处理这些请求。

步骤2:假设请求数目为n,锚定节点查找通信范围内且深度小于自身的节点,如果节点数目为大于n个节点,利用公式(1)排序选择出转发权重前n的节点,再利用公式(2)生成转发模糊矩阵,随后模糊矩阵利用模糊匈牙利方法进行处理后生成0-1矩阵,每一个转发节点对应一个接受节点,该接受节点称作主要接受节点,转发节点对应为矩阵内容为0的接受节点称为次要接受节点。

步骤3:利用锚定节点作为转发中介,转发节点将消息副本首先转发给锚定节点,随后,锚定节点根据0-1矩阵对消息副本进行存活时间处理。对于要转发给主要接受节点和次要接受节点的消息,然后设置消息副本的生存时间,为了降低网络冗余,一般转发给主要接受的消息副本比转发给次要节点的消息副本存活时间要高多倍,而次要消息副本存活时间要根据整个网络规模来决定,在模拟中我们一般采取主要接受消息副本存活时间为15t,t表示单位时间片,主要接受消息副本的存活时间为次要消息副本存活时间的3倍。

步骤4:当汇聚节点收到消息后,向通信范围内普通节点发送确认信号,携带确认信号普通节点在接触到锚定节点时,发送确认信号给锚定节点,在每个锚定节点中均存在一个确认消息列表,消息列表主要由消息编号,转发路径,起始节点编号,目的节点编号组成。上述节点之间的交互过程如图4所示。

锚定节点收到发送确认信号后就会更新确认消息列表,锚定节点再向深度更大的普通节点扩散确认信号,直到锚定节点均更新了确认消息列表。当有普通节点携带拥有确认消息列表中的消息接触到锚定节点时,锚定节点就会通知它删除该冗余消息。

需要说明的是,以上情景下的实施方式只是本发明的优选方式,在不违背本发明的精神的前提下所做的任何变形都属于本发明的保护范围。

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