CN102711213A - 一种基于剩余能量的无线传感网路由方法 - Google Patents
一种基于剩余能量的无线传感网路由方法 Download PDFInfo
- Publication number
- CN102711213A CN102711213A CN2012101496842A CN201210149684A CN102711213A CN 102711213 A CN102711213 A CN 102711213A CN 2012101496842 A CN2012101496842 A CN 2012101496842A CN 201210149684 A CN201210149684 A CN 201210149684A CN 102711213 A CN102711213 A CN 102711213A
- Authority
- CN
- China
- Prior art keywords
- node
- frame
- data
- msg
- 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.)
- Pending
Links
Images
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
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明是一种基于剩余能量的无线传感网路由方法,该路由方法包括路由信息维护阶段、数据帧接收阶段和数据帧转发阶段;在该方法中,节点维护由邻居节点的剩余能量、邻居节点距离网络中最近聚合节点(AggregationNode)的跳数等信息组成的路由信息表;节点依据剩余能量决定是否接收和转发数据帧;节点依据数据帧中表示该查询请求关键程度的属性,结合路由信息表动态确定向哪几个(或全部)邻居节点转发数据帧。方法在节省节点能量消耗及网络负载均衡方面具有较好的表现。
Description
技术领域
本发明涉及无线传感网的路由方法,具体涉及无线传感网为节省传感器节点能量消耗,延长网络寿命,而采取的路由选择策略。
技术背景
WSNs是由多个传感器节点组成的,面向数据应用的无线自组织网络。传感器节点在网络中可以充当数据采集者、数据传输者及数据聚合者的角色。在传感器网络中,路由协议的主要任务是:通过协议在数据采集的源节点和查询目的节点之间寻找最优的路径,将数据帧沿此路径准确地从源节点发往目的节点。此外无线传感器网络中节点能量受限,且能量一旦耗尽将无法实时补充,因此传感网路由协议还需考虑如何更有效地利用节点能量。在平面路由方面,传统的洪泛路由方法不需要维护路由信息,节点向除数据帧上一跳节点外的所有相邻节点转发数据帧。这种以广播的方式在整个网络中传输查询请求和查询结果数据帧的方式消耗了较多的传感器节点能量,导致节点过早失效,因此不能满足传感器网络发展的需要。本发明提出了一种基于剩余能量的无线传感网路由方法,节点维护由邻居节点剩余能量和邻居节点距离网络中最近聚合节点的跳数等信息组成的路由信息表;节点依据剩余能量决定是否接收和转发数据帧;节点依据数据帧中表示该查询请求关键程度的属性,结合路由信息表动态确定向哪几个(或全部)邻居节点转发数据帧。在方法的设计中,主要以节点的剩余能量和距离网络中最近聚合节点的跳数为依据,选择数据帧的传输路径,因此方法有利于节省传感器节点能量,并在网络负载均衡方面有良好的表现。
发明内容
技术问题:本发明的目的在于提供一种节省节点能量消耗的无线传感器路由方法。通过在每一节点处维护一张由邻居节点剩余能量和邻居节点距离网络中最近聚合节点的跳数等信息组成的路由信息表,并以定时广播消息帧更新路由信息表内容;节点依据自身的剩余能量在网络中节点平均剩余能量序列中所处的位置决定是否接收和转发数据帧;节点根据数据帧中的“查询关键程度”属性并结合本节点的路由信息表确定数据帧转发的下一跳节点。
技术方案:本发明提出的基于剩余能量的无线传感网路由方法主要包括以下三个实施阶段:路由信息维护阶段、数据帧接收阶段和数据帧转发阶段。路由信息维护阶段实现节点对路由信息表的维护和更新,为数据帧转发做好准备;数据帧接收阶段,实现对数据帧的接收或丢弃;数据帧转发阶段,确定数据帧转发的对象,从而实现数据帧在网络中的传输。
本发明的基于剩余能量的无线传感网路由方法包括:
1.)适用的网络环境:a. 基站即Sink节点位置固定,布置于便于操作人员维护的场合,故不考虑能量限制的问题;b. 聚合节点类似于分层路由协议中的簇首节点,具有较普通节点更强的数据计算能力、数据存储能力和更高的能量储备;
2.) 在数据帧中设置标识查询请求关键程度的属性Query_key,结合距离最近聚合节点跳数step_agt,给一些重要的数据帧选择冗余链路,使它们具有更高的传输可靠性;
3.)用于维护节点路由信息表的广播消息帧brt_msg, 它包含四个域:{ ID, node_energy, Time_stamp, step_agt }, 其中,ID:表示该帧发送节点的节点号;node_energy:表示该帧发送节点的当前剩余能量值;Time_stamp:表示广播帧的时间戳;step_agt:表示该帧发送节点到最近聚合节点的跳数;
4.)用于封装感知数据的数据帧data_msg, 它包含九个域:{ Src_ID, Dst_ID, Rem_energy, Time_stamp, DataSrc_ID, Seq_num, d, Query_key, Data },其中,Src_ID:表示当前数据帧所在节点的节点号;Dst_ID:表示数据帧下一跳节点的节点号;Rem_energy数组:表示存放数据帧沿途所经节点的剩余能量值;Time_stamp:表示数据帧时间戳;DataSrc_ID:表示数据帧中数据采集节点的节点号;Seq_num:表示数据帧序列号;d标识符:表示用于标识该数据帧中的数据是否已经过数据聚合操作,d为0时,表示未经过数据聚合操作,否则表示已经过数据聚合操作;Query_key:表示查询关键程度; Data:表示数据;
5.)节点的路由信息表由邻居节点路由项组成,每个路由项包含{ ID, node_energy, Time_stamp, step_agt }这四个属性, 其中,ID:表示邻居节点号;node_energy:表示邻居节点剩余能量;Time_stamp:表示路由生成或更新时间;step_agt:表示邻居节点至最近聚合节点的跳数;
基于剩余能量的无线传感网路由方法包括路由信息维护阶段、数据帧接收阶段和数据帧转发阶段;并按如下步骤安排:
1.) 路由信息维护阶段:聚合节点每隔固定的时间间隔发送一次广播消息帧brt_msg,各节点依据收到的广播消息帧brt_msg中邻居节点的当前信息及时生成或更新本节点路由信息表的路由项,然后依据本节点的信息对广播消息帧brt_msg更新,并向相邻节点广播更新后的广播消息帧brt_msg,节点收到广播消息帧brt_msg后,进行路由信息维护步骤如下:
1.1):根据广播消息帧brt_msg中的发送节点号ID,查找路由信息表routing_table的邻居节点号ID等于广播消息帧brt_msg中的发送节点号ID的路由项routing_item,如果未找到,则采用广播消息帧brt_msg的内容在路由信息表中生成一新的路由项routing_item,转步骤1.5)执行;如果找到后,则判断该路由项的邻居节点至最近聚合节点的跳数step_agt是否不等于广播消息帧brt_msg中距离最近聚合节点跳数step_agt,若是,则执行步骤1.2),否则跳过步骤1.2)直接执行步骤1.3);
1.2): 用广播消息帧brt_msg中距离最近聚合节点跳数step_agt更新路由信息表routing_table中查找到的路由项routing_item的邻居节点至最近聚合节点的跳数step_agt;
1.3):判断广播消息帧brt_msg中节点剩余能量node_energy是否小于路由信息表routing_table中查找到的路由项routing_item的邻居节点剩余能量node_energy;若是,则执行步骤1.4),否则跳过步骤1.4)直接执行步骤1.5);
1.4):用广播消息帧brt_msg中节点剩余能量node_energy更新路由信息表routing_table中查找到的路由项routing_item的邻居节点剩余能量node_energy;
1.5):以当前节点号更新广播消息帧brt_msg中发送节点号ID;再以本节点的剩余能量更新广播消息帧brt_msg中节点剩余能量node_energy;更新广播消息帧brt_msg中距离最近聚合节点跳数step_agt,令其值加1,即表示,数据帧经过当前节点可以到达数据聚合节点,且跳数为step_agt+1;
1.6):向邻居节点广播更新后的广播消息帧brt_msg;
2.)数据帧接收阶段,节点实现接收数据帧的步骤如下:
2.1):节点的接收队列检测到有转发来的数据帧data_msg,提取出数据帧data_msg的时间戳Time_stamp、数据采集节点号DataSrc_ID、数据帧序列号Seq_num、数据帧沿途所经节点的剩余能量数组Rem_energy和是否已经过数据聚合操作标识符d;
2.2):根据时间戳Time_stamp,判断是否超时,若超时则不接收该数据帧,结束,否则执行步骤2.3);
2.3):根据数据采集节点号DataSrc_ID和数据帧序列号Seq_num,判断本节点中是否存在与数据采集节点号DataSrc_ID和数据帧序列号Seq_num都相等的数据帧?若存在,则表明是数据帧副本,则不接收该数据帧,结束,否则执行步骤2.4);
2.4):将数据帧中记录沿途所经节点的剩余能量,即数据帧data_msg中Rem_energy数组中记录沿途所经各节点的剩余能量,作为此时网络中节点平均剩余能量的参考,和本节点剩余能量一起作从大到小的排序;假定设置阀值为50%,即若本节点剩余能量处于排序后数列的前50%,则本节点接收该数据帧,转步骤2.5)执行,否则不接收该数据帧,结束;
2.5):若本节点是聚合节点,且数据聚合操作标识符d等于0,则对数据帧data_msg中的数据Data执行预定的数据聚合操作;
2.6):进入数据帧转发阶段;
3.) 数据帧转发阶段:节点实现数据帧转发的步骤如下:
3.1):从数据帧data_msg中取出本数据帧所对应查询请求的查询关键程度标识Query_key,记其值为k;
3.2):查找本节点的路由信息表routing_table,统计表中路由项routing_item的数目,即活动的邻居节点个数,记为m,并将路由项routing_item按距离最近聚合节点跳数step_agt的值作递增排序;
3.3): 比较k与m的大小,若k<m则生成向排序后的路由项routing_item中的前k个邻居节点转发的数据帧,即将路由项routing_item中的前k个邻居节点号ID分别写入k个数据帧data_msg下一跳节点号Dst_ID中,若k>=m则生成向所有路由项routing_item表示的m个邻居节点转发的数据帧,即将路由项routing_item中的m个邻居节点号ID分别写入m个数据帧data_msg下一跳节点号Dst_ID中;
3.4):转发数据帧。
有益效果:传感器节点能量有限的特点使得网络可能在任意时刻发生拓扑结构变化,通过基于剩余能量的无线传感网路由方法的路由信息维护阶段,维护了相邻节点之间的路由信息,以确保数据帧传输时网络畅通;通过基于剩余能量的无线传感网路由方法的数据帧接收阶段,依据当前节点的剩余能量在网络节点平均剩余能量序列中所处的位置决定是否接收数据帧;通过基于剩余能量的无线传感网路由方法的数据帧转发阶段,依据每个数据帧的“查询关键程度”并结合当前节点的路由信息表,选取当前节点的1个、多个或全部邻居节点作为数据帧转发的下一跳。该方法能较好地适应无线传感器网络能量有限的特点,在节省节点能量消耗及网络负载均衡方面具有较好的表现。
附图说明
图1适用的网络环境图,
图2 路由信息维护流程图,
图3 数据帧接收流程图,
图4 数据帧转发流程图,
图5 路由信息维护示意图,
图6 数据帧接收、转发示意图。
具体实施方式
表1
表1给出了广播消息帧brt_msg的格式,共有四个域,各域分别表示的含义如下:ID:表示该帧发送节点的节点号;node_energy:表示该帧发送节点的当前剩余能量值;Time_stamp:广播帧的时间戳;step_agt:表示该帧发送节点到最近聚合节点的跳数。
表2
表2给出了数据帧data_msg的格式,共有九个域,各域代表的含义如下:Src_ID:表示当前数据帧所在节点的节点号;Dst_ID:表示数据帧下一跳节点的节点号;Rem_energy数组:存放数据帧沿途所经节点的剩余能量值;Time_stamp:数据帧时间戳;DataSrc_ID:表示数据帧中数据采集节点的节点号;Seq_num:表示该数据帧在所属查询结果中的序列号;d标识符:用于标识该数据帧中的数据是否已经过数据聚合操作,d为0时,表示未经过数据聚合操作,否则表示已经过数据聚合操作;Query_key:表示查询关键程度; Data:数据。
表3
表3给出了节点的路由信息表routing_table的邻居节点路由项的组成,包括:邻居节点号ID;邻居节点剩余能量node_energy;路由生成(更新)时间Time_stamp;邻居节点至最近聚合节点的跳数step_agt。
在图1中描述了适用的网络环境,基站(Sink节点)位置固定,布置于便于操作人员维护的场合,故不考虑能量限制的问题;聚合节点类似于分层路由协议中的簇首节点,具有较普通节点更强的数据计算能力、数据存储能力和较高的能量储备;普通传感器节点计算能力有限、存储能力有限、能量储备有限。图2描述了路由信息表的更新流程,包括节点对广播消息帧内容的更新。图3描述了数据帧接收流程。图4描述了数据帧转发流程。图5描述了在路由信息维护阶段,路由信息维护的过程。图6描述了在数据帧接收阶段和数据帧转发阶段,节点实现数据帧接收和转发的过程。
本发明基于剩余能量的无线传感网路由方法按如下步骤进行:
1.) 本发明适用环境:a. 基站(Sink节点)位置固定,布置于便于操作人员维护的场合,故不考虑能量限制的问题;b. 聚合节点类似于分层路由协议中的簇首节点,具有较普通节点更强的数据计算能力、数据存储能力和较高的能量储备;c. 普通传感器节点计算能力有限、存储能力有限、能量储备有限。
2.) 本发明包括路由信息维护阶段、数据帧接收阶段和数据帧转发阶段。
3.) 路由信息维护阶段:聚合节点每隔固定的时间间隔(如30秒)发送一次广播消息帧brt_msg,广播消息帧brt_msg格式如表1所示。各节点依据收到的广播消息帧brt_msg中邻居节点的当前信息及时生成(或更新)本节点路由信息表的路由项,然后依据本节点的信息对广播消息帧brt_msg更新,并向相邻节点广播更新后的广播消息帧brt_msg帧。路由信息维流程如图2所示,节点收到广播消息帧brt_msg后,进行路由信息维护步骤如下:
Step1:根据广播消息帧brt_msg中的发送节点号ID,查找路由信息表routing_table的邻居节点号ID等于广播消息帧brt_msg中的发送节点号ID的路由项routing_item,如果未找到,则采用广播消息帧brt_msg的内容在路由信息表中生成一新的路由项routing_item,转Step5执行;如果找到后,则判断该路由项的邻居节点至最近聚合节点的跳数step_agt是否不等于广播消息帧brt_msg中距离最近聚合节点跳数step_agt,若是,则执行Step2,否则跳过Step2直接执行Step3;
Step2: 用广播消息帧brt_msg中距离最近聚合节点跳数step_agt更新路由信息表routing_table中查找到的路由项routing_item的邻居节点至最近聚合节点的跳数step_agt;
Step3: 判断广播消息帧brt_msg中节点剩余能量node_energy是否小于路由信息表routing_table中查找到的路由项routing_item的邻居节点剩余能量node_energy;若是,则执行Step4,否则跳过Step4直接执行Step5;
Step4: 用广播消息帧brt_msg中节点剩余能量node_energy更新路由信息表routing_table中查找到的路由项routing_item的邻居节点剩余能量node_energy;
Step5:以当前节点号更新广播消息帧brt_msg中发送节点号ID;再以本节点的剩余能量更新广播消息帧brt_msg中节点剩余能量node_energy;更新广播消息帧brt_msg中距离最近聚合节点跳数step_agt,令其值加1,即表示,数据帧经过当前节点可以到达数据聚合节点,且跳数为step_agt+1;
Step6:向邻居节点广播更新后的广播消息帧brt_msg。
4.) 数据帧接收阶段:基于剩余能量的无线传感网路由方法中,数据帧接收流程如图3所示,节点确定是否接收一个数据帧的步骤如下:
Step1:节点的接收队列检测到有转发来的数据帧data_msg,提取出数据帧data_msg的时间戳Time_stamp、数据采集节点号DataSrc_ID、数据帧序列号Seq_num、数据帧沿途所经节点的剩余能量数组Rem_energy和是否已经过数据聚合操作标识符d;
Step2:根据时间戳Time_stamp,判断是否超时,若超时则不接收该数据帧,结束,否则执行Step3;
Step3:根据数据采集节点号DataSrc_ID和数据帧序列号Seq_num,判断本节点中是否存在与数据采集节点号DataSrc_ID和数据帧序列号Seq_num都相等的数据帧,若存在,则表明是数据帧副本,则不接收该数据帧,结束,否则执行Step4;
Step4:将数据帧中记录沿途所经节点的剩余能量,即数据帧data_msg中Rem_energy数组中记录沿途所经节各点的剩余能量,作为此时网络中节点平均剩余能量的参考,和本节点剩余能量一起作从大到小的排序;假定设置阀值为50%,即若本节点剩余能量处于排序后数列的前50%,则本节点接收该数据帧,转Step5执行,否则不接收该数据帧,结束;
Step5:若本节点是聚合节点,且数据聚合操作标识符d等于0,则对数据帧data_msg执行预定的数据聚合操作;
Step6:进入数据帧转发阶段。
5.)数据帧转发阶段:节点向哪几个(或全部)邻居节点转发数据帧,是由数据帧data_msg中表示查询关键程度的属性Query_key及节点路由信息表routing_table中邻居节点距离最近聚合节点跳数step_agt来决定的,数据帧转发流程如图4所示,数据帧转发步骤如下:
Step1:从数据帧data_msg中取出本数据帧所对应查询请求的查询关键程度Query_key,记其值为k;
Step2:查找本节点的路由信息表routing_table,统计表中路由项routing_item的数目,即活动的邻居节点个数,记为m,并将路由项routing_item按距离最近聚合节点跳数step_agt的值作递增排序;
Step3:比较k与m的大小,若k<m则生成向排序后的路由项routing_item中的前k个邻居节点转发的数据帧,即将路由项routing_item中的前k个邻居节点号ID分别写入k个数据帧data_msg下一跳节点号Dst_ID中,若k>=m则生成向所有路由项routing_item表示的m个邻居节点转发的数据帧,即将路由项routing_item中的m个邻居节点号ID分别写入m个数据帧data_msg下一跳节点号Dst_ID中;
Step4:转发数据帧。
在数据帧中设置标识查询请求关键程度的属性Query_key,结合step_agt属性,给一些重要的数据帧选择冗余链路,使它们具有较高的传输可靠性。而对一些次要的数据帧则可以设定较低的Query_key值,减少数据帧的发送冗余路径,以达到节省节点能量的目的。
基于剩余能量的无线传感网路由方法工作示例:
1、路由信息维护:如图5所示,聚合节点每隔固定的时间间隔(如30秒)发送一次广播消息帧brt_msg。各节点依据收到的广播消息帧brt_msg中邻居节点的当前信息及时生成(或更新)本节点路由信息表的路由项,然后依据本节点的信息对广播消息帧brt_msg内容更新,并向相邻节点广播更新后的广播消息帧brt_msg。
a. 数据聚合节点4向它的邻居节点5、6发送广播消息帧brt_msg,见图5(a);节点5、6采用接收到的广播消息帧brt_msg的内容分别在各自的路由信息表中生成一条本节点至节点4的路由项,路由项中包括的信息有:邻居节点号ID,邻居节点剩余能量node_energy和路由生成(更新)时间Time_stamp,邻居节点至最近聚合节点的跳数step_agt;
b. 节点5、6根据自身的节点号、剩余能量和至最近聚合节点跳数等信息修改收到的广播消息帧brt_msg,并分别向各自的邻居节点发送修改后的广播消息帧brt_msg(基站节点和上一跳节点除外);这样节点3收到节点5、6发来的广播消息帧brt_msg后,在自己的路由信息表中分别生成了以下两条路由项:经过节点5可到达节点4,距离为2跳;经过节点6可到达节点4,距离为2跳;节点1收到节点6发来的广播消息帧brt_msg后,在自己的路由信息表中生成如下路由项:经过节点6可到达节点4,距离为2跳;节点2收到节点6发来的广播消息帧brt_msg后,在自己的路由信息表中生成路由项:经过节点6可到达节点4,距离为2跳,见图5(b);
c. 节点1、2分别向对方发送广播消息帧brt_msg,这样节点1收到节点2发来的广播消息帧brt_msg后,在自己的路由信息表中又增加了一条路由项:经过节点2可到达节点4,距离为3;同理节点2的路由信息表中也增加了一条路由项;节点3分别向节点5和节点6发送广播消息帧,这样节点5和节点6收到节点3发来的广播消息帧brt_msg后,在自己的路由信息表中分别又增加了一条路由项,距离为3,见图5(c)。
2、数据帧接收和转发:如图6所示,为了提高查询结果中一些关键数据帧的传输可靠性,方法中引入了“查询关键程度”属性Query_key,为数据帧提供冗余的传输链路。节点1根据查询请求采集数据,并依据用户指定,在“查询关键程度”属性Query_key中写入本帧的关键度值, 假定此值为k,则表明节点最多应向它的k个邻居节点转发数据帧,若此时它的邻居节点数目小于等于k,则向它的所有邻居节点转发数据帧;而若它的邻居节点数目大于k,则向距最近聚合节点跳数最小的前k个邻居节点转发数据帧。这样,向有限的k个节点发送数据帧,既为数据帧提供了冗余链路又避免了直接向所有节点广播数据帧。数据帧data_msg格式见表2.
a. 节点1为数据采集节点,采集好数据后,形成数据帧data_msg,节点1查询本节点的路由信息表routing_table,发现两个邻居节点路由项:节点2和节点6,假定此时数据帧中“查询关键程度”属性Query_key的值为2,则节点1向节点2、6都发送数据帧;节点2、6接收到数据帧data_msg后,首先检查数据帧的时间戳Time_stamp、数据采集节点号DataSrc_ID和数据帧序列号Seq_num,其次根据本节点的剩余能量作判断,假设此时节点2、6的剩余能量满足接收条件,则节点2、6接收数据帧,见图6(a);
b. 节点6接收到数据帧data_msg后,查看自己的路由信息表routing_table,节点1、2、3、4都是本节点的邻居节点,而节点只可能向除数据帧上一跳节点之外的所有相邻节点转发数据帧,故排除节点1。节点4本身就是聚合节点,符合发送目的节点的条件。而考虑到节点2、3距聚合节点4的跳数都为2,故此时随机选择节点2或3为下一跳(假定此处选择节点3为下一跳)。由本数据帧的“查询关键程度”属性Query_key的值为2知,节点6将向两个邻居节点转发数据帧,从而确定出节点3、4将是数据帧的下一跳节点;节点3接收到数据帧data_msg后,读取数据帧的剩余能量数组Rem_energy中的各元素值,并与节点3剩余能量一起按值作从大到小的排序;若节点3剩余能量处于排序的后半段,则节点3丢弃数据帧,否则就接收这个数据帧;图6(b)中假定节点3剩余能量值不符合接收该帧的条件,丢弃了该帧;同样,节点2向节点6转发数据帧,节点6接收到数据帧data_msg后,但检查该帧的数据采集节点号和数据帧序列号时,发现本节点已收到过同一个数据帧,于是丢弃这个数据帧,这样就有效控制了数据帧副本进入网络,见图6(b);
c. 数据聚合节点4接收数据帧data_msg后,根据数据帧data_msg的标识符d,判断这个数据帧中的数据是否是原始数据,若是原始数据,则先执行数据聚合操作,而后将数据帧放入节点发送队列,准备转发;否则将不作数据聚合操作,而直接将数据帧放入节点发送队列准备转发;节点5收到节点4转发来的数据帧后,递交给基站节点,见图6(c)。
Claims (1)
1.一种基于剩余能量的无线传感网路由方法,其特征在于该方法包括:
适用的网络环境:a. 基站即Sink节点位置固定,布置于便于操作人员维护的场合,故不考虑能量限制的问题;b. 聚合节点类似于分层路由协议中的簇首节点,具有较普通节点更强的数据计算能力、数据存储能力和更高的能量储备;
在数据帧中设置标识查询请求关键程度的属性Query_key,结合距离最近聚合节点跳数step_agt,给一些重要的数据帧选择冗余链路,使它们具有更高的传输可靠性;
用于维护节点路由信息表的广播消息帧brt_msg, 它包含四个域:{ ID, node_energy, Time_stamp, step_agt }, 其中,ID:表示该帧发送节点的节点号;node_energy:表示该帧发送节点的当前剩余能量值;Time_stamp:表示广播帧的时间戳;step_agt:表示该帧发送节点到最近聚合节点的跳数;
用于封装感知数据的数据帧data_msg, 它包含九个域:{ Src_ID, Dst_ID, Rem_energy, Time_stamp, DataSrc_ID, Seq_num, d, Query_key, Data },其中,Src_ID:表示当前数据帧所在节点的节点号;Dst_ID:表示数据帧下一跳节点的节点号;Rem_energy数组:表示存放数据帧沿途所经节点的剩余能量值;Time_stamp:表示数据帧时间戳;DataSrc_ID:表示数据帧中数据采集节点的节点号;Seq_num:表示数据帧序列号;d标识符:表示用于标识该数据帧中的数据是否已经过数据聚合操作,d为0时,表示未经过数据聚合操作,否则表示已经过数据聚合操作;Query_key:表示查询关键程度; Data:表示数据;
节点的路由信息表由邻居节点路由项组成,每个路由项包含{ ID, node_energy, Time_stamp, step_agt }这四个属性, 其中,ID:表示邻居节点号;node_energy:表示邻居节点剩余能量;Time_stamp:表示路由生成或更新时间;step_agt:表示邻居节点至最近聚合节点的跳数;
基于剩余能量的无线传感网路由方法包括路由信息维护阶段、数据帧接收阶段和数据帧转发阶段;并按如下步骤安排:
1.) 路由信息维护阶段:聚合节点每隔固定的时间间隔发送一次广播消息帧brt_msg,各节点依据收到的广播消息帧brt_msg中邻居节点的当前信息及时生成或更新本节点路由信息表的路由项,然后依据本节点的信息对广播消息帧brt_msg更新,并向相邻节点广播更新后的广播消息帧brt_msg,节点收到广播消息帧brt_msg后,进行路由信息维护步骤如下:
1.1):根据广播消息帧brt_msg中的发送节点号ID,查找路由信息表routing_table的邻居节点号ID等于广播消息帧brt_msg中的发送节点号ID的路由项routing_item,如果未找到,则采用广播消息帧brt_msg的内容在路由信息表中生成一新的路由项routing_item,转步骤1.5)执行;如果找到后,则判断该路由项的邻居节点至最近聚合节点的跳数step_agt是否不等于广播消息帧brt_msg中距离最近聚合节点跳数step_agt,若是,则执行步骤1.2),否则跳过步骤1.2)直接执行步骤1.3);
1.2): 用广播消息帧brt_msg中距离最近聚合节点跳数step_agt更新路由信息表routing_table中查找到的路由项routing_item的邻居节点至最近聚合节点的跳数step_agt;
1.3):判断广播消息帧brt_msg中节点剩余能量node_energy是否小于路由信息表routing_table中查找到的路由项routing_item的邻居节点剩余能量node_energy;若是,则执行步骤1.4),否则跳过步骤1.4)直接执行步骤1.5);
1.4):用广播消息帧brt_msg中节点剩余能量node_energy更新路由信息表routing_table中查找到的路由项routing_item的邻居节点剩余能量node_energy;
1.5):以当前节点号更新广播消息帧brt_msg中发送节点号ID;再以本节点的剩余能量更新广播消息帧brt_msg中节点剩余能量node_energy;更新广播消息帧brt_msg中距离最近聚合节点跳数step_agt,令其值加1,即表示,数据帧经过当前节点可以到达数据聚合节点,且跳数为step_agt+1;
1.6):向邻居节点广播更新后的广播消息帧brt_msg;
2.)数据帧接收阶段,节点实现接收数据帧的步骤如下:
2.1):节点的接收队列检测到有转发来的数据帧data_msg,提取出数据帧data_msg的时间戳Time_stamp、数据采集节点号DataSrc_ID、数据帧序列号Seq_num、数据帧沿途所经节点的剩余能量数组Rem_energy和是否已经过数据聚合操作标识符d;
2.2):根据时间戳Time_stamp,判断是否超时,若超时则不接收该数据帧,结束,否则执行步骤2.3);
2.3):根据数据采集节点号DataSrc_ID和数据帧序列号Seq_num,判断本节点中是否存在与数据采集节点号DataSrc_ID和数据帧序列号Seq_num都相等的数据帧?若存在,则表明是数据帧副本,则不接收该数据帧,结束,否则执行步骤2.4);
2.4):将数据帧中记录沿途所经节点的剩余能量,即数据帧data_msg中Rem_energy数组中记录沿途所经各节点的剩余能量,作为此时网络中节点平均剩余能量的参考,和本节点剩余能量一起作从大到小的排序;假定设置阀值为50%,即若本节点剩余能量处于排序后数列的前50%,则本节点接收该数据帧,转步骤2.5)执行,否则不接收该数据帧,结束;
2.5):若本节点是聚合节点,且数据聚合操作标识符d等于0,则对数据帧data_msg中的数据Data执行预定的数据聚合操作;
2.6):进入数据帧转发阶段;
3.) 数据帧转发阶段:节点实现数据帧转发的步骤如下:
3.1):从数据帧data_msg中取出本数据帧所对应查询请求的查询关键程度标识Query_key,记其值为k;
3.2):查找本节点的路由信息表routing_table,统计表中路由项routing_item的数目,即活动的邻居节点个数,记为m,并将路由项routing_item按距离最近聚合节点跳数step_agt的值作递增排序;
3.3): 比较k与m的大小,若k<m则生成向排序后的路由项routing_item中的前k个邻居节点转发的数据帧,即将路由项routing_item中的前k个邻居节点号ID分别写入k个数据帧data_msg下一跳节点号Dst_ID中,若k>=m则生成向所有路由项routing_item表示的m个邻居节点转发的数据帧,即将路由项routing_item中的m个邻居节点号ID分别写入m个数据帧data_msg下一跳节点号Dst_ID中;
3.4):转发数据帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101496842A CN102711213A (zh) | 2012-05-14 | 2012-05-14 | 一种基于剩余能量的无线传感网路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101496842A CN102711213A (zh) | 2012-05-14 | 2012-05-14 | 一种基于剩余能量的无线传感网路由方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102711213A true CN102711213A (zh) | 2012-10-03 |
Family
ID=46903728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101496842A Pending CN102711213A (zh) | 2012-05-14 | 2012-05-14 | 一种基于剩余能量的无线传感网路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102711213A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103228022A (zh) * | 2013-01-21 | 2013-07-31 | 南京邮电大学 | 一种基于能量采集的概率式无线传感器网络路由方法 |
CN104486807A (zh) * | 2014-11-28 | 2015-04-01 | 华中科技大学 | 一种小规模无线传感器网络的路由方法 |
CN104581733A (zh) * | 2015-02-05 | 2015-04-29 | 北京哈工大计算机网络与信息安全技术研究中心 | 一种防位置欺骗的物联网安全路由方法 |
CN104904272A (zh) * | 2012-12-26 | 2015-09-09 | 富士通株式会社 | 信息处理方法、通信方法、通信节点、***以及信息处理程序 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933445A (zh) * | 2006-09-04 | 2007-03-21 | 南通大学 | 无线传感器网络上下行异构的路由方法 |
CN101562861A (zh) * | 2009-05-15 | 2009-10-21 | 重庆邮电大学 | 无线传感器网络中基于跳数和能量的跨层双向路由方法 |
CN101662811A (zh) * | 2009-08-17 | 2010-03-03 | 北京航空航天大学 | 基于可靠路径的分布式路由协议 |
-
2012
- 2012-05-14 CN CN2012101496842A patent/CN102711213A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1933445A (zh) * | 2006-09-04 | 2007-03-21 | 南通大学 | 无线传感器网络上下行异构的路由方法 |
CN101562861A (zh) * | 2009-05-15 | 2009-10-21 | 重庆邮电大学 | 无线传感器网络中基于跳数和能量的跨层双向路由方法 |
CN101662811A (zh) * | 2009-08-17 | 2010-03-03 | 北京航空航天大学 | 基于可靠路径的分布式路由协议 |
Non-Patent Citations (1)
Title |
---|
顾礼君: "《传感器网数据查询处理技术研究》", 3 May 2012 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104904272A (zh) * | 2012-12-26 | 2015-09-09 | 富士通株式会社 | 信息处理方法、通信方法、通信节点、***以及信息处理程序 |
CN103228022A (zh) * | 2013-01-21 | 2013-07-31 | 南京邮电大学 | 一种基于能量采集的概率式无线传感器网络路由方法 |
CN104486807A (zh) * | 2014-11-28 | 2015-04-01 | 华中科技大学 | 一种小规模无线传感器网络的路由方法 |
CN104486807B (zh) * | 2014-11-28 | 2017-08-11 | 华中科技大学 | 一种小规模无线传感器网络的路由方法 |
CN104581733A (zh) * | 2015-02-05 | 2015-04-29 | 北京哈工大计算机网络与信息安全技术研究中心 | 一种防位置欺骗的物联网安全路由方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tyagi et al. | A systematic review on clustering and routing techniques based upon LEACH protocol for wireless sensor networks | |
Wang et al. | NETWRAP: An NDN based real-timewireless recharging framework for wireless sensor networks | |
Din et al. | RETRACTED ARTICLE: Energy efficient topology management scheme based on clustering technique for software defined wireless sensor network | |
Wang et al. | Energy balancing RPL protocol with multipath for wireless sensor networks | |
CN101562861B (zh) | 无线传感器网络中基于跳数和能量的跨层双向路由方法 | |
US20060178156A1 (en) | Routing method in a wireless sensor network | |
Mohapatra et al. | Energy management in wireless sensor network through EB-LEACH | |
KR100749177B1 (ko) | 센서 네트워크의 라우팅 방법 | |
Abdullah et al. | Routing protocols for wireless sensor networks: classifications and challenges | |
CN102088666B (zh) | 一种移动自组织网络***的多播路由方法 | |
KR101948447B1 (ko) | 태양 에너지 기반 무선 센서 네트워크에서의 멀티 링을 이용한 모바일 싱크 위치 관리 장치, 방법 및 이를 수행하기 위한 기록 매체 | |
CN102724730A (zh) | 一种无线传感器网络基于数据融合的多径路由方法及装置 | |
CN102711213A (zh) | 一种基于剩余能量的无线传感网路由方法 | |
Ramanan et al. | Data gathering algorithms for wireless sensor networks: a survey | |
CN103036783A (zh) | 一种基于dtn深空传感器网络多径路由方法 | |
Chaudhary et al. | Review paper on energy-efficient protocols in wireless sensor networks | |
Xu et al. | Monitoring quality optimization in wireless sensor networks with a mobile sink | |
He et al. | Greedy construction of load‐balanced virtual backbones in wireless sensor networks | |
Sachidhanandam et al. | Elevated Ensemble Dynamic Energy-Aware Routing Optimization Based Energy Management and Network Lifetime Improvement in WSN | |
Ju | Energy-efficient routing sensing technology of wireless sensor networks based on Internet of Things | |
Soni et al. | An investigation on energy efficient routing protocol for wireless sensor network | |
Vinh et al. | EMRP: Energy-aware mesh routing protocol for wireless sensor networks | |
Nagadivya et al. | Energy efficient Markov prediction based opportunistic routing (Eempor) for wireless sensor networks | |
Das et al. | A congestion aware routing for lifetime improving in grid-based sensor networks | |
Lehsaini et al. | A novel Cluster-based Fault-tolerant Scheme for wireless sensor networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121003 |