CN106131912B - 基于树状簇的无线传感器网络的移动Sink数据收集方法 - Google Patents
基于树状簇的无线传感器网络的移动Sink数据收集方法 Download PDFInfo
- Publication number
- CN106131912B CN106131912B CN201610440513.3A CN201610440513A CN106131912B CN 106131912 B CN106131912 B CN 106131912B CN 201610440513 A CN201610440513 A CN 201610440513A CN 106131912 B CN106131912 B CN 106131912B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- tree
- hop
- message
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
- H04W40/10—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/22—Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- 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
Abstract
本发明公开了一种基于树状簇的无线传感器网络的移动Sink数据收集方法,包括:分布式的树状簇建立:综合考虑节点周围的能量和密度信息计算节点权重,通过局部范围的分布式信息交换,选取合适的根节点作为移动Sink的驻留点RP。然后,在数据收集的稳定阶段,移动Sink访问所有RP进行数据收集,并提出一种条件性的重新成簇方法,设定数据收集轮数后选取新的RP进行轮换。因此,本发明实现了有效缓解hotspot问题,均衡网络负载,降低节点能耗,延长网络生命的目的。
Description
技术领域
本发明属于无线传感器网络领域,具体涉及一种基于树状簇的无线传感器网络的移动Sink数据收集方法。
背景技术
近年来,在无线传感器网络(WSN)中采用移动Sink来进行数据收集的方案越来越受到关注。在采用移动Sink进行WSN数据收集的过程中,一方面,Sink移动后伴随其周围节点不断变化,可以有效缓解“热区”问题;另一方面,采用移动Sink后,能够显著改善数据收集的实时性和可靠性。但是,Sink位置要进行频繁位置更新,给网络带来巨大拓扑维护成本及控制开销;同时,移动Sink驻留点的选取需要与移动回路长度进行权衡,如果所选驻留点较少,会导致多跳路由跳数过长,造成负载不均衡;如果所选驻留点过多,会引起移动Sink回路长度过长,降低实时性;此外,基于分簇结构的移动Sink数据收集算法,如果所选驻留点周围负载较重,或者长期担任数据汇聚点,必然导致节点能耗不均衡的问题,影响网络生命。因此,在分簇结构的无线传感器网络内进行数据收集时,需要妥善解决如何在保证一定延迟和开销的情况下,在一定程度上缓解“热区”问题并平衡网络负载,最终实现网络的能量高效,从而延长网络生命。
目前,通过移动Sink对无线传感器网络进行数据采集的相关研究文献如下:
1、Hamidreza Salarian等人在2014年的《IEEE TRANSACTIONS ON VEHICULARTECHNOLOGY》上发表的“An Energy-Efficient Mobile-Sink Path Selection Strategyfor Wireless Sensor Networks”中,移动sink只需要访问汇聚点RP,其它节点将数据发给最近的RP。本文提出一个启发式算法叫做加权汇聚点调度策略(WRP),每个节点都有一个权重值,该值与节点距离由RP构成的回路的跳数和将要发给最近RP点的数据量相关。由于选择汇聚点的权重参数确保了数据多和跳数较多的节点具有较大权重成为汇聚点(RP),因此能保证节点不会多跳上传过多的数据,一定程度上平衡了负载,减少了节点的能耗;同时算法通过限制回路长度保证了时延。该文的缺陷在于每次确定一个可以加入回路的节点都需要重新更新剩余节点的权重,造成很大开销。
2、Miao Zhao和Yuanyuan Yang等人在2012年的《IEEE TRANSACTIONS ONCOMPUTERS》上发表的“Bounded Relay Hop Mobile Data Gathering in Wireless SensorNetworks”,提出了一个基于轮询的数据收集方法,采用集中式和分布式两种算法寻找合适的轮询点PP(polling point)缓存并融合数据等待MDC到来收集。其中集中式算法需要建立最短路径树,设定一定的跳数限制,在树上以迭代方式选择合适且最少的PP点,并保证该PP点能够关联最多的其它节点。但是集中式算法需要全局信息。而分布式算法首先需要获取两个参数:每个节点的d跳邻居数目,以及该节点到达sink的最小跳数。通过与d跳邻居交换信息并对比,如果某节点覆盖d跳内的邻居数量较多且更接近于sink,则将拥有更高的成为PP的优先权,以此原则可以得到最少的PP而且所得PP能够分布更紧密,从而显著减少MDC的回路长度,进一步缩短时延。但是该文献的两种算法仅考虑了距离、密度和时延问题,未充分考虑网络的能量有效性,而且对于PP点周围易形成hotspot的问题没有过多关注。
3、Miao Zhao等人在2011年的《IEEE TRANSACTIONS ON COMPUTERS》上发表的“Efficient Data Gathering with Mobile Collectors and Space-Division MultipleAccess Technique in Wireless Sensor Networks”中,首先给定有限候选轮询节点(PP)集合,然后依照一定原则在这些候选者中选取最少的一部分PP,保证既能够使MDC的数据收集时间最短又能达到全覆盖。该文中应用了SDMA技术,同一时间只能有有限个节点上传数据给移动数据收集器sencar,所以要结合图论中的最大匹配,将节点配对,然后提出三种挑选PP的算法,获取到最大数量的节点匹配对同时保证PP点最少,从而达到数据上传时间最短且移动路径最短的目标。同时作者还考虑了多个sencar的情况并提出RDTP算法,以数据上传时间和移动时间为权重,以sink为根建立最小扩展树,依据权重分成多个子树,采用多个sencar遍历不同的子树,最终达到平衡负载和收集时间的目的。该文的优点在于得到最少的PP,关联到最多的节点数,并能达到全覆盖,同时一定程度上减少了延迟,且RDTP算法能够有效平衡负载。缺陷在于未充分考虑能量和热区问题,且在子树划分的权重只考虑负载未考虑跳数限制。
4、Vupputuri S等人在2010年的《Journal of Parallel&DistributedComputing》上发表的“Using mobile data collectors to improve network lifetimeof wireless sensor networks with reliability constraints”考虑采用一个异构网络,其中包括大量静态节点、少量移动数据收集器DC、以及一个静态基站BS。DC到达每一个停留点位置后,将担任簇头节点的角色,负责簇的构建。当DC周围一跳邻居的平均剩余能量低于一定阈值时,该DC需要从自己的候选列表中选取下一个移动位置,且需要保证下一位置周围节点的平均剩余能量最高同时满足可靠性条件。但是,该算法未考虑较远节点多跳上传数据造成的巨大能耗,同时,DC的位置经常变动也会造成网络拓扑维护的巨大开销。
5、Lee E等人在2014年的《Wireless Networks》上发表的“Rendezvous-baseddata dissemination for supporting mobile sinks in multi-hop clusteredwireless sensor networks”,提出了一个基于驻留点和多跳分簇的数据收集算法RDDM。RDDM首先需要建立虚拟骨干网架构(BVI),然后仅通过簇头节点进行数据路由。为了向网络提供健壮性并降低连接失败的可能性,RDDM提供了足够的备份节点作为簇头的替代者,同时还为邻居簇头的通信提供多个备份路径。此外,当源节点需要向目的地上传数据时,仅需通过邻居簇头间发送信号寻找一条最短路径。RDDM可以降低网络通信能耗,但是簇头节点可能由于负载较重而提前死亡,从而影响网络生命。
6、Konstantopoulos C等人在2012年的《IEEE Transactions on Parallel&Distributed Systems》上发表的“A Rendezvous-Based Approach Enabling Energy-Efficient Sensory Data Collection with Mobile Sinks”中,建立了分簇虚拟骨干网架构,同时提出一种分布式算法,仅选取具有足够剩余能量且能够在Sink附近有足够长时间的节点作为汇聚点RN。该文所提出的算法所建立的簇具有不同的大小,且簇的大小与其簇头到达移动Sink轨道的距离成反比。通过分簇并选取合适数量的RN,可以有效的减少数据丢失率同时获取较大的数据吞吐量。同时,RN的更换可以促进网络能耗均衡性。但是,该算法的时延性能较差,因此只适用于非实时性应用。
7、Na Wang等人在2014年的《Journal of Networks》上发表的“Clustering-basedRouting Algorithm in Wireless Sensor Networks with Mobile Sink”中,提出了一种结合移动Sink且基于汇聚区域的路由算法CRA。在CRA中,节点在指定的圆内移动,并将其移动轨道附近的圆形区域定义为缓存区。由于缓存区承担着网络中的最大负载量,所以为了获取最大网络生命期,CRA的主要任务是决定缓存区的半径大小和移动轨迹圆的半径大小。此外,该文献还提出了一种CRA的改进算法CRA-1,在CRA中加入了密度控制,从而进一步平衡网络负载。但是该文提出的CRA算法中缓存区由于需要汇聚整个网络的数据,所以其负载较高,会造成网络过快死亡。
因此,目前无线传感器网络中基于移动Sink进行数据采集时普遍存在的问题是:
1)如果移动Sink边移动边收集,需要周期性或者非周期性地进行频繁位置更新,给网络带来巨大拓扑维护成本及控制开销;
2)移动Sink驻留点的选取与移动回路长度的权衡,如果所选驻留点较少,会导致多跳路由跳数过长,造成负载不均衡;如果所选驻留点过多,会引起移动Sink回路长度过长,降低实时性;
3)基于层次型网络拓扑的移动Sink数据收集算法,如果所选驻留点周围负载较重,或者长期担任数据汇聚点,必然导致节点能耗不均衡的问题,影响网络生命。
发明内容
为了解决现有的移动Sink进行数据收集技术中存在的诸多问题和不足,本发明提出了一种无线传感器网络中基于树状簇的移动Sink数据收集方法,主要通过节点间的分布式信息交换,选取合适的RP节点,并以此为根节点建立树状簇,由移动Sink到达这些RP驻留点处来收集各树状簇中节点采集到的数据,能够有效平衡负载,降低节点能耗,缓解hotspot问题,增加网络生命。
实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于树状簇的无线传感器网络的移动Sink数据收集方法,包括以下步骤:
(1)建立树状簇的数据收集树阶段:
根据每个传感器节点的一跳邻居节点的平均剩余能量、两跳范围的邻居节点个数计算每个传感器节点自身权重,通过分布式信息交换,对比权重并找到一跳范围内权重值最大的传感器节点作为汇聚点RP,并以汇聚点RP为根节点附属其它子节点,建立树状簇的数据收集树;
(2)稳定阶段的数据收集阶段,包括:设置数据收集树内的数据存储点、规划移动Sink的路径和收集数据,
具体包括:将所有树状簇的节点的数据汇聚到汇聚点RP的一跳邻居节点DGN进行存储,移动Sink以解决TSP旅行商问题的近似算法NN规划其最优移动路径;移动Sink从基站BS出发沿着最优移动路径依次到达各个汇聚点RP,汇聚点RP的一跳邻居节点DGN内存储的数据传送到移动Sink,最终回到基站BS,从而完成一个数据收集轮;反复进行步骤(2)中的数据收集轮;
(3)重新成簇,并重新选择汇聚点RP,直到整个数据收集过程结束:
在完成设定的数据收集轮数后,计算各个传感器节点的剩余能量值,当各传感器节点的能量均未耗尽时,比较汇聚点RP的一跳邻居节点DGN的剩余能量值和一跳邻居节点DGN的初始能量值,当达到设定阈值时,重新执行步骤(1)~(3),进入一个新的数据收集周期DGP,否则继续执行步骤(2)~(3);当出现传感器节点的能量耗尽时,结束整个数据收集过程。
所述步骤(3)中,整个数据收集过程包括多个数据收集周期DGP,每个数据收集周期DGP均包含多个数据收集轮DGR,每个数据收集轮DGR中,移动Sink以基站BS为初始位置,从基站BS出发遍历无线传感器网络中选取的所有汇聚点RP进行全网数据收集;数据收集轮DGR的具体定义如下:将移动Sink从基站BS出发,到达所有选中的汇聚点RP停留并收集数据,最终返回基站BS的过程成为一个数据收集轮DGR;数据收集周期DGP的具体定义如下:一个数据收集周期DGP过程中包含多个数据收集轮DGR,且在同一数据收集周期DGP的每个数据收集轮DGR中,移动Sink遍历相同的汇聚点RP;同时,每个数据收集周期DGP均包括树状簇数据树的建立、稳定阶段的数据收集和重新成簇三个阶段。
所述步骤(1)中,树状簇的数据收集树的建立阶段中,分布式信息交换过程为:每个传感器节点为了统计其周围两跳邻居节点个数及相应的权重,将自己的ID值、当前剩余能量Er值、该节点的消息生存时间TTL构成Exchg_Msg_1消息广播给其两跳范围内的所有邻居节点,该消息包括{ID,Er,TTL},其中消息生存时间TTL初始设定为2,所有邻居节点收到该消息后,将TTL值减1然后转发给周围其他邻居节点,直至TTL=0时收到该消息的节点将丢弃该消息停止广播。
所述步骤(1)中节点自身权重的计算方法为:任意传感器节点i可以根据自己收到的Exchg_Msg_1消息数量及消息的TTL值,统计出自身的一跳邻居节点个数None-hop(i)以及两跳邻居个数Ntwo-hop(i),并计算出自身一跳范围内所有邻居节点的平均剩余能量:
其中,j为传感器节点i的一跳邻居节点,根据首轮信息交换获取到的参数信息,各节点可以计算出自己的权重值,其计算公式如下:
其中,λ为可变加权系数,可以根据需求设置不同的值,Eavg-one-hop(i)为传感器节点i一跳范围内所有邻居节点的平均剩余能量,E0为任意传感器节点的初始能量,Ntwo-hop(i)为传感器节点i两跳范围的邻居节点个数,n为网络中所有节点的个数。
所述步骤(1)中汇聚点RP的选取方法如下:
每个传感器节点计算出自己的权重值后,与自己的一跳邻居进行d轮权重信息交换,每轮中所有节点均向自己的一跳邻居节点发送新的消息包Exchg_Msg_2,消息包中包含IDi和W(i),分别代表节点i的ID标识和节点i的权重值,每轮信息交换后,如果某节点收到消息中有邻居节点的权重比自己权重值大,则将自己的权重值更新为邻居中最大的权重值,d轮后,每个节点将自己的权重值与一跳邻居节点的权重值作对比,如果满足:
W(i)≥MAX{W(j1),W(j2),W(j3),...}
其中,j1,j2,j3…分别为节点i的一跳邻居节点的ID标识,MAX为求集合中元素最大值的符号,此时,节点i将自己选为汇聚点RP,即d跳范围内权值最大的节点最终将成为汇聚点RP。
所述的步骤(1)树状簇的数据收集书的建立阶段中,子节点的附属过程有如下特征:所有选中的汇聚点RP向邻居节点广播一个通知消息包Tree_Msg,该消息包中包含IDi和Hop信息,分别代表转发该消息的节点ID标识和从汇聚点RP发出后所途经的跳数,其中,Tree_Msg消息包中的IDi初始值设为发出该消息的汇聚点RP的ID标识IDRP,Hop初始值设定为0,在Tree_Msg消息包的转发过程中,如果收到该消息包的节点是汇聚点RP或者移动Sink,则直接丢弃该消息;如果收到该消息的节点是其它非RP节点,则根据节点中保存的路由表Entry1中保存的消息进行判断,对比Tree_Msg中的Hop值与节点中保存路由表Entry1中保存的HoptoRP值:
(6a)、如果Hop<HoptoRP,则代表该Tree_Msg消息是由到达该RP跳数更少的邻居节点所转发,则该节点将Entry1中的HoptoRP值更新为Tree_Msg中的Hop值,NextHopID1的值更新为IDi的值,同时将收到的Tree_Msg消息包中的IDi替换成自己的ID标识,Hop值加1,然后向自己的一跳邻居节点转发该消息包;
(6b)、如果Hop≥HoptoRP,则代表当前节点收到的Tree_Msg消息是由到达该节点跳数距离较远的RP所广播,或者转发该消息的上一跳节点距离RP比自己更远,此时直接丢弃该消息。
所述步骤(2)中,设置数据收集树内的数据存储点、规划移动Sink的路径的过程为:移动Sink首先向外洪泛一个最短路径树建立消息包SPT_Msg,该消息包中包含IDi和Hop信息,分别代表转发该消息的节点ID标识和该消息从移动Sink发出后所途经的跳数,其中,IDi的初始值为移动Sink的ID标识,即为0;Hop初始值设为0,在SPT_Msg转发的过程中,每个收到该消息的节点需要根据节点自身保存的路由表Entry2中所保存的信息进行判断,对比SPT_Msg中的Hop值与节点自身保存的路由表Entry2中保存的HoptoSink值:
(7a)、如果Hop<HoptoSink,代表当前节点收到的SPT_Msg是由距离移动Sink跳数距离比自己更小的邻居节点所转发,此时,该节点将路由表Entry2中的HoptoSink值更新为SPT_Msg中的Hop值,NextHopID2值更新为IDi,同时将收到的SPT_Msg消息包中的IDi替换成自己的ID标识,Hop值加1,然后向自己的一跳邻居节点转发该消息包;
(7b)、如果Hop≥HoptoSink,则选择直接丢弃该消息;
最终,每个节点记录下自己到达移动Sink的最短路线所途经的父节点,从而建立最短路径树SPT,在每个数据收集周期DGP的第一个数据收集轮DGR中,在移动Sink移动之前,所有成为汇聚点RP的节点将沿着最短路径树上传自己的位置信息到移动Sink,移动Sink根据收到的各个汇聚点RP的位置信息,以解决TSP旅行商问题的近似算法NN规划最优的移动路径,然后依次到达每个RP停留一定时间收集数据,最终返回基站BS。
所述步骤(2)中,收集数据方法如下:
在每个数据收集周期DGP的第一个数据收集轮DGR中,汇聚点RP选取以及树状簇建立完毕后,将进入稳定数据收集阶段,如果某节点的Entry1中所保存的HoptoRP或者HoptoSink值为1,即距离RP或者BS为一跳时,则将该节点命名为数据汇聚点DGN,除了RP和DGN之外的每个节点将向Entry1中NextHopID1所记录的父节点上传自己的感知数据以及子节点发送来的数据,直到到达DGN后保存,DGN将保存自己的数据和从所有子节点收到的数据,直到移动Sink到达后上传至移动Sink,移动Sink到达每个RP后,仅需向一跳范围内所有节点发送Hello消息,RP及所有DGN收到该消息后,将缓存的数据上传至Sink,在设定时间内,如果持续没有数据上传,则移动Sink移动到下一RP位置进行数据收集。
所述的重新成簇方法中:
在每个数据收集轮DGR中,当移动Sink到达某个RP位置后,该RP周围一跳的所有DGN首先将自己缓存的所有数据上传至移动Sink,然后计算如果满足如下公式:
其中,γ为可变系统参数,Er(i)为当前DGR中节点i上传完数据后的剩余能量,Ein(i)为每一个收据收集周期DGP开始时的第一个DGR中节点i的剩余能量信息;此时该DGN将上传重新成簇预警消息至移动Sink,同时将自己确定为下一个数据收集周期DGP的新RP,移动Sink在每个RP收完数据后,都会停留一定时间,如果收到预警消息则直接保存,然后继续向下一个RP移动,直到收集完所有RP的数据和预警消息回到BS,此时,移动Sink将统计收到的重新成簇预警消息,如果在某数据收集轮DGR中至少收到一个预警消息,则移动Sink沿着最短路径树SPT广播重新成簇通知,且该数据收集轮DGR成为当前数据收集周期DGP的最后一个数据收集轮DGR,上一个数据收集周期DGP中发出重新成簇预警的DGN在下一个数据收集周期DGP中的RP重选阶段自动确认自己为RP,其它所有节点收到消息后将继续进行RP的重选和树状簇的重建,至此,进入下一个数据收集周期DGP,继续进行数据收集。
本发明的有益效果:
本发明的基于树状簇的无线传感器网络的移动Sink数据收集方法,实现了通过分布式节点间局部通信选取RP节点建立数据收集树,选取周围邻居节点个数及平均剩余能量较高的节点作为数据汇聚点作为移动Sink的停留点,移动Sink遍历所有RP收集各树状簇的数据,同时对这些RP节点进行轮换,能够有效平衡负载,缓解hotspot问题,降低节点能耗,增加网络生命。
附图说明
图1为本发明的网络模型示意图。
图2为本发明中总体数据收集过程各阶段的示意图。
图3为本发明中树状簇建立的流程示意图。
图4为本发明中整个数据收集方法的总体流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提出的数据收集方法,由移动Sink在网络部署区域内周期性地移动至各个汇聚点进行数据收集,整个方法中每个数据收集周期主要包括三个阶段:第一个阶段是树状簇建立阶段,每个节点以一跳邻居平均剩余能量、邻居节点个数为权重,通过分布式信息交换,对比权重找到一跳范围内权重值最大的节点作为汇聚点Rendezvous Point(RP),从而建立树状簇。第二个阶段,稳定数据收集过程中,所有树状簇的节点均将数据汇聚到RP一跳邻居节点存储,等待移动Sink以TSP方式到达后上传。第三个阶段,一定数据收集轮数后对RP的一跳邻居节点的剩余能量值进行评估,根据收到的重新请求数量决定是否重新成簇。
下面结合附图对本发明的应用原理作详细的描述。
一种基于树状簇的无线传感器网络的移动Sink数据收集方法,包括以下步骤:
(1)建立树状簇的数据收集树阶段:
根据每个传感器节点的一跳邻居节点的平均剩余能量、两跳范围的邻居节点个数计算每个传感器节点自身权重,通过分布式信息交换,对比权重并找到一跳范围内权重值最大的传感器节点作为汇聚点RP,并以汇聚点RP为根节点附属其它子节点,建立树状簇的数据收集树;
(2)稳定阶段的数据收集阶段,包括:设置数据收集树内的数据存储点、规划移动Sink的路径和收集数据,
具体包括:将所有树状簇的节点的数据汇聚到汇聚点RP的一跳邻居节点DGN进行存储,移动Sink以STP方式规划其最优移动路径;移动Sink从基站BS出发沿着最优移动路径依次到达各个汇聚点RP,汇聚点RP的一跳邻居节点DGN内存储的数据传送到移动Sink,最终回到基站BS,从而完成一个数据收集轮;反复进行步骤(2)中的数据收集轮;
(3)重新成簇,并重新选择汇聚点RP,直到整个数据收集过程结束:
在完成一定的数据收集轮数后,计算各个传感器节点的剩余能量值,当各传感器节点的能量均未耗尽时,比较汇聚点RP的一跳邻居节点DGN的剩余能量值和一跳邻居节点DGN的初始能量值,当达到设定阈值时,重新执行步骤(1)~(3),进入一个新的数据收集周期DGP,否则继续执行步骤(2)~(3);当出现传感器节点的能量耗尽时,结束整个数据收集过程。
所述步骤(3)中,整个数据收集过程包括多个数据收集周期DGP,每个数据收集周期DGP均包含多个数据收集轮DGR,每个数据收集轮DGR中,移动Sink以基站BS为初始位置,从基站BS出发遍历无线传感器网络中选取的所有汇聚点RP进行全网数据收集;数据收集轮DGR的具体定义如下:将移动Sink从基站BS出发,到达所有选中的汇聚点RP停留并收集数据,最终返回基站BS的过程成为一个数据收集轮DGR;数据收集周期DGP的具体定义如下:一个数据收集周期DGP过程中包含多个数据收集轮DGR,且在同一数据收集周期DGP的每个数据收集轮DGR中,移动Sink遍历相同的汇聚点RP;同时,每个数据收集周期DGP均包括树状簇数据树的建立、稳定阶段的数据收集和重新成簇三个阶段。
所述步骤(1)中,树状簇的数据收集树的建立阶段中,分布式信息交换过程为:每个传感器节点为了统计其周围两跳邻居节点个数及相应的权重,将自己的ID值、当前剩余能量Er值、该节点的消息生存时间TTL构成Exchg_Msg_1消息广播给其两跳范围内的所有邻居节点,该消息包括{ID,Er,TTL},其中消息生存时间TTL初始设定为2,所有邻居节点收到该消息后,将TTL值减1然后转发给周围其他邻居节点,直至TTL=0时收到该消息的节点将丢弃该消息停止广播。
所述步骤(1)中节点自身权重的计算方法为:任意传感器节点i可以根据自己收到的Exchg_Msg_1消息数量及消息的TTL值,统计出自身的一跳邻居节点个数None-hop(i)以及两跳邻居个数Ntwo-hop(i),并计算出自身一跳范围内所有邻居节点的平均剩余能量:
其中,j为传感器节点i的一跳邻居节点,根据首轮信息交换获取到的参数信息,各节点可以计算出自己的权重值,其计算公式如下:
其中,λ为可变加权系数,可以根据需求设置不同的值,Eavg-one-hop(i)为传感器节点i一跳范围内所有邻居节点的平均剩余能量,E0为任意传感器节点的初始能量,Ntwo-hop(i)为传感器节点i两跳范围的邻居节点个数,n为网络中所有节点的个数。
所述步骤(1)中汇聚点RP的选取方法如下:
每个传感器节点计算出自己的权重值后,与自己的一跳邻居进行d轮权重信息交换,每轮中所有节点均向自己的一跳邻居节点发送新的消息包Exchg_Msg_2,消息包中包含IDi和W(i),分别代表节点i的ID标识和节点i的权重值,每轮信息交换后,如果某节点收到消息中有邻居节点的权重比自己权重值大,则将自己的权重值更新为邻居中最大的权重值,d轮后,每个节点将自己的权重值与一跳邻居节点的权重值作对比,如果满足:
W(i)≥MAX{W(j1),W(j2),W(j3),...}
其中,j1,j2,j3…分别为节点i的一跳邻居节点的ID标识,MAX为求集合中元素最大值的符号,此时,节点i将自己选为汇聚点RP,即d跳范围内权值最大的节点最终将成为汇聚点RP。
所述的步骤(1)树状簇的数据收集书的建立阶段中,子节点的附属过程有如下特征:所有选中的汇聚点RP向邻居节点广播一个通知消息包Tree_Msg,该消息包中包含IDi和Hop信息,分别代表转发该消息的节点ID标识和从汇聚点RP发出后所途经的跳数,其中,Tree_Msg消息包中的IDi初始值设为发出该消息的汇聚点RP的ID标识IDRP,Hop初始值设定为0,在Tree_Msg消息包的转发过程中,如果收到该消息包的节点是汇聚点RP或者移动Sink,则直接丢弃该消息;如果收到该消息的节点是其它非RP节点,则根据节点中保存的路由表Entry1中保存的消息进行判断,对比Tree_Msg中的Hop值与节点中保存路由表Entry1中保存的HoptoRP值:
(6a)、如果Hop<HoptoRP,则代表该Tree_Msg消息是由到达该RP跳数更少的邻居节点所转发,则该节点将Entry1中的HoptoRP值更新为Tree_Msg中的Hop值,NextHopID1的值更新为IDi的值,同时将收到的Tree_Msg消息包中的IDi替换成自己的ID标识,Hop值加1,然后向自己的一跳邻居节点转发该消息包;
(6b)、如果Hop≥HoptoRP,则代表当前节点收到的该Tree_Msg消息是由到达该节点跳数距离较远的RP所广播,或者其上一跳节点到达RP的跳数距离较自己更远,此时直接丢弃该消息。
所述步骤(2)中,设置数据收集树内的数据存储点、规划移动Sink的路径的过程为:移动Sink首先向外洪泛一个最短路径树建立消息包SPT_Msg,该消息包中包含IDi和Hop信息,分别代表转发该消息的节点ID标识和该消息从移动Sink发出后所途经的跳数,其中,IDi的初始值为移动Sink的ID标识,即为0;Hop初始值设为0,在SPT_Msg转发的过程中,每个收到该消息的节点需要根据节点自身保存的路由表Entry2中所保存的信息进行判断,对比SPT_Msg中的Hop值与节点自身保存的路由表Entry2中保存的HoptoSink值:
(7a)、如果Hop<HoptoSink,代表当前节点收到的该SPT_Msg是由距离移动Sink跳数距离比自己更小的邻居节点所转发,此时,该节点将路由表Entry2中的HoptoSink值更新为SPT_Msg中的Hop值,NextHopID2值更新为IDi,同时将收到的SPT_Msg消息包中的IDi替换成自己的ID标识,Hop值加1,然后向自己的一跳邻居节点转发该消息包;
(7b)、如果Hop≥HoptoSink,则选择直接丢弃该消息;
最终,每个节点记录下自己到达移动Sink的最短路线所途经的父节点,从而建立最短路径树SPT,在每个数据收集周期DGP的第一个数据收集轮DGR中,在移动Sink移动之前,所有成为汇聚点RP的节点将沿着最短路径树上传自己的位置信息到移动Sink,移动Sink根据收到的各个汇聚点RP的位置信息,以解决TSP旅行商问题的近似算法NN规划最优的移动路径,然后依次到达每个RP停留一定时间收集数据,最终返回基站BS。
所述步骤(2)中,收集数据方法如下:
在每个数据收集周期DGP的第一个数据收集轮DGR中,汇聚点RP选取以及树状簇建立完毕后,将进入稳定数据收集阶段,如果某节点的Entry1中所保存的HoptoRP或者HoptoSink值为1,即距离RP或者BS为一跳时,则将该节点命名为数据汇聚点DGN,除了RP和DGN之外的每个节点将向Entry1中NextHopID1所记录的父节点上传自己的感知数据以及子节点发送来的数据,直到到达DGN后保存,DGN将保存自己的数据和从所有子节点收到的数据,直到移动Sink到达后上传至移动Sink,移动Sink到达每个RP后,仅需向一跳范围内所有节点发送Hello消息,RP及所有DGN收到该消息后,将缓存的数据上传至Sink,在设定时间内,如果持续没有数据上传,则移动Sink移动到下一RP位置进行数据收集。
所述的重新成簇方法为:
在每个数据收集轮DGR中,当移动Sink到达某个RP位置后,该RP周围一跳的所有DGN首先将自己缓存的所有数据上传至移动Sink,然后计算如果满足如下公式:
其中,γ为可变系统参数,Er(i)为当前DGR中节点i上传完数据后的剩余能量,Ein(i)为每一个收据收集周期DGP开始时的第一个DGR中节点i的剩余能量信息;此时该DGN将上传重新成簇预警消息至移动Sink,同时将自己确定为下一个数据收集周期DGP的新RP,移动Sink在每个RP收完数据后,都会停留一定时间,如果收到预警消息则直接保存,然后继续向下一个RP移动,直到收集完所有RP的数据和预警消息回到BS,此时,移动Sink将统计收到的重新成簇预警消息,如果在某数据收集轮DGR中至少收到一个预警消息,则移动Sink沿着最短路径树SPT广播重新成簇通知,且该数据收集轮DGR成为当前数据收集周期DGP的最后一个数据收集轮DGR,上一个数据收集周期DGP中发出重新成簇预警的DGN在下一个数据收集周期DGP中的RP重选阶段自动确认自己为RP,其它所有节点收到消息后将继续进行RP的重选和树状簇的重建,至此,进入下一个数据收集周期DGP,继续进行数据收集。
1.网络模型
参见附图1,是本发明中无线传感器网络的网络模型,本发明对于网络模型及假设条件的设定如下:
·在L×L的兴趣网络区域中,随机部署N个同构的无线传感器节点,假设所有传感器节点是静态的,而且地理位置信息已知(传感器节点可以配置GPS天线或者通过定位技术获取位置信息);
·采用一个移动Sink进行数据收集,假设移动Sink的能量、存储以及计算能力不受限,且可以在网络区域内以恒定速度自由移动。
·在网络区域的中心位置部署一个基站BS,主要负责汇总最终移动Sink采集到的网络中的所有数据;
·节点与节点,以及节点与移动Sink之间,如果在各自的通信范围内即可相互通信,收发通知消息或者数据。同时,节点产生数据的速率相等,且在每轮数据收集过程中仅发送一次数据;
·所有节点有唯一的ID标识,其中Sink的ID标识为0。
本发明的整个数据收集过程包括多个数据收集周期DGP(Data GatheringPeriod),每个DGP包含多个数据收集轮DGR(Data Gathering Round),一个DGR中,移动Sink以BS为初始位置,从BS出发遍历网络中选取的所有驻留点RPs(Rendezvous Points)进行全网数据收集。DGR和DGP的关系如附图2所示,其具体定义如下:
·DGR:将移动Sink从BS出发,到达所有选中的RPs停留收集数据,最终返回BS的过程成为一个DGR;
·DGP:一个DGP过程中包含多个DGR,且在同一DGP的每个DGR中,移动Sink遍历相同的RPs。如图2所示,一个DGP包括三个阶段:树状簇建立阶段、稳定数据收集阶段、重新成簇预警阶段。其中,一个DGP的第一个DGR为树状簇建立或者重建阶段,最后一个DGR为重新成簇预警阶段,其它所有DGR均为稳定数据收集阶段。
在每个DGP的第一个DGR中选取RP,并建立树状簇。之后由移动Sink发起建立最短路径树SPT,所选RP将位置信息沿着SPT上传到移动Sink,由移动Sink规划移动路径后,遍历每个RP进行数据收集。在每个DGR中,RP仅作为移动Sink的停留位置而不负责接收转发其周围附属节点的数据,将RP周围的一跳邻居节点作为数据汇聚节点DGN(Data GatheringNodes),其它普通节点则将数据路由至DGN进行存储,等待移动Sink到达相应的RP后上传到移动Sink。
每个节点保存两个路由表Entry1和Entry2,其中Entry1主要保存数据路由及重新成簇所需的信息。包含以下信息:
·NextHopID1,记录数据上传到RP所途经的下一跳节点的ID标识;
·HoptoRP,记录该节点距离RP的跳数值,初始值设为infinite;
·Er(i),记录该节点当前DGR上传完数据后的剩余能量;
·Ein(i),表示每一个DGP开始(即上一个DGP结束)时该节点的剩余能量信息。在RP选举结束及树状簇建立后,第一次收到RP通知时将记录此时的剩余能量作为该节点在当前DGP的初始能量信息Ein(i)。
路由表Entry2则负责保存建立最短路径树SPT以及上传RP的位置信息所需的路由信息,包含以下信息:
·NextHopID2,记录建立最短路径树时,每个节点到达Sink的路径上的父节点的ID标识;
·HoptoSink,记录该节点距离Sink的跳数值,初始值设为infinite。
·2.树状簇的构建方法
·2.1汇聚点RP的选取
参见图3,为本发明的树状簇构建的工作流程图,具体包括如下步骤:
步骤101,邻居间分布式信息交换,获取节点周围的参数信息;
步骤102,选取获取到的节点参数,计算权重并对比权重信息;
步骤103,选取合适的节点作为RP;
步骤104,子节点根据收到的信息附属到合适的RP,最终构建出树状簇。
下面详细介绍上述过程:
步骤101,首先为每个节点赋予唯一的ID标识。在首轮信息交换中,每个节点i向自己的一跳邻居发送一个消息包Exchg_Msg_1,消息包格式为{IDi,Er(i),TTL}。其中IDi和Er(i)分别代表节点i的ID标识和节点i的剩余能量,TTL则代表节点的生存时间,初始值为2,每转发一次该值递减1,直至为0,从而保证只有两跳内的邻居收到该广播消息。
通过该过程,任意节点i可以根据自己收到的Exchg_Msg_1消息数量及消息的TTL值,统计出自身的一跳邻居节点个数None-hop(i)以及两跳邻居个数Ntwo-hop(i),并计算出自身一跳范围内所有邻居节点的平均剩余能量:
其中j为节点i的一跳邻居节点。
步骤102,根据首轮信息交换获取到的参数信息,各节点可以计算出自己的权重值,其计算公式如下:
其中λ为可变加权系数,可以根据需求设置不同的值。Eavg-one-hop(i)为节点i一跳范围内所有邻居节点的平均剩余能量,E0为任意节点的初始能量,Ntwo-hop(i)为节点i两跳范围的邻居节点个数,n为网络中所有节点的个数。
步骤103,每个节点计算出自己的权重值后,与自己的一跳邻居进行d轮权重信息交换。每轮中所有节点均向自己的一跳邻居节点发送新的消息包Exchg_Msg_2,其格式为{IDi,W(i)}。消息包中包含IDi和W(i),分别代表节点i的ID标识和节点i的权重值。
每轮信息交换后,如果某节点收到消息中有邻居节点的权重比自己权重值大,则将自己的权重值更新为邻居中最大的权重值。d轮后,每个节点将自己的权重值与一跳邻居节点的权重值作对比,如果满足:
W(i)≥MAX{W(j1),W(j2),W(j3),...}
其中j1,j2,j3…分别为节点i的一跳邻居节点的ID标识,MAX为求集合中元素最大值的符号。此时,节点i将自己选为RP,即d跳范围内权值最大的节点最终将成为RP。
由上述条件可知,本发明中成为RP的节点,其周围一跳邻居节点的平均剩余能量将会较高,且附近邻居节点的个数会相对较多。同时,节点仅通过局部间的信息交换选取RP,只有在确定自己的权重值大于自身所有d跳邻居的权重时,才确定自己为RP。所以,以这种分布式方案选取RP的位置以及所成树状簇的深度和宽度均具有较大的不确定性。
·2.2子节点的附属
步骤104,RP选取完毕后,成为RP的节点仅负责在每个DGP的第一个DGR中向邻居广播通知信息,使其它子节点附属到最近的RP。其中,移动Sink在初始位置尚未移动时,视为特殊的RP,所有选中的RP向邻居广播一个通知消息包Tree_Msg,其消息格式为{IDi,Hop},该消息包中包含IDi和Hop信息,分别代表转发该消息的节点ID标识和从RP发出后所途经的跳数。其中,Tree_Msg消息中的IDi初始值设为发出该消息的RP的ID标识IDRP,Hop初始值设定为0。
在Tree_Msg消息包的转发过程中,如果收到该消息的节点是RP或者Sink,则直接丢弃该消息;如果收到该消息的节点是其它非RP节点,则根据路由表Entry1中保存的消息进行判断,对比Tree_Msg中的Hop值与节点中保存的HoptoRP值:
(1)如果Hop<HoptoRP,代表该Tree_Msg是由到达该RP跳数更少的邻居节点所转发,则该节点将Entry1中的HoptoRP值更新为Tree_Msg中的Hop值,NextHopID1的值更新为IDi的值,同时将收到的Tree_Msg消息包中的IDi替换成自己的ID标识,Hop值加1,然后向自己的一跳邻居节点转发该消息包;
(2)如果Hop≥HoptoRP,则代表新收到的Tree_Msg消息是由到达该节点跳数距离较远的RP所广播或者上一跳节点到达RP的跳数距离较远,此时直接丢弃该消息。
综上所述,本发明中每个普通节点仅附属于距离自己跳数距离更近的RP,同时仅需记录下自己上传数据到达该RP所途经的下一跳节点,即父节点。所有子节点均记录下自己的父节点后,则树状簇结构建立完毕。
·3移动Sink路径规划及数据收集方法
·3.1移动Sink的路径规划
在每一个DGP中,当树状簇建立完毕后,每个DGR中移动Sink需要遍历所有RP进行数据收集,所以需要首先通过一定方式获取到各个RP的位置信息,规划自己的最优移动路线。
Sink首先向外洪泛一个最短路径树建立消息包SPT_Msg,该消息包中{IDi,Hop},分别代表转发该消息的节点ID标识和该消息从Sink发出后所途经的跳数。其中,IDi的初始值为Sink的ID标识,即为0;Hop初始值设为0。
在SPT_Msg转发的过程中,每个收到该消息的节点需要根据路由表Entry2中所保存的信息进行判断,对比SPT_Msg中的Hop值与节点Entry2中保存的HoptoSink值:
(1)如果Hop<HoptoSink,代表该SPT_Msg是由距离Sink跳数距离更小的邻居节点所转发,此时,该节点将Entry2中的HoptoSink值更新为SPT_Msg中的Hop值,NextHopID2值更新为IDi,同时将收到的SPT_Msg消息包中的IDi替换成自己的ID标识,Hop值加1,然后向自己的一跳邻居节点转发该消息包;
(2)如果Hop≥HoptoSink,则选择直接丢弃该消息。
最终,每个节点记录下自己到达Sink的最短路线所途经的父节点,从而建立最短路径树SPT。在每个DGP的第一个DGR中,在Sink移动之前,所有成为RP的节点将沿着最短路径树上传自己的位置信息到Sink。移动Sink根据收到的各个RP的位置信息,以TSP旅行商问题的方式规划最优的移动路径,然后依次到达每个RP停留一定时间收集数据,最终返回BS。
需要注意的是,本发明中SPT仅在第一个DGR中创建,且一旦建立,在所有DGP中均保持不变且不再重建,仅在RP选取或者重选后向Sink上传位置信息时起作用。移动Sink在每个DGR中均需访问当前DGP选中的每个RP,且仅仅访问一次。
·3.2数据收集方法
在本发明的每个DGP的第一个DGR中,RP选取以及树状簇建立完毕后,将进入稳定数据收集阶段。如果某节点的Entry1中所保存的HoptoRP或者HoptoSink值为1,即距离RP或者BS为一跳时,则将该节点命名为数据汇聚点DGN(Data Gathering Nodes)。除了RP和DGN之外的每个节点将向Entry1中NextHopID1所记录的父节点上传自己的感知数据以及子节点发送来的数据,直到到达DGN后保存。DGN将保存自己的数据和从所有子节点收到的数据,直到移动Sink到达后上传至Sink。
移动Sink到达每个RP后,仅需向一跳范围内所有节点发送Hello消息,RP及所有DGN收到该消息后,将缓存的数据上传至Sink。在一定时间内,如果持续没有数据上传,则移动Sink移动到下一RP位置进行数据收集。
·4重新成簇及RP重选方法
本发明中每个节点的Entry1中保存有Er(i)和Ein(i)信息,分别代表节点在每个DGR中上传完数据后当前的剩余能量和节点在当前DGP中数据收集阶段开始前的初始剩余能量。其中节点的Er(i)实时更新,在当前DGP的第一轮DGR树状簇建立完毕后,各节点记录下当时的剩余能量值作为Ein(i),该值在当前DGP中保持不变。
由于所有节点均需将数据缓存至DGN,所以在确定重新成簇条件时,优先考虑DGN节点的能量变化。在每个DGR中,当移动Sink到达某个RP位置后,该RP周围一跳的所有DGN首先将自己缓存的所有数据上传至移动Sink,然后计算如果满足如下公式:
其中γ为可变系统参数,该公式代表该DGN在多个DGR中已经消耗了较多的能量,此时该DGN将上传重新成簇预警消息至移动Sink,同时将自己确定为下一个DGP的新RP。移动Sink在每个RP收完数据后,都会停留一定时间,如果收到预警消息则直接保存,然后继续向下一个RP移动,直到收集完所有RP的数据和预警消息回到BS。
此时,移动Sink将统计收到的重新成簇预警消息,如果在某DGR中至少收到一个预警消息,则Sink沿着最短路径树SPT广播重新成簇通知,且该DGR成为当前DGP的最后一个DGR。需要注意的是,上一个DGP中发出重新成簇预警的DGN在下一个DGP中的RP重选阶段自动确认自己为RP。其它所有节点收到消息后将继续按照上述方法进行RP的重选和树状簇的重建。至此,进入下一个DGP,继续进行数据收集。
参见图4,为结合了RP选取、树状簇构建以及重新成簇方法后的整个数据收集过程的流程图,其过程大致如下:
A.Sink广播建树通知,所有节点开始向邻居信息进行分布式通信;
B.各节点根据收到信息统计并计算自己的权重,对比权重后选取到合适的RP;
C.以所选RP为根节点附属子节点,建立树状簇;
D.移动Sink以TSP方式遍历RP收集全网数据以及各个DGN节点的重新成簇预警信息;
E.移动Sink遍历RP结束后返回基站BS并将收集的数据上传给BS,并根据收到信息判定是否有节点能量耗尽:如果没有,则继续判定是否至少有一个DGN节点的剩余能量与初始能量的比值达到阈值,若满足条件则执行步骤A,否则继续执行步骤D;如果有节点能量耗尽,则整个数据收集过程结束。
本发明为了综合权衡数据收集时延和网络生命,在RP的选取、树状簇的构建以及重新成簇等方面进行了创新性的工作。由于SPT仅在RP上传位置信息时起作用,其能量消耗相对于所建树状簇中数据上传的通信能耗可以忽略不计,此处不予分析。在数据收集阶段,由于所有的数据均汇聚到所选RP周围的DGN节点缓存,对于DGN的能量需求比较大,所以在算法的RP选取阶段,选取网络中周围平均剩余能量较高的节点作为RP,将有效均衡网络能耗,缓解“热区”问题。同时,RP一旦选取后,长时间使用同样会使其周围部分DGN因能耗较多而提前死亡,所以本发明提出了一定DGR后的重新成簇策略,将耗能较多的DGN直接作为下一个DGP的RP,同时选取新的RP建立树状簇,进一步缓解“热区”问题,提升网络生命周期。
传统的无线传感器网络,节点可能通过多跳上传信息至静态Sink或者通过移动Sink到达每个节点的方式进行数据收集,严重影响网络的生命周期和数据收集的实时性。而在本发明中,每个节点仅需上传感知数据至RP周围的DGN,大大减少了中继跳数,从而降低了多跳上传数据对所有中继节点带来的能耗。同时,由于算法选取邻居数目更多的节点成为RP,有效减少了RP的个数,移动Sink仅需访问该部分RP点进行数据收集,大大减少了移动回路长度。由于移动Sink停留时间相对于移动时间忽略不计,所以本发明可以有效降低时延。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (7)
1.一种基于树状簇的无线传感器网络的移动Sink数据收集方法,其特征在于,包括以下步骤:
(1)建立树状簇的数据收集树阶段:
根据每个传感器节点的一跳邻居节点的平均剩余能量、两跳范围的邻居节点个数计算每个传感器节点自身权重,通过分布式信息交换,对比权重并找到一跳范围内权重值最大的传感器节点作为汇聚点RP,并以汇聚点RP为根节点附属其它子节点,建立树状簇的数据收集树;
(2)稳定阶段的数据收集阶段,包括:设置数据收集树内的数据存储点、规划移动Sink的路径和收集数据,
具体包括:将所有树状簇的节点的数据汇聚到汇聚点RP的一跳邻居节点DGN进行存储,移动Sink以解决TSP旅行商问题的近似算法NN规划其最优移动路径;移动Sink从基站BS出发沿着最优移动路径依次到达各个汇聚点RP,汇聚点RP的一跳邻居节点DGN内存储的数据传送到移动Sink,最终回到基站BS,从而完成一个数据收集轮;反复进行步骤(2)中的数据收集轮;
(3)重新成簇,并重新选择汇聚点RP,直到整个数据收集过程结束:
在完成设定的数据收集轮数后,计算各个传感器节点的剩余能量值,当各传感器节点的能量均未耗尽时,比较汇聚点RP的一跳邻居节点DGN的剩余能量值和一跳邻居节点DGN的初始能量值,当达到设定阈值时,重新执行步骤(1)~(3),进入一个新的数据收集周期DGP,否则继续执行步骤(2)~(3);当出现传感器节点的能量耗尽时,结束整个数据收集过程;
所述步骤(1)中节点自身权重的计算方法为:任意传感器节点i可以根据自己收到的Exchg_Msg_1消息数量及消息的TTL值,统计出自身的一跳邻居节点个数None-hop(i)以及两跳邻居个数Ntwo-hop(i),并计算出自身一跳范围内所有邻居节点的平均剩余能量:
其中,j为传感器节点i的一跳邻居节点,根据首轮信息交换获取到的参数信息,各节点可以计算出自己的权重值,其计算公式如下:
其中,λ为可变加权系数,可以根据需求设置不同的值,Eavg-one-hop(i)为传感器节点i一跳范围内所有邻居节点的平均剩余能量,E0为任意传感器节点的初始能量,Ntwo-hop(i)为传感器节点i两跳范围的邻居节点个数,n为网络中所有节点的个数;TTL为节点的消息生存时间;
所述的重新成簇方法中:
在每个数据收集轮DGR中,当移动Sink到达某个RP位置后,该RP周围一跳的所有DGN首先将自己缓存的所有数据上传至移动Sink,然后计算如果满足如下公式:
其中,γ为可变系统参数,Er(i)为当前DGR中节点i上传完数据后的剩余能量,Ein(i)为每一个收据收集周期DGP开始时的第一个DGR中节点i的剩余能量信息;此时该DGN将上传重新成簇预警消息至移动Sink,同时将自己确定为下一个数据收集周期DGP的新RP,移动Sink在每个RP收完数据后,都会停留一定时间,如果收到预警消息则直接保存,然后继续向下一个RP移动,直到收集完所有RP的数据和预警消息回到BS,此时,移动Sink将统计收到的重新成簇预警消息,如果在某数据收集轮DGR中至少收到一个预警消息,则移动Sink沿着最短路径树SPT广播重新成簇通知,且该数据收集轮DGR成为当前数据收集周期DGP的最后一个数据收集轮DGR,上一个数据收集周期DGP中发出重新成簇预警的DGN在下一个数据收集周期DGP中的RP重选阶段自动确认自己为RP,其它所有节点收到消息后将继续进行RP的重选和树状簇的重建,至此,进入下一个数据收集周期DGP,继续进行数据收集。
2.根据权利要求1所述的基于树状簇的无线传感器网络的移动Sink数据收集方法,其特征在于:所述步骤(3)中,整个数据收集过程包括多个数据收集周期DGP,每个数据收集周期DGP均包含多个数据收集轮DGR,每个数据收集轮DGR中,移动Sink以基站BS为初始位置,从基站BS出发遍历无线传感器网络中选取的所有汇聚点RP进行全网数据收集;数据收集轮DGR的具体定义如下:将移动Sink从基站BS出发,到达所有选中的汇聚点RP停留并收集数据,最终返回基站BS的过程成为一个数据收集轮DGR;数据收集周期DGP的具体定义如下:一个数据收集周期DGP过程中包含多个数据收集轮DGR,且在同一数据收集周期DGP的每个数据收集轮DGR中,移动Sink遍历相同的汇聚点RP;同时,每个数据收集周期DGP均包括树状簇数据树的建立、稳定阶段的数据收集和重新成簇三个阶段。
3.根据权利要求1所述的基于树状簇的无线传感器网络的移动Sink数据收集方法,其特征在于:所述步骤(1)中,树状簇的数据收集树的建立阶段中,分布式信息交换过程为:每个传感器节点为了统计其周围两跳邻居节点个数及相应的权重,将自己的ID值、当前剩余能量Er值、该节点的消息生存时间TTL构成Exchg_Msg_1消息广播给其两跳范围内的所有邻居节点,该消息包括{ID,Er,TTL},其中消息生存时间TTL初始设定为2,所有邻居节点收到该消息后,将TTL值减1然后转发给周围其他邻居节点,直至TTL=0时收到该消息的节点将丢弃该消息停止广播。
4.根据权利要求1所述的基于树状簇的无线传感器网络的移动Sink数据收集方法,其特征在于:所述步骤(1)中汇聚点RP的选取方法如下:
每个传感器节点计算出自己的权重值后,与自己的一跳邻居进行d轮权重信息交换,每轮中所有节点均向自己的一跳邻居节点发送新的消息包Exchg_Msg_2,消息包中包含IDi和W(i),分别代表节点i的ID标识和节点i的权重值,每轮信息交换后,如果某节点收到消息中有邻居节点的权重比自己权重值大,则将自己的权重值更新为邻居中最大的权重值,d轮后,每个节点将自己的权重值与一跳邻居节点的权重值作对比,如果满足:
W(i)≥MAX{W(j1),W(j2),W(j3),...}
其中,j1,j2,j3…分别为节点i的一跳邻居节点的ID标识,MAX为求集合中元素最大值的符号,此时,节点i将自己选为汇聚点RP,即d跳范围内权值最大的节点最终将成为汇聚点RP。
5.根据权利要求1或2所述的基于树状簇的无线传感器网络的移动Sink数据收集方法,其特征在于:所述的步骤(1)树状簇的数据收集书的建立阶段中,子节点的附属过程有如下特征:所有选中的汇聚点RP向邻居节点广播一个通知消息包Tree_Msg,该消息包中包含IDi和Hop信息,分别代表转发该消息的节点ID标识和从汇聚点RP发出后所途经的跳数,其中,Tree_Msg消息包中的IDi初始值设为发出该消息的汇聚点RP的ID标识IDRP,Hop初始值设定为0,在Tree_Msg消息包的转发过程中,如果收到该消息包的节点是汇聚点RP或者移动Sink,则直接丢弃该消息;如果收到该消息的节点是其它非RP节点,则根据节点中保存的路由表Entry1中保存的消息进行判断,对比Tree_Msg中的Hop值与节点中保存路由表Entry1中保存的HoptoRP值:
(6a)、如果Hop<HoptoRP,则代表该Tree_Msg消息是由到达该RP跳数更少的邻居节点所转发,则该节点将Entry1中的HoptoRP值更新为Tree_Msg中的Hop值,NextHopID1的值更新为IDi的值,同时将收到的Tree_Msg消息包中的IDi替换成自己的ID标识,Hop值加1,然后向自己的一跳邻居节点转发该消息包;
(6b)、如果Hop≥HoptoRP,则代表当前节点收到的Tree_Msg消息是由到达该节点跳数距离较远的RP所广播,或者转发该消息的上一跳节点距离RP比自己更远,此时直接丢弃该消息。
6.根据权利要求2所述的基于树状簇的无线传感器网络的移动Sink数据收集方法,其特征在于:所述步骤(2)中,设置数据收集树内的数据存储点、规划移动Sink的路径的过程为:移动Sink首先向外洪泛一个最短路径树建立消息包SPT_Msg,该消息包中包含IDi和Hop信息,分别代表转发该消息的节点ID标识和该消息从移动Sink发出后所途经的跳数,其中,IDi的初始值为移动Sink的ID标识,即为0;Hop初始值设为0,在SPT_Msg转发的过程中,每个收到该消息的节点需要根据节点自身保存的路由表Entry2中所保存的信息进行判断,对比SPT_Msg中的Hop值与节点自身保存的路由表Entry2中保存的HoptoSink值:
(7a)、如果Hop<HoptoSink,代表当前节点收到的SPT_Msg是由距离移动Sink跳数距离比自己更小的邻居节点所转发,此时,该节点将路由表Entry2中的HoptoSink值更新为SPT_Msg中的Hop值,NextHopID2值更新为IDi,同时将收到的SPT_Msg消息包中的IDi替换成自己的ID标识,Hop值加1,然后向自己的一跳邻居节点转发该消息包;
(7b)、如果Hop≥HoptoSink,则选择直接丢弃该消息;
最终,每个节点记录下自己到达移动Sink的最短路线所途经的父节点,从而建立最短路径树SPT,在每个数据收集周期DGP的第一个数据收集轮DGR中,在移动Sink移动之前,所有成为汇聚点RP的节点将沿着最短路径树上传自己的位置信息到移动Sink,移动Sink根据收到的各个汇聚点RP的位置信息,以解决TSP旅行商问题的近似算法NN规划最优的移动路径,然后依次到达每个RP停留一定时间收集数据,最终返回基站BS。
7.根据权利要求6所述的基于树状簇的无线传感器网络的移动Sink数据收集方法,其特征在于:所述步骤(2)中,收集数据方法如下:
在每个数据收集周期DGP的第一个数据收集轮DGR中,汇聚点RP选取以及树状簇建立完毕后,将进入稳定数据收集阶段,如果某节点的Entry1中所保存的HoptoRP或者HoptoSink值为1,即距离RP或者BS为一跳时,则将该节点命名为数据汇聚点DGN,除了RP和DGN之外的每个节点将向Entry1中NextHopID1所记录的父节点上传自己的感知数据以及子节点发送来的数据,直到到达DGN后保存,DGN将保存自己的数据和从所有子节点收到的数据,直到移动Sink到达后上传至移动Sink,移动Sink到达每个RP后,仅需向一跳范围内所有节点发送Hello消息,RP及所有DGN收到该消息后,将缓存的数据上传至Sink,在设定时间内,如果持续没有数据上传,则移动Sink移动到下一RP位置进行数据收集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610440513.3A CN106131912B (zh) | 2016-06-17 | 2016-06-17 | 基于树状簇的无线传感器网络的移动Sink数据收集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610440513.3A CN106131912B (zh) | 2016-06-17 | 2016-06-17 | 基于树状簇的无线传感器网络的移动Sink数据收集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106131912A CN106131912A (zh) | 2016-11-16 |
CN106131912B true CN106131912B (zh) | 2019-05-24 |
Family
ID=57470415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610440513.3A Active CN106131912B (zh) | 2016-06-17 | 2016-06-17 | 基于树状簇的无线传感器网络的移动Sink数据收集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106131912B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106993295A (zh) * | 2017-03-14 | 2017-07-28 | 南京邮电大学 | 一种基于移动sink的无线传感网的数据收集方法 |
CN107424415A (zh) * | 2017-06-15 | 2017-12-01 | 深圳森阳环保材料科技有限公司 | 一种智能交通监测系统 |
CN107172680B (zh) * | 2017-07-24 | 2020-12-29 | 深圳市赋安安全系统有限公司 | 一种基于簇树形网络的无线中继系统 |
CN107613480B (zh) * | 2017-09-24 | 2020-04-17 | 中南大学 | 一种基于树状簇与移动元素的数据收集方法 |
CN108055686B (zh) * | 2017-12-29 | 2020-05-22 | 北京农业信息技术研究中心 | 农业无线传感器网络移动汇聚节点动态子网划分收集方法 |
CN108521634B (zh) * | 2018-02-11 | 2020-09-15 | 南京邮电大学 | 一种基于能耗均衡树的移动Sink数据收集方法 |
CN108882195B (zh) * | 2018-06-20 | 2020-10-23 | 天津大学 | 无线传感器网络基于移动目的节点的协作数据收集方法 |
CN109495304B (zh) * | 2018-11-19 | 2020-10-16 | 中国科学院信息工程研究所 | 一种汇聚节点的部署方法及装置 |
CN112564773B (zh) * | 2020-12-09 | 2022-07-12 | 南京航空航天大学 | 一种基于子网络协同的无人机数据收集方法 |
CN113810852B (zh) * | 2021-09-13 | 2022-09-13 | 电子科技大学 | 一种应用于共享无线可充电网络的自适应充电调度方法 |
CN117319957B (zh) * | 2023-10-18 | 2024-04-09 | 西藏集为建设工程有限公司 | 一种矿山设备远程管理系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594281A (zh) * | 2008-05-27 | 2009-12-02 | 华为技术有限公司 | 无线传感器网络数据汇聚方法、系统及相关设备 |
DE102011088884A1 (de) * | 2011-12-16 | 2013-06-20 | Siemens Aktiengesellschaft | Verfahren zur Übertragung von Daten in einem Kommunikationsnetz |
CN104540173B (zh) * | 2015-01-04 | 2018-08-03 | 河海大学常州校区 | 一种基于树状簇结构的无线传感器网络移动数据收集方法 |
-
2016
- 2016-06-17 CN CN201610440513.3A patent/CN106131912B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106131912A (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106131912B (zh) | 基于树状簇的无线传感器网络的移动Sink数据收集方法 | |
Yang et al. | Improving network lifetime with mobile wireless sensor networks | |
Yu et al. | Routing protocols for wireless sensor networks with mobile sinks: A survey | |
CN104540173B (zh) | 一种基于树状簇结构的无线传感器网络移动数据收集方法 | |
Anupama et al. | Survey of cluster based routing protocols in mobile adhoc networks | |
Agarwal et al. | Survey of clustering algorithms for MANET | |
CN104486715A (zh) | 一种基于地理位置信息的移动传感器网络分簇方法 | |
CN103068002B (zh) | 一种高效的HR-WPAN Mesh网络路由方法 | |
CN104469879B (zh) | 一种动态k值分簇路由方法 | |
Zhang et al. | Dynamic path planning design for mobile sink with burst traffic in a region of WSN | |
CN103945484A (zh) | 农田无线自组织网络拓扑密度关联路径选择优化方法 | |
Cheng et al. | A design framework and taxonomy for hybrid routing protocols in mobile ad hoc networks | |
CN110995333B (zh) | 一种分簇QoS路由设计方法 | |
CN109511152A (zh) | 一种面向终端通信接入网感知监控的均衡分簇方法 | |
Singh et al. | An energy efficient Odd-Even round number based data collection using mules in WSNs | |
Li et al. | Exploiting actuator mobility for energy-efficient data collection in delay-tolerant wireless sensor networks | |
Eslaminejad et al. | Classification of Energy-Efficient Routing Protocols for Wireless Sensor Networks. | |
Kim et al. | Survey on communication for mobile sinks in wireless sensor networks: Mobility pattern perspective | |
KR20090034111A (ko) | 지그비 네트워크에서 질의 기반의 경로 탐색을 수행하는지그비 메쉬 라우팅 방법 | |
Prusty et al. | Energy aware optimized routing protocols for wireless ad hoc sensor network | |
Soysal et al. | Data spider: a resilient mobile basestation protocol for efficient data collection in wireless sensor networks | |
Yan et al. | Hierarchical location service for wireless sensor networks with mobile sinks | |
Hamid et al. | Routing for Wireless Multi Hop Networks–Unifying and Distinguishing Features | |
CN104394554B (zh) | 一种预测式低延时地理路由方法 | |
CN114390631A (zh) | 一种无人机自组网络移动性预测的多径路由协议方法 |
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 |