CN103987101B - 无线传感器网络中移动sink节点的自主移动方法 - Google Patents

无线传感器网络中移动sink节点的自主移动方法 Download PDF

Info

Publication number
CN103987101B
CN103987101B CN201410156122.XA CN201410156122A CN103987101B CN 103987101 B CN103987101 B CN 103987101B CN 201410156122 A CN201410156122 A CN 201410156122A CN 103987101 B CN103987101 B CN 103987101B
Authority
CN
China
Prior art keywords
node
sink
nodes
sensor node
energy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410156122.XA
Other languages
English (en)
Other versions
CN103987101A (zh
Inventor
付雄
汤中睿
程春玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201410156122.XA priority Critical patent/CN103987101B/zh
Publication of CN103987101A publication Critical patent/CN103987101A/zh
Application granted granted Critical
Publication of CN103987101B publication Critical patent/CN103987101B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种无线传感器网络中移动sink节点的自主移动方法,属于无线传感器网络技术领域。该方法基于无线传感器网络树形路由多跳互连模型,首先以当前sink节点各一跳邻居节点为子树根,划分子树并组成子树集合,sink节点获取一定范围内各子树中每条数据传播路径中传感器节点剩余能量的最大和最小值;然后根据一定条件,生成正在死亡节点序列和sink可行移动位置序列;sink节点则在序列中选择合适的位置进行移动。序列长期保存在sink节点中,并根据下一轮节点能量情况进行更新。这样,既可以通过实时掌握一定范围内网络能量的极值,指导sink节点进行移动,逐步实现网络节点间的能量均衡;同时有效的减少大量重复查询带来的时间开销和能量开销。

Description

无线传感器网络中移动sink节点的自主移动方法
技术领域
本发明涉及一种无线传感器网络中移动sink节点的自主移动方法,主要用于实现无线传感器网络节点之间的能量均衡,提高网络生命周期,属于无线传感器网络技术领域。
背景技术
无线传感器网络是一项新兴的技术。集成了传感、计算、通信能力的节点被组织成一个通信网络,用于感知客观世界的信息,并提供给人们进行分析和判断。无线传感器网络具有自适应性、抗毁性、易部署性、低成本使得其在军事和工业等方面有广阔的发展前景。近几年随着物联网的兴起。无线传感器网络取得了飞速发展,在智能家居、医疗健康等工业应用方面也得到广泛应用。
由于无线传感器网络的传感器节点的能量有限,无法进行能量补给,同时节点在部署后很难回收。一般定义节点能量耗尽为节点死亡,而整个无线传感器网络的生命周期通常定义为第一个节点死亡时间。所以如何提高无线传感器网络的能量效率,延长网络生命周期就成了必须要解决的问题。目前提高无线网络生命期的方法主要分为几类:一是通过数据压缩、数据融合和数据预测等技术减少网络中总通信量。二是设计出高效的基于能量优化的网络协议。第三种方法是在网络中引入移动节点,这种方法又分为引入移动Agent采集数据,减少通信距离,以及在网络中引入移动sink节点使网络负载更均衡以减少能量空洞现象。
其中,在将移动sink节点(或称作汇聚节点)引入无线传感器网络后,已有各种sink节点移动方案使得全网能量消耗更加均衡.根据sink移动路径是否具有可预测性,sink节点移动策略可以大致分为两类:一类是sink节点按照预先设定好的路径进行移动,称为路径可预测移动策略,这种策略在网络运行时,sink节点总是沿着一条预先规划好的路径进行着移动,而一般这个路径在网络初始化过程中是确定的且过程中不更改。传感器节点明确知道sink节点各个时刻的位置。但是,由于这种策略没有考虑根据网络实际运行情况去调整路径,无法从根本上解决无线传感器网络中节点之间能耗不均衡问题,所以往往无法达到性能最优。另一类是sink节点可自主动态地选择移动路径,即移动路径不可预测的移动策略。sink节点每次移动时根据当前实时的网络状况,结合自身移动策略对下一个目标移动位置进行测算与选择,而在每次移动前并不知道自己目标移动位置。
然而,现有的sink节点移动策略每次移动前,只是在sink节点一次最大移动半径范围内寻找合适移动位置,并没有综合考虑到最大移动半径范围外网络能量情况;而且每次sink节点移动前都需要重新查询当前sink节点一次最大移动范围内所有节点的能量情况,查询效率不高。
发明内容
本发明所要解决的技术问题在于克服现有无线传感器网络中sink节点自主移动方法的不足,提供一种无线传感器网络中移动sink节点的自主移动方法,在实现网络节点间的能量均衡的同时,还能有效减少大量重复查询带来的时间开销和能量开销。
本发明具体采用以下技术方案:
无线传感器网络中移动sink节点的自主移动方法,所述无线传感器网络包括多个传感器节点和一个可移动的sink节点,所述sink节点按照以下方法进行自主移动:
步骤A、所述sink节点移动到一个新位置后,首先建立为以自身为根节点的树形多跳互连路由结构的网络连接,并开始接收并处理各传感器节点发送的感知数据;
步骤B、距sink节点在2跳范围内的传感器节点定期将自身的当前剩余能量信息传递给sink节点,sink节点判断其中当前剩余能量小于一预设能量阈值的传感器节点的比例是否达到预设的比例阈值,如是,则转至步骤C;如否,则sink节点在当前位置继续接收并处理各传感器节点发送的感知数据;
步骤C、sink节点首先获取自身所保存的正在死亡节点序列中各传感器节点的当前剩余能量,判断正在死亡节点序列中是否存在当前剩余能量低于最低警戒能量阈值且与sink节点距离≤dMAX的传感器节点,如存在,则sink节点直接移动到其中距离最近的传感器节点处,并将该传感器节点冻结;如不存在,则sink节点接着在自身所保存的sink可行移动位置序列中搜索与sink节点距离≤dMAX的传感器节点,并以其中一跳邻居节点的当前剩余能量的平均值最大的传感器节点的位置作为sink节点下次移动位置,如sink可行移动位置序列中不存在与sink节点距离≤dMAX的传感器节点,则转至步骤D;其中,dMAX表示所述sink节点的单次最大移动半径;某个节点的一跳邻居节点是指在该节点所在子树中距离该节点一跳并且与该节点距离≤dMAX的所有节点,以及位于其它子树中与该节点距离≤dMAX的所有节点;
步骤D、sink节点在每一条数据传播路径中距sink节点≤dMAX的传感器节点集合中,以及每一条路径中距sink节点≤2dMAX的传感器节点集合中,分别搜索出其中当前剩余能量最大的传感器节点和当前剩余能量最小的传感器节点;然后在距sink节点≤dMAX的当前剩余能量最小的所有传感器节点中,查询是否存在当前剩余能量低于最低警戒能量阈值的传感器节点:如只存在一个这样的传感器节点,则sink节点直接移动到该传感器节点处,并将该传感器节点冻结;如存在一个以上这样的传感器节点,则sink节点直接移动到其中距离最近的传感器节点处,冻结该传感器节点,并将所查询出的其余传感器节点按照当前剩余能量由小到大的顺序组成序列,更新当前的正在死亡节点序列;如不存在这样的节点,则转步骤E;
步骤E、sink节点对步骤D中所得到的每一条路径中距sink节点≤2dMAX的当前剩余能量最大的各传感器节点,分别获取其一跳邻居节点的能量信息,然后从中筛选出其一跳邻居节点的数量大于等于预设的邻居节点数阈值且其一跳邻居节点的当前剩余能量的平均值大于步骤B中所述能量阈值的传感器节点,并按照一跳邻居节点的当前剩余能量的平均值从大到小的将这些传感器节点进行排序,所得序列用于更新当前的sink可行移动位置序列;最后判断sink可行移动位置序列中是否存在与sink节点的距离≤dMAX的传感器节点,如存在这样的节点,则以其中一跳邻居节点的当前剩余能量的平均值最大的传感器节点的位置作为sink节点下次移动位置;如不存在这样的节点,则确定sink可行移动位置序列中一跳邻居节点的当前剩余能量的平均值最大的传感器节点所在的子树,然后从步骤D中所得到的每一条路径中距sink节点≤dMAX的当前剩余能量最大的各传感器节点中找出位于该子树中的传感器节点,获取所找出的这些传感器节点的一跳邻居节点的能量信息,并判断其中是否存在其一跳邻居节点的数量大于等于预设的邻居节点数阈值且其一跳邻居节点的当前剩余能量的平均值大于步骤B中所述能量阈值的传感器节点,如存在这样的传感器节点,则从这样的传感器节点中选择距离sink节点最远的传感器节点位置作为sink节点下次移动位置;如不存在这样的传感器节点,则降低所述能量阈值后转至步骤D,重新查找sink节点的下次移动位置;
步骤F、sink节点完成本次移动,转至步骤A。
优选地,步骤D中所述sink节点在每一条数据传播路径中距sink节点≤dMAX的传感器节点集合中,以及每一条数据传播路径中距sink节点≤2dMAX的传感器节点集合中,分别搜索出其中当前剩余能量最大的传感器节点和当前剩余能量最小的传感器节点,具体按照以下方法:
sink节点向第i棵子树根节点广播以下数据包:
packet_i={(Ehighest,locaion_H(i)),(Elowest,locaion_L(i)),L},1≤i≤n,
其中,Ehighest、Elowest分别为数据包广播路径所经过节点中的最高剩余能量、最低剩余能量,locaion_H(i)、locaion_L(i)分别为具有最高剩余能量、最低剩余能量的节点的位置,L为数据包传送到的节点与sink节点间的距离,n为sink节点的子树根总数,Ehighest、Elowest、L的初始值均为0,locaion(i)初始值为空;
收到数据包的节点查询自身节点能量,如果自身能量值>Ehighest,或者<Elowest,则更新数据包里能量值,并修改相应locaion为自己的地理位置;然后继续把更新后的数据包转发给孩子节点,如果有多个孩子节点,则父母节点传递给每个孩子节点一份同样的数据包;当数据包传送到的节点与sink节点的距离L>dMAX时,则收到数据包的节点在比较自身能量值大小前回传一份数据包给sink节点,保留一份继续进行更新和广播;如果数据包传送到的节点与sink节点的距离L>2dMAX,立即停止能量值比较和更新操作,直接将数据包回传给sink节点;当数据包传至叶子节点完成更新操作后,无法再往下广播时,则直接将数据包回传给sink节点;
sink节点收到数据包后,根据数据包中的L值将数据包分为两类,并放入集合PACKET_dMAX和集合PACKET_2dMAX中:
packet_i={(Ehighest,locaion_H(i)),(Elowest,locaion_L(i)),L},1≤i≤n,
集合PACKET_dMAX中即包含了每一条数据传播路径中距sink节点≤dMAX的传感器节点集合中,当前剩余能量最大的传感器节点和当前剩余能量最小的传感器节点;集合PACKET_2dMAX中即包含了每一条数据传播路径中距sink节点≤2dMAX的传感器节点集合中,当前剩余能量最大的传感器节点和当前剩余能量最小的传感器节点。
相比现有技术,本发明方法具有以下有益效果:
本发明方法以sink节点各一跳邻居节点为子树根,划分子树,方便得标识出查询阶段sink节点广播数据包的传递方向,进而有助于指导后期sink节点移动方向;
一般sink节点移动策略中,sink节点每次移动前目标位置查询半径为sink节点最大移动半径dMAX,而本发明方法将查询半径扩大至2dMAX,查询面积扩大到原来的4倍,综合考虑到sink节点移动范围外网络能量情况,进而更合理得指导sink节点进行移动;
本发明方法在查询下一移动位置过程中生成正在死亡节点序列和sink可行移动位置序列,既寻找网络中的高能量区域,同时考虑及时拯救正在死亡的节点,有效得延长了网络的生命周期;sink节点移动到新位置后再次启动sink移动策略时,会首先查询保持在sink节点中的死亡节点序列和sink可行移动位置序列中的位置,如果存在符合要求的位置,则直接移动,如果不存在才重新广播数据包进行查找。这样一定程度上节省了每次都进行重新查找带来的能量开销和时间开销。
附图说明
图1为搜索各条路径中当前剩余能量最大的传感器节点和当前剩余能量最小的传感器节点的原理示意图;
图2为具体实施方式中sink节点进行首次自主移动的流程示意图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
本发明的sink节点自主移动方法,包括以下主要内容:
一、启用sink节点移动策略的条件
这个阶段是本发明sink节点移动策略的前提条件,该阶段首先执行网络初始化过程,建立树形路由路径;其次,传感器节点将感知的数据信息沿构成的路径传递给sink节点;最后,当一定比例的距离sink节点一跳节点和两跳节点能量都低于设定好的阈值时,表明当前sink节点所在区域能量下降到警戒值,启动sink节点移动策略。
二、执行sink节点移动策略
这个阶段是本发明sink节点移动策略的核心部分。该阶段又可分为准备阶段和选择阶段。在准备阶段,以sink一跳邻居节点为子树根划分子树,由于前期网络初始化过程后节点之间实际已构建物理上的树形路由路径,所以逻辑上划分子树群是完全可行的;然后向规定的有效范围内子树群广播数据包,数据包广播路径所经过的传感器节点,可以通过比较,更新数据包中节点能量极值,最后将数据包传回给sink。在选择阶段,sink节点查询所有回收到的数据包,并根据数据包中信息最终选择sink节点移动位置,过程中生成正在死亡节点序列和sink可行移动位置序列。
三、sink节点下一次移动
sink节点移动到新位置后再次启动sink节点移动策略时,会首先查询保持在sink节点中的正在死亡节点序列和sink可行移动位置序列中的位置,如果存在符合要求的位置,则直接移动,如果不存在才重新广播数据包进行查找。这样一定程度上节省了每次都进行重新查找带来的能量开销和时间开销。
本实施例中的sink节点移动方法具体包括以下步骤:
步骤1、本发明的网络模型是由传感器节点和一个sink节点组成,并做如下约定:(1)所有传感器节点都是相互独立,采用路由算法实现传感器节点到sink节点之间树形路由多跳互连。(2)传感器节点静止不动,sink节点具有移动性,节点均可以获取自己的地理位置和当前剩余能量信息。(3)考虑到sink节点在移动过程中不能收集数据,如果sink节点每次移动距离太远,增加数据的传输时延,可能会造成传感器节点的感知数据积压问题,因此定义一个sink节点单次最大移动半径dMAX,即每次sink移动距离r≤dMAX
步骤2、网络的工作过程划分为“轮”。定义轮为从sink节点移动到一个新位置,并开始通过广播方式使传感器节点构成树形多跳路由路径时,到sink节点从当前位置准备往下一个位置移动时。同时,每一轮网络连接建立好之后,传感器节点感知数据信息传递的时间划分为若干时间片。在每一时间片,传感器节点通过已构成的路径将感知数据信息传递并汇总到sink节点处,同时传感器节点记录自己的跳数。距离sink节点一跳和两跳的传感器节点在每一个时间片结束后,将自己的剩余能量值传递给sink节点。这个能量值通过传递数据时一并传送以节省通信开销。当距离sink节点一跳和两跳的传感器节点中当前剩余能量小于能量阈值Ecv的传感器节点的比例大于或等于预设的比例阈值q%(0<q<100)时,才启动sink移动策略;否则,sink节点不移动,网络继续下一时间片工作。
步骤3、移动策略启动后,根据无线传感器网络树形路由多跳互连模型,定义Neighb_1={N1,1,N2,1,N3,1,...,Nn,1}为当前sink节点各一跳邻居节点所组成的集合,其中N1,1,N2,1,N3,1,...,Nn,1为当前sink节点各一跳邻居节点,n表示当前sink一跳邻居节点个数,并以sink节点为根,各一跳邻居节点为子树根,划分子树ST1,ST2,ST3,…,STn,组成子树集合STC={ST1,ST2,ST3,…,STn,},定义Ni,j为子树STi中按广度优先遍历顺序第j个遍历到的节点,1≤i≤n。以sink节点为圆心,2dMAX为半径划出寻找高能量区域有效范围,各子树中离sink节点距离超过2dMAX的节点不在有效范围内,sink节点在有效范围内寻找合适的移动地址。
步骤4、sink节点通过向有效范围内子树群节点广播数据包的方式获取有效范围内每一条数据传播路径中的节点剩余能量情况。其基本原理如图1所示,具体广播顺序如下:sink节点首先向自己每个一跳邻居节点广播数据包。向子树群中第i棵子树根节点广播数据包packet_i={(Ehighest,locaion_H(i)),(Elowest,locaion_L(i)),L},1≤i≤n,其中Ehighest为数据包广播路径所经过节点最高剩余能量值,locaion_H(i)为含最高剩余能量值节点的位置;同样,Elowest为数据包广播路径所经过节点最低剩余能量值,locaion_L(i)为含最低剩余能量值节点的位置,L为数据包传送到的节点位置与sink的距离,Ehighest、Elowest、L初始值为0,locaion(i)初始值为空。收到数据包的节点查询自身节点能量,如果自身能量值>Ehighest,或者<Elowest,则更新数据包里能量值,并修改相应locaion为自己的地理位置。然后继续把更新后的数据包转发给孩子节点,如果有多个孩子节点,则父母节点传递给每个孩子节点一份同样的数据包。当数据包传至与sink距离L>dMAX的节点时,则该节点在比较自身能量值大小前回传一份数据包给sink节点,保留一份继续进行更新和广播。如果传至节点与sink节点距离L>2dMAX,立即停止相关能量值比较和更新操作,直接将数据包回传给sink节点。当数据包传至叶子节点完成更新操作后,无法再往下广播时,则直接将数据包回传给sink节点。
步骤5、sink节点收到数据包后,首先查询所有数据包中L值,并将数据包分为两类,放入不同集合中:
packet_i={(Ehighest,locaion_H(i)),(Elowest,locaion_L(i)),L},1≤i≤n。其中PACKET_dMAX和PACKET_2dMAX为根据数据包中L值大小所放入不同的集合。查询集合PACKET_dMAX包含的所有数据包中最小剩余能量值Elowest,如果发现有低于设定的节点最低警戒阈值Emwv时,即该节点接近死亡,并且其位置距离sink节点小于dMAX,sink节点立即移动到该节点附近,并将该节点冻结,停止感知和转发数据,进行数据收集工作以避免该节点过早死亡。如果查询后,发现有多于1个节点接近死亡,则sink节点选择其中距离最近的接近死亡节点位置进行移动。并把其它接近死亡的节点地理位置(同时查询集合PACKET_2dMAX包含的所有数据包中最小剩余能量值),按照节点剩余能量值由小到大顺序组成正在死亡节点序列Dying_Nodes={(Elowest,Locaion_L(i)),...},(Elowest<Emwv),长期保持在sink节点中。如果没有发现数据包中最小剩余能量值低于Emwv,则转入步骤6。
步骤6、sink节点查询数据包中最大剩余能量相应的地址,先查询集合PACKET_2dMAX包含的所有数据包中Ehighest对应地址,并向位于这些地址的节点发送所在区域能量情况索取要求,收到要求的节点Ni,j(子树STi中按广度优先遍历顺序第j个遍历到的节点)首先获取自己周边的一跳邻居节点能量值。其中,“某节点周边一跳邻居节点”是指在该节点所在子树中距离该节点一跳并且与该节点距离≤dMAX的所有节点,以及位于其它子树中与该节点距离≤dMAX的所有节点。收到要求的节点Ni,j周围一跳邻居节点组成集合为Neighb_1(Ni,j),并计算周围一跳节点能量值的平均值Eave_Neighb_1(Ni,j)。如果节点Ni,j所有的一跳邻居节点的剩余能量值>Ecv,且其一跳邻居节点的个数≥w,w为预设的邻居节点数阈值,则向sink节点返回自己的地理位置和OK信息,sink节点则标记该节点地理位置为有效,如locaion_(i,j):OK;如果节点不符合要求,则只返回WRONG信息。sink节点将所有标记为有效的地理位置按照该节点一跳邻居节点能量值平均值由大到小的顺序组成sink可行移动位置序列Locaion_OK={Locaion(i,j),...},(Locaion(i,j):OK),并长期保持在sink节点中。sink节点从左往右搜索sink可行移动位置序列,一旦发现序列中地理位置与sink节点的距离≤dMAX,停止搜索,得到的地址位置即为sink节点下次移动位置。
步骤7.如果搜索完sink可行移动位置序列,没有发现符合要求的位置,此时sink节点选择sink可行移动位置序列中第一个节点地理位置locaion_(i,j)所在的子树STi,然后查询集合PACKET_dMAX包含的所有packet_i数据包中Ehighest对应地址,并向位于这些地址的节点发送所在区域能量情况索取要求,收到要求的节点首先获取自己的一跳邻居节点的节点能量值,如果所有一跳邻居节点的能量值>Ecv,且一跳邻居节点个数≥w,该节点向sink节点返回自己的地理位置和OK信息,sink节点标记该节点地理位置为有效,如locaion_(i,j):OK;如果节点不符合要求,则只返回WRONG信息。sink节点从所有标记为有效的地理位置中选择距离sink最远的地址作为下次移动位置。如果还是没有找到合适的移动位置,表明此时网络节点的整体能量值下降,需要下调能量阈值Ecv,则将当前的Ecv更新为θ*Ecv,其中0<θ<1。重新回到步骤6查找新位置。
步骤8、sink节点移动到新的位置后,会先向传感器节点广播自己的位置,根据基于移动sink网络路由协议建立起路径,实现传感器节点到sink节点之间树形路由多跳互连,并进行新一轮的数据收集。当距离sink节点一跳和两跳的传感器节点中当前剩余能量小于能量阈值Ecv的传感器节点的比例大于或等于预设的比例阈值q%(0<q<100)时,再次启动sink节点移动策略。为了节省能量开销和时间开销,除首次自主移动以外,其后的每一轮中,sink节点并不直接进行步骤3~步骤7的搜索,而是首先查询保存在sink节点中的正在死亡节点序列Dying_Nodes={Locaion(x,y),...},向序列中各地址发送节点能量索取要求;sink节点收到正在死亡节点序列中的各传感器节点的当前剩余能量后,判断其中是否存在当前剩余能量低于最低警戒能量阈值且与sink节点距离≤dMAX的传感器节点,如存在,则sink节点直接移动到其中距离最近的传感器节点处,并将该传感器节点冻结;如不存在,则sink节点接着在自身所保存的sink可行移动位置序列Locaion_OK={Locaion(i,j),...}中搜索与sink节点距离≤dMAX的地址,并向这些地址所在的传感器节点发送区域能量情况索取要求,收到要求的节点获取各自一跳邻居节点的能量信息并将所获取的信息返回sink节点;sink节点以其中一跳邻居节点的当前剩余能量的平均值最大的传感器节点的位置作为sink节点下次移动位置,如sink可行移动位置序列中不存在与sink节点距离≤dMAX的传感器节点,亦即通过正在死亡节点序列和sink可行移动位置序列未找到合适的sink节点移动位置,则转向步骤3,重新寻找网络中合适的移动地址。由于每轮过后,节点能量情况将发生变化,所以在新一轮执行步骤3~步骤7的搜索过程中会重新生成新的正在死亡节点序列和sink可行移动位置序列,需要用新生成的正在死亡节点序列和sink可行移动位置序列分别对原保存的序列进行更新,以供下一轮查找需要。
以上过程反复循环,即可实现sink节点的自主移动。图2显示了sink节点首次自主移动的流程。

Claims (2)

1.无线传感器网络中移动sink节点的自主移动方法,所述无线传感器网络包括多个传感器节点和一个可移动的sink节点,其特征在于,所述sink节点按照以下方法进行自主移动:
步骤A、所述sink节点移动到一个新位置后,首先建立为以自身为根节点的树形多跳互连路由结构的网络连接,并开始接收并处理各传感器节点发送的感知数据;
步骤B、距sink节点在2跳范围内的传感器节点定期将自身的当前剩余能量信息传递给sink节点,sink节点判断其中当前剩余能量小于一预设能量阈值的传感器节点的比例是否达到预设的比例阈值,如是,则转至步骤C;如否,则sink节点在当前位置继续接收并处理各传感器节点发送的感知数据;
步骤C、sink节点首先获取自身所保存的正在死亡节点序列中各传感器节点的当前剩余能量,判断正在死亡节点序列中是否存在当前剩余能量低于最低警戒能量阈值且与sink节点距离≤dMAX的传感器节点,如存在,则sink节点直接移动到其中距离最近的传感器节点处,并将该传感器节点冻结;如不存在,则sink节点接着在自身所保存的sink可行移动位置序列中搜索与sink节点距离≤dMAX的传感器节点,并以其中一跳邻居节点的当前剩余能量的平均值最大的传感器节点的位置作为sink节点下次移动位置,如sink可行移动位置序列中不存在与sink节点距离≤dMAX的传感器节点,则转至步骤D;其中,dMAX表示所述sink节点的单次最大移动半径;某个节点的一跳邻居节点是指在该节点所在子树中距离该节点一跳并且与该节点距离≤dMAX的所有节点,以及位于其它子树中与该节点距离≤dMAX的所有节点;
步骤D、sink节点在每一条数据传播路径中距sink节点≤dMAX的传感器节点集合中,以及每一条路径中距sink节点≤2dMAX的传感器节点集合中,分别搜索出其中当前剩余能量最大的传感器节点和当前剩余能量最小的传感器节点;然后在距sink节点≤dMAX的当前剩余能量最小的所有传感器节点中,查询是否存在当前剩余能量低于最低警戒能量阈值的传感器节点:如只存在一个这样的传感器节点,则sink节点直接移动到该传感器节点处,并将该传感器节点冻结;如存在一个以上这样的传感器节点,则sink节点直接移动到其中距离最近的传感器节点处,冻结该传感器节点,并将所查询出的其余传感器节点按照当前剩余能量由小到大的顺序组成序列,更新当前的正在死亡节点序列;如不存在这样的节点,则转步骤E;
步骤E、sink节点对步骤D中所得到的每一条路径中距sink节点≤2dMAX的当前剩余能量最大的各传感器节点,分别获取其一跳邻居节点的能量信息,然后从中筛选出其一跳邻居节点的数量大于等于预设的邻居节点数阈值且其一跳邻居节点的当前剩余能量的平均值大于步骤B中所述能量阈值的传感器节点,并按照一跳邻居节点的当前剩余能量的平均值从大到小的将这些传感器节点进行排序,所得序列用于更新当前的sink可行移动位置序列;最后判断sink可行移动位置序列中是否存在与sink节点的距离≤dMAX的传感器节点,如存在这样的节点,则以其中一跳邻居节点的当前剩余能量的平均值最大的传感器节点的位置作为sink节点下次移动位置;如不存在这样的节点,则确定sink可行移动位置序列中一跳邻居节点的当前剩余能量的平均值最大的传感器节点所在的子树,然后从步骤D中所得到的每一条路径中距sink节点≤dMAX的当前剩余能量最大的各传感器节点中找出位于该子树中的传感器节点,获取所找出的这些传感器节点的一跳邻居节点的能量信息,并判断其中是否存在其一跳邻居节点的数量大于等于预设的邻居节点数阈值且其一跳邻居节点的当前剩余能量的平均值大于步骤B中所述能量阈值的传感器节点,如存在这样的传感器节点,则从这样的传感器节点中选择距离sink节点最远的传感器节点位置作为sink节点下次移动位置;如不存在这样的传感器节点,则降低所述能量阈值后转至步骤D,重新查找sink节点的下次移动位置;
步骤F、sink节点完成本次移动,转至步骤A;
其中,步骤D中所述sink节点在每一条数据传播路径中距sink节点≤dMAX的传感器节点集合中,以及每一条数据传播路径中距sink节点≤2dMAX的传感器节点集合中,分别搜索出其中当前剩余能量最大的传感器节点和当前剩余能量最小的传感器节点,具体按照以下方法:
sink节点向第i棵子树根节点广播以下数据包:
packet_i={(Ehighest,locaion_H(i)),(Elowest,locaion_L(i)),L},1≤i≤n,
其中,Ehighest、Elowest分别为数据包广播路径所经过节点中的最高剩余能量、最低剩余能量,locaion_H(i)、locaion_L(i)分别为具有最高剩余能量、最低剩余能量的节点的位置,L为数据包传送到的节点与sink节点间的距离,n为sink节点的子树根总数,Ehighest、Elowest、L的初始值均为0,locaion(i)初始值为空;
收到数据包的节点查询自身节点能量,如果自身能量值>Ehighest,或者<Elowest,则更新数据包里能量值,并修改相应locaion为自己的地理位置;然后继续把更新后的数据包转发给孩子节点,如果有多个孩子节点,则父母节点传递给每个孩子节点一份同样的数据包;当数据包传送到的节点与sink节点的距离L>dMAX时,则收到数据包的节点在比较自身能量值大小前回传一份数据包给sink节点,保留一份继续进行更新和广播;如果数据包传送到的节点与sink节点的距离L>2dMAX,立即停止能量值比较和更新操作,直接将数据包回传给sink节点;当数据包传至叶子节点完成更新操作后,无法再往下广播时,则直接将数据包回传给sink节点;
sink节点收到数据包后,根据数据包中的L值将数据包分为两类,并放入集合PACKET_dMAX和集合PACKET_2dMAX中:
<mrow> <mrow> <mo>{</mo> <mrow> <mtable> <mtr> <mtd> <mrow> <mi>P</mi> <mi>A</mi> <mi>C</mi> <mi>K</mi> <mi>E</mi> <mi>T</mi> <mo>_</mo> <msub> <mi>d</mi> <mrow> <mi>M</mi> <mi>A</mi> <mi>X</mi> </mrow> </msub> <mo>=</mo> <mo>{</mo> <mi>p</mi> <mi>a</mi> <mi>c</mi> <mi>k</mi> <mi>e</mi> <mi>t</mi> <mo>_</mo> <mi>i</mi> <mo>,</mo> <mo>...</mo> <mo>}</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>P</mi> <mi>A</mi> <mi>C</mi> <mi>K</mi> <mi>E</mi> <mi>T</mi> <mo>_</mo> <mn>2</mn> <msub> <mi>d</mi> <mrow> <mi>M</mi> <mi>A</mi> <mi>X</mi> </mrow> </msub> <mo>=</mo> <mo>{</mo> <mi>p</mi> <mi>a</mi> <mi>c</mi> <mi>k</mi> <mi>e</mi> <mi>t</mi> <mo>_</mo> <mi>i</mi> <mo>,</mo> <mo>...</mo> <mo>}</mo> </mrow> </mtd> </mtr> </mtable> <mo>,</mo> </mrow> </mrow> <mtable> <mtr> <mtd> <mrow> <mi>L</mi> <mo>&amp;le;</mo> <msub> <mi>d</mi> <mrow> <mi>M</mi> <mi>A</mi> <mi>X</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>d</mi> <mrow> <mi>M</mi> <mi>A</mi> <mi>X</mi> </mrow> </msub> <mo>&lt;</mo> <mi>L</mi> <mo>&amp;le;</mo> <mn>2</mn> <msub> <mi>d</mi> <mrow> <mi>M</mi> <mi>A</mi> <mi>X</mi> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> <mo>,</mo> </mrow>
packet_i={(Ehighest,locaion_H(i)),(Elowest,locaion_L(i)),L},1≤i≤n,
集合PACKET_dMAX中即包含了每一条数据传播路径中距sink节点≤dMAX的传感器节点集合中,当前剩余能量最大的传感器节点和当前剩余能量最小的传感器节点;集合PACKET_2dMAX中即包含了每一条数据传播路径中距sink节点≤2dMAX的传感器节点集合中,当前剩余能量最大的传感器节点和当前剩余能量最小的传感器节点。
2.如权利要求1所述无线传感器网络中移动sink节点的自主移动方法,其特征在于,所述降低能量阈值具体按照以下方法:将当前的能量阈值乘以预设的系数θ后作为新的能量阈值,0<θ<1。
CN201410156122.XA 2014-04-17 2014-04-17 无线传感器网络中移动sink节点的自主移动方法 Expired - Fee Related CN103987101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410156122.XA CN103987101B (zh) 2014-04-17 2014-04-17 无线传感器网络中移动sink节点的自主移动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410156122.XA CN103987101B (zh) 2014-04-17 2014-04-17 无线传感器网络中移动sink节点的自主移动方法

Publications (2)

Publication Number Publication Date
CN103987101A CN103987101A (zh) 2014-08-13
CN103987101B true CN103987101B (zh) 2017-09-19

Family

ID=51278897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410156122.XA Expired - Fee Related CN103987101B (zh) 2014-04-17 2014-04-17 无线传感器网络中移动sink节点的自主移动方法

Country Status (1)

Country Link
CN (1) CN103987101B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105430620B (zh) * 2015-11-04 2018-11-06 东南大学 一种移动无线传感网络的数据收集方法
CN106899956A (zh) * 2017-03-30 2017-06-27 西安邮电大学 一种基于nan组网方式的智能数据集中上传方案
CN108521634B (zh) * 2018-02-11 2020-09-15 南京邮电大学 一种基于能耗均衡树的移动Sink数据收集方法
CN109164771A (zh) * 2018-09-27 2019-01-08 东莞绿邦智能科技有限公司 楼宇环境智慧管理系统
CN109348402B (zh) * 2018-09-27 2021-07-13 顺丰科技有限公司 网络自生成的方法、装置、设备及存储介质
CN109862599A (zh) * 2019-03-29 2019-06-07 中国联合网络通信集团有限公司 节点数据传输方法及设备
CN110732138B (zh) * 2019-10-17 2023-09-22 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置、可读存储介质和计算机设备
CN112925643B (zh) * 2021-02-26 2024-01-12 北京百度网讯科技有限公司 数据处理方法、装置以及存储引擎装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282299A (zh) * 2008-05-16 2008-10-08 熊猫电子集团有限公司 多跳网络中一种测量运动体位移速度的方法
CN103619049A (zh) * 2013-10-14 2014-03-05 天津工业大学 无线传感器网络节能路由
CN103619033A (zh) * 2013-12-04 2014-03-05 安徽理工大学 基于贪心路径的移动sink节点数据收集方法
CN103686922A (zh) * 2013-12-18 2014-03-26 浙江树人大学 一种多Sink节点移动的无线传感网生存时间优化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282299A (zh) * 2008-05-16 2008-10-08 熊猫电子集团有限公司 多跳网络中一种测量运动体位移速度的方法
CN103619049A (zh) * 2013-10-14 2014-03-05 天津工业大学 无线传感器网络节能路由
CN103619033A (zh) * 2013-12-04 2014-03-05 安徽理工大学 基于贪心路径的移动sink节点数据收集方法
CN103686922A (zh) * 2013-12-18 2014-03-26 浙江树人大学 一种多Sink节点移动的无线传感网生存时间优化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Storage Node Placement Algorithm inWireless Sensor Networks;Yang Wang等;《2009 International Conference on Frontier of Computer Science and Technology》;20091219;全文 *
无线传感器网络能量有效性的研究;王珺;《中国博士学位论文全文数据库信息科技辑》;20130415(第4期);第1.2.1节,第2章,第6章 *
移动无线传感器网络sink移动策略的研究与实现;邱会萍;《中国优秀硕士学位论文全文数据库信息科技辑》;20130615(第6期);全文 *

Also Published As

Publication number Publication date
CN103987101A (zh) 2014-08-13

Similar Documents

Publication Publication Date Title
CN103987101B (zh) 无线传感器网络中移动sink节点的自主移动方法
CN104602302B (zh) 一种基于分簇结构的ZigBee网络能量均衡路由方法
Qureshi et al. Topology based routing protocols for vanet and their comparison with manet
CN105101086B (zh) 一种基于车辆密度分布的数据传输路径选择方法
Sutariya et al. An improved AODV routing protocol for VANETs in city scenarios
CN105407517B (zh) 路由方法、路由模块、车载终端和车载自组网路由系统
CN102769885B (zh) 一种在传感器网络中实现路由的方法和传感器网络
CN106332213A (zh) 一种减少ZigBee无线传输网络路由跳数的方法
Cheng et al. A design framework and taxonomy for hybrid routing protocols in mobile ad hoc networks
CN108770003A (zh) 一种基于粒子群优化的自组织无人机网络路由发现方法
CN104539542A (zh) 一种基于移动Sink数据收集的低能耗路由树枝剪方法
CN101951655A (zh) 无线传感器网络中一种基于地理信息的反应式路由协议
Shaheen et al. Comparison and Analysis Study between AODV DSR Routing Protocols in Vanet with IEEE 802.11.
CN104202724B (zh) 一种基于地理位置信息的aanet联合路由算法
CN106034322A (zh) 一种移动自组网中基于链路质量的路由切换方法
CN108449271A (zh) 一种监测路径节点能量和队列长度的路由方法
CN105282813B (zh) 一种车载网络环境下的路由方法、装置及系统
Pandey et al. Performance analysis of routing protocols for vehicular adhoc networks using NS2/SUMO
CN107222906A (zh) 基于蚁群算法的leach协议优化方法
Li et al. An intersection-based delay sensitive routing for VANETs using ACO algorithm
CN104837173B (zh) 一种带停车节点的城域车载通信系统
CN103200644A (zh) 利用地理位置信息进行汽车间通信的方法
Qureshi et al. Study of efficient topology based routing protocols for vehicular ad-hoc network technology
Erritali et al. Performance evaluation of ad hoc routing protocols in VANETs
He et al. A link state aware hierarchical road routing protocol for 3D scenario in VANETs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170919

CF01 Termination of patent right due to non-payment of annual fee