CN104539542B - 一种基于移动Sink数据收集的低能耗路由树枝剪方法 - Google Patents
一种基于移动Sink数据收集的低能耗路由树枝剪方法 Download PDFInfo
- Publication number
- CN104539542B CN104539542B CN201410719014.9A CN201410719014A CN104539542B CN 104539542 B CN104539542 B CN 104539542B CN 201410719014 A CN201410719014 A CN 201410719014A CN 104539542 B CN104539542 B CN 104539542B
- Authority
- CN
- China
- Prior art keywords
- node
- sink
- data
- tree
- secateurs
- 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.)
- Active
Links
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种基于移动Sink 数据收集的低能耗路由树枝剪方法,首先建立能耗模型,然后建立基于路由树的移动Sink数据收集网络模型,在此基础上提出一种基于贪心策略的低能耗路由树枝剪方法。该方法将整个网络划分成若干个路由树,树根为汇聚节点,其余节点将数据转发至其汇聚节点,初始时默认移动Sink 通信半径范围内的节点为汇聚节点,通过广播消息建立路由树,此时移动Sink 的时延达到最优,而传感器网络的整体能耗最大。本发明通过贪心策略寻求当前最佳枝剪位置,枝剪初始路由树,使其枝剪节点成为新的汇聚节点,降低传感器网络的整体能耗。相对于传统的经典基于分层拓扑的移动Sink 数据收集方法,该方法在Sink收集数据移动路径长度受限情况下,能有效降低全网能耗。
Description
技术领域
本发明涉及一种基于移动Sink数据收集的低能耗路由树枝剪方法,属于无线传感器网络领域。
背景技术
随着数字电子技术、无线通信和物联网技术的不断进步与发展,使得无线传感器网络(wireless sensor networks,简称WSNs)的应用日趋广泛,数据收集是一种基本功能。人们可以通过在实际的应用场景中部署大量传感器节点,对各种兴趣数据进行收集,如温度、湿度、声音、图像、视频等。在无线传感器网络中,如何能够有效降低传感器节点传输数据的能耗,一直以来都是亟待解决的热点问题。在无线传感器网络中大部分节点之间需要多跳才能到达,如何降低传感器节点之间的路由跳数成为延长全网生存周期的关键问题。在传统的静态网络拓扑中,Sink节点固定,所有传感器节点的数据都集中到Sink节点中,因而Sink节点及其周围节点需要承担较大的数据转发量,容易因能量耗尽死亡,形成WSN的能耗瓶颈。近年来,人们提出了各种基于移动Sink的数据收集方案,在网络中选取若干汇聚节点,汇聚节点负责区域性传感数据的收集,使用一个或多个移动Sink节点在特定的路径上移动,从汇聚节点中收集数据。该方案由于存在多个汇聚节点,从而使得能量消耗在全网更加均衡,能有效减少网络能耗、延长网络生存周期。通过移动Sink节点轮询每个传感器节点的平面数据收集方法,虽然使每个节点与移动Sink节点之间只有一跳的距离,传感器节点的能耗损耗最小,但是数据收集的时延却达到最大。若大规模部署传感器节点,数据收集的工作效率较低,所以此方法不适用于部署大规模传感器节点的场景。因此,如何使全网的时延和能耗达到一定的平衡,延长全网的生存周期成为一个极具挑战的数据收集设计问题。
近年来越来越多的国内外学者针对分层拓扑的移动Sink数据收集方法进行了如下研究。G Xing等人提出了一种基于汇集点RP(Rendezvous Points)的Sink移动收集机制以解决Sink点移动速度限制与精确数据延迟之间的矛盾。在该机制中,传感器节点将收集的信息通过多跳方式发送给距离最近的RP点,并由后者缓存信息,移动Sink依次访问各RP点以收集数据。但是全网的通信能力并没有得到充分利用,因为在无线通信模型中,移动Sink可以远程收集来自汇集点的信息,即移动Sink只需要移动到汇集点附近收集数据即可,没有必要移动到精确的汇集点位置。此外,计算得到的RP点位置可能没有实际的物理节点存在,此时需要在周围随机选择节点代替汇集点,从而影响算法性能。Lindsey S等人提出的PEGASIS是对LEACH的改进算法。LEACH是层簇数据收集协议的先驱,它从逻辑上将传感器网络划分为多个簇,并采用循环随机轮流的方式选举簇首,每个簇的成员节点将其数据发送到簇首节点。LEACH的核心思想是通过随机选择簇首,从而将整个网络的能量负载平均地分配到每个传感器节点上,达到降低网络能源消耗的目的。为了减少网络的能量消耗,节点仅和最近的邻居之间进行通信。与LEACH不同的是,PEGASIS算法采用链式结构,收集到的数据以点对点的方式传递并最终传递到汇聚节点,由汇聚节点发送至移动Sink节点。但是由于链式的传输路径较长,使得数据传输开销较大。Guo Longjiang等人改进了传统移动Sink数据收集中节点需要周期性广播自身信息(包括地理位置、能量水平等)的缺点,提出了基于随机压缩的移动Sink数据收集方案。网络中的一部分节点通过概率成为收集者(Collector),网络中其他节点将通过随机定向传输(Stochastic direct transmission)将自己的数据发送给通信范围内的收集者,当收集者接收到一定数量的数据后,将这些数据利用Bloom filter技术进行压缩,再采用角度传输(Angle transmission)以多跳形式传送数据给移动Sink。
因此,目前无线传感器网络中基于移动Sink进行数据收集时普遍存在的问题是:
1)大多数基于移动Sink的数据收集方法并不考虑数据收集的时延,事实上,移动Sink的移动速度有限,过长的移动路径将会影响到数据收集的实时性。
2)假设某计算设备知道所有网络信息,采用集中式算法选择汇聚点,不考虑选择汇聚点时的通信开销和全网的能量最优,这往往不符合实际。
一种可行的解决方法是容忍一定的移动Sink收集数据的时延,降低传感器节点能量上的消耗,从而使得全网数据收集的能量消耗和时延达到一定的平衡。由此引出了一种新的数据收集方法,该方法将整个网络划分成若干个路由树,虚拟化树根为汇聚节点,其余节点将数据转发至其汇聚节点。在移动轨迹长度受限的情况下,移动Sink节点轮询每个汇聚节点最终获取整个网络的数据。
发明内容
本发明的目的是提供一种基于移动Sink数据收集的低能耗路由树枝剪方法,解决在移动Sink移动路径长度受限的情况下,传感器网络能耗过高和生命周期较短的问题。本发明相对于传统的基于移动Sink数据收集协议,在移动Sink数据收集移动路径长度受限的情况下,能够有效降低传感器网络能量消耗和延长全网生命周期。
本发明所采用的能耗模型如下所述:
在实际的收集过程中,子节点将消息转发给相对应的汇聚节点,当移动Sink节点接近此汇聚节点时将此消息转发给移动Sink节点。本发明所采用的能耗模型:
p≈e(kr+kt) (1)
节点总能耗p由接收数据总量kr和发送数据总量kt共同决定。e为常数,表示收发单位比特数据所需要的能耗。
在移动Sink单个运行周期内,任何节点i接收数据量和发送数据量之间的关系为q表示任意节点i在单个运行周期所采集的数据总量,并假设所有节点单个运行周期内采集的数据总量q相等。根据假设,所有子节点向其所属汇聚节点发送数据,故可得到全网所有节点接收数据总量和跳数直接的关系,见公式(2):
公式(2)中,hi表示子节点i到其所属汇聚节点的跳数。如果节点i为汇聚节点,则hi为0。根据公式(2),可将单轮系统总能耗ptotal表述为最小跳数和的形式,如
公式(3)中,pi为任意节点i的单轮总能耗,根据公式(3),传感器网络的能耗最小化问题等价于全网子节点距离其汇聚节点跳数和最小化问题,在本发明中等价于路由森林的总体路经长度最小化问题。
本发明的技术解决方案是:
一种基于移动Sink数据收集的低能耗路由树枝剪方法,在建立和优化网络拓扑路由树的步骤如下:
步骤一:初始时,移动Sink节点广播消息MSG,其通信半径范围内的传感器节点接收到广播消息,返回确认消息ACK,则该节点作为初始汇聚节点,将该初始汇聚节点的广播消息中的Prenode值设置为Sink节点的Id,汇聚节点继续广播消息MSG;其中MSG格式为:
MSG(Id,Prenode,Nextnode,Type,Level,Num,Q),其中,Id为节点标识;Prenode为上一跳节点的Id;Nextnode为下一跳节点的Id;Type为节点的类型,其中0代表Sink节点,1代表汇聚节点,2代表普通节点;Level代表节点的层数;Num表示该节点所具有的子节点个数;Q=Level*Num,表示枝剪操作结束之后可优化的路径长度;
步骤二:汇聚节点通信半径范围内的传感器节点收到MSG广播消息,返回确认消息ACK,此传感器节点成为该汇聚节点的子节点,该子节点将其Prenode设置为相应汇聚节点的Id,传感器子节点继续广播消息;
步骤三:该子节点通信半径范围内的传感器节点收到广播消息MSG,返回确认消息ACK,此传感器节点成为广播消息的传感器节点的后继,该子节点的后继将Prenode设置为上一跳传感器节点的Id,子节点的后继继续广播消息;
步骤四:重复步骤三,直到某个传感器节点广播消息之后,在T时间之内没有收到其他传感器节点返回的确认消息ACK,则此传感器节点成为叶子节点。叶子节点根据其节点信息中的Prenode值,逐层发送反馈消息MSG_ACK给上一跳节点,上一跳节点接收到其下一跳节点的反馈消息后,计算新的Num和Q,将数值Num,Q和Nextnode赋值到反馈消息中,继续向前驱节点发送该反馈消息,将每个节点的反馈信息MSG_ACK转发到Sink节点,以顺序存储的方式存储在Sink节点中;反馈消息MSG_ACK格式为:
MSG_ACK(Id,Prenode,Nextnode,Type,Level,Num,Q),其中,Id为节点标识;Prenode为上一跳节点的Id;Nextnode为下一跳节点的Id;Type为节点的类型,其中0代表Sink节点,1代表汇聚节点,2代表普通节点;Level代表节点的层数;Num表示该节点所具有的子节点个数;Q=Level*Num,表示枝剪操作结束之后可优化的路径长度。
步骤五:将Sink节点中存储的每个节点信息依次读取出来,按照构造二叉平衡树的步骤构建二叉平衡树链表存储结构,将顺序存储改为链式存储;
步骤六:根据构建的二叉平衡树链式存储结构查找Q值最大的节点,将其节点信息记录在Sink节点中的数据栈B中。根据节点信息中的PreNode,在二叉平衡树中进行搜索该节点的上一跳节点,搜索完之后,将其节点信息存储到数据栈B中。根据上一跳节点的Prenode,搜索该节点的上一跳节点,直到该节点信息的Type为0为止,由此得到一条枝剪链路;
步骤七:根据枝剪链路,通过移动Sink广播数据链路节点信息寻找网络拓扑路由树中的枝剪节点,将此枝剪节点做为新的汇聚节点;
步骤八:将Sink节点与除初始汇聚节点以外的各汇聚节点构成一个无向图,计算该图中任意两节点之间的距离;
步骤九:通过旅行商算法计算移动Sink到各个汇聚节点收集数据的最短路径L,如果L≤Lm,对Sink节点中顺序存储的现有的传感器节点的信息进行调整,包括节点信息中被枝剪节点的层数和子节点个数。重复步骤六至步骤九,重新生成平衡二叉树,再次进行枝剪操作;否则,放弃本次枝剪操作,路由树优化完成,形成移动Sink收集数据的移动轨迹。优选地,本发明在移动Sink中顺序存储节点信息,将节点信息存储在数组A中,节点信息格式如下所述:
M[Flag1,Id,Prenode,Nextnode,Type,Level,Num,Q,Flag2]
其中,Flag1表示一个传感器节点信息的开始标志位,Flag2表示一个传感器节点信息的结束标志位,Id表示该传感器节点的Id;Prenode表示该节点的上一跳节点Id;Nextnode代表节点的下一跳节点的Id;Type表示该节点的类型,0代表Sink节点,1代表汇聚节点,2代表普通节点;Level代表节点的层数;Num表示该节点所具有的子节点个数;Q=Level*Num,表示以该节点为根节点的路由树的总的路径长度。将传感器网络中传感器节点的信息以上面存储格式,通过数组的方式存储到Sink节点中。
优选地,将Sink节点中顺序存储的信息转换为二叉平衡树链表存储的过程如下所述:
移动Sink节点顺序读取Sink节点中顺序存储的传感器节点信息,以Flag1,Flag2作为标志位进行读取,读取每一个数据,构建二叉平衡树链表存储结构。构建二叉平衡树的过程中,根据二叉平衡树构建过程中的四种调整策略进行二叉树的调整,保证树的深度最小。采用的调整方式是:LL型调整,LR型调整,RR型调整,RL型调整。在二叉平衡树中存储的传感器节点信息的存储格式为:N(Leftnode,Id,Prenode,Nextnode,Type,Level,Num,Q,Rightnode)为节点信息存储格式,其中,Leftnode表示该节点的左孩子节点Id,Id表示该节点的标识;Prenode表示该节点的上一跳节点的Id;Nextnode表示该节点的下一跳节点的Id;Type表示该节点的类型,其中1代表汇聚节点,2代表普通节点;Level代表节点的层数;Num表示该节点所具有的子节点个数;Q=Level*Num,表示枝剪操作结束之后可优化的路径长度。Rightnode表示该节点的右孩子节点Id。
优选地,本发明所涉及的枝剪链路的形成过程如下所述:
二叉平衡树链式存储结构构建完成之后,根据二叉树的查找策略,查找二叉平衡树链式存储结构中Q值最大的节点,此时的搜索的算法时间复杂度最小。查找到Q值最大的传感器节点之后,将其节点信息记录在Sink节点中的数据栈B中。根据此传感器节点信息中的PreNode值,在二叉平衡树链式存储结构继续进行查找操作,查找该节点的上一跳节点,搜索操作结束之后,将其节点信息存储到数据栈B。根据上述方式,继续搜索相关的传感器节点,搜索该传感器节点的上一跳节点,直到该节点信息的Type为0为止,由此得到一条枝剪链路。
优选地,本发明所涉及的移动Sink轨迹长度限制方法如下所述:
假设移动Sink收集数据的运动轨迹上限为Lm,即移动Sink在有在Lm运动轨迹长度内才能将全网的数据都收集完毕。本发明所涉及的移动Sink收集数据时延限制以轨道长度上限Lm来间接反映时延要求D,选择收集数据轨迹长度不大于Lm的Sink移动轨迹作为收集数据的运功轨道。
优选地,本发明所涉及的形成移动Sink收集数据的移动轨迹的方法如下所述:
旅行商问题(Travelling Salesman Problem,即TSP问题)是数学领域中著名问题之一。本发明中的Sink节点需要访问传感器网络中的汇聚节点,需要提前设定收集数据的路径,路径限制是每个汇聚节点只能被访问一次,而且汇聚节点全部访问完之后不需要回到Sink节点。路径的选择目标是要求得的路径路程为所有路径之中的最小值。通过旅行商算法计算移动Sink到各个汇聚节点(除初始汇聚节点外)收集数据的最短路径L,所形成的最短路径就是本发明中移动Sink收集数据的移动轨迹。
优选地,本发明所涉及的对移动Sink中顺序存储的路由树中的节点信息的调整更新方法如下所述:
根据移动轨迹上限判断当前的收集数据的移动轨迹是否超出要求上限,如果没有超出要求,则需要调整移动Sink中顺序存储的节点信息,继续进行下一步枝剪操作。根据需要枝剪的传感器节点的Id,对顺序存储的路由树中的信息进行调整,包括,节点层数,传感器节点的子节点个数等;以该传感器节点为节点元素的子树上的节点信息和以该节点为叶子节点的树枝上的传感器节点信息都需要进行调整,调整完成之后,更新Sink节点中的路由树的顺序存储结构。
本发明的有益效果是:本发明提供了一种基于移动Sink数据收集的低能耗路由树枝剪方法,解决了无线传感网络中能耗过高和全网生命周期较短的问题。相对于传统的数据收集协议有以下显著的优点:
1.在传感器网络数据收集时延和能量消耗方面有明显改善。
2.通过对初始路由树的枝剪,生成新的汇聚节点,移动Sink通过访问新的汇聚节点对全网的数据进行数据收集,有效提升了全网的生命周期,使全网能耗更加平均。
3.本发明所采用的二叉平衡树存储结构在寻找枝剪节点和枝剪路径过程中所需要时间复杂度为O(logN),相对于普通的路由树搜索具有较好的性能。
附图说明
图1是基于移动Sink无线传感网数据收集初始网络拓扑路由树示意图;
图2是Sink节点中以二叉平衡树方式存储传感器节点信息的示意图;
图3是Sink节点数据栈B中的消息形成预支剪链路的示意图;
图4是网络拓扑路由树枝剪过程示意图一;
图5是网络拓扑路由树二次枝剪过程示意图二;
图6是本发明算法实施流程图;
具体实施方式
下面结合附图详细说明本发明的具体实施方式。
为了使移动Sink收集数据的时延和全网的能耗能够达到一个平衡,以便延长全网生命周期,本发明在容忍较低时延的情况下,着重于降低全网能耗。
具体来说,本发明降低全网能耗的关键是对传感器网络形成的初始路由树进行枝剪操作,使传感器网络进行数据收集时,各传感器节点到汇聚节点的总路径长度达到最优。根据本发明所使用的能耗模型可知,此时全网能耗达到最优。
如图1所示,本实施例在形成初始拓扑路由树的步骤如下:
步骤1初始时,移动Sink节点位置固定,发送寻找初始汇聚节点的广播消息MSG(1,null,null,0,1,null,null),其中第一个字段1代表Sink节点的Id,null表示值为空值,第一个0代表此节点为Sink节点,第二个1代表此节点处于第一层,在其通信半径范围之内的传感器节点,接收到此广播消息,返回ACK确认消息后,成为该Sink节点的初始汇聚节点,汇聚节点更新其消息格式为MSG(2,1,null,1,2,null,null),表示Id为2的传感器节点的上一跳节点Id为1,且为汇聚节点处在第二层。该汇聚节点继续广播消息;
步骤2在汇聚节点通信半径范围内的传感器节点,接收到广播消息,返回ACK确认消息,成为该汇聚节点的子节点,此传感器节点更新自己的消息格式为MSG(a,2,null,2,3,null,null),子传感器节点继续广播消息;
步骤3在子传感器节点的通信半径范围之内,附近的传感器节点收到消息,返回ACK确认消息,成为广播消息的子节点的后继,更新此传感器节点的消息格式,此传感器节点继续广播消息;
步骤4重复步骤3,当传感器节点广播消息没有收到ACK确认消息,则此传感器节点成为叶子传感器节点,直到没有传感器节点落单,整个传感器网络形成网络拓扑路由树,或者说,以移动Sink为根节点的多叉树;
步骤5移动Sink获得全部传感器网络节点的信息,通过如下方式:叶子传感器节点发送消息MSG_ACK(I,Prenodeid,null,2,L,1,L)至id值为Prenodeid的传感器节点,此传感器节点将Nextnodeid设置为发送消息的叶子节点的Id,将此传感器节点的子节点数目num加上发送信息传感器节点的子节点个数1,赋值到此传感器节点的num中,重新计算Q赋值到此传感器节点中的Q。将其接收到叶子节点传感器信息和此传感器节点的信息,打包为一个广播消息包,继续向上返回消息;
步骤6直到接收到广播信息的传感器节点类型为0时,则此节点为Sink节点,结束消息转发,Sink节点将全网的传感器节点的数据整合为一个数组,以顺序存储的方式存放在移动Sink中。
本实施例的具体实施和进行初始路由树优化的步骤如下:
步骤1根据Sink中存储的传感器节点的信息,依据构建二叉平衡树的方法,将传感器节点的顺序存储转换为二叉平衡树链式存储,如图2所示,每个节点的信息格式如下:N(Leftnode,Id,Prenode,Nextnode,Type,Level,Num,Q,Rightnode)。
步骤2对构建完成的二叉平衡树进行查询操作,查找其中Q值最大的传感器节点,将其Id记录到数据栈B中,根据传感器节点中的Prenodeid值查询该传感器节点的上一跳Id,并将其Id存到数据栈B中,直到某个传感器节点的Prenodeid为Null,则结束对二叉平衡树的搜索,此时数据栈B中形成一条枝剪链路,如图3所示;
步骤3根据数据栈B中的枝剪链路对网络拓扑路由树进行枝剪操作,栈底节点即为网络拓扑路由树的枝剪节点,如图4所示。将此节点视为汇聚节点,重新将Sink节点与除初始汇聚节点以外的各汇聚节点构成一个无向图,计算该图中任意两节点之间的距离。通过Dijkstra(迪杰斯特拉)最短路径算法计算移动Sink到各个汇聚节点(除初始汇聚节点外)的最短路径L。当L≤Lm时,对无线传感网络拓扑结构再进行下一轮枝剪,选取新的枝剪链路,对传感器网络进行枝剪操作,如图5所示。当L>Lm时,结束对传感器网络拓扑路由树的优化,并放弃本轮枝剪,形成移动Sink收集数据的移动轨迹;
根据上述步骤,对传感器网络进行优化之后,移动Sink收集数据的移动轨迹固定。此时在Sink收集数据路径长度要求的一定范围内,传感器网络的能耗达到较低水平,全网生命周期得到较好改善。
本发明基于移动Sink数据收集的低能耗路由树枝剪方法的流程如图6所示。
Claims (6)
1.一种基于移动Sink数据收集的低能耗路由树枝剪方法,其特征在于,在建立和优化网络拓扑路由树时的步骤如下:
步骤一:移动Sink根据消息格式MSG广播消息,通信半径范围内的传感器节点收到消息后,反馈确认消息ACK,成为初始汇聚节点,初始汇聚节点继续广播消息,其中MSG格式为:
MSG(Id,Prenode,Nextnode,Type,Level,Num,Q),其中,Id为节点标识;Prenode为上一跳节点的Id;Nextnode为下一跳节点的Id;Type为节点的类型,其中0代表Sink节点,1代表汇聚节点,2代表普通节点;Level代表节点的层数;Num表示该节点所具有的子节点个数;Q=Level*Num,表示枝剪操作结束之后可优化的路径长度;
步骤二:汇聚节点通信半径范围内的传感器节点收到汇聚节点的广播消息后,反馈确认消息ACK,成为该汇聚节点的子节点,子节点继续广播消息;
步骤三:子节点附近的传感器节点收到消息后,反馈确认消息ACK,成为广播消息的子节点的后继,子节点的后继继续广播消息;
步骤四:重复步骤三,直到某个传感器节点广播消息之后,在T时间后没有收到确认消息ACK,则此传感器节点成为叶子节点;当全网没有落单的传感器节点之后,Sink节点开始收集全网传感器节点信息,通过叶子节点逐层反馈的形式,将每个节点的反馈信息MSG_ACK转发到Sink节点,以顺序存储的方式存储在Sink节点中,其中反馈消息MSG_ACK格式为:
MSG_ACK(Id,Prenode,Nextnode,Type,Level,Num,Q),其中,Id为节点标识;Prenode为上一跳节点的Id;Nextnode为下一跳节点的Id;Type为节点的类型,其中0代表Sink节点,1代表汇聚节点,2代表普通节点;Level代表节点的层数;Num表示该节点所具有的子节点个数;Q=Level*Num,表示枝剪操作结束之后可优化的路径长度;
步骤五:将Sink节点中存储的每个节点信息依次读取出来,按照构造二叉平衡树的步骤构建二叉平衡树链表存储结构,将顺序存储改为链式存储;
步骤六:根据构建的二叉平衡树链式存储结构查找Q值最大的节点,将其节点信息记录在Sink节点中的数据栈B中,根据节点信息中的PreNode,在二叉平衡树中进行搜索该节点的上一跳节点,搜索完之后,将其节点信息存储到数据栈B中,根据上一跳节点的Prenode,搜索该节点的上一跳节点,直到该节点信息的Type为0为止,由此得到一条枝剪链路;
步骤七:根据枝剪链路,通过移动Sink广播数据链路节点信息寻找网络拓扑路由树中的枝剪节点,将此枝剪节点做为新的汇聚节点;
步骤八:将Sink节点与除初始汇聚节点以外的各汇聚节点构成一个无向图,计算该图中任意两节点之间的距离;
步骤九:通过旅行商算法计算移动Sink到各个汇聚节点收集数据的最短路径L,如果L≤Lm,对Sink节点中顺序存储的现有的传感器节点的信息进行调整,包括节点信息中被枝剪节点的层数和子节点个数,重复步骤六至步骤九,重新生成平衡二叉树,再次进行枝剪操作;否则,放弃本次枝剪操作,路由树优化完成,形成移动Sink收集数据的移动轨迹。
2.根据权利要求1所述的一种基于移动Sink数据收集的低能耗路由树枝剪方法,其特征在于:在步骤四中,移动Sink中顺序存储传感器节点信息:
移动Sink中传感器节点的存储格式是:
M[Flag1,Id,Prenode,Nextnode,Type,Level,Num,Q,Flag2]
其中,Flag1表示一个传感器节点信息的开始标志位,Flag2表示一个传感器节点信息的结束标志位,Id表示该传感器节点的Id;Prenode表示该节点的上一跳节点Id;Nextnode代表节点的下一跳节点的Id;Type表示该节点的类型,0代表Sink节点,1代表汇聚节点,2代表普通节点;Level代表节点的层数;Num表示该节点所具有的子节点个数;Q=Level*Num,表示枝剪操作结束之后可优化的路径长度。
3.根据权利要求1所述的一种基于移动Sink数据收集的低能耗路由树枝剪方法,其特征在于:在步骤五中,将Sink节点中顺序存储的信息转换为二叉平衡树链表存储的过程如下:
顺序读取Sink节点中顺序存储的传感器节点信息,以Flag1,Flag2作为标志位进行读取,读取每一个数据,构建二叉平衡树链表存储结构,构建二叉平衡树的过程中,根据四种调整策略,LL型调整,LR型调整,RR型调整,RL型调整,对二叉平衡树进行调整,在二叉平衡树中存储的传感器节点信息的存储格式为:[Leftnode,Id,Prenode,Nextnode,Type,Level,Num,Q,Rightnode],其中,Leftnode表示该节点的左孩子节点Id;Id表示该节点的标识;Prenode代表节点的上一跳节点的Id;Nextnode代表节点的下一跳节点的Id;Type表示该节点的类型,0代表汇聚节点,1代表普通节点;Level代表节点的层数;Num表示该节点所具有的子节点个数;Q=Level*Num,表示枝剪操作结束之后可优化的路径长度;Rightnode表示该节点的右孩子节点Id。
4.根据权利要求1所述的一种基于移动Sink数据收集的低能耗路由树枝剪方法,其特征在于:
在步骤八中,其移动Sink轨迹长度限制方法为:假设移动Sink收集数据的运动轨迹上限为Lm,即移动Sink在Lm长度运动轨迹内收集全网的数据;本方法以轨道长度上限Lm来间接反映时延要求D,选择收集数据轨迹长度不大于Lm的Sink移动轨迹作为收集数据的轨道。
5.根据权利要求1所述的一种基于移动Sink数据收集的低能耗路由树枝剪方法,其特征在于:
在步骤九中形成移动Sink收集数据的移动轨迹的方法如下:通过旅行商算法计算移动Sink到除初始汇聚节点外的各个汇聚节点收集数据的最短路径L,所形成的最短路径就是移动Sink收集数据的移动轨迹。
6.根据权利要求1所述的一种基于移动Sink数据收集的低能耗路由树枝剪方法,其特征在于:在步骤九中对顺序存储的路由树进行调整的方法如下:
根据需要枝剪的传感器节点的Id,对顺序存储的路由树中的信息进行调整,包括,节点层数,传感器节点的子节点个数;调整完成之后,更新Sink节点中的路由树的顺序存储结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410719014.9A CN104539542B (zh) | 2014-12-03 | 2014-12-03 | 一种基于移动Sink数据收集的低能耗路由树枝剪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410719014.9A CN104539542B (zh) | 2014-12-03 | 2014-12-03 | 一种基于移动Sink数据收集的低能耗路由树枝剪方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104539542A CN104539542A (zh) | 2015-04-22 |
CN104539542B true CN104539542B (zh) | 2017-10-24 |
Family
ID=52855011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410719014.9A Active CN104539542B (zh) | 2014-12-03 | 2014-12-03 | 一种基于移动Sink数据收集的低能耗路由树枝剪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104539542B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430620B (zh) * | 2015-11-04 | 2018-11-06 | 东南大学 | 一种移动无线传感网络的数据收集方法 |
CN106993295A (zh) * | 2017-03-14 | 2017-07-28 | 南京邮电大学 | 一种基于移动sink的无线传感网的数据收集方法 |
CN106954228B (zh) * | 2017-03-29 | 2022-02-22 | 西安电子科技大学 | 一种基于动态数据图样的生命期最优化树的构造方法 |
CN107994948B (zh) * | 2017-12-30 | 2023-04-28 | 山东省科学院海洋仪器仪表研究所 | 一种用于水下异构传感器网络的移动Sink路径规划方法 |
CN109583868B (zh) * | 2018-10-17 | 2020-10-27 | 北京瑞卓喜投科技发展有限公司 | 支付状态通道网络及其构建方法和系统、高频交易系统 |
CN109918545B (zh) * | 2019-03-26 | 2021-06-08 | 珠海格力智能装备有限公司 | 传感器数据的提取方法及装置 |
CN110324875B (zh) * | 2019-05-28 | 2020-09-18 | 西安空间无线电技术研究所 | 一种基于节点中心性的无线传感器网络能耗均衡路由方法 |
CN112312511B (zh) * | 2020-09-04 | 2021-06-04 | 河南大学 | 基于树的无线传感器网络能耗均衡的改进leach方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7680068B1 (en) * | 2005-09-13 | 2010-03-16 | Rockwell Collins, Inc. | System and method for artery node selection in an ad-hoc network |
CN102685861A (zh) * | 2012-05-11 | 2012-09-19 | 北京邮电大学 | 一种无线传感器网络sink节点收集数据的方法及装置 |
CN102892189A (zh) * | 2012-09-28 | 2013-01-23 | 北京航空航天大学深圳研究院 | 一种基于能耗均衡的无线传感器网络的数据融合树的建树方法 |
CN103269505A (zh) * | 2013-04-02 | 2013-08-28 | 南京邮电大学 | 基于多移动因子的无线传感器网络数据收集方法 |
-
2014
- 2014-12-03 CN CN201410719014.9A patent/CN104539542B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7680068B1 (en) * | 2005-09-13 | 2010-03-16 | Rockwell Collins, Inc. | System and method for artery node selection in an ad-hoc network |
CN102685861A (zh) * | 2012-05-11 | 2012-09-19 | 北京邮电大学 | 一种无线传感器网络sink节点收集数据的方法及装置 |
CN102892189A (zh) * | 2012-09-28 | 2013-01-23 | 北京航空航天大学深圳研究院 | 一种基于能耗均衡的无线传感器网络的数据融合树的建树方法 |
CN103269505A (zh) * | 2013-04-02 | 2013-08-28 | 南京邮电大学 | 基于多移动因子的无线传感器网络数据收集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104539542A (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539542B (zh) | 一种基于移动Sink数据收集的低能耗路由树枝剪方法 | |
Khedr et al. | Successors of PEGASIS protocol: A comprehensive survey | |
CN104883676B (zh) | 一种多无人机环境下协同安全通信方法 | |
CN104410997B (zh) | 一种用于无线传感器网络的层次型拓扑结构构建方法 | |
CN103906164B (zh) | 海上搜救无线传感器网络拓扑及拓扑控制方法 | |
CN104602302B (zh) | 一种基于分簇结构的ZigBee网络能量均衡路由方法 | |
CN102036338A (zh) | 一种基于数据驱动链路估计的传感器网络实时路由方法 | |
Jiang | LEACH protocol analysis and optimization of wireless sensor networks based on PSO and AC | |
CN103095577B (zh) | 上下文相关的非均匀分簇路由算法 | |
CN102769885B (zh) | 一种在传感器网络中实现路由的方法和传感器网络 | |
CN103327564A (zh) | 基于蚁群算法的无线传感器网络路由方法 | |
CN103228021A (zh) | 一种基于无线传感器执行网络的设施作物生长参数监测和控制方法 | |
Lu et al. | A cluster-tree-based energy-efficient routing protocol for wireless sensor networks with a mobile sink | |
Li et al. | Ant-based on-demand clustering routing protocol for mobile ad-hoc networks | |
CN102857989A (zh) | 一种面向移动传感网的自适应路由方法 | |
CN102238683A (zh) | 一种无线网状网的路由信息获取和传递方法 | |
Wen et al. | Energy efficient data collection scheme in mobile wireless sensor networks | |
CN102630086A (zh) | 基于Gabriel图的无线传感器网络的数据通信方法 | |
CN102802166A (zh) | 一种改进的Zigbee网络分层方法 | |
CN104244423B (zh) | 基于无线传感器网络多路径传输的时隙调度算法 | |
Eslaminejad et al. | Classification of Energy-Efficient Routing Protocols for Wireless Sensor Networks. | |
CN101951599B (zh) | 用于移动传感器网络的路径搜索方法 | |
CN103096411A (zh) | 基于反向能量限制路由协议的物联网通信方法 | |
CN103269505A (zh) | 基于多移动因子的无线传感器网络数据收集方法 | |
CN105246123A (zh) | 一种改进的carp路由协议 |
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 |